On Wed, Jul 27, 2011 at 4:39 PM, Arnd Bergmann arnd@arndb.de wrote:
On Tuesday 26 July 2011, Ajax Criterion wrote:
Hi again,
I was able to recover *most* of the test results for my Kingston drive. I've stitched this together from several chunks that were recovered, so bits and pieces are missing throughout, but most of the info is here.
Ok, thanks! I've added the results to the wiki page.
Unfortunately, I wasn't able to retrieve the full ouput of the 'flashbench -a' test -- I suppose you can take my word that it has a 4MB erase size until I can run some more tests on this drive :)
That's ok, the measurements all look consistent. However, one is missing:
bash-4.1# ./flashbench -O --open-au-nr=2 /dev/sdb 4MiB 13.7M/s 2MiB 13.2M/s 1MiB 13.5M/s 512KiB 14M/s 256KiB 13.5M/s 128KiB 11.2M/s 64KiB 15.1M/s 32KiB 10.8M/s 16KiB 6.58M/s
bash-4.1# ./flashbench -O --open-au-nr=10 /dev/sdb 4MiB 13.3M/s 2MiB 12.1M/s 1MiB 10.6M/s 512KiB 8.78M/s 256KiB 13.5M/s 128KiB 11.1M/s 64KiB 15M/s 32KiB 11M/s 16KiB 6.55M/s
This indicates that the device can actually handle ten erase blocks just fine. I've entered the data as >=10 erase blocks, but it would be interesting to see if ten is actually the limit or if it can do more than that. Same for the --random tests.
bash-4.1# ./flashbench --findfat --fat-nr=5 --erasesize=$[4 * 1024*1024] --random --blocksize=512 /dev/sdb 4MiB 3.37M/s 5.42M/s 13.3M/s 13.4M/s 13.3M/s 2MiB 5.11M/s 5.04M/s 9.25M/s 9.17M/s 9.25M/s 1MiB 5.24M/s 5.86M/s 5.86M/s 5.85M/s 5.86M/s 512KiB 5.29M/s 3.77M/s 3.77M/s 3.76M/s 3.77M/s 256KiB 2.92M/s 5.48M/s 5.49M/s 5.49M/s 5.48M/s 128KiB 4.49M/s 4.61M/s 4.6M/s 4.6M/s 4.6M/s 64KiB 5.86M/s 3.59M/s 3.59M/s 3.59M/s 3.6M/s 32KiB 5.62M/s 4.16M/s 4.17M/s 4.17M/s 4.16M/s 16KiB 4.1M/s 2.82M/s 2.82M/s 2.82M/s 2.81M/s 8KiB 1.35M/s 1.33M/s 1.33M/s 1.33M/s 1.33M/s 4KiB 706K/s 836K/s 837K/s 836K/s 837K/s ^C bash-4.1# ./flashbench --findfat --fat-nr=5 --erasesize=$[4 * 1024*1024] --blocksize=512 /dev/sdb 4MiB 4.94M/s 13.4M/s 13.3M/s 13.3M/s 13.3M/s 2MiB 4.98M/s 13.2M/s 13.2M/s 13.2M/s 13.2M/s 1MiB 5.05M/s 13.5M/s 13.4M/s 13.5M/s 14.3M/s 512KiB 5.15M/s 13.7M/s 13.7M/s 13.8M/s 13.7M/s 256KiB 5.07M/s 13.7M/s 13.7M/s 13.8M/s 13.7M/s 128KiB 4.63M/s 11.1M/s 11.1M/s 11.2M/s 11M/s 64KiB 5.17M/s 16.1M/s 16.1M/s 16M/s 16M/s 32KiB 5.65M/s 11.9M/s 11.9M/s 11.9M/s 11.9M/s 16KiB 4.32M/s 7.33M/s 7.35M/s 7.35M/s 7.37M/s 8KiB 2.02M/s 2.95M/s 2.96M/s 2.95M/s 2.94M/s 4KiB 1.54M/s 1.54M/s 1.55M/s 1.54M/s 1.55M/s 2KiB 769K/s 812K/s 813K/s 815K/s 811K/s 1KiB 417K/s 407K/s 418K/s 418K/s 418K/s
This is very interesting: Apparently this stick in fact optimizes the first erase block for the FAT, which most USB sticks do not.
Again, if there are more tests you'd like to have done, just let me know and I can run them when I have a chance. I think I've rescued about as much as I can from the drive, so I should have it operational again soon :)
Did you accidentally lose data when writing to the device? I'm honestly sorry about never having put a bigger warning into the tool.
Arnd
Ok, here's some more testing on the Kingston drive. For some reason, it sometimes gives me readings at 12-13MB/s, and other times I'm getting more like 6, so I'm not sure what's going on...
Here's my new fdisk -lu: Disk /dev/sdc: 7998 MB, 7998537728 bytes 128 heads, 32 sectors/track, 3814 cylinders, total 15622144 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: 0x5a5a5a5a
Device Boot Start End Blocks Id System /dev/sdc1 * 8192 3637247 1814528 83 Linux /dev/sdc2 3637248 15622143 5992448 83 Linux bash-4.1#
--> aligned to 4MB blocks. FAT 32 in the front, EXT4 in the back again (I'll likely destroy this again with the --findfat test, but what the hell... FS in the back will get changed around a lot while I benchmark multiple filesystems).
For posterity, here's a repeat of the -a test:
bash-4.1# ./flashbench -a /dev/sdc --blocksize=1024 --count=100 align 2147483648 pre 595µs on 819µs post 687µs diff 178µs align 1073741824 pre 608µs on 825µs post 693µs diff 174µs align 536870912 pre 619µs on 823µs post 692µs diff 168µs align 268435456 pre 617µs on 817µs post 693µs diff 162µs align 134217728 pre 600µs on 806µs post 688µs diff 162µs align 67108864 pre 602µs on 800µs post 670µs diff 164µs align 33554432 pre 609µs on 817µs post 685µs diff 170µs align 16777216 pre 617µs on 819µs post 694µs diff 163µs align 8388608 pre 615µs on 826µs post 693µs diff 172µs align 4194304 pre 620µs on 824µs post 694µs diff 167µs align 2097152 pre 694µs on 768µs post 720µs diff 61.2µs align 1048576 pre 692µs on 780µs post 731µs diff 68.7µs align 524288 pre 696µs on 792µs post 714µs diff 87.2µs align 262144 pre 696µs on 779µs post 724µs diff 69.8µs align 131072 pre 687µs on 783µs post 734µs diff 72.2µs align 65536 pre 696µs on 750µs post 701µs diff 51.1µs align 32768 pre 680µs on 756µs post 691µs diff 70.6µs align 16384 pre 695µs on 782µs post 693µs diff 88.4µs align 8192 pre 696µs on 898µs post 697µs diff 201µs align 4096 pre 696µs on 712µs post 690µs diff 19.3µs align 2048 pre 696µs on 719µs post 697µs diff 22.3µs bash-4.1#
bash-4.1# flashbench -O --open-au-nr=10 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 13.3M/s 2MiB 13.1M/s 1MiB 13.3M/s 512KiB 13.5M/s 256KiB 12.2M/s 128KiB 11.2M/s 64KiB 15M/s 32KiB 10.9M/s 16KiB 6.52M/s 8KiB 2.81M/s 4KiB 1.42M/s bash-4.1# flashbench -O --open-au-nr=16 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 13.5M/s 2MiB 9.9M/s 1MiB 4.24M/s 512KiB 2.01M/s ^C bash-4.1# flashbench -O --open-au-nr=12 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 6.63M/s 2MiB 6.26M/s 1MiB 6.08M/s 512KiB 6.35M/s 256KiB 6.09M/s 128KiB 5.24M/s 64KiB 5.47M/s 32KiB 308K/s ^C bash-4.1# flashbench -O --open-au-nr=11 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 5.01M/s 2MiB 5.23M/s 1MiB 5.32M/s 512KiB 5.4M/s 256KiB 5.03M/s 128KiB 4.42M/s 64KiB 4.79M/s 32KiB 3.93M/s 16KiB 2.54M/s 8KiB 933K/s ^C bash-4.1# flashbench -O --open-au-nr=10 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 5.48M/s 2MiB 5.27M/s 1MiB 5.18M/s 512KiB 5.39M/s 256KiB 5.07M/s 128KiB 4.44M/s 64KiB 4.44M/s 32KiB 3.82M/s 16KiB 6.52M/s 8KiB 2.78M/s ^C bash-4.1# sync bash-4.1# flashbench -O --open-au-nr=10 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 5.47M/s ^C bash-4.1# flashbench -O --open-au-nr=1 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 7.49M/s 2MiB 13.2M/s 1MiB 13.5M/s 512KiB 13.7M/s 256KiB 14.4M/s 128KiB 11.2M/s 64KiB 16.3M/s 32KiB 11.9M/s 16KiB 7.41M/s ^C bash-4.1# flashbench -O --open-au-nr=10 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 11.8M/s 2MiB 13.2M/s 1MiB 13.6M/s 512KiB 13.6M/s 256KiB 13.5M/s 128KiB 11.2M/s 64KiB 15.2M/s ^C ^C bash-4.1# flashbench -O --open-au-nr=13 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 6.54M/s 2MiB 5.55M/s 1MiB 5.95M/s 512KiB 3.15M/s 256KiB 2.51M/s 128KiB 894K/s 64KiB 467K/s ^C bash-4.1# flashbench -O --open-au-nr=12 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 6.07M/s 2MiB 5.83M/s 1MiB 5.9M/s 512KiB 5.95M/s 256KiB 5.45M/s 128KiB 4.91M/s 64KiB 4.82M/s 32KiB 4.44M/s 16KiB 2.86M/s 8KiB 772K/s ^C bash-4.1#
---> There seems to be a clear breakdown after 12 AU's ... why am I bouncing around between 5-6 and 11-13 M/s??
^C bash-4.1# flashbench -O --open-au-nr=5 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 6.96M/s 2MiB 6.64M/s ^C bash-4.1# flashbench -O --open-au-nr=6 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 8.96M/s 2MiB 8.53M/s 1MiB 8.62M/s ^C^[[A bash-4.1# flashbench -O --open-au-nr=5 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 6.25M/s 2MiB 5.63M/s 1MiB 5.86M/s ^C^[[A bash-4.1# flashbench -O --open-au-nr=4 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 9.83M/s 2MiB 9.29M/s 1MiB 9.72M/s ^C bash-4.1# flashbench -O --open-au-nr=3 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 6.56M/s 2MiB 13.1M/s 1MiB 13.4M/s 512KiB 13.8M/s 256KiB 13.5M/s 128KiB 11.1M/s 64KiB 15M/s ^C bash-4.1# flashbench -O --open-au-nr=12 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 4MiB 6.33M/s 2MiB 6.24M/s ^C bash-4.1# ^C
-----------> kind of strange. Maybe random will give cleaner results:
bash-4.1# flashbench -O --open-au-nr=1 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 --random 4MiB 13.2M/s 2MiB 9.26M/s 1MiB 5.9M/s 512KiB 3.78M/s 256KiB 5.53M/s 128KiB 4.62M/s 64KiB 3.6M/s 32KiB 4.18M/s 16KiB 2.83M/s 8KiB 1.34M/s 4KiB 843K/s bash-4.1# flashbench -O --open-au-nr=10 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 --random 4MiB 8.92M/s 2MiB 7.54M/s 1MiB 5.61M/s 512KiB 4.05M/s 256KiB 5.09M/s 128KiB 3.63M/s 64KiB 3.3M/s 32KiB 3.2M/s 16KiB 1.78M/s 8KiB 932K/s ^C bash-4.1# flashbench -O --open-au-nr=12 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 --random 4MiB 11.2M/s 2MiB 8.51M/s 1MiB 5.8M/s 512KiB 3.6M/s 256KiB 5M/s 128KiB 3.86M/s 64KiB 3.12M/s 32KiB 3.23M/s 16KiB 1.89M/s ^C bash-4.1# flashbench -O --open-au-nr=13 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 --random 4MiB 8.89M/s 2MiB 7.31M/s 1MiB 5.55M/s 512KiB 3.7M/s 256KiB 4.99M/s 128KiB 3.74M/s 64KiB 3.11M/s 32KiB 3.25M/s ^C bash-4.1# flashbench -O --open-au-nr=15 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 --random 4MiB 9.85M/s 2MiB 7.47M/s 1MiB 4.7M/s 512KiB 2.54M/s 256KiB 995K/s ^C bash-4.1# flashbench -O --open-au-nr=14 /dev/sdc --erasesize=$[4*1024*1024] --blocksize=4096 --random 4MiB 7.13M/s 2MiB 5.82M/s 1MiB 4.01M/s 512KiB 3.67M/s 256KiB 4.94M/s 128KiB 3.23M/s 64KiB 3.43M/s 32KiB 3.37M/s 16KiB 1.79M/s ^C
--looks to be 14 open AU's for random.
bash-4.1# mkdir /mnt/sdc1 bash-4.1# mount /dev/sdc1 /mnt/sdc1 bash-4.1# umount /dev/sdc1
---> mounts fine.
bash-4.1# flashbench --findfat --fat-nr=8 --erasesize=$[4*1024*1024] --random --blocksize=512 /dev/sdc 4MiB 4.96M/s 13.4M/s 13.3M/s 13.4M/s 13.3M/s 13.4M/s 13.3M/s 13.3M/s 2MiB 5.16M/s 9.27M/s 9.28M/s 9.22M/s 9.19M/s 9.39M/s 9.16M/s 9.43M/s 1MiB 5.24M/s 5.86M/s 5.86M/s 5.84M/s 5.85M/s 5.9M/s 5.87M/s 5.92M/s 512KiB 5.29M/s 3.77M/s 3.77M/s 3.77M/s 3.77M/s 3.77M/s 3.77M/s 3.77M/s 256KiB 2.92M/s 5.5M/s 5.49M/s 5.51M/s 5.48M/s 5.49M/s 5.5M/s 5.46M/s 128KiB 4.54M/s 4.61M/s 4.61M/s 4.61M/s 4.6M/s 4.62M/s 4.6M/s 4.61M/s 64KiB 4.16M/s 3.58M/s 3.6M/s 3.6M/s 3.6M/s 3.59M/s 3.59M/s 3.6M/s 32KiB 5.61M/s 4.17M/s 4.17M/s 4.18M/s 4.19M/s 4.19M/s 4.18M/s 4.18M/s 16KiB 4.1M/s 2.83M/s 2.83M/s 2.83M/s 2.82M/s 2.82M/s 2.83M/s 2.82M/s 8KiB 1.35M/s 1.33M/s 1.33M/s 1.33M/s 1.33M/s 1.33M/s 1.33M/s 1.33M/s 4KiB 743K/s 839K/s 837K/s 838K/s 838K/s 838K/s 838K/s 838K/s ^C bash-4.1# mount /dev/sdc1 /mnt/sdc1 mount: you must specify the filesystem type bash-4.1# mount -t vfat /dev/sdc1 /mnt/sdc1 mount: wrong fs type, bad option, bad superblock on /dev/sdc1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so
bash-4.1#
---> FAT=HOSED!
For some reason, when I run a scatter plot, I get a very long straight line...I'm trying to sort that out to get a better read, to verify the 4MB eraseblock...
Cheers!