Woodhouse on flash storage

Tiago Marques 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
> machines.

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.

Best regards,

Tiago Marques

More information about the Devel mailing list