Re:Transforming a QLC SSD into an SLC SSD
by bravetraveler on Sunday May 19, 2024 @07:25AM
(#40406139)
If one prefers working with LVM for their devices, that can be a similar wrench. Making/removing a logical volume can do the same
It depends on 'issue_discards' being set in the config
This has drifted over time. I haven't quite rationalized why. Hoping someone can remind me if nothing else, away from a real computer for a bit.
You can go into Properties > Tools > Optimize, the same button that runs defrag on spinning drives runs TRIM on solid state devices.
Re:Transforming a QLC SSD into an SLC SSD
by formerly_proven on Sunday May 19, 2024 @08:20AM
(#40406444)
Windows by default issues TRIMs basically instantly when deleting a file, and runs "Optimize disk" (which trims all free space) on a schedule by default as well.
Re:Transforming a QLC SSD into an SLC SSD
by FooBarWidget on Sunday May 19, 2024 @10:46AM
(#40407312)
What about external SSDs over USB? How do you trim those?
There are trim-equivalent commands in the ATA, SCSI, and NVMe command sets. So the OS can issue the SCSI command to the USB device that's using UASP, and the bridge chip inside the external SSD can translate that to the ATA or NVMe counterpart before passing it on to the SSD controller behind the bridge. Not all external SSDs or bridge chips actually support trim passthrough, but these days it's standard functionality.
Re:Transforming a QLC SSD into an SLC SSD
by FooBarWidget on Sunday May 19, 2024 @02:23PM
(#40408765)
I wonder how to do it on macOS then. I have several external SSDs and none of them can be trimmed.
https://kb.plugable.com/data-storage/trim-an-ssd-in-macos
Apparently macOS doesn't expose the ability for userspace to manually issue trim commands to block devices (or at least doesn't ship a suitable tool to do so), so the best available workaround is to tell the filesystem layer that it should do automatic trimming even on external drives.
On Linux, blkdiscard can be used in the same manner (create a dummy partition and run blkdiscard on it ex. *blkdiscard /dev/sda2).