ext2/3/4 group size

Arnd Bergmann arnd at arndb.de
Fri Apr 1 04:14:21 EDT 2011

On Thursday 31 March 2011, Yioryos Asprobounitis wrote:
> --- On Thu, 3/31/11, Arnd Bergmann <arnd at arndb.de> wrote:
> > From: Arnd Bergmann <arnd at arndb.de>
> > The Kingston card probably uses a toshiba controller (oemid 0x544d) 
> [snip] 
> > The transcend cards I've seen typically use samsung
> > controllers (oemid 0x534d),
> Here is what I get for my cards:
> A-data          fwrev 0x0 hwrev 0x0 manfid 0x00001d oemid 0x4144
> Kingston        fwrev 0x0 hwrev 0x2 manfid 0x000041 oemid 0x3432
> Transcend       fwrev 0x0 hwrev 0x1 manfid 0x00001c oemid 0x5356
> Any idea about the controllers?

I've seen the 0x41/0x3432 before on a Kingston card, and this looks
like an improper OEM ID because it's not actually letters in ASCII.
Kingston was not able to confim this card to be either authentic
or fake, but measurements have shown that it has the same flawed
GC algorithm as the others (only one allocation unit open at a time,
no random write optimizations).

I've seen the 0x1d/0x4144 ID on cards with very different characteristics,
a very good one branded "Microcenter" and a rather bad one branded
"Extrememory Performance Class 6". Note that 0x4144 is "AD" in ASCII,
so that is likely to actually stand for A-DATA, who would produce
the controllers and sell them to the other OEMs.

The Transcend controller is new to me, the few other transcend ones
I've seen were using Samsung (0x1b/0x534D, "SM"). 0x5356 is "SV", which
I have never seen before, it could plausibly stand for "Sunvision Co.",
who are listed as a SD licensee but not a brand name.

If you want to do more tests, please get the flashbench source code from
"git clone git://git.linaro.org/people/arnd/flashbench.git" and send your
results (one mail per card) to flashbench-results at lists.linaro.org.

The data should include:
* The contents of all sysfs files
* The exact size of the card in kb
* The output of "flashbench -a --blocksize=1024", which is needed to guess
  the erase block size. The README file tells you how to interpret the
  results, ask me if you're not sure.
* When you have the erase block size, the results of
  "flashbench --open-au --open-au-nr=${NUMBER} --erasesize=${ERASESIZE}"
  for the correct erase block size and a varying number of erase blocks.
  Try different numbers until you find the highest one that is fast
  and the lowest one that is slow (one more than the first).
* The the --open-au test with and without "--random". The Kingston card
  will always be slow with --random, so no need for that. For cards that
  are fast with --random, always use that, in orer to get more accurate
* Use the '--findfat --random' test with the correct erase block size to
  determine if the card has any areas optimized for random access that
  can be used to store the FAT. On the Kingston card, this will be the
  second 4 MB erase block.


More information about the Devel mailing list