-
QUERVERWEIS ZU EINER VERWANDTEN ANMELDUNG
-
Die vorliegende Anmeldung beansprucht die Priorität der vorläufigen
U.S.-Patentanmeldung Nr. 62/616 985 , eingereicht am 12. Januar 2018, die hiermit zur Gänze durch Verweis einbezogen wird.
-
ALLGEMEINER STAND DER TECHNIK
-
Speichervorrichtungen werden gewöhnlich in vielen Typen elektronischer Vorrichtungen, wie in Computern, Mobiltelefonen, Tablets, Datenloggern und Navigationsausstattungen, um nur einige wenige Beispiele zu nennen, eingesetzt. Im Allgemeinen können Schreibvorgänge verwendet werden, um Informationen, wie Datenbits, in einer solchen Speichervorrichtung zu speichern. In einigen Fällen kann es mehrere Datenwörter geben, von welchen jedes mehrere Datenbits aufweist, die konfiguriert sind, um in jeweilige Speicherbitzellen der Speichervorrichtung geschrieben zu werden. Gelegentlich können jeweilige Schreibvorgänge scheitern. Ein oder mehrere Datenbits der Mehrzahl von Datenwörtern werden eventuell nicht richtig zu den konfigurierten Speicherbitzellen geschrieben. Solche Datenbits werden typischerweise gescheiterte Datenbits genannt.
-
Um solchen gescheiterten Datenbits abzuhelfen, greifen Techniken, die in existierenden Speichervorrichtungen verwendet werden, typischerweise auf eine oder mehrere Iterationen zum Neuschreiben der gescheiterten Datenbits basierend auf einer Einheit eines einzelnen „Worts“ zurück. Die gescheiterten Datenbits, die in einem ersten Wort enthalten sind, werden zum Beispiel in die jeweils konfigurierten Speicherbitzellen neu geschrieben, die gescheiterten Datenbits, die in einem zweiten Wort enthalten sind, werden in die jeweils konfigurierten Speicherbitzellen neu geschrieben, usw., was zeit- und energieraubend ist. Existierende Speichervorrichtungen und Verfahren zum Speichern von Datenbits sind daher nicht ganz zufriedenstellend.
-
Figurenliste
-
Aspekte der vorliegenden Offenbarung versteht man am besten aus der folgenden ausführlichen Beschreibung unter Heranziehung der begleitenden Figuren. Es wird darauf hingewiesen, dass diverse Merkmale nicht unbedingt maßstabgerecht gezeichnet sind. Die Maße der diversen Merkmale können nämlich zur Klarheit der Besprechung willkürlich vergrößert oder verkleinert werden.
- 1 veranschaulicht ein beispielhaftes Blockschaltbild einer Speichervorrichtung in Übereinstimmung mit einigen Ausführungsformen.
- 2A veranschaulicht ein beispielhaftes schematisches Diagramm eines Abschnitts der Speichervorrichtung der 1 in Übereinstimmung mit einigen Ausführungsformen.
- 2B veranschaulicht ein beispielhaftes schematisches Diagramm eines anderen Abschnitts der Speichervorrichtung der 1 in Übereinstimmung mit einigen Ausführungsformen.
- 3 veranschaulicht ein Ablaufdiagramm eines beispielhaften Verfahrens zum Betreiben der Speichervorrichtung der 1 in Übereinstimmung mit einigen Ausführungsformen.
- 4 veranschaulicht ein Blockschaltbild eines Computersystems zum Ausführen des Verfahrens der 3 in Übereinstimmung mit einigen Ausführungsformen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende Offenbarung beschreibt diverse beispielhafte Ausführungsformen zum Umsetzen unterschiedlicher Merkmale des Gegenstands. Spezifische Beispiele von Komponenten und Anordnungen sind unten beschrieben, um die vorliegende Offenbarung zu vereinfachen. Es sind dies natürlich nur Beispiele und sie bezwecken nicht, einschränkend zu sein. Man wird zum Beispiel verstehen, dass, wenn ein Element als mit einem anderen Element „verbunden“ oder „gekoppelt“ bezeichnet wird, es direkt mit dem anderen Element verbunden oder gekoppelt sein kann, oder dass ein oder mehr dazwischen liegende Elemente vorhanden sein können.
-
Die vorliegende Offenbarung stellt diverse Ausführungsformen einer Speichervorrichtung bereit, die eine Steuerlogikschaltung aufweist, die konfiguriert ist, um ein oder mehrere gescheiterte Datenbits in jeweilig konfigurierte Speicherbitzellen basierend auf einer Datenwortgruppeneinheit neu zu schreiben. Bei einigen Ausführungsformen können die Steuerlogikschaltungen einen Gruppierungsvorgang auf einer Mehrzahl von Datenwörtern, von welchen jedes eine Mehrzahl von Datenbits aufweist, als Reaktion auf das Bestimmen einer Gegenwart eines oder mehrerer gescheiterter Datenbits innerhalb einer solchen Mehrzahl von Datenwörtern einleiten. Die Steuerlogikschaltung ist zum Beispiel konfiguriert, um die Mehrzahl von Datenwörtern, die eine erste Anzahl von Datenwörtern aufweist, als eine Mehrzahl von Datenwortsätzen zu gruppieren, die eine zweite Anzahl von Datenwortsätzen aufweisen, wobei die zweite Anzahl kleiner ist als die erste Anzahl. Gemäß einigen Ausführungsformen überprüft die Steuerlogikschaltung iterativ, ob jeder der Datenwortsätze ein beliebiges der gescheiterten Datenbits enthält, und falls das der Fall ist, schreibt sie das/die gescheiterte(n) Datenbit(s) neu in die konfigurierten Speicherbitzellen.
-
Bei einigen Ausführungsformen können durch Neuschreiben des/der versagten Datenbit(s) basierend auf der Einheit eines Datenwortsatzes statt auf jedem einzelnen Wort diverse Vorteile bereitgestellt werden. Da im Allgemeinen die Anzahl gescheiterter Datenbits im Vergleich zu der Gesamtanzahl der Datenbits jedes Worts zum Beispiel relativ niedrig ist (zum Beispiel in etwa in dem Bereich von einem Teil pro Million (ppm)), kann das Neuschreiben der gescheiterten Datenbits, die in jedem Datenwortsatz gruppiert sind, hinsichtlich der Zeit und Leistung effizienter sein. Aufgrund des/der effizienteren Neuschreibvorgangs bzw. Neuschreibvorgänge, wird weiter eine größere Toleranz auf Fehlern für den anfänglichen Schreibvorgang erlaubt. Die Größe eines anfänglichen Schreibsignals, das an die Speicherbitzellen der offenbarten Speichervorrichtung angelegt wird, kann daher wesentlich verringert werden, was jeweilige Belastbarkeiten der Speicherbitzellen vorteilhaft verbessern kann.
-
1 veranschaulicht ein Blockschaltbild einer beispielhaften Speichervorrichtung 100 in Übereinstimmung mit diversen Ausführungsformen der vorliegenden Offenbarung. Wie gezeigt, weist die Speichervorrichtung 100 eine Steuerlogikschaltung 102, eine Mehrzahl von Speicherbänken 104, 106, 108 und 110, und eine Pufferspeicherschaltung 120 auf. Obwohl, wie in der veranschaulichten Ausführungsform der 1 gezeigt, die Speichervorrichtung 100 vier Speicherbänke 104 bis 110 aufweist, ist klar, dass die Speichervorrichtung 100 eine beliebige gewünschte Anzahl von Speicherbänken aufweisen kann, während sie immer noch im Schutzbereich der vorliegenden Offenbarung bleibt.
-
Bei einigen Ausführungsformen ist die Steuerlogikschaltung 102, die mit den Speicherbänken 104 bis 110 gekoppelt ist, konfiguriert, um eine Mehrzahl von Datenwörtern zu empfangen, von welchen jedes eine Mehrzahl von Datenbits aufweist, durch eine standardisierte Schnittstelle (nicht gezeigt), und eine solche Mehrzahl von Datenwörtern in jeweilige Speicherbitzellen der Speicherbänke 104 bis 110 zu schreiben. Beim Empfangen der Mehrzahl von Datenwörtern kann weiter die Steuerlogikschaltung 102 auch jeweilige logische Adressen der Datenbits der Mehrzahl von Datenwörtern empfangen. Basierend auf den logischen Adressen kann die Steuerlogikschaltung 102 jedes der Datenbits der Mehrzahl von Datenwörtern in die jeweilige Speicherbitzelle über die Speicherbänke 104 bis 110 schreiben (das heißt die Datenbits der Mehrzahl von Datenwörtern in jeweilige physische Adressen schreiben). Wenn eines oder mehrere der Datenbits nicht richtig in die jeweiligen Speicherbitzellen an solchen konfigurierten Adressen geschrieben werden (unten „gescheiterte Datenbits“) genannt, kann die Steuerlogikschaltung 102 einen Gruppierungsvorgang ausführen, um das bzw. die gescheiterten Datenbits neu in die jeweiligen Speicherbitzellen unter Verwenden einer Datenwortgruppeneinheit, wie unten ausführlicher beschrieben, schreiben.
-
Bei einigen Ausführungsformen ist die Pufferspeicherschaltung 120, die typischerweise Cache-Speicher genannt wird, mit der Steuerlogikschaltung 102 gekoppelt und weist eine Mehrzahl nichtflüchtiger Speicherzellen auf, wie zum Beispiel Flashspeicherzellen, Chalkogenid-Direktzugriffsspeicher-(Random Access Memory -C-RAM)-Zellen, programmierbare Metallisierungszellen-Direktzugriffsspeicher-(PMC-RAM oder PMCm)-Zellen, ovonischen unifizierten Speicher-(Ovonic Unified Memory - OUM)-Zellen, Widerstands-Direktzugriffsspeicher-(Resistance Random Access Memory - RRAM)-Zellen, ferroelektrische Speicher-(Ferroelectric Memory - FeRAM)-Zellen usw., oder flüchtige Speicherzellen, zum Beispiel statische RAM-(SRAM)-Zellen, dynamische RAM-(DRAM)-Zellen usw. Solche Speicherzellen der Pufferspeicherschaltungen 120 können als On-Chip- Speicherzellen (das heißt auf demselben Chip wie Speicherbänke 104 bis 110 gebildet) oder Off-Chip-Speicherzellen (das heißt auf einem unterschiedlichen Chip von den Speicherbänken 104 bis 110 gebildet) gebildet werden. Bei einigen Ausführungsformen kann die Steuerlogikschaltung 102 diverse Typen von Daten in der Pufferspeicherschaltung 120 speichern, zum Beispiel eine Abbildung der oben erwähnten gescheiterten Datenbits, wie unten besprochen.
-
Wie oben erwähnt, weist jede der Speicherbänke 104 bis 110 eine jeweilige Mehrzahl von Speicherbitzellen auf. Bei einigen Ausführungsformen ist die jeweilige Mehrzahl von Speicherbitzellen in einer Spalten-Zeilen-Konfiguration eingerichtet, wobei jede Speicherbitzelle an einer jeweiligen Schnittstelle einer Bitleitung (BL), die eine Spalte bildet, und einer Wortleitung (WL), die eine Zeile bildet, angeordnet ist. Weiter weist jede der Speicherbänke 104 bis 110 eine jeweilige Zeilenauswahlschaltung, eine Spaltenauswahlschaltung und einen Schreibtreiber auf. Die 2A und 2B veranschaulichen jeweilige schematische Diagramme der Speicherbänke 104 bis 110 gemäß einigen Ausführungsformen.
-
Unter Bezugnahme auf 2A sind jeweils die schematischen Diagramme der Speicherbänke 104 und 106 gezeigt. Die Speicherbank 104 weist Speicherbitzellen 104-1, 104-2, 104-3, 104-4, 104-5, 104-6, 104-7, 104-8, 104-9, 104-10, 104-11, 104-12, 104-13, 104-14, 104-15 und 104-16 auf, die als ein Array 104A gebildet sind, eine Zeilenauswahlschaltung (typischerweise eine Zeilenmultiplexerschaltung genannt) 104RM, eine Spaltenauswahlschaltung (typischerweise eine Spaltenmultiplexerschaltung genannt) 104CM und eine Schreibtreiberschaltung 104WD auf. Wie unten besprochen, weist jede Zeilenauswahlschaltung 104RM und Spaltenauswahlschaltung 104CM eine Mehrzahl von Bauteilen auf, die mit entsprechenden Speicherbitzellen durch jeweilige BLs oder WLs gekoppelt sind. Obwohl bei der veranschaulichten Ausführungsform der 2A die Speicherbank 104 16 Speicherbitzellen aufweist, kann das Speicher-Array 104A der Speicherbank 104 eine beliebige gewünschte Anzahl von Speicherbitzellen aufweisen, ohne den Schutzbereich der vorliegenden Offenbarung zu verlassen. Weiter versteht man, dass 2A nur eine beispielhafte Ausführungsform veranschaulicht, und dass die Speicherbank 102 andere Speicherschaltungen gemäß dem Stand der Technik einsetzen kann, zum Beispiel Abtastverstärker, Vorladeschaltungen usw., ohne den Schutzbereich der vorliegenden Offenbarung zu verlassen.
-
Wie gezeigt, ist die Speicherbitzelle 104-1 an einer Schnittstelle der BL 130, die entlang einer ersten Spalte eingerichtet ist, und der WL 138, die entlang einer ersten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-2 ist an einer Schnittstelle der BL 132, die entlang einer zweiten Spalte eingerichtet ist, und der BL 138, die entlang der ersten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-3 ist an einer Schnittstelle der BL 134, die entlang einer dritten Spalte eingerichtet ist, und der WL 138, die entlang der ersten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-4 ist an einer Schnittstelle der BL 136, die entlang einer vierten Spalte eingerichtet ist, und der WL 138, die entlang der ersten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-5 ist an einer Schnittstelle der BL 130, die entlang der ersten Spalte eingerichtet ist, und der WL 140, die entlang einer zweiten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-6 ist an einer Schnittstelle der BL 132, die entlang der zweiten Spalte eingerichtet ist, und der WL 140, die entlang der zweiten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-7 ist an einer Schnittstelle der BL 134, die entlang der dritten Spalte eingerichtet ist, und der WL 140, die entlang der zweiten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-8 ist an einer Schnittstelle der BL 136, die entlang der vierten Spalte eingerichtet ist, und der WL 140, die entlang der zweiten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-9 ist an einer Schnittstelle der BL 130, die entlang der ersten Spalte eingerichtet ist, und der WL 142, die entlang einer dritten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-10 ist an einer Schnittstelle der BL 132, die entlang der zweiten Spalte eingerichtet ist, und der WL 142, die entlang der dritten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-11 ist an einer Schnittstelle der BL 134, die entlang der dritten Spalte eingerichtet ist, und der WL 142, die entlang der dritten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-12 ist an einer Schnittstelle der BL 136, die entlang der vierten Spalte eingerichtet ist, und der WL 142, die entlang der dritten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-13 ist an einer Schnittstelle der BL 130, die entlang der ersten Spalte eingerichtet ist, und der WL 144, die entlang einer vierten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-14 ist an einer Schnittstelle der BL 132, die entlang der zweiten Spalte eingerichtet ist, und der WL 144, die entlang der vierten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-15 ist an einer Schnittstelle der BL 134, die entlang der dritten Spalte eingerichtet ist, und der WL 144, die entlang der vierten Zeile eingerichtet ist, angeordnet, die Speicherbitzelle 104-16 ist an einer Schnittstelle der BL 136, die entlang der vierten Spalte eingerichtet ist, und der WL 144, die entlang der vierten Zeile eingerichtet ist, angeordnet.
-
Entlang der ersten Zeile des Speicher-Arrays 104A sind die Speicherbitzellen 104-1 bis 104-4 mit einem ersten Bauteil 104RM-1 der Zeilenauswahlschaltung 104RM durch die WL 138 gekoppelt; entlang der zweiten Zeile des Speicher-Arrays 104A sind die Speicherbitzellen 104-5 bis 104-8 mit einem zweiten Bauteil 104RM-2 der Zeilenauswahlschaltung 104RM durch die WL 140 gekoppelt; entlang der dritten Zeile des Speicher-Arrays 104A sind die Speicherbitzellen 104-9 bis 104-12 mit einem dritten Bauteil 104RM-3 der Zeilenauswahlschaltung 104RM durch die WL 142 gekoppelt; und entlang der vierten Zeile des Speicher-Arrays 104A sind die Speicherbitzellen 104-13 bis 104-16 mit einem vierten Bauteil 104RM-4 der Zeilenauswahlschaltung 104RM durch die WL 144 gekoppelt. Bei einigen Ausführungsformen kann jedes der Bauteile 104RM-1 bis 104RM-4 durch einen beliebigen einer Vielfalt von Pass-Gate-Transistoren, die gemäß dem Stand der Technik bekannt sind, die konfiguriert sind, um ein Signal basierend auf einem Steuersignal, wie zum Beispiel einem gegatterten Latch, einem Übertragungs-Gate usw. durchzulassen, umgesetzt werden.
-
Entlang der ersten Spalte des Speicher-Arrays 104A sind die Speicherbitzellen 104-1, 104-5, 104-9 und 104-13 mit einem ersten Bauteil 104CM-1 der Spaltenauswahlschaltung 104CM durch die BL 130 gekoppelt; entlang der zweiten Spalte des Speicher-Arrays 104A sind die Speicherbitzellen 104-2, 104-6, 104-10 und 104-14 mit einem zweiten Bauteil 104CM-2 der Spaltenauswahlschaltung 104CM durch die BL 132 gekoppelt; entlang der dritten Spalte des Speicher-Arrays 104A sind die Speicherbitzellen 104-3, 104-7, 104-11 und 104-15 mit einem dritten Bauteil 104CM-3 der Spaltenauswahlschaltung 104CM durch die BL 134 gekoppelt; und entlang der vierten Spalte des Speicher-Arrays 104A sind die Speicherbitzellen 104-4, 104-8, 104-12 und 104-16 mit einem vierten Bauteil 104CM-4 der Spaltenauswahlschaltung 104CM durch die BL 136 gekoppelt. Auf ähnliche Art kann bei einigen Ausführungsformen jedes der Bauteile 104CM-1 bis 104CM-4 durch einen beliebigen einer Vielfalt von Pass-Gate-Transistoren, die konfiguriert sind, um ein Signal basierend auf einem Steuersignal, wie zum Beispiel einem gegatterten Latch, einem Übertragungs-Gate usw. durchzulassen, umgesetzt werden.
-
Entlang der Spaltenrichtung sind die Speicherbitzellen weiter mit der Schreibtreiberschaltung 104WD durch die jeweilige BL gekoppelt. Zum Beispiel sind entlang der ersten Spalte des Speicher-Arrays 104A die Speicherbitzellen 104-1, 104-5, 104-9 und 104-13 mit der Schreibtreiberschaltung 104WD durch die BL 130 gekoppelt; entlang der zweiten Spalte des Speicher-Arrays 104A sind die Speicherbitzellen 104-2, 104-6, 104-10 und 104-14 mit der Schreibtreiberschaltung 104WD durch die BL 132 gekoppelt; entlang der dritten Spalte des Speicher-Arrays 104A sind die Speicherbitzellen 104-3, 104-7, 104-11 und 104-5 mit der Schreibtreiberschaltung 104WD durch die BL 134 gekoppelt; und entlang der vierten Spalte des Speicher-Arrays 104A sind die Speicherbitzellen 104-4, 104-8, 104-12 und 104-16 mit der Schreibtreiberschaltung 104WD durch die BL 136 gekoppelt. Bei einigen Ausführungsformen kann die Schreibtreiberschaltung 104WD durch eine Kombination mehrerer Logik-Gates und/oder Transistoren, die gemäß dem Stand der Technik bekannt sind, die konfiguriert sind, um ein Schreibsignal (zum Beispiel ein Spannungssignal) zu einer bestätigten BL bereitzustellen, umgesetzt werden.
-
Ähnlich wie die Konfiguration der Speicherbank 102 weist die Speicherbank 106 Speicherbitzellen 106-1, 106-2, 106-3, 106-4, 106-5, 106-6, 106-7, 106-8, 106-9, 106-10, 106-11, 106-12, 106-13, 106-14, 106-15 und 106-16 auf, die als ein Array 106A gebildet sind, die jeweils an einer Schnittstelle einer BL und einer WL angeordnet sind, zum Beispiel an einer der BL 146, 148, 150 und 152 und an einer der WL 154, 146, 158 und 160, eine Zeilenauswahlschaltung 106RM, eine Spaltenauswahlschaltung 106CM und eine Schreibtreiberschaltung 106WD auf. Weiter weist die Zeilenauswahlschaltung 106RM auch vier Bauteile 106RM-1, 106RM-2, 106RM-3 und 106RM-4 auf, die jeweils mit jeweiligen Speicherbitzellen des Speicher-Arrays 106A durch eine entsprechende WL gekoppelt sind; und die Spaltenauswahlschaltung 106CM weist auch vier Bauteile 106CM-1, 106CM-2, 106CM-3 und 106CM-4 auf, die jeweils mit jeweiligen Speicherbitzellen des Speicher-Arrays 106A durch eine entsprechende BL gekoppelt sind. Die Zeilenauswahlschaltung 106RM und die Spaltenauswahlschaltung 106CM sowie die Schreibtreiberschaltung 106WD sind im Wesentlichen ähnlich wie jeweils die oben beschriebene Zeilenauswahlschaltung 104RM, Spaltenauswahlschaltung 104CM und Schreibtreiberschaltung 104WD, so dass Beschreibungen der Zeilenauswahlschaltung 106RM, der Spaltenauswahlschaltung 106CM und der Schreibtreiberschaltung 106WD nicht wiederholt werden.
-
Unter Bezugnahme auf 2B sind die Speicherbänke 108 und 110 jeweils im Wesentlichen ähnlich wie die Speicherbänke 104 und 106 (2A). Die Speicherbänke 108 und 110 werden daher kurz wie folgt beschrieben. Die Speicherbank 108 weist zum Beispiel Speicherbitzellen 108-1, 108-2, 108-3, 108-4, 108-5, 108-6, 108-7, 108-8, 108-9, 108-10, 108-11, 108-12, 108-13, 108-14, 108-15 und 108-16 auf, die als ein Array 108A gebildet sind, die jeweils an einer Schnittstelle einer BL und einer WL angeordnet sind, zum Beispiel einer der BLs 162, 164, 166 und 168 und einer der WLs 170, 172, 174 und 176, eine Zeilenauswahlschaltung 108RM, eine Spaltenauswahlschaltung 108CM sowie eine Schreibtreiberschaltung 108WD; und das Speicher-Array 110 weist Speicherbitzellen 110-1, 110-2, 110-3, 110-4, 110-5, 110-6, 110-7, 110-8, 110-9, 110-10, 110-11, 110-12, 110-13, 110-14, 110-15 und 110-16 auf, die als ein Array 110A gebildet sind, die jeweils an einer Schnittstelle einer BL und einer WL angeordnet sind, zum Beispiel einer der BLs 178, 180, 182 und 184 und einer der WLs 186, 188, 190 und 192. Weiter weist in der Speicherbank 108 die Zeilenauswahlschaltung 108RM auch vier Bauteile 108RM-1, 108RM-2, 108RM-3 und 108RM-4 auf, die jeweils im Wesentlichen ähnlich den oben beschriebenen Bauteilen der Zeilenauswahlschaltung 104RM (2A) sind; und die Spaltenauswahlschaltung 108CM weist auch vier Bauteile 108CM-1, 108CM-2, 108CM-3 und 108CM-4 auf, die jeweils im Wesentlichen den oben beschriebenen Bauteilen der Spaltenauswahlschaltung 104CM (2A) ähnlich sind. In der Speicherbank 110 weist die Zeilenauswahlschaltung 110RM auch vier Bauteile 110RM-1, 110RM-2, 110RM-3 und 110RM-4 auf, die jeweils im Wesentlichen den oben beschriebenen Bauteilen der Zeilenauswahlschaltung 104RM (2A) ähnlich sind; und die Spaltenauswahlschaltung 110CM weist auch vier Bauteile 110CM-1, 110CM-2, 110CM-3 und 110CM-4 auf, die jeweils den oben beschriebenen Bauteilen der Spaltenauswahlschaltung 104CM (2A) ähnlich sind.
-
Wie oben erwähnt, ist jedes Bauteil der Zeilenauswahlschaltungen 104RM, 106RM, 108RM und 110RM konfiguriert, um zu erlauben, dass ein Signal basierend auf einem Steuersignal in Übereinstimmung mit einigen Ausführungsformen durchgeht. Genauer genommen ist jedes Bauteil der Zeilenauswahlschaltungen 104RM, 106RM, 108RM und 110RM konfiguriert, um mindestens eine der gekoppelten WLs zu bestätigen, indem es dem Signal erlaubt wird, basierend auf Adressinformationen, die von dem Steuersignal, das von der Steuerlogikschaltung 102 bereitgestellt wird, angegeben werden, durchzugehen. Auf ähnliche Art ist jedes Bauteil der Spaltenauswahlschaltungen 104CM, 106CM, 108CM und 110CM konfiguriert, um mindestens eine der gekoppelten BLs auch basierend auf den oben erwähnten Adressinformationen zu bestätigen.
-
Bei einigen Ausführungsformen können solche Adressinformationen aufweisen, welche der WLs 138 bis 144, 154 bis 160, 170 bis 176 und 186 bis 192 und welche der BLs 130 bis 136, 146 bis 152, 162 bis 168 und 178 bis 184 jeweils bestätigt werden sollen. Folglich kann die Zeilenauswahlschaltung 104RM eine der WLs 138 bis 144 bestätigen, um das Zugreifen auf die Speicherbitzellen des Speicher-Arrays 104A, die entlang der bestätigten WL angeordnet sind, zu erlauben (um zum Beispiel gelesen oder geschrieben zu werden), indem das entsprechende Bauteil (zum Beispiel eines der Bauteile 104RM-1 bis 104RM-4) aktiviert wird; die Zeilenauswahlschaltung 106RM kann eine der WLs 154 bis 160 bestätigen, um zu erlauben, dass auf die Speicherbitzellen des Speicher-Arrays 106A, die entlang der bestätigten WL angeordnet sind, zugegriffen wird (um zum Beispiel gelesen oder geschrieben zu werden), indem das entsprechende Bauteil (zum Beispiel eines der Bauteile 106RM-1 bis 106RM-4) aktiviert wird; die Zeilenauswahlschaltung 108RM kann eine der WLs 170 bis 176 bestätigen, um zu erlauben, dass auf die Speicherbitzellen des Speicher-Arrays 108A, die entlang der bestätigten WL angeordnet sind, zugegriffen wird (um zum Beispiel gelesen oder geschrieben zu werden); und die Zeilenauswahlschaltung 110RM kann eine der WLs 186 bis 192 bestätigen, um zu erlauben, dass auf die Speicherbitzellen des Speicher-Arrays 110A, die entlang der bestätigten WL angeordnet sind, zugegriffen wird (um zum Beispiel gelesen oder geschrieben zu werden), indem das entsprechende Bauteil (zum Beispiel eines der Bauteile 110RM-1 bis 110RM-4) aktiviert wird.
-
Und die Spaltenauswahlschaltung 104CM kann eine der BLs 130 bis 136 bestätigen, um zu erlauben, dass auf die Speicherbitzellen des Speicher-Arrays 104A, die entlang der bestätigten WL angeordnet sind, zugegriffen wird (um zum Beispiel gelesen oder geschrieben zu werden), indem das entsprechende Bauteil (zum Beispiel eines der Bauteile 104CM-1 bis 104CM-4) aktiviert wird; die Spaltenauswahlschaltung 106CM kann eine der BLs 146 bis 152 bestätigen, um zu erlauben, dass auf die Speicherbitzellen des Speicher-Arrays 106A, die entlang der bestätigten BL angeordnet sind, zugegriffen wird (um zum Beispiel gelesen oder geschrieben zu werden), indem das entsprechende Bauteil (zum Beispiel eines der Bauteile 106CM-1 bis 106CM-4) zugegriffen wird; die Spaltenauswahlschaltung 108CM kann eine der BLs 162 bis 168 bestätigen, um zu erlauben, dass auf die Speicherbitzellen des Speicher-Arrays 108A, die entlang der bestätigten BL angeordnet sind, zugegriffen wird (um zum Beispiel gelesen oder geschrieben zu werden), indem das entsprechende Bauteil (zum Beispiel eines der Bauteile 108CM-1 bis 108CM-4) aktiviert wird; und die Spaltenauswahlschaltung 110RM kann eine der BLs 178 bis 184 bestätigen, um zu erlauben, dass auf die Speicherbitzellen des Speicher-Arrays 110A, die entlang der bestätigten WL angeordnet sind, zugegriffen wird (um zum Beispiel gelesen oder geschrieben zu werden), indem das entsprechende Bauteil (zum Beispiel eines der Bauteile 110CM-1 bis 110CM-4) aktiviert wird.
-
3 veranschaulicht ein Ablaufdiagramm eines beispielhaften Verfahrens zum Neuschreiben eines oder mehrerer gescheiterter Datenbits in jeweilig konfigurierte Speicherbitzellen basierend auf einer Datenwortgruppeneinheit in Übereinstimmung mit diversen Ausführungsformen. Bei diversen Ausführungsformen werden die Vorgänge des Verfahrens 300 durch die jeweiligen Bauteile, die in den 1 bis 2B veranschaulicht sind, ausgeführt. Zum Zweck der Besprechung wird die folgende Ausführungsform des Verfahrens 300 in Verbindung mit den 1 bis 2B beschrieben. Die veranschaulichte Ausführungsform des Verfahrens 300 ist nur ein Beispiel. Man muss daher verstehen, dass ein beliebiger einer Vielfalt von Vorgängen weggelassen, neu eingereiht und/oder hinzugefügt werden kann, ohne den Schutzbereich der vorliegenden Offenbarung zu verlassen.
-
Das Verfahren 300 beginnt mit Vorgang 302, bei dem eine erste Mehrzahl von Datenwörtern, die jeweils eine Mehrzahl von Datenbits aufweisen, in jeweilige Speicherbitzellen geschrieben werden. Bei einigen Ausführungsformen können die jeweiligen Anzahlen von Datenbits der Datenwörter miteinander gleich oder voneinander unterschiedlich sein.
-
Die Steuerlogikschaltung 102 kann zum Beispiel 5 Datenwörter empfangen: 1. Datenwort, 2. Datenwort, 3. Datenwort, 4. Datenwort, 5. Datenwort, von welchen jedes eine Mehrzahl von Datenbits (zum Beispiel im Sinne der Einfachheit 4 Datenbits) aufweist. Weiter, wie oben erwähnt, kann jedes der Datenbits der 5 Datenwörter, wenn die Steuerlogikschaltung 102 die 5 Datenwörter empfängt, mit einer entsprechenden logischen Adresse assoziiert werden, die zu einer physischen Adresse (das heißt an der Schnittstelle einer BL und einer WL) einer der Speicherbitzellen der Speicher-Arrays 104A bis 110A abgebildet werden kann. Die Steuerlogikschaltung 102 schreibt dann die Datenbits der 5 Datenwörter in die Speicherbitzellen unter Verwenden der jeweiligen logischen Adressen.
-
Genauer genommen können die 4 Datenbits des 1. Datenworts jeweils konfiguriert sein, um in die Speicherbitzellen 104-1, 104-2, 104-3 und 104-4 des Speicher-Arrays 104A (wie in 2A angegeben) geschrieben zu werden; die 4 Datenbits des 2. Datenworts können jeweils konfiguriert sein, um in die Bitspeicherzellen 108-5, 108-6, 108-7 und 108-8 des Speicher-Arrays 108A (wie in 2B angegeben) geschrieben zu werden; die 4 Datenbits des 3. Datenworts können jeweils konfiguriert sein, um in die Speicherbitzellen 108-9, 108-10, 108-11 und 108-12 des Speicher-Arrays 108A (wie in 2B angegeben) geschrieben zu werden; die 4 Datenbits des 4. Datenworts können jeweils konfiguriert sein, um in die Speicherbitzellen 110-9, 110-10, 110-11 und 110-12 des Speicher-Arrays 110 (wie in 2B angegeben) geschrieben zu werden; die 4 Datenbits des 5. Datenworts können jeweils konfiguriert sein, um in die Bitspeicherzellen 110-13, 110-14, 110-15 und 110-16 des Speicher-Arrays 100 (wie in 2B angegeben) geschrieben zu werden.
-
Die Steuerlogikschaltung 102 kann folglich die Zeilenauswahlschaltung 104RM veranlassen, das Bauteil 104RM-1 zu aktivieren, um die WL 138 zu bestätigen und die Spaltenauswahlschaltung 104CM zu veranlassen, jeweils oder kollektiv die Bauteile 104CM-1 bis 104CM-4 zu aktivieren, um die BLs 130 bis 136 zu bestätigen, so dass die Datenbits des 1. Datenworts jeweils in die Speicherbitzellen 104-1 bis 104-4 geschrieben werden können. Auf ähnliche Art kann die Steuerlogikschaltung 102 die Spaltenauswahlschaltung 108RM veranlassen, das Bauteil 108RM-1 zu aktivieren, um die WL 172 zu bestätigen, und die Spaltenauswahlschaltung 108CM veranlassen, jeweils oder kollektiv die Bauteile 108CM-1 bis 108CM-4 zu aktivieren, um die BLs 162 bis 168 zu bestätigen, so dass die Datenbits des 2. Datenworts jeweils in die Speicherbitzellen 108-5 bis 108-8 geschrieben werden können; kann die Steuerlogikschaltung 102 die Zeilenauswahlschaltung 108RM veranlassen, das Bauteil 108RM-3 zu aktivieren, um die WL 174 zu bestätigen und die Spaltenauswahlschaltung 108CM veranlassen, jeweils oder kollektiv die Bauteile 108CM-1 bis 108CM-4 zu aktivieren, um die BLs 162 bis 168 zu bestätigen, so dass die Datenbits des 3. Datenworts jeweils in die Speicherbitzelle 108-9 bis 108-12 geschrieben werden können; kann die Steuerlogikschaltung 102 die Zeilenauswahlschaltungen 110RM veranlassen, das Bauteil 110RM-3 zu aktivieren, um die WL 190 zu bestätigen, und die Spaltenauswahlschaltung 110CM veranlassen, jeweils oder kollektiv die Bauteile 110CM-1 bis 110CM-4 zu aktivieren, um die BLs 178 bis 184 zu bestätigen, so dass die Datenbits des 4. Datenworts jeweils in die Speicherbitzellen 110-9 bis 110-12 geschrieben werden können; kann die Steuerlogikschaltung 102 die Zeilenauswahlschaltung 110RM veranlassen, das Bauteil 110RM-4 zu aktivieren, um die WL 192 zu bestätigen, und die Spaltenauswahlschaltung 110CM veranlassen, jeweils oder kollektiv die Bauteile 110CM-1 bis 110CM-4 zu aktivieren, um die BL 178 bis 184 zu bestätigen, so dass die Datenbits des 5. Datenworts jeweils in die Bitspeicherzellen 110-13 bis 110-16 geschrieben werden können.
-
Das Verfahren 300 setzt bei Vorgang 304 fort, um zu bestimmen, ob alle Datenbits der ersten Mehrzahl von Datenwörtern richtig in die jeweiligen Speicherbitzellen geschrieben wurden. Unter Fortsetzung mit dem oben stehenden Beispiel kann die Steuerlogikschaltung 102 im Anschluss an das Schreiben aller Datenbits des 1. bis 5. Datenworts in die jeweiligen konfigurierten Speicherbitzellen dieselben Vorgänge wie oben befolgen, um die jeweiligen WLs und BLs der Speicherbitzellen, in die das 1. bis 5. Datenworts geschrieben wird, zu bestätigen, und einen oder mehrere gekoppelte Abtastverstärker (nicht gezeigt) verwenden, um die geschriebenen Datenbits herauszulesen. Weiter kann bei einigen Ausführungsformen die Steuerlogikschaltung 102 die jeweiligen logischen Zustände der Datenbits des 1. bis 5. Datenworts, die die Steuerlogikschaltung 102 in die Speicherbitzellen zu schreiben beabsichtigt (das heißt die jeweiligen logischen Zustände der Datenbits des 1. bis 5. Datenworts, die die Steuerlogikschaltung 102 bei Vorgang 302 empfangen hat), mit den logischen Zuständen, die aus den Speicherbitzellen gelesen werden, vergleichen. Bei einigen Ausführungsformen, wenn alle herausgelesenen logischen Zustände der Datenbits des 1. bis 5. Datenworts den jeweiligen beabsichtigten logischen Zuständen entsprechen (das heißt, dass alle Datenbits der ersten Mehrzahl von Datenwörtern richtig in die jeweiligen Speicherbitzellen geschrieben wurden), geht das Verfahren 300 zu Vorgang 306 weiter, bei dem der Schreibvorgang endet.
-
Andererseits, wenn die herausgelesenen logischen Zustände eines oder mehrerer der Datenbits des 1. bis 5. Datenworts den jeweiligen beabsichtigten logischen Zuständen nicht entsprechen, können solche Datenbits von der Steuerlogikschaltung 102 als gescheiterte Datenbits, wie oben erwähnt, kategorisiert werden. In diesem Fall (das heißt, wenn nicht alle Datenbits der ersten Mehrzahl von Datenwörtern richtig in die jeweiligen Speicherbitzellen geschrieben sind), geht das Verfahren 300 zu Vorgang 308 weiter, bei dem Informationen solcher gescheiterter Datenbits in einer Pufferspeicherschaltung aufgezeichnet werden. Bei einigen Ausführungsformen können die oben erwähnten Informationen gescheiterter Datenbits aufweisen, zu welchem der Datenwörter jedes gescheiterte Datenbit gehört, und eine Abbildung solcher gescheiterter Datenbits aufweisen. Die Abbildung kann aufweisen, wo (das heißt an welcher physischen Adresse) jedes der gescheiterten Datenbits konfiguriert ist, geschrieben zu werden.
-
Unter Fortsetzung mit dem oben stehenden Beispiel kann nach dem Ausführen des Vergleichs bei Vorgang 304 die Steuerlogikschaltung 102 bestimmen, dass das 3. Datenbit des 1. Datenworts, das 3. Datenbit des 2. Datenworts, das 3. Datenbits des 3. Datenworts und das 1. Datenbits des 4. Datenworts gescheiterte Datenbits sind. Mit anderen Worten weist jedes Datenwort mit Ausnahme des 5. Datenworts ein gescheitertes Datenbit auf, und folglich zeichnet die Steuerlogikschaltung 102 solche Informationen auf, die angeben, welches der 5 Datenwörter gescheiterte Datenbits in der Pufferspeicherschaltung 120 aufweist. Anschließend oder gleichzeitig mit dem Identifizieren der gescheiterten Datenbits kann die Steuerlogikschaltung 102 weiter die jeweiligen physischen Adressen der Speicherbitzellen, in die die gescheiterten Datenbits geschrieben wurden, in der Pufferspeicherschaltung 120 aufzeichnen. Die Steuerlogikschaltung 102 kann zum Beispiel aufzeichnen, das das 3. Datenbit des 1. Datenworts zu der Speicherbitzellen 104-3 geschrieben wurde, die an der Schnittstelle der dritten Spalte (BL 134) und der ersten Zeile (WL 138) des Speicher-Arrays 104A liegt; das 3. Datenbit des 2. Datenworts zu der Speicherbitzelle 108-7 an der Schnittstelle der dritten Spalte (BL 166) und der zweiten Zeile (WL 172) des Speicher-Arrays 108A geschrieben wurde; das 3. Datenbit des 3. Datenworts zu der Speicherbitzelle 108-11 an der Schnittstelle der dritten Spalte (BL 166) und der dritten Zeile (WL 174) des Speicher-Arrays 108A geschrieben wurde, und das 1. Datenbit des 4. Datenworts zu der Speicherbitzelle 110-9 an der Schnittstelle der ersten Spalte (BL 178) und der dritten Zeile (WL 190) des Speicher-Arrays 110A geschrieben wurde.
-
Unter erneuter Bezugnahme auf 3 geht das Verfahren 300 nach dem Bestimmen, dass nicht alle der Datenbits der ersten Mehrzahl von Datenwörtern richtig in die jeweiligen Speicherbitzellen geschrieben wurden, und nach Aufzeichnen jeweiliger Informationen der gescheiterten Datenbits (Vorgänge 304 und 308) zu Vorgang 310 weiter, in dem die erste Mehrzahl von Datenwörtern als eine zweite Mehrzahl von Datenwortsätzen gruppiert wird. Falls die Anzahl der ersten Mehrzahl von Datenwörtern durch die Größe ohne Rest dividiert werden kann, kann jeder Datenwortsatz eine gleich geteilte Anzahl von Datenwörtern aufweisen. Andererseits, falls die Anzahl der ersten Mehrzahl von Datenwörtern nicht durch die Größe ohne Rest dividiert werden kann, kann jeder Datenwortsatz mit Ausnahme des letzten Wortsatzes eine gleich dividierte Anzahl von Datenwörtern aufweisen. Falls die Anzahl der ersten Mehrzahl von Datenwörtern durch die Größe ohne Rest dividiert werden kann, kann jeder Datenwortsatz eine gleich geteilte Anzahl von Datenwörtern aufweisen.
-
Unter Fortsetzung mit dem oben stehenden Beispiel kann die Steuerlogikschaltung 102 die Größe des Datenwortsatzes als 2 bestimmen, was den oben besprochenen letzteren Fall wiedergibt. Die Steuerlogikschaltung 102 kann daher das 1. und das 2. Datenwort als einen ersten Datenwortsatz; das 3. und 4. Datenwort als einen zweiten Datenwortsatz und das 5. Datenwort als einen dritten Datenwortsatz gruppieren. Bei einigen Ausführungsformen kann die Steuerlogikschaltung 102 die gescheiterten Datenbits in jedem Datenwortsatz gemäß jeweiligen Reihenfolgen neu schreiben, das heißt den ersten Datenwortsatz, den zweiten Datenwortsatz und den dritten Datenwortsatz, die unten ausführlicher beschrieben werden, neu schreiben. Der dritte Datenwortsatz kann daher als der letzte Datenwortsatz der mehreren Datenwortsätze betrachtet werden. Es ist jedoch klar, dass die Steuerlogikschaltung 102 den Reihenfolgen zum Neuschreiben der gescheiterten Datenbits eventuell nicht folgt, ohne den Schutzbereich der vorliegenden Offenbarung zu verlassen.
-
Bei einigen alternativen Ausführungsformen kann die Steuerlogikschaltung 102 beim Bestimmen der Größe des Datenwortsatzes die Datenwörter, die gescheiterte Datenbits aufweisen, als einen selben oder ersten Datenwortsatz gruppieren und priorisieren, um die gescheiterten Datenbits, die in einem solchen ersten Datenwortsatz enthalten sind, neu zu schreiben. Bei einem Beispiel, bei dem unter dem 1. bis 5. Datenwort nur das 1. und 4. Datenwort gescheiterte Datenbits aufweisen, kann die Steuerlogikschaltung 102 das 1. und 4. Datenwort als einen ersten Datenwortsatz; das 2. und 3. Datenwort, die keine gescheiterten Datenbits aufweisen, als einen zweiten Datenwortsatz; und das 5. Datenwort, das keine gescheiterten Datenbits aufweist, als einen dritten Datenwortsatz gruppieren. Und die Steuerlogikschaltung 102 kann das Neuschreiben der gescheiterten Datenbits, die in dem ersten Datenwortsatz enthalten sind, priorisieren.
-
Das Verfahren 300 geht zu Vorgang 312 weiter, bei dem ein erster Datenwortsatz ausgewählt wird. Bei einigen Ausführungsformen kann die Steuerlogikschaltung 102 nach dem Gruppieren der ersten Mehrzahl von Datenwörtern einen ersten Datenwortsatz nach seiner Reihenfolge, wie oben erwähnt, auswählen. Bei dem oben stehenden Beispiel kann die Steuerlogikschaltung 102 den ersten Datenwortsatz auswählen, der das 1. und 2. Datenwort aufweist.
-
Das Verfahren 300 geht zu Vorgang 314 weiter, um zu bestimmen, ob der ausgewählte Datenwortsatz eines der gescheiterten Datenbits enthält. Unter Fortsetzung mit dem oben stehenden Beispiel kann die Steuerlogikschaltung 102 bestimmen, ob der ausgewählte Datenwortsatz (zum Beispiel der erste Datenwortsatz, der das 1. und 2. Datenwort aufweist) durch Zugreifen auf die Pufferspeicherschaltung 120, da bei Vorgang 308 die Steuerlogikschaltung 102 die Informationen aller gescheiterten Datenbits in der Pufferspeicherschaltung 120 speichert.
-
Gemäß einigen Ausführungsformen geht folglich beim Bestimmungsvorgang 314, falls der ausgewählte Datenwortsatz eines oder mehrere der gescheiterten Datenbits enthält, das Verfahren 300 zu Vorgang 316 weiter, bei dem das bzw. die gescheiterten Datenbits, die in dem ausgewählten Datenwortsatz enthalten sind, jeweils neu in die jeweiligen konfigurierten Speicherbitzellen geschrieben werden, und dann zu Vorgang 318, um weiter zu bestimmen, ob der ausgewählte Datenwortsatz der letzte Datenwortsatz der zweiten Mehrzahl von Datenwortsätzen ist. Falls der ausgewählte Datenwortsatz der letzte der zweiten Mehrzahl von Datenwortsätzen ist, geht das Verfahren 300 wieder zu Vorgang 304, um zu bestimmen, ob alle Datenbits der ersten Mehrzahl von Datenwörtern richtig in die jeweiligen Speicherbitzellen geschrieben sind. Oder, falls der ausgewählte Datenwortsatz nicht der letzte der zweiten Mehrzahl von Datenwortsätzen ist, geht das Verfahren 300 weiter zu Vorgang 320, in dem ein nächster Datenwortsatz ausgewählt wird, weiter und verschleift dann zu Vorgang 314 zurück.
-
Falls andererseits beim Bestimmungsvorgang 314 der ausgewählte Datenwortsatz keines der gescheiterten Datenbits enthält, überspringt das Verfahren 300 den Vorgang 316 und geht direkt zu Vorgang 318 weiter, um weiter zu bestimmen, ob der ausgewählte Datenwortsatz der letzte Datenwortsatz der zweiten Mehrzahl von Datenwortsätzen ist. Auf ähnliche Art, falls der ausgewählte Datenwortsatz der letzte der zweiten Mehrzahl von Datenwortsätzen ist, geht das Verfahren 300 wieder zu Vorgang 304 weiter, um zu bestimmen, ob alle Datenbits der ersten Mehrzahl von Datenwörtern richtig in die jeweiligen Speicherbitzellen geschrieben sind. Oder, falls der ausgewählte Datenwortsatz nicht der letzte der zweiten Mehrzahl von Datenwortsätzen ist, geht das Verfahren 300 zu Vorgang 320 weiter, in dem ein nächster Datenwortsatz ausgewählt wird, und verschleift dann zu Vorgang 314 zurück.
-
Eine oder mehrere Iterationsschleifen können daher beim Ausführen des Verfahrens 300 gebildet werden, zum Beispiel eine erste Iterationsschleife, die bei Vorgang 314 beginnt, durch die Vorgänge 316, 318 und 320 läuft, und zu Vorgang 314 zurückkehrt, eine zweite Iterationsschleife, die bei Vorgang 314 beginnt, durch die Vorgänge 316, 318, 304, 308, 310 und 312 läuft, und zu Vorgang 314 zurückkehrt, eine dritte Iterationsschleife, die bei Vorgang 314 beginnt, durch die Vorgänge 318 und 320 läuft und zu Vorgang 314 zurückkehrt, und eine vierte Iterationsschleife, die bei Vorgang 314 beginnt, durch die Vorgänge 318, 304, 308, 310 und 312 läuft, und zu Vorgang 314 zurückkehrt. Die Vorgänge 316, 318 und 320 werden unten jeweils ausführlicher beschrieben.
-
Bei dem oben stehenden Beispiel, bei dem der erste Datenwortsatz, der das 1. und 2. Datenwort aufweist, ausgewählt wird (Vorgang 312), da sowohl das 1. als auch das 2. Datenwort mindestens eines der gescheiterten Datenbits (Vorgang 314) aufweisen, kann die Steuerlogikschaltung 102 bei Vorgang 316 gleichzeitig die gescheiterten Datenbits, die jeweils in dem 1. und 2. Datenwort enthalten waren, die nun aber in dem ersten Datenwortsatz gruppiert sind, zu jeweiligen konfigurierten Speicherbitzellen in Übereinstimmung mit einigen Ausführungsformen neu schreiben. Genauer genommen weist das 1. Datenwort ein gescheitertes Datenbit auf, das zu der Speicherbitzelle 104-3 des Speicher-Arrays 104A geschrieben wurde, und das 2. Datenwort weist ein gescheitertes Datenbit auf, das zu der Speicherbitzelle 108-4 des Speicher-Arrays 108 geschrieben wurde. Bei einigen Ausführungsformen kann die Steuerlogikschaltung 102 gleichzeitig die WL 138 durch Aktivieren des Bauteils 104RM-1 bestätigen, um zu erlauben, dass auf die Speicherbitzelle 104-3 zugegriffen wird, und die WL 172, durch Aktivieren des Bauteils 108RM-2, um zu erlauben, dass auf die Speicherbitzelle 108-7 zugegriffen wird. Gleichzeitig oder anschließend bestätigt die Steuerlogikschaltung 102 die BL 134 durch Aktivieren des Bauteils 104CM-3, um die Schreibtreiberschaltung 104WD zu veranlassen, den beabsichtigten logischen Zustand des 3. Datenbits des 1. Datenworts zu der Speicherbitzelle 104-3 neu zu schreiben, und die BL 166 durch Aktivieren des Bauteils 108CM-3, um die Schreibtreiberschaltung 108WD zu veranlassen, den beabsichtigten logischen Zustand des 3. Datenbits des 3. Datenworts zu der Speicherbitzelle 108-7 neu zu schreiben.
-
Bei Vorgang 318 prüft die Steuerlogikschaltung 102, ob der ausgewählte erste Datenwortsatz, der das 1. und 2. Datenwort aufweist, der letzte einer Mehrzahl von Datenwortsätzen ist. Bei dem aktuellen Beispiel sollte der letzte Datenwortsatz der dritte Datenwortsatz sein, der das 5. Datenwort aufweist, so dass das Verfahren 300 zu Vorgang 320 weitergeht, um einen nächsten Datenwortsatz auszuwählen, der der zweite Datenwortsatz ist, der das 3. und 4. Datenwort aufweist. Das Verfahren 300 verschleift zu Vorgang 314 zurück, um zu bestimmen, ob der zweite Datenwortsatz eines der gescheiterten Datenbits aufweist. Da sowohl das 3. und 4. Datenwort mindestens eines der gescheiterten Datenbits (wie oben beschrieben) aufweisen, kann die Steuerlogikschaltung 102 dem Konzept folgen, das oben beschrieben wurde, nämlich um gleichzeitig die gescheiterten Datenbits, die jeweils in dem 3. und 4. Datenwort enthalten waren, die nun aber in dem zweiten Datenwortsatz gruppiert sind, zu jeweiligen konfigurierten Speicherbitzellen 108-11 und 110-9 neu zu schreiben und zu prüfen, ob der ausgewählte zweite Datenwortsatz, der das 3. und 4. Datenwort aufweist, der letzte der mehreren Datenwortsätze ist. Bei dem aktuellen Beispiel ist der zweite Datenwortsatz noch immer nicht der letzte Datenwortsatz, weshalb das Verfahren 300 zu Vorgang 320 weitergeht, um einen nächsten Datenwortsatz, nämlich den dritten Datenwortsatz, der das 5. Datenwort aufweist, auszuwählen, und dann zu Vorgang 314 zurück zu verschleifen. Da der dritte Datenwortsatz kein gescheitertes Datenbit enthält, geht das Verfahren 300 direkt zu Vorgang 318 weiter, und da der dritte Datenwortsatz der letzte Datenwortsatz (wie bei Vorgang 318 bestimmt) ist, geht das Verfahren 300 dann wieder zu Vorgang 304 weiter, um zu bestimmen, ob alle Datenbits des 1. bis 5. Datenworts richtig in die jeweiligen konfigurierten Speicherbitzellen geschrieben wurden. Auf ähnliche Art, falls alle Datenbits des 1. bis 5. Datenworts richtig in die jeweiligen konfigurierten Speicherbitzellen geschrieben wurden, endet der Schreibvorgang (Vorgang 306); und falls immer noch ein oder mehrere gescheiterte Datenbits vorhanden sind, werden solche gescheiterten Datenbits im Anschluss an die Vorgänge 308 bis 312 neu und selektiv unter Befolgen der Iterationsschleife von Vorgängen 314, 316, 318, 320 und 314, der Iterationsschleife von Vorgängen 314, 318, 320 und 314 oder der Iterationsschleife von Vorgängen 314, 316, 318, 304, 308, 310, 312 und 314 geschrieben.
-
4 ist ein Blockschaltbild eines Computersystems 400 in Übereinstimmung mit einigen Ausführungsformen. Eine oder mehrere der Schaltungen und/oder Maschinen und/oder Systeme und/oder Vorgänge, die unter Bezugnahme auf die 1 bis 3 beschrieben wurden, werden bei einigen Ausführungsformen durch ein oder mehrere Computersysteme 400 der 4 ausgeführt. Das System 400 umfasst mindestens einen Prozessor 401, einen Speicher 402, eine Netzwerkschnittstelle (I/F) 406, eine Eingangs-/Ausgangs-(E/A)-Vorrichtung 408 und eine Speicherung 410, die kommunikationsfähig über einen Bus 404 oder einen anderen Verschaltungskommunikationsmechanismus gekoppelt sind.
-
Der Speicher 402 umfasst bei einigen Ausführungsformen einen Direktzugriffsspeicher (Random Access Memory - RAM) und/oder eine andere dynamische Speichervorrichtung und/oder einen Nurlesespeicher (Read-Only Memory - ROM) und/oder eine andere statische Speichervorrichtung, gekoppelt mit dem Bus 404 zum Speichern von Daten und/oder Anweisungen, die von dem Prozessor 401 ausgeführt werden sollen. Der Speicher 402 kann weiter einen Userspace 412, Kern 414, Abschnitte des Kerns und/oder des Userspace und Bauteile davon aufweisen. Der Speicher 402 wird bei einigen Ausführungsformen auch zum Speichern zeitweiliger Variablen oder anderer Zwischeninformationen während der Ausführung von Anweisungen, die von dem Prozessor 401 ausgeführt werden sollen, verwendet. Bei diversen Ausführungsformen kann der Speicher 402 innerhalb einer einzigen integrierten Schaltung enthalten sein oder eine Mehrzahl getrennter Speichervorrichtungen umfassen, die betrieblich miteinander gekoppelt werden.
-
Bei einigen Ausführungsformen ist eine Speichervorrichtung 410, wie eine Magnetplatte oder optische Platte, mit dem Bus 404 zum Speichern von Daten und/oder Anweisungen gekoppelt. Die E/A-Vorrichtung 408 umfasst eine Eingabevorrichtung, eine Ausgabevorrichtung und/oder eine kombinierte Eingabe-/Ausgabevorrichtung, um Benutzerinteraktion mit dem System 400 zu ermöglichen. Eine Eingabevorrichtung, umfasst zum Beispiel eine Tastatur, ein Tastenfeld, eine Maus, einen Trackball, ein Trackpad und/oder Cursor-Richtungspfeile zum Vermitteln von Informationen und Befehlen zu dem Prozessor 401. Eine Ausgabevorrichtung umfasst zum Beispiel eine Anzeige, einen Drucker, einen Sprachsynthesizer usw. zum Vermitteln von Informationen zu einem Benutzer.
-
Bei einigen Ausführungsformen werden ein oder mehrere Vorgänge und/oder Funktionalität der Schaltungen und/oder Maschinen und/oder Systeme, die unter Bezugnahme auf die 1 bis 3 beschrieben sind, von dem Prozessor 401 ausgeführt, der programmiert ist, um solche Vorgänge und/oder Funktionalität auszuführen. Bei einigen Ausführungsformen ist der Prozessor 401 als spezifisch konfigurierte Hardware konfiguriert (zum Beispiel eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs)). In Übereinstimmung mit diversen Ausführungsformen kann der Prozessor 401 innerhalb einer einzigen integrierten Schaltung (IC) oder als mehrere kommunikationsfähige gekoppelte ICs und/oder getrennte Schaltungen umgesetzt werden. Es ist klar, dass der Prozessor 401 in Übereinstimmung mit diversen bekannten Technologien umgesetzt werden kann. Bei einer Ausführungsform weist der Prozessor 401 eine oder mehrere Schaltungen oder Einheiten auf, die konfigurierbar sind, um eine oder mehrere Funktionen oder Prozesse, die hierin beschrieben sind, durch Ausführen von Anweisungen, die zum Beispiel in einem dazugehörenden Speicher gespeichert sind, auszuführen. Bei anderen Ausführungsformen kann der Prozessor 401 als Firmware (zum Beispiel getrennte Logikbauteile) umgesetzt werden, die konfiguriert sind, um eine oder mehrere Funktionen oder Prozesse, die hierin beschrieben sind, auszuführen. In Übereinstimmung mit diversen Ausführungsformen kann der Prozessor 401 zum Beispiel eine oder mehrere Steuervorrichtungen, Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen (ASICs), digitale Signalprozessoren, programmierbare Logikvorrichtungen, feldprogrammierbare Gate-Arrays oder eine beliebige Kombination dieser Vorrichtungen oder Strukturen oder andere bekannte Vorrichtungen und Strukturen aufweisen, um die hierin beschriebenen Funktionen auszuführen.
-
Ein oder mehrere der Speicher 402, I/F 406, Speicherung 410, E/A-Vorrichtung 408 und des Busses 404 ist/sind betreibbar, um Anweisungen, Daten, Konzeptionsauflagen, Konzeptionsregeln, Netzlisten, Layouts, Modelle und/oder andere Parameter zur Verarbeitung durch den Prozessor 401 zu empfangen.
-
Bei einigen Ausführungsformen werden die Vorgänge und/oder Funktionalität als Funktionen eines Programms ausgeführt, das in einem nichtflüchtigen computerlesbaren Aufzeichnungsmedium gespeichert ist. Bei mindestens einer Ausführungsform werden die Vorgänge und/oder Funktionalität als Funktionen eines Programms, wie eines Satzes ausführbarer Anweisungen, die in dem Speicher 402 gespeichert sind, ausgeführt. Bei mindestens einer Ausführungsform ist ein IC-Design in einem nichtflüchtigen computerlesbaren Aufzeichnungsmedium für Zugriff durch einen oder mehrere Vorgänge, wie hierin beschrieben, gespeichert. Beispiele für ein nichtflüchtiges computerlesbares Aufzeichnungsmedium weisen, ohne darauf beschränkt zu sein, eine externe/herausnehmbare und/oder interne/eingebaute Speichereinheit auf, zum Beispiel eine oder mehrere einer optischen Platte, wie zum Beispiel eine DVD, eine Magnetplatte, wie zum Beispiel eine Festplatte, einen Halbleiterspeicher, wie zum Beispiel einen ROM, einen RAM, eine Speicherkarte und dergleichen.
-
Bei einer Ausführungsform weist ein Verfahren Folgendes auf: Schreiben einer Mehrzahl von Datenwörtern, die jeweils eine Mehrzahl von Datenbits aufweisen, in jeweilige Bitzellen einer Speichervorrichtung; als Reaktion auf das Bestimmen, dass nicht alle Datenbits der Mehrzahl von Datenwörtern richtig in die jeweiligen Bitzellen der Speichervorrichtung geschrieben sind, Gruppieren der Mehrzahl von Datenwörtern als eine Mehrzahl von Datenwortsätzen; und gleichzeitiges Neuschreiben eines Subsatzes von Datenbits, die nicht richtig in die jeweiligen Bitzellen der Speichervorrichtung geschrieben wurden, wobei der Subsatz von Datenbits in einem jeweiligen der Mehrzahl von Datenwortsätzen enthalten ist.
-
Bei einer anderen Ausführungsform weist ein Verfahren Folgendes auf: Schreiben einer Mehrzahl von Datenwörtern, die jeweils eine Mehrzahl von Datenbits aufweisen, in jeweilige Bitzellen einer Speichervorrichtung; Prüfen, ob alle Datenbits der Mehrzahl von Datenwörtern richtig in die jeweiligen Bitzellen der Speichervorrichtung geschrieben sind; als Reaktion auf eine Gegenwart eines oder mehrerer Datenbits der Mehrzahl von Datenwörtern, die nicht richtig in die jeweiligen Bitzellen der Speichervorrichtung geschrieben sind, Gruppieren der Mehrzahl von Datenwörtern als eine Mehrzahl von Datenwortsätzen; und iteratives Neuschreiben mindestens eines des einen oder der mehreren Datenbits, die in einem jeweiligen der Mehrzahl von Datenwortsätzen enthalten sind, in die jeweilige Bitzelle der Speichervorrichtung, bis geprüft ist, dass alle Datenbits der Mehrzahl von Datenwörtern richtig in die jeweiligen Bitzellen der Speichervorrichtung geschrieben wurden.
-
Bei noch einer anderen Ausführungsform weist eine Speichervorrichtung Folgendes auf: eine Mehrzahl von Speicherbitzellen; und eine Steuerlogikschaltung, die mit der Mehrzahl von Speicherbitzellen gekoppelt ist. Die Steuerlogikschaltung ist konfiguriert, um: eine Mehrzahl von Datenwörtern, von welchen jedes eine Mehrzahl von Datenbits aufweist, in jeweilige der Mehrzahl von Speicherbitzellen zu schreiben; zu prüfen, ob alle Datenbits der Mehrzahl von Datenwörtern richtig in die jeweiligen Speicherbitzellen geschrieben sind; als Reaktion auf eine Gegenwart eines oder mehrerer Datenbits der Mehrzahl von Datenwörtern, die nicht richtig in die jeweiligen Speicherbitzellen geschrieben sind, Gruppieren der Mehrzahl von Datenwörtern als eine Mehrzahl von Datenwortsätzen; und iteratives Neuschreiben mindestens eines des einen oder der mehreren Datenbits, die in einem jeweiligen der Mehrzahl von Datenwortsätzen enthalten sind, in die jeweilige Speicherbitzelle, bis geprüft ist, dass alle Datenbits der Mehrzahl von Datenwörtern richtig in die jeweiligen Speicherbitzellen geschrieben sind.
-
Oben Stehendes umreißt die Merkmale mehrerer Ausführungsformen derart, dass der Durchschnittsfachmann die Aspekte der vorliegenden Offenbarung besser versteht. Der Fachmann sollte zu schätzen wissen, dass er die vorliegende Offenbarung ohne Weiteres als eine Grundlage zum Konzipieren oder Ändern anderer Prozesse und Strukturen zum Ausführen derselben Zwecke und/oder Erzielen derselben Vorteile der Ausführungsformen, die hier eingeführt werden, verwenden kann. Der Fachmann sollte auch erkennen, dass solche äquivalenten Konstruktionen nicht vom Geist und Schutzbereich der vorliegenden Offenbarung abweichen, und dass er diverse Änderungen, Ersetzungen und Abänderungen hier ohne Abweichen vom Geist und Schutzbereich der vorliegenden Offenbarung ausführen kann.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-