1 1
tkaiser

Testers wanted: SD card performance

Recommended Posts

Here is a used Toshiba EXCERIA 16GB

I have run izone on cubietruck with an other image (not Armbian) already on the card

Photo

 

 

post-173-0-96721300-1462278835_thumb.jpg

 

 

 

 

                                                            random  random
              KB  reclen   write rewrite    read    reread    read   write
          102400       4     544     547     9676     9703    9685     311
          102400      16    2289    2352    15279    14941   14258    1042
          102400     512   14421   16325    19463    19520   19397    3202
          102400    1024   15810   16174    20025    20146   20139    5646
          102400   16384   16780   16852    20853    20929   20833   14742 

mmc0:1300 info:
                 cid: 02544d534431364789dfe2654900cb21 
                 csd: 400e00325b59000075bf7f800a400093 
                 scr: 02b5800332020702 
                date: 11/2012 
                name: SD16G 
                type: SD 
preferred_erase_size: 4194304 
               fwrev: 0x9 
               hwrev: 0x8 
               oemid: 0x544d 
              manfid: 0x000002 
              serial: 0xdfe26549 
              uevent: DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=SD16G MODALIAS=mmc:block 
          erase_size: 512

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
performance
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
960000

 

 

Share this post


Link to post
Share on other sites

Here is a used Toshiba EXCERIA 16GB

 

Thx. But it would help if you could tell the exact product description (also for the Transcend tested before), maybe an picture of those two cards?

 

IMO they're both too slow (especially writes and especially with small record sizes) but since they're both rather old the results are hard to classify or to use for buying decisions.

Share this post


Link to post
Share on other sites

Thx. But it would help if you could tell the exact product description (also for the Transcend tested before), maybe an picture of those two cards?

 

IMO they're both too slow (especially writes and especially with small record sizes) but since they're both rather old the results are hard to classify or to use for buying decisions.

Hi, both posts updated with a photo. I bought both cards during 2015 and I now realized that they were manufactured during 2012 and 2013.

When it comes to desktop use (i.e. "not headless"), Toshiba exceria is much more responsive and also much faster with software updates.

If you think that these posts are "useless" even for future reference, let me know and I can delete them.

Share this post


Link to post
Share on other sites

i just installed Armbian Jessie Desktop Vanilla (Kernel 4.5.2-sunxi) on a cubietruck

i moved rootfs to ssd.

I use SanDisk Extrem Pro U3 64 GByte. It loads the image on USB3.0 with 75 Mbyte/sec. So it should be a speedy one ;-)

 

here are the result

/var/log/armhwinfo.log has been uploaded to http://sprunge.us/HQKV
 

                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
          102400       4    10685    13846    38298    39802    22382    13571                                                          
          102400      16    20769    24279    70019    71756    58212    24283                                                          
          102400     512    34010    34755   150473   150265   146174    35034                                                          
          102400    1024    34605    35535   154435   155517   152905    35198                                                          
          102400   16384    36256    36648   176087   176085   176053    36368 

and from "cat /var/log/armhwinfo.log | more"

Fri Apr 29 03:16:19 CEST 2016 sun7i armv7l  Cubietech Cubietruck Cubietruck
Linux version 4.5.2-sunxi (root@trusty) (gcc version 4.8.4 (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.1) ) #11 SMP Thu Apr 28 21:53:25$
### mmc0:aaaa info:

                 cid: 0353445350363447802a34340700fa37 
                 csd: 400e00325b590001dbd37f800a4040df 
                 scr: 0245840300000000 
                date: 10/2015 
                name: SP64G 
                type: SD 
preferred_erase_size: 16777216 
               fwrev: 0x0 
               hwrev: 0x8 
               oemid: 0x5344 
              manfid: 0x000003 
              serial: 0x2a343407 
              uevent: DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=SP64G MODALIAS=mmc:block 
          erase_size: 512 

Share this post


Link to post
Share on other sites

Sorry. didnt understand the test command. But it seems to create a file maybe in rootfs ( :o on ssd). 

 

