Speicher für Single-Board-Computer

Booten vom Flash

Booten_vom_Flash

Festplatten waren lange Jahre das Bootmedium der Wahl bei Embedded-Computing-Lösungen. Zuverlässige Technik und ständig wachsende Kapazitäten bei gleichzeitig stabilen Preisen sorgten für problemlose Integration und einfache Anpassung an den wachsenden Speicherbedarf. Die Flash- Technik hat, getrieben vom Consumer-Markt, nun ein Preis-/Leistungsverhältnis erreicht, das ihre Anwendung zunehmend attraktiver macht. Worauf ist bei der Auswahl von Flash-Bootmedien zu achten?

Während sich bei Festplatten zunächst IDE, auch bekannt als Parallel- ATA, und später Serial-ATA (SATA) als Standardschnittstellen durchgesetzt haben, gibt es Flash-Speicher in einer großen Vielzahl von Formfaktoren mit unterschiedlichen Interfaces. Die verschiedenen Formfaktoren und Flash-Varianten haben ihre Vorund Nachteile hinsichtlich Mechanik, Zugriffsgeschwindigkeit, Boot- Fähigkeit und Systemintegration. Die richtige Wahl für die richtige Anwendung kann zusammen mit »Qseven«-Modulen und dem passenden Bootmedium zu einem gut passenden System führen.

Neben der geringen Leistungsaufnahme ist einer der entscheidenden Faktoren für die schnelle Verbreitung des Qseven-Standards die kleine Bauform des Moduls. Auf 70 mm x 70 mm Fläche ist – abgesehen von den Steckern – ein kompletter PC mit modernen Schnittstellen untergebracht. Zu einem vollständigen System fehlt nur noch ein Bootmedium beziehungsweise ein Massenspeicher. Natürlich lassen sich die Module mit SATA-Interface schnell mit Standard-2,5-Zoll-Festplatten für Notebooks kombinieren.

Bild 1: Modul mit Flash Disk, daneben eine (kleine) Festplatte

Modul mit FlashdiskDer Größenvergleich in Bild 1 zeigt aber schon, dass solch eine Standardplatte einen erheblichen Teil des Volumens des Gesamtsystems ausmacht und gerade in Systemen mit kleiner Zielbauform andere Lösungen wünschenswert sind. Bei kleineren 1,8-Zoll-Festplatten verändern sich die Größenverhältnisse zwar schon deutlich, aber die Auswahl bei den kleineren Platten ist im Vergleich mit den größeren doch ziemlich eingeschränkt, während alle anderen Schlüsseleigenschaften im Wesentlichen unverändert bleiben.

Speichergröße spielt keine Rolle

Während das Verhältnis von Speicherkapazität zu Preis bei klassischen Festplatten extrem günstig ist, benötigen die meisten Embedded-Anwendungen nur ein Bruchteil der Kapazität selbst der kleinsten Platten. Somit lassen sich die meisten dedizierten Embedded- Anwendungen mit Flash- Speichern günstiger realisieren als mit einer Festplatte. Darüber hinaus erfordern Applikationen in mobilen Systemen oft die besondere mechanische Robustheit von Flash-Speichern. Und auch bei Anwendungen in explosionsgefährdeten Industrieumgebungen sind Festplatten aufgrund der beweglichen Teile in ihrem Inneren nicht erlaubt. Aufgrund all dieser Faktoren ist eine Entscheidung zwischen einer Festplatte und einem Flash-Speicher schnell getroffen. Doch welcher aus der Vielzahl der möglichen Speichertypen ist die beste Wahl für die jeweilige Anwendung? Ausgehend von der kleinen Bauform des Qseven-Moduls ist der Gedanke der Integration des Massenspeichers mit dem Computerkern auf dem Modul der konsequente Schritt zu minimalem Systemvolumen. Qseven-Module sind schon mit Flash-on-Board erhältlich und bieten, ähnlich wie Festplatten, auch die Unterstützung für alle gängigen Betriebssysteme aus der Linux- und auch aus der Windows-Familie.

Die hohe Integration hat allerdings auch ihren Preis. Die Module mit integriertem Flash bieten oft nicht die Anzahl der Schnittstellen wie die Module ohne integriertem Flash und können damit nur die einfacheren Anwendungen aus der Palette der Qseven-Anwendungen abdecken. Durch die schon bei der Produktion des Moduls festgelegte Speichergröße ist die Flexibilität in Bezug auf Softwareerweiterungen gegenüber einem steckbaren Massenspeicher stark eingeschränkt, und im Fehlerfall ist eine getrennte Analyse und ein unabhängiger Austausch vom CPU-Kern und dem Massenspeicher leider nicht mehr möglich. Aus diesen Gründen ist für viele Anwendungen ein Speichermodul wünschenswert.

Mit den durch den Qseven-Standard vorgegebenen Schnittstellen lassen sich am einfachsten USBSticks mit Flash- und SDIO-Karten anbinden. Flash-Speicher mit USB-Interface werden mit einer riesigen Auswahl an Bauformen, Speichergrößen und Geschwindigkeiten angeboten. Für kleine Embedded Systeme ist es natürlich wünschenswert, keine langen USBSticks aus dem System herausragen zu lassen. Um äußere mechanische Unförmigkeiten zu umgehen, können USB-Flash-Speicher auch auf Platinen montiert werden, die intern über einen Pfostenstecker mit einem der USB-Ports verbunden sind. Soll das Boot- und Speichermedium dagegen leicht von außen ausgewechselt werden können, bieten sich wiederum Flash-Disks im Expresscard-Format an. Die allermeisten der auf dem Markt angebotenen Flash-Disks in diesem Format nutzen auch die USB-Schnittstelle zur Datenübertragung. Generell gilt für Flash- Speicher mit USB-Schnittstelle jedoch die Einschränkung, dass sich das Windows-Betriebssystem regulär nicht über USB booten lässt. Es existieren zwar Anleitungen, wie Windows doch dazu zu bewegen ist; die Konfiguration ist jedoch aufwändig und eine solche Installation wird von Microsoft nicht mehr unterstützt. Somit gibt es abgesehen von lizenzrechtlichen Hürden keine Garantie, was beim nächsten Micro soft-Update mit einem solchen System passiert. Bei SDIO-Flash gilt leider die gleiche Einschränkung, was Windows angeht. Bei den bekannten Linux-Varianten gibt es hier keine Pro bleme. Die Qseven-Systeme von MSC können Linux einfach sowohl von USB als auch von SDIO booten.

