Was ist ein Flash-Speicherchip? Welche Arten gibt es?

Oct 24, 2023

1. Was ist ein Flash-Speicherchip?

Der Flash-Speicherchip ist eine hierarchische Verwaltung des Flash-Speichereinheitschips. Die interne Struktur von hoch nach niedrig kann ausgedrückt werden als: Chippaket (Paket) → Schicht (Die) → Block (Block) → Seite (Seite) → Speicherzelle (Zelle). ). Die Betriebseinheit des Speicherchips ist eine Seite (Seite), die Kapazität jeder Seite beträgt im Allgemeinen 4 KB oder 8 KB und es gibt im Allgemeinen einen Out-of-Band-Bereich (Out of Band, OOB) außerhalb des Datenbereichs der Seite Mehr als 128 Bytes werden im Allgemeinen zum Speichern der Metadateninformationen und Überprüfungsinformationen der Seite verwendet.
2. Typ des Flash-Speicherchips

Es gibt auch verschiedene Arten von Flash-Speichern, die hauptsächlich in die beiden Kategorien NOR-Typ und NAND-Typ unterteilt werden.

Der Unterschied zwischen Flash-Speicher vom NOR-Typ und NAND-Typ ist sehr groß. Beispielsweise ähnelt der Flash-Speicher vom NOR-Typ eher einem Speicher, es gibt eine unabhängige Adressleitung und eine Datenleitung, aber der Preis ist teurer und die Kapazität ist relativ gering. Der NAND-Typ ähnelt eher einer Festplatte, die Adressleitung und die Datenleitung sind gemeinsam genutzte E/A-Leitungen, und alle Informationen ähnlich der Festplatte werden über eine Festplattenleitung übertragen. Im Vergleich zum NAND-Typ ist der Flash-Speicher vom NOR-Typ. Die Kosten sind geringer und die Kapazität ist viel größer. Daher eignet sich der NOR-Flash-Speicher besser für häufige zufällige Lese- und Schreibvorgänge und wird normalerweise zum Speichern von Programmcode und zur direkten Ausführung im Flash-Speicher verwendet. Bei Mobiltelefonen wird NOR-Flash-Speicher verwendet, sodass die „Speicher“-Kapazität von Mobiltelefonen normalerweise gleich ist nicht groß; NAND-Flash wird hauptsächlich zum Speichern von Daten verwendet, und unsere am häufigsten verwendeten Flash-Produkte wie Flash-Festplatten und digitale Speicherkarten sind NAND-Flash.

3. Mehrere Betriebszustände des Flash-Speicherchips

(1) Lesevorgang nach Seiten

Der Standardzustand des Flash-Speicherchips ist „Lesen“. Der Lesevorgang beginnt mit dem Schreiben der 00h-Adresse über 4 Adresszyklen in das Befehlsregister. Sobald der Befehl verriegelt ist, kann der Lesevorgang nicht mehr auf die nächste Seite geschrieben werden.

Sie können Daten zufällig von einer Seite ausgeben, indem Sie Anweisungen zur Ausgabe zufälliger Daten schreiben. Die Datenadresse kann automatisch aus der auszugebenden Datenadresse durch zufällige Ausgabeanweisungen ermittelt werden, um die nächste Adresse zu finden. Zufällige Datenausgabeoperationen können mehrfach verwendet werden.

(2) Seitenprogrammierung

Die Programmierung des Flash-Chips erfolgt Seite für Seite, unterstützt jedoch die Programmierung mehrerer Teilseiten in einem einzigen Seitenprogrammierungszyklus, und die Anzahl der aufeinanderfolgenden Bytes der Teilseite beträgt 2112. Schreiben Sie die Bestätigungsanweisung für die Seitenprogrammierung (10h), um die zu starten Sie müssen jedoch auch fortlaufende Daten eingeben, bevor Sie die Anweisung schreiben (10 Stunden).