Well, iozone uses the current working directory to test with. So in case you created an ext4 partition on your SD card that is writeable simply do a chdir before and then start the iozone call again. Regarding your Samsung SSD 840 EVO. You should be able to exceed 40MB/s sequential write speeds and get close to 200MB/s. Which cpufreq governor are you currently using (cpufreq-info should tell)?

Share this post


Link to post
Share on other sites

my turn with eMMC 32GB from hardkernel (without the SD reader) Odroid XU4 kernel 3.10.96

 

 

 

              kB  reclen    write  rewrite    read    reread    read     write     
          102400       4     3282     3319     5651     4854     6378     5532
          102400      16    10676    12738    12603    12667    10758     8813
          102400     512    28941    29109    23747    24573    29744    24074
          102400    1024    41504    42335    38576    45464    40423    40857
          102400   16384    62566    66868   135014   126652   130134    63020

                                                              random    random     
              kB  reclen    write  rewrite    read    reread    read     write     
          102400       4     3368     5216     4299     3727     3935     3286
          102400      16     9371    11520    12234     9341     8828     8506
          102400     512    33701    27352    24157    32883    30253    24118
          102400    1024    42484    42781    42935    40733    43126    41871
          102400   16384    63433    64096   144852   136006   128915    65239


 

 

 

MMC info:

 

 

mmc0:0001 info:

                 cid: 4501005344573332470192b7309892d5
                 csd: d00f00320f5903ffffffffef8a40401f
                 prv: 0x1
                date: 09/1999
                name: SDW32G
                type: MMC
         rel_sectors: 0x1
preferred_erase_size: 524288
               fwrev: 0x0
               hwrev: 0x0
               oemid: 0x0100
enhanced_area_offset: 18446744073709551594
  raw_rpmb_size_mult: 0x0
              manfid: 0x000045
              serial: 0x92b73098
              uevent: DRIVER=mmcblk MMC_TYPE=MMC MMC_NAME=SDW32G MODALIAS=mmc:block
          erase_size: 524288
  enhanced_area_size: 4294967274

 

 

Share this post


Link to post
Share on other sites

Hi,

My results: http://sprunge.us/KLWN

Using the image provided for this test, no modifications

Hardware: Banana pi M1

Card Samsung EVO+ 32 gb U1

 

Quick comment: could it be possible to make a script (e.g. testsd) with the command? I think I did it the right way but there is a risk of inputting the wrong parameters

 

Hope it helps!

post-993-0-20758300-1463217930_thumb.jpg

Share this post


Link to post
Share on other sites

could it be possible to make a script (e.g. testsd) with the command? I think I did it the right way but there is a risk of inputting the wrong parameters

 

Thx for the suggestion. Next time I'm rolling out such a test image I will keep that in mind. Currently you could use 'armbianmonitor -c $HOME' to do this performance test (given $HOME is located on the SD card). But since the -c switch (check) has been designed to test also the reliability of the card this check can take a long time since all available free space will be tested (by f3write/f3read).

 

