DE102005052698A1 - Verfahren zur Verarbeitung von nichtflüchtig gespeicherten Daten - Google Patents

Verfahren zur Verarbeitung von nichtflüchtig gespeicherten Daten Download PDF

Info

Publication number
DE102005052698A1
DE102005052698A1 DE102005052698A DE102005052698A DE102005052698A1 DE 102005052698 A1 DE102005052698 A1 DE 102005052698A1 DE 102005052698 A DE102005052698 A DE 102005052698A DE 102005052698 A DE102005052698 A DE 102005052698A DE 102005052698 A1 DE102005052698 A1 DE 102005052698A1
Authority
DE
Germany
Prior art keywords
memory block
data
error
selected memory
memory
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.)
Withdrawn
Application number
DE102005052698A
Other languages
English (en)
Inventor
Jong-Yeol Goyang Park
Hyun-Duk Yongin Cho
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102005052698A1 publication Critical patent/DE102005052698A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

Die Erfindung bezieht sich auf ein Verfahren zur Verarbeitung von Daten, die in einem nichtflüchtigen Speicher mit einer Mehrzahl von Speicherblöcken gespeichert wird, wobei festgestellt wird, ob in gelesenen Daten eines ausgewählten Speicherblocks ein Datenfehler auftritt. DOLLAR A Erfindungsgemäß wird ein erkannter Fehler in den gelesenen Daten des ausgewählten Speicherblocks in Abhängigkeit davon, ob der ausgewählte Datenblock zu einem Codedatenbereich oder einem Nutzerdatenbereich des Speichers gehört, unterschiedlich behandelt. DOLLAR A Verwendung z. B. in der Flashspeichertechnologie.

