-
Hintergrund
-
Halbleiterspeicher speichern digital kodierte Daten für Computersysteme, beispielsweise PCs, eingebettete prozessorbasierte Systeme, Videoverarbeitungsschaltungen, Kommunikationsgeräte und dergleichen.
-
Typischerweise umfassen Speichereinrichtungen ein Feld von Speicherzellen, welche in einer Abfolge von Spalten und Zeilen angeordnet sind, wobei jede Speicherzelle ein Datenspeicherelement enthält, welches mindestens ein Datenbit (zum Beispiel eine logische „1” oder eine logische „0”) speichert. Obwohl diese Datenspeicherelemente im Allgemeinen eine verlässliche Datenspeicherung bieten, treten in manchen Situationen Datenfehler auf. Ein derartiger Datenfehler kann beispielsweise bewirken, dass eine logische „1”, von welcher ausgegangen wurde, dass sie in eine Zelle geschrieben wurde, als eine logische „0” ausgelesen wird, und umgekehrt. Da Datenfehler zu unerwünschten Konsequenzen in einem entsprechenden System führen können, streben Ingenieure danach, die Anzahl von Datenfehlern in Speichereinrichtungen zu begrenzen.
-
Eingebaute Selbsttestmodule (BIST, vom englischen „Built-in Self-Test”) sind eine Technologie, welche entwickelt wurde, um Datenfehler zu begrenzen oder zu verhindern. BIST-Module schreiben typischerweise ein Muster von „1”en und/oder „0”en in das Feld und lesen dann anschließend die Speicherzellen des Feldes aus, um zu überprüfen, ob das gleiche Muster von „1”en und/oder „0”en wieder ausgelesen wird. Oft wird ein BIST-Test durchgeführt, bevor die Speichereinrichtungen zu Endverbrauchern geliefert werden (zum Beispiel wird in einer Herstellungsfabrik ein derartiger BIST-Test durchgeführt).
-
BIST-Tests können jedoch auch von Zeit zu Zeit durchgeführt werden, nachdem Käufer die Einrichtungen benutzt haben. In beiden Fällen kann, wenn eine fehlerhafte Zelle identifiziert wird, das BIST-Modul die Adresse der fehlerhaften Zelle auf diejenige einer redundanten (verlässlichen) Speicherzelle umleiten (mappen), so dass Speicheroperationen, welche dazu gedacht sind, auf die fehlerhafte Zelle zuzugreifen, unbemerkt vom Endverbraucher auf die redundante (verlässliche) Zelle umgeleitet werden. Dies hilft, sicherzustellen, dass der Endverbraucher eine verlässliche Speichereinrichtung erhält, welche Daten korrekt speichert.
-
In der Druckschrift
US 2006/0218455 A1 wird ein System und ein Verfahren beschrieben, zum Prüfen eines synchronen Speichersystems durch elektrische Beanspruchung eines oder mehrerer elektrischer Zustände der Komponentenschaltungen.
-
Dabei wird eine sog. Build-In Self-Test(BIST)-Steuerung bereitgestellt, um die elektrische Beanspruchung während eines Gerätetests zu steuern.
-
In der Druckschrift
US 4 852 064 A wird eine Vorladeschaltung zur Verwendung in einem statischen Direktzugriffsspeicher beschrieben.
-
Gemäß dieser Druckschrift wird eine Vorladeschaltung bereitgestellt, die in der Lage ist, die Verringerung der Stromabgabe sowie die des Spitzenstroms ohne Verlust der Betriebsgeschwindigkeit bei einer Leseoperation nach einer Schreiboperation durchzuführen.
-
Die Druckschrift
US 2010/0208536 A1 betrifft allgemein integrierte Schaltkreise und insbesondere das Testen von statischen Direktzugriffsspeichern, sog. SRAMs in integrierten Schaltkreisen.
-
Dafür wird ein Verfahren zur Messung der Lesespanne, der Schreibspanne und der Stabilitätsspanne von SRAM-Bits mit Betriebsschaltung offenbart, das Effekte der SRAM-Array-Architektur und des Schaltungsdesigns umfasst.
-
Darüber hinaus werden Verfahren zum Messen der Lesespanne, der Schreibspanne und der Stabilitätsspanne von SRAM-Bits bereitgestellt, die die Effekte der SRAM-Array-Architektur und des Schaltungsdesigns ausschließen.
-
Obwohl herkömmliche BIST-Verfahren nützlich sind, haben die Erfinder erkannt, dass eine detailliertere Information über die Verlässlichkeit der Speicherzellen des Felds in vielen Fällen hilfreich wäre. Beispielsweise haben die Erfinder erkannt, dass es hilfreich wäre, Daten über Lese- und/oder Schreibtoleranzen für die Speicherzellen zu erzeugen, um zukünftige Datenfehler aufgrund „schwacher” Speicherzellen zu vermeiden. Es ist daher eine Aufgabe zumindest mancher Aspekte der vorliegenden Erfindung, Techniken zum Verifizieren der Verlässlichkeit von Speicherzellen bereitzustellen.
-
KURZZUSAMMENFASSUNG
-
Es wird eine Speichereinrichtung nach Anspruch 1 sowie ein Verfahren nach Anspruch 17 bereitgestellt. Die Unteransprüche definieren weitere Ausführungsbeispiele.
-
Merkmale verschiedener Ausführungsbeispiele können miteinander kombiniert werden, sofern nichts anderes angegeben ist.
-
BESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt eine Speichereinrichtung gemäß dem Stand der Technik.
-
2 ist ein Zeitablaufdiagramm zur Veranschaulichung einer Art des Testens einer Lesetoleranz einer Speicherzelle gemäß manchen Ausführungsbeispielen.
-
3 ist ein Zeitablaufdiagramm zur Veranschaulichung einer Art des Testens einer Schreibtoleranz einer Speicherzelle gemäß manchen Ausführungsbeispielen.
-
4 zeigt eine Speichereinrichtung gemäß manchen Ausführungsbeispielen.
-
5 ist ein Flussdiagramm eines Speicherzugriffvorgangs, welcher einen „schwachen” Lesevorgang gemäß manchen Ausführungsbeispielen enthält.
-
6 ist ein Beispiel für ein Zeitablaufdiagramm.
-
7 ist ein Flussdiagramm eines Speicherzugriffvorgangs, welcher einen „schwachen” Lesevorgang gemäß manchen Ausführungsbeispielen enthält.
-
8A–8B sind Blockdiagramme einer Speichereinrichtung, welche ein Feld von Speicherzellen gemäß manchen Ausführungsbeispielen umfasst.
-
DETAILLIERTE BESCHREIBUNG
-
Ausführungsbeispiele der Erfindung werden nun unter Bezugnahme auf die Zeichnung erläutert, in welcher gleiche Bezugszeichen benutzt werden, um auf identische oder einander entsprechende Elemente hinzuweisen. In der folgenden Beschreibung werden zu Erklärungszwecken eine große Anzahl spezifischer Details erläutert, um ein gutes Verständnis der Ausführungsbeispiele zu ermöglichen. Es ist jedoch zu beachten, dass die Erfindung auch ohne diese spezifischen Details ausgeführt werden kann. Beispielsweise sind manche der unten stehenden Konzepte entsprechend Aspekten der Erfindung unter Bezugnahme auf eine SRAM-Speichereinrichtung (Static Random Access Memory, d. h. statischer Speicher mit wahlfreiem Zugriff) beschrieben, aber es ist zu bemerken, dass diese Konzepte auch auf andere Speichereinrichtungen anwendbar sind, welche kreuzgekoppelte Inverter benutzen, wie SRAM-Speichereinrichtungen mit einem Anschluss (SP-SRAM, vom englischen Single Port), SRAM-Speichereinrichtungen mit zwei Anschlüssen (DP-SRAM, vom englischen Dual Port) oder andere SRAM-Speichereinrichtungen mit einer Vielzahl von Anschlüssen.
-
Manche Ausführungsbeispiele der vorliegenden Erfindung beziehen sich auf verbesserte Techniken zur Verifizierung der Verlässlichkeit für Halbleiterspeicher. Anstatt dass lediglich ein BIST-Test durchgeführt wird, bei welchem verifiziert wird, ob eine Speicherzelle eine „1” oder eine „0” unter normalen Lese-/Schreibbedingungen korrekt speichert, beziehen sich Aspekte der vorliegenden Erfindung auf BIST-Tests, welche die Lese- und/oder Schreibtoleranzen einer Zelle testen. Während dieses BIST-Tests können die Lese- und/oder Schreibtoleranzen zunehmend belastet werden, z. B. die Zellen mit Störungen beaufschlagt werden, bis für die Zelle ein Ausfallpunkt bestimmt wird. Auf diese Weise können „schwache” Speicherzellen in einem Feld identifiziert werden und geeignete Maßnahmen können, falls nötig, ergriffen werden, um diese schwachen Zellen zu berücksichtigen.
-
1 zeigt eine Speichereinrichtung 100 gemäß dem Stand der Technik. Eine Speicherzelle 101 in der Speichereinrichtung umfasst ein Datenspeicherelement 102 mit einem Paar von kreuzgekoppelten Invertern 104, 106, wobei ein erster Speicherknoten SN und ein zweiter Speicherknoten SN' wie dargestellt zwischen die Inverter 104, 106 gekoppelt sind. Ein erster Zugriffstransistor 108 und ein zweiter Zugriffstransistor 110 sind mit ihren jeweiligen Source-Anschlüssen mit dem ersten bzw. dem zweiten Speicherknoten SN bzw. SN' gekoppelt und sind mit ihren jeweiligen Drain-Anschlüssen mit einer ersten Bitleitung BL bzw. einer zweiten Bitleitung BL' gekoppelt. Da die Zugriffstransistoren einen bidirektionalen Stromfluss bereitstellen, ist zu bemerken, dass die Begriffe „Source-Anschluss” und „Drain-Anschluss” in diesem Fall in gewisser Weise willkürlich sind und auch ausgetauscht werden könnte. Eine Wortleitung WL ist mit den jeweiligen Gate-Anschlüssen der Zugriffstransistoren 108, 110 gekoppelt, wobei die Wortleitung WL wahlweise aktiviert wird, um wahlweise den ersten Speicherknoten SN und den zweiten Speicherknoten SN' mit der ersten Bitleitung BL bzw. der zweiten Bitleitung BL' zu koppeln oder zu entkoppeln. Wie untenstehend detaillierter erläutert werden wird, umfasst die Speichereinrichtung 100 auch eine Verzerrungsschaltung 112, welche mit der ersten Bitleitung BL und der zweiten Bitleitung BL' gekoppelt ist. Um eine Lesetoleranz oder eine Schreibtoleranz der Speicherzelle 101 zu bestimmen, ist diese Verzerrungsschaltung 112 eingerichtet, ansteigende Verzerrungsgrade (zum Beispiel verschiedene Verzerrungs- oder Störungspotentiale und/oder verschiedene Verzerrungs- oder Störungsströme) an zumindest die erste Bitleitung BL oder die zweite Bitleitung BL' anzulegen.
-
Wegen Herstellungsvariationen oder Herstellungsungenauigkeiten während der Produktion sind die Transistoren der kreuzgekoppelten Inverter 104 und 106 nicht perfekt identisch. Als Ergebnis hiervon können verschiedene Speicherzellen verschiedene Verzerrungsgrade (d. h. verschiedenes Ausmaß an Störungen) tolerieren, ohne die in den Zellen gespeicherten Datenzustände umzuschalten oder zu ändern. Beispielsweise können bei manchen Speicherzellen die Inverter 104, 106 den Strom und die Spannung, welche einem ersten Verzerrungsgrad entsprechen, tolerieren, ohne die in den Zellen gespeicherten Datenwerte umzuschalten, aber die Zellen werden umschalten, wenn ein zweiter höherer Verzerrungsgrad angewendet wird. Andere Speicherzellen können jedoch Inverter 104, 106 haben, welche hinreichend symmetrisch sind, sowohl dem ersten als auch dem zweiten Verzerrungsgrad zu widerstehen, ohne die in den anderen Speicherzellen gespeicherten Datenwerte umzuschalten.
-
Noch andere Speicherzellen, in welchen die Inverter besonders asymmetrisch sind, können ihre Daten sowohl beim Anliegen des ersten Verzerrungsgrads als auch beim Anliegen des zweiten Verzerrungsgrads umschalten. In jedem Fall kann ein Testmodul 116 (zum Beispiel ein auf dem Chip befindliches BIST-Modul oder externe automatisierte Testausrüstung) die Ergebnisse dieses ansteigenden Verzerrungstestens analysieren und speichern.
-
2 zeigt eine Abfolge von Wellenformen 200, welche mit manchen Ausführungsbeispielen konsistent sind. Insbesondere zeigt 2 drei normale Lesevorgänge (202, 204, 206) und zwei verzerrte (d. h. gestörte) Vorgänge (zum Beispiel einen ersten „schwach” verzerrten Vorgang 208 und einen zweiten „stark” verzerrten Vorgang 210). Wie unten genauer erläutert werden wird, veranschaulichen diese Wellenformen eine Weise, in welcher die Verzerrungsschaltung 112 verschiedene Verzerrungsgrade in Form verschiedener Verzerrungspotentiale und verschiedener Verzerrungsströme an mindestens eine der Bitleitungen BL, BL' anlegen kann, um die Lesetoleranz für die Speicherzelle 101 der 1 ansteigend zu testen.
-
Vor den in 2 dargestellten Vorgängen speichert die Speicherzelle 101 einen erwarteten Datenzustand, welcher vorher in die Zelle geschrieben wurde. In der Implementierung der 2 speichern beispielsweise der erste Speicherknoten SN und der zweite Speicherknoten SN' einen erwarteten Datenzustand, in welchem die Speicherknotenspannung VSN auf einem hohen Potential liegt und die komplementäre Speicherknotenspannung VSN, auf einem niedrigen Potential liegt, was beispielsweise einem erwarteten Datenzustand entsprechend einer logischen „1” entspricht.
-
Während des normalen Lesevorgangs 202 werden parasitäre Kapazitäten (in 1 mit 114, 114' bezeichnet) der Bitleitungen BL, BL' bei 212 auf eine hohe Spannung (zum Beispiel VDD) vorgeladen. Nachdem dieses Voraufladen abgeschlossen ist, wird ein Ladungstransferzustand durch das Aktivieren der Wortleitung WL bei 214 eingeleitet. Da VSN aufgrund des anfänglich in der Speicherzelle gespeicherten erwarteten Datenzustands anfangs auf einem hohen Pegel ist, ist der Transistor vom N-Typ in dem Inverter 106 anfänglich aktiv, was bewirkt, dass ein Strom Icell fließt, während VSN' und die vorgeladene Bitleitung VBL' auf einen niedrigen Pegel gezogen werden. Sobald VSN' und VBL' auf den niedrigen Pegel gezogen wurden, erreichen die Speicherknoten SN, SN' wiederum einen stabilen Zustand mit komplementären Spannungen, welcher durch die Inverter 104, 106 wechselseitig verstärkt wird. Dann wird die Wortleitung WL bei 214 deaktiviert, und bei 216 wird ein Datenerfassungszustand initiiert. Während dem Zustand 216 wird ein Leseverstärker aktiviert, um einen aus der Zelle ausgelesenen tatsächlichen Datenzustand zu detektieren, wie durch die Bitleitungsspannungen VBL/VBL' widergespiegelt wird (beispielsweise entsprechend einem aus der Speicherzelle gelesenen Datenzustand von logisch „1” in 2, wo VBL auf einem hohen Pegel und VBL' auf einem niedrigen Pegel ist). Da der tatsächlich aus der Zelle ausgelesene Datenzustand in 2 der gleiche ist wie der erwartete Datenzustand, gibt der normale Lesevorgang bei 202 ein korrektes Resultat zurück.
-
Dann wird bei 208 der erste Verzerrungsvorgang durchgeführt. Während dieses ersten Verzerrungsvorgangs treibt die Verzerrungsschaltung 112 bei 218 einen Strom durch die Bitleitungen, was beide Bitleitungen BL und BL' auf ein erstes im Wesentlichen konstantes Verzerrungspotential 220 bringt. Während dieses erste Verzerrungspotential 220 vorliegt, weisen beide Bitleitungen das gleiche Potential auf – welches zu diesem Zeitpunkt geringer ist als VDD. Nachdem die Bitleitungen bei diesem ersten Verzerrungspotential 220 angelangt sind, wird die Wortleitung WL bei 222 aktiviert, um die Bitleitungen mit ihren jeweiligen Speicherknoten zu koppeln. Während die Wortleitung WL aktiviert ist, treibt die Verzerrungsschaltung 112 auf zumindest einer Bitleitung einen ersten Verzerrungsstrom 224. Dieser erste Verzerrungsstrom 224 wirkt demjenigen von den kreuzgekoppelten Invertern der Zelle (zum Beispiel Icell in 1) entgegen. In dem Ausführungsbeispiel der 2 neigt beispielsweise der Zellenstrom Icell dazu, die Spannung auf BL' herunterzuziehen, während der erste Verzerrungsstrom 224 dazu neigt, die Spannung auf BL' heraufzuziehen. Nichtsdestoweniger ergibt der folgende normale Lesevorgang 204 immer noch ein korrektes Ergebnis. Die Zelle wurde durch den ersten Verzerrungsvorgang 208 nicht „umgeschaltet”, wie durch den zweiten normalen Lesevorgang 204 bestätigt.
-
Anschließend wird bei 210 der zweite (stärkere) Verzerrungsvorgang durchgeführt. Während dieses zweiten Verzerrungsvorgangs 210 stellt die Verzerrungsschaltung bei 226 einen zweiten Strom bereit, um die Bitleitungen BL und BL' auf ein im Wesentlichen konstantes zweites Verzerrungspotential 228 (zum Beispiel 35% weniger als VDD) zu setzen. Während 228 ist die Spannung beider Bitleitungen wiederum die gleiche, welche nun geringer ist als VDD, dieses Mal um einen größeren Wert als das Potential der Bitleitungen für das erste Verzerrungspotential 220. Nachdem die Bitleitungen das zweite Verzerrungspotential 228 erreicht haben, wird die Wortleitung bei 230 aktiviert, und die Verzerrungsschaltung 112 führt den Bitleitungen einen zweiten Verzerrungsstrom 232 zu, wobei der zweite Verzerrungsstrom 232 einen größeren Wert aufweist als der erste Verzerrungsstrom 224. Für die dargestellte Zelle ist der PMOS-Transistor des Inverters 104 nicht groß genug, den zweiten Verzerrungsstrom 232 zu absorbieren, d. h. zu tolerieren, so dass der zweite Verzerrungsvorgang den Knoten SN nach unten zwingt und bewirkt, dass die Speicherknoten bei 234 umschalten. Daher unterscheidet sich der während eines anschließenden normalen Lesevorgangs 206 aus der Speicherzelle ausgelesene tatsächliche Datenzustand von dem erwarteten Datenzustand, und es wird daraus geschlossen, dass der zweite Verzerrungsvorgang 232 bewirkte, dass die Daten umschalteten. Das Testmodul 116 kann dann den zweiten Verzerrungsgrad als Maß für die Stärke der Speicherzelle 100 speichern.
-
Wie nun unter Bezugnahme auf 3 diskutiert werden wird, kann die Verzerrungsschaltung 112 auch genutzt werden, die Schreibtoleranzen einer Speicherzelle zu testen. Anders als bei den Lesevorgängen der 2, bei welchen die kreuzgekoppelten Inverter 104, 106 die Spannung an den Bitleitungen BL, BL' getrieben haben, werden in 3 die Bitleitungen getrieben, um den in den kreuzgekoppelten Invertern Datenzustand festzulegen. In diesem Kontext kann die Verzerrungsschaltung 112 die Energie aus den Bitleitungen verzerren, d. h. verändern, um die Schreibtoleranzen der Speicherzelle zu beanspruchen. Drei veranschaulichende Schreibvorgänge (ein normaler Schreibvorgang 302, ein Schreibvorgang mit einem ersten Verzerrungsgrad 304 und ein zweiter Schreibvorgang mit einem zweiten Verzerrungsgrad 306) werden nun untenstehend beschrieben.
-
Während des normalen Schreibvorgangs 302 werden die Bitleitungen bei 308 basierend auf einem in die Speicherzelle zu schreibenden Datenzustand vorgespannt. Beispielsweise wird, um bei 302 eine „1” zu schreiben, VBL auf 1 getrieben und VBL' auf 0 getrieben. Während die Bitleitungen vorgespannt sind, wird die Wortleitung bei 310 aktiviert, so dass Ladung zwischen den Bitleitungen BL, BL' und den Speicherknoten SN bzw. SN' transferiert wird, um bei 312 die Speicherzelle mit dem gewünschten Datenzustand zu programmieren. Ein normaler Lesevorgang 314 bestätigt, dass der erwartete Datenzustand tatsächlich in die Zelle geschrieben wurde.
-
Während der verzerrten Schreibvorgänge 304 und 306 werden die Bitleitungen wieder anfänglich vorgespannt, um dem gewünschten in die Speicherzelle zu schreibenden Zustand zu entsprechen. Während der ersten (schwachen) Verzerrung 304 ist jedoch das Potential auf der Bitleitung BL etwas oberhalb VSS (siehe 316 verglichen mit 308), und das Potential der Bitleitung BL' ist bei VDD. Dies leicht oberhalb VSS liegende Potential auf der Bitleitung BL verringert die gesamte an den kreuzgekoppelten Invertern anliegende Spannung, wenn die Zelle während des Ladungstransferzustands programmiert wird. Ein normaler Lesevorgang bei 318 bestätigt bei dem dargestellten Beispiel, dass der korrekte Wert in der Tat in die Zelle geschrieben wurde.
-
Im Gegensatz hierzu wird bei dem zweiten verzerrten Schreibvorgang 306 die Spannung auf BL' während der Vorspannungsphase der Bitleitungen noch mehr angehoben (siehe 322 verglichen mit 308/314), und ein noch größerer Verzerrungsstrom wird angewendet (siehe 324). Diese zweite Verzerrung ist so groß, dass die Ladung, welche bereitgestellt ist, einen neuen Datenzustand in die Zelle zu schreiben, bei dem dargestellten Beispiel nicht ausreicht, den Zustand an den Speicherknoten SN und SN' umzuschalten. Als Ergebnis werden keine neuen Daten in die Zelle geschrieben. Dementsprechend wird, wenn bei 326 ein anschließender Lesevorgang durchgeführt ist, ein tatsächlicher Datenwert von „0” aus der Zelle ausgelesen, aber ein Wert von „1” wurde erwartet. Daher kann der zweite Verzerrungsgrad bei 306 als ein Maß der Stärke der Speicherzelle gespeichert werden.
-
4 zeigt ein weiteres Ausführungsbeispiel einer Speichereinrichtung 400 gemäß manchen Implementierungen. Die Speichereinrichtung 400 kann eine Pull-Down-Schaltung 414, eine Pull-Up-Schaltung 416 und/oder Bitleitungstreiberschaltung(en) 418, 418' umfassen. Jede dieser Schaltungen (zum Beispiel 414, 416 und/oder 418/418') kann entsprechende Steuersignale empfangen, um ansteigende Verzerrungsgrade bereitzustellen, und somit als Verzerrungsschaltung im hier benutzten Sinne arbeiten (zum Beispiel als Verzerrungsschaltung 112 der 1). Weiterhin kann bei anderen Ausführungsbeispiele eine separate Referenzquelle (zum Beispiel 420 oder 420') zumindest einer der Bitleitungen Ladung aus einer globalen Versorgung liefern. Somit kann eine Referenzquelle (zum Beispiel 420 oder 420'), wenn sie vorhanden ist, ebenso eine Verzerrungsschaltung im hier benutzten Sinn darstellen (zum Beispiel Verzerrungsschaltung 112 der 1). Beispielsweise kann zum Testen der Schreibtoleranz eine einzige Referenzquelle (zum Beispiel 420) Ladung von der globalen Versorgung liefern, um eine Referenzspannung zwischen VDD und VSS auf einer einzigen Bitleitung (zum Beispiel BL) einzustellen. Im Gegensatz dazu können zum Testen der Schreibtoleranz zwei Referenzquellen (zum Beispiel 420, 420') Ladung von der globalen Versorgung liefern, um eine Referenzspannung zwischen VDD und VSS auf beiden Bitleitungen (zum Beispiel BL, BL') anzulegen. Somit ist zu bemerken, dass, obwohl manche Ausführungsbeispiele alle dieser Komponenten 414–420 umfassen, um sowohl ein Testen der Lesetoleranz als auch ein Testen der Schreibtoleranz zu ermöglichen, bei anderen Ausführungsbeispielen eine oder mehrere dieser Komponenten nicht vorhanden ist bzw. sind.
-
Zudem kann, um die entsprechenden Verzerrungsvorgänge durchzuführen, jede dieser Komponenten 414–420 als „Vorladungsschaltung” arbeiten. Entsprechend der üblichen Bedeutung des Begriffs „Vorladen” wie von Fachleuten verstanden, kann eine „Vorladungsschaltung” eine Bitleitung nach oben oder nach unten ziehen, solange sie es bezüglich einer vorgegebenen Ladungsmenge macht. Zudem kann diese Vorladungsschaltung ein oder mehrere Vorladungselemente (zum Beispiel ein oder mehrere Pull-Up-Elemente wie einen PMOS-Transistor, ein oder mehrere Pull-Down-Elemente wie einen NMOS-Transistor, ein oder mehrere Referenzquellen und/oder eine Kombination von Pull-Up-Elementen und/oder Pull-Down-Elementen und/oder Referenzquellen) enthalten.
-
Die dargestellte Pull-Down-Schaltung oder das dargestellte Pull-Down-Element 414 umfasst eine Anzahl von Transistoren vom N-Typ, angeordnet in einer ersten Gruppe 422 und einer zweiten Gruppe 424. Die Transistoren der ersten Gruppe 422 sind parallel zueinander angeordnet und mit der ersten Bitleitung BL gekoppelt, während die Transistoren der zweiten Gruppe 424 parallel zueinander angeordnet sind und mit der zweiten Bitleitung BL' gekoppelt sind. Obwohl in 4 nur zwei parallel gekoppelte Transistoren vom N-Typ für jede Bitleitung gezeigt sind, ist zu bemerken, dass irgendeine Anzahl von Transistoren vom N-Typ beginnend mit einem Transistor bis zu annähernd beliebig vielen Transistoren mit jeder Bitleitung gekoppelt sein kann. Obwohl bei dem dargestellten Ausführungsbeispiel gezeigt ist, dass ein Transistor in der ersten Gruppe 422 sein Gate mit einem Gate eines Transistors in der zweiten Gruppe 424 verbunden hat, kann bei anderen Ausführungsbeispielen jeder Transistor der ersten Gruppe 422 unabhängig von jedem Transistor der zweiten Gruppe 424 aktivierbar sein, um so einen breiten Bereich von Vorspannungsbedingungen zu ermöglichen. Ein Ausstatten jedes Transistors mit einem separat aktivierbaren Gate bietet einen breiteren flexibleren Bereich von Vorspannungsbedingungen, welche durch die Pull-Down-Schaltung angelegt werden können, aber neigt auch dazu, aufgrund von Verdrahtungserfordernissen und dergleichen mehr Platz zu benötigen.
-
Die dargestellte Pull-Up-Schaltung oder das dargestellte Pull-Up-Element 416 umfasst eine Anzahl von Transistoren vom P-Typ, welche ein einer dritten Gruppe 426 und einer vierten Gruppe 428 angeordnet sind und welche es auch ermöglicht, verschiedene Belastungsstufen zu verwenden. Die Transistoren der dritten Gruppe sind zueinander parallel angeordnet und mit der ersten Bitleitung BL gekoppelt, während die Transistoren der vierten Gruppe 428 parallel zueinander angeordnet sind und mit der zweiten Bitleitung BL' gekoppelt sind. Obwohl 4 nur zwei parallel gekoppelte P-Typ-Transistoren für jede Bitleitung zeigt, ist zu bemerken, dass jede Anzahl von P-Typ-Transistoren beginnend mit einem Transistor bis zu annähernd beliebig vielen Transistoren mit jeder Bitleitung gekoppelt werden kann. Obwohl in dem dargestellten Ausführungsbeispiel gezeigt ist, dass ein Transistor in der dritten Gruppe 426 seinen Gate-Anschluss mit einem Gate-Anschluss eines Transistors in der vierten Gruppe 428 verbunden hat, kann bei anderen Ausführungsbeispielen jeder Transistor in der dritten Gruppe 426 unabhängig von jedem Transistor in der vierten Gruppe 428 aktiviert werden, um einen breiten Bereich von Vorspannungsbedingungen bereitzustellen. Das Versehen jedes Transistors mit einem getrennt aktivierbaren Gate stellt einen breiteren flexiblere Bereich von Vorspannungsbedingungen bereit, welche durch die Pull-Down-Schaltung angelegt werden können, aber neigt auch dazu, aufgrund von Verdrahtungserfordernissen und dergleichen mehr Fläche zu benötigen.
-
Die Verzerrungspotentiale (zum Beispiel 220/228 in 2) und/oder die Verzerrungsströme (zum Beispiel 224/232 in 2), welche auf zumindest eine der ersten oder zweiten Bitleitung angewendet werden, können iterativ eingestellt werden (beispielsweise durch Aktivieren verschiedener Kombinationen von Transistoren in der ersten, zweiten, dritten und vierten Gruppe 422–428), um verschiedene Lese- oder Schreibtoleranzen zu testen. Für jede Iteration kann die Speichereinrichtung überprüfen, ob der tatsächlich aus dem Datenspeicherelement gelesene Datenwert einem erwarteten Datenwert entspricht. Durch iteratives Vergleichen des tatsächlichen und des erwarteten Datenwerts können Lese- und Schreibausfallbedingungen, also Lese- und Schreibtoleranzen, für das Datenspeicherelement 402 bestimmt werden.
-
Zusätzliche Beispiele dafür, wie Lese- und Schreibtoleranzen getestet werden können, werden nunmehr unter Bezugnahme auf die 5–8 erläutert. Die 5 und 6 zeigen Beispiele für schwache Lesevorgänge, und die 7 und 8 zeigen Beispiele für schwache Schreibvorgänge. Obwohl diese Beispiele untenstehend als Abfolge von Vorgängen, Ereignissen oder Wellenformen dargestellt und beschrieben werden, ist die Erfindung nicht auf die dargestellte Reihenfolge derartiger Vorgänge, Ereignisse oder Wellenformen beschränkt. Dasselbe trifft auf andere hier beschriebene Verfahren zu. Beispielsweise können manche Vorgänge in anderer Reihenfolge auftreten und/gleichzeitig mit anderen Vorgängen oder Ereignissen außer den hier dargestellten und/oder beschriebenen durchgeführt werden. Zusätzlich sind nicht alle dargestellten Vorgänge zur Ausführung der Erfindung notwendig, und die Wellenformen dienen lediglich der Veranschaulichung, und andere in Ausführungsbeispielen auftretende Wellenformen können sich deutlich von den dargestellten unterscheiden. Ein oder mehrere der dargestellten Vorgänge können in ein oder mehreren getrennten Vorgängen oder Phasen durchgeführt werden.
-
In 5 ist ein Speicherzugriffsverfahren 500 dargestellt, welches einen normalen Schreibvorgang 502 gefolgt von einem schwachen Lesevorgang 504 umfasst.
-
Der normale Schreibvorgang 502 beginnt bei 506, wenn ein vorgegebener Strompuls an mindestens eine einer ersten und zweiten Bitleitung, welche mit der Speicherzelle gekoppelt sind, angelegt wird. Der vorgegebene Strompuls ist aus einem ersten Strompuls und einem zweiten Strompuls ausgewählt, welche einem ersten Datenwert bzw. einem zweiten Datenwert entsprechen. Dieser vorgegebene Strompuls kann von einer Bitleitungstreiberschaltung (zum Beispiel 418 und/418' in 4) bereitgestellt werden. Bei 508 wird, während der normale Schreibstrompuls kontinuierlich angelegt ist, eine Wortleitung der Speicherzelle aktiviert, um einen normalen Schreibvorgang eines erwarteten Datenwerts in die Speicherzelle durchzuführen.
-
Der schwache Lesevorgang 504 beginnt bei 510, wenn die Wortleitung deaktiviert wird und die Bitleitungen BL und BL' auf eine vorgegebene Vorspannung vorgeladen werden.
-
Nachdem die Bitleitungen auf die vorgegebene Vorspannung eingeschwungen sind, wird die Wortleitung bei 512 aktiviert, um einen tatsächlichen Datenwert aus der Speicherzelle auszulesen. Wenn die Wortleitung aktiviert ist, stellen kreuzgekoppelte Inverter in der Speicherzelle einen Lesestrompuls aus der Speicherzelle zu mindestens einer der ersten und zweiten Bitleitungen bereit, wobei der Lesestrompuls von dem in der Speicherzelle gespeicherten Datenwert abhängt.
-
Um den Lesestrompuls zu „schwächen” und damit die Lesetoleranz für die Zelle zu testen, wird ein Teil des Lesestrompulses von der mindestens einen Bitleitung bei 514 abgeführt (zum Beispiel durch Benutzung der Pull-Down-Schaltung 414 in 4). Der schwache Lesevorgang wird bei 516 fortgeführt, wenn die erste und die zweite Bitleitung mit einem Leseverstärker gekoppelt werden, um den tatsächlichen Datenwert in der Zelle zu lesen.
-
Wenn sich der tatsächliche Datenwert, welcher aus der Speicherzelle ausgelesen wurde, von dem erwarteten Datenwert für die Speicherzelle unterscheidet, dann wird der schwache Lesestrompuls als Ausfallzustand für die Zelle gespeichert. Die Menge des von dem Lesestrompuls abgeleiteten Stroms kann iterativ angepasst werden (beispielsweise durch Benutzung verschiedener Kombinationen der Transistoren innerhalb der Pull-Up- und Pull-Down-Schaltung 414, 416, welche in 4 einen variablen Widerstandsteiler bilden), um eine Lesetoleranz für die Speicherzelle genau zu charakterisieren.
-
6 zeigt ein detailliertes Zeitablaufdiagramm 600, welches mit dem Ausführungsbeispiel der 5 konsistent ist. Das Zeitablaufdiagramm 600 zeigt ein Beispiel, in welchem ein Standardschreibvorgang benutzt wird, um während 602 eine „0” in die Speicherzelle zu schreiben (zum Beispiel 502 der 5), und dann wird während 604 ein Standardlesevorgang durchgeführt. Wenn die Zelle richtig funktioniert, wird der Standardlesevorgang während 602 eine „0” als den in der Zelle gespeicherten Wert zurückgeben. Nach einem optionalen Ruhezyklus („Idle”) während 606, einem optionalen Standardschreibvorgang einer „1” während 608 und einem weiteren optionalen Ruhezyklus während 610 wird bei 612 ein schwacher Lesevorgang durchgeführt, um die „Stärke” des in der Zelle gespeicherten Datenzustands zu testen. Es ist zu bemerken, dass, obwohl ein Beispiel einer Kombination von „1”- und „0”-zuständen in dem dargestellten Beispiel ausgewählt wurden, andere Kombinationen von Datenzuständen stattdessen benutzt werden könnten.
-
Genauer beschrieben wird während 602 der normale Schreibvorgang durch Anlegen eines ersten Strompulses an die Bitleitungen BL, BL' durchgeführt. Während der Zeit 602 bewirkt der erste Strompuls eine relativ geringe Gleichspannung auf der Bitleitung BL (zum Beispiel VSS) und eine relativ hohe Gleichspannung auf der Bitleitung BL' (zum Beispiel VDD). Während der Strompuls angelegt wird, wird die Wortleitung WL aktiviert, was den ersten Speicherknoten SN auf eine relativ niedrige Gleichspannung und den zweiten Speicherknoten SN' auf eine relativ hohe Gleichspannung bei 614 treibt. Kreuzgekoppelte Inverter in der Speicherzelle verstärken diesen Datenzustand (zum Beispiel „0”) wechselseitig, sobald er in den Speicherknoten SN, SN' vorliegt. Am Ende des normalen Schreibvorgangs 602 geht die Wortleitung auf einen deaktivierten Zustand zurück, und der erwartet Datenzustand ist in der Speicherzelle gespeichert.
-
Als nächstes wird während 604 ein Standardlesevorgang durchgeführt. Um einen Lesevorgang zu erleichtern, werden die Bitleitungen BL, BL' zunächst bei 616 auf eine relativ hohe Gleichspannung (zum Beispiel VDD) vorgeladen. Nachdem das Vorladen abgeschlossen ist, werden die Bitleitungen BL, BL' floatend geschaltet, und die Wortleitung WL wird bei 618 aktiviert, was die Speicherknoten SN, SN' mit der Bitleitung BL bzw. der Bitleitung BL' koppelt.
-
Dementsprechend ziehen kreuzgekoppelte Inverter in der Speicherzelle (welche die Speicherknoten SN und SN' bereits auf „0” bzw. „1” treiben) die Bitleitung BL nach unten und lassen die Bitleitung BL' auf einem hohen Pegel. Die Wortleitung wird dann deaktiviert, und daraufhin wird der Leseverstärker aktiviert, um die Ladung auf den Bitleitungen BL und BL' zu messen und zu bestimmen, dass in diesem Fall eine „0” in der Speicherzelle gespeichert war. In diesem Beispiel arbeitet die Speicherzelle zu dieser Zeit korrekt, da der in die Zelle während 602 geschriebene erwartete Datenzustand während der Zeit 604 wieder ausgelesen wurde.
-
Nachdem eine optionale Ruhephase während 606 auftritt, welche die Bitleitungen wiederum auf die relativ hohe Gleichspannung vorlädt, wird ein Standardschreibvorgang eines „1”-Datenzustands optional während 608 durchgeführt. Nach einem weiteren optionalen Ruhezustand, in welchem die Bitleitungen während 610 vorgeladen werden, wird bei 612 ein schwacher Lesevorgang durchgeführt.
-
Während des schwachen Lesevorgangs bei 612 wird die Wortleitung WL gleichzeitig mit sowohl der Pull-Down-Schaltung (zum Beispiel S1, n von 414 in 4) und einer Teilmenge von Transistoren in einer Pull-Up-Schaltung (zum Beispiel S1, p von 416 in 4) aktiviert. Dieser Vorspannungszustand legt einen dazwischenliegenden Strom- und Spannungszustand über die Bitleitungen BL, BL' an den kreuzgekoppelten Inverter an. Ob dieser schwache Lesevorgang in der Tat den erwarteten Wert aus der Speicherzelle ausliest, hängt davon ab, ob die Inverterzellen in der Lage sind, den erwarteten Datenzustand trotz der Verzerrung aufgrund der Pull-Down-Schaltung beizubehalten. Wenn die kreuzgekoppelten Inverter beispielsweise stark genug sind, den erwarteten Zustand beizubehalten (wie durch Linien 620–620' gezeigt), wird der korrekte Datenwert gelesen. Wenn die kreuzgekoppelten Inverter jedoch zu schwach sind, den erwarteten Datenzustand beizubehalten (wie durch Linien 622, 622' gezeigt), wird sich der aus der Zelle ausgelesene tatsächliche Datenwert von dem erwarteten Datenwert unterscheiden.
-
In 7 ist ein schwacher Schreibvorgang 700 gemäß manchen Aspekten der vorliegenden Erfindung dargestellt. Das Verfahren 700 beginnt bei 702, wo eine Bitleitungstreiberschaltung (zum Beispiel 418, 418' in 4) einen ersten vorgegebenen Strompuls kontinuierlich während einer ersten Zeit an eine erste und eine zweite Bitleitung einer Speicherzelle anlegt. Der vorgegebene Strompuls ist ausgewählt aus einem ersten Strompuls, welcher einem ersten Datenwert entspricht, und einem zweiten Strompuls, welcher einem zweiten Datenwert entspricht.
-
Bei 704 wird, während der vorgegebene Strompuls kontinuierlich an die erste und die zweite Bitleitung angelegt wird, der vorgegebene Strompuls gestört oder verändert, indem zumindest eine einer Pull-Up-Schaltung und einer Pull-Down-Schaltung verwendet wird, welche mit mindestens einer der ersten und zweiten Bitleitung gekoppelt ist.
-
Bei 706 wird, während der vorgegebene Strompuls gestört wird, eine Wortleitung der Speicherzelle aktiviert, um einen schwachen Lesevorgang eines ersten erwarteten Datenwerts während der ersten Zeit durchzuführen.
-
Bei 708 wird die Zelle ausgelesen, um zu prüfen, ob der erwartete Datenwert erfolgreich in die Zelle geschrieben wurde.
-
8A zeigt ein Beispiel einer Speichereinrichtung 800, welche ein Feld von Speicherzellen umfasst, welche in N Spalten und M Zeilen angeordnet sind. Zellen entlang einer gegebenen Zeile sind mit einer von diesen Zellen geteilten Wortleitung gekoppelt, und Zellen entlang einer der gegebenen Spalten teilen sich ein Paar von komplementären Bitleitungen. Beispielsweise sind die Speicherzellen C1-1 bis C1-N mit einer Wortleitung WL1 gekoppelt und können beschrieben oder ausgelesen werden, indem die Wortleitung WL1 aktiviert wird. Während die Wortleitung WL1 aktiviert ist, wird ein Schreibvorgang durchgeführt, indem geeignete Spannungen an die Bitleitungen BL1 bis BLN' über entsprechende Bitleitungstreiber angelegt werden, wobei die angelegten Bitleitungsspannungen repräsentativ für einen Datenwert sind, welcher in die mit den entsprechenden komplementären Bitleitungen verbundene Speicherzelle zu schreiben ist. Spaltenmultiplexer verbinden ein Paar von Bitleitungen aus einer größeren Anzahl von Bitleitungen mit einem Satz von Bitleitungstreibern und Ausleseverstärkern SA wie in 8B dargestellt.
-
Ein BIST-Modul 802 ist eingerichtet, einen vorgegebenen Satz von Stimulanzvektoren anzuwenden, um die Bitleitungstreiber, Wortleitungstreiber, Vorladungsschaltungen, Pull-Down-Schaltungen und andere Elemente zu steuern, um ein gewünschtes BIST-Testen durchzuführen. Es ist zu bemerken, dass ein derartiges BIST-Testen gleich nach der Herstellung durchgeführt werden kann, aber alternativ oder zusätzlich auch von Zeit zu Zeit durchgeführt werden kann, nachdem die Speichereinrichtung an einen Endverbraucher geliefert wurde.
-
Wie in 8B gezeigt, können in machen Ausführungsbeispielen die Speicherzellen eines Speicherfelds in mehreren Worten über eine gegebene Zeile angeordnet sein (zum Beispiel vier Worte wie in 8B gezeigt). In derartigen Fällen kann ein Leseverstärker und/oder eine Verzerrungsschaltung zwischen den mehreren Worten geteilt sein. Somit kann eine einzige Verzerrungsschaltung beispielsweise für mehrere Zeilen benutzt werden, was die Anzahl von Gattern verringert, welche benötigt wird, die gesamte Speichereinrichtung zu implementieren, und in vielen Fällen auch die Stromaufnahme verringert.
-
Das folgende Verfahren kann in den Speichereinrichtungen der 8A oder der 8B durchgeführt werden, um das Vorhandensein „schwacher Zellen” zu bestimmen.
-
Als erstes werden BIST-Schreibvorgänge ohne Verzerrung durchgeführt, um ein erwartetes Datenmuster in dem Speicherfeld zu erzeugen.
-
Als nächstes werden normale BIST-Lesevorgänge durchgeführt, um zu verifizieren, ob alle Speicherzellen das erwartete Datenmuster für normale Lese- und Schreibtoleranzen zurückliefern. Wenn unerwartete Ergebnisse zurückgegeben werden, können die entsprechenden Zellen erneut überprüft werden und/oder als fehlerhaft markiert werden.
-
Als nächstes werden BIST-Lesevorgänge mit einem ersten Verzerrungsgrad durchgeführt, um zu verifizieren, ob die Speicherzellen bei dem ersten Verzerrungsgrad die erwarteten Ergebnisse zurückliefern.
-
In dem Maß, indem es irgendwelche Unterschiede zwischen dem tatsächlich aus der Speichereinrichtung ausgelesenen Datenmuster und dem erwarteten Datenmuster gibt, wird der Grad der Störung aufgezeichnet, optional zusammen mit den Adressen der entsprechenden „schwachen” Zellen. Wenn alle Daten korrekt sind, wird die Speichereinrichtung eingestellt, den nächst höheren Grad von Störungen, d. h. Verzerrung, für Lesevorgänge zu benutzen und die Zellen wiederum auszulesen, um zu überprüfen, ob das tatsächliche aus dem Feld ausgelesene Datenmuster das gleiche ist wie das erwartete Datenmuster. Dieses Verfahren kann auf diese Weise mit aufeinander folgenden Steigerungen des Verzerrungsgrads durchgeführt werden, bis „schwache” Zellen detektiert werden oder bis alle Zellen korrekte Daten liefern, bis ein vorgegebener (zum Beispiel maximaler) Verzerrungsgrad erreicht ist. Dieses Verfahren kann dann unabhängig hiervon mit geeigneten Einstellungen für Verzerrungen des Lesevorgangs durchgeführt werden.
-
Ein komplexeres Verfahren ermöglicht die Bestimmung einer Zellenstabilitätsverteilung. Bei diesem Verfahren wird ein BIST-Test genutzt, um ein Datenmuster ohne Verzerrung in die Speichereinrichtung zu schreiben, was einen bekannten Inhalt des Speicherfelds erzeugt. Als nächstes wird ein erster Leseverzerrungsgrad auf die Zellen angewendet, und BIST-Lesevorgänge werden benutzt, um die Auswirkungen auf das erwartete Datenmuster zu überprüfen. Als nächstes wird, wenn das tatsächlich aus dem Speicherfeld ausgelesene Datenmuster sich von dem erwarteten Datenmuster unterscheidet, der Verzerrungsgrad als eine relevante Grenze der Störung gespeichert. Das Verfahren kann zudem optional die Adressen der Zellen, welche keinen korrekten Wert zurückgeliefert haben, aufzeichnen. Als nächstes wird, wenn höhere Verzerrungsgrade konfigurierbar sind, der nächsthöhere Verzerrungsgrad angewendet, und die Ergebnisse werden wiederum überprüft. Dieses Verfahren kann unabhängig davon auch mit entsprechenden Einstellungen für die Schreibverzerrung durchgeführt werden.