BTW: Next time we should also consider 32K test size since the many test runs showed some abnormal random write results with 16K (many many cards really suck here) and 32K is now Firefox/Midori default Sqlite page size ('browsing the web' with Firefox/Midori means constant random 32K writes and in case an SD card is used that's slow here browser processes are constantly stuck in IO)

 

BTW: Is it just me but I'm missing your actual test results?

Share this post


Link to post
Share on other sites

... eMMC BMPi3 with sinovoip's "dietpi" Image (dietpi-preview-bpi-m3-sd-emmc.image 2016-5-14 )

 

root@BPiM3:~# uname -a
Linux BPiM3 3.4.39-BPI-M3-Kernel #1 SMP PREEMPT Tue May 3 13:47:01 UTC 2016 armv7l GNU/Linux

       Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
        Output is in kBytes/sec
        Time Resolution = 0.000001 seconds.
        Processor cache size set to 1024 kBytes.
        Processor cache line size set to 32 bytes.
        File stride size set to 17 * record size.
                                                              random    random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
          102400       4     3224     4963     9150     9159     8220     3634
          102400      16     7474     6181    21394    21420    20109     4830
          102400     512     6893     7747    55980    41569    39409     7147
          102400    1024     7160     7378    41020    46033    46022     7989
          102400   16384     8332     7606    61326    61396    60390     7694

...& Flash Information:

mmc1:0001 info:

                 cid: 15010038575044335200e79f654a13ad
                 csd: d02701320f5903fff6dbffef8e40400d
                 rev: 7
                date: 01/2000
                name: 8WPD3R
                type: MMC
preferred_erase_size: 524288
          cache_ctrl: 0
          cache_size: 65536
               fwrev: 0x0
               hwrev: 0x0
               oemid: 0x0100
enhanced_area_offset: 18446744073709551594
              manfid: 0x000015
              serial: 0xe79f654a
              uevent: DRIVER=mmcblk MMC_TYPE=MMC MMC_NAME=8WPD3R MODALIAS=mmc:block
          erase_size: 524288
  enhanced_area_size: 4294967274

root@BPiM3:~# cat /proc/sys/vm/mmap_min_addr
4096

Great from Austria

 

@tkaiser

have you the image (Semi_Armbian_5.07_M3) like minimal?  Without X? Thx. (ich putze nich gerne :P  ) Thx in advance   :beer: 

Share this post


Link to post
Share on other sites

@tkaiser

have you the image (Semi_Armbian_5.07_M3) like minimal?  Without X? Thx. (ich putze nich gerne :P  ) Thx in advance   :beer:

 

Nope, but as outlined in moronic BPi forum you can combine any rootfs with SinoVoip's OS images (that's what they do all day long) so you can take any sun8i Armbian image and simply copy over the rootfs. Of course I would do it differently as outlined in H3 FAQ.

 

Regarding your test results: It seems there's something wrong. Either with the image you used (settings matter and that's the reason I provided a dedicated Armbian test image at the top of this thread) or with the eMMC they use now. At least when I tested half a year ago sequential write speeds were 3 times higher so I think your results are somewhat questionable or would at least need further investigation.

Share this post


Link to post
Share on other sites

8G eMMC @Opi PC+

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     6262     6629    16402    16395    13807     6452
          102400      16    21461    22644    38815    38879    34878    21536
          102400     512    36555    36811    65848    65820    65757    35055
          102400    1024    37144    37141    70197    70151    70182    36506
          102400   16384    39586    39656    78985    78983    78905    39622

          102400       4     6305     6683    16485    16511    13938     6567
          102400      16    21586    22801    38892    39009    35094    21554
          102400     512    36563    36442    65146    65170    65086    35190
          102400    1024    36874    37237    70174    70158    70121    36484
          102400   16384    39602    39563    78982    78970    78993    39567

Share this post


Link to post
Share on other sites

Banana Pi M2+ running 3.4.112 @ 1200 MHz, 8GB eMMC:

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     5462     5780    13914    13919    11757     5667
          102400      16    18099    18741    35521    35393    31657    17903
          102400      32    20665    21437    45119    45499    42081    19926
          102400     512    25062    24884    63142    63277    63115    24127
          102400    1024    25252    25218    68877    68462    68330    24927
          102400   16384    26360    26356    77756    77808    77737    26345

Orange Pi Plus 2E running 3.4.112  @ 1296 MHz, 16GB eMMC:

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     6383     6803    16713    16728    14099     6749
          102400      16    22678    24012    39160    39164    35149    23221
          102400      32    29243    30099    48981    49041    45747    28385
          102400     512    38058    38255    63783    63322    63741    36899
          102400    1024    38556    38800    69013    69222    69085    38052
          102400   16384    41116    41587    78354    78300    78353    41108

