> > "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.

Attachment: pgpUtDFSFlj9f.pgp
Description: PGP signature

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to