0
chwe

SD-Card test on OPi zero (rev 1.4)

Recommended Posts

Test setup:

After the micro-USB thread where I showed that USB cable and charger matters, it’s time to speak about SD-Cards. For this I buyed a cheap SD-Card from aliexpress claimed to be a 8GB class 10 SDHC.

Spoiler

SD-Card.thumb.jpeg.1a5f7e0b0f87c6337e6ae8a07f670448.jpeg

Since I have no other 8GB cards I’ll compare this card with a Samsung EVO+ 32GB card which I usually use with my SBCs. After arrival, I did (as recommended by the armbian getting started guide) a first H2testw to check if the card is in a good shape (test results in german).

Spoiler

Achtung: Nur 7659 von 7660 MByte getestet.

Der Datenträger ist wahrscheinlich defekt.

7,4 GByte OK (15685248 Sektoren)

192 KByte DATEN VERLOREN (384 Sektoren)

Details:

0 KByte überschrieben (0 Sektoren)

0 KByte leicht verfälscht (< 8 Bit/Sektor, 0 Sektoren)

192 KByte mit Datenmüll (384 Sektoren)

0 KByte mehrfach genutzt (0 Sektoren)

Erster Fehler bei Offset: 0x00000000354b1000

Soll: 0x00000000354b1000

Ist: 0x00131000157f1000

H2testw Version 1.3

Schreibrate: 10,8 MByte/s

Leserate: 17,2 MByte/s

H2testw v1.4

Seems that this card still starts with bad sectors on it (384 sectors, 192 KB). Since formate a SD-Card on windows is shitty, I downloaded the tuxera SD-Card formater from sdcard.org. Formate the card and do the H2testw again showed that we no have 12MByte more space. :P but the number of corupted sectors also increased (896 sectors, 448KB).

Spoiler

Achtung: Nur 7671 von 7672 MByte getestet.

Der Datenträger ist wahrscheinlich defekt.

7,4 GByte OK (15709312 Sektoren)

448 KByte DATEN VERLOREN (896 Sektoren)

Details:

0 KByte überschrieben (0 Sektoren)

0 KByte leicht verfälscht (< 8 Bit/Sektor, 0 Sektoren)

448 KByte mit Datenmüll (896 Sektoren)

0 KByte mehrfach genutzt (0 Sektoren)

Erster Fehler bei Offset: 0x0000000055864000

Soll: 0x0000000055864000

Ist: 0x3020000155865010

H2testw Version 1.3

Schreibrate: 11,3 MByte/s

Leserate: 17,0 MByte/s

H2testw v1.4

 

Burning Armbian:

So we could expect that this card wouldn’t be a good choice for a SBC but doesn’t matter, let’s reformate the card and burn armbian 5.24 (debian with legacy kernel) to it. After burning the image with Etcher, it reminds me kindly that this may be not a good idea.

etcher_warning_deb524.jpg.38fe531ae58216ea1895f2d247d4e596.jpg

Let’s forget about warnings, connect the board via lan to the router and via serial debug to PuTTY. The first boot needs about 50 seconds. Set up the new password and new user for daily use and reboot the system (~30 seconds + 15 seconds for log in).

Since everything runs smoothly, I decided to follow @tkaisers SD-Card benchmark test to see how this card performs (10M instead of 100M, forgott to remove the 16384k files ;) )

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

Spoiler

        Command line used: iozone -e -I -a -s 10M -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
           10240       4      674      720     2066     2140     2138      734
           10240      16     2321     2561     6335     6356     6354     2329
           10240     512     8436     9095    11466    11467    11465     6290
           10240    1024     6244     6548    11499    11499    11498     8271

Command line used: iozone -e -I -a -s 10M -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
           10240       4      794      744     2390     2127     2125      739
           10240      16     2794     2381     6321     6359     6355     2785
           10240     512     8338     6509    11442    11467    11467     6712
           10240    1024     6350     6194    11498    11480    11497     7489

        Command line used: iozone -e -I -a -s 10M -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
           10240       4      864      757     2628     2083     2118      736
           10240      16     2788     2485     6335     6344     6333     2813
           10240     512     5921     6661    11450    11461    11439     7706
           10240    1024     8799     8877    11496    11475    11497     8966

 