Description

  • Die Erfindung bezieht sich auf ein Verfahren zur Verarbeitung von Daten, die in einem nichtflüchtigen Speicher mit einer Mehrzahl von Speicherblöcken gespeichert sind.
  • Im Rahmen der Verarbeitung von nichtflüchtig gespeicherten Daten ermöglichen es Techniken zum Detektieren und Korrigieren von Fehlern, dass Daten, die aus verschiedenen Gründen geschädigt wurden, effektiv wiederhergestellt werden können. Daten können beispielsweise aus verschiedenen Gründen während eines Prozesses zum Abspeichern in einem Speicher oder aufgrund von Störungen eines Übertragungskanals zum Übertragen von Daten von einer Quelle zu einem Ziel geschädigt werden. Es wurden bereits eine Vielzahl von Methoden zum Detektieren und Korrigieren geschädigter Daten vorgeschlagen. Allgemein benutzte Techniken zur Fehlerdetektion umfassen einen Reed-Solomon-Code (RS-Code), einen Hamming-Code, einen Bose-Chaudhuri-Hocquenghem-Code (BCH-Code) und einen zyklischen Redundanz-Code (CRC). Unter Verwendung dieser Codes ist es möglich, geschädigte Daten zu detektieren und die Fehler in den Daten zu korrigieren. In den meisten Anwendungen von nichtflüchtigen Speicherbauelementen werden Daten in einem nichtflüchtigen Speicherbauelement zusammen mit einem als Fehlerkorrekturcode (ECC) genannten Wert abgespeichert.
  • ECC-Daten werden zur Korrektur von Fehlern vorgesehen, die während eines Lesevorgangs eines nichtflüchtigen Speicherbauelements auftreten können. Die maximale Anzahl an korrigierbaren Bitfehlern unter Verwendung der ECC-Daten ist begrenzt. Die ECC-Daten zur Korrektur eines einzelnen Bitfehlers werden in einem allgemeinen nichtflüchtigen Speicherbauelement gespeichert. Dementsprechend kann der während eines Datenlesevorgangs auftretende einzelne Bitfehler durch Techniken zum Detektieren und Korrigieren eines Fehlers ohne zusätzliche Wiederherstellungsprozesse, wie eine Blockersetzung, korrigiert werden.
  • In den Daten, in denen ein einzelner Bitfehler korrigiert worden ist, ist es relativ wahrscheinlich, dass beim nächsten Lesevorgang zusätzliche Fehler auftreten. Wenn die Anzahl an Bitfehlern der gelesenen Daten eine erlaubte Anzahl von Bitfehlern übersteigt, wird ein Speicherblock, der die gelesenen Daten enthält, durch einen Reservespeicherblock, der in einem nichtflüchtigen Speicherbauelement vorgesehen ist, mittels zusätzlicher Wiederherstellungsmethoden ersetzt, die als Blockersetzungsmethoden bekannt sind. Hierbei werden die Daten in dem zu ersetzenden Speicherblock in den Reservespeicherblock kopiert. Wenn die gelesenen Daten höchstens eine erlaubte Anzahl an Bitfehlern enthalten, wird der Fehler der Lesedaten durch die zugewiesenen Techniken zum Detektieren und Korrigieren von Fehlern berichtigt. Selbst wenn ein Fehler der Lesedaten korrigiert worden ist, ist es jedoch relativ wahrscheinlich, dass zusätzliche Fehler in fehlerkorrigierten Daten während eines Lesevorgangs auftreten.
  • Der Erfindung liegt als technisches Problem die Bereitstellung eines Datenverarbeitungsverfahrens der eingangs genannten Art zugrunde, mit dem die in einem nichtflüchtigen Speicher gespeicherten Daten mit hoher Zuverlässigkeit auf eine vorteilhafte Weise fehlerbehandelt werden können.
  • Die Erfindung löst dieses Problem durch die Bereitstellung eines Datenverarbeitungsverfahrens mit den Merkmalen des Anspruchs 1.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Zeichnungen dargestellt und werden nachfolgend beschrieben. Hierbei zeigen:
  • 1 ein schematisches Blockdiagramm eines nichtflüchtigen Speicherbauelements,
  • 2 ein schematisches Blockdiagramm einer Zellenfeldstruktur des nichtflüchtigen Speicherbauelements von 1 und
  • 3 ein Flussdiagramm zur Veranschaulichung eines Datenverarbeitungs-/Speicherverwaltungsverfahrens für das nichtflüchtige Speicherbauelement von 1.
  • Ein in 1 schematisch veranschaulichtes nichtflüchtiges Speicherbauelement 100 ist beispielhaft als NAND-Flashspeicherbauelement ausgelegt, wobei in alternativen Ausführungsbeispielen auch eine Auslegung als MROM-, PROM-, FRAM- und NOR-Flashspeicherbauelement usw. möglich ist. Gemäß 1 umfasst das nichtflüchtige Speicherbauelement 100 einen nichtflüchtigen Speicher 120, einen Pufferspeicher 140 und eine Steuerschaltung 160. Wie aus 2 ersichtlich, umfasst der nichtflüchtige Speicher 120 ein Speicherzellenfeld mit einem ersten Speicherbereich 121, einem zweiten Speicherbereich 122 und einem dritten Speicherbereich 123.
  • Jeder der ersten bis dritten Speicherbereiche 121, 122, 123 weist eine Mehrzahl von Speicherblöcken MBO, ..., MBi, MBi+1, ..., MBm, MBm+1, ..., MBn auf, die jeweils mehrere Seiten beinhalten. Der erste Speicherbereich 121 fungiert als ein Codedatenbereich und speichert Codedaten, z.B. ein Anwendungsprogramm. Der zweite Speicherbereich 122 fungiert als ein Nutzerdatenbereich und speichert Nutzerdaten als allgemeine Daten. Der dritte Speicherbereich 123 ist ein Reservespeicherbereich zum Ersetzen eines oder mehrerer Speicherblöcke des ersten und des zweiten Speicherbereichs 121, 122.
  • Der Pufferspeicher 140 wird zum temporären Speichern von Daten benutzt, die aus dem nichtflüchtigen Speicher 120 gelesen werden bzw. in diesen gespeichert werden.
  • Die Steuerschaltung 160 ist dafür eingerichtet, den Betrieb des nichtflüchtigen Speichers 120 und des Pufferspeichers 140 zu steuern, beispielsweise Lese- und Schreibvorgänge. Die Steuerschaltung 160 beinhaltet einen Fehlerkorrekturcodeblock (ECC-Block) 162. Der ECC-Block 162 erzeugt ECC-Daten, die sich auf zu schreibende Daten beziehen, wenn die zu schreibenden Daten vom Pufferspeicher 140 zum nichtflüchtigen Speicher 120 übertragen werden. Der ECC-Block 162 dient außerdem dazu, zu detektieren, ob in gelesenen Daten ein Datenfehler auftritt, wenn die gelesenen Daten vom nichtflüchtigen Speicher 120 zum Pufferspeicher 140 übertragen werden.
  • Wenn in den gelesenen Daten ein Datenfehler auftritt und dieser höchstens eine erlaubte, vorgebbare Anzahl von Bitfehlern enthält, wie durch den ECC-Block 162 detektiert, korrigiert der ECC-Block 162 den oder die Fehler in den gelesenen Daten. Die auf diese Weise im ECC-Block 162 korrigierbare Anzahl von Fehlerbits wird im Voraus festgelegt. Beispielsweise ist der ECC-Block 162 in einem Ausführungsbeispiel so konfiguriert, dass er 1-Bit-Fehler, d.h. Einzelbitfehler, entsprechend einer zulässigen Anzahl von Bitfehlern gleich eins korrigiert. In alternativen Ausführungsformen ist der ECC-Block 162 so konfiguriert, dass er nicht nur Einzelbitfehler korrigieren kann.
  • Im Beispiel von 1 sind der nichtflüchtige Speicher 120, der Pufferspeicher 140 und die Steuerschaltung 160 in einer einzigen integrierten Schaltung enthalten. In alternativen Ausführungsbeispielen sind diese drei Systemkomponenten in verschiedenen integrierten Schaltungen enthalten, die Teil eines entsprechend konfigurierten Speichersystems sind.
  • 3 veranschaulicht ein Datenverarbeitungs- bzw. Speicherdatenverwaltungsverfahren für das nichtflüchtige Speicherbauelement 100 von 1. In einem Schritt S100 steuert die Steuerschaltung 160 eine Datenübertragung vom nichtflüchtigen Speicher 120 zum Pufferspeicher 140, d.h. es wird ein Lesevorgang unter der Steuerung der Steuerschaltung 160 ausgeführt. Beispielhaft sei o.B.d.A. angenommen, dass die Daten als Seitendaten, d.h. in Einheiten je einer Speicherseite, vom nichtflüchtigen Speicher 120 zum Pufferspeicher 140 übertragen werden. Der ECC-Block 162 der Steuerschaltung 160 detektiert, ob während der Übertragung der Daten vom nichtflüchtigen Speicher 120 zum Pufferspeicher 140 in den gelesenen Seitendaten ein Datenfehler auftritt. Wenn dies nicht der Fall ist, wird der Lesevorgang normal abgeschlossen.
  • Wenn hingegen ein Datenfehler erkannt wird, ermittelt die Steuerschaltung in einem Schritt S120, ob sich der Datenfehler im ersten Speicherbereich 121, d.h. im Codedatenbereich, befindet. Wenn dies nicht der Fall ist, prüft die Steuerschaltung 160 in einem Schritt S130, ob ein Mehrbitfehler vorliegt, d.h. ein 2-Bit-Fehler oder ein höherer Bitfehler. Mit anderen Worten stellt sie fest, ob die zulässige, vorgegebene Bitfehleranzahl für den ECC-Block 162 überschritten wird. Wenn dies nicht der Fall ist, wird der Lesevorgang normal abgeschlossen. Mit anderen Worten wird, wenn die Anzahl von Bitfehlern in den gelesenen Seitendaten im zweiten Speicherbereich 122 während eines Lesevorgangs kleiner als oder gleich der zulässigen Anzahl von Bitfehlern des ECC-Blocks 162, z.B. einem 1-Bit-Fehler, ist, der aktuell aufgetretene Fehler vom ECC-Block 162 detektiert und korrigiert, und der Lesevorgang wird ohne zusätzliche Wiederherstellungsprozesse, wie eine Blockersetzung, normal abgeschlossen.
  • Wenn hingegen im Abfrageschritt S130 festgestellt wird, dass ein 2-Bit-Fehler oder höherer Bitfehler in den gelesenen Seitendaten des zweiten Speicherbereichs 122 vorliegt, der die zulässige, vom ECC-Block 162 korrigierbare Anzahl an Bitfehlern übersteigt, wird in einem Schritt S140 der zugehörige schlechte bzw. defekte Speicherblock des zweiten Speicherbereichs 122, der die gerade gelesene Seite von Daten enthält, durch einen der Speicherblöcke des dritten Speicherbereichs 123 ersetzt. Hierbei werden die Seitendaten mit Ausnahme der fehlerbehafteten Seitendaten in den betreffenden Speicherblock des dritten Speicherbereichs 123 kopiert. Gleichzeitig wird der Speicherblock des zweiten Speicherbereichs 122, der die fehlerbehafteten Seitendaten enthält, als ein defekter Speicherblock markiert, und der ersetzende Reservespeicherblock wird als Speicherblock des zweiten Speicherbereichs 122 festgelegt bzw. markiert. Nach Ersetzen des die fehlerbehafteten Seitendaten enthaltenden Speicherblocks wird der Lesevorgang beendet. Mit anderen Worten wird der Lesevorgang, wenn ein 2-Bit-Fehler oder höherer Fehler im zweiten Speicherbereich 122 vorliegt, nach zusätzlichen Wiederherstellungsprozessen abgeschlossen, speziell einer Blockersetzung.
  • Wenn im Abfrageschritt S120 festgestellt wird, dass ein Datenfehler im ersten Speicherbereich 121 vorliegt, prüft die Steuerschaltung 160 in einem Schritt S150, ob der momentan vorliegende Fehler kleiner als oder gleich der zulässigen Anzahl an Bitfehlern des ECC-Blocks 162 ist, d.h. ob es sich im angenommenen Beispielsfall um einen 1-Bit-Fehler handelt. Wenn dies nicht der Fall ist, d.h. ein 2-Bit-Fehler oder höherer Fehler im ersten Speicherbereich 121 vorliegt, wird der betreffende Speicherblock des ersten Speicherbereichs 121, der die Seite mit den fehlerhaften Daten enthält, in einem Schritt S160 durch einen Reservespeicherblock des dritten Speicherbereichs 123 ersetzt. Hierbei wird der Speicherblock, der den 2-Bit-Fehler oder höheren Fehler enthält, als defekter Speicherblock markiert, und der Reservespeicherblock des dritten Speicherbereichs 123 wird als ein Speicherblock des ersten Speicherbereichs 121 bestimmt bzw. markiert, d.h. diesem zugeordnet. Neu zugeführte bzw. geladene Daten werden dann gemäß üblicher Verfahren im neu zugewiesenen Reservespeicherblock des ersten Speicherbereichs 121 statt in dessen defektem Speicherblock abgespeichert. Der Lesevorgang wird dann abgeschlossen.
  • Wenn im Abfrageschritt S150 festgestellt wird, dass der momentan auftretende Fehler kleiner gleich der erlaubten Anzahl an Bitfehlern im ECC Block 162 ist, d.h. ein 1-Bit-Fehler im ersten Speicherbereich 121 vorliegt, wird in einem Schritt S170 der betreffende Speicherblock im ersten Speicherbereich 121 durch einen Reservespeicherblock des dritten Speicherbereichs 123 ersetzt, und dieser Speicherblock des ersten Speicherbereichs 121 wird als ein Speicherblock des zweiten Speicherbereichs 122 bestimmt bzw. markiert. Wenn auf diese Weise der Speicherblock des ersten Speicherbereichs 121 durch den Reservespeicherblock des dritten Speicherbereichs 123 ersetzt ist, werden die betreffenden Seitendaten mit Ausnahme derjenigen, in denen der Fehler vorliegt, in den neu zugewiesenen Speicherblock kopiert. Die Seitenda ten, in denen der Fehler vorliegt, werden durch den ECC-Block 162 korrigiert, und die fehlerkorrigierten Seitendaten werden dann ebenfalls in den neu zugewiesenen Speicherblock kopiert. Dann wird der Lesevorgang abgeschlossen.
  • Wie anhand der obigen Erläuterungen deutlich wird, werden Seitendaten eines Speicherblocks des ersten Speicherbereichs 121, wenn in diesem ein 1-Bit-Fehler und damit ein Bitfehler nicht höher als die erlaubte Anzahl von Bitfehlern des ECC-Blocks 162 auftritt, in einen Reservespeicherblock im dritten Speicherbereich 123 kopiert. Der den 1-Bit-Fehler enthaltende Speicherblock im ersten Speicherbereich 121 wird als Speicherblock des zweiten Speicherbereichs 122 bestimmt bzw. dem zweiten Speicherbereich 122 zugewiesen. Dies bedeutet, dass die Zuverlässigkeit von im ersten Speicherbereich 121 gespeicherten Daten verbessert werden kann. Mit anderen Worten wird immer dann, wenn im ersten Speicherbereich 121 ein 1-Bit-Fehler auftritt, der betreffende Speicherblock durch einen Reservespeicherblock ersetzt, so dass die Wahrscheinlichkeit, dass in einer Seite ein 1-Bit-Fehler auftritt, gleichmäßig beibehalten wird. Dies verbessert die Zuverlässigkeit von im ersten Speicherbereich 121 gespeicherten Daten.
  • In entsprechenden Ausführungsbeispielen sind die Speicherblöcke des dritten Speicherbereichs so konfiguriert, dass sie in gleicher Weise für den ersten oder den zweiten Speicherbereich als Ersatz eingesetzt werden können. Die Reservespeicherblöcke des dritten Speicherbereichs können auch so konfiguriert sein, dass einige von ihnen Speicherblöcke des ersten Speicherbereichs ersetzen können und andere von ihnen Speicherblöcke des zweiten Speicherbereichs ersetzen können.
  • Wie aus der obigen Beschreibung vorteilhafter Ausführungsbeispiele deutlich wird, ermöglicht die Erfindung eine Verbesserung der Zuverlässigkeit von allgemeinen Daten und/oder Codedaten, die in einem zuge hörigen Speicherbereich gespeichert sind, wie dem ersten Speicherbereich 121, indem in diesem Speicherbereich auftretende Fehler anders behandelt werden als Fehler, die in einem anderen Speicherbereich auftreten, wie dem zweiten Speicherbereich 122.