Ausgebremst

In den letzten Jahren hat Compact- Flash als Bootmedium für Embedded Systeme stark an Popularität gewonnen. Industrietaugliche Compact- Flash-Karten werden aktuell noch in großer Vielfalt angeboten. Die Flash-Speicherformate folgen dem Consumer-Markt, und dieser hat bereits auf kompaktere Formate wie SD-Card (SDIO) umgestellt. Qseven setzt zudem konsequent auf serielle Schnittstellen, die noch am Beginn ihres Lebenszyklus‘ stehen. Die Anbindung eines CompactFlash-Speichers erfordert somit den Einsatz eines Bridge-Bausteins.

Bild 2: Das Qseven-Starterkit

MSC-Q7-SK-002_Screen_med_LogoWas die Transferleistung der Flash-Bootmedien angeht, darf man nur von speziellen SSDs in klassischen Festplattengehäusen Höchstleistungen erwarten. Flash- Medien mit USB oder SDIO werden schon durch ihre Schnittstellen in der Übertragungsleistung eingeschränkt. Eine sehr gute Mischung von Transferleistung, kleiner Bauform, ausreichender Speicherkapazität, mechanischer Stabilität und leichter Austauschbarkeit stellen Expresscards dar, die das Flash über die PCI-Express-Schnittstelle des Expresscard-Standards anbinden. Leider scheint derzeit nur eine Flashdisk von Verbatim in dieser Bauart verfügbar zu sein. Während sich dieses Modell hervorragend als schneller Massenspeicher für Daten eignet, ist es letztendlich als Bootmedium doch ungeeignet, da dem über PCIe angebundenen integrierten SATA-Controller dieser Karte das Option-ROM fehlt. Da der Markt für SSDs sich in letzter Zeit sehr dynamisch entwickelt, ist es wohl nur noch eine Frage der Zeit, bis das Flash-Killer-Device auftaucht, das die meisten der Vorteile der verschieden Lösungen in sich vereint.

Für die derzeit verfügbaren Flash- Bootmedien hat MSC Messungen der Bootzeit durchgeführt. Die Messungen erfolgten mit dem Qseven- Modul »MSCQ7-US15W-002«, bestückt mit der Intel-CPU »Z530« mit 1,6 GHz. Als Baseboard kam die Qseven-Referenzplattform zum Einsatz, die für Qseven als Goldstandard für Kompatibilitätstest eingeführt wurde. Diese Plattform unterstützt alle vom Standard zur Verfügung gestellten Schnittstellen und bietet einen MiniCard-, einen Expresscard- und auch einen SDIO-Slot. Als Betriebssystem kam »Ubuntu 9.10« in der Standardkonfiguration zum Einsatz. Bei der Auswahl der Flash-Medien wurde darauf geachtet, jeweils nur sehr schnelle der in der jeweiligen Bauform verfügbaren Modelle zu testen. Das Ziel war nicht eine umfassende Marktanalyse von Flash-Speichern, sondern ein kurzer Schnappschuss der aktuellen Situation zum Vergleich der Bootgeschwindigkeiten mit den unterschiedlichen Schnittstellen. Die Flash-Medien haben in diesen Messungen im Vergleich zu einer schnellen SATA-Platte überraschend gut abgeschnitten (siehe Tabelle 1). Die verschieden Flash-Varianten lagen dabei in ihrer Boot-Performance eng beieinander.

Tabelle 1: Bootzeiten mit verschiedenen Speichermedien, gemessen vom Drücken des Power-Schalters bis zur vollständigen Desktop-Anzeige

Bootdevice

Durchschnitt [s]

Betriebssystem

Prozessor

SATA-HD

57,1

Ubuntu 9.04

Z530 (1,6 GHz)

USB-Stick

58,2

Ubuntu 9.05

Z530 (1,6 GHz)

SDHC-Card A

67,4

Ubuntu 9.06

Z530 (1,6 GHz)

SDHC-Card B

69,8

Ubuntu 9.07

Z530 (1,6 GHz)

SATA-HD

59,5

Suse 11.1, XFCE

Z530 (1,6 GHz)

integriertes Flash

69,3

Suse 11.1, XFCE

Z510 (1,1 GHz)

Berücksichtigt man, dass Qseven- Systeme nicht in Anwendungen mit Anforderungen an höchste Rechengeschwindigkeit sondern in kleinen, oft tief eingebetteten Systemen zum Einsatz kommen, ergibt sich im wesentlichen der Schluss, dass die Geschwindigkeit des Flash-Speichers ein untergeordnetes Kriterium bei der Auswahl des Bootmediums darstellt. Die oben dargestellten Kriterien wie Größe, mechanische Stabilität und Bauform sowie die Austauschbarkeit und das einzusetzende Betriebssystem entscheiden letztendlich über das am besten geeignete Bootmedium in einem Qseven-basierenden System.

Autor

Bernhard Andretzky, MSC

Veröffentlicht in

Design&Elektronik 11/2009