DE112013003255T5 - Managementmechanismus für fehlerhafte Blöcke - Google Patents

Managementmechanismus für fehlerhafte Blöcke Download PDF

Info

Publication number
DE112013003255T5
DE112013003255T5 DE112013003255.4T DE112013003255T DE112013003255T5 DE 112013003255 T5 DE112013003255 T5 DE 112013003255T5 DE 112013003255 T DE112013003255 T DE 112013003255T DE 112013003255 T5 DE112013003255 T5 DE 112013003255T5
Authority
DE
Germany
Prior art keywords
block
faulty
blocks
control logic
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.)
Granted
Application number
DE112013003255.4T
Other languages
English (en)
Other versions
DE112013003255B4 (de
Inventor
Raj K. Ramanujan
Glenn J. Hinton
David J. Zimmermann
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.)
Tahoe Research Ltd
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE112013003255T5 publication Critical patent/DE112013003255T5/de
Application granted granted Critical
Publication of DE112013003255B4 publication Critical patent/DE112013003255B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/886Masking faults in memories by using spares or by reconfiguring with partially good memories combining plural defective memory devices to provide a contiguous address range, e.g. one device supplies working blocks to replace defective blocks in another device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3422Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Ein System schließt ein nicht flüchtiger Random Access Memory-(NVRAM)-Gerät und Steuerlogik ein, die einen fehlerhaften Block innerhalb des Gerätes erkennt, den fehlerhaften Block rückordnet und den fehlerhaften Block mit einem Ersatzblock durch Zuordnen der Adresse des fehlerhaften Blocks zum Ersatzblock ersetzt.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Offenbarung betrifft im Allgemeinen das Gebiet der Elektronik. Insbesondere betreffen einige Ausführungsformen der Erfindung generell das Management von fehlerhaften Blöcken für blockorientierten nicht flüchtigen Speicher.
  • HINTERGRUND
  • Während Verarbeitungsfähigkeiten bei Prozessoren verbessert werden, ist ein Belang die Geschwindigkeit, mit der auf Speicher durch einen Prozessor zugegriffen werden kann. Um beispielsweise Daten zu verarbeiten, muss ein Prozessor vielleicht zuerst Daten von einem Speicher abrufen. Nach dem Abschluss der Verarbeitung müssen die Resultate eventuell im Speicher gespeichert werden. Deshalb kann die Speichergeschwindigkeit eine direkte Auswirkung auf die Gesamtsystemleistung haben.
  • Eine andere wichtige Überlegung ist der Energieverbrauch. Bei mobilen Geräten, die von Batteriestrom abhängen, ist es beispielsweise sehr wichtig, den Energieverbrauch zu reduzieren, um dem Gerät zu ermöglichen, mobil zu arbeiten. Der Energieverbrauch ist auch für nicht mobile Geräte wichtig, da überschüssiger Energieverbrauch die Kosten (z. B. aufgrund von zusätzlicher Energieverwendung, zunehmenden Kühlungsanforderungen usw.) erhöhen, die Komponentenlebensdauer verkürzen, die Orte begrenzen kann, an denen ein Gerät eingesetzt werden kann, usw.
  • Festplattenlaufwerke stellen eine relativ kostengünstige Speicherlösung bereit und werden in vielen Computergeräten verwendet, um nichtflüchtigen Speicher bereitzustellen. Plattenlaufwerke verwenden jedoch viel Energie verglichen mit Flash-Speichern, da ein Plattenlaufwerk seine Disks bei relativ hoher Geschwindigkeit drehen und die Diskköpfe relativ zu den drehenden Disks bewegen muss, um Daten zu lesen/zu schreiben. Diese ganze physische Bewegung erzeugt Wärme und vergrößert den Energieverbrauch. Zu diesem Zweck migrieren einige mobile High-End-Geräte in Richtung auf Flash-Speicher-Geräte, die nicht flüchtig sind. Jedoch weist Flash-Speicher eine Anzahl von Nachteilen auf einschließlich beispielsweise relativ großer Spannungspegelanforderungen, um Bit-Zustände zu ändern, eine Verzögerung bei Schreibzeiten aufgrund der Anforderung eines Ladungspumpenhochrampens, der Notwendigkeit, einen Block von Zellen zu einer Zeit zu löschen usw.
  • Phasenwechselspeicher (PCM) ist eine andere Art von nicht flüchtigem Speicher, der höhere Leistung und/oder Beständigkeit im Vergleich mit einem Flash-Speicher-Gerät bereitstellen kann. Beispielsweise ermöglicht PCM, dass ein einzelnes Bit geändert werden kann, ohne zuerst einen gesamten Block von Zellen löschen zu müssen, die PCM-Struktur kann sich langsamer verschlechtern, der PCM-Datenzustand kann für einen relativ längeren Zeitraum umgelernt werden und PCM ist skalierbarer.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die 1, 4 und 5 zeigen Blockdiagramme von Ausführungsformen von Computersystemen, die zur Implementierung verschiedener hier erörterter Ausführungsformen verwendet werden können.
  • 2 veranschaulicht ein Blockdiagramm von Komponenten, die verwendet werden können, um gemäß einiger Ausführungsformen zwischen SMA- und PCM-Adressen zu übersetzen.
  • 3 ist ein Ablaufdiagramm, das eine Ausführungsform des Managements von fehlerhaften Blöcken veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezielle Details angeführt, um ein gründliches Verständnis verschiedener Ausführungsformen bereitzustellen. Verschiedene erfindungsgemäße Ausführungsformen können jedoch ohne diese spezifischen Details umgesetzt werden. In anderen Fällen wurden wohlbekannte Verfahren, Verfahrensweisen, Komponenten und Schaltungen nicht im Detail beschrieben, um die jeweiligen erfindungsgemäßen Ausführungsformen nicht in den Hintergrund rücken zu lassen. Ferner können verschiedene Aspekte von erfindungsgemäßen Ausführungsformen unter Verwendung verschiedener Mittel ausgeführt werden, wie beispielsweise integrierte Halbleiterschaltungen („Hardware”), computerlesbare Befehle, die in einem oder mehreren Programmen organisiert sind („Software”), oder irgendeine Kombination von Hardware und Software. Zum Zwecke dieser Offenbarung soll ein Verweis auf „Logik” entweder Hardware, Software oder irgendeine Kombination davon bedeuten.
  • Einige Ausführungsformen betreffen das Management und/oder die Unterstützung von Metadaten für nicht flüchtige Random Access Memory-(NVRAM-)-Geräte wie Phasenwechselspeicher-(PCM)-Geräte. Die hier beschriebenen Ausführungsformen sind jedoch nicht auf PCM begrenzt und können auf jede Art des Schreibens auf nicht flüchtigen Speicher (z. B. Phasenwechselspeicher-Switch (PCMS)) angewandt werden. Dementsprechend können die Begriffe „PCMS” und „PCM” hierin austauschbar sein. PCMS besteht aus einem PCM-Element mit einem neu verwendeten Ovonic Threshold Switch (OTS) in einem wahren Kreuzungspunkt-Array. Die Fähigkeit, Arrays von PCMS zu schichten oder zu stapeln, bietet die Skalierbarkeit zu höheren Speicherdichten, während die Leistungscharakteristiken von PCM aufrechterhalten werden. Bei anderen Ausführungsformen können die hier offenbarten Konzepte auf andere Geräte mit nicht flüchtigem Speicher (z. B. ferroelektrischer Transistor-Random Access Memory (FeTram), Nanodraht usw.) angewandt werden.
  • PCM-Geräte nutzen das Verhalten von Chalkogenidglas aus, sodass Wärme, die durch den Durchgang eines elektrischen Stromes erzeugt wird, dieses Material zwischen kristallinen und amorphen Zuständen wechseln lässt. Bei einer Ausführungsform werden PCM-Gerätezugriffe durch eine Address Indirection Table (AIT) übersetzt. Bei einigen Ausführungsformen verbessern spezifische Verwendungen von PCM die Leistung von Speicherlösungen, indem sie die einzigartigen Fähigkeiten, die durch PCM bereitgestellt werden (z. B. seine Lade-/Speicherfähigkeiten), verwenden. Beispielsweise wird bei einem Hybrid-Speichergerät PCM für Metadatenspeicherung verwendet, während der relativ kostengünstigere NAND-Speicher für Datenspeicherung verwendet wird.
  • Des Weiteren können die hier beschriebenen Speichertechniken in verschiedenen Computersystemen bereitgestellt werden (z. B. einschließlich Smartphones, Tablets, tragbare Spielkonsolen, Ultramobil-Personal-Computer (UMPCs) usw.), wie diejenigen, die unter Bezugnahme auf die 15 beschrieben sind. Insbesondere veranschaulicht 1 ein Blockdiagramm eines Computersystems 100 gemäß einer Ausführungsform der Erfindung. Das System 100 kann einen oder mehrere Prozessoren 102-1 bis 102-N beinhalten (hier im Allgemeinen als „Prozessoren 102” oder „Prozessor 102” bezeichnet). Die Prozessoren 102 können über eine Kopplungsstruktur oder einen Bus 104 kommunizieren. Jeder Prozessor kann verschiedene Komponenten einschließen, von denen einige der Klarheit wegen nur mit Bezug auf Prozessor 102-1 erörtert werden. Demnach kann jeder der verbleibenden Prozessoren 102-2 bis 102-N die gleichen oder ähnliche Komponenten einschließen, wie mit Bezug auf den Prozessor 102-1 erörtert.
  • Bei einer Ausführungsform kann der Prozessor 102-1 einen oder mehrere Prozessorkerne 106-1 bis 106-M (hier als die „Kerne 106” oder allgemeiner als „Kern 106” bezeichnet), einen Cache 108 (der bei verschiedenen Ausführungsformen ein gemeinsam benutzter Cache oder ein privater Cache sein kann) und/oder einen Router 110 einschließen. Die Prozessorkerne 106 können auf einem einzelnen integrierten Schaltungs-(IC)-Chip implementiert sein. Außerdem kann der Chip einen oder mehrere gemeinsam benutzte und/oder private Caches (wie beispielsweise der Cache 108), Busse oder Kopplungsstrukturen (wie beispielsweise ein Bus oder eine Kopplungsstruktur 112), Memory-Controller (wie beispielsweise diejenigen, die mit Bezug auf die 4 und 5) erörtert werden, oder andere Komponenten einschließen.
  • Bei einer Ausführungsform kann der Router 110 dazu verwendet werden, zwischen verschiedenen Komponenten des Prozessors 102-1 und/oder System 100 zu kommunizieren. Außerdem kann der Prozessor 102-1 mehr als einen Router 110 einschließen. Außerdem kann die Menge an Routern 110 miteinander kommunizieren, um ein Datenrouting zwischen verschiedenen Komponenten innerhalb oder außerhalb des Prozessors 102-1 zu ermöglichen.
  • Der Cache 108 kann Daten speichern (z. B. einschließlich Befehlen), die von einer oder mehreren Komponenten des Prozessors 102-1, wie beispielsweise den Kernen 106, verwendet werden. Der Cache 108 kann beispielsweise Daten, die in einem Speicher 114 gespeichert sind, lokal zwischenspeichern, damit die Komponenten des Prozessors 102 schneller darauf zugreifen können. Wie gezeigt in 1 kann der Speicher 114 über die Verbindung 104 in Kommunikation mit den Prozessoren 102 sein. Bei einer Ausführungsform kann der Cache 108 (der gemeinsam benutzt werden kann) verschiedene Level aufweisen, beispielsweise kann der Cache 108 ein Mid Level Cache und/oder ein Last Level Cache (LLC) sein. Ebenso kann jeder der Kerne 106 einen Level 1-(L1)-Cache (116-1) (hier im Allgemeinen als „L1-Cache 116” bezeichnet) einschließen. Verschiedene Komponenten des Prozessors 102-1 können direkt mit dem Cache 108 über einen Bus (z. B. den Bus 112) und/oder einen Memory-Controller oder Hub kommunizieren.
  • Wie gezeigt in 1, kann der Speicher 114 mit anderen Komponenten des Systems 100 durch einen Memory-Controller 120 gekoppelt sein. Bei einer Ausführungsform schließt der Speicher 114 zwei Level von Speicher (2LM) ein, die Teilsätze von Systemdisk-Level-Speicher (zusätzlich zu beispielsweise Laufzeitdaten) zwischengespeichert haben. Der Speicher 114 schließt einen ersten Level (der alternativ hier als „naher Speicher” bezeichnet wird) ein, der kleineren schnelleren Speicher umfasst, welcher beispielsweise aus DRAM hergestellt ist; und einen zweiten Level (der hier alternativ als „ferner Speicher” bezeichnet wird), der größeren und langsameren (in Bezug auf den nahen Speicher) flüchtigen Speicher (z. B. DRAM) oder nicht flüchtigen Speicher (z. B. Flash-Speicher) umfasst.
  • Bei solch einer Ausführungsform kann der Speicher 114 bei einigen Ausführungsformen nicht flüchtigen Speicher wie PCM-Speicher einschließen. Obwohl der Memory-Controller 120 als zwischen der Verbindung 102 und dem Speicher 114 gekoppelt gezeigt ist, kann der Memory-Controller 120 sich an anderer Stelle im System 100 befinden. Beispielsweise kann der Memory-Controller 120 oder Teile davon bei einigen Ausführungsformen innerhalb von einem der Prozessoren 102 bereitgestellt sein. Bei einigen Ausführungsformen kann das System 100 auch Logik (z. B. die PCM-Steuerlogik 125) einschließen, um Lese- oder Schreibanfragen zum Speicher 114 in einer optimalen Art und Weise auszugeben.
  • Bei einigen Ausführungsformen ist PCM als Speicher adressierbar, aber aufgrund ihrer gerätespezifischen Eigenschaften von begrenzter Schreibbeständigkeit, begrenztem Lese-Drift usw. können PCM-Geräte eine Neuzuordnung der softwaregenerierten Systemspeicheradresse (SMA) zu einer nicht flüchtigen Speicheradresse (NVMA) (die hier auch als eine PCM-Adresse bezeichnet wird) erfordern. Eine AIT wird bei einer Ausführungsform verwendet, um diese Neuzuordnung über einen Controller (z. B. die Logik 125 von 1) zu implementieren. Bei einer Ausführungsform schließt jeder Eintrag in der AIT die NVM-Adresse ein, die der Systemspeicheradresse entspricht, die neu zugeordnet wird, und Metadaten-Informationen (z. B. bereitgestellt durch Software). Auf die in der AIT gespeicherten Informationen wird von der Logik 125 zugegriffen, um ein optimales Management des PCM-Geräts bereitzustellen.
  • 2 veranschaulicht ein Blockdiagramm von Komponenten 200, die verwendet werden können, um gemäß einiger Ausführungsformen zwischen SMA- und PCM-Adressen zu übersetzen. Wie zu sehen, ist eine Neuzuordnung, die auf NVM (SMA1) mit Metadaten zugreift, gezeigt, im Vergleich zu einer Neuzuordnung eines Zugriffs auf SMA2 schreibend mit „0” Metadaten und lesend auf die gleiche (SMA2), was einen Zugriff auf NVM/PCM-Speicher 204 vermeidet.
  • Bei einer Ausführungsform ist NVM/PCM-Speicher 204 in Blöcke und Unterblöcke aufgeteilt. Bei solch einer Ausführungsform stellen die Unterblöcke die Zugriffsfeinheit für Lese- und Schreibzugriffe dar. Bei einer weiteren Ausführungsform wird ECC (Fehlerkorrekturcode) beim Unterblock-Level aufrechterhalten, sodass der Unterblock über mehrere Geräte gestreift ist mit einem exklusiven ODER-(XOR)-Wert der in noch einem weiteren Gerät gespeichert ist. Deshalb wird eine ECC-Überprüfung beim Unterblock ausgeführt, wann immer ein Unterblock gelesen wird. Wenn es einen unkorrigierbaren Fehler gibt, werden die XOR-Inhalte für die Wiederherstellung verwendet.
  • Bei einer Ausführungsform können die Metadaten durch Software unter Verwendung einer neuen Befehlssatzarchitektur (ISA) bereitgestellt oder alternativ von einer gegenwärtigen Befehlssatzarchitektur abgeleitet werden. Die Metadaten-Informationen können von der CPU 102 (die hier auch austauschbar als „Prozessor” bezeichnet wird) zur PCM-Steuerlogik 125 gesendet werden, welche die Adressen unter Verwendung von AIT 202 neu zuordnet. Die Metadaten können die Logik 125 mit einer Semantik über die Daten bei der NVM/PCM-Adresse ausstatten, die sie verwenden kann, um optimalere Entscheidungen bezüglich der Geräteverwaltung zu treffen.
  • Ein Problem existiert bei der Implementierung von NVM/PCM als Speicher 204 in einer Zwei-Level-Speicherhierarchie, da PCM eine ziemlich hohe Ausfallhäufigkeit aufweist. Gemäß einer Ausführungsform stellt die Steuerlogik 25 einen Mechanismus für das Behandeln von fehlerhaften Blöcken im Speicher 204 bereit. Bei solch einer Ausführungsform, werden Speicher-204-Unterblöcke, die sich als behebbar darstellen oder eine große Anzahl davon, isoliert, sodass ein fehlerhafter Block bestimmt werden kann, bevor seine Inhalte nicht wiederherstellbar werden.
  • Bei einer Ausführungsform werden Inhalte eines Blocks zu einem anderen Block im Speicher 204 kopiert, bevor der Block rückgeordnet wird. Anschließend wird dem Ersatzblock die ursprüngliche Systemadresse für den rückgeordneten Block zugewiesen. Dementsprechend ist das Bewegen eines fehlerhalten Blocks zu einem unterschiedlichen Block einem Flash-Speicher-Verschleiß-Level-Bewegen sehr ähnlich, wobei der Unterschied der ist, dass der Unterblock rückgeordnet ist und nicht wieder verwendet werden kann.
  • Gemäß einer Ausführungsform schließt die Steuerlogik 125 eine Liste von freien Blöcken 220 ein, die implementiert ist, um den Ort des Ersatzblocks auszuwählen. Die Liste von freien Blöcken 220 erhält einen Satz von freien PCM-Blöcken aufrecht, der kontinuierlich gefüllt wird, um Blöcke zu ersetzen, die aus Gründen von Verschleiß oder fehlerhafter Blockbewegung rückgeordnet wurden. Bei einer Ausführungsform sind die freien Blöcke zusätzliche Blöcke, auf die Systemsoftware keinen Zugriff hat. Daher bleibt die Gesamtzahl an Blöcken, die von der Systemsoftwaregesehen wird, konstant. Der rückgeordnete Block wird in eine Liste von fehlerhaften Blöcken bewegt und kann nicht wieder verwendet werden.
  • Bei einer weiteren Ausführungsform können die Inhalte eines Blocks, der aufgrund von Überbeanspruchung verschlissen ist, auch zu einem neuen PCM-Block von der Liste von freien Blöcken 220 bewegt werden. Bei einer Ausführungsform kann die Steuerlogik 25 neue Blöcke, die in die Liste eingegeben werden sollen, unter Verwendung eines zufälligen Algorithmus auswählen. Jedoch können andere Ausführungsformen eine von einer Vielzahl von unterschiedlichen Herangehensweisen verwenden.
  • 3 ist ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses veranschaulicht, der durch die Steuerlogik 125 implementiert wird, um ein Management von fehlerhaften Blöcken auszuführen. Bei Verarbeitungsblock 310 wird ein fehlerhafter Block erkannt. Gemäß einer Ausführungsform können verschiedene Richtlinien verwendet werden, um zu bestimmen, ob ein Block fehlerhaft wurde und rückgeordnet werden muss. Zum Beispiel kann ein Block als fehlerhaft angesehen werden, wenn eine Anzahl von ECC-Fehlern einen vorbestimmten Schwellenwert überschritten hat, ein Hardwarefehler erkannt wurde oder basierend auf Fehlerzuständen vom PCM (z. B. Wärmestatistik). Bei einer alternativen Ausführungsform kann ein Block nach einer vorbestimmten Anzahl an Zugriffen als fehlerhaft betrachtet werden. Bei solch einer Ausführungsform verfolgt die Steuerlogik 125 die Anzahl an Zugriffen auf jeden Block und tauscht einen Block, der eine hohe Zugriffszählung aufweist, der einen Block mit einer niedrigen Zugriffszählung nach einer Anzahl von Zugriffen aufweist, die einen vorbestimmten Schwellenwert erreicht, aus. Dies kann durch Bewegen von Blöcken durch die Liste von freien Blöcken 220 oder durch das direkte Austauschen der Blöcke mit hohem und niedrigem Verschleiß erreicht werden.
  • Bei Entscheidungsblock 320 wird bestimmt, ob eine Anzahl von fehlerhaften Blöcken im PCM-DIMM, bei dem sich der Block befindet, einen vorbestimmten Schwellenwert überschritten hat. Wenn dies so ist, wird der DIMM unmittelbar rückgeordnet, Verarbeitungsblock 330. Sonst wird ein Ersatzblock von der Liste von freien Blöcken 220 ausgewählt, Verarbeitungsblock 340. Bei Verarbeitungsblock 350 werden die Inhalte des rückgeordneten Blocks in den Ersatzblock bewegt.
  • Bei Verarbeitungsblock 360 wird die AIT 202 aktualisiert, um die Systemadresse auf die Ersatzblockadresse zeigen zu lassen. Bei Verarbeitungsblock 370 ist der Ersatzblock für Zugriff verfügbar. Der oben beschriebene Mechanismus ermöglicht die Neuzuordnung von Blöcken in einem PCM-Speichersubsystem durch Gebrauch einer AIT.
  • 4 zeigt ein Blockdiagramm eines Computersystems 400 in Übereinstimmung mit einer erfindungsgemäßen Ausführungsform. Das Computersystem 400 kann eine oder mehrere Zentraleinheiten (CPUs) 402 oder Prozessoren einschließen, die über ein Kopplungsstrukturnetzwerk (oder einen Bus) 404 kommunizieren. Die Prozessoren 402 können einen Universalprozessor, einen Netzwerkprozessor (der Daten verarbeitet, die über ein Computernetzwerk 403 kommuniziert werden), einen Anwendungsprozessor (wie diejenigen, die in Mobiltelefonen, Smartphones usw. verwendet werden) oder andere Typen eines Prozessors (einschließlich eines Reduced Instruction Set Computer-(RISC)-Prozessors oder eines Complex Instruction Set Computer (CISC)) einschließen. Verschiedene Arten von Computernetzwerken 403 können verwendet werden einschließlich verdrahteter (z. B. Ethernet, Gigabit, Fiber usw.) oder drahtlose Netzwerke (wie Mobilfunk, 3G (Handy-Technologie der dritten Generation oder 3rd Generation Wireless Format (UWCC)), 4G, Low Power Embedded (LPE) usw.). Außerdem können die Prozessoren 602 ein Einkern- oder Mehrkerndesign aufweisen. Die Prozessoren 402 mit einem Mehrkerndesign können verschiedene Arten von Prozessorkernen auf der gleichen IC-Chiplage integrieren. Ebenfalls können die Prozessoren 402 mit Mehrkerndesign als symmetrische oder asymmetrische Multiprozessoren implementiert sein.
  • Bei einer Ausführungsform können ein oder mehrere der Prozessoren 402 gleich oder ähnlich den Prozessoren 102 von 1 sein. Beispielsweise können ein oder mehrere der Prozessoren 402 einen oder mehrere der Kerne 106 und/oder Cache 108 einschließen. Ebenfalls können die Operationen, die mit Bezug auf die 15 erörtert werden, durch eine oder mehrere Komponenten des Systems 400 ausgeführt werden.
  • Ein Chipsatz 406 kann ebenfalls mit dem Kopplungsstrukturnetzwerk 404 kommunizieren. Der Chipsatz 406 kann einen Grafik- und Memory-Control-Hub (GMCH) 408 einschließen. Der GMCH 408 kann einen Memory-Controller 410 einschließen (der bei einer Ausführungsform gleich oder ähnlich dem Memory-Controller 120 von 1 ist, z. B. einschließlich der Logik 125), der mit dem Speicher 114 kommuniziert. Der Speicher 114 kann Daten speichern, einschließlich Sequenzen von Befehlen, die durch die CPU 402 oder jedes andere Gerät, das in dem Computersystem 400 eingeschlossen ist, ausgeführt werden. Bei einer erfindungsgemäßen Ausführungsform kann der Speicher 114 einen oder mehrere flüchtige Speicher-(oder Memory)-Geräte, wie beispielsweise Random Access Memory (RAM), dynamischer RAM (DRAM), synchroner DRAM (SDRAM), statischer RAM (SRAM) oder andere Arten von Speichergeräten einschließen. Nicht flüchtige Speicher können ebenfalls verwendet werden, wie beispielsweise eine Festplatte. Zusätzliche Geräte können über das Kopplungsstrukturnetzwerk 604, wie beispielsweise mehrere CPUs und/oder mehrere Systemspeicher, kommunizieren.
  • Der GMCH 408 kann ebenfalls eine Grafikschnittstelle 414 einschließen, die mit einem Grafikbeschleuniger 416 kommuniziert. Bei einer erfindungsgemäßen Ausführungsform kann die Grafikschnittstelle 414 mit dem Grafikbeschleuniger 416 über einen Accelerated Graphics Port (AGP) kommunizieren. Bei einer erfindungsgemäßen Ausführungsform kann ein Display 417 (wie ein Flachbildschirm, ein Touchscreen etc.) mit der Grafikschnittstelle 414 über beispielsweise einen Signalumwandler kommunizieren, der eine digitale Darstellung eines Bildes, das in einem Speichergerät, wie beispielsweise einem Videospeicher oder Systemspeicher, gespeichert ist, in Displaysignale übersetzt, die vom Display interpretiert und angezeigt werden. Die durch das Displaygerät erzeugten Displaysignale können verschiedene Steuergeräte durchlaufen, bevor sie vom Display 417 interpretiert und anschließend darauf angezeigt werden.
  • Eine Hub-Schnittstelle 418 kann dem GMCH 408 ermöglichen, mit einem Eingangs-/Ausgangs-Kontrollhub (ICH) 420 zu kommunizieren. Der ICH 420 kann eine Schnittstelle zu Ein-/Ausgangs-(I/O)-Geräten bereitstellen, die mit dem Computersystem 400 kommunizieren. Der ICH 420 kann mit einem Bus 422 mittels einer peripheren Brücke (oder Controller) 424, wie beispielsweise einer Peripheral Component Interconnect-(PCI)-Brücke, einem universellen seriellen Bus-(USB)-Controller oder anderen Arten von peripheren Brücken oder Controller kommunizieren. Die Brücke 424 kann einen Datenpfad zwischen der CPU 402 und peripheren Geräten bereitstellen. Andere Arten von Topologien können verwendet werden. Es können auch mehrere Busse mit dem ICH 620 kommunizieren, z. B. mittels mehrerer Brücken oder Controller. Außerdem können andere Peripheriegeräte in Kommunikation mit dem ICH 420 bei verschiedenen erfindungsgemäßen Ausführungsformen, Integrated Drive Electronics (IDE) oder Small Computer System Interface-(SCSI)-Festplatte(n), USB-Port(s), eine Tastatur, eine Maus, parallele(n) Port(s), serielle(n) Port(s), Diskettenlaufwerk(e), Unterstützung digitaler Ausgaben (z. B. Digital Video Interface (DVI)) oder andere Geräte einschließen.
  • Der Bus 422 kann mit einem Audiogerät 426, einem oder mehreren Diskettenlaufwerken 428 und einem Netzwerkschnittstellengerät 430 (das beispielsweise über eine verdrahtete oder drahtlose Schnittstelle in Kommunikation mit dem Computernetzwerk 403 steht) kommunizieren. Wie gezeigt, kann das Netzwerkschnittstellengerät 430 mit einer Antenne 431 gekoppelt sein (z. B. über eine Schnittstelle von Institute of Electrical and Electronics Engineers (IEEE) 802.11 (einschließlich IEEE 802.11a/b/g/n usw.), Mobilfunkschnittstelle, 3G, 4G, LPE usw.), um drahtlos mit dem Netzwerk 403 zu kommunizieren. Andere Geräte können über den Bus 422 kommunizieren. Ebenfalls können verschiedene Komponenten (wie beispielsweise das Netzwerkschnittstellengerät 430) bei einigen erfindungsgemäßen Ausführungsformen mit dem GMCH 408 kommunizieren. Zusätzlich können der Prozessor 402 und der GMCH 408 kombiniert sein, um einen einzelnen Chip zu bilden. Des Weiteren kann bei anderen erfindungsgemäßen Ausführungsformen der Grafikbeschleuniger 416 in dem GMCH 408 eingeschlossen sein.
  • Des Weiteren kann das Computersystem 400 flüchtigen und/oder nicht flüchtigen Memory (oder Speicher) einschließen. Beispielsweise kann Permanentspeicher eines oder mehrere der Folgenden beinhalten: Festspeicher (ROM), programmierbaren ROM (PROM), löschbaren PROM (EPROM), elektrischer EPROM (EEPROM), ein Diskettenlaufwerk (z. B. 628), eine Diskette, eine Compact Disk ROM (CD-ROM), eine Digital Versatile Disk (DVD), Flash-Memory, eine magnetooptische Disk oder andere Arten von nicht flüchtigen maschinenlesbaren Medien, die in der Lage sind, elektronische Daten (z. B. einschließlich Befehlen) zu speichern.
  • 5 veranschaulicht ein Computersystem 500, das gemäß einer erfindungsgemäßen Ausführungsform in einer Punkt-zu-Punkt-(PtP)-Konfiguration angeordnet ist. Insbesondere zeigt 5 ein System, bei dem Prozessoren, Speicher und Eingabe-/Ausgabegeräte durch mehrere Punkt-zu-Punkt-Schnittstellen miteinander verbunden sind. Die Operationen, die mit Bezug auf die 1 bis 6 erörtert werden, können durch eine oder mehrere Komponenten des Systems 700 ausgeführt werden.
  • Wie veranschaulicht in 5 kann das System 500 mehrere Prozessoren einschließen, von denen der Klarheit wegen nur zwei, nämlich die Prozessoren 502 und 504, gezeigt sind. Die Prozessoren 502 und 704 können jeweils einen lokalen Memory-Controller-Hub (MCH) 506 und 508 einschließen, um die Kommunikation mit den Speichern 510 und 512 zu ermöglichen. Die Speicher 510 und/oder 512 können verschiedene Daten speichern, wie beispielsweise diejenigen, die mit Bezug auf den Speicher 114 der 1 und/oder 4 veranschaulicht sind. Außerdem können bei einigen Ausführungsformen die MCH 506 und 508 den Memory-Controller 120 und/oder die Logik 125 von 1 einschließen.
  • Bei einer Ausführungsform können die Prozessoren 502 und 504 einer der Prozessoren 402 sein, die mit Bezug auf 4 erörtert werden. Die Prozessoren 502 und 504 können über eine Punkt-zu-Punkt-(PtP)-Schnittstelle 514 unter Verwendung der PtP-Schnittstellenschaltungen 516 und 518 Daten austauschen. Die Prozessoren 502 und 504 können ebenfalls jeweils Daten mit einem Chipsatz 520 über einzelne PtP-Schnittstellen 522 und 524 unter Verwendung der Punkt-zu-Punkt-Schnittstellenschaltungen 526, 528, 730 und 532 austauschen. Der Chipsatz 520 kann weiter Daten mit einer Hochleistungsgrafikschaltung 534 über eine Hochleistungsgrafikschnittstelle 536, z. B. unter Verwendung einer PtP-Schnittstellenschaltung 537, austauschen. Wie beschrieben, unter Bezugnahme auf 4, kann die Grafikschnittstelle 536 bei einigen Ausführungsformen mit einem Anzeigegerät (z. B. Display 417) gekoppelt sein.
  • Wie gezeigt in 5, können sich ein oder mehrere der Kerne 106 und/oder Cache 108 von 1 innerhalb der Prozessoren 502 und 504 befinden. Andere erfindungsgemäße Ausführungsformen können jedoch in anderen Schaltungen, Logikeinheiten oder Geräten innerhalb des Systems 500 von 5 existieren. Des Weiteren können andere erfindungsgemäße Ausführungsformen auf mehrere Schaltungen, Logikeinheiten oder Geräte, die in 5 veranschaulicht sind, verteilt sein.
  • Der Chipsatz 520 kann mit einem Bus 540 unter Verwendung einer PtP-Schnittstellenschaltung 541 kommunizieren. Der Bus 540 kann ein oder mehrere Geräte aufweisen, die mit ihm kommunizieren, wie beispielsweise eine Busbrücke 542 und die I/O-Geräte 543. Über einen Bus 544 kann die Busbrücke 543 mit anderen Geräten, wie beispielsweise einer Tastatur/Maus 545, den Kommunikationsgeräten 546 (wie beispielsweise Modems, Netzwerkschnittstellengeräte oder andere Kommunikationsgeräte, die mit dem Computernetzwerk 403, wie beschrieben unter Bezugnahme auf Netzwerkschnittstellengerät 430 beispielsweise einschließlich über die Antenne 431 kommunizieren können), einem Audio-I/O-Gerät und/oder dem Datenspeichergerät 548, kommunizieren. Die Datenspeichergeräte 548 können Code 549 speichern, der durch die Prozessoren 502 und/oder 504 ausgeführt werden kann.
  • Bei vielen erfindungsgemäßen Ausführungsformen können die hier erörterten Operationen, z. B. mit Bezug auf die 1 bis 5, als Hardware (z. B. Schaltungen), Software, Firmware, Mikrocode oder Kombinationen davon implementiert werden, die als ein Computerprogramm-Produkt bereitgestellt werden können, z. B. einschließlich eines körperlichen (z. B. nicht flüchtigen) maschinenlesbaren oder computerlesbaren Mediums, auf dem Befehle (oder Softwareprozeduren) gespeichert sind, die verwendet werden, um einen Computer so zu programmieren, dass er einen hier erörterten Prozess ausführt. Der Begriff „Logik” kann auch beispielsweise Software oder Hardware und/oder Kombinationen von Software und Hardware einschließen. Das maschinenlesbare Medium kann ein Speichergerät, wie beispielsweise diejenigen, die mit Bezug auf die 1 bis 5 beschrieben sind, einschließen.
  • Zusätzlich können solche körperlichen computerlesbaren Medien als ein Computerprogramm-Produkt heruntergeladen werden, wobei das Programm von einem entfernten Computer (z. B. einem Server) zu einem anfragenden Computer (z. B. einem Client) mittels Datensignalen (wie in einem Trägersignal oder einem anderen Ausbreitungsmedium) über einen Kommunikationslink (z. B. einen Bus, ein Modem oder eine Netzwerkverbindung) übertragen werden kann.
  • Die Bezugnahme auf „eine Ausführungsform” in der Beschreibung bedeutet, dass eine bestimmte Funktionalität, Struktur oder ein bestimmtes Merkmal, das in Zusammenhang mit der Ausführungsform beschrieben wird, in mindestens eine Implementierung eingeschlossen sein kann. Das Auftreten des Ausdrucks „bei einer Ausführungsform” an verschiedenen Stellen in der Beschreibung kann sich stets auf die gleiche Ausführungsform beziehen oder auch nicht.
  • In der Beschreibung und den Ansprüchen können auch die Begriffe „gekoppelt” und „verbunden” gemeinsam mit ihren Ableitungen verwendet werden. Bei einigen erfindungsgemäßen Ausführungsformen kann „verbunden” verwendet sein, um anzuzeigen, dass zwei oder mehrere Elemente in direktem physischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt” kann bedeuten, dass zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt stehen. „Gekoppelt” kann aber auch bedeuten, dass sich zwei oder mehrere Elemente vielleicht nicht in direktem Kontakt miteinander befinden, jedoch trotzdem miteinander kooperieren oder zusammenwirken können.
  • Obwohl somit erfindungsgemäße Ausführungsformen sprachlich durch spezifische Strukturmerkmale und/oder methodische Akte beschrieben wurden, versteht sich, dass der beanspruchte Gegenstand nicht auf diese spezifischen Merkmale oder Akte beschränkt sein kann. Vielmehr werden die spezifischen Merkmale und Handlungen als beispielhafte Formen offenbart, die den beanspruchten Gegenstand implementieren.
  • Eine Vorrichtung umfasst Phasenwechselspeicher mit Switch-(PCMS)-Steuerlogik, um einen fehlerhaften Block innerhalb eines PCM-Gerätes zu erkennen, den fehlerhaften Block rückzuordnen und den fehlerhaften Block mit einem Ersatzblock durch Zuordnen der Adresse des fehlerhaften Blocks zum Ersatzblock zu ersetzen. Die Steuerlogik bewegt die Inhalte des rückgeordneten Blocks vor dem Rückordnen des fehlerhaften Blocks zum Ersatzblock.