Claims (12)

  1. Verfahren zur Verarbeitung von Daten, die in einem nichtflüchtigen Speicher mit einer Mehrzahl von Speicherblöcken gespeichert sind, bei dem – festgestellt wird, ob in gelesenen Daten eines ausgewählten Speicherblocks ein Datenfehler vorliegt, dadurch gekennzeichnet, dass – bei erkanntem Auftreten eines Fehlers in den gelesenen Daten des ausgewählten Speicherblocks der Fehler abhängig davon, ob der ausgewählte Speicherblock zu einem Codedatenbereich (121) oder zu einem Nutzerdatenbereich (122) des Speichers gehört, unterschiedlich behandelt wird.
  2. Verfahren nach Anspruch 1, weiter dadurch gekennzeichnet, dass die unterschiedliche Fehlerbehandlung folgende Schritte beinhaltet: – Feststellen, ob eine Bitfehleranzahl der gelesenen Daten kleiner gleich einer vorgebbaren Bitfehleranzahl ist, wenn der ausgewählte Speicherblock im Codedatenbereich liegt, und – Ersetzen des ausgewählten Speicherblocks im Codedatenbereich durch einen Reservespeicherblock und Zuweisen des ausgewählten Speicherblocks des Codedatenbereichs zum Nutzerdatenbereich, wenn die festgestellte Bitfehleranzahl der gelesenen Daten kleiner gleich der vorgegebenen Bitfehleranzahl ist.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der zur Ersetzung des ausgewählten Speicherblocks verwendete Reservespeicherblock dem Codedatenbereich zugewiesen wird.
  4. Verfahren nach Anspruch 2 oder 3, weiter dadurch gekennzeichnet, dass die im ausgewählten Speicherblock gespeicherten Daten mit Ausnahme der gelesenen Daten in den ersetzenden Reservespeicherblock kopiert werden.
  5. Verfahren nach einem der Ansprüche 1 bis 4, weiter dadurch gekennzeichnet, dass ein Fehler der gelesenen Daten automatisch durch einen Fehlerkorrekturcodeblock korrigiert wird und die fehlerkorrigierten Daten in einem ersetzenden Reservespeicherblock gespeichert werden.
  6. Verfahren nach einem der Ansprüche 1 bis 5, weiter dadurch gekennzeichnet, dass dann, wenn die festgestellte Bitfehleranzahl der gelesenen Daten größer als die vorgebbare Bitfehleranzahl ist, der ausgewählte Speicherblock im Codedatenbereich durch einen Reservespeicherblock ersetzt wird.
  7. Verfahren nach Anspruch 6, weiter dadurch gekennzeichnet, dass der ausgewählte Speicherblock des Codedatenbereichs als defekter Speicherblock bezeichnet wird.
  8. Verfahren nach Anspruch 6 oder 7, weiter dadurch gekennzeichnet, dass die im ausgewählten Speicherblock des Codedatenbereichs gespeicherten Daten im ersetzenden Reservespeicherblock gespeichert werden.
  9. Verfahren nach einem der Ansprüche 1 bis 8, weiter dadurch gekennzeichnet, dass, wenn der ausgewählte Speicherblock im Nutzerdatenbereich liegt, festgestellt wird, ob die Bitfehleranzahl der gelesenen Daten über der vorgebbaren Bitfehleranzahl liegt.
  10. Verfahren nach Anspruch 9, weiter dadurch gekennzeichnet, dass die Bitfehler der gelesenen Daten automatisch mittels eines Fehlerkorrekturcodeblocks korrigiert werden, wenn die festgestellte Bitfehleranzahl der gelesenen Daten nicht über der vorgebbaren Bitfehleranzahl liegt.
  11. Verfahren nach Anspruch 9, weiter dadurch gekennzeichnet, dass der ausgewählte Speicherblock durch einen Reservespeicherblock ersetzt wird, wenn die festgestellte Bitfehleranzahl der gelesenen Daten über der vorgebbaren Bitfehleranzahl liegt.
  12. Verfahren nach Anspruch 11, weiter dadurch gekennzeichnet, dass der ausgewählte Speicherblock als ein defekter Speicherblock bezeichnet wird.
