arnd@klappe2:~/linux-2.6$ sudo fdisk -lu /dev/sdg
Disk /dev/sdg: 16.0 GB, 16039018496 bytes 255 heads, 63 sectors/track, 1949 cylinders, total 31326208 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
Device Boot Start End Blocks Id System /dev/sdg1 * 63 31326207 15663072+ c W95 FAT32 (LBA)
arnd@klappe2:~/linux-2.6$ sudo hdparm -I /dev/sdg
/dev/sdg:
CompactFlash ATA device Model Number: SMART CF Serial Number: 2010052503008EDA8EDA Firmware Revision: 20080820 Standards: Supported: 4 Likely used: 6 Configuration: Logical max current cylinders 16383 16383 heads 15 15 sectors/track 63 63 -- CHS current addressable sectors: 15481935 LBA user addressable sectors: 31326208 Logical/Physical Sector size: 512 bytes device size with M = 1024*1024: 15296 MBytes device size with M = 1000*1000: 16039 MBytes (16 GB) cache/buffer size = 1 KBytes (type=DualPort) Capabilities: LBA, IORDY(may be)(cannot be disabled) Standby timer values: spec'd by Vendor R/W multiple sector transfer: Max = 1 Current = 0 Advanced power management level: disabled DMA: not supported PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=120ns IORDY flow control=120ns Commands/features: Enabled Supported: SMART feature set Security Mode feature set Power Management feature set WRITE_BUFFER command READ_BUFFER command NOP cmd CFA feature set Advanced Power Management feature set SMART error logging * SMART self-test CFA max advanced io_udma cycle time: 80ns CFA max advanced mem_udma cycle time: 80ns * CFA advanced modes: pio5 *pio6 mdma3 mdma4 *io_udma4 io_udma5 io_udma6 io_udma7 io_udma8 io_udma9 *mem_udma4 mem_udma5 mem_udma6 mem_udma7 mem_udma8 mem_udma9 * CFA Power Level 1 (max 500mA) Security: Master password revision code = 65534 supported not enabled not locked not frozen not expired: security count not supported: enhanced erase 2min for SECURITY ERASE UNIT. HW reset results: CBLID- above Vih Device num = 1 Integrity word not set (found 0x0000, expected 0x1da5)
arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=1048576 1MiB 10.8M/s 512KiB 9.21M/s 256KiB 11.2M/s 128KiB 11.1M/s 64KiB 10.9M/s 32KiB 9.63M/s 16KiB 6.66M/s 8KiB 4.63M/s 4KiB 2.04M/s 2KiB 1.82M/s 1KiB 970K/s
arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=2097152 2MiB 12.7M/s 1MiB 15.5M/s 512KiB 15M/s 256KiB 17.1M/s 128KiB 15.9M/s 64KiB 16.7M/s 32KiB 15.1M/s 16KiB 11.7M/s 8KiB 6.72M/s 4KiB 3.82M/s 2KiB 2.03M/s 1KiB 1.03M/s
arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=4194304 4MiB 17.2M/s 2MiB 17.3M/s 1MiB 17.4M/s 512KiB 17.4M/s 256KiB 16.8M/s 128KiB 16M/s 64KiB 17.1M/s 32KiB 14.8M/s 16KiB 11.8M/s 8KiB 6.96M/s 4KiB 3.77M/s 2KiB 2.02M/s 1KiB 1.03M/s arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=4194304 --random 4MiB 17.4M/s 2MiB 17.2M/s 1MiB 15.5M/s 512KiB 12.8M/s 256KiB 10.5M/s 128KiB 11.9M/s 64KiB 7.63M/s 32KiB 7.96M/s 16KiB 7.55M/s 8KiB 3.36M/s 4KiB 1.83M/s arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=4194304 --random --open-au-nr=3 4MiB 14.9M/s 2MiB 14.8M/s 1MiB 11.3M/s 512KiB 11.8M/s 256KiB 8.63M/s 128KiB 5.46M/s 64KiB 3.78M/s 32KiB 2.2M/s 16KiB 1.15M/s ^C
# Assuming 2 MB erase blocks, the card can open 4 of them: arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=2097152 --random --open-au-nr=3 2MiB 14.6M/s 1MiB 13.2M/s 512KiB 11.2M/s 256KiB 8.48M/s 128KiB 10.3M/s 64KiB 10.8M/s 32KiB 7.65M/s 16KiB 6.68M/s 8KiB 2.99M/s 4KiB 1.78M/s ^C arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=2097152 --random --open-au-nr=4 2MiB 13.5M/s 1MiB 13.5M/s 512KiB 13.7M/s 256KiB 9.41M/s 128KiB 11.5M/s 64KiB 10.2M/s 32KiB 7.41M/s 16KiB 6.49M/s 8KiB 3.22M/s 4KiB 1.71M/s arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=2097152 --random --open-au-nr=5 2MiB 13.1M/s 1MiB 14M/s 512KiB 11.8M/s 256KiB 8.4M/s 128KiB 6.77M/s 64KiB 4.66M/s 32KiB 2.81M/s 16KiB 1.46M/s
# Not 1 MB erase blocks: arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=1048576 --random --open-au-nr=4 1MiB 13M/s 512KiB 10.4M/s 256KiB 11.7M/s 128KiB 11.2M/s 64KiB 8.9M/s 32KiB 8.34M/s 16KiB 6.22M/s 8KiB 3.23M/s 4KiB 1.76M/s 2KiB 884K/s 1KiB 452K/s arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=1048576 --random --open-au-nr=5 1MiB 12.5M/s 512KiB 10.4M/s 256KiB 10.7M/s 128KiB 6.76M/s 64KiB 5M/s 32KiB 2.77M/s 16KiB 1.48M/s 8KiB 751K/s 4KiB 381K/s 2KiB 189K/s 1KiB 85.4K/s
# Something terribly wrong here: arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=2097152 --open-au-nr=4 2MiB 9.72M/s 1MiB 11.1M/s 512KiB 11M/s 256KiB 13.8M/s 128KiB 14.1M/s 64KiB 14.1M/s 32KiB 5.14M/s 16KiB 318K/s 8KiB 158K/s 4KiB 78.9K/s # Repeat: arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=2097152 --open-au-nr=4 2MiB 17.7M/s 1MiB 14.2M/s 512KiB 8.32M/s 256KiB 4.42M/s 128KiB 2.37M/s 64KiB 1.25M/s 32KiB 634K/s
# But works with up to three erase blocks: arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=2097152 --open-au-nr=2 2MiB 17.6M/s 1MiB 17.4M/s 512KiB 17.3M/s 256KiB 16.9M/s 128KiB 15.6M/s 64KiB 17.1M/s 32KiB 15.1M/s 16KiB 11.9M/s 8KiB 7.08M/s 4KiB 3.76M/s 2KiB 2.05M/s 1KiB 1.04M/s arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=2097152 --open-au-nr=3 2MiB 17.4M/s 1MiB 15.9M/s 512KiB 17.3M/s 256KiB 17M/s 128KiB 16.2M/s 64KiB 17.1M/s 32KiB 15M/s 16KiB 9.25M/s 8KiB 6.95M/s 4KiB 3.86M/s 2KiB 2.03M/s 1KiB 1.04M/s
# offset does not hurt for random access: arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdc -b 1024 --erasesize=2097152 --open-au-nr=2 --random --offset=$[16*1024*1024 + 512] 2MiB 11.4M/s 1MiB 11.4M/s 512KiB 8.72M/s 256KiB 9.65M/s 128KiB 9.03M/s 64KiB 8.07M/s 32KiB 6.73M/s 16KiB 3.64M/s 8KiB 2.32M/s 4KiB 1.36M/s 2KiB 648K/s 1KiB 341K/s
# No special FAT area: arnd@klappe2:~/git/flashbench$ sudo ./flashbench /dev/sdc --blocksize=1024 --erasesize=2097152 --findfat --fat-nr=6 --random 2MiB 9.26M/s 17.6M/s 17.5M/s 17.2M/s 17.3M/s 17.4M/s 1MiB 11.8M/s 10.6M/s 8.42M/s 8.54M/s 8.29M/s 5.93M/s 512KiB 7.5M/s 9.64M/s 9.58M/s 9.65M/s 9.68M/s 9.59M/s 256KiB 7.3M/s 6.46M/s 6.4M/s 6.42M/s 6.42M/s 6.43M/s 128KiB 7.09M/s 7.04M/s 7.09M/s 7.1M/s 7.11M/s 7.12M/s 64KiB 7.4M/s 7.28M/s 7.46M/s 7.41M/s 7.35M/s 7.41M/s 32KiB 5.83M/s 5.83M/s 5.76M/s 5.82M/s 5.84M/s 5.52M/s 16KiB 4.47M/s 4.43M/s 4.26M/s 4.47M/s 4.47M/s 4.43M/s 8KiB 2.8M/s 2.8M/s 2.78M/s 2.79M/s 2.8M/s 2.78M/s 4KiB 1.4M/s 1.41M/s 1.36M/s 1.4M/s 1.4M/s 1.41M/s 2KiB 698K/s 704K/s 701K/s 703K/s 697K/s 703K/s
flashbench-results@lists.linaro.org