Suchen

USB-Stick für Embedded-Systeme: Mehr als nur ein Datenträger

Autor / Redakteur: Damien Col * / Michael Eckstein

Ein intelligenter Speichercontroller kann das Potenzial des marktführenden Standards für Wechseldatenträger in Embedded-Anwendungen erschließen.

Firmen zum Thema

Flexibel: Speichercontroller für den industriellen Einsatz unterstützen das Integrieren spezifischer Funktionen beispielsweise für Embedded-Systeme.
Flexibel: Speichercontroller für den industriellen Einsatz unterstützen das Integrieren spezifischer Funktionen beispielsweise für Embedded-Systeme.
(Bild: Hyperstone)

Von außen betrachtet sind USB-Sticks oder SD-Speicherkarten einfach aufgebaut: Sie bestehen aus Steckerschnittstelle, Controller und Flash-Speicher. Doch es kommt auf die Details an. Während die Datenträger im Consumer-Markt primär dafür ausgelegt sind, Daten wie Fotos, Videos und Dokumente zu speichern und zu lesen, müssen sie für den Einsatz in Embedded-Systemen mehr können: Hier steht neben robuster Funktionalität besonders Zuverlässigkeit und Datensicherheit im Fokus. Schließlich sollen die Speicher auch bei anspruchsvollen Umgebungsbedingungen einwandfrei arbeiten und darauf abgelegte Daten vor Missbrauch schützen.

Herkömmliche USB- und SD-Controller führen Funktionen wie Wear-Leveling durch, um die Schreibzugriffe möglichst gleichmäßig auf die Speicherzellen zu verteilen und so die Lebensdauer des Flash-Speichers zu maximieren. Professionell eingesetzte Embedded-Systeme sind auf eine zuverlässige Speicherlösung angewiesen. Diese muss häufiges Übertragen von oft nur kleinen Datenblöcken unterstützen – etwa Sensor-Updates und Daten von häufigen Echtzeit-Messungen.

Das Profil der Schreibzugriffe auf das Dateisystem kann sich stark von dem unterscheiden, das beispielsweise beim Schreiben großer Dateien entsteht. Eine einzelne Variable für den Sensorstatus könnte im Normalbetrieb millionenfach geschrieben werden. Häufig sind die Speicherorte extrem fragmentiert, was zu stark unausgewogenen Zugriffen führt. Dies stellt hohe Anforderungen an die Zuverlässigkeit jeder Flash-Speicherzelle und kann zu Ausfällen führen, wenn die Zugriffe nicht effizient verwaltet werden. Denn dies führt zu einer starken Beanspruchung einzelner Zellen, während ein Großteil des restlichen Arrays vergleichsweise wenig genutzt wird.

Entwickler von eingebetteten Systemen müssen sicherstellen, dass Updates ordnungsgemäß abgeschlossen werden und dass der Inhalt des Speichers nicht veraltet ist. Dieser Fall kann eintreten, wenn zum Beispiel aufgrund eines Stromausfalls der Datentransfer beim Schreiben nicht abgeschlossen wurde. Hier kommt es auf einen für Embedded-Umgebungen optimierten Speichercontroller an.

Entwickler sollten in der Lage sein, benutzerdefinierte Algorithmen zu implementieren, um das Speichermedium exakt an die Anforderungen ihres Produkts anzupassen. Mit einer Vielzahl von Funktionen, auf die über eine Programmierschnittstelle (Application Programing Interface, API) zugegriffen werden kann, kann der Speichercontroller zur Schlüsselkomponente eines eingebetteten Systems werden oder als intelligenter Coprozessor fungieren, der den Speicher optimal ausnutzt.

Vollständiges Firmware-Update sicherstellen

Die Möglichkeit, Verschlüsselung und andere Sicherheitsfunktionen unabhängig von der Host-CPU in ein Speichermedium zu integrieren, kann die Manipulationssicherheit eines Systems erheblich verbessern und den möglichen Einsatzbereich des Wechselspeichers erweitern. Mit derartigen Sicherheitsfunktionen kann ein Systemmanager zum Beispiel sicherstellen, dass nur ein Betrieb in den vorgesehen Peripheriegeräten möglich ist. Mit Hilfe des API kann der Systementwickler benutzerdefinierte Funktionen realisieren. So lässt sich beispielsweise sicherstellen, dass das System nur dann Informationen auf das Speichermedium schreiben oder davon lesen kann, wenn es ein gültiges Sicherheitszertifikat bereitstellt. Dies hilft, Diebstahl von geistigem Eigentum (IP) oder das Einschleusen von Malware über Schnittstellen zu verhindern, die schwer abzusichern sind, aber dennoch den Einsatz von Wechselmedien unterstützen sollen. Auf diese Weise kann ein Hersteller es beispielsweise ermöglichen, Software-Updates zu installieren oder auf Laufzeitdaten zuzugreifen, ohne das System angreifbar zu machen.