Orange Pi Plus 2E running 4.6-rc1 @ 816 MHz only (no throttling yet available therefore 'play safe'), the same 16GB eMMC:

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     6501     6937    16680    16678    14042     6057
          102400      16    23547    24898    41205    41240    36901    23992
          102400      32    30655    31229    53485    53582    49688    29383
          102400     512    40405    40571    74903    74963    74322    27747
          102400    1024    40875    40914    75691    75750    75750    39958
          102400   16384    40900    41017    75927    76017    76009    40880

In other words: Xunlong uses faster eMMC than 'Team BPi' and mainline kernel results look promising. It seems in our 'latest' 4.6-rc1 kernel for H3 boards we already benefit from wens' eMMC HS-DDR support. The device tree nodes for eMMC on BPi M2+ and for the eMMC equipped Oranges all look already like this:

                        mmc2_8bit {
                                allwinner,pins = "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16";
                                allwinner,function = "mmc2";
                                allwinner,drive = <0x3>;
                                allwinner,pull = <0x1>;
                                linux,phandle = <0x1b>;
                                phandle = <0x1b>;
                        };

Share this post


Link to post
Share on other sites

[Pine64] A simple SanDisk 8GB Class 10 SDHC UHS-I Class 1

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     2010     1993     8440     8422     8422      876
          102400      16     7657     7513    16585    16622    16622       47
          102400     512    11608    12550    23140    23142    23108     1567
          102400    1024    12146    12519    23163    23164    23166     3001
          102400   16384    12079    13288    23195    23197    23194    12536

details

 

 

ubuntu@pine64:~$ cat /proc/version
Linux version 3.10.101-0-pine64-longsleep (longsleep@mose2) (gcc version 5.3.1 20160413 (Ubuntu/Linaro 5.3.1-14ubuntu2) ) #39 SMP PREEMPT Sat May 7 12:39:25 CEST 2016

ubuntu@pine64:~$ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
        Iozone: Performance Test of File I/O
                Version $Revision: 3.429 $
                Compiled for 64 bit mode.
                Build: linux

        Run began: Thu Jun  2 15:40:09 2016

        Include fsync in write timing
        O_DIRECT feature enabled
        Auto Mode
        File size set to 102400 kB
        Record Size 4 kB
        Record Size 16 kB
        Record Size 512 kB
        Record Size 1024 kB
        Record Size 16384 kB
        Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
        Output is in kBytes/sec
        Time Resolution = 0.000001 seconds.
        Processor cache size set to 1024 kBytes.
        Processor cache line size set to 32 bytes.
        File stride size set to 17 * record size.
                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     2010     1993     8440     8422     8422      876
          102400      16     7657     7513    16585    16622    16622       47
          102400     512    11608    12550    23140    23142    23108     1567
          102400    1024    12146    12519    23163    23164    23166     3001
          102400   16384    12079    13288    23195    23197    23194    12536

mmc0:aaaa info:

                 cid: 035344534c30384780007069ae00f38b
                 csd: 400e00325b5900003b377f800a4040af
                 scr: 0235800100000000
                date: 03/2015
                name: SL08G
                type: SD
preferred_erase_size: 4194304
               fwrev: 0x0
               hwrev: 0x8
               oemid: 0x5344
              manfid: 0x000003
              serial: 0x007069ae
              uevent: DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=SL08G MODALIAS=mmc:block
          erase_size: 512


ubuntu@pine64:~$ cat /proc/sys/vm/mmap_min_addr
32768

 

 

Share this post


Link to post
Share on other sites

Samsung 128GB EVO+ @Bananapi M2+ running 3.4.112

