DE102008003267A1 - Hybridflashspeicherbauelement, Speichersystem und Verfahren zum Steuern von Fehlern in einem Hybridflashspeicherbauelement - Google Patents

Hybridflashspeicherbauelement, Speichersystem und Verfahren zum Steuern von Fehlern in einem Hybridflashspeicherbauelement Download PDF

Info

Publication number
DE102008003267A1
DE102008003267A1 DE102008003267A DE102008003267A DE102008003267A1 DE 102008003267 A1 DE102008003267 A1 DE 102008003267A1 DE 102008003267 A DE102008003267 A DE 102008003267A DE 102008003267 A DE102008003267 A DE 102008003267A DE 102008003267 A1 DE102008003267 A1 DE 102008003267A1
Authority
DE
Germany
Prior art keywords
data
flash memory
error control
bit data
memory cells
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
DE102008003267A
Other languages
English (en)
Inventor
Il-Man Bae
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 DE102008003267A1 publication Critical patent/DE102008003267A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Abstract

Ein Hybridflashspeicherbauelement mit einer Fehlersteuer- und Fehlerkorrektur(ECC)-Fähigkeit umfasst einen Steuerblock (300), der auf einen extern bereitgestellten Befehl reagiert, einen Datenspeicherblock (100), der einen ersten Datenspeicherbereich (110) mit ersten Flashspeicherzellen und einen zweiten Datenspeicherbereich (120) mit zweiten Flashspeicherzellen aufweist, wobei die ersten und zweiten Flashspeicherzellen eine unterschiedliche Anzahl von Datenbits je Speicherzelle speichern, und einen Fehlersteuerblock (200), der einen ersten ECC-Block (210), der ein erstes Fehlersteuerschema implementiert, und einen zweiten ECC-Block (220) aufweist, der ein zweites Fehlersteuerschema implementiert, wobei, wenn der Befehl einen Datenzugriffsvorgang anzeigt, der auf im ersten Datenspeicherbereich (110) gespeicherte Daten gerichtet ist, der Steuerblock (300) den Betrieb des ersten ECC-Blocks (210) so auswählt, dass der Fehlersteuerblock (200) in Übereinstimmung mit dem ersten Fehlersteuerschema arbeitet, und wobei, wenn der Befehl einen Datenzugriffsvorgang anzeigt, der auf im zweiten Datenspeicherbereich (120) gespeicherte Daten gerichtet ist, der Steuerblock (300) den Betrieb des zweiten ECC-Blocks (220) so auswählt, dass der Fehlersteuerblock (200) in Übereinstimmung mit dem zweiten Fehlersteuerschema arbeitet.

