[go: up one dir, main page]

DE102024124066B3 - Speichervorrichtung und verfahren zum betrieb einer speichervorrichtung - Google Patents

Speichervorrichtung und verfahren zum betrieb einer speichervorrichtung

Info

Publication number
DE102024124066B3
DE102024124066B3 DE102024124066.0A DE102024124066A DE102024124066B3 DE 102024124066 B3 DE102024124066 B3 DE 102024124066B3 DE 102024124066 A DE102024124066 A DE 102024124066A DE 102024124066 B3 DE102024124066 B3 DE 102024124066B3
Authority
DE
Germany
Prior art keywords
vector
erase
error
memory elements
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102024124066.0A
Other languages
English (en)
Inventor
Akshaya Prashanthi Lakshmi Narayanan
George Alkhoury
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102024124066.0A priority Critical patent/DE102024124066B3/de
Application granted granted Critical
Publication of DE102024124066B3 publication Critical patent/DE102024124066B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Es wird eine Halbleitervorrichtung bereitgestellt. Die Speichervorrichtung umfasst eine Mehrzahl von Speicherelementen, wobei jedes der Mehrzahl von Speicherelementen ausgelegt ist zum Speichern eines Datenwerts; und eine Steuerung, ausgelegt zum Lesen einer Mehrzahl von gespeicherter Datenwerte aus der Mehrzahl von Speicherelementen; Verarbeiten der gespeicherten Datenwerte unter Verwendung eines Fehlerdetektionscodes, um dadurch einen ersten Löschvektor zu erzeugen; Abbilden einer Adressenliste von permanent dysfunktionalen Speicherelementen, die während des anfänglichen Testens der Speichervorrichtung erzeugt wird, auf die Mehrzahl von Speicherelementen, um dadurch einen zweiten Löschvektor zu erzeugen; und Verarbeiten der Mehrzahl von gespeicherten Datenwerten unter Verwendung eines Fehlerkorrekturcodes unter Berücksichtigung des ersten Löschvektors und des zweiten Löschvektors.

