Startseite SSD-Flash

SSD-Flash

Flash-Komponenten

Solid-State-Flash-Speicher sind mit NAND- und NOR-Technologie verfügbar. Die NOR-Technologie ermöglicht eine direkte Zufallsadressierung und einen Datenfluss auf die gleiche Weise wie ein normaler RAM-Speicherchip und ermöglicht so die Verwendung zur Programmspeicherung und -ausführung innerhalb eines Verarbeitungssystems. NOR-Flash-Chips sind langsamer, haben eine geringere Dichte und eine begrenzte Fähigkeit zur Wiederbeschreibbarkeit, wodurch sie NAND-basierten Lösungen unterlegen sind, wenn sie als Alternative zu einer rotierenden Festplatte verwendet werden.   

Solid-State-Flash-Speicher sind mit NAND- und NOR-Technologie verfügbar. Die NOR-Technologie ermöglicht eine direkte Zufallsadressierung und einen Datenfluss auf die gleiche Weise wie ein normaler RAM-Speicherchip und ermöglicht so die Verwendung zur Programmspeicherung und -ausführung innerhalb eines Verarbeitungssystems. NOR-Flash-Chips sind langsamer, haben eine geringere Dichte und eine begrenzte Fähigkeit zur Wiederbeschreibbarkeit, wodurch sie NAND-basierten Lösungen unterlegen sind, wenn sie als Alternative zu einer rotierenden Festplatte verwendet werden.   

Die NAND-Flash-Technologie ist ein serieller Speicher, genau wie ein Festplattenlaufwerk. Daten werden in Blöcken adressiert und gespeichert und nicht als einzelne adressierbare Bits oder Bytes. NAND-Flash-basierte Solid-State-Laufwerke sind so konzipiert, dass sie aus der Systemperspektive eine rotierende Magnetplatte nachahmen und eine schnellere Zugriffszeit und vergleichbare Datendurchsatzraten bieten. Der Hauptnachteil einer SSD im Vergleich zu einer Magnetplatte ist die Datendichte und die Kosten pro Megabyte.

Flash-Komponenten
 
In diesem Abschnitt konzentrieren wir uns auf NAND-Komponenten, da sie das SSD-Angebot dominieren. NAND-Flash-Komponenten gibt es in Dichten von 1 GB (Gigabit) bis 64 GB pro Chip. Es gibt auch Konfigurationen mit Single Level Cell (SLC) und Multi-Level Cell (MLC), wobei SLC ein einzelnes Bit pro Zelle und MLC mehr als 1 Bit pro Zelle speichern kann.  
 
Ähnlich wie Sektoren und Spuren auf einem Magnetlaufwerk verfügen NAND-Flash-Komponenten über Strukturen, die als Seiten und Blöcke bezeichnet werden. Seiten sind Sektoren und Blöcke sind analog zu Spuren, und genau wie auf einer Festplatte ist jedem Sektor ein Fehlerkorrekturcode (ECC) zugeordnet. Eine übliche NAND-Flash-Komponentenkonfiguration umfasst 128 Seiten mit jeweils 4,096+128 Bytes bei einer Blockgröße von 512 KB. Daten werden nacheinander gelesen und geschrieben, ebenfalls wie bei einer Diskette.
 
NAND-Flash weist außerdem inhärente Zelldefekte auf, ähnlich wie Oberflächendefekte auf einer Festplatte. Aus diesem Grund werden im Gerät Ersatzdatenblöcke bereitgestellt und eine Neuzuordnungstabelle im Gerät bereitgestellt, damit die Systemsoftware fehlerhafte Datenblöcke ausblenden kann, sobald sie entdeckt werden. 
 
Im Gegensatz zu einer Magnetplatte hat NAND-Flash eine begrenzte Wiederschreibdauer von etwa 1,000,000 Mal pro Block. Sie können einfach nicht unbegrenzt in dieselben Blöcke schreiben. Aus diesem Grund wird ein Wear-Leveling-Schema verwendet, um Bereiche, auf die häufiger zugegriffen wird, wie z. B. ein Verzeichnis, regelmäßig zu verschieben. Wear-Leveling ähnelt der Defragmentierung einer Festplatte. Im Fall von NAND-Flash muss dies jedoch geschehen, da sonst möglicherweise Daten verloren gehen.
 