Description

  • sDie vorliegende Erfindung bezieht sich auf ein Hybridflashspeicherbauelement, ein Speichersystem und ein Verfahren zum Steuern von Fehlern in einem Hybridflashspeicherbauelement.
  • Ein Flashspeicher ist eine nichtflüchtige Speicherart, die in der Lage ist, Daten zu erhalten, wenn die angelegte Energieversorgung unterbrochen wird. Während die Datenzugriffsgeschwindigkeiten für Flashspeicher langsamer als die für flüchtige Speicherbauelemente, wie beispielsweise einem dynamischen Speicher mit direktem Zugriff (DRAM), assoziierte Datenzugriffsgeschwindigkeiten sind, sind sie merklich schneller als die Datenzugriffsgeschwindigkeiten für Festplattenlaufwerke (HDDs). Wenn Flashspeicher allgemein als Ersatz für HHDs verwendet werden, ermöglichen sie verbesserte Energieverbraucheigenschaften und eine verbesserte Langlebigkeit im Bezug auf mechanische Einflüsse. Daher werden Flashspeicher extensiv in Applikationen und verschiedenen elektronischen Geräten verwendet, die mit Batterien betrieben werden.
  • Flashspeicher sind allgemein dafür geeignet, dass Daten elektrisch in sie geschrieben, d. h. programmiert, und gelöscht werden. Im Gegensatz zu EEPROMs können Flashspeicher auf blockweise programmiert und gelöscht werden. Des Weiteren weisen Flashspeicher generell eine hohe Kapazität auf und erlauben, dass Daten mit niedrigeren Kosten je Bit als in EEPROMs gespeichert werden können. Typische Applikationen, die von der Anwendung von Flashspeichern profitieren sind digitale Musikabspielgeräte, digitale Kameras, Mobiltelefone usw. Über Flashspeicher umgesetzte USB-Treiber oder Flashspeicherkarten sind zum Speichern von Daten und zur Übertragung von Daten zwischen Computern weit verbreitet.
  • Flashspeicher speichern Daten typischerweise in Feldern von Speicherzellen, die Floating-Gate-Transistoren aufweisen. Neuere Flashspeicher sind in der Lage, Mehrfachdatenbits bzw. mehrere Datenbits je Speicherzelle zu speichern. Zur Vereinfachung der Beschreibung wird eine Speicherzelle in einem Flashspeicherbauelement, die ein Datenbit speichert, als Einzelbitzelle (SBC) bezeichnet. Eine Speicherzelle in einem Flashspeicherbauelement, die Mehrfachdatenbits speichert, wird als Mehrfachbitzelle (MBC) bezeichnet.
  • In einem SBC-Flashspeicherbauelement können Daten, die in einer der Speicherzellen gespeichert sind, unter Verwendung einer entsprechenden Lesespannung identifiziert werden, die zwischen der Schwellspannungsverteilung für Daten mit einem definierten Wert von „1" und der Schwellspannungsverteilung für Daten mit einem definierten Wert von „0" liegt. Wenn die Lesespannung beispielsweise an ein Steuergate der Speicherzelle angelegt wird, ist es durch Detektieren eines korrespondierenden Stromflusses, der durch die Speicherzelle fließt, möglich zu bestimmen, ob ein Datenwert von 0 oder 1 gespeichert ist.
  • Spannungsspielräume zwischen der Lesespannung und der entsprechenden Schwellspannungsverteilung in einem SBC-Flashspeicherbauelement sind allgemein größer als solche in einem MBC-Flashspeicherbauelement. Lesefehler treten aber unabhängig davon in beiden Bauelementtypen auf. Daher kann eine Fehlerdetektierungs- und/oder Fehlerkorrektur(ECC)-Struktur verwendet werden, um Bitfehler zu detektieren und/oder zu korrigieren. Eine ECC-Struktur wird beispielsweise im US-Patent 6,651,212 offenbart, dessen Gegenstand hiermit durch Bezugnahme in die Beschreibung aufgenommen wird.
  • Mit der Zunahme der Anzahl von Datenbits, die per Speicherzelle in einem MBC-Flashspeicherbauelement gespeichert werden kann, werden mehr Schwellspannungsverteilungen verwendet und müssen berücksichtigt werden. Es ist auf dem Gebiet der Flashspeicher allgemein bekannt, dass bestimmte Schwierigkeiten im Zusammenhang mit der Anhebung der Schwellspannungsverteilungen in einem Flashspeicher, der MBCs verwendet, auftreten können. Das bedeutet, dass sich die Schwellspannung einer Speicherzelle innerhalb eines vorbestimmten Spannungsbereichs bewegt. Entsprechend sollten die für eine bestimmte MBC verwendeten Schwellspannungsverteilungen unabhängig von der Anzahl von in der MBC zu speichernden Datenbits gleichmäßig über ihren Spannungsbereich verteilt werden. Für eine bestimmte Anzahl von gespeicherten Datenbits je Speicherzelle bewirkt dieses Entwurfsziel jedoch, dass sich benachbarte Schwellspannungsverteilungen überlappen. Diese Folge wird zu einem ernsten Hindernis für eine weitere Erhöhung der Anzahl von Datenbits, die in einer MBC gespeichert werden können. Des Weiteren stellt diese Folge ein ernstes Problem für verschiedene Entwurfsfaktoren wie beispielsweise Ladungsverlust, Lese-/Programmiervorgangszeitperioden, Bauelementerwärmung, Ladungskopplung zwischen benachbarten Speicherzellen während Lese-/Programmiervorgängen, Zellendefekte usw. dar.
  • Zusammenfassend werden, wenn die mit MBC-Flashspeicherbauelementen assoziierten Entwurfs- und Herstellungsschwierigkeiten zunehmen, die Vorteile einer leistungsfähigen ECC-Funktionalität immer wichtiger.
  • Der Erfindung liegt das technische Problem zugrunde, ein Hybridflashspeicherbauelement, ein Speichersystem und ein Verfahren zum Steuern von Fehlern in einem Hybridflashspeicherbauelement bereitzustellen, welche eine optimierte ECC-Leistungsfähigkeit aufweisen.
  • Die Erfindung löst dieses Problem durch Bereitstellung eines Hybridflashspeicherbauelements mit den Merkmalen des Patentanspruchs 1, eines Speichersystems mit den Merkmalen des Patentanspruchs 8 und eines Verfahrens zum Steuern von Fehlern in einem Hybridflashspeicherbauelement mit den Merkmalen des Patentanspruchs 18.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben, deren Wortlaut hiermit durch Bezugnahme in die Beschreibung aufgenommen wird, um unnötige Textwiederholungen zu vermeiden.
  • Vorteilhafte, nachfolgend im Detail beschriebene Ausführungsformen der Erfindung sind in den Zeichnungen dargestellt. Es zeigt/zeigen:
  • 1 ein Blockdiagramm eines Flashspeicherbauelements gemäß einer Ausführungsform der Erfindung,
  • 2 ein Blockdiagramm eines Speichersystems gemäß einer Ausführungsform der Erfindung,
  • 3 ein Blockdiagramm eines Flashspeicherbauelements gemäß einer anderen Ausführungsform der Erfindung,
  • 4 einen Fehlersteuerblock aus 3,
  • 5 ein Blockdiagramm eines Speichersystems gemäß einer anderen Ausführungsform der Erfindung,
  • 6 ein Blockdiagramm eines Flashspeicherbauelements gemäß einer weiteren Ausführungsform der Erfindung,
  • 7 ein Blockdiagramm eines Speichersystems gemäß einer weiteren Ausführungsform der Erfindung,
  • 8 ein Blockdiagramm eines Flashspeicherbauelements gemäß einer weiteren Ausführungsform der Erfindung,
  • 9 ein Blockdiagramm eines Speichersystems gemäß einer weiteren Ausführungsform der Erfindung und
  • 10 ein Blockdiagramm einer Smart-Card.
  • 1 ist ein Blockdiagramm eines Flashspeicherbauelements gemäß einer Ausführungsform der Erfindung.
  • Bezugnehmend auf 1 umfasst ein Flashspeicherbauelement einen Datenspeicherblock 100, einen Fehlersteuerblock 200 und einen Steuerblock 300. In diesem Kontext wird der Begriff „Block" verwendet, um allgemein einen Schaltkreis, Firmware oder eine Kombination aus Schaltkreis, Steuerlogik und zugehöriger Software zu beschreiben, welche geeignet sind, eine gewünschte Funktionalität zu implementieren.
  • Der Datenspeicherblock 100 umfasst einen Bereich 110, der nachfolgend als SBC-Bereich bezeichnet wird, der SBCs aufweist, die ein Ein zeldatenbit je Speicherzelle speichern, und einen Bereich 120, der nachfolgend als MBC-Bereich bezeichnet ist, der MBCs aufweist, die Mehrfachdatenbits je Speicherzelle speichern, d. h. es werden „M-Bit-Daten" bzw. M Datenbits gespeichert, wobei M eine ganze Zahl größer oder gleich 1 ist. Der SBC-Bereich 110 kann unter anderem Datencodeinformationen oder ECC-Daten speichern. Der MBC-Bereich 120 speichert typischerweise Volumen- oder Nutzdaten.
  • In bestimmten Ausführungsformen der Erfindung können die im SBC-Bereich 110 und im MBC-Bereich 120 bereitgestellten Speicherzellen Flashspeicherzellen sein, die einen Floating-Gate-Transistor aufweisen. Dem Fachmann ist jedoch klar, dass die Flashspeicherzellen nicht auf solche begrenzt sind, die einen Floating-Gate-Transistor aufweisen. Die Flashspeicherzellen können beispielsweise unter Verwendung von Ladungseinfangtransistoren usw. implementiert werden. Des Weiteren können die Flashspeicherzellen PRAM, MRAM oder andere Arten von nichtflüchtigen Speicherzellen sein.
  • Bezugnehmend auf 1 erzeugt der Fehlersteuerblock 200 einen Fehlersteuercode (ECC) im Bezug auf Daten, die im Datenspeicherblock 100 zu speichern sind. Der Fehlersteuerblock 200 kann verwendet werden, um Fehler in Daten zu detektieren und zu korrigieren, die aus dem Datenspeicherblock 100 gelesen werden.
  • In diesem Zusammenhang umfasst der Fehlersteuerblock 200 einen ersten ECC-Block 210 und einen zweiten ECC-Block 220. Der erste ECC-Block 210 umfasst einen Schaltkreis mit einem herkömmlichen Design, der in der Lage ist, ECC-Vorgänge in Bezug auf die im SBC-Bereich 110 gespeicherten Daten vorzunehmen. Der zweite ECC-Block 220 umfasst einen Schaltkreis mit einem herkömmlichen Design, der in der Lage ist, ECC-Vorgänge in Bezug auf die im MBC-Bereich 120 gespeicherten Daten vorzunehmen.
  • Das bedeutet, dass der erste ECC-Block 210 ECC-Daten, die auf im SBC-Bereich 110 gespeicherte Daten bezogen sind, gemäß einem ersten Fehlersteuerschema erzeugt und manipuliert. Daher ist der erste ECC-Block 210 in der Lage, Fehler in den aus dem SBC-Bereich 110 gelesenen Daten gemäß dem ersten Fehlersteuerschema zu detektieren und zu korrigieren. Der zweite ECC-Block 220 erzeugt und manipuliert ECC-Daten, die auf im MBC-Bereich 120 gespeicherte Daten bezogen sind gemäß einem zweiten Fehlersteuerschema. Daher ist der zweite ECC-Block 220 in der Lage, Fehler in den aus dem MBC-Bereich 120 gelesenen Daten gemäß dem zweiten Fehlersteuerschema zu detektieren und zu korrigieren.
  • Entsprechend verschiedener Ausführungsformen der Erfindung kann das erste Fehlersteuerschema einen Bose-, Ray-Chaudhuri-, Hocquenghem(BCH)-Code oder einen Reed-Solomon(RS)-Code verwenden, wie es im US-Patent 6,651,212 offenbart wird. Das zweite Fehlersteuerschema kann ein fraktioniertes Leseverfahren verwenden, das manchmal auch als Weichentscheidungs(SD)-Verfahren bezeichnet wird. Dieses fraktionierte Leseverfahren wird beispielsweise im US-Patent 7,023,735 offenbart, dessen Gegenstand hiermit durch Bezugnahme in die Beschreibung aufgenommen wird. Dem Fachmann ist jedoch klar, dass das erste und zweite Fehlersteuerschema durch andere existierende und/oder entstehende ECC-Schemata, wie z. B. solche, die Wiederholungscodes, Paritätscodes, zyklische Codes, Hamming-Codes, Golay-Codes, Reed-Muller-Codes, Maximal-Wahrscheinlichkeiten usw. verwenden, implementiert werden können.
  • Der Steuerblock 300 wählt den ersten ECC-Block 210 oder den zweiten ECC-Block 220 in Abhängigkeit davon aus, ob ein aktueller Datenzugriffsvorgang auf die im SBC-Bereich 110 oder die im MBC-Bereich 120 gespeicherten Daten gerichtet ist. Fordert der Datenzugriffsvorgang beispielsweise Daten vom SBC-Bereich 110 an, dann wählt der Steuerblock 300 den ersten ECC-Block 210 aus und der Fehlersteuerblock 200 arbeitet gemäß dem ersten Fehlersteuerschema. Fordert der Datenzugriffsvorgang Daten vom MBC-Bereich 120 an, dann wählt der Steuerblock 300 den zweiten ECC-Block 220 aus und der Fehlersteuerblock 200 arbeitet gemäß dem zweiten Fehlersteuerschema. Ein Zugriffsvorgang auf Daten, die entweder im SBC-Bereich 110 oder im MBC-Bereich 120 gespeichert sind, kann in Übereinstimmung mit korrespondierenden Adresseninformationen, Befehlsinformationen usw. bestimmt werden.
  • Auf diese Weise kann unter Verwendung von verschiedenen ECC-Schemata eine optimierte ECC-Leistungsfähigkeit in Bezug auf Einzelbitdaten und Mehrfachbitdaten erzielt werden.
  • 2 ist ein Blockdiagramm eines Speichersystems gemäß einer anderen Ausführungsform der Erfindung.
  • Bezugnehmend auf 2 umfasst das Speichersystem ein Flashspeicherbauelement 400 und eine Speichersteuereinheit 500. Das Flashspeicherbauelement 400 umfasst einen SBC-Bereich 410 und einen MBC-Bereich 420. Der SBC-Bereich 410 und der MBC-Bereich 420 korrespondieren mit den Bereichen 110 bzw. 120 aus 1. Der Fachmann erkennt, dass der SBC-Bereich 410 und der MBC-Bereich 420 auf einem einzelnen integrierten Schaltungschip ausgeführt werden können.
  • Die Speichersteuereinheit 500 steuert gemäß Befehlen, die vom Hostgerät 600 empfangen werden, Datenzugriffsvorgänge, d. h. Programmier- und Lesevorgänge, die auf das Flashspeicherbauelement 400 gerichtet sind. Die Speichersteuereinheit 500 umfasst einen Fehlersteuerblock 510, der einen ersten ECC-Block 511 und einen zweiten ECC-Block 512 aufweist. Der erste ECC-Block 511 und der zweite ECC-Block 512 kor respondieren mit dem ersten ECC-Block 210 bzw. dem zweiten ECC-Block 220 gemäß 1. Die Speichersteuereinheit 500 wählt den ersten ECC-Block 511 oder den zweiten ECC-Block 512 in Übereinstimmung mit einem Datenzugriffsvorgang aus, der durch einen vom Hostgerät 600 empfangenen Befehl angezeigt wird, der auf Daten gerichtet ist, die im SBC-Bereich 410 oder im MBC-Bereich 420 gespeichert sind.
  • Fordert der Datenzugriffsvorgang beispielsweise Daten an, die im SBC-Bereich 410 gespeichert oder zu speichern sind, dann wählt die Speichersteuereinheit 500 den ersten ECC-Block 511 aus, und der Fehlersteuerblock 510 arbeitet gemäß dem ersten Fehlersteuerschema. Fordert der Datenzugriffsvorgang Daten an, die im MBC-Bereich 420 gespeichert oder zu speichern sind, dann wählt die Speichersteuereinheit 500 den zweiten ECC-Block 512 aus, und der Fehlersteuerblock 510 arbeitet gemäß dem zweiten Fehlersteuerschema.
  • Bei der in 2 dargestellten Ausführungsform können das Flashspeicherbauelement 400 und die Speichersteuereinheit 500 auf einer Flashspeicherkarte implementiert werden. Alternativ kann die Speichersteuereinheit 500 in einem Computer installiert werden und das Flashspeicherbauelement 400 kann separat bereitgestellt werden. In dem Fall, in dem die Speicherkarte 500 und das Flashspeicherbauelement 400 getrennt bereitgestellt werden, verwenden die Speichersteuereinheit 500 und das verbundene Flashspeicherbauelement 400 einen drahtlosen, einen HF-, einen magnetischen und/oder einen direkten elektrischen Kontakt unter Verwendung einer beliebigen aus einer Mehrzahl von standardisierten Schnittstellen, wie beispielsweise eine ATA-, SATA-, USB-, SCSI-, ESDI-, ISO-, PCI-, IDE-Schnittstelle.
  • Wie vorher kann unter Verwendung eines ausgewählten Fehlersteuerschemas eine optimierte ECC-Leistungsfähigkeit in Bezug auf Einzelbitdaten und Mehrfachbitdaten erzielt werden.
  • 3 ist ein Blockdiagramm eines Flashspeicherbauelements gemäß einer weiteren Ausführungsform der vorliegenden Erfindung. 4 zeigt eine weitere Darstellung des Fehlersteuerblocks 800 aus 3.
  • Das allgemein in 3 dargestellte Flashspeicherbauelement umfasst einen Datenspeicherblock 700, einen Fehlersteuerblock 800 und einen Steuerblock 900. Der Datenspeicherblock 700 umfasst einen SBC-Bereich 710, der Einzelbitdaten speichert, und einen MBC-Bereich 720, der M-Bit-Daten speichert, wie oben beschrieben ist.
  • Bezugnehmend auf 3 erzeugt der Fehlersteuerblock 800 jedoch variable ECC-Daten in Bezug auf verschiedene Datentypen, die möglicherweise im Datenspeicherblock 700 gespeichert sind. Der Fehlersteuerblock 800 detektiert und korrigiert Fehler in Daten, die unter Verwendung von korrespondierenden Fehlersteuerschemata, wie beispielsweise eine der oben angegebenen Fehlersteuerschemata, aus einem beliebigen Bereich des Datenspeicherblocks 700 gelesen werden. Bei einer in 4 dargestellten Ausführungsform umfasst der Fehlersteuerblock 800 eine Mehrzahl von Fehlersteuerschemata, die verschieden in Form von Hardware und/oder Software implementiert sind und innerhalb des Fehlersteuerblocks 800 als Optionsblock 810 und eine Mehrzahl von ECC-Blöcken 80 bis 8m bezeichnet sind. Das bedeutet, dass die entsprechenden ECC-Blöcke 80 bis 8m arbeiten, um entsprechend verschiedene Fehlersteuerschemata zu implementieren. Ein erster ECC-Block kann beispielsweise durch Mittel des Optionsblocks 810 ausgewählt werden, um in Verbindung mit im SBC-Bereich 710 gespeicherten oder zu speichernden Daten verwendet zu werden. Alternativ kann ein zweiter ECC-Block durch Mittel des Optionsblocks 810 ausgewählt werden, um in Verbindung mit im MBC-Bereich 720 gespeicherten oder zu speichernden Daten verwendet zu werden.
  • Bei bestimmten Ausführungsformen der Erfindung kann der Optionsblock 810 unter Verwendung von herkömmlichen Schaltkreisen und Techniken wie Fuse- und Bondingoptionen implementiert werden. Dem Fachmann ist klar, dass der Optionsschaltkreis 810 programmierbar oder als Software implementiert werden kann. Der Fehlersteuerblock 800 gemäß Ausführungsformen der Erfindung kann verwendet werden, um selektiv und variabel einen Bereich von Fehlersteuerschemata zu implementieren.
  • Der Steuerblock 900 aus 3 kann beispielsweise in Überstimmung damit, ob die zu lesenden oder zu programmierenden Daten den SBC-Bereich 710 oder dem MBC-Bereich 720 betreffen, einen ersten ECC-Block 80 oder einen zweiten ECC-Block 8m auswählen.
  • 5 ist ein Blockdiagramm eines Speichersystems gemäß einer weiteren Ausführungsform der Erfindung.
  • Bezugnehmend auf 5 umfasst das Speichersystem ein Flashspeicherbauelement 1000 und eine Speichersteuereinheit 1100. Das Flashspeicherbauelement 1000 umfasst einen SBC-Bereich 1010 und einen MBC-Bereich 1020. Der SBC-Bereich 1010 und der MBC-Bereich 1020 korrespondieren mit den Bereichen 710 bzw. 720, die unter Bezugnahme auf 3 beschrieben sind. Der Fachmann erkennt, dass der SBC-Bereich 1010 und der MBC-Bereich 1020 auf einem einzelnen integrierten Schaltungschip ausgeführt werden können.
  • Die Speichersteuereinheit 1100 steuert gemäß Befehlen, die vom Hostgerät 1200 empfangen werden, Datenzugriffsvorgänge, die auf das Flashspeicherbauelement 1000 gerichtet sind. Die Speichersteuereinheit 1100 umfasst einen Fehlersteuerblock 1110, der im Wesentlichen identisch mit dem Fehlersteuerblock 800 ist, der in Bezugnahme auf 4 beschrieben ist. Daher kann der in der Speichersteuereinheit 1100 aus
  • 5 enthaltene Fehlersteuerblock 1110 Schaltkreise und Software umfassen, welche in der Lage sind, eine Anzahl verschiedener Fehlersteuerschemata zu implementieren.
  • Die Speichersteuereinheit 1100 ist beispielsweise in der Lage, entweder einen ersten ECC-Block oder eine zweiten ECC-Block innerhalb des Fehlersteuerblocks 1110 in Übereinstimmung damit auszuwählen, ob der Datenzugriffsvorgang, der durch das Hostgerät 1200 angezeigt wird, auf Daten gerichtet ist, die im SBC-Bereich 1010 oder im MBC-Bereich 1020 gespeichert oder zu speichern sind.
  • In diesem besonderen Ausführungsbeispiel können das Flashspeicherbauelement 1000 und die Speichersteuereinheit 1100 auf einer Flashspeicherkarte implementiert werden. Alternativ kann die Speichersteuereinheit 1100 in einem Endgerät oder einem Computer installiert werden und das Flashspeicherbauelement kann separat bereitgestellt werden. Im letzteren Fall kann die Speichersteuereinheit 1100 über eine standardisierte Schnittstelle, wie beispielsweise eine ATA-, SATA-, USB-, SCSI-, ESDI-, ISO-, PCI- und IDE-Schnittstelle, unter Verwendung von herkömmlich bekannten Quellen mit dem Flashspeicherbauelement 1000 verbunden werden.
  • 6 ist ein Blockdiagramm eines Speichersystems oder eines Flashspeicherbauelements gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
  • Bezugnehmend auf 6 umfasst das Speichersystem einen Datenspeicherblock 1300, der einen ersten MBC-Bereich 1310 und einen zweiten MBC-Bereich 1320 aufweist. Der erste MBC-Bereich 1310 umfasst Speicherzellen, die i-Bit-Daten speichern, und der zweite MBC-Bereich 1320 umfasst Speicherzellen, die j-Bit-Daten speichern, wobei i eine positive ganze Zahl kleiner als j ist.
  • Zudem umfasst das Speichersystem gemäß 6 einen Fehlersteuerblock 1400, der in Bezug auf Daten, die im Datenspeicherblock 1300 gespeichert oder zu speichern sind, ECC-Daten erzeugt. Der Fehlersteuerblock 1400, der einen ersten FCC-Block 1410 und einen zweiten ECC-Block 1420 umfasst, kann in Bezug auf den Datenspeicherblock 1330 und insbesondere in Bezug auf den ersten MBC-Bereich 1310 und den zweiten MBC-Bereich 1320 innerhalb des Datenspeicherblocks 1300, auf die oben beschriebene Weise ähnlich wie der Fehlersteuerblock 200 in Bezug auf den Datenspeicherblock 100 arbeiten, der den ersten SBC-Bereich 110 und den MBC-Bereich 120 aufweist.
  • In der in 6 dargestellten Ausführungsform kann ein durch den ersten ECC-Block 1410 implementiertes erstes Fehlersteuerschema einen BCG-Code oder einen RS-Code verwenden. Das zweite Fehlersteuerschema, das durch den zweiten ECC-Block 1410 implementiert wird, kann ein fraktioniertes Leseverfahren verwenden. Wie die vorher beschriebenen Ausführungsformen ist die Erfindung nicht nur auf diese Fehlersteuerschemata begrenzt, sondern kann andere Schemata, wie z. B. Wiederholungscodes, Paritätscodes, zyklische Codes, Hamming-Codes, Golay-Codes, Reed-Muller-Codes, Maximal-Wahrscheinlichkeiten usw. verwenden.
  • Der Steuerblock 1500 kann verwendet werden, um zwischen dem ersten ECC-Block 1410 und dem zweiten ECC-Block 1420 danach auszuwählen, ob ein Datenzugriffsvorgang auf die im ersten MBC-Bereich 1310 oder im zweiten MBC-Bereich 1320 gespeicherten oder zu speichernden Daten gerichtet ist. Ist der Datenzugriffsvorgang beispielsweise auf im MBC-Bereich 1310 gespeicherte Daten gerichtet, wählt der Steuerblock 1500 den Betrieb des ersten ECC-Blocks 1410 aus und der Fehlersteuerblock 1400 arbeitet gemäß dem ersten Fehlersteuerschema. Ist ein Datenzugriff jedoch auf im zweiten MBC-Bereich 1320 gespeicherte Da ten gerichtet, wählt der Steuerblock 1500 den Betrieb des zweiten ECC-Blocks 1420 aus und der Fehlersteuerblock 1400 arbeitet gemäß dem zweiten Fehlersteuerschema.
  • 7 ist ein Blockdiagramm eines Flashspeichersystems gemäß einer weiteren Ausführungsform der Erfindung. In dem in 7 dargestellten System ist der Datenspeicherblock 1600 dem in 2 dargestellten Datenspeicherblock 200 ähnlich, außer, dass der Datenspeicherblock 1600 einen ersten MBC1-Bereich 1610 und einen zweiten MBC2-Bereich 1620 anstelle des SBC-Bereichs 110 und des MBC-Bereichs 120 aufweist. Die Auswahl und Bereitstellung eines geeigneten Fehlersteuerschemas in Bezug auf Daten, die im ersten MBC1-Bereich 1610 oder im zweiten MBC2-Bereich 1620 gespeichert oder zu speichern sind, können ähnlich zu dem unter Bezugnahme auf 6 beschriebenen Ansatz ausgeführt werden.
  • 8 ist ein Blockdiagramm eines Flashspeichersystems gemäß einer weiteren Ausführungsform der Erfindung. Das Flashspeichersystem gemäß 8 ist dem in 3 dargestellten ähnlich, außer, dass ein Datenspeicherbereich erste und zweite MBC-Bereiche MBC1 und MBC2 aufweist. Die Auswahl und Bereitstellung eines geeigneten Fehlersteuerschemas in Bezug auf Daten, die im ersten MBC1-Bereich 1910 oder im zweiten MBC2-Bereich 1920 gespeichert oder zu speichern sind, können ähnlich zu dem unter Bezugnahme auf 6 beschriebenen Ansatz ausgeführt werden.
  • 9 ist ein Blockdiagramm eines Flashspeichersystems gemäß einer weiteren Ausführungsform der Erfindung. Das Flashspeichersystem gemäß 9 ist dem in 5 dargestellten ähnlich, außer, dass ein Datenspeicherbereich erste und zweite MBC-Bereiche MBC1 und MBC2 aufweist. Die Auswahl und Bereitstellung eines geeigneten Fehlersteuerschemas in Bezug auf Daten, die im ersten MBC1-Bereich 2210 oder im zweiten MBC2-Bereich 2220 gespeichert oder zu speichern sind, können ähnlich zu dem unter Bezugnahme auf 6 beschriebenen Ansatz ausgeführt werden.
  • 10 ist ein allgemeines Blockdiagramm einer Smart-Card, in der eine beliebige der vorherigen Ausführungsformen verwendet werden kann.
  • Bezugnehmend auf 10 umfasst die Smart-Card eine Verarbeitungseinheit 3000, eine Schnittstelle 3100, ein ROM 3200, ein RAM 3300, ein Flashspeicherbauelement 3400 und eine Fehlersteuereinheit 3500. Obwohl es in den Zeichnungen nicht dargestellt ist, ist es für einen Fachmann offensichtlich, dass die Smart-Card weiter einen Codier-/Decodierblock, einen Sicherheitsblock usw. umfasst. Das Flashspeicherbauelement 3400 und die Fehlersteuereinheit 3500 der 10 können gemäß einer beliebigen, oben in Bezug auf 1 bis 9 beschriebenen Ausführungsform implementiert werden.
  • Wie oben ausgeführt, kann eine optimierte ECC-Leistungsfähigkeit durch die Verwendung von verschiedenen ECC-Schemata in Bezug auf Daten erzielt werden, die in verschiedenen Bereichen eines Flashspeicherbauelements gespeichert sind, wie beispielsweise in einem SBC-Speicherfeld und in einem MBC-Speicherfeld oder in verschiedenen MBC-Feldern.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • - US 6651212 [0006, 0030]
    • - US 7023735 [0030]