Description

  • Technisches Gebiet
  • Verschiedene Ausführungsformen betreffen allgemein eine Speichervorrichtung und Verfahren zum Betrieb einer Speichervorrichtung.
  • Hintergrund
  • Ein Speicherarray kann nach der Produktion möglicherweise irgendwelche, einige oder alle der folgenden Arten von Defekten aufweisen: Bitgruppenausfälle, wortleitungsorientierte Ausfälle und Einzelzellenausfälle.
  • 1 veranschaulicht schematisch ein Array von Speicherzellen 102, die Teil einer Speichervorrichtung 100 sein können.
  • Ein mit „1“ gekennzeichnetes Blinksymbol zeigt die Bitgruppenausfälle an. Hier betrifft der Ausfall alle Speicherzellen, die mit der ausfallenden Bitleitungen 104 verbunden sind, die in 1 vertikal verläuft. Ein mit „2“ gekennzeichnetes Blinksymbol zeigt die an der Wortleitung 106 orientierten Ausfälle. Hier wirkt sich der Ausfall auf alle Speicherzellen entlang einer Wortleitung 106 aus, die in 1 horizontal verläuft. Ein mit „3“ gekennzeichnetes Blinksymbol zeigt Ausfall der Einzelzelle 102 an. In allen Fällen kann eine „ausfallende“ Speicherzelle (unabhängig davon, ob sie einzeln oder als Teil eines Bitleitungsausfalls oder eines Wortleitungsausfalls ausfällt) permanent in einem ihrer möglichen Programmierzustände „festhängen“, z. B. entweder in einem „1"-Zustand oder in einem „0“-Zustand.
  • All diese Defekte können eine Ausbeute der Speichervorrichtungsproduktion reduzieren, es sei denn, sie werden repariert.
  • Einzeldefekte und wortleitungsorientierte Defekte können beispielsweise mit einem klassischen Wortleitungs-Redundanzmechanismus repariert werden.
  • Die Bitgruppenausfälle sind jedoch kostspieliger mit Redundanz zu reparieren: die Reparatur muss möglicherweise eine ganze Bitgruppe adressieren (die Bitgruppe kann zum Beispiel acht Bit (ein Byte) umfassen). Für diese Reparatur: gemäß einem Stand der Technik, wie dargestellt in 2A , worin Elemente einer Speichervorrichtung 200 im Stand der Technik dargestellt sind, und 2B, worin Daten und Datenhandhabung in der Speichervorrichtung 200 dargestellt sind. Leseverstärker- bzw. SA-Schaltkreise müssen möglicherweise erweitert werden. Zusätzliche/redundante Bitgruppen BGr können im Hardmacro des nichtflüchtigen Speichers (NVM) bereitgestellt werden, die als „Reserve“ im Fall einer ausfallenden Bitleitung 104 verwendet werden sollen, die sich auf eine ganze Spalte von Bitgruppen BGm auswirkt. Obwohl die Begriffe „zusätzliche Bitgruppen“ und „redundante Bitgruppen“ hier etwas austauschbar verwendet werden, betont der Begriff „zusätzliche“ den Aspekt, dass die Speicherelemente bereitgestellt werden, falls sie erforderlich sein können, und der Begriff „redundant“ betont den Aspekt, dass die zusätzlichen/redundanten Speicherzellen bestimmte Daten redundant speichern, die in den Speicherelementen gespeichert werden sollten, die von der ausfallenden Bitleitung 104 betroffen sind.
  • Wie in 2A angegeben, können die zusätzlichen Bitgruppen BGr mit ihren eigenen jeweiligen Adressen (in 2A als „Sec Addr“ angegeben) versehen werden. Wenn beabsichtigt wird, Daten aus einer Bitgruppe BGm zu lesen, die von der ausfallenden Bitleitung 104 der Speichervorrichtung 200 betroffen ist, weist eine digitale Steuerung 220 an, die Rohdaten 226 aus dem adressierten Speicherteil 222 zu lesen und die ausfallende Bitgruppe BGm, wie in einer Konfigurationsdatei 230 angegeben, durch einen Datenteil 228 aus den zusätzlichen Bitgruppen BGr zu ersetzen, wodurch eine reparierte Bitgruppe 231 gebildet wird. Datenverarbeitung wie die Transformation 232 und Fehlerkorrektur durch einen ECC 234 werden an der reparierten Bitgruppe 231 ausgeführt.
  • Diese Art der Reparatur kann auf Kosten einer signifikanten Menge an zusätzlicher erforderlicher Fläche kommen, zum Beispiel weil pro permanent dysfunktionellem Speicherelement 102 eine ganze Gruppe von Speicherelementen (z. B. acht Speicherelemente 102 im Fall der Gruppe bestehend aus acht Speicherelementen, ein Byte).
  • US 9 946 598 B1 beschreibt Systeme, Vorrichtungen und Verfahren können das Aufzeichnen von Offenleiter-Positionsinformationen, die mit der NVM-Position assoziiert sind, bereitstellen, wenn eine nichtflüchtige Speichermedien (NVM)-Position eine Offenleiterbedingung erfüllt. Zusätzlich kann eine Verschiebung von einem oder mehreren Bits während des Schreibens eines Codeworts an die NVM-Position durchgeführt werden, um eine Offenleiterbedingung in der NVM-Position zu vermeiden. Darüber hinaus kann das Ende eines Paritätsabschnitts des Codeworts durch die Verschiebung um einen Betrag punktiert werden.
  • Kurzfassung
  • Eine erfindungsgemäße Speichervorrichtung und ein Verfahren sind in den unabhängigen Patentansprüchen angegeben. Zusätzliche Merkmale für vorteilhafte Ausführungsformen sind in den abhängigen Patentansprüchen angegeben.
  • Kurze Beschreibung der Zeichnungen
  • In den Zeichnungen verweisen gleiche Bezugszeichen in den verschiedenen Ansichten allgemein auf die gleichen Teile. Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu, stattdessen wird der Schwerpunkt allgemein auf die Veranschaulichung der Prinzipien der Erfindung gelegt. In der folgenden Beschreibung werden verschiedene Ausführungsformen der Erfindung unter Bezugnahme auf die folgenden Zeichnungen beschrieben. Es zeigen:
    • 1 schematisch eine Speichervorrichtung mit einem Array von Speicherzellen;
    • 2A und 2B schematisch eine Bitleitungsreparatur gemäß einem Stand der Technik;
    • 3 schematisch eine Reparatur fehlerhafter Daten, die in Speicherzellen gespeichert sind, von denen bekannt ist, dass sie defekt sind, in einer Speichervorrichtung gemäß verschiedenen Ausführungsformen;
    • 4 schematisch, wie verschiedene Arten von Defekten in einer Speichervorrichtung verschiedener Ausführungsformen gehandhabt werden;
    • 5A und 5B schematisch Einzelheiten einer Reparatur fehlerhafter Daten, die in Speicherelementen gespeichert sind, von denen bekannt ist, dass sie dauerhaft dysfunktionell sind, in einer Speichervorrichtung gemäß verschiedenen Ausführungsformen; und
    • 6 ein Flussdiagramm eines Verfahrens zum Betreiben einer elektronischen Vorrichtung gemäß verschiedenen Ausführungsformen.
  • Beschreibung
  • Die folgende ausführliche Beschreibung verweist auf die begleitenden Zeichnungen, die zur Veranschaulichung spezielle Einzelheiten und Ausführungsformen, in denen die Erfindung praktiziert werden kann, zeigen.
  • Das Wort „beispielhaft“ wird hier mit der Bedeutung „als ein Beispiel, eine Instanz oder Veranschaulichung dienend“ verwendet. Eine beliebige Ausführungsform oder ein beliebiges Design, die bzw. das hier als „beispielhaft“ beschrieben wird, ist nicht zwangsläufig als gegenüber anderen Ausführungsformen oder Designs bevorzugt oder vorteilhaft auszulegen.
  • Verschiedene Aspekte der Offenbarung werden für Vorrichtungen bereitgestellt, und verschiedene Aspekte der Offenbarung werden für Verfahren bereitgestellt. Es versteht sich, dass die grundlegenden Eigenschaften der Vorrichtungen auch für die Verfahren gelten und umgekehrt. Daher wurde der Kürze halber möglicherweise auf eine doppelte Beschreibung solcher Eigenschaften verzichtet.
  • Oben werden Szenarien beschrieben, bei denen Speichervorrichtungen mit defekten Bitleitungen entweder nicht repariert werden, was zu einem Ertragsverlust von etwa 6 % führen kann, oder bei denen redundante Bitgruppen zum Speichern von Daten vorgesehen sind, die in Bitgruppen gespeichert werden sollen, die die defekten Bitleitungen enthalten. Die letztere Behandlung kann den Ausbeuteverlust auf weniger als etwa 0,1 % senken, die redundanten Bitgruppen können aber zu einem Overhead bei der erforderlichen Fläche führen. Eine Menge des Overheads kann von einem Datentransformationsschema abhängen (z. B. ob ein 6/8-Schema oder ein 7/8-Schema verwendet wird, mit anderen Worten, ob 6 oder 7 Bit Benutzerdaten in 8 Bit gespeicherte Daten transformiert werden), kann aber in einem Bereich von etwa 2 % bis 2,5 % liegen.
  • Bei verschiedenen Ausführungsformen wird eine Speichervorrichtung bereitgestellt, die einen Ertragsverlust von etwa 0,1 % aufweist, aber keine zusätzliche Fläche erfordert (mit anderen Worten kann die Menge an Overhead bezüglich erforderlicher Fläche null sein).
  • Zusätzlich kann im Stand der Technik unter Verwendung der redundanten Bitgruppen BGr die Bitgruppenredundanzreparatur als „immer eingeschaltet“ betrachtet werden. Mit anderen Worten muss während jedes Lesens aus der Speichervorrichtung 200 überprüft werden, ob ein Teil der Daten aus dem gegenwärtig adressierten Speicherbereich durch die Daten aus der redundanten Bitgruppe BGr ersetzt werden muss. Dies kann eine Leseleistung beeinträchtigen (im Allgemeinen und insbesondere, wenn ein zusätzlicher Leseprozess erforderlich ist).
  • Bei verschiedenen Ausführungsformen werden die redundanten Bitgruppen BGr weggelassen, so dass keine Flächen-Overheads bereitgestellt werden muss. Ein im Stand der Technik verwendeter Prozessor, z. B. ein existierender digitaler Controller, kann mit einigen Anpassungen bezüglich der Programmierung wiederverwendet werden.
  • Bei verschiedenen Ausführungsformen kann ein Fehlerkorrekturcode (ECC) für eine Reparatur von Bitgruppen verwendet werden, die von einer ausfallenden Bitleitung betroffen sind. Die ECC kann im Wesentlichen auch im Stand der Technik verwendet werden, sie kann aber gemäß verschiedenen Ausführungsformen, wie hier beschrieben, angepasst werden.
  • Da eine (letztendliche) Korrektur der ausfallenden Bitleitungen gemäß verschiedenen Ausführungsformen zusammen mit der ECC-Korrektur durchgeführt wird, gibt es keine Verschlechterung der Leseleistung.
  • 4 zeigt für eine beispielhafte PRRAM-Vorrichtung (Program Resistive Random Access Memory) mit 8 MB, warum die hier beschriebene Speichervorrichtung (und das Verfahren zum Betreiben derselben) eine hohe Ausbeute in Kombination mit einer geringen Flächenanforderung (Speicher und/oder Halbleiter) erreichen.
  • - Tests und Simulationen zeigen, dass es bei etwa 1,2 % der beispielhaften 8-MB-PPRAM-Vorrichtungen nach der Produktion zu ausfallenden Bitleitungen kommen kann.
  • Für etwa 0,1 % der Speichervorrichtungen kann eine Invertierung der gespeicherten Daten das Problem möglicherweise nicht lösen. Solche Vorrichtungen können zum Beispiel mehr als ein ausfallendes Bit pro Seite enthalten. Diese Vorrichtungen können verworfen werden, was den Ausbeuteverlust von etwa 0,1 % verursacht (siehe rechten Zweig in 4).
  • Bei den verbleibenden ungefähr 1,1 % der Vorrichtungen kann Dateninversion den Ausfall lösen, zum Beispiel, weil jede Seite nur eine einzige ausfallende Speicherzelle enthält.
  • Von diesen 1,1 %, kann es bei etwa 99 % oder mehr während ihrer Lebensdauer zu keiner Verschlechterung kommen, was bedeutet, dass kein Fehler durch die ECC oder einen Fehlererkennungscode EDC markiert wird (siehe linken Zweig in 4).
  • Bei weniger als etwa 0,1 % der Speichervorrichtungen kann es während ihrer Lebensdauer zu eine Verschlechterung kommen, was bedeutet, dass der ECC/EDC einen Fehler markieren und korrigieren kann. Wahrscheinlich handelt es sich bei dem markierten Fehler um einen Einzelfehler, was bedeutet, dass der ECC wahrscheinlich nicht an seine Grenzen gebracht wird.
  • Bei verschiedenen Ausführungsformen kann eine Speichervorrichtung 100 einen Prozessor 320 umfassen, der dafür ausgelegt sein kann, verschiedene Funktionen der Speichervorrichtung 100 auszuführen, einzuleiten und/oder zu steuern. In 3 ist eine digitale Steuerung als ein Beispiel für einen Prozessor 320 spezifiziert, aber es kann eine beliebige Art von (z. B. Mikro-) Prozessor 320 verwendet werden, die dazu geeignet ist, die hier spezifizierte Funktionalität bereitzustellen.
  • Die Speichervorrichtung 100 kann ferner eine Mehrzahl von Speicherelementen 102 umfassen, die auch als Speicherzellen (oder kurz „Zellen“ oder „Elemente“) bezeichnet werden, von denen (mindestens) einige durch Bitleitungsausfälle, Wortleitungsausfälle und/oder Einzelelement/-zellenausfälle betroffen sein können. Die Speicherelemente 102 können nichtflüchtige Speicherelemente sein, zum Beispiel resistive Speicherelemente. Die Mehrzahl von Speicherelementen 102 kann Teil der Hardware der Speichervorrichtung 100 sein, was auch als Hard-Macro 222 bezeichnet wird. Die Speichervorrichtungshardware kann zum Beispiel neben den Speicherelementen 102 Quellenverstärker SA, leitfähige Leitungen, Multiplexer, Adressendecodierer usw. im Wesentlichen wie im Stand der Technik bekannt umfassen.
  • Bei verschiedenen Ausführungsformen können ausfallende Bitleitungen (und auch ausfallende Wortleitungen und ausfallende Einzelspeicherelemente) nach der Produktion während des Produkttests detektiert werden und können somit als „vordetektiert“ betrachtet werden.
  • Die Speichervorrichtung 100 kann z. B. für Lese- und/oder Schreib- und/oder Fehlerdetektions- und/oder Fehlerkorrekturprozesse in Gruppen von Speicherelementen 102 organisiert werden. Jede Gruppe von Speicherelementen 102 kann zum Beispiel acht Speicherelemente zum Speichern eines Byte (acht Bit) von Daten oder eine andere Anzahl von zwei oder mehr Speicherelementen 102 beinhalten.
  • Die Gruppen von Speicherelementen 102 können typischerweise entlang Wortlinien 106 organisiert sein. Dies kann zu einer Situation führen, in der jedes Speicherelement 102, das mit einer ausfallenden Bitleitung 104 verbunden ist, Teil einer (anderen) Gruppe von Speicherelementen 102 sein kann.
  • In dem in 1 gezeigten Beispiel, worin nur ein kleiner Bruchteil einer typischen Speichervorrichtung 100 gemäß verschiedenen Ausführungsformen gezeigt ist, können acht Speicherelemente 102 entlang einer Wortleitung 106 (Zeile) eine Gruppe von Speicherelementen 102 bilden, sodass 1 insgesamt acht Gruppen von Speicherelementen 102 (eine pro Zeile) zeigt. Die durch „1“ angegebene ausfallende Bitleitung 104 kann eine permanent dysfunktionale Speicherzelle 102 pro Gruppe von Speicherelementen verursachen. Mit anderen Worten, alle in 1 gezeigte Speichergruppen werden durch mindestens ein permanent dysfunktionales Speicherelement 102 beeinträchtigt. Die Gruppe von Speicherelementen in der zweiten Zeile wird zusätzlich durch den Wortleitungsausfall beeinträchtigt, der durch „2“ angegeben ist, und das zweite Speicherelement 102 der Gruppe von Speicherelementen in der dritten Zeile wird ferner durch einen Einzelzellenfehler beeinträchtigt, der durch „3“ angegeben ist.
  • Die vordetektierten ausfallenden Speicherelemente 102 können auf geeignete Weise gespeichert werden, zum Beispiel als (z. B. Konfigurations-) Datei oder in einer Datenbank.
  • Bei verschiedenen Ausführungsformen können die als Teil der Konfiguration gespeicherten Informationen über permanent dysfunktionale Speicherelemente 102 erweitert werden, wenn während einer Lebensdauer der Speichervorrichtung 100 neue permanent dysfunktionale Speicherelemente 102 entdeckt werden. Bei verschiedenen Ausführungsformen können, falls während einer Lebensdauer der Speichervorrichtung 100 neue permanent dysfunktionale Speicherelemente 102 entdeckt werden, die Informationen als Ergänzungsinformationen gespeichert werden, zum Beispiel in einer zusätzlichen Datei oder Datenbank. In diesem Fall kann eine Identifikation der bekannten permanent dysfunktionalen Speicherelemente 102 aus einer Kombination aus sowohl den ursprünglichen Information als auch den Ergänzungsinformationen abgerufen werden.
  • Die Positionen ausfallender Speicherelemente 102 und die Organisationsstruktur der Speicherelemente 102 a priori zu kennen bedeutet, dass auch die Bitgruppen (z. B. Acht-Speicherelement-Gruppen, von denen jede ausgelegt ist zum Speichern eines Datenbyte) bestimmt werden können, die von den permanent dysfunktionalen Speicherelementen 102 betroffen sind. Jede Gruppe von Speicherelementen 102, die ein permanent dysfunktionales Speicherelement 102 aufweist, kann als potenziell fehlerhaft identifiziert werden.
  • Die Mehrzahl von Speicherelementen 102 oder eine vordefinierten Teilmenge der Mehrzahl von Speicherelementen 102, zum Beispiel einer Teilmenge, die als eine „Seite“ bezeichnet wird (jede Seite kann mehrere Gruppen von Speicherelementen 102 aufweisen, wobei die Speicherelemente 102 als ein Array oder eine Matrix entlang mehrerer Bitleitungen 104 und entlang mehrerer Wortleitungen 106 angeordnet sein können), können als zugehörig zu einer Gruppe von Speicherelementen 102, die ein oder mehrere potentiell fehlerhafte Speicherelemente 102 enthält, oder zu einer Gruppe von Speicherelementen 102, die kein a priori bekanntes permanent fehlerhaftes Speicherelement 102 enthält, gekennzeichnet werden. Die Kennzeichnung kann zum Beispiel als ein sogenannter Löschvektor bereitgestellt werden, der einen Datenwert für jede Gruppe von Speicherelementen (der Speichervorrichtung 100 oder der vordefinierten Teilmenge; mit anderen Worten kann der Löschvektor so viele Elemente/Werte aufweisen, wie die Speichervorrichtung oder die vordefinierte Teilmenge Gruppen von Speicherelementen 102 hat), aufweisen kann. Der Datenwert des Löschvektors kann für eine Bitgruppe, die mindestens ein permanent dysfunktionales Speicherelement 102 beinhaltet, auf einen ersten Wert (z. B. „1“) und für eine Bitgruppe, die frei von permanent dysfunktionalen Speicherelementen 102 ist, auf einen zweiten Wert (z. B. „0“), der sich von dem ersten Wert unterscheidet, gesetzt werden. Dieser Löschvektor wird als zweiter Löschvektor vec2 bezeichnet, um ihn von einem anderen (ersten) Löschvektor vec1 zu unterscheiden, der unten beschrieben wird.
  • Der zweite Löschvektor vec2 kann bei verschiedenen Ausführungsformen „im Fluge“ als Teil eines Leseprozesses erzeugt werden. Als Alternative kann der zweite Löschvektor vec2 bei verschiedenen Ausführungsformen im Voraus erzeugt und gespeichert werden, z. B. als Datei oder in einer Datenbank.
  • 5A und 5B zeigen schematisch Einzelheiten einer Reparatur (potentiell) fehlerhafter Daten, die in Speicherelementen gespeichert sind, von denen bekannt ist, dass sie dauerhaft dysfunktionell sind, in einer Speichervorrichtung gemäß verschiedenen Ausführungsformen.
  • Der zweite Löschvektor vec2 kann bei verschiedenen Ausführungsformen einem Code bereitgestellt werden, der eine Fehlerkorrektur (ECC, ECC-Engine 550) durchführt.
  • Mit dem zweiten Löschvektor vec2, der als Eingabe dem ECC 550 bereitgestellt wird, ist eine Detektionsfähigkeit des ECC 550 (oder vielmehr seines entsprechenden Fehlerdetektionscodes EDC, der als Teil des ECC 550 bereitgestellt angesehen wird) zum Detektieren von Gruppen von Speicherelementen 102, die zuvor bekannte permanent dysfunktionale Speicherelemente 102 enthalten, nicht erforderlich. Somit kann die Bereitstellung des zweiten Löschvektors vec2 Fehlerdetektionsleistung sparen.
  • Außerdem kann Fehlerkorrekturleistung bei verschiedenen Ausführungsformen durch einen, einige oder alle der folgenden Aspekte gespart werden.
  • Bei verschiedenen Ausführungsformen kann eine Korrektur von Daten 226, die in einer Gruppe von Speicherelementen 102 gespeichert sind, für die der zweite Löschvektor vec2 angibt (z. B. indem er den ersten Wert aufweist, z. B. 1), dass die Gruppe von Speicherelementen 102 ein permanent dysfunktionelles Speicherelement 102 aufweist („vordetektiert“, wie oben angegeben), nur dann durchgeführt werden, wenn alle folgenden Bedingungen zutreffen:
    • - Dateninvertierung während des Schreibzugriffs wurde nicht erfolgreich angewendet (d. h. das Datenwort wurde nicht korrigiert);
    • - die Datentransformation 332 (ein Vorprozess der ECC-Verarbeitung, wobei ein vordefiniertes Transformationsmuster zum Transformieren einer vordefinierten Anzahl (z. B. 6 oder 7) von Datenwerten in eine vordefinierte größere Anzahl (z. B. 8) von transformierten Datenwerten verwenden kann) hat die Daten nicht bereits korrigiert hat, wobei der Transformationsprozess prinzipiell im Stand der Technik bekannt sein kann;
    • - geschriebene Daten sind nicht bereits ein gültiges/erwartetes Codewort (ECC-Verarbeitung kann einen Codierungsprozess 534 während eines Schreibzugriffs auf die Speicherelemente 102 und einen Decodierungsprozess 334, der einem inversen Prozess entspricht, während eines Lesezugriffs auf die Speicherelemente 102 umfassen; im Rahmen des Schreibvorgangs können die geschriebenen Daten rückgelesen werden und es kann verifiziert werden, dass die aus der Gruppe der Speicherelemente 102 ausgelesenen Daten ein Codewort des Codes bilden, also fehlerfrei geschrieben worden sind, möglicherweise trotz des permanent dysfunktionalen Speicherelements 102, das möglicherweise auf einem günstigen Datenwert für die Daten, die geschrieben wurden, festhing.
    • - durch eine defekte Wortleitung verursachte permanent dysfunktionale Speicherelemente 102 können, im Wesentlichen wie im Stand der Technik bekannt, durch Speichern redundanter Daten in einer anderen Wortleitung repariert werden, aber dieser Mechanismus wurde entweder nicht angewendet oder er ist fehlgeschlagen.
  • Bei verschiedenen Ausführungsformen kann, wie oben erwähnt, eine weitere Eingabe in den ECC 550 bereitgestellt werden. Dies ist in 5A und 5B neben den Daten 226 und dem zweiten Löschvektor vec2, durch den ersten Löschvektor vec1 angedeutet.
  • Der erste Löschvektor vec1 kann durch den ECC bereitgestellt werden, insbesondere durch den Decodierer (den EDC), der während eines Verifizierungslesens als Teil des Schreibprozesses erkennt, dass die gelesenen Daten kein Codewort des ECC bilden.
  • Wie oben skizziert, können sowohl der erste Löschvektor vec1 als auch der zweite Löschvektor vec2 die gleiche Länge wie die Anzahl von Gruppen von Speicherelementen aufweisen, die zum Lesen aus dem Speicher adressiert wurden (die in den Gruppen von Speicherelementen gespeicherten Daten können als Bitgruppen bezeichnet werden, zum Beispiel Bytes im Fall von acht Bits).
  • Für den ersten Löschvektor vec1 können die Werte dem gleichen Schema folgen wie oben für den zweiten Löschvektor vec2 beschrieben: ein erster Wert (z. B. „1“) kann angeben, dass die jeweilige Bitgruppe mindestens einen Fehler aufweist (der sich aus dem bekannten permanent dysfunktionalen Speicherelement 102 oder einer anderen Fehlerquelle ergibt), und ein zweiter Wert (z. B. „0“) kann angeben, dass die jeweilige Bitgruppe ein Codewort des ECC bildet und somit als fehlerfrei angesehen wird.
  • Mit anderen Worten, jede Position in einem Löschvektor (der erste Löschvektor vec1 und der zweite Löschvektor vec2) markiert, wenn das entsprechende Byte fehlerhaft ist (erster Wert, z. B. „1“) oder nicht (zweiter Wert, z. B. „0“).
  • Beide Löschvektoren, der erste Löschvektor vec1 und der zweite Löschvektor vec2, können bei verschiedenen Ausführungsformen beim Anwenden der Korrektur berücksichtigt werden.
  • Bei verschiedenen Ausführungsformen können die zwei Löschvektoren, der erste Löschvektor vec1 und der zweite Löschvektor vec2, zum Beispiel durch OR-Gatter zusammenaddiert werden. Selbst wenn die beiden Vektoren, der erste Löschvektor vec1 und der zweite Löschvektor vec2, an der gleichen Position einen Fehler aufweisen, kann der resultierende (letztendliche) Löschvektor, der als Grundlage für die Entscheidung dienen kann, ob der ECC zum Korrigieren einer gegebenen Bitgruppe verwendet werden soll, weiterhin einen Fehler an dieser Position angeben (und somit eine Korrektur auslösen).
  • Heutzutage kann der ECC typischerweise 1 Byte Fehler und 2 Löschungen korrigieren (Löschungen sind lokalisierte Fehler, die Position ist bekannt, aber nicht der Wert). Und da bei verschiedenen Ausführungsformen die Position der ausfallenden Bitleitung bekannt ist, kann sie als eine Löschung behandelt werden (andernfalls bestünde die Gefahr, dass der ECC die ausfallende Bitleitung als einen Bytefehler interpretieren und seine Grenze erreichen kann). L e t z t e n d l i c h e r   L o ¨ s c h v e k t o r = v e c 1 + v e c 2
  • Sollen beispielsweise Bitgruppen, die im ersten Löschvektor vec1 als fehlerfrei angegeben sind, von der Korrektur ausgeschlossen werden, so können vec1 und vec2 auf andere Weise als oben skizziert berücksichtigt werden, beispielsweise einzeln, oder der letztendliche Löschvektor kann anders gebildet werden, z. B. unter Verwendung anderer geeigneter Logikkombinationen.
  • Wie oben kurz erwähnt wurde, können die Ausführungsformen im Vergleich zum Stand der Technik Speicher-/Halbleiter-/Chipfläche im Hardmacro sparen, indem ausfallende Bitleitungen unter Verwendung des bereits vorhandenen ECC korrigiert werden, statt redundante Bitgruppen zu verwenden (die möglicherweise sogar selbst versagen können).
  • Als ein anderer Aspekt kann eine vorhandene Funktionalität wiederverwendet werden: die ausfallende Bitleitung (oder vielmehr die jeweilige Bitgruppe, die das möglicherweise fehlerhafte Bit aufweist, das in der ausfallenden Bitleitung gespeichert worden wäre) kann dem ECC als eine Löschung bereitgestellt werden, die zusammen mit den anderen Löschungen, die vom Decoder, z. B. dem ECC, kommen, korrigiert werden kann.
  • Als ein anderer Aspekt kann eine Korrektur nur durchgeführt werden, wenn sie erforderlich ist (oder wenn sie überhaupt sinnvoll ist). Beispielsweise kann eine Bitgruppe, die ein permanent dysfunktionales Speicherelement aufweist, nicht korrigiert werden, wenn die Inversion bereits für die Korrektur gesorgt hat (diese Funktionalität ist bereits verfügbar und wird selten verwendet).
  • Ein weiterer Grund, eine ECC-Korrektur nicht zu versuchen, liegt vor, wenn das Datenwort auch ohne die „vorerkannte“ ausfallende Bitgruppe bereits unkorrigierbar ist.
  • Wie in 5B zu sehen ist, wird ECC-Codierung an Benutzerdaten 552 (als Teil eines Schreibprozesses) ausgeführt. Entsprechend kann Decodieren von gelesenen und verarbeiteten gespeicherten im ECC zu den Benutzerdaten 552 führen (sofern sie korrekt gelesen und/oder wiederhergestellt werden).
  • Inversionsbit I und Paritätsbit P können in der ECC-Engine 550 hinzugefügt und verarbeitet werden.
  • Eine Transformationstabelle 560, die definiert, wie die codierten Daten 554 transformiert werden sollen, um die zu schreibenden Rohdaten zu bilden, und wie umgekehrt die Rohdaten enttransformiert werden sollen, um die codierten Daten 554 wiederherzustellen, kann Teil einer digitalen Schnittstelle der Speichervorrichtung 100 sein.
  • Wie oben erwähnt, werden selbst zusätzliche Fehler, die während einer Lebensdauer der Speichervorrichtung auftreten, wahrscheinlich den ECC 550 nicht an seine Grenzen bringen, da ein typischerweise verwendeter ECC 550 für einen Speicher wie hier beschrieben in der Lage sein kann, eine Löschung, einen (zusätzlichen, später auftretenden) Bytefehler oder zwei Löschungen zu korrigieren. Selbst wenn eine weitere Löschung auftritt, ist der ECC 550 wahrscheinlich immer noch in der Lage, die Bitgruppe zu korrigieren.
  • Eine Wahrscheinlichkeit, dass ein Bytefehler auftritt, ist viel kleiner als eine Wahrscheinlichkeit einer Löschung, mit einer relativen Rate von etwa 1 zu 1000.
  • 6 zeigt ein Flussdiagramm 600 eines Verfahrens zum Betreiben einer Speichervorrichtung gemäß verschiedenen Ausführungsformen. Die Speichervorrichtung kann eine Mehrzahl von Speicherelementen aufweisen, wobei jedes der Mehrzahl von Speicherelementen dafür ausgelegt sein kann, einen Datenwert zu speichern.
  • Das Verfahren kann folgendes umfassen: Lesen einer Mehrzahl von gespeicherten Datenwerten aus der Mehrzahl von Speicherelementen (610); Verarbeiten der gespeicherten Datenwerte unter Verwendung eines Fehlerdetektionscodes, um dadurch einen ersten Löschvektor zu erzeugen (620); Abbilden einer Adressenliste von permanent dysfunktionalen Speicherelementen, die während des anfänglichen Testens der Speichervorrichtung erzeugt wird, auf die Mehrzahl von Speicherelementen, um dadurch einen zweiten Löschvektor zu erzeugen (630); und Verarbeiten der Mehrzahl von gespeicherten Datenwerten unter Verwendung eines Fehlerkorrekturcodes unter Berücksichtigung des ersten Löschvektors und des zweiten Löschvektors (640).
  • Nachfolgend werden verschiedene Beispiele veranschaulicht:
    • Beispiel 1 ist eine Speichervorrichtung. Die Speichervorrichtung umfasst eine Mehrzahl von Speicherelementen, wobei jedes der Mehrzahl von Speicherelementen ausgelegt ist zum Speichern eines Datenwerts; und eine Steuerung, ausgelegt zum Lesen einer Mehrzahl von gespeicherter Datenwerte aus der Mehrzahl von Speicherelementen; Verarbeiten der gespeicherten Datenwerte unter Verwendung eines Fehlerdetektionscodes, um dadurch einen ersten Löschvektor zu erzeugen; Abbilden einer Adressenliste von permanent dysfunktionalen Speicherelementen, die während des anfänglichen Testens der Speichervorrichtung erzeugt wird, auf die Mehrzahl von Speicherelementen, um dadurch einen zweiten Löschvektor zu erzeugen; und Verarbeiten der Mehrzahl von gespeicherten Datenwerten unter Verwendung eines Fehlerkorrekturcodes unter Berücksichtigung des ersten Löschvektors und des zweiten Löschvektors.
    • In Beispiel 2 kann der Gegenstand des Beispiels 1 gegebenenfalls umfassen, dass die Mehrzahl von Speicherelementen logisch in Gruppen von Speicherelementen aufgeteilt ist und dass der erste Löschvektor für jede der Gruppen von Speicherelementen einen ersten Wert aufweist, wenn die Verarbeitung unter Verwendung des Fehlerdetektionscodes zu einem Fehler in der jeweiligen Gruppe führt, und einen zweiten Wert, wenn die Verarbeitung unter Verwendung des Fehlerdetektionscodes zu keinem Fehler in der jeweiligen Gruppe führt.
    • In Beispiel 3 kann der Gegenstand des Beispiels 1 oder 2 gegebenenfalls umfassen, dass die Mehrzahl von Speicherelementen logisch in Gruppen von Speicherelementen aufgeteilt ist und dass der zweite Löschvektor für jede der Gruppen von Speicherelementen einen ersten Wert aufweist, wenn die jeweilige Gruppe ein permanent dysfunktionales Speicherelement enthält, und einen zweiten Wert, wenn die jeweilige Gruppe frei von permanent dysfunktionalen Speicherelementen ist.
    • In Beispiel 4 kann der Gegenstand eines der Beispiele 1 bis 3 gegebenenfalls umfassen, dass das Berücksichtigen des ersten Löschvektors und des zweiten Löschvektors Anwenden einer Logik OR-Operation an dem ersten Löschvektor und dem zweiten Löschvektor umfasst.
    • In Beispiel 5 kann der Gegenstand eines der Beispiele 1 bis 4 gegebenenfalls umfassen, dass das Verarbeiten der Mehrzahl von gespeicherten Datenwerten unter Verwendung eines Fehlerkorrekturcodes unter Berücksichtigung des ersten Löschvektors und des zweiten Löschvektors Anwenden einer Fehlerkorrektur umfasst, wenn der erste Löschvektor einen durch den Fehlerdetektionscode detektierten Fehler angibt, und wenn der zweite Löschvektor zusätzlich oder ausschließlich ein permanent dysfunktionales Speicherelement angibt.
    • In Beispiel 6 kann der Gegenstand eines der Beispiele 1 bis 5 gegebenenfalls umfassen, dass der Prozessor ausgelegt ist zum Verarbeiten von Benutzerdaten und Schreiben der verarbeiteten Benutzerdaten in die Mehrzahl von Speicherelementen, um die Mehrzahl von gespeicherten Datenwerten zu bilden, wobei das Verarbeiten Fehlerkorrekturcodieren der Benutzerdaten umfasst, um dadurch codierte Daten zu bilden.
    • In Beispiel 7 kann der Gegenstand von Beispiel 6 gegebenenfalls umfassen, dass das Verarbeiten ferner Transformieren der codierten Daten unter Verwendung eines vordefinierten Transformationsschemas umfasst, um transformierte Daten zu bilden.
    • In Beispiel 8 kann der Gegenstand von Beispiel 6 oder 7 gegebenenfalls umfassen, dass das Schreiben Analysieren umfasst, ob die geschriebenen Daten fehlerfrei gelesen werden, und wenn das Analysieren dazu führt, dass die geschriebenen Daten mit einem Fehler gelesen werden, Neuschreiben der verarbeiteten Benutzerdaten mit allen Bit invertiert und Setzen eines dedizierten Inversionsbits auf einen vordefinierten Wert, der die Invertierung der Daten angibt.
    • Beispiel 9 ist ein Verfahren zum Betreiben einer Speichervorrichtung, die eine Mehrzahl von Speicherelementen aufweist, wobei jedes der Mehrzahl von Speicherelementen dafür ausgelegt ist, einen Datenwert zu speichern. Das Verfahren umfasst Lesen mehrerer gespeicherter Datenwerte aus den Mehrzahl von Speicherelementen, Verarbeiten der gespeicherten Datenwerte unter Verwendung eines Fehlerdetektionscodes, wodurch ein erster Löschvektor erzeugt wird, Abbilden einer Adressenliste von permanent dysfunktionalen Speicherelementen, die während des anfänglichen Testens der Speichervorrichtung erzeugt werden, auf die Mehrzahl von Speicherelementen, wodurch ein zweiter Löschvektor erzeugt wird, und Verarbeiten der Mehrzahl von gespeicherten Datenwerte unter Verwendung eines Fehlerkorrekturcodes unter Berücksichtigung des ersten Löschvektors und des zweiten Löschvektors.
    • In Beispiel 10 kann der Gegenstand des Beispiels 9 gegebenenfalls umfassen, dass die Mehrzahl von Speicherelementen logisch in Gruppen von Speicherelementen aufgeteilt ist und dass der erste Löschvektor für jede der Gruppen von Speicherelementen einen ersten Wert aufweist, wenn die Verarbeitung unter Verwendung des Fehlerdetektionscodes zu einem Fehler in der jeweiligen Gruppe führt, und einen zweiten Wert, wenn die Verarbeitung unter Verwendung des Fehlerdetektionscodes zu keinem Fehler in der jeweiligen Gruppe führt.
    • In Beispiel 11 kann der Gegenstand des Beispiels 9 oder 10 gegebenenfalls umfassen, dass die Mehrzahl von Speicherelementen logisch in Gruppen von Speicherelementen aufgeteilt ist und dass der zweite Löschvektor für jede der Gruppen von Speicherelementen einen ersten Wert aufweist, wenn die jeweilige Gruppe ein permanent dysfunktionales Speicherelement enthält, und einen zweiten Wert, wenn die jeweilige Gruppe frei von permanent dysfunktionalen Speicherelementen ist.
    • In Beispiel 12 kann der Gegenstand eines der Beispiele 9 bis 11 gegebenenfalls ferner umfassen, dass das Berücksichtigen des ersten Löschvektors und des zweiten Löschvektors Anwenden einer logischen OR-Operation auf den ersten Löschvektor und den zweiten Löschvektor umfasst.
    • In Beispiel 13 kann der Gegenstand eines der Beispiele 9 bis 12 gegebenenfalls ferner umfassen, dass das Verarbeiten der Mehrzahl von gespeicherten Datenwerten unter Verwendung eines Fehlerkorrekturcodes unter Berücksichtigung des ersten Löschvektors und des zweiten Löschvektors Anwenden einer Fehlerkorrektur umfasst, wenn der erste Löschvektor einen durch den Fehlerdetektionscode detektierten Fehler angibt, und wenn der zweite Löschvektor zusätzlich oder ausschließlich ein permanent dysfunktionales Speicherelement angibt.
    • In Beispiel 14 kann der Gegenstand eines der Beispiele 9 bis 13 gegebenenfalls ferner umfassen, dass der Prozessor ausgelegt ist zum Verarbeiten von Benutzerdaten und Schreiben der verarbeiteten Benutzerdaten in die Mehrzahl von Speicherelementen, um die Mehrzahl von gespeicherten Datenwerten zu bilden, wobei das Verarbeiten Fehlerkorrekturcodieren der Benutzerdaten umfasst, um dadurch codierte Daten zu bilden.
    • In Beispiel 15 kann der Gegenstand von Beispiel 14 gegebenenfalls ferner umfassen, dass das Verarbeiten ferner Transformieren der codierten Daten unter Verwendung eines vordefinierten Transformationsschemas umfasst, um transformierte Daten zu bilden.
    • In Beispiel 16 kann der Gegenstand von Beispiel 14 oder 15 gegebenenfalls ferner umfassen, dass das Schreiben Analysieren umfasst, ob die geschriebenen Daten fehlerfrei gelesen werden, und wenn das Analysieren dazu führt, dass die geschriebenen Daten mit einem Fehler gelesen werden, Neuschreiben der verarbeiteten Benutzerdaten mit allen Bit invertiert und Setzen eines dedizierten Inversionsbits auf einen vordefinierten Wert, der die Invertierung der Daten angibt.

Claims (16)

  1. Speichervorrichtung, umfassend: eine Mehrzahl von Speicherelementen, wobei jedes der Mehrzahl von Speicherelementen ausgelegt ist zum Speichern eines Datenwerts; und eine Steuerung, ausgelegt zum • Lesen einer Mehrzahl von gespeicherten Datenwerten aus der Mehrzahl von Speicherelementen; • Verarbeiten der gespeicherten Datenwerte unter Verwendung eines Fehlerdetektionscodes, um dadurch einen ersten Löschvektor zu erzeugen; • Abbilden einer Adressenliste von permanent dysfunktionalen Speicherelementen, die während des anfänglichen Testens der Speichervorrichtung erzeugt wird, auf die Mehrzahl von Speicherelementen, um dadurch einen zweiten Löschvektor zu erzeugen; • Verarbeiten der Mehrzahl von gespeicherten Datenwerten unter Verwendung eines Fehlerkorrekturcodes unter Berücksichtigung des ersten Löschvektors und des zweiten Löschvektors, wobei die Verarbeitung einer Gruppe von Speicherelementen, die in dem ersten Löschvektor oder dem zweiten Löschvektor als ein fehlerhaftes Speicherelement enthaltend markiert ist, das fehlerhafte Speicherelement als Fehler mit bekannter Position korrigiert.
  2. Speichervorrichtung nach Anspruch 1, wobei die Mehrzahl von Speicherelementen logisch in Gruppen von Speicherelementen aufgeteilt ist, wobei der erste Löschvektor für jede der Gruppen von Speicherelementen einen ersten Wert umfasst, wenn die Verarbeitung unter Verwendung des Fehlerdetektionscodes zu einem Fehler in der jeweiligen Gruppe führt, und einen zweiten Wert, wenn die Verarbeitung unter Verwendung des Fehlerdetektionscodes zu keinem Fehler in der jeweiligen Gruppe führt.
  3. Speichervorrichtung nach Anspruch 1 oder 2, wobei die Mehrzahl von Speicherelementen logisch in Gruppen von Speicherelementen aufgeteilt ist, wobei der zweite Löschvektor für jede der Gruppen von Speicherelementen einen ersten Wert umfasst, wenn die jeweilige Gruppe ein permanent dysfunktionales Speicherelement enthält, und einen zweiten Wert, wenn die jeweilige Gruppe frei von permanent dysfunktionalen Speicherelementen ist.
  4. Speichervorrichtung nach einem der Ansprüche 1 bis 3, wobei das Berücksichtigen des ersten Löschvektors und des zweiten Löschvektors Anwenden einer Logik OR-Operation an dem ersten Löschvektor und dem zweiten Löschvektor umfasst.
  5. Speichervorrichtung nach einem der Ansprüche 1 bis 4, wobei das Verarbeiten der Mehrzahl von gespeicherten Datenwerten unter Verwendung eines Fehlerkorrekturcodes unter Berücksichtigung des ersten Löschvektors und des zweiten Löschvektors Anwenden einer Fehlerkorrektur umfasst, wenn der erste Löschvektor einen durch den Fehlerdetektionscode detektierten Fehler angibt, und wenn zusätzlich oder exklusiv der zweite Löschvektor ein permanent dysfunktionales Speicherelement angibt.
  6. Speichervorrichtung nach einem der Ansprüche 1 bis 5, wobei der Prozessor ferner ausgelegt ist zum Verarbeiten von Benutzerdaten; und Schreiben der verarbeiteten Benutzerdaten in die Mehrzahl von Speicherelementen, um die Mehrzahl von gespeicherten Datenwerten zu bilden; wobei das Verarbeiten Fehlerkorrekturcodierung der Benutzerdaten umfasst, um dadurch codierte Daten zu bilden.
  7. Speichervorrichtung nach Anspruch 6, wobei das Verarbeiten ferner Transformieren der codierten Daten unter Verwendung eines vordefinierten Transformationsschemas umfasst, um transformierte Daten zu bilden.
  8. Speichervorrichtung nach Anspruch 6 oder 7, wobei das Schreiben Analysieren umfasst, ob die geschriebenen Daten fehlerfrei gelesen werden; und wenn das Analysieren dazu führt, dass die geschriebenen Daten mit einem Fehler gelesen werden, erneutes Schreiben der verarbeiteten Benutzerdaten mit allen Bit invertiert und Setzen eines dedizierten Inversionsbits auf einen vordefinierten Wert, der die Invertierung der Daten angibt.
  9. Verfahren zum Betreiben einer Speichervorrichtung, die eine Mehrzahl von Speicherelementen umfasst, wobei jedes der Mehrzahl von Speicherelemente ausgelegt ist zum Speichern eines Datenwerts, wobei das Verfahren Folgendes umfasst: • Lesen einer Mehrzahl von gespeicherten Datenwerten aus der Mehrzahl von Speicherelementen; • Verarbeiten der gespeicherten Datenwerte unter Verwendung eines Fehlerdetektionscodes, um dadurch einen ersten Löschvektor zu erzeugen; • Abbilden einer Adressenliste von permanent dysfunktionalen Speicherelementen, die während des anfänglichen Testens der Speichervorrichtung erzeugt wird, auf die Mehrzahl von Speicherelementen, um dadurch einen zweiten Löschvektor zu erzeugen; und • Verarbeiten der Mehrzahl von gespeicherten Datenwerten unter Verwendung eines Fehlerkorrekturcodes unter Berücksichtigung des ersten Löschvektors und des zweiten Löschvektors, wobei die Verarbeitung einer Gruppe von Speicherelementen, die in dem ersten Löschvektor oder dem zweiten Löschvektor als ein fehlerhaftes Speicherelement enthaltend markiert ist, das fehlerhafte Speicherelement als Fehler mit bekannter Position korrigiert.
  10. Verfahren nach Anspruch 9, wobei die Mehrzahl von Speicherelementen logisch in Gruppen von Speicherelementen aufgeteilt ist, wobei der erste Löschvektor für jede der Gruppen von Speicherelementen einen ersten Wert umfasst, wenn die Verarbeitung unter Verwendung des Fehlerdetektionscodes zu einem Fehler in der jeweiligen Gruppe führt, und einen zweiten Wert, wenn die Verarbeitung unter Verwendung des Fehlerdetektionscodes zu keinem Fehler in der jeweiligen Gruppe führt.
  11. Verfahren nach Anspruch 9 oder 10, wobei die Mehrzahl von Speicherelementen logisch in Gruppen von Speicherelementen aufgeteilt ist, wobei der zweite Löschvektor für jede der Gruppen von Speicherelementen einen ersten Wert umfasst, wenn die jeweilige Gruppe ein permanent dysfunktionales Speicherelement enthält, und einen zweiten Wert, wenn die jeweilige Gruppe frei von permanent dysfunktionalen Speicherelementen ist.
  12. Verfahren nach einem der Ansprüche 9 bis 11, wobei das Berücksichtigen des ersten Löschvektors und des zweiten Löschvektors Anwenden einer Logik OR-Operation an dem ersten Löschvektor und dem zweiten Löschvektor umfasst.
  13. Verfahren nach einem der Ansprüche 9 bis 12, wobei das Verarbeiten der Mehrzahl von gespeicherten Datenwerten unter Verwendung eines Fehlerkorrekturcodes unter Berücksichtigung des ersten Löschvektors und des zweiten Löschvektors Anwenden einer Fehlerkorrektur umfasst, wenn der erste Löschvektor einen durch den Fehlerdetektionscode detektierten Fehler angibt, und wenn zusätzlich oder exklusiv der zweite Löschvektor ein permanent dysfunktionales Speicherelement angibt.
  14. Verfahren nach einem der Ansprüche 9 bis 13, ferner umfassend: Verarbeiten von Benutzerdaten; und Schreiben der verarbeiteten Benutzerdaten in die Mehrzahl von Speicherelementen, um die Mehrzahl von gespeicherten Datenwerten zu bilden; wobei das Verarbeiten Fehlerkorrekturcodierung der Benutzerdaten umfasst, um dadurch codierte Daten zu bilden.
  15. Verfahren nach Anspruch 14, wobei das Verarbeiten ferner Transformieren der codierten Daten unter Verwendung eines vordefinierten Transformationsschemas umfasst, um transformierte Daten zu bilden.
  16. Verfahren nach Anspruch 14 oder 15, wobei das Schreiben Analysieren umfasst, ob die geschriebenen Daten fehlerfrei gelesen werden; und wenn das Analysieren dazu führt, dass die geschriebenen Daten mit einem Fehler gelesen werden, erneutes Schreiben der verarbeiteten Benutzerdaten mit allen Bit invertiert und Setzen eines dedizierten Inversionsbits auf einen vordefinierten Wert, der die Invertierung der Daten angibt.
DE102024124066.0A 2024-08-22 2024-08-22 Speichervorrichtung und verfahren zum betrieb einer speichervorrichtung Active DE102024124066B3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102024124066.0A DE102024124066B3 (de) 2024-08-22 2024-08-22 Speichervorrichtung und verfahren zum betrieb einer speichervorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102024124066.0A DE102024124066B3 (de) 2024-08-22 2024-08-22 Speichervorrichtung und verfahren zum betrieb einer speichervorrichtung

Publications (1)

Publication Number Publication Date
DE102024124066B3 true DE102024124066B3 (de) 2026-01-22

Family

ID=98276009

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102024124066.0A Active DE102024124066B3 (de) 2024-08-22 2024-08-22 Speichervorrichtung und verfahren zum betrieb einer speichervorrichtung

Country Status (1)

Country Link
DE (1) DE102024124066B3 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946598B1 (en) * 2016-09-30 2018-04-17 Intel Corporation Handling open circuits while writing data by moving them to the least vulnerable location in an error correction code codeword

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946598B1 (en) * 2016-09-30 2018-04-17 Intel Corporation Handling open circuits while writing data by moving them to the least vulnerable location in an error correction code codeword

Similar Documents

Publication Publication Date Title
DE102006033649B4 (de) Speicherbauelement und Verfahren zum Konfigurieren eines Speicherbauelements
DE10233642B4 (de) Fehlerkorrektur-Kodierung und -Dekodierung in einer Festkörper-Speicherungsvorrichtung
DE112007003015B4 (de) Verfahren und Vorrichtung zur Cache-gestützten Fehlerdetektion und -korrektur in einem Speicher
DE3032630C2 (de) Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen und Verfahren zu dessen Betrieb
DE102005052698A1 (de) Verfahren zur Verarbeitung von nichtflüchtig gespeicherten Daten
DE102015113414B4 (de) Fehlerkorrektur unter Verwendung von WOM-Codes
DE102017114328A1 (de) Verfahren zum Korrigieren von Fehlern in einem Speicherblock und System zum Implementieren desselben
DE102008021414A1 (de) Flexibles Redundanzersetzungsschema für ein Halbleiterbauteil
EP1008993A2 (de) Schreib/Lesespeicher mit Selbsttestvorrichtung und zugehöriges Testverfahren
DE102020134945A1 (de) Dynamische fehlerüberwachung und -reparatur
DE10206689A1 (de) Integrierter Speicher und Verfahren zum Betrieb eines integrierten Speichers
DE3412677A1 (de) Halbleiterspeichervorrichtung mit selbstkorrekturschaltung
DE102004020875A1 (de) Verfahren und Vorrichtung zum Maskieren bekannter Ausfälle während Speichertestauslesungen
DE2554502C3 (de) Verfahren und Anordnung zum Adressieren eines Speichers
DE102016107285B4 (de) Verfahren zur verwendung einer speichervorrichtung, speichervorrichtung und speichervorrichtungsanordnung
DE102018124836A1 (de) Neuartiger speicherbaustein
DE19922786B4 (de) Halbleiterspeicher mit Testeinrichtung
DE112019007688B4 (de) Fehlertolerantes Speicher-Array und Verfahren zum Durchführen einer Fehlerkorrektur in einem Speicher-Array
DE60212332T2 (de) Selbstreparatur-Methode für nicht flüchtige Speicher mit einer Architektur zur Fehlervermeidung sowie nicht flüchtiger Speicher
DE102024124066B3 (de) Speichervorrichtung und verfahren zum betrieb einer speichervorrichtung
DE102020120335B3 (de) Testen eines speicherbereichs
DE19725581A1 (de) Anordnung mit Speicherzellen und Verfahren zur Funktionsüberprüfung von Speicherzellen
DE69300165T2 (de) Verfahren zur Reparatur defekter Elemente in einem Redundanzspeicher.
DE2823457C2 (de) Schaltungsanordnung zur Fehlerüberwachung eines Speichers einer digitalen Rechenanlage
EP1085523B1 (de) Integrierter Speicher mit Speicherzellen und Referenzzellen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division