On Fri, 21 May 2010, Don wrote:

You know- it would probably be sufficient to provide the SSD with _just_ a big capacitor bank. If the host lost power it would stop writing and if the SSD still had power it would probably use the idle time to flush it's buffers. Then there would be world peace!

This makes the assumption that an SSD will want to flush its write cache as soon as possible rather than just letting it sit there waiting for more data. This is probably not a good assumption. If the OS sends 512 bytes of data but the SSD block size is 4K, it is reasonable for the SSD to wait for 3584 more contiguous bytes of data before it bothers to write anything.

Writes increase the wear on the flash and writes require a slow erase cycle so it is reasonable for SSDs to buffer as much data in their write cache as possible before writing anything. An advanced SSD could write non-contiguous sectors in a SSD page and then use a sort of lookup table to know where the sectors actually are. Regardless, under slow write conditions, it is is definitely valuable to buffer the data for a while in the hope that more related data will appear, or the data might even be overwritten.

Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to