Wie funktionieren NAND-Flash-Speicher-Schreibvorgänge?

14

Unten ist ein Bild meines Verständnisses der NAND-Flash-Speicheroperation.

NAND-Flash löscht zuerst alle Zellen in einem einzigen Block (setzt ihn im Wesentlichen auf '1') und schreibt dann selektiv Nullen. Meine Frage ist: Da die Wortleitung von allen Zellen auf einer einzelnen Seite gemeinsam genutzt wird, wie ordnet der NAND-Controller eine 0 bestimmten Zellen auf einer Seite zu?

Beim NOR-Blitz ist leicht zu erkennen, dass eine bestimmte Zelle mithilfe der Injektion heißer Elektronen (Anlegen einer Hochspannung an eine Zelle) programmiert werden kann. Bei NAND ist dies jedoch nicht möglich, da NAND-Zellen in Reihe geschaltet sind und keine Hochspannung an bestimmte Zellen angelegt werden kann. In NAND wird also ein Quantentunnel durchgeführt, bei dem die Wortleitung eine hohe Spannung erhält, um eine 0 zu schreiben. Was mir nicht klar ist, ist, wie diese Spannung selektiv gemacht werden kann (mit anderen Worten, da die Wortleitungen zwischen Zellen in a geteilt werden) Seite, die Hochspannung zum Programmieren eines einzelnen Bits auf 0 sollte nicht auch die anderen Bits auf einer Seite auf 0 setzen.

NAND-Speicher-Array-Organisation

Joel Fernandes
quelle

Antworten:

10

Das folgende Bild zeigt die detailliertere Version Ihrer NAND FLash-Speicherarray-Organisation. Das NAND-Flash-Speicherarray ist in Blöcke unterteilt , die wiederum in Seiten unterteilt sind . Eine Seite ist die kleinste Granularität von Daten, die vom externen Controller angesprochen werden kann .

Ein NAND-Flash-Speicher-Array - Abbildung 2.2 aus der unten verlinkten Masterarbeit

Das obige Bild zeigt Abbildung 2.2 "Ein NAND-Flash-Speicher-Array" von: Vidyabhushan Mohan . Modellierung der physikalischen Eigenschaften von NAND-Flash-Speichern . Masterarbeit. Universität von Virginia, Charlottesville. Mai 2010.

Um eine Programmieroperation durchzuführen , mit anderen Worten, " 0 " in die gewünschten Zellen zu schreiben , muss der externe Speichercontroller die physikalische Adresse der zu programmierenden Seite bestimmen. Für jede Schreiboperation muss eine freie gültige Seite ausgewählt werden, da NAND-Flash keine direkte Aktualisierungsoperation zulässt. Die Steuerung überträgt dann den Programmierbefehl , die zu programmierenden Daten und die physikalische Adresse der Seite an den Chip.

Wenn eine Anforderung für eine Programmieroperation von der Steuerung ankommt, wird eine Zeile des Speicherarrays ( entsprechend der angeforderten Seite ) ausgewählt und die Latches im Seitenpuffer werden mit den zu schreibenden Daten geladen. Die SST wird dann eingeschaltet , während das GST wird ausgeschaltet durch die Steuereinheit. Damit ein FN-Tunneln auftritt, ist ein hohes elektrisches Feld zwischen dem Floating Gate und dem Substrat erforderlich. Dieses hohe elektrische Feld wird erreicht, indem das Steuergate der ausgewählten Zeile auf eine hohe Spannung Vpgm eingestellt wird und die Bitleitungen entsprechend der logischen "0" auf Masse vorgespannt werden.

Dies erzeugt eine hohe Potentialdifferenz zwischen dem Floating Gate und dem Substrat, wodurch Elektronen vom Substrat auf das Floating Gate tunneln. Bei der Programmierung " 1 " (die im Grunde genommen keine Programmierung ist) sollte die Speicherzelle im gleichen Zustand bleiben wie vor der Programmieroperation. Während verschiedene Techniken angewendet werden, um das Tunneln von Elektronen für solche Zellen zu verhindern, nehmen wir den selbstverstärkten Programmverhinderungsbetrieb an.

Diese Technik sorgt für die notwendige Programmiersperrspannung durch die Bitleitungen Antrieb auf logisch „entsprechend 1 “ zu Vcc und beim Drehen der SSL und Ausschalten der GSL . Wenn die Wortleitung der ausgewählten Zeile auf Vpgm ansteigt, werden die Reihenkapazitäten durch das Steuergate , das Floating Gate, den Kanal und die Masse gekoppelt, wodurch das Kanalpotential automatisch angehoben wird und das FN-Tunneln verhindert wird.


Diese Informationen wurden hier entnommen und zusammengefasst , und weitere Einzelheiten zur Programmierung des NAND-Flash-Speichers finden Sie auch in dieser Quelle.

gbudan
quelle
Vielen Dank für die Zusammenfassung der These, auf die Sie hingewiesen haben. Könnten Sie etwas einfacher erklären, wie die Zellen, die auf '1' belassen werden sollen, nicht vom Tunneling auf der gemeinsamen Wortleitung betroffen sind? Nach dem, was ich in dem von Ihnen veröffentlichten Auszug verstanden habe, wird all jenen Bits, die dieselbe gemeinsame Wortleitung haben, auch die gleiche Spannung für die entsprechenden Bits zugewiesen. Aufgrund dessen ist das elektrische Feld über dem Floating Gate für solche Transistoren niedrig genug, dass ihr Wert auf "1" gehalten wird. Außerdem, warum ist GSL deaktiviert, wie hilft GSL?
Grundsätzlich bewirkt das Vorhandensein oder Fehlen von Ladungen innerhalb der FGT eine Verschiebung der V-Schwelle der FGT, die verwendet wird, um eine logische "1" von einer logischen "0" zu unterscheiden. Ein einzelnes FGT wird niemals alleine programmiert. Es wird immer nur eine Gruppe von FGTs programmiert. Diese Gruppe von FGTs entspricht in diesem Fall einer Seite, und dies erklärt, warum NAND blockadressiert statt bitadressiert ist. Hoffe das ist klar.
Gbudan
Sie sagen "durch Einschalten von SSL", aber in dem Schema mit dem Namen SSL ist nichts enthalten. Auch Ihr "hier für mehr Details" ist ein toter Link.
Steev
@Steev - Vielen Dank für die Hervorhebung, dass die ursprünglichen Links tot waren. Ich habe einen funktionierenden Link zu der These gefunden, der als Grundlage für diese Antwort diente, und die obigen Links aktualisiert. Siehe hier für die Seite des Verfassers der Abschlussarbeit, die diese Abschlussarbeit enthält.
SamGibson