-
HINTERGRUND
-
Die vorliegende Erfindung ist auf Computerspeicher und insbesondere auf das Ermitteln eines Binärwertes einer Speicherzelle gerichtet.
-
Typische Halbleiter-Computerspeicher werden auf Halbleitersubstraten hergestellt, die aus Arrays mit einer großen Anzahl physischer Speicherzellen bestehen. Im Allgemeinen wird ein Bit von Binärdaten als Änderung eines physischen Parameters dargestellt, der zu einer Speicherzelle gehört. Zu häufig verwendeten physischen Parametern zählen die Änderung einer Schwellenwertspannung des Metalloxid-Feldeffekttransistors (Metal Oxide Field Effect Transistor, MOSFET) aufgrund der Ladungsmenge, die in einem Floating Gate oder in einer Fangschicht bei nichtflüchtigem elektrisch löschbarem programmierbarem Festwertspeicher (Electrically Erasable Programmable Read Only Memory, EEPROM) gespeichert ist, die Widerstandsänderung eines Phasenänderungs-Speicherelements bei Phasenänderungs-Direktzugriffsspeicher (Phase-change Random Access Memory, PRAM) oder bei Ovonics Unified Memory (OUM) und die Änderung der Ladungsspeicherung bei flüchtigem dynamischem Direktzugriffsspeicher (Dynamic Random Access Memory, DRAM).
-
In der
US 2011/0051511 A1 ist eine Speichereinrichtung gezeigt, die ein Speicherelement, das mit einer Bitleitung gekoppelt ist, und einen Quantisierungskreis, der über die Bitleitung mit dem Speicherelement gekoppelt ist, aufweist.
-
In der
US 2011/0038199 A1 ist ein Speichersystem sowie ein Verfahren zum Betrieb eines Speichersystem gezeigt, wobei mehrstufige Speicherzellen eine Zeitverzögerung als Level-Eigenschaft verwenden.
-
In der
DE 10 2005 017 087 A1 ist eine Datenausleseschaltung gezeigt, die dazu dient, einen Speicherdatenwert aus einem Widerstandsänderungsspeicher auszulesen, der an einem Schnittpunkt zwischen einer Bitleitung und Wortleitung angeordnet ist.
-
Das Erhöhen der Anzahl von Bits, die in einer einzelnen physischen Halbleiterspeicherzelle gespeichert sind, ist ein wirksames Verfahren zur Senkung der Fertigungskosten je Bit. Mehrere Datenbits können außerdem in einer einzelnen Speicherzelle gespeichert werden, wenn Änderungen des physischen Parameters mehreren Bitwerten zugeordnet werden können. Eine derartige Speicherzelle zur Speicherung mehrerer Bits ist allgemein als MLC-Zelle (MLC = Multi Level Cell) bekannt. Beim Entwurf von Computerspeichereinheiten und Computerspeicherschaltungen werden erhebliche Anstrengungen unternommen, um die Anzahl von Bits zu maximieren, die in einer einzelnen physischen Speicherzelle gespeichert werden. Dies gilt insbesondere für Speicher der Speicherklasse wie zum Beispiel für den weitverbreiteten nichtflüchtigen Flash-Speicher, der häufig als Massenspeichereinheit verwendet wird.
-
Die grundlegende Anforderung an die Speicherung mehrerer Bits in einer Halbleiterspeicherzelle besteht darin, das Spektrum der Änderung des physischen Parameters zur Verfügung zu haben, um mehreren, sich nicht überlappenden Bändern von Werten Platz zu bieten. Die Anzahl von Bändern, die bei einer n-Bit-Zelle erforderlich ist, beträgt 2n. Eine 2-Bit-Zelle benötigt 4 Bänder, eine 3-Bit-Zelle benötigt 8 Bänder und so weiter. Daher bildet das zur Verfügung stehende Spektrum eines physischen Parameters in einer Halbleiterspeicherzelle einen Begrenzungsfaktor für die Speicherung mehrerer Bits in einem Speicher.
-
KURZDARSTELLUNG
-
Eine beispielhafte Ausführungsform der Erfindung ist eine Schaltung zum Ermitteln eines Binärwertes einer Speicherzelle. Der Binärwert der Speicherzelle wird durch einen elektrischen Widerstandswert der Speicherzelle dargestellt. Der Binärwert der Speicherzelle weist höchstwertige Bits und niedrigstwertige Bits auf. Die Schaltung weist eine Vielzahl von Parallelkondensatoren mit unterschiedlichen Kapazitäten auf, die so konfiguriert sind, dass selektiv eine Verbindung mit der Speicherzelle und einer Steuereinheit hergestellt wird. Die Steuereinheit ist so konfiguriert, dass: die Parallelkondensatoren iterativ auf eine erste Spannung aufgeladen werden, bis ein ausgewählter Parallelkondensator bewirkt, dass die erste Spannung innerhalb eines vordefinierten Zeitbereiches über die Speicherzelle auf eine erste Vergleichsspannung abnimmt; auf der Grundlage des ausgewählten Parallelkondensators ein Binärwert der höchstwertigen Bits der Speicherzelle ermittelt wird; nach dem Ermitteln des Binärwertes der höchstwertigen Bits der Speicherzelle der ausgewählte Parallelkondensator auf eine zweite Spannung aufgeladen wird; und auf der Grundlage einer Abnahme der zweiten Spannung am ausgewählten Parallelkondensator über die Speicherzelle ein Binärwert der niedrigstwertigen Bits der Speicherzelle ermittelt wird.
-
Eine weitere beispielhafte Ausführungsform der Erfindung ist ein Verfahren zum Ermitteln eines Binärwertes einer Speicherzelle. Der Binärwert der Speicherzelle wird durch einen elektrischen Widerstandswert der Speicherzelle dargestellt. Der Binärwert der Speicherzelle weist höchstwertige Bits und niedrigstwertige Bits auf. Das Verfahren umfasst die folgenden Schritte: Parallelkondensatoren, die unterschiedliche Kapazitäten aufweisen, iterativ auf eine erste Spannung aufgeladen werden, bis ein ausgewählter Parallelkondensator bewirkt, dass die erste Spannung innerhalb eines vordefinierten Zeitbereiches über die Speicherzelle auf eine erste Vergleichsspannung abnimmt; auf der Grundlage des ausgewählten Parallelkondensators ein Binärwert der höchstwertigen Bits der Speicherzelle ermittelt wird; nach dem Ermitteln des Binärwertes der höchstwertigen Bits der Speicherzelle der ausgewählte Parallelkondensator auf eine zweite Spannung aufgeladen wird; und auf der Grundlage einer Abnahme der zweiten Spannung am ausgewählten Parallelkondensator über die Speicherzelle ein Binärwert der niedrigstwertigen Bits der Speicherzelle ermittelt wird.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt eine beispielhafte Ausführungsform einer Schaltung zum Ermitteln eines Binärwertes einer Speicherzelle, wie durch die vorliegende Erfindung vorgeschlagen.
-
2 zeigt einen beispielhaften Prozessablauf zum Ermitteln der zwei höchstwertigen Bits einer Vier-Bit-Speicherzelle durch Erkennen von Zählerüberläufen.
-
3 zeigt einen beispielhaften Prozessablauf zum Ermitteln der zwei höchstwertigen Bits einer Vier-Bit-Speicherzelle durch Erkennen von Zählerunterläufen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die vorliegende Erfindung wird unter Bezugnahme auf Ausführungsformen der Erfindung beschrieben. In der gesamten Beschreibung der Erfindung wird auf die 1 bis 3 Bezug genommen. Bei der Bezugnahme auf die Figuren sind gezeigte gleiche Strukturen und Elemente durchgehend mit denselben Bezugsziffern gekennzeichnet.
-
1 zeigt die Ausführungsform einer Schaltung 102 zum Ermitteln eines Binärwertes einer Speicherzelle 106, wie durch die vorliegende Erfindung vorgeschlagen. Das System weist ein Speicher-Array 104 zum Speichern von Daten auf. Das Speicher-Array 104 weist eine Vielzahl von Speicherzellen auf. Jede Speicherzelle kann auf einen bestimmten Widerstandswert programmiert werden, der zu einem späteren Zeitpunkt gelesen werden könnte. Auf diese Weise erzeugt das Speicher-Array 104 allgemein den Widerstand von Speicherzellen, um darin gespeicherte Binärdaten darzustellen. Bei einer Ausführungsform kann jede Speicherzelle mehrere Bits mit Daten darstellen, indem in den Speicherzellen unterschiedliche Widerstandswerte gespeichert werden. Somit weist der Binärwert der Speicherzelle 106 höchstwertige Bits (Most Significant Bits, MSB) und niedrigstwertige Bits (Least Significant Bits, LSB) auf.
-
Die Schaltung 102 weist eine Vielzahl von Parallelkondensatoren (C1, C2, C3) mit unterschiedlichen Kapazitäten auf. Bei einer Ausführungsform weist das Verhältnis zwischen jeder Kapazität der Parallelkondensatoren eine logarithmische Beziehung auf. Die Parallelkondensatoren sind so konfiguriert, dass selektiv eine Verbindung zur Speicherzelle 106 hergestellt wird. Zum Beispiel kann die Schaltung 102 an jedem Parallelkondensator einen Zugriffstransistor 110 aufweisen, der so konfiguriert ist, dass die Speicherzelle 106 selektiv mit einem ausgewählten Parallelkondensator elektrisch verbunden wird.
-
Wie nachfolgend ausführlicher beschrieben wird, weist die Schaltung 102 eine Steuereinheit 112 auf, die so konfiguriert ist, dass die Parallelkondensatoren iterativ auf eine erste Spannung aufgeladen werden. Die Iteration wird so lange durchgeführt, bis ein ausgewählter Parallelkondensator bewirkt, dass die erste Spannung innerhalb eines vordefinierten Zeitbereiches über die Speicherzelle 106 auf eine erste Vergleichsspannung (Vref) abnimmt. Der Binärwert der höchstwertigen Bits der Speicherzelle 106 beruht auf dem ausgewählten Parallelkondensator.
-
Die Steuereinheit 112 lädt dann den ausgewählten Parallelkondensator auf eine zweite Spannung auf, nachdem der Binärwert der höchstwertigen Bits der Speicherzelle ermittelt wurde. Der Binärwert der niedrigstwertigen Bits der Speicherzelle 106 wird auf der Grundlage der Abnahme der zweiten Spannung am ausgewählten Parallelkondensator über die Speicherzelle 106 ermittelt. Bei einer Ausführungsform sind die erste Spannung und die zweite Spannung gleich.
-
Die Schaltung kann einen Zähler 114 aufweisen, der so konfiguriert ist, dass Taktimpulse gezählt werden, bis die erste Spannung auf die erste Vergleichsspannung (Vref) abnimmt. Bei einer Ausführungsform ist der ausgewählte Parallelkondensator einer der Parallelkondensatoren, die die kleinste Kapazität aufweisen, die bewirkt, dass der Zähler überläuft. Im hierin verwendeten Sinn bedeutet der Begriff „Überlauf”, dass der Zähler seinen größtmöglichen Zählwert erreicht. Bei einer weiteren Ausführungsform ist der ausgewählte Parallelkondensator einer der Parallelkondensatoren, die die kleinste Kapazität aufweisen, die bewirkt, dass ein Unterlauf des Zählers eintritt. Im hierin verwendeten Sinn bedeutet der Begriff „Unterlauf”, dass der Zähler auf seinem kleinstmöglichen Zählwert verbleibt.
-
2 zeigt einen beispielhaften Prozessablauf zum Ermitteln der zwei höchstwertigen Bits einer Vier-Bit-Speicherzelle durch Erkennen von Zählerüberläufen. Der Zähler nutzt ein schnelles Taktsignal und ist so ausgelegt, dass er bei t = R0 16C·(logVBL(0) – logVref), überläuft, wobei VBL(0) die erste Spannung ist, auf die die Parallelkondensatoren zu Beginn aufgeladen werden. Der Prozessablauf ignoriert Zählerunterläufe.
-
3 zeigt einen beispielhaften Prozessablauf zum Ermitteln der zwei höchstwertigen Bits einer Vier-Bit-Speicherzelle durch Erkennen von Zählerunterläufen. Der Zähler nutzt ein langsames Taktsignal. Der Prozessablauf ignoriert Zählerüberläufe.
-
Unter erneuter Bezugnahme auf
1 beruht der Binärwert der Speicherzelle
106 bei einer Ausführungsform auf einer Zeit der Abnahme von der zweiten Spannung auf die zweite Vergleichsspannung (V
ref). Der Zähler
114 ist so konfiguriert, dass Taktimpulse in einem binären Taktimpulszählwert
116 gezählt werden, bis die zweite Spannung auf die zweite Vergleichsspannung abnimmt. Bei einer bestimmten Ausführungsform beruht der Binärwert der niedrigstwertigen Bits ausschließlich auf der Position der höchsten Stelle des binären Taktimpulszählwertes, wie in der folgenden Tabelle gezeigt.
Zählerausgang (b3, b2, b1, b0) | Messausgang (LSB) |
0001 | 00 |
001x | 01 |
01xx | 10 |
1xxx | 11 |
Tabelle 1 – Schema der Zählerdecodierung
-
1 zeigt eine weitere beispielhafte Ausführungsform der Schaltung 102 zum Ermitteln des Binärwertes der Speicherzelle 106. Die ausgewählte Speicherzelle weist Phasenänderungsmaterial 108 auf, das auf einen einer Vielzahl von Widerstandswerten programmiert werden kann.
-
Die Schaltung 102 weist eine Vielzahl von Vergleichern (Komparatoren) 120 auf. Jeder der Komparatoren 120 ist mit einer anderen Spannungsreferenz (Vref1, Vref2, Vref3 und Vref4) verbunden. Des Weiteren ist der Zugriffstransistor 110 so konfiguriert, dass die Speicherzelle 106 mit dem ausgewählten Parallelkondensator und den Komparatoren 120 elektrisch verbunden wird. Darüber hinaus beruht der Binärwert der niedrigstwertigen Bits der Speicherzelle auf den Ausgängen der Komparatoren zu einem vordefinierten Zeitpunkt.
-
Die Schaltung 102 ist so konfiguriert, dass eine Abnahmespannung 114 eines ausgewählten Parallelkondensators mit der Vielzahl unterschiedlicher Vergleichsspannungen Vref1 bis Vref4 zu einem vordefinierten Zeitpunkt verglichen wird, nachdem der ausgewählte Parallelkondensator mit der Speicherzelle 106 verbunden wurde. Darüber hinaus kann die Steuereinheit 112 so konfiguriert sein, dass die niedrigstwertigen Bits der ausgewählten Speicherzelle 106 auf der Grundlage ermittelt werden, welche der Vergleichsspannungen Vref1 bis Vref4 oberhalb der Abnahmespannung 114 und welche der Vergleichsspannungen Vref1 bis Vref4 unterhalb der Abnahmespannung 114 liegen.
-
Bei einer Ausführungsform ist die Steuereinheit 112 so konfiguriert, dass der ausgewählte Parallelkondensator auf eine zweite Spannung V0 aufgeladen wird, bevor der Parallelkondensator über die Speicherzelle 106 entladen wird. Somit ist die Abnahmespannung des Messkondensators über die Zeit etwa gleich einer RC-Abnahme von V0exp(–t/RC). Des Weiteren führen unterschiedliche Widerstandswerte der ausgewählten Speicherzelle zu unterschiedlichen Geschwindigkeiten der RC-Abnahme.
-
Bei einer Ausführungsform können die Geschwindigkeiten der Widerstandsabnahme durch Messen verschiedener RC-Verzögerungen auf den Bitleitungen BL<0> bis BL<N> unterschieden werden. Bei einer Ausführungsform ist ein Taktsignal 115 so konfiguriert, dass eine Abfrageschaltung 118 zu einem vordefinierten Zeitpunkt ausgelöst wird. Die Abfrageschaltung 118 fragt ein Ergebnis der Abnahmespannung 114 ab, die mit der Vielzahl unterschiedlicher Vergleichsspannungen Vref1 bis Vref4 verglichen wurde, wenn das Taktsignal 115 einen vordefinierten Zeitpunkt erreicht.
-
Die niedrigstwertigen Bits (LSB) des Widerstandswertes werden aus den Messverstärkerausgängen (b
3, b
2, b
1, b
0) ermittelt. Zum Beispiel kann die Abnahmespannung
114 mit vier unterschiedlichen Vergleichsspannungswerten verglichen werden. Die Anzahl von Vergleichsspannungen kann je nach Anwendungsfall auf unterschiedliche Weise ausgewählt werden. Die Schaltung
102 kann einen Decoder
112 aufweisen, der so konfiguriert ist, dass der Ausgang der Messverstärker
120 in einen Binärwert umgewandelt wird. Tabelle 2 veranschaulicht ein beispielhaftes Decodierungsschema, das von der Erfindung vorgeschlagen wird. Bei einer Realisierungsform wird die Spannung der Bitleitung an der fallenden Flanke des Taktsignals ausgelöst und mit den verschiedenen Spannungswerten verglichen.
MV-Ausgang (Vref1 < Vref2 < Vref3 < Vref4) | Messausgang (LSB) |
Vref1 < V < Vref2 | 0001 (00) |
Vref2 < V < Vref3 | 0011 (01) |
Vref3 < V < Vref4 | 0111 (10) |
Vref4 < V | 1111 (11) |
Tabelle 2 – Schema der Messverstärkerdecodierung
-
Die Schaltung 102 kann einen oder mehrere Decodierkondensatoren 124 aufweisen, die selektiv so mit der Bitleitung verbunden werden, dass die Kapazität der Decodierkondensatoren 124 im Wesentlichen eine Bitleitungskapazität der mit der Bitleitung verbundenen Speicherzellen ausgleicht. Auf diese Weise kompensieren die Decodierkondensatoren 124 die Bitleitungskapazität infolge der Datenmuster, die in jeder Zelle auf derselben Bitleitung gespeichert sind.
-
Ferner wird ein beispielhaftes Verfahren zum Ermitteln eines Binärwertes einer Speicherzelle beschreiben. Wie oben erläutert wird der Binärwert der Speicherzelle durch einen elektrischen Widerstandswert der Speicherzelle dargestellt. Der Binärwert der Speicherzelle weist höchstwertige Bits und niedrigstwertige Bits auf.
-
Das Verfahren beginnt bei dem Ladevorgang. Während dieses Vorgangs werden die Parallelkondensatoren iterativ auf eine erste Spannung aufgeladen, bis ein ausgewählter Parallelkondensator bewirkt, dass die erste Spannung innerhalb eines vordefinierten Zeitbereiches über die Speicherzelle auf eine erste Vergleichsspannung abnimmt. Wie oben erwähnt weisen die Parallelkondensatoren unterschiedliche Kapazitäten auf, und bei einer Ausführungsform weist das Verhältnis zwischen jeder Kapazität der Parallelkondensatoren eine logarithmische Beziehung auf.
-
Wie oben erläutert kann das iterative Aufladen der Parallelkondensatoren das Zählen von Taktimpulsen in einem Zähler aufweisen, bis die erste Spannung auf die erste Vergleichsspannung abnimmt. Bei einer Ausführungsform, bei der ein schnelles Taktsignal genutzt wird, ist der ausgewählte Parallelkondensator einer der Parallelkondensatoren, die die kleinste Kapazität aufweisen, die bewirkt, dass der Zähler überläuft. Bei einer Ausführungsform, bei der ein langsames Taktsignal genutzt wird, ist der ausgewählte Parallelkondensator einer der Parallelkondensatoren, die die kleinste Kapazität aufweisen, die bewirkt, dass ein Unterlauf des Zählers eintritt.
-
Nachdem der Ladevorgang abgeschlossen ist, geht die Steuerung zum Ermittlungsvorgang über. Während dieses Vorgangs wird der Binärwert der höchstwertigen Bits der Speicherzelle auf der Grundlage des ausgewählten Parallelkondensators ermittelt. Wenn der Ermittlungsvorgang endet, geht die Steuerung zum Ladevorgang über.
-
Beim Ladevorgang wird der ausgewählte Parallelkondensator auf eine zweite Spannung aufgeladen. Die erste Spannung und die zweite Spannung können gleich sein. Nachdem der Ladevorgang abgeschlossen ist, geht die Steuerung zum Ermittlungsvorgang über.
-
Beim Ermittlungsvorgang wird der Binärwert der niedrigstwertigen Bits der Speicherzelle auf der Grundlage der RC-Abnahme der zweiten Spannung am ausgewählten Parallelkondensator über die Speicherzelle ermittelt. Wie oben ausführlich erläutert kann das Ermitteln des Binärwertes der niedrigstwertigen Bits aufweisen, dass die Speicherzelle mit dem ausgewählten Parallelkondensator elektrisch so verbunden wird, dass der Binärwert der niedrigstwertigen Bits auf einer Zeit der Abnahme von der zweiten Spannung auf eine zweite Vergleichsspannung beruht. Diese Ausführungsform kann ferner das Zählen von Taktimpulsen in einem binären Taktimpulszählwert aufweisen, bis die zweite Spannung auf die zweite Schwellenspannung abnimmt, sodass der Binärwert der niedrigstwertigen Bits ausschließlich auf einer Position der höchsten Stelle des binären Taktimpulszählwertes beruht.
-
Bei einer weiteren Ausführungsform kann das Ermitteln des binären Wertes der niedrigstwertigen Bits aufweisen, dass die Speicherzelle mit dem ausgewählten Parallelkondensator elektrisch verbunden und die Spannung am ausgewählten Kondensator zu einem vordefinierten Zeitpunkt mit einer Vielzahl von Spannungsbereichen verglichen wird. Zum Beispiel kann die LSB-Decoderschaltung vier Messverstärkerausgänge (b3, b2, b1, b0) aufweisen, die die Bitleitung von der Speicherzelle mit vier unterschiedlichen Vergleichsspannungswerten vergleichen.
-
Es sollte beachtet werden, dass bei einigen alternativen Realisierungsformen die in einem Block eines Ablaufplans angegebenen Funktionen in einer anderen als der in den Figuren angegebenen Reihenfolge ausgeführt werden können. Beispielsweise können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können, da es sich bei den hierin abgebildeten Ablaufplänen lediglich um Beispiel handelt, je nach der damit verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Es sind viele Abweichungen von diesen hierin beschriebenen Ablaufplänen oder Schritten (oder Operationen) möglich, ohne vom Gedanken der Erfindung abzuweichen. Beispielsweise können die Schritte gleichzeitig und/oder in einer anderen Reihenfolge ausgeführt werden, oder es können Schritte hinzugefügt, gelöscht und/oder abgeändert werden.