DE102010030748A1 - Bitfehlerschwelle und Umabbildung einer Speicheranordnung - Google Patents

Bitfehlerschwelle und Umabbildung einer Speicheranordnung Download PDF

Info

Publication number
DE102010030748A1
DE102010030748A1 DE102010030748A DE102010030748A DE102010030748A1 DE 102010030748 A1 DE102010030748 A1 DE 102010030748A1 DE 102010030748 A DE102010030748 A DE 102010030748A DE 102010030748 A DE102010030748 A DE 102010030748A DE 102010030748 A1 DE102010030748 A1 DE 102010030748A1
Authority
DE
Germany
Prior art keywords
memory
bit error
error rate
bit
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102010030748A
Other languages
English (en)
Inventor
Stephen Woodland Bowers
Gurkirat Lincoln Billing
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
Numonyx BV Amsterdam Rolle Branch
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 Numonyx BV Amsterdam Rolle Branch filed Critical Numonyx BV Amsterdam Rolle Branch
Publication of DE102010030748A1 publication Critical patent/DE102010030748A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Das hier Offenbarte betrifft die Umabbildung einer Speichereinheit.

Description

  • STAND DER TECHNIK
  • Technisches Gebiet:
  • Die vorliegende Erfindung betrifft das Umabbilden einer Speichereinheit.
  • Informationen:
  • Speichereinheiten werden in vielen Arten von elektronischen Geräten verwendet, wie zum Beispiel in Computern, Mobiltelefonen, PDA, Datenprotokollierern und Navigationsgeräten, um nur einige wenige Beispiele zu nennen. Bei solchen elektronischen Geräten können verschiedene Arten von nichtflüchtigen Speichereinheiten verwendet werden, wie zum Beispiel NAND- oder NOR-Flash-Speicher, SRAM-, DRAM- und Phasenänderungsspeicher, um nur einige wenige Beispiele zu nennen. Im allgemeinen können Schreib- oder Programmierprozesse verwendet werden, um Informationen in solchen Speichereinheiten zu speichern, während ein Leseprozeß verwendet werden kann, um gespeicherte Informationen abzurufen.
  • Solche nichtflüchtigen Speichereinheiten können Speicherzellen umfassen, die sich mit der Zeit langsam verschlechtern, so daß eine zunehmende Wahrscheinlichkeit entsteht, daß beim Zugreifen auf eine solche Speicherzelle ein Lese- und/oder Schreibfehler auftreten kann. Obwohl solche Fehler später zum Beispiel in einer Speichereinheit korrigiert werden können, kann eine solche Fehlerkorrektur mit zunehmender Anzahl von Fehlern schwierig oder unmöglich werden.
  • KURZE BESCHREIBUNG DER FIGUREN
  • Nichteinschränkende und nichterschöpfende Ausführungsformen werden mit Bezug auf die folgenden Figuren beschrieben, wobei gleiche Bezugszahlen in den verschiedenen Figuren durchweg gleiche Teile bezeichnen, sofern es nicht anders angegeben ist.
  • 1 ist eine schematische Ansicht einer Speicherkonfiguration gemäß einer Ausführungsform.
  • 2 ist ein Flußdiagramm eines Speicherleseprozesses gemäß einer Ausführungsform.
  • 3 ist eine schematische Ansicht einer Vektor-Umabbildungstabelle gemäß einer Ausführungsform.
  • 4 ist ein schematisches Blockdiagramm eines Speichersystems gemäß einer Ausführungsform.
  • 5 ist ein schematisches Blockdiagramm eines Datenverarbeitungssystems und einer Speichereinheit gemäß einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der vorliegenden Beschreibung bedeutet ein Verweis auf „eine Ausführungsform”, daß ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Charakteristikum, das bzw. die in Verbindung mit einer Ausführungsform beschrieben wird, in mindestens einer Ausführungsform des Beanspruchten enthalten ist. Das Erscheinen des Ausdrucks „bei einer Ausführungsform” oder „eine Ausführungsform” an verschiedenen Stellen in der vorliegenden Beschreibung bezieht sich somit nicht unbedingt immer auf dieselbe Ausführungsform. Ferner können die bestimmten Merkmale, Strukturen oder Charakteristiken in einer oder mehreren Ausführungsformen kombiniert werden.
  • Bei einer Ausführungsform kann eine Speichereinheit Speicherzellen umfassen, die sich mit der Zeit langsam verschlechtern, so daß eine vergrößerte Wahrscheinlichkeit entstehen kann, daß während des Lesens einer solchen Speichereinheit ein oder mehrere Fehler auftreten können. Solche Fehler können zum Beispiel in mehreren Bereichen innerhalb eines Datenverarbeitungssystems unter Verwendung von Fehlerkorrekturcodes (ECC) oder anderen solchen Algorithmen korrigiert werden. Von einer Systemperspektive aus gesehen kann eine Bestimmung erfolgen, ob solche fehleranfälligen Zellen weiter benutzt werden sollen oder nicht. Wie später ausführlicher erläutert werden wird, kann eine solche Bestimmung mindestens teilweise auf einem Vergleich der Anzahl solcher Fehler mit einer Fehlerschwelle basieren, die zum Beispiel während einer Entwurfsphase einer Speichereinheit definiert werden kann. Wenn die Benutzung von bestimmten Speicherzellen ausgesetzt werden soll, können Ersatzspeicherzellen auf eine Weise ausgewählt werden, die eine Gesamtspeicheranordnungskapazität aufrecht erhält.
  • Bei einer Ausführungsform kann dementsprechend ein Prozeß zum Aufrechterhalten einer Größenkapazität einer Speichereinheit das Umabbilden einer fehleranfälligen Speicherstelle auf eine ordnungsgemäß funktionierende Speicherstelle ohne Verlust von Gesamtsystemspeicherplatz (z. B. Kapazität der Speichereinheit) umfassen. Eine solche Umabbildung kann mindestens teilweise auf Informationen bezüglich einer Quantität und/oder Häufigkeit von als Ergebnis des Lesens aus einer fehleranfälligen Speicherstelle auftretenden Fehlern basieren. Hierbei bedeutet Speicherstelle einen Teil einer Speichereinheit, auf den z. B. über einen Lese- und/oder Schreibprozeß zugegriffen werden kann, wobei eine Adresse verwendet wird, um eine solche Speicherstelle und/oder einen solchen Teil zu identifizieren. Wie später ausführlicher erläutert werden wird, kann zum Beispiel ein ECC-Decodierer verwendet werden, um eine Bitfehlerrate und/oder die Anzahl von Bitfehlern zu bestimmen, die mit dem Lesen eines bestimmten Teils eines Speichers assoziiert ist. Danach können die Bitfehlerrate und/oder die Anzahl der Bitfehler mit einer Fehlerschwelle verglichen werden, die zum Beispiel eine wesentliche Grenze für eine annehmbare Anzahl von Fehlern umfassen kann. Abhängig von einem Ergebnis eines solchen Vergleichs kann eine Entscheidung erfolgen, ob der bestimmte Teil des Speichers, der die Fehler produziert, zurückgezogen, z. B. nicht weiter benutzt, werden soll.
  • Bei einer bestimmten Ausführungsform kann ein Prozeß zum Zurückziehen eines Teils einer Speicheranordnung das Verlagern oder Transferieren von Signalen, die in dem zurückzuziehenden Teil der Speichereinheit gespeicherte Daten repräsentieren, zu einem anderen Teil der Speichereinheit umfassen. Bei einer Implementierung können solche von einem zurückgezogenen Teil einer Speichereinheit umgeordnete Daten repräsentierende Signale zu einem Ersatzteil der Speichereinheit verlagert werden. Zum Beispiel kann ein solcher Ersatzteil des Speichers eine physische Stelle der Speichereinheit umfassen, die anfänglich nicht als Teil der vollen Kapazität der Speichereinheit anerkannt oder betrachtet wird, wie später ausführlicher erläutert werden wird. Ein Prozeß des Zurückziehens eines Teils einer Speichereinheit kann auch eine Umabbildung einer Adresse eines zurückzuziehenden Teils der Speichereinheit umfassen, um einer Adresse eines neuen Ersatzteils der Speichereinheit zu entsprechen. Natürlich sind solche Prozesse lediglich Beispiele, und der beanspruchte Gegenstand ist nicht darauf beschränkt.
  • Bei einer Ausführungsform kann bei einem Prozess, wie zum Beispiel dem oben beschriebenen, eine Speichereinheit beteiligt sein, die eine Phasenänderungsspeichereinheit (PCM) umfaßt. Wenn ein PCM altert, können dementsprechend eine Bitfehlerrate und/oder eine Anzahl von Bitfehlern, die durch Teile des PCM produziert wird, zunehmen. Solche Fehler können bis zu einem gewissen Grad zum Beispiel unter Verwendung eine ECC-Decodierers und/oder anderer solcher Fehlerkorrekturalgorithmen korrigiert werden. Eine Anzahl von Fehlern kann jedoch bis über eine Fähigkeit solcher Fehlerkorrekturtechniken hinaus zunehmen. Deshalb kann es wünschenswert sein, solche Speicherteile zurückzuziehen, wenn ein Trend angezeigt wird, daß solche Speicherteile eine zu große Anzahl von Fehlern produziert haben oder anfangen, diese zu produzieren.
  • Ausführungsformen, wie zum Beispiel die oben beschriebenen, können eine erfolgreiche Verwendung von Speicherungseinheiten unter Verwendung relativ wenig zuverlässiger Technologien erlauben, wie zum Beispiel ein derzeit verworfener Chip oder ein PCM-Chip mit unzuverlässigen Testergebnissen. Außerdem können solche Ausführungsformen eine Lebensdauer einer Speicherungseinheit auf die eines Großteils ihrer Speicherzellen, statt die Lebensdauer relativ weniger ihrer Speicherzellen, verlängert werden.
  • 1 ist eine schematische Ansicht einer Speicherkonfiguration gemäß einer Ausführungsform. Eine Speichereinheit 100 kann in einen Hauptspeicher 110 und einen Ersatzspeicher 120 aufgeteilt werden. Die Speichereinheit 100 kann NAND- oder NOR-Flash-Speicher, SRAM, DRAM oder PCM umfassen, um nur einige wenige Beispiele zu nennen. Die Speichereinheit 100 kann einen benutzeradressierbaren Speicherplatz umfassen, der solche Haupt- und Ersatzspeicherteile und/oder einen oder mehrere andere Speicherteile enthält, die miteinander zusammenhängend sein können oder auch nicht und sich auf einer einzigen Einheit befinden können oder auch nicht. Der Hauptspeicher 110 und der Ersatzspeicher 120 können unabhängige adressierbare Plätze umfassen, auf die zum Beispiel durch Lese-, Schreib- und/oder Löschprozesse zugegriffen werden kann.
  • Gemäß einer Ausführungsform können ein oder mehrere Teile der Speichereinheit 100 Signale speichern, die Daten und/oder Informationen repräsentieren, so wie sie durch einen bestimmten Zustand der Speichereinheit 100 angegeben werden. Zum Beispiel kann ein Daten und/oder Informationen repräsentierendes elektronisches Signal in einem Teil der Speichereinheit „gespeichert” werden, indem der Zustand solcher Teile der Speichereinheit 100 beeinflußt oder geändert wird, um Daten und/oder Informationen als Binärinformationen (zum Beispiel Einsen und Nullen) anzugeben. Bei einer bestimmten Implementierung stellt dementsprechend eine solche Änderung des Zustands des Teils des Speichers zum Speichern eines Daten und/oder Informationen repräsentierenden Signals eine Transformation der Speichereinheit 100 in einen anderen Zustand oder eine andere Sache dar.
  • Die Speichereinheit 100 kann dafür konfiguriert werden, anfänglich Hauptspeicher 110 zu umfassen, der der voll benutzbaren Kapazität der Speichereinheit 100 entspricht. Eine solche anfängliche Konfiguration kann zusätzlich Ersatzspeicher 120 umfassen, der bei der Bestimmung der Kapazität der Speichereinheit nicht mit umfasst werden muss. Wenn jedoch Teile des Hauptspeichers unbenutzbar werden oder zum Beispiel während Lese-/Schreibprozessen zu einer zu großen Anzahl von Fehlern führen, kann der Ersatzspeicher 120 verwendet werden, um Teile des Hauptspeichers 110 zu ersetzen. Bei einer Implementierung kann ein Speichersystem, das die Speichereinheit 100 enthält, einem Prozessor oder einem anderen externen Anforderer von in der Speichereinheit 100 gespeicherten Daten erlauben, fehlerfreie Daten aus einem bestimmten angeforderten Adressenbereich auch dann zu empfangen, wenn ein Teil eines solchen Adressenbereichs zurückgezogenen Hauptspeicher umfaßt. In einem solchen Fall kann zum Beispiel ein Datenabschnitt sowohl aus dem Hauptspeicher als auch dem Ersatzspeicher (der den zurückgezogenen Hauptspeicher ersetzt hat) ohne Kenntnis des Anforderers gelesen werden. Natürlich ist eine solche Konfiguration der Speichereinheit lediglich ein Beispiel, und der beanspruchte Gegenstand ist nicht darauf beschränkt.
  • 2 ist ein Flußdiagramm eines Speicherleseprozesses 200 gemäß einer Ausführungsform. Im Block 205 kann ein Leseprozeß zum Lesen von in einem Teil einer Speichereinheit gespeicherte Informationen repräsentierenden Signalen zum Beispiel durch eine Systemanwendung eingeleitet werden, die eine oder mehrere Leseadressen bereitstellt, um jeweils eine oder mehrere Speicherstellen zu identifizieren, aus denen gespeicherte Daten zu lesen sind. ECC-Hardware und/oder -Software kann zum Beispiel durch Paritätsprüfung gelesener Daten verwendet werden, um Fehler in gelesenen Daten zu prüfen und/oder zu korrigieren.
  • Danach können anfänglich gelesene Daten mit korrigierten gelesenen Daten verglichen werden und somit die Anzahl der Fehler bestimmt werden, die in dem Speicherleseprozeß aufgetreten sind, wie im Block 210. Eine solche Anzahl von Fehlern kann als eine Bitfehlerrate (BER) ausgedrückt werden, die zum Beispiel ein Verhältnis der Anzahl der Fehlerbit zu der Gesamtzahl gelesener Bit umfassen kann. Im Block 220 kann eine BER oder Anzahl von Fehlern, die sich aus dem Lesen von Informationen repräsentierenden Signalen aus einem Teil einer Speicheranordnung ergibt, mit einem Fehlerschwellenwert verglichen werden, der einen Wert umfassen kann, der eine maximale annehmbare BER oder maximale annehmbare Anzahl von Fehlern repräsentiert, über den hinaus zum Beispiel zusätzliche Fehler nicht erfolgreich korrigiert werden können: Ein solcher Fehlerschwellenwert kann eine Zahl umfassen, die eine wesentliche Obergrenze einer BER oder Anzahl von Fehlern repräsentiert, die für eine bestimmte Speichereinheit, wie zum Beispiel die in 1 gezeigte Speichereinheit 100, annehmbar ist. Bei oder unter einem solchen Fehlerschwellenwert kann ECC-Hardware und/oder -Software in der Lage sein, Lesefehler zu korrigieren. Aber über einer solchen Fehlerschwelle kann eine relativ hohe Wahrscheinlichkeit bestehen, daß alle Lesefehler nicht korrigierbar sein können.
  • Im Block 230 wird mindestens teilweise abhängig davon, ob das Lesen aus einem solchen Teil des Speichers zu zu vielen Fehlern führt, eine Entscheidung getroffen, ob ein Teil einer Speichereinheit zurückgezogen wird. Wenn eine solche Anzahl von Fehlern bei oder unter einer Fehlerschwelle liegt, kann der Leseprozeß 200 zum Block 240 voranschreiten, in dem zum Beispiel gelesene Daten einer Anwendung zugeführt werden können, die die gelesenen Daten angefordert hat. Wenn dagegen eine solche Anzahl von Fehlern über einer Fehlerschwelle liegt, kann der Leseprozeß 200 zum Block 250 voranschreiten, in dem zum Beispiel ein Prozeß einen Teil des Speichers, der zu zu vielen Fehlern führt, zurückzuziehen beginnen kann. Bei einer bestimmten Implementierung können anfänglich in einem solchen fehleranfälligen Speicherteil gespeicherte Daten zu einem anderen Speicherteil verlagert werden, von dem bekannt ist, daß er funktionsfähig und/oder gesund ist. Ein solcher neuer Speicherteil kann einen Teil von Ersatzspeicher, wie zum Beispiel dem in 1 gezeigten Ersatzspeicher 120, umfassen. Im Block 260 kann eine Speicheradresse oder können mehrere Speicheradressen zum Identifizieren der ursprünglichen Speicherstellen(n) der Daten umabgebildet werden, um den neuen Speicherteil zu identifizieren, an den Daten verlagert werden. Bei einer Implementierung kann die Umabbildung umfassen, eine neue Adresse so zuzuweisen, daß sie zum Beispiel über einen Vektor einer ursprünglichen Adresse entspricht, so daß ein Aufruf der ursprünglichen Adresse zu einer neuen Adresse umgelenkt werden kann, die die Stelle verlagerter Daten spezifiziert. Informationen bezüglich solcher umabgebildeter Adressen können in einer Vektor-Umabbildungstabelle gespeichert werden, wie später ausführlicher beschrieben wird. Nach der Umabbildung eines fehleranfälligen Teils des Speichers kann der Leseprozeß 200 zum Block 240 voranschreiten, in dem gelesene Daten zum Beispiel einer Anwendung zugeführt werden können, die die gelesenen Daten angefordert hat. Natürlich ist ein solcher Leseprozeß lediglich ein Beispiel, und der beanspruchte Gegenstand ist nicht darauf beschränkt.
  • 3 ist eine schematische Ansicht einer Vektor-Umabbildungstabelle 300 gemäß einer Ausführungsform. In der Tabelle 300 enthaltene Informationen müssen bei anderen Implementierungen nicht in einer Tabelle formatiert sein; solche Informationen können zum Beispiel ein Array oder ein anderes Mittel zum Organisieren solcher Informationen umfassen. Solche Informationen können durch ein oder mehrere Signale repräsentiert werden, die in einer Speichereinheit gespeichert werden, wie zum Beispiel der in 1 gezeigten Speichereinheit 100. Die Spalte 310 kann eine Liste von ursprünglichen Adressen 340 umfassen, wie zum Beispiel addr1, addr2, addr3 und so weiter; die Statusspalte 320 kann Informationen darüber, ob eine entsprechende ursprüngliche Adresse, die in der Spalte 310 aufgelistet ist, umabgebildet wurde, umfassen; und Spalte 330 kann eine Liste umabgebildeter Adressen 350 umfassen, wie zum Beispiel addr1', addr2', addr3' und so weiter, die den in der Spalte 310 aufgelisteten ursprünglichen Adressen 340 entsprechen.
  • Bei einer Implementierung können die ursprünglichen Adressen 340 eine oder mehrere Adressen umfassen, die in einer Leseanforderung durch eine Anwendung und/oder ein System enthalten sind, die bzw. das über in der Speichereinheit 100 an der Stelle der einen oder mehreren Adressen gespeicherte Informationen anfragt. Die Statusspalte 320 kann Metadaten umfassen, um zu beschreiben, ob eine ursprüngliche Adresse 340 umabgebildet wurde. Wenn eine solche Umabbildung aufgetreten ist, kann Spalte 330 eine umabgebildete Adresse 350 umfassen, die einer ursprünglichen Adresse 340 entspricht. Zur Veranschaulichung durch ein Beispiel gemäß 1 wurden addr1, addr5, addr7 und addr8 auf addr1', addr5', addr7' bzw. addr8' umabgebildet, während addr2, addr3, addr4 und addr6 nicht umabgebildet wurden. Hierbei weisen ursprüngliche Adressen, die nicht umabgebildet wurden, keine entsprechende umabgebildete Adresse in der Spalte 330 auf. Bei einer anderen Implementierung muß die Statusspalte 320 nicht in der Tabelle 300 enthalten sein, da eine Anwesenheit einer umabgebildeten Adresse 350 ausreichen kann, um anzuzeigen, daß Umabbildung zum Beispiel für eine bestimmte ursprüngliche Adresse 340 stattgefunden hat. Natürlich ist eine solche Implementierung einer Vektor-Umabbildungstabelle lediglich ein Beispiel, und der beanspruchte Gegenstand ist nicht darauf beschränkt.
  • 4 ist ein Blockdiagramm eines Speichersystems 400 gemäß einer Ausführungsform. Ein Controller 410 kann dafür konfiguriert werden, eine Leseanforderung 405 zu empfangen, die eine Adresse umfaßt, die eine Stelle einer Speichereinheit 425 spezifiziert, aus der Daten zu lesen sind. Die Speichereinheit 425 kann zum Beispiel, wie oben beschrieben, einen Hauptspeicher 420 und einen Ersatzspeicher 430 umfassen. Der Controller 410 kann bestimmen, ob die Leseanforderung 405 eine Adresse umfaßt, die umabgebildet wurde. Abhängig von einer solchen Bestimmung kann der Controller 410 die Leseanforderung 405 entweder zu dem Hauptspeicher 420 oder zu dem Ersatzspeicher 430 lenken, um Daten zu lesen. Wenn zum Beispiel die Adresse der Leseanforderung 405 nicht umabgebildet wurde, kann der Controller 410 die Leseanforderung zu dem Hauptspeicher 420 weiterleiten, während, wenn eine solche Adresse umabgebildet wurde, der Controller 410 die Leseanforderung 405 so modifizieren kann, daß sie eine umabgebildete Adresse umfaßt, die zu dem Ersatzspeicher 430 gelenkt werden kann. Danach kann entweder der Hauptspeicher 420 oder der Ersatzspeicher 430 gelesene Daten 435 einem Fehlerdetektionsblock 440 zuführen, der zum Beispiel einen Fehlerzähler und/oder einen ECC-Decodierer umfassen kann. Bei einer Ausführungsform kann der einen ECC-Decodierer umfassende Fehlerdetektionsblock 440 in einem Chipelement der Speichereinheit 425 angeordnet sein. Bei einer anderen Ausführungsform kann der einen ECC-Decodierer umfassende Fehlerdetektionsblock 440 auf einer Systemebene, wie zum Beispiel in einer Anwendung, bereitgestellt werden. Der Fehlerdetektionsblock 440 kann etwaige in den gelesenen Daten 435 anwesende Fehler detektieren und/oder korrigieren und kann solche detektierten Fehler als eine BER und/oder eine Anzahl von Bitfehlern ausdrücken. Dementsprechend kann der Fehlerdetektionsblock 440 korrigierte gelesene Daten 445 einer Entität zuführen, die die Leseanforderung 405 eingeführt hat, wie zum Beispiel einer Anwendung und/oder einem Hostsystem. Der Fehlerdetektionsblock 440 kann auch Informationen bezüglich der Anzahl von in den gelesenen Daten 435 anwesenden Fehlern einer Vergleichsmaschine 450 zuführen. Falls der Fehlerdetektionsblock 440 einen in einem Chipelement der Speicheranordnung 425 angeordneten ECC-Decodierer umfaßt, können solche Fehlerinformationen durch eine Vergleichsmachinen-Anwendung auf einer Systemebene zugänglich sein. Bei einer Implementierung kann ein ECC-Decodierer zum Beispiel ein für Zugang durch die Vergleichsmaschine 450 verfügbares Fehlerinformationsregister umfassen, das die Anzahl detektierter Fehler mit einer Fehlerschwelle vergleichen kann.
  • Wie oben erläutert, kann eine solche Fehlerschwelle eine Grenze für eine annehmbare BER oder Anzahl von Fehlern umfassen. Die Vergleichsmaschine 450 kann Ergebnisse 460 eines solchen Vergleichs einem Controller 410 zuführen. Mindestens teilweise auf der Basis solcher Vergleichsergebnisse kann der Controller 410 bestimmen, ob ein bestimmter Teil der Speichereinheit 425 zurückzuziehen ist. Wenn ein solcher Vergleich anzeigt, daß ein bestimmter Teil der Speichereinheit 425 während eines Leseprozesses zum Beispiel zu einer zu großen Anzahl von Bitfehlern geführt hat, kann der Controller 410 einen Prozeß zum Zurückziehen des fehleranfälligen Teils des Speichers einleiten. Ein solcher Zurückziehprozeß kann umfassen, in dem sich zurückziehenden Teil des Speichers gespeicherte Daten zu einem anderen Teil des Speichers zu verschieben. Zum Beispiel können Daten aus einem bestimmten Teil des Hauptspeichers 420 in den Ersatzspeicher 430 bewegt werden. Dementsprechend kann der Controller 410 eine Adresse, die den sich zurückziehenden Teil des Speichers identifizierte, in einer Adresse modifizieren, die den neuen Teil des Speichers, der die verschobenen Daten enthalten soll, identifiziert. Ein solcher Speicherzurückziehprozeß kann mit Bezug auf eine Anwendung und/oder ein Hostsystem, die bzw. das zum Beispiel die Leseanforderung 405 eingeführt hat, nahtlos erfolgen. Natürlich ist eine solche Implementierung eines Speichersystems lediglich ein Beispiel, und der beanspruchte Gegenstand ist nicht darauf beschränkt.
  • 5 ist ein schematisches Diagramm einer beispielhaften Ausführungsform eines Datenverarbeitungssystems 500, das eine Speichereinheit 510 enthält, die zum Beispiel, wie oben beschrieben, in einen Haupt- und einen Ersatzteil aufgeteilt werden kann. Eine Datenverarbeitungseinheit 504 kann eine beliebige einheit, Vorrichtung und/oder Maschine darstellen, die dafür konfigurierbar sein kann, die Speichereinheit 510 zu verwalten. Die Speichereinheit 510 kann einen Speichercontroller 515 und einen Speicher 522 umfassen. Als Beispiel, aber nicht als Beschränkung, kann die Datenverarbeitungseinheit 504 folgendes umfassen: eine oder mehrere Datenverarbeitungseinheiten und/oder -plattformen, wie zum Beispiel einen Desktop-Computer, einen Laptop-Computer, eine Workstation, eine Servereinheit oder dergleichen; eine oder mehrere persönliche Datenverarbeitungs- oder Kommunikationseinheiten oder -vorrichtungen, wie zum Beispiel einen Personal Digital Assistant, ein Mobilkommunikationsgerät oder dergleichen; ein Datenverarbeitungssystem und/oder assoziierte Dienstanbieterfähigkeit, wie zum Beispiel eine Datenbank oder ein Datenspeicherungsdienstanbieter bzw. -system; und/oder eine beliebige Kombination davon.
  • Es wird anerkannt, daß alle oder Teile der verschiedenen in dem System 500 gezeigten Anordnungen und die hier weiter beschriebenen Prozesse und Verfahren unter Verwendung oder anderweitigem Einbezug von Hardware, Firmware, Software oder einer beliebigen Kombination davon implementiert werden können. Als Beispiel, aber nicht als Beschränkung, kann die Datenverarbeitungseinheit 504 daher mindestens eine Verarbeitungseinheit 520 umfassen, die durch einen Bus 540 und einen Host- oder Speichercontroller 515 wirksam mit dem Speicher 522 gekoppelt ist. Die Verarbeitungseinheit 520 repräsentiert eine oder mehrere Schaltungen, die dafür konfigurierbar sind, mindestens einen Teil einer Datenverarbeitungsprozedur oder eines Datenverarbeitungsprozesses auszuführen. Als Beispiel, aber nicht als Beschränkung, kann die Verarbeitungseinheit 520 folgendes umfassen: einen oder mehrere Prozessoren, Controller, Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen, digitale Signalprozessoren, programmierbare Logikanordnungen, am Einsatzort programmierbare Gatearrays und dergleichen oder eine beliebige Kombination davon. Die Verarbeitungseinheit 520 kann mit dem Speichercontroller 515 kommunizieren, um speicherbezogene Operationen zu verarbeiten, wie zum Beispiel Lesen, Schreiben und/oder Löschen sowie zuvor beschriebene Speicheraufteilungsprozesse. Die Verarbeitungseinheit 520 kann ein Betriebssystem umfassen, das dafür ausgelegt ist, mit dem Speichercontroller 515 zu kommunizieren. Ein solches Betriebssystem kann zum Beispiel Befehle erzeugen, die über den Bus 540 zu dem Speichercontroller 515 zu senden sind. Solche Befehle können zum Beispiel Anweisungen zum Aufteilen mindestens eines Teils des Speichers 522, zum Assoziieren eines oder mehrerer Attribute mit bestimmten Aufteilungen und zum Programmieren einer bestimmten Aufteilung mindestens teilweise auf der Basis des Typs der zu programmierenden und zu speichernden Daten umfassen.
  • Der Speicher 522 repräsentiert einen beliebigen Datenspeicherungsmechanismus. Zum Beispiel kann der Speicher 522 adressierbaren Speicher umfassen, wobei physische Speicherstellen mit bestimmten Adressen assoziiert sein können. Dementsprechend kann auf solche Speicherstellen für Lese-/Schreibprozesse zugegriffen werden, indem mit den Speicherstellen assoziierte Adressen spezifiziert werden. Der Speicher 522 kann zum Beispiel einen primären Speicher 524 und/oder einen sekundären Speicher 526 umfassen. Bei einer bestimmten Ausführungsform kann der Speicher 522 Speicher umfassen, der mindestens teilweise auf der Basis eines oder mehrerer Attribute des Speichers und/oder eines Speicherverwaltungsprozesses, wie zuvor beschrieben, aufgeteilt werden kann. Der primäre Speicher 524 kann zum Beispiel Direktzugriffsspeicher, Nurlesespeicher usw. umfassen. Obwohl er in diesem Beispiel als von der Verarbeitungseinheit 520 getrennt dargestellt ist, versteht sich, daß der primäre Speicher 524 vollständig oder teilweise in der Verarbeitungseinheit 520 bereitgestellt oder anderweitig mit dieser zusammen angeordnet bzw. gekoppelt werden kann.
  • Der sekundäre Speicher 526 kann zum Beispiel denselben oder einen ähnlichen Typ von Speicher wie der primäre Speicher umfassen und/oder ein oder mehrere Datenspeicherungseinheiten oder -systeme, wie zum Beispiel ein Plattenlaufwerk, ein optisches Laufwerk, ein Bandlaufwerk, ein Halbleiter-Speicherlaufwerk usw. Bei bestimmten Implementierungen kann der sekundäre Speicher 526 wirksam ein computerlesbares Medium 528 aufnehmen oder anderweitig dafür konfigurierbar sein, mit diesem gekoppelt zu werden. Das computerlesbare Medium 528 kann zum Beispiel ein beliebiges Medium umfassen, das Daten, Code und/oder Anweisungen für eine oder mehrere der Anordnungen in dem System 500 tragen und/oder zugänglich machen kann.
  • Die Datenverarbeitungseinheit 504 kann zum Beispiel einen Eingang/Ausgang 532 umfassen. Der Eingang/Ausgang 532 repräsentiert ein oder mehrere Einheiten oder Merkmale, die dafür konfigurierbar sein können, menschliche und/oder Maschineneingaben anzunehmen oder anderweitig einzuführen, und/oder eine oder mehrere Einheiten oder Merkmale, die konfigurierbar sein können, um menschliche und/oder Maschinenausgaben abzuliefern oder anderweitig bereitzustellen. Als Beispiel, aber nicht als Beschränkung, kann die Eingangs-/Ausgangsanordnung 532 ein Display, einen Lautsprecher, eine Tastatur, eine Maus, einen Trackball, einen Berührungsschirm, einen Datenport usw. mit wirksamer Konfiguration umfassen.
  • In der obigen ausführlichen Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis des Beanspruchten zu gewährleisten. Für Fachleute ist jedoch erkennbar, daß das Beanspruchte ohne diese spezifischen Einzelheiten ausgeübt werden kann. In anderen Fällen wurden Verfahren, Vorrichtungen oder Systeme, die Durchschnittsfachleuten bekannt wären, nicht ausführlich beschrieben, um so das Beanspruchte nicht zu verdecken.
  • Bestimmte Teile der obigen ausführlichen Beschreibung werden in Form von Algorithmen oder symbolischen Darstellungen von Operationen an binären Digitalsignalen dargestellt, die in einem Speicher einer spezifischen Vorrichtung oder Spezial-Datenverarbeitungseinheit oder -plattform gespeichert sind. Im Kontext der vorliegenden konkreten Beschreibung umfaßt der Ausdruck spezifische Vorrichtung oder dergleichen einen Vielzweckcomputer, sobald er dafür programmiert ist, bestimmte Operationen gemäß Anweisungen aus Programmsoftware auszuführen. Algorithmische Beschreibungen oder symbolische Darstellungen sind Beispiele für Techniken, die von Durchschnittsfachleuten auf dem Gebiet der Signalverarbeitung oder verwandten Gebieten verwendet werden, um anderen Fachleuten das Wesentliche ihrer Arbeit zu vermitteln. Ein Algorithmus wird hier und allgemein als eine in sich stimmige Sequenz von Operationen oder ähnliche Signalverarbeitung betrachtet, die zu einem gewünschten Ergebnis führt. In diesem Kontext umfassen Operationen oder Verarbeitung physische Manipulation physischer Größen. Typischerweise, aber nicht unbedingt, können solche Größen die Form von elektrischen oder magnetischen Signalen annehmen, die gespeichert, transferiert, kombiniert, verglichen oder anderweitig manipuliert werden können. Es hat sich manchmal als zweckmäßig erwiesen, hauptsächlich aus Gründen der üblichen Verwendung solche Signale als Bit, Daten, Werte, Elemente, Symbole, Zeichen, Terme, Zahlen, Ziffern oder dergleichen zu bezeichnen. Es versteht sich jedoch, daß alle diese oder ähnliche Ausdrücke mit geeigneten physikalischen Größen zu assoziieren sind und lediglich zweckmäßige Kennzeichnungen sind. Sofern es nicht spezifisch anders erwähnt wird, so wie es aus der folgenden Besprechung hervorgeht, versteht sich, daß in der gesamten vorliegenden Beschreibung Besprechungen, die Ausdrücke wie „Verarbeitung”, „Datenverarbeitung”, „Berechnung”, „Bestimmung” oder dergleichen benutzen, auf Aktionen oder Prozesse einer spezifischen Vorrichtung, wie zum Beispiel eines Spezial-Computers oder einer ähnlichen elektronischen Spezial-Datenverarbeitungseinheit, verweisen. Im Kontext der vorliegenden Beschreibung ist ein Spezial-Computer oder eine ähnliche elektronische Spezial-Datenverarbeitungseinheit deshalb in der Lage, Signale zu manipulieren oder zu transformieren, die typischerweise als physikalische elektronische oder magnetische Größen in Speichern, Registern oder anderen Informationsspeichereinheiten, Übertragungseinheiten oder Anzeigeeinheiten des Spezial-Computers oder der ähnlichen elektronischen Spezial-Datenverarbeitungseinheit repräsentiert werden.
  • Die hier verwendeten Ausdrücke „und”, „und/oder” und „oder” können vielfältige Bedeutungen umfassen, die mindestens teilweise von dem Kontext abhängen werden, in dem sie verwendet werden. Typischerweise soll „und/oder” sowie „oder” bei Verwendung zum Assoziieren einer Liste, wie zum Beispiel A, B oder C, A, B und C hier im einschließenden Sinne verwendet, sowie A, B oder C, hier im ausschließenden Sinne verwendet, bedeuten. Der Verweis in der gesamten vorliegenden Beschreibung auf „eine Ausführungsform” bedeutet, daß ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Charakteristikum, die in Verbindung mit der Ausführungsform beschrieben werden, in mindestens einer Ausführungsform des Beanspruchten enthalten ist. Das Erscheinen des Ausdrucks „bei einer Ausführungsform” oder „eine Ausführungsform” an verschiedenen Stellen in der gesamten vorliegenden Beschreibung bezieht sich somit nicht immer unbedingt auf dieselbe Ausführungsform. Ferner können die bestimmten Merkmale, Strukturen oder Charakteristika in einer oder mehreren Ausführungsformen kombiniert werden. Die hier beschriebenen Ausführungsformen können Maschinen, Einheiten, Engines oder Vorrichtungen umfassen, die unter Verwendung von Digitalsignalen operieren. Solche Signale können elektronische Signale, optische Signale, elektromagnetische Signale oder eine beliebige Form von Energie umfassen, die Informationen zwischen Orten bereitstellt.
  • Obwohl das Dargestellte und Beschriebene zur Zeit als beispielhafte Ausführungsformen betrachtet wird, ist für Fachleute erkennbar, daß verschiedene andere Modifikationen vorgenommen und Äquivalente substituiert werden können, ohne von dem Beanspruchten abzuweichen. Zusätzlich können viele Modifikationen vorgenommen werden, um eine bestimmte Situation an die Lehren des Beanspruchten anzupassen, ohne von dem hier beschriebenen zentralen Konzept abzuweichen. Deshalb ist es beabsichtigt, daß das Beanspruchte nicht auf die bestimmten offenbarten Ausführungsformen beschränkt wird, sondern daß das derart Beanspruchte auch alle Ausführungsformen einschließt, die in den Schutzumfang der angefügten Ansprüche und ihrer Äquivalente fallen.