Low performance with small files.  :( http://sprunge.us/JhiI

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     1678     1711     3884     3861     3724      993
          102400      16     2418     2826    10531    10520     9911     2087
          102400     512    14170    16880    21360    21334    21319    11710
          102400    1024    16402    16584    21780    21777    21765    12249
          102400   16384    14908    17148    22618    22588    22584    14759

   
          102400       4     1613     1148     3890     3883     3809      940
          102400      16     4896     5697    10539    10539     9936     2818
          102400     512    16313    16380    21335    21332    21332    12171
          102400    1024    14629    16577    21886    21856    21845    12429
          102400   16384    14910    17201    22587    22617    22604    14910
                 cid: 1b534d303030303010db1b022600fb73 
                 csd: 400e00325b590003bdfd7f800a4000e5 
                 scr: 0245800300000000 
                date: 11/2015 
                name: 00000 
                type: SD 
preferred_erase_size: 4194304 
               fwrev: 0x0 
               hwrev: 0x1 
               oemid: 0x534d 
              manfid: 0x00001b 
              serial: 0xdb1b0226 
              uevent: DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=00000 MODALIAS=mmc:block 
          erase_size: 512 

Share this post


Link to post
Share on other sites

Interesting results from Beelink X2's internal eMMC. When I first tested I got results that look weird:

 

 

          102400       4     3588     3677    12861    12895     9533     3093
          102400      16    13640    14180    28482    28303    24024    12902
          102400      32    13840    14349    33000    33416    29975    13359
          102400     512    23711    23808    41859    42150    41990    12637
          102400    1024     4916     4741    43797    43857    43607     4610
          102400   16384     4690     4685    47475    47153    47530     4614 

          102400       4     1934     2046    11033    10872     8618     1487
          102400      16     3948     4068    26413    26461    22609     3653
          102400      32     4296     4303    32090    32273    29155     4126
          102400     512     4474     4781    41881    42118    41499     4367
          102400    1024     4589     4767    43946    43557    43234     4522
          102400   16384     4808     4875    47120    46745    46966     4897 

 

 

 

First assumption: Overheating (Beelink X2 uses a heat pad on H3 and a large metal plate above so when the SoC shows 60°C most likely everything inside the enclosure is at 55°C). But a few tests confirmed: Nope, not temperature related but write performance drops drastically after continually writing large amounts of data (as our benchmarking does). So I tested with some time in between different runs and get somewhat decent performance numbers:

for i in 4k 16k 32k 512k 1024k 16384k; do
	iozone -e -I -a -s 100M -r $i -i 0 -i 1 -i 2 ; sleep 300
done
                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     3478     3734    13374    13292     9872     3259
          102400      16     9991    10273    28856    28916    24218     9331
          102400      32    13963    18092    35374    35153    31823    13414
          102400     512    24717    24557    43647    43830    43396    23682
          102400    1024    25057    24814    45497    45714    45499    24591
          102400   16384    25597    25752    48003    48602    48390    26050

What does that mean for us: Beelink X2 as a data logger might be not the best idea but for normal use cases eMMC performance is ok. Would be great if other X2 owners would drop in their results. Both using the delayed approach as shown above as well as the usual:

echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
iozone -e -I -a -s 100M -r 4k -r 16k -r 32k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

Share this post


Link to post
Share on other sites

End of last year I received several faked Samsung EVO 32G, therefore I bought a Samsung Pro 32G:

 

Tested on CubieTruck, Armbian 5.11, ext4, card is used for 7 month, system is doing some minor background work.

 

 

 

102400     4  1245  1925  7398  7407  7320  1655
102400    16  6232  6143 12403 12391 12315  4677
102400   512 15026 12275 17099 17070 16810 14260
102400  1024 16861 16953 17918 17926 17970 13262
102400 16384 17971 17898 19069 19093 19062 16421

102400     4  2237  2030  7413  7394  7350  1474
102400    16  6038  6645 12376 12366 12336  5146
102400   512 16292 16375 17088 17155 17070 16422
102400  1024 16529 16593 18019 17931 17931 16562
102400 16384 17500 17531 19053 19058 19059 17517

102400     4  2336  2033  7388  7404  7352  1494
102400    16  6026  6637 12408 12357 12344  5153
102400   512 16266 16369 17094 17071 17141 16410
102400  1024 16566 16647 17929 17970 17925 16656
102400 16384 17542 17564 19060 19052 19055 17610

 


 

 

mmc0:0001 info:

                 cid: 1b534d303030303010138202fc00e63f
                 csd: 400e00325b590000ee7c7f800a4040c9
                 scr: 02b5800200000000
                date: 06/2014
                name: 00000
                type: SD
preferred_erase_size: 4194304
               fwrev: 0x0
               hwrev: 0x1
               oemid: 0x534d
              manfid: 0x00001b
              serial: 0x138202fc
              uevent: DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=00000 MODALIAS=mmc:block
          erase_size: 512

 

 

Share this post


Link to post
Share on other sites

End of last year I received several faked Samsung EVO 32G, therefore I bought a Samsung Pro 32G

 

Well, the results aren't impressive (way slower than EVO/EVO+ and Pro we already tested) and it's somewhat useless to measure when information about the amount of background activity is not available as well as cpufreq settings. That's why I provided an own test image in the first place... to be able to compare different hardware afterwards since every test happened with identical settings.

 

New results: neither SD card nor NAND/eMMC but an USB stick: "Samsung Memory Fit USB Flash Drive Speicherstick 128GB" bought for approx 45 bucks for a customer to double the storage capacity of his MacBook:

 

Samsung_128GB.jpg

 

Performance connected to the MacBook using USB 3.0 is quite ok, connected to an Orange Pi PC Plus (USB 2.0, performance cpufreq governor, ext4 without further tuning) it's not that great:

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     6719     4639     7289     7327     3325      673
          102400      16     8865    10110    17630    13126     9332     1738
          102400     512    15794     5296    30224    29691    20380     7460
          102400    1024    17655    21927    23763    30117    29757    10017
          102400   16384    29651    18520    31263    24585    31983    13342

Device info according to lsusb:

 

 

Bus 004 Device 002: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive

Bus 004 Device 002: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x090c Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.)
  idProduct          0x1000 Flash Drive
  bcdDevice           11.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              300mA
    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 

 

 

 