Claims (24)

  1. Hybridflashspeicherbauelement mit einer Fehlersteuer- und Fehlerkorrektur(ECC)-Fähigkeit, umfassend: – einen Steuerblock (300), der auf einen extern bereitgestellten Befehl reagiert, – einen Datenspeicherblock (100), der einen ersten Datenspeicherbereich (110) mit ersten Flashspeicherzellen und einen zweiten Datenspeicherbereich (120) mit zweiten Flashspeicherzellen aufweist, wobei die ersten und zweiten Flashspeicherzellen eine unterschiedliche Anzahl von Datenbits je Speicherzelle speichern, und – einen Fehlersteuerblock (200), der einen ersten ECC-Block (210), der eins erstes Fehlersteuerschema implementiert, und einen zweiten ECC-Block (220) aufweist, der ein zweites Fehlersteuerschema implementiert, – wobei, wenn der Befehl einen Datenzugriffsvorgang anzeigt, der auf im ersten Datenspeicherbereich (110) gespeicherte Daten gerichtet ist, der Steuerblock (300) den Betrieb des ersten ECC-Blocks (210) so auswählt, dass der Fehlersteuerblock (200) in Übereinstimmung mit dem ersten Fehlersteuerschema arbeitet, und – wobei, wenn der Befehl einen Datenzugriffsvorgang anzeigt, der auf im zweiten Datenspeicherbereich (120) gespeicherte Daten gerichtet ist, der Steuerblock (300) den Betrieb des zweiten ECC-Blocks (220) so auswählt, dass der Fehlersteuerblock (200) in Übereinstimmung mit dem zweiten Fehlersteuerschema arbeitet.
  2. Bauelement nach Anspruch 1, wobei jede der ersten Flashspeicherzellen 1-Bit-Daten speichert und jede der zweiten Flashspei cherzellen M-Bit-Daten speichert, wobei M eine positive ganze Zahl größer als 1 ist.
  3. Bauelement nach Anspruch 1, wobei jede der ersten Flashspeicherzellen i-Bit-Daten speichert und jede der zweiten Flashspeicherzellen j-Bit-Daten speichert, wobei i eine positive ganze Zahl kleiner als j ist.
  4. Bauelement nach Anspruch 3, wobei die i-Bit-Daten 2-Bit-Daten sind und die j-Bit-Daten 3-Bit-Daten sind oder die i-Bit-Daten 3-Bit-Daten sind und die j-Bit-Daten 4-Bit-Daten sind.
  5. Bauelement nach einem der Ansprüche 1 bis 4, wobei der Fehlersteuerblock zusätzliche ECC-Blöcke aufweist, die bei einer Auswahl durch den Steuerblock entsprechende zusätzliche Fehlersteuerschemata implementieren.
  6. Bauelement nach einem der Ansprüche 1 bis 5, wobei das erste Fehlersteuerschema einen Bose-, Ray-Chaudhuri-, Hocquenghem(BCH)-Code und/oder einen Reed-Solomon(RS)-Code verwendet, um Fehler zu bearbeiten, die in den ersten Flashspeicherzellen gespeicherte Daten betreffen.
  7. Bauelement nach einem der Ansprüche 1 bis 6, wobei das zweite Fehlersteuerschema ein fraktioniertes Leseverfahren und/oder ein Maximal-Wahrscheinlichkeits(ML)-Verfahren implementiert, um Fehler zu steuern, die in den zweiten Flashspeicherzellen gespeicherte Daten betreffen.
  8. Speichersystem, umfassend: – eine Speichersteuereinheit (500), die auf einen von einem Hostgerät (600) empfangenen Befehl reagiert, um einen Da tenzugriffsvorgang zu erzeugen, und die einen Fehlersteuerblock (510) aufweist, der einen ersten ECC-Block (511), der eine erstes Fehlersteuerschema implementiert, und einen zweiten ECC-Block (512) aufweist, der ein zweites Fehlersteuerschema implementiert, und – ein Flashspeicherbauelement (400), insbesondere ein Flashspeicherbauelement nach einem der Ansprüche 1 bis 6, das einen Datenspeicherblock umfasst, der einen ersten Datenspeicherbereich (410) mit ersten Flashspeicherzellen und einen zweiten Datenspeicherbereich (420) mit zweiten Flashspeicherzellen aufweist, wobei die ersten und zweiten Flashspeicherzellen eine unterschiedliche Anzahl von Datenbits je Speicherzelle speichern, – wobei die Speichersteuereinheit (500) den Betrieb des ersten ECC-Blocks (511) so auswählt, dass der Fehlersteuerblock (510) in Übereinstimmung mit dem ersten Fehlersteuerschema arbeitet, wenn der Datenzugriffsvorgang auf im ersten Datenspeicherbereich (410) gespeicherte Daten gerichtet ist, und die Speichersteuereinheit (500) den Betrieb des zweiten ECC-Blocks (512) so auswählt, dass der Fehlersteuerblock (510) in Übereinstimmung mit dem zweiten Fehlersteuerschema arbeitet, wenn der Datenzugriffsvorgang auf im zweiten Datenspeicherbereich (420) gespeicherte Daten gerichtet ist.
  9. Speichersystem nach Anspruch 8, wobei jede der ersten Flashspeicherzellen 1-Bit-Daten speichert und jede der zweiten Flashspeicherzellen M-Bit-Daten speichert, wobei M eine positive ganze Zahl größer als 1 ist.
  10. Speichersystem nach Anspruch 8, wobei jede der ersten Flashspeicherzellen i-Bit-Daten speichert und jede der zweiten Flash speicherzellen j-Bit-Daten speichert, wobei i eine positive ganze Zahl kleiner als j ist.
  11. Speichersystem nach Anspruch 10, wobei die i-Bit-Daten 2-Bit-Daten sind und die j-Bit-Daten 3-Bit-Daten sind oder die i-Bit-Daten 3-Bit-Daten sind und die j-Bit-Daten 4-Bit-Daten sind.
  12. Speichersystem nach einem der Ansprüche 8 bis 11, wobei der Fehlersteuerblock zusätzliche ECC-Blöcke aufweist, die bei einer Auswahl durch die Speichersteuereinheit entsprechende zusätzliche Fehlersteuerschemata implementieren.
  13. Speichersystem nach einem der Ansprüche 8 bis 12, wobei das erste Fehlersteuerschema einen Bose-, Ray-Chaudhuri-, Hocquenghem(BCH)-Code und/oder einen Reed-Solomon(RS)-Code verwendet, um Fehler zu behandeln, die in den ersten Flashspeicherzellen gespeicherte Daten betreffen.
  14. Speichersystem nach einem der Ansprüche 8 bis 13, wobei das zweite Fehlersteuerschema ein fraktioniertes Leseverfahren und/oder ein Maximal-Wahrscheinlichkeits(ML)-Verfahren implementiert, um Fehler zu behandeln, die in den zweiten Flashspeicherzellen gespeicherte Daten betreffen.
  15. Speichersystem nach einem der Ansprüche 8 bis 14, wobei das Flashspeicherbauelement und die Speichersteuereinheit gemeinsam auf einer Flashspeicherkarte realisiert sind.
  16. Speichersystem nach einem der Ansprüche 8 bis 14, wobei die Speichersteuereinheit in einem Endgerät oder einem Computer realisiert ist.
  17. Speichersystem nach Anspruch 16, wobei das Flashspeicherbauelement getrennt von der Speichersteuereinheit realisiert und dazu in der Lage ist, über eine Schnittstelle mit der Speichersteuereinheit zu kommunizieren.
  18. Verfahren zum Steuern von Fehlern in einem Hybridflashspeicherbauelement, das einen ersten Datenspeicherbereich (110), der mit ersten Flashspeicherzellen implementiert ist, und einen zweiten Datenspeicherbereich (120) aufweist, der mit zweiten Flashspeicherzellen implementiert ist, wobei die ersten und zweiten Flashspeicherzellen eine unterschiedliche Anzahl von Datenbits je Speicherzelle speichern, mit den Schritten: – Bestimmen, ob ein Datenzugriffsvorgang auf im ersten Datenspeicherbereich (110) gespeicherte Daten oder auf im zweiten Datenspeicherbereich (120) gespeicherte Daten gerichtet ist, wobei – wenn bestimmt wird, dass der Datenzugriffsvorgang auf im ersten Datenspeicherbereich (110) gespeicherte Daten gerichtet ist, ein Betrieb eines ersten ECC-Blocks (210) ausgewählt wird, um ein erstes Fehlersteuerschema in Bezug auf Daten auszuführen, die zu dem Datenzugriffsvorgang gehören, und – wenn bestimmt wird, dass ein Datenzugriffsvorgang auf im zweiten Datenspeicherbereich (120) gespeicherte Daten gerichtet ist, ein Betrieb eines zweiten ECC-Blocks (220) ausgewählt wird, um ein zweites Fehlersteuerschema in Bezug auf Daten auszuführen, die zu dem Datenzugriffsvorgang gehören.
  19. Verfahren nach Anspruch 18, wobei jede der ersten Flashspeicherzellen 1-Bit-Daten speichert und jede der zweiten Flashspei cherzellen M-Bit-Daten speichert, wobei M eine positive ganze Zahl größer als 1 ist.
  20. Verfahren nach Anspruch 18, wobei jede der ersten Flashspeicherzellen i-Bit-Daten speichert und jede der zweiten Flashspeicherzellen j-Bit-Daten speichert, wobei i eine positive ganze Zahl kleiner als j ist.
  21. Verfahren nach Anspruch 20, wobei die i-Bit-Daten 2-Bit-Daten sind und die j-Bit-Daten 3-Bit-Daten sind oder die i-Bit-Daten 3-Bit-Daten sind und die j-Bit-Daten 4-Bit-Daten sind.
  22. Verfahren nach einem der Ansprüche 18 bis 21, wobei der Fehlersteuerblock zusätzliche ECC-Blöcke aufweist, die bei einer Auswahl durch den Steuerblock entsprechende zusätzliche Fehlersteuerschemata implementieren.
  23. Verfahren nach einem der Ansprüche 18 bis 22, wobei das erste Fehlersteuerschema einen Bose-, Ray-Chaudhuri-, Hocquenghem(BCH)-Code und/oder einen Reed-Solomon(RS)-Code verwendet, um Fehler zu behandeln, die in den ersten Flashspeicherzellen gespeicherte Daten betreffen.
  24. Verfahren nach einem der Ansprüche 18 bis 23, wobei das zweite Fehlersteuerschema ein fraktioniertes Leseverfahren und/oder ein Maximal-Wahrscheinlichkeits(ML)-Verfahren implementiert, um Fehler zu behandeln, die in den zweiten Flashspeicherzellen gespeicherte Daten betreffen.
