Hello!

These are the results from a SanDisk SDHC card 8 GB class 4 (7560 MiB), using flashbench 62-1 (Linux Mint 15 / Ubuntu 13.04 repository, and kernel 3.11.0). The SD Card is raw, without formatation. There are informations about the card controller from my laptop too.

I have some questions about flashbench tool. Are there any development in this tool yet? Am I using the correct version? What is the -a parameter, it's not in documentation (it's not in the --help parameter too).

lsusb -v

Bus 001 Device 008: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x058f Alcor Micro Corp.
  idProduct          0x6366 Multi Flash Reader
  bcdDevice            1.00
  iManufacturer           1 Generic
  iProduct                2 Mass Storage Device
  iSerial                 3 058F63666433
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)


head /sys/block/sdb/device/* 2>/dev/null | grep -v ^$

==> /sys/block/sdb/device/block <==
==> /sys/block/sdb/device/bsg <==
==> /sys/block/sdb/device/device_blocked <==
0
==> /sys/block/sdb/device/dh_state <==
detached
==> /sys/block/sdb/device/driver <==
==> /sys/block/sdb/device/eh_timeout <==
10
==> /sys/block/sdb/device/evt_media_change <==
0
==> /sys/block/sdb/device/generic <==
==> /sys/block/sdb/device/iocounterbits <==
32
==> /sys/block/sdb/device/iodone_cnt <==
0x10d82
==> /sys/block/sdb/device/ioerr_cnt <==
0x2
==> /sys/block/sdb/device/iorequest_cnt <==
0x10d82
==> /sys/block/sdb/device/max_sectors <==
240
==> /sys/block/sdb/device/modalias <==
scsi:t-0x00
==> /sys/block/sdb/device/model <==
Card  Reader   
==> /sys/block/sdb/device/power <==
==> /sys/block/sdb/device/queue_depth <==
1
==> /sys/block/sdb/device/queue_type <==
none
==> /sys/block/sdb/device/rev <==
1.00
==> /sys/block/sdb/device/scsi_device <==
==> /sys/block/sdb/device/scsi_disk <==
==> /sys/block/sdb/device/scsi_generic <==
==> /sys/block/sdb/device/scsi_level <==
0
==> /sys/block/sdb/device/state <==
running
==> /sys/block/sdb/device/subsystem <==
==> /sys/block/sdb/device/timeout <==
30
==> /sys/block/sdb/device/type <==
0
==> /sys/block/sdb/device/uevent <==
DEVTYPE=scsi_device
DRIVER=sd
MODALIAS=scsi:t-0x00
==> /sys/block/sdb/device/vendor <==
Multiple


flashbench -a /dev/sdb --blocksize=1024 --count=100
align 2147483648    pre 1.31ms    on 1.73ms    post 1.25ms    diff 456µs
align 1073741824    pre 1.3ms    on 1.76ms    post 1.24ms    diff 485µs
align 536870912    pre 1.28ms    on 1.79ms    post 1.32ms    diff 491µs
align 268435456    pre 1.24ms    on 1.68ms    post 1.23ms    diff 444µs
align 134217728    pre 1.3ms    on 1.82ms    post 1.3ms    diff 518µs
align 67108864    pre 1.3ms    on 1.77ms    post 1.25ms    diff 488µs
align 33554432    pre 1.02ms    on 1.34ms    post 1.01ms    diff 327µs
align 16777216    pre 1.01ms    on 1.35ms    post 989µs    diff 348µs
align 8388608    pre 974µs    on 1.35ms    post 1.01ms    diff 361µs
align 4194304    pre 1.25ms    on 1.71ms    post 1.03ms    diff 568µs
align 2097152    pre 1.29ms    on 1.44ms    post 1.26ms    diff 160µs
align 1048576    pre 1.25ms    on 1.44ms    post 1.3ms    diff 162µs
align 524288    pre 1.31ms    on 1.44ms    post 1.26ms    diff 153µs
align 262144    pre 1.25ms    on 1.42ms    post 1.29ms    diff 155µs
align 131072    pre 1.28ms    on 1.43ms    post 1.26ms    diff 167µs
align 65536    pre 1.25ms    on 1.43ms    post 1.29ms    diff 160µs
align 32768    pre 1.28ms    on 1.43ms    post 1.26ms    diff 165µs
align 16384    pre 1.24ms    on 1.43ms    post 1.29ms    diff 168µs
align 8192    pre 1.25ms    on 1.31ms    post 1.25ms    diff 56.5µs
align 4096    pre 1.19ms    on 1.34ms    post 1.25ms    diff 118µs
align 2048    pre 1.2ms    on 1.25ms    post 1.2ms    diff 51.8µs

# Maybe this card has 4 MiB of Erased Block and 16 kiB of Page?

flashbench -a /dev/sdb --blocksize=1024 --count=100
align 2147483648    pre 1.31ms    on 1.73ms    post 1.25ms    diff 450µs
align 1073741824    pre 1.3ms    on 1.76ms    post 1.24ms    diff 491µs
align 536870912    pre 1.28ms    on 1.79ms    post 1.32ms    diff 484µs
align 268435456    pre 1.25ms    on 1.68ms    post 1.23ms    diff 435µs
align 134217728    pre 1.29ms    on 1.82ms    post 1.3ms    diff 525µs
align 67108864    pre 1.3ms    on 1.77ms    post 1.24ms    diff 495µs
align 33554432    pre 1.02ms    on 1.35ms    post 996µs    diff 346µs
align 16777216    pre 1.02ms    on 1.35ms    post 995µs    diff 341µs
align 8388608    pre 974µs    on 1.35ms    post 994µs    diff 368µs
align 4194304    pre 1.27ms    on 1.71ms    post 1.03ms    diff 562µs
align 2097152    pre 1.31ms    on 1.44ms    post 1.26ms    diff 161µs
align 1048576    pre 1.25ms    on 1.44ms    post 1.3ms    diff 164µs
align 524288    pre 1.3ms    on 1.43ms    post 1.26ms    diff 156µs
align 262144    pre 1.25ms    on 1.43ms    post 1.29ms    diff 162µs
align 131072    pre 1.3ms    on 1.44ms    post 1.26ms    diff 157µs
align 65536    pre 1.25ms    on 1.42ms    post 1.27ms    diff 159µs
align 32768    pre 1.25ms    on 1.43ms    post 1.24ms    diff 182µs
align 16384    pre 1.24ms    on 1.43ms    post 1.27ms    diff 178µs
align 8192    pre 1.25ms    on 1.31ms    post 1.24ms    diff 67.7µs
align 4096    pre 1.19ms    on 1.34ms    post 1.24ms    diff 126µs
align 2048    pre 1.19ms    on 1.25ms    post 1.18ms    diff 69.6µs

flashbench -a /dev/sdb --blocksize=2048 --count=100
align 2147483648    pre 1.29ms    on 1.72ms    post 1.25ms    diff 448µs
align 1073741824    pre 1.28ms    on 1.7ms    post 1.22ms    diff 449µs
align 536870912    pre 1.25ms    on 1.74ms    post 1.29ms    diff 473µs
align 268435456    pre 1.25ms    on 1.66ms    post 1.22ms    diff 421µs
align 134217728    pre 1.28ms    on 1.79ms    post 1.29ms    diff 501µs
align 67108864    pre 1.3ms    on 1.74ms    post 1.26ms    diff 466µs
align 33554432    pre 1.12ms    on 1.51ms    post 1.1ms    diff 401µs
align 16777216    pre 1.09ms    on 1.45ms    post 949µs    diff 427µs
align 8388608    pre 1.1ms    on 1.46ms    post 949µs    diff 438µs
align 4194304    pre 1.15ms    on 1.6ms    post 1.07ms    diff 487µs
align 2097152    pre 1.16ms    on 1.28ms    post 1.15ms    diff 126µs
align 1048576    pre 1.15ms    on 1.28ms    post 1.16ms    diff 126µs
align 524288    pre 1.16ms    on 1.28ms    post 1.15ms    diff 123µs
align 262144    pre 1.15ms    on 1.28ms    post 1.16ms    diff 123µs
align 131072    pre 1.16ms    on 1.28ms    post 1.15ms    diff 130µs
align 65536    pre 1.15ms    on 1.28ms    post 1.16ms    diff 122µs
align 32768    pre 1.16ms    on 1.28ms    post 1.15ms    diff 123µs
align 16384    pre 1.15ms    on 1.28ms    post 1.16ms    diff 122µs
align 8192    pre 1.13ms    on 1.17ms    post 1.13ms    diff 39.8µs
align 4096    pre 1.13ms    on 1.17ms    post 1.13ms    diff 41.5µs

flashbench -a /dev/sdb --blocksize=2048 --count=100
align 2147483648    pre 1.69ms    on 2.11ms    post 1.58ms    diff 479µs
align 1073741824    pre 1.67ms    on 2.1ms    post 1.63ms    diff 452µs
align 536870912    pre 1.65ms    on 2.15ms    post 1.68ms    diff 486µs
align 268435456    pre 1.59ms    on 2.01ms    post 1.49ms    diff 469µs
align 134217728    pre 1.69ms    on 2.19ms    post 1.7ms    diff 499µs
align 67108864    pre 1.68ms    on 2.15ms    post 1.59ms    diff 517µs
align 33554432    pre 1.39ms    on 1.78ms    post 1.38ms    diff 394µs
align 16777216    pre 1.27ms    on 1.68ms    post 990µs    diff 551µs
align 8388608    pre 1.26ms    on 1.68ms    post 985µs    diff 555µs
align 4194304    pre 1.38ms    on 1.88ms    post 1.29ms    diff 543µs
align 2097152    pre 1.44ms    on 1.6ms    post 1.44ms    diff 155µs
align 1048576    pre 1.44ms    on 1.58ms    post 1.48ms    diff 122µs
align 524288    pre 1.48ms    on 1.6ms    post 1.43ms    diff 140µs
align 262144    pre 1.44ms    on 1.6ms    post 1.48ms    diff 143µs
align 131072    pre 1.48ms    on 1.59ms    post 1.43ms    diff 140µs
align 65536    pre 1.43ms    on 1.56ms    post 1.48ms    diff 110µs
align 32768    pre 1.47ms    on 1.58ms    post 1.43ms    diff 129µs
align 16384    pre 1.43ms    on 1.59ms    post 1.47ms    diff 137µs
align 8192    pre 1.41ms    on 1.48ms    post 1.41ms    diff 73.5µs
align 4096    pre 1.41ms    on 1.48ms    post 1.41ms    diff 67.4µs


flashbench -f /dev/sdb
4MiB    5.02M/s  8.23M/s  2.39M/s  5.04M/s  10.4M/s  2.08M/s 
2MiB    4.64M/s  17.1M/s  4.91M/s  4.41M/s  5.01M/s  4.51M/s 
1MiB    4.98M/s  13.9M/s  4.69M/s  4.98M/s  4.72M/s  1.75M/s 
512KiB  4.74M/s  16.9M/s  4.98M/s  4.74M/s  4.78M/s  15M/s   
256KiB  4.99M/s  13.4M/s  4.93M/s  4.71M/s  1.99M/s  4.97M/s 
128KiB  4.74M/s  14.1M/s  4.53M/s  4.96M/s  4.38M/s  4.99M/s 
64KiB   4.73M/s  13.3M/s  4.92M/s  4.76M/s  2.03M/s  4.9M/s  
32KiB   4.41M/s  15.1M/s  4.9M/s   4.42M/s  4.96M/s  4.68M/s 
16KiB   4.58M/s  11M/s    4.78M/s  4M/s     4.83M/s  3.39M/s


flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] --blocksize=$[16*1024] --open-au-nr=1
4MiB    14.9M/s
2MiB    17.9M/s
1MiB    18.5M/s
512KiB  18.1M/s
256KiB  18.1M/s
128KiB  17.6M/s
64KiB   17.3M/s
32KiB   16M/s  
16KiB   13.2M/s

flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] --blocksize=$[16*1024] --open-au-nr=2
4MiB    16.4M/s
2MiB    17.8M/s
1MiB    17.8M/s
512KiB  17.1M/s
256KiB  16.3M/s
128KiB  15.1M/s
64KiB   14M/s  
32KiB   11.3M/s
16KiB   8.04M/s

flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] --blocksize=$[16*1024] --open-au-nr=3
4MiB    17.4M/s
2MiB    18.2M/s
1MiB    17.7M/s
512KiB  17.1M/s
256KiB  16M/s  
128KiB  15.3M/s
64KiB   14M/s  
32KiB   11.2M/s
16KiB   7.92M/s

flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] --blocksize=$[16*1024] --open-au-nr=4
4MiB    10.9M/s
2MiB    5.98M/s
1MiB    9.38M/s
512KiB  7.03M/s
256KiB  6.67M/s
128KiB  6.8M/s 
64KiB   8.36M/s
32KiB   7.11M/s
16KiB   5.92M/s

flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] --blocksize=$[16*1024] --open-au-nr=5
4MiB    6.5M/s 
2MiB    4.62M/s
1MiB    3.2M/s 
512KiB  3.41M/s
256KiB  3.25M/s
128KiB  2.83M/s
64KiB   4.41M/s
32KiB   6.06M/s
16KiB   3.52M/s


With --random parameter:

flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] --blocksize=$[16*1024] --random --open-au-nr=1
4MiB    15.8M/s
2MiB    17.8M/s
1MiB    18M/s  
512KiB  15.7M/s
256KiB  8.44M/s
128KiB  3.01M/s
64KiB   1.45M/s
32KiB   719K/s 
16KiB   343K/s

flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] --blocksize=$[16*1024] --random --open-au-nr=2
4MiB    13.9M/s
2MiB    17.8M/s
1MiB    17.8M/s
512KiB  15.5M/s
256KiB  8.48M/s
128KiB  2.99M/s
64KiB   1.45M/s
32KiB   718K/s 
16KiB   342K/s

flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] --blocksize=$[16*1024] --random --open-au-nr=3
4MiB    7.17M/s
2MiB    17.9M/s
1MiB    17.1M/s
512KiB  15.5M/s
256KiB  8.36M/s
128KiB  3.01M/s
64KiB   1.45M/s
32KiB   718K/s 
16KiB   343K/s

flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] --blocksize=$[16*1024] --random --open-au-nr=4
4MiB    8.54M/s
2MiB    5.46M/s
1MiB    9.28M/s
512KiB  4.51M/s
256KiB  3.65M/s
128KiB  1.43M/s
64KiB   745K/s 
32KiB   441K/s 
16KiB   254K/s

flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] --blocksize=$[16*1024] --random --open-au-nr=5
4MiB    5.46M/s
2MiB    5.01M/s
1MiB    4.92M/s
512KiB  2.16M/s
256KiB  1.32M/s
128KiB  799K/s 
64KiB   432K/s 
32KiB   246K/s 
16KiB   177K/s


I think that the Erased Block has 4 MiB and each Page has 16 kiB, but the open-au it's only 1 or maybe 2, I don't know. Is that correct?

I want use F2FS in this card, but I don't know if this card is good for this, and I don't know too how to alignment correctly with F2FS, using mkfs.f2fs.

Sérgio Benjamim