But since the device is really small and other USB sticks I tested recently (Kingston, Verbatim and SONY) were magnitudes slower I decided to post results here in case anyone is searching for a low power solution requiring minimum space to add 128GB to his SBC.

Share this post


Link to post
Share on other sites

I just got this:

 

 

 

s-l500.jpg

 

 

 

It's advertise as UCH-I U3, r - up to 90Mb/s, w - up to 40Mb/s. The result are a bit diferent:

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     2644     2714     8684     8683     8641     2420
          102400      16     7870     8483    16670    16686    16645     6124
          102400     512    19282    21706    22715    22722    22716    20974
          102400    1024    22048    22177    22886    22887    22884    21872
          102400   16384    22199    22247    22956    22957    22957    22235

### mmc0:aaaa info:

                 cid: 03534453453136478083d92bff0107b5 
                 csd: 400e00325b59000076b27f800a404013 
                 scr: 0235840300000000 
                date: 07/2016 
                name: SE16G 
                type: SD 
preferred_erase_size: 4194304 
               fwrev: 0x0 
               hwrev: 0x8 
               oemid: 0x5344 
              manfid: 0x000003 
              serial: 0x83d92bff 
              uevent: DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=SE16G MODALIAS=mmc:block 
          erase_size: 512

http://sprunge.us/VFiN

 

This barely cover UCH-I U2 specifications, for U3 there must be at least 30Mb/s write. Can you tell me if this is some board limitation, or this sd card is not real U3?

Share this post


Link to post
Share on other sites

Can you tell me if this is some board limitation, or this sd card is not real U3?

 

Board limitation. A20's SDIO implementation with mainline kernel will not exceed 23 MB/s (unfortunately true for all Allwinner based SBC currently known, maybe Olimex' upcoming A64 board will be the first exception). Random IO looks nice but compared to the best buys (currently Samsung EVO with either 32GB or 64 GB) your card is too expensive :)

 

Same with Samsung Pro or Pro+ -- specs look nice since high sequential transfer rates are guaranteed. But what a surprise, we're not using digital cameras with fast host controllers but SBCs and here

  • the host implementation limits sequential throughput anyway,
  • random IO is way more important and
  • the pretty cheap EVO (or EVO+) outperform all tested more expensive cards easily when it's about this

