oDroid XU4: SSD vs. eMMC Vergleich (Boost!)
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.
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.
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)
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)
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?
Kommentare (4)
Klasse! Richtig spannend wird es mit Zb dem neuen H2, der einen m2 Slot besitzt. Damit bleibt der Platzbedarf klein und die Geschwindigkeit hoch. Auch kann man deutlich größere und günstigere Speicher kaufen als eMMC. Auch einige ARM Boards auf Basis des RK3399 sehen gut aus. Der XU4 ist ja schon nicht mehr ganz aktuell.
Ich bin auch schon sehr gespannt auf den oDroid-H2. War nämlich schon kurz davor mir einen Intel NUC als kleinen schicken Home Server aufzustellen.
Which of the two usb 3.0 ports is the best target? Top or bottom one?
Sorry, but I dont know the exact cabling.