DE102004036888B4 - Flashspeichersystem und zugehöriges Datenschreibverfahren - Google Patents

Flashspeichersystem und zugehöriges Datenschreibverfahren Download PDF

Info

Publication number
DE102004036888B4
DE102004036888B4 DE102004036888A DE102004036888A DE102004036888B4 DE 102004036888 B4 DE102004036888 B4 DE 102004036888B4 DE 102004036888 A DE102004036888 A DE 102004036888A DE 102004036888 A DE102004036888 A DE 102004036888A DE 102004036888 B4 DE102004036888 B4 DE 102004036888B4
Authority
DE
Germany
Prior art keywords
data
flash memory
page buffer
memory system
cell array
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
DE102004036888A
Other languages
English (en)
Other versions
DE102004036888A1 (de
Inventor
Jeong-mi Seongnam Kwon
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 DE102004036888A1 publication Critical patent/DE102004036888A1/de
Application granted granted Critical
Publication of DE102004036888B4 publication Critical patent/DE102004036888B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer

Abstract

Flashspeichersystem mit
– einem Flashspeicherbaustein (120), der ein Speicherzellenfeld (122) und einen Seitenpuffer (124) umfasst, der Daten in das Speicherzellenfeld (122) schreibt und/oder aus diesem liest,
gekennzeichnet durch
– eine Steuerschaltung (110), die Daten in wenigstens zwei Datengruppen aufteilt, die jeweils eine kleinere Größe als die Größe des Seitenpuffers (124) haben, und jede Datengruppe seriell mit einem Paritätscode für die Datengruppe zum oder vom Flashspeicherbaustein (120) überträgt.

Description

  • Die Erfindung betrifft ein Flashspeichersystem mit einem Speicherzellenfeld und einem damit gekoppelten Seitenpuffer und ein Verfahren zum Schreiben von Daten in ein solches Flashspeichersystem.
  • Allgemein ist ein Flashspeicherbaustein ein Typ eines nichtflüchtigen, elektrisch löschbaren und programmierbaren Nur-Lese-Speichers (EEPROM), der nicht aufgefrischt werden muss. Der Flashspeicherbaustein kann vom NOR-Typ oder NAND-Typ sein. Während ein NOR-Flashspeicherbaustein kleine Datenmengen mit einer großen Geschwindigkeit akzeptiert, akzeptiert ein NAND-Flashspeicherbaustein eine große Datenmenge.
  • Programmieren und Löschen eines typischen NAND-Flashspeicherbausteins umfasst das Steuern einer Schwellwertspannung einer Speicherzelle durch Injizieren und Emittieren von Elektronen in ein floatendes Gate bzw. aus dem floatenden Gate.
  • Der NAND-Flashspeicher umfasst ein Register, das typischerweise als ein "Seitenpuffer" bezeichnet wird, um eine große Datenmenge in einer kurzen Zeitspanne zu schreiben.
  • Daten, die von extern eingegeben werden, werden in ein Speicherzellenfeld über den Seitenpuffer geschrieben, und Daten, die aus dem Speicherzellenfeld gelesen werden, werden über den Seitenpuffer nach extern ausgegeben. Entsprechend werden Daten typischerweise in Einheiten von der Größe des Seitenpuffers in den Flashspeicher geschrieben oder aus dem Flashspeicher gelesen.
  • In einem System mit einem NAND-Flashspeicherbaustein werden Daten zusammen mit einem Paritätscode für die Daten geschrieben, um Daten auf Fehler zu überprüfen und/oder Datenfehler zu korrigieren.
  • Eine Steuerschaltung erzeugt einen Paritätscode für eine bestimmte Datenmenge und schreibt die Daten mit dem Paritätscode in den Flashspeicherbaustein. Danach liest die Steuerschaltung den Paritätscode aus dem Flashspeicherbaustein und überprüft, ob die Daten einen Fehler haben oder nicht.
  • Mit dem Trend einer ansteigenden Größe des Seitenpuffers des Flashspeichers nimmt auch eine Einheit zum Verarbeiten der Paritätscodes zu. Normalerweise wird ein Paritätscode für Daten erzeugt, die eine Größe haben, die der Größe des Seitenpuffers entspricht.
  • Das bedeutet, dass die Einheit zum Verarbeiten der Paritätscodes mit Daten von der Größe des Seitenpuffers korrespondiert. Daher wird mit der zunehmenden Größe des Seitenpuffers auch die Hardware zum Erzeugen der Paritätscodes komplizierter und/oder die Gesamtverarbeitungszeit nimmt zu.
  • In der Offenlegungsschrift 2003/0101405 A1 ist ein Flashspeichersystem mit einem Flashspeicherbaustein, der ein Speicherzellenfeld und einen Seitenpuffer umfasst, offenbart, bei dem entsprechend den vorstehenden Erläuterungen Daten seitenweise in den Seitenspeicher geladen werden. Gleichzeitig wird aus diesen Daten ein Fehlerkorrekturcode (ECC) berechnet und in einen zugehörigen ECC-Speicherbereich geladen.
  • Die Patentschrift US 6.256.762 B1 offenbart ein Speichersystem mit Flashspeichern, bei dem Daten in Sektoreinheiten von z. B. 512 Byte in das System eingegeben und dann in z. B. vier Gruppen von Daten und zugehörigen Fehlerkorrekturcodes aufgeteilt und seriell an die Flashspeicher übertragen werden.
  • Es ist daher Aufgabe der Erfindung, ein Flashspeichersystem zur Verfügung zu stellen, das eine vergleichsweise hohe Effizienz zum Schreiben und/oder Lesen von Daten mit Paritätscodes in einen bzw. aus einem Flashspeicherbaustein besitzt und die Gesamtverarbeitungszeit relativ gering hält, und ein zugehöriges Datenschreibverfahren anzugeben.
  • Die Erfindung löst diese Aufgabe durch ein Flashspeichersystem mit den Merkmalen des Patentanspruchs 1, 4 oder 6 und durch ein Datenschreibverfahren mit den Merkmalen des Patentanspruchs 17.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Zeichnungen dargestellt und werden nachfolgend beschrieben. Es zeigen:
  • 1 ein Blockschaltbild eines Flashspeichersystems,
  • 2 ein schematisches Blockschaltbild eines Speicherzellenfeldes und eines Seitenpuffers des Flashspeichersystems aus 1,
  • 3 eine schematische Darstellung zur Veranschaulichung eines Verfahrens zum Schreiben von Daten in das Flashspeichersystem von 1 und
  • 4A und 4B jeweils eine schematische Darstellung zur Veranschaulichung weiterer Verfahren zum Schreiben von Daten in ein Flashspeichersystem.
  • 1 zeigt ein Flashspeichersystem 100 mit einer Steuereinheit bzw. Steuerschaltung 110 und einem Flashspeicherbaustein 120. Die Steuerschaltung 110 umfasst einen Prozessor 112, einen Speichersteuerteil 114 und eine Fehlerkorrektur-/Korrekturcodeschaltung (ECC-Schaltung) 118. Der Prozessor 112 steuert den Betrieb der Steuerschaltung 110 und der Speichersteuerteil 114 dient als Schnittstelle der Steuerschaltung 110 zu dem Flashspeicherbaustein 120.
  • Die ECC-Schaltung 118 erzeugt Paritätscodes, um Fehler in den Daten zu erkennen und/oder zu korrigieren, die in den Flashspeicherbaustein 120 geschrieben werden. Die ECC-Schaltung 118 ist in diesem Beispiel als Hardware ausgeführt. Wie aus 1 ersichtlich ist, kann die Steuerschaltung 110 außerdem einen statischen Direktzugriffsspeicher (SRAM) 116 zum Schreiben von Daten umfassen.
  • Der Flashspeicherbaustein 120 umfasst ein Speicherzellenfeld 122 und einen Seitenpuffer 124. Obwohl in 1 nicht im Detail dargestellt, umfasst das Speicherzellenfeld 122 eine Mehrzahl von Wortleitungen, eine Mehrzahl von Bitleitungen und eine Mehrzahl von Speicherzellen, die an entsprechenden Kreuzungspunkten zwischen den Wortleitungen und den Bitleitungen angeordnet sind.
  • Die Speicherzellen des Speicherzellenfeldes 122 sind über die Bitleitungen mit dem Seitenpuffer 124 verbunden. Daten, die von extern eingegeben werden, werden über den Seitenpuffer 124 in das Speicherzellenfeld 122 geschrieben, und Daten, die aus dem Speicherzellenfeld 122 gelesen werden, werden über den Seitenpuffer 124 nach extern ausgegeben.
  • 2 zeigt ein detailliertes Blockschaltbild des Speicherzellenfeldes 122 und des Seitenpuffers 124 des Flashspeicherbausteins 120. Innerhalb des Speicherzellenfeldes 122 ist schraffiert eine Seite 131 markiert, die sich auf eine Mehrzahl von Speicherzellen bezieht, die mit einer einzigen Wortleitung verbunden sind.
  • Das Speicherzellenfeld 122 umfasst eine Mehrzahl solcher Seiten 131. Der Seitenpuffer 124 umfasst ein Datenfeld und ein Ersatzfeld. In einem typischen Flashspeicherbaustein beziehen sich das Datenfeld und das Ersatzfeld jeweils auf Bereiche zum Schreiben von Daten bzw. Paritätscodes. Jede Seite des Speicherzellenfeldes 122 umfasst ein Datenfeld und ein Paritätsfeld.
  • Die Steuerschaltung 110 ist, wie in 1 angegeben, über einen Eingabe-/Ausgabebus IO und einen Steuerbus CON mit dem Flashspeicherbaustein 120 verbunden. Der Eingabe-/Ausgabebus IO umfasst eine Mehrzahl von Signalleitungen, beispielsweise acht oder sechzehn Signalleitungen. Befehle CMD, Adressen ADDR und Daten DATA werden über den Eingabe-/Ausgabebus IO übertragen. Steuersignale werden über den Steuerbus CON übertragen, um zu informieren, ob ein Signal, das über den Eingabe-/Ausgabebus IO übertragen wird, ein Befehl CMD, eine Adresse ADDR oder ein Datensignal DATA ist.
  • 3 zeigt ein Verfahren 300 zum Schreiben von Daten in das Flashspeichersystem, speziell einen Schreibvorgang für Daten und Paritätscodes in den Flashspeicherbaustein 120. Wie aus 3 ersichtlich ist, werden ein erster Befehl CMD1, eine Adresse ADDR, Daten DATA1 bis DATAn und Paritätscodes PARITY1 bis PARITYn und ein zweiter Befehl CMD2 seriell zum Flashspeicherbaustein 120 übertragen. Der erste Befehl CMD1 kann z. B. ein Datenladebefehl sein. Die Adresse ADDR bezieht sich auf eine Adresse des Speicherzellenfeldes, in welches Daten eingegeben werden.
  • Die Daten und die Paritätscodes PARITY1 bis PARITYn beziehen sich auf eine Mehrzahl von Datengruppen DATA1 bis DATAn. Genauer gesagt überträgt die Steuerschaltung 110 im Flashspeichersystem 100 einen Teil, beispielsweise eine Gruppe, der Daten DATA1 bis DATAn, der eine Größe hat, die von der ECC-Schaltung 118 verarbeitet werden kann, an den Flashspeicherbaustein 120. Danach überträgt die Steuerschaltung 110 den Teil der Paritätscodes PARITY1 bis PARITYn für den betreffenden Teil, z. B. eine Gruppe, der Daten DATA1 bis DATAn an den Flashspeicherbaustein 120.
  • In anderen Worten ausgedrückt, es werden nicht zuerst alle Daten, die mit der Größe des Datenfeldes des Seitenpuffers 124 korrespondieren, und dann die Paritätscodes für alle Daten übertragen, sondern die Daten werden in zwei oder mehr kleinere Gruppen aufgeteilt, und es wird jeweils nur eine solche Gruppe gefolgt von dem Paritätscode für die entsprechende Gruppe übertragen, so dass entsprechende Datengruppen und Paritätscodes abwechselnd zum Flashspeicherbaustein 120 übertragen werden.
  • Somit werden seriell eine erste Datengruppe DATA1, ein erster Paritätscode PARITY1 für die erste Datengruppe DATA1, eine zweite Datengruppe DATA2, ein zweiter Paritätscode PARITY2 für die zweite Datengruppe DATA2, ..., eine n-te Datengruppe DATAn und ein n-ter Paritätscode PARITYn von der Steuerschaltung 110 erzeugt und in den Flashspeicherbaustein 120 eingegeben.
  • Die ersten bis n-ten Paritätscodes PARITY1 bis PARITYn korrespondieren mit je einer der ersten bis n-ten Datengruppen DATA1 bis DATAn. Der Seitenpuffer 124 akzeptiert die übertragenen Daten oder Paritätscodes seriell, unabhängig vom Datenfeld und dem Ersatzfeld. Alle Datengruppen DATA1 bis DATAn können die gleiche Größe haben.
  • Wenn das Datenfeld des Seitenpuffers 124 eine Größe von N Bytes hat, wobei N eine natürliche Zahl größer als eins ist, kann z. B. jede Datengruppe eine Größe von N Bytes geteilt durch die Anzahl der Gruppen haben. Hierbei ist die Gruppenanzahl eine natürliche Zahl größer als zwei.
  • Wenn beispielsweise das Datenfeld des Seitenpuffers 124 eine Größe von 2 K Bytes hat und das Ersatzfeld eine Größe von 64 Bytes hat, d. h. der Seitenpuffer 124 hat eine Gesamtgröße von (2 K + 64) Bytes, und Paritätscodes in Einheiten von 512 Bytes verarbeitet werden, werden die Daten und die Paritätscodes in der Reihenfolge von 512 Bytes erster Daten, einem ersten Paritätscode mit 16 Byte, 512 Bytes zweiter Daten, einem zweiten Paritätscode mit 16 Byte, 512 Bytes dritter Daten, einem dritten Paritätscode mit 16 Byte, 512 Byte vierter Daten und einem vierten Paritätscode mit 16 Byte in den Seitenpuffer 124 geschrieben. Anschließend wird der zweite Befehl CMD2 an den Flashspeicherbaustein 120 übertragen.
  • Ein Datenlesevorgang wird auf die gleiche Weise wie ein Datenschreibvorgang ausgeführt. Im vorherigen Beispiel, in dem die Paritätscodes in Einheiten von 512 Bytes verarbeitet werden, wird das Lesen der 512 Bytes erster Daten DATA1 direkt vom Lesevorgang des korrespondierenden Paritätscodes PARITY1 gefolgt, wenn Daten aus dem Flashspeicherbaustein 120 gelesen werden. Daher ist es möglich, während des Lesevorgangs der 512 Bytes zweiter Daten DATA2 die ersten Daten DATA1 durch Benutzen des ersten Paritätscodes PARITY1 auf Fehler zu überprüfen.
  • Entsprechend kann der augenblickliche Lesevorgang angehalten werden, wenn bei der Überprüfung festgestellt wird, dass die ersten Daten DATA1 fehlerbehaftet sind, um den oder die Fehler sofort zu beheben.
  • Wie oben ausgeführt, wird, wenn der Seitenpuffer 124 größer als die Verarbeitungseinheit für Paritätscodes ist, eine Datengruppe, die mit der Verarbeitungseinheit der Paritätscodes korrespondiert, in den Seitenpuffer 124 geschrieben und dann kann der korrespondierende Paritätscode, der von der ECC-Schaltung 118 erzeugt wird, in den Seitenpuffer 124 geschrieben werden. Danach können die nächste Datengruppe, die mit der Verarbeitungseinheit der Paritätscodes korrespondiert, und der korrespondierende Paritätscode seriell in den Seitenpuffer 124 geschrieben werden. Durch Wiederholen dieses Schreibvorgangs ist es nicht erforderlich, die Paritätscodes alle im Seitenpuffer zu sammeln.
  • Während des Datenlesevorgangs werden eine Datengruppe, die mit der Verarbeitungseinheit der Paritätscodes korrespondiert, und der korrespondierende Paritätscode seriell vom Seitenpuffer 124 gelesen, wobei die Fehlerüberprüfungszeit abgekürzt und der Fehlerüberprüfungsprozess unterstützt werden. Der Effekt der Erfindung wird durch den folgenden Vergleich mit kontrastierenden Beispielen deutlich.
  • Dazu zeigen die 4A und 4B jeweils ein Verfahren 400 und 450 zum Schreiben von Daten in ein Flashspeichersystem gemäß solchen kontrastierenden Beispielen.
  • Wie aus 4A ersichtlich ist, werden beim dort illustrierten Verfahren nach der Übertragung des ersten Befehls CMD1 und der Adresse ADDR1 von der Steuerschaltung 110 an den Flashspeicherbaustein 120 aufeinander folgende Daten DATA1 bis DATAn seriell in den Seitenpuffer 124 geschrieben. Danach werden aufeinander folgende Paritätscodes PARITY1 bis PARITYn seriell übertragen und schließlich wird der zweite Befehl CMD2 an den Flashspeicherbaustein 120 übertragen.
  • Das bedeutet, dass die Steuerschaltung 110 zunächst alle Daten DATA1 bis DATAn, die mit der Größe eines Datenfelds korrespondieren, an den Flashspeicherbaustein 120 überträgt, so dass die Daten DATA1 bis DATAn in das Datenfeld geschrieben werden, und dass erst dann alle Paritätscodes PARITY1 bis PARITYn in ein Ersatzfeld übertragen und geschrieben werden.
  • Wie aus 4B ersichtlich ist, überträgt beim dort gezeigten Verfahren die Steuerschaltung 110 die aufeinander folgenden Daten DATA1 bis DATAn durch Benutzen des ersten Befehls CMD1 und einer ersten Adresse ADDR1, die zuvor übertragen werden, und eines zweiten Befehls CMD2, der danach übertragen wird, so dass die Daten DATA1 bis DATAn über den Seitenpuffer 124 seriell in eine Seite des Speicherzellenfeldes 122 geschrieben werden. Danach überträgt die Steuerschaltung 110 aufeinander folgende Paritätscodes PARITY1 bis PARITYn, die mit den Daten DATA1 bis DATAn korrespondieren, durch Benutzen des ersten Befehls CMD1, einer zweiten Adresse ADDR2 und des zweiten Befehls CMD2, so dass die Paritätscodes PARITY1 bis PARITYn über den Seitenpuffer 124 in eine andere Seite des Speicherzellenfeldes 122 geschrieben werden.
  • In den alternativen, in den 4A und 4B dargestellten Verfahren sollte, wenn der Seitenpuffer 124 größer als die Verarbeitungseinheit der Paritätscodes ist, zum Schreiben der Paritätscodes in das Ersatzfeld oder eine andere Seite des Speicherzellenfeldes der jeweilige Paritätscode, der für jede Verarbeitungseinheit der Paritätscodes erzeugt wird, in einem zusätzlichen Speicherbaustein der Steuerschaltung 110 gespeichert und dann in den Flashspeicherbaustein 120 übertragen werden. Dies kann allerdings die Datenverarbeitungsbelastung erhöhen.
  • Zudem kann während des Datenlesevorgangs das Lesen eines Datenteils, der mit der Seitengröße korrespondiert, vom Lesen des Paritätscodes für diesen Datenteil gefolgt werden, oder Daten und Paritätscodes werden nicht seriell gelesen. Dadurch steigt eventuell die Zeit zur Fehlerüberprüfung an.
  • Bei der Erfindung verschachtelt das Flashspeichersystem den Datenschreibvorgang mit dem Schreibvorgang für Paritätscodes für die Daten, unabhängig von einem Datenfeld und einem Ersatzfeld eines Seitenpuf fers, wodurch die Gesamtschreibzeit reduziert wird. Außerdem wird vorzugsweise jeder Paritätscode nur für eine relativ kleine Datenmenge erzeugt, um die Belastung der ECC-Schaltung zu reduzieren. In gleicher Weise kann mit Datenlesevorgängen verfahren werden.

Claims (19)

  1. Flashspeichersystem mit – einem Flashspeicherbaustein (120), der ein Speicherzellenfeld (122) und einen Seitenpuffer (124) umfasst, der Daten in das Speicherzellenfeld (122) schreibt und/oder aus diesem liest, gekennzeichnet durch – eine Steuerschaltung (110), die Daten in wenigstens zwei Datengruppen aufteilt, die jeweils eine kleinere Größe als die Größe des Seitenpuffers (124) haben, und jede Datengruppe seriell mit einem Paritätscode für die Datengruppe zum oder vom Flashspeicherbaustein (120) überträgt.
  2. Flashspeichersystem nach Anspruch 1, dadurch gekennzeichnet, dass der Seitenpuffer (124) ein Datenfeld mit N-Byte und ein Ersatzfeld mit M-Byte umfasst, wobei N und M jeweils natürliche Zahlen größer als eins sind.
  3. Flashspeichersystem nach Anspruch 2, dadurch gekennzeichnet, dass die jeweilige Datengruppe und der Paritätscode für die Datengruppe unabhängig vom Datenfeld und dem Ersatzfeld seriell in den Seitenpuffer (124) geschrieben werden.
  4. Flashspeichersystem mit – einem Flashspeicherbaustein (120), der ein Speicherzellenfeld (122) und einen Seitenpuffer (124) umfasst, der Daten in das Speicherzellenfeld (122) schreibt und/oder aus diesem liest, gekennzeichnet durch – eine Steuerschaltung (110), die wenigstens zwei aufeinander folgende Daten-/Paritätscodegruppen zum Flashspeicherbaustein (120) seriell überträgt, wobei die jeweilige Daten-/Paritätscodegruppe einen bestimmten Datenanteil und einen Paritäts code für die Daten umfasst, und eine kleinere Größe als die Größe des Seitenpuffers (124) hat.
  5. Flashspeichersystem nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Steuerschaltung (110) folgende Komponenten umfasst: – einen Speichersteuerteil (114), welcher einen vorbestimmten Befehl (CMD), die Daten (DATA), eine Adresse (ADDR) für die Daten (DATA) und ein Steuersignal (CON) an den Flashspeicherbaustein (120) überträgt, und – eine Fehlerkorrektur-/Korrekturcodeschaltung (118) zum Erzeugen des Paritätscodes.
  6. Flashspeichersystem mit – einem Speicherzellenfeld (122) und – einem Seitenpuffer (124) in Signalkommunikation mit dem Speicherzellenfeld (122), gekennzeichnet durch – eine Steuerschaltung (110), die mit dem Seitenpuffer (124) zur Übertragung von Daten in einer Mehrzahl von Gruppen und korrespondierenden Paritätscodes in Signalkommunikation steht, wobei die kombinierte Größe der Mehrzahl von Gruppen mit korrespondierenden Paritätscodes nicht größer als die Größe des Seitenpuffers (124) ist.
  7. Flashspeichersystem nach Anspruch 6, dadurch gekennzeichnet, dass die Steuerschaltung (110) folgende Komponenten umfasst: – einen Speichersteuerteil (114), welcher einen Befehl (CMD), Daten (DATA) und eine Adresse (ADDR) für die Daten (DATA) an den Seitenpuffer (124) überträgt, und – eine Fehlerkorrektur-/Korrekturcodeschaltung (118) zum Erzeugen des korrespondierenden Paritätscodes für jede der mehreren Datengruppen.
  8. Flashspeichersystem nach Anspruch 7, dadurch gekennzeichnet, dass der Speichersteuerteil (114) so ausgeführt ist, dass er ein Steuersignal (CON) an das Speicherzellenfeld (122) und/oder den Seitenpuffer (124) überträgt.
  9. Flashspeichersystem nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass der Seitenpuffer (124) ein Datenfeld mit N-Byte und ein Ersatzfeld mit M-Byte umfasst, wobei N und M jeweils natürliche Zahlen sind und die Summe N + M nicht größer als die Größe des Seitenpuffers (124) ist.
  10. Flashspeichersystem nach Anspruch 9, dadurch gekennzeichnet, dass die jeweilige Datengruppe und ihr korrespondierender Paritätscode seriell in den Seitenpuffer (124) geschrieben werden.
  11. Flashspeichersystem nach einem der Ansprüche 6 bis 10, dadurch gekennzeichnet, dass – die Steuerschaltung (110) und der Seitenpuffer (124) so ausgeführt sind, dass Daten in das Speicherzellenfeld (122) geschrieben oder aus dem Speicherzellenfeld (122) gelesen werden, und – die Mehrzahl von Gruppen als Mehrzahl von aufeinander folgenden Daten-Paritätscodegruppen angeordnet sind, die jeweils eine variable Datenmenge und einen korrespondierenden Paritätscode für die Daten umfassen.
  12. Flashspeichersystem nach einem der Ansprüche 6 bis 11, gekennzeichnet durch – Befehlsmittel zum Übertragen eines Befehls (CMD) an den Seitenpuffer (124) und/oder das Speicherzellenfeld (122), – Adressierungsmittel zum Übertragen einer Mehrzahl von Adressen (ADDR) für die Daten (DATA) an den Seitenpuffer (124) und/oder das Speicherzellenfeld (122) und – Fehlerkorrekturmittel zum Erzeugen einer Mehrzahl von Paritätscodes für die Daten.
  13. Flashspeichersystem nach einem der Ansprüche 6 bis 12, gekennzeichnet durch Datenübertragungsmittel zum Schreiben einer Mehrzahl von Dateneinheiten und einer korrespondierenden Mehrzahl von Paritätscodes in den Seitenpuffer (124).
  14. Flashspeichersystem nach Anspruch 13, dadurch gekennzeichnet, dass die Datenübertragungsmittel die Mehrzahl von Dateneinheiten und die korrespondierende Mehrzahl von Paritätscodes seriell in den Seitenpuffer (124) schreiben.
  15. Flashspeichersystem nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass die kombinierte Größe der Mehrzahl von Dateneinheiten und der korrespondierenden Mehrzahl von Paritätscodes nicht größer als eine maximale Größe des Seitenpuffers (124) ist.
  16. Flashspeichersystem nach einem der Ansprüche 6 bis 15, dadurch gekennzeichnet, dass der Seitenpuffer (124) folgende Komponenten umfasst: – ein erstes Feld zum Empfangen von aufeinander folgend abwechselnden Gruppen von Daten und Paritäten und – ein zweites Feld zum Empfangen einer Fortsetzung der aufeinander folgend abwechselnden Gruppen und Paritäten.
  17. Verfahren zum Schreiben von Daten in ein Flashspeichersystem mit einem Flashspeicherbaustein, bei dem (a) ein vorbestimmter Befehl (CMD) und ein Adressensignal (ADDR) an den Flashspeicherbaustein (120) übertragen werden und (b) Daten (DATA) an den Flashspeicherbaustein (120) übertragen werden, dadurch gekennzeichnet, dass (c) ein Paritätscode für die Daten (DATA) erzeugt und an den Flashspeicherbaustein (120) übertragen wird, und die Schritte (b) und (c) einmal oder mehrmals wiederholt werden.
  18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass in den Schritten (b) und (c) die Daten und der korrespondierende Paritätscode seriell in einen Seitenpuffer (124) des Flashspeicherbausteins (120) geschrieben werden.
  19. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass die Daten und der korrespondierende Paritätscode eine kleinere Größe als die Größe des Seitenpuffers (124) haben.
DE102004036888A 2003-07-23 2004-07-21 Flashspeichersystem und zugehöriges Datenschreibverfahren Active DE102004036888B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2003-0050502 2003-07-23
KR1020030050502A KR100546348B1 (ko) 2003-07-23 2003-07-23 플래시 메모리 시스템 및 그 데이터 저장 방법
KR10/2003-50502 2003-07-23

Publications (2)

Publication Number Publication Date
DE102004036888A1 DE102004036888A1 (de) 2005-02-24
DE102004036888B4 true DE102004036888B4 (de) 2008-07-31

Family

ID=33563021

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004036888A Active DE102004036888B4 (de) 2003-07-23 2004-07-21 Flashspeichersystem und zugehöriges Datenschreibverfahren

Country Status (4)

Country Link
US (4) US7290082B2 (de)
KR (1) KR100546348B1 (de)
DE (1) DE102004036888B4 (de)
FR (1) FR2858101B1 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4818812B2 (ja) * 2006-05-31 2011-11-16 株式会社日立製作所 フラッシュメモリストレージシステム
US20050132128A1 (en) * 2003-12-15 2005-06-16 Jin-Yub Lee Flash memory device and flash memory system including buffer memory
JP2007257791A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd 半導体記憶装置
TW200828328A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method of improving accessing reliability of flash memory
KR100799688B1 (ko) * 2007-01-03 2008-02-01 삼성전자주식회사 백업 회로를 갖는 메모리 시스템 및 그것의 프로그램 방법
TW200832436A (en) * 2007-01-26 2008-08-01 Holtek Semiconductor Inc Data securing method and structure for non-volatile storage device
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
US8560760B2 (en) * 2007-01-31 2013-10-15 Microsoft Corporation Extending flash drive lifespan
US7657572B2 (en) 2007-03-06 2010-02-02 Microsoft Corporation Selectively utilizing a plurality of disparate solid state storage locations
KR100919556B1 (ko) 2007-08-10 2009-10-01 주식회사 하이닉스반도체 상 변화 메모리 장치
IL187041A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Optimized hierarchical integrity protection for stored data
KR101368694B1 (ko) 2008-01-22 2014-03-03 삼성전자주식회사 메모리 프로그래밍 장치 및 방법
US20090199043A1 (en) * 2008-01-31 2009-08-06 Peter Schrogmeier Error correction in an integrated circuit with an array of memory cells
KR101515122B1 (ko) 2008-02-15 2015-04-27 삼성전자주식회사 저장된 데이터의 오류에 기반하여 기준 전압을 제어하는 방법과 메모리 데이터 검출 장치
JP2010009141A (ja) * 2008-06-24 2010-01-14 Toshiba Corp データ転送方法
KR101431760B1 (ko) * 2008-06-25 2014-08-20 삼성전자주식회사 Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법
KR101030146B1 (ko) * 2008-08-29 2011-04-18 서울대학교산학협력단 페이지 버퍼를 쓰기 캐시로 이용하는 플래시 기반 저장 장치 및 이용 방법
US8438455B2 (en) * 2008-12-31 2013-05-07 Intel Corporation Error correction in a solid state disk
JP2010277352A (ja) * 2009-05-28 2010-12-09 Toshiba Corp メモリシステム
US8225052B2 (en) * 2009-06-03 2012-07-17 Micron Technology, Inc. Methods for controlling host memory access with memory devices and systems
US8370702B2 (en) * 2009-06-10 2013-02-05 Micron Technology, Inc. Error correcting codes for increased storage capacity in multilevel memory devices
JP5668279B2 (ja) * 2009-08-06 2015-02-12 ソニー株式会社 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム
JP5464066B2 (ja) * 2010-06-10 2014-04-09 ソニー株式会社 通信装置、及び、通信方法
US9135168B2 (en) 2010-07-07 2015-09-15 Marvell World Trade Ltd. Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error
US8868852B2 (en) 2010-07-07 2014-10-21 Marvell World Trade Ltd. Interface management control systems and methods for non-volatile semiconductor memory
US9141538B2 (en) 2010-07-07 2015-09-22 Marvell World Trade Ltd. Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive
KR102004928B1 (ko) * 2012-12-04 2019-07-29 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 에러 정정 코드 처리 방법
US10335146B2 (en) * 2014-04-02 2019-07-02 Coviden Lp Surgical fastener applying apparatus, kits and methods for endoscopic procedures
JP2016028319A (ja) * 2014-07-08 2016-02-25 富士通株式会社 アクセス制御プログラム、アクセス制御装置及びアクセス制御方法
KR102249810B1 (ko) * 2014-07-23 2021-05-11 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10002043B2 (en) * 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US10002044B2 (en) 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
CN107427380B (zh) * 2014-11-04 2019-08-13 雅培心血管系统有限公司 用于使用行星齿轮致动组件传送植入物的方法和系统
KR102245822B1 (ko) 2014-11-26 2021-04-30 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법
US11090097B2 (en) * 2015-03-17 2021-08-17 Covidien Lp Connecting end effectors to surgical devices
US9916091B2 (en) 2015-07-13 2018-03-13 Samsung Electronics Co., Ltd. Memory system architecture
US10177785B2 (en) * 2016-08-23 2019-01-08 Western Digital Technologies, Inc. Error detecting code with partial update
KR20220113146A (ko) * 2021-02-05 2022-08-12 에스케이하이닉스 주식회사 호스트 및 이에 연결되는 메모리 시스템의 동작 방법
KR20220143450A (ko) * 2021-04-16 2022-10-25 에스케이하이닉스 주식회사 시스템 버퍼를 포함하는 메모리 시스템 및 이의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256762B1 (en) * 1997-01-23 2001-07-03 Oki Electric Industry Co., Ltd. Semiconductor disk device
US20030101405A1 (en) * 2001-11-21 2003-05-29 Noboru Shibata Semiconductor memory device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US123287A (en) * 1872-01-30 Improvement in step-ladders
US5514862A (en) * 1994-05-20 1996-05-07 At&T Corp. Portable data carrier
US5475693A (en) * 1994-12-27 1995-12-12 Intel Corporation Error management processes for flash EEPROM memory arrays
US5999451A (en) * 1998-07-13 1999-12-07 Macronix International Co., Ltd. Byte-wide write scheme for a page flash device
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
JP3940544B2 (ja) * 2000-04-27 2007-07-04 株式会社東芝 不揮発性半導体メモリのベリファイ方法
TW539950B (en) * 2000-12-28 2003-07-01 Sony Corp Data recording device and data write method for flash memory
US20020174397A1 (en) * 2001-05-16 2002-11-21 Fujitsu Limited Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
US6990623B2 (en) * 2001-05-16 2006-01-24 Fujitsu Limited Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
JP4437519B2 (ja) 2001-08-23 2010-03-24 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
US6766952B2 (en) 2001-11-06 2004-07-27 Quadnovation, Inc. SIM card carrier
JP4034971B2 (ja) * 2002-01-21 2008-01-16 富士通株式会社 メモリコントローラおよびメモリシステム装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256762B1 (en) * 1997-01-23 2001-07-03 Oki Electric Industry Co., Ltd. Semiconductor disk device
US20030101405A1 (en) * 2001-11-21 2003-05-29 Noboru Shibata Semiconductor memory device

Also Published As

Publication number Publication date
KR100546348B1 (ko) 2006-01-26
US7290082B2 (en) 2007-10-30
US7562183B2 (en) 2009-07-14
US20110119436A1 (en) 2011-05-19
KR20050011409A (ko) 2005-01-29
DE102004036888A1 (de) 2005-02-24
FR2858101A1 (fr) 2005-01-28
US20050021905A1 (en) 2005-01-27
US7899980B2 (en) 2011-03-01
US20090271568A1 (en) 2009-10-29
FR2858101B1 (fr) 2006-07-07
US20080028133A1 (en) 2008-01-31

Similar Documents

Publication Publication Date Title
DE102004036888B4 (de) Flashspeichersystem und zugehöriges Datenschreibverfahren
DE19782077B4 (de) Verfahren und Vorrichtung zum Korrigieren eines Mehrpegelzellenspeichers durch Verwendung fehlerlokalisierender Codes
DE102005033165B4 (de) Nichtflüchtiges Speicherbauelement, Programmier- und Schreibverfahren
DE10255872B4 (de) Speichermodul und Verfahren zum Betrieb eines Speichermoduls in einem Datenspeichersystem
DE3111447C2 (de)
DE3032630C2 (de) Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen und Verfahren zu dessen Betrieb
DE19937101A1 (de) Halbleiterspeicherbauelement mit Chipinterner Fehlerkorrekturschaltung und ein Verfahren zum Korrigieren eines Datenfehlers darin
DE102005053625A1 (de) Speichermodul mit einer Mehrzahl von Speicherbausteinen
DE102005048255A1 (de) Integriertes Schaltungsbauelement und Betriebsverfahren
DE3209679C2 (de)
DE112008002553T5 (de) Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten
DE2132565A1 (de) Umsetzer
DE3618136C2 (de)
EP2100308B1 (de) Verfahren und halbleiterspeicher mit einer einrichtung zur erkennung von adressierungsfehlern
DE3128729A1 (de) Halbleiter-speichersystem
DE3412677C2 (de)
DE19930169B4 (de) Testeinrichtung und Verfahren zum Prüfen eines Speichers
DE10147138B4 (de) Verfahren zur Integration von imperfekten Halbleiterspeichereinrichtungen in Datenverarbeitungsvorrichtungen
DE10058030A1 (de) Integrierte Schaltung mit Datenprüfmitteln auf einem Chip
DE3827174A1 (de) Halbleiter-speichervorrichtung
EP2063432B1 (de) Verfahren zum Prüfen eines Arbeitsspeichers
DE19922786B4 (de) Halbleiterspeicher mit Testeinrichtung
EP0990236A1 (de) Anordnung mit speicherzellen und verfahren zur funktionsüberprüfung von speicherzellen
DE10252059B3 (de) Verfahren zum Betreiben einer Speicheranordnung
DE102006019426A1 (de) Speichermodulsteuerung, Speichersteuerung und entsprechende Speicheranordnung sowie Verfahren zur Fehlerkorrektur

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition