![]() Verfahren und Vorrichtungen zum Bestimmen des Zustands eines Speicherelements
专利摘要:
Eswerden Verfahren und Vorrichtungen zum Messen von Werten einer Mehrzahlvon Speicherelementen offenbart, wobei die gemessenen Werte dendigitalen Zustand eines Speicherelements anzeigen können. EskönnenBerechnungen bei einer Mehrzahl von Übergangstermen durchgeführt werden,die den möglichen Übergängen inden Werten zwischen nahen Speicherelementen zugeordnet sind. Derdigitale Zustand von Speicherelementen kann unter Verwendung derBerechnungen, die bei der Mehrzahl von Übergangstermen durchgeführt werden,bestimmt werden. 公开号:DE102004008240A1 申请号:DE200410008240 申请日:2004-02-19 公开日:2005-01-27 发明作者:Richard L. Hilton;Anthony Holden;Steven C. Johnson;David H. Mcintyre;Kenneth K. Smith 申请人:Hewlett Packard Development Co LP; IPC主号:G06F13-00
专利说明:
[0001] Speichergeräte sindin der Elektronikindustrie überallzu finden. Speichergerätekönnenunter Verwendung von Arrays aus magnetischen Elementen implementiertsein, die unter Nutzung von Halbleiterverarbeitungstechniken hergestelltsind. Die individuellen magnetischen Elemente des Arrays können Materialienmit variierenden magnetischen Eigenschaften umfassen, die durcheine isolierende Schicht getrennt sind. Auf diese Weise können dieMagnetfelder der getrennten Materialien in der gleichen Richtung(bezeichnet als „parallel") oder in einer entgegengesetztenAusrichtung (bezeichnet als „antiparallel") ausgerichtet sein.Der elektrische Widerstand der magnetischen Elemente kann je nachder parallelen oder antiparallelen Ausrichtung der Magnetfeldervariieren. Digitale Informationen können durch Zuordnen von digitalenWerten (z. B. Einsen und Nullen) zu dem elektrischen Widerstand,der den parallelen und antiparallelen Zuständen zugeordnet ist, gespeichertund wiedergewonnen werden. [0002] Umden Widerstandswert eines Speicherelements, der den in demselbenenthaltenen digitalen Wert effektiv bestimmt, zu bestimmen, wirdin der Regel eine Spannung überdas Speicherelement entwickelt. Anhand dieser Spannung oder, alternativ,eines Stroms, der aus dieser Spannung abgeleitet ist, kann der Widerstandswertdes Speicherelements geschätztwerden. Der in dem Speicherelement gespeicherte digitale Wert kannsomit aus dem gemessenen Widerstandswert bestimmt werden. [0003] DaSpeicherelemente unter Verwendung von Halbleiterverarbeitungstechnikenhergestellt werden, könnensich aufgrund von Verarbeitungsineffizienzen, wie z. B. einer ungleichmä ßigen Aufbringungvon Materialien währendder Herstellung, überSpeicherarrays Variationen entwickeln. Zum Beispiel können isolierende Schichten,die magnetische Materialien trennen, bezüglich der Dicke über einemWafer variieren, was zu Speicherelementen innerhalb eines Arraysführt,die fürdie gleichen digitalen Werte unterschiedliche resistive Bereicheaufweisen. Spezifischer betrachtet, können Verarbeitungsineffizienzen,die Widerstandsschwankungen bewirken, eine ungenaue Interpretationder Werte bewirken, die in dem Speicherarray gespeichert sind, daes schwierig sein kann, einen Widerstandswert, der einem binären „1"-Wert entsprichtund einen Widerstandswert, der einem binären „0"-Wert entspricht, zu bestimmen. Eineungenaue Interpretation des Widerstands kann bewirken, daß ein binärer „1"-Wert als binäre „0"- interpretiert wird und umgekehrt. [0004] Dementsprechendsind Verfahren und Vorrichtungen, die die Genauigkeit des Bestimmensvon Speicherelementwerten verbessern, erwünscht. [0005] Esist die Aufgabe der vorliegenden Erfindung, ein Verfahren, einenSpeicher und einen Computer zum genaueren Bestimmen des Wertes vonSpeicherelementen zu schaffen. [0006] DieseAufgabe wird durch ein Verfahren gemäß Anspruch 1, einen Speichergemäß Anspruch11, einen Computer gemäß Anspruch23, ein Verfahren gemäß Anspruch32, einen Speicher gemäß Anspruch38, ein Verfahren gemäß Anspruch44, einen Speicher gemäß Anspruch48 sowie einen Speicher gemäß Anspruch52 gelöst. [0007] Eswerden Verfahren und Vorrichtungen zum Messen von Werten einer Mehrzahlvon Speicherelementen offenbart, wobei die gemessenen Werte dendigitalen Zustand eines Speicherelements anzeigen können. EskönnenBerechnungen an einer Mehrzahl von Übergangstermen durchgeführt werden,die den möglichen Übergängen inden Werten zwischen nahen Speicherelementen zugeordnet sind. Derdigitale Zustand von Spei cherelementen kann anhand der Berechnungenbestimmt werden, die an der Mehrzahl von Übergangstermen durchgeführt werden. [0008] BevorzugteAusführungsbeispieleder vorliegenden Erfindung werden nachfolgend Bezug nehmend aufdie beiliegenden Zeichnungen nähererläutert.Es zeigen: [0009] 1 einen Speicher, der gemäß verschiedenenAusführungsbeispielenverwendbar ist; [0010] 2 ein adaptives Schwellenbeispielgemäß verschiedenenAusführungsbeispielen; [0011] 3 ein veranschaulichendesBeispiel gemäß verschiedenenAusführungsbeispielen; [0012] 4A einen Zwei-Zustand-Trellisgemäß verschiedenenAusführungsbeispielen; [0013] 4B verschiedene Übergänge in demTrellis aus 4A gemäß verschiedenenAusführungsbeispielen; [0014] 4C fehlerquadrierte Terme,die den Übergängen aus 4B zugeordnet sind, gemäß unterschiedlichenAusführungsbeispielen; [0015] 5A ein veranschaulichendesBeispiel gemäß unterschiedlichenAusführungsbeispielen; [0016] 5B Berechnungen für das Beispielaus 5A gemäß unterschiedlichenAusführungsbeispielen; und [0017] 6 ein Computersystem gemäß den unterschiedlichenAusführungsbeispielen. [0018] ImVerlauf der folgenden Beschreibung und der Ansprüche werden bestimmte Begriffeverwendet, um sich auf bestimmte Systemkomponenten zu beziehen.Fachleuten auf dem Gebiet ist klar, daß sich Computerunternehmenunter Umständenmit unterschiedlichen Namen auf eine Komponente beziehen. DiesesDokument beabsichtigt nicht, zwischen Komponenten zu unterscheiden,die sich bezüglichdes Namens, nicht aber der Funktion unterscheiden. Bei der folgendenErörterungund in den Ansprüchensind die Begriffe „umfassen" und „aufweisen" auf eine offeneWeise verwendet und sollten daher so interpretiert werden, daß sie „umfassend,aber nicht auf ... beschränkt" bedeuten. [0019] DerBegriff „koppeln" oder „koppelt" soll entweder eineindirekte oder direkte elektrische Verbindung bezeichnen. Wenn einerstes Gerätmit einem zweiten Gerätkoppelt, so kann die Verbindung somit durch eine direkte elektrischeVerbindung oder durch eine indirekte elektrische Verbindung über andereGeräteund Verbindungen erfolgen. Ebenso soll der Begriff „koppeln" oder „koppelt" sich auf die Situationbeziehen, in der ein Magnetfeld, das von einem ersten Material ausstrahlt,in einem zweiten Material induziert wird. Zum Beispiel wenn einstromführenderLeiter u. U. ein Magnetfeld ausstrahlt, das in ein magnetischesMaterial gekoppelt werden kann. [0020] Zusätzlich sollsich der Begriff „nah" auf Speicherelementebeziehen, die innerhalb eines Bereichs voneinander liegen, wobeigemessene Werte der Speicherelemente innerhalb dieses Bereichs miteinander korrelieren.Auf diese Weise könnennahe Speicherelemente derart interpretiert werden, daß sie mehrSpeicherelemente umfassen als Speicherelemente, die lediglich benachbartsind, und würdenSpeicherelemente in der gleichen Region umfassen. [0021] Diefolgende Erörterungbezieht sich auf verschiedene Ausführungsbeispiele der Erfindung.Zwar sind unter Umständeneines oder mehr dieser Ausführungsbeispielebevorzugt, doch sollten die offenbarten Ausführungsbeispiele nicht derartinterpretiert oder ansonsten verwendet werden, daß sie denSchutzbereich der Offenbarung einschließlich der Ansprüche einschränken. Hinzukommt, daß esFachleuten auf dem Gebiet klar ist, daß die folgende Beschreibungeine breite Anwendung hat und die Erörterung jeglicher Ausführungsbeispielelediglich als beispielhaft zu verstehen ist und nicht andeuten soll,daß derSchutzbereich der Offenbarung, einschließlich der Ansprüche, aufdiese Ausführungsbeispielebeschränktist. Ferner sei darauf hingewiesen, daß die vorliegende Erfindungimplementiert und praktiziert werden kann, ohne alle unten beschriebenen Komponentenund Schritte zu umfassen. [0022] Bezugnehmend auf 1 kann einSpeichersystem 10 ein Array 12 aus Festkörperzustandsspeicherelementenumfassen. Das Array 12 kann die Speicherelemente 15A – 15I umfassen.Die Speicherelemente 15A – 15I können Widerstände aufweisen;es sei jedoch angemerkt, daß dieFestkörperzustandsspeicherelementeandere meßbareelektrische Strukturen aufweisen können, die dem Durchschnittsfachmannauf dem Gebiet vertraut sind. Zum Beispiel können die Festkörperzustandsspeicherelemente 15A – 15I Kondensatoren,Induktoren, Spintunnelübergänge oderandere Typen von Elementen einer integrierten Schaltung umfassen,die die Speicherung von Daten ermöglichen. Eine zugehörige Schaltungsanordnung 20 kanndazu dienen, Daten in dem Array 12 zu schreiben, und kannebenfalls dazu dienen, Daten von dem Array 12 zu lesen. [0023] DerSpeicher 10 kann unter Verwendung von Halbleiterverarbeitungsprinzipienhergestellt sein. Verarbeitungsineffizienzen, die eine Ungleichmäßigkeit über einemArray (z. B. resistiver Versatz, der durch eine ungleichmäßige Verteilungeiner isolierenden Schicht bewirkt wird) bewirken, können naheSpeicherelemente auf ähnlicheWeise beeinflussen. Dementsprechend können die Ausführungsbeispieleder vorliegenden Erfindung Ähnlichkeitennaher Speicherelemente ausnutzen, um die gespeicherten Werte inanderen lokalen Speicherelementen zu bestimmen. Die nahen Speicherelemente, diedas zu lesende Speicherelement umgeben, können in einer beliebigen Reihenfolgegenutzt werden. Die hierin offenbarten Techniken können auchverwendet werden, um die Genauigkeit von Speichertransaktionen sogarin Situationen, in denen Verarbeitungsineffizienzen nicht von Belangsind, zu verbessern. [0024] EinigeAusführungsbeispielekönnenadaptive Schwellentechniken einsetzen, um resistive Werte nachzuverfolgen,die jedem Speicherelement zugeordnet sind, während aufeinanderfolgende Speicherelementein dem Speicherarray interpretiert werden. Auf diese Weise können Messungenvon nahen Speicherelementen genutzt werden, um die Genauigkeit nachfolgenderMessungen zu verbessern. 2 zeigtein veranschaulichendes Beispiel eines Speicherarrays 200,das die Speicherelemente 202A – 202F aufweist und adaptiveSchwellenausführungsbeispieleeinsetzen kann. Es sei angemerkt, daß das in 2 gezeigte Beispiel lediglich veranschaulichendsein soll und nicht als den Schutzbereich einschränkend aufgefaßt werden soll. [0025] JedesSpeicherelement 202A – 202F kanneinen digitalen Wert (DV) enthalten, der z. B. durch einen WiderstandR dargestellt sein kann. Da das Array 200 unter Verwendungvon Halbleiterverarbeitungstechniken hergestellt sein kann, kannder Widerstand, der den digitalen Wert eines Speicherelements darstellt,von dem Widerstand abweichen, der den gleichen digitalen Wert ineinem anderen Speicherelement darstellt. Diese Abweichung ist in 2 durch die unterschiedlichenresistiven Werte, die fürjedes Speicherelement gezeigt sind, dargestellt. Beim Lesen desdigitalen Wertes kann eine Vergleichsschaltung 204 denresistiven Wert des Speicherelements mit einem vorbestimmten Schwellenwert,der in einem Register 206 enthalten ist, verglei chen, derein Ausgangssignal produzieren kann, das den digitalen Wert desSpeicherelements anzeigt. [0026] Dementsprechendkann eine adaptive Schwellentechnik eingesetzt werden, so daß nahe resistive Messungenverwendet werden können,um die beim Bestimmen von digitalen Werten verwendete Schwelle dynamischzu aktualisieren. Zum Beispiel kann das Register 206 einedigitale Darstellung eines resistiven Schwellenwerts enthalten,der den Durchschnitt des Widerstands, der aus den letzten vier Speicherelementen gemessenwurde, die ein binärer „1"-Wert waren, darstellt.Diese Schwelle kann dann unter Verwendung der Vergleichsschaltung 204 mitnachfolgenden Speicherelementwiderständen verglichen werden, umden digitalen Wert zu bestimmen, der durch den Widerstand für einenbinären „1"-Wert dargestelltist. Es sei angemerkt, daß dieeinem Speicherelement zugeordneten digitalen Werte mehr als eineinzelnes Bit umfassen können. ZumBeispiel könnendie Magnetspeicherelemente 15A – 15I in 1 mehr als zwei unterschiedlicheWiderstandswerte umfassen, und daher können die Speicherelemente inder Lage sein, mehr als ein einzelnes Bit darzustellen. Tatsächlich können dieseSpeicherelemente N unterschiedliche resistive Werte aufweisen, und jedemder N unterschiedlichen digitalen Werte kann eine adaptive Schwellezugewiesen sein. Wenn z. B. ein Speicherelement vier unterschiedlicheWiderständevon 1 MΩ,1,33 MΩ,1,66 MΩ und2 MΩ aufweist,dann könnendurch dieses Speicherelement vier unterschiedliche digitale Wertedargestellt werden. Ebenso kann das Register 206 entwederein analoges oder digitales Register sein und kann anhand einesReferenzelements ausgelöstwerden. Auf diese Weise kann die Schwelle, durch die nachfolgendeSpeicherelemente verglichen werden, mit jedem nachfolgendem Lesevorgangaktualisiert werden, was es ermöglicht,nahe Widerstandsverschiebungen aufzuheben. [0027] EinigeAusführungsbeispielemachen sich die Korrelation resistiver Werte von nahen Speicherelementendurch Codieren der Daten, die in dem Speicher gespeichert werdensollen (sog. „Datenwort"), in eine übersetzteVersion des Datenworts (sog. „Codewort") zu Nutze. Das Codewortkann anstelle des Datenworts in die Speicherelemente geschriebenwerden. Das Datenwort kann Übergänge zwischenbenachbarten Bits des Datenworts codieren. Da jedes Bit in dem Codewort Übergänge zwischenbenachbarten Bits eines Datenworts darstellt, können nahe Speicherelementezum Zwecke einer Decodierung verglichen werden, was es ermöglicht,resistive Variationen aufzuheben. Das Decodieren des Codeworts ausden nahen Speicherelementen kann dann ein Vergleichen naher Speicherelementebeinhalten, um zu bestimmen, ob in dem ursprünglichen Datenwort ein Übergangexistierte. Dementsprechend kann durch Vergleichen naher Speicherelementeals Teil des Decodierens eine Korrelation resistiver Werte von nahenSpeicherelementen ausgenutzt werden. [0028] ZumBeispiel läßt sicheine binäre „1" in dem Datenwortunter Umständenin Übergänge (z.B. eine binäre „0" gefolgt von einerbinären „1" oder eine binäre „1" gefolgt von einerbinären „0") in dem Codewort übersetzen,und Nullen in dem Datenwort lassen sich unter Umständen inden Mangel eines Übergangs(z. B. eine binäre „0" gefolgt von einerbinären „0" oder eine binäre „1" gefolgt von einerbinären „1") in dem Codewort übersetzen.Ein Übergangsdecodierenkann dann eingesetzt werden, um das gespeicherte Codewort durch Vergleichennaher Speicherelemente zu decodieren. Dieses Übergangsdecodieren kann aufverschiedenste Weise erreicht werden, darunter, ohne Einschränkung, dieVerwendung eines Exklusiv-ODER-(XOR)-Logikgatters, um Unterschiedein benachbarten Bits des Codeworts zu erfassen. Somit können beimDecodieren der übergangsmäßig codiertenDaten Variationen zwischen Speicherelementwiderständen erklärt werden,da nahe Speicherelemente verglichen werden können (wodurch resistive Variationenaufgehoben werden), um das ursprünglicheDatenwort zu bestimmen. [0029] 3 zeigt eine beispielhafteImplementierung eines übergangscodierenden/-decodierendenProzesses. Es sei angemerkt, daß das übergangscodierendeSystem 300 aus 3 lediglichfür erläuterndeZwecke mit eingeschlossen ist und als lediglich eines von vielenmöglichen übergangscodierendenAusführungsbeispielenbetrachtet werden sollte, die durch diese Offenbarung umfaßt werden.Wie gezeigt, wandelt das System 300 anhand einer Codiereinrichtung 304 einDatenwort 302 (das zum Zweck der Veranschaulichung die BitsD0 – D3 aufweist) in ein Codewort 306 (dasdie Bits C0 – C4 aufweist)um. Das Codewort 306 wird dann in einem Speicher 308 gespeichert.Bei diesem Beispiel ist das Datenwort 0101. Das Datenwort 302 kanndurch die Codiereinrichtung 304 in ein Codewort 306 codiertwerden. Zum Zweck einer Codierung kann das Bit C0 desCodewortes vordefiniert sein – z.B. C0 = 0 wie gezeigt – und als Bezugspunkt für nachfolgendcodierte Bits verwendet werden. Dementsprechend kann das Bit D0 in dem Datenwort 302 mit dem BitC0 des Codeworts 306 verglichenwerden. Wenn die Bits die gleichen sind (was bei diesem Beispielder Fall ist), dann kann dem Bit C1 einbinärer „0"-Wert zugewiesenwerden; wenn die Bits unterschiedlich sind, dann kann dem Bit C1 ein binärer „1"-Wert zugewiesenwerden. Auf ähnlicheWeise kann das Bit C2 als binärer „1"-Wert bestimmt werden,da die Bits C1 – D1 sichim Wert unterscheiden. Nachfolgende Bits des Codeworts 306 (d.h. die Bits C3 – C4)könnenwie gezeigt auf ähnlicheWeise codiert werden. [0030] DasCodewort 306 stellt die Werte dar, die in den nahen Speicherelementen 309 desSpeichers 308 gespeichert sind. Um das in den nahen Speicherelementen 309 gespeicherteCodewort 306 zu decodieren, kann ein Vergleich der BitsC0 – C9, die aus den nahen Speicherelementen 309 wiedergewonnenwurden, notwendig sein. Da unter Umständen eine Korrelation zwischenden resistiven Werten der nahen Speicher elemente 309 besteht,kann es ein Vergleichen derselben miteinander während eines Decodierens ermöglichen, daß resistiveVariationen aufgehoben werden. 3 zeigtein möglichesVerfahren zum Vergleichen von Werten, die aus nahen den Speicherelementen 309 wiedergewonnenwurden, anhand der XOR-Logik 310 mit einer wie in Tabelle1 gezeigten Wahrheitstabelle. [0031] UnterVerwendung der XOR-Logik 310 kann für das Bit D0 einbinärer „0"-Wert bestimmt werden,da die Bits C0 und C1 diegleichen binärenWerte sind. Auf ähnlicheWeise kann das Bit D1 als binärer „1"-Wert bestimmt werden,da C1 und C2 nichtdie gleichen binärenWerte sind. Somit könnendurch Einsetzen eines Übergangscodierens/-decodierensder Daten nahe Speicherelemente (die eine Korrelation zwischen Widerstandswertenaufweisen können)verglichen werden, um resistive Variationen aufzuheben. [0032] Wieim folgenden beschrieben wird, nutzen einige Ausführungsbeispielebeim Bestimmen der digitalen Zustände von Speicherelementen eineKorrelation aus, die zwischen resistiven Werten naher Speicherelementeexistieren kann. Der digitale Zustand eines bestimmten Speicherelementskann anhand von Berechnungen, die die gemessenen Widerstände vonnahen Speicherelementen zusammen mit dem gemessenen Widerstand desbestimmten Speicherelements einschließen, vorausgesagt werden. Unterschiedezwischen Widerständendes bestimmten Speicherelements und der nahen Speicherelemente können Fehlertermedarstellen, die in einem voraussagendem Algorithmus verwendet werdenkönnen,der den tatsächlichendigitalen Wert des bestimmten Speicherelements voraussagt. Der voraussagendeAlgorithmus kann die Fehlerterme verwenden, um die Wahrscheinlichkeitder verschiedenen digitalen Zustände,die in den bestimmten Speicherelementen dargestellt sind, anzuzeigen,wobei der tatsächlichedigitale Wert dem digitalen Zustand mit dem höchsten wahrscheinlichen Wertzugeordnet sein kann. Dementsprechend können die den verschiedenenZuständenzugeordneten Fehlerterme minimiert werden, um einen digitalen Zustandvorauszusagen, der wahrscheinlich in dem bestimmten Speicherelementexistiert. [0033] VoraussagendeSchätzungsalgorithmenkönnendie Verwendung eines Viterbi-Decodierungsalgorithmus umfassen, umKorrelationsinformationen zwischen nahen Speicherelementen bereitzustellen.Es sei angemerkt, daß zwarein Viterbi-Algorithmusoffenbart wird, doch zahlreiche andere voraussagende Schätzungsalgorithmenverwendet werden können.Ebenso soll die Implementierung des hierin erörterten Viterbi-Algorithmusder Veranschaulichung dienen und kann auf der Basis des Systems,in dem derselbe implementiert wird, variieren. [0034] 4A zeigt einen Zwei-Zustand-Trellis 400,der die Verwendung eines Viterbi-Algorithmus beim Decodieren einesSpeicherarrays darstellt. Die Speicherelemente können aufeinanderfolgend vonE1 bis EN gelesenwerden, wobei der Widerstand an jedem Speicherort als ein hoherWiderstand oder niedriger Widerstand geschätzt werden kann. Ein hoherWiderstand kann einen binären „1"-Wert darstellen,wohingegen ein niedriger Widerstand einen binären „0"-Wert darstellen kann oder umgekehrt.Zum Zweck dieser Offenbarung werden Speicherelemente erörtert, diezwei möglicheWerte darstellen, doch könnenSpeicherelemente allgemein eine beliebige Mehrzahl von Bits – d. h.zwei oder mehr – darstellen.Zum Beispiel kann das Speicherelement E1 zweiBits mit vier möglichenWiderstandswerten (z. B. entsprechend zu 00, 01, 10, 11) darstellen,und so wäreein Vier-Zustand-Trellisin dieser Situation nützlich. [0035] 4B stellt die SpeicherelementeEN- 1 und EN des Trellis 400 aus 4A und die möglichen Übergänge, diebei einem Übergehenvon EN-1 bis EN zugeordnetsind, dar. Wenn das Speicherelement EN-1 alsein hoher Widerstandswert geschätztwird, kann das Speicherelement EN-1 zweimögliche Übergänge zu EN aufweisen. Das heißt, daß EN entwederals ein hoher Widerstand oder niedriger Widerstand geschätzt werden kann,so daß beimGehen von EN-1 zu EN einHoch-zu-Hoch-(HH)-Übergangoder ein Hoch-zu-Niedrig-(HL)-Übergangvorliegen kann, der durch die gestrichelten Linien in 4B als HH bzw. HL bezeichnetist. Wenn das Speicherelement EN-1 als einniedriger Widerstand geschätztwird, kann das Speicherelement EN-1 alternativauch zwei Übergänge aufweisen,die zu EN gehen. Auch hier kann EN entweder als ein hoher Widerstand oderals niedriger Widerstand geschätztwerden, so daß beimGehen von EN-1 zu EN einNiedrig-zu-Hoch-(LH)-Übergangoder ein Niedrig-zu-Niedrig-(LL)-Übergang vorliegen kann, derdurch die gestrichelten Linien in 4B alsLH bzw. LL bezeichnet ist. [0036] Beim Übergehenzwischen Speicherelementen kann für jeden Übergang ein erwarteter Wert μx berechnetwerden (wobei x HH, HL, LH oder LL ist). Ein Fehlerterm ∈x stellt die Differenz zwischen der resistiven Messungdes Speicherelements und dem erwarteten Wert μx dar.Es könnenfür jedenmöglichen Übergang Fehlertermeentwickelt werden. Durch Quadrieren des Fehlerterms und Zuordnendesselben zu jedem möglichen Übergangkann eine kumulative Historie von fehlerquadrierten Termen entwickeltwerden. Durch Auswählendes Wegs durch den Trellis mit dem minimalen gesamten fehlerquadriertenkönnenvoraussagende Werte bestimmt werden, die mit einer Widerstandsmessungkorrelieren. [0037] Hoch-zu-Hoch(HH). Der erwartete Wert μHH ist unten in Gleichung (1) als der Durchschnittdes fürdas Speicherelement EN gemessenen Wertesund des fürEN- 1 gemessenenWertes gegeben – wobeidie gemessenen Werte Widerstände,Induktivitäten,Kapazitätendarstellen können: [0038] DerFehlerterm ist der gemessene Wert des Widerstands an einem KnotenN minus dem erwarteten Wert μHH, wie in Gleichung (2) gezeigt ist. [0039] Derfehlerquadrierte Term ist in Gleichung (3) gezeigt. [0040] Niedrig-zu-Niedrig.Der fehlerquadrierte Term fürden Fall LL kann als symmetrisch bezüglich des Falls HH gezeigtwerden. [0041] Niedrig-zu-Hoch.Eine Näherungfür denerwarteten Wert μLH füreinen LH-Übergangkann in Gleichung (5) als der Durchschnittswert zwischen dem Widerstanddes Speicherelements N und dem Widerstand des Speicherelements N-1gegeben sein, der durch eine globale Variation Δ modifiziert ist. Die globaleVariation kann wie in Gleichung (6) gezeigt berechnet werden. [0042] Essei bemerkt, daß dieTerme EH und EL inGleichung (6) globale Durchschnitte der hohen bzw. niedrigen Widerstände darstellen.Der LH-Fehlerterm kann der Wert des Widerstands bei dem Knoten Nminus dem erwarteten Wert μLH sein, wie in Gleichung (7) gezeigt ist. [0043] Derfehlerquadrierte Term fürden LH-Übergangist in Gleichung (8) gezeigt. [0044] Hoch-zu-Niedrig.Auf ähnlicheWeise kann der Fall des LH-Übergangsverwendet werden, um den fehlerquadrierten Term für den FallHoch-zu-Niedrig (HL) zu entwickeln, wie in Gleichung (9) gezeigtist. [0045] 4C stellt fehlerquadrierteTerme dar, die dem in 4B gezeigtenZwei-Zustand-Trellis zugeordnet sind. Der maximale wahrscheinlicheWeg gemäß dem Viterbi-Decodierungsalgorithmusist der Weg durch den Trellis, der die Gesamtsumme der jedem Wegübergangzugeordneten fehlerquadrierten Terme minimiert. Somit können beimLesen jedes Speicherelements vorhergehende Bitzustandsinformationenverwendet werden, um den nächstenmöglichenBitzustand bei dem nächstenSpeicherelementlesevorgang vorauszusagen. In der Regel weisen Speicherelemente,die gelesen werden, ein Speicherwort auf und sind meistens einander sequentiellnahe – z.B. kann ein Speicherlesevorgang ein Lesen von Speicherelementeneiner einzelnen Reihe in dem Array mit sich bringen. Jedoch erfordertdas Lesen der Speicherelemente gemäß einigen der Ausführungsbeispielenicht, daß dieSpeicherelemente Teil der gleichen Reihe oder Säule in dem Speicher sind, umdie erwünschteWirkung zu erreichen. Zum Beispiel können beim Bestimmen eines Wertsfür dasSpeicherelement 15E in 1 dienahen Speicherelemente 15A – 15D und 15F – 15I verwendetwerden, um einen maximalen Wahrscheinlichkeitswert zu liefern. Esfolgt nun ein Beispiel, um die Anwendung eines Viterbi-Algorithmusauf einen Zwei-Zustand-Trelliszu zeigen, wobei darauf hingewiesen sei, daß dieses Beispiel lediglichder Veranschaulichung dient und nicht als den Schutzbereich derAnsprüchein irgendeiner Weise einschränkendaufgefaßtwerden sollte. [0046] VeranschaulichendesBeispiel. Ausschließlichals nichteinschränkendesBeispiel zeigt 5A einen Zwei-Zustand-Trellis 500 mitSpeicherelementen, die zwei möglicheBitzuständeaufweisen, d. h. einen binären „1"-Wert oder einenbinären „0"-Wert. Die SpeicherelementekönnenMagnetspeicherelemente aufweisen, derart daß der gemessene Widerstandjedes Elements in einem binären „1"-Bitzustand idealerweise2 Ω beträgt und dergemessene Widerstand jedes Elements in einem binären „0"-Bitzustand idealerweise 1 Ω beträgt. Aufgrundvon Ineffizienzen könnendie tatsächlichenWerte der Widerständewillkürlichvon den idealen Werten variieren. So sei z. B. angenommen, daß vier Speicherelemente1 – 4vorliegen, die binäreWerte von 1, 0, 0 bzw. 0 aufweisen, und gemessene Widerstände, diedie binärenWerte darstellen, 1, 7, 0, 9, 1, 2 bzw. 1, 4 Ω sind. [0047] DurchAnwenden der Gleichungen (3), (4), (8) und (9) können die fehlerquadriertenTerme wie in 5B gezeigt,berechnet werden. Da es vier Speicherelemente gibt, gibt es 24 möglicheWege durch den Trellis 500. Während der Berechnungen können unterVerwendung der fehlerquadrierten Terme Herleitungen erstellt werden,um die möglicheAnzahl von in Betrachtung zu ziehenden Wegen zu reduzieren. DieReduzierung aller möglichenWege auf einen einzelnen Weg wird als „Schließen" bezeichnet. Wenn die fehlerquadriertenTerme fürjeden möglichenWeg berechnet werden, wärebei dem in 5B gezeigtenBeispiel der Weg mit der niedrigsten Summe von fehlerquadriertenTermen (angezeigt durch die durchgehenden Linien) der Weg, der dieSpeicherelemente 1 – 4als binäreWerte von 1, 0, 0 bzw. 0 aufweisend schätzt. [0048] Inmanchen Situationen könnendie Datenmuster, die von aufeinanderfolgenden Speicherelementen gelesenwerden, den gleichen digitalen Wert enthalten (z. B. 1111....).Folglich erreichen einige voraussagende Schätzungsausführungsbeispiele (z. B. Viterbi)ein Schließenunter Umständenerst am Ende des Speicherworts. Da unter Umständen 2N (wobeiN die Anzahl von Bits in dem Datenwort ist) mögliche Wege existieren, die überprüft werdenmüssen,um den Weg zu bestimmen, der die Summe von fehlerquadrierten Termenminimiert, kann es erwünschtsein, das Schließenfrüherhervorzurufen. Nachteilige Wirkungen eines Schließens, daserst am Ende der zu schätzendenDaten auftritt, umfassen Erhöhungender Verarbeitungsleistung und der Zeit, die erforderlich ist, umden Inhalt des Speichers zu bestimmen. Deshalb erzwingen einigeAusführungsbeispieleder vorliegenden Erfindung unter Umständen das Schließen unterVerwendung von Initialisierungstechniken und/oder Codiertechniken. [0049] UnterBezugnahme auf das in 5B gezeigteBeispiel und seiner fehlerquadrierten Terme gibt es, wenn bekanntist, daß derSpeicherort 2 in einem binären „0"-Bitzustand ist (z.B. durch Initialisieren seines Wertes auf eine binäre „0"), zwei mögliche Wegevon dem Speicherort 1 zu dem Speicherort 2 und daher zwei mögliche Wertefür denSpei cherort 1. Ein möglicher Übergangbeim Gehen von dem Speicherort 1 zu dem Speicherort 2 ist ein Hoch-zu-Niedrig-(HL)-Übergangoder der Speicherort 1, der auf einen binären „1"-Bitzustand eingestellt ist. Ein anderermöglicher Übergangbeim Gehen von dem Speicherort 1 zu dem Speicherort 2 ist ein Niedrig-zu-Niedrig-(LL)-Übergang,oder der Speicherort 1, der auf einen binären „0"-Bitzustand eingestellt ist. Da derFehlerterm, der dem LL-Übergangzugeordnet ist (d. h. Speicherort 1 in einem binären „0"-Bitzustand),die Gesamtsumme der Fehlerterme erhöhen würde, und der Fehlerterm, derdem HL-Übergangzugeordnet ist (d. h. Speicherort 1 in einem binären „1"-Bitzustand), die Summe der Fehlertermesenken würde, wäre der vorausgesagteWert fürden Speicherort 1 1, wie das bei diesem Beispiel der Fall ist. [0050] Beieinigen Ausführungsbeispielenkann ein zusätzlichesSpeicherelement enthalten sein, so daß dasselbe initialisiert werdenkann, um sequentielle Speicherelemente mit dem gleichen Wert zuverhindern. Der tatsächlicheWert des zusätzlichenSpeicherelements kann auf vielerlei Weise eingestellt und interpretiertwerden. Ein diesbezüglichesVerfahren ist das Durchführeneiner OR-Funktion bei den Speicherelementen und Speichern des Ergebnissesder OR-Funktionin dem zusätzlichenSpeicherelement. Dementsprechend kann das zusätzliche Speicherelement aufeinen binären „0"-Bitzustand eingestelltwerden, wenn die Speicherelemente alle binären „0"-Werte enthalten, oder auf einen binären „1"-Bitzustand, wenndie Speicherelemente alle binären „1"-Werte enthalten.Für denFall, daß voraussagendeSchätzungenzwei gleichermaßenmögliche Wegebestimmen (was der Fall sein kann, wenn die Speicherelemente diegleichen Werte enthalten), kann das zusätzliche Speicherelement danngeprüftwerden, um den Wert der Speicherelemente zu bestimmen. Das heißt, daß die Speicherelementealle Einsen enthalten können,wenn der Wert des zusätzlichenSpeicherelements durch die OR-Funktion auf eine binäre „1" eingestellt wird,oder die Speicherelemente alle Nullen enthalten können, wennder Wert des zusätzlichenSpeicherelements durch die OR-Funktion auf eine binäre „0" eingestellt wird. [0051] Beianderen Ausführungsbeispielenkann ein zusätzlichesSpeicherelement verwendet sein, um den voraussagenden Schätzungsalgorithmuszu initialisieren. Zum Beispiel kann mit einem vorbestimmten Wertin das zusätzlicheSpeicherelement geschrieben werden. Der Widerstand, der den vorbestimmtenWert darstellt, kann gemessen und verwendet werden, um die resistivenWerte anderer naher Speicherelemente zu messen. [0052] Beianderen Ausführungsbeispielenwiederum könnendie Daten codiert werden, bevor dieselben in Speicherelemente geschriebenwerden, um ein Decodieren gespeicherter Daten zu ermöglichen.Es existieren zahlreiche Codierschemata, die verwendet werden können. EinBeispiel ist ein „8/9-Codier"-Schema, bei dem ein 8-Bit-Datenwortals 9-Bit-Codewort codiert wird. Von den 512 möglichen 9-Bit-Codewörtern werdennur 256 benötigt,um ein 8-Bit-Datenwort zu codieren. Dies ermöglicht, daß die Codewörter so ausgewählt werden,um eine erwünschteEigenschaft aufzuweisen, wie z. B. Einsetzen zumindest eines Übergangszwischen nahen Bits. [0053] Essei angemerkt, daß eskein erforderliches Verhältniszwischen der Anzahl zusätzlicherSpeicherelemente, die füreine Initialisierung verwendet werden, und der Anzahl von Speicherelementen,die zum Speichern von Daten verwendet werden, gibt. Dementsprechendkönneneinige Ausführungsbeispieleeine höhere Leistungerreichen, wenn zumindest ein zusätzliches Speicherelement für Initialisierungszweckeverwendet wird, wenn jedes Datenwort gespeichert wird. Ebenso kannder Ort des zusätzlichenSpeicherelements innerhalb des Arrays aus Speicherelementen dynamischsein und kann gewähltwerden, um nähe-verbesserteLesealgorithmen weiter zu optimieren. Wenn z. B. das Speicherarray einenresistiven Versatz mit einem bekannten Gefälle enthält (z. B. von einem Herstellungsproblem),dann kann das zusätzlicheSpeicherelement dynamisch innerhalb des Speicherarrays positioniertsein, um das Ansprechen des speicherlesenden Algorithmus auf bekannteGefällezu maximieren, wohingegen die Gesamtanzahl der verwendeten zusätzlichenSpeicherelemente minimiert wird. [0054] Einigeder Ausführungsbeispielebeseitigen unter Umständendie Praxis des „zerstörenden Lesens". Das zerstörende Lesenbezieht sich auf die Praxis des a) Pufferns des Widerstands, derdem in einem Speicherelement gespeicherten Wert zugeordnet ist;b) Speicherns eines vorbestimmten Werts in dem Speicherelement – was denmomentanen Wert zerstört;und c) Messens des Widerstands des Speicherelements, der dem vorbestimmtenWert zugeordnet ist. Wenn die Werte, die den Werten des Speicherelementszugeordnet sind, nicht von vornherein bekannt sind, kann es notwendigsein, einen zerstörendenLesevorgang durchzuführen,um die resistiven Werte zu bestimmen. Bei einigen Ausführungsbeispielenkönnendurch Verwendung der nahen Speicherelemente als Referenz voraussagendeSchätzungenfür dieWerte ohne ein zerstörendes Lesendurchgeführtwerden. [0055] Essei angemerkt, daß diehierin offenbarten Ausführungsbeispiele(und ihre Äquivalente)zwar in einem Speicher eingesetzt werden können, dieser Speicher aberferner in einem beliebigen elektronischen Gerät eingesetzt werden kann. Insbesonderekann dieser Speicher in einem Computer enthalten sein, der einen Prozessoraufweist, der mit dem Speicher gekoppelt sein kann. Ebenso können diein den 2, 3 und/oder 5 gezeigten Ausführungsbeispiele zum Interpretierender digitalen Werte von Speicherelementen gleichzeitig in einemSpeicher verwendet werden. Zum Beispiel können einige Abschnitte desSpeichers von der Nutzung der voraussagenden Verfahren aus 5 profitieren, wohingegenandere Abschnitte des gleichen Speichers von der Nutzung der codierendenVerfahren aus 3 profitierenkönnen. [0056] Alternativkann ein Verfahren verwendet werden, um die Gültigkeit anderer Verfahrenzu verifizieren, z. B. könnendie voraussagenden Verfahren aus 5 verwendetwerden, um die ordnungsgemäße Operation derin 2 gezeigten adaptivenSchwellenausführungsbeispielezu verifizieren. [0057] Derhierin offenbarte Speicher und die Verfahren zum Steuern eines Stromsin Speicherschreibleitungen könnenin einem Computersystem verwendet werden. 6 stellt ein beispielhaftes Computersystem 100 dar.Das Computersystem aus 6 umfaßt eineCPU 102, die übereinen CPU-Bus mit einem Brückenschaltwerk 106 elektrischgekoppelt sein kann. Das Brückenschaltwerk 106 wirdmanchmal als „North-Bridge" bezeichnet. DieNorth-Bridge 106 koppelt durch einen Speicherbus ebenfallselektrisch mit einem Hauptspeicherarray 104 und kann ferner über einenAdvanced-Graphics-Processor-(AGP)-Busmit einer Graphiksteuerung 108 elektrisch koppeln. Es seibemerkt, daß dasHauptspeicherarray 104 ein Magnetspeicherarray sein kann, dasdie offenbarten Verfahren zum Steuern des Schreibleitungsstromsnutzt. Die North-Bridge 106 koppeltdie CPU 102, den Speicher 104 und die Graphiksteuerung 108 mitden anderen Peripheriegerätenin dem System z. B. durch einen primären Erweiterungsbus (BUS A),wie z. B. einen PCI-Bus oder einen EISA-Bus. Es können sichverschiedene Komponenten, die unter Verwendung des Busprotokollsvon BUS A wirksam sind, wie z. B. ein Audiogerät 114, ein IEEE-1394-Schnittstellengerät 116 undeine Netzwerkschnittstellenkarte (NIC) 118, auf diesemBus befinden. Diese Komponenten können auf die Hauptplatine integriertsein, wie durch 6 vorgeschlagen,oder sie könnenin Erweiterungssteckplätze 110 eingestecktsein, die mit dem BUS A verbunden sind. [0058] Wennandere sekundäreErweiterungsbusse in dem Computersystem vorgesehen sind, kann einanderes Brückenschaltwerk 112 verwendetwerden, um den primärenErweiterungsbus (BUS A) mit dem zweiten Erweiterungsbus (BUS B)elektronisch zu koppeln. Dieses Brückenschaltwerk 112 wirdmanchmal als „South-Bridge" bezeichnet. Es können sichverschiedene Komponenten, die unter Verwendung des Busprotokollsvon BUS B wirksam sind, wie z. B. eine Festplattensteuerung 122,ein System-ROM 124 und eine Super-I/O-Steuerung 126,auf diesem Bus befinden. Die Steckplätze 120 können ebenfallsfür Einsteckkomponentenvorgesehen sein, die das Protokoll des BUS B erfüllen. [0059] Dieobige Erörterungdient zur Veranschaulichung der Prinzipien und verschiedenen Ausführungsbeispieleder vorliegenden Erfindung. Fachleuten auf dem Gebiet werden zahlreicheVariationen und Modifizierungen klar, sobald die obige Offenbarungvollständigerkannt wurde. Dementsprechend könnenAspekte der Ausführungsbeispielein verschiedenen Formen miteinander kombiniert werden, um erwünschte Ergebnisse zuerreichen. Zum Beispiel könnendie adaptiven Schwellentechniken in dem Viterbi-Speicherdecodierungsalgorithmuseingesetzt werden, um einen adaptiven Schwellenwert zum Lesen derSpeicherelemente zu produzieren. Außerdem können die gezeigten Speicherelementeauf eine beliebige, nicht auf Einzel-Bit-Memorys beschränkte Weiseausgerichtet sein, dadurch daß Mehr-Bit-Speicherelementevorliegen können,die in einer Nicht-Array-Weise angeordnet sind. Es ist beabsichtigt,daß diefolgenden Ansprüchederart interpretiert werden, daß dieselbenalle derartigen Variationen und Modifizierungen umfassen.
权利要求:
Claims (52) [1] Verfahren, das folgende Schritte aufweist: (a)Messen von Werten, die einer Mehrzahl von Speicherelementen (15A – 15G)zugeordnet sind, wobei die Werte einen digitalen Zustand anzeigen; (b)Berechnen einer Mehrzahl von Termen, die Übergängen in den Werten zwischenSpeicherelementen (15A – 15G) zugeordnetsind; und (c) Bestimmen des digitalen Zustands zumindest einesSpeicherelements (15A – 15G)unter Verwendung der Berechnungen aus (b). [2] Verfahren gemäß Anspruch1, bei dem der Schritt (b) ein Berechnen der Mehrzahl von Termenzwischen nahen Speicherelementen aufweist. [3] Verfahren gemäß Anspruch2, bei dem die nahen Speicherelemente beobachtete Werte aufweisen,die aufgrund von Verarbeitungsineffizienzen variieren. [4] Verfahren gemäß Anspruch2 oder 3, bei dem die Berechnungen ein Berechnen einer Summe vonTermen, die Übergängen zugeordnetsind, aufweisen. [5] Verfahren gemäß Anspruch4, bei dem der Schritt (c) ein Bestimmen der digitalen Zustände einesSpeicherworts durch Auswähleneines Ergebnisses, das die Summe der Übergangsterme minimiert, aufweist. [6] Verfahren gemäß einemder Ansprüche2 bis 5, das ferner ein Initialisieren der Mehrzahl von Speicherelementen(15A – 15G),um die Längesich wiederholender digitaler Zustände zu begrenzen, aufweist. [7] Verfahren gemäß Anspruch6, bei dem die Initialisierung ein Zuordnen von zumindest einemzusätzlichenSpeicherelement umfaßt. [8] Verfahren gemäß Anspruch6 oder 7, bei dem die Initialisierung ein Codieren der Mehrzahlvon Speicherelementen (15A – 15G) umfaßt. [9] Verfahren gemäß einemder Ansprüche1 bis 8, bei dem die Speicherelemente (15A – 15G)Magnetspeicherelemente aufweisen. [10] Verfahren gemäß Anspruch9, bei dem die bei (a) gemessenen Werte resistive Werte darstellen. [11] Speicher, der folgende Merkmale aufweist: eineMehrzahl von Speicherelementen (15A – 15G); eineSchaltungsanordnung, die mit der Mehrzahl von Speicherelementen(15A – 15G)gekoppelt ist; und bei dem die Schaltungsanordnung Werte einerMehrzahl von Speicherelementen (15A – 15G), die digitalen Zuständen entsprechen,beobachtet und die beobachteten Werte nutzt, um den digitalen Zustandvon zumindest einem Speicherelement zu bestimmen. [12] Speicher gemäß Anspruch11, bei dem die beobachteten Werte verwendet werden, um eine Mehrzahl von Übergangstermenzu berechnen, die möglichen Übergängen zwischennahen Speicherelementen zugeordnet sind. [13] Speicher gemäß Anspruch12, bei dem die nahen Speicherelemente beobachtete Werte aufweisen, dieaufgrund von Verarbeitungsineffizienzen variieren. [14] Speicher gemäß einemder Ansprüche11 bis 13, bei dem die Schaltungsanordnung ein Vergleichsgerät (204)und ein Register (206) umfaßt. [15] Speicher gemäß Anspruch14, bei dem das Vergleichsgerät(204) den Inhalt des Registers (206) vergleicht,um den digitalen Zustand eines gewünschten Speicherelements zubestimmen. [16] Speicher gemäß Anspruch15, bei dem der Inhalt des Registers (206) eine adaptiveSchwelle darstellt, die modifiziert ist, vorherige Bestimmungenvon vorherigen Speicherelementen widerzuspiegeln. [17] Speicher gemäß einemder Ansprüche12 bis 16, bei dem die Mehrzahl von Übergangstermen verwendet wird,um den digitalen Zustand eines Speicherworts zu bestimmen. [18] Speicher gemäß Anspruch17, bei dem die Mehrzahl von Speicherelementen (15A – 15G)initialisiert wird, um die Längesich wiederholender digitaler Zustände zu begrenzen. [19] Speicher gemäß Anspruch18, bei dem die Initialisierung ein Zuordnen von zumindest einemzusätzlichenSpeicherelement umfaßt. [20] Speicher gemäß Anspruch18 oder 19, bei dem die Initialisierung ein Codieren der Daten unterVerwendung eines 8/9-Codes umfaßt,wobei ein 8-Bit-Datenwort als ein 9-Bit-Codewort codiert wird. [21] Speicher gemäß einemder Ansprüche11 bis 20, bei dem die Speicherelemente (15A – 15G)Magnetspeicherelemente aufweisen. [22] Speicher gemäß Anspruch21, bei dem die beobachteten Werte resistive Werte darstellen. [23] Computer, der folgende Merkmale aufweist: einenProzessor; einen mit dem Prozessor gekoppelten Speicher, wobeider Speicher ferner eine Mehrzahl von Speicherelementen (15A – 15G)aufweist; eine Schaltungsanordnung, die mit der Mehrzahl vonSpeicherelementen (15A – 15G) gekoppelt ist;und bei dem die Schaltungsanordnung Werte einer Mehrzahl vonSpeicherelementen (15A – 15G), die digitalen Zuständen entsprechen,beobachtet und die Werte naher Speicherelemente nutzt, um den digitalenZustand von zumindest einem Speicherelement vorauszusagen. [24] Computer gemäß Anspruch23, bei dem die Schaltungsanordnung ein Vergleichsgerät (204)und ein Register (206) umfaßt. [25] Computer gemäß Anspruch24, bei dem das Vergleichsgerät(204) den Inhalt des Registers (206) vergleicht,um den digitalen Zustand eines gewünschten Speicherelements zubestimmen. [26] Computer gemäß Anspruch25, bei dem der Inhalt des Registers (206) eine adaptiveSchwelle darstellt, die modifiziert ist, vorhergehende Bestimmungenvon vorhergehenden Speicherelementen widerzuspiegeln. [27] Computer gemäß einemder Ansprüche23 bis 26, bei dem die Werte verwendet werden, um eine Mehrzahlvon Übergangstermenzu berechnen, die den möglichen Übergängen zwischennahen Speicherelementen zugeordnet sind. [28] Computer gemäß Anspruch27, bei dem die nahen Speicherelemente beobachtete Werte aufweisen, dieaufgrund von Verarbeitungsineffizienzen variieren. [29] Computer gemäß Anspruch27 oder 28, bei dem die Mehrzahl von Übergangstermen verwendet wird, umden digitalen Zustand eines Speicherworts zu bestimmen. [30] Computer gemäß einemder Ansprüche23 bis 29, bei dem die Speicherelemente (15A – 15G)Magnetspeicherelemente aufweisen. [31] Computer gemäß Anspruch30, bei dem die beobachteten Werte resistive Werte darstellen. [32] Verfahren, das folgende Schritte aufweist: (a)Vergleichen von Werten einer Mehrzahl von Speicherelementen (15A – 15G)mit einer adaptiven Schwelle, wobei die Werte einen digitalen Zustandanzeigen; (b) Bestimmen des digitalen Zustands, der durch denVergleich von (a) angezeigt wird; und (c) Aktualisieren deradaptiven Schwelle, um den verglichenen Wert und den digitalen Zustanddesselben einzuschließen. [33] Verfahren gemäß Anspruch32, bei dem die adaptive Schwelle einen Durchschnitt der Mehrzahlvon Werten fürnahe Speicherelemente darstellt. [34] Verfahren gemäß Anspruch33, bei dem die Speicherelemente (15A – 15G) Magnetspeicherelemente aufweisen. [35] Verfahren gemäß Anspruch34, bei dem die bei (a) verglichenen Werte resistive Werte darstellen. [36] Speicher gemäß Anspruch34 oder 35, bei dem die nahen Speicherelemente Widerstände aufweisen, dieaufgrund von Verarbeitungsineffizienzen variieren. [37] Verfahren gemäß Anspruch35 oder 36, bei dem die adaptive Schwelle unter Verwendung einerresistiven Referenz initialisiert wird. [38] Speicher, der folgende Merkmale aufweist: eineMehrzahl von Speicherelementen (15A – 15G); eineVergleichsschaltungsanordnung (204), die mit der Mehrzahlvon Speicherelementen (15A – 15G) gekoppelt ist; einRegister (206), das mit der Vergleichsschaltungsanordnung(204) gekoppelt ist; und bei dem die Vergleichsschaltungsanordnung(204) Werte der Mehrzahl von Speicherelementen (15A – 15G) miteiner adaptiven Schwelle, die in dem Register (206) enthaltenist, vergleicht, einen durch den Vergleich angezeigten digitalenZustand bestimmt und die adaptive Schwelle, die in dem Register(206) enthalten ist, aktualisiert, um die Werte für den angezeigtendigitalen Zustand einzuschließen. [39] Speicher gemäß Anspruch38, bei dem die adaptive Schwelle einen Durchschnitt der Mehrzahlvon Werten fürnahe Speicherelemente darstellt. [40] Speicher gemäß Anspruch39, bei dem die nahen Speicherelemente beobachtete Werte aufweisen, dieaufgrund von Verarbeitungsineffizienzen variieren. [41] Speicher gemäß Anspruch39 oder 40, bei dem die Mehrzahl von Speicherelementen (15A – 15G)Magnetspeicherelemente aufweisen. [42] Speicher gemäß Anspruch41, bei dem die verglichenen Werte resistive Werte darstellen. [43] Speicher gemäß Anspruch42, bei dem die adaptive Schwelle unter Verwendung von zumindesteiner resistiven Referenz initialisiert wird. [44] Verfahren, das folgende Schritte aufweist: Codierenvon Daten in eine Mehrzahl von nahen Speicherelementen, derart,daß naheSpeicherelemente verglichen werden, um die Daten zu decodieren;und Decodieren der Daten durch Vergleichen naher Speicherelemente. [45] Verfahren gemäß Anspruch44, bei dem die Speicherelemente (15A – 15G) Magnetspeicherelemente aufweisen. [46] Verfahren gemäß Anspruch45, bei dem die Speicherelemente resistive Werte darstellen. [47] Speicher gemäß Anspruch46, bei dem die nahen Speicherelemente Widerstände aufweisen, die aufgrundvon Verarbeitungsineffizienzen variieren. [48] Speicher, der folgende Merkmale aufweist: eineMehrzahl von Speicherelementen (15A – 15G); eineSchaltungsanordnung, die mit der Mehrzahl von Speicherelementen(15A – 15G)gekoppelt ist; bei dem die Schaltungsanordnung übergangscodierteDaten in eine Mehrzahl von nahen Speicherelementen schreibt und übergangscodierteDaten durch Vergleichen der nahen Speicherelemente liest. [49] Speicher gemäß Anspruch48, bei dem die Mehrzahl von Speicherelementen (15A – 15G)Magnetspeicherelemente. aufweist. [50] Speicher gemäß Anspruch49, bei dem die verglichenen Werte resistive Werte darstellen. [51] Speicher gemäß Anspruch50, bei dem die nahen Speicherelemente Widerstände aufweisen, die aufgrundvon Verarbeitungsineffizienzen variieren. [52] Speicher, der folgende Merkmale aufweist: eineEinrichtung zum Beobachten von Werten einer Mehrzahl von Speicherelementen(15A – 15G);und eine Einrichtung zum Bestimmen des digitalen Zustands vonzumindest einem Speicher unter Verwendung von gemessenen Wertenvon nahen Speicherelementen.
类似技术:
公开号 | 公开日 | 专利标题 US9224457B2|2015-12-29|Non-volatile storage with temperature compensation based on neighbor state information Cai et al.2013|Threshold voltage distribution in MLC NAND flash memory: Characterization, analysis, and modeling US9734012B2|2017-08-15|Data encoding in solid-state storage devices US9697905B2|2017-07-04|Updating read voltages using syndrome weight comparisons US8869014B2|2014-10-21|Multi-level signal memory with LDPC and interleaving CN107506257B|2020-05-19|错误检查纠正解码方法与装置 CN101868829B|2014-01-29|用于m位存储器单元的m+n位编程和m+l位读取 KR101032576B1|2011-05-06|셀 당 비트가 가변하는 고체 상태 메모리 디바이스로의 에러 정정 코드의 프로그래밍 US10475523B2|2019-11-12|Updating read voltages triggered by the rate of temperature change JP6313073B2|2018-04-18|固体記憶素子及び方法 US7149949B2|2006-12-12|Method for error correction decoding in a magnetoresistive solid-state storage device US9244763B1|2016-01-26|System and method for updating a reading threshold voltage based on symbol transition information CN103208309B|2016-03-09|存储设备中的失真估计和消除 TWI375228B|2012-10-21|Adaptive dynamic reading of flash memories KR102059209B1|2019-12-24|비휘발성 메모리의 차동 벡터 저장 US7210077B2|2007-04-24|System and method for configuring a solid-state storage device with error correction coding US7904783B2|2011-03-08|Soft-input soft-output decoder for nonvolatile memory KR101919934B1|2018-11-20|불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법 및 극 부호화된 부호어를 불휘발성 메모리 장치의 멀티 비트 데이터에 매핑하는 매핑 패턴을 선택하는 매핑 패턴 선택 방법 US7525871B2|2009-04-28|Semiconductor integrated circuit JP4672743B2|2011-04-20|誤り訂正装置および誤り訂正方法 CN102741819B|2016-02-10|用于解码码字的方法和设备 TWI501241B|2015-09-21|在快閃記憶體中用於軟性解映射及單元間干擾抑制的方法及裝置 JP5535219B2|2014-07-02|基準セルを使用する、メモリ・デバイスの軟データ生成の方法および装置 JP4856110B2|2012-01-18|チェンサーチ装置およびチェンサーチ方法 US5996108A|1999-11-30|Memory system
同族专利:
公开号 | 公开日 US20040268065A1|2004-12-30| US7467264B2|2008-12-16|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2005-01-27| OP8| Request for examination as to paragraph 44 patent law| 2009-12-17| 8139| Disposal/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
国家/地区
|