DE102005052698A1 - Verfahren zur Verarbeitung von nichtflüchtig gespeicherten Daten - Google Patents
Verfahren zur Verarbeitung von nichtflüchtig gespeicherten Daten Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online 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 von1 und -
3 ein Flussdiagramm zur Veranschaulichung eines Datenverarbeitungs-/Speicherverwaltungsverfahrens für das nichtflüchtige Speicherbauelement von1 . - Ein in
1 schematisch veranschaulichtes nichtflüchtiges Speicherbauelement100 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 Speicherbauelement100 einen nichtflüchtigen Speicher120 , einen Pufferspeicher140 und eine Steuerschaltung160 . Wie aus2 ersichtlich, umfasst der nichtflüchtige Speicher120 ein Speicherzellenfeld mit einem ersten Speicherbereich121 , einem zweiten Speicherbereich122 und einem dritten Speicherbereich123 . - 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 Speicherbereich121 fungiert als ein Codedatenbereich und speichert Codedaten, z.B. ein Anwendungsprogramm. Der zweite Speicherbereich122 fungiert als ein Nutzerdatenbereich und speichert Nutzerdaten als allgemeine Daten. Der dritte Speicherbereich123 ist ein Reservespeicherbereich zum Ersetzen eines oder mehrerer Speicherblöcke des ersten und des zweiten Speicherbereichs121 ,122 . - Der Pufferspeicher
140 wird zum temporären Speichern von Daten benutzt, die aus dem nichtflüchtigen Speicher120 gelesen werden bzw. in diesen gespeichert werden. - Die Steuerschaltung
160 ist dafür eingerichtet, den Betrieb des nichtflüchtigen Speichers120 und des Pufferspeichers140 zu steuern, beispielsweise Lese- und Schreibvorgänge. Die Steuerschaltung160 beinhaltet einen Fehlerkorrekturcodeblock (ECC-Block)162 . Der ECC-Block162 erzeugt ECC-Daten, die sich auf zu schreibende Daten beziehen, wenn die zu schreibenden Daten vom Pufferspeicher140 zum nichtflüchtigen Speicher120 übertragen werden. Der ECC-Block162 dient außerdem dazu, zu detektieren, ob in gelesenen Daten ein Datenfehler auftritt, wenn die gelesenen Daten vom nichtflüchtigen Speicher120 zum Pufferspeicher140 ü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-Block162 den oder die Fehler in den gelesenen Daten. Die auf diese Weise im ECC-Block162 korrigierbare Anzahl von Fehlerbits wird im Voraus festgelegt. Beispielsweise ist der ECC-Block162 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-Block162 so konfiguriert, dass er nicht nur Einzelbitfehler korrigieren kann. - Im Beispiel von
1 sind der nichtflüchtige Speicher120 , der Pufferspeicher140 und die Steuerschaltung160 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 Speicherbauelement100 von1 . In einem Schritt S100 steuert die Steuerschaltung160 eine Datenübertragung vom nichtflüchtigen Speicher120 zum Pufferspeicher140 , d.h. es wird ein Lesevorgang unter der Steuerung der Steuerschaltung160 ausgeführt. Beispielhaft sei o.B.d.A. angenommen, dass die Daten als Seitendaten, d.h. in Einheiten je einer Speicherseite, vom nichtflüchtigen Speicher120 zum Pufferspeicher140 übertragen werden. Der ECC-Block162 der Steuerschaltung160 detektiert, ob während der Übertragung der Daten vom nichtflüchtigen Speicher120 zum Pufferspeicher140 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 Steuerschaltung160 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-Block162 ü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 Speicherbereich122 während eines Lesevorgangs kleiner als oder gleich der zulässigen Anzahl von Bitfehlern des ECC-Blocks162 , z.B. einem 1-Bit-Fehler, ist, der aktuell aufgetretene Fehler vom ECC-Block162 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-Block162 korrigierbare Anzahl an Bitfehlern übersteigt, wird in einem Schritt S140 der zugehörige schlechte bzw. defekte Speicherblock des zweiten Speicherbereichs122 , der die gerade gelesene Seite von Daten enthält, durch einen der Speicherblöcke des dritten Speicherbereichs123 ersetzt. Hierbei werden die Seitendaten mit Ausnahme der fehlerbehafteten Seitendaten in den betreffenden Speicherblock des dritten Speicherbereichs123 kopiert. Gleichzeitig wird der Speicherblock des zweiten Speicherbereichs122 , der die fehlerbehafteten Seitendaten enthält, als ein defekter Speicherblock markiert, und der ersetzende Reservespeicherblock wird als Speicherblock des zweiten Speicherbereichs122 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 Speicherbereich122 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 Steuerschaltung160 in einem Schritt S150, ob der momentan vorliegende Fehler kleiner als oder gleich der zulässigen Anzahl an Bitfehlern des ECC-Blocks162 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 Speicherbereich121 vorliegt, wird der betreffende Speicherblock des ersten Speicherbereichs121 , der die Seite mit den fehlerhaften Daten enthält, in einem Schritt S160 durch einen Reservespeicherblock des dritten Speicherbereichs123 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 Speicherbereichs123 wird als ein Speicherblock des ersten Speicherbereichs121 bestimmt bzw. markiert, d.h. diesem zugeordnet. Neu zugeführte bzw. geladene Daten werden dann gemäß üblicher Verfahren im neu zugewiesenen Reservespeicherblock des ersten Speicherbereichs121 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 Speicherbereich121 vorliegt, wird in einem Schritt S170 der betreffende Speicherblock im ersten Speicherbereich121 durch einen Reservespeicherblock des dritten Speicherbereichs123 ersetzt, und dieser Speicherblock des ersten Speicherbereichs121 wird als ein Speicherblock des zweiten Speicherbereichs122 bestimmt bzw. markiert. Wenn auf diese Weise der Speicherblock des ersten Speicherbereichs121 durch den Reservespeicherblock des dritten Speicherbereichs123 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-Block162 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-Blocks162 auftritt, in einen Reservespeicherblock im dritten Speicherbereich123 kopiert. Der den 1-Bit-Fehler enthaltende Speicherblock im ersten Speicherbereich121 wird als Speicherblock des zweiten Speicherbereichs122 bestimmt bzw. dem zweiten Speicherbereich122 zugewiesen. Dies bedeutet, dass die Zuverlässigkeit von im ersten Speicherbereich121 gespeicherten Daten verbessert werden kann. Mit anderen Worten wird immer dann, wenn im ersten Speicherbereich121 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 Speicherbereich121 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 Speicherbereich122 .
Claims (12)
- 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. - 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.
- Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der zur Ersetzung des ausgewählten Speicherblocks verwendete Reservespeicherblock dem Codedatenbereich zugewiesen wird.
- 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.
- 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.
- 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.
- Verfahren nach Anspruch 6, weiter dadurch gekennzeichnet, dass der ausgewählte Speicherblock des Codedatenbereichs als defekter Speicherblock bezeichnet wird.
- Verfahren nach Anspruch 6 oder 7, weiter dadurch gekennzeichnet, dass die im ausgewählten Speicherblock des Codedatenbereichs gespeicherten Daten im ersetzenden Reservespeicherblock gespeichert werden.
- 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.
- 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.
- 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.
- Verfahren nach Anspruch 11, weiter dadurch gekennzeichnet, dass der ausgewählte Speicherblock als ein defekter Speicherblock bezeichnet wird.
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)
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)
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 | パナソニック株式会社 | 不揮発メモリシステム |
-
2004
- 2004-11-03 KR KR1020040088988A patent/KR100645058B1/ko not_active IP Right Cessation
-
2005
- 2005-06-21 US US11/156,721 patent/US7412575B2/en not_active Expired - Fee Related
- 2005-10-13 JP JP2005299149A patent/JP2006134310A/ja active Pending
- 2005-10-31 DE DE102005052698A patent/DE102005052698A1/de not_active Withdrawn
- 2005-11-03 CN CNB2005101193252A patent/CN100545817C/zh not_active Expired - Fee Related
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 |