DE102005052698A 2004-11-03 2005-10-31 Verfahren zur Verarbeitung von nichtflüchtig gespeicherten Daten Withdrawn DE102005052698A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040088988A KR100645058B1 (ko) 2004-11-03 2004-11-03 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법
KR10-2004-0088988 2004-11-03

Publications (1)

Publication Number Publication Date
DE102005052698A1 true DE102005052698A1 (de) 2006-05-04

Family

ID=36202091

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005052698A Withdrawn DE102005052698A1 (de) 2004-11-03 2005-10-31 Verfahren zur Verarbeitung von nichtflüchtig gespeicherten Daten

Country Status (5)

Country Link
US (1) US7412575B2 (de)
JP (1) JP2006134310A (de)
KR (1) KR100645058B1 (de)
CN (1) CN100545817C (de)
DE (1) DE102005052698A1 (de)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7469368B2 (en) * 2005-11-29 2008-12-23 Broadcom Corporation Method and system for a non-volatile memory with multiple bits error correction and detection for improving production yield
KR100802059B1 (ko) * 2006-09-06 2008-02-12 삼성전자주식회사 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US7904783B2 (en) * 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
US7818653B2 (en) 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
CN101715575A (zh) 2006-12-06 2010-05-26 弗森多系统公司(dba弗森-艾奥) 采用数据管道管理数据的装置、系统和方法
US8151082B2 (en) * 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US7765426B2 (en) * 2007-06-07 2010-07-27 Micron Technology, Inc. Emerging bad block detection
KR101425958B1 (ko) * 2007-09-06 2014-08-04 삼성전자주식회사 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법
TWI343001B (en) * 2007-11-13 2011-06-01 Ite Tech Inc Data preserving method and data accessing method for non-volatile memory
EP2077559B1 (de) * 2007-12-27 2012-11-07 Hagiwara Solutions Co., Ltd. Aktualisierungsverfahren für einen Flash-Speicher
US7934130B2 (en) * 2008-08-29 2011-04-26 Cadence Design Systems, Inc. System and method for managing non-volatile memory based on health
US8510614B2 (en) * 2008-09-11 2013-08-13 Mediatek Inc. Bad block identification methods
CN101859604B (zh) * 2009-04-10 2012-10-24 国民技术股份有限公司 闪存坏块的利用方法
KR20110018605A (ko) * 2009-08-18 2011-02-24 삼성전자주식회사 자동 백업기능을 갖는 저장장치
KR101090394B1 (ko) * 2009-12-24 2011-12-07 주식회사 하이닉스반도체 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법
US8331151B2 (en) 2009-12-25 2012-12-11 Samsung Electronics Co., Ltd. Semiconductor memory including control unit responsive to erase command to determine selection of redundant memory block
JP5494086B2 (ja) * 2010-03-24 2014-05-14 パナソニック株式会社 不揮発性記憶装置および不揮発性メモリコントローラ
US8549379B2 (en) 2010-11-19 2013-10-01 Xilinx, Inc. Classifying a criticality of a soft error and mitigating the soft error based on the criticality
US9086983B2 (en) 2011-05-31 2015-07-21 Micron Technology, Inc. Apparatus and methods for providing data integrity
US8522091B1 (en) 2011-11-18 2013-08-27 Xilinx, Inc. Prioritized detection of memory corruption
US9455048B2 (en) * 2013-06-28 2016-09-27 Sandisk Technologies Llc NAND flash word line management using multiple fragment pools
KR20150033859A (ko) * 2013-09-25 2015-04-02 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
KR102297541B1 (ko) 2014-12-18 2021-09-06 삼성전자주식회사 메모리 영역의 신뢰성에 기초하여 데이터를 저장하는 저장 장치 및 스토리지 시스템
US10204693B2 (en) * 2016-12-31 2019-02-12 Western Digital Technologies, Inc. Retiring computer memory blocks
CN110568993B (zh) * 2019-08-06 2022-04-12 新华三技术有限公司成都分公司 一种数据更新方法及相关装置
US11093164B2 (en) 2019-08-27 2021-08-17 Micron Technology, Inc. Handling bad blocks generated during a block erase operation
US12086072B1 (en) * 2020-03-11 2024-09-10 Amazon Technologies, Inc. Memory vulnerability mitigation
CN111625200B (zh) * 2020-05-29 2024-02-27 合肥中科智存科技有限公司 一种非易失性存储器的读取方法、装置及系统
TWI794967B (zh) * 2021-09-10 2023-03-01 臺灣發展軟體科技股份有限公司 資料處理電路及故障修補方法
CN114035745A (zh) * 2021-10-19 2022-02-11 许昌许继软件技术有限公司 一种flash数据存储控制方法及装置
US12019870B2 (en) 2022-11-07 2024-06-25 International Business Machines Corporation System wide memory technology over-provisioning

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2514954B2 (ja) 1987-03-13 1996-07-10 三菱電機株式会社 Icカ−ド
JPH05150913A (ja) * 1991-11-29 1993-06-18 Hitachi Ltd フラツシユメモリを記憶媒体としたシリコンデイスク
US6058047A (en) * 1996-08-16 2000-05-02 Tokyo Electron Limited Semiconductor memory device having error detection and correction
JPH10289164A (ja) * 1997-04-16 1998-10-27 Mitsubishi Electric Corp メモリ制御方法およびメモリ制御装置
JP3230485B2 (ja) * 1998-04-09 2001-11-19 日本電気株式会社 1チップマイクロコンピュータ
KR100328818B1 (ko) 1998-09-17 2002-10-19 주식회사 하이닉스반도체 플래시 메모리의 데이타 저장방법
US6684289B1 (en) 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US6950966B2 (en) 2001-07-17 2005-09-27 Seachange International, Inc. Data transmission from raid services
JP4437519B2 (ja) 2001-08-23 2010-03-24 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
US20040083334A1 (en) 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
JP4239754B2 (ja) * 2003-08-26 2009-03-18 パナソニック株式会社 不揮発メモリシステム

