Raspi: Alternativen zu microSD-Karten

Ein gängiges Problem bei der Verwendung von mSD-Karten im Raspberry Pi ist deren Verschleiß. Aber es gibt dafür kostengünstige Lösungen.

Bessere mSD-Karten

Die naheliegendste Lösung wäre die Verwendung von besseren mSD-Karten, wie der Silicon Power microSD-Karte, 32 GB, in 3D-NAND-Technik und mit der ECC-Fehlerkorrektur für nur 7 Euro. Diese soll deutlich länger halten als herkömmliche SD-Karten.

Die Silicon Power wird durch die Samsung Pro Endurance, 32 GB, getoppt, die angeblich 16 Jahre lang dauerhaft beschreibbar sei und mit 9 Euro trotzdem noch erschwinglich ist.

Für diese Alternative schlagen 7 bis 9 EUR ins Kontor, bzw. ein Aufpreis zu „normalen“ mSD-Karten von 2 bis 4 EUR. Überschaubar!

Völlig übertrieben für einen Raspberry ist die Kingston Industrial, die aber sicherlich in einer Überwachungskamera eine gute Figur macht, wenn man den Daten trauen möchte.

NAND

Bei NAND handelt es sich um einen nichtflüchtigen Flash-Speicher, der in der Lage ist, Daten auch dann zu speichern, wenn er nicht an eine Stromquelle angeschlossen ist. Die Fähigkeit, Daten zu speichern, wenn die Stromversorgung abgeschaltet ist, macht NAND für USB-Sticks, SSDs und SD-Karten interessant.

SLC, MLC, TLC und 3D NAND sind die gebräuchlichsten Typen von NAND-Flash-Speichern.

  • SLC-Speicherzellen speichern nur ein Bit pro Zelle und sind daher sehr schnell und langlebig, aber auch sehr teuer.
  • MLC-Speicherzellen können zwei Bits pro Zelle speichern, sind aber langsamer und weniger langlebig als SLC.
  • TLC-Speicherzellen können drei Bits pro Zelle speichern und sind daher am billigsten, aber auch am langsamsten und am wenigsten langlebig.
  • 3D-NAND verwendet mehrere übereinander gestapelte Speicherzellenschichten zur Erhöhung der Speicherkapazität und bietet höhere Kapazität, Geschwindigkeit und Lebensdauer als herkömmliche NAND-Speicher.

3D NAND ist die fortschrittlichste Speichertechnologie und bietet eine höhere Speicherkapazität und Geschwindigkeit bei guter Haltbarkeit als andere Speichertypen. 3D NAND wird aufgrund seiner Zuverlässigkeit und Geschwindigkeit hauptsächlich in Produkten wie Smartphones und Tablets sowie in SSDs verwendet.

pSLC-Speicherzellen wurden als Alternative zu SLC-Speicherzellen entwickelt. pSLC ist in der Regel billiger als SLC, aber teurer als MLC, TLC und 3D-NAND. Diese Speicherzellen bieten eine höhere Haltbarkeit als MLC und eine höhere Geschwindigkeit als TLC. pSLC wird häufig in industriellen Anwendungen und im Automobilbereich eingesetzt, wo hohe Zuverlässigkeit und Haltbarkeit erforderlich sind.

Merkmal SLC (Single-Level Cell) pSLC (Pseudo Single-Level Cell) MLC (Multi-Level Cell) TLC (Triple-Level Cell) 3D NAND
Speicherzellen pro Bit 1 1 2 3 bis zu 96
Haltbarkeit sehr hoch hoch mittel niedrig mittel bis hoch
Schreib-/Lesezyklen bis zu 100.000 bis zu 30.000 bis zu 10.000 bis zu 1.000 bis zu 10.000
Geschwindigkeit sehr schnell schnell mittel langsam mittel
Preis sehr teuer teuer teuer günstig günstig
Anwendungsbereich High-End-Systeme, Embedded-Systeme Industrielle Anwendungen, Automotive Desktops, Laptops, Server USB-Sticks, Speicherkarten Smartphones, Tablets, SSDs

Verschleiß

Eine Speicherzelle kann als Kondensator betrachtet werden, da sie eine elektrische Ladung speichert. Speicherzellen unterliegen hauptsächlich durch Schreibzyklen und nicht durch Lesevorgänge einem Verschleiß.