Für einen sicheren Zugriff auf den Flash-Speicher muss der Speichercontroller effiziente Verschlüsselungstechnologie unterstützen. Zusätzlichen Schutz bieten Sensoren und Authentifizierungsdaten, etwa einen GPS-Sensor, einen Fingerabdrucksensor und gespeicherte Profile. So können nur bestimmte Personen an einem definierten Ort darauf zugreifen. Zudem können Hersteller zeitlich begrenzte und ortsbezogene Schlüssel einsetzen, die nur funktionieren, wenn der Datenträger vorhanden ist. Dies unterstützt serviceorientierte Geschäftsmodelle und ist eine Funktionalität, die bei Flash-Speichercontrollern für den Desktop-Einsatz nicht verfügbar ist.

Hyperstone hat bei der Entwicklung seiner für Embedded-Systeme optimierte Flash-Speichercontroller diese und andere Anforderungen berücksichtigt. So berücksichtigen beispielsweise die Algorithmen zum Wear-Leveling das Schreiben kleiner Datenblöcke und von fragmentierten Daten. Sie konsolidieren diese Vorgänge automatisch, um einen effizienteren und zuverlässigeren Betrieb zu gewährleisten.

Bild 1: Der Flash-Controller enthält neben der Firmware auch eine Programmierschnittstelle (API), über die sich optionale Funktionen ansprechen lassen.
Bild 1: Der Flash-Controller enthält neben der Firmware auch eine Programmierschnittstelle (API), über die sich optionale Funktionen ansprechen lassen.
(Bild: Hyperstone)

Universell nutzbare I/O-Leitungen

Mithilfe des API lässt sich die intelligente Speichersteuerung mit benutzerdefinierten Funktionen erweitern. Dazu hat der Controller sechzehn universell nutzbare I/O-Leitungen, die sich als SDIO-, SPI- oder I2C-Schnittstelle konfigurieren lassen. Daran ist zum Beispiel der Anschluss eines digitalen Sensors, RF-Transceivers möglich. Die I/O-Leitungen lassen sich so konfigurieren, dass sie das ISO7816-Protokoll unterstützen. Dieses Protokoll ermöglicht das Integrieren spezialisierter Peripheriegeräte, etwa eines Subscriber Identity Modules (SIM), über das sich der Storage-Controller authentifizieren kann. Bei jedem Lesen oder Schreiben kann die Identität überprüft werden und die Daten können während der Übertragung zum und vom Flash-Speicher der Karte ver- und entschlüsselt werden. Dies stellt sicher, dass keine Daten gefährdet sind, wenn der Wechselspeicher verloren geht oder gestohlen wird.

Das USB-Modul kann als sicherer Zugang zu einem System fungieren, der Debugging und Testzugriff auf das System nur dann ermöglicht, wenn ein authentifiziertes Modul an die I/O-Ports angeschlossen ist. Ein externer Anschluss an der Außenseite des Moduls sorgt für die notwendigen Anschlüsse. Auch auf den ersten Blick ungewöhnliche Anwendungen lassen sich mithilfe des USB-Controllers realisieren. Etwa ein im Modul integriertes und vom Speichercontroller verwaltetes MEMS-Mikrofon zum Hinzufügen von Audioaufnahmefunktionen.

In der Hyperstone-Architektur ist die kundeneigene Firmware-Erweiterung nicht von der zugrunde liegenden Flash-Technologie abhängig. Der Controller ist in der Lage, die Eigenarten der unterschiedlichen Flash-Technologien zu adressieren. Die Firmware-Binärdatei kann mit herkömmlichen Schreibvorgängen aktualisiert werden. Trotzdem sind die Adressbereiche, die für die Firmware des Speichercontrollers verwendet werden, in allen anderen Situationen gesperrt, um versehentliches oder absichtliches Überschreiben zu verhindern. Optional lässt sich der Controller so konfigurieren, dass sich einmal gespeicherte Firmware nicht aktualisieren lässt.

Redundante Firmware sowie Fehlererkennung und -korrektur stellen sicher, dass Beschädigungen oder fehlgeschlagene Updates einer Firmware-Kopie die Funktionalität des Speichermediums nicht gefährden. Die Entwicklung von Firmware-Erweiterungen für den Flash-Controller erfolgt mit Standard-Softwaretools wie einer GNU-basierten Compiler-Toolchain. Das Debugging erfolgt mithilfe der Eclipse IDE und des GNU Debuggers (GDB). Über Software-Hooks für Firmware-Erweiterungen lassen sich neue Klassen von Speichergeräten entwerfen. Diese verbessern nicht nur die Zuverlässigkeit und Sicherheit, sondern können auch als widerstandsfähiges Rückgrat gegen Angriffe auf IoT- und IIoT-Systeme dienen.

Mit dem Zugriff auf Hardware-Peripheriegeräte über programmierbare I/Os können die Speichermodule selbst zu intelligenten Geräten werden, indem sie GPS-Empfänger, Encoder und MEMS-Sensoren nutzen. Das Ergebnis ist eine Technologie, die die Tür zu ganz neuen Klassen von Wechselspeichern öffnet.

Dieser Beitrag ist erschienen in der Fachzeitschrift ELEKTRONIKPRAXIS Ausgabe 21/2019 (Download PDF)

* Damien Col ist Technical Marketing Manager bei Hyperstone.

(ID:46075208)