Claims (20)

  1. Verfahren mit den folgenden Schritten: Bestimmen einer Bitfehlerrate und/oder einer Anzahl von Bitfehlern, die mit Signalen assoziiert ist, die aus einem bestimmten Teil eines Speichers gelesene Informationen repräsentieren; Vergleichen der Bitfehlerrate und/oder der Anzahl der Bitfehler mit einer Bitfehlerschwelle; und Bestimmen, ob der bestimmte Teil des Speichers zurückzuziehen ist, mindestens teilweise auf der Basis des Vergleichs.
  2. Verfahren nach Anspruch 1, wobei das Zurückziehen des bestimmten Teils des Speichers folgendes umfaßt: Verlagern der durch Signale repräsentierten Informationen aus dem bestimmten Teil des Speichers zu einem anderen Teil des Speichers.
  3. Verfahren nach Anspruch 2, wobei der andere Teil des Speichers einen Ersatzspeicherbereich umfasst.
  4. Verfahren nach Anspruch 1, wobei der Speicher eine Phasenänderungsspeichereinheit umfasst.
  5. Verfahren nach Anspruch 2, ferner umfassend: Umabbilden einer Adresse des bestimmten Teils des Speichers auf den anderen Teil des Speichers.
  6. Verfahren nach Anspruch 1, wobei die Bitfehlerrate und/oder die Anzahl der Bitfehler mindestens teilweise auf eine physische Verschlechterung des Speichers reagiert.
  7. Einheit, umfassend: einen adressierbaren Speicher; einen Fehlerzähler zum Bestimmen einer Bitfehlerrate und/oder der Anzahl der Bitfehler, die mit Signalen assoziiert ist, die aus einem bestimmten Teil des adressierbaren Speichers gelesene Informationen repräsentieren; eine Vergleichsmaschine zum Vergleichen der Bitfehlerrate und/oder der Anzahl der Bitfehler mit einer Fehlerschwelle; und einen Controller, um mindestens teilweise auf der Basis des Vergleichs zu bestimmen, ob der bestimmte Teil des adressierbaren Speichers zurückzuziehen ist.
  8. Einheit nach Anspruch 7, wobei der Controller ferner dafür ausgelegt ist, die durch Signale repräsentierten Informationen aus dem bestimmten Teil des adressierbaren Speichers zu einem anderen Teil des adressierbaren Speichers zu verlagern.
  9. Einheit nach Anspruch 8, wobei der andere Teil des adressierbaren Speichers einen Ersatzspeicherbereich umfasst.
  10. Einheit nach Anspruch 7, wobei der adressierbare Speicher eine Phasenänderungsspeichereinheit umfasst.
  11. Einheit nach Anspruch 8, wobei der Controller ferner dafür ausgelegt ist, eine Adresse des bestimmten Teils des adressierbaren Speichers auf den anderen Teil des adressierbaren Speichers umabzubilden.
  12. Einheit nach Anspruch 7, wobei die Bitfehlerrate und/oder die Anzahl der Bitfehler mindestens teilweise auf eine physische Verschlechterung des Speichers reagiert.
  13. Vorrichtung, umfassend: Mittel zum Bestimmen einer Bitfehlerrate und/oder der Anzahl der Bitfehler, die mit Signalen assoziiert ist, die aus einem bestimmten Teil eines Speichers gelesene Informationen repräsentieren; Mittel zum Vergleichen der Bitfehlerrate und/oder der Anzahl der Bitfehler mit einer Fehlerschwelle; und Mittel zum Bestimmen, ob der bestimmte Teil des Speichers zurückzuziehen ist, mindestens teilweise auf der Basis des Vergleichs.
  14. Vorrichtung nach Anspruch 13, wobei das Zurückziehen des bestimmten Teils des Speichers folgendes umfaßt: Mittel zum Verlagern der durch Signale repräsentierten Informationen aus dem bestimmten Teil des Speichers zu einem anderen Teil des Speichers.
  15. Vorrichtung nach Anspruch 14, ferner umfassend: Mittel zum Umabbilden einer Addresse des bestimmten Teils des Speichers auf den anderen Teil des Speichers.
  16. Vorrichtung nach Anspruch 13, wobei die Bitfehlerrate und/oder die Anzahl der Bitfehler mindestens teilweise auf eine physische Verschlechterung des Speichers reagiert.
  17. Artikel, umfassend: ein Speichermedium mit darauf gespeicherten maschinenlesbaren Anweisungen, die, wenn sie durch eine Spezial-Datenverarbeitungseinheit ausgeführt werden, dafür ausgelegt sind, der Spezial-Datenverarbeitungseinheit folgendes zu ermöglichen: Bestimmen einer Bitfehlerrate und/oder Anzahl von Bitfehlern, die mit Signalen assoziiert ist, die aus einem bestimmten Teil eines Speichers gelesene Informationen repräsentieren; Vergleichen der Bitfehlerrate und/oder der Anzahl der Bitfehler mit einer Fehlerschwelle; und Bestimmen, ob der bestimmte Teil des Speichers zurückzuziehen ist, mindestens teilweise auf der Basis des Vergleichs.
  18. Artikel nach Anspruch 17, wobei die Anweisungen, wenn sie durch die Spezial-Datenverarbeitungseinheit ausgeführt werden, ferner dafür ausgelegt sind, der Spezial-Datenverarbeitungseinheit folgendes zu ermöglichen: Zurückziehen des bestimmten Teils des Speichers durch Verlagern der Informationen aus dem bestimmten Teil des Speichers zu einem anderen Teil des Speichers.
  19. Artikel nach Anspruch 17, wobei der Speicher eine Phasenänderungsspeichereinheit umfaßt.
  20. Artikel nach Anspruch 18, wobei die Anweisungen, wenn sie durch die Spezial-Datenverarbeitungseinheit ausgeführt werden, ferner dafür ausgelegt sind, der Spezial-Datenverarbeitungseinheit folgendes zu ermöglichen: Umabbilden einer Adresse des bestimmten Teils des Speichers auf den anderen Teil des Speichers.
