Flash-ICs an den PC anschließen

Um mit eingebetteten Geräten gefahrlos basteln zu können und auch, um „versteinerte“ Geräte (engl. bricked devices) „entsteinern“ zu können, ist es häufig wünschenswert, deren Festspeicher herausnehmen und den Inhalt an einem anderen Gerät, z.B. einem PC, lesen und schreiben zu können. Während es sich insbesondere bei Bastler-Boards, wie dem Raspberry Pi, etabliert hat, zu diesem Zweck eine SD- oder microSD-Karte als entfernbaren Hauptfestspeicher zu verwenden, kommt bei integrierteren Geräten, wie Smartphones oder Routern, weiterhin ein festgelöteter Flash-Chip, häufig ein NAND, zur Anwendung.

Was muss man tun, um einen solchen Flash-Chip am PC anschließen zu können?

  1. Grundsätzlich lassen sich NANDs mit handelsüblichen xD- oder SmartMedia-Lesegeräten direkt an den PC anschließen, da bei SmartMedia-Speicherkarten der Controller nicht in der Karte enthalten ist, sondern im Lesegerät.
  2. (mikro)SD-Karten unterscheiden sich von bloßen NANDs durch den zusätzlichen, integrierten Controller, der den NAND-IC in der SD-Karte per serieller Schnittstelle verfügbar macht und zugleich in transparenter Weise die NAND-Wartung übernimmt.
  3. Auch in handelsüblichen USB-Sticks sind NAND-Chips mitsamt Controllern verbaut. Auch hier darf man erwarten (und hoffen), dass transparent NAND-Wartung stattfindet.

Das Problem beim direkten Zugriff auf einen Flash-Chip besteht darin, dass die Daten auf dem Chip nicht 1:1 abgelegt werden. Flash-ICs benötigen technisch bedingt einer speziellen Handhabung auf Hardware-Ebene, insbesondere um das Auftreten defekter Sektoren durch Verteilung der Schreiblast zu minimieren (Wear Leveling), aber auch um mit bestehenden defekten Sektoren umgehen zu können. Dies wird durch ein ggf. noch „vor“ oder „unter“ das eigentliche Dateisystem geschaltetes low-level Dateisystem (Flash-Dateisystem) realisiert.

Über die Art und Weise, wie ein Flash-IC low-level-formatiert ist, ist a priori nichts bekannt. Daher sind die Varianten 2 und 3 tendenziell nicht empfehlenswert, es sei denn man verfügt über einen Mikrocontroller, der die verschiedenen, mitunter proprietären Flash-Dateisysteme sowohl erkennt als auch unterstützt. Auch für Variante 1 muss zumindest der SmartMedia-Standard am Lesegerät unterstützt werden, bei einem NAND aus einem eingebetteten System kann man aber nicht davon ausgehen, dass er low-level als SmartMedia formatiert ist.

Off-the-shelf-Lösungen erlauben das Auslesen eines bloßen Flash-Chips also eher nicht (bzw. nur im Ausnahmefall). Im Gegenteil besteht die Gefahr, dass durch das Anschließen eines beschriebenen NAND an einen inkompatiblen Controller die eingespeicherten Daten beschädigt werden.

Literatur:

549 mal insgesamt angesehen, 2 mal heute angesehen.
Dieser Beitrag wurde unter Informatik, Technik abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.