Claims (30)

  1. Vorrichtung, umfassend: Memory-Controller-Logik, um einen fehlerhaften Block innerhalb eines nicht flüchtigen Random Access Memory-(NVRAM)-Geräts zu erkennen, den fehlerhaften Block rückzuordnen und den fehlerhaften Block mit einem Ersatzblock durch Zuordnen der Adresse des fehlerhaften Blocks zum Ersatzblock zu ersetzen.
  2. Vorrichtung nach Anspruch 1, wobei die Steuerlogik die Inhalte des rückgeordneten Blocks vor dem Rückordnen des fehlerhaften Blocks zum Ersatzblock bewegt.
  3. Vorrichtung nach Anspruch 1, weiter umfassend eine Address Indirect Table (AIT), um Informationen zu speichern und zwischen Systemspeicheradressen und NVRAM-Adressen zu übersetzen, wobei die Steuerlogik die Adresse des fehlerhaften Blocks zum Ersatzblock unter Verwendung der AIT neu zuordnet.
  4. Vorrichtung nach Anspruch 3 weiter umfassend eine Liste von freien Blocks einschließlich einer Liste von Blöcken, die zur Verwendung als Ersatzblöcke verfügbar sind.
  5. Vorrichtung nach Anspruch 4, wobei die Steuerlogik den Ersatzblock aus der Liste von freien Blöcken auswählt und die Adresse des fehlerhaften Blocks zum Ersatzblock neu zuordnet.
  6. Vorrichtung nach Anspruch 1, wobei die Steuerlogik nach dem Erkennen, dass eine Anzahl von Fehlerkorrekturcode-(ECC)-Fehlern einen vorbestimmten Schwellenwert überschritten hat, erkennt, dass der Block fehlerhaft ist.
  7. Vorrichtung nach Anspruch 1, wobei die Steuerlogik nach dem Erkennen eines Hardwarefehlers am NVRAM-Gerät erkennt, dass der Block fehlerhaft ist.
  8. Vorrichtung nach Anspruch 1, wobei die Steuerlogik nach dem Erkennen von einem oder mehreren Fehlerzuständen am NVRAM-Gerät erkennt, dass der Block ein fehlerhafter Block ist.
  9. Vorrichtung nach Anspruch 1, wobei die Steuerlogik bestimmt, ob eine Anzahl von fehlerhaften Blöcken im PCM-Gerät einen vorbestimmten Schwellenwert überschritten hat.
  10. Vorrichtung nach Anspruch 8, wobei das NVRAM-Gerät nach dem Bestimmen, dass die Anzahl an fehlerhaften Blöcken einen vorbestimmten Schwellenwert überschritten hat, rückgeordnet wird.
  11. Vorrichtung nach Anspruch 1, wobei das NVRAM-Gerät ein Phasenwechselspeicher mit Switch-(PCMS)-Gerät ist.
  12. Verfahren, umfassend: das Erkennen eines fehlerhaften Blocks innerhalb eines nicht flüchtigen Random Access Memory (NVRAM); das Auswählen eines Ersatzblocks; das Zuordnen der Adresse des fehlerhaften Blocks zum Ersatzblock; und das Rückordnen des fehlerhaften Blocks.
  13. Verfahren nach Anspruch 12, weiter umfassend das Bewegen der Inhalte des fehlerhaften Blocks zum Ersatzblock vor dem Rückordnen des fehlerhaften Blocks.
  14. Verfahren nach Anspruch 12, wobei das Zuordnen der Adresse des fehlerhaften Blocks zum Ersatzblock das Neuzuordnen der Adresse des fehlerhaften Blocks zum Ersatzblock unter Verwendung einer AIT umfasst.
  15. Verfahren nach Anspruch 12, wobei der Ersatzblock aus einer Liste von freien Blöcken, die eine Liste von Blöcken, die zur Verwendung als Ersatzblöcke verfügbar sind, einschließt, ausgewählt wird.
  16. Verfahren nach Anspruch 12, wobei das Erkennen eines fehlerhaften Blocks das Erkennen umfasst, dass eine Anzahl von Fehlerkorrekturcode-(ECC)-Fehlern einen vorbestimmten Schwellenwert überschritten hat.
  17. Verfahren nach Anspruch 12, wobei das Erkennen eines fehlerhaften Blocks das Erkennen umfasst, dass der Block fehlerhaft ist, nach dem Erkennen eines Hardwarefehlers am NVRAM-Gerät.
  18. Verfahren nach Anspruch 12, wobei das Erkennen eines fehlerhaften Blocks das Erkennen von einem oder mehreren Fehlerzuständen am NVRAM-Gerät umfasst.
  19. Verfahren nach Anspruch 12, weiter umfassend das Bestimmen, ob eine Anzahl von fehlerhaften Blöcken im NVRAM-Gerät einen vorbestimmten Schwellenwert überschritten hat.
  20. Verfahren nach Anspruch 19, wobei das NVRAM-Gerät nach dem Bestimmen, dass die Anzahl an fehlerhaften Blöcken den vorbestimmten Schwellenwert überschritten hat, rückgeordnet wird.
  21. System umfassend: ein nicht flüchtiges Random Access Memory-(NVRAM)-Gerät; und Steuerlogik, um einen fehlerhaften Block innerhalb des NVRAM-Gerätes zu erkennen, den fehlerhaften Block rückzuordnen und den fehlerhaften Block mit einem Ersatzblock durch Zuordnen der Adresse des fehlerhaften Blocks zum Ersatzblock zu ersetzen.
  22. System nach Anspruch 23, wobei die Steuerlogik die Inhalte des fehlerhaften Blocks vor dem Rückordnen des fehlerhaften Blocks zum Ersatzblock bewegt.
  23. System nach Anspruch 22 weiter umfassend eine AIT, um Informationen zu speichern und zwischen Systemspeicheradressen und NVRAM-Adressen zu übersetzen, wobei die Steuerlogik die Adresse des fehlerhaften Blocks zum Ersatzblock unter Verwendung der AIT neu zuordnet.
  24. System nach Anspruch 23, weiter umfassend eine Liste von freien Blöcken, die eine Liste von Blöcken, die zur Verwendung als Ersatzblöcke verfügbar sind, einschließt.
  25. System nach Anspruch 21, wobei die Steuerlogik nach dem Erkennen, dass eine Anzahl von ECC-Fehlern einen vorbestimmten Schwellenwert überschritten hat, erkennt, dass der Block fehlerhaft ist.
  26. System nach Anspruch 21, wobei die Steuerlogik nach dem Erkennen eines Hardwarefehlers am NVRAM-Gerät erkennt, dass der Block fehlerhaft ist.
  27. System nach Anspruch 21, wobei die Steuerlogik nach dem Erkennen von einem oder mehreren Fehlerzuständen am NVRAM-Gerät erkennt, dass der Block ein fehlerhafter Block ist.
  28. System nach Anspruch 21, wobei die Steuerlogik bestimmt, ob eine Anzahl von fehlerhaften Blöcken im NVRAM-Gerät einen vorbestimmten Schwellenwert überschritten hat.
  29. System nach Anspruch 28, wobei das NVRAM-Gerät nach dem Bestimmen, dass die Anzahl an fehlerhaften Blöcken den vorbestimmten Schwellenwert überschritten hat, rückgeordnet wird.
  30. System nach Anspruch 21, wobei das NVRAM-Gerät ein Phasenwechselspeicher mit Switch-(PCMS)-Gerät ist.
