> > "Processing" the request just means flagging the blocks, though, right? > > And the actual benefits only acrue if the garbage collection / block > > reshuffling background tasks get a chance to run? > > I think that's right. TRIM just gives hints to the garbage collector that > sectors are no longer in use. When the GC runs, it can find more flash > blocks more easily that aren't used or combine several mostly-empty > blocks and erase or otherwise free them for reuse later.
Absent TRIM support, there's another way to do this, too. It's pretty easy to dd /dev/zero to a file now and then. Just make sure zfs doesn't prevent these being written to the SSD (compress and dedup are off). I have a separate "fill" dataset for this purpose, to avoid keeping these zeros in auto-snapshots too. At least the sandforce controllers recognise this, via their internal compression and dedup, and know that the blocks that have to be presented to the host as full of zeros can be reclaied internally and reassigned to the spare pool. As long as they have enough blocks to work with, it's fine. -- Dan.
pgpUtDFSFlj9f.pgp
Description: PGP signature
_______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss