manfid = 0x000074 oemid = 0x4a45
$ sudo ./flashbench -a /dev/mmcblk0 --blocksize=$[4 * 1024] align 1073741824 pre 1.81ms on 2.11ms post 1.83ms diff 292µs align 536870912 pre 1.75ms on 2.15ms post 1.81ms diff 367µs align 268435456 pre 1.85ms on 2.05ms post 1.82ms diff 214µs align 134217728 pre 1.84ms on 2.04ms post 1.81ms diff 217µs align 67108864 pre 1.77ms on 2.06ms post 1.82ms diff 263µs align 33554432 pre 1.83ms on 2.04ms post 1.81ms diff 223µs align 16777216 pre 1.8ms on 2.07ms post 1.81ms diff 266µs align 8388608 pre 1.79ms on 2.06ms post 1.83ms diff 253µs align 4194304 pre 1.79ms on 2.08ms post 1.83ms diff 270µs align 2097152 pre 1.75ms on 2.06ms post 1.82ms diff 275µs align 1048576 pre 1.84ms on 2.06ms post 1.83ms diff 232µs align 524288 pre 1.93ms on 1.99ms post 1.85ms diff 104µs align 262144 pre 1.9ms on 1.99ms post 1.83ms diff 123µs align 131072 pre 1.93ms on 1.99ms post 1.85ms diff 102µs align 65536 pre 1.9ms on 1.99ms post 1.83ms diff 128µs align 32768 pre 1.9ms on 1.98ms post 1.82ms diff 125µs align 16384 pre 1.87ms on 1.96ms post 1.77ms diff 140µs align 8192 pre 1.72ms on 1.96ms post 1.96ms diff 121µs
From here I can figure out that Erase Block size for this card is 1MB.
$ sudo ./flashbench -O --erasesize=$[1 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au --random 1MiB 2.42M/s 512KiB 11.6M/s 256KiB 10.6M/s 128KiB 10.2M/s 64KiB 7.8M/s 32KiB 6.81M/s 16KiB 4.51M/s 8KiB 2.05M/s 4KiB 958K/s
$ sudo ./flashbench -O --erasesize=$[1 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au 1MiB 12M/s 512KiB 11.4M/s 256KiB 10.6M/s 128KiB 9.99M/s 64KiB 7.87M/s 32KiB 6.75M/s 16KiB 4.57M/s 8KiB 2.21M/s 4KiB 1M/s
$ sudo ./flashbench -O --erasesize=$[1 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=1 --random 1MiB 11.8M/s 512KiB 10.1M/s 256KiB 10.4M/s 128KiB 10.1M/s 64KiB 8.2M/s 32KiB 6.41M/s 16KiB 4.87M/s 8KiB 2.12M/s 4KiB 1.01M/s
$ sudo ./flashbench -O --erasesize=$[1 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=1 1MiB 11.1M/s 512KiB 11M/s 256KiB 11.8M/s 128KiB 10.3M/s 64KiB 11.7M/s 32KiB 10.8M/s 16KiB 10.9M/s 8KiB 7.77M/s 4KiB 6.98M/s
Till 5 open erase blocks I'm getting consistent not so bad performance but for 6 open erase blocks there is a very sharp decrease in performance numbers.
$ sudo ./flashbench -O --erasesize=$[1 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=5 --random 1MiB 4.55M/s 512KiB 11.1M/s 256KiB 10.5M/s 128KiB 9.85M/s 64KiB 8.02M/s 32KiB 6.27M/s 16KiB 4.52M/s 8KiB 2.03M/s 4KiB 956K/s
$ sudo ./flashbench -O --erasesize=$[1 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=5 1MiB 11.9M/s 512KiB 11.4M/s 256KiB 11M/s 128KiB 9.61M/s 64KiB 8.3M/s 32KiB 5.89M/s 16KiB 4.61M/s 8KiB 2.28M/s 4KiB 1.25M/s
$ sudo ./flashbench -O --erasesize=$[1 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=6 --random 1MiB 2.42M/s 512KiB 1.61M/s 256KiB 756K/s 128KiB 413K/s 64KiB 217K/s 32KiB 111K/s 16KiB 56.3K/s 8KiB 28.2K/s 4KiB 14K/s
$ sudo ./flashbench -O --erasesize=$[1 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=6 1MiB 2.41M/s 512KiB 1.62M/s 256KiB 755K/s 128KiB 413K/s 64KiB 217K/s 32KiB 110K/s 16KiB 56.1K/s 8KiB 28K/s 4KiB 14K/s
On Sunday 24 April 2011 15:30:55 Amit Pundir wrote:
manfid = 0x000074 oemid = 0x4a45
Added to the list, thank you!
BTW, the other files in sysfs are also interesting, as is the --findfat test case. I always list the "name" field in the wiki, and the age of the card can give important hints to the expected erase block size if it's not detected correctly. In this case (1 MB erase block), I would assume that the card is from 2008 or 2009 but no later.
Arnd
Card details:
cid = 744a455553442020104180008e00b200 csd = 400e00325b5900001e117f800a400000 date = 02/2011 fwrev = 0x0 hwrev = 0x1 manfid = 0x000074 name = USD oemid = 0x4a45 scr = 0235800000000000 serial = 0x4180008e type = SD
uevent --> DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=USD MODALIAS=mmc:block
On Sun, Apr 24, 2011 at 7:57 PM, Arnd Bergmann arnd@arndb.de wrote:
On Sunday 24 April 2011 15:30:55 Amit Pundir wrote:
manfid = 0x000074 oemid = 0x4a45
Added to the list, thank you!
BTW, the other files in sysfs are also interesting, as is the --findfat test case. I always list the "name" field in the wiki, and the age of the card can give important hints to the expected erase block size if it's not detected correctly. In this case (1 MB erase block), I would assume that the card is from 2008 or 2009 but no later.
Arnd
Forgot to add --findfat result, here it goes
$ sudo ./flashbench --findfat /dev/mmcblk0 4MiB 2.73M/s 3.76M/s 3.77M/s 3.77M/s 3.77M/s 3.78M/s 2MiB 3.52M/s 3.77M/s 3.75M/s 3.77M/s 3.77M/s 3.77M/s 1MiB 3.52M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 512KiB 3.52M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 256KiB 3.52M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 128KiB 3.5M/s 3.75M/s 3.74M/s 3.75M/s 3.74M/s 3.75M/s 64KiB 3.5M/s 3.74M/s 3.72M/s 3.72M/s 3.74M/s 3.74M/s 32KiB 3.09M/s 3.52M/s 3.52M/s 3.52M/s 3.48M/s 3.51M/s 16KiB 2.56M/s 2.72M/s 2.73M/s 2.72M/s 2.74M/s 2.74M/s
Regards, Amit Pundir
On Sun, Apr 24, 2011 at 9:32 PM, Amit Pundir pundiramit@gmail.com wrote:
Card details:
cid = 744a455553442020104180008e00b200 csd = 400e00325b5900001e117f800a400000 date = 02/2011 fwrev = 0x0 hwrev = 0x1 manfid = 0x000074 name = USD oemid = 0x4a45 scr = 0235800000000000 serial = 0x4180008e type = SD
uevent --> DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=USD MODALIAS=mmc:block
On Sun, Apr 24, 2011 at 7:57 PM, Arnd Bergmann arnd@arndb.de wrote:
On Sunday 24 April 2011 15:30:55 Amit Pundir wrote:
manfid = 0x000074 oemid = 0x4a45
Added to the list, thank you!
BTW, the other files in sysfs are also interesting, as is the --findfat test case. I always list the "name" field in the wiki, and the age of the card can give important hints to the expected erase block size if it's not detected correctly. In this case (1 MB erase block), I would assume that the card is from 2008 or 2009 but no later.
Arnd
On Sunday 24 April 2011 18:05:01 Amit Pundir wrote:
Forgot to add --findfat result, here it goes
$ sudo ./flashbench --findfat /dev/mmcblk0 4MiB 2.73M/s 3.76M/s 3.77M/s 3.77M/s 3.77M/s 3.78M/s 2MiB 3.52M/s 3.77M/s 3.75M/s 3.77M/s 3.77M/s 3.77M/s 1MiB 3.52M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 512KiB 3.52M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 256KiB 3.52M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 3.76M/s 128KiB 3.5M/s 3.75M/s 3.74M/s 3.75M/s 3.74M/s 3.75M/s 64KiB 3.5M/s 3.74M/s 3.72M/s 3.72M/s 3.74M/s 3.74M/s 32KiB 3.09M/s 3.52M/s 3.52M/s 3.52M/s 3.48M/s 3.51M/s 16KiB 2.56M/s 2.72M/s 2.73M/s 2.72M/s 2.74M/s 2.74M/s
On Sun, Apr 24, 2011 at 9:32 PM, Amit Pundir pundiramit@gmail.com wrote:
Card details:
cid = 744a455553442020104180008e00b200 csd = 400e00325b5900001e117f800a400000 date = 02/2011 fwrev = 0x0 hwrev = 0x1 manfid = 0x000074 name = USD oemid = 0x4a45 scr = 0235800000000000 serial = 0x4180008e type = SD
Thanks for the additional info. Note that you should also use the '--erasesize=$[1 * 1024 * 1024]' in the findfat test run, otherwise it will assume 4 MB. Also, it's helpful to use '--random --blocksize=2048' there, as it makes the results easier to interpret in some cases.
For this card, it seems like the first 4 MB contain a special area, they perform worse in linear access than the next five 4MB sections, which all perform the same. It would be nice to know whether the entire 4 MB are special or just part of it.
Arnd
flashbench-results@lists.linaro.org