Ein Schreibzyklus ist der Vorgang, bei dem Daten in eine Speicherzelle geschrieben und (später) wieder aus ihr gelöscht werden.

Beim Schreiben von Daten wird elektrische Energie verwendet, um die Ladung in der Speicherzelle zu ändern und so die Daten zu speichern. Beim Löschen von Daten wird die elektrische Ladung in der Speicherzelle wieder entfernt.

Jeder Schreib- und Löschvorgang in der Speicherzelle verursacht einen kleinen Schaden, der sich mit der Zeit summiert.

Wenn eine Speicherzelle eine bestimmte Anzahl von Schreibzyklen erreicht hat, funktioniert sie möglicherweise nicht mehr oder arbeitet weniger zuverlässig. Datenverlust oder Datenkorruption sind die Folge.

Fehlerkorrekturen

Die meisten modernen Flash-Medien verfügen daher über interne Fehlerkorrekturfunktionen (meist ECC) und nutzen Wear-Leveling (gleichmäßige Verteilung der Schreibvorgänge auf alle Speicherzellen), um die Lebensdauer und die Integrität der gespeicherten Daten zu erhöhen.

TRIM sorgt dafür, dass der Controller des Speichermediums „weiß“, welche Speicherbereiche nicht mehr benötigt werden und Wear-Leveling verteilt die Schreiblast gleichmäßig auf alle Speicherzellen der SSD, um den Verschleiß zu minimieren.

Wear-Leveling ist eine Funktion im Controller eines Speichermediums und TRIM eine Funktion des Betriebssystems.

ECC (Error Correction Code) dient zur Erkennung und Korrektur von Fehlern in den auf Flash-Medien gespeicherten Daten. Es funktioniert, indem den gespeicherten Daten zusätzliche Paritätsbits, die im Prinzip die Quersumme der gespeicherten Bits darstellen, hinzugefügt werden, um Fehler zu erkennen und zu korrigieren.

ECC ist landläufig aus Server-RAM bekannt, wo es seit Jahrzehnten zur Fehlerkorrektur eingesetzt wird.

Haltbarkeit? TBW?

Die Haltbarkeit eines Speichermediums wird in TBW angegeben. TBW steht für „Total Bytes Written“ und bezieht sich auf die Gesamtmenge der Daten, die auf ein Solid State Drive (SSD) oder eine Speicherkarte geschrieben werden können, bevor sie das Ende ihrer Lebensdauer erreichen.

Die TBW-Angabe ist ein Indikator für die Belastbarkeit, Haltbarkeit oder Lebensdauer eines Speichermediums und wird aktuell Terabyte (TB) angegeben. Die Angabe dient ausschließlich zum Vergleich von Speichermedien gleicher Größe. Ein doppelt so großes Speichermedium muss bei gleicher Zuverlässigkeit folgich eine doppelt so große Angabe zur TBW haben.

Je höher die TBW-Angabe bei Medien gleicher Größe ist, desto länger ist deren Lebensdauer.

Faustformel

Persönlich kann ich die TBW-Angaben nicht nachvollziehen. 🙁

TLC-NAND kann bis zu 1.000 Schreibzyklen pro Speicherzelle durchführen, während MLC-NAND bis zu 10.000 Schreibzyklen schafft.

PSLC (Pseudo-Single-Level Cell)-NAND, wie sie von Kingston verwendet wird, soll bis 30.000 Schreibzyklen pro Speicherzelle durchführen können, also das 30-fache der anderen Technologien. Die TBW-Angabe von Kingston ist daher eher konservativ gewählt.

3D-NAND soll bis zu 10.000 Schreibvorgänge ermöglichen. Die Kapazität in GB sollte also bei SSDs oder SD-Karten mit 3D-NAND mit 1 multipliziert werden, um die möglichen TBW abzuschätzen.

Eine Crucial BX500 120 GB hat eine offizielle TBW von 40 TB. Nach der Faustformel sollten es aber 120 TBW sein, korrekt?

Auf unsere 32 GB-mSD-Karten umgerechnet, also durch vier geteilt, sollte die Cruical einen TBW-Vergleichswert von 40 bis 90 haben. Die offizielle Angabe ist aber nur ein TBW-Vergleichswert von 10 TB Daten, die pro 32 GB geschrieben werden können.

Die Haltbarkeit in TBW dieser Tabelle bezieht sich auf eine Speicherkapazität von 32 GB.