Share this post


Link to post
Share on other sites

 

Board limitation. A20's SDIO implementation with mainline kernel will not exceed 23 MB/s (unfortunately true for all Allwinner based SBC currently known, maybe Olimex' upcoming A64 board will be the first exception). Random IO looks nice but compared to the best buys (currently Samsung EVO with either 32GB or 64 GB) your card is too expensive :)

 

That's good to know, thank you. About the price, it's cheap - 10$ from ebay, that's why i have some doubts about the origin. Unfortunately it's appears i don't have necessary hardware to test it. My 2 card readers and my phone have something like >=20Mb/s r/w limit and this test above is the best result i see so far.

Share this post


Link to post
Share on other sites

About the price, it's cheap - 10$ from ebay, that's why i have some doubts about the origin.

 

Well, I bought 2 EVO 32 GB at a local store for 8€ each this week (faster card in most if not all SBCs with twice the capacity ;) )

 

But back to checking cards. You should use f3 to check the whole card. Since a while Armbian supports this sort of media checking (using both f3 and iozone):

cd /path/to/mountpoint
armbianmonitor -c

This does not work as root and it might take ages if you got a counterfeit card so better run it overnight. But it will check all available free space on the card and gives you a performance overview too.

Share this post


Link to post
Share on other sites

Sony SR-16MX2 UHS-I Class 3 16GB, 90/60MB/S r/w nominal speed.

 

Benchmarks:

 

 

                                                                                            random   random  

              kB       reclen     write    rewrite      read     reread      read       write
          102400           4     1617      1834      7908      7914      7679       1274
          102400         16     5968      7016    15055    15068    14863       3936
          102400       512   20763    21267    22682    22683    22666     17557
          102400     1024   21336    21289    22687    22686    22682     17208
          102400   16384   21514    21516    22907    22907    22901     21259
 
                                                                                             random  random
              kB       reclen      write    rewrite      read    reread       read      write
          102400           4      1690      1952      7912      7914      7696      1285
          102400         16      6294      7287    15080    15084    14878      4025
          102400       512    19074    21329    22663    22659    22646    17590
          102400     1024    21474    21415    22750    22749    22741    17348
          102400   16384    21544    21571    22940    22943    22936    21297
 
                                                                                             random  random
              kB       reclen      write   rewrite       read    reread       read      write     
          102400           4      1752      1880      7903      7903      7666      1286
          102400         16      6394      7299    15087    15083    14882      3735
          102400       512    19160    21389    22733    22730    22711    17642
          102400     1024    21488    21434    22778    22766    22772    17048
          102400   16384    21558    21564    22935    22945    22942    21283

 

 

 

Card info:

    KERNELS:"mmc0:59b4"
    SUBSYSTEMS:"mmc"
    DRIVERS:"mmcblk"
    cid:"9c534f5553443030025320000d01014b"
    csd:"400e00325b590000787d7f800a400005"
    date:"01/2016"
    erase_size:"512"
    fwrev:"0x2"
    hwrev:"0x0"
    manfid:"0x00009c"
    name:"USD00"
    oemid:"0x534f"
    preferred_erase_size:"4194304"
    scr:"0235800300000000"
    serial:"0x5320000d"
    type:"SD"

 

 Tested on NanoPi Neo w/o heatsink.

Share this post


Link to post
Share on other sites

SanDisk Extreme microSDHC UHS-I 16GB - February 2015, as it has been used quite a bit, I just ran it once

 

    Lesegeschwindigkeit: bis zu 90MB/s
    Schreibgeschwindigkeit: bis zu 40MB/s
    Videogeschwindigkeit: C10, U3

 

 

 

@lamobo-r1:~$ uname -a                                                                                                           
Linux lamobo-r1 4.9.6-sunxi #22 SMP Wed Feb 1 07:43:35 CET 2017 armv7l armv7l armv7l GNU/Linux  


