Sieh dir auch unbedingt Tweaks für den oDroid XU4 unter Ubuntu 18.04 an!

Seit ich meinen oDroid XU4 besitze, bin ich permanent an der Optimierung interessiert. So kam es, dass ich mir vor einigen Monaten ein eMMC Modul mit 16 GB dafür bestellt habe. Bis dato bin ich davon ausgegangen, dass dies das Nonplusultra für Schreib- und Lesezugriffe ist. Nun habe ich vor kurzem meinen alten PC ausgeschlachtet, da ich komplett auf mein McBook umgestiegen bin. Dabei bin ich auf meine Samsung 850 Evo gestoßen, die aktuell keinerlei Verwendung hat. Wieso also nicht mal die oDroid XU4 SSD Kombination testen? Lassen wir das Duell oDroid XU4 SSD vs. eMMC beginnen! Der pfiffige Leser wird das Ergebnis jetzt schon anhand des Titels erahnen 😉

Was habe ich verwendet?

Ich habe zwei verschiedene USB 3.0 Adapter bestellt, um den Effekt von UASP beim oDroid XU4 zu testen.

Samsung 850 Evo 500 GB SSD*

Inateck USB 3.0 zu SATA Externes Festplattengehäuse*

Sabrent USB 3.0 zu SATA Adapter (UASP fähig)*

* hierbei handelt es sich um Affiliatelinks. Das bedeutet, dass ich im Falle eines Kaufes Ihrerseits einen geringen Prozentsatz des Kaufpreises als Vermittlungsgebühr erhalte. Für Sie entstehen dabei keinerlei Mehrkosten.

Benchmarks

Das Betriebssystem ist Ubuntu 18.04 mit der Kernelversion 4.14.69-148. Alle gemessenen Filesysteme sind in EXT4 formatiert. Zum Beschreiben habe ich mit dd 100.000 mal Blöcke in der Größe von 8 KiB anlegen lassen. Als Input diente dabei /dev/zero . Zum testen der Lesegeschwindigkeit zog ich hdparm mit den verschiedenen Parametern -t (Direkte Lesegeschwindigkeit des Speichers) und -T (Cache Lesegeschwindigkeit) heran. Ich habe extra dafür eine microSD Karte mit einem oDroid Image versehen, um die jeweils getesteten Speicher keinerlei Systembelastung auszusetzen.

eMMC

Den 16GB eMMC Speicher kann man für knapp 30,00 € auf Amazon erwerben.

root@odroid ~ # dd if=/dev/zero of=/mnt/emmc/output bs=8k count=100k; rm -f /mnt/emmc/output 102400+0 records in 102400+0 records out 838860800 bytes (839 MB, 800 MiB) copied, 18.4303 s, 45.5 MB/s root@odroid ~ # hdparm -t /dev/mmcblk0p1 /dev/mmcblk0p1: Timing buffered disk reads: 128 MB in 0.82 seconds = 155.44 MB/sec root@odroid ~ # hdparm -T /dev/mmcblk0p1 /dev/mmcblk0p1: Timing cached reads: 1608 MB in 2.00 seconds = 804.54 MB/sec 1 2 3 4 5 6 7 8 9 10 root @ odroid ~ # dd if=/dev/zero of=/mnt/emmc/output bs=8k count=100k; rm -f /mnt/emmc/output 102400 + 0 records in 102400 + 0 records out 838860800 bytes ( 839 MB , 800 MiB ) copied , 18.4303 s , 45.5 MB / s root @ odroid ~ # hdparm -t /dev/mmcblk0p1 / dev / mmcblk0p1 : Timing buffered disk reads : 128 MB in 0.82 seconds = 155.44 MB / sec root @ odroid ~ # hdparm -T /dev/mmcblk0p1 / dev / mmcblk0p1 : Timing cached reads : 1608 MB in 2.00 seconds = 804.54 MB / sec

Der eMMC Speicher legt mit einer Schreibgeschwindigkeit von 45,5 MB/s, einer direkten Lesegeschwindigkeit von 155,44 MB/s und einer Lesegeschwindigkeit aus dem Cache von 804,54 MB/s vor. Das ist nicht schlecht! So habe ich bei meiner Samsung EVO Plus Micro SDHC 32GB* 24,9 MB/s beim Schreiben, 69,79 MB/s beim direkten Lesen und 753,75 MB/s beim Lesen aus dem Cache messen können. Selbstverständlich gibt es aber auch noch schnellere microSD Karten, wie man im Hardkernel Forum nachlesen kann. Nun gut, machen wir mit dem Duell oDroid XU4 SSD vs. eMMC Speicher weiter!

Samsung 850 Evo SSD (ohne UASP)