Eigenschaften Silicon Power Superior Pro Samsung Pro Endurance SanDisk Max Endurance WD Purple QD101 Kingston Industrial
Kapazität (GB) 32, 64, 128 32, 64, 128 32, 64, 128 32, 64, 128, 256, 512 8, 16, 32, 64
Lesen (MB/s)
Schreiben (MB/s)
Haltbarkeit (TBW) >= 20 ³ (206)¹ (176)¹
Garantie (Jahre) 5 2 2 3 3
Preis (ca.) 7 Euro 9 Euro 12 Euro 12 EUR 35 Euro

¹ unter der Annahme, dass hiermit ein FullHD-Video (1080p/60fps) mit ca. 26 Mbps / 3,25 MB/sec / 196 MB/min / 11,76 GB/h) gemeint ist.
² bis zu 1920 TBW, mutmaßlich für die 64 GB Version, keine spezifischen Daten gefunden.
³ da die Karte besser als die Silicon Endurance V30 sein soll, und diese 20 TBW haben soll, nahm ich sie auf.
Alle Angaben ohne Gewähr! Auswahl erfolgte rein subjektiv.

Einige Hersteller geben nicht die möglichen TBW an, sondern nur Stunden für eine mögliche Videoaufzeichnung. Samsung spezifiziert diese mit einer Datenrate von 26 Mbps, die ich auch auf die SanDisk übertragen habe.

Persönlich würde ich zu der Samsung Pro Endurance greifen. Auch wenn ich absolut kein Samsung-Fan bin, so scheint diese Karte der beste Kompromiss zu sein, auch wenn sie nichts wirklich gut kann.

Vergleich zu SSDs

Wie also eben besprochen, sollte alles um ca. 10 TB TBW bei einer günstigen 32 GB SATA-SSD (heruntergerechnet!) normal sein. Alle oben angeführten micro-SD-Karten sollten in der Theorie also haltbarer als eine SSD sein.

Mir fehlt alleine der Glauben daran. 🙂

Größere microSD-Karten

Je größer man das Speichermedium wählt, desto haltbarer ist es, weil seltener Daten überschrieben werden müssen, wenn noch genügend freie Blöcke zur Verfügung stehen.

Man könnte folglich schlicht eine übrig gebliebene microSD-Karte mit beispielsweise 128 GB verwenden. Das wäre eine bauernschlaue Lösung.

Es ist gut möglich, dass beispielsweise Samsung, die keine Angaben zur verwendeten Technologie machen, schlicht mehr Speicher auf die microSD-Karte packen, als eigentlich zur Verfügung steht, um bei einem drohenden Ausfall von Speicherzellen diese zu sperren und die Inhalte auf „frische“ Speicherbereiche kopieren.

Aber es gibt tatsächlich Alternativen zu microSD-Karten!

Von USB-Booten

Um mit einem Raspberry < als RPi 3b von USB zu booten, muss in der config.txt folgender Eintrag vorgenommen werden: „program_usb_boot_mode=1„. Diese Änderung kann man dann aber nicht mehr rückgängig machen, sodass der Pi nun immer von USB booten muss.

USB-Sticks

Zuverlässige USB-Sticks mit 3D-NAND-Speicher liegen preislich bei 32 EUR (128 GB). Hier sollten die schiere Größe und der zuverlässige NAND für eine sehr gute Datensicherheit sorgen. Für den Kurs könnte man sich aber locker eine microSD-Karte mit pSLC von Kingston können, welche die Zuverlässigkeit noch toppen sollte.

SATA-SSD

Die meisten von uns haben sicherlich noch eine kleine, alte SATA-SSD übrig, die man mit diesem günstigen Adapter als Ersatz für die SD-Karte verwenden kann. Eine kleine, billige SSD kostet auch nicht die Welt.

Hier würde ich persönlich von Intenso-SSDs abraten. Diese werden im Betrieb wärmer als alle anderen SSDs, die ich bisher in Benutzung hatte, sodass ich befürchte, dass deren Leistungsaufnahme mit dem Adapter die maximal möglichen 600 mA (3 Watt) eines Raspberry Pi überschreiten.

Aber auch hierfür gibt es eine preiswerte Lösung: ein USB-Stromversorgungs-Injektorkabel mittels dessen man ein weiteres Netzteil, oder eines mit zwei USB-Ausgängen anschließen kann.

