![]() Speicher mit Referenz-eingeleitetem sequentiellen Lesen
专利摘要:
Hierinoffenbart sind Systeme und Vorrichtungen, die Speicher mit einemReferenz-eingeleiteten sequentiellen Lesen aufweisen. Bei einemAusführungsbeispielweist ein Referenz-eingeleitetes sequentielles Leseverfahren folgendeSchritte auf: Bilden einer ersten Attribut-Messung, die einem gespeichertenDatenwert in einem ersten Speicherelement zugeordnet ist; Verwenden desersten Speicherelements, um eine Entscheidungsschwelle zu bestimmen;Vergleichen der ersten Attribut-Messung mit der Entscheidungsschwelle,um den gespeicherten Datenwert in dem ersten Speicherelement zu bestimmen;Bilden einer nachfolgenden Attribut-Messung, die einem gespeichertenDatenwert in einem nachfolgenden Speicherelement zugeordnet ist;und Vergleichen des nachfolgenden Attributwerts mit der Entscheidungsschwelle,um einen Datenwert, der in dem nachfolgenden Speicherelement gespeichertist, zu bestimmen. 公开号:DE102004019675A1 申请号:DE102004019675 申请日:2004-04-22 公开日:2005-04-07 发明作者:Anthony Holden;Frederick A. Palo Alto Perner 申请人:Hewlett Packard Development Co LP; IPC主号:G11C11-15
专利说明:
[0001] Vielesich entwickelnde Technologien wurden aufgegriffen, da sie die Zugänglichkeitzu Informationen erhöhen.Beispiele derartiger Technologien umfassen Mikrofilm, Magnetbänder, magnetische Plattenmedien,optische Plattenmedien und integrierte Speicher. Insbesondere integrierteSpeicher bieten ein hohes Maß anZugänglichkeit. [0002] IntegrierteSpeicher sind elektrische Schaltungen, die konfiguriert sind, umInformationen in digitaler Form zu speichern. Diese Informationenoder „Daten" sind ohne weiteresfür jededigitale Vorrichtung zugänglich,die passend mit dem integrierten Speicher gekoppelt ist. Abhängig vonder bestimmten verwendeten Technologie kann mit wahrhaft bemerkenswertenRaten auf Daten zugegriffen werden. [0003] IntegrierteSpeicher werden oft als flüchtig odernichtflüchtigklassifiziert. Flüchtigeintegrierte Speicher erleiden in Abwesenheit einer elektrischen Leistungeinen Verlust gespeicherter Daten, wobei dieser Nachteil durch Vorteilebei Informationsdichte und Zugriffsraten ausgeglichen werden kann. Nicht-flüchtige Speicherbehalten ihre gespeicherten Informationen in Abwesenheit einer elektrischenLeitung, leiden jedoch an einer reduzierten Informationsdichte,einer reduzierten Zugriffsrate und/oder einem Mangel an Programmierbarkeit. [0004] Einmagnetischer Direktzugriffsspeicher (MRAM) bietet Programmierbarkeit,Nichtflüchtigkeit, hoheInformationsdichte und eine moderate Zugriffsrate. MRAMs, wie dieserAusdruck hierin verwendet wird, sind integrierte Speicher, die Magnetfelderzur Speicherung von Daten verwenden. Diese Magnetfelder können inMagnetmaterialien eingebettet sein, die nicht auf dem fortwährendenVorliegen einer elektri schen Leistung zur Bewahrung der Magnetfelder beruhen.Eine Vielzahl von Lesetechniken bzw. Erfassungstechniken kann verwendetwerden, um Magnetfelder in diesen Speichern zu erfassen und die Daten,die diese Felder darstellen, zu bestimmen. [0005] Beieinem Typ von MRAM werden Daten in einem Array von Speicherelementengespeichert. Jedes der Speicherelemente kann zwei magnetische Schichtenumfassen, die durch eine isolierende Schicht getrennt sind. Diemagnetischen Ausrichtungen der beiden Schichten können ausgerichtet(„parallel") oder entgegengesetzt(„anti-parallel") sein. Diese paralleleund anti-parallele Bedingung kann bewirken, daß das Speicherelement unterschiedliche elektrischeWiderstandswerte aufweist. Die beiden Widerstandswerte können digitalenWerten (z. B. 0 und 1) zugeordnet sein, was es ermöglicht,daß jedes Speicherelementeine binäreZiffer („Bit") an Informationenspeichern kann. Das gespeicherte Bit kann durch ein Messen des Widerstandswertsdes Speicherelements, z. B. durch ein Messen einer elektrischenSpannung oder eines Stroms, wenn eine elektrische Energie an dasSpeicherelement geliefert wird, erfaßt werden. [0006] AlsTeil des Herstellungsprozeß können sich Variationeninnerhalb eines Arrays von Speicherelementen entwickeln. Folglichkönnenunterschiedliche Speicherelemente unter Umständen unterschiedliche Widerstandswerteaufweisen, wenn sie einen bestimmten digitalen Wert darstellen.Die Variation kann ausreichend sein, um die Verwendung eines Standardschwellenwerteszur Unterscheidung zwischen digitalen Werten zu verhindern. Wennz. B. in jedem Speicherelement der einer digitalen 0 zugeordneteWiderstandswert höherals der einer digitalen 1 zugeordnete Widerstandswert ist, kannjede Verarbeitungsvariation, die den Widerstandswert einiger derSpeicherelemente wesentlich erhöht,bewirken, daß diedigitalen Einsen fälschlicherweiseals Nullen aufgefaßtwerden, wenn ein niedriger Schwellenwert verwendet wird. Umgekehrtwerden, wenn ein höhererSchwellenwert verwendet wird, die digitalen Nullen in den anderenSpeicherzellen eventuell als Einsen mißverstanden. Das Vorliegeneines elektrischen Rauschens in dem integrierten Speicher verschärft diesesProblem nur noch. [0007] Sosind verbesserte Verfahren zum Erfassen von in MRAM-Zellen gespeichertenDaten wünschenswert. [0008] Esist die Aufgabe der vorliegenden Erfindung, ein Referenz-eingeleitetessequentielles Leseverfahren, einen Speicher oder eine digitale Vorrichtungmit verbesserten Charakteristika zu schaffen. [0009] DieseAufgabe wird durch ein Verfahren gemäß Anspruch 1 oder 21, einenSpeicher gemäß Anspruch9 oder eine digitale Vorrichtung gemäß Anspruch 17 gelöst. [0010] Folglichsind hierin Systeme und Vorrichtungen offenbart, die Speicher miteinem Referenz-eingeleiteten sequentiellen Lesen bzw. Erfassen aufweisen.Bei einem Ausführungsbeispielweist ein Referenz-eingeleitetes sequentielles Leseverfahren folgendeSchritte auf: Bilden einer ersten Attribut-Messung, die einem gespeichertenDatenwert in einem ersten Speicherelement zugeordnet ist; Verwenden desersten Speicherelements, um eine Entscheidungsschwelle zu bestimmen;Vergleichen der ersten Attribut-Messung mit der Entscheidungsschwelle, umden gespeicherten Datenwert in dem ersten Speicherelement zu bestimmen;Bilden einer nachfolgenden Attribut-Messung, die einem gespeichertenDatenwert in einem nachfolgenden Speicherelement zugeordnet ist;und Vergleichen des nachfolgenden Attribut-Werts mit der Entscheidungsschwelle,um einen in dem nachfolgenden Speicherelement gespeicherten Datenwertzu bestimmen. [0011] BevorzugteAusführungsbeispieleder vorliegenden Erfindung werden nachfolgend Bezug nehmend aufdie beigefügtenZeichnungen nähererläutert.Es zeigen: [0012] 1 eine Außenansichteines beispielhaften digitalen Systems, das einen Speicher gemäß verschiedenenoffenbarten Ausführungsbeispielen aufweist; [0013] 2 ein Blockdiagramm desdigitalen Systems aus 1; [0014] 3 ein Funktionsblockdiagrammeines Speicher-Ausführungsbeispielsauf hoher Ebene; [0015] 4 ein detaillierteres Funktionsblockdiagrammeines Speicher-Ausführungsbeispiels;und [0016] 5 und 6 exemplarische Flußdiagramme gemäß verschiedenenoffenbarten Ausführungsbeispielen. [0017] BestimmteAusdrückewerden in der gesamten folgenden Beschreibung und den Ansprüche verwendet,um sich auf bestimmte Systemkomponenten zu beziehen. Wie dies für Fachleuteauf diesem Gebiet ersichtlich ist, können unterschiedliche Unternehmenmit unterschiedlichen Namen auf eine Komponente Bezug nehmen. DiesesDokument möchte nichtzwischen Komponenten unterscheiden, die in bezug auf den Namen,jedoch nicht die Funktion unterschiedlich sind. In der folgendenBeschreibung und in den Ansprüchenwerden die Ausdrücke „umfassen" und „aufweisen" auf eine offeneArt und Weise verwendet und sollten so interpretiert werden, um „umfassen,jedoch nicht ausschließlich..." zu bedeuten.Ebenso ist der Ausdruck „koppeln" oder „gekoppelt" beabsichtigt, umentweder eine indirekte oder eine direkte elektrische Verbindungzu bedeuten. So kann, wenn eine erste Vorrichtung mit einer zweiten Vorrichtunggekoppelt ist, diese Verbindung durch eine direkte elektrische Verbindungoder durch eine indirekte elektrische Verbindung über weitereVorrichtungen und Verbindungen sein. [0018] 1 zeigt einen Tischcomputerals eine exemplarische digitale Vorrichtung 100. Um miteinem Benutzer in Wechselwirkung zu stehen, kann die digitale Vorrichtung 100 miteiner Text- oder Graphikanzeige 102 und einer Eingabevorrichtung 104 gekoppeltsein. Die Anzeige 102 und die Eingabevorrichtung 104 können zusammenals eine Schnittstelle zwischen dem Benutzer und der digitalen Vorrichtung 100 arbeiten.Dies bedeutet, daß diedigitale Vorrichtung 100 bestimmte Aktionen durchführen kann,die durch eine Benutzerbetätigungder Eingabevorrichtung 104 angefordert werden, und demBenutzer überdie Anzeige 102 eine Antwort liefern kann. Die digitaleVorrichtung 100 kann einen integrierten Speicher mit Computerinstruktionenbeinhalten, die die geeigneten Aktionen und/oder Antworten an denBenutzer bestimmen. Obwohl die digitale Vorrichtung 100 alsein Tischcomputer gezeigt ist, kommen alle weiteren digitalen Vorrichtungen,die einen oder mehrere integrierte Speicher beinhalten, in Betracht, einschließlich z.B. (jedoch nicht ausschließlich)Digitalkameras, Personaldigitalassistenten, Mobiltelephonen, digitalenMusikabspielgeräten,digitalen Multimediensystemen und digitalen Systemsteuerungen. [0019] 2 zeigt ein Beispiels einesBlockdiagramms fürdie digitale Vorrichtung 100. Die Vorrichtung 100 kanneine zentrale Verarbeitungseinheit (CPU) 202 umfassen,die durch eine Brücke 204 mit einemSystemspeicher 206 gekoppelt ist. Die CPU 202 kannauch durch die Brücke 204 miteiner Videokarte 203 gekoppelt sein, die wiederum mit derAnzeige 102 gekoppelt ist. Die CPU 202 kann ferner durchdie Brücke 204 miteinem Erweiterungsbus 208 gekoppelt sein. Ebenso mit demErweiterungsbus 208 gekoppelt sein können eine Speichervorrichtung 210 undeine Eingangs/Ausgangs-Schnittstelle 212. Die Eingabevorrichtung 104 kann über dieEingangs/Ausgangs-Schnittstelle 212 mit der Vorrichtung 100 gekoppeltsein. [0020] DieCPU 202 kann gemäß einerSoftware arbeiten, die in dem Speicher 206 und/oder derSpeichervorrichtung 210 gespeichert ist. Unter der Anweisungder Software kann die CPU 202 Befehle von einem Bediener über eineTastatur oder eine alternative Eingabevorrichtung 104 annehmenund kann dem Bediener erwünschteInformationen überdie Anzeige 102 oder eine alternative Ausgabevorrichtunganzeigen. Die CPU 202 kann die Operationen weiterer Systemkomponentenzur Wiedergewinnung, Übertragungund Speicherung von Daten steuern. [0021] DieBrücke 204 koordiniertden Fluß vonDaten zwischen Komponenten. Die Brücke 204 kann zweckgebundenePunkt-zu-Punkt-Bussemit hoher Bandbreite fürdie CPU 202, den Speicher 206 und die Videokarte 203 bereitstellen.In digitalen Vorrichtungen, die keine Hochleistungsanforderungenaufweisen, kann die Brücke 204 weggelassenwerden und die Kommunikationen zwischen der CPU und allen anderenSystemkomponenten können über den Bus 208 auftreten. [0022] DerSpeicher 206 kann eine Software und Daten für einenschnellen Zugriff speichern. Der Speicher 206 kann integrierteSpeichermodule umfassen, wobei eines oder mehrere derselben nicht flüchtig seinkönnen. [0023] DieVideokarte 203 kann eine kundenspezifische Verarbeitungfür Graphikenund eine Datenumwandlung aus einem speicherbasierten Format in ein Signalformatbereitstellen, das fürdie Anzeige 102 geeignet ist. Die Anzeige 102 kannDaten zur Verwendung durch einen Bediener bereitstellen. [0024] DerErweiterungsbus 208 kann Kommunikationen zwischen der Brücke 204 undmehreren weiteren Computerkomponenten unterstützen. Der Bus 208 kannmit der Brücke 204 mitaustauschbaren Modulkomponenten und/oder Komponenten gekoppelt sein,die auf einer Schaltungsplatine integriert sind (z. B. Audiokarten,Netzschnittstellen, Datenerfassungsmodulen, Modems). [0025] DieSpeichervorrichtung 210 kann Software und Daten zur Langzeitbewahrungspeichern. Die Speichervorrichtung 210 kann tragbar seinoder kann austauschbare Medien annehmen oder kann eine installierteKomponente sein oder kann eine integrierte Komponente auf der Schaltungsplatinesein. Die Speichervorrichtung 210 kann eine austauschbare Speichervorrichtung,wie z. B. eine Speicherkarte, sein. Alternativ kann die Speichervorrichtung 210 ein nicht-flüchtigerintegrierter Speicher, eine magnetische Medienspeichervorrichtung,eine optische Medienspeichervorrichtung oder eine bestimmte weitere Formvon Langzeitinformationsspeicher sein. [0026] DieEingangs/Ausgangs-Schnittstelle 212 kann Kommunikationenmit Vorläufer-Komponenten und-Vorrichtungen, die keine Verbindung mit hoher Bandbreite benötigen, unterstützen. DieEingangs/Ausgangs-Schnittstelle 212 kann ferner einen Echtzeittaktumfassen und kann Kommunikationen mit Abtastketten für ein Testendes Systems auf niedriger Ebene unterstützen. [0027] DieEingabevorrichtung 104 kann Daten an die Schnittstelle 212 ansprechendauf eine Bedienerbetätigungliefern. Die Eingabevorrichtung 104 kann eine Tastaturoder eine weitere Eingabevorrichtung (z. B. Zeigevorrichtungen,Knöpfe,Sensoren) sein. Mehrere Eingabevorrichtungen können mit der Eingangs/Ausgangs-Schnittstelle 212 gekoppeltsein, um Daten ansprechend auf eine Benutzerbetätigung bereitzustellen. Ausgabevorrichtungen(z. B. Parallel-Ports, Seriell-Ports,Drucker, Lautsprecher, Lichter) können ebenso mit der Eingangs/Ausgangs-Schnittstelle 212 gekoppeltsein, um Informationen an den Bediener zu kommunizieren. [0028] DerSpeicher 206 und die Speichervorrichtung 210 können dieprimärenDatenspeicherressourcen sein und können folglich große Mengeneines integrierten Speichers umfassen, möglicherweise entweder in derForm relativ weniger integrierter Speichervorrichtungen mit großer Kapazität oder in derForm einer großenAnzahl integrierter Speichervorrichtungen mit relativ kleiner Kapazität. Weitere Komponentender digitalen Vorrichtung 100 können jedoch auch integrierteSpeichervorrichtungen umfassen. Die Videokarte 203 kannz. B. eine oder mehrere integrierte Speichervorrichtungen zur Bildspeicherungund -verarbeitung umfassen. Ähnlichkann die Eingangs/Ausgangs-Schnittstelle 212 eine integrierteSpeichervorrichtung zur Langzeitspeicherung von Konfigurationsparameternund grundlegenden Eingabe/Ausgabe-System- (BIOS-) Routinen umfassen. [0029] 3 zeigt ein Beispiel einerintegrierten Speichervorrichtung 300. Die Vorrichtung 300 kann einegestützteSpeichervorrichtung sein, wie z. B. die, die in der verwandten US-Patentanmeldungmit dem Anwaltsaktenzeichen Nr. 200208167 offenbart ist, die hierindurch Bezugnahme aufgenommen ist. Eine gestützte Speichervorrichtung isteine Speichervorrichtung, die Fehlerkorrekturtechniken beinhaltet,um mit möglichenFehlern bei der Speicherung oder Wiedergewinnung von Daten umzugehen.Derartige Fehler können(unter anderem) durch isolierte Herstellungsfehler in Speicherzellen,unvorhersehbare Zwischenzellenkopplungsfehler oder Übergangssignalisierungsfehlerin den Zeilen- und Spaltenleitungen während Lese- und Schreiboperationenbewirkt werden. [0030] Dieintegrierte Speichervorrichtung 300 umfaßt ein Speicherarray 302,ein Unterstützungsmodul 304,ein Lese- und Schreibmodul 306 und ein Fehlerkorrekturcode-(ECC-) Modul 308. Das Speicherarray 302 umfaßt eineMehrzahl von Speicherzellen oder Speicherelementen, wobei jede/jedesderselben in der Lage ist, zumindest ein Bit Daten zu speichern.Das Speicherarray 302 kann jede programmierbare Speichertechnologiesein, wie z. B. ein Direktzugriffsspeicher (RAM) oder ein elektrischprogrammierbarer Nur-Lese-Speicher (EPROM), einschließlich, jedochnicht ausschließlich,eines dynamischen RAM (DRAM), eines erweiterten Daten-Aus-RAM (EDO RAM), einesVideo-RAM (VRAM), eines statischen RAM (SRAM), eines synchronenDRAM (SDRAM), eines magnetoresi stiven oder Magnet-RAM (MRAM) undeines Flash-ROM. Obwohl die folgende Beschreibung hauptsächlich in demZusammenhang eines MRAM erfolgt, sind die offenbarte Architekturund die Techniken nicht derart eingeschränkt und sind auch auf weitereSpeicherspeicherungstechnologien anwendbar. [0031] JedeSpeicherzelle oder jedes Element in dem Array 302 ist einerSpeicheradresse zugeordnet, obwohl jede Speicheradresse auch mehreren Speicherzellenzugeordnet sein kann. Das Unterstützungsmodul 304 kannein Adreßsignalempfangen und kann ansprechend darauf einen Zugriff auf die zugeordnetenSpeicherzellen in dem Speicherarray 302 bereitstellen.Der Zugriff auf ausgewählteSpeicherzellen wird überdas Lese- und Schreibmodul 306 hergestellt. [0032] DasLese- und Schreibmodul 306 umfaßt Leseverstärker zumErfassen („Lesen") von Datenwerten,die in den Speicherzellen gespeichert sind, die durch das Unterstützungsmodul 304 zugänglich gemachtwerden. Das Modul 306 kann ferner Schreib-Treiber zum Speichern(„Schreiben") neuer Datenwertein die Speicherzellen umfassen. Die Operation des Moduls 306 kanndurch ein Befehlssignal gesteuert werden. Das Befehlssignal kanneinfach anzeigen, wann eine Lese-Operation erwünscht wird, und wann eine Schreib-Operationerwünscht wird.Wenn eine Schreib-Operation angezeigt wird, kann das Lese- und Schreibmodul 306 Datenvon dem Modul 308 empfangen und die Daten in den ausgewählten Speicherzellenspeichern. Umgekehrt kann, wenn eine Lese-Operation angezeigt wird,das Modul 306 Daten aus den ausgewählten Speicherzellen wiedergewinnenund die Daten an das Modul 308 liefern. Es wird angemerkt,daß dasBefehlssignal ferner anzeigen kann, wann die Speichervorrichtung 300 aktiviertoder deaktiviert ist, und auch anzeigen kann, wann Konfigurationsinformationenan die Speichervorrichtung 300 geliefert werden. [0033] DieSpeichervorrichtung 300 kann ein ECC-Modul 308 umfassen,das betreibbar ist, um Datenfehler zu erfassen und zu korrigieren,die in der Speichervorrichtung 300 auftreten. Wenn Datenzur Speicherung empfangen werden, codiert das ECC-Modul 308 dieDaten, was Datenwörterin Codewörterumwandelt. Lediglich beispielhaft kann während einer Schreib-Operation ein ECC-Modul, daseinen (7, 4, 3) -Hamming-Code verwendet, ein 4-Bit-Datenwort inein 7-Bit-Codewort umwandeln. Das Codewort kann dann in Speicherzellengespeichert werden, die der spezifizierten Speicheradresse zugeordnetsind. Umgekehrt kann währendeiner Lese-Operation ein 7-Bit-Wortaus Speicherzellen wiedergewonnen werden, die der spezifiziertenSpeicheradresse zugeordnet sind. Das 7-Bit-Wort kann ein Codewort sein oder eskann einen Bitfehler enthalten. In beiden Fällen kann das ECC-Modul 308 das7-Bit-Wort decodieren,was dasselbe in das passende 4-Bit-Datenwort umwandelt, selbst dann, wenndas wiedergewonnene 7-Bit-Wort einen Fehler enthält. Das Datenwort kann dannals Ausgangsdaten bereitgestellt werden. [0034] Natürlich können auchweitere Fehlerkorrekturcodes verwendet werden. Beispiele geeigneter Fehlerkorrekturcodesumfassen Hamming-Codes, Goppa-Codes, Golay-Codes, Reed-Solomon-Codes undFaltungscodes. Die Codierung kann auf einer Pro-Wort-Basis, wieoben beschrieben wurde, durchgeführtwerden. Alternativ oder zusätzlichkann die Codierung in Bezug auf Gruppen von Wörtern durchgeführt werden,um in der Lage zu sein, ein fehlerhaftes Wort innerhalb der Gruppezu korrigieren. Obwohl das ECC-Modul u. U. während des Decodiervorgangseine wesentliche Verarbeitungszeit benötigt, ist zu erwarten, daß Pipeline-Führungstechnikenverwendet werden können,um hohe Durchsatzraten aufrechtzuerhalten. [0035] 4 zeigt ein detaillierteresBlockdiagramm einer integrierten Speichervorrichtung 400. DieSpeichervorrichtung 400 umfaßt ein Speicherarray 302,ein Unterstützungsmodul,das einen Zeilendecodierer 408, Spaltendecodierer 410, 412 und 414 undein Adreßabbildungsmodul 418 umfaßt, einLese- und Schreibmodul,das Leseverstärker 420 und Schreib- Treiber 422 umfaßt, einoptionales ECC-Modul, das einen ECC-Decodierer 424 undeinen ECC-Codierer 426 umfaßt, und eine optionale gepufferteSpeicherschnittstelle, die einen Lese-Puffer 428, einenSchreib-Puffer 430 und eine Schnittstellensteuerung 432 umfassenkann. [0036] DasSpeicherarray 302 ist ein Array von Speicherelementen.Die Speicherelemente können magnetischeSpeicherspeicherungselemente sein. Jedes magnetische Speicherspeicherungselement kanneine Datenspeicherungsschicht und eine Referenzschicht umfassen,wobei jede derselben eine magnetische Ausrichtung aufweist. DerLogikzustand eines magnetischen Speicherelements hängt von denrelativen Ausrichtungen einer Magnetisierung in seiner Datenspeicherungs-und der Referenzschicht ab. Nur zwei relative Ausrichtungen sindstabil. Diese beiden stabilen Ausrichtungen, parallel und anti-parallel,könnenLogikwerte „0" und „1" darstellen. [0037] DieSpeicherzellen des Arrays 302 sind im allgemeinen in Zeilenund Spalten angeordnet, wobei sich die Zeilen entlang einer Achseerstrecken und sich die Spalten entlang einer senkrechten Achseerstrecken. In 4 sindbestimmte spezifisch benannte Speicherelemente 402, 404 und 406 entlang einerSpalte angeordnet. Nur eine relativ kleine Anzahl von Speicherzellenist gezeigt, um ein Verständniszu unterstützen.In der Praxis könnenArrays jede Größe aufweisen,einschließlichein Array mit 1024 × 1024Speicherzellen oder mehr. [0038] 4 zeigt Zeilenleitungen,die sich in einer horizontalen Richtung erstrecken, und Spaltenleitungen,die sich in einer vertikalen Richtung erstrecken. Bei einem Ausführungsbeispielgibt es eine Zeilenleitung fürjede Zeile von Speicherzellen und eine Spaltenleitung für jede Spaltevon Speicherzellen. Jede Speicherzelle ist an einem Kreuzungspunkteiner entsprechenden Zeilen- und Spaltenleitung angeordnet gezeigt.Bei einem Ausführungsbeispielwird eine Speicherzelle zugänglichgemacht, wenn der Zeilendecodierer 408 die entsprechendeZeilenleitung aktiviert, und einer der Spaltendecodierer 410, 412, 414 dieentsprechende Spaltenleitung mit einem Leseverstärker 420 oder einemSchreib-Treiber 422 koppelt.WährendLese-Operationen kann der Widerstandswert einer Speicherzelle durcheinen Leseverstärker 420 erfaßt werdenund währendeiner Schreib-Operation kann der Magnetisierungszustand der Speicherzelledurch den Schreib-Treiber 422 eingestellt werden. [0039] DerZeilendecodierer 408 kann betreibbar bzw. wirksam sein,um eine Zeilenleitung ansprechend auf eine Zeilenadresse AR auszuwählen,und die Spaltendecodierer 410, 412, 414 können betreibbarsein, um jeweils eine Spaltenleitung ansprechend auf eine SpaltenadresseAC 416 auszuwählen. Ansprechend auf die ZeilenadresseAR kann der Zeilendecodierer 408 eineentsprechende Zeilenleitung mit einem bekannten Spannungspegel,wie z. B. Masse, koppeln. Ansprechend auf die Spaltenadresse AC 416 kann jeder Spaltendecodierer 410, 412, 414 eine entsprechendeSpaltenleitung mit einem Leseverstärker 420 und/odereinem Schreib-Treiber 422 koppeln. Eine ausgewählte Mehrzahlvon Speicherzellen liegt an den Schnittpunkten ausgewählter Zeilen-und Spaltenleitungen. [0040] DieZeilenadressen AR und die SpaltenadressenAC könnendurch das Adreßabbildungsmodul 418 anden Zeilendecodierer bzw. die Spaltendecodierer geliefert werden.Bei einem Ausführungsbeispielempfängtdas Adreßabbildungsmodul 418 eine Speicheradressevon der Schnittstellensteuerung 432 und wandelt die empfangeneSpeicheradresse basierend auf einem internen Abbildungsverfahrenin eine physische Adresse um, das defekte Speicherzellen durch „Ersatz"-Speicherzellen indem Array ersetzen kann. Weitere Details über verschiedene Ausführungsbeispieledes Adreßabbildungsmoduls 418 sindin der gemeinschaftlich zugewiesenen US-Patentanmeldung, eingereichtam 11. Januar 2002 mit dem Titel „Self-Healing MRAM" und der US-Patentanmeldung,eingereicht am 19. Januar 2001 mit dem Titel „Self-HealingMemory", die hierinbeide durch Bezugnahme aufgenommen sind, zu finden. Der Zeilende codierer 408 unddie Spaltendecodierer 410, 412, 414 können diephysischen Adressen verwenden, die durch das Abbildungsmodul 418 bereitgestelltwerden, um der Speicheradresse zugeordnete Speicherzellen auszuwählen. [0041] DieSchreib-Treiber 422 könnenparallel arbeiten, um die Logikzustände der ausgewählten Speicherzelleneinzustellen. Die LogikzuständekönnenBits eines Codeworts sein, das durch den ECC-Codierer 426 ansprechendauf ein Datenwort bereitgestellt wird. Das Codewort ist vorzugsweise entworfen,um eine Redundanz bereitzustellen, d. h. zusätzliche Informationen zur Unterstützung derBestimmung des korrekten Datenwortes, wenn Fehler angetroffen werden. [0042] DieLeseverstärker 420 können parallelarbeiten, um die Logikzuständeder ausgewählten Speicherzellenzu erfassen. Der ECC-Decodierer 424 kann die Daten vonden Leseverstärkern 420 kombinieren,um ein Codewort (mit oder ohne Fehler) zu bilden, und kann das Codewortverarbeiten, um ein fehlerfreies Datenwort zu extrahieren. Idealerweisekann der ECC-Decodierer arbeiten, um Übergangsfehler zu korrigieren,wohingegen das Adreßabbildungsmodul 418 arbeitenkann, um Fehler zu verhindern, die durch dauerhafte Defekte an den Speicherzellenbewirkt werden. [0043] EineAnzahl von ECC-Decodierer-Implementierungen kann existieren, dievon Schnell-Kombinationslogik- bis zu sequentiellen Zustandsmaschinen-basiertenImplementierungen reichen. Der Hamming-Code, Reed-Solomon-Code,binäreGolay-Code, binäre Goppa-Code,Viterbi-Code und weitere Algorithmen können zur Erzeugung der ECC-Codewörter basierendauf einem Block Daten mit einer vorbestimmten Größe verwendet werden. Eine erweiterte Fehlerkorrekturfähigkeitund Dateneffizienz können mitgrößeren Datenblockgrößen, leistungsstärkeren ECC-Algorithmen,jedoch größerer Schaltungskomplexität erzieltwerden. Eine derartige hinzugefügte Komplexität muß nichtunbedingt unüberwindbar sein,wenn eine gepufferte Speicherschnittstelle verwendet wird. [0044] DieSpeichervorrichtung 400 kann eine gepufferte Speicherschnittstellein der Form eines oder mehrerer Lese-Puffer 428, einesSchreib-Puffers 430 und einer Schnittstellensteuerung 432 umfassen.Der eine oder die mehreren Lese-Puffer 428 können unterder Steuerung der Schnittstellensteuerung 432 arbeiten,um Daten von dem ECC-Decodierer 424 anzunehmen, sowie ausgehendeDaten auf dem bidirektionalen Datenbus bereitzustellen. Der Schreib-Puffer 430 kanneingehende Daten von dem bidirektionalen Datenbus puffern und dieDaten an den ECC-Codierer 426 liefern. [0045] Beieinem Ausführungsbeispielnimmt die Schnittstellensteuerung 432 ein Befehlssignalan, das Lese- und Schreibbefehle anzeigt, und nimmt weiter ein Adreßsignalan, das Speicheradressen anzeigt, die den Lese- und Schreibbefehlenzugeordnet sind. Ansprechend auf einen oder mehrere Lese/Schreib-Befehleerzeugt die Schnittstellensteuerung 432 eine Sequenz vonLese/Schreib-Operationen bezüglichdes Speicherarrays 302, um die Befehle zu erfüllen, jedochauch, um einen oder mehrere Lese-Puffer 428 in Vorbereitungfür zukünftige Befehlevorzubereiten. Wenn ein Lese-Befehl für eine Adresse empfangen wird,deren Daten bereits in einen Lese-Puffer 428 wiedergewonnenwurden (oder deren Daten noch immer in dem optionalen Schreib-Puffer 430 verbleiben),kann die Schnittstellensteuerung 432 bewirken, daß der Pufferden Befehl mit geringer oder keiner Latenz erfüllt. [0046] Wenndie Schnittstellensteuerung 432 einen Lese-Befehl für eine Adresseempfängt,deren Daten gegenwärtignicht gepuffert bzw. zwischengespeichert sind, kann die Schnittstellensteuerung 432 eine Sequenzvon Lese-Operationen bezüglichdes Speicherarrays 302 für die angeforderte Adresseund einen Block benachbarter Adressen einleitet. Bei einem Ausführungsbeispielliest die Schnittstellensteuerung 432 ansprechend auf einenLese-Befehl fürungepufferte Daten zumindest einen Sektor in den Lese-Puffer. EinAbschnitt kann ganze zwei Bytes klein sein oder kann ziemlich groß sein (z.B. 4 Kilobytes). [0047] Indem Vorangegangenen wurden zwei Speicher-Ausführungsbeispiele erläutert, umein Verständniseiner Referenz-eingeleiteten sequentiellen Lesetechnik zu unterstützen. Beidem ersten Speicher-Ausführungsbeispiel(dem aus 3) kann die Lesetechnikdurch die Wechselwirkung von Unterstützungsmodul 304 undLese/Schreib-Modul 306 ausgeführt werden. Die Speichervorrichtung 300 kannauch nur einen einzelnen Leseverstärker aufweisen, der gespeicherteDatenbytes durch ein sequentielles Lesen entlang einer Spalte oderZeile erfaßt.Bei dem zweiten Speicher-Ausführungsbeispiel (demaus 4) kann die Lesetechnikdurch die Schnittstellensteuerung 432 implementiert sein,die bewirkt, daß eineBank von Leseverstärkernparallel arbeitet, um Wörterin einer Sequenz von Daten (d. h. einem Sektor) zu lesen. Für ein Beispielseines geeigneten Leseverstärkerszum Implementieren dieser Technik wird auf das US-Patent Nr. 6,188,615 („MRAM DeviceIncluding Digital Sense Amplifiers") verwiesen, das hierin durch Bezugnahmeaufgenommen ist. [0048] In 4 ist ein Speicherarray 302 gezeigt, dasmehrere Speicherelemente 402, 404, 406 aufweist,die entlang einer Spalte angeordnet sind. Unter der Führung derSchnittstellensteuerung 432 arbeiten die Zeilen- und Spaltendecodiererzusammen, um eine Sequenz von Speicherelementen für die Leseverstärker 420 undSchreib-Treiber 422 zugänglich zumachen. Lediglich beispielhaft könnender Zeilendecodierer 408 und der Spaltendecodierer 414 sequentiellSpeicherelemente in einer Spalte mit dem Leseverstärker 420,beginnend mit den Speicherelementen 402 und 409,wobei schließlichdas Speicherelement 406 erreicht wird, koppeln. [0049] Beieinem Ausführungsbeispielverwendet die Referenz-eingeleitetesequentielle Lesetechnik das erste Speicherelement in einer Sequenzals eine Referenz, d. h. das erste Speicherelement wird zur Bestimmungeiner Entscheidungsschwelle verwendet. Diese Entscheidungsschwellewird verwendet, wenn die gespeicherten Datenwerte in allen Speicherelementender Sequenz bestimmt werden (einschließlich des ersten). Die Sequenzlänge kannvon nur zwei bis zu mehreren Malen der Anzahl von Speicherelementenin einer Spalte oder Zeile variieren. Die Sequenz kann sich voneiner Kante des Arrays bis zu einer benachbarten Spalte oder Zeilean der gegenüberliegendenKante „umwickeln", wobei vorzugsweisejedoch die physische Trennung zwischen dem ersten Speicherelementund den nachfolgenden Speicherelementen eingeschränkt ist,so daß das ersteSpeicherelement ziemlich repräsentativfür die nachfolgendenSpeicherelemente ist. [0050] 5 ist ein Flußdiagramm,das die Architektur, Funktionalität und Funktionsweise möglicher Implementierungender Leseverstärkerzeigen kann. Diesbezüglichkann jeder Block ein Modul, Segment oder einen Abschnitt eines Software- oder Firmware-)Codes darstellen, der eine oder mehrere ausführbare Instruktionen zum Implementierender einen oder der mehreren spezifizierten Logikfunktionen aufweist.Wahrscheinlicher jedoch könnendiese Flußdiagrammein Hardware implementiert sein, um die erwünschten Datenraten zu unterstützen. Die Hardwareimplementierungkann die Form einer Hardware-Zustandsmaschine annehmen. Bei einigenalternativen Implementierungen könnendie in den Blöckenangemerkten Funktionen außerhalbder angemerkten Reihenfolge auftreten. Die beiden Blöcke 502 und 504,die in 5 z. B. aufeinanderfolgendgezeigt sind, könnentatsächlichim wesentlichen gleichzeitig ausgeführt werden oder manchmal können dieBlöcke 504 und 508 inder umgekehrten Reihenfolge ausgeführt werden. Ferner können Blöcke weggelassenwerden oder zusätzlicheBlöcke hinzugefügt werden,ohne von dem Schutzbereich der Erfindung abzuweichen. [0051] Beieinem Ausführungsbeispielbeginnt ein Referenz-eingeleiteter sequentieller Lesevorgang bei Block 502 damit,daß einLeseverstärkerden Inhalt eines ersten Speicherelements abtastet. Der Leseverstärker führt vorzugsweiseeine digitale Messung eines Stroms, einer Spannung, eines Widerstands- oderZeitwerts durch, der/die den Logikzustand des ersten Speicherelementsdarstellt. Der digitale Wert wird vorzugsweise zur späteren Verwendungin einem Register gespeichert. Bei Block 504 wartet der Leseverstärker, während einSchreib-Treiber einen ersten Logikzustand (z. B. eine digitale „0") in dem ersten Speicherelementspeichert. Bei Block 506 tastet der Leseverstärker wiederden Inhalt des ersten Speicherelements ab. Die digitale Messung,die zu diesem Zeitpunkt durchgeführtwird, ist bekannt, um z. B. einer digitalen „0" zu entsprechen, und kann zur späteren Verwendungin einem weiteren Register gespeichert werden. Bei Block 508 wartetder Leseverstärker,währendein Schreib-Treiber einen zweiten Logikzustand (z. B. eine digitale „1") in dem ersten Speicherelementspeichert. Bei Block 510 tastet der Leseverstärker nocheinmal den Inhalt des ersten Speicherelements ab. Die digitale Messung,die zu diesem Zeitpunkt durchgeführtwird, ist bekannt, um z. B. einer digitalen „1" zu entsprechen. [0052] BeiBlock 512 bestimmt der Leseverstärker eine Entscheidungsschwelle.Bei einem Ausführungsbeispielkann diese Bestimmung durch ein Mitteln der Messungen, die den bekanntendigitalen Werten entsprechen, durchgeführt werden. Bei alternativenAusführungsbeispielenkönnenverschiedene Takt-Zähler-Technikenverwendet werden, um eine Differenz zwischen der Messung, die denbekannten digitalen Werten entspricht, zu bestimmen und die Hälfte dieserDifferenz zu einer der Messungen hinzuzufügen oder von derselben abzuziehen.Beispiele derartiger Techniken sind in dem US-Patent Nr. 6,188,615 („MRAM DeviceIncluding Digital Sense Amplifiers") zu finden. Eine Anzahl geeigneterEntscheidungsschwellen-Bestimmungstechniken ist für Fachleuteauf diesem Gebiet ersichtlich. [0053] BeiBlock 514 vergleicht der Leseverstärker die ursprünglicheMessung des ersten Speicherelementes mit der Entscheidungsschwellezur Bestimmung des ursprünglichenDatenwerts. Zu diesem Zeitpunkt kann dieser Datenwert als Ausgabeaus dem Leseverstärkerbereitgestellt werden. Bei Block 516 bestimmt der Leseverstärker, obder ursprünglicheDatenwert sich von dem Wert unterscheidet, der gegenwärtig indem ersten Speicherelement gespeichert ist, wobei, falls dies derFall ist, der Leseverstärkerwartet, währendder Schreib-Treiberden korrekten Wert in der ersten Speicherzelle speichert. [0054] BeiBlock 518 kann ein Schleifenindex eingeleitet werden. BeiBlock 520 bestimmt der Leseverstärker, ob der Inhalt des letztenSpeicherelementes bei dem sequentiellen Lese-Vorgang bestimmt wurde. (Die Anzahlvon Speicherelementen N bei jedem sequentiellen Lesevorgang kanndurch den Entwurf der Speichervorrichtung vorbestimmt werden.) Falls diesder Fall ist, hältder sequentielle Lesevorgang an. Andernfalls wird bei Block 522 derSchleifenindex inkrementiert. [0055] BeiBlock 524 tastet der Leseverstärker den Inhalt des nächsten Speicherelementsin der Sequenz ab. Bei Block 526 kann der Leseverstärker die Messungmit der Entscheidungsschwelle vergleichen, um den in diesem Speicherelementgespeicherten Datenwert zu bestimmen. Der Leseverstärker wiederholtdann die Schleife beginnend mit Block 520. [0056] 6 zeigt ein Flußdiagrammeiner alternativen Implementierung. Diejenigen Blöcke, diegemeinschaftlich zwischen den 5 und 6 verwendet werden, sindidentisch numeriert. Bei der Implementierung aus 6 werden die ersten beiden Speicherelementein einem sequentiellen Lesevorgang als Referenzelemente verwendet.Beginnend mit Block 502 tastet der Leseverstärker denInhalt des ersten Speicherelements ab und speichert vorzugsweiseeine digitale Messung in einem Register zur späteren Verwendung. Bei Block 602 tastetder Leseverstärkerden Inhalt des zweiten Speicher elements ab und speichert vorzugsweiseeine zweite digitale Messung in einem weiteren Register zur späteren Verwendung.Bei Block 504 wartet der Leseverstärker, während ein Schreib-Treiber einenvorbestimmten Logikwert (z. B. eine digitale „0") in dem ersten Speicherelement speichert,wobei bei Block 604 der Leseverstärker wartet, während einSchreib-Treiber einen weiteren vorbestimmten Logikwert (z. B. eine digitale „1") in dem zweitenSpeicherelement speichert. [0057] BeiBlock 510 tastet der Leseverstärker den Inhalt des erstenSpeicherelements ab und bei Block 606 tastet der Leseverstärker denInhalt des zweiten Speicherelements ab. Bei Block 514 kannder Leseverstärkereine Entscheidungsschwelle aus diesen digitalen Messungen bestimmen.Bei den Blöcken 514 und 608 kannder Leseverstärkerdie ursprünglichenMessungen des ersten und des zweiten Speicherelements mit der Entscheidungsschwellevergleichen, um die ursprünglichenDatenwerte dieser Speicherelemente zu bestimmen. Bei Block 514 bestimmtder Leseverstärker,ob sich der ursprüngliche Datenwertvon dem gegenwärtigenDatenwert unterscheidet, wobei er, falls dies der Fall ist, wartet,währendein Schreib-Treiber den ursprünglichenDatenwert an dem ersten Speicherelement wiederherstellt. Ähnlich wartetbei Block 610 der Leseverstärker, falls dies nötig ist,bis ein Schreib-Treiber das zweite Speicherelement in seinen ursprünglichenZustand wiederhergestellt hat. Danach fährt der sequentielle Lesevorgangwie zuvor fort. [0058] Beibeiden oben beschriebenen Ausführungsbeispielenfährt dersequentielle Lesevorgang schnell fort, sobald die Entscheidungsschwellebestimmt wurde. Dies kann alle Verzögerungen, die durch die Anzahlvon Operationen bewirkt werden, die zur Bestimmung der Entscheidungsschwellezu Beginn jedes sequentiellen Lesevorgangs benötigt werden, wirksam lindern.Obwohl die Anzahl von Operationen zur Bestimmung einer Entscheidungsschwellein 6 größer alsin 5 ist, besteht unterUmständeneine größere Gelegenheitzur Gleichzeitigkeit. Die Schreiboperationen der Blöcke 504 und 604 können z.B. gleichzeitig durchgeführtwerden, wie auch die Operationen der Blöcke 514 und 610 (fallsbenötigt).Die Verwendung einer Gleichzeitigkeit kann es tatsächlich ermöglichen,daß dersequentielle Lesevorgang aus 6 denaus 5 übertrifft. [0059] Sowurde eine Speichervorrichtung, die einen Referenz-eingeleitetensequentiellen Lesevorgang aufweist, beschrieben. Die beschriebenenVorgängekönnendie besten Aspekte von sowohl destruktiven als auch nicht-destruktivenLese-Vorgängen kombinieren,um die Rate und Zuverlässigkeitvon Speichervorrichtungen zu erhöhen,ohne zusätzlichenRaum in dem Speicherarray zu benötigen. Während derVorgang in dem Zusammenhang eines gestützten Magnetspeichers beschriebenwurde, sind die Ansprücheauf keinen derartigen Zusammenhang eingeschränkt. Im Gegenteil beinhaltendie Ansprüchenicht-gestützteSpeichervorrichtungen und weitere Speicher- technologien. [0060] Dieobige Erläuterungist nur als darstellend fürdie Prinzipien und verschiedenen Ausführungsbeispiele der vorliegendenErfindung beabsichtigt. Zahlreiche Variationen und Modifizierungenwerden fürFachleute auf diesem Gebiet ersichtlich, sobald sie die obige Beschreibungvollständigaufgefaßthaben. Der sequentielle Lesevorgang kann z. B. mit Speicherzellenbeginnen, die zum Speichern bekannter Werte reserviert sind, d.h. der ersten und zweiten Zeile in jeder Spalte des Speicherarrays,die zum Speichern eines bekannten „0"- bzw. „1"-Werts reserviert sein können. DieseVariation tauscht zusätzlichenRaum, der durch Referenzzellen verbraucht wird, gegen Zeiteinsparungenbei der sequentiellen Lese-Operation ein. Die Zeiteinsparungen resultierenaus einem Beseitigen der gemischten Schreib-Operationen aus denLese-Operationen.
权利要求:
Claims (22) [1] Referenz-eingeleitetes sequentielles Leseverfahren,mit folgenden Schritten: Bilden (502) einer erstenAttribut-Messung, die einem gespeicherten Datenwert in einem erstenSpeicherelement zugeordnet ist; Verwenden des ersten Speicherelements,um eine Entscheidungsschwelle zu bestimmen (512); Vergleichender ersten Attribut-Messung mit der Entscheidungsschwelle, um dengespeicherten Datenwert in dem ersten Speicherelement zu bestimmen (514); Bilden(524) einer nachfolgenden Attribut-Messung, die einem gespeichertenDatenwert in einem nachfolgenden Speicherelement zugeordnet ist;und Vergleichen der nachfolgenden Attribut-Messung mit derEntscheidungsschwelle, um den gespeicherten Datenwert in dem nachfolgendenSpeicherelement zu bestimmen (526). [2] Verfahren gemäß Anspruch1, bei dem das Verwenden des ersten Speicherelements, um die Entscheidungsschwellezu bestimmen (512), folgende Schritte aufweist: Schreiben(504) eines vorbestimmten Datenwerts in das erste Speicherelement;und Messen (506) eines Attributs, das dem vorbestimmtenDatenwert in dem ersten Speicherelement zugeordnet ist. [3] Verfahren gemäß Anspruch2, bei dem das Verwenden des ersten Speicherelements, um die Entscheidungsschwellezu bestimmen (512), ferner folgende Schritte aufweist: Schreiben(508) eines zweiten vorbestimmten Datenwerts in das ersteSpeicherelement; und Messen (510) eines Attributs,das dem zweiten vorbestimmten Datenwert in dem ersten Speicherelementzugeordnet ist. [4] Verfahren gemäß Anspruch3, bei dem das Verwenden des ersten Speicherelements, um die Entscheidungsschwellezu bestimmen (512), ferner folgenden Schritt aufweist: Mittelnvon Attribut-Messungen, die dem ersten und dem zweiten vorbestimmtenDatenwert in dem ersten Speicherelement zugeordnet sind. [5] Verfahren gemäß einemder Ansprüche2 bis 4, das ferner folgende Schritte aufweist: Bilden (602)einer zweiten Attribut-Messung, die einem gespeicherten Datenwertin einem zweiten Speicherelement zugeordnet ist; und Verwendendes zweiten Speicherelements in Verbindung mit dem ersten Speicherelement,um die Entscheidungsschwelle (512) zu bestimmen. [6] Verfahren gemäß Anspruch5, bei dem das Verwenden des zweiten Speicherelements, um die Entscheidungsschwellezu bestimmen, folgende Schritte aufweist: Schreiben (604)eines zweiten vorbestimmten Datenwerts in das zweite Speicherelement;und Messen (606) eines Attributs, das dem zweitenvorbestimmten Datenwert in dem zweiten Speicherelement zugeordnetist. [7] Verfahren gemäß einemder Ansprüche1 bis 6, das ferner folgende Schritte aufweist: nach dem Bestimmender Entscheidungsschwelle, Bilden (522, 524) einerSequenz von Attribut-Messungen, die einer entsprechenden Sequenzvon Speicherelementen zugeordnet sind; und Vergleichen derAttribut-Messungen mit der Entscheidungsschwelle, um gespeicherteDatenwerte in der Sequenz von Speicherelementen zu bestimmen (526). [8] Verfahren gemäß Anspruch7, bei dem das erste Speicherelement und die Sequenz von Speicherelementenbenachbart und entlang einer Spalte oder Zeile in einem Speicherarrayausgerichtet sind. [9] Speicher mit folgenden Merkmalen: einer Mehrzahl(302) benachbarter Speicherelemente; und einem Leseverstärker (420),der mit der Mehrzahl von Speicherelementen gekoppelt ist, wobeider Leseverstärkerkonfiguriert ist, um nacheinander Datenwerte zu bestimmen, die inder Mehrzahl benachbarter Speicherelemente (404, 406)gespeichert sind, nachdem ein erstes Speicherelement (402)zur Bestimmung einer Entscheidungsschwelle verwendet wurde. [10] Speicher gemäß Anspruch9, bei dem die Entscheidungsschwelle unverändert verwendet wird, um dieDatenwerte in jedem der Mehrzahl benachbarter Speicherelemente (302)zu bestimmen. [11] Speicher gemäß Anspruch9 oder 10, bei dem die Mehrzahl (302) benachbarter Speicherelementeentlang einer Spalte ausgerichtet ist. [12] Speicher gemäß einemder Ansprüche9 bis 11, bei dem der Leseverstärker(420) konfiguriert ist, um eine Entscheidungsschwelle alsTeil eines Bestimmens von Daten in jeder mehrerer unterschiedlicherMehrzahlen benachbarter Speicherelemente zu bestimmen. [13] Speicher gemäß einemder Ansprüche9 bis 12, bei dem der Leseverstärkerebenso ein zweites Speicherelement (404) in der Mehrzahlbenachbarter Speicherelemente verwendet, um die Entscheidungsschwellezu bestimmen. [14] Speicher gemäß einemder Ansprüche9 bis 13, wobei der Speicher ferner folgendes Merkmal aufweist: einenLese-Puffer (428), der mit dem Leseverstärker (420)gekoppelt ist und konfiguriert ist, um einen Sektor von Lese-Datenzu puffern. [15] Speicher gemäß einemder Ansprüche9 bis 14, wobei der Speicher ferner folgendes Merkmal aufweist: einenFehlerkorrekturcode- (ECC-) Decodierer (424), der mit demLeseverstärkergekoppelt ist und konfiguriert ist, um einen Fehlerkorrektur bezüglich Datenwertendurchzuführen,die von dem Leseverstärker (420)empfangen werden. [16] Speicher gemäß einemder Ansprüche9 bis 15, der ferner folgendes Merkmal aufweist: einen Schreib-Treiber(422), der mit dem ersten Speicherelement (402)gekoppelt ist und konfiguriert ist, um zumindest einen vorbestimmtenWert in dem ersten Speicherelement zu speichern, wobei derLeseverstärkereine Messung eines Attributs, das dem vorbestimmten Wert zugeordnetist, verwendet, um die Entscheidungsschwelle zu bestimmen. [17] Digitale Vorrichtung mit folgenden Merkmalen: einerSpeichereinrichtung zum Speichern von Datensektoren; und einerLeseeinrichtung zum sequentiellen Wiedergewinnen von Datensektorenaus der Datenspeichereinrichtung, wobei als ein Teil des Wiedergewinnensjedes Datensektors die Leseeinrichtung eine Entscheidungsschwelleunter Verwendung eines Abschnitts der Speichereinrichtung bestimmt,die einen ersten Wert in dem Datensektor speichert. [18] Digitale Vorrichtung gemäß Anspruch 17, bei der dieLeseeinrichtung die Entscheidungsschwelle unverändert verwendet, wenn die Leseeinrichtungeinen Datensektor wiedergewinnt. [19] Digitale Vorrichtung gemäß Anspruch 17 oder 18, beider die Datensektoren entlang Spalten in der Speichereinrichtunggespeichert sind. [20] Digitale Vorrichtung gemäß einem der Ansprüche 17 bis19, die ferner folgendes Merkmal aufweist: eine Schreibeinrichtungzum Speichern zumindest eines vorbestimmten Datenwerts in dem Abschnitt derSpeichereinrichtung. [21] Referenz-eingeleitetes sequentielles Leseverfahren,mit folgenden Schritten: Bilden (510) einer erstenAttribut-Messung, die einem bekannten Datenwert in einem erstenReferenzspeicherelement zugeordnet ist; Bilden (606)einer zweiten Attribut-Messung, die einem bekannten Datenwert ineinem zweiten Referenzspeicherelement zugeordnet ist; Kombinierender ersten und der zweiten Attribut-Messung, um eine Entscheidungsschwellezu bestimmen (512); Bilden (524) einer nachfolgendenAttribut-Messung, die einem gespeicherten Datenwert in einem nachfolgendenSpeicherelement zugeordnet ist; und Vergleichen der nachfolgendenAttribut-Messung mit der Entscheidungsschwelle, um den gespeicherten Datenwertin dem nachfolgenden Speicherelement zu bestimmen (526). [22] Verfahren gemäß Anspruch21, bei dem das Kombinieren der Attribut-Messungen ein Mitteln der Attribut-Messungen aufweist.
类似技术:
公开号 | 公开日 | 专利标题 US10437723B2|2019-10-08|Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device US10628316B2|2020-04-21|Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register US10460781B2|2019-10-29|Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank US10192601B2|2019-01-29|Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers US10360964B2|2019-07-23|Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device US10192602B2|2019-01-29|Smart cache design to prevent overflow for a memory device with a dynamic redundancy register US10446210B2|2019-10-15|Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers US10437491B2|2019-10-08|Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register US8719665B2|2014-05-06|Programming error correction code into a solid state memory device with varying bits per cell US8228729B2|2012-07-24|Structure and method for shuffling data within non-volatile memory devices KR101405741B1|2014-06-10|스트라이프-기반 비-휘발성 멀티레벨 메모리 동작 US8717822B2|2014-05-06|Non-volatile memory device and read method thereof KR101863552B1|2018-06-01|메모리 쓰기 에러 정정 회로 US20140219023A1|2014-08-07|Bad Column Management with Bit Information in Non-Volatile Memory Systems US7944731B2|2011-05-17|Resistive sense memory array with partial block update capability US8225181B2|2012-07-17|Efficient re-read operations from memory devices US6134143A|2000-10-17|Multi-state flash memory defect management KR102178137B1|2020-11-12|반도체 메모리 장치, 이의 에러 정정 방법 및 이를 포함하는 메모리 시스템 KR100781952B1|2007-12-06|How to manage defects in flash memory US8321765B2|2012-11-27|Method of reading data in non-volatile memory device CN107506257B|2020-05-19|错误检查纠正解码方法与装置 US8347023B2|2013-01-01|Compression based wear leveling for non-volatile memory US7114117B2|2006-09-26|Memory card and memory controller US7861139B2|2010-12-28|Programming management data for NAND memories KR102065665B1|2020-01-13|더미 워드라인을 포함하는 불휘발성 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법
同族专利:
公开号 | 公开日 US20050047219A1|2005-03-03| JP2005078794A|2005-03-24| DE102004019675B4|2010-01-21| US7006388B2|2006-02-28| KR20050021870A|2005-03-07| JP4050261B2|2008-02-20|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2005-04-07| OP8| Request for examination as to paragraph 44 patent law| 2010-02-25| 8339| Ceased/non-payment of the annual fee|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|