-
Die
vorliegende Erfindung bezieht sich auf Informationsspeicherungsvorrichtungen
und insbesondere auf eine programmierbare Adresslogik für diodenbasierte
Festkörperspeichervorrichtungen. Genauer
gesagt bezieht sich die vorliegende Erfindung auf einen einmalig
programmierbaren (OTP) Festkörperspeicher.
-
Tragbare
Vorrichtungen, wie z. B. PDAs, Handcomputer, Digitalkameras und
Digitalmusikspieler, umfassen einen Speicher zum Speichern von Daten,
digitalen Bildern und MP3-Dateien. Unterschiedliche Typen von Speicher
sind für
diese tragbaren Vorrichtungen verfügbar. Herkömmliche Speichertypen umfassen
einen Flash-Speicher, Minifestplatten, Mini-Compact-Disks und Magnetband.
Jeder dieser Speichertypen weist jedoch eine oder mehr der folgenden
Einschränkungen
auf: große
physische Größe, geringe
Speicherkapazität,
relativ hohe Kosten, schlechte Robustheit, langsame Zugriffszeit
und hohe Leistungsaufnahme.
-
Ein
diodenbasierter Festkörper-OTP-Speicher
ist in der Europäischen
Patentanmeldung 1265287 offenbart. Verglichen mit dem herkömmlichen
Speicher weist der diodenbasierte Speicher eine hohe Stoßtoleranz,
eine geringe Leistungsaufnahme, eine schnelle Zugriffszeit, eine
angemessene Übertragungsgeschwindigkeit
und eine gute Speicherkapazität
auf. Der diodenbasierte Speicher kann in eine standardmäßige tragbare
Schnittstelle (z. B. PCMCIA, CF) einer tragbaren Vorrichtung passen.
-
Eine
Adresslogik der diodenbasierten Speichervorrichtung ist auf der
gleichen Ebene wie ein Hauptspeicher gebildet. Bei einer diodenbasierten Mehrebenenspeichervorrichtung
weist jede Ebene einen Hauptspeicher und eine Adresslogik auf (im Gegensatz
zu einem herkömmlichen
Festkörperspeicher,
wie z. B. DRAM). Außerdem
ist die Adresslogik der di odenbasierten Speichervorrichtung programmierbar.
Die Adresslogik kann programmiert werden, nachdem jede Schicht hergestellt
worden ist. Da keine Maskierung erforderlich ist, ist ein physisches
Verarbeiten vereinfacht.
-
Die
US-A-4,795,657 offenbart eine Festkörperspeichervorrichtung, die
einen Decodierer mit einer ersten und einer zweiten Gruppe von Adresselementen
aufweist, die unterschiedliche zugewiesene Logikelemente mit entsprechenden
Stromtragefähigkeiten
aufweisen. Die Offenbarung dieser Druckschrift entspricht allgemein
dem Oberbegriff von Anspruch 1.
-
Gemäß der vorliegenden
Erfindung wird eine Festkörperspeichervorrichtung
geliefert, die einen Decodierer aufweist, der eine erste und eine
zweite Gruppe von Adresselementen aufweist, wobei den Adresselementen
der ersten Gruppe ein erster logischer Wert zugewiesen wurde und
den Adresselementen der zweiten Gruppe ein zweiter logischer Wert
zugewiesen wurde, wobei eine Stromtragefähigkeit der ersten Gruppe von
Adresselementen größer ist
als die Stromtragefähigkeit
der zweiten Gruppe von Adresselementen, dadurch gekennzeichnet, dass
Elemente der ersten Gruppe physisch größer sind als Elemente der zweiten
Gruppe.
-
Ein
Strom, der während
eines Programmierens durch die Adresselemente fließt, bewirkt,
dass sich die Widerstandswertzustände nur der zweiten Gruppe
von Adresselementen verändern.
-
Andere
Aspekte und Vorteile der vorliegenden Erfindung werden aus der folgenden
detaillierten Beschreibung zusammen mit den beiliegenden Zeichnungen
ersichtlich, die beispielhaft die Prinzipien der vorliegenden Erfindung
veranschaulichen.
-
1 ist
ein Blockdiagramm einer Ebene einer Festkörperspeichervorrichtung.
-
2a–2c sind
Darstellungen von unterschiedlichen Typen von programmierbaren Elementen
in der Ebene.
-
3 ist
eine weitere Darstellung eines programmierbaren Elements.
-
4 ist
eine Darstellung eines Verfahrens zum Verändern der Widerstandswertzustände von Adresselementen.
-
5a–5c sind
Darstellungen von unterschiedlichen Entwürfen für ausgewählte und nicht ausgewählte Adresselemente
eines Decodierers.
-
6a und 6b sind
Darstellungen einer Ebene einer Festkörperspeichervorrichtung, die
eine Fehlerverwaltung zulässt.
-
7 ist
eine Darstellung eines Verfahrens zum Vermeiden von Fehlern bei
einer Mehrebenenfestkörperspeichervorrichtung.
-
8 ist
eine Darstellung einer Mehrebenenfestkörperspeichervorrichtung.
-
Es
wird Bezug genommen auf 1, die eine Ebene 8 einer
Festkörperspeichervorrichtung zeigt.
Die Ebene 8 umfasst einen Hauptspeicher 10 und
eine programmierbare Adresslogik 12, 14. Der Hauptspeicher 10 umfasst
ein Kreuzungspunktwiderstandsarray von OTP-Speicherelementen 16,
Bahnen, die als Wortleitungen 18 fungieren, die sich entlang
Zeilen der Speicherelemente 16 erstrecken, und Bahnen,
die als Bitleitungen 20 fungieren, die sich entlang Spalten
der Speicherelemente 16 erstrecken. Es kann eine Wortleitung 18 für jede Zeile
der Speicherelemente 16 und eine Bitleitung 20 für jede Spalte
der Speicherelemente 16 vorliegen. Jedes Speicherelement 16 ist
an einem Kreuzungspunkt einer Wortlei tung 18 und einer
Bitleitung 20 angeordnet. Nur eine relativ geringe Anzahl
von Speicherelementen 16 ist gezeigt, um die Darstellung
der Ebene 8 zu vereinfachen. In der Praxis können Arrays
jeder beliebigen Größe verwendet
werden.
-
Die
Adresslogik 12, 14 verwendet eine kombinatorische
Diodenlogik zum Adressieren der Speicherelemente 16 während Lese-
und Schreiboperationen. Die Adresslogik 12, 14 umfasst
einen OTP-Zeilendecodierer 12 zum Auswählen der Wortleitungen 18.
Der Zeilendecodierer 12 wählt die Wortleitungen 18 durch
ein Decodieren von Adressen aus, die an Zeilenadressleitungen 22 geliefert
werden (die Adressen können
durch externe Zeilenadresstreiber 24 geliefert werden).
Der Zeilendecodierer 12 umfasst eine Mehrzahl von OTP-Adresselementen 26. Jedes
Adresselement 26 des Zeilendecodierers 12 befindet
sich an einem Kreuzungspunkt einer Wortleitung 18 und einer
Zeilenadressleitung 22.
-
Die
Adresslogik 12, 14 umfasst auch einen OTP-Spaltendecodierer 14 zum
Auswählen
der Bitleitungen 20. Der Spaltendecodierer 14 wählt die
Bitleitungen 20 durch ein Decodieren von Adressen aus,
die an Spaltenadressleitungen 28 geliefert werden (die
Adressen können
durch externe Spaltenadresstreiber 30 geliefert werden).
Der Spaltendecodierer 14 umfasst auch eine Mehrzahl von OTP-Adresselementen 26.
Jedes Adresselement 26 des Spaltendecodierers 14 befindet
sich an dem Kreuzungspunkt einer Bitleitung 20 und einer
Spaltenadressleitung 28.
-
Ein
Ende jeder Wortleitung 18 endet bei einer Zeilenerfassungslogik 34.
Die Zeilenerfassungslogik 34 umfasst mehrere Erfassungswiderstände 36, wobei
jeder Erfassungswiderstand 36 zwischen eine Zeilenleistungsleitung 38 und
ein Ende einer Wortleitung 18 geschaltet ist. Eine Zeilenerfassungsleitung 40 kreuzt
die Wortleitungen 18. Die Zeilenerfassungslogik 34 umfasst
auch mehrere Erfassungselemente 42, wobei jedes Erfassungselement 42 zwischen
die Zeilenerfassungsleitung 40 und eine Wortleitung 18 geschaltet
ist.
-
Ein
Ende jeder Bitleitung 20 endet bei einer Spaltenerfassungslogik 44.
Die Spaltenerfassungslogik 44 umfasst mehrere Erfassungswiderstände 36, wobei
jeder Erfassungswiderstand 36 zwischen eine Spaltenleistungsleitung 46 und
ein Ende einer Bitleitung 20 geschaltet ist. Eine Spaltenerfassungsleitung 48 kreuzt
die Bitleitungen 20. Die Spaltenerfassungslogik 44 umfasst
auch mehrere Erfassungselemente 42, wobei jedes Erfassungselement 42 zwischen
die Spaltenerfassungsleitung 48 und eine Bitleitung 20 geschaltet
ist.
-
Eine
Zeilenprogrammierleitung 50 zwischen dem Hauptspeicher 10 und
dem Zeilendecodierer 12 kreuzt die Wortleitungen 18.
Programmierelemente 52 sind zwischen die Zeilenprogrammierleitung 50 und
die Wortleitungen 18 geschaltet.
-
Eine
Spaltenprogrammierleitung 54 zwischen dem Hauptspeicher 10 und
dem Spaltendecodierer 14 kreuzt die Bitleitungen 20.
Programmierelemente 52 sind zwischen die Spaltenprogrammierleitung 54 und
die Bitleitungen 20 geschaltet.
-
Die
Speicherelemente 16, die Adresselemente 26, die
Erfassungselemente 42 und die Programmierelemente 52 können alle
diodenbasiert sein. Dies vereinfacht die Herstellung der Ebene 8.
-
Unterschiedliche
Typen von programmierbaren Elementen 16/26/42/52 sind
in den 2a–2c gezeigt.
Das programmierbare Element von 2a umfasst
eine Sicherung 110, die in Reihe mit einer Diode 112 gekoppelt
ist. Vor einem Programmieren ist der Widerstandswertzustand eines
derartigen Elements niedrig, wobei die Sicherung 110 intakt
ist. Während
des Programmierens kann der Widerstandswertzustand des Elements durch
ein „Durchbrennen" der Sicherung 110 von niedrig
zu hoch verändert
werden.
-
Das
programmierbare Element von 2b umfasst
einen Widerstand 120, der in Reihe mit einer Diode 122 gekoppelt ist.
Vor einem Programmieren ist der Widerstandswertzustand eines derartigen
Elements niedrig, wobei der Widerstand 120 intakt ist. Während des
Programmierens kann der Widerstandswertzustand des Elements durch
ein „Durchbrennen" des Widerstands 120 von
niedrig zu hoch verändert
werden.
-
Das
programmierbare Element von 2c umfasst
nur eine Diode 132. Vor einem Programmieren ist die Diode 132 intakt,
wodurch ihr Widerstandswertzustand niedrig ist. Während des
Programmierens kann die Diode 132 geöffnet werden, um ihren Widerstandswertzustand
von niedrig zu hoch zu verändern.
Eine derartige Diode 132 fungiert als eine Sicherung. Bei
der Alternative kann die Diode 132 als eine Antisicherung
fungieren, die während
des Programmierens von einem hohen Widerstandswertzustand zu einem
niedrigen Widerstandswertzustand übergeht.
-
Die
programmierbaren Elemente 16/26/42/52 sind
nicht auf die Typen beschränkt,
die in den 2a–2c gezeigt
sind. Zum Beispiel könnten
die programmierbaren Elemente 16/26/42/52 Transistoren
anstelle von Dioden umfassen.
-
Um
nun zu 1 zurückzukehren,
kann die Ebene 8 hergestellt werden wie folgt. Spaltenleitungen 20 werden
auf einem Substrat gebildet, ein Mehrschichtfilm aus Silizium wird
auf den Spaltenleitungen 20 gebildet, und Wortleitungen 18 werden
auf dem Film gebildet. Jedes programmierbare Element 16/26/42/52 kann
als derjenige Abschnitt des Films (F) zwischen zwei sich kreuzenden
Bahnen (T) (siehe 3) gebildet werden. Die Größe des programmierbaren
Elements 16/26/42/52 wird durch
den überlappenden
Bereich zwischen sich kreuzenden Bahnen und die Dicke des Films
bestimmt. Zum Beispiel wird eine Diode in dem Hauptspeicher 10 als derjenige
Abschnitt des Films zwischen sich kreuzenden Wort- und Bitleitungen 18 und 20 gebildet.
-
Die
unterschiedlichen Schichten des Filmes weisen geeignete Dotierungen
(und/oder eine Kombination von kristallinem und amorphem Silizium) auf,
um die Dioden 112, 122, 132 zu bilden.
Zusätzliche
Schichten mit geeigneten Dotierungen können hinzugefügt werden,
um Widerstände 120,
Sicherungen 110 oder Antisicherungen zu bilden. Die Erfassungswiderstände 36 können durch
ein Modifizieren der Enden der Wort- und Bitleitungen 18 und 20 gebildet
werden. Die Zeilen- und Spaltenadresstreiber 24 und 30 können auf
dem Substrat gebildet werden.
-
Die
Zeilen- und Spaltendecodierer 12 und 14 können während einer
Vorrichtungsherstellung programmiert werden, nachdem die Ebene 8 hergestellt worden
ist. Die Decodierer 12 und 14 werden durch ein
Verändern
der Widerstandswertzustände
von ausgewählten
Adresselementen von einem niedrigen Widerstandswertzustand zu einem
hohen Widerstandswertzustand (oder umgekehrt) programmiert. Einzelheiten
der kombinatorischen Logik zum Adressieren des Hauptspeichers (d.
h. die Einzelheiten darüber,
welche Adresselemente ausgewählt
werden) sind in der Europäischen
Patentanmeldung 1265287 offenbart. Verschiedene Arten des Programmierens
der Decodierer 12 und 14 sind im Folgenden beschrieben.
-
Daten
können
durch ein Liefern von Zeilen- und Spaltenadressen an die Zeilen-
und Spaltendecodierer 12 und 14 in den Hauptspeicher 10 geschrieben
werden. Ein Schreibstrom fließt
durch eine ausgewählte
Wortleitung 18 und eine ausgewählte Bitleitung 20 und
fließt
deshalb an dem Kreuzungspunkt der ausgewählten Wort- und Bitleitung 18 und 20 durch
das Speicherelement 16. Die Stärke des Schreibstroms ist ausreichend,
um den Widerstandswertzustand des ausgewählten Elements zu verändern (z.
B. durch ein Öffnen
der Sicherung 110 von 2a, ein Öffnen des
Widerstands 120 von 2b, ein Öffnen der
Diode 132 von 2c, ein Kurzschließen der
Antisicherung).
-
Der
Widerstandswertzustand eines Speicherelements 16 kann durch
ein Liefern von Zeilen- und Spaltenadressen an die Zeilen- und Spaltendecodierer 12 und 14 erfasst
werden. Ei ne Spannung wird an die zweite Zeilenerfassungsleitung 40 angelegt,
und eine Spannung einer entgegengesetzten Polarität wird an
die zweite Spaltenerfassungsleitung 48 angelegt. Ein Erfassungsstrom
fließt
durch eine ausgewählte
Wortleitung 18 und eine ausgewählte Bitleitung 20 und
fließt
deshalb an dem Kreuzungspunkt der ausgewählten Wort- und Bitleitung 18 und 20 durch
das Speicherelement 16. Die Stärke des Erfassungsstroms zeigt
den Widerstandswertzustand des ausgewählten Speicherelements 16 an.
-
Jedes
Adresselement 26 weist eine Verbindung auf, die während eines
Programmierens unterbrochen werden kann. Zum Beispiel ist die Sicherung 110 die
Verbindung für
das Adresselement, das in 2a gezeigt
ist, der Widerstand 120 für das Adresselement von 2b und
die Diode 132 für
das Adresselement von 2c. Jede Verbindung ist aus einem
photoempfindlichen Material hergestellt, das normalerweise für Solarzellen
und Anzeigen verwendet wird. Z. B. können die Verbindungen aus amorphem
Silizium mit einer P-dotierten
Schicht hergestellt sein. Die Leitfähigkeit von intrinsischem amorphem
Silizium ist normalerweise 106 mal geringer
als bei dem dotierten amorphen Silizium. Wenn dieselbe jedoch mit
Licht bestrahlt wird, nimmt die Leitfähigkeit der intrinsischen Region
auf ein Niveau zu, das demjenigen der dotierten Region ähnlich ist.
Durch ein Bestrahlen eines Adresselements 26 wird die Dichte des
Stroms, der durch das Adresselement 26 fließt, bis
zu dem Punkt erhöht,
an dem die Verbindung durchbrennt.
-
Es
wird nun Bezug genommen auf 4, die ein
Verfahren zum Verändern
des Widerstandswertzustands von „ausgewählten" Adresselementen 26 veranschaulicht.
Adresselemente, die ausgewählt sind,
sind durch X angezeigt. Bei diesen ausgewählten Elementen werden ihre
Widerstandswertzustände
während
des Programmierens verändert.
Nicht ausgewählte
Adresselemente sind durch 0 angezeigt. Bei diesen nicht ausgewählten Adresselementen
werden ihre Widerstandswertzustände
während des
Programmierens nicht verändert.
-
Während der
Programmierung des Zeilendecodierers 12 wird eine Spannung
(–V) über die
Zeilenprogrammierleitung 50 angelegt, und eine Spannung
von entgegengesetzter Polarität
(+V) wird an die Zeilenerfassungsleitung 40 angelegt. (Während des
Programmierens des Spaltendecodierers 14 wird eine Spannung über die
Spaltenprogrammierleitung 54 angelegt, und eine Spannung
von entgegengesetzter Polarität
wird an die Spaltenerfassungsleitung 48 angelegt.) Dies
legt wirksam eine Spannung über zwei
Dioden an, die gegeneinander geschaltet sind. Die Spannung wird
auf eine Weise angelegt, dass die Dioden in den Programmierelementen 52 vorwärts vorgespannt
sind und die Dioden in den Adresselementen 26 rückwärts vorgespannt
sind. Die Spannungen können
durch die Zeilen- und Spaltenadresstreiber 24 und 30 angelegt
werden.
-
Eine
elektromagnetische Strahlung (EM) wird an die ausgewählten Adresselemente 26 angelegt.
Die elektromagnetische Strahlung weist eine ausreichende Intensität auf, um
die Leitfähigkeit
der ausgewählten
Adresselemente erheblich zu erhöhen.
Folglich wird die Dichte des Stromes, der durch die ausgewählten Adresselemente
fließt,
erhöht.
Diese Zunahme der Stromdichte bewirkt, dass sich die Verbindungen
der ausgewählten
Adresselemente öffnen.
Die Verbindungen der nicht ausgewählten Adresselemente bleiben
ununterbrochen.
-
Die
Programmierelemente 52 können eine höhere Stromtragefähigkeit
als die ausgewählten Adresselemente 26 aufweisen.
-
Diese
optische Programmierung der Adressdioden 26 kann durch
ein Verwenden einer Vorrichtung durchgeführt werden, der adressierbare
Laserdioden umfasst. Die Laserdioden bestrahlen nur die ausgewählten Adresselemente 26.
Linsen und andere optische Elemente können verwendet werden, um die
EM-Strahlung auf die ausgewählten
Adresselemente 26 zu fokussieren. Alle ausgewählten Elemente 26 können gleichzeitig
bestrahlt werden, wodurch die Widerstandswertzustände aller
ausgewählten Adresselemente 26 zur
gleichen Zeit verändert
werden.
-
Bei
der Alternative könnten
die nicht ausgewählten
Adresselemente vor der Bestrahlung maskiert werden, und eine Gesamtbestrahlung
könnte
an die Schicht angelegt werden. Die Widerstandswertzustände der
maskierten Adresselemente würden nicht
verändert.
-
Damit
eine EM-Strahlung an ausgewählte Adresselemente 26 angelegt
wird, können
die Bahnen für
die EM-Strahlung durchlässig
hergestellt sein. Materialien für
diese durchlässigen
Bahnen können
von dem Typ sein, der bei Flüssigkristallanzeigen
verwendet wird. Als eine Alternative zum Herstellen von durchlässigen Bahnen
kann die EM-Strahlung zu den ausgewählten Adresselementen 26 geführt werden.
-
Ein
alternativer Lösungsansatz
zum Verändern
der Widerstandswertzustände
der ausgewählten
Adresselemente 26 wird nun beschrieben. Die nicht ausgewählten Adresselemente
bei jedem Decodierer 12 und 14 sind mit einer
größeren Stromtragefähigkeit
gebildet als die ausgewählten
Adresselemente 26. Während
des Programmierens der Decodierer 12 und 14 werden
auf die im Vorhergehenden beschriebene Weise alle Adresselemente
rückwärts vorgespannt
und die Erfassungselemente werden vorwärts vorgespannt. Folglich fließt ein Strom
durch die ausgewählten
und nicht ausgewählten
Adresselemente. Dieser Strom bewirkt, dass die Verbindungen der
ausgewählten
Adresselemente 26 unterbrochen werden, der Strom bewirkt
jedoch nicht, dass die Verbindungen der nicht ausgewählten ausgewählten Adresselemente
unterbrochen werden.
-
Die
Verbindungen können
unterbrochen werden, ohne eine EM-Strahlung an die ausgewählten Adresselemente 26 anzulegen.
Deshalb können
die Verbindungen aus einem Material hergestellt sein, das nicht
photoleitend ist. Eine Zuverlässigkeit
beim Unterbrechen der Verbindungen kann jedoch erhöht werden,
indem die Verbindungen aus einem photoleitenden Material hergestellt
werden und die ausgewählten
Adresselemente 26 während
des Programmierens bestrahlt werden.
-
Die
Speicherelemente 16 und die ausgewählten Adresselemente 26 können mit
der minimalen Auflösung
hergestellt werden, womit die optimale Speicherkapazität ermöglicht wird.
Die nicht ausgewählten
Adresselemente können
mit größeren Abmessungen
hergestellt werden, indem die Größe der Adressleitungen über die
minimale Auflösung
erhöht wird
und die Abschnitte der Speicherleitungen (d. h. Wort- und Bitleitungen),
die die Adressleitungen kreuzen, erhöht werden.
-
Die 5a–5c zeigen
unterschiedliche Entwürfe
für ausgewählte Adresselemente 26a und vergrößerte nicht
ausgewählte
Adresselemente 26b. Wenn ein Adressprotokoll gewährleisten
kann, dass keine Spalte benachbarte vergrößerte (nicht ausgewählte) Adresselemente 26b aufweist,
dann kann die Adresslogik die Konfiguration aufweisen, die in 5a gezeigt
ist. 5a zeigt einen Zeilendecodierer 12, bei
dem Spalten keine benachbarten vergrößerten (nicht ausgewählten) Adresselemente 26b enthalten.
Obwohl dieselben nicht so gezeigt sind, können die Adresselemente 26a und 26b bei
vollem Kontaktabstand gebildet sein.
-
Wenn
das Adressprotokoll keine derartige Garantie liefern kann, wodurch
die Adresslogik benachbarte vergrößerte Adresselemente in einer
Spalte umfassen könnte,
kann der Abstand zwischen den Wortleitungen 18 erhöht werden.
Dies würde
jedoch die Datenspeicherungsdichte des Hauptspeichers verringern.
-
Stattdessen
kann der Zeilendecodierer 12 in zwei voneinander beabstandete
Sätze 12a und 12b geteilt
werden, wie es in 5b gezeigt ist. Wortleitungen 18a mit
ungeraden Zahlen werden mit Wortleitungen 18b mit geraden
Zahlen interdigital (ineinandergreifend) angeordnet. Ein erster
Satz von Adressleitungen 22a kreuzt die Wortleitungen 18a mit ungeraden
Zahlen, und ein zweiter Satz von Adressleitungen 22b kreuzt
die Wortleitungen 18b mit geraden Zahlen. Der erste und
der zweite Satz von Adressleitungen 22a und 22b empfangen
das gleiche Adresssignal.
-
Dieser
Lösungsansatz
ermöglicht
es, dass die Größe von benachbarten
Speicherelementen 26b um das Dreifache vergrößert wird,
er ermöglicht aber
trotzdem, dass die ausgewählten
Speicherelemente 26a mit minimaler Auflösung hergestellt werden. Wenn
ein Adressprotokoll gewährleisten
kann, dass keine Spalte benachbarte vergrößerte (nicht ausgewählte) Adresselemente 26b aufweist,
kann die Größe der nicht
benachbarten vergrößerten Speicherelemente 26b um
das Fünffache
vergrößert werden
(siehe 5c).
-
Die 5a–5c wurden
gerade in Verbindung mit dem Zeilendecodierer 12 beschrieben. Die
gleichen Prinzipien können
jedoch auf den Spaltendecodierer 14 angewandt werden.
-
Es
wird nun Bezug genommen auf 6a, die
Abschnitte einer Ebene 208 einer Speichervorrichtung zeigt,
die eine Fehlerverwaltung ermöglicht. Die
Ebene 208 umfasst einen Hauptspeicher 210, einen
Zeilendecodierer 212 und eine Zeilenerfassungslogik 234.
Die Zeilenerfassungslogik 234 umfasst Erfassungswiderstände 236.
Die Ebene 208 umfasst ferner Wortleitungen 218,
Bitleitungen 220, Zeilenadressleitungen 222, eine
Leistungsversorgungsleitung 238, eine Zeilenerfassungsleitung 240 und
eine Zeilenprogrammierleitung 242. Elemente zum Adressieren,
Erfassen und Programmieren auf der Spaltenseite sind nicht gezeigt.
Ausgewählte Adresselemente
sind durch X angezeigt, und nicht ausgewählte Adresselemente sind durch
0 angezeigt.
-
Ein
fehlerhafter Bereich in der Ebene 8 ist durch den Buchstaben
D identifiziert. Zum Beispiel kann der fehlerhafte Bereich D durch
einen Kurzschluss von zwei benachbarten Wortleitungen 218 verursacht
werden. Der fehlerhafte Bereich D macht die zwei zugeordneten Zeilen
unbrauchbar.
-
Der
Zeilendecodierer 212 kann programmiert sein, um den fehlerhaften
Bereich D zu vermeiden. Die Wortleitungen 218, die dem
fehlerhaften Bereich D entsprechen, werden von dem Hauptspeicher 210 getrennt.
Zum Beispiel können
Unterbrechungen (Diskontinuitäten)
in diesen Wortleitungen 218 gebildet werden. Bei der Alternative
können
die Erfassungswiderstände 236 dieser
Wortleitungen 218 geöffnet
werden. Falls die Erfassungswiderstände 236 aus einem
photoleitenden Material, wie z. B. amorphem Silizium, hergestellt
sind, können
dieselben geöffnet
oder „durchgebrannt" werden, indem bewirkt wird,
dass ein Strom durch die Widerstände
fließt
(z. B. durch ein Vorspannen der Adress- und Schreibleitungen bezüglich der
Treiberspannung), und dann eine EM-Strahlung angelegt wird. Das
Anlegen der EM-Strahlung
erhöht
die Leitfähigkeit.
Die Zunahme des Stromes bewirkt, dass der bestrahlte Erfassungswiderstand
durchbrennt.
-
Die
getrennten Wortleitungen werden durch Reservewortleitungen ersetzt.
Bestimmte Wortleitungen und ihre verbundenen Speicher-, Adress-
und Erfassungselemente werden als Reserveelemente reserviert. 6a zeigt,
dass die letzten paar Wortleitungen der Ebene 208 als Reserveelemente
reserviert sind (wie es durch Block 211 angezeigt ist).
Der Ort der Reserveelemente ist jedoch nicht derart beschränkt; die
Reservewortleitungen können
sich an jedem beliebigen Ort in der Ebene 208 befinden.
Anfangs sind alle Adresselemente, die mit den Reserveelementen verbunden
sind, nicht ausgewählt.
-
Die
Reservewortleitungen weisen eine zusätzliche Logik 252 auf.
Jede Adressleitung 254 ist mit einer entsprechenden Reservewortleitung
durch ein Reserveadresselement 256 verbunden. Das Codieren
kann durch ein optisches Programmieren der ausgewählten Reserveadresselemente 256 durchgeführt werden.
-
6b zeigt
den Decodierer 212 neu abgebildet, um den fehlerhaften
Bereich D zu vermeiden. Die zwei Wortleitungen 218a und 218b,
die dem fehlerhaften Bereich D zugeordnet sind, sind durch ein Öffnen ihrer
Erfassungswiderstände 236 getrennt.
-
Zwei
Reserveleitungen 218c und 218d ersetzen die zwei
Leitungen 218a und 218b, die getrennt wurden.
Die Adresselemente 256, die mit diesen zwei Ersatzreserveleitungen 218c und 218d verbunden
sind, wurden programmiert, um mit den Widerstandswertzuständen von
ausgewählten
und nicht ausgewählten
Adresselementen für
die zwei getrennten Leitungen 218a und 218b übereinzustimmen.
Somit weisen diese beiden Ersatzreserveleitungen 218c und 218d nun
die gleichen Adressen wie die getrennten Wortleitungen 218a und 218b auf.
Die Reserveadresselemente, die mit diesen zwei Ersatzreserveleitungen 218c und 218d verbunden
sind, werden auf einen hohen Widerstandswertzustand verändert und
somit wirksam von dem Zeilendecodierer 212 entfernt.
-
Die
nicht verwendete Reserveleitung 218e wird durch ein Öffnen ihres
Erfassungswiderstandes 236 getrennt.
-
Es
wird nun Bezug genommen auf 7, die ein
Verfahren zum Herstellen einer Mehrebenenfestkörperspeichervorrichtung veranschaulicht.
Nachdem eine erste Ebene der Vorrichtung gebildet ist (Block 302),
werden Fehler in der ersten Ebene identifiziert (Block 304).
Derartige Fehler umfassen, sind jedoch nicht beschränkt auf
Diskontinuitäten
oder Fehler bei einem oder beiden Kreuzungspunktdrähten und
Kurzschlüsse
zwischen Datenleitungen. Die Fehler können durch ein Messen von I-V-Charakteristika
jedes Kreuzungspunktes in dem Hauptspeicher identifiziert werden.
-
Nachdem
die Fehler identifiziert worden sind, werden die Decodierer programmiert,
um eine erhebliche Anzahl der Fehler zu vermeiden (Block 306).
Das Programmieren verringert den Fehlerpegel auf Null oder einen
annehmbaren Pegel für eine
Fehlerkorrektur (d. h. einen Pegel, der eine Fehlerkorrektur nicht
belastet oder überlastet).
-
Nachfolgende
Ebenen werden gebildet (Block 308). Jedes Mal, wenn eine
Ebene gebildet ist (Block 302), werden Fehler in der Ebene
identifiziert (Block 304), und die Decodierer auf dieser
Ebene werden programmiert, um diese Fehler zu vermeiden (Block 306).
-
Nachdem
die Ebenen gebildet worden sind, wird die Speichervorrichtung fertiggestellt
(Block 310). Im Rahmen der Fertigstellung der Speichervorrichtung
werden Adressleitungen verbunden, Schnittstellenschaltungsanordnung
hinzugefügt
und die Ebenen gehäust.
-
Details
des Entwurfs und der Herstellung des Hauptspeichers, des Adressierens
mehrerer Ebenen, des Häusens
mehrerer Schichten in einen einzigen Chip, des Lesens und Schreibens
in den Hauptspeicher usw. sind in der US-Patentschrift des Anmelders mit der
Seriennummer 09/875,356 offenbart.
-
Dieses
Verfahren ermöglicht,
dass eine Fehlerverwaltung auf einzelnen Ebenen implementiert wird,
und vermeidet somit das Problem, dass ein fehlerhafter Bereich in
einer Ebene die Verwendung des gleichen Speicherbereichs einer anderen
Ebene ausschließt.
Es implementiert auch eine Fehlerverwaltung auf eine Weise, die
den fehlerhaften Adressort physisch neu positioniert, und benötigt deshalb
keine Fehlerliste für
eine Neuabbildung. Dies vereinfacht die Verwendung des Speichersystems.
-
Er
wird nun Bezug genommen auf 8, die eine
Mehrebenenfestkörperspeichervorrichtung 410 zeigt.
Mehrere Ebenen 412 sind aufeinander gestapelt. Anders als
bei einem herkömmlichen
Halbleiterspeicher sind Decodierer in jeder Schicht 412 gebildet.
Jede Schicht 410 ist durch eine Speichersystemschnittstelle 416 mit
einer Steuer-/Schnittstellenschal tungsanordnung 414 verbunden.
Die Steuer-/Schnittstellenschaltungsanordnung 414 ist in
dem Substrat gebildet. Die Steuer-/Schnittstellenschaltungsanordnung 414 führt eine
Fehlercodekorrektur (ECC) und Fehlerverwaltungsfunktionen sowie
Funktionen zum Betreiben der Vorrichtung 410 durch. Diese
Funktionen umfassen ein Setzen von Schreibspannungen, ein Setzen
von Schreibaktivierungsleitungen und ein Steuern von Leistungserfassungsstreifenbildung,
ein Adressieren des Speichers durch ein Umwandeln von logischen
Adressen in Adressleitungsmuster, die benötigt werden, um auf physische Speicherorte
zuzugreifen, und eine Datenleseverarbeitung von Erfassungsleitungsausgangssignalen.
-
Die
Vorrichtung 410 ist nicht auf eine Steuer-/Schnittstellenschaltungsanordnung
beschränkt, die
durch die Schichten gemeinschaftlich verwendet wird. Stattdessen
kann jede Ebene 412 ihre eigene Steuer-/Schnittstellenschaltungsanordnung
aufweisen.
-
Der
Hauptspeicher könnte
werkseitig auf die gleiche Weise und zur gleichen Zeit wie die Adresslogik
programmiert werden. Der Hauptspeicher könnte mit Mikrocode, Abbildungsdaten
usw. vorprogrammiert werden.
-
Die
vorliegende Erfindung ist nicht auf die spezifischen Ausführungsbeispiele
beschränkt,
die im Vorhergehenden beschrieben und veranschaulicht sind. Stattdessen
wird die vorliegende Erfindung gemäß den folgenden Ansprüchen aufgefasst.