Aber Achtung: der Raspberry Pi 4 benötigt ein Netzteil mit 3 Ampere – aber der ist für den Pi-Hole eh überdimensioniert.

Für den Pi3 müssen es aber auch bereits 2,5 Ampere sein. Am Netzteil sollte man nicht sparen. Das von mir verlinkte Gerät scheint aber von guter Qualität zu sein.

Wir bezahlen für so eine neue SSD mit Adapter rund 24 EUR.

m.2-SSD

Den geringsten Stromverbrauch für die gebotene Leistung haben m.2-SSDs. Ich habe die Leistungsaufnahme dieses USB-3.0-m.2-SSD/NVMe-Gehäuses mit dieser preiswerten m2-SATA (kein NVMe!) gemessen: 1,9 Watt (380 mA) unter Vollast.

Ja, das Gehäuse ist viel zu „gut“ für eine Raspberry und auch mit 23 EUR zu teuer. Für zehn Euro weniger erhält man dieses reine m.2-SSD-Gehäuse, welches aber nicht für NVMe-Laufwerke geeignet ist.

Neu legt man für diese Lösung mindestens 30 EUR auf den Tisch, erhält dafür aber unübertroffene Haltbarkeit bei geringem Energieverbrauch.

Alternative mSD-Karte: m.2 SSD

USB-2.0-HDD

Alternativ kann man auch eine billige externe USB-2.0 HDD verwenden. Dieser hier liegt bereits ein Y-Kabel zur externen Stromversorgung bei.

Speaking of Stromversorgung: Eine Notebookplatte kann ebenfalls bis zu 5 Watt unter Volllast verbrauchen, das entspricht einer Leistungsaufnahme von 1.000 mA, womit die USB-Ports eines Raspis überfordert sind und ein zweites Netzteil nötig wird.

Von der Geschwindigkeit her packt USB 2.0 maximal 60 MB/sec, was immer noch die Schreibrate der günstigen USB-3.0-Sticks und die von U10-mSD-Karten um das Vielfache übersteigt. Hier sollte man sich keine allzu großen Sorgen machen.

Diese Alternative ist nur etwas für Leute, die noch eine HDD in der Schublade liegen haben, denn mit einem passenden Netzteil kostet so eine neue HDD auch ca. 20 EUR.

Kein Raspberry!

Verwendet man eine TV-Box mit Linux, so kann man deren internen eMMC-Speicher benutzen, der zwar nicht so robust und schnell wie eine SSD ist, aber doch deutlich schneller und zuverlässiger als SD-Karten oder USB-Sticks.

Mittlerweile habe ich meine Meinung zu dedizierten Systemen etwas überdacht und überlege, ob ich nicht einen Mini-PC als Docker-Server einsetzen sollte. Preislich liegen wir hier zwischen 70 und 100 EUR, müssen uns aber um die Leistung, die Erweiterbarkeit und die Zuverlässigkeit keine Sorgen mehr machen. Dazu muss ich mich aber erst wieder in Docker einarbeiten, was mir nicht gerade trivial erscheint. Wenn ich dazu komme, gibt es eine Anleitung.

Erste Messungen mit meinem geklonten System mit GUI ergaben im Idle 16 Watt und unter CPU-Vollast 60 Watt. Beim Booten kamen in der Spitze bis zu 70 Watt zusammen.

Klingt viel, aber man darf auch nicht vergessen, dass ein Raspberry Pi 4 unter Last bereits 5 Watt verbraucht und mit Docker dauernd an seiner Leistungsgrenze betrieben wird.

Für den Einsatz als Server mit Docker ist der i3 6100t besser geeignet als der BCM2711, da er eine höhere Leistung bietet und zudem die Virtualisierungstechnologie unterstützt.

Obendrein besitzt mein HP ProDesk  400 G2 mini noch einen viermal so großen RAM (16 GB) und eine sehr schnelle NVMe-SSD mit 500 GB Speicherkapazität.

Der direkte Preis-Leistungsvergleich ist deutlich besser, da ein gebrauchter Mini-PC teilweise für weniger als die Hälfte des Preises eines Raspberry Pi 4 zu haben ist. Für das Geld kann man den Mehrverbrauch des PCs im Vergleich zum Raspberry einige Jahre finanzieren.

Aber wie erwähnt, werde ich darüber einen Artikel verfassen und die Messwerte im Vergleich mit einem Raspberry und einer TV-Box veröffentlichen.

Loading comments...