@lamobo-r1:~$ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
        Iozone: Performance Test of File I/O
                Version $Revision: 3.429 $
                Compiled for 32 bit mode.
                Build: linux 

        Run began: Fri Feb 10 20:12:07 2017

        Include fsync in write timing
        O_DIRECT feature enabled
        Auto Mode
        File size set to 102400 kB
        Record Size 4 kB                                                                                                             
        Record Size 16 kB                                                                                                            
        Record Size 512 kB                                                                                                           
        Record Size 1024 kB                                                                                                          
        Record Size 16384 kB                                                                                                         
        Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2                            
        Output is in kBytes/sec                                                                                                      
        Time Resolution = 0.000001 seconds.                                                                                          
        Processor cache size set to 1024 kBytes.                                                                                     
        Processor cache line size set to 32 bytes.                                                                                   
        File stride size set to 17 * record size.                                                                                    
                                                              random    random     bkwd    record    stride   
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   
          102400       4     2503     2592     8379     8372     8177     2288                                
          102400      16     4631     4738    15818    15836    15733     4024                                
          102400     512    18624    19743    22276    22301    22295    16012                                
          102400    1024    20840    21011    22044    22500    22477    18762                                
          102400   16384    20238    20983    22645    22658    22657    21026                                

 

 

 

@lamobo-r1:~$ sudo armbianmonitor -u
uploaded to http://sprunge.us/SiGb

Share this post


Link to post
Share on other sites

This is my result:

 

Spoiler

 http://sprunge.us/YgJe
                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     1340     1648     5425     5423     5379      549
          102400      16     4861     4007    11461    11461    11418      992
          102400     512     9104     8312    17827    17781    17806     1380
          102400    1024     7285     7567    18370    18439    18413     2876
          102400   16384     7895     8395    19257    19292    19287     7401

 

Card info:

Spoiler

### mmc0:aaaa info:

                 cid: 03534453553136478020cb458600d865 
                 csd: 400e00325b59000076b27f800a404013 
                 scr: 0235800100000000 
                date: 08/2013 
                name: SU16G 
                type: SD 
preferred_erase_size: 4194304 
               fwrev: 0x0 
               hwrev: 0x8 
               oemid: 0x5344 
              manfid: 0x000003 
              serial: 0x20cb4586 
              uevent: DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=SU16G MODALIAS=mmc:block 
          erase_size: 512

 

armbianmonitor -u: http://sprunge.us/hUhE

 

Too slow Micro SD Card you think :(? I'm newbie and playing with Banana Pi for a year ago but I still have some problem with it :((

Share this post


Link to post
Share on other sites

a Toshiba Exceria 32GB on an OrangePi One - ARMBIAN 5.37.171221 nightly Debian GNU/Linux 8 (jessie) 3.4.113-sun8i

                                                              random    random 
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     1646     1719     7660     7658     6295      167                                                          
          102400      16     5743     5283    14291    14254    13093       37                                                          
          102400     512    11085    10968    22590    21994    20114     1146                                                          
          102400    1024    14581    14444    22596    22597    22549     2344                                                          
          102400   16384    15162    13057    22762    22763    22758    12308      

and the 2. run:

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     1883     1907     7834     7834     6543      184                                                          
          102400      16     7406     7107    13679    14571    13393       38                                                          
          102400     512    15185    15097    22614    22615    22518     1189                                                          
          102400    1024    14787    17266    22630    22632    22586     2372                                                          
          102400   16384    17930    15759    22750    22754    22753    10334

and the MMC-Info

mmc0:1234 info:

                 cid: 02544d5341333247252735f690011683 
                 csd: 400e00325b590000e74f7f800a4000d5 
                 scr: 0235840301000000 
                date: 06/2017 
                name: SA32G 
                type: SD 
preferred_erase_size: 4194304 
               fwrev: 0x5 
               hwrev: 0x2 
               oemid: 0x544d 
              manfid: 0x000002 
              serial: 0x2735f690 
              uevent: DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=SA32G MODALIAS=mmc:block 
          erase_size: 512 

P1030658.JPG

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
1 1