DE102019117787B4 - Speichervorrichtung und Betriebsverfahren derselben - Google Patents

Speichervorrichtung und Betriebsverfahren derselben Download PDF

Info

Publication number
DE102019117787B4
DE102019117787B4 DE102019117787.1A DE102019117787A DE102019117787B4 DE 102019117787 B4 DE102019117787 B4 DE 102019117787B4 DE 102019117787 A DE102019117787 A DE 102019117787A DE 102019117787 B4 DE102019117787 B4 DE 102019117787B4
Authority
DE
Germany
Prior art keywords
dram
row
error
memory controller
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.)
Active
Application number
DE102019117787.1A
Other languages
English (en)
Other versions
DE102019117787A1 (de
Inventor
Dong Kim
Hyunglae Eun
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 DE102019117787A1 publication Critical patent/DE102019117787A1/de
Application granted granted Critical
Publication of DE102019117787B4 publication Critical patent/DE102019117787B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • 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
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Abstract

Betriebsverfahren einer Speichervorrichtung (100) mit einer nichtflüchtigen Speichereinrichtung (130), einer dynamischen Direktzugriffsspeicher(DRAM)-Vorrichtung (120), die eine Mehrzahl an Zeilen (ROW1-ROW4) umfasst, und einem Speicher-Controller (110; 210), wobei das Verfahren Folgendes aufweist:Durchführen (S12) eines Zugriffvorgangs auf die DRAM-Vorrichtung (120) durch den Speicher-Controller (110; 210);Sammeln (S13) von angesammelten Fehlerinformationen (AEI) über die DRAM-Vorrichtung (120) durch den Speicher-Controller (110; 210) basierend auf dem Zugriffsvorgang;Erfassen (S14) einer Fehlerzeile aus einer Mehrzahl an Zeilen (ROW1-ROW4) der DRAM-Vorrichtung (120) durch den Speicher-Controller (110; 210) basierend auf den angesammelten Fehlerinformationen (AEI),Durchführen (S15) eines Laufzeit-Reparaturvorgangs an der Fehlerzeile durch den Speicher-Controller (110; 210);Speichern der angesammelten Fehlerinformationen (AEI) in einem RAM des Speicher-Controllers (110; 210);Verschieben der angesammelten Fehlerinformationen (AEI), einer Neuzuordnungs-Tabelle und eines Adressfeldes, die in dem RAM gespeichert sind, zu einem Meta-Bereich der nichtflüchtigen Speichereinrichtung (130), wenn die Speichervorrichtung (100) ausgeschaltet wird;Laden der angesammelten Fehlerinformationen (AEI), der Neuzuordnungs-Tabelle und des Adressfeldes aus dem Meta-Bereich der nichtflüchtigen Speichereinrichtung (130) in den RAM, wenn die Speichervorrichtung (100) eingeschaltet wird; undDurchführen des Laufzeit-Reparaturvorgangs basierend auf den geladenen Informationen.

Description

  • Hintergrund
  • Die vorliegende Offenbarung betrifft Halbleiterspeicher und insbesondere Speichervorrichtungen und Verfahren zum Betreiben von Speichervorrichtungen.
  • Halbleiterspeicher können als flüchtige Speichereinrichtung, wie statische Direktzugriffsspeicher (SRAM) oder dynamische Direktzugriffsspeicher (DRAM), bei denen gespeicherte Daten verloren gehen, wenn eine Leistung unterbrochen wird, und als nichtflüchtige Speichereinrichtungen, wie ein Flashspeicher, ein Phasenänderungs-RAM (PRAM), ein magnetischer RAM (MRAM), ein resistiver RAM (RRAM) oder ein ferroelektrischer RAM (FRAM) klassifiziert werden, bei denen gespeicherte Daten behalten werden, selbst wenn die Leistung unterbrochen wird.
  • Die Nutzung von auf Flashspeichern basierenden Festkörperlaufwerken (SSD) als Speichermedien mit hoher Kapazität für Computervorrichtungen ist weit verbreitet. SSDs sind üblicherweise eingerichtet, Daten auf einem Flashspeicher zu speichern und eine dynamische Direktzugriffsspeicher(DRAM)-Vorrichtung als Pufferspeicher zu verwenden, um verschiedene Informationen zur Verwaltung des Flashspeichers zu speichern. In dem Fall, in dem während des Herstellungsprozesses der DRAM-Vorrichtung ein Fehler in einer DRAM-Vorrichtung erfasst wird, kann eine Fehlerzelle durch verschiedene Reparaturverfahren repariert werden. In dem Fall allerdings, in dem ein Fehler in einer DRAM-Vorrichtung auftritt, nachdem die DRAM-Vorrichtung vollständig hergestellt und in einer SSD-Vorrichtung eingebaut wurde (d. h., in dem Fall, in dem die SSD-Vorrichtung einem Endnutzer bereitgestellt und von diesem genutzt wird), funktioniert der normale Betrieb der SSD-Vorrichtung zusätzlich zu der DRAM-Vorrichtung nicht.
  • Aus der Veröffentlichung KIM, D. u.a.: ECC-ASPIRIN: An ECC-assisted post-package repair scheme for aging errors in DRAMs. 2016 IEEE 34th VLSI Test Symposium (VTS), Las Vegas, NV, 2016, S. 1 - 6 ist ein Verfahren zum Reparieren Alterungs-bedingter Schäden an Speicherzellen bekannt.
  • Kurzfassung
  • Ausführungsformen des erfinderischen Konzepts schaffen eine Speichervorrichtung mit verbesserter Zuverlässigkeit und verbesserter Lebensdauer und ein Betriebsverfahren für dieselbe.
  • Die vorliegende Erfindung ist definiert in den unabhängigen Ansprüchen. Spezifische Ausführungsformen sind definiert in den abhängigen Ansprüchen.
  • Figurenliste
  • Die obigen und andere Aufgaben und Merkmale der erfinderischen Konzepte werden angesichts der nachfolgenden detaillierten Beschreibung von beispielhaften Ausführungsformen in Zusammenhang mit den beigefügten Zeichnungen ersichtlich.
    • 1 stellt ein Blockdiagramm eines Computersystems gemäß einer Ausführungsform der erfinderischen Konzepte dar.
    • 2 stellt ein Blockdiagramm eines Speicher-Controllers aus 1 dar.
    • 3 stellt ein Flussdiagramm eines Betriebs eines Speicher-Controllers aus 2 dar.
    • 4 stellt ein Diagramm dar, das Vorgang S13 und Vorgang S14 aus 3 veranschaulicht.
    • 5 stellt ein Flussdiagramm von Vorgang S15 aus 3 dar.
    • 6A stellt ein Diagramm dar, das Vorgang S112 aus 5 veranschaulicht.
    • 6B stellt ein Diagramm dar, das Vorgang S113 aus 5 veranschaulicht.
    • 6C stellt ein Diagramm dar, das Vorgang S114 aus 5 veranschaulicht.
    • 7 stellt ein Blockdiagramm einer DRAM-Vorrichtung dar, die Vorgang S113 aus 5 durchführt.
    • 8 stellt ein Zeitablaufdiagramm von Eingabe-/Ausgabe-Signalen dar, die mit einem direkten Reparaturvorgang aus 6B assoziiert sind.
    • 9 stellt ein Flussdiagramm von Vorgang S15 aus 3 dar.
    • 10 stellt ein Flussdiagramm eines Betriebs eines Speicher-Controllers aus 2 dar.
    • 11 stellt ein Blockdiagramm eines Speicher-Controllers gemäß einer anderen Ausführungsform der erfinderischen Konzepte dar.
    • 12 stellt ein Flussdiagramm eines indirekten Reparaturvorgangs eines Speicher-Controllers aus 11 dar.
    • 13A stellt ein Diagramm dar, das einen Vorgang gemäß des Flussdiagramms aus 12 veranschaulicht.
    • 13B stellt ein anderes Diagramm dar, das einen Vorgang gemäß des Flussdiagramms aus 12 veranschaulicht.
    • 14 stellt ein Flussdiagramm eines Zugriffsvorgangs dar, der mit einer DRAM-Vorrichtung eines Speicher-Controllers aus 11 assoziiert ist.
    • 15 stellt ein Flussdiagramm eines Laufzeit-Reparaturvorgangs gemäß einer Ausführungsform der erfinderischen Konzepte dar.
    • 16 stellt ein Flussdiagramm eines Betriebs eines Speicher-Controllers gemäß einer Ausführungsform der erfinderischen Konzepte dar.
    • 17 stellt ein Blockdiagramm dar, das ein Nutzersystem darstellt, bei dem eine Speichervorrichtung gemäß einer Ausführungsform der erfinderischen Konzepte verwendet wird.
  • Detaillierte Beschreibung
  • Nachfolgend werden Ausführungsformen der erfinderischen Konzepte im Detail und deutlich in einem solchen Umfang beschrieben, dass ein Fachmann die erfinderischen Konzepte leicht implementieren kann.
  • Wie es auf dem Gebiet der erfinderischen Konzepte üblich ist, können Ausführungsformen in Form von Blöcken beschrieben und dargestellt sein, die eine beschriebene Funktion oder Funktionen ausführen. Diese Blöcke, die hier als Einheiten oder Module oder dergleichen bezeichnet werden, werden durch analoge und/oder digitale Schaltungen physisch implementiert, wie beispielsweise Logikgatter, integrierte Schaltungen, integrierte Schaltkerne, Mikroprozessoren, Mikrocontroller, Computer, Speicherschaltungen, passive elektronische Komponenten, aktive elektronische Komponenten, optische Komponenten, festverdrahtete elektrische Schaltkreise, festverdrahtete elektronische Schaltkreise, Drucksensoren, Mikrosysteme (MEMS) und dergleichen oder eine Kombination aus denselben, und können wahlweise durch Firmware und/oder Software betrieben werden. Zum Beispiel kann eine Software Maschinensprache, Firmware, ein eingebetteter Code oder eine Anwendungssoftware sein. Diese Schaltungen können zum Beispiel in einem oder in mehreren Halbleiter-Chips oder auf Substratträgern wie Leiterplatten und dergleichen ausgebildet sein. Die Schaltungen bilden einen Block, der durch dedizierte Hardware oder durch einen Prozessor (z. B. einen oder mehrere programmierte Mikroprozessoren und assoziierte Schaltungen) implementiert werden kann, oder durch eine Kombination aus dedizierter Hardware, um einige Funktionen des Block durchzuführen, und aus einem Prozessor, um andere Funktionen des Blocks durchzuführen. Jeder Block der Ausführungsformen kann physisch in zwei oder mehr zusammenwirkende und diskrete Blöcke unterteilt werden, ohne von dem Umfang der erfinderischen Konzepte abzuweichen. Ebenso können die Blöcke der Ausführungsformen physisch zu komplexeren Blöcken kombiniert werden, ohne von dem Umfang der erfinderischen Konzepte abzuweichen.
  • 1 stellt ein Blockdiagramm eines Computersystems gemäß einer Ausführungsform der erfinderischen Konzepte dar. In 1 umfasst das Computersystem 10 einen Host 11 und eine Speichervorrichtung 100. In einer beispielhaften Ausführungsform kann das Computersystem 10 zum Beispiel einen Computer umfassen, einen tragbaren Computer, einen Ultra-Mobile-Personal-Computer (UMPC), eine Workstation, einen Servercomputer, ein Netbook, einen Personal Digital Assistant (PDA), einen tragbaren Computer, ein Webtablet, ein schnurloses Telefon, ein Mobiltelefon, ein Smartphone, eine Digitalkamera, einen Digitalaudiorekorder, einen Digitalaudioplayer, ein digitales Bildaufzeichnungsgerät, einen Digitalvideorekorder, einen Digitalvideoplayer, eine Vorrichtung, die fähig ist, Informationen in einer drahtlosen Umgebung zu übermitteln oder zu empfangen, oder eine aus verschiedenen elektronischen Vorrichtungen, die ein Heimnetzwerk umfassen, oder dergleichen.
  • Der Host 11 kann eingerichtet sein, die Speichervorrichtung 100 zu steuern. Zum Beispiel kann der Host 11 eingerichtet sein, Daten auf (z. B. in) der Speichervorrichtung 100 zu speichern oder Daten, die in der Speichervorrichtung 100 gespeichert sind, auszulesen.
  • Die Speichervorrichtung 100 umfasst einen Speicher-Controller 110, eine flüchtige Speichereinrichtung 120 und eine nichtflüchtige Speichereinrichtung 130. In einer beispielhaften Ausführungsform kann die Speichervorrichtung 100 ein Speichermedium mit hoher Kapazität sein, wie beispielsweise eine Solid State Drive (SSD) oder eine Speicherkarte. Gesteuert durch den Host 11 kann der Speicher-Controller 110 Daten in die nichtflüchtige Speichereinrichtung 130 speichern oder Daten auslesen, die in der nichtflüchtigen Speichereinrichtung 130 gespeichert sind.
  • Die flüchtige Speichereinrichtung 120 kann als Arbeitsspeicher der Speichervorrichtung 100 verwendet werden. Zum Beispiel kann der Speicher-Controller 110 verschiedene Informationen (z. B. Metadateninformationen und eine Zuordnungs-Tabelle), die für einen Betrieb der Speichervorrichtung 100 erforderlich ist, in der flüchtigen Speichereinrichtung 120 speichern, und kann auf die nichtflüchtige Speichereinrichtung 130 basierend auf den in der flüchtigen Speichereinrichtung 120 gespeicherten Informationen zugreifen. Alternativ kann die flüchtige Speichereinrichtung 120 als Pufferspeicher der Speichervorrichtung 100 verwendet werden. Zum Beispiel können Schreibdaten, die von dem Host 11 empfangen wurden, oder Daten, die von der nichtflüchtigen Speichereinrichtung 130 ausgelesen wurden, vorrübergehend in der flüchtigen Speichereinrichtung 120 gespeichert werden.
  • Nachfolgend wird in der folgenden Beschreibung angenommen, dass die flüchtige Speichereinrichtung 120, die in der Speichervorrichtung 100 umfasst ist, eine dynamische Direktzugriffsspeicher(DRAM)-Vorrichtung ist. Allerdings sind die erfinderischen Konzepte nicht so beschränkt und die flüchtige Speichereinrichtung 120 kann zum Beispiel eine von verschiedenen Speichereinrichtungen sein, die einen Hochgeschwindigkeitsbetrieb unterstützen. Nachfolgend kann die flüchtige Speichereinrichtung 120 als DRAM-Vorrichtung 120 bezeichnet werden.
  • Der Speicher-Controller 110 umfasst eine DRAM-Steuereinheit 111. Die DRAM-Steuereinheit 111 kann eingerichtet sein, die DRAM-Vorrichtung 120 zu steuern. Zum Beispiel kann die DRAM-Steuereinheit 111 eingerichtet sein, gesteuert von dem Speicher-Controller 110 auf die DRAM-Vorrichtung 120 zuzugreifen.
  • In einer beispielhaften Ausführungsform kann die DRAM-Steuereinheit 111 einen Laufzeit-Reparaturvorgang auf der DRAM-Vorrichtung 120 durchführen. Der Laufzeit-Reparaturvorgang kann einen Reparaturvorgang bezeichnen, der an einer Fehlerzeile (d. h. einer fehlerhaften Zeile), die in der DRAM-Vorrichtung 120 auftritt, während die Speichervorrichtung 100 betrieben wird oder während einer Laufzeit durchgeführt wird. Das heißt, obwohl die Speichervorrichtung 100 betrieben wird (z. B. angetrieben wird oder während der Laufzeit, wie in dem Fall, in dem sie von einem Endnutzer nach der Herstellung verwendet wird), kann die DRAM-Steuereinheit 111 den Reparaturvorgang an der Fehlerzeile, die in der DRAM-Vorrichtung 120 auftritt, durchführen. Dementsprechend kann die DRAM-Vorrichtung 120 und/oder die Speichervorrichtung 100 normal betrieben werden, obwohl eine Fehlerzeile in der DRAM-Vorrichtung 120 auftritt.
  • In einer beispielhaften Ausführungsform kann die DRAM-Steuereinheit 111 angesammelte Fehlerinformationen über jede einer Mehrzahl an Zeilen der DRAM-Vorrichtung 120 verwalten und kann eine Fehlerzeile basierend auf der angesammelten Fehlerinformation erfassen. Die DRAM-Steuereinheit 111 kann den Laufzeit-Reparaturvorgang an der erfassten Fehlerzeile durchführen. In einer beispielhaften Ausführungsform kann der Laufzeit-Reparaturvorgang gemäß einer Ausführungsform der erfinderischen Konzepte basierend auf verschiedenen Verfahren durchgeführt werden. Verschiedene Verfahren, die mit dem Laufzeit-Reparaturvorgang gemäß Ausführungsformen der erfinderischen Konzepte assoziiert sind, werden nachfolgend ausführlicher unter Bezugnahme auf die nachfolgenden Zeichnungen beschrieben.
  • Wie oben beschrieben, kann gemäß Ausführungsformen der erfinderischen Konzepte die DRAM-Vorrichtung 120 oder die Speichervorrichtung 100 normal betrieben werden, während die Speichervorrichtung 100 betrieben wird, obwohl eine Fehlerzeile in der DRAM-Vorrichtung 120 auftritt, indem der Laufzeit-Reparaturvorgang an der Fehlerzeile durchgeführt wird. Dementsprechend kann die Zuverlässigkeit der DRAM-Vorrichtung 120 oder der Speichervorrichtung 100 verbessert werden und die Lebensdauer derselben kann verbessert werden.
  • 2 stellt ein Blockdiagramm eines Speicher-Controllers aus 1 dar. In 2 umfasst der Speicher-Controller 110 die DRAM-Steuereinheit 111, einen Prozessor 112, einen SRAM 113, eine Fehlerkorrekturcode(ECC)-Einheit 114 eines nichtflüchtigen Speichers, eine Host-Schnittstelle 115 und eine Flash-Schnittstelle 116.
  • Die DRAM-Steuereinheit 111 kann eingerichtet sein, gesteuert von dem Speicher-Controller 110 einen Zugriffsvorgang an der DRAM-Vorrichtung 120 durchzuführen. Zum Beispiel kann der Prozessor 112 auf die DRAM-Vorrichtung 120 mit dem Zweck zugreifen, den Gesamtbetrieb des Speicher-Controllers 110 zu steuern. Der Prozessor 112 kann eine DRAM-Adresse zum Zugreifen auf die DRAM-Vorrichtung 120 erzeugen. Die DRAM-Steuereinheit 111 kann einen Zugriffsvorgang auf einen Bereich durchführen, welcher der DRAM-Adresse entspricht, die von dem Prozessor 112 zur Verfügung gestellt wird.
  • In einer beispielhaften Ausführungsform kann die DRAM-Steuereinheit 111 mit der DRAM-Vorrichtung 120 basierend auf einer Hochgeschwindigkeitsschnittstelle wie beispielsweise einer Schnittstelle mit doppelter Datenrate (DDR), einer Niedrigenergie-DDR(LPDDR)-Schnittstelle, oder einer Graphik-DDR(GDDR)-Schnittstelle oder dergleichen kommunizieren.
  • Die DRAM-Steuereinheit 111 kann eine DRAM-ECC-Einheit 111a und einen Reparaturmanager 111b umfassen. Die DRAM-ECC-Einheit 111a kann eine Fehlererfassung und eine Korrektur an Daten durchführen, die aus der DRAM-Vorrichtung 120 ausgelesen wurden. In einer beispielhaften Ausführungsform kann dem Reparaturmanager 111b ein Ergebnis der Fehlererfassung bereitgestellt werden.
  • Der Reparaturmanager 111b kann angesammelte Fehlerinformationen über die DRAM-Vorrichtung 120 basierend auf dem Fehlererfassungsergebnis der DRAM-ECC-Einheit lila verwalten. Zum Beispiel kann der Reparaturmanager 111b angesammelte Fehlerinformationen über jede einer Mehrzahl an Zeilen in der DRAM-Vorrichtung 120 basierend auf dem Fehlererfassungsergebnis der DRAM-ECC-Einheit lila verwalten. Die angesammelten Fehlerinformationen können ein Wert sein, der bezogen wird, indem die Anzahl an Fehler-Bits, die in jeder Zeile der DRAM-Vorrichtung 120 auftreten, gesammelt wird.
  • Im Detail kann in dem Fall, in dem „k“ Fehler-Bits erfasst werden, während die DRAM-Steuereinheit 111 einen Zugriffsvorgang an einer ersten Zeile der DRAM-Vorrichtung 120 bis zu „n“ Mal durchführt (hier können die „k“ Fehler-Bits in einem bestimmten Zugriffsvorgang der „n“ Zugriffsvorgänge auftreten oder sie können in einer Mehrzahl an Zugriffsvorgängen der „n“ Zugriffsvorgänge auftreten), die gesammelte Fehlerinformation der ersten Zeile der DRAM-Steuereinheit 111 „k“ sein. Das heißt, die angesammelte Fehlerinformation kann ein Wert sein, der erhalten wird, indem die Anzahl an Fehler-Bits, die während einer Mehrzahl an Zugriffsvorgängen erfasst werden, die mit jeder der Mehrzahl an Zeilen assoziiert sind, angesammelt werden.
  • Der Reparaturmanager 111b kann basierend auf den angesammelten Fehlerinformationen eine Fehlerzeile in der DRAM-Vorrichtung 120 bestimmen. Zum Beispiel in dem Fall, in dem die angesammelten Fehlerinformationen einen Referenzwert überschreiten, kann der Reparaturmanager 111b bestimmen, dass eine entsprechende Zeile eine Fehlerzeile ist. Zum Beispiel in dem Fall, in dem die angesammelten Fehlerinformationen über die erste Zeile der DRAM-Vorrichtung 120 „k“ beträgt und „k“ größer ist als ein vorgegebener Referenzwert, kann der Reparaturmanager 111b bestimmen, dass die erste Zeile eine Fehlerzeile ist.
  • In einer beispielhaften Ausführungsform ist es möglich, dass die erste Zeile, die von dem Reparaturmanager 111b als Fehlerzeile bestimmt wird, nicht tatsächlich eine Fehlerzeile ist (d. h., eine tatsächlich fehlerhafte Zeile). Das heißt, während ein Zugriffsvorgang, der mit der ersten Zeile assoziiert ist, die von dem Reparaturmanager 111b als Fehlerzeile bestimmt wird, zu einem aktuellen Zeitpunkt normal durchgeführt werden kann (z. B. wird ein Fehler-Bit, der in der ersten Zeile umfasst ist, normal korrigiert), kann die erste Zeile aufgrund von zusätzlichen Zugriffsvorgängen im Laufe der Zeit eine tatsächliche Fehlerzeile werden. Die tatsächliche Fehlerzeile kann eine Zeile bezeichnen, in der gespeicherte Daten aufgrund eines Speicherzellenfehlers verloren gehen (z. B. Reduzierung einer Auffrischungsperformance einer Speicherzelle oder Reduzierung einer Datenhaltungseigenschaft (Retention) einer Speicherzelle). Ein Fehler in Daten, die aus der tatsächlichen Fehlerzeile ausgelesen wurden, kann nicht durch die DRAM-ECC-Einheit lila korrigiert werden.
  • Das heißt, eine „Fehlerzeile“, wie sie in dieser Offenbarung bezeichnet bzw. verwendet wird, insbesondere eine Fehlerzeile, wie sie von dem Reparaturmanager 111b bestimmt wird, kann eine Zeile bezeichnen, die mit hoher Wahrscheinlichkeit im Laufe der Zeit oder aufgrund eines zusätzlichen Zugriffsvorgangs zu einer tatsächlichen Fehlerzeile wird. Allerdings sind die erfinderischen Konzepte nicht darauf beschränkt und eine von dem Reparaturmanager 111b bestimmte Fehlerzeile kann eine tatsächliche Fehlerzeile bezeichnen.
  • In einer beispielhaften Ausführungsform kann der Referenzwert abhängig von einer physischen Eigenschaft oder einer Betriebsumgebung der DRAM-Vorrichtung 120 oder einer Performance der DRAM-ECC-Einheit 111a variieren. Zum Beispiel in dem Fall, in dem die physischen Eigenschaften oder die Betriebsumgebung der DRAM-Vorrichtung 120 gut sind (mit anderen Worten, in dem Fall, in dem die Prozess-, Spannungs- und Temperaturvariation (PVT-Variation) relativ gering ist, oder in dem Fall, in dem die Performance der DRAM-ECC-Einheit 111a relativ hoch ist), kann der Referenzwert auf einen ersten Wert eingestellt werden; in dem Fall, in dem die physischen Eigenschaften oder die Betriebsumgebung der DRAM-Vorrichtung 120 nicht gut ist (mit anderen Worten, in dem Fall, in dem die PVT-Variation relativ groß ist, oder in dem Fall, in dem die Performance der DRAM-ECC-Einheit 111a relativ niedrig ist) kann der Referenzwert auf einen zweiten Wert eingestellt werden, der niedriger ist als der erste Wert.
  • In dem Fall, in dem die Fehlerzeile erfasst wird, kann der Reparaturmanager 111b den Laufzeit-Reparaturvorgang an der DRAM-Vorrichtung 120 durchführen. In einer Ausführungsform kann der Reparaturmanager 111b den Laufzeit-Reparaturvorgang basierend auf verschiedenen Verfahren durchführen. Laufzeit-Reparaturvorgänge gemäß Ausführungsformen der erfinderischen Konzepte werden nachfolgend unter Bezugnahme auf die nachfolgenden Zeichnungen genauer beschrieben.
  • Der SRAM 113 kann als Pufferspeicher, Cache-Speicher oder Arbeitsspeicher des Speicher-Controllers 110 verwendet werden. In einer beispielhaften Ausführungsform können verschiedene Informations- oder Softwarekomponenten, die in dem SRAM 113 gespeichert sind, von dem Prozessor 112 verwaltet oder betrieben werden.
  • Die ECC-Einheit 114 des nichtflüchtigen Speichers kann einen Fehlererfassungs- und Korrekturvorgang an Daten, die aus der nichtflüchtigen Speichereinrichtung 130 ausgelesen werden, durchführen. Zum Beispiel kann die ECC-Einheit 114 des nichtflüchtigen Speichers einen Fehlerkorrekturcode für erste Daten, die von dem Host 11 empfangen werden, erzeugen. Der erzeugte Fehlerkorrekturcode kann zusammen mit den ersten Daten auf der nichtflüchtigen Speichereinrichtung 130 gespeichert werden. Danach kann die ECC-Einheit 114 des nichtflüchtigen Speichers die ersten Daten und den Fehlerkorrekturcode aus der nichtflüchtige Speichereinrichtung 130 auslesen und kann einen Fehler der ersten Daten basierend auf dem Fehlerkorrekturcode erfassen und korrigieren.
  • In einer beispielhaften Ausführungsform kann die ECC-Einheit 114 des nichtflüchtigen Speichers und die DRAM-ECC-Einheit 111a durch unterschiedliche Funktionsblöcke implementiert werden. Alternativ kann die ECC-Einheit 114 des nichtflüchtigen Speichers und die DRAM-ECC-Einheit 111a mit dem gleichen Funktionsblock implementiert werden.
  • Der Speicher-Controller 110 kann mit dem Host 11 über die Host-Schnittstelle 115 kommunizieren. In einer beispielhaften Ausführungsform kann die Host-Schnittstelle 115 mindestens eine von verschiedenen Schnittstellen umfassen, wie beispielsweise eine Universal-Serial-Bus(USB)-Schnittstelle, eine Multimedia-Card(MMC)-Schnittstelle, eine Peripheral-Component-Interconnect(PCI)-Schnittstelle, eine PCI-Express(PCI-e)-Schnittstelle, eine Advanced-Technology-Attachment(ATA)-Schnittstelle, eine Serial-ATA(SATA)-Schnittstelle, eine Parallel-ATA(PATA)-Schnittstelle, eine Small-Computer-System-Interface(SCSI)-Schnittstelle, eine Enhanced-Small-Disk-Interface (ESDI), eine Integrated-Drive-Electronics(IDE)-Schnittstelle, eine Mobile Industry Processor Interface (MIPI®), eine Nonvolatile-Memory-Express(NVM-e)-Schnittstelle und ein Universal Flash Storage (UFS) oder dergleichen.
  • Der Speicher-Controller 110 kann über die Flash-Schnittstelle 116 mit der nichtflüchtigen Speichereinrichtung 130 kommunizieren. In einer beispielhaften Ausführungsform kann die Flash-Schnittstelle 116 zum Beispiel eine NAND-Schnittstelle umfassen.
  • 3 stellt ein Flussdiagramm eines Betriebs eines Speicher-Controllers aus 2 dar. In 2 und 3 lädt der Speicher-Controller 110 in Vorgang S11 Reparaturinformationen. Die Reparaturinformationen können Informationen umfassen, die erforderlich sind, um einen Fehlerzeilen-Erfassungsvorgang oder einen Laufzeit-Reparaturvorgang durchzuführen. Zum Beispiel können die Reparaturinformationen angesammelte Fehlerinformationen über jede der Mehrzahl an Zeilen in der DRAM-Vorrichtung 120 umfassen. Die Reparaturinformationen können in einem bestimmten Bereich (z. B. einem Meta-Bereich) der nichtflüchtigen Speichereinrichtung 130 gespeichert sein. Der Speicher-Controller 110 kann die Reparaturinformationen laden, die in einem bestimmten Bereich der nichtflüchtigen Speichereinrichtung 130 gespeichert sind. In einer beispielhaften Ausführungsform können die Reparaturinformationen in dem SRAM 113 gespeichert werden und können von dem Prozessor 112 oder der DRAM-Steuereinheit 111 verwaltet werden.
  • In Vorgang S12 führt der Speicher-Controller 110 einen Zugriffsvorgang auf die DRAM-Vorrichtung 120 durch. Zum Beispiel kann der Speicher-Controller 110 verschiedene Informationen oder Daten auf der DRAM-Vorrichtung 120 schreiben. Alternativ kann der Speicher-Controller 110 Informationen oder Daten, die auf der DRAM-Vorrichtung 120 gespeichert sind, auslesen und kann einen Fehlererfassungs- und Korrekturvorgang an den ausgelesenen Daten durchführen.
  • In Vorgang S13 sammelt der Speicher-Controller 110 die angesammelten Fehlerinformationen basierend auf dem Zugriffsvorgang. Zum Beispiel kann der Speicher-Controller 110 die angesammelten Fehlerinformationen über jede der Mehrzahl an Zeilen in der DRAM-Vorrichtung 120 basierend auf einem Ergebnis des oben beschriebenen Fehlererfassungsvorgangs verwalten. Wie oben beschrieben können die angesammelten Fehlerinformationen die Anzahl an Fehler-Bits bezeichnen, die bezüglich jeder Zeile in der DRAM-Vorrichtung 120 angesammelt wurden.
  • In Vorgang S14 bestimmt der Speicher-Controller 110 eine Fehlerzeile in der DRAM-Vorrichtung 120 basierend auf den angesammelten Fehlerinformationen. Zum Beispiel kann der Speicher-Controller 110 bestimmen, dass eine Zeile, die angesammelte Fehlerinformationen aufweist, die den Referenzwert übersteigen, aus der Mehrzahl an Zeilen der DRAM-Vorrichtung 120 eine Fehlerzeile ist.
  • In Vorgang S15 führt der Speicher-Controller 110 den Laufzeit-Reparaturvorgang an der bestimmten Fehlerzeile durch. Zum Beispiel kann der Speicher-Controller 110 einen direkten Reparaturvorgang an der Fehlerzeile durchführen. Der direkte Reparaturvorgang bezeichnet einen Vorgang, bei dem eine Fehlerzeile durch eine elektrische Sicherungseinstellung in der DRAM-Vorrichtung 120 direkt wiederhergestellt oder repariert wird.
  • Alternativ kann der Speicher-Controller 110 einen indirekten Reparaturvorgang an der Fehlerzeile durchführen. Der indirekte Reparaturvorgang bezeichnet einen Vorgang, bei dem eine Fehlerzeile in einer Speicher-Controller-Schicht indirekt wiederhergestellt oder repariert wird, indem die Fehlerzeile einer reservierten Zeile eines reservierten Bereichs in der DRAM-Steuereinheit 111 neu zugeordnet wird. Alternativ kann der Speicher-Controller 110 den direkten Reparaturvorgang unter einer bestimmten Bedingung durchführen, nachdem der indirekte Reparaturvorgang an der Fehlerzeile durchgeführt wurde. Der direkte Reparaturvorgang und der indirekte Reparaturvorgang gemäß Ausführungsformen der erfinderischen Konzepte werden nachfolgend unter Bezugnahme auf die nachfolgenden Zeichnungen genauer beschrieben.
  • Wie oben beschrieben kann die Speichervorrichtung 100 in dem Fall, in dem eine Fehlerzeile in der DRAM-Vorrichtung 120 erfasst wird, während die Speichervorrichtung 100, welche die DRAM-Vorrichtung 120 umfasst, betrieben wird, den Laufzeit-Reparaturvorgang an der Fehlerzeile durchführen. Da daher eine Fehlerzeile, die in einer DRAM-Vorrichtung 120 erfasst wird, während die Speichervorrichtung 100 betrieben wird, im Voraus wiederhergestellt wird, werden die Zuverlässigkeit und Lebensdauer der DRAM-Vorrichtung 120 oder der Speichervorrichtung 100, die die DRAM-Vorrichtung 120 umfasst, verbessert.
  • 4 stellt ein Diagramm dar, das Vorgang S13 und Vorgang S14 aus 3 veranschaulicht. Vorgang S13 und Vorgang S14 aus 3 bilden einen Vorgang, bei dem die angesammelten Fehlerinformationen gesammelt werden. Zum Zwecke einer kurzen Darstellung und einer einfacheren Beschreibung wurde auf Komponenten, die für die Beschreibung von Vorgang S13 und Vorgang S14 aus 3 unnötig sind, verzichtet. Es wird auch angenommen, dass die DRAM-Vorrichtung 120 die ersten bis vierten Zeilen ROW1 bis ROW4 umfasst. Allerdings sind die erfinderischen Konzepte nicht darauf beschränkt und die DRAM-Vorrichtung 120 kann eine beliebige, größere Anzahl an Zeilen als 4 umfassen.
  • In 2 bis 4 kann die DRAM-Steuereinheit 111 einen Zugriffsvorgang an der ersten Zeile ROW1 der DRAM-Vorrichtung 120 durchführen. Zum Beispiel kann die DRAM-Steuereinheit 111 die ersten Daten DATA1 aus der ersten Zeile ROW1 der DRAM-Vorrichtung 120 auslesen. Die DRAM-ECC-Einheit 111a kann einen Fehlererfassungs- und Korrekturvorgang an den ersten Daten DATA1 durchführen und die auf Fehler korrigierten ersten Daten DATA1' können dem ersten Host 11 oder der nichtflüchtigen Speichereinrichtung 130 zur Verfügung gestellt werden.
  • Fehlererfassungsinformation „E“ über den von der DRAM-ECC-Einheit lila erfassten Fehler kann dem Reparaturmanager 111b zur Verfügung gestellt werden. In einer Ausführungsform kann die Fehlererfassungsinformation „E“ die Anzahl an erfassten Fehler-Bits angeben.
  • Der Reparaturmanager 111b kann angesammelte Fehlerinformation AEI basierend auf der Fehlererfassungsinformation „E“ aktualisieren. Zum Beispiel kann der Reparaturmanager 111b die angesammelte Fehlerinformation AEI verwalten. Die angesammelte Fehlerinformation AEI kann Informationen über die Anzahl der Fehler-Bits umfassen, die angesammelt wurden (d. h. die angesammelte Zahl an Fehler-Bits) bezüglich jeder der Zeilen ROW1 bis ROW4 der DRAM-Vorrichtung 120. Zum Beispiel kann die bezüglich der ersten Zeile ROW1 angesammelte Anzahl an Fehler-Bits „a“ sein, die bezüglich der zweiten Zeile ROW2 angesammelte Anzahl an Fehler-Bits kann „b“ sein, die bezüglich der dritten Zeile ROW3 angesammelte Anzahl an Fehler-Bits kann „c“ sein, und die bezüglich der vierten Zeile ROW4 angesammelte Anzahl an Fehler-Bits kann „d“ sein.
  • Der Reparaturmanager 111b kann einen Wert einer relevanten Zeile basierend auf der Fehlererfassungsinformation „E“, die er von der DRAM-ECC-Einheit 111a erhalten hat, aktualisieren. Zum Beispiel in dem Fall, in dem die erhaltene Fehlererfassungsinformation „E“ Informationen über die Anzahl an Fehler-Bits angibt, die mit den ersten Daten DATA1 aus der ersten Zeile ROW1 assoziiert sind, kann der Reparaturmanager 111b einen Wert, der von der angesammelten Fehlerinformation AEI der ersten Zeile ROW1 entspricht, von „a“ auf „a+E“ aktualisieren. Das heißt, der Reparaturmanager 111b kann die Information „E“ über den erfassten Fehler in einem Wert sammeln, der von der angesammelten Fehlerinformation AEI der ersten Zeile ROW1 entspricht. Die DRAM-Steuereinheit 111 kann die angesammelte Fehlerinformation AEI über jede Zeile der DRAM-Vorrichtung 120 verwalten, indem sie den oben beschriebenen Vorgang mehrmals durchführt.
  • In einer Ausführungsform kann der Reparaturmanager 111b in dem Fall, in dem ein Wert (d. h. a+E), der bezüglich der ersten Zeile ROW1 aktualisiert wurde, größer ist als ein Referenzwert REF, bestimmen, dass die erste Ziele ROW1 eine Fehlerzeile ist.
  • 5 stellt ein Flussdiagramm von Vorgang S15 aus 3 dar. Es wird nun der direkte Reparaturvorgang (oder ein harter Reparaturvorgang (Hard Repair)) der Laufzeit-Reparaturvorgänge gemäß der erfinderischen Konzepte unter Bezugnahme auf 5 als Ausführungsform beschrieben. In einer beispielhaften Ausführungsform kann ein Vorgang gemäß dem Flussdiagramm aus 5 durchgeführt werden, nachdem eine Fehlerzeile durch Vorgang S14 aus 3 erfasst wurde.
  • In 2, 3 und 5 bestimmt der Speicher-Controller 110 in Vorgang S110, ob die Speichervorrichtung 100 inaktiv ist. Zum Beispiel kann ein inaktiver Zustand der Speichervorrichtung 100 einen Zustand bezeichnen, in dem ein Befehl oder eine Anfrage von dem Host 11 nicht empfangen wird. In einer beispielhaften Ausführungsform kehrt der Vorgang in dem Fall, in dem die Speichervorrichtung 100 nicht inaktiv ist (Nein in S110) zu Vorgang S110 zurück, während die Speichervorrichtung 100 ansprechend auf die Anfrage des Hosts 11 einen normalen Vorgang durchführen kann.
  • In dem Fall, in dem die Speichervorrichtung 100 inaktiv ist (Ja in S110), blockiert der Speicher-Controller 110 in Vorgang S111 einen Zugriff auf die DRAM-Vorrichtung 120. Zum Beispiel kann die DRAM-Vorrichtung 120 eine Mehrzahl an Bänken umfassen. Der Speicher-Controller 110 kann einen Zugriff auf alle Bänke der DRAM-Vorrichtung 120 blockieren oder anhalten.
  • In Vorgang S112 verschiebt der Speicher-Controller 110 Daten, die in der DRAM-Vorrichtung 120 gespeichert sind, zu der nichtflüchtigen Speichereinrichtung 130. Zum Beispiel kann ein Aktualisierungsvorgang der DRAM-Vorrichtung 120 nicht durchgeführt werden, während der Speicher-Controller 110 den direkten Reparaturvorgang an der DRAM-Vorrichtung 120 durchführt. Aus diesem Grund können Daten, die auf der DRAM-Vorrichtung 120 gespeichert sind, verloren gehen. Um zu verhindern, dass Daten, die in der DRAM-Vorrichtung 120 gespeichert sind, verloren gehen, kann der Speicher-Controller 110 Daten, die in der DRAM-Vorrichtung 120 gespeichert sind, auf die nichtflüchtige Speichereinrichtung 130 verschieben.
  • In einer beispielhaften Ausführungsform kann der Speicher-Controller 110 Daten, die in allen Bänken der DRAM-Vorrichtung 120 gespeichert sind, zu der nichtflüchtigen Speichereinrichtung 130 verschieben. Alternativ kann der Speicher-Controller 110 Daten, die in einigen Bänken der Bänke der DRAM-Vorrichtung 120 gespeichert sind, zu der nichtflüchtigen Speichereinrichtung 130 verschieben. In einer beispielhaften Ausführungsform können einige Bänke mindestens zwei oder mehr Bänke umfassen, die eine Fehlerzeile umfassen. Das heißt, der Speicher-Controller 110 kann einige der Daten (d. h., partielle Daten) von den Daten, die in der DRAM-Vorrichtung 120 gespeichert sind, verschieben, oder kann die gesamten Daten (d. h. vollständige Daten) in der DRAM-Vorrichtung 120 verschieben.
  • In Vorgang S113 führt der Speicher-Controller 110 den direkten Reparaturvorgang durch. Zum Beispiel kann der Speicher-Controller 110 einen Vorgang durchführen, um eine Fehlerzeile durch elektrische Sicherungseinstellung in der DRAM-Vorrichtung 120 wiederherzustellen. In einer beispielhaften Ausführungsform kann der direkte Reparaturvorgang basierend auf einem Post-Package-Repair(PPR)-Vorgang durchgeführt werden.
  • In Vorgang S114 stellt der Speicher-Controller 110 die Daten, die zu der nichtflüchtigen Speichereinrichtung 130 verschoben wurden, in der DRAM-Vorrichtung 120 wieder her. Danach kann die Speichervorrichtung 100 normal betrieben werden.
  • 6A, 6B und 6C stellen Diagramme dar, die jeweils Vorgang S112, Vorgang S113 und Vorgang S114 aus 5 veranschaulichen. Zum Zwecke einer kurzen Darstellung und einfacheren Beschreibung wird auf Komponenten, die für die Beschreibung von Vorgang S112 bis Vorgang S114 aus 5 unnötig sind, verzichtet. Zum Zwecke der Beschreibung wird angenommen, dass die DRAM-Vorrichtung 120 die ersten bis vierten Bänke BANK1 bis BANK4 umfasst und dass eine Fehlerzeile in der ersten Bank BANK1 umfasst ist. Allerdings sind die erfinderischen Konzepte nicht darauf beschränkt und die DRAM-Vorrichtung 120 kann eine beliebige Anzahl an Bänken umfassen.
  • In 2, 5 und 6A bis 6C kann der Speicher-Controller 110 in Vorgang S112 Daten DATA1, die in der ersten Bank BANK1 gespeichert sind, in der eine Fehlerzeile umfasst ist, von den Bänken BANK1 bis BANK4 der DRAM-Vorrichtung 120, und auch Daten DATA2, die in der zweiten Bank BANK2 benachbart zu der ersten Bank BANK1 gespeichert sind, zu der nichtflüchtigen Speichereinrichtung 130 übertragen. Zum Beispiel kann die DRAM-Steuereinheit 111 die ersten und zweiten Daten DATA1 und DATA2 aus der ersten und zweiten Bank BANK1 und BANK2 auslesen. In einer beispielhaften Ausführungsform kann die DRAM-ECC-Einheit 111a einen Fehler der ersten und zweiten Daten DATA1 und DATA2, die aus der ersten und der zweiten Bank BANK1 und BANK2 ausgelesen werden, korrigieren. Danach können die ersten und zweiten Daten DATA1 und DATA2 (oder auf Fehler korrigierte erste und zweite Daten) der nichtflüchtigen Speichereinrichtung 130 über die Flash-Schnittstelle 116 bereitgestellt werden. Die nichtflüchtige Speichereinrichtung 130 kann erste und zweite Daten DATA1 und DATA2 speichern.
  • Als nächstes kann, wie in 6B beschrieben, in Vorgang S113 die DRAM-Steuereinheit 111 den direkten Reparaturvorgang in der ersten Bank BANK1 durchführen, in der die Fehlerzeile umfasst ist. Zum Beispiel kann die DRAM-Vorrichtung 120 die Fehlerzeile durch einen Vorgang wie beispielsweise eine Sicherungseinstellung ansprechend auf verschiedene Signale von der DRAM-Steuereinheit 111 reparieren.
  • Danach kann der Speicher-Controller 110 in Vorgang S114, wie in 6C dargestellt, die ersten und zweiten Daten DATA1 und DATA2, die in der nichtflüchtigen Speichereinrichtung 130 gespeichert sind, in der ersten und zweiten Bank BANK1 und BANK2 speichern. Zum Beispiel kann die DRAM-Steuereinheit 111 die ersten und zweiten Daten DATA1 und DATA2 von der nichtflüchtigen Speichereinrichtung 130 durch die Flash-Schnittstelle 116 empfangen und kann die ersten und zweiten Daten DATA1 und DATA2 jeweils in der ersten und zweiten BANK1 und BANK2 speichern.
  • 7 stellt ein Blockdiagramm einer DRAM-Vorrichtung dar, die Vorgang S113 (d. h. einen direkten Reparaturvorgang) aus 5 durchführt. Zum Zwecke einer kurzen Darstellung und einfacheren Beschreibung wurde auf Komponenten, die für die Beschreibung von Vorgang S113 aus 5 unnötig sind, verzichtet.
  • In 2 und 7 umfasst die DRAM-Vorrichtung 120 eine Speicherzellenanordnung 121, einen Zeilen-Decoder 122, einen Spalten-Decoder 123, eine Steuerlogikschaltung 124 und eine Sicherungsschaltung 125.
  • Die Speicherzellenanordnung 121 kann eine Mehrzahl an DRAM-Zellen umfassen. Die Mehrzahl an DRAM-Zellen kann mit Wortleitungen und Bit-Leitungen verbunden sein. Ein Teil der Mehrzahl an DRAM-Zellen können normale Zellen sein und die verbleibenden DRAM-Zellen können Redundanz-Zellen 121a sein. Die Redundanz-Zellen 121a können DRAM-Zellen zum Ersetzen von Fehlerzellen von den normalen Zellen sein. Die normalen Zellen können als Nutzerzellen charakterisiert sein, auf die der Host (d. h. ein Nutzer) zugreifen kann.
  • Der Zeilen-Decoder 122 kann mit der Speicherzellenanordnung 121 durch Wortleitungen NWL und RWL verbunden sein. Der Zeilen-Decoder 122 kann eine der Wortleitungen NWL und RWL basierend auf einer Adresse ADDR auswählen und kann eine Spannung der gewählten Wortleitung steuern.
  • Der Spalten-Decoder 123 kann durch Bit-Leitungen BL mit der Speicherzellenanordnung 131 verbunden sein. Der Spalten-Decoder 123 kann einen Teil der Bit-Leitungen BL basierend auf der Adresse ADDR auswählen und kann Spannungen der ausgewählten Bit-Leitungen steuern oder fühlen. In einer beispielhaften Ausführungsform kann der Spalten-Decoder 123 Daten DATA mit der DRAM-Steuereinheit 111 austauschen.
  • Die Steuerlogikschaltung 124 kann einen Vorgang der DRAM-Vorrichtung 120 steuern. Die Sicherungsschaltung 125 kann eine Sicherungseinstellung gesteuert von der Steuerlogikschaltung 124 durchführen. Das heißt, die Steuerlogikschaltung 124 kann eingerichtet sein, eine Sicherungseinstellung der Sicherungsschaltung 125 durch den Laufzeit-Reparaturvorgang (z. B. den direkten Reparaturvorgang) des Speicher-Controllers 110 zu machen (z. B. durchzuführen). Eine Fehlerzelle bzw. mehrere Fehlerzellen von den normalen Zellen der Speicherzellenanordnung 121 kann bzw. können mit einer relevanten Zelle bzw. relevanten Zellen der Redundanz-Zellen 121a durch die Sicherungseinstellung der Sicherungsschaltung 125 ersetzt werden. Zum Beispiel kann die Sicherungsschaltung 125 die Adresse ADDR von der DRAM-Steuereinheit 111 empfangen. Die Adresse ADDR kann eine Adresse sein (d. h. eine Fehleradresse), die mit einer normalen Wortleitung NWL assoziiert ist, die einer Fehlerzeile entspricht. In diesem Fall kann die Sicherungsschaltung 125 eine Reparatur-Adresse ausgeben, um zu gestatten, dass der Zeilen-Decoder 122 eine Redundanz-Wortleitung RWL anstelle der normalen Wortleitung NWL auswählt.
  • Das heißt, die Sicherungseinstellung kann auch an der Sicherungsschaltung 125 durchgeführt werden, um eine Fehler-Adresse, die einer Fehlerzeile entspricht, in eine Reparatur-Adresse umzuwandeln und diese ausgeben. Der Zeilen-Decoder 122 kann Redundanz-Wortleitungen RWL basierend auf der Reparatur-Adresse von der Sicherungsschaltung 125 auswählen. In einer beispielhaften Ausführungsform kann die Sicherungsschaltung 125 eine empfangene Adresse ADDR, die nicht einer Fehlerzeile entspricht, an den Zeilen-Decoder 122 ohne getrennte bzw. zusätzliche Umwandlung bzw. Konvertierung übertragen.
  • Wie oben beschrieben kann die DRAM-Vorrichtung 120 einen Wiederherstellungsvorgang an einer Fehlerzeile durchführen, indem sie eine Sicherungseinstellung der Sicherungsschaltung 135 durchführt.
  • 8 stellt ein Zeitablaufdiagramm von Eingabe-/Ausgabe-Signalen dar, die mit einem direkten Reparaturvorgang aus 6B assoziiert sind. In einer beispielhaften Ausführungsform kann die DRAM-Vorrichtung 120 den direkten Reparaturvorgang basierend auf einem Hard Post Package Repair hPPR durchführen. In einer beispielhaften Ausführungsform kann eine elektrische Sicherungseinstellung der Sicherungsschaltung 125, die unter Bezugnahme auf 7 beschrieben wurde, ansprechend auf Signale des Zeitablaufdiagramms aus 8 durchgeführt werden.
  • In 2 und 8 kann von einem ersten Zeitpunkt t1 bis zu einem zweiten Zeitpunkt t2 (d. h., hPPR-Eintritt), die DRAM-Vorrichtung 120 ansprechend auf Modus-Register-Set-Befehle MRS4 und MRS0 und Adresssignale BG, BA und ADDR von dem Speicher-Controller 110 in einen Hard Post Package Repair Mode hPPR eintreten. In einer beispielhaften Ausführungsform kann an dem ersten Zeitpunkt t1 ein Wert einer dreizehnten Adresse A13 auf „1“ eingestellt werden, was eine Aktivierung eines Hard Post-Package-Repair-Vorgangs angibt. In einer beispielhaften Ausführungsform können Daten, die in einer Bank gespeichert sind, in der eine Fehlerzeile umfasst ist, oder Daten, die in einer Bank benachbart zu der Bank, in der die Fehlerzeile umfasst ist, gespeichert sind, vor dem Eintritt in den Hard Post Package Repair Mode hPPR zu der nichtflüchtigen Speichereinrichtung 130 verschoben werden. Auch können vor Eintritt in den Hard Post Package Repair Mode hPPR alle Bänke der DRAM-Vorrichtung 120 vorgeladen werden.
  • Danach kann die DRAM-Vorrichtung 120 von dem zweiten Zeitpunkt t2 bis zu einem dritten Zeitpunkt t3 (d. h., hPPR-Reparatur) ansprechend auf einen Aktivierungs-Befehl ACT, einen Auto-Vorlade-Schreib-Befehl WRA und Adresssignale BGf und BAf einen hPPR Reparaturvorgang durchführen. In einer beispielhaften Ausführungsform können die Adresssignale BGf, BAf und ADDR Adresssignale sein, die einer Fehlerzeile entsprechen. Der hPPR-Reparaturvorgang kann durch elektrische Sicherungseinstellung der Sicherungsschaltung 135 wie unter Bezugnahme auf 7 beschrieben, durchgeführt werden.
  • Danach kann die DRAM-Vorrichtung 120 von dem dritten Zeitpunkt t3 bis zu einem vierten Zeitpunkt t4 (d. h. hPPR-Erkennung) ansprechend auf einen Vorlade-Befehl PRE eine hPPR-Erkennung durchführen. Von dem vierten Zeitpunkt t4 bis zu einem fünften Zeitpunkt t5 (d. h. hPPR-Exit) kann die DRAM-Vorrichtung 120 den hPPR-Modus ansprechend auf einen Modus-Register-Set-Befehl MRS4 und ein Adresssignal (insbesondere A13=0) verlassen. Danach kann die DRAM-Vorrichtung 120 die verschobenen Daten gesteuert durch die DRAM-Steuereinheit 111 wiederherstellen.
  • In einer beispielhaften Ausführungsform ist das Zeitablaufdiagramm aus 8 mit einer beispielhaften Ausführungsform des direkten Reparaturvorgangs assoziiert und die erfinderischen Konzepte sind nicht darauf beschränkt. Zum Beispiel kann der oben beschriebene hPPR-Vorgang durchgeführt werden, indem ein normaler Schreibbefehl WR anstelle des Auto-Vorlade-Schreib-Befehls WRA verwendet wird. In diesem Fall können Daten, die in allen Bänken der DRAM-Vorrichtung 120 gespeichert sind, vor Eintritt in den hPPR-Modus gesichert (d. h. verschoben) werden. Alternativ kann der direkte Reparaturvorgang basierend auf einer Soft Post Package Repair sPPR durchgeführt werden.
  • 9 stellt ein Flussdiagramm von Vorgang S15 aus 3 dar. In 2, 3 und 9 führt der Speicher-Controller 110 einen Vorgang S120 und Vorgang S121 durch. Vorgang S120 und Vorgang S121 können mit Vorgang S110 und Vorgang S111 aus 5 identisch sein und daher wird eine detaillierte Beschreibung derselben hier nicht wiederholt.
  • In Vorgang S122 bestimmt der Speicher-Controller 110, ob ein Backup- bzw. Sicherungsvorgang für Daten, die in der DRAM-Vorrichtung 120 gespeichert sind, erforderlich ist. Zum Beispiel kann in dem Fall, in dem wichtige Daten (z. B. Kennfeld-Informationen und Meta-Informationen) in Bänken gespeichert sind, in denen eine Fehlerzeile umfasst ist, aus einer Mehrzahl an Bänken der DRAM-Vorrichtung 120, der Speicher-Controller 110 bestimmen, dass der Sicherungsvorgang erforderlich ist (Ja in S122). In diesem Fall führt die Speichervorrichtung 100 einen Vorgang S123 bis Vorgang S125 durch. Vorgang S123 bis Vorgang S125 können mit Vorgang S112 bis Vorgang S114 aus 5 identisch sein und daher wird eine detaillierte Beschreibung derselben hier nicht wiederholt.
  • In dem Fall, in dem wichtige Daten nicht in Bänken von einer Mehrzahl an Bänken gespeichert sind, in denen eine Fehlerzeile umfasst ist (z. B. nur einfach gepufferte Nutzerdaten in den Bänken gespeichert sind, in denen die Fehlerzeile umfasst ist), kann der Speicher-Controller 110 bestimmen, dass der Sicherungsvorgang nicht erforderlich ist (Nein in S122). In diesem Fall führt der Speicher-Controller 110 in Vorgang S126 den direkten Reparaturvorgang ohne getrennten Sicherungsvorgang durch. Zum Beispiel in dem Fall, in dem nur einfache Nutzerdaten, die bereits in der nichtflüchtigen Speichereinrichtung 130 gespeichert wurden, in den Bänken gespeichert sind, an denen der direkte Reparaturvorgang durchgeführt wird, können, obwohl Daten der DRAM-Vorrichtung 120 während des direkten Reparaturvorgangs verloren gehen, die verlorenen Daten (d. h. einfache Nutzerdaten) von der nichtflüchtigen Speichereinrichtung 130 wiederhergestellt werden. Das heißt, obwohl der Speicher-Controller 110 den direkten Reparaturvorgang ohne getrennten Backupvorgang durchführt, kann die Speichervorrichtung 100 normal betrieben werden. Nachdem der direkte Reparaturvorgang abgeschlossen ist, wird der Speicher-Controller 110 oder die Speichervorrichtung 100 in Vorgang S127 zurückgesetzt.
  • Wie oben beschrieben kann in dem Fall, in dem keine wichtige Daten in Bänken gespeichert sind, an denen der direkte Reparaturvorgang durchgeführt werden wird, der direkte Reparaturvorgang ohne getrennten bzw. zusätzlichen Backup-Vorgang durchgeführt werden.
  • 10 stellt ein Flussdiagramm eines Betriebs eines Speicher-Controllers aus 2 dar. Ein Verfahren, bei dem der Speicher-Controller 110 eine Anfrage des Hosts 11 verarbeitet, während er den direkten Reparaturvorgang durchführt, wird nun unter Bezugnahme auf 10 beschrieben.
  • In 2 und 10 erhält der Speicher-Controller 110 in Vorgang S130 eine Anfrage von dem Host 11. Zum Beispiel kann der Host 11 eine Anfrage an die Speichervorrichtung 100 übermitteln, mit dem Zweck, verschiedene Vorgänge durchzuführen (z. B. einen Lesevorgang, einen Schreibvorgang und einen Löschvorgang).
  • In Vorgang S131 bestimmt der Speicher-Controller 110, ob der direkte Reparaturvorgang durchgeführt wird. Zum Beispiel kann der Speicher-Controller 110 eine Anfrage von dem Host 11 erhalten, während er den direkten Reparaturvorgang durchführt, der unter Bezugnahme auf 1 bis 9 beschrieben wurde.
  • In dem Fall, in dem der direkte Reparaturvorgang durchgeführt wird (Ja in S131), bestimmt der Speicher-Controller 110 in Vorgang S132, ob die erhaltene Anfrage mit einem Vorgang assoziiert ist, der nicht die DRAM-Vorrichtung 120 erfordert.
  • In dem Fall, in dem die erhaltene Anfrage einen Vorgang der DRAM-Vorrichtung 120 begleitet (Nein in S132), liefert der Speicher-Controller 110 in Vorgang S133 ein Unterbrechungssignal an den Host 11. Zum Beispiel kann in dem Fall, in dem wie oben beschrieben der direkte Reparaturvorgang durchgeführt wird, jeglicher Zugriff auf die DRAM-Vorrichtung 120 blockiert oder angehalten werden. Das heißt, in dem Fall, in dem die Anfrage von dem Host 11 einen Vorgang begleitet (z. B. einen Lesevorgang oder einen Schreibvorgang), bei dem die DRAM-Vorrichtung 120 verwendet wird, versäumt es der Speicher-Controller 110 möglicherweise, die Anfrage von dem Host 11 sofort oder innerhalb einer gegebenen Zeit zu verarbeiten. In diesem Fall liefert der Speicher-Controller 110 ein Unterbrechungssignal an den Host 11 und der Host 11 erkennt, dass der Speicher-Controller 110 den Laufzeit-Reparaturvorgang (oder den direkten Reparaturvorgang) ansprechend auf das Unterbrechungssignal durchführt.
  • In dem Fall, in dem der Speicher-Controller 110 bestimmt, dass ein direkter Reparaturvorgang derzeit nicht durchgeführt wird (Nein in S131), führt der Speicher-Controller 110 in Vorgang S134 einen Vorgang durch, der der empfangenen Anfrage entspricht. Alternativ führt der Speicher-Controller 110 den Vorgang S134 in dem Fall durch, in dem die erhaltene Anfrage mit einem Vorgang assoziiert ist (z. B. einem physischen Löschvorgang der nichtflüchtigen Speichereinrichtung 130), der ohne die DRAM-Vorrichtung 120 möglich ist, obwohl der direkte Reparaturvorgang durchgeführt wird. Auch in dem Fall in dem die erhaltene Anfrage keinen Vorgang der DRAM-Vorrichtung 120 umfasst (Ja in S132), führt der Speicher-Controller 110 in Vorgang S134 einen Vorgang durch, der der erhaltenen Anfrage entspricht.
  • 11 stellt ein Blockdiagramm eines Speicher-Controllers gemäß einer anderen Ausführungsform der erfinderischen Konzepte dar. In 11 umfasst der Speicher-Controller 210 die DRAM-Steuereinheit 211, einen Prozessor 212, einen SRAM 213, eine NVM-ECC-Einheit 214, eine Host-Schnittstelle 215 und eine Flash-Schnittstelle 216. Der Prozessor 212, der SRAM 213, die NVM-ECC-Einheit 214, die Host-Schnittstelle 215 und die Flash-Schnittstelle 216 sind jeweils ähnlich eingerichtet und arbeiten ähnlich wie der Prozessor 112, der SRAM 113, die NVM-ECC-Einheit 114, die Host-Schnittstelle 115 und die Flash-Schnittstelle 116 wie zuvor unter Bezugnahme auf 2 beschrieben und daher wird auf eine zusätzliche Beschreibung verzichtet, um Redundanz zu vermeiden. Die DRAM-Steuereinheit 211 in dieser Ausführungsform ist mit einer DRAM-Vorrichtung wie beispielsweise einer DRAM-Vorrichtung 120, die in 1 gezeigt ist, verbunden und wird nachfolgend unter Bezugnahme auf die DRAM-Vorrichtung 120 beschrieben. Ebenso ist die Flash-Schnittstelle 216 in dieser Ausführungsform mit einer nichtflüchtigen Speichereinrichtung wie beispielsweise einer nichtflüchtigen Speichereinrichtung 130 in 1 verbunden und wird nachfolgend unter Bezugnahme auf die nichtflüchtige Speichereinrichtung 130 beschrieben.
  • Die DRAM-Steuereinheit 211 umfasst eine DRAM-ECC-Einheit 211a, einen Reparaturmanager 211b und einen DRAM-Zugriffsmanager 211c. Die DRAM-ECC-Einheit 211a und der Reparaturmanager 211b sind jeweils ähnlich eingerichtet und arbeiten ähnlich wie die DRAM-ECC-Einheit 111a und der Reparaturmanager 111b, die oben unter Bezugnahme auf 2 beschrieben wurden, und daher wird eine detaillierte Beschreibung derselben hier nicht wiederholt.
  • Der DRAM-Zugriffsmanager 211c kann eine Adresse für einen Zugriff auf eine DRAM-Vorrichtung 120 verwalten (siehe z. B. 1). Der DRAM-Zugriffsmanager 211c kann mit einer Cache-Schichtstruktur implementiert werden. Zum Beispiel in dem Fall, in dem der Prozessor 212 eine erste Adresse erzeugt, mit dem Zweck, auf die DRAM-Vorrichtung 120 zuzugreifen, kann der DRAM-Zugriffsmanager 211c bestimmen, ob eine Zeile, die einer ersten Adresse entspricht, eine Fehlerzeile ist, und kann eine reservierte Adresse anstelle der ersten Adresse ausgeben, wenn die Zeile, die der ersten Adresse entspricht, eine Fehlerzeile ist. Ein Zugriff auf die DRAM-Vorrichtung 120 kann basierend auf der reservierten Adresse durchgeführt werden, die von dem DRAM-Zugriffsmanager 211c ausgegeben wird.
  • In einer beispielhaften Ausführungsform kann der DRAM-Zugriffsmanager 211c verschiedene Informationen für den oben beschriebenen Fehlerzeilen-Bestimmungsvorgang und einen Adressen-Neuzuordnungsvorgang umfassen. Zum Beispiel kann der DRAM-Zugriffsmanager 211c Adressfeldinformationen umfassen, die eine Adresse und ein Neuzuordnungs-Flag umfassen, das mit jeder der Mehrzahl an Zeilen der DRAM-Vorrichtung 120 assoziiert ist. Der DRAM-Zugriffsmanager 211c kann eine Neuzuordnungs-Tabelle umfassen, die Neuzuordnungs-Informationen zwischen einer Adresse einer Fehlerzeile und einer reservierten Adresse eines reservierten Bereichs umfasst.
  • In einer beispielhaften Ausführungsform können verschiedene Informationen (d. h. die Adressfeldinformationen und die Neuzuordnungs-Tabelle), die von dem DRAM-Zugriffsmanager 211c verwaltet werden, in dem SRAM 213 gespeichert werden, und können durch einen indirekten Reparaturvorgang (oder einen Soft-Reparaturvorgang) des Reparaturmanagers 211b aktualisiert werden. Der indirekte Reparaturvorgang wird unter Bezugnahme auf die nachfolgenden Zeichnungen genauer beschrieben.
  • 12 stellt ein Flussdiagramm einen indirekten Reparaturvorgangs eines Speicher-Controllers aus 11 dar. 13A und 13B sind Diagramme, die einen Vorgang gemäß des Flussdiagramms aus 12 veranschaulichen. In einer beispielhaften Ausführungsform kann das Flussdiagramm aus 12 eine Ausführungsform sein, die mit Vorgang S15 aus 3 assoziiert ist. Das heißt, ein Vorgang gemäß des Flussdiagramms aus 12 kann durchgeführt werden, wenn eine Fehlerzeile von der DRAM-Vorrichtung 120 erfasst wird.
  • In 11 und 12 ordnet der Speicher-Controller 110 in Vorgang S211 eine Fehleradresse, die der Fehlerzeile entspricht, einer reservierten Adresse neu zu (d. h. in einer reservierten Zeile). Zum Beispiel kann der Speicher-Controller 110, wie in 13A dargestellt, sowohl einen Nutzerbereich als auch einen reservierten Bereich der DRAM-Vorrichtung 120 erkennen. Das heißt, der Speicher-Controller 210 kann einen Bereich, der 0-ten bis n-ten Adressen ADDR_u0 bis ADDR_un der DRAM-Vorrichtung 120 entspricht, als Nutzerbereich erkennen, und kann einen Bereich, der 0-ten bis m-ten Adressen ADDR_r0 bis ADDR_rm der DRAM-Vorrichtung 120 entspricht, als reservierten Bereich erkennen.
  • Der Nutzerbereich kann einen Bereich angeben, auf den in einem normalen Vorgang des Speicher-Controllers 210 zugegriffen wird. Der reservierte Bereich kann einen Bereich angeben, der von dem Speicher-Controller 210 erkannt wird, oder einen Bereich, auf den bei einem normalen Zugriffsvorgang nicht zugegriffen werden soll. Mit anderen Worten, der Speicher-Controller 210 (insbesondere der Prozessor 212) kann eine Adresse erzeugen (d. h. ADDR_u0 bis ADDR_un), die in dem Nutzerbereich als Originaladresse umfasst ist, mit dem Zweck, auf die DRAM-Vorrichtung 120 zuzugreifen.
  • In dem Fall, in dem eine Fehlerzeile in dem Nutzerbereich auftritt, ordnet der Speicher-Controller 210 einen Bereich, der der Fehlerzeile entspricht, einer reservierten Zeile des reservierten Bereichs zu. Zum Beispiel in dem Fall, in dem, wie in 13A dargestellt, eine Zeile, die der Adresse ADDR_uk des Nutzerbereichs entspricht, als Fehlerzeile erfasst wird, ordnet der DRAM-Zugriffsmanager 211c die Nutzeradresse ADDR_uk des Nutzerbereichs der reservierten Adresse ADDR_rk des reservierten Bereichs neu zu (d. h. führt eine Umleitung durch).
  • In Vorgang S212 aktualisiert der Speicher-Controller 210 die Neuzuordnungs-Tabelle und ein Adressfeld. Zum Beispiel kann der DRAM-Zugriffsmanager 211c, wie in 13B dargestellt, ein Adressfeld AF und eine Neuzuordnungs-Tabelle RT umfassen. Wie oben beschrieben kann das Adressfeld Neuzuordnungs-Flag-Informationen über jede Zeile der DRAM-Vorrichtung 120 umfassen. Die Neuzuordnungs-Tabelle RT kann Informationen über eine Neuzuordnungs-Beziehung zwischen einer Fehleradresse, die einer Fehlerzeile entspricht, und einer reservierten Adresse, die einer reservierten Zeile entspricht, umfassen.
  • Wie unter Bezugnahme auf 13A beschrieben, kann in dem Fall, in dem die Zeile, die der Nutzeradresse ADDR_uk entspricht, eine Fehlerzeile ist, und die Nutzeradresse ADDR_uk der reservierten Adresse ADDR_rk neu zugeordnet wird, der Speicher-Controller 210 die k-te Adresse ADDR_uk des Nutzerbereichs auf die Fehlerzeile einstellen und kann die k-te Adresse ADDR rk des reservierten Bereichs auf die reservierte Zeile einstellen. Das heißt, der Speicher-Controller 210 kann die Neuzuordnungs-Tabelle RT basierend auf Informationen über die Fehlerzeile des Nutzerbereichs und der neu zugeordneten reservierten Zeile aktualisieren.
  • In einer beispielhaften Ausführungsform kann der Speicher-Controller 210 hinsichtlich des Adressfelds AF einen Wert des Neuzuordnungs-Flags, das mit der Nutzeradresse ADDR_uk assoziiert ist, von „0“ auf „1“ ändern. In einer beispielhaften Ausführungsform kann der Fall, in dem das Neuzuordnungs-Flag „1“ ist, bedeuten, dass eine relevante Adresse einem reservierten Bereich neu zugeordnet wurde; der Fall, in dem das Neuzuordnungs-Flag „0“ ist, kann bedeuten, dass eine relevante Adresse nicht einem reservierten Bereich neu zugeordnet wurde.
  • 14 stellt ein Flussdiagramm eines Zugriffsvorgangs dar, der mit einer DRAM-Vorrichtung eines Speicher-Controllers aus 11 assoziiert ist. In 11 und 14 erzeugt der Speicher-Controller 210 in Vorgang S221 eine Originaladresse, die einer Zeile entspricht, auf die zugegriffen werden soll. Zum Beispiel kann der Prozessor 212 des Speicher-Controllers 210 eine Originaladresse zum Zugreifen auf die DRAM-Vorrichtung 120 erzeugen. In einer beispielhaften Ausführungsformen kann die Originaladresse eine Adresse sein, die in den Adressen ADDR u0 bis ADDR un des Nutzerbereichs, der unter Bezugnahme auf 13A beschrieben wird, umfasst ist. Das heißt, der Prozessor 212 kann eingerichtet sein, auf den Nutzerbereich der DRAM-Vorrichtung 120 zuzugreifen.
  • In Vorgang S222 bestimmt der Speicher-Controller 210, ob eine Zeile, die der Originaladresse entspricht, eine Fehlerzeile ist. Zum Beispiel kann der Speicher-Controller 210 das Neuzuordnungs-Flag des Adressfelds AF, das mit der Originaladresse assoziiert ist, überprüfen. In dem Fall, in dem das Neuzuordnungs-Flag „0“ ist, bestimmt der Speicher-Controller 210, dass die Zeile, die der Originalzeile entspricht, keine Fehlerzeile ist (Nein in S222). In diesem Fall führt der Speicher-Controller 210 in Vorgang S223 einen Zugriffsvorgang an der Zeile durch (d. h. einer Zeile des Nutzerbereichs), die der Originaladresse entspricht.
  • In dem Fall, in dem das Neuzuordnungs-Flag, das der Originaladresse entspricht, „1“ ist, bestimmt der Speicher-Controller 210, dass die Zeile, die der Originalzeile entspricht, eine Fehlerzeile ist (Ja in S222). In diesem Fall suchte der Speicher-Controller 210 in Vorgang S224 eine neu zugeordnete Adresse, die der Originaladresse entspricht, basierend auf der Neuzuordnungs-Tabelle RT. Zum Beispiel kann die Neuzuordnungs-Tabelle RT, wie unter Bezugnahme auf 13B beschrieben, Informationen über eine Beziehung zwischen der Originaladresse, die mit der Fehlerzeile assoziiert ist, und einer neu zugeordnete Adresse, die mit einer reservierten Zeile assoziiert ist, umfassen. Das heißt, der Speicher-Controller 210 kann die neu zugeordnete Adresse suchen, die der Originaladresse aus der Neuzuordnungs-Tabelle RT entspricht.
  • In Vorgang S225 führt der Speicher-Controller 210 einen Zugriffsvorgang auf die reservierte Zeile durch, die der neu zugeordneten Adresse entspricht.
  • Wie oben beschrieben kann gemäß Ausführungsformen der erfinderischen Konzepte eine Fehlerzeile der DRAM-Vorrichtung 120 einem reservierten Bereich der DRAM-Vorrichtung 120 neu zugeordnet werden, indem eine Cache-Schichtstruktur anstelle des direkten Reparaturvorgangs der DRAM-Vorrichtung 120 verwendet wird. Dementsprechend kann die DRAM-Vorrichtung 120 oder die Speichervorrichtung normal betrieben werden, während die Speichervorrichtung angetrieben wird, obwohl eine Fehlerzeile in der DRAM-Vorrichtung 120 erfasst wird.
  • 15 stellt ein Flussdiagramm eines Laufzeit-Reparaturvorgangs gemäß einer Ausführungsform der erfinderischen Konzepte dar. In dieser Ausführungsform wird ein Laufzeit-Reparaturvorgang, in dem ein direkter Reparaturvorgang und ein indirekter Reparaturvorgang kombiniert werden, unter Bezugnahme auf 15 beschrieben.
  • In 11 und 15 lädt der Speicher-Controller 210 in Vorgang S301 angesammelte Fehlerinformationen, eine Neuzuordnungs-Tabelle und ein Adressfeld. Zum Beispiel kann die angesammelte Fehlerinformation die Anzahl an Fehler-Bits angeben, die bezüglich jeder Zeile der DRAM-Vorrichtung 120 angesammelt wurden, wie unter Bezugnahme auf 4 beschrieben, die Neuzuordnungs-Tabelle kann eine Zuordnungsbeziehung zwischen einer Adresse einer Fehlerzeile und einer neu zugeordneten Adresse wie unter Bezugnahme auf 13B beschrieben angeben, und das Adressfeld kann Informationen über eine Adresse und einen entsprechenden Neuzuordnungs-Flag wie unter Bezugnahme auf 13B beschrieben angeben.
  • In einer beispielhaften Ausführungsform können die Informationen in regelmäßigen Zeitabständen in einen bestimmten Bereich (z. B. einen Meta-Bereich) der nichtflüchtigen Speichereinrichtung 130 verschoben werden, um Daten zu pflegen. Der Speicher-Controller 210 kann die oben beschriebenen Informationen von der nichtflüchtigen Speichereinrichtung 130 in einem Initialisierungsvorgang des Speicher-Controllers 210 laden. In einer beispielhaften Ausführungsform können die geladenen Informationen in dem SRAM 213 gespeichert werden und können von dem Prozessor 212 oder der DRAM-Steuereinheit 211 verwaltet werden.
  • In Vorgang S302 bestimmt der Speicher-Controller 210, ob eine Vorrichtung inaktiv ist (d. h. in einem inaktiven Zustand). In dem Fall, in dem die Vorrichtung nicht inaktiv ist (Nein in S302), führt der Speicher-Controller 210 Vorgang S311 bis Vorgang S314 durch. Vorgang S311 bis Vorgang S313 können mit Vorgang S12 bis Vorgang S14 aus 3 identisch sein und daher wird eine detaillierte Beschreibung derselben hier nicht wiederholt. Vorgang S314 ist dem indirekten Reparaturvorgang, der unter Bezugnahme auf 12 beschrieben wurde, ähnlich und daher wird auf eine zusätzliche Beschreibung verzichtet, um Redundanz zu vermeiden.
  • In dem Fall, in dem die Vorrichtung inaktiv ist (Ja in S302), führt der Speicher-Controller 210 Vorgang S321 bis Vorgang S324 durch. Vorgang S321 bis Vorgang S324 können dem Vorgang S111 bis Vorgang S114 (d. h. dem direkten Reparaturvorgang) aus 5 ähnlich sein und daher wird eine detaillierte Beschreibung derselben hier nicht wiederholt.
  • Das heißt, in dem Fall, in dem eine Vorrichtung nicht inaktiv ist und eine Fehlerzeile in der DRAM-Vorrichtung 120 erfasst wird, kann der Speicher-Controller 210 den indirekten Reparaturvorgang durchführen. Wie oben beschrieben kann der indirekte Reparaturvorgang nicht Vorgänge wie einen Zugriffssperrvorgang auf die DRAM-Vorrichtung 120 und einen Datensicherungsvorgang begleiten, wodurch eine zusätzliche Reduzierung der Performance verhindert wird. Allerdings kann der Speicher-Controller 210 in dem Fall, in dem die Vorrichtung inaktiv ist, den direkten Reparaturvorgang durchführen. In diesem Fall kann der Speicher-Controller 210 einen direkten Reparaturvorgang an neu zugeordneten Adressen der Neuzuordnungs-Tabelle RT sowie der erfassten Fehlerzeile durchführen.
  • In einer beispielhaften Ausführungsform kann Vorgang S302, wie in 15 durch die Strichlinie angegeben, zwischen Vorgang S301 und Vorgang S311/S321 und während die Speichervorrichtung arbeitet durchgeführt werden. Das heißt, der Speicher-Controller 210 kann kontinuierlich bestimmen, ob eine Vorrichtung inaktiv ist, während die Speichervorrichtung arbeitet, wodurch der indirekte Reparaturvorgang oder der direkte Reparaturvorgang durchgeführt wird.
  • Obwohl nicht in 15 dargestellt, kann der Speicher-Controller 210 in einer beispielhaften Ausführungsform den direkten Reparaturvorgang in dem Fall durchführen, in dem die Anzahl an neu zugeordneten Adressen, die in der Neuzuordnungs-Tabelle RT umfasst sind, nicht kleiner ist als ein Referenzwert.
  • 16 stellt ein Flussdiagramm eines Betriebs eines Speicher-Controllers gemäß einer Ausführungsform der erfinderischen Konzepte dar. In 11 und 16 führt der Speicher-Controller 210 in Vorgang S410 einen normalen Vorgang durch. In diesem Fall kann der normale Vorgang verschiedene Vorgänge, die mit der Speichervorrichtung assoziiert sind, oder die Laufzeit-Reparaturvorgänge umfassen, die unter Bezugnahme auf die 1 bis 13 beschrieben sind.
  • In Vorgang S420 bestimmt der Speicher-Controller 210, ob eine Leistung ausgeschaltet ist. Zum Beispiel kann eine Leistung, die der Speichervorrichtung zur Verfügung gestellt wird, gesteuert durch einen Host abgeschaltet werden, oder es kann aufgrund verschiedener Gründe zu einer plötzlichen Leistungsabschaltung (Sudden Power Off, SPO) kommen.
  • In dem Fall, in dem eine Leistung abgeschaltet wird (Ja in S420), verschiebt der Speicher-Controller 210 in Vorgang S430 angesammelte Fehlerinformationen, eine Neuzuordnungs-Tabelle und ein Adressfeld zu einem Meta-Bereich der nichtflüchtigen Speichereinrichtung 130. In einer beispielhaften Ausführungsform kann der Speicher-Controller 210 die oben beschriebenen Informationen zusammen mit wichtigen Daten (z. B. einer Zuordnungs-Tabelle und Meta-Informationen), die auf der DRAM-Vorrichtung 120 gespeichert sind, zu der nichtflüchtigen Speichereinrichtung 130 verschieben. In dem Fall, in dem die Leistung nicht ausgeschaltet wird (Nein in S420), kann der Vorgang zu Vorgang S420 zurückkehren.
  • In Vorgang S440 bestimmt der Speicher-Controller 210, ob eine Leistung eingeschaltet ist. Zum Beispiel kann, nachdem die Leistung ausgeschaltet wurde, die Leistung von einem Host wieder zur Verfügung gestellt werden (Ja in S440). In diesem Fall lädt der Speicher-Controller 210 in Vorgang S450 die verschobenen Informationen (z. B. angesammelte Fehlerinformationen, eine Neuzuordnungs-Tabelle und ein Adressfeld) aus dem Meta-Bereich der nichtflüchtigen Speichereinrichtung 130. Die geladenen Informationen können in dem SRAM 213 gespeichert werden und können von dem Prozessor 212 oder der DRAM-Steuereinheit 211 verwaltet werden. In einer beispielhaften Ausführungsform können die oben beschriebenen Ladevorgänge während eines Initialisierungsvorgangs des Speicher-Controllers 210 durchgeführt werden. In dem Fall, in dem die Leistung nicht eingeschaltet ist (Nein in S440), kann der Vorgang zu Vorgang S440 zurückkehren.
  • Danach führt der Speicher-Controller 210 in Vorgang S460 einen normalen Vorgang durch. Zum Beispiel kann der Speicher-Controller 210 den unter Bezugnahme auf 1 bis 15 beschriebenen Laufzeit-Reparaturvorgang basierend auf den geladenen Informationen durchführen.
  • Wie oben beschrieben kann ein Speicher-Controller gemäß Ausführungsformen der erfinderischen Konzepte angesammelte Fehlerinformationen über eine DRAM-Vorrichtung sammeln und kann eine Fehlerzeile der DRAM-Vorrichtung basierend auf der angesammelten Fehlerinformation erfassen. Der Speicher-Controller kann die Fehlerzeile reparieren, indem er einen Laufzeit-Reparaturvorgang an der erfassten Fehlerzeile durchführt. Da Informationen wie angesammelte Fehlerinformationen, eine Neuzuordnungs-Tabelle und ein Adressfeld gepflegt werden sollten, um eine Fehlerzeile zu erfassen oder einen Laufzeit-Reparaturvorgang durchzuführen, wie unter Bezugnahme auf 16 beschrieben, kann die Information in einer beispielhaften Ausführungsform bei Leistungsabschaltung auf eine nichtflüchtige Speichereinrichtung verschoben werden oder sie kann in regelmäßigen oder unregelmäßigen Zeitabständen zu der nichtflüchtigen Speichereinrichtung verschoben werden.
  • 17 stellt ein Blockdiagramm eines Nutzersystems dar, bei dem eine Speichervorrichtung gemäß Ausführungsformen der erfinderischen Konzepte verwendet wird. In 17 umfasst ein Nutzersystem 1000 eine zentrale Verarbeitungseinheit (CPU) 1100, einen Systemspeicher 1200, eine Speichervorrichtung 1300, ein Ein-/Ausgabegerät 1400 und eine Grafikvorrichtung 1500.
  • Die CPU 1100 kann Vorgänge wie zum Beispiel Anweisungsvorgänge, Anweisungs-Decodierungen, oder Anweisungssteuerungen durchführen, die von dem Nutzersystem 1000 angefragt werden. Der Systemspeicher 1200 kann als Pufferspeicher, als Cache-Speicher oder Hauptspeicher der CPU 1100 verwendet werden. In einer beispielhaften Ausführungsform kann der Systemspeicher 1200 eine DRAM-Vorrichtung umfassen. Die CPU 1100 und der Systemspeicher 1200 können eingerichtet sein, den Laufzeit-Reparaturvorgang durchzuführen, der unter Bezugnahme auf 1 bis 16 beschrieben wird. Das heißt, während das Nutzersystem 1000 betrieben wird, kann eine Fehlerzeile von dem Systemspeicher 1200 erfasst werden, und es kann ein Laufzeit-Reparaturvorgang an der erfassten Fehlerzeile durchgeführt werden.
  • Die Speichervorrichtung 1300 kann Daten speichern, die in dem Nutzersystem 1000 verwendet werden. Die Speichereinrichtung 1300 kann als nichtflüchtige Halbleiter-Speichereinrichtung wie beispielsweise ein Phasenänderungs-RAM (PRAM), ein magnetischer RAM (MRAM), ein resistiver RAM (RRAM), ein NAND-Flashspeicher, ein NOR-Flashspeicher oder ein dreidimensionaler NAND-Flashspeicher oder dergleichen implementiert werden. Die Speichervorrichtung 1300 kann ein Speichermedium mit hoher Kapazität sein. In einer beispielhaften Ausführungsform kann die Speichervorrichtung 1300 eine Speichervorrichtung sein, die auf den Ausführungsformen basiert, die unter Bezugnahme auf 1 bis 16 beschrieben wurden.
  • Das Ein-/Ausgabegerät 1400 kann Vorrichtungen umfassen, die Daten oder eine Anweisung an das Nutzersystem 1000 eingeben oder Daten an eine externe Vorrichtung ausgeben. In einer beispielhaften Ausführungsform kann das Ein-/Ausgabegerät 1400 Nutzereingabeschnittstellen wie beispielsweise eine Tastatur, ein Tastenfeld, eine Taste, ein Touch-Panel, ein Touchscreen, ein Touchpad, einen Touchball, eine Kamera, ein Mikrofon, einen Gyroskopsensor, einen Vibrationssensor und ein piezoelektrisches Element oder dergleichen umfassen. Das Ein-/Ausgabegerät 1400 kann ferner Nutzerausgabeschnittstellen wie beispielsweise einen Flüssigkristallbildschirm (LCD), eine organische Leuchtdioden(OLED)-Anzeigevorrichtung, eine Aktivmatrix-OLED(AMOLED)-Anzeigevorrichtung, eine Leuchtdiode (LED), einen Lautsprecher und einen Motor oder dergleichen umfassen.
  • Die Grafikvorrichtung 1500 kann eine Vorrichtung zur Anzeige eines Vorgangsergebnisses der CPU 1100 sein. Die Grafikvorrichtung 1500 kann einen Grafikprozessor (GPU) 1510 und einen Grafikspeicher 1520 umfassen. Die GPU 1510 kann ein Datensignal, das von der CPU 1100 bereitgestellt wird, in ein Bildsignal umwandeln. Die GPU 1510 kann verschiedene Vorgänge zur Grafikverarbeitung durchführen.
  • Der Grafikspeicher 1520 kann ein Pufferspeicher oder ein Cachespeicher sein, der vorübergehend Informationen speichert, die erforderlich sind, damit die GPU 1510 arbeitet. In einer beispielhaften Ausführungsform kann der Grafikspeicher 1520 eine DRAM-Vorrichtung umfassen. Die GPU 1510 und der Grafikspeicher 1520 können eingerichtet sein, den unter Bezugnahme auf 1 bis 16 beschriebenen Laufzeit-Reparaturvorgang durchzuführen. Das heißt, während eine Grafikvorrichtung 1500 betrieben wird, kann eine Fehlerzeile von dem Systemspeicher 1200 erfasst werden, und es kann ein Laufzeit-Reparaturvorgang an der erfassten Fehlerzeile durchgeführt werden.
  • Gemäß der erfinderischen Konzepte kann ein Laufzeit-Reparaturvorgang an einer Fehlerzeile einer DRAM-Vorrichtung, welche auftritt, während eine Speichervorrichtung betrieben wird, durchgeführt wird. Das heißt, obwohl eine Fehlerzeile an der DRAM-Vorrichtung auftritt, während die Speichervorrichtung, die die DRAM-Vorrichtung umfasst, betrieben wird, kann die DRAM-Vorrichtung oder die Speichervorrichtung normal betrieben werden. Dementsprechend werden eine Speichervorrichtung mit verbesserter Zuverlässigkeit und verbesserter Lebensdauer und ein Betriebsverfahren für dieselbe bereitgestellt.

Claims (23)

  1. Betriebsverfahren einer Speichervorrichtung (100) mit einer nichtflüchtigen Speichereinrichtung (130), einer dynamischen Direktzugriffsspeicher(DRAM)-Vorrichtung (120), die eine Mehrzahl an Zeilen (ROW1-ROW4) umfasst, und einem Speicher-Controller (110; 210), wobei das Verfahren Folgendes aufweist: Durchführen (S12) eines Zugriffvorgangs auf die DRAM-Vorrichtung (120) durch den Speicher-Controller (110; 210); Sammeln (S13) von angesammelten Fehlerinformationen (AEI) über die DRAM-Vorrichtung (120) durch den Speicher-Controller (110; 210) basierend auf dem Zugriffsvorgang; Erfassen (S14) einer Fehlerzeile aus einer Mehrzahl an Zeilen (ROW1-ROW4) der DRAM-Vorrichtung (120) durch den Speicher-Controller (110; 210) basierend auf den angesammelten Fehlerinformationen (AEI), Durchführen (S15) eines Laufzeit-Reparaturvorgangs an der Fehlerzeile durch den Speicher-Controller (110; 210); Speichern der angesammelten Fehlerinformationen (AEI) in einem RAM des Speicher-Controllers (110; 210); Verschieben der angesammelten Fehlerinformationen (AEI), einer Neuzuordnungs-Tabelle und eines Adressfeldes, die in dem RAM gespeichert sind, zu einem Meta-Bereich der nichtflüchtigen Speichereinrichtung (130), wenn die Speichervorrichtung (100) ausgeschaltet wird; Laden der angesammelten Fehlerinformationen (AEI), der Neuzuordnungs-Tabelle und des Adressfeldes aus dem Meta-Bereich der nichtflüchtigen Speichereinrichtung (130) in den RAM, wenn die Speichervorrichtung (100) eingeschaltet wird; und Durchführen des Laufzeit-Reparaturvorgangs basierend auf den geladenen Informationen.
  2. Verfahren nach Anspruch 1, wobei der Zugriffsvorgang einen Vorgang, bei dem Daten aus der DRAM-Vorrichtung (120) ausgelesen werden, und einen Fehlererfassungs- und Korrekturvorgang umfasst, der mit den ausgelesenen Daten assoziiert ist.
  3. Verfahren nach Anspruch 2, wobei die angesammelten Fehlerinformationen (AEI) eine angesammelte Anzahl an Fehler-Bits angibt, die von dem Fehlererfassungs- und Korrekturvorgang bezüglich jeder der Mehrzahl an Zeilen (ROW1-ROW4) der DRAM-Vorrichtung (120) erfasst wurde.
  4. Verfahren nach Anspruch 3, wobei die Fehlerzeile eine Zeile aus der Mehrzahl an Zeilen (ROW1-ROW4) ist, die eine größere angesammelte Fehler-Bit-Anzahl als ein Referenzwert aufweist.
  5. Verfahren nach Anspruch 1, wobei das Durchführen des Laufzeit-Reparaturvorgangs Folgendes aufweist: Verschieben partieller Daten von Daten, die auf der DRAM-Vorrichtung (120) gespeichert sind, oder ganzer Daten, die in der DRAM-Vorrichtung (120) gespeichert sind, zu der nichtflüchtigen Speichereinrichtung (130); Durchführen eines Post-Package-Repair-Vorgangs an der Fehlerzeile der DRAM-Vorrichtung (120); und Wiederherstellen der partiellen Daten oder der ganzen Daten, zu der nichtflüchtigen Speichereinrichtung (130) verschoben wurden, in der DRAM-Vorrichtung (120) nach dem Post-Package-Repair-Vorgang.
  6. Verfahren nach Anspruch 5, wobei das Durchführen des Post-Package-Repair-Vorgangs das Verwenden von einem Modus-Register-Set-Befehl (MRS4, MRS0), von Adresssignalen (BG, BA, ADDR), von einem Aktivierungs-Befehl (ACT), von einem Auto-Vorlade-Schreib-Befehl (WAR) und von einem Vorlade-Befehl (PRE) aufweist.
  7. Verfahren nach Anspruch 6, wobei die partiellen Daten Daten sind, die in Bänken aus einer Mehrzahl an Bänken der DRAM-Vorrichtung (120), welche die Fehlerzeile umfasst, gespeichert sind.
  8. Verfahren nach Anspruch 1, wobei das Durchführen des Laufzeit-Reparaturvorgangs Folgendes aufweist: neues Zuordnen der Fehlerzeile der DRAM-Vorrichtung (120) zu einer reservierten Zeile eines reservierten Bereichs in der DRAM-Vorrichtung (120); und Aktualisieren einer Neuzuordnungs-Tabelle basierend auf einer Fehleradresse, die der Fehlerzeile entspricht, und einer reservierten Adresse, die der reservierten Zeile entspricht.
  9. Verfahren gemäß Anspruch 8, ferner aufweisend: Erzeugen, durch den Speicher-Controller (110; 210), einer Originaladresse, die mit einem Nutzerbereich der DRAM-Vorrichtung (120) assoziiert ist; Zugreifen auf den reservierten Bereich durch den Speicher-Controller (110; 210) basierend auf der Neuzuordnungs-Tabelle, wenn eine Zeile aus der Mehrzahl an Zeilen (ROW1-ROW4), die der Originaladresse entspricht, die Fehlerzeile ist; und Zugreifen auf den Nutzerbereich, welcher der Originaladresse entspricht, durch den Speicher-Controller (110; 210), wenn die Zeile, die der Originaladresse entspricht, nicht die Fehlerzeile ist.
  10. Verfahren gemäß Anspruch 8, ferner aufweisend: Durchführen eines Post-Package-Repair-Vorgangs an der DRAM-Vorrichtung (120) basierend auf der Neuzuordnungs-Tabelle während eines inaktiven Zustands der Speichervorrichtung (100).
  11. Speichervorrichtung, aufweisend: eine nichtflüchtige Speichereinrichtung (130); eine dynamische Direktzugriffsspeicher(DRAM)-Vorrichtung (120); und einen Speicher-Controller (110; 210), der eingerichtet ist, die nichtflüchtige Speichereinrichtung (130) und die DRAM-Vorrichtung (120) zu steuern, wobei der Speicher-Controller (110; 210) Folgendes aufweist: eine DRAM-Fehlerkorrektureinheit (111a, 211a), die eingerichtet ist, einen Fehlererfassungs- und Korrekturvorgang an aus der DRAM-Vorrichtung (120) ausgelesenen Daten durchzuführen, und einen Reparaturmanager (111b; 211b), der eingerichtet ist, angesammelte Fehlerinformationen (AEI) basierend auf einem Fehler zu verwalten, der von der DRAM-Fehlerkorrektureinheit (111a; 211a) erfasst wurde, um eine Fehlerzeile der DRAM-Vorrichtung (120) basierend auf den angesammelten Fehlerinformationen (AEI) zu erfassen und einen Laufzeit-Reparaturvorgang an der Fehlerzeile durchzuführen, wobei der Speicher-Controller (110; 210) ferner einen Speicher (113; 213) aufweist, der eingerichtet ist, die angesammelten Fehlerinformationen (AEI) zu speichern, wobei die angesammelten Fehlerinformationen (AEI), eine Neuzuordnungs-Tabelle und ein Adressfeld, die in dem Speicher (113; 213) gespeichert sind, in regelmäßigen Abständen zu einem Meta-Bereich der nichtflüchtigen Speichereinrichtung (130) verschoben werden, wobei die angesammelten Fehlerinformationen (AEI), die Neuzuordnungs-Tabelle und das Adressfeld aus dem Meta-Bereich der nichtflüchtigen Speichereinrichtung (130) in den Speicher (113; 213) geladen werden, wenn die Speichervorrichtung eingeschaltet wird, und wobei der Laufzeit-Reparaturvorgang basierend auf den geladenen Informationen durchgeführt wird.
  12. Speichervorrichtung nach Anspruch 11, wobei der Reparaturmanager (111b; 211b) eingerichtet ist, den Laufzeit-Reparaturvorgang durchzuführen, indem er partielle Daten von Daten, die auf der DRAM-Vorrichtung (120) gespeichert sind, oder ganze Daten, die auf der DRAM-Vorrichtung (120) gespeichert sind, zu der nichtflüchtigen Speichereinrichtung (130) verschiebt, indem er einen Post-Package-Repair-Vorgang an der Fehlerzeile der DRAM-Vorrichtung (120) durchführt, um eine reparierte Zeile vorzusehen, und indem er die partiellen Daten oder die ganzen Daten, die auf die nichtflüchtige Speichereinrichtung (130) verschoben wurden, in der reparierten Zeile der DRAM-Vorrichtung (120) wiederherstellt.
  13. Speichervorrichtung nach Anspruch 12, wobei die DRAM-Vorrichtung (120) Folgendes aufweist: eine Sicherungsschaltung (125), die eingerichtet ist, eine Adresse (ADDR) von dem Speicher-Controller (110; 210) zu erhalten und eine Adresse oder eine Konvertierungsadresse auszugeben, die erhalten wurde, indem die Adresse konvertiert wird, abhängig von der Sicherungseinstellung der Sicherungsschaltung (125); ein Speicherzellenanordnung (121), die normale Zellen und Redundanz-Zellen (121a) umfasst, einen Zeilen-Decoder (122), der mit den normalen Zellen über normale Wortleitung (NWL) verbunden ist, und mit den Redundanz-Zellen (121a) durch Redundanz-Wortleitungen (RWL) verbunden ist, wobei der Zeilen-Decoder (122) eingerichtet ist, ansprechend auf die Adresse eine der normalen Wortleitungen (NWL) auszuwählen und ansprechend auf die Konvertierungsadresse eine der Redundanz-Wortleitungen (RWL) auszuwählen; einen Spalten-Decoder (123), der über Bit-Leitungen (BL) mit der Speicherzellenanordnung (121) verbunden ist; und eine Steuerlogikschaltung (124), die eingerichtet ist, eine Sicherungseinstellung der Sicherungsschaltung (125) durch den Laufzeit-Reparaturvorgang des Speicher-Controllers (110; 210) durchzuführen.
  14. Speichervorrichtung nach Anspruch 11, wobei die DRAM-Vorrichtung (120) einen Nutzerbereich und einen reservierten Bereich umfasst, wobei die Fehlerzeile in dem Nutzerbereich umfasst ist und wobei der Reparatur-Manager (111b; 211b) eingerichtet ist, eine Originaladresse, die der Fehlerzeile entspricht, einer reservierten Adresse neu zuzuordnen, die einer reservierten Zeile des reservierten Bereichs entspricht.
  15. Speichervorrichtung nach Anspruch 14, wobei der Speicher-Controller (210) ferner Folgendes aufweist: einen Prozessor (212), der eingerichtet ist, auf die DRAM-Vorrichtung (120) zuzugreifen, indem er die Originaladresse erzeugt; und einen DRAM-Zugriffsmanager (211c), der eingerichtet ist, die reservierte Adresse in einem Fall auszugeben, in dem die Originaladresse der Fehlerzeile entspricht.
  16. Betriebsverfahren einer Speichervorrichtung (100), welche eine nichtflüchtige Speichereinrichtung (130), eine flüchtige Speichereinrichtung (120) und einen Speicher-Controller (110; 210), der eingerichtet ist, die nichtflüchtige Speichereinrichtung (130) und die flüchtige Speichereinrichtung (120) zu steuern, umfasst, wobei das Verfahren Folgendes aufweist: Auslesen, durch den Speicher-Controller (110; 210), von Daten aus der flüchtigen Speichereinrichtung (120); Durchführen einer Fehlererfassungs- und Korrekturvorgangs an den ausgelesenen Daten durch den Speicher-Controller (110; 210); Aktualisieren angesammelter Fehlerinformationen (AEI) über jede einer Mehrzahl an Zeilen (ROW1-ROW4) der flüchtigen Speichereinrichtung (120) durch den Speicher-Controller (110; 210) basierend auf einem Ergebnis des Fehlererfassungs- und Korrekturvorgangs; Erfassen einer Fehlerzeile der flüchtigen Speichereinrichtung (120) durch den Speicher-Controller (110; 210) basierend auf den aktualisierten angesammelten Fehlerinformationen (AEI), Durchführen eines Laufzeit-Reparaturvorgangs an der Fehlerzeile durch den Speicher-Controller (110; 210), wobei der Laufzeit-Reparaturvorgang durchgeführt wird, während die Speichervorrichtung (100) betrieben wird; und Speichern der angesammelten Fehlerinformationen (AEI) in einem RAM des Speicher-Controllers (110; 210); Verschieben der angesammelten Fehlerinformationen (AEI), einer Neuzuordnungs-Tabelle und eines Adressfeldes, die in dem RAM gespeichert sind, zu einem Meta-Bereich der nichtflüchtigen Speichereinrichtung (130), wenn die Speichervorrichtung (100) ausgeschaltet wird; Laden der angesammelten Fehlerinformationen (AEI), der Neuzuordnungs-Tabelle und des Adressfeldes aus dem Meta-Bereich der nichtflüchtigen Speichereinrichtung (130) in den RAM, wenn die Speichervorrichtung (100) eingeschaltet wird; und Durchführen des Laufzeit-Reparaturvorgangs basierend auf den geladenen Informationen.
  17. Verfahren nach Anspruch 16, wobei das Durchführen des Laufzeit-Reparaturvorgangs Folgendes aufweist: Verschieben partieller Daten von Daten, die in der flüchtigen Speichereinrichtung (120) gespeichert sind, oder ganzer Daten, die in der flüchtigen Speichereinrichtung (120) gespeichert sind, zu der nichtflüchtigen Speichereinrichtung (130); Wiederherstellen der Fehlerzeile, indem ein Post-Package-Repair-Vorgang an der flüchtigen Speichereinrichtung (120) durchgeführt wird, um eine reparierte Zeile bereitzustellen; und Wiederherstellen der partiellen Daten oder der ganzen Daten, die von der flüchtigen Speichereinrichtung (120) verschoben wurden, in der reparierten Zeile der nichtflüchtigen Speichereinrichtung (130).
  18. Verfahren nach Anspruch 16, wobei das Durchführen des Laufzeit-Reparaturvorgangs Folgendes aufweist: neu Zuordnen der Fehlerzeile zu einer reservierten Zeile eines reservierten Bereichs in der flüchtigen Speichereinrichtung (120); und Aktualisieren einer Neuzuordnungs-Tabelle basierend auf einer Originaladresse, die der Fehlerzeile entspricht, und einer neu zugeordneten Adresse der reservierten Zeile.
  19. Computersystem, aufweisend: eine Speichervorrichtung (100); und einen Host (11), der eingerichtet ist, die Speichervorrichtung (100) zu steuern, wobei die Speichervorrichtung (100) aufweist: eine nichtflüchtige Speichereinrichtung (130), eine dynamische Direktzugriffsspeicher(DRAM)-Vorrichtung (120), die eine Mehrzahl an Zeilen (ROW1-ROW4) umfasst, und einen Speicher-Controller (110; 210), der eingerichtet ist, angesammelte Fehlerinformationen (AEI) über die DRAM-Vorrichtung (120) basierend auf Daten, die aus der DRAM-Vorrichtung (120) ausgelesen werden, zu sammeln, eine Fehlerzeile aus einer Mehrzahl an Zeilen (ROW1-ROW4) der DRAM-Vorrichtung (120) basierend auf den angesammelten Fehlerinformationen (AEI) zu erfassen, und während einer Laufzeit der Speichervorrichtung (100) einen Laufzeit-Reparaturvorgang an der Fehlerzeile durchzuführen, wobei die Speichervorrichtung (100) ferner konfiguriert ist zum: Speichern der angesammelten Fehlerinformationen (AEI) in einem RAM des Speicher-Controllers (110; 210); Verschieben der angesammelten Fehlerinformationen (AEI), einer Neuzuordnungs-Tabelle und eines Adressfeldes, die in dem RAM gespeichert sind, zu einem Meta-Bereich der nichtflüchtigen Speichereinrichtung (130), wenn die Speichervorrichtung (100) ausgeschaltet wird; und Laden der angesammelten Fehlerinformationen (AEI), der Neuzuordnungs-Tabelle und des Adressfeldes aus dem Meta-Bereich der nichtflüchtigen Speichereinrichtung (130) in den RAM, wenn die Speichervorrichtung (100) eingeschaltet wird; und Durchführen des Laufzeit-Reparaturvorgangs basierend auf den geladenen Informationen.
  20. Computersystem nach Anspruch 19, wobei der Speicher-Controller (110; 210) eingerichtet ist, den Laufzeit-Reparaturvorgang durchzuführen, indem er Daten von Daten, die auf der DRAM-Vorrichtung (120) gespeichert sind, auf die nichtflüchtige Speichereinrichtung (130) verschiebt, indem er nach dem Verschieben einen Post-Package-Repair-Vorgang an der Fehlerzeile der DRAM-Vorrichtung (120) durchführt, um eine reparierte Zeile vorzusehen, und indem er die Daten, die in die nichtflüchtige Speichereinrichtung (130) verschoben wurden, in der reparierten Zeile der DRAM-Vorrichtung (120) wiederherstellt.
  21. Computersystem nach Anspruch 20, wobei der Speicher-Controller (110; 210) eingerichtet ist, den Laufzeit-Reparaturvorgang durchzuführen, indem er bestimmt, ob die Speichervorrichtung (100) inaktiv ist, und danach das Verschieben durchführt, sowie er bestimmt hat, dass die Speichervorrichtung (100) inaktiv ist.
  22. Computersystem nach Anspruch 20, wobei der Speicher-Controller (110, 210) eingerichtet ist, einen Teil der Daten, die in der DRAM-Vorrichtung (120) gespeichert sind, zu verschieben.
  23. Computersystem nach Anspruch 20, wobei der Speicher-Controller (110; 210) eingerichtet ist, alle Daten, die in der DRAM-Vorrichtung (120) gespeichert sind, zu verschieben.
DE102019117787.1A 2018-08-14 2019-07-02 Speichervorrichtung und Betriebsverfahren derselben Active DE102019117787B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0095016 2018-08-14
KR1020180095016A KR102623234B1 (ko) 2018-08-14 2018-08-14 스토리지 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
DE102019117787A1 DE102019117787A1 (de) 2020-02-20
DE102019117787B4 true DE102019117787B4 (de) 2022-08-18

Family

ID=69320613

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019117787.1A Active DE102019117787B4 (de) 2018-08-14 2019-07-02 Speichervorrichtung und Betriebsverfahren derselben

Country Status (4)

Country Link
US (1) US11302414B2 (de)
KR (1) KR102623234B1 (de)
CN (1) CN110825321A (de)
DE (1) DE102019117787B4 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11068365B2 (en) * 2018-08-23 2021-07-20 Micron Technology, Inc. Data recovery within a memory sub-system without moving or processing the data through a host
KR20210105023A (ko) 2020-02-18 2021-08-26 삼성메디슨 주식회사 초음파 프로브 및 그 제조방법
CN111338851B (zh) * 2020-02-26 2024-02-13 东莞记忆存储科技有限公司 故障内存开机hPPR自动修复的方法、装置、计算机设备及存储介质
CN113495812B (zh) * 2020-04-01 2024-02-06 森富科技股份有限公司 内存封装后维修检查方法
US11011251B1 (en) * 2020-08-10 2021-05-18 Nanya Technology Corporation System and method of verifying hard post package repair and non-transitory computer readable medium
US11334458B2 (en) * 2020-08-27 2022-05-17 Micron Technology, Inc. Completing memory repair operations interrupted by power loss
KR20220049856A (ko) * 2020-10-15 2022-04-22 에스케이하이닉스 주식회사 메모리 시스템 및 컨트롤러
US11495314B2 (en) 2021-01-08 2022-11-08 Taiwan Semiconductor Manufacturing Company Limited Memory repair using optimized redundancy utilization
US11791011B1 (en) * 2022-05-03 2023-10-17 Micron Technology, Inc. Self-repair verification

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4479214A (en) * 1982-06-16 1984-10-23 International Business Machines Corporation System for updating error map of fault tolerant memory
US20020091965A1 (en) * 2000-12-22 2002-07-11 Mark Moshayedi System and method for early detection of impending failure of a data storage system
KR100512178B1 (ko) 2003-05-28 2005-09-02 삼성전자주식회사 플렉서블한 열 리던던시 스킴을 갖는 반도체 메모리 장치
US7372731B2 (en) * 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
US7325078B2 (en) * 2005-10-06 2008-01-29 Hewlett-Packard Development Company, L.P. Secure data scrubbing
US8205034B2 (en) * 2006-08-09 2012-06-19 Hitachi Ulsi Systems Co., Ltd. Flash memory drive having data interface
KR100802059B1 (ko) * 2006-09-06 2008-02-12 삼성전자주식회사 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법
US7895482B2 (en) 2007-04-26 2011-02-22 Agere Systems Inc. Embedded memory repair
TW200921691A (en) * 2007-11-14 2009-05-16 Etron Technology Inc Method for controlling a dram
US8443260B2 (en) * 2007-12-27 2013-05-14 Sandisk Il Ltd. Error correction in copy back memory operations
US8464134B2 (en) * 2008-06-24 2013-06-11 Sandisk Il Ltd Method and apparatus for error correction according to erase counts of a solid-state memory
KR101519491B1 (ko) * 2008-09-12 2015-05-12 삼성전자주식회사 누적 테스트를 위한 반도체 메모리 장치 및 이를 포함하는 시스템
KR20100102925A (ko) * 2009-03-12 2010-09-27 삼성전자주식회사 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
US9691504B2 (en) * 2011-10-24 2017-06-27 Rambus Inc. DRAM retention test method for dynamic error correction
KR101882681B1 (ko) * 2011-10-27 2018-07-31 삼성전자 주식회사 메모리 장치 및 그 구동 방법
KR20170134989A (ko) * 2016-05-30 2017-12-08 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
US9087613B2 (en) * 2012-02-29 2015-07-21 Samsung Electronics Co., Ltd. Device and method for repairing memory cell and memory system including the device
US8793556B1 (en) * 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US9037949B1 (en) * 2012-06-21 2015-05-19 Rambus Inc. Error correction in a memory device
KR20140034333A (ko) * 2012-08-16 2014-03-20 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 이를 포함하는 메모리 장치
US9165679B2 (en) * 2012-09-18 2015-10-20 Samsung Electronics Co., Ltd. Post package repairing method, method of preventing multiple activation of spare word lines, and semiconductor memory device including fuse programming circuit
US8930778B2 (en) * 2012-11-15 2015-01-06 Seagate Technology Llc Read disturb effect determination
KR102025193B1 (ko) * 2013-02-19 2019-09-25 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
KR20140108938A (ko) 2013-03-04 2014-09-15 삼성전자주식회사 반도체 메모리를 액세스하는 액세스 방법 및 반도체 회로
US9424953B2 (en) 2013-06-20 2016-08-23 Samsung Electronics Co., Ltd. Semiconductor memory device including repair circuit
US9218242B2 (en) * 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
WO2015133982A1 (en) * 2014-03-03 2015-09-11 Hewlett-Packard Development Company, L.P. Dram row sparing
US9343184B2 (en) * 2014-04-07 2016-05-17 Micron Technology, Inc. Soft post package repair of memory devices
KR20160014976A (ko) 2014-07-30 2016-02-12 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US10002043B2 (en) * 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
KR102233068B1 (ko) 2014-09-01 2021-03-30 삼성전자주식회사 반도체 메모리 장치의 결함 메모리 셀 리페어 방법
KR102269899B1 (ko) 2015-01-12 2021-06-28 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
CN105843699B (zh) * 2015-02-02 2019-06-04 国际商业机器公司 用于错误监视与校正的动态随机存取存储器设备与方法
KR20170023439A (ko) 2015-08-24 2017-03-06 삼성전자주식회사 메모리 테스트 시스템 및 메모리 시스템
US9606889B1 (en) * 2015-09-04 2017-03-28 Dell Products L.P. Systems and methods for detecting memory faults in real-time via SMI tests
US20170131947A1 (en) * 2015-11-06 2017-05-11 Pho Hoang Data and collection methods to analyze life acceleration of SSD with real usages
US20170131948A1 (en) * 2015-11-06 2017-05-11 Virtium Llc Visualization of usage impacts on solid state drive life acceleration
US10049006B2 (en) * 2015-12-08 2018-08-14 Nvidia Corporation Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands
US9965346B2 (en) 2016-04-12 2018-05-08 International Business Machines Corporation Handling repaired memory array elements in a memory of a computer system
US10042700B2 (en) * 2016-05-28 2018-08-07 Advanced Micro Devices, Inc. Integral post package repair
KR20180040474A (ko) * 2016-10-12 2018-04-20 삼성전자주식회사 칩 단위의 페일 정보를 레포팅하는 메모리 모듈, 메모리 모듈 및 메모리 컨트롤러의 동작 방법
KR102650154B1 (ko) * 2016-12-08 2024-03-22 삼성전자주식회사 가상 페일 생성기를 포함하는 메모리 장치 및 그것의 메모리 셀 리페어 방법
US10482983B2 (en) * 2016-12-22 2019-11-19 Seagate Technology Llc Read disturb detection based on dynamic bit error rate estimation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIM, D. u.a.: ECC-ASPIRIN: An ECC-assisted post-package repair scheme for aging errors in DRAMs. 2016 IEEE 34th VLSI Test Symposium (VTS), Las Vegas, NV, 2016, S. 1 – 6

Also Published As

Publication number Publication date
CN110825321A (zh) 2020-02-21
US20200058365A1 (en) 2020-02-20
US11302414B2 (en) 2022-04-12
KR102623234B1 (ko) 2024-01-11
KR20200019463A (ko) 2020-02-24
DE102019117787A1 (de) 2020-02-20

Similar Documents

Publication Publication Date Title
DE102019117787B4 (de) Speichervorrichtung und Betriebsverfahren derselben
US10671524B2 (en) Data storage device including nonvolatile memory device and operating method thereof
DE102017124079B4 (de) Speichervorrichtung zum Verarbeiten von beschädigten Metadaten und Verfahren zum Betreiben derselben
US9558839B2 (en) Power fail saving modes in solid state drive with MLC memory
US8484522B2 (en) Apparatus, system, and method for bad block remapping
DE112014005266B4 (de) Verfahren und System zur Vorwärtsreferenz-Protokollierung in einem peristenten Datenspeicher
DE102020112512A1 (de) Datenspeichergerät und Betriebsverfahren dafür
DE112016005869T5 (de) Vorausschauende Arbeitsspeicherinstandhaltung
DE112019000141T5 (de) System und verfahren zur vorhersage von mehrfachlesebefehlen, die auf nicht sequentielle daten gerichtet sind
DE102018122491A1 (de) Halbleiterspeichervorrichtung und verfahren zum betreiben derselben
DE102011075814B4 (de) Speicherpuffer mit zugänglicher Information nach einem Schreibfehler
DE102013109235A1 (de) Flash-Speichersystem mit Detektor für anormale Wortleitung und Verfahren zum Erfassen einer anormalen Wortleitung
DE102016009807A1 (de) Korrelieren von physikalischen seitenadressen für soft-decision-dekodierung
DE102019128491A1 (de) Betriebsverfahren für Open-Channel-Speichervorrichtung
DE112012004571T5 (de) Unterstützen von unvollständigen Datensegmenten in Flash-Cache-Speichern
DE102017114078A1 (de) Fehlerabschwächung für 3d-nand-flash-speicher
DE102013021679A1 (de) Rettung von Ereignisnachverfolgungsinformationen bei Stromausfall-Unterbrechungsszenarien
DE112016000696B4 (de) Ablaufplanungsschema(ta) für eine Mehrchip-Speichervorrichtung
DE102018124836A1 (de) Neuartiger speicherbaustein
DE102017120971A1 (de) Pipelineverzögerungsdetektion während des Decodierens durch eine Datenspeichereinrichtung
DE102021107443A1 (de) Dynamische speichersteuerung und verfahren zur verwendung damit
DE102020126409A1 (de) Speichervorrichtung zum Speichern von Modellinformationen, die Speichervorrichtung enthaltendes Speichersystem und Betriebsverfahren des Speichersystems
DE102020121109A1 (de) Speicher-controller, speichervorrichtungen und betriebsverfahren der speichervorrichtungen
CN111324549B (zh) 一种存储器及其控制方法和装置
DE102022213293A1 (de) Speichersteuerung und verfahren zum betreiben derselben

Legal Events

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