DE102010030748A 2009-06-30 2010-06-30 Bitfehlerschwelle und Umabbildung einer Speicheranordnung Withdrawn DE102010030748A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/494,904 2009-06-30
US12/494,904 US20100332894A1 (en) 2009-06-30 2009-06-30 Bit error threshold and remapping a memory device

Publications (1)

Publication Number Publication Date
DE102010030748A1 true DE102010030748A1 (de) 2011-01-05

Family

ID=43299313

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010030748A Withdrawn DE102010030748A1 (de) 2009-06-30 2010-06-30 Bitfehlerschwelle und Umabbildung einer Speicheranordnung

Country Status (6)

Country Link
US (1) US20100332894A1 (de)
JP (1) JP2011040146A (de)
KR (1) KR20110001881A (de)
CN (1) CN101937373A (de)
DE (1) DE102010030748A1 (de)
TW (1) TW201115585A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292392B2 (en) 2011-06-30 2016-03-22 Hewlett Packard Enterprise Development Lp Memory module that includes a memory module copy engine for copying data from an active memory die to a spare memory die

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI389122B (zh) * 2008-10-30 2013-03-11 Silicon Motion Inc 用來存取一快閃記憶體之方法以及相關之記憶裝置及其控制器
JP5796317B2 (ja) * 2011-03-23 2015-10-21 セイコーエプソン株式会社 メディア処理システム、メディア処理システムの制御方法およびメディア処理装置
US9230620B1 (en) * 2012-03-06 2016-01-05 Inphi Corporation Distributed hardware tree search methods and apparatus for memory data replacement
US9146856B2 (en) 2012-04-10 2015-09-29 Micron Technology, Inc. Remapping and compacting in a memory device
US9183085B1 (en) 2012-05-22 2015-11-10 Pmc-Sierra, Inc. Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US8996957B1 (en) * 2012-05-22 2015-03-31 Pmc-Sierra, Inc. Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
US9021337B1 (en) * 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US8972824B1 (en) 2012-05-22 2015-03-03 Pmc-Sierra, Inc. Systems and methods for transparently varying error correction code strength in a flash drive
US9021336B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
US8788910B1 (en) 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
US20130346812A1 (en) * 2012-06-22 2013-12-26 Micron Technology, Inc. Wear leveling memory using error rate
US9153310B2 (en) 2013-01-16 2015-10-06 Maxlinear, Inc. Dynamic random access memory for communications systems
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9026867B1 (en) 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
US9274715B2 (en) * 2013-08-02 2016-03-01 Qualcomm Incorporated Methods and apparatuses for in-system field repair and recovery from memory failures
US8982617B1 (en) 2013-11-14 2015-03-17 Sandisk Technologies Inc. Block closure techniques for a data storage device
US9229806B2 (en) 2013-11-14 2016-01-05 Sandisk Technologies Inc. Block closure techniques for a data storage device
US9165670B2 (en) 2013-11-14 2015-10-20 Sandisk Technologies Inc. Data retention detection techniques for a data storage device
US9299457B2 (en) * 2014-02-23 2016-03-29 Qualcomm Incorporated Kernel masking of DRAM defects
US9811415B2 (en) * 2014-03-31 2017-11-07 Symbol Technologies, Llc Apparatus and method for detecting and correcting read disturb errors on a flash memory
US9690655B2 (en) 2014-09-30 2017-06-27 EMC IP Holding Company LLC Method and system for improving flash storage utilization by predicting bad m-pages
US9472270B2 (en) 2014-10-24 2016-10-18 Sandisk Technologies Llc Nonvolatile storage reflow detection
US20180275894A1 (en) * 2015-01-20 2018-09-27 Hitachi, Ltd. Storage system
US9558064B2 (en) * 2015-01-28 2017-01-31 Micron Technology, Inc. Estimating an error rate associated with memory
US9996299B2 (en) * 2015-06-25 2018-06-12 Western Digital Technologies, Inc Memory health monitoring
CN105677504A (zh) * 2015-12-30 2016-06-15 深圳市芯海科技有限公司 一种解决处理器死机问题的方法
US10445195B2 (en) * 2017-08-07 2019-10-15 Micron Technology, Inc. Performing data restore operations in memory
US10269422B2 (en) * 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof
KR102451163B1 (ko) 2018-02-01 2022-10-06 삼성전자주식회사 반도체 메모리 장치 및 그것의 리페어 방법
JP7005398B2 (ja) * 2018-03-15 2022-02-04 キオクシア株式会社 半導体記憶装置
US11048597B2 (en) 2018-05-14 2021-06-29 Micron Technology, Inc. Memory die remapping
US11106518B2 (en) * 2019-03-01 2021-08-31 Western Digital Technologies, Inc. Failure mode study based error correction
TWI708248B (zh) * 2020-02-11 2020-10-21 華邦電子股份有限公司 記憶體裝置和調整用於記憶體裝置的參數的方法
CN112908394B (zh) * 2021-02-23 2022-07-12 中国科学院微电子研究所 一种自动校验数据的sram安全存储系统及其方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2617026B2 (ja) * 1989-12-22 1997-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害余裕性メモリ・システム
US5867642A (en) * 1995-08-10 1999-02-02 Dell Usa, L.P. System and method to coherently and dynamically remap an at-risk memory area by simultaneously writing two memory areas
TW446955B (en) * 1998-10-30 2001-07-21 Siemens Ag The read/write memory with self-testing device and its associated test method
JP3937214B2 (ja) * 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
US20050120265A1 (en) * 2003-12-02 2005-06-02 Pline Steven L. Data storage system with error correction code and replaceable defective memory
US7644323B2 (en) * 2004-11-30 2010-01-05 Industrial Technology Research Institute Method and apparatus of build-in self-diagnosis and repair in a memory with syndrome identification
JP2006179101A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd 半導体記憶装置
US7346815B2 (en) * 2005-03-31 2008-03-18 Intel Corporation Mechanism for implementing redundancy to mask failing SRAM
US8060774B2 (en) * 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US7661044B2 (en) * 2007-02-12 2010-02-09 International Business Machines Corporation Method, apparatus and program product to concurrently detect, repair, verify and isolate memory failures
US20090132876A1 (en) * 2007-11-19 2009-05-21 Ronald Ernest Freking Maintaining Error Statistics Concurrently Across Multiple Memory Ranks
KR101019986B1 (ko) * 2008-10-10 2011-03-09 주식회사 하이닉스반도체 성장 방식에 의해 형성되는 콘택 구조를 절연시키는 절연막을 포함하는 상변화 메모리 소자, 이를 포함하는 반도체 소자, 및 그들의 제조방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292392B2 (en) 2011-06-30 2016-03-22 Hewlett Packard Enterprise Development Lp Memory module that includes a memory module copy engine for copying data from an active memory die to a spare memory die