DE112013003255.4T 2012-06-29 2013-06-03 Managementmechanismus für fehlerhafte Blöcke Active DE112013003255B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/537,969 2012-06-29
US13/537,969 US9418700B2 (en) 2012-06-29 2012-06-29 Bad block management mechanism
PCT/US2013/043894 WO2014003982A1 (en) 2012-06-29 2013-06-03 Bad block management mechanism

Publications (2)

Publication Number Publication Date
DE112013003255T5 true DE112013003255T5 (de) 2015-05-13
DE112013003255B4 DE112013003255B4 (de) 2023-01-26

Family

ID=49779535

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013003255.4T Active DE112013003255B4 (de) 2012-06-29 2013-06-03 Managementmechanismus für fehlerhafte Blöcke

Country Status (7)

Country Link
US (1) US9418700B2 (de)
KR (1) KR101696530B1 (de)
CN (1) CN104380262A (de)
BR (1) BR112014029798B1 (de)
DE (1) DE112013003255B4 (de)
GB (1) GB2518079B (de)
WO (1) WO2014003982A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9431110B2 (en) * 2012-09-26 2016-08-30 Intel Corporation Column address decoding
CN110262719B (zh) * 2013-03-29 2023-03-24 松下电器(美国)知识产权公司 记录介质、控制方法、信息提供方法以及信息终端
US10303324B2 (en) * 2014-02-10 2019-05-28 Samsung Electronics Co., Ltd. Electronic device configured to display three dimensional (3D) virtual space and method of controlling the electronic device
US9736288B1 (en) * 2014-06-26 2017-08-15 EMC IP Holding Company LLC Multilayer mobile app interface
CA2953582C (en) * 2014-10-06 2023-10-24 Dexcom, Inc. System and method for data analytics and visualization
US9678827B2 (en) * 2014-10-07 2017-06-13 SK Hynix Inc. Access counts for performing data inspection operations in data storage device
KR20160042224A (ko) * 2014-10-07 2016-04-19 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9437298B1 (en) * 2015-03-25 2016-09-06 Intel Corporation Self-storing and self-restoring non-volatile static random access memory
US9740437B2 (en) * 2015-03-27 2017-08-22 Intel Corporation Mechanism to adapt garbage collection resource allocation in a solid state drive
US9952801B2 (en) * 2015-06-26 2018-04-24 Intel Corporation Accelerated address indirection table lookup for wear-leveled non-volatile memory
CN106354652B (zh) * 2015-07-15 2019-09-27 上海华虹集成电路有限责任公司 非易失性存储器读写控制电路
US9766814B2 (en) * 2015-08-10 2017-09-19 Intel Corporation Method and apparatus for defect management in a non-volatile memory device
US10120751B2 (en) 2015-09-25 2018-11-06 Intel Corporation Techniques to recover data using exclusive OR (XOR) parity information
CN105355233B (zh) * 2015-11-23 2018-04-10 清华大学 基于pcm反转纠错算法的高效数据写入方法
US10614903B2 (en) * 2016-07-18 2020-04-07 International Business Machines Corporation Testing non-volatile memories
CN106486170B (zh) * 2016-09-06 2019-11-26 深圳忆数存储技术有限公司 固态硬盘的潜在坏块定位方法及装置
US10452468B2 (en) 2016-12-30 2019-10-22 Western Digital Technologies, Inc. Method and system for managing non-volatile memory
TWI687933B (zh) * 2017-03-03 2020-03-11 慧榮科技股份有限公司 資料儲存裝置及其區塊釋放方法
KR102395434B1 (ko) 2017-03-20 2022-05-09 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
KR20190073125A (ko) * 2017-12-18 2019-06-26 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
CN108182961A (zh) * 2018-01-12 2018-06-19 江苏华存电子科技有限公司 一种多通道存储系统的坏块处理方法
US11132247B2 (en) * 2018-07-30 2021-09-28 Micron Technology, Inc. Selective bad block untag and bad block reuse
TWI688953B (zh) * 2019-04-10 2020-03-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN111831210B (zh) * 2019-04-18 2023-12-15 群联电子股份有限公司 存储器管理方法、存储器控制电路单元及存储器存储装置
US11579772B2 (en) 2020-11-25 2023-02-14 Micron Technology, Inc. Managing page retirement for non-volatile memory
CN112464500B (zh) * 2020-12-24 2021-10-29 芯天下技术股份有限公司 备份cell替换电路验证方法、装置、存储介质和终端

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4950886B2 (ja) 2005-07-15 2012-06-13 パナソニック株式会社 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法
CN100520734C (zh) * 2005-11-18 2009-07-29 凌阳科技股份有限公司 闪存的控制装置与方法
US20090013148A1 (en) 2007-07-03 2009-01-08 Micron Technology, Inc. Block addressing for parallel memory arrays
KR101466694B1 (ko) * 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
JP2009110053A (ja) 2007-10-26 2009-05-21 Toshiba Corp メモリシステム
US8161265B2 (en) * 2008-02-01 2012-04-17 International Business Machines Corporation Techniques for multi-level indirect data prefetching
KR100982440B1 (ko) 2008-06-12 2010-09-15 (주)명정보기술 단일 플래시 메모리의 데이터 관리시스템
US20090327837A1 (en) * 2008-06-30 2009-12-31 Robert Royer NAND error management
TWI381393B (zh) 2008-10-06 2013-01-01 Phison Electronics Corp 區塊管理與更換方法、快閃記憶體儲存系統及其控制器
US20100146239A1 (en) 2008-12-08 2010-06-10 Infinite Memories Ltd. Continuous address space in non-volatile-memories (nvm) using efficient embedded management of array deficiencies
US8095765B2 (en) 2009-03-04 2012-01-10 Micron Technology, Inc. Memory block management
TWI408551B (zh) * 2009-10-28 2013-09-11 Phison Electronics Corp 快閃記憶體儲存系統及其控制器與資料處理方法
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
KR20120003283A (ko) * 2010-07-02 2012-01-10 삼성전자주식회사 데이터 저장 장치 및 그것의 배드 블록 관리 방법
CN103348330B (zh) * 2010-12-01 2017-05-24 希捷科技有限公司 采用独立硅元件的动态较高级冗余模式管理
US9727414B2 (en) * 2010-12-01 2017-08-08 Seagate Technology Llc Fractional redundant array of silicon independent elements
US8612676B2 (en) 2010-12-22 2013-12-17 Intel Corporation Two-level system main memory
EP3382556A1 (de) 2011-09-30 2018-10-03 INTEL Corporation Speicherkanal zur unterstützung von nah- und fernspeicherzugriffen
WO2013048497A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy
WO2013048470A1 (en) 2011-09-30 2013-04-04 Intel Corporation Statistical wear leveling for non-volatile system memory
CN103946826B (zh) 2011-09-30 2019-05-31 英特尔公司 用于在公共存储器通道上实现多级存储器层级的设备和方法
CN103946811B (zh) 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
US9141536B2 (en) 2011-11-04 2015-09-22 Intel Corporation Nonvolatile memory wear management