Also Published As

Publication number Publication date
KR100645058B1 (ko) 2006-11-10
US20060107127A1 (en) 2006-05-18
CN100545817C (zh) 2009-09-30
US7412575B2 (en) 2008-08-12
CN1790292A (zh) 2006-06-21
JP2006134310A (ja) 2006-05-25
KR20060039771A (ko) 2006-05-09

Similar Documents

Publication Publication Date Title
DE102005052698A1 (de) Verfahren zur Verarbeitung von nichtflüchtig gespeicherten Daten
DE19782077B4 (de) Verfahren und Vorrichtung zum Korrigieren eines Mehrpegelzellenspeichers durch Verwendung fehlerlokalisierender Codes
DE69716233T2 (de) Halbleiterspeicheranordnung mit fehlerdetektion und -korrektur
DE102008030264B4 (de) Verfahren zum Lesen eines Flashspeichers und Speichersystem
DE102006033649B4 (de) Speicherbauelement und Verfahren zum Konfigurieren eines Speicherbauelements
DE112010003645B4 (de) Festkörper-Speichersystem mit Parallelem Zugriff aus Mehreren Flash/PCM-Einrichtungen
DE102005048255A1 (de) Integriertes Schaltungsbauelement und Betriebsverfahren
DE3853206T2 (de) Verfahren und gerät zur byteschreibfehlerkodierung.
DE102015113414B4 (de) Fehlerkorrektur unter Verwendung von WOM-Codes
DE112012006014B4 (de) Verteilte Codewortteile
DE112011100371T5 (de) Verfahren, Vorrichtung und Computerprogrammprodukt zum Decodieren eines Codeworts
DE102019102573A1 (de) Speichercontroller, speichersystem und verfahren zum verwenden einer speichervorrichtung
DE112007003015T5 (de) Verfahren und Vorrichtung zur Cache-gestützten Fehlerdetektion und -korrektur in einem Speicher
DE102017103347B4 (de) Verarbeitung von daten in speicherzellen eines speichers
DE2835533A1 (de) Verfahren zur durchfuehrung einer korrektur eines doppel-bit-fehlers, in einem speichersystem, das nur eine korrekturlogik fuer einen einzel-bit-fehler enthaelt, und vorrichtung zur durchfuehrung des verfahrens
DE112020003489T5 (de) Speichersteuerung und verfahren zum decodieren von speichervorrichtungen mit vorzeitigem hartdecodierabbruch
DE2225841A1 (de) Verfahren und anordnung zur systematischen fehlerpruefung eines monolithischen halbleiterspeichers
DE3045609C2 (de)
DE102016107285B4 (de) Verfahren zur verwendung einer speichervorrichtung, speichervorrichtung und speichervorrichtungsanordnung
DE102017126911A1 (de) Verknüpfter Speichersystem- und Hostsystem-Fehlerkorrekturcode
DE60215687T2 (de) Fehlerkorrektion von multibit-baueinheiten mit unbeschränkter erkennung von doppelfehlern
EP1222545B1 (de) Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul
DE69732637T2 (de) Selbsttest und Korrektur von Ladungsverlustfehlern in einem Sektorenlöschbaren und-programmierbaren Flashspeicher
DE112012004323T5 (de) Elektronisches Steuergerät
DE102018219877A1 (de) Vorrichtung und Verfahren zum Erzeugen einer Fehlerkorrekturinformation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20110502