DE102008003267A 2007-01-04 2008-01-04 Hybridflashspeicherbauelement, Speichersystem und Verfahren zum Steuern von Fehlern in einem Hybridflashspeicherbauelement Withdrawn DE102008003267A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2007-0001045 2007-01-04
KR1020070001045A KR100872186B1 (ko) 2007-01-04 2007-01-04 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템

Publications (1)

Publication Number Publication Date
DE102008003267A1 true DE102008003267A1 (de) 2008-08-07

Family

ID=39587491

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008003267A Withdrawn DE102008003267A1 (de) 2007-01-04 2008-01-04 Hybridflashspeicherbauelement, Speichersystem und Verfahren zum Steuern von Fehlern in einem Hybridflashspeicherbauelement

Country Status (4)

Country Link
US (1) US20080215952A1 (de)
KR (1) KR100872186B1 (de)
CN (1) CN101256843A (de)
DE (1) DE102008003267A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100845529B1 (ko) 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US8122322B2 (en) * 2007-07-31 2012-02-21 Seagate Technology Llc System and method of storing reliability data
US8255774B2 (en) * 2009-02-17 2012-08-28 Seagate Technology Data storage system with non-volatile memory for error correction
JP2010198209A (ja) * 2009-02-24 2010-09-09 Toshiba Corp 半導体記憶装置
CN102122267A (zh) * 2010-01-07 2011-07-13 上海华虹集成电路有限责任公司 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器
US8621330B2 (en) * 2011-03-21 2013-12-31 Microsoft Corporation High rate locally decodable codes
CN103226528A (zh) * 2012-01-31 2013-07-31 上海华虹集成电路有限责任公司 多通道与非型闪存控制器
KR101979734B1 (ko) * 2012-08-07 2019-05-17 삼성전자 주식회사 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
US9425829B2 (en) * 2014-09-12 2016-08-23 Freescale Semiconductor, Inc. Adaptive error correction codes (ECCs) for electronic memories
US11288017B2 (en) * 2017-02-23 2022-03-29 Smart IOPS, Inc. Devices, systems, and methods for storing data using distributed control
US11354247B2 (en) 2017-11-10 2022-06-07 Smart IOPS, Inc. Devices, systems, and methods for configuring a storage device with cache
US10394474B2 (en) 2017-11-10 2019-08-27 Smart IOPS, Inc. Devices, systems, and methods for reconfiguring storage devices with applications
US11755208B2 (en) * 2021-10-12 2023-09-12 Western Digital Technologies, Inc. Hybrid memory management of non-volatile memory (NVM) devices for use with recurrent neural networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651212B1 (en) 1999-12-16 2003-11-18 Hitachi, Ltd. Recording/reproduction device, semiconductor memory, and memory card using the semiconductor memory
US7023735B2 (en) 2003-06-17 2006-04-04 Ramot At Tel-Aviv University Ltd. Methods of increasing the reliability of a flash memory

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4282197B2 (ja) * 2000-01-24 2009-06-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
KR100654344B1 (ko) * 2003-07-24 2006-12-05 주식회사 레인콤 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
US20050132128A1 (en) * 2003-12-15 2005-06-16 Jin-Yub Lee Flash memory device and flash memory system including buffer memory
US7106636B2 (en) * 2004-06-22 2006-09-12 Intel Corporation Partitionable memory device, system, and method
TWI243376B (en) * 2004-07-16 2005-11-11 Univ Nat Chiao Tung Method of combining multi-level memory unit and providing the same with error correction mechanism
KR100732628B1 (ko) * 2005-07-28 2007-06-27 삼성전자주식회사 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치
KR100737912B1 (ko) * 2005-10-11 2007-07-10 삼성전자주식회사 반도체 메모리 장치의 에러 검출 및 정정 회로
US7681109B2 (en) * 2005-10-13 2010-03-16 Ramot At Tel Aviv University Ltd. Method of error correction in MBC flash memory
US7823043B2 (en) * 2006-05-10 2010-10-26 Sandisk Il Ltd. Corruption-resistant data porting with multiple error correction schemes
US7900118B2 (en) * 2007-02-12 2011-03-01 Phison Electronics Corp. Flash memory system and method for controlling the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651212B1 (en) 1999-12-16 2003-11-18 Hitachi, Ltd. Recording/reproduction device, semiconductor memory, and memory card using the semiconductor memory
US7023735B2 (en) 2003-06-17 2006-04-04 Ramot At Tel-Aviv University Ltd. Methods of increasing the reliability of a flash memory