Einige Flash-Chips bieten eine gewisse Unterstützung für Wear-Leveling, diese Funktion wird jedoch meist von der Controller- oder Systemsoftwareschicht ausgeführt. Es werden große Anstrengungen unternommen, um die Wear-Leveling-Aktivität zu verbergen, damit sie die normale Geräteleistung nicht beeinträchtigt.
 
Die Open NAND Flash Interface Group (ONFI) hat einen Standard für NAND-Flash-Komponenten entwickelt, der von der Industrie weithin übernommen wurde. Dieser Standard stellt einen gemeinsamen I/O- und Befehlssatz bereit und standardisiert effektiv eine gemeinsame Architektur für ONFI-kompatible Komponenten. Diese Architektur umfasst die folgenden gemeinsamen Elemente:
 
  • Datenschnittstelle – normalerweise 8 Bit, manchmal 16 Bit in dichteren Teilen
  • I/O-Controller – Multiplext Daten-, Befehls- und Statusworttypen. Dekodiert Befehle
  • Steuerlogik – Verwaltet das E/A-Transaktions-Handshaking mit dem Flash-Controller
  • Adressregister – Identifiziert den Block, auf den zum Lesen oder Schreiben zugegriffen werden soll
  • Daten-/Cache-Register – ein statisches Einzelwortregister zum Puffern von Daten zwischen E/A und Array
  • Statusregister – Zeigt Fehler bei Transaktionen und Datenfluss an
  • Zeilen-/Spaltendekodierung – unterteilt den Adresswert in Seitenwerte
  • Flash-Array – die in Zeilen und Spalten angeordneten Flash-Zellen

 

Blitzteile
Typisches Blockdiagramm einer SSD-Flash-Komponente
 
In der folgenden Tabelle werden die einzelnen E/A- und Steuerleitungen für Standard-ONFI-NAND-Flash-Teile ausführlicher beschrieben. 
 
Steuerleitung
Beschreibung
Anwendungsbereich
DIE
Eingang
Adress-Latch-Aktivierung: Während ALE HIGH ist, sind die Adressinformationen vorhanden
von I/O[7:0] in das On-Chip-Adressregister übertragen. Auf ein LOW nach HIGH
Übergang auf WE# – wenn Adressinformationen nicht geladen werden – die ALE-Signale
sollte auf LOW gefahren werden.
CE-Nr.
Eingang
Chip-Aktivierung: Gatterübertragungen zwischen dem Hostsystem und dem NAND-Flash-Gerät.
Nachdem das Gerät ausgelastet ist oder einen PROGRAM- oder ERASE-Vorgang startet, kann CE# sein
nicht mehr geltend gemacht. Weitere Betriebsdetails finden Sie unter „Busbetrieb“ auf Seite 16.
CLE
Eingang
Befehlslatch-Aktivierung: Wenn CLE HIGH ist, werden Informationen von übertragen
I/O [7:0] zum On-Chip-Befehlsregister bei der steigenden Flanke von WE#. Wenn
Wenn keine Befehlsinformationen geladen werden, sollten die CLE-Signale auf LOW gesetzt werden.
LOCK
Eingang
Wenn LOCK beim Einschalten HIGH ist, ist die BLOCK LOCK-Funktion aktiviert.
Um BLOCK LOCK zu deaktivieren, verbinden Sie LOCK beim Einschalten mit VSS oder lassen Sie es stehen
unverbunden (interner Pulldown).
KÖNIG#
Eingang
Lesefreigabe: Gates überträgt vom NAND-Flash-Gerät zum Hostsystem.
WIR#
Eingang
Schreibfreigabe: Gates überträgt vom Hostsystem zum NAND-Flash-Gerät.
WP#
Eingang
Schreibschutz: Schützt vor versehentlichen PROGRAM- und ERASE-Vorgängen. Alle
PROGRAM- und ERASE-Vorgänge sind deaktiviert, wenn WP# LOW ist.
E/A[7:0] (x8)
E/A[15:0] (x16)
I / O
Dateneingänge/-ausgänge: Bidirektionale I/O-Signale übertragen Adresse, Daten und Anweisungen
Information. Daten werden nur bei READ-Vorgängen ausgegeben; zu anderen Zeiten die E/A
Signale sind Eingänge.
R/B#
Ausgang
Bereit/Beschäftigt: Das Bereitschafts-/Beschäftigt-Signal ist ein Open-Drain-Aktiv-LOW-Ausgang, der einen verwendet
Externer Pull-up-Widerstand. Das Signal wird verwendet, um anzuzeigen, wann der Chip a verarbeitet
PROGRAM- oder ERASE-Vorgang. Das Signal wird auch bei Lesevorgängen verwendet
Zeigt an, wann Daten vom Array in das serielle Datenregister übertragen werden.
Wenn diese Vorgänge abgeschlossen sind, kehrt das Bereitschafts-/Beschäftigt-Signal auf die hohe Impedanz zurück
Zustand.
VCC
Versorgung
VCC: Die VCC-Kugel dient als Stromversorgung.
VSS
Versorgung
VSS: Die VSS-Kugel ist die Masseverbindung.
 
