On Fri, 23 Oct 2009, Eric D. Mudama wrote:

I don't believe the above statement is correct.

According to anandtech who asked Intel:


the DRAM doesn't hold user data.  The article claims that data goes
through an internal 256KB buffer.

These folks may well be in Intel's back pocket, but it seems that the data given is not clear or accurate. It does not matter if DRAM or SRAM is used for the disk's cache. What matters is if all user data gets flushed to non-volatile storage for each cache flush request. Since FLASH drives need to erase a larger block than might be written, existing data needs to be read, updated, and then written. This data needs to be worked on in a volatile buffer. Without extreme care, it is possible for the FLASH drive to corrupt other existing unrelated data if there is power loss. The FLASH drive could use a COW scheme (like ZFS) but it still needs to take care to persist the block mappings for each cache sync request or transactions would be lost.

Folks at another site found that the drive was losing the last few synchronous writes with the cache enabled. This could be a problem with the drive, or the OS if it is not issuing the cache flush request.

Is solaris incapable of issuing a SATA command FLUSH CACHE EXT?

It issues one for each update to the intent log.

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

Reply via email to