|
|
Log in / Subscribe / Register

COW for Flash?

COW for Flash?

Posted Jun 18, 2007 17:26 UTC (Mon) by qu1j0t3 (guest, #25786)
In reply to: good to hear by joern
Parent article: Linus on GPLv3 and ZFS

It has been said that COW is ideal for Flash. Can you explain why ZFS isn't relevant here?

There is no fsck; ZFS is "always consistent on disk" (through COW+atomic transactions). It seems to me this is a necessary invariant to achieve its other features (such as snapshots). Debate flares up (occasionally) as to whether a scavenger will be necessary. If so, it won't much resemble 'fsck' - and certainly won't be run in normal operation or after reset/powerfail/etc (ZFS behaviour under impromptu reset is extremely well tested).

I suspect, but correct me if I'm wrong, once you "know" you've lost data in ZFS (through exhausting redundancy or ditto blocks), it's actually gone by definition, and unrecoverable by re-creating links. No doubt Bonwick et all have explained it better somewhere...


to post comments

COW for Flash?

Posted Jun 19, 2007 8:17 UTC (Tue) by joern (guest, #22392) [Link]

> It has been said that COW is ideal for Flash. Can you explain why ZFS isn't relevant here?

Raw flash behaves sufficiently different to hard disks that some ZFS design assumptions become untrue. Flash has large erase blocks. Within erase blocks, data must be written from front to back. Writing the block again requires erasing all of it. So the filesystem block size either has to be equal to the erase block size, or you need garbage collection. And with garbage collection comes a nasty deadlock problem most people don't even realize exists. :)

Next comes wear out and protection against it. Afaics, ZFS has several hot zones that receive significantly more writes than others.

I guess those two are the big reasons.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds