Speichersysteme – 7 Tipps für robuste und zuverlässige Designs von Hyperstone
22. Juni 2023
Das Design von Speichersystemen erfordert aufgrund der Vielzahl der verfügbaren Optionen, einschließlich Flash-Controllern, viele Entscheidungen und Kompromisse. Hier sind sieben Überlegungen, die helfen können, das Speicherrätsel zu lösen.
Rebecca Reinkunz, Firmware Release Engineer bei der Hyperstone GmbH
Was Du lernen wirst:
- Wie man Anforderungen an ein Qualitätsspeichersystem definiert und versteht und letztendlich die richtige Grundlage schafft.
- Wie man Herausforderungen wie Stromausfälle bewältigt.
- Warum die Abstimmung mit dem richtigen Partner entscheidend für den Erfolg ist.
Embedded System Design ist ein komplexes Spiel. Bei der Suche nach einem NAND-Flash-basierten Speichersystem, das sowohl zuverlässig als auch robust ist, müssen viele verschiedene Faktoren berücksichtigt werden. Das Wichtigste unter ihnen ist der Flash-Controller.
Bei SSDs, USB-Sticks, eMMC-Modulen, SD-Karten und anderen Formen von verwalteten NAND-basierten Lösungen spielt der Controller eine zentrale Rolle, da er für die Regulierung des Systemverhaltens und der Zuverlässigkeit verantwortlich ist. Designer haben außerdem die Aufgabe, Flash-Controller für Spitzenleistung und Kosteneffizienz zu optimieren, wobei die Einzelheiten je nach Branchen- und Anwendungsfallanforderungen variieren.
Obwohl der Controller ein integraler Bestandteil des Speichersystemdesigns ist, ist er nur ein Teil des Puzzles. Mit einer Vielzahl verfügbarer Systeme und Steuerungen sehen sich Designer einer überwältigenden Fülle von Überlegungen, Entscheidungen und Kompromissen gegenüber. Und für Teams, die hochzuverlässige Speichersysteme in Industriequalität suchen, steht viel auf dem Spiel.
Beachten Sie diese Tipps, um ein robustes und zuverlässiges Speichersystem zu entwerfen:
1. Definieren und verstehen Sie Ihre Speichersystemanforderungen.
Hochwertiges Speichersystemdesign beginnt mit der Festlegung der richtigen Grundlage. Dies bedeutet, ein klares Bild davon zu erstellen, was genau Sie von einem Speichersystem benötigen. Beispielsweise:
• Was sind Ihre spezifischen Anwendungsfälle?
• Welche Anforderungen werden an Ihr System gestellt?
• Welche Branchenanforderungen müssen Sie erfüllen?
Die Auseinandersetzung mit diesen Fragen ist ein wesentlicher Bestandteil des Designprozesses. Zum einen haben unterschiedliche Anwendungsfälle unterschiedliche Auswirkungen auf die Leistung und die Lebensdauer des Systems. Ebenso haben verschiedene Branchen oft unterschiedliche Speicheranforderungen, was bedeutet, daß Sie nicht einfach nach einem einheitlichen Design suchen können.
Beispielsweise ist für Verbraucheranwendungen die Kostensenkung häufig ein Hauptanliegen, während für Unternehmen die Leistung ein entscheidender Faktor ist. In industriellen Anwendungen steht die Zuverlässigkeit häufiger im Vordergrund.
Ohne die richtigen Überlegungen anzustellen, können Teams am Ende ein Speichersystem entwerfen, das einfach nicht den primären Anforderungen ihrer Branche entspricht. Langfristig kann dies zu Systemausfällen, unerwarteten Ausgaben und Kundenbeschwerden führen.
Umgekehrt bereitet Sie die Entwicklung eines Speichersystems, das auf Ihre spezifischen Bedürfnisse zugeschnitten ist, von Anfang an auf den Erfolg vor. Um dieses paßgenaue Design zu entwickeln, müssen die Teams zunächst ihre individuellen Anforderungen klar verstehen.
2. Wissen, wie die Leistung von Speichersystemen wirklich funktioniert.
Natürlich ist eine optimale Leistung das Ziel eines jeden Speichersystems. Aber es gibt oft Verwirrung darüber, wie Leistung wirklich funktioniert.
Am wichtigsten ist, daß Entwickler von Datenspeichersystemen bedenken müssen, daß sich die Leistung mit der Zeit verschlechtert. Diese Verschlechterung ist unvermeidlich, da NAND-Flash (siehe Abbildung) eine begrenzte Anzahl von Programm-/Löschzyklen (P/E) haben. Daher besteht ein starker Unterschied zwischen der FOB-Leistung (Fresh-Out-of-the-Box) und der stationären Leistung.
© Hyperstone – In NAND-basierten Speichersystemen spielt der Controller eine zentrale Rolle, da er für die Regelung des Systemverhaltens und der Zuverlässigkeit verantwortlich ist.
FOB-Leistung ist die Leistung eines Flash-Laufwerks, wenn es neu ist. In der Regel ist die FOB-Leistung sehr leistungsstark; Leider ist es nicht die tatsächliche Leistung, die Sie im Laufe der Zeit erleben werden. Wenn das Laufwerk immer voller wird (d.h. wenn mehr Daten hinzugefügt und alte Daten gelöscht werden), werden höhere Anforderungen an den Flash-Controller gestellt, was letztendlich zu Leistungseinbußen führt.
Diese verschlechterte Leistung wird als stationäre Leistung des Systems angesehen. Designer können diese Leistung jedoch nicht einfach vorhersagen. Während ein Qualitätsregler für die Leistung bahnbrechend sein kann, bleibt es entscheidend, mit einem Designteam zusammenzuarbeiten, das die Besonderheiten einer solchen Leistung wirklich kennt.
3. Bereiten Sie sich auf Stromausfälle vor.
Es ist unvermeidlich. Stromausfälle passieren. Sie können sie zwar nicht ganz vermeiden, aber Sie können ein System entwerfen, das auf solche Ausfälle vorbereitet ist – und das sollten Sie auch. Wenn Sie nicht berücksichtigen, ob Ihr Gerät stromausfallsicher ist, kann dies auf der ganzen Linie katastrophale Folgen haben. Beispielsweise kann ein Stromausfall beschädigte Daten, kostspielige Ausfallzeiten, einen beschädigten Ruf usw. verursachen.
Bei der Entwicklung eines Speichersystems ist es daher von größter Bedeutung, dass Teams berücksichtigen, wie anfällig ihr System für unerwartete Stromausfälle sein kann. In industriellen Umgebungen, in denen die Folgen von Ausfällen gravierend sind, sollten Maßnahmen ergriffen werden, um sicherzustellen, dass Geräte stromausfallsicher sind.
Auch hier kann die Verwendung des richtigen Blitzcontrollers den Unterschied beweisen. Beispielsweise stellen einige Controller bei einem Stromausfall den letzten gültigen Eintrag basierend auf dem Protokoll der letzten Flash-Transaktionen wieder her, andere nicht. Ein Controller kann auch die Versorgungsspannung überwachen. Sollte ein Spannungsabfall erkannt werden und ein Stromausfall auftreten, kann der Controller Flash-Zugriffe frühzeitig stoppen und so unerwünschte Probleme verhindern.
Unabhängig von der Branche ist das Markenzeichen eines zuverlässigen Speichersystemdesigns eines, das auf das Unerwartete vorbereitet ist.
4. Handeln Sie Kapazität für mehr Leistung und Zuverlässigkeit bei der Auslegung von Speichersystemen.
Spitzenleistung und Zuverlässigkeit sind beim Design von Speichersystemen immer die obersten Anforderungen. Und in einigen Fällen ist es möglich, die Leistung und Zuverlässigkeit zu verbessern, indem Speicherkapazität aufgegeben wird.
Beispielsweise erfordern industrielle Automatisierung, Vernetzung und Robotik höchste Zuverlässigkeit, Ausdauer und Geschwindigkeit. Aus diesem Grund wenden sich Industriedesign-Teams häufig an SLC-Flash (Single-Level-Cell). SLC-Flash bietet eine schnellere Schreibleistung und höhere Zuverlässigkeit als Triple-Level-Cell (TLC)-Flash. Dies liegt teilweise daran, dass SLC-Flash ein Bit pro Zelle speichert, TLC-Flash drei Bits pro Zelle. SLC-Flash ist jedoch teurer.
Wenn Sie ein Speichersystem entwerfen möchten, das Leistung und Zuverlässigkeit in der Nähe von SLC zu einem niedrigeren Preisaufschlag bietet, sollten Sie die Verwendung von pseudo-SLC-Flash (pSLC) in Betracht ziehen. Durch die Verwendung von TLC-Flash, bei dem jedoch nur ein Bit pro Zelle gespeichert wird, wird Kapazität gehandelt, um die Leistung und Zuverlässigkeit zu einem attraktiveren Preis im Vergleich zu nativem SLC-Flash zu verbessern.
Ähnliche Effekte können durch Over-Provisioning (OP) erzielt werden, bei dem bestimmte Flash-Speicherbereiche für die Controller-Verwaltungsdaten reserviert sind, wodurch der verfügbare Speicherplatz zum Speichern von Benutzerdaten reduziert wird. Designteams können diesen dedizierten OP-Bereich an ihre spezifischen Branchenpräferenzen anpassen. Auf diese Weise ist OP eine weitere kostengünstige Lösung für den Kapazitätshandel gegen verbesserte Leistung und Zuverlässigkeit beim Design von Speichersystemen.
5. Stellen Sie den Gerätezustand mit INTELLIGENTEN Überwachungstools sicher.
Unabhängig von der Konstruktion haben alle Speichersysteme zwangsläufig eine begrenzte Lebensdauer. Zu den vielen Faktoren, die sich auf die Lebensdauer eines Systems auswirken, gehören P/E-Zyklen, spezifische Anwendungsfälle, Umgebungsbedingungen usw. Während Sie einige Symptome eines alternden Speichersystems mit planmäßiger Wartung lindern können, kann selbst eine regelmäßige Wartung ein System nicht für immer leben lassen.
Aus diesem Grund spielt die Zustandsüberwachung eine so wichtige Rolle bei der Verwaltung und Wartung von Speichersystemen. Neben der Überwachung der Lebensdauer eines Flash-Geräts helfen Ihnen Tools zur Integritätsüberwachung auch dabei, einen zuverlässigen Betrieb sicherzustellen und unerwartete Systemausfälle zu verhindern. Gesundheitsüberwachung ist besonders in industriellen Umgebungen unerlässlich, in denen die Kosten hoch sind und unternehmenskritische Anwendungen die Norm sind.
Intelligente Tools wie SMART (Self-Monitoring, Analysis and Reporting Technology) bieten ein neues Maß an Leistung und Präzision für die Verwaltung von Speichersystemen. Mit SMART als Teil Ihres Systems kann beispielsweise ein Flash-Controller Daten über den Status des NAND-Flashs sammeln und liefern. Sollte ein bevorstehender Ausfall das Gerät bedrohen, kann der Controller Sie mit einem Bericht über wichtige Statistiken benachrichtigen.
- Designteams für Speichersysteme sollten die Gesamtbetriebskosten berücksichtigen.
Dem Kostenproblem beim Design von Speichersystemen entgeht kein Weg. Aber während der anfängliche Kaufpreis viel Aufmerksamkeit auf sich ziehen kann, sollten Designteams wirklich auf die Gesamtbetriebskosten (TCO – Total Cost of Ownership) achten.
Insbesondere umfassen die Gesamtbetriebskosten viel mehr als nur den Kaufpreis. Es umfasst alle Betriebskosten des Systems über seine Lebensdauer, z.B. Strom, Wartung, Reparatur, Austausch. Darüber hinaus umfassen die Gesamtbetriebskosten Aufwendungen, die aufgrund von Leistungs- und Zuverlässigkeitsminderungen, Sicherheitsverletzungen, Sicherung und Wiederherstellung usw. anfallen. Tatsächlich beträgt der Kaufpreis in den meisten industriellen Umgebungen nur einen Bruchteil der Gesamtbetriebskosten.
Während ein günstigerer Kaufpreis ansprechend erscheinen mag, führt er oft zu höheren Gesamtbetriebskosten auf der ganzen Linie. Zum Beispiel haben billige Controller weniger Funktionen und Hardware-Unterstützung. Dies macht sie anfälliger für Probleme wie nicht optimales Wear-Leveling und schlechte Fehlerbehandlung, was die Lebensdauer eines Systems verkürzen kann.
In einigen Fällen können die Kosten eines Systemausfalls leicht mehr kosten als der Kaufpreis. Letztendlich riskieren Sie, wenn Sie die Kosten beim Systemdesign senken, größere Chancen auf Datenverlust, Ausfallzeiten und höhere Gesamtbetriebskosten – von denen keines einen niedrigeren Kaufpreis wert ist.
7. Identifizieren Sie den richtigen Partner bei der Entwicklung eines Speichersystems.
Bei der Entwicklung eines Speichersystems besteht Ihre erste Aufgabe darin, den richtigen Partner zu finden. Zwischen Leistungsanforderungen, Tools zur Zustandsüberwachung, Vorbereitung auf Stromausfälle und TCO müssen viele Entscheidungen, Überlegungen und Kompromisse getroffen werden. Vor allem, wenn ein Speichersystem für Ihre Anwendungen lebenswichtig ist, wenn es sensible Daten enthält oder wenn ein Systemausfall kostspielige Ausfallzeiten verursachen könnte, ist es für die letztendliche Effizienz Ihres Systems entscheidend, einen Partner zu finden, der über die Kompetenz und Erfahrung verfügt, Sie durch den anspruchsvollen Entwicklungsprozess zu unterstützen.
Heute gibt es eine breite Palette von Flash-Controllern mit unterschiedlichen Schnittstellenoptionen und Qualitätsstufen. Aufgrund der physikalischen Eigenschaften des NAND-Flash-Speichers ist eine zuverlässige Datenverarbeitung jedoch nur mit einem qualitativ hochwertigen NAND-Flash-Speicher-Controller möglich, der den Einsatz von NAND-Flash in anspruchsvollen Anwendungen ermöglicht.
Unternehmen wie Hyperstone helfen dabei, zuverlässige NAND-Flash-Speicher-Controller für industrielle und eingebettete NAND-Flash-basierte Speicherlösungen zu liefern, die höchste Zuverlässigkeit mit einer langen Systemlebensdauer kombinieren, um die Anforderungen der anspruchsvollsten industriellen Anwendungen zu erfüllen.
Das Design von Embedded Systemen ist ein anspruchsvolles Unterfangen. Aber wenn Sie mit dem richtigen Partner zusammenarbeiten und die oben genannten Tipps befolgen, sind Sie bestens gerüstet.