DE102010030748A1 - Bitfehlerschwelle und Umabbildung einer Speicheranordnung - Google Patents
Bitfehlerschwelle und Umabbildung einer Speicheranordnung Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online 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
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 Speichereinheit100 kann in einen Hauptspeicher110 und einen Ersatzspeicher120 aufgeteilt werden. Die Speichereinheit100 kann NAND- oder NOR-Flash-Speicher, SRAM, DRAM oder PCM umfassen, um nur einige wenige Beispiele zu nennen. Die Speichereinheit100 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 Hauptspeicher110 und der Ersatzspeicher120 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 Speichereinheit100 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 Speichereinheit100 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 Speichereinheit100 in einen anderen Zustand oder eine andere Sache dar. - Die Speichereinheit
100 kann dafür konfiguriert werden, anfänglich Hauptspeicher110 zu umfassen, der der voll benutzbaren Kapazität der Speichereinheit100 entspricht. Eine solche anfängliche Konfiguration kann zusätzlich Ersatzspeicher120 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 Ersatzspeicher120 verwendet werden, um Teile des Hauptspeichers110 zu ersetzen. Bei einer Implementierung kann ein Speichersystem, das die Speichereinheit100 enthält, einem Prozessor oder einem anderen externen Anforderer von in der Speichereinheit100 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 Speicherleseprozesses200 gemäß einer Ausführungsform. Im Block205 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 Block220 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 in1 gezeigte Speichereinheit100 , 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 Block240 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 Block250 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 in1 gezeigten Ersatzspeicher120 , umfassen. Im Block260 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 Block240 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-Umabbildungstabelle300 gemäß einer Ausführungsform. In der Tabelle300 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 in1 gezeigten Speichereinheit100 . Die Spalte310 kann eine Liste von ursprünglichen Adressen340 umfassen, wie zum Beispiel addr1, addr2, addr3 und so weiter; die Statusspalte320 kann Informationen darüber, ob eine entsprechende ursprüngliche Adresse, die in der Spalte310 aufgelistet ist, umabgebildet wurde, umfassen; und Spalte330 kann eine Liste umabgebildeter Adressen350 umfassen, wie zum Beispiel addr1', addr2', addr3' und so weiter, die den in der Spalte310 aufgelisteten ursprünglichen Adressen340 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 Speichereinheit100 an der Stelle der einen oder mehreren Adressen gespeicherte Informationen anfragt. Die Statusspalte320 kann Metadaten umfassen, um zu beschreiben, ob eine ursprüngliche Adresse340 umabgebildet wurde. Wenn eine solche Umabbildung aufgetreten ist, kann Spalte330 eine umabgebildete Adresse350 umfassen, die einer ursprünglichen Adresse340 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 Spalte330 auf. Bei einer anderen Implementierung muß die Statusspalte320 nicht in der Tabelle300 enthalten sein, da eine Anwesenheit einer umabgebildeten Adresse350 ausreichen kann, um anzuzeigen, daß Umabbildung zum Beispiel für eine bestimmte ursprüngliche Adresse340 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 Speichersystems400 gemäß einer Ausführungsform. Ein Controller410 kann dafür konfiguriert werden, eine Leseanforderung405 zu empfangen, die eine Adresse umfaßt, die eine Stelle einer Speichereinheit425 spezifiziert, aus der Daten zu lesen sind. Die Speichereinheit425 kann zum Beispiel, wie oben beschrieben, einen Hauptspeicher420 und einen Ersatzspeicher430 umfassen. Der Controller410 kann bestimmen, ob die Leseanforderung405 eine Adresse umfaßt, die umabgebildet wurde. Abhängig von einer solchen Bestimmung kann der Controller410 die Leseanforderung405 entweder zu dem Hauptspeicher420 oder zu dem Ersatzspeicher430 lenken, um Daten zu lesen. Wenn zum Beispiel die Adresse der Leseanforderung405 nicht umabgebildet wurde, kann der Controller410 die Leseanforderung zu dem Hauptspeicher420 weiterleiten, während, wenn eine solche Adresse umabgebildet wurde, der Controller410 die Leseanforderung405 so modifizieren kann, daß sie eine umabgebildete Adresse umfaßt, die zu dem Ersatzspeicher430 gelenkt werden kann. Danach kann entweder der Hauptspeicher420 oder der Ersatzspeicher430 gelesene Daten435 einem Fehlerdetektionsblock440 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 Fehlerdetektionsblock440 in einem Chipelement der Speichereinheit425 angeordnet sein. Bei einer anderen Ausführungsform kann der einen ECC-Decodierer umfassende Fehlerdetektionsblock440 auf einer Systemebene, wie zum Beispiel in einer Anwendung, bereitgestellt werden. Der Fehlerdetektionsblock440 kann etwaige in den gelesenen Daten435 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 Fehlerdetektionsblock440 korrigierte gelesene Daten445 einer Entität zuführen, die die Leseanforderung405 eingeführt hat, wie zum Beispiel einer Anwendung und/oder einem Hostsystem. Der Fehlerdetektionsblock440 kann auch Informationen bezüglich der Anzahl von in den gelesenen Daten435 anwesenden Fehlern einer Vergleichsmaschine450 zuführen. Falls der Fehlerdetektionsblock440 einen in einem Chipelement der Speicheranordnung425 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 Vergleichsmaschine450 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 Ergebnisse460 eines solchen Vergleichs einem Controller410 zuführen. Mindestens teilweise auf der Basis solcher Vergleichsergebnisse kann der Controller410 bestimmen, ob ein bestimmter Teil der Speichereinheit425 zurückzuziehen ist. Wenn ein solcher Vergleich anzeigt, daß ein bestimmter Teil der Speichereinheit425 während eines Leseprozesses zum Beispiel zu einer zu großen Anzahl von Bitfehlern geführt hat, kann der Controller410 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 Hauptspeichers420 in den Ersatzspeicher430 bewegt werden. Dementsprechend kann der Controller410 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 Leseanforderung405 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 Datenverarbeitungssystems500 , das eine Speichereinheit510 enthält, die zum Beispiel, wie oben beschrieben, in einen Haupt- und einen Ersatzteil aufgeteilt werden kann. Eine Datenverarbeitungseinheit504 kann eine beliebige einheit, Vorrichtung und/oder Maschine darstellen, die dafür konfigurierbar sein kann, die Speichereinheit510 zu verwalten. Die Speichereinheit510 kann einen Speichercontroller515 und einen Speicher522 umfassen. Als Beispiel, aber nicht als Beschränkung, kann die Datenverarbeitungseinheit504 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 Datenverarbeitungseinheit504 daher mindestens eine Verarbeitungseinheit520 umfassen, die durch einen Bus540 und einen Host- oder Speichercontroller515 wirksam mit dem Speicher522 gekoppelt ist. Die Verarbeitungseinheit520 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 Verarbeitungseinheit520 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 Verarbeitungseinheit520 kann mit dem Speichercontroller515 kommunizieren, um speicherbezogene Operationen zu verarbeiten, wie zum Beispiel Lesen, Schreiben und/oder Löschen sowie zuvor beschriebene Speicheraufteilungsprozesse. Die Verarbeitungseinheit520 kann ein Betriebssystem umfassen, das dafür ausgelegt ist, mit dem Speichercontroller515 zu kommunizieren. Ein solches Betriebssystem kann zum Beispiel Befehle erzeugen, die über den Bus540 zu dem Speichercontroller515 zu senden sind. Solche Befehle können zum Beispiel Anweisungen zum Aufteilen mindestens eines Teils des Speichers522 , 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 Speicher522 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 Speicher522 kann zum Beispiel einen primären Speicher524 und/oder einen sekundären Speicher526 umfassen. Bei einer bestimmten Ausführungsform kann der Speicher522 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 Speicher524 kann zum Beispiel Direktzugriffsspeicher, Nurlesespeicher usw. umfassen. Obwohl er in diesem Beispiel als von der Verarbeitungseinheit520 getrennt dargestellt ist, versteht sich, daß der primäre Speicher524 vollständig oder teilweise in der Verarbeitungseinheit520 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 Speicher526 wirksam ein computerlesbares Medium528 aufnehmen oder anderweitig dafür konfigurierbar sein, mit diesem gekoppelt zu werden. Das computerlesbare Medium528 kann zum Beispiel ein beliebiges Medium umfassen, das Daten, Code und/oder Anweisungen für eine oder mehrere der Anordnungen in dem System500 tragen und/oder zugänglich machen kann. - Die Datenverarbeitungseinheit
504 kann zum Beispiel einen Eingang/Ausgang532 umfassen. Der Eingang/Ausgang532 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-/Ausgangsanordnung532 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)
- 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.
- 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.
- Verfahren nach Anspruch 2, wobei der andere Teil des Speichers einen Ersatzspeicherbereich umfasst.
- Verfahren nach Anspruch 1, wobei der Speicher eine Phasenänderungsspeichereinheit umfasst.
- Verfahren nach Anspruch 2, ferner umfassend: Umabbilden einer Adresse des bestimmten Teils des Speichers auf den anderen Teil des Speichers.
- Verfahren nach Anspruch 1, wobei die Bitfehlerrate und/oder die Anzahl der Bitfehler mindestens teilweise auf eine physische Verschlechterung des Speichers reagiert.
- 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.
- 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.
- Einheit nach Anspruch 8, wobei der andere Teil des adressierbaren Speichers einen Ersatzspeicherbereich umfasst.
- Einheit nach Anspruch 7, wobei der adressierbare Speicher eine Phasenänderungsspeichereinheit umfasst.
- 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.
- Einheit nach Anspruch 7, wobei die Bitfehlerrate und/oder die Anzahl der Bitfehler mindestens teilweise auf eine physische Verschlechterung des Speichers reagiert.
- 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.
- 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.
- Vorrichtung nach Anspruch 14, ferner umfassend: Mittel zum Umabbilden einer Addresse des bestimmten Teils des Speichers auf den anderen Teil des Speichers.
- Vorrichtung nach Anspruch 13, wobei die Bitfehlerrate und/oder die Anzahl der Bitfehler mindestens teilweise auf eine physische Verschlechterung des Speichers reagiert.
- 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.
- 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.
- Artikel nach Anspruch 17, wobei der Speicher eine Phasenänderungsspeichereinheit umfaßt.
- 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.
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)
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)
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)
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 | 주식회사 하이닉스반도체 | 성장 방식에 의해 형성되는 콘택 구조를 절연시키는 절연막을 포함하는 상변화 메모리 소자, 이를 포함하는 반도체 소자, 및 그들의 제조방법 |
-
2009
- 2009-06-30 US US12/494,904 patent/US20100332894A1/en not_active Abandoned
-
2010
- 2010-05-28 KR KR1020100050100A patent/KR20110001881A/ko not_active Application Discontinuation
- 2010-06-15 TW TW099119458A patent/TW201115585A/zh unknown
- 2010-06-24 CN CN2010102141523A patent/CN101937373A/zh active Pending
- 2010-06-29 JP JP2010148360A patent/JP2011040146A/ja active Pending
- 2010-06-30 DE DE102010030748A patent/DE102010030748A1/de not_active Withdrawn
Cited By (1)
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 |