Also Published As

Publication number Publication date
DE112013003255B4 (de) 2023-01-26
KR101696530B1 (ko) 2017-01-13
BR112014029798B1 (pt) 2023-04-11
WO2014003982A1 (en) 2014-01-03
US9418700B2 (en) 2016-08-16
CN104380262A (zh) 2015-02-25
GB2518079B (en) 2016-08-03
US20140006848A1 (en) 2014-01-02
KR20150024323A (ko) 2015-03-06
BR112014029798A2 (pt) 2017-06-27
GB201421154D0 (en) 2015-01-14
GB2518079A (en) 2015-03-11

Similar Documents

Publication Publication Date Title
DE112013003255B4 (de) Managementmechanismus für fehlerhafte Blöcke
DE112020002526B4 (de) Blockmodusumschaltung in datenspeichersystem
DE102017104150B4 (de) Abnutzungsausgleich in Speichervorrichtungen
DE112011106032B4 (de) Energieeinsparung durch Speicherkanal-Abschaltung
DE102015014851B4 (de) Ressourcenzuteilung und -freigabe für die Energieverwaltung in Vorrichtungen
DE102020130044A1 (de) Techniken zum verhindern von lese-störung in nand-speicher
DE102020107659A1 (de) Zonenbildung für gezonte namensräume
DE112020000178T5 (de) Verwaltung von in zonen unterteilten namensräumen nichtflüchtiger speicherungsvorrichtungen
DE112011105984B4 (de) Dynamische teilweise Abschaltung eines arbeitsspeicherseitigen Zwischenspeichers in einer Arbeitsspeicherhierarchie auf zwei Ebenen
DE112009000431B4 (de) Prozessorbasiertes system, nichtflüchtiger cachespeicher und verfahren zum nutzen eines nichtflüchtigen cachespeichers
DE112020002792T5 (de) Verschleissorientierte blockmodusumwandlung in nichtflüchtigen speichern
DE102011076894B4 (de) Persistenter Speicher für einen Hauptspeicher eines Prozessors
DE102016009806A1 (de) Speichern von paritätsdaten getrennt von geschützten daten
DE112020000139T5 (de) Nicht sequentiell in zonen aufgeteilte namensräume
DE102013020269A1 (de) Umordnen des Zurückschickens für einen Host-Lesebefehl basierend auf der Zeitschätzung des Abschlusses eines Flash-Lesebefehls
DE112011106013T5 (de) System und Verfahren für den intelligenten Datentransfer von einem Prozessor in ein Speicheruntersystem
DE102018130164A1 (de) Speicherungsvorrichtung mit programmierten zellenspeicherungsdichtenmodi, die eine funktion einer speicherungsvorrichtungskapazitätsnutzung sind
DE112011106060T5 (de) Verfahren und Vorrichtung zum Verteilen von Code- und Datenspeicherungen zwischen flüchtigem und nichtflüchtigem Speicher
DE102020122182A1 (de) Virtuelle-maschine-replikation und -migration
DE112020004591T5 (de) L2P-Übersetzungstechniken in begrenzten RAM-Systemen
DE112020001937T5 (de) Vorausschauender datenvorabruf in einer datenspeicher-vorrichtung
DE112020005787T5 (de) Verbesserte dateisystem-unterstützung für zonen-namespace-speicher
DE102013218440A1 (de) Verfahren zum Betreiben eines Flash-Speicherbauelements sowie Bildverarbeitungssystem
DE112020005350T5 (de) Aktualisieren von korrigierenden lesespannung-offsetwerten in nichtflüchtigen direktzugriffsspeichern
DE112020004958T5 (de) Dynamische zonenaktivgrenze für offenen zns

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0011000000

Ipc: G11C0029000000

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R081 Change of applicant/patentee

Owner name: TAHOE RESEARCH, LTD., IE

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US

R082 Change of representative

Representative=s name: VOSSIUS & PARTNER PATENTANWAELTE RECHTSANWAELT, DE

R130 Divisional application to

Ref document number: 112013007857

Country of ref document: DE

R020 Patent grant now final