Zu den Merkmalen dieses Standards gehören:
 
  • Discovery – ermöglicht es dem Flash-Controller, die Eigenschaften der Flash-Komponente zu bestimmen
  • LUN-Adressierung – ermöglicht dem Controller, Vorgänge an Flash-Komponenten unabhängig zu aktivieren
  • Interleaving – ermöglicht dem Controller die Synchronisierung von Vorgängen auf einer Reihe von Flash-Komponenten
  • Caching – ermöglicht den Datenfluss zum/vom Controller unabhängig von Flash-Array-Vorgängen
  • Copyback – ermöglicht der Flash-Komponente, Daten von einem Block in einen anderen zu verschieben, ohne dass der Controller direkt beteiligt ist
 
Zu den wichtigsten Anbietern von SSD-Flash-Komponenten auf dem Markt (Stand Anfang 2010) gehören:
 
  • Hynix
  • Intel
  • Mikron
  • SanDisk
  • Toshiba
  • Numonyx (ST Micro)
  • Samsung
 
Jeder Anbieter bietet eine Vielzahl von Kapazitäten, Geschwindigkeiten und Funktionen, um sich von seinen Mitbewerbern abzuheben.
Systementwickler gehen bei der Auswahl eines Lieferanten und einer bestimmten Flash-Komponente für ihr SSD-Zielprodukt und ihre Zielmärkte eine Reihe von Kompromissen ein.  
 
Zu den Kompromissen gehören:
 
  • Programmatic – Kosten, Zeitplan, Support, Garantie und Verfügbarkeit.
  • Technik – Leistung, Leistung, Paketoptionen, Funktionen, Skalierbarkeit und Flexibilität.
  • Andere – Gemeinsamkeit, Kompatibilität, Dokumentation, Entwicklungsunterstützung, Tests und Reputation.
 
Bei der Auswahl der Flash-Komponenten führt der Systemdesigner die gleiche Analyse auch für den Flash-Controller und andere Teile durch, die im SSD-Design benötigt werden. Es handelt sich um einen iterativen Prozess, um die richtige Kombination von Lieferanten und Komponenten zu finden, um die Anforderungen für das jeweilige Produkt bestmöglich zu erfüllen.   
 
Technologieentwicklung
 
Die nächste Generation von Flash-Komponenten integriert mehr Funktionalität in die Basiskomponente und bietet eine intelligente Schnittstelle anstelle eines standardmäßigen Flash-Speicherbusses vom Typ ONFI, der heute bei SSDs verwendet wird.
 
Dieser Ansatz ermöglicht es zunächst, NAND-Flash-Komponenten näher an den Host-Prozessor-Bus für Produkte wie mobile Geräte zu bringen, was eine große Speicherkapazität und Unterstützung für hochauflösendes Daten-Streaming und -Aufzeichnung bietet. 
 
Für den PC gibt es derzeit keinen „DIMM“-Standard für NAND-Flash im PC. Es ist nötig. Dazu gehören Modulgröße, Anschluss, Bustyp, Fehlermanagement und Treiber. 
 
Verwandte Anleitungen: