Woodhouse on flash storage
tiagomnm at gmail.com
Tue Oct 6 08:27:02 EDT 2009
---------- Forwarded message ----------
From: Tiago Marques <tiagomnm at gmail.com>
Date: Tue, Oct 6, 2009 at 1:26 PM
Subject: Re: Woodhouse on flash storage
To: Mitch Bradley <wmb at laptop.org>
On Tue, Oct 6, 2009 at 11:10 AM, Mitch Bradley <wmb at laptop.org> wrote:
> Tiago Marques wrote:
>> Trying to find datasheets of the flash chips to know what their erase
>> block size and page size(and number of erase cycles) has been a
>> nightmare for me, the manufacturer just doesn't care if your
>> partitioning choice ends up sending the SSD/SD/MMC sooner than the
>> warranty expires.
>> Have you had the same experience?
> It depends on who "you" are. If "you" is Quanta (the manufacturer of OLPC
> machines), chip vendors will tell you whatever you ask, because it
> determines whether or not they sell tens of thousands of parts per month.
> Quanta can pass that information on to us at OLPC under certain conditions.
> So the answer is that OLPC can get the information with some amount of
> effort, at least for parts that are actual candidates for use in our
With some work I managed to get a datasheet from Samsung, which is
what I asked, but I'm an individual. It said much about the flash,
5000 erase cycles down from 10k in a previous revision, although they
have spare flash on each chip for redundancy.
> As an invidual or small-scale manufacturer, getting information can be very
> difficult bordering on impossible. There is just no incentive for chip
> vendors to spend the time to talk to individuals. The way that the
> distribution model works, by the time you get out near the edges of the
> distribution channel graph, the detailed knowledge has dispersed too much.
> "This one is blue and it says 4 GB. The price is $14.95. Are you going to
> buy it or not? Would you like to buy our extended warranty for an extra
> $10? Next customer, please."
> One way to get a clue is to look at the factory partition map and use what
> As regards partitioning choice, my current thinking is:
> a) If you can, don't repartition it - use the factory format
Going to ext2 doesn't screw that up? Since they align the FAT table to
be on a single block?
> b) If you must repartition and you have some flexibility, look at the
> factory partition map and align your partitions on the granularity of the
> existing first partition's starting block number. As an extra clue, look to
> see where the primary and secondary FATs start; their alignment granularity
> is likely to be important.
> b) If you must construct a fixed partition layout for use on multiple
> different devices, align each partition on at least a 4MiB boundary. That
> means that you "waste" 4M for the partition map (one 512-byte sector padded
> out to a 4 MiB boundary, but oh well). For devices 2 GiB or less - the
> previous generation - maybe 1 MiB alignment would be okay, as such devices
> are likely to have smaller erase blocks. Those numbers seem "safe" to me.
> Perhaps you could use smaller alignment granularity with knowledge of
> specific parts, but as we have noted, such knowledge can be hard to obtain.
Thanks, I'll look into that. I've refrained myself from using SWAP
partitions and now use a swap file but it's still confusing to me to
get the alignment right with linux's fdisk.
I mostly follow ted tso's article but align it myself because I'm
creating just one partition.
General rule of thumb, when the flash is good, I can do all kind of
nasty to it and it sill keeps going. Bought a TakeMS CF card some time
ago that keeps corruptiing the filesystem for no good reason. I rather
keep it aligned but it's more as a good than anything else, as I don't
have the money or need to stress test flash.
More information about the Devel