On Mon 2009-03-16 15:45:36, Greg Freemyer wrote: > On Thu, Mar 12, 2009 at 5:21 AM, Pavel Machek <pavel@xxxxxx> wrote: > <snip> > > +Sector writes are atomic (ATOMIC-SECTORS) > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +Either whole sector is correctly written or nothing is written during > > +powerfail. > > + > > + Unfortuantely, none of the cheap USB/SD flash cards I seen do > > + behave like this, and are unsuitable for all linux filesystems > > + I know. > > + > > + An inherent problem with using flash as a normal block > > + device is that the flash erase size is bigger than > > + most filesystem sector sizes. So when you request a > > + write, it may erase and rewrite the next 64k, 128k, or > > + even a couple megabytes on the really _big_ ones. > > + > > + If you lose power in the middle of that, filesystem > > + won't notice that data in the "sectors" _around_ the > > + one your were trying to write to got trashed. > > I had *assumed* that SSDs worked like: > > 1) write request comes in > 2) new unused erase block area marked to hold the new data > 3) updated data written to the previously unused erase block > 4) mapping updated to replace the old erase block with the new one > > If it were done that way, a failure in the middle would just leave the > SSD with the old data in it. The really expensive ones (Intel SSD) apparently work like that, but I never seen one of those. USB sticks and SD cards I tried behave like I described above. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html