Images partitioned right? Good USB drives? (Re: Woodhouse on flash storage)
Mitch Bradley
wmb at laptop.org
Sat Oct 10 05:26:05 EDT 2009
You can get the erase block size from SD cards - it's in the Card
Specific Data structure - but I don't know of any standard way to get it
for USB mass storage devices.
Sascha Silbe wrote:
> On Sat, Oct 10, 2009 at 02:46:17AM +0100, Martin Dengler wrote:
>
>> Nope (SoaS) - that'll waste your partition table in favour of whatever
>> I copied from my dsd-inspired "make-fake-device" partition table
>> script[1]. I'd love patches.
> From that script:
>> NUM_HEADS=16
>> NUM_SECTORS_PER_TRACK=62
>
> That means 16KB alignment (16*62*512/16384 = 31) which is most likely
> smaller than the erase block size on flash storage >= 1GB.
>
>
>> Do this for ext3 (omit -j for ext2):
>>
>> fdisk -H 224 -S 56 /dev/sdb
> That's already a bit better (128KB alignment) and more or less as good
> as you can get for ext3 (the Journal seems to be only 128KB-aligned
> and even for that you need a recent enough mke2fs).
> Unfortunately there's no real way to find out the erase block size
> (other than being a really big customer and getting access to real
> data sheets), but my guess would be that 128KB might be enough for 1GB
> flash, but might not e.g. for my 16GB one. The upper limit for the
> latter is 4MB (total size is an odd multiple of 4MB), so that's what I
> used for alignment of all on-disk structures (as far as possible).
> By using 128 heads (-H 128) and 32 sectors/track (-S 32) you get 2MB
> alignment and can even increase it further by choosing appropriate
> cluster numbers. Watch out for the numbering: it seems to be 1-based,
> so to get 4MB alignment you need to use _odd_ cluster numbers as
> starting position. I also had the impression that fdisk uses
> salesman-MB, so better enter cylinder numbers instead (number of
> cylinders = size-in-MB/2).
>
>> mke2fs -j -E stripe-width=32,resize=500G /dev/sdb1
> That gives you 128KB again (because block size is 4KB). I went with
> stripe-width=1024 instead to get 4MB alignment. Doesn't work for the
> Journal, of course.
> Would be good to know whether ext4 does proper alignment of the journal.
>
> CU Sascha
>
More information about the Devel
mailing list