Woodhouse on flash storage
Mitch Bradley
wmb at laptop.org
Tue Oct 6 06:10:38 EDT 2009
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 machines.
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
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.
More information about the Devel
mailing list