Kontinuierliches Laden von Daten Nach dem Schreiben des Befehls zur kontinuierlichen Dateneingabe (80 Stunden) beginnen 4 Zyklen der Adresseingabe und des Datenladens, während das Wort im Gegensatz zu programmierten Daten nicht geladen werden muss. Der Chip unterstützt die zufällige Dateneingabe auf der Seite und kann die Adresse automatisch entsprechend der Anweisung zur zufälligen Dateneingabe (85 Stunden) ändern. Die zufällige Dateneingabe kann auch mehrfach verwendet werden.

(3) Cache-Programmierung

Cache-Programmierung ist eine Art Seitenprogrammierung, die von 2112 Byte Datenregistern durchgeführt werden kann und nur in einem Block gültig ist. Da der Flash-Chip über einen Seitencache verfügt, kann er eine kontinuierliche Dateneingabe durchführen, wenn das Datenregister in die Speichereinheit kompiliert wird. Die Cache-Programmierung kann erst beginnen, nachdem der unvollendete Programmierzyklus beendet ist und das Datenregister aus dem Cache übertragen wurde. Mit dem R/B-Pin können Sie feststellen, ob die interne Programmierung abgeschlossen ist. Wenn das System R/B nur zur Überwachung des Programmablaufs verwendet, muss die Reihenfolge des letzten Seitenobjektprogramms durch die aktuelle Seitenprogrammieranweisung festgelegt werden.

(4) Replikation der Speichereinheit

Mit dieser Funktion können Daten auf einer Seite schnell und effizient neu geschrieben werden, ohne dass auf den externen Speicher zugegriffen werden muss. Da der Zeitaufwand für den ständigen Zugriff und Neuladen reduziert wird, wird die Leistung des Systems verbessert. Dies gilt insbesondere dann, wenn ein Teil eines Blocks aktualisiert wird und der Rest in einen neuen Block kopiert werden muss. Bei diesem Vorgang handelt es sich um eine kontinuierliche Leseanweisung, es ist jedoch nicht erforderlich, kontinuierlich auf das Programm zuzugreifen und es an die Zieladresse zu kopieren. Eine ursprüngliche Seitenadressenanweisung „35-Stunden-Lesevorgang kann die gesamten 2112 Datenbytes in den internen Datenpuffer übertragen.“ Wenn der Chip in den Bereitschaftszustand zurückkehrt, wird der Dateneintragsbefehl zum Kopieren der Seite mit der Zieladressenschleife geschrieben. Das Fehlerverfahren bei diesem Vorgang wird durch den Status „Bestanden/nicht bestanden“ angezeigt. Wenn die Ausführung dieses Vorgangs jedoch zu lange dauert, kommt es aufgrund von Datenverlust zu einem Bitoperationsfehler, der dazu führt, dass der externe Fehler „Prüfen/Korrigieren“ der Geräteprüfung fehlschlägt. Aus diesem Grund sollte der Vorgang mit einem zweistelligen Fehler korrigiert werden.

(5) Blocklöschung

Der Löschvorgang des Flash-Speicherchips erfolgt auf Blockbasis. Das Laden der Blockadresse beginnt mit einem Blocklöschbefehl und wird in zwei Schleifen abgeschlossen. Wenn die Adressleitungen A12 bis A17 gesperrt sind, sind tatsächlich nur die Adressleitungen A18 bis A28 verfügbar. Laden Sie die Löschbestätigungsanweisung und die Blockadresse, um mit dem Löschen zu beginnen. Dies muss in dieser Reihenfolge erfolgen, um zu vermeiden, dass durch externes Rauschen beeinträchtigte Fehler aus dem Speicherinhalt gelöscht werden.

(6) Status lesen

Das Statusregister im Flash-Speicherchip bestätigt, dass Programmier- und Löschvorgänge erfolgreich abgeschlossen wurden. Nach dem Schreiben des Befehls (70h) in das Befehlsregister gibt die Leseschleife den Inhalt des Statusregisters bei der fallenden Flanke von CE oder RE an I/O aus. Das Befehlsregister bleibt im Lesezustand, bis ein neuer Befehl eintrifft. Wenn sich das Statusregister also während einer zufälligen Leseschleife im Lesezustand befindet, sollte vor Beginn der Leseschleife ein Lesebefehl gegeben werden.