DE112009005413T5 - Aktualisierungs-Architektur und -Algorithmus für nichtflüchtige Speicher - Google Patents

Aktualisierungs-Architektur und -Algorithmus für nichtflüchtige Speicher Download PDF

Info

Publication number
DE112009005413T5
DE112009005413T5 DE112009005413T DE112009005413T DE112009005413T5 DE 112009005413 T5 DE112009005413 T5 DE 112009005413T5 DE 112009005413 T DE112009005413 T DE 112009005413T DE 112009005413 T DE112009005413 T DE 112009005413T DE 112009005413 T5 DE112009005413 T5 DE 112009005413T5
Authority
DE
Germany
Prior art keywords
memory
update
cells
selection
read
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
DE112009005413T
Other languages
English (en)
Other versions
DE112009005413B4 (de
Inventor
Ferdinando Bedeschi
Roberto Gastaldi
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of DE112009005413T5 publication Critical patent/DE112009005413T5/de
Application granted granted Critical
Publication of DE112009005413B4 publication Critical patent/DE112009005413B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0038Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0061Timing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0054Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
    • G11C14/009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell and the nonvolatile element is a resistive RAM element, i.e. programmable resistors, e.g. formed of phase change or chalcogenide material
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5678Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using amorphous/crystalline phase transition storage elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Verfahren und Systeme zur Aktualisierung einer nichtflüchtiger-Speicher-Vorrichtung, sowie beispielsweise eines Phasenwechselspeichers. In einer Ausführungsform führt eine Speichervorrichtung, als eine Funktion des Systemstatus, entweder eine erste Aktualisierung der Speicherzellen unter Verwendung einer begrenzten Lesereferenz-Ebene durch, oder eine zweite Aktualisierung fehlerkorrigierter Speicherzellen unter Verwendung einer nicht begrenzten Lesereferenz-Ebene.

Description

  • TECHNISCHES GEBIET
  • Die Ausführungsformen der Erfindung liegen im Bereich nichtflüchtiger-Speicher-Vorrichtungen, und im Besonderen betreffen sie die Aktualisierung von Phasenwechselspeichervorrichtungen.
  • HINTERGRUND
  • Es ist bekannt, dass Phasenwechselspeicher-Arrays („phase-change memory (PCM) arrays”) eine Gruppe von Materialien verwenden, die die Eigenschaft haben, zwischen zwei Phasen zu wechseln, die unterschiedliche elektrische Eigenschaften aufweisen. Chalkogenide können zum Beispiel aus einer desorganisierten amorphen Phase in eine geordnete kristalline oder polykristalline Phase wechseln. Die zwei Phasen sind mit erheblich unterschiedlichen Widerstandswerten assoziiert, die erfasst werden können und mit unterschiedlichen Speicherstatus assoziiert werden können. Insbesondere kann eine Phasenwechselspeicherzelle unter geeigneter Vorspannung als „gesetzt” („set”) definiert werden, wenn ein detektierbarer elektrischer Strom geleitet wird (z. B. eine Bedingung, die typischerweise mit dem logischen Zustand „1” assoziiert ist), und als „zurückgesetzt” („reset”) wenn, unter derselben Vorspannung, ein wesentlich niedrigerer elektrischer Strom geleitet wird (z. B. logischer Status „0”).
  • Der Phasenwechsel kann durch die Erhöhung der Temperatur erreicht werden. Keimbildung findet statt, wenn das Phasenwechselmaterial für eine ausreichend lange Zeitspanne auf Kristallisationstemperatur, zum Beispiel über ungefähr 200°C, gehalten wird. Wenn eine Systemanwendung ein PCM-Array Umgebungstemperatur aussetzt, und dabei die Kristallisationstemperatur für eine ausreichend lange Zeit erreicht, können Speicherretentionsfehler auftreten, wenn Daten, die dem amorphen Status entsprechen, verlorengehen. Solche Retentionsfehler können die Verwendung von PCM in Hochtemperatur-Anwendungen ausschließen, wenn es keine Materialverbesserung oder eine aufwendige Ebene eines „Fehlerkorrigierungscodes” („error correction code” (ECC)) gibt. Beispielsweise können viele Anwendungen in der Automobilindustrie Nichtflüchtigkeit bei über 150°C spezifizieren mit Datenretentionen, die auf 10 oder sogar 20 Jahre, für anspruchsvolle Anwendungen, abzielen.
  • Ein PCM-Speicher, der eine verbesserte Datenretention bei Temperaturbereichen über 100°C bereitgestellt, ist daher vorteilhaft.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ausführungsformen der Erfindung sind insbesondere im abschließenden Teil der Beschreibung hervorgehoben und getrennt beansprucht. Jedoch können Ausführungsformen der Erfindung sowohl hinsichtlich der Organisation als auch der Arbeitsweise zusammen mit den Zielen, Merkmalen und den Vorteilen dieser am besten unter Verweis auf die folgende detaillierte Beschreibung verstanden werden, wenn sie mit den dazugehörigen Zeichnungen gelesen wird, in denen:
  • 1 ein Blockdiagramm ist, das, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung, bestimmte Komponenten in einem System, das derart konfiguriert ist, dass es eine Speicheraktualisierung als eine Funktion des Systemstatus durchführt, darstellt;
  • 2 ein Statusdiagramm ist, das, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung, Systemzustände und nichtflüchtiger-Speicher-Aktualisierungen, die als eine Funktion des Systemzustands durchgeführt werden, darstellt;
  • 3, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung, Speicheraktualisierungsoperationen darstellt, die als eine Funktion des Systemzustands und als eine Funktion einer System- oder Speichervorrichtungstemperatur durchgeführt werden, darstellt;
  • 4A ein Blockdiagramm ist, das, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung, bestimmte Komponenten in einer Speichervorrichtung darstellt, die derart konfiguriert ist, dass sie eine Speicheraktualisierung als eine Funktion von Systemzustand und -temperatur durchführen kann;
  • 4B ein schematisches Diagramm ist, das, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung, Leitungsbahnen zwischen einer nichtflüchtigen Speicherseite, einem flüchtigen Cache und einer Außenseite der Speichervorrichtung darstellt;
  • 5 ein Flussdiagramm ist, das, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung, bestimmte Operationen darstellt, die von einer Speichervorrichtung während einer Gesamt-Chip-Aktualisierung durchgeführt werden;
  • 6A ein Flussdiagramm ist, das, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung, bestimmte Operationen darstellt, die von einer Speichervorrichtung während einer ECC-basierten Aktualisierung durchgeführt werden;
  • 6B ein Flussdiagramm ist, das, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung, bestimmte Operationen darstellt, die von einer Speichervorrichtung durchgeführt werden, um ein Speicherlesen während einer Speicheraktualisierung zu erleichtern;
  • 7, in Übereinstimmung mit einer alternativen Ausführungsform, eine schematische Darstellung eines Phasenwechselspeicher-Arrays („phase-change memory (PCM) array”), ist, das in eine Speichervorrichtung, die derart konfiguriert ist, dass sie Speicheraktualisierungen durchführen kann, einbezogen werden kann;
  • 8, in Übereinstimmung mit einer alternativen Ausführungsform, eine schematische Darstellung eines magnetischen Speicher-Arrays mit wahlfreiem Zugriff („magnetic random access memory (MRAM) array”) ist, das in eine Speichervorrichtung, die dazu konfiguriert ist, Speicheraktualisierungen durchzuführen, beinhaltet sein kann; und
    es sich nachvollziehen lässt, dass zur Einfachheit und Klarheit der Abbildungen in den Figuren abgebildete Elemente nicht notwendigerweise maßstabsgetreu gezeichnet wurden. Beispielsweise können die Dimensionen einiger Elemente relativ zu anderen Elementen aus Gründen der Klarheit übertrieben sein. Des Weiteren wurden Referenznummern überall dort, wo es für sinnvoll erachtet wurde, in den Figuren wiederholt dargestellt, um entsprechende oder analoge Elemente zu kennzeichnen.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden detaillierten Beschreibung sind viele spezifische Details dargestellt, um ein tiefes Verständnis der Ausführungsformen der Erfindung bereitzustellen. Jedoch wird es vom Fachmann verstanden werden, dass andere Ausführungsformen ohne diese spezifischen Details durchgeführt werden können. In anderen Fällen wurden bekannte Verfahren, Abläufe, Komponenten und Schaltungen nicht im Detail beschrieben, um die vorliegende Erfindung nicht zu verschleiern. Einige Teile der detaillierten Beschreibung die im Anschluss folgen, werden durch Algorithmen und symbolische Darstellungen der Operationen an Daten-Bits oder binären digitalen Signalen innerhalb eines Computerspeichers dargestellt. Diese algorithmischen Beschreibungen und Wiedergaben können die Techniken sein, die vom Fachmann der Datenverarbeitung verwendet werden können, um den Inhalt ihrer Arbeit anderen Fachmännern zu vermitteln.
  • Ein Algorithmus wird hier und im Allgemeinen verstanden als eine in sich konsistente Sequenz von Handlungen oder Operationen, die zu einem gewünschten Ergebnis führen. Diese beinhalten physikalische Manipulationen physikalischer Größen. Üblicher- wenn auch nicht notwendigerweise nehmen diese Größen die Form elektrischer oder magnetischer Signale an, die dazu in der Lage sind, gespeichert, übertragen, kombiniert, verglichen oder anderweitig manipuliert zu werden. Es hat sich als günstig herausgestellt, grundsätzlich aus Gründen der gemeinsamen Verwendung, sich im Hinblick auf diese Signale auf Bits, Werte, Elemente, Symbole, Charakter, Ausdrücke, Ebenen, Nummern oder dergleichen zu beziehen. Es sollte jedoch verstanden werden, dass all diese und ähnliche Ausdrücke mit den passenden physikalischen Größen assoziiert werden müssen und dass es lediglich praktischere Bezeichnungen sind, die für diese Größen angewandt werden.
  • Solange dies nicht im konkreten Fall anders angegeben ist, ist davon auszugehen, dass über die gesamte Beschreibung hinweg Diskussionen, die die Ausdrücke wie beispielsweise „Verarbeiten”, „Daten verarbeiten”, „Rechnen”, „Festlegen”, oder dergleichen verwenden, sich auf die Aktion und/oder die Prozesse eines Computers oder eines Computersystems oder einer ähnlichen elektronischen Computervorrichtung beziehen, die Daten, die als physikalische, sowie beispielsweise elektronische, Größen innerhalb der Register und/oder Speicher des Computersystems repräsentiert werden, in andere Daten manipulieren oder transformieren, die ähnlich als physikalische Größen innerhalb der Speicher, Register oder ähnlicher solcher Vorrichtungen der Informationsspeicherung, -transmission oder -darstellung des Computersystems repräsentiert sind.
  • Ausführungsformen der vorliegenden Erfindung können Vorrichtungen zur Durchführung der hier enthaltenen Operationen. Eine Vorrichtung kann spezifisch für den gewünschten Zweck konstruiert sein, oder sie kann eine Universaldatenverarbeitungsvorrichtung umfassen, die selektiv durch ein Programm, das in der Vorrichtung gespeichert ist, aktiviert oder rekonfiguriert wird. Ein solches Programm kann auf einem Speichermedium gespeichert werden, sowie beispielsweise, aber nicht begrenzt hierauf, irgendein Typ einer Disk einschließlich Floppy Disks, optischen Disks, Kompakt Disks mit Nur-Lese-Speicher („compact disc read-only memories (CD-ROMs)”), magnetisch-optische Disks, Nur-Lese-Speicher („read-only memories (ROMs)”), Speicher mit wahlfreiem Zugriff („random access memories (RAMs)”), elektrisch programmierbare Nur-Lese-Speicher („electrically programmable read-only memories (EPROMs)”), elektrisch löschbare und programmierbare Nur-Lese-Speicher („electrically erasable and programmable read-only memories (EEPROMs)”), magnetische oder optische Karten, oder jeder andere Medientyp, der für die Speicherung elektronischer Instruktionen geeignet ist und dazu in der Lage ist, an einen Systembus für eine Computervorrichtung gekoppelt zu werden.
  • Die Ausdrücke „gekoppelt” und „verbunden” zusammen mit ihren Ableitungen können hier verwendet werden, um strukturelle Beziehungen zwischen Komponenten zu beschreiben. Es sollte bedacht werden, dass diese Ausdrücke nicht dazu beabsichtigt sind, Synonyme füreinander zu sein. Vielmehr kann in speziellen Ausführungsformen „verbunden” verwendet werden, um anzugeben, dass zwei oder mehr Elemente in direktem physikalischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt” kann verwendet werden, um anzugeben, dass zwei oder mehr Elemente entweder direkt oder indirekt (mit anderen Zwischenelementen zwischen ihnen) physikalischen oder elektrischen Kontakt miteinander haben, und/oder dass die zwei oder mehr Elemente miteinander kooperieren oder interagieren (z. B. wie in einer Ursache-Wirkungs-Beziehung).
  • Verfahren und Systeme zur Aktualisierung nichtflüchtiger-Speicher-Zellen als eine Funktion des Systemstatus und/oder als eine Funktion der Systemtemperatur werden hierin beschrieben. In bestimmten Ausführungsformen führt eine Speichersteuereinheit einen Aktualisierungsalgorithmus mit Aussetzungs- und Wiederaufnahme-Fähigkeiten als eine Funktion verschiedener Temperaturen und verschiedener Systemstatus aus. In bestimmten Ausführungsformen variiert der Aktualisierungstyp, der auf den nichtflüchtigen Speicher ausgeübt wird, mit dem Systemstatus, so dass eine umfassende Aktualisierung durchgeführt wird, während das System in einem Status ist, in dem die Systemkomponenten den Speicher nicht lesen und Aktualisierungen, die kleine Verzögerungen mit sich bringen, durchgeführt werden, während das System sich in einem Status befindet, in dem Systemkomponenten den Speicher zugreifen. Das Ansteuern dieser unterschiedlichen Aktualisierungstypen kann weiter auf die bestimmte Status zugeschnitten werden, basierend auf System-Timern und -temperaturen, um nichtflüchtige Speicher mit einem erweiterten Betriebstemperaturbereich bereitzustellen. Während die hierin beschriebenen Ausführungsformen spezifische Details hinsichtlich des Kontextes der Phasenwechselspeicher-Vorrichtung („phase change memory (PCM) devices”) bereitstellen, versteht der Fachmann, dass selbst wenn die Temperatursensitivität der PCM-Vorrichtungen in Vorrichtungen anderer Speichertechnologien nicht vorliegt, solche statusabhängigen Aktualisierungsverfahren und -systeme, wie sie hierin beschrieben sind, trotzdem auf andere nichtflüchtiger-Speicher-Technologien sowie beispielsweise MRAM, Flash, etc. adaptiert werden können.
  • 1 ist ein Blockdiagramm, das bestimmte Komponenten in einem System 101 einschließlich einer nichtflüchtiger-Speichervorrichtung 150 und einer Speichersteuereinheit („memory controller unit (MCU)”) 125 darstellt. Die Speichervorrichtung 150 kann dazu verwendet werden, Instruktionen zu speichern, die durch eine oder mehrere Komponenten des Systems 101 während der Operation des Systems 101 durchgeführt werden, und kann auch dazu verwendet werden, um verarbeitete oder durch eine oder mehrere Komponenten des Systems 101 an/vom System kommunizierte Daten zu speichern. Die Speichervorrichtung 150 und die MCU 125 sind in Übereinstimmung mit den Ausführungsformen der vorliegenden Erfindung derart konfiguriert, dass sie Aktualisierungen der nichtflüchtiger-Speicher-Zellen in der Speichervorrichtung 150 als eine Funktion des Systemstatus initiieren. Aktualisierungen, die durch die Speichervorrichtung 150 initiiert werden, werden hierin als „selbstaktiviert” bezeichnet und Aktualisierungen, die durch die MCU 125 initiiert werden, werden hierin als „befehlsaktiviert” bezeichnet. Wie gezeigt, beinhaltet das System 101 eine Systemstromversorgungseinheit 110, die an eine externe Stromversorgung 199 gekoppelt ist, die, zum Beispiel, eine 12 V Automobilbatterie oder ein Netzeingang sein kann. Die Systemstromversorgungseinheit 110 kann weiter an eine zusätzliche Systembatterie 105 gekoppelt sein, die durch das System 101 entweder während der normalen Systemoperation verwendet werden kann oder für die Systemaufrechterhaltung während eines längeren Abschaltungszustands („deep power down (DPD) state”). Beispielsweise kann jede der Speicheraktualisierungsoperationen durchgeführt werden, während das System 101 sich in einem DPD-Status befindet, wobei die Speichervorrichtung 150 lediglich durch die Batterie 105 versorgt wird. Im DPD-Status kann jede der Systemkomponenten 115, 120, 125, etc. abgeschaltet werden. Wenn die MCU 125 abgeschaltet ist, ist die Speichervorrichtung 150 auf selbstaktivierte Aktualisierungen angewiesen. Wenn die MCU 125 in einem DPD-Systemstatus angeschaltet bleibt, können Speicheraktualisierungen entweder durch einen Aktualisierungsbefehl, der von der MCU 125 gegeben wird, oder durch die Speichervorrichtung 150 selbst durch selbstaktivierte Aktualisierungslogik ausgelöst werden.
  • Das System 101 beinhaltet des Weiteren A/D-Schaltkreise 115 und I/O-Schaltkreise 120 zum Erfassen, zur Kontrolle und zur Kommunikation mit Vorrichtungen außerhalb des Systems. Die A/D-Schaltkreise 115 und I/O-Schaltkreise 120 sind jeweils an die Stromversorgungseinheit 110 über einen Strombus gekoppelt und sind weiter über eine oder mehrere Datenbusse miteinander und an die Speichervorrichtung 150 mit der MCU 125 gekoppelt. Die MCU 125 ist kommunikativ an die Speichervorrichtung 150 durch eine Befehlsschnittstelle und Daten-I/O 135 gekoppelt. Die MCU 125 ist ebenfalls an einen Timer 102 gekoppelt, der dazu verwendet wird, periodisch einen bestimmten Speicheraktualisierungstyp (z. B. abhängig vom Systemstatus) auszulösen, und er stellt des Weiteren ein spezielles System-an/System-aus-Signal 130 an die Speichervorrichtung 150 bereit, um Systemstatusinformationen über den Aktivitätsstatus 210 und Bereitschaftsstatus 220 (2) hinaus zu kommunizieren, die typischerweise über eine Chip-Enable-(CEB)-Auswahl bestimmt werden. Wie an anderer Stelle detailliert diskutiert, dient das System-an/System-aus-Signal 130 zur Bestimmung eines Systemstatusübergangs, aufgrund dessen ein bestimmter Speicheraktualisierungstyp ausgelöst werden wird.
  • 2 ist ein Statusdiagramm, das, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung, Systemstatus und nichtflüchtige-Speicher-Aktualisierungen, die als eine Funktion des Systemstatus durchgeführt werden, darstellt. Wie gezeigt wird, wird während eines Strom-an-Status 200 jede Schaltung eines Systems, sowie beispielsweise das System 101 einschließlich der nichtflüchtiger-Speicher-Vorrichtung 150 von 0 V auf Vcc auf Spannung gebracht. Wie in diesem Bereich üblich, werden die Logikgatterschaltungen des Systems 101 während des Strom-an-Status 200 von einem „beliebig”-Status auf einen deterministischen Status gebracht. Abhängig von der Ausführungsform kann der Strom-an-Status 200 lediglich eingenommen werden, wenn Vcc zum ersten Mal bereitgestellt wird, mit einer ununterbrechbaren Stromzufuhr, um das System 101 anschließend zu versorgen.
  • Wie in 2 weiter gezeigt wird, wird, wenn alle Schaltungen unter Spannung stehen, ein System-an-Status 201 erreicht. In einer Ausführungsform bringt ein System-an-Status-Identifikator die Speichervorrichtung 150 dazu, eine Speicheraktualisierung 205 durchzuführen. Im Zusammenhang einer nichtflüchtigen Vorrichtung (z. B. PCM-Vorrichtung) ist eine Aktualisierung nicht lediglich das Lesen und ein Neuschreiben dessen was gelesen wurde, wie dies in einer flüchtiger-Speicher-Vorrichtung (z. B. DRAM) durchgeführt werden könnte. Vielmehr bringt die Aktualisierung einer nichtflüchtigen Vorrichtung ein Lesen gegen eine Schwellenwertebene und ein Reprogrammieren jeglicher Bits, die die Lesekriterien relativ zur Schwellenwertebene nicht erfüllen, mit sich. Wie an anderer Stelle diskutiert, wird mit einer Speicheraktualisierung 205 jede Speicherzelle der Speichervorrichtung 150 gegen eine begrenzte Referenzebene gelesen und jede Zelle, die die begrenzte Referenzebene nicht erfüllt, wird neu geschrieben. Die Gesamt-Chip-Speicher-Aktualisierung 205 ist deshalb ein intensiver Prozess, der alles zwischen einigen hundert Millisekunden (ms) bis zu 10 Sekunden oder mehr, abhängig vom Datenmuster, der Speicherzelltechnologie, der Speichervorrichtungsarchitektur und -größe benötigen kann.
  • Im System-an-Status 201 sind alle Schaltungen des Systems 101 einschließlich der nichtflüchtiger-Speicher-Vorrichtung 150 (d. h. der Speicherchip) bei Vcc. Üblicherweise wird auf die Speichervorrichtung 150, während sie sich im System-an-Status 201 befindet, nicht zugegriffen und deshalb kann die relativ intensive Speicheraktualisierung 205 durchgeführt werden. Um die Aktualisierung 205 zu initiieren, kann der System-an-Status 201 vom Strom-an-Status 200 durch einen an die Speichervorrichtung 150 kommunizierten Statusidentifikator unterschieden werden. In einer Ausführungsform kann ein spezielles „System-an”-Signal 130 durch die Speichersteuereinheit („memory controller unit (MCU)”) geliefert werden, und nach dem Erhalt des System-an-Signals kann die Speichervorrichtung 150 die Speicheraktualisierung 205 initiieren. Da die Speichervorrichtung 150 derart konfiguriert ist, dass sie mehrere Typen unterschiedlicher Aktualisierungen durchführen kann, kann das Vorhandensein des „System-an”-Signals 130 dazu dienen, der Speichervorrichtung 150 des Weiteren den speziellen Typ der durchzuführenden Aktualisierung anzuzeigen (z. B. Aktualisierung 205 ist eine Gesamt-Chip intensive Aktualisierung), ohne dass die MCU 125 benötigt würde, um Aktualisierungsbefehle zu senden, die zwischen verschiedenen Aktualisierungstypen unterscheiden. Das System-an-Signal gestattet ebenfalls der Speichervorrichtung 150, die Gesamt-Chip-Speicher-Aktualisierung 205 als eine selbstaktivierte Aktualisierung durchzuführen, die durch den Statusübergang ausgelöst wird, selbst bei Nichtvorhandensein irgendeines spezifischen „Aktualisierungs”-Befehls, der von der MCU 125 durch die Befehlsschnittstelle 135 gesendet wird. Für alle befehlsaktivierten oder selbstaktivierten Ausführungsformen des in 2 dargestellten Beispiels wird die Gesamt-Chip-Speicher-Aktualisierung 205 jedes Mal initiiert, wenn das System 101 in den System-an-Status 201 übergeht.
  • In alternativen Ausführungsformen kann das Chip-Enable-(CEB)-Signal auch dazu verwendet werden, den System-an-Status 201 zur Auslösung und Spezifizierung des durch die Speichervorrichtung 150 durchzuführenden Aktualisierungstyps zu definieren. Zum Beispiel könnte das CEB ein globales Signal sein, das den Aktiv-Modus des gesamten Systems, was den nichtflüchtigen Speicher einschließt, aktiviert. Für Ausführungsformen, die das dedizierte „System-an”-Signal 130 haben, kann das CEB entweder in einem „ausgewählten” Status oder in dem „nicht ausgewählten” Status sein. In wieder weiteren Ausführungsformen, in denen der Strom-an-Status 200 nur eingegangen wird, wenn Vcc zum ersten Mal angelegt wird, muss der System-an-Status lediglich von einem aktiven Status und einem Bereitschaftsstatus zum Zwecke der Spezifizierung entweder einer intensiven Speicheraktualisierung oder einer ECC-basierten Aktualisierung mit niedriger Verzögerung unterschieden werden.
  • 2 stellt des Weiteren einen „aktiven” Status 210 dar, bei dem alle Systemschaltungen auf Vcc auf Spannung gebracht werden, die Speichervorrichtung aktiviert ist (CEB ausgewählt) und auf die Speichervorrichtung durch die MCU 125 zugegriffen wird. In der exemplarisch dargestellten Ausführungsform führt die Speichervorrichtung 150 im aktiven Status 210 nach dem Erhalt eines Aktualisierungsbefehls von der MCU 125 oder nach einem auslösenden Ereignis, das innerhalb der Speichervorrichtung 150 auftritt, eher eine ECC-basierte Speicheraktualisierung 215 durch, als eine intensive begrenzte Aktualisierung (z. B. Speicheraktualisierung 205). Wie an anderer Stelle beschrieben, wird die ECC-basierte Speicheraktualisierungen 215 im Gegensatz zur Gesamt-Chip-Speicher-Aktualisierung 205 gegen einen Leseebene-Schwellenwert durchgeführt und ist weniger intensiv als die begrenzte Speicheraktualisierung 205, indem lediglich fehlerkorrigierte Speicherzellen aktualisiert werden (z. B. auf der ppm-Ebene). Die Speicheraktualisierung 215 induziert sehr kleine oder keine Speicherverzögerungen. In bestimmten Ausführungsformen kann die ECC-basierte Speicheraktualisierung 215 im aktiven Status 210 auch unterbrochen werden, um die Speicherzugangsnachfragen der MCU zu bedienen.
  • Im „Bereitschafts”-Status 220 ist die Speichervorrichtung 150 nicht zugelassen (CEB nicht selektiert) und die MCU 125 greift nicht auf die Speichervorrichtung 150 zu, jedoch verbleiben alle Systemschaltungen unter der Spannung Vcc. In einer spezifischen Ausführungsform ist die Speichervorrichtung 150 derart konfiguriert, dass sie die ECC-basierte Speicheraktualisierung 215 (entweder MCU-befehlsaktiviert oder selbstaktiviert) durchführt, während die Speichervorrichtung 150 sich im Bereitschaftsstatus 220 befindet, da der Bereitschaftsstatus 220 von relativ kurzer Dauer sein kann, abhängig von der Bereitschaft, die Spezifikation der Speichervorrichtung 150 zu aktivieren. Wie in 2 dargestellt, kann jedoch als eine Option, die durchgeführt wird oder nicht (in 2 durch die gestrichelten Linien ausgedrückt), eher die Gesamt-Chip-Speicher-Aktualisierung 235, als die ECC-basierte Speicheraktualisierung 215 durchgeführt werden, wenn die Speichervorrichtung 150 einen Aktualisierungsbefehl von der MCU 125 empfängt, während die Speichervorrichtung 150 sich im Bereitschaftsstatus 220 befindet. Wie zuvor beschrieben, ist die Speicheraktualisierung 215 unterbrechbar als Antwort auf einen Aktualisierungs-Unterbrechungsbefehl, der durch die MCU 125 gesendet wird. Ähnlicherweise, wenn die Speicheraktualisierung 235 während des Bereitschaftsstatus 220 durchgeführt werden soll, kann auch der Aktualisierungsalgorithmus unterbrochen werden (in diesem Fall würde so auch die Speicheraktualisierung 205 unterbrochen), entweder als eine Antwort auf einen Übergang des Status zurück zum aktiven Status 210 oder über einen Unterbrechungsbefehl von der MCU 125. Für unterbrechbare Aktualisierungsausführungsformen kann die Speichervorrichtung 150 eine unterbrochene Aktualisierung nach dem Zurückkommen zum Bereitschaftsstatus wiederaufnehmen, zum Beispiel als Antwort auf einen „Wiederaufnahme”-Befehl, der von der MCU 125 gesandt wird.
  • Im „System-aus”-Status 230 werden die meisten Schaltungen des Systems 101 ausgeschaltet, zum Beispiel in einen DPD-Status. In dem System-aus-Status 230 bleibt die Speichervorrichtung 150 bei Vcc, zum Beispiel durch eine Batterie 105. In spezifischen Ausführungsformen verbleibt auch die MCU 125 bei Vcc. Für diese beispielhafte Ausführungsform kann das System-an-Signal 130 invertiert werden, um den „System-aus”-Status zu identifizieren. In der beispielhaften Ausführungsform löst ein Übergang hin zum System-aus-Status 230 die Gesamt-Chip-Speicher-Aktualisierung 235 aus, was im Wesentlichen demselben entspricht wie die Speicheraktualisierung 205, die nach dem Eintreten des System-an-Status 201 durchgeführt wird. Die Speicheraktualisierung 235 ist sehr nützlich für Anwendungen, bei denen das System 101 für längere Zeiträume ausgeschaltet wird, während denen die Speichervorrichtung 150 Retentionsausfälle vor der Durchführung der Speicheraktualisierung 205 nach dem Eintreten des Systems in Status 201 erfahren kann. Im „Strom-aus”-Status 240 sind im Gegensatz zum System-aus-Status 230 alle Schaltungen des Systems 101 einschließlich der Speichervorrichtung 150 und der MCU 125 auf 0 V heruntergefahren.
  • 3 ist ein Beispiel von Speicheraktualisierungsoperationen, die als eine Funktion des in 2 dargestellten Systemstatus und als eine Funktion einer Systemtemperatur durchgeführt werden. In der in 3 exemplarisch dargestellten Ausführungsform wird das System 101 in einer automobilen Anwendung verwendet, in der Temperaturen in einen erweiterten Bereich für die nichtflüchtiger-Speicher-Vorrichtung 150 vordringen können. In 3 ist eine Temperaturachse 301 mit einer Speicheraktualisierungsachse 302 ausgerichtet, wobei eine Systemtemperatur 315 und Aktualisierungsereignisse als eine Funktion der Zeit, wiedergegeben durch die Zeitachse 303, dargestellt werden.
  • Zum Zeitpunkt 305 geht das System 101 in den System-an-Status 201 über (z. B. die automobile Zündung wird durchgeführt, wodurch ein Motor gestartet wird), und als Antwort darauf wird die Gesamt-Chip-Speicher-Aktualisierung 205 durchgeführt. Das System geht anschließend in den aktiven Status 210 über, und mit einem automobilen laufenden Motor steigert sich die Systemtemperatur 315 von Umgebungstemperatur auf ungefähr 125°C. Im aktiven Status 210 wird eine einzige ECC-basierte Aktualisierung 215 durchgeführt, und zum Zeitpunkt 310 wird der System-aus-Status 230 erreicht (z. B. die automobile Zündung wird betätigt, was den Motor abstellt). In diesem Beispiel läuft der automobile Motor für eine Dauer zwischen dem Zeitpunkt 305 und dem Zeitpunkt 310, und es könnte bekannt sein, dass diese Dauer notwendigerweise weniger sein wird als die minimale intrinsische Speicherretentionszeit 320 für die Betriebstemperatur. Beispielsweise kann die Notwendigkeit des Betankens eines Automobils die Dauer zwischen Zeitpunkt 305 und Zeitpunkt 310 auf weniger als 12 Stunden begrenzen, und somit die minimale intrinsische Retention 320 der Speichervorrichtung definieren. Nach dem Abstellen des Motors zum Zeitpunkt 310 geht das System in den System-aus-Status 230 über, was die System-aus-Gesamt-Chip-Aktualisierung 235A auslöst. Mit dem abgeschalteten Automobilmotor zum Zeitpunkt 310 steigt die Systemtemperatur 315 für eine Periode ohne aktive Kühlung weiter an. Als Antwort auf die steigende Systemtemperatur 315 gehen die repetitiven Gesamt-Chip-Aktualisierungen 235B im System-aus-Status bei einer Systemaktualisierungsfrequenz, die von der Temperatur 315 abhängt, weiter (befehlsaktiviert oder selbstaktiviert). Schließlich, nachdem das System auf Umgebungstemperatur zurückgekehrt ist, erreicht die Frequenz der Gesamt-Chip-Aktualisierungs-Rate eine ultraniedrige Frequenz, die zum Beispiel basierend auf dem Timer 102 ausgelöst wird, bis das System den Strom-aus-Status 240 erreicht oder zum System-an-Status 201 zurückkehrt.
  • 4A ist ein Blockdiagramm, das, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung, bestimmte Komponenten in der Speichervorrichtung 150 darstellt. Unter Verweis auf 4A enthält die Speichervorrichtung 150 einen Datenzellen-Array 455, der in Reihen und Zeilen angeordnet ist und in einer Vielzahl von Seiten 465 mit einer Vielzahl von Partitionen 460, die jeweils strukturell identisch zueinander sind, organisiert ist. Alle Zellen einer jeden Seite 465 können in einer einzigen Leseoperation ausgegeben werden. In der beispielhaften Ausführungsform ist jede der Zellen des Arrays 455 eine Phasenwechselspeicherzelle, die ein Phasenwechselmaterial, wie dieses genauer in 7 dargestellt ist, enthält.
  • Jede Partition 460 schließt ein Fehlerkorrigier-Modul („error correction module (ECC)”) 480 ein. In dem Array 455 gespeicherte Daten sind gemäß einem bekannten Fehlerkorrigierungscode verschlüsselt und schließen Paritäts-Bits, die in Paritätszellen gespeichert werden, ein. Daten, die vom Array 455 erhalten werden, werden zum Fehlerkorrigier-Modul 480 gesendet. Datenzellen und Paritätszellen können zusammen gelesen werden. Die Ebene der Fehlerkorrektur kann abhängig von der Implementierung variieren, jedoch ist in der beispielhaften Ausführungsform das Fehlerkorrigier-Modul 480 derart konfiguriert, dass es einzelne Bit-Fehler auf jeder Seite 465 der gelesenen Daten behebt.
  • Die Speichervorrichtung 150 schließt einen SRAM-Cache 495 ein, der an das Array 455 über die Cache-Daten im Bus 471 gekoppelt ist, um Daten aus dem Array 455 während der ECC-basierten Speicheraktualisierung 215 einzulesen. Die Größe des SRAM-Cache 495 kann abhängig von der Implementierung variieren, wird sich üblicherweise aber im Bereich zwischen einer bis zu N Seiten (d. h. gleich der Größe einer ganzen Partition 460) bewegen. Der SRAM-Cache 495 und das Array 455 sind an einen Partition/Cache-Multiplexer (mux) 490 gekoppelt. Der Partition/Cache-mux 490 wählt zwischen dem Cache 495 und dem Array 455, als eine Funktion eines Aktualisierungsgestattenden Signals 482, das durch einen Aktualisierungs-Steuereinheit 488 ausgesandt wird, und als eine Funktion dessen, ob die Adresse der Zellen im Array 455, die während einer Leseoperation gelesen werden, jenen entsprechen, die aktualisiert werden (wie sie im Adressenregister 487 gespeichert sind), aus. Der Partition/Cache-mux 490 ist des Weiteren an einen Datenbus 489 gekoppelt, der an die Partition 460 gekoppelt ist, um Daten zu sammeln, die aus Datenzellen des Arrays 455 ausgelesen werden. Daten aus entweder dem Cache 495 oder dem Array 455 sind das Ausgelesene der Speichervorrichtung 150 über den Daten-out-Bus 498. Daten, die während einer Programmoperation im Speicher-Array 455 gespeichert werden müssen, werden über den Daten-in-Bus 401, der an die Partition 460 gekoppelt ist, bereitgestellt. Der Partition/Cache-mux 490 ist an den Daten-in-Bus 401 über den Copy-back-Bus 497 gekoppelt, um das Lesen von Daten aus dem SRAM-Cache 495, die während einer ECC-basierten Speicheraktualisierung 215 zurück in die Partition 460 kopiert werden, zu gestatten.
  • Der Aktualisierungs-Steuereinheit 488 regelt die Speicheraktualisierungsoperationen der Speichervorrichtung 150. Der Aktualisierungs-Steuereinheit 488 ist über die Speichervorrichtung-I/O-Schnittstelle an den MCU 125 über den Aktualisierungs-Befehls-Bus 483 gekoppelt und reagiert auf Aktualisierungs-aktivierende-, Aktualisierungs-unterbrechende- und Aktualisierungs-Wiederaufnahme-Befehle, die durch die MCU 125 gesandt werden. In einigen Ausführungsformen kann der Aktualisierungs-Steuereinheit 488 weitere Logik zum Auslösen selbstaktivierter Aktualisierungen der Speichervorrichtung 150 in Antwort auf eine Ausgabe vom internen Timer 484 oder in Antwort auf eine Ausgabe vom Temperatursensor 485 beinhalten (z. B. das Initiieren von Aktualisierungsoperationen ohne einen Befehl vom MCU 125). Der Temperatursensor 485 kann selbstverständlich ebenfalls außerhalb der Speichervorrichtung 150 vorhanden sein, und von der MCU 125 zum Zwecke der Sendung von Aktualisierungsbefehlen an den Aktualisierungs-Steuereinheit 488 verwendet werden.
  • Aktualisierungs-Flag-Register 486, die an den Aktualisierungs-Steuereinheit 488 gekoppelt sind, speichern Aktualisierungsstatus-Flag-Bits, die durch den Aktualisierungs-Steuereinheit 488 beim Verwalten der Speicheraktualisierungsoperationen verwendet werden. Beispielhafte Status-Flags schließen ein, aber müssen nicht darauf begrenzt sein, „Chip arbeitet”, „Aktualisierung findet statt”, und „Aktualisierung benötigt”. Eine oder mehrere dieser Aktualisierungs-Flag-Bits können durch die MCU 125 gelesen werden, bevor es zu irgendeinem Speicherzugriff kommt. Die MCU 125 kann als Antwort auf das Lesen der aktualisierten Flag-Status-Bits auch aktualisierte Befehle (z. B. Aktivieren, Unterbrechen, Wiederaufnehmen) senden, um den Aktualisierungsstatus gemäß den Systembedürfnissen zu modifizieren. Adressenregister 487, die ebenfalls an den Aktualisierung-Steuereinheit 488 gekoppelt sind, speichern Adressen des Arrays 455, die aktualisiert und/oder bisher noch nicht aktualisiert wurden. In einer spezifischen Ausführungsform wird die letzte Adresse einer Untergruppe an Speicherzellen in Array 455, die aktualisiert wurden, im Adressregister 487 gespeichert.
  • Wie dem Fachmann bekannt ist, beinhaltet jede Partition 460 Lese-/Schreibe-Schaltungen und Spaltendecodierungs-(Y-mux)-Schaltungen für die Datenzellen, und diese sind in 4A aus Gründen der Einfachheit nicht dargestellt. Die Partition 460 beinhaltet ebenfalls Lese-Referenz-Strom-, Spannungs- oder Widerstandspegel, die durch spezielle Schaltungen generiert werden, die in die Referenzzellen 481 mit eingeschlossen werden können, die eine oder mehrere begrenzte Referenzebenen R1, R2, etc. einschließen, die während einer Gesamt-Chip-Aktualisierung zusätzlich zu einer Leseebenen-Referenzebene, die während eines konventionellen Datenauslesens verwendet werden, zum Einsatz kommen. In der in 4A exemplarisch dargestellten Ausführungsform beinhaltet die Speichervorrichtung 150 des Weiteren einen Cache-Y-mux 470 und Cache-Erfassungs-Schaltkreise 475 für den direkten Zugriff auf den Cache 495. Die Duplizierung des Y-mux und auslesenden Schaltkreises für den Cache 495 stellen der Speichervorrichtung 150 eine Lese-während-des-Aktualisierens-(„read-while-refresh(RWR)”)-Funktionalität für minimale Speicherlatenz während einer ECC-basierten Aktualisierung bereit. Für eine solche Ausführungsform sind die Speicher-Array-Seiten, wie dies in 4B des Weiteren dargestellt ist, an den Cache-Daten-in-Bus 471 durch einen zusätzlichen Cache-Erfassungs-Verstärker 476 gekoppelt und sind gekoppelt an den Partition/Cache-Multiplexer 490 über den Erfassungs-Verstärker 474. Wenn eine Speicheradresse, die gelesen werden soll, in den Bereich aktualisierender Adressen fällt (z. B. Seite 465<1>), ist das „aktualisierte Adresse”-Signal dazu in der Lage, direkt aus dem Cache 495 zu lesen. Wenn die Adresse, die gelesen werden soll, sich nicht innerhalb der Adressen, die aktualisiert werden, befindet (z. B. irgendeine Seite 465, die von der gecacheten Seite 465<1> unterschiedlich ist), ist das „nicht-aktualisierte-Adressen”-Signal aktiviert und Daten werden über den Array-Daten-Out 489 über den Partition/Cache-Multiplexer 490 ausgegeben. Die aktualisierte-Adresse- und nicht-aktualisierte-Adresse-Signale können zum Beispiel über den Aktualisierungssteuereinheit 488 bereitgestellt werden.
  • 5A ist ein Flussdiagramm für ein Verfahren 500, das spezifische Operationen, die durch eine Speichervorrichtung während der Gesamt-Chip-Aktualisierung 205 (235) durchgeführt werden, darstellt. Das Verfahren 500 wird als Antwort initiiert auf: Detektieren, bei Operation 505, eines Übergangs auf den System-an-Status 201 und/oder Detektieren bei Operation 505 eines Übergangs auf den System-aus-Status 230. In weiteren Ausführungsformen kann das Verfahren 500 zusätzlich zum Starten des Verfahrens 500 in Antwort auf den Eintritt in eine dieser Status ebenfalls in Antwort initiiert werden auf: einen selbstaktivierten Aktualisierungsauslöser, der während der Operation 507 auftritt, während die Speichervorrichtung 150 im System-aus-Status 230 ist (z. B. als eine Funktion einer oder mehrerer Temperatursensoren 485 und Timer 484, und wie beispielhaft in 3 dargestellt); oder empfangend als Operation 508 einen Aktualisierungsbefehl vom MCU 125 (z. B. „Aktualisierung aktiviert” oder „Aktualisierung wieder aufgenommen”, gesendet über die Befehlsschnittstelle 135 im Bereitschaftsstatus 220). Nach der Initiierung eines Verfahrens 500 kann ein Status-Bit in den Aktualisierungs-Flag-Registern 486 so gesetzt werden, dass es anzeigt, dass eine Aktualisierung stattfindet.
  • Bei Operation 510 werden Daten aus dem Array 455 gegen eine Begrenzte-Aktualisierungs-Referenz gelesen. Die Begrenzte-Aktualisierungs-Referenzebene liegt bei einem strengeren Stellenwert als dem der Leseebene während der normalen Operation der Speichervorrichtung 150. Für einen PCM-Array, zum Beispiel bei dem ein Lesen ein Stromerfassen nach sich zieht und die Leseebene einer vorgespannten Zelle bei 7 μA liegt, beträgt die Begrenzte-Lese-Referenzebene (Iv0) für eine logische 0, die bei einer Operation 510 eingesetzt wird, 2 μA für identisch vorgespannte Zelle. Zusätzlich zur Korrektur der Retentionsfehler kann ein begrenzter Schwellenwert für eine logische 1 ebenfalls auf Operation 510 angewandt werden, um dem Zell-Drift zu begegnen. In einer speziellen Ausführungsform wird eine Begrenzte-Lese-Referenzebene (R1), die auf eine erste begrenzte Ebene unterhalb der Leseebene-Referenzebene (R) gesetzt wird, in den Referenzzellen 481 gespeichert (4A). In einer weiteren Ausführungsform wird eine Begrenzte-Lese-Referenzebene (R2) auf eine zweite begrenzte Ebene über der Leseebene-Referenzebene (R), in den Referenzzellen 481 gespeichert (z. B. zur Korrektur des Drifts).
  • Falls der Speicher die Begrenzte-Leseebene nicht erreicht, wird der Zellstatus sodann als inkorrekt bestimmt und das Verfahren 500 schreitet fort, um die Zelle auf die begrenzte Ebene mit einem Zell-Ebenen-Neu-Schreiben bei Operation 512 zu aktualisieren. In einer PCM-Vorrichtung beispielsweise würde eine Zelle, die die Begrenzte-Lese-Referenzebene R1 für eine logische 0 nicht erreicht, mit der Zell-Neu-Schreibe-Operation 512 „zurückgesetzt”. Wenn die Speicherzellen die Begrenzte-Leseebene passieren oder nachdem eine gescheiterte Zelle aktualisiert wurde, setzt das Verfahren 500 das Array-Abtasten fort durch Inkrementieren der Adresse bei Operation 517 und dem Zurückgehen zur Leseoperation 510. Alle Zellen in der Speichervorrichtung 150 werden zykliert, solange das Verfahren 500 beendet wird, entweder wenn die letzte Zelle im Array gelesen wurde oder ein Aktualisierungs-Unterbrechungsbefehl empfangen wurde. Die Adresse der letzten verifizierten Zelle wird bei Operation 515 gespeichert. Wie zuvor beschrieben, können zum Beispiel Ausführungsformen, welche die Gesamt-Chip-Aktualisierung 235 im Bereitschaftsstatus 220 durchführen, die Gesamt-Chip-Aktualisierung 235 unterbrechen müssen, wenn die Speichervorrichtung zugelassen ist und zum aktiven Status 210 zurückgeht. Das Aktualisierungsabtasten kann dann am gespeicherten Ort nach einem anschließenden Aktualisierungszyklus wieder fortgesetzt werden. Beispielsweise kann Verfahren 500 wieder durch Operationen 505508 initiiert werden.
  • 6A zeigt ein Flussdiagramm, das, in Übereinstimmung mit einer Ausführungsform, bestimmte Operationen eines Verfahrens 600 darstellt, das durch eine Speichervorrichtung während einer ECC-basierten Aktualisierung durchgeführt wird. Im aktiven Status 210 oder optional im Bereitschaftsstatus 220 kann das Verfahren 600 als Antwort initiiert werden auf einen selbstaktivierten Aktualisierungsauslöser bei Operation 607 (z. B. als eine Funktion einer oder mehrerer Temperatursensoren 485 und Timer 484) oder durch das Empfangen bei Operation 608 eines Aktualisierungsbefehls vom MCU 125 (z. B. „Aktualisierung aktiviert”, oder „Aktualisierung wiederaufnehmen”), wobei jede dazu führt, dass eine Startadresse in das Adressregister 487 geladen wird. Die Initiierung des Verfahrens 600 setzt ein Status-Bit in die Aktualisierungs-Flag-Register 486, um anzuzeigen, dass eine Aktualisierung läuft.
  • Bei Operation 609 wird die im Adressregister 487 gespeicherte Adresse gelesen, um die erste Adresse des Abtastens zu bestimmen. Bei Operation 610 wird eine Auswahl aus dem Array 455, beginnend mit der Adresse, die aus dem Adressregister 487 gelesen wird, in den SRAM-Cache 495 gelesen (z. B. über den Cache-Daten-in-Bus 471). Die Größe der auf einmal eingelesenen Auswahl variiert mit der Implementierung und ist abhängig von der Größe des Cache, wobei größere Cache-Größen mehr Zeit zum Füllen benötigen und möglicherweise größere Latenzzeiten verursachen. Die Leseoperation 610 wird gegen die Leseebene durchgeführt, nicht gegen eine begrenzte Referenzebene und an das ECC-Modul 480 gesendet. Abhängig von der vom ECC-Modul 480 bereitgestellten Fehlerkorrektur-Ebene können ein oder mehrere Bits für die Auswahl, die in den Cache 495 gelesen wurde, korrigiert werden. In der beispielhaften Ausführungsform ist die Auswahl aus dem Array 455, die in den Cache 495 gelesen wird, eine Seite, und das ECC-Modul 480 korrigiert ein fehlerhaftes Bit für jede Seite 465.
  • Wenn eine Fehlerkorrektur eines Bits stattfindet, wird bei Operation 615 das korrigierte Bit im Cache 495 gespeichert. Bei Operation 620 wird ein Aktualisierungs-Flag-Register 486 gesetzt, um zu markieren, dass eine Aktualisierung der Array-Auswahl aufgrund der Korrektur benötigt wird, und dass der Cache 495 zurück in das Array 455 kopiert werden muss. Nach dem Füllen des Cache muss bestimmt werden, ob ein Aktualisierungs-Unterbrechungsbefehl gesendet wurde. Der Unterbrechungsbefehl wird als solches nach dem Lesen einer Auswahl wirksam werden. Wenn beispielsweise eine einzige Speicherseite von PCM-Zellen gelesen wird, wäre ein Unterbrechungsbefehl innerhalb von ungefähr 50 ns wirksam (die Zeit, die es braucht, um 128b in den Cache 495 zu lesen). Wenn die Aktualisierung unterbrochen wird, existiert das Verfahren 600 mit dem Status-Bit aktualisiert bei Operation 645, um anzuzeigen, dass der Speicher für die MCU 125 bereit ist, um auf den Array zuzugreifen (z. B. Schreibzugriff).
  • Wenn die Aktualisierung nicht unterbrochen wird, muss im Anschluss eine Unterscheidung gemacht werden, ob neue Bits in den Cache 495 ab dem Zeitpunkt, zu dem er vom Array 455 gefüllt wurde, geschrieben wurden. Neue Bits im Cache 495 als ein Ergebnis der Fehlerkorrektur bei Operation 615 oder ein direktes Schreiben neuer Daten in den Cache 495 (wie dies im Detail beschrieben wird mit Referenz auf 6B), können durch die Aktualisierungs-Flag-Register 486 identifiziert werden. Wenn neue Bits vorliegen, wird im Anschluss an Operation 622 der Cache 495 zurück in das Speicher-Array 455 kopiert, um die Aktualisierung der Auswahl an Zellen, die in den Cache 495 hineingelesen wurden, zu vervollständigen. Das Aktualisierungs-Flag wird dann bei Operation 625 gelöscht. Dann wird eine Auswahl getroffen, ob die letzte Auswahl an Zellen, die bei Operation 610 gelesen wurde, die letzte Adresse für den Array 455 beinhaltete. Falls nicht, inkrementiert das Verfahren 600 das Adressregister bei Operation 640 und geht zurück, um bei Operation 610 zu lesen. Wenn das Ende des Speicherzelladressbereichs erreicht wurde, ist das Verfahren 600 abgeschlossen, wenn das Adressregister 487 zurückgesetzt ist, so dass nach der Initiierung eines anschließenden Abtastens eine Startadresse einer neuen Auswahl aus dem Array 455 in das Adressregister 487 geladen werden kann. Das Status-Bit wird aktualisiert bei Operation 645, um anzuzeigen, dass der Speicher für die MCU 125 bereit ist, um auf das Array zuzugreifen.
  • 6B ist ein Flussdiagramm, das bestimmte Operationen des Verfahrens 650 darstellt, das von der Speichervorrichtung 150 durchgeführt wird, um ein Speicherlesen während einer ECC-basierten Speicheraktualisierung, die während des aktiven Status (d. h. RWR) durchgeführt wird, zu erleichtern. Das Verfahren 650 beginnt bei Operation 651 damit, dass die MCU 125 das Status-Bit der Speichervorrichtung 150 überprüft. Wenn das Aktualisierungs-Status-Bit anzeigt, dass keine Aktualisierung stattfindet, schreitet anschließend das Lesen/Programmieren des Arrays 455 bei Operation 652 voran. Falls jedoch eine Aktualisierung stattfindet, wird der Adressbereich, auf den zugegriffen wird, verglichen mit den Adressen, die im Adressregister 487 gespeichert sind. Wenn der Adressbereich nicht übereinstimmt, werden die Daten direkt aus dem Cache 495 bei Operation 670 gelesen oder die Daten werden direkt in den Cache 495 bei Operation 660 geschrieben. Wenn Daten direkt in den Cache 495 geschrieben werden, wird der Aktualisierungs-Flag bei Operation 665 gesetzt, um sicherzustellen, dass der Cache 495 zurück in den Array kopiert wird.
  • Wenn der Adressbereich nicht übereinstimmt (z. B. mindestens eine Bit-Adresse liegt außerhalb der Auswahl, die aktualisiert wird), werden die Daten anschließend bei Operation 652 in den Array 455 gelesen/programmiert. Wenn solche Lese-/Neu-Schreibe-Operationen auf Seiten 465 adressiert werden, die nicht denen im Cache 495 gespeicherten entsprechen (z. B. Seite 465<0>), können Aktualisierungsoperationen bei der optionalen Operation 655 unterbrochen werden, um den MCU-125-Speicherzugriff mit kleiner Latenz zu versorgen. Wenn die Hardware das Lesen während der Aktualisierung und/oder Programmieren während Aktualisierungsfunktionen unterstützen, kann das Verfahren 600 fortgesetzt werden, ohne die Unterbrechung der Aktualisierung bei Operation 655, um im Wesentlichen Null-Latenz bereitzustellen. In der exemplarischen Ausführungsform, die in 4A und 4B dargestellt ist, beinhaltet die Speichervorrichtung doppelte Cache-Erfassungs-Schaltkreise 475 und Cache-Y-mux-Schaltkreise 470, so dass Daten aus den Zellen der Partition 460 gelesen werden können, die von jenen, die in der Auswahl, die in den Cache gelesen wurde (z. B. Seite 465<0>), unterschiedlich ist, während die Aktualisierung der gecacheten Auswahl (z. B. Seite 465<1>) weitergeht. In anderen Ausführungsformen können Schreib-Schaltkreise ebenfalls zwischen der Partition 460 und dem Cache 495 dupliziert werden, um eine Reprogrammierung der Zellen in der Partition 460 zu gestatten, die von jenen, die in der Auswahl, die in den Cache 495 gelesen wurde (z. B. Seite 465<0>), unterschiedlich ist, während die Aktualisierung der gecacheten Auswahl (z. B. Seite 465<1>) weitergeht.
  • 7 zeigt ein PCM-Array 805. In einer solchen Ausführungsform dient das PCM-Array 805 als die Speicher-Array-Partition 460, die in 4A dargestellt ist. Jede PCM-Zelle beinhaltet Legierungen der Elemente der VI. Gruppe des Periodensystems, so wie beispielsweise Te oder Se, die als Chalkogenide oder chalkogene Materialien bezeichnet werden. Chalkogenide können vorteilhafterweise in Phasenwechselspeicherzellen verwendet werden, um Datenspeicherung bereitzustellen und stabil zu halten, selbst nachdem der Strom vom nichtflüchtigen Speicher entfernt wurde. Wenn man zum Beispiel das Phasenwechselmaterial Ge2Sb2Te5 nimmt, so weist es zwei oder mehr Phasen auf, die unterschiedliche elektrische Charakteristiken besitzen, die für die Speicher-Speicherung nützlich sind.
  • Das PCM-Array 805 beinhaltet Speicherzellen, von denen jede eine Auswahlvorrichtung und ein Speicherelement aufweist. Obwohl das Array mit bipolaren Auswahlvorrichtungen dargestellt ist, können alternative Ausführungsformen CMOS-Auswahl-Vorrichtungen oder Dioden verwenden. Durch die Verwendung jedes Verfahrens oder Mechanismus, der in dem Bereich bekannt ist, kann das chalkogenide Material zwischen verschiedenen Status elektrisch gewechselt werden, die zwischen dem amorphen und kristallinen Status liegen und somit die Möglichkeit zu einer Speichermöglichkeit auf mehreren Ebenen ergeben. Die Zellen des PCM-Array 805 können deshalb in einem Einzigen-Bit-Pro-Zelle-Modus oder einem Mehrere-Bit-Pro-Zelle-Modus betrieben werden.
  • Um den Status oder die Phase des Speichermaterials zu verändern, zeigt diese Ausführungsform ein programmierendes Spannungspotential, das größer ist als die Schwellenwertspannung der Speicherauswahlvorrichtung, die an die Speicherzelle angelegt werden kann. Ein elektrischer Strom fließt durch das Speichermaterial und generiert Hitze, die die elektrische Charakteristik verändert und den Speicherstatus oder -phase des Speichermaterials abändert. Beispielsweise wird das Phasewechselmaterial in einer Schreib-Operation auf über 900°C erhitzt, was das Phasewechselmaterial über seine Schmelztemperatur („melting temperature (TM)”) bringt. Anschließend führt eine rasche Abkühlung das Phasewechselmaterial in den amorphen Zustand, der als der „zurückgesetzte”-Status bezeichnet wird, wobei gespeicherte Daten einen Wert von „1” haben können.
  • Um auf der anderen Seite eine Speicherzelle von zurückgesetzt auf gesetzt zu programmieren, wird die lokale Temperatur stärker angehoben als die Kristallisationstemperatur (Tx) für eine relativ längere Zeitdauer, um eine vollständige Kristallisation zu gestatten. Folglich kann die Zelle durch das Setzen der Amplitude und der Pulsbreite des Stroms, der durch die Zelle gestattet wird, programmiert werden.
  • In einer Leseoperation werden die Bit-Leitung („bit line (BL)”) und die Wortleitung („word line (WL)”) ausgewählt und ein externer Strom wird der ausgewählten Speicherzelle zur Verfügung gestellt. Um eine chalkogenide Speichervorrichtung zu lesen, wird der Stromunterschied, der aus den unterschiedlichen Vorrichtungswiderständen resultiert, erfasst.
  • 8 zeigt ein MRAM-Array 905, wobei magnetische Speicherelemente aus zwei ferromagnetischen Platten geformt werden, die an einer Schnittstelle einer Reihe und einer Spaltenleitung liegen und ausgewählt werden durch eine „magnetische Tunnelkreuzungs-(„Magnetic Tunnel Junction (MTJ)”)-Vorrichtung. In einer solchen Ausführungsform dient das MRAM-Array 715 als die Speicher-Array-Partition 460, die in 4A dargestellt ist. Für eine solche Ausführungsform verursacht Strom, der in die Reihenleitung in eine Richtung eingeleitet wird ein magnetisches Feld, das auf der MRAM-Zelle operiert und die MRAM-Zelle in Richtung eines bestimmten Zustands dirigiert. Aufgrund eines magnetischen Tunneleffekts ändert sich der elektrische Widerstand der Speicherzelle, aufgrund der Orientierung der Felder in den zwei Platten.
  • Daten können auf die Speicherzellen unter Verwendung verschiedener Mittel geschrieben werden. Im einfachsten Fall liegt jede Zelle zwischen einem Paar von Schreibleitungen, die im rechten Winkel zueinander angeordnet sind, über und unter der Zelle. Wenn Strom durch sie geleitet wird, wird ein induziertes magnetisches Feld an der Kreuzung kreiert, welches die schreibbaren Platten aufsammelt. Andere Ansätze, die bekannt sind, so wie beispielsweise der Wechselmodus („toggle mode”), der Spin-Drehmomentstransfer („spin-torque-transfer (STT)”) oder die Spin-Übertragungsumschaltung („Spin Transfer Switching”), oder Spin-Ausrichtung („spin-aligned („polarisiert”)”) können dazu verwendet werden, um die Domänen direkt anzuziehen.
  • Das Lesen der Daten, die in den Speicherzellen gespeichert sind, wird durch das Messen des elektrischen Widerstands der Zellen bewerkstelligt. Eine bestimmte Zelle wird durch Stromversorgen eines assoziierten Transistors ausgewählt, was den Strom von einer Zuleitung durch die Zelle zur Masse wechselt. Aufgrund des magnetischen Tunneleffekts wechselt der elektrische Widerstand der Zelle, aufgrund der Orientierung der Felder in den zwei Platten. Durch die Messung des resultierenden Stroms wird der Widerstand innerhalb der ausgewählten Zelle bestimmt und daraus die Polarität der beschreibbaren Platte.
  • Somit wurden Systeme und Verfahren von statusabhängigen nichtflüchtiger-Speicher-Aktualisierungen offenbart. Obwohl Ausführungsformen der vorliegenden Erfindung in sprachspezifischen bis strukturellen Merkmalen oder methodologischen Schritten beschrieben wurden, muss verstanden werden, dass die Erfindung in den anschließenden Ansprüchen definiert ist und nicht notwendigerweise auf die spezifischen Merkmale oder beschriebenen Ausführungsformen beschränkt ist.

Claims (20)

  1. Verfahren zur Aktualisierung eines Speicherzell-Arrays in einer nichtflüchtiger-Speicher-Vorrichtung, wobei das Verfahren umfasst: Durchführen einer ersten Aktualisierung und einer zweiten Aktualisierung als eine Funktion eines Systemstatus-Identifikators, wobei das Durchführen der ersten Aktualisierung des Weiteren umfasst: Lesen von Zellen des Speicher-Arrays gegen eine erste Aktualisierungs-Referenzebene und Neuschreiben jener gescheiterten Zellen; und wobei die Durchführung der zweiten Aktualisierung des Weiteren umfasst: Lesen von Zellen des Speicher-Arrays gegen eine zweite Aktualisierungs-Referenzebene, die von der ersten Aktualisierungs-Referenzebene unterschiedlich ist, und Neuschreiben jener Zellen, die Daten speichern, die durch einen Fehlerkorrektur-codierenden Algorithmus korrigiert wurden.
  2. Verfahren nach Anspruch 1, des Weiteren umfassend Lesen von Daten aus dem Speicher-Array aus der Speichervorrichtung gegen eine Lese-Referenzebene, wobei es eine Begrenzung zwischen der ersten Aktualisierungs-Referenzebene und der Lese-Referenzebene gibt und worin die zweite Aktualisierungs-Referenzebene gleich der Lese-Referenzebene ist.
  3. Verfahren nach Anspruch 1, wobei die zumindest eine der ersten Aktualisierung und zweiten Aktualisierung wiederholt bei einer Frequenz durchgeführt werden, die eine Funktion einer Temperatur der Speichervorrichtung ist.
  4. Verfahren nach Anspruch 1, wobei die erste Aktualisierung nach einem Übergang auf einen System-an-Status durchgeführt wird und wobei die zweite Aktualisierung während einem aktiven Status durchgeführt wird, wobei die Speichervorrichtung durch eine Speichersteuereinheit zugelassen werden kann und auf sie zugegriffen werden kann, wenn sie im aktiven Status ist, und wobei der System-an-Status ein Übergangsstatus ist, bei dem alle Systemschaltungen mit Strom versorgt werden, zwischen einem Strom-an-Status, wobei die Systemschaltungen hochgefahren werden, und dem aktiven Status.
  5. Verfahren nach Anspruch 1, wobei die Durchführung der zweiten Aktualisierung des Weiteren umfasst: Lesen von Daten aus einer ersten Auswahl von Speicherzellen; Anwenden des Fehlerkorrektur-Algorithmus auf die Daten, die aus der ersten Auswahl aus Speicherzellen gelesen wurden; Schreiben der fehlerkorrigierten Daten in einen flüchtigen Cache-Speicher; und wobei das Schreiben das Kopieren der fehlerkorrigierten Daten aus dem Cache-Speicher zurück in die erste Auswahl an Speicherzellen umfasst.
  6. Verfahren nach Anspruch 5, des Weiteren umfassend: Empfangen einer Systemanfrage, ein Daten-Bit aus der Speichervorrichtung zu lesen, während der Durchführung der zweiten Aktualisierung; Lesen des Daten-Bits aus dem Speicher-Array, wenn die Daten-Bit-Adresse sich in einer zweiten Auswahl an Speicherzellen befindet, die von der ersten Auswahl an Speicherzellen unterschiedlich ist; Lesen des Daten-Bits aus dem Cache-Speicher, wenn die Daten-Bit-Adresse sich in der ersten Auswahl der Speicherzellen befindet.
  7. Verfahren nach Anspruch 6, wobei das Lesen des Daten-Bits aus dem Speicher-Array mit einer ersten Erfassungsschaltung erfolgt und wobei das Lesen des Daten-Bits aus dem Cache-Speicher mit einer zweiten Erfassungsschaltung erfolgt.
  8. Verfahren nach Anspruch 5, wobei die Speicherzellen Phasenwechsel-Speicherzellen umfassen, wobei der flüchtige Cache aus SRAM-Zellen besteht, wobei eine erste Auswahl an Speicherzellen aus einer ersten Seite von Speicherzellen in einer Speicherpartition besteht und wobei die zweite Auswahl an Speicherzellen aus einer zweiten Seite an Speicherzellen in der Speicherpartition besteht.
  9. Nichtflüchtiger-Speicher-Vorrichtung, umfassend: ein Array von Speicherzellen; eine Aktualisierungssteuereinheit, die konfiguriert ist, eine erste Aktualisierung und eine zweite Aktualisierung als eine Funktion eines Systemstatus-Identifikators durchzuführen, wobei die Durchführung der ersten Aktualisierung des Weiteren umfasst: Lesen von Zellen des Speicher-Arrays gegen eine erste Aktualisierungs-Referenzebene und Neuschreiben jener gescheiterten Zellen; und wobei die Durchführung der zweiten Aktualisierung des Weiteren umfasst: Lesen von Zellen des Speicher-Arrays gegen eine zweite Aktualisierungs-Referenzebene, die von der ersten Aktualisierungs-Referenzebene unterschiedlich ist, und Neuschreiben jener Zellen, die Daten speichern, die durch einen Fehlerkorrektur-codierenden Algorithmus korrigiert wurden.
  10. Nichtflüchtiger-Speicher-Vorrichtung nach Anspruch 9, des Weiteren umfassend: einen Cache-Speicher, um Daten aus einer ersten Auswahl der Speicherzellen zu speichern, die in Antwort auf die Aktualisierungs-steuereinheit, die die zweite Aktualisierung initiiert, ausgelesen wurden; ein Fehlerkorrektur-codierendes Modul zum Fehlerkorrigieren der Daten, die von der ersten Auswahl von Speicherzellen gelesen wurden; ein Flag-Bit-Register, um einen Flag-Wert in Antwort auf eine Fehlerkorrektur der Daten, die von der Auswahl an Speicherzellen gelesen wurden, zu speichern; und ein Multiplexer, der an den Cache-Speicher und den Speicher-Array gekoppelt ist, um die fehlerkorrigierten Daten von dem Cache-Speicher zurück in die erste Auswahl von Speicherzellen zu kopieren, in Antwort auf den Flag-Wert.
  11. Nichtflüchtiger-Speicher-Vorrichtung nach Anspruch 10, des Weiteren umfassend: eine erste Erfassungsschaltung, die an den Speicher-Array gekoppelt ist; eine zweite Erfassungsschaltung, die an den Cache-Speicher gekoppelt ist; und einen Erfassungsschaltungs-Selektor, der an jede der ersten und zweiten Erfassungsschaltungen gekoppelt ist und betrieben werden kann, um eine der ersten und zweiten Erfassungsschaltungen als eine Funktion einer aus der Speichervorrichtung auszulesende Adresse auszuwählen, wobei die zweite Erfassungsschaltung ausgewählt wird in Antwort auf die Adresse, die sich innerhalb der ersten Auswahl von Speicherzellen befindet.
  12. Nichtflüchtiger-Speicher-Vorrichtung nach Anspruch 11, wobei die erste Erfassungsschaltung ausgewählt wird in Antwort auf die Adresse, die sich innerhalb einer zweiten Auswahl von Speicherzellen in einer selben Speicherpartition wie die erste Auswahl an Speicherzellen befindet.
  13. Nichtflüchtiger-Speicher-Vorrichtung nach Anspruch 12, wobei die Speicherzellen Phasenwechsel-Speicherzellen umfassen, wobei der Cache-Speicher einen SRAM-Cache umfasst, wobei die erste Auswahl an Speicherzellen eine erste Seite an Speicherzellen umfasst, die zweite Auswahl an Speicherzellen eine zweite Seite an Speicherzellen umfasst, und wobei das Fehlerkorrektur-codierende Modul derart konfiguriert ist, dass es einen Daten-Bit-Fehler in der ersten Seite der Speicherzellen korrigiert.
  14. Nichtflüchtiger-Speicher-Vorrichtung nach Anspruch 9, wobei die Aktualisierungssteuereinheit derart konfiguriert ist, dass sie die Durchführung der zweiten Aktualisierung unterbricht in Antwort auf einen empfangenen Befehl, durch eine Befehlsschnittstelle der Speichervorrichtung, von außerhalb der Speichervorrichtung.
  15. Nichtflüchtiger-Speicher-Vorrichtung nach Anspruch 9, wobei die nichtflüchtiger-Speicher-Vorrichtung des Weiteren umfasst: einen Aktualisierungs-Timer und einen Temperatursensor indikativ für die Temperatur der Speichervorrichtung, der gekoppelt ist an die Aktualisierungssteuereinheit, wobei die Aktualisierungssteuereinheit derart konfiguriert ist, dass sie die erste oder die zweite Aktualisierung bei einer Frequenz durchführt, die eine Funktion des Temperatursensors ist.
  16. System, umfassend: eine Speichersteuereinheit; eine nichtflüchtiger-Speicher-Vorrichtung, die an die Speichersteuereinheit gekoppelt ist, wobei die Speichervorrichtung derart konfiguriert ist, dass sie eine erste Aktualisierung und eine zweite Aktualisierung als eine Funktion des Systemstatus-Identifikators durchführt, wobei die Durchführung der ersten Aktualisierung des Weiteren umfasst: Lesen von Zellen des Speicher-Arrays gegen eine erste Aktualisierungs-Referenzebene und Neuschreiben jener gescheiterten Zellen; und wobei die Durchführung der zweiten Aktualisierung des Weiteren umfasst: Lesen von Zellen des Speicher-Arrays gegen eine zweite Aktualisierungs-Referenzebene, die von der ersten Aktualisierungs-Referenzebene unterschiedlich ist, und Neuschreiben jener Zellen, die Daten speichern, die durch einen Fehlerkorrektur-codierenden Algorithmus korrigiert wurden.
  17. System nach Anspruch 16, des Weiteren umfassend eine Vielzahl an Schaltungen außerhalb der Speichervorrichtung und die Speichersteuereinheit, und wobei die Speichervorrichtung derart konfiguriert ist, dass sie die erste Aktualisierung in Antwort auf den Systemstatus-Identifikator durchführt, der anzeigt, dass die Vielzahl der externen Schaltungen heruntergefahren worden sind.
  18. System nach Anspruch 16, wobei die Speichersteuereinheit derart konfiguriert ist, dass sie ein Aktualisierungsstatus-Register-Bit der Speichervorrichtung liest, bevor sie auf das Speicher-Array zugreift.
  19. System nach Anspruch 18, wobei die Speichersteuereinheit derart konfiguriert ist, dass sie einen Aktualisierungs-Unterbrechungsbefehl an die Speichervorrichtung sendet, wenn das Aktualisierungsstatus-Register-Bit anzeigt, dass eine Speicheraktualisierung stattfindet, und wobei die Speichervorrichtung derart konfiguriert ist, dass die Speicheraktualisierung in Antwort auf Empfang des Aktualisierungs-Unterbrechungsbefehls von der Speichersteuereinheit unterbrochen wird.
  20. System nach Anspruch 16, wobei die Speichervorrichtung weiter konfiguriert ist, um die erste Aktualisierung basierend auf einem internen Temperatursensor durchzuführen, während die Speichersteuereinheit heruntergefahren wird.
DE112009005413.7T 2009-12-02 2009-12-02 Verfahren zur Aktualisierung für nichtflüchtige Speicher und Nichtflüchtiger-Speicher-Vorrichtung Active DE112009005413B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IT2009/000541 WO2011067795A1 (en) 2009-12-02 2009-12-02 Refresh architecture and algorithm for non-volatile memories

Publications (2)

Publication Number Publication Date
DE112009005413T5 true DE112009005413T5 (de) 2012-10-18
DE112009005413B4 DE112009005413B4 (de) 2018-11-29

Family

ID=41720577

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112009005413.7T Active DE112009005413B4 (de) 2009-12-02 2009-12-02 Verfahren zur Aktualisierung für nichtflüchtige Speicher und Nichtflüchtiger-Speicher-Vorrichtung

Country Status (7)

Country Link
US (4) US9070473B2 (de)
JP (1) JP5549956B2 (de)
KR (1) KR101649395B1 (de)
CN (1) CN102834870B (de)
DE (1) DE112009005413B4 (de)
TW (1) TWI505275B (de)
WO (1) WO2011067795A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9070473B2 (en) 2009-12-02 2015-06-30 Micron Technology, Inc. Refresh architecture and algorithm for non-volatile memories

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10058948B2 (en) 2010-12-29 2018-08-28 Illinois Tool Works Inc. Weld cell system with communication
JP5853906B2 (ja) * 2012-08-24 2016-02-09 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
KR101431215B1 (ko) * 2012-12-04 2014-08-19 성균관대학교산학협력단 반도체 메모리 장치, 리프레쉬 방법 및 시스템
US9117518B2 (en) * 2012-12-21 2015-08-25 Flashsilicon Incorporation Non-volatile register and non-volatile shift register
US9076499B2 (en) 2012-12-28 2015-07-07 Intel Corporation Refresh rate performance based on in-system weak bit detection
KR102055375B1 (ko) 2013-01-14 2020-01-22 삼성전자 주식회사 저항체를 이용한 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
US9536626B2 (en) 2013-02-08 2017-01-03 Intel Corporation Memory subsystem I/O performance based on in-system empirical testing
WO2014175877A1 (en) * 2013-04-24 2014-10-30 Hewlett-Packard Development Company, L.P. Representing data using a group of multilevel memory cells
US9280417B2 (en) 2013-05-21 2016-03-08 Microsoft Technology Licensing, Llc Message storage in memory blocks using codewords
CN104346236B (zh) 2013-08-06 2018-03-23 慧荣科技股份有限公司 数据储存装置及其数据维护方法
TWI490870B (zh) * 2013-08-06 2015-07-01 Silicon Motion Inc 資料儲存裝置及其資料維護方法
US9257175B2 (en) 2013-09-26 2016-02-09 Intel Corporation Refresh of data stored in a cross-point non-volatile memory
US9208847B2 (en) 2013-10-30 2015-12-08 Taiwan Semiconductor Manufacturing Co., Ltd. Memory devices with improved refreshing operations
DE102014208609A1 (de) * 2014-05-08 2015-11-26 Robert Bosch Gmbh Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
DE112015002408B4 (de) * 2014-05-22 2022-10-27 Joyson Safety Systems Acquisition Llc Systeme und Verfahren zum Abschirmen eines Handsensorsystems in einem Lenkrad
US10114513B2 (en) 2014-06-02 2018-10-30 Joyson Safety Systems Acquisition Llc Systems and methods for printing sensor circuits on a sensor mat for a steering wheel
DE102014211111A1 (de) * 2014-06-11 2015-12-17 Robert Bosch Gmbh Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
US10008286B2 (en) * 2014-11-07 2018-06-26 Elwha Llc Self-testing data storage devices and methods
US9612908B2 (en) 2015-02-20 2017-04-04 Qualcomm Incorporated Performing memory data scrubbing operations in processor-based memory in response to periodic memory controller wake-up periods
US10801540B2 (en) 2015-04-17 2020-10-13 Enduralock, Llc Locking mechanisms with deflectable lock member
US9384795B1 (en) * 2015-04-29 2016-07-05 Qualcomm Incorporated Fully valid-gated read and write for low power array
US9836349B2 (en) * 2015-05-29 2017-12-05 Winbond Electronics Corp. Methods and systems for detecting and correcting errors in nonvolatile memory
US9472274B1 (en) * 2015-07-01 2016-10-18 Macronix International Co., Ltd. Refresh of nonvolatile memory cells and reference cells with resistance drift
US20170126249A1 (en) * 2015-10-30 2017-05-04 Intel Corporation Temperature dependent multiple mode error correction
US9823964B2 (en) 2015-12-08 2017-11-21 Nvidia Corporation Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation
US9880900B2 (en) 2015-12-08 2018-01-30 Nvidia Corporation Method for scrubbing and correcting DRAM memory data with internal error-correcting code (ECC) bits contemporaneously during self-refresh state
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
US10336361B2 (en) 2016-04-04 2019-07-02 Joyson Safety Systems Acquisition Llc Vehicle accessory control circuit
KR102493820B1 (ko) 2016-06-08 2023-02-01 에스케이하이닉스 주식회사 메모리 장치, 이의 동작 방법 및 메모리 콘트롤러의 동작 방법
US10199115B2 (en) * 2016-06-20 2019-02-05 Qualcomm Incorporated Managing refresh for flash memory
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
JP2018049672A (ja) * 2016-09-20 2018-03-29 東芝メモリ株式会社 メモリシステムおよびプロセッサシステム
JP6697360B2 (ja) 2016-09-20 2020-05-20 キオクシア株式会社 メモリシステムおよびプロセッサシステム
KR102634813B1 (ko) * 2016-10-10 2024-02-13 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10163502B2 (en) * 2016-12-30 2018-12-25 Intel Corporation Selective performance level modes of operation in a non-volatile memory
JP2018147544A (ja) * 2017-03-09 2018-09-20 ソニーセミコンダクタソリューションズ株式会社 制御回路、半導体記憶装置、情報処理装置及び制御方法
JP6765331B2 (ja) 2017-03-24 2020-10-07 キオクシア株式会社 メモリシステム
JP2018163709A (ja) * 2017-03-24 2018-10-18 東芝メモリ株式会社 メモリシステム
US10297304B1 (en) * 2017-11-12 2019-05-21 Nanya Technology Corporation Memory device and operating method thereof
KR102467075B1 (ko) * 2017-11-13 2022-11-11 삼성전자주식회사 메모리 장치 및 그의 리클레임 방법
US10446246B2 (en) * 2018-03-14 2019-10-15 Silicon Storage Technology, Inc. Method and apparatus for data refresh for analog non-volatile memory in deep learning neural network
US20190378564A1 (en) * 2018-06-11 2019-12-12 Nanya Technology Corporation Memory device and operating method thereof
KR20200000904A (ko) * 2018-06-26 2020-01-06 에스케이하이닉스 주식회사 비휘발성 메모리 장치, 이를 포함하는 반도체 시스템 및 이의 동작 방법
US10734071B2 (en) 2018-12-13 2020-08-04 Western Digital Technologies, Inc. Multi-level cell programming using optimized multiphase mapping with balanced Gray code
KR102651129B1 (ko) 2018-12-21 2024-03-26 삼성전자주식회사 메모리 장치의 데이터 재기입 방법, 상기 메모리 장치를 제어하는 메모리 컨트롤러 및 상기 메모리 컨트롤러의 제어 방법
US11133067B2 (en) * 2019-03-08 2021-09-28 Western Digital Technologies, Inc. Multi-phased programming with balanced gray coding
US10867655B1 (en) * 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
KR102697049B1 (ko) 2019-10-18 2024-08-20 삼성전자주식회사 상변화 메모리 시스템 및 상변화 메모리 장치 리프레시 방법
US10964385B1 (en) * 2019-11-14 2021-03-30 Micron Technology, Inc. Restoring memory cell threshold voltages
KR20210103701A (ko) 2020-02-14 2021-08-24 삼성전자주식회사 메모리 장치 및 그 동작 방법
US11481273B2 (en) * 2020-08-17 2022-10-25 Micron Technology, Inc. Partitioned memory having error detection capability
CN112365910A (zh) * 2020-11-03 2021-02-12 北京灵汐科技有限公司 一种存储器及神经形态芯片
US11972812B2 (en) 2021-12-13 2024-04-30 Sandisk Technologies Llc Non-volatile memory with data refresh based on data states of adjacent memory cells
US12009027B2 (en) * 2021-12-23 2024-06-11 Micron Technology, Inc. Refresh of neighboring memory cells based on read status
US12087366B2 (en) 2022-08-18 2024-09-10 Yangtze Memory Technologies Co., Ltd. Memory device and read operation during suspension of program operation thereof

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511020A (en) * 1993-11-23 1996-04-23 Monolithic System Technology, Inc. Pseudo-nonvolatile memory incorporating data refresh operation
US5606532A (en) * 1995-03-17 1997-02-25 Atmel Corporation EEPROM array with flash-like core
JPH0927199A (ja) * 1995-07-07 1997-01-28 Hitachi Ltd 不揮発性記憶装置及びそのリフレッシュ方法
JPH09204367A (ja) * 1996-01-25 1997-08-05 Mitsubishi Electric Corp フラッシュディスクカードにおけるフラッシュメモリデータのリフレッシュ方法
JPH09320300A (ja) * 1996-05-28 1997-12-12 Mitsubishi Electric Corp 半導体記憶装置
US5909449A (en) * 1997-09-08 1999-06-01 Invox Technology Multibit-per-cell non-volatile memory with error detection and correction
US6317657B1 (en) * 1998-08-18 2001-11-13 International Business Machines Corporation Method to battery back up SDRAM data on power failure
JP2000228094A (ja) * 1999-02-04 2000-08-15 Toshiba Corp 不揮発性半導体記憶装置
JP3018249B1 (ja) * 1999-02-17 2000-03-13 阪神エレクトリック株式会社 デ―タ保全装置およびデ―タ保全方法
WO2001015172A2 (en) * 1999-08-23 2001-03-01 Micron Technology, Inc. Flash memory with externally triggered detection and repair of leaky cells
TW559814B (en) 2001-05-31 2003-11-01 Semiconductor Energy Lab Nonvolatile memory and method of driving the same
JP2005135488A (ja) * 2003-10-29 2005-05-26 Toshiba Corp 半導体記憶装置
US7206244B2 (en) * 2004-12-01 2007-04-17 Freescale Semiconductor, Inc. Temperature based DRAM refresh
US7460394B2 (en) 2006-05-18 2008-12-02 Infineon Technologies Ag Phase change memory having temperature budget sensor
EP1843356A1 (de) 2006-04-03 2007-10-10 STMicroelectronics S.r.l. Verfahren und System zur Aktualisierung einer Speichervorrichtung während ihres Lesens
US7286377B1 (en) * 2006-04-28 2007-10-23 Mosaid Technologies Incorporated Dynamic random access memory device and method for self-refreshing memory cells with temperature compensated self-refresh
US7405964B2 (en) * 2006-07-27 2008-07-29 Qimonda North America Corp. Integrated circuit to identify read disturb condition in memory cell
KR100875292B1 (ko) * 2006-09-19 2008-12-23 삼성전자주식회사 플래시 메모리 장치 및 그것의 리프레쉬 방법
US7679980B2 (en) 2006-11-21 2010-03-16 Qimonda North America Corp. Resistive memory including selective refresh operation
KR100799018B1 (ko) * 2006-12-27 2008-01-28 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 자기 보상 방법
US7561465B2 (en) 2006-12-28 2009-07-14 Advanced Micro Devices, Inc. Methods and systems for recovering data in a nonvolatile memory array
US8060798B2 (en) * 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
JP2009087509A (ja) * 2007-10-03 2009-04-23 Toshiba Corp 半導体記憶装置
JP5228472B2 (ja) * 2007-12-19 2013-07-03 富士通セミコンダクター株式会社 半導体メモリおよびシステム
US9070473B2 (en) 2009-12-02 2015-06-30 Micron Technology, Inc. Refresh architecture and algorithm for non-volatile memories
US9977615B2 (en) * 2015-09-28 2018-05-22 Qualcomm Incorporated Smart refresh of data on flash devices

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9070473B2 (en) 2009-12-02 2015-06-30 Micron Technology, Inc. Refresh architecture and algorithm for non-volatile memories
US9646689B2 (en) 2009-12-02 2017-05-09 Micron Technology, Inc. Refresh architecture and algorithm for non-volatile memories
US10074419B2 (en) 2009-12-02 2018-09-11 Micron Technology, Inc. Refresh architecture and algorithm for non-volatile memories
US10311951B2 (en) 2009-12-02 2019-06-04 Micron Technology, Inc. Refresh architecture and algorithm for non-volatile memories

Also Published As

Publication number Publication date
TWI505275B (zh) 2015-10-21
US9070473B2 (en) 2015-06-30
US20130003451A1 (en) 2013-01-03
US9646689B2 (en) 2017-05-09
JP2013513195A (ja) 2013-04-18
CN102834870A (zh) 2012-12-19
US20180366189A1 (en) 2018-12-20
US20170243644A1 (en) 2017-08-24
KR101649395B1 (ko) 2016-08-19
US20150302924A1 (en) 2015-10-22
JP5549956B2 (ja) 2014-07-16
TW201145287A (en) 2011-12-16
US10311951B2 (en) 2019-06-04
DE112009005413B4 (de) 2018-11-29
US10074419B2 (en) 2018-09-11
KR20120104276A (ko) 2012-09-20
CN102834870B (zh) 2016-03-30
WO2011067795A1 (en) 2011-06-09

Similar Documents

Publication Publication Date Title
DE112009005413B4 (de) Verfahren zur Aktualisierung für nichtflüchtige Speicher und Nichtflüchtiger-Speicher-Vorrichtung
DE60132830T2 (de) Neuartiges verfahren und struktur zur effizienten datenverifizierungsoperation für nichtflüchtige speicher
US8531863B2 (en) Method for operating an integrated circuit having a resistivity changing memory cell
DE69706873T2 (de) Löschverfahren für mehrere-bits-pro-zelle flash -eeprom mit seitenmodus
DE102020130044A1 (de) Techniken zum verhindern von lese-störung in nand-speicher
DE102008032058B4 (de) Mehrpegel-Phasenänderungsspeicher und verwandte Verfahren
DE102009034836A1 (de) Verfahren und Vorrichtung zum Speichern von Daten in einem Festkörperspeicher
DE102013112900A1 (de) Verfahren und System zum Bereitstellen einer intelligenten Speicherarchitektur
DE102010061530A1 (de) Speicher mit variablem Widerstand, Betriebsverfahren und System
DE69500143T2 (de) Schaltung zum Wählen von Redundanzspeicherbauelementen und diese enthaltende FLASH EEPROM
JP2004524638A (ja) 不揮発性メモリにおける妨害の低減方法
DE102010018765A1 (de) Speichervorrichtung und Speicherverfahren
DE60015770T2 (de) Flashspeicheranordnung mit extern ausgelöster erfassung und heilung von fehlerhaften zellen
DE102008041947A1 (de) Verfahren und Einrichtung zum irreversiblen Programmieren und Lesen nicht-flüchtiger Speicherzellen
DE112012006472B4 (de) Mindestens teilweises Isolieren von lokaler Zeilen- oder Spaltenschaltung von Speicherzellen vor dem Erzeugen einer Spannungsdifferenz zum Ermöglichen des Auslesens der Zelle
DE102021106142A1 (de) Abtastverstärkerarchitektur, die eine abtastung kleiner hubspannungen bereitstellt
DE102008064527A1 (de) Nichtflüchtiger Speicher, Speichersystem und Verfahren zum Treiben
DE102022119340A1 (de) Auslösen einer auffrischung für einen nichtflüchtigen speicher
US9837153B1 (en) Selecting reversible resistance memory cells based on initial resistance switching
US10269444B2 (en) Memory with bit line short circuit detection and masking of groups of bad bit lines
DE102021115236A1 (de) Signalerhaltung im mram während des lesens
DE112019007368T5 (de) Speichergerät und verfahren zur überwachung der leistungen eines speichergeräts
DE102016115177A1 (de) Verfahren zum Betreiben einer Speichervorrichtung und Speichervorrichtung
DE112019007385T5 (de) Verbesserte sicherheit und korrektheit beim lesen und programmieren von daten in einem nichtflüchtigen speichergerät
DE102021115377A1 (de) Signalverstärkung im mram während des lesens

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
R130 Divisional application to

Ref document number: 112009005566

Country of ref document: DE

R020 Patent grant now final