The results aren’t that stable and we should consider that there’s a different kernel used compared to tkaisers thread but we see clearly that this card is slow. The reason why I choosed a outdated armbian is simple. I wanna see much the impact of the sd-card is during apt-update/ apt-upgrade from 5.24 to 5.31. Apt-get update needs 43 seconds followed by apt-get upgrade which needs 14 minutes. After a second reboot (~34 seconds) the SD-Card was removed formatted and a third H2testw was done. Surprisingly h2testw found less corrupted sectors than before (608 sectors, 304KB)

Spoiler

Achtung: Nur 7671 von 7672 MByte getestet.

Der Datenträger ist wahrscheinlich defekt.

7,4 GByte OK (15709600 Sektoren)

304 KByte DATEN VERLOREN (608 Sektoren)

Details:

0 KByte überschrieben (0 Sektoren)

0 KByte leicht verfälscht (< 8 Bit/Sektor, 0 Sektoren)

304 KByte mit Datenmüll (608 Sektoren)

0 KByte mehrfach genutzt (0 Sektoren)

Erster Fehler bei Offset: 0x000000001c2c4008

Soll: 0x1c2c4001a697c011

Ist: 0x1c2c4080ae87c031

H2testw Version 1.3

Schreibrate: 10,8 MByte/s

Leserate: 16,9 MByte/s

H2testw v1.4

After all these tests with the cheap SD-Card, I formatted my Samsung EVO+ SDHC 32GB card and tested it with H2testw. As expected there were no bad sectors since my last test of this card. Also read and write speed are ~3MB/s faster as with the cheap SD-Card.

Spoiler

Achtung: Nur 30530 von 30531 MByte getestet.

Fertig, kein Fehler aufgetreten.

Sie können die Testdateien *.h2w jetzt löschen oder nach Belieben

nochmals überprüfen.

Schreibrate: 14,0 MByte/s

Leserate: 20,1 MByte/s

H2testw v1.4

Burning the same image of Armbian to this SD-Card showed no error and the first boot needs about 44 seconds. After setup of the daily user followed by a reboot (30 seconds, 2 seconds after login), ‘iozone -e -I -a -s 10M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2’ showed that the card is faster than the cheap SD-Card but not as fast as in tkaisers setup on the banana pi.

Spoiler

        Command line used: iozone -e -I -a -s 10M -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
           10240       4     1418     1414     5001     5000     4584     1117
           10240      16     5318     5514    12865    12897    12292     4436
           10240     512    19497    19568    22725    22616    22621    19588
           10240    1024    19270    20058    22840    22714    22678    19747

        Command line used: iozone -e -I -a -s 10M -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
           10240       4     1414     1407     4999     5000     4589     1101
           10240      16     3028     4689    12867    12899    12293     4357
           10240     512    16867    19865    22707    22728    22693    19518
           10240    1024    19848    19354    22715    22825    22802    20016

        Command line used: iozone -e -I -a -s 10M -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
           10240       4     1397     1392     5000     5000     4624     1123
           10240      16     5377     5277    12867    12899    12293     4509
           10240     512    14489    19690    22715    22721    22664    19661
           10240    1024    19608    19577    22782    22728    22797    19584

 

After finishing the SD-Card performance tests apt-get update was done in 40 seconds and apt-get upgrade to Armbian 5.31 was done in 11 minutes!

 

Conclusion:

Both, etcher and H2testw, did a good job. They indicated that the cheap SD-Card isn't recommended to install a OS on it. Iozone then showed also that the cheap SD-Card is a way slower than the Samsung EVO+, this was also proved by apt-upgrade, which took 3 minutes longer than on a Samsung EVO+ (~27% slower). Even if there were no instabilities during this short test, I would never use this SD-Card on an SBC cause it's only a matter of time until this setup runs into instabilities.

 

Outlook:

So, what's next? I'll combine the shitty charger with the shitty micro USB cable, mixed it with this SD-Card and serve it as the worst case armbian set up to you. This 'toxic cocktail' will then run 24/7 with some data generating stuff on it, sending some 'still alive' notes to a proper powered SBC, until it crashes (thinking about connecting a USB-Camera& motion to generate data).

 

 

Share this post


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