10 10

SD card performance

Recommended Posts

I was also going to write about too high iozone numbers, but not as high as Bernie_O

I see up to 1.6M with larger blocks, evo,  evo plus,  evo+,  32 & 64GB

Interesting, numbers are about equal for 2 year old evo+ and new evo plus

The sandisk 64 GB A1 is also about equal,,,  BUT, but the 32 GB is shit (sandisk ultra  A1)

1/6 the speed? less?   I greatly regret buying 2 of them

I also tested with the iozone parameter -s 500M,   numbers were about the same

really should only see 500 -600K, so something is wrong

this is with a U1 or maybe U3 reader attached to usb3


Here 32 GB sandisk ultra A1 ,, ---slow, slow, slow

          102400       4    1811    1745     7607     7610    7054    1384                                                          
          102400      16    3327    4794    23309    23288   21946    4240                                                          
          102400     128   17653   14829    90395    90565   67828   10891                                                          
          102400     512   16577   15942    93699    93687   86111   13926                                                          
          102400    1024   18142   15978    94203    94270   90049   14355                                                          
          102400   16384   17585   15736    94533    94624   94274   20876   


and comparison  sandisk ultra A1  64GB  ,, notice the "too high" numbers

          102400       4  239202  281839   301375   296697   38806   38378                                                          
          102400      16  562704  667356   708478   734044  144208  142922                                                          
          102400     128  979088 1420801  1688792  1694830  790470  723220                                                          
          102400     512  953029 1377012  1514590  1580078 1209057 1128835                                                          
          102400    1024  975497 1362280  1555382  1569586 1377268 1218438                                                          
          102400   16384  918773 1259275  1379822  1381468 1333371 1214032


iozone -e -I -a -s 100M  -r 4k -r 16k -r 128k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2


above 64GB with Bernie's dd

 time sh -c "dd if=/dev/zero of=testfile bs=100k count=50k && sync"
51200+0 records in
51200+0 records out
5242880000 bytes (5.2 GB, 4.9 GiB) copied, 153.192 s, 34.2 MB/s

Share this post

Link to post
Share on other sites

tkaiser, DDR50 is not the "slowest SD mode". It's a mandatory UHS-I mode, capable of delivering up to 50 MB/s. So it's fast, but it uses the lower frequency (50 MHz) giving power saving. SDR104 runs at 208 MHz.



3.9 Ultra High Speed Phase I (UHS-I) Card UHS-I provides up to 104MB/sec performance on 4-bit SD bus with the single end driver interface. Card form factor is the same and existing connector can be used.


3.9.1 UHS-I Card Operation Modes
• DS - Default Speed up to 25MHz 3.3V signaling
• HS - High Speed up to 50MHz 3.3V signaling
• SDR12 - SDR up to 25MHz 1.8V signaling
• SDR25 - SDR up to 50MHz 1.8V signaling
• SDR50 - SDR up to 100MHz 1.8V signaling
• SDR104 - SDR up to 208MHz 1.8V signaling
• DDR50 - DDR up to 50MHz 1.8V signaling
Note: 1.8V signal timings are different from those of 3.3V


In the above quote, pre UHS-I are DS and HS 3.3V modes. DS is "the slowest". DDR50 is a thing in fact - fast and power saving at the same time. :) Unlike SD104 it should be supported by every UHS-I card.


This UHS-I "problem" is really bugging me. How messy it is on SBCs. I am happy to finally hear that Odoroid does support UHS-I modes. And Tinkerboard - I actually suspected that Asus could not just f&ck up such a good feature as UHS-I, which is already there in the SoC, and just waits for the proper implementation on the board side.

But what about RockPro64? Do you know of whether the board lets the SoC's SD controller to do UHS-I? Even Rock64's rk3328 should be able of doing so. Heck, even Allwinner's A20 (!), R40, A64, and I am sure H2/H3/H5 too all claim UHS-I support... But what boards have implemented it properly?

Share this post

Link to post
Share on other sites
On 2/22/2018 at 2:07 PM, tkaiser said:

Let's look how these things perform, this time on a new platform: RK3399 with an SD card interface that supports higher speed modes (requires kernel support and switching between 3.3V to 1.8V at the hardware layer). So results aren't comparable with the numbers we generated the last two years in this and other threads but that's not important any more... see at the bottom.

does anybody here know if this has been implemented for RockPro64? I asked at the irc, but nobody seems to know.

I suspect the answer is "no" (the same as with Rock64, that also should have a UHS-I capable SD host controller), but the certain answer would be better than guesses.

Share this post

Link to post
Share on other sites

Renegade has the wiring on board for UHS-I. SDR104 works great for me. rock64 doesn't support UHS-I from what I read. Not sure about rock64pro.

Share this post

Link to post
Share on other sites

Using performance gov on opi PC with Sandisk 16GB A1 on a usb card reader


        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     3546     3573     5092     5086     4412     2948
          102400      16     4588     8634    15272    15273    13885     7955
          102400     512    21594    30277    36395    36542    35605    27344
          102400    1024    28300    32080    36932    37035    36661    26242
          102400   16384    30036    32860    37809    37933    37894    28773

iozone test complete.

Purchased from aliexpress ($5) but the scratch & verify sticker says it's genuine


My samsung evo 64gb went read-only recently (20 months old) and then would not boot. I copied to another card and ran fsck and all seems OK. I think the later evos were not as well made as the earlier batches.



Share this post

Link to post
Share on other sites
10 10