Also Published As

Publication number Publication date
US20100332894A1 (en) 2010-12-30
KR20110001881A (ko) 2011-01-06
CN101937373A (zh) 2011-01-05
TW201115585A (en) 2011-05-01
JP2011040146A (ja) 2011-02-24

Similar Documents

Publication Publication Date Title
DE102010030748A1 (de) Bitfehlerschwelle und Umabbildung einer Speicheranordnung
DE102010030745B4 (de) Nicht-flüchtiger Speicher zum Speichern von Speicher-Umabbildungs-Informationen
DE102010030750A1 (de) Bitfehlerschwelle und inhaltsadressierbarer Speicher zur Adressierung einer umabgebildeten Speichereinheit
DE102017120840B4 (de) Verfahren und Vorrichtung zur Detektion und Handhabung von Lesestörungen
DE102019116520A1 (de) Datenspeichersysteme und -verfahren für eine verbesserte datenumlagerung basierend auf lesepegelspannungen, die mit einer fehlerwiederherstellung verbunden sind
DE60303895T2 (de) Hybridimplementierung von Fehlerkorrekturkoden eines nichtflüchtigen Speichersystems
DE60319407T2 (de) Verfolgen der am häufigsten gelöschten blöcke eines nichtflüchtigen speichersystems
DE112010002663B4 (de) Speichermanagementsysteme, Verfahren zur Verbesserung der Schreib-Lösch-Ausdauerlebenszeit von Speichervorrichtungen und Computerprogrammprodukt
DE112015004863T5 (de) Verfolgen der Vermischung von Schreibvorgängen und Entabbildungsbefehlen über Stromversorgungszyklen
DE112015004873T5 (de) Verarbeitung von Entabbildungsbefehlen zur Verbesserung der Leistungsfähigkeit und Standzeit einer Speicherungsvorrichtung
DE102018123891A1 (de) Handhabung nichtabgestimmter Schreibvorgänge
DE102011075814B4 (de) Speicherpuffer mit zugänglicher Information nach einem Schreibfehler
DE112016004527T5 (de) Implementieren eines Hardware-Beschleunigers für das Management eines Speicher-Schreibcachespeichers
DE102011086098A1 (de) Parallele Speicherlese- und Speicherschreib-Operationen in einem Speicher mit serieller Schnittstelle
DE112012005222T5 (de) Halbleiter-Datenspeicherverwaltung
DE102012112354A1 (de) Speichervorrichtung und nichtflüchtige Speichervorrichtung sowie Betriebsverfahren davon
DE102016010277A1 (de) Verfahren und systeme zum verbessern von speicher-journaling
DE112015003536T5 (de) Host-Verwalter nicht flüchtiger Speicher
DE102011085989A1 (de) Verfahren und Vorrichtung zum Ausführen von parallelen Speicherlese- und Speicherschreiboperationen
US11354192B2 (en) Data storage devices and methods for firmware failure prevention
DE112020005787T5 (de) Verbesserte dateisystem-unterstützung für zonen-namespace-speicher
DE112018002500T5 (de) Speicherarray für Hybriddaten
DE102018123926A1 (de) Dynamische mehrstufige Decodierung
DE112016002631T5 (de) Speicherfunktionszustandsüberwachung
DE102018123670A1 (de) Speicherungssystem, Rechensystem und Verfahren dafür

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: VIERING, JENTSCHURA & PARTNER, 40476 DUESSELDORF,

Representative=s name: VIERING, JENTSCHURA & PARTNER, DE

R081 Change of applicant/patentee

Owner name: MICRON TECHNOLOGY, INC., BOISE, US

Free format text: FORMER OWNER: NUMONYX B.V., ROLLE, CH

Effective date: 20120521

Owner name: MICRON TECHNOLOGY, INC., US

Free format text: FORMER OWNER: NUMONYX B.V., ROLLE, CH

Effective date: 20120521

R082 Change of representative

Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE

Effective date: 20120521

Representative=s name: VIERING, JENTSCHURA & PARTNER, DE

Effective date: 20120521

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

Effective date: 20130101