Also Published As

Publication number Publication date
US20080215952A1 (en) 2008-09-04
KR100872186B1 (ko) 2008-12-09
KR20080064299A (ko) 2008-07-09
CN101256843A (zh) 2008-09-03

Similar Documents

Publication Publication Date Title
DE102008003267A1 (de) Hybridflashspeicherbauelement, Speichersystem und Verfahren zum Steuern von Fehlern in einem Hybridflashspeicherbauelement
DE112014001305B4 (de) Auswahl einer redundanten Datenspeicherkonfiguration auf der Grundlage verfügbaren Speicherplatzes
DE102008003113B4 (de) ECC-Steuereinheit, Speichersystem und Verfahren zur Korrektur eines Fehlers
DE102010050957B4 (de) Verfahren und Vorrichtung zur Fehlerkorrektur in einem Speicher
DE60303895T2 (de) Hybridimplementierung von Fehlerkorrekturkoden eines nichtflüchtigen Speichersystems
DE19782077B4 (de) Verfahren und Vorrichtung zum Korrigieren eines Mehrpegelzellenspeichers durch Verwendung fehlerlokalisierender Codes
TWI338895B (en) Read and erase verify methods and circuits suitable for low voltage non-volatile memories
DE112011100371B4 (de) Verfahren, Vorrichtung und Computerprogrammprodukt zum Decodieren eines Codeworts
DE112007002437B4 (de) Leistungs-oder stromverbrauchsoptimierte Code-Datenspeicherung für nichtflüchtige Speicher
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
US20140169102A1 (en) Log-likelihood ratio and lumped log-likelihood ratio generation for data storage systems
DE102017104257A1 (de) Auf Zellenstrom basierende Bitleitungsspannung
US10423345B2 (en) Devices, systems, and methods for increasing endurance on a storage system having a plurality of components using adaptive code-rates
JP2015056184A (ja) メモリにおけるデータの管理のための方法および装置
DE102012112354A1 (de) Speichervorrichtung und nichtflüchtige Speichervorrichtung sowie Betriebsverfahren davon
CN103827833A (zh) 存储数据的系统和方法
DE102008003944A1 (de) Speichersystem und Programmierverfahren für ein Speichersystem
US20130117635A1 (en) Memory system including nonvolatile memory device and controlling method of controlling nonvolatile memory device
CN104919434A (zh) 用于在固态驱动器中进行较低页数据恢复的系统和方法
US10418072B2 (en) Memories having select devices between access lines and in memory cells
DE102018123880A1 (de) Adaptive Verwaltung von Zwischenspeichern
DE112019000167T5 (de) Anpassbare Lesewiederholungsreihenfolge basierend auf einem Decodierungserfolgstrend
EP2447842A1 (de) Verfahren und System zur Fehlerkorrektur in einer Speicheranordnung
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE102013200515A1 (de) Halbleiterspeichervorrichtung

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120801