DE10233648A1 - Dynamischer Fehlerkorrekturcode mit variabler Länge - Google Patents
Dynamischer Fehlerkorrekturcode mit variabler LängeInfo
- Publication number
- DE10233648A1 DE10233648A1 DE10233648A DE10233648A DE10233648A1 DE 10233648 A1 DE10233648 A1 DE 10233648A1 DE 10233648 A DE10233648 A DE 10233648A DE 10233648 A DE10233648 A DE 10233648A DE 10233648 A1 DE10233648 A1 DE 10233648A1
- Authority
- DE
- Germany
- Prior art keywords
- error correction
- redundancy
- correction code
- storage device
- module
- 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
Classifications
-
- 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
- G06F11/1012—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 using codes or arrangements adapted for a specific type of error
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
Datenspeichermedien, wie z. B. ein Silizium-basierter nichtflüchtiger Speicher, sind gemäß einer Datenstruktur definiert, die einen Nutzlastabschnitt und einen Redundanzabschnitt enthält. Ein Teiler, der den Nutzlast- und den Redundanzabschnitt unterteilt, kann dynamisch neu angeordnetet werden, wodurch die Größe der Redundanz verändert wird, um die Verwendung eines Fehlerkorrekturcodes zu ermöglichen, der ausgewählt ist, um die Datenintegrität zu liefern, die ansprechend auf veränderte Bedingungen erforderlich ist.
Description
- Diese Erfindung bezieht sich auf einen dynamischen Fehlerkorrekturcode mit variabler Länge. Insbesondere bezieht sich diese Erfindung auf ein System und ein Verfahren, durch die die Raummenge, die Fehlerkorrekturcodes gewidmet ist, dynamisch ansprechend auf Veränderungen in dem Speichermedium verändert werden kann.
- Es ist für Silizium-basierte nichtflüchtige Speicher üblich, eine Datenschutzstrategie zu verwenden, durch die Datenfehler erfaßt und in einigen Fällen korrigiert werden können. Herkömmliche Datenschutzstrategien schützen eine Daten-"Nutzlast" (Nutzinformationen, Payload) mit einem Fehlerkorrekturcode (ECC), der in einem Bereich enthalten ist, der als "Redundanz" bekannt ist. Während die Redundanz für eine größere Datenintegrität sorgt, fügt sie außerdem einen Mehraufwand hinzu, was zu zusätzlichen Speicherkosten und einer zusätzlichen Prozessorzeit führt.
- Die Menge von erforderlicher Redundanz hängt von der Anwendung ab. Häufig ist eine 8-Bit-Nutzlast einer 1-Bit- Redundanz oder einem Paritätsbit zugeordnet. Ähnlich kann auch eine größere Menge von Informationen geschützt werden. Es ist z. B. üblich, daß eine Nutzlast von 512 Bytes durch eine Redundanz mit 5% bis 20% dieser Länge geschützt wird. In diesem Zusammenhang kann eine Effizienzrate als die Daten- oder Nutzlastlänge über der Summe der Nutzlastlänge und der Redundanz definiert werden. Eine Effizienzrate von 80% bis 95% ist häufig. Da Effizienzraten wesentlich kleiner als 100% sind, ist es klar, daß wesentliche Betriebsmittel gegenwärtig der Fehlererfassung und -korrektur gewidmet sind.
- Die Menge von Betriebsmitteln, die einer Redundanz gewidmet ist, basiert häufig auf der grundlegenden Fehlerrate des Datenspeichermediums. Die grundlegende Fehlerrate eines Datenspeichermediums ist die Rate, mit der Fehler innerhalb des Mediums zu finden sind. Die grundlegende Fehlerrate hängt von einer Anzahl von Faktoren ab. Der Technologietyp, das Alter des Mediums, die Anzahl von Schreib-/Lese- Operationen und andere Faktoren können z. B. die grundlegende Fehlerrate beeinflussen. Zusätzlich kann eine zusammengesetzte Speichervorrichtung, wie z. B. eine Flash- Karte, die aus mehreren integrierten Schaltungen gebildet ist, eine komplexe Fehlerrate aufweisen, die die verschiedenen einzelnen Raten jeder integrierten Schaltung wiederspiegelt.
- Die grundlegende Fehlerrate hängt insbesondere von Faktoren ab, die eine Funktion der Zeit sind. Die grundlegende Fehlerrate von Speichervorrichtungen, die auf bestimmten Technologien basieren, kann sich z. B. mit der Zeit ansprechend auf eine Verschlechterung einer Isolierungsschicht erhöhen. Folglich könnte ein Redundanzpegel, der zu dem Zeitpunkt der Herstellung geeignet für die grundlegende Fehlerrate ist, nach einem bestimmten Zeitraum nicht angemessen sein. Ein Redundanzpegel jedoch, der zu einem bestimmten Zeitpunkt in der Zukunft angemessen ist, kann z. B. während des Zeitraums, in dem die Vorrichtung sehr wahrscheinlich verwendet wurde, nämlich unmittelbar nach der Herstellung, übermäßig sein.
- Die grundlegende Fehlerrate kann schwierig zu bestimmen sein. Ein statistisch gültiger Probenraum von Schreib- und Lese-Operationen kann z. B. schwierig und teuer zu erhalten sein. Außerdem neigen erhaltene Daten dazu, nicht schlüssig zu sein, da die Fehlerrate nicht konstant ist. Aufgrund dieser Unsicherheit und den Kosten eines Datenausfalls als Ergebnis nicht erfaßter oder korrigierter Fehler ist es üblich, die zu erwartende Fehlerrate zu schätzen und dem Medium eine übermäßige Redundanz zu widmen.
- Während eine übermäßige Redundanz häufig ist, ist es auch möglich, daß eine nicht ausreichende Redundanz der Erfassung und Korrektur von Fehlern, die auftreten, gewidmet ist. Dies ist insbesondere bei Speichertechnologien der Fall, bei denen die Fehlerrate nicht konstant ist, wobei Anstiege der grundlegenden Fehlerrate mit der Zeit schließlich die bereitgestellte Redundanz überschreiten. Bei derartigen Anwendungen können Abschnitte einer Speichervorrichtung verloren gehen, die funktionieren würden, wenn eine zusätzliche Redundanz verwendet würde.
- Folglich wäre es von Vorteil, einen Fehlerkorrekturcode mit variabler Länge und ein Verfahren zur Verwendung zu entwickeln, das dynamisch die verfügbare Redundanz verändert, um ein Ersetzen eines ersten ECC durch einen zweiten ECC ansprechend auf sich verändernde Fehlerraten zu ermöglichen, und das eine effizientere Zuteilung von Speicher zwischen Nutzlast und Redundanz ermöglicht.
- Es ist die Aufgabe der vorliegenden Erfindung, eine Datenstruktur mit verbesserten Charakteristika, ein verbessertes Verfahren, ein System mit verbesserten Charakteristika oder ein computerlesbares Medium mit verbesserten Charakteristika zu schaffen.
- Diese Aufgabe wird durch eine Datenstruktur gemäß Anspruch 1, ein Verfahren gemäß Anspruch 3 oder 9, ein System gemäß Anspruch 13 oder 20 oder ein computerlesbares Medium gemäß Anspruch 21 oder 22 gelöst.
- Systeme und Verfahren zum dynamischen Zuteilen von Datenspeicher zwischen einer Nutzlast und einer Redundanz sind offenbart. Die dynamische Neuzuteilung wird ansprechend auf veränderte Bedingungen durchgeführt und maximiert eine Datenintegrität und minimiert einen Mehraufwand. Bei einer Implementierung des dynamischen Fehlerkorrekturcodes mit variabler Länge wird die Zuteilung zwischen einer Nutzlast und einer Redundanz, die einen Fehlerkorrekturcode (ECC) enthält, in einem Speichermedium dynamisch ansprechend auf Veränderungen der grundlegenden Fehlerrate des Speichermediums verändert.
- Während eines Verfahrens, durch das ein Speichermedium hergestellt wird, werden Regionen, die einer Nutzlast und einer Redundanz zugeordnet sind, innerhalb des Mediums definiert. Der relative Raum, der einer Redundanz zugeteilt ist, kann auf dem Technologietyp, einem Test des Speichers, der Verwendung, der die Speichervorrichtung unterzogen wird, und anderen Faktoren basieren. Ein ECC, der konsistent mit der Fehlerrate des Speichermediums ist, und eine Redundanz, die eine ausreichende Größe aufweist, um den ECC unterzubringen, werden ausgewählt.
- Während des Betriebs einer Vorrichtung, wie z. B. einer Digitalkamera, in der das Speichermedium betriebsbereit ist, wird eine Fehlerverfolgung durchgeführt, um zu bestimmen, ob sich die grundlegende Fehlerrate verändert hat. Ein Eigentest kann ein ausgedehnteres Testen mit einer größeren statistischen Genauigkeit durchführen. Das Medienalter und Benutzungspegel werden überwacht und mit zu erwartenden Verschlechterungsraten basierend auf dem Technologietyp korreliert. Die Verwendung, der der Speicher unterzogen wird, wie z. B. als eine Kamera, ein MP3-Abspielgerät oder ein Handvideospielgerät, wird überwacht.
- Wenn es notwendig ist, wird die relative Zuteilung von Raum zwischen der Nutzlast und der Redundanz dynamisch eingestellt. Der Raum, der der Redundanz zugeteilt ist, kann dann einem geeigneten ECC zugeordnet sein, der aus einer ECC-Bibliothek ausgewählt wird, die Paritäts-, BCH-(Bose- Chadhuri-Hocquenghem-)Codes und Reed-Solomon-Codecs mit. unterschiedlichen Stärken umfassen kann. Unterschiedliche ECC weisen relative Vorteile und Nachteile angesichts der Stärke ihrer Fehlererfassungs- und Korrekturfähigkeit, ihrer Speicherraumanforderungen und der Geschwindigkeit auf, mit der die ausführbaren Programmschritte, die dem ECC zugeordnet sind, ausgeführt werden.
- Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beigefügten Zeichnungen näher erläutert, wobei die gleichen Zahlen in allen Zeichnungen verwendet werden, um auf gleiche Merkmale und Komponenten zu verweisen. Es zeigen:
- Fig. 1 eine Darstellung eines einfachen ECC-Codeworts, das einen Nutzlastabschnitt und einen Redundanzabschnitt aufweist;
- Fig. 2 eine Darstellung einer Datenspeichervorrichtung und einer zugeordneten Datenstruktur, die eine Mehrzahl von Nutzlastdatensegmenten und zugeordneten Redundanzsegmenten aufweist;
- Fig. 3 einen Graphen, der eine Fehlerrate als eine Funktion der Speicheraktivität darstellt;
- Fig. 4 einen Graphen, der eine Redundanzrate als eine Funktion der Speicheraktivität darstellt;
- Fig. 5 ein Blockdiagramm, das die Beziehung zwischen exemplarischen Softwarestrukturen darstellt, die einer Speichervorrichtungsherstellungseinrichtung zugeordnet sind, die einen dynamischen Fehlerkorrekturcode mit variabler Länge unterstützt;
- Fig. 6 ein Blockdiagramm, das die Beziehung zwischen exemplarischen Softwarestrukturen darstellt, die einer Endbenutzungsvorrichtung, wie z. B. einer Digitalkamera, die einen Datenspeicher verwendet, zugeordnet sind, die einen dynamischen Fehlerkorrekturcode mit variabler Länge unterstützt; und
- Fig. 7 ein Flußdiagramm, das ein Verfahren zur Verwendung dynamischer Fehlerkorrekturcodes mit variabler Länge darstellt.
- Datenspeichermedien, wie z. B. ein Silizium-basierter nichtflüchtiger Speicher, sind gemäß einer Datenstruktur konfiguriert, die einen Nutzlastabschnitt und einen Redundanzabschnitt unterteilt. Ein Teiler, der den Nutzlast- und den Redundanzabschnitt unterteilt, kann dynamisch zugeteilt sein, wodurch die Größe der Redundanz und die Stärke eines ECC, der in derselben enthalten ist, geeignet ansprechend auf sich verändernde Bedingungen ausgewählt werden können. Unterschiedliche ECCs weisen relative Vorteile und Nachteile hinsichtlich der Stärke ihrer Fehlererfassungs- und Korrekturfähigkeit, ihrer Speicherraumanforderungen und der Geschwindigkeit auf, mit der die ausführbaren Programmschritte, die dem ECC zugeordnet sind, ausgeführt werden.
- Der Redundanzabschnitt einer Datenstruktur umfaßt Informationen gemäß einem Fehlerkorrekturcode (ECC), der Fehler in dem Speichermedium erfaßt und in einigen Fällen korrigiert. In dem Verlauf der Herstellung von Datenspeichermedien werden der Technologietyp, Ergebnisse des Testens und die Verwendung, der das Datenspeichermedium unterzogen werden soll, betrachtet. Angesichts dieser Faktoren wird eine Entscheidung hinsichtlich der Stärke des erforderlichen Fehlerkorrekturcodes, seiner Raumanforderungen und deshalb der relativen Größen der Nutzlast und der Redundanz durchgeführt.
- Der Speicher wird dann zur Verwendung in einem System oder einer Vorrichtung, wie z. B. einer Digitalkamera, installiert. Bei einer typischen Anwendung führt der Lebenszyklus des Speichermediums zu einer gewissen Verschlechterung mit der Zeit. Als Antwort wird eine Fehlererfassung, -aufzeichnung und -analyse durchgeführt. Das Medienalter und Verwendungspegel werden überwacht. Speichertests können durchgeführt werden. Ansprechend auf Veränderungen der Speicherzuverlässigkeit kann die Größe der Redundanz hinsichtlich der Nutzlast verändert und ein geeigneterer ECC eingesetzt werden. Dies ermöglicht einen fortlaufenden zuverlässigen Betrieb des Mediums und verzögert die Zeit, zu der schlechte Bereiche des Mediums heraus abgebildet werden müssen oder das Medium ersetzt werden muß.
- Fig. 1 zeigt ein Codewort 100, das einen Nutzdaten- oder Nutzlastabschnitt 102 und einen Redundanzabschnitt 104 aufweist. Der Nutzlastabschnitt kann z. B. ein 8-Bit-Daten- Byte sein, wobei die Redundanz ein Paritätsbit umfassen kann. Alternativ könnten sowohl die Nutzlast als auch die Redundanz aus größeren digitalen Speicherbereichen gebildet sein.
- Ein erster Unterteiler 106 stellt eine logische Unterteilung innerhalb des Codeworts 100 zwischen der Nutzlast 102 und der Redundanz 104 dar. Während eine Vielzahl von Beziehungen zwischen der Nutzlast und der Redundanz möglich ist, ist der Unterteiler 106 so dargestellt, daß er das Codewort in eine 120-Bit-Nutzlast mit einer 8-Bit-Parität unterteilt.
- Ein zweiter und ein dritter Unterteiler 108, 110 stellen zwei zusätzliche Weisen dar, auf die die Nutzlast und die Redundanz in dem ECC-Codewort unterteilt sein könnten. Die Teiler 108, 110 sind in gestrichelten Linien gezeigt, um zu bedeuten, daß sie Alternativen für den Teiler 106 sind, und daß zu einem bestimmten Zeitpunkt nur ein Teiler verwendet wird, um die Nutzlast und die Redundanz logisch zu unterteilen. Der Teiler 108 ist dargestellt, um das ECC-Codewort in eine 120-Bit-Nutzlast mit einer Redundanz in der Form eines 16-Bit-BCH-(Bose-Chadhuri-Hocquenghem-)Codes zu segmentieren. Es ist wesentlich, daß eine Ersetzung des 16- Bit-BCH-Codes zu einer niedrige m "Rate" führt, d. h. zu einem niedrigeren Verhältnis der Nutzlast zu Nutzlast plus Redundanz. Der stärkere BCH-Code ermöglicht jedoch die erfolgreiche Verwendung von Speicherblöcken, die andernfalls aufgrund einer höheren grundlegenden Fehlerrate nicht verwendbar wären.
- Ähnlich ist der Teiler 110 dargestellt, um das ECC-Codewort in eine 112-Bit-Nutzlast mit einer Redundanz in der Form eines 24-Bit-Reed-Solomon-Codes zu segmentieren. Ähnlich führt die Verwendung eines Reed-Solomon-Codes zu einer niedrigeren Rate, aber auch zu der Fähigkeit, eine Datenintegrität in einer Umgebung zu liefern, die eine höhere grundlegende Fehlerrate aufweist.
- Fig. 2 zeigt eine Speicherabbildung, die die logische Zuteilung einer Datenstruktur 200 zeigt, die Speicher in einer Speichervorrichtung 201 darstellt. Die Datenstruktur 200 kann einer oder mehreren integrierten Schaltungen (ICs) oder ähnlichen monolithischen Vorrichtungen zugeordnet sein, bei denen es sinnvoll ist, anzunehmen, daß die grundlegende Fehlerrate im allgemeinen homogen ist. Die Datenstruktur 200 umfaßt einen Datenvorrat oder eine Nutzlast 202 und einen ECC-Vorrat oder eine Redundanz 204. Ein erster Teiler 206 trennt die Nutzlast und die Redundanz. Ein zweiter Teiler 208 und ein dritter Teiler 210 stellen eine Mehrzahl anderer Teiler dar, die verwendet werden könnten, um die Nutzlast und die Redundanz auf eine Weise zu unterteilen, die ihre relativen Größen und deshalb die Rate verändern würde. Der zweite und der dritte Teiler sind in gepunkteten Linien gezeigt, um anzuzeigen, daß sie Alternativen für den ersten Teiler 206 sind, und daß zu einem bestimmten Zeitpunkt nur ein Teiler verwendet werden kann.
- Der Datenvorrat 202 umfaßt eine Mehrzahl von Datenwörtern 212, die eine Bitlänge aufweisen, die üblicherweise von dem Aufbau der Vorrichtung abhängt, in der der Speicherblock definiert ist. Bei einem exemplarischen Adressierschema sind die Datenwörter aufeinanderfolgend D0, D1, D2, usw. genannt und weisen eine Länge von 16 Bit, 32 Bit, 64 Bit oder eine andere Länge auf.
- Der Redundanz-Vorrat 204 umfaßt eine Mehrzahl von ECC- Wörtern 214, die aufeinanderfolgend E0, E1, E2, usw. numeriert sind. Jedes ECC-Wort ist einem entsprechenden Datenwort 212 zugeordnet und liefert eine Redundanz für dasselbe. Jedes ECC-Wort ist außerdem einem bestimmten Fehlerkorrekturcode zugeordnet, wobei die Informationen, die in jedem ECC-Wort enthalten sind, gemäß diesem ECC formuliert sind.
- Der erste Teiler 206 stellt eine logische Unterteilung in dem Block 200 zwischen der Nutzlast 202 und der Redundanz 204 dar. Während eine Vielzahl von Beziehungen zwischen der Nutzlast und der Redundanz möglich ist, ist der Teiler 206 dargestellt, um den Speicherblock in eine Mehrzahl von Nutzlastdatenwörtern D0 . . . Dn zu unterteilen, die jeweils einem Redundanzwort E0 . . . En zugeordnet sind. Die Informationen, die der Redundanz zugeordnet sind, können einen Paritäts- oder eine schwachen BCH-Fehlerkorrekturcode umfassen.
- Ein zweiter Teiler 208 wird für den ersten eingesetzt, wodurch die Anzahl von Nutzlastdatenwörtern in dem Datenvorrat reduziert wird und die Länge jedes ECC-Wortes, das der Redundanz gewidmet ist, erhöht wird. Jedes Nutzlastdatenwort Dn ist weiterhin einem Redundanzwort En zugeordnet. Wenn jedoch der zweite Teiler anstelle des ersten Teilers verwendet wird, sind weniger Nutzlastdatenwörter vorhanden. Als ein Ergebnis sind weniger ECC-Redundanzwörter, jeweils mit einer größeren Länge, vorhanden. Folglich kann die Redundanz die Form eines stärkeren BCH-Fehlerkorrekturcodes annehmen.
- Ein dritter Teiler 210 kann für den zweiten Teiler eingesetzt werden, wodurch die relativen Mengen von Nutzlast und Redundanz auf eine Weise verändert werden, die eine zusätzliche Redundanz liefert und den Raum, der der Nutzlast gewidmet ist, reduziert. Als ein Ergebnis kann die Redundanz sehr starke Reed-Solomon-Codecs unterstützen.
- Der Leser wird erkennen, daß alle Teile naturgemäß vorstellbar sind. Folglich sind ein Bewegen eines Teilers oder ein Ersetzen eines Teilers durch einen anderen Teiler gleichwertig, wobei beide für eine Neuorganisierung der logischen Beziehung zwischen der Nutzlast und der Redundanz symbolisch sind. Insbesondere würde, wenn die Nutzlast und die Redundanz einen Bereich in einer Speichervorrichtung einnehmen, ein Bewegen des Teilers eine logische Verschiebung in dem relativen Adreßraum darstellen, der zwischen der Nutzlast und der Redundanz zugeteilt ist. Ähnlich würde ein Ersetzen eines Teilers durch einen anderen Teiler ein Neuorganisieren des Adreßraums darstellen, der von der Nutzlast und der Redundanz gemeinschaftlich verwendet wird, üblicherweise derart, daß Redundanzinformationen gemäß einem neu ausgewählten ECC in die Redundanz passen würden.
- Fig. 3 zeigt eine exemplarische graphische Darstellung der grundlegenden Fehlerrate 300 eines Speichermediums. Eine Messung der Aktivität, wie z. B. der Anzahl von Schreib- und Lese-Operationen oder des chronologischen Alters des Mediums, wird auf der horizontalen Achse 302 gemessen. Die grundlegende Fehlerrate ist auf der vertikalen Achse 304 dargestellt.
- Vor der Verwendung ist eine Schätzung oder Messung 306 einer anfänglichen, grundlegenden Fehlerrate ein Ergebnis des Technologietyps, der Charakteristika einer spezifischen Speichervorrichtung und anderer Faktoren. Nach einem Aktivitätszeitraum zeigt eine erste Schätzung oder Messung 308 der aktualisierten grundlegenden Fehlerrate an, daß ein gewisser Anstieg der Fehlerrate aufgetreten ist. Dies kann das Ergebnis des Alters und der Verwendung des Speichermediums sein. Zweite und dritte Schätzungen oder Messungen 310, 312 der aktualisierten grundlegenden Fehlerrate zeigen üblicherweise an, daß eine zusätzliche Verschlechterung des Speichermediums aufgetreten ist. Es ist allgemein der Fall, daß die grundlegende Fehlerrate konstant oder ansteigend ist. Es ist jedoch selten, daß die Rate abnimmt, obwohl es aufgrund der Verteilung von Fehlern möglich ist, daß aufeinanderfolgende Messungen einen Rückgang der grundlegenden Fehlerrate anzeigen.
- Fig. 4 zeigt eine exemplarische graphische Darstellung der Redundanzrate 400, die an eine Datenstruktur 200 ansprechend auf den Anstieg der grundlegenden Fehlerrate 300 angelegt wird, wie aus Fig. 3 ersichtlich ist. Eine Messung der Aktivität, wie z. B. der Anzahl von Schreib- und Lese- Operationen oder des chronologischen Alters des Mediums, wird auf der horizontalen Achse 402 gemessen. Der Redundanzpegel ist auf der vertikalen Achse 404 dargestellt.
- Zu der Zeit, zu der die grundlegende Fehlerrate bei 306 gemessen wurde, ist ein erster Redundanzpegel 406 in der Datenstruktur 200 wiedergegeben. Die Redundanzrate 406 kann einem Teiler 206 zugeordnet sein, der den Block 200 in eine Nutzlast 202 und eine Redundanz 204 unterteilt. Wenn die Fehlerrate relativ niedrig ist, kann der Raumpegel, der der Redundanz zugewiesen ist, ausreichend sein, sogar wenn ein Paritätsbit oder ein schwacher BCH-Code zugeordnet ist.
- Zu der Zeit, zu der die grundlegende Fehlerrate bei 308 gemessen wurde, wird eine zweite Redundanzrate 408 an die Datenstruktur 200 angelegt. Die zweite Redundanzrate ist einem Teiler 208 zugeordnet, der die Datenstruktur 200 in eine Nutzlast 202 und eine Redundanz 204 unterteilt. Aufgrund des Anstiegs der Fehlerrate 308 gegenüber der Fehlerrate 306 muß der Raum, der der zweiten Redundanz 408 zugeordnet ist, ausreichend sein, um Informationen gemäß einem stärkeren BCH-Code oder ähnlichen Codecs zu enthalten. Wieder Bezug nehmend auf Fig. 2 ist es ersichtlich, daß der Teiler 208 einen größeren Prozentsatz des Speicherblocks 200 an die Redundanz liefert. Als ein Ergebnis ist der Redundanzpegel 408 ausreichend, um einen stärkeren BCH oder ähnliche Codecs zu unterstützen.
- Ähnlich wird ein dritter Redundanzpegel 410 zu dem Zeitpunkt an die Datenstruktur 200 angelegt, zu dem die grundlegende Fehlerrate bei 310 gemessen wurde. Der dritte Redundanzpegel ist einem Teiler 210 zugeordnet. Aufgrund des Anstiegs der Fehlerrate 310 gegenüber der Fehlerrate 308 kann der Raumpegel, der der Redundanz 410 zugeordnet ist, u. U. ausreichend für die Verwendung eines sehr starken BCH-Codes oder von Reed-Solomon-Codecs sein müssen. Wieder Bezug nehmend auf Fig. 2 ist es ersichtlich, daß der Teiler 210 einen größeren Prozentsatz des Speicherraums 200 an die Redundanz liefert. Als ein Ergebnis ist der Redundanzpegel 410 ausreichend, um den sehr starken BCH und Reed-Solomon- Codecs zu unterstützen.
- Die Fig. 5 und 6 zeigen die Beziehung zwischen exemplarischen Softwaremodulen, die die Funktionalität eines dynamischen Fehlerkorrekturcodes mit variabler Länge unterstützen. Die Module, die in den Fig. 5 und 6 zu sehen sind, sind exemplarisch und könnten deshalb vereinigt, fragmentiert oder anderweitig neu angeordnet werden, um zu einer ähnlichen Funktionalität zu führen. Ähnlich könnten, während vorgeschlagene Orte für einige Module angezeigt sind, andere Orte ersetzt werden. Jedes Softwaremodul umfaßt ein Computer- oder Steuerungs-lesbares Medium, das Computer- oder Steuerungs-lesbare Instruktionen aufweist, die, wenn sie durch eine Steuerung in einer Vorrichtung oder einem System ausgeführt werden, zu der beschriebenen Funktionalität führen. Hardwareäquivalente können anstelle der Softwareinstruktionen verwendet werden und können bei manchen Anwendungen eine höhere Geschwindigkeit liefern.
- Fig. 5 zeigt ein Anfangs-ECC-Zuweisungsmodul 500, das üblicherweise in einer Herstellungseinrichtung 501, in der die Speichervorrichtung 201 hergestellt wird, betriebsfähig ist. Das Anfangs-ECC-Zuweisungsmodul ist zum anfänglichen Anordnen des Teilers angepaßt, der den Nutzlast- und den Redundanzabschnitt der Datenstruktur 200, die der Speichervorrichtung zugeordnet ist, unterteilt. Nachdem ein Raum an einen Redundanzabschnitt zugeteilt ist, wird eine Zuweisung eines ECC durchgeführt. Die Zuweisung basiert teilweise auf einer anfänglichen Bestimmung der Speichervorrichtungstechnologie, einem Speichertest und einer Bestimmung der Verwendung oder Anwendung, der die Speichervorrichtung unterzogen wird. Während dieses Vorgangs steht die Speichervorrichtung üblicherweise in Kommunikation mit Testvorrichtungen, die in einer Herstellungseinrichtung enthalten sind, oder in Kommunikation mit einer Endverwendungsvorrichtung, wie z. B. einer Digitalkamera.
- Ein Technologietypbestimmungsmodul 502 ist konfiguriert, um den Typ von Technologie zu bestimmen, der in der Speicherspeicherungsvorrichtung 201 verwendet wird. Der Technologietyp kann z. B. als ein MRAM-Speicher von Hewlett-Packard identifiziert sein. Das Technologietyp-Bestimmungsmodul kann schnittstellenmäßig mit einer Speichervorrichtung oder einem anderen Ort verbunden sein, der den Technologietyp der Speichervorrichtung kennt. Die Speichervorrichtung, die Herstellungseinrichtung oder das System oder die Vorrichtung, in die die Speichervorrichtung installiert wurde, wie z. B. eine Kamera, kann z. B. dem Technologietypbestimmungsmodul 502 den Typ von Technologie berichten, der in der Speichervorrichtung verwendet wird.
- Ein Speichervorrichtungsspeichertestmodul 504 ist konfiguriert, um einen Speichertest an der Speichervorrichtung 201 durchzuführen. Eine Vielzahl geeigneter Speichertests ist bekannt und deshalb hierin nicht beschrieben. Der Speichertest bestimmt die grundlegende Fehlerrate der Speichervorrichtung, wie in Fig. 3 bei 306 ersichtlich ist. Wenn Speicherorte der Speichervorrichtung eine Fehlerrate aufweisen, die unannehmbar hoch ist, kann das Testmodul dieselben aus dem Adreßraum heraus abbilden oder das Medium zurückweisen.
- Ein Anwendungsbestimmungsmodul 506 ist angepaßt, um die Verwendung zu bestimmen, der die Speichervorrichtung 201 unterzogen wird. Typische Anwendungen können Digitalkameras und MP3-Audiovorrichtungen umfassen. Die Verwendung, der die Speichervorrichtung 201 unterzogen wird, beeinflußt die Stärke der verwendeten Redundanz. Wenn die Endverwendungsvorrichtung z. B. ein Computerprogramm-Videospiel ist, muß die Redundanz robust sein, um zu verhindern, daß ein Fehler das Spiel blockiert. Wenn die Endverwendungsvorrichtung als eine Musikabspielvorrichtung, wie z. B. ein MP3- Abspielgerät, verwendet wird, kann die Redundanz schwächer sein, da ein fallengelassenes Datenpaket u. U. nur zu einem Bruchteil eines ungenauen Tons führen kann.
- In einer Herstellungseinrichtungseinstellung ist das Anwendungsbestimmungsmodul 506 schnittstellenmäßig mit der Herstellungseinrichtung verbunden, um die Verwendung zu bestimmen, der die Speichervorrichtung 201 unterzogen wird. In einer Endverwendungsvorrichtungseinstellung, in der die Speichervorrichtung 201 in einer Endverwendungsvorrichtung angeordnet ist, wie z. B. einer Digitalkamera, ist das Verwendungsanwendungsbestimmungsmodul 506 schnittstellenmäßig mit der Endverwendungsvorrichtung verbunden, um die Verwendung zu bestimmen.
- Ein Codezuweisungsmodul 508 ist angepaßt, um einen geeigneten ECC aus denen, die in der ECC-Bibliothek 510 verfügbar sind, auszuwählen, und auch, um einen Pegel der Redundanz auszuwählen, der erforderlich ist, um Informationen gemäß dem ausgewählten Code unterzubringen. Das Codezuweisungsmodul betrachtet den Technologietyp, der durch das Modul 502bestimmt ist, die Speichertestergebnisse, die durch das Modul 504 bestimmt sind, und die Anwendung, die durch das Modul 506 bestimmt ist. Angesichts dieser Eingabe wählt das Codezuweisungsmodul einen geeigneten ECC aus und paßt den Ort des Teilers 206 an, um die erforderliche Redundanz zu liefern, um die Speicherung von Informationen gemäß dem ausgewählten ECC unterzubringen.
- Die ECC-Bibliothek 510 enthält üblicherweise eine Mehrzahl von ECCs, einschließlich zumindest eines schwächeren Paritätstypcodes 512, zumindest eines stärkeren BCH-Codes 514 und zumindest eines sehr starken Reed-Solomon-Codecs 516. Um einen dieser ECCs auf die Redundanz 204 anzuwenden, die der Datenstruktur 200 zugeordnet ist, kann ein geeigneter Teiler, ähnlich dem Teiler 206, ausgewählt werden, um zu der erforderlichen Teilung zwischen der Nutzlast und der Redundanz in der Datenstruktur 200 zu führen.
- Fig. 6 zeigt ein Aktualisierungs-ECC-Zuweisungsmodul 600, das insbesondere angepaßt ist, um in einer Endverwendungsvorrichtung 601, wie z. B. einer Digitalkamera oder einer ähnlichen Vorrichtung, zu wirken. Das Aktualisierungs-ECC- Zuweisungsmodul verfolgt Fehler, überwacht das Medienalter und Verwendungspegel, führt einen Eigentest durch und wirkt auf andere Faktoren, die relevant sind, wenn der Speicherzustand und der Bedarf, einen Ersatz-ECC zu installieren, bewertet werden. Falls erforderlich, wählt das ECC- Zuweisungsmodul 600 einen geeigneten ECC unter denen aus, die in der ECC-Bibliothek verfügbar sind. Das Aktualisierungs-ECC-Zuweisungsmodul verändert auch den Ort eines Teilers, wodurch die Menge der Redundanz eingestellt wird, um Informationen gemäß dem neu ausgewählten ECC unterzubringen, und die Kompatibilität zwischen dem neu ausgewählten ECC und dem Raum aufrechtzuerhalten, der dem Redundanzabschnitt der Datenstruktur gewidmet ist.
- Ein Fehlerverfolgungs-, Analyse und Aufzeichnungsmodul 602 sammelt Fehler in dem Speichermedium und zeichnet dieselben auf. Wenn Fehler durch die Redundanz entdeckt werden, werden die Orte des Auftretens verfolgt und aufgezeichnet.
- Ein Eigentestmodul 604 liefert einen Speichertest, der die Speichervorrichtung 201 gründlich testen kann.
- Ein Alter- und Verwendungsverfolgungsmodul 606 berechnet das chronologische Alter der Speichervorrichtung 201 und die Anzahl von Verwendungen. Einige Speichertechnologien verschlechtern sich mit der Zeit und der Verwendung. Durch ein Aufzeichnen dieser Faktoren ist ein zusätzlicher Eingang für das Codeaktualisierungszuweisungsmodul 610 verfügbar, um zu bestimmen, ob ein neuer ECC-Code installiert werden sollte.
- Ein Speicherungsanwendungsverfolgungsmodul 608 ist schnittstellenmäßig mit der Vorrichtung oder dem System verbunden, in dem die Speichervorrichtung 201 installiert ist, wodurch es ermöglicht wird, daß die Verwendung bestimmt wird, der die Speichervorrichtung unterzogen wird. Wenn z. B. die Speichervorrichtung von einer Digitalkamera zu einer Musikvorrichtung, wie z. B. einem MP3-Abspielgerät, bewegt würde, würde das Speicherungsanwendungsverfolgungsmodul die Veränderung identifizieren und die Informationen aufzeichnen.
- Ein Codezuweisungsmodul 610 ist angepaßt, um einen geeigneten ECC aus denen auszuwählen, die in der ECC-Bibliothek 612 verfügbar sind, und um den Ort des Teilers 206 zu verändern, wodurch die Menge der Redundanz eingestellt wird, um Informationen gemäß dem neu ausgewählten ECC unterzubringen. Das Codezuweisungsmodul betrachtet die Fehlerinformationen, die durch das Modul 602 geliefert werden, die Testergebnisse, die durch das Modul 604 bestimmt werden, das Speichervorrichtungsalter und Verwendungsinformationen von dem Modul 606 und die Anwendung (z. B. Videospiel, Digitalkamera, Musik-MP3-Abspielgerät, usw.), die durch das Modul 608 bestimmt wird. Angesichts dieser Eingabe wählt das Codezuweisungsmodul 610 einen geeigneten Redundanzcode aus.
- Die ECC-Bibliothek 612 ist ähnlich wie die bei 510 aus Fig. 5. Paritätscodes 614, BCH-Codes 616 und Reed-Solomon-Codecs 618 oder andere ähnliche ECC- oder Redundanzcodes sind verfügbar.
- Fig. 7 zeigt ein Verfahren 700, durch das die Unterteilung zwischen der Nutzlast und der Redundanz, die einer Datenstruktur 200 einer Speichervorrichtung zugeordnet ist, anfänglich bestimmt werden kann, sowie einen zugewiesenen ECC. Das Verfahren ist zusätzlich angepaßt, um die Unterteilung zwischen der Nutzlast und der Redundanz dynamisch zu verändern und eine Ersetzung eines ECC zu ermöglichen. Die Ersetzung kann ansprechend auf eine Veränderung der grundlegenden Fehlerrate der Speichervorrichtung, eine Veränderung der Verwendung, der die Speichervorrichtung unterzogen wird, eine Veränderung des Alters der Speichervorrichtung oder die Anzahl von durchgeführten Schreib-/Lese- Operationen oder eine andere Veränderung, die die Zuverlässigkeit der Speichervorrichtung beeinflußt, durchgeführt werden. In den meisten Fällen erhöht das Verfahren 700 die Redundanz auf eine Weise, die die Verwendung von stärkeren ECC-Codecs ermöglicht, wodurch die Nutzlebensdauer der Speichervorrichtung erweitert wird. In einigen Fällen können einzelne Blöcke in dem Verfahren weggelassen werden, wenn sie nicht notwendig sind, oder um einen schnelleren Betrieb zu ermöglichen.
- Bei einem Block 702 bestimmt das Technologietypbestimmungsmodul 502 den Technologietyp der Speichervorrichtung. Die Technologie der Speichervorrichtung beeinflußt den zur Datensicherheit erforderlichen ECC.
- Bei einem Block 704 führt das Speichervorrichtungsspeichertestmodul 504 einen Speichertest bei der Speichervorrichtung durch und zeichnet die Ergebnisse auf. Nach dem Speichertest werden alle Speicherorte mit einer nicht ausreichenden Zuverlässigkeit aus dem Adreßraum heraus abgebildet oder die Vorrichtung kann zurückgewiesen werden.
- Bei einem Block 706 bestimmt das Verwendungsanwendungsbestimmungsmodul 506 die Verwendung, der die Speichervorrichtung unterzogen wird. Allgemein sind Daten, die Computerprogramminstruktionen umfassen, relativ intolerant gegenüber Fehlern, während Daten, die verwendet werden, um eine Audio- und/oder Videoausgabe zu unterstützen, bei einigen Anwendungen kleinere Fehler umfassen können und dennoch betriebsbereit sind.
- Bei einem Block 708 wählt das Codezuweisungsmodul 508 einen ECC aus denen aus, die in der ECC-Bibliothek 510 verfügbar sind, bestimmt den Raum, den die Redundanz erfordert, um den ECC unterzubringen, und führt die geeignete Unterteilung des Speichers durch.
- Bei einem Block 710 wird die Speichervorrichtung in einer Vorrichtung oder einem System, wie z. B. einer Kamera, einem MP3-Abspielgerät oder einer anderen Vorrichtung, installiert.
- Bei einem Block 712 beginnt ein Betrieb der Speichervorrichtung. Bei einer typischen Anwendung beginnt der Betrieb der Speichervorrichtung, wenn die Vorrichtung, wie z. B. eine Digitalkamera, angeschaltet wird.
- Bei einem Block 714 zeichnet das Fehlerverfolgungs-, Analyse und Aufzeichnungsmodul 602 alle Fehler, die durch die Datenspeichervorrichtung gemacht werden, sowie die Zeit ihres Auftretens auf.
- Bei einem Block 716 testet das Eigentestmodul 604 die Speicherorte der Speichervorrichtung. Die Ergebnisse des Eigentestes werden zur späteren Verwendung aufgezeichnet.
- Bei einem Block 718 aktualisiert und dokumentiert das Alter- und Verwendungsverfolgungsmodul 606 Daten, die der Zeit und der Verwendung zugeordnet sind. Dokumentierte Daten können folgendes umfassen: das Alter der Speichervorrichtung in Stunden, Tagen oder anderen Einheiten, die Verwendung der Vorrichtung, einschließlich der Anzahl von Stunden hochgefahrenen Betriebs und die Aktivität der Vorrichtung, einschließlich der Anzahl durchgeführter Lese- und Schreib-Operationen.
- Bei einem Block 720 werden die Fehlerrateninformationen allgemein ausgewertet, um zu bestimmen, ob sich die Fehlerrate wesentlich erhöht hat oder die Anwendung, in der die Speichervorrichtung verwendet wird, sich verändert hat, und insbesondere, um zu bestimmen, ob ein anderer ECC erforderlich ist. Wenn die Fehlerrate allgemein konstant ist, wird die Speichervorrichtung bei Block 712 wiederverwendet. Wenn sich die Fehlerrate jenseits eines Schwellenwertes erhöht hat, wird der ECC bei Block 722 aktualisiert. Wenn sich die Fehlerrate jenseits einer verwaltbaren Rate erhöht hat, wird das Medium aus der Verwendung zurückgezogen.
- Bei einem Block 722 wertet das Codeaktualisierungszuweisungsmodul 610 die gegenwärtige Redundanz aus und bestimmt, ob eine geeignetere Redundanz statt derselben aufgrund sich verändernder Bedingungen eingesetzt werden sollte. Falls dies der Fall ist, wird ein ECC mit einer geeigneten Stärke ausgewählt. Der Teiler zwischen der Nutzlast und der Redundanz in der Datenstruktur der Speichervorrichtung wird bewegt, um zu der ausreichenden Redundanz zu führen, um die Verwendung des neu ausgewählten ECC zu ermöglichen.
- Bei einem Block 724 werden, falls nötig, defekte Speicherorte aus dem Adreßraum der Vorrichtung heraus abgebildet.
- Unter Verwendung einer Fehlerverfolgung, eines Speichertestens und anderer Einrichtungen kann die Geeignetheit des Fehlerkorrekturcodes, der in der Redundanz verwendet wird, die in einer Datenstruktur definiert ist, die einer Speichervorrichtung zugeordnet ist, ausgewertet werden. Wenn ein Anstieg der Fehlerrate angezeigt wird, kann die Datenstruktur dynamisch verändert werden, um einen Speicher zwischen Nutzlast und Redundanz neu zuzuteilen. Der Speicherraum, der der Nutzlast gewidmet ist, kann z. B. gesenkt werden, wobei der Speicherraum, der der Redundanz gewidmet ist, erhöht wird, wodurch die Ersetzung durch einen robusteren Fehlerkorrekturcode ermöglicht wird.
- Obwohl die Erfindung in einer Sprache beschrieben wurde, die spezifisch für Strukturmerkmale und/oder Methodikschritte ist, wird darauf verwiesen, daß die Erfindung, die in den beigefügten Ansprüchen definiert ist, nicht notwendigerweise auf die spezifischen hierin beschriebenen Merkmale oder Schritte beschränkt ist. Vielmehr sind die spezifischen Merkmale und Schritte als bevorzugte Formen der Implementierung der beanspruchten Erfindung offenbart.
Claims (22)
1. Datenstruktur mit folgenden Merkmalen:
einer Nutzlast (102);
einer Redundanz (104); und
einem Teiler (106) zwischen der Nutzlast und der Redundanz, wobei der Teiler von einem ersten Ort, der ein erstes Verhältnis der Nutzlast (102) zu der Redundanz (104) liefert, zu einem zweiten Ort, der ein zweites Verhältnis der Nutzlast zu der Redundanz (104) liefert, bewegbar ist.
einer Nutzlast (102);
einer Redundanz (104); und
einem Teiler (106) zwischen der Nutzlast und der Redundanz, wobei der Teiler von einem ersten Ort, der ein erstes Verhältnis der Nutzlast (102) zu der Redundanz (104) liefert, zu einem zweiten Ort, der ein zweites Verhältnis der Nutzlast zu der Redundanz (104) liefert, bewegbar ist.
2. Datenstruktur gemäß Anspruch 1, bei der die Redundanz
einen ersten Fehlerkorrekturcode, wenn der Teiler an
dem ersten Ort (106) ist, und einen zweiter
Fehlerkorrekturcode enthält, wenn der Teiler an dem zweiten Ort
(108) ist.
3. Verfahren mit folgenden Schritten:
Zuordnen eines anfänglichen Fehlerkorrekturcodes (616) zu einer Redundanz, die in einer Datenspeichervorrichtung (201) definiert ist; und
Ersetzen des anfänglichen Fehlerkorrekturcodes (616) durch einen aktualisierten Fehlerkorrekturcode (618).
Zuordnen eines anfänglichen Fehlerkorrekturcodes (616) zu einer Redundanz, die in einer Datenspeichervorrichtung (201) definiert ist; und
Ersetzen des anfänglichen Fehlerkorrekturcodes (616) durch einen aktualisierten Fehlerkorrekturcode (618).
4. Verfahren gemäß Anspruch 3, das zusätzlich ein Bewegen
eines Teilers (106) aufweist, der zwischen der
Redundanz (104) und der Nutzlast (102) definiert ist, um
einen Raum zu liefern, der durch den aktualisierten
Fehlerkorrekturcode (618) in der Redundanz erfordert
wird.
5. Verfahren gemäß Anspruch 3 oder 4, das zusätzlich ein
Neuorganisieren eines Adreßraums aufweist, der durch
eine Nutzlast (102) und die Redundanz (104)
gemeinschaftlich verwendet wird, um einen Raum zu liefern,
der durch den aktualisierten Fehlerkorrekturcode (618)
in der Redundanz erfordert wird.
6. Verfahren gemäß einem der Ansprüche 3 bis 5, das
zusätzlich ein Durchführen eines Speichertests (716)
hinsichtlich der Datenspeichervorrichtung (201)
aufweist, um zu bestimmen (720), ob der anfängliche
Fehlerkorrekturcode ausreichend stark ist.
7. Verfahren gemäß einem der Ansprüche 3 bis 6, das
zusätzlich ein Verfolgen von Fehlern aufweist, die durch
die Datenspeichervorrichtung (201) gemacht werden, um
zu bestimmen, ob der anfängliche Fehlerkorrekturcode
ausreichend stark ist.
8. Verfahren gemäß einem der Ansprüche 3 bis 7, das
zusätzlich ein Verfolgen der Zeit und der Verwendung der
Datenspeichervorrichtung (201) aufweist, um zu
bestimmen, ob der anfängliche Fehlerkorrekturcode
ausreichend stark ist.
9. Verfahren mit folgenden Schritten:
Definieren einer Nutzlast (102) und einer Redundanz (104) in einer Speichervorrichtung (201), wobei die Redundanz zu der Nutzlast plus der Redundanz ein Verhältnis definiert; und
dynamisches Verändern des Verhältnisses, um eine Menge der Redundanz (104) zu verändern.
Definieren einer Nutzlast (102) und einer Redundanz (104) in einer Speichervorrichtung (201), wobei die Redundanz zu der Nutzlast plus der Redundanz ein Verhältnis definiert; und
dynamisches Verändern des Verhältnisses, um eine Menge der Redundanz (104) zu verändern.
10. Verfahren gemäß Anspruch 9, das zusätzlich folgenden
Schritt aufweist:
Durchführen eines Speichertests (716) bezüglich der Datenspeichervorrichtung (201), um zu bestimmen, ob das Verhältnis zu einer ausreichenden Redundanz führt.
Durchführen eines Speichertests (716) bezüglich der Datenspeichervorrichtung (201), um zu bestimmen, ob das Verhältnis zu einer ausreichenden Redundanz führt.
11. Verfahren gemäß Anspruch 9 oder 10, das zusätzlich
folgenden Schritt aufweist:
Verfolgen von Fehlern, die durch die Datenspeichervorrichtung (201) gemacht werden, um zu bestimmen, ob das Verhältnis zu einer ausreichenden Redundanz führt.
Verfolgen von Fehlern, die durch die Datenspeichervorrichtung (201) gemacht werden, um zu bestimmen, ob das Verhältnis zu einer ausreichenden Redundanz führt.
12. Verfahren gemäß einem der Ansprüche 9 bis 11, das
zusätzlich folgenden Schritt aufweist:
Verfolgen der Zeit und der Verwendung der Datenspeichervorrichtung (201), um zu bestimmen, ob das Verhältnis zu einer ausreichenden Redundanz führt.
Verfolgen der Zeit und der Verwendung der Datenspeichervorrichtung (201), um zu bestimmen, ob das Verhältnis zu einer ausreichenden Redundanz führt.
13. System mit folgenden Merkmalen:
einem Aktualisierungs-Fehlerkorrekturcode-(ECC-) Zuweisungsmodul (600), um einen aktualisierten Fehlerkorrekturcode (616) zuzuweisen, um einen anfänglichen Fehlerkorrekturcode (614) ansprechend auf eine veränderte Fehlerrate zu ersetzen; und
einer ECC-Bibliothek (612), die zumindest zwei ECCs enthält, aus denen das Aktualisierungs-Fehlerkorrekturzuweisungsmodul (600) auswählen kann.
einem Aktualisierungs-Fehlerkorrekturcode-(ECC-) Zuweisungsmodul (600), um einen aktualisierten Fehlerkorrekturcode (616) zuzuweisen, um einen anfänglichen Fehlerkorrekturcode (614) ansprechend auf eine veränderte Fehlerrate zu ersetzen; und
einer ECC-Bibliothek (612), die zumindest zwei ECCs enthält, aus denen das Aktualisierungs-Fehlerkorrekturzuweisungsmodul (600) auswählen kann.
14. System gemäß Anspruch 13, das zusätzlich ein Anfangs-
Fehlerkorrekturcodezuweisungsmodul (500) aufweist, um
den anfänglichen Fehlerkorrekturcode ansprechend. auf
eine anfängliche Fehlerrate zuzuweisen.
15. System gemäß Anspruch 14, das zusätzlich ein
Technologietypbestimmungsmodul (502) aufweist, um eine
Technologie einer Speichervorrichtung (201) an das Anfangs-
Fehlerkorrekturcodezuweisungsmodul (500) zu berichten,
so daß der anfängliche Fehlerkorrekturcode geeignet
ausgewählt wird.
16. System gemäß einem der Ansprüche 13 bis 15, das
zusätzlich ein Speichervorrichtungsspeichertestmodul
(504) aufweist, um einen Speichertest hinsichtlich
einer Speichervorrichtung (201) durchzuführen und dem
Aktualisierungs-Fehlerkorrekturcodezuweisungsmodul
(600) zu berichten.
17. System gemäß einem der Ansprüche 13 bis 16, das
zusätzlich ein Anwendungsbestimmungsmodul (506)
aufweist, um eine Anwendung zu bestimmen, der eine
Speichervorrichtung (201) unterzogen wird, und dem
Aktualisierungs-Fehlerkorrekturcodezuweisungsmodul (600) zu
berichten.
18. System gemäß einem der Ansprüche 13 bis 17, das
zusätzlich ein Fehlerverfolgungs-, Aufzeichnungs- und
Analysemodul (602) aufweist, um Informationen über
Fehler, die durch eine Speichervorrichtung (201)
gemacht werden, an das
Aktualisierungs-Fehlerkorrekturcodezuweisungsmodul zu berichten.
19. System gemäß einem der Ansprüche 13 bis 18, das
zusätzlich ein Alter- und Verwendungsverfolgungsmodul
(606) aufweist, um Informationen über ein Alter und
einen Verwendungspegel einer Speichervorrichtung (201)
an das
Aktualisierungs-Fehlerkorrekturcodezuweisungsmodul zu berichten.
20. System mit folgenden Merkmalen:
einer ECC-Bibliothek (612), die zumindest zwei Fehlerkorrekturcodes enthält;
einem Anfangs-Fehlerkorrekturcodezuweisungsmodul (500), um einen anfänglichen Fehlerkorrekturcode aus der ECC-Bibliothek zuzuweisen, der geeignet für eine zu erwartende anfängliche Fehlerrate ist;
einem Technologietypbestimmungsmodul (502), um eine Technologie einer Speichervorrichtung zu bestimmen und die Technologie an das Anfangs-Fehlerkorrekturcodezuweisungsmodul zu berichten;
einem Anwendungsbestimmungsmodul (506), um eine Anwendung zu bestimmen, der die Speichervorrichtung (201) unterzogen wird, und an das Anfangs-Fehlerkorrekturcodezuweisungsmodul zu berichten;
einem Aktualisierungs-Fehlerkorrekturcodezuweisungsmodul (600), um einen geeigneten aktualisierten Fehlerkorrekturcode aus der ECC-Bibliothek zuzuweisen, ansprechend auf eine veränderte Fehlerrate ist;
einem Speicherungsvorrichtungsspeichertestmodul (504), um einen Speichertest hinsichtlich der Speichervorrichtung durchzuführen und an das Aktualisierungs- Fehlerkorrekturcodezuweisungsmodul zu berichten, so daß eine Entscheidung, um einen aktualisierten Fehlerkorrekturcode zuzuweisen, durchgeführt werden kann;
einem Fehlerverfolgungs-, Aufzeichnungs- und Analysemodul (602), um Informationen über Fehler, die durch die Speichervorrichtung (201) gemacht werden, an das Aktualisierungs-Fehlerkorrekturcodezuweisungsmodul zu berichten, so daß eine Entscheidung, um einen aktualisierten Fehlerkorrekturcode zuzuweisen, durchgeführt werden kann;
einem Alter- und Verwendungsverfolgungsmodul (606), um Informationen über das Alter und den Verwendungspegel der Speichervorrichtung (201) an das Aktualisierungs- Fehlerkorrekturcodezuweisungsmodul zu berichten, so daß eine Entscheidung, um einen aktualisierten Fehlerkorrekturcode zuzuweisen, durchgeführt werden kann; und
einem Anwendungsverfolgungsmodul, um Veränderungen der Anwendung, in der das Speichermodul (201) verwendet wird, an das Aktualisierungs-Fehlerkorrekturcodezuweisungsmodul zu berichten, so daß eine Entscheidung, um einen aktualisierten Fehlerkorrekturcode zuzuweisen, durchgeführt werden kann.
einer ECC-Bibliothek (612), die zumindest zwei Fehlerkorrekturcodes enthält;
einem Anfangs-Fehlerkorrekturcodezuweisungsmodul (500), um einen anfänglichen Fehlerkorrekturcode aus der ECC-Bibliothek zuzuweisen, der geeignet für eine zu erwartende anfängliche Fehlerrate ist;
einem Technologietypbestimmungsmodul (502), um eine Technologie einer Speichervorrichtung zu bestimmen und die Technologie an das Anfangs-Fehlerkorrekturcodezuweisungsmodul zu berichten;
einem Anwendungsbestimmungsmodul (506), um eine Anwendung zu bestimmen, der die Speichervorrichtung (201) unterzogen wird, und an das Anfangs-Fehlerkorrekturcodezuweisungsmodul zu berichten;
einem Aktualisierungs-Fehlerkorrekturcodezuweisungsmodul (600), um einen geeigneten aktualisierten Fehlerkorrekturcode aus der ECC-Bibliothek zuzuweisen, ansprechend auf eine veränderte Fehlerrate ist;
einem Speicherungsvorrichtungsspeichertestmodul (504), um einen Speichertest hinsichtlich der Speichervorrichtung durchzuführen und an das Aktualisierungs- Fehlerkorrekturcodezuweisungsmodul zu berichten, so daß eine Entscheidung, um einen aktualisierten Fehlerkorrekturcode zuzuweisen, durchgeführt werden kann;
einem Fehlerverfolgungs-, Aufzeichnungs- und Analysemodul (602), um Informationen über Fehler, die durch die Speichervorrichtung (201) gemacht werden, an das Aktualisierungs-Fehlerkorrekturcodezuweisungsmodul zu berichten, so daß eine Entscheidung, um einen aktualisierten Fehlerkorrekturcode zuzuweisen, durchgeführt werden kann;
einem Alter- und Verwendungsverfolgungsmodul (606), um Informationen über das Alter und den Verwendungspegel der Speichervorrichtung (201) an das Aktualisierungs- Fehlerkorrekturcodezuweisungsmodul zu berichten, so daß eine Entscheidung, um einen aktualisierten Fehlerkorrekturcode zuzuweisen, durchgeführt werden kann; und
einem Anwendungsverfolgungsmodul, um Veränderungen der Anwendung, in der das Speichermodul (201) verwendet wird, an das Aktualisierungs-Fehlerkorrekturcodezuweisungsmodul zu berichten, so daß eine Entscheidung, um einen aktualisierten Fehlerkorrekturcode zuzuweisen, durchgeführt werden kann.
21. Computerlesbares Medium, das auf demselben
computerausführbare Instruktionen aufweist, die, wenn sie
ausgeführt werden, folgende Schritte durchführen:
Zuordnen (708) eines anfänglichen Fehlerkorrekturcodes zu einer Redundanz (204), die in einer Datenspeicherungsvorrichtung (201) definiert ist;
Zuordnen (722) eines aktualisierten Fehlerkorrekturcodes zu der Redundanz ansprechend auf eine Veränderung einer Fehlerrate, die der Datenspeicherungsvorrichtung (201) zugeordnet ist; und
Bewegen eines Teilers (206), der zwischen der Redundanz und einer Nutzlast (202) in der Datenspeicherungsvorrichtung definiert ist, um einen Raum zu schaffen, der durch Redundanzdaten, die dem aktualisierten Fehlerkorrekturcode zugeordnet sind, benötigt wird.
Zuordnen (708) eines anfänglichen Fehlerkorrekturcodes zu einer Redundanz (204), die in einer Datenspeicherungsvorrichtung (201) definiert ist;
Zuordnen (722) eines aktualisierten Fehlerkorrekturcodes zu der Redundanz ansprechend auf eine Veränderung einer Fehlerrate, die der Datenspeicherungsvorrichtung (201) zugeordnet ist; und
Bewegen eines Teilers (206), der zwischen der Redundanz und einer Nutzlast (202) in der Datenspeicherungsvorrichtung definiert ist, um einen Raum zu schaffen, der durch Redundanzdaten, die dem aktualisierten Fehlerkorrekturcode zugeordnet sind, benötigt wird.
22. Computerlesbares Medium, das auf demselben
computerausführbare Instruktionen aufweist, die, wenn sie
ausgeführt werden, folgende Schritte durchführen:
Überwachen einer Fehlerrate einer Speicherungsvorrichtung (201); und
dynamisches Verändern eines Verhältnisses einer Redundanz zu einer Nutzlast, um einen Redundanzpegel zu liefern, der geeignet für die Fehlerrate ist.
Überwachen einer Fehlerrate einer Speicherungsvorrichtung (201); und
dynamisches Verändern eines Verhältnisses einer Redundanz zu einer Nutzlast, um einen Redundanzpegel zu liefern, der geeignet für die Fehlerrate ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/931,776 US6961890B2 (en) | 2001-08-16 | 2001-08-16 | Dynamic variable-length error correction code |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10233648A1 true DE10233648A1 (de) | 2003-03-06 |
Family
ID=25461330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10233648A Withdrawn DE10233648A1 (de) | 2001-08-16 | 2002-07-24 | Dynamischer Fehlerkorrekturcode mit variabler Länge |
Country Status (3)
Country | Link |
---|---|
US (1) | US6961890B2 (de) |
JP (1) | JP2003131954A (de) |
DE (1) | DE10233648A1 (de) |
Families Citing this family (215)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US7068729B2 (en) * | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US6725393B1 (en) * | 2000-11-06 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | System, machine, and method for maintenance of mirrored datasets through surrogate writes during storage-area network transients |
US9240810B2 (en) * | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
EP2355360B1 (de) | 2002-10-05 | 2020-08-05 | QUALCOMM Incorporated | Systematische kodierung und dekodierung von kettenreaktionskoden |
US20040083334A1 (en) * | 2002-10-28 | 2004-04-29 | Sandisk Corporation | Method and apparatus for managing the integrity of data in non-volatile memory system |
US8412879B2 (en) * | 2002-10-28 | 2013-04-02 | Sandisk Technologies Inc. | Hybrid implementation for error correction codes within a non-volatile memory system |
US7559004B1 (en) | 2003-10-01 | 2009-07-07 | Sandisk Corporation | Dynamic redundant area configuration in a non-volatile memory system |
CN101834610B (zh) | 2003-10-06 | 2013-01-30 | 数字方敦股份有限公司 | 通过通信信道接收从源发射的数据的方法和装置 |
US7325157B2 (en) * | 2003-11-03 | 2008-01-29 | Samsung Electronics Co., Ltd | Magnetic memory devices having selective error encoding capability based on fault probabilities |
US7865809B1 (en) | 2004-03-11 | 2011-01-04 | Super Talent Electronics, Inc. | Data error detection and correction in non-volatile memory devices |
US7210077B2 (en) * | 2004-01-29 | 2007-04-24 | Hewlett-Packard Development Company, L.P. | System and method for configuring a solid-state storage device with error correction coding |
JP4971144B2 (ja) | 2004-05-07 | 2012-07-11 | デジタル ファウンテン, インコーポレイテッド | ファイルダウンロードおよびストリーミングのシステム |
EP1776699A1 (de) * | 2004-08-02 | 2007-04-25 | Koninklijke Philips Electronics N.V. | Datenspeicher und wiedergabegerät |
FR2875352B1 (fr) * | 2004-09-10 | 2007-05-11 | St Microelectronics Sa | Procede de detection et de correction d'erreurs pour une memoire et circuit integre correspondant |
DE102005005631B4 (de) | 2005-02-08 | 2022-08-11 | Marcus Janke | Speicheranordnung |
ITMI20050780A1 (it) * | 2005-04-29 | 2006-10-30 | St Microelectronics Srl | Metodo di memorizzazione di un array di celle di memoria non-volatile con codice di correzione di errore e relativo dispositivo |
JP4936271B2 (ja) * | 2006-01-20 | 2012-05-23 | 株式会社メガチップス | 半導体記憶装置 |
CN101686107B (zh) | 2006-02-13 | 2014-08-13 | 数字方敦股份有限公司 | 使用可变fec开销和保护周期的流送和缓冲 |
US9270414B2 (en) * | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
US7810017B2 (en) * | 2006-03-20 | 2010-10-05 | Micron Technology, Inc. | Variable sector-count ECC |
US7685494B1 (en) | 2006-05-08 | 2010-03-23 | Marvell International, Ltd. | Error correction coding for varying signal-to-noise ratio channels |
US8209580B1 (en) * | 2006-05-08 | 2012-06-26 | Marvell International Ltd. | Error correction coding for varying signal-to-noise ratio channels |
US7971129B2 (en) * | 2006-05-10 | 2011-06-28 | Digital Fountain, Inc. | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems |
JP5183625B2 (ja) * | 2006-05-12 | 2013-04-17 | アップル インコーポレイテッド | 適応能力を有するメモリ素子 |
US20070279781A1 (en) * | 2006-05-31 | 2007-12-06 | Toshiba America Information Systems, Inc. | Channel training method and apparatus |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9178535B2 (en) * | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US20100211690A1 (en) * | 2009-02-13 | 2010-08-19 | Digital Fountain, Inc. | Block partitioning for a data stream |
US9386064B2 (en) * | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US8024639B2 (en) * | 2006-06-23 | 2011-09-20 | Schweitzer Engineering Laboratories, Inc. | Software and methods to detect and correct data structure |
US7739576B2 (en) * | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
US7958433B1 (en) | 2006-11-30 | 2011-06-07 | Marvell International Ltd. | Methods and systems for storing data in memory using zoning |
US8015473B2 (en) | 2006-12-19 | 2011-09-06 | Intel Corporation | Method, system, and apparatus for ECC protection of small data structures |
US8122323B2 (en) * | 2007-03-08 | 2012-02-21 | Intel Corporation | Method, apparatus, and system for dynamic ECC code rate adjustment |
US7958301B2 (en) * | 2007-04-10 | 2011-06-07 | Marvell World Trade Ltd. | Memory controller and method for memory pages with dynamically configurable bits per cell |
US20080288712A1 (en) * | 2007-04-25 | 2008-11-20 | Cornwell Michael J | Accessing metadata with an external host |
US8095851B2 (en) | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
AU2008298602A1 (en) * | 2007-09-12 | 2009-03-19 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
WO2009037697A2 (en) | 2007-09-20 | 2009-03-26 | Densbits Technologies Ltd. | Improved systems and methods for determining logical values of coupled flash memory cells |
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
WO2009053961A2 (en) * | 2007-10-25 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
US20090125790A1 (en) * | 2007-11-13 | 2009-05-14 | Mcm Portfolio Llc | Method and Apparatus of Automatically Selecting Error Correction Algorithms by a NAND Flash Controller |
US8429492B2 (en) * | 2007-11-30 | 2013-04-23 | Marvell World Trade Ltd. | Error correcting code predication system and method |
US8453022B2 (en) | 2007-12-05 | 2013-05-28 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
US8335977B2 (en) | 2007-12-05 | 2012-12-18 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells |
US8607128B2 (en) | 2007-12-05 | 2013-12-10 | Densbits Technologies Ltd. | Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications |
US8276051B2 (en) | 2007-12-12 | 2012-09-25 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
WO2009074978A2 (en) | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
WO2009078006A2 (en) | 2007-12-18 | 2009-06-25 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
KR101497073B1 (ko) * | 2008-02-29 | 2015-03-02 | 삼성전자주식회사 | 메모리 셀에 저장되는 데이터의 비트 수를 결정하는 장치 |
US8972472B2 (en) | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
US8386868B2 (en) | 2008-04-16 | 2013-02-26 | Sandisk Il, Ltd. | Using programming-time information to support error correction |
US8321757B2 (en) * | 2008-06-22 | 2012-11-27 | Sandisk Il Ltd. | Method and apparatus for error correction |
US8332725B2 (en) | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
US8949684B1 (en) * | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8804821B2 (en) * | 2008-09-26 | 2014-08-12 | Microsoft Corporation | Adaptive video processing of an interactive environment |
US8243117B2 (en) * | 2008-09-26 | 2012-08-14 | Microsoft Corporation | Processing aspects of a video scene |
KR20100050789A (ko) * | 2008-11-06 | 2010-05-14 | 삼성전자주식회사 | 메모리 장치 및 그것을 포함하는 메모리 시스템 |
TWI396202B (zh) * | 2008-11-14 | 2013-05-11 | Phison Electronics Corp | 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法 |
US8473815B2 (en) * | 2008-12-22 | 2013-06-25 | Industrial Technology Research Institute | Methods and systems of a flash memory controller and an error correction code (ECC) controller using variable-length segmented ECC data |
US8555143B2 (en) * | 2008-12-22 | 2013-10-08 | Industrial Technology Research Institute | Flash memory controller and the method thereof |
US8341496B2 (en) * | 2009-02-06 | 2012-12-25 | Microsoft Corporation | Redundant data in storage medium |
US9281847B2 (en) * | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
KR20100104623A (ko) * | 2009-03-18 | 2010-09-29 | 삼성전자주식회사 | 데이터 처리 시스템 및 그것의 부호율 제어 스킴 |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8321775B2 (en) * | 2009-04-21 | 2012-11-27 | Micron Technology, Inc. | Non-volatile memory with extended error correction protection |
US8341501B2 (en) | 2009-04-30 | 2012-12-25 | International Business Machines Corporation | Adaptive endurance coding of non-volatile memories |
CN101882472A (zh) * | 2009-05-05 | 2010-11-10 | 建兴电子科技股份有限公司 | 具可变动错误校正码机制的快闪储存装置及其控制方法 |
FR2945393B1 (fr) * | 2009-05-07 | 2015-09-25 | Commissariat Energie Atomique | Procede de protection de circuits electroniques, dispositif et systeme mettant en oeuvre le procede |
US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
US8321727B2 (en) * | 2009-06-29 | 2012-11-27 | Sandisk Technologies Inc. | System and method responsive to a rate of change of a performance parameter of a memory |
JP5668279B2 (ja) * | 2009-08-06 | 2015-02-12 | ソニー株式会社 | 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム |
EP2299362A3 (de) * | 2009-08-18 | 2011-05-04 | ViaSat, Inc. | Vorwärtsfehlerkorrektur für Speicher |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
US8868821B2 (en) | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8305812B2 (en) | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US20110096828A1 (en) * | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US20110072333A1 (en) * | 2009-09-24 | 2011-03-24 | Innostor Technology Corporation | Control method for flash memory based on variable length ecc |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US8626988B2 (en) | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
US8176235B2 (en) | 2009-12-04 | 2012-05-08 | International Business Machines Corporation | Non-volatile memories with enhanced write performance and endurance |
US8176234B2 (en) | 2009-12-04 | 2012-05-08 | International Business Machines Corporation | Multi-write coding of non-volatile memories |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8533564B2 (en) * | 2009-12-23 | 2013-09-10 | Sandisk Technologies Inc. | System and method of error correction of control data at a memory device |
US8607124B2 (en) | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
US8327226B2 (en) * | 2010-02-03 | 2012-12-04 | Seagate Technology Llc | Adjustable error correction code length in an electrical storage device |
US8341502B2 (en) | 2010-02-28 | 2012-12-25 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US8516274B2 (en) | 2010-04-06 | 2013-08-20 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US20110252289A1 (en) * | 2010-04-08 | 2011-10-13 | Seagate Technology Llc | Adjusting storage device parameters based on reliability sensing |
US9183134B2 (en) | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
US8799747B2 (en) * | 2010-06-03 | 2014-08-05 | Seagate Technology Llc | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory |
US8533550B2 (en) * | 2010-06-29 | 2013-09-10 | Intel Corporation | Method and system to improve the performance and/or reliability of a solid-state drive |
US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US8510639B2 (en) | 2010-07-01 | 2013-08-13 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US20120008414A1 (en) | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US9319448B2 (en) | 2010-08-10 | 2016-04-19 | Qualcomm Incorporated | Trick modes for network streaming of coded multimedia data |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US8775868B2 (en) * | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US9229808B2 (en) * | 2010-10-01 | 2016-01-05 | Pure Storage, Inc. | Reconstruct reads in a raid array with dynamic geometries |
US8769374B2 (en) | 2010-10-13 | 2014-07-01 | International Business Machines Corporation | Multi-write endurance and error control coding of non-volatile memories |
CN103329103B (zh) * | 2010-10-27 | 2017-04-05 | 希捷科技有限公司 | 使用用于基于闪存的数据存储的自适应ecc技术的方法和设备 |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
JP5980798B2 (ja) | 2010-12-01 | 2016-08-31 | シーゲイト テクノロジー エルエルシーSeagate Technology LLC | 独立したシリコン素子の動的な上位レベルの冗長モード管理 |
JP5720210B2 (ja) * | 2010-12-02 | 2015-05-20 | 富士通株式会社 | アクセス制御装置、誤り訂正制御方法およびストレージ装置 |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
CN102081970B (zh) * | 2010-12-31 | 2012-12-19 | 成都市华为赛门铁克科技有限公司 | 纠错处理的方法、装置及固态硬盘设备 |
TW201241615A (en) | 2011-01-18 | 2012-10-16 | Lsi Corp | Higher-level redundancy information computation |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8595597B2 (en) | 2011-03-03 | 2013-11-26 | Intel Corporation | Adjustable programming speed for NAND memory devices |
US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
US8572466B2 (en) * | 2011-06-06 | 2013-10-29 | Micron Technology, Inc. | Apparatuses, systems, devices, and methods of replacing at least partially non-functional portions of memory |
JP5764392B2 (ja) * | 2011-06-13 | 2015-08-19 | 株式会社メガチップス | メモリコントローラ |
US8719648B2 (en) | 2011-07-27 | 2014-05-06 | International Business Machines Corporation | Interleaving of memory repair data compression and fuse programming operations in single fusebay architecture |
US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
US8467260B2 (en) | 2011-08-05 | 2013-06-18 | International Business Machines Corporation | Structure and method for storing multiple repair pass data into a fusebay |
US8484543B2 (en) | 2011-08-08 | 2013-07-09 | International Business Machines Corporation | Fusebay controller structure, system, and method |
US8902653B2 (en) * | 2011-08-12 | 2014-12-02 | Micron Technology, Inc. | Memory devices and configuration methods for a memory device |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US8537627B2 (en) | 2011-09-01 | 2013-09-17 | International Business Machines Corporation | Determining fusebay storage element usage |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
US9189329B1 (en) * | 2011-10-13 | 2015-11-17 | Marvell International Ltd. | Generating error correcting code (ECC) data using an ECC corresponding to an identified ECC protection level |
US8959417B2 (en) | 2011-11-23 | 2015-02-17 | Marvell World Trade Ltd. | Providing low-latency error correcting code capability for memory |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
TW201337936A (zh) * | 2012-03-06 | 2013-09-16 | Innodisk Corp | 可提升資料校正能力之快閃記憶體裝置 |
US8862967B2 (en) * | 2012-03-15 | 2014-10-14 | Sandisk Technologies Inc. | Statistical distribution based variable-bit error correction coding |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8898545B2 (en) * | 2012-05-18 | 2014-11-25 | Hitachi, Ltd. | Semiconductor storage device and control method of nonvolatile memory |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US8910017B2 (en) | 2012-07-02 | 2014-12-09 | Sandisk Technologies Inc. | Flash memory with random partition |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
CN102969028A (zh) * | 2012-10-18 | 2013-03-13 | 记忆科技(深圳)有限公司 | 一种ecc动态调整方法、系统及闪存 |
KR102002925B1 (ko) | 2012-11-01 | 2019-07-23 | 삼성전자주식회사 | 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법 |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US9009562B2 (en) | 2013-01-30 | 2015-04-14 | Hewlett-Packard Development Company, L.P. | Providing memory protection using a modified error correction code |
US8918700B2 (en) * | 2013-02-11 | 2014-12-23 | Arm Limited | Apparatus and method for controlling access to a memory device |
US9235468B2 (en) * | 2013-04-12 | 2016-01-12 | Qualcomm Incorporated | Systems and methods to improve the reliability and lifespan of flash memory |
CN103218271B (zh) * | 2013-04-18 | 2015-09-09 | 华为技术有限公司 | 一种数据纠错方法及装置 |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9152488B2 (en) * | 2013-06-25 | 2015-10-06 | Sandisk Technologies Inc. | Storage module and low-complexity methods for assessing the health of a flash memory device |
US9312886B2 (en) | 2013-09-20 | 2016-04-12 | Seagate Technology Llc | Storage device with multiple coding redundancies |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
JP5733766B2 (ja) * | 2013-11-07 | 2015-06-10 | 国立大学法人 東京大学 | データ入出力制御装置および半導体記憶装置システム |
US9280413B2 (en) * | 2013-12-12 | 2016-03-08 | Talkatone, Llc | Redundant encoding |
US9282133B2 (en) | 2013-12-12 | 2016-03-08 | Ooma, Inc. | Communicating control information within a real-time stream |
US20170269841A1 (en) * | 2013-12-20 | 2017-09-21 | Empire Technology Development Llc | Data storage in degraded solid state memory |
KR102157286B1 (ko) | 2013-12-27 | 2020-09-17 | 삼성전자주식회사 | 무선 통신 시스템에서 전송률을 제어하기 위한 방법 및 장치 |
US8874835B1 (en) | 2014-01-16 | 2014-10-28 | Pure Storage, Inc. | Data placement based on data properties in a tiered storage device system |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9685242B2 (en) | 2014-03-11 | 2017-06-20 | Kabushiki Kaisha Toshiba | Memory system |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9575846B2 (en) | 2014-07-24 | 2017-02-21 | At&T Intellectual Property I, L.P. | Distributed storage of data |
US9766972B2 (en) | 2014-08-07 | 2017-09-19 | Pure Storage, Inc. | Masking defective bits in a storage array |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US10983859B2 (en) * | 2014-08-07 | 2021-04-20 | Pure Storage, Inc. | Adjustable error correction based on memory health in a storage unit |
US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US9513990B2 (en) | 2014-09-23 | 2016-12-06 | Empire Technology Development Llc | Memory controller with read unit length module |
WO2016051599A1 (ja) * | 2014-10-03 | 2016-04-07 | 株式会社日立製作所 | メモリコントローラ及びデータ制御方法 |
US10229055B2 (en) * | 2014-10-29 | 2019-03-12 | Seagate Technology Llc | Adaptive spanning control |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
US20160299812A1 (en) * | 2015-04-08 | 2016-10-13 | Sandisk Enterprise Ip Llc | Device-Specific Variable Error Correction |
US9768808B2 (en) | 2015-04-08 | 2017-09-19 | Sandisk Technologies Llc | Method for modifying device-specific variable error correction settings |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
JP6158265B2 (ja) * | 2015-09-16 | 2017-07-05 | 株式会社東芝 | キャッシュメモリシステム |
US10063261B1 (en) * | 2015-10-13 | 2018-08-28 | Sorenson Ip Holdings Llc | Communication endpoints and related methods for forward error correction of packetized data |
TWI569279B (zh) | 2015-10-15 | 2017-02-01 | 財團法人工業技術研究院 | 記憶體保護裝置與方法 |
KR20170045803A (ko) * | 2015-10-20 | 2017-04-28 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US9747158B1 (en) | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US10346232B2 (en) | 2017-08-16 | 2019-07-09 | Western Digital Technologies, Inc. | Non-volatile storage with failure prediction |
KR20190052754A (ko) * | 2017-11-09 | 2019-05-17 | 삼성전자주식회사 | 적응적 온-다이 에러 체크 및 정정을 위한 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
US20190243566A1 (en) * | 2018-02-05 | 2019-08-08 | Infineon Technologies Ag | Memory controller, memory system, and method of using a memory device |
US10897273B2 (en) | 2018-06-27 | 2021-01-19 | Western Digital Technologies, Inc. | System-level error correction coding allocation based on device population data integrity sharing |
US10802908B2 (en) | 2018-07-31 | 2020-10-13 | Western Digital Technologies, Inc. | Data dependent allocation of error correction resources |
US11042432B1 (en) * | 2019-12-20 | 2021-06-22 | Western Digital Technologies, Inc. | Data storage device with dynamic stripe length manager |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1235189A (en) * | 1985-01-14 | 1988-04-12 | Haruhiko Akiyama | Error correction encoding system |
US5912907A (en) * | 1993-11-22 | 1999-06-15 | Thomson Consumer Electronics, Inc. | Satellite receiver code rate switching apparatus |
US5600663A (en) * | 1994-11-16 | 1997-02-04 | Lucent Technologies Inc. | Adaptive forward error correction system |
KR0153938B1 (ko) * | 1995-12-21 | 1998-11-16 | 양승택 | 에이티엠 계층 수신 운용 및 유지 보수 셀 처리 장치 |
US5699365A (en) * | 1996-03-27 | 1997-12-16 | Motorola, Inc. | Apparatus and method for adaptive forward error correction in data communications |
US6477669B1 (en) * | 1997-07-15 | 2002-11-05 | Comsat Corporation | Method and apparatus for adaptive control of forward error correction codes |
US6651213B2 (en) * | 2001-03-19 | 2003-11-18 | International Business Machines Corporation | Programmable multi-level track layout method and system for optimizing ECC redundancy in data storage devices |
-
2001
- 2001-08-16 US US09/931,776 patent/US6961890B2/en not_active Expired - Lifetime
-
2002
- 2002-07-24 DE DE10233648A patent/DE10233648A1/de not_active Withdrawn
- 2002-08-02 JP JP2002226457A patent/JP2003131954A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US6961890B2 (en) | 2005-11-01 |
US20030037299A1 (en) | 2003-02-20 |
JP2003131954A (ja) | 2003-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10233648A1 (de) | Dynamischer Fehlerkorrekturcode mit variabler Länge | |
DE602004011097T2 (de) | Flash-speicherdatenkorrektur- und scrub-techniken | |
DE2806024C2 (de) | ||
DE69729771T2 (de) | Integrierte Schaltung mit einer eingebauten Selbsttestanordnung | |
DE102006038033A1 (de) | Speicherarray-Architektur und Verfahren zum schnellen Messen von einer Verteilung | |
DE19722414B4 (de) | Verfahren und Vorrichtung zum Testen eines Halbleiterspeichers | |
CN108682442A (zh) | 一种不同封装闪存芯片在线测试和分类方法及测试系统 | |
DE2722124A1 (de) | Anordnung zum feststellen des prioritaetsranges in einem dv-system | |
DE10342275A1 (de) | System und Verfahren zum Testen eines oder mehrerer Halbleiterstücke auf einem Halbleiterwafer | |
DE112021002268T5 (de) | Neuronales Regressionsnetzwerk zum Identifizieren von Schwellenspannungen, die beim Lesen von Flash-Speichervorrichtungen zu verwenden sind | |
DE102006036070A1 (de) | Ladungsfallenspeichervorrichtung und Verfahren für deren Herstellung und Betrieb | |
DE19680641C2 (de) | Fehlerspeicher-Analysiervorrichtung in einem Halbleiterspeichertestsystem | |
DE10250875B4 (de) | Vorrichtung und Verfahren zum Konfigurieren einer integrierten Schaltung mit eingebettetem Speicher | |
DE10319702A1 (de) | Verfahren zur Berechnung eines Halbleiterausbeuteverlustes | |
DE102015105414B4 (de) | Bearbeiten eines Zielspeichers | |
DE112005001496T5 (de) | Prüfvorrichtung und Prüfverfahren | |
DE112021007027T5 (de) | Verfahren und vorrichtung zum durchführen eines lesevorgangs von einem flash-speicher unter verwendung vorhergesagter retentions- und lesestörungs- kompensierter schwellenspannungsverschiebungs-versatzwerte | |
DE112018000884T5 (de) | Verfahren und system zur verarbeitung und analyse von nutzererlebnisereignissen | |
DE19841005B4 (de) | Halbleiterplattenlaufwerk und Verfahren zum Erzeugen einer physikalisch/logischen Adressenumsetzungstabelle | |
DE112020003062T5 (de) | Dynamische anpassung einer logischen speicherkapazität für speicherlaufwerke | |
DE112006002519T5 (de) | Prüfvorrichtung, Prüfverfahren, Analysevorrichtung und -programm | |
DE19959779A1 (de) | Vorrichtung zum Erhalten von Fehlverhaltensinformationen sowie diese verwendende Halbleiterspeicher-Prüfvorrichtung | |
DE19952357A1 (de) | Schreibvorrichtung für eine nicht-flüchtige Halbleiter-Speichervorrichtung | |
EP1665287B1 (de) | Verwaltung defekter bl cke in flash-speichern | |
DE102007041691A1 (de) | Datenträgermigrationsprogramm, -verfahren, und -system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8139 | Disposal/non-payment of the annual fee |