root@odroid:/mnt/samssd# dd if=/dev/zero of=/mnt/samssd/output bs=8k count=100k; sudo rm -f /mnt/samssd/output 102400+0 records in 102400+0 records out 838860800 bytes (839 MB, 800 MiB) copied, 6.71248 s, 125 MB/s root@odroid:/mnt/samssd# hdparm -t /dev/sdb1 /dev/sdb1: Timing buffered disk reads: 316 MB in 3.00 seconds = 106.09 MB/sec root@odroid:/mnt/samssd# hdparm -T /dev/sdb1 /dev/sdb1: Timing cached reads: 1780 MB in 2.00 seconds = 890.57 MB/sec 1 2 3 4 5 6 7 8 9 10 root @ odroid : / mnt / samssd # dd if=/dev/zero of=/mnt/samssd/output bs=8k count=100k; sudo rm -f /mnt/samssd/output 102400 + 0 records in 102400 + 0 records out 838860800 bytes ( 839 MB , 800 MiB ) copied , 6.71248 s , 125 MB / s root @ odroid : / mnt / samssd # hdparm -t /dev/sdb1 / dev / sdb1 : Timing buffered disk reads : 316 MB in 3.00 seconds = 106.09 MB / sec root @ odroid : / mnt / samssd # hdparm -T /dev/sdb1 / dev / sdb1 : Timing cached reads : 1780 MB in 2.00 seconds = 890.57 MB / sec

Wow! Die Schreibgeschwindigkeit wurde mehr als verdoppelt! Dafür hat sich die effektive Lesegeschwindigkeit fast um ein Drittel im Vergleich zum eMMC Speicher verringert. Da meine Priorisierung klar auf der Lesegeschwindigkeit liegt, war für mich im ersten Moment der Test beendet und ich war nach wie vor zufrieden mit dem Kauf meines eMMC Speichers. Doch ich stieß noch nie auf den Umstand, dass die Schreibgeschwindigkeit höher ist als die Lesegeschwindigkeit, was mich wiederum stutzig machte. Ich legte als Ursache einen schlechten USB-Controller von Inateck fest und entschied mich einen anderen nachzubestellen. Dabei stieß ich auf das neue Buzzword „UASP-fähig!“.

Samsung 850 Evo SSD (mit UASP)

root@odroid:/mnt/samssd# dd if=/dev/zero of=/mnt/samssd/output bs=8k count=100k; sudo rm -f /mnt/samssd/output 102400+0 records in 102400+0 records out 838860800 bytes (839 MB, 800 MiB) copied, 4.08811 s, 205 MB/s root@odroid:/mnt/samssd# hdparm -t /dev/sda1 /dev/sda1: Timing buffered disk reads: 1032 MB in 3.00 seconds = 343.56 MB/sec root@odroid:/mnt/samssd# hdparm -T /dev/sda1 /dev/sda1: Timing cached reads: 1776 MB in 2.00 seconds = 888.20 MB/sec 1 2 3 4 5 6 7 8 9 10 root @ odroid : / mnt / samssd # dd if=/dev/zero of=/mnt/samssd/output bs=8k count=100k; sudo rm -f /mnt/samssd/output 102400 + 0 records in 102400 + 0 records out 838860800 bytes ( 839 MB , 800 MiB ) copied , 4.08811 s , 205 MB / s root @ odroid : / mnt / samssd # hdparm -t /dev/sda1 / dev / sda1 : Timing buffered disk reads : 1032 MB in 3.00 seconds = 343.56 MB / sec root @ odroid : / mnt / samssd # hdparm -T /dev/sda1 / dev / sda1 : Timing cached reads : 1776 MB in 2.00 seconds = 888.20 MB / sec

Während ich diesen Artikel schreibe, ist das Inateck Gehäuse schon wieder auf dem Rückweg zu Amazon. Solch ein Plus an Leistung habe ich mir in meinen künsten Träumen nicht vorgestellt. Geschrieben wurden die 800 MiB mit 205 MB/s, direktes Lesen ergab 343,56 MB/s und Lesen aus dem Cache wurden 888,20 MB/s. Natürlich ist man damit immer noch weit entfernt von dem, was eine SSD eigentlich hergeben würde, aber USB 3.0 hat leider seine Grenzen und für USB 3.1 war ich noch zu geizig. UASF war für mich der richtige Kompromiss. Und damit befinde ich mich dann auch weit über der Leistung des eMMC Speichers.

Fazit – oDroid XU4 SSD vs. eMMC

Schlussendlich kann ich jedem nur vom Kauf eines eMMC Moduls abraten und empfehlen auf eine SSD umzuschwenken, wenn man bessere IO-Zeiten haben möchte. Die Zahlen sprechen für sich. Und das Preis-Leistungsverhältnis auch. Es ist auch möglich seine komplette Root-Partition auf eine SSD zu kopieren und nur den Bootloader auf einer microSD Karte bzw. einem eMMC Speicher zu lassen.

Typ Lese-Zeiten (Cache) Lese-Zeiten (Direct) Schreib-Zeiten eMMC 804,54 MB/s 155,44 MB/s 45,50 MB/s SSD (ohne UASP) 890,57 MB/s 106,09 MB/s 125,00 MB/s SSD (mit UASP) 888,20 MB/s 343,56 MB/s 205,00 MB/s

Damit ist das Duell oDroid XU4 SSD vs. eMMC abgeschlossen. Was haltet ihr davon? Habt ihr vor eine SSD zu nutzen oder nutzt ihr sogar bereits eine?

Ähnliche Beiträge: