-
Computer
sind zu einem wesentlichen Bestandteil der Gesellschaft geworden.
Computer können
Mikroprozessoren, Speichermedien (z. B. CD-ROM, Festplatte, Diskettenlaufwerk),
Speicher und Eingabe-/Ausgabevorrichtungen umfassen. Softwareprogramme,
die auf dem Computer laufen, können
den Betrieb des Mikroprozessors koordinieren. Während die Programme laufen,
kann es sein, daß der
Mikroprozessor Informationen in den Speicher schreiben von demselben
lesen muß.
-
Speichervorrichtungen
sind in zahlreichen Gebieten, die Computer und Elektronik umfassen,
allgegenwärtig.
Herkömmlicherweise
wird ein Speicher mit Speicherelementen implementiert, die in der
Lage sind, eine elektrische Ladung zu speichern. In jüngster Zeit
wurde Speicher mit Speicherelementen implementiert, die in der Lage
sind, eine magnetische Ausrichtung zu speichern. Im allgemeinen
umfassen Festkörpermagnetspeicherarrays
einzelne Speicherelemente, die unter Verwendung von Halbleiterverarbeitungstechniken aufgebaut
werden. Magnetspeichervorrichtungen können im Vergleich zu Nichtmagnetspeicherarrays
(z. B. DRAM) Vorteile aufweisen, weil dieselben, unter anderem,
nicht aufgefrischt werden müssen.
-
Die
einzelnen Magnetelemente des Magnetspeicherarrays können Materialien
mit variierenden Magneteigenschaften umfassen, die durch eine isolierende
Schicht getrennt sind. Die Magnetfelder der getrennten Materialien
können
in der gleichen Richtung ausgerichtet sein (als „parallel" bezeichnet), oder die Ausrichtung derselben
kann entgegengesetzt zueinander sein (was als „antiparallel" bezeichnet wird).
Der elektrische Widerstandswert der Magnetelemente kann ab hängig von
der parallelen oder antiparallelen Ausrichtung der Magnetfelder
variieren. Auf diese Weise können
digitale Informationen durch Zuordnen von digitalen Werten (z. B.
Einsen und Nullen) zu dem elektrischen Widerstandswert, der dem
parallelen und antiparallelen Zustand zugeordnet ist, gespeichert
und wiedergewonnen werden.
-
Um
den Widerstandswert eines Speicherelements zu bestimmen, der effektiv
den digitalen Wert bestimmt, der in demselben enthalten ist, kann
eine Steuerschaltungsanordnung verwendet werden, um eine Spannung über das
Speicherelement zu entwickeln. Die Steuerschaltungsanordnung kann
diese Spannung oder alternativ einen Strom, der von dieser Spannung
abgeleitet wird, verwenden, um den Widerstandswert des Speicherelements
zu schätzen.
Der digitale Wert, der in dem Speicherelement gespeichert ist, kann
von dem gemessenen Widerstandswert bestimmt werden.
-
Speicherelemente
sind häufig
auf dem gleichen Chip integriert wie die Steuerschaltungsanordnung. Die
Herstellungskosten des Chips hängen
direkt zusammen mit der Gesamtchipfläche (d. h. der Fläche des Arrays
von Speicherelementen und der Fläche
der Steuerschaltungsanordnung), und im allgemeinen sind größere Chips
aufwendiger in der Herstellung. Weil ein Speicher häufig bei
Verbraucherelektronik verwendet wird, sind kostengünstige Speicher
wünschenswert.
Folglich ist die Steuerschaltung beim Herstellen eines kostengünstigen
Speichers häufig
entworfen, um so klein wie möglich
zu sein, um die Fläche
und die Kosten des Chips zu minimieren.
-
Weil
Kunden nicht gerne warten, während
Computer und andere elektronische Geräte Informationen laden und
entladen, ist die Geschwindigkeit des Speichers ebenfalls wichtig.
Die Geschwindigkeit des Speichers hängt von vielen Faktoren ab,
einschließlich
davon, wieviel Zeit benötigt
wird, um auf Speicherelemente zuzugreifen, und wie viel Zeit benötigt wird,
um den digitalen Wert zu lesen, der in den Speicher elementen enthalten
ist. Um die Zugriffszeit zu verringern und die Lesezeit des Speichers
zu verringern, muß die
Größe und Komplexität der Steuerschaltung
eventuell erhöht
werden. Wie oben bereits erwähnt
wurde, kann dies jedoch einen negativen Einfluß auf die Fläche/die
Kosten des Speichers haben. Somit kann es schwierig sein, einen Speicher
zu entwerfen, der sowohl schnell als auch billig ist, weil Techniken
zum Erhöhen
der Geschwindigkeit häufig
zu Kostenerhöhungen
führen
und umgekehrt.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Lesen
von Speicherwerten, ein Verfahren zum Reduzieren der Lesezeit von
Speicherwerten, einen Speicher und ein Computersystem mit verbesserten
Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1, 21 und 9, einen
Speicher gemäß Anspruch
14 und 27 sowie ein Computersystem gemäß Anspruch 24 gelöst.
-
Verfahren
und Vorrichtungen zum Reduzieren der Lesezeit eines Speicherarrays
sind offenbart. Bei einem Ausführungsbeispiel
umfaßt
das Verfahren folgende Schritte: Abtasten unbekannter Datenwerte
von einer Mehrzahl von Speicherelementen, Puffern der unbekannten
Werte, Schreiben bekannter Werte in die Mehrzahl von Speicherelementen
und Abtasten der bekannten Werte, und Vergleichen der bekannten
Werte mit den gepufferten Werten.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1A ein Substrat in Waferform;
-
1B einen vereinfachten Querschnitt
einer integrierten Schaltung, die einen Magnetspeicher enthält;
-
2A eine beispielhafte Implementierung
eines Magnetspeicherelements;
-
2B eine beispielhafte Implementierung
eines Magnetspeicherelements, das Lesezeilen umfaßt;
-
3 eine schematische Darstellung
eines Magnetspeicherarrays;
-
4 den Betrieb eines Ausführungsbeispiels
zum Lesen von Elementen eines Speichers;
-
5 die Zeitgebung, die einer
sequentiellen Selbstbezugnahmetechnik zugeordnet ist;
-
6 den Betrieb eines alternativen
Ausführungsbeispiels
zum Lesen von Speicherelementen;
-
7 den Betrieb noch eines
weiteren Ausführungsbeispiels
zum Lesen von Speicherelementen;
-
8 eine beispielhafte Schaltung
zum Übersetzen
eines Widerstandswerts in einen digitalen Zählwert;
-
9 den Betrieb noch eines
weiteren Ausführungsbeispiels
zum Lesen von Speicherelementen;
-
10 die Zeitgebung, die einer
gleichzeitigen Selbstbezugnahmeleseoperation zugeordnet ist;
-
11A ein Beispiel einer Selbstbezugnahmetechnik;
-
11B den Betrieb eines weiteren
Beispiels einer Selbstbezugnahmetechnik;
-
12 das Beispiel von 11A und 11B, das an die verschiedenen Leseausführungsbeispiele
angewendet wird; und
-
13 ein beispielhaftes Computersystem,
das den hierin offenbarten Magnetspeicher verwenden kann.
-
In
der folgenden Beschreibung und den Ansprüchen werden bestimmte Begriffe
verwendet, um spezielle Systemkomponenten zu bezeichnen. Wie es
für einen
Fachmann auf diesem Gebiet klar ist, können Firmen eine Komponente
unterschiedlich bezeichnen. Dieses Dokument beabsichtigt nicht,
zwischen Dokumenten zu unterscheiden, die sich vom Namen aber nicht
von der Funktion her unterscheiden. Bei der folgenden Erörterung
und in den Ansprüchen
werden die Begriffe „umfassen" und „beinhalten" auf eine offene
Weise verwendet, und sollten somit als „umfassend, aber nicht beschränkt auf" interpretiert werden.
Außerdem
soll der Begriff „koppeln" oder „gekoppelt" entweder eine indirekte
oder eine direkte elektrische Verbindung bedeuten. Falls somit eine
erste Vorrichtung mit einer zweiten Vorrichtung gekoppelt ist, kann
diese Verbindung durch eine direkte elektrische Verbindung oder
durch eine indirekte elektrische Verbindung über andere Vorrichtungen und
Verbindungen sein. Der Begriff „magnetisch gekoppelt" soll sich jedoch
auch auf die Situation beziehen, in der ein Magnetfeld, das aus
einem ersten Material stammt, in ein zweites Material induziert
wird. Beispielsweise kann von einem Leiter, der einen Strom treibt,
ein Magnetfeld stammen, das in ein Magnetmaterial gekoppelt werden
kann.
-
Die
Zeichnungen und die folgende Erörterung
beziehen sich auf verschiedene Ausführungsbeispiele der Erfindung.
Obwohl ein oder mehrere dieser Ausführungsbeispiele bevorzugt werden
können,
sollten die offenbarten Ausführungsbeispiele
nicht als Beschränkung
des Schutzbereichs der Offenbarung, einschließlich der Ansprüche interpretiert
oder anderweitig verwendet werden. Außerdem ist es für einen
Fachmann auf diesem Gebiet klar, daß die folgende Beschreibung
eine breite Anwendung findet, und die Erörterung jedes Ausführungsbeispiels
soll nur beispielhaft für
dieses Ausfüh rungsbeispiel
sein, und nicht andeuten, daß der Schutzbereich
der Erfindung, einschließlich
der Ansprüche,
auf dieses Ausführungsbeispiel
beschränkt
ist.
-
1A stellt ein Substrat 10 in
Waferform dar. Das Substrat 10 kann Silizium, Germanium,
Galliumarsenid oder andere Elemente umfassen, die Halbleitereigenschaften
aufweisen. Im allgemeinen können
die Schaltungsanordnung und Speicherelemente auf der Seite 10A des
Substrats integriert sein, während
die gegenüberliegende
Seite 10B im wesentlichen leer bleiben kann. 1B zeigt einen vereinfachten
Querschnitt des Substrats 10, das die Schaltungsanordnung 12 und
die Speicherelemente 14 integriert auf demselben umfaßt. Die
Schaltungsanordnung 12 kann Komplementär-Metalloxid-Halbleiter („CMOS") Typ Transistoren
umfassen, die gemäß verschiedenen
Halbleiterverarbeitungstechniken verarbeitet werden können. Obwohl
die Schaltungsanordnung 12 bezüglich dem CMOS erörtert wird,
können
alternativ andere Technologien (d. h. bipolar, JFET) verwendet werden.
Die Schaltungsanordnung 12 kann eine Schaltungsanordnung
zum Schreiben und Lesen von digitalen Informationen und von dem
Magnetspeicher 14 implementieren. Weil häufig unterschiedliche
Materialien und Techniken verwendet werden, werden die Schaltungsanordnung 12 und
der Speicher 14 häufig
getrennt hergestellt. Beispielsweise können in 1B die Transistoren in der Schaltungsanordnung 12 auf
der integrierten Schaltung integriert werden, bevor die Speicherelemente
des Speichers 14 integriert werden.
-
Der
Magnetspeicher 14 kann Speicherelemente umfassen, wobei
Informationen durch Ändern
des Magnetzustands derselben in den Speicherelementen gespeichert
werden können. 2A zeigt eine beispielhafte
Implementierung eines Speicherelements 15. Das Speicherelement 15 kann
eine Schicht 15A umfassen, die ein Magnetfeld mit fester
Richtung aufweist, wie es durch den einseitigen Pfeil gezeigt ist.
Das Speicherelement 15 kann auch eine weitere Schicht 15B umfassen,
die auf der Schicht 15A integriert ist, wobei eine isolie rende
Schicht 15C zwischen denselben angeordnet ist. Auf diese
Weise bilden die Schichten 15A und 15B eine sandwichartige
Struktur um die Schicht 15C. Wie es gezeigt ist, kann die
Richtung des Magnetfelds der Schicht 15B eingestellt sein,
um parallel zu dem Magnetfeld der Schicht 15A zu sein (d.
h. Pfeile in der gleichen Richtung), oder antiparallel zu dem Magnetfeld
der Schicht 15A (d. h. Pfeile in der entgegengesetzten
Richtung). Durch Variieren der relativen Magnetausrichtungen (parallel
oder antiparallel) der Schichten 15A und 15B kann
der elektrische Widerstand der Schicht 15C variiert werden.
-
Um
Daten in dem Speicherelement 15 zu speichern, können orthogonale
Schreibleitungen 16 und 17 verwendet werden, wobei
der Kreuzungspunkt derselben – wie
er durch die gestrichelte Linie in 2A angezeigt
ist – mit
dem Speicherelement 15 ausgerichtet sein kann. Der Trennungsabstand,
der in 2A zwischen den
Schreibleitungen 16 und 17 und dem Speicherelement 15 gezeigt
ist, ist der Deutlichkeit halber übertrieben, und der tatsächliche
Trennungsabstand kann in der Größenordnung
von einigen 100 Angström
oder weniger sein. Außerdem
können
alternative Leiterkonfigurationen (z. B. zwei Leiter) Leitungen 16 und 17 in
direktem physikalischen Kontakt mit dem Speicherelement 15 umfassen,
ohne die elektrische Trennung des Speicherelements 15 von
entweder der Leitung 16 oder 17. Die Schaltungsanordnung 12 (in 2A nicht gezeigt) kann elektrisch
mit den Schreibleitungen 16 und 17 gekoppelt sein,
um elektrische Ströme
I1 und I2 zu liefern. Der
Strom I1 in der Schreibleitung 16 kann
ein Magnetfeld B1 erzeugen, gleichartig
dazu kann der Strom I2 in der Schreibleitung 17 ein
Magnetfeld B2 erzeugen. Die Magnetfelder
B1 und B2 können dann
zusammen zu dem Magnetfeld beitragen, das in dem Speicherelement 15 induziert
ist, wobei die Magnetfelder B1 und B2 eingestellt werden können durch Einstellen der Stärke und
Richtung der Ströme
I1 und I2. Beispielsweise
kehrt das Umkehren der Richtung der Ströme I1 und
I2 die Richtung der Magnetfelder B1 und B2 um. Folglich
kann die Richtung der Magnetfelder in den Schichten 15A und 15B eingestellt
werden, um parallel oder antiparallel zu sein.
-
Um
Daten von einem Speicherelement zu lesen, können die orthogonalen Leseleitungen 18 und 19 mit
dem Speicherelement elektrisch gekoppelt sein, wie es in 2B gezeigt ist. Ein Zwischenschichtdielektrikum
(„ILD" = inter-layer dielectric)
kann die Schreibleitung 16 elektrisch von der Leseleitung 18 isolieren. Gleichartig
dazu kann das ILD 21 die Schreibleitung 17 von
der Leseleitung 19 elektrisch isolieren. Obwohl die Leseleitung 18 und
die Schreibleitung 16 so gezeigt sind, daß dieselben
in die gleiche Richtung verlaufen, ist diese Konfiguration nicht
erforderlich, und die Leseleitung 18 und die Schreibleitung 16 können bezüglich zueinander
in jeder Richtung ausgerichtet sein. Gleichartig dazu können die
Leseleitung 19 und die Schreibleitung 17 auch
in jeder Richtung bezüglich
zueinander ausgerichtet sein. Die Schaltungsanordnung 12 (in 2B nicht gezeigt) kann mit
den Leseleitungen 18 und 19 elektrisch gekoppelt
sein, um das Lesen des Speicherelements 15 zu ermöglichen.
-
Wie
es in 2B gezeigt ist,
kann das Speicherelement 15 vier Leiter aufweisen (d. h.
Schreibleitungen 16 und 17 und Leseleitungen 18 und 19),
zum Implementieren von Lese- und Schreiboperationen. Obwohl dies
in 2B nicht gezeigt
ist, kann die Leseteilschaltungsanordnung in der Schaltungsanordnung 12 mit
Leseleitungen 18 und 19 gekoppelt sein, wobei
die Leseteilschaltungsanordnung eine Spannung zwischen den Leseleitungen
liefern kann. Außerdem
kann die Schreibteilschaltungsanordnung in der Schaltungsanordnung 12 mit
Schreibleitungen 16 und 17 gekoppelt sein, wobei
die Schreibteilanordnung Ströme
in den Schreibleitungen liefern kann. Somit wird die in 2B gezeigte Konfiguration
häufig
als „Vierleiter"-Konfiguration bezeichnet.
Es ist jedoch anzumerken daß andere
Konfigurationen möglich
sind, beispielsweise können
die Schreibleitung 16 und die Leseleitung 18 kombiniert
werden, um eine „Dreileiter"- Anordnung zu bilden, oder die Schreibleitung 16 und
die Leseleitung 18 können
kombiniert werden und die Leitung 17 und die Leseleitung 19 können kombiniert
werden, um eine „Zweileiter"-Anordnung zu bilden.
-
Da
die Magnetfelder von 15A und 15B entweder parallel
oder antiparallel eingestellt werden können, kann der Widerstandswert,
der zwischen den Leseleitungen 18 und 19 gelesen
wird, geändert
werden, wenn die Richtung der Magnetfelder geändert wird. Falls beispielsweise
die Magnetfelder von 15A und 15B parallel sind,
kann der Widerstandswert zwischen den Leitungen 18 und 19 1
MΩ sein
und einer digitalen 1 zugeordnet sein, während falls die Magnetfelder
von 15A und 15B antiparallel sind, der Widerstandswert
1,1 MΩ sein
kann und einer digitalen 0 zugeordnet ist. Weil der Widerstandswert
des Speicherelements 15 den digitalen Zustand anzeigen
kann, werden Speicherelemente häufig
unter Verwendung von Widerstandselementen angezeigt.
-
3 zeigt eine schematische
Darstellung des Querschnitts der integrierten Schaltung von 1B. Mit Bezugnahme auf 3 ist die Schaltungsanordnung 12 als
ein gestrichelter Kasten gezeigt, der unter einem Array von Magnetspeicherelementen 14 existiert.
Die Speicherelemente 14 können in einem Array von Spalten
C0-CN–1 und Zeilen R0-RN–1 angeordnet sein. Einzelne
Speicherelemente können
unter Verwendung von Widerstandselementen dargestellt sein und können bezeichnet
werden durch Beachten ihrer kreuzenden Zeilen und Spalten. Beispielsweise
würde das
Speicherelement „00" das Speicherelement
darstellen, das an der Schnittstelle der Zeile R0 und
der Spalte Co positioniert ist. Die Magnetspeicherelemente können unter
Verwendung verschiedener Bauelemente modelliert werden, wie z. B.
Kondensatoren, Widerstände,
Induktoren, Tunnelübergänge in Reihe
mit Dioden oder anderer Kombinationen von Elementen einer integrierten
Schaltung. Die Schaltungsanordnung 12 kann mit dem Speicher 14 elektrisch
gekoppelt sein und kann das Lesen von Daten von dem Speicher 14 ermöglichen.
Bei einigen Ausführungsbeispielen besitzt
die Schaltungsanordnung 12 weniger Platz als der Speicher 14.
Auf diese Weise kann die Gesamtgröße der in 1B gezeigten integrierten Schaltung bestimmt
werden durch die Größe des Speichers 14 anstatt
durch die Größe der Steuerschaltungsanordnung 12.
-
4 zeigt ein beispielhaftes
Ausführungsbeispiel
zum Lesen von Elementen des Speichers 14. Um den digitalen
Wert zu bestimmen, der dem Speicherelemente 0.0 zugeordnet ist,
kann ein Erfassungselemente 22 mit der Spalte Co gekoppelt
sein. Das Bestimmen des digitalen Werts des Speicherelements 0.0
kann das Auswählen
des Speicherelements 0.0 erfordern, während die verbleibenden Speicherelemente
abgewählt werden.
Folglich kann die Zeile R0 mit Masse gekoppelt
sein, die Zeilen R1-RN–1 können mit
einer vorbestimmten Spannung VREF gekoppelt
sein, und die Spalten C1-CN–1 können auch
mit VREF gekoppelt sein. Die vorbestimmte
Spannung VREF kann mit dem Erfassungselement 22 gekoppelt
sein, so daß VREF über
das Speicherelement 0.0 geregelt werden kann. Mit einer bekannten
Spannung (VREF) über dem Speicherelement 0.0
kann der Widerstandswert (d. h. digitale Zustand), der dem Speicherelement
0.0 zugeordnet ist, von dem Erfassungselementstrom bestimmt werden.
Die Multiplexer 23A–D können verwendet
werden, um das Koppeln der ordnungsgemäßen Spannungen mit den gewünschten
Spalten und Zeilen zu unterstützen,
um das Auswählen des
gewünschten
Speicherelements zu ermöglichen.
-
Um
den digitalen Wert nachfolgender Speicherelemente in der Zeile R0 zu bestimmen, kann das Erfassungselement 22 mit
der nächsten
Spalte gekoppelt werden, während
die vorherige Spalte mit VREF gekoppelt
ist. Falls das Speicherelement 0,1 gelesen werden soll, können die
gleichen Spannungen den gleichen Zeilen und Spalten zugewiesen werden,
wie es für
das Element 0.0, der Fall war außer daß nun das Erfassungselement 22 mit
der Spalte C1 gekoppelt werden kann und
VREF mit der Spalte C0 gekoppelt
werden kann.
-
Der
Prozeß des
Anlegens einer vorbestimmten Spannung VREF an
jedes Speicherelement und das Messen des Stroms in dem Speicherelement
muß eventuell
mehrmals für
jedes Speicherelement wiederholt werden (z. B. verschiedene Selbstbezugnahmetechniken,
die nachfolgend beschrieben sind). Dieser Prozeß kann sich wiederholen, da
die Widerstandscharakteristika unterschiedlicher Speicherelemente
nicht die gleichen sein können
und für
jedes Speicherelement einzeln bestimmt werden müssen.
-
Ein
Grund für
eine Widerstandsschwankung zwischen Speicherelementen kann sein,
daß die
isolierende Schicht 15C, wie sie in 2A und 2B gezeigt
ist, nicht gleichmäßig über den
Chip aufgebracht ist. Somit kann ein Speicherelement eine isolierende
Schicht 15C aufweisen, die eine andere Dicke hat als eine
andere. Diese Schwankung kann dazu führen, daß die unterschiedlichen Speicherelemente
unterschiedliche Widerstandswerte für den gleichen digitalen Zustand
aufweisen. Beispielsweise kann das Speicherelement 0.0 einen Widerstandswert
von 1 MΩ liefern,
um eine digitale 0 anzuzeigen, und einen Widerstandswert von 1,1 MΩ, um eine
digitale 1 anzuzeigen. Beispielsweise kann das Speicherelement einen
Widerstandswert von 1,5 MΩ liefern,
um eine digitale 1 anzuzeigen, und einen Widerstandswert von 1,6
MΩ zum
Anzeigen einer digitalen 0. Daher kann es sein, daß eine individuelle
Bestimmung des Widerstandswerts durchgeführt werden muß, der den
unterschiedlichen digitalen Zuständen
zugeordnet ist, z. B. Selbstbezugnahme.
-
Ein
Verfahren der Selbstbezugnahme kann das Messen des Widerstandswerts
eines unbekannten digitalen Werts von einem Speicherelement, das
Schreiben eines bekannten digitalen Zustands in das Speicherelement
und dann das Vergleichen des Widerstandswerts, der dem unbekannten
digitalen Wert zugeordnet ist, mit dem Widerstand, der dem bekannten
digitalen Wert zugeordnet ist, umfassen. Falls der Widerstandswert,
der dem bekannten digitalen Wert zugeordnet ist, nahe zu dem Widerstandswert
ist, der dem unbekannten digitalen Wert zugeordnet ist, dann ist
der unbekannte Wert wahrscheinlich gleich dem bekannten digitalen Wert,
der in das Speicherelement geschrieben wurde.
-
Man
nehme beispielsweise an, daß das
Speicherelement 0.0 von 4 einen
unbekannten Datenwert enthält,
und das Erfassungselement 22 einen Widerstandswert von
1,2 MΩ anzeigt.
Weil jedes Speicherelement in dem Array unterschiedliche Widerstandswerte
für eine
digitale 1 und eine digitale 0 aufweisen kann, kann ein gemessener
Widerstandswert von 1,2 MΩ entweder
eine digitale 1 oder eine digitale 0 anzeigen. Bekannte digitale
Zustände
können
dann in das Speicherelement 0.0 geschrieben werden, man nehme beispielsweise
an, daß eine
digitale 1 in das Speicherelement 0.0 geschrieben wird, und das
Erfassungselement 22 nun einen Widerstandswert von 1,5
MΩ anzeigt.
Man nehme außerdem
an, daß die
digitale 0 geschrieben wird und das Erfassungselement 22 einen
Widerstandswert von 1,0 MΩ anzeigt.
Weil der Widerstandswert, der dem ursprünglichen unbekannten digitalen
Wert (1,2 MΩ)
zugeordnet ist, näher
zu dem Widerstandswert ist, der der digitalen 0 zugeordnet ist,
als der Widerstandswert, der der digitalen 1 zugeordnet ist, war
der ursprüngliche
unbekannte digitale Wert wahrscheinlich eine digitale 0.
-
5 stellt die Zeitgebung
dar, die einer sequentiellen Selbstbezugnahmetechnik zugeordnet
ist, die in Verbindung mit der Anordnung von 4 verwendet werden kann. Die Zeitgebungsanordnung
von 5 umfaßt das Verarbeiten
der Informationen in einem Speicherelement (z. B. Speicherelement
0.0) vor dem Versuch, den Zustand des nachfolgenden Speicherelements
(z. B. Speicherelement 0.1) zu bestimmen. Das Erfassungselement 22 kann
konfiguriert sein, um das Speicherelement 0.0 zu dem Zeitpunkt t0 zu lesen. Vor dem Zeitpunkt t0 kann
das Speicherelement 0.0 beschrieben worden sein, und daher kann
das Element 0.0 einen unbekannten Datenwert enthalten. Der Betrag
der Spannungen, die zum Schreiben von Daten in das Speicherelement
0.0 verwendet werden, können
sich von den Spannungen unterscheiden, die zum Lesen von Daten von
dem Speicherelement 0.0 verwendet werden. Folglich kann es sein,
daß das
Erfassungselement 22 warten muß, bis sich das Array beruhigt
hat, bei der Vorbereitung zum Gelesenwerden, wie es durch die Zeitperiode 24 angezeigt
ist, wo die Beruhigungszeit, die der Zeitperiode 24 zugeordnet
ist, etwa 2 μs
sein kann.
-
Die
Zeitperiode 25 stellt die Zeit dar, die dem Erfassen des
unbekannten Datenwerts zugeordnet ist, der in dem Speicherelement
0.0 enthalten ist, wobei diese Erfassungszeit, die der Zeitperiode 25 zugeordnet ist,
in der Größenordnung
von 1 bis 10 μs
sein kann. Die Selbstbezugnahme kann das Schreiben bekannter Werte
in das Speicherelement 0.0 umfassen, und daher kann die Zeitperiode 26 die
Zeitdauer darstellen, die benötigt
wird, um den bekannten Wert zu schreiben. Die Zeit, die dem Schreiben
eines Werts in ein Speicherelement zugeordnet ist, kann etwa 0,5 μs oder weniger
sein. Gleichartig zu der Zeitperiode 24 kann es sein, daß das Erfassungselement 22 auf
das Array warten muß,
bis sich dasselbe vor dem Lesen des bekannten Werts von dem Speicher
beruhigt, wie es durch die Zeitperiode 27 angezeigt ist. Ähnlich wie
die Zeitperiode 24 kann die Beruhigungszeit, die der Zeitperiode 27 zugeordnet
ist, etwa 2 μs
betragen. Die Zeitperiode 28 stellt die Zeit dar, die dem
Erfassen des bekannten Datenwerts zugeordnet ist, der während der
Zeitperiode 26 geschrieben wurde.
-
Die
Zeitperioden 26, 27 und 28 stellen ein
einziges Selbstbezugnahmebeispiel dar. Um die Genauigkeit des Speicherelements
0.0 zu erhöhen,
können
mehrere Abtastwerte notwendig sein. Somit können sich für jedes Selbstbezugnahmebeispiel
die Zeitperioden 26, 27 und 28 wiederholen.
Sobald der Wert des Speicherelements 0.0 unter Verwendung mehrerer
Abtastwerte bestimmt wurde, können
nachfolgende Speicherelemente, wie z. B. das Speicherelement 0.1
gelesen werden, wie es in 5 gezeigt
ist. Das Lesen aufeinanderfolgender Speicherelemente kann analoge
Zeitperioden umfassen, die mehre ren Bezugnahmeabtastwerten zugeordnet
sind, wie es durch die Zeitperiode 21–33 angezeigt ist.
-
Selbstbezugnahmetechniken,
die Informationen von einem Speicherelement verarbeiten, vor dem Versuch,
den Zustand des nachfolgenden Speicherelements zu bestimmen, können sich
für kleine
Arrays als adäquat
erweisen, d. h. wo die Gesamtzahl von nachfolgenden Speicherelementen,
die gelesen werden sollen, klein ist. Bei großen Speicherelementen kann
sich jedoch die Zeitdauer, die das Erfassungselement 22 damit
verbringt, zu versuchen, den korrekten Wert für jedes Speicherelement zu
lesen, aufaddieren. Das Durchführen
mehrerer Selbstbezugnahmeabtastwerte, um die Genauigkeit des Lesevorgangs
zu erhöhen, kann
auch die Zeitdauer verlängern,
die erforderlich ist, um den Wert eines Speicherelements zu lesen.
-
Gemäß Ausführungsbeispielen
der vorliegenden Erfindung sind Techniken zum Reduzieren der Gesamtlesezeit
eines Speicherarrays offenbart, während die Erhöhungen der
Gesamtchipfläche
minimiert werden. 6 zeigt
ein Ausführungsbeispiel
zum Reduzieren der Gesamtlesezeit des Speichers 14. Der
Multiplexer 23C kann das Erfassungselement 38 dynamisch
mit jedem einzelnen Speicherelement zum Lesen koppeln. Der Multiplexer 23C kann
entweder ein analoger oder ein digitaler Multiplexer sein, abhängig von
dem Signaltyp, den derselbe koppelt. Beim Lesen jedes Speicherelements
kann das Erfassungselement 38 eine Widerstandswertmessung
liefern. Das Erfassungselement 38 kann zusammen mit einem
digitalen Zähler 40 konfiguriert
sein, um die Widerstandswertmessung in einen digitalen Zählwert zu übersetzen.
Eine Mehrzahl von digitalen Zählern,
wie sie in 7 gezeigt
sind, können
verwendet werden, wo der Multiplexer 23C das Koppeln des
Erfassungselements 38 mit der Mehrzahl von Zählern ermöglichen
kann. Auf diese Weise kann ein Zähler
jeder Spalte Co – CN–1 zugeordnet
sein. Der Multiplexer 23C kann entweder ein analoger oder
ein digitaler Multiplexer sein, abhängig von dem Signaltyp, den
derselbe koppelt.
-
8 zeigt eine beispielhafte
Schaltung 44 zum Übersetzen
des Widerstandswerts, der dem Speicherelement 46 zugeordnet
ist, in einen digitalen Zählwert,
wobei das Speicherelement 46 jedes Speicherelement in 6 (z. B. 0.0, 0.1) sein
kann, und durch einen Widerstand RMEM dargestellt
ist. Die in 8 gezeigte Anordnung
stellt eine von mehreren Möglichkeiten
zum Übersetzen
des Widerstandswerts eines Speicherelements in einen digitalen Zählwert dar.
-
Mit
Bezugnahme auf 8 kann
die vorbestimmte Bezugsspannung VREF mit
dem positiven Eingang eines Verstärkers 48 gekoppelt
sein. Der negative Eingang des Verstärkers 48 kann zu einem
Anschluß des Speicherelements 46 gekoppelt
sein, während
der andere Anschluß des
Speicherelements 46 mit Masse gekoppelt sein kann. Ein
Schalter 50 kann auch mit dem negativen Eingangsanschluß des Verstärkers 48 gekoppelt
sein. Der Schalter 50 kann ein Transistor oder ein äquivalentes
Schaltbauelement sein. Der Ausgang des Verstärkers 48 kann mit
dem Steueranschluß des
Schalters 50 gekoppelt sein, um eine negative Rückkopplungsschleife
für den
Verstärker 48 zu
liefern und VREF über das Speicherelement 46 zu
regeln.
-
Der
Strom in dem Speicherelement 46, Isense,
kann durch eine Spannungsquelle 51 durch einen Schalter 52 geliefert
werden. Der Steueranschluß des
Schalters 52 kann mit einem Taktsignal CLK von einer digitalen
Steuerung verbunden werden (in 8 nicht
gezeigt). Wenn CLK aktiviert ist, kann der Schalter 52 in
einem leitenden Zustand sein, um Isense zu
RMEM zu liefern und den Integrationskondensator 54 auf
die Quellspannung 51 vorzuladen. Wenn CLK deaktiviert ist,
kann der Schalter 52 zu einem nicht-leitenden Zustand übergehen,
und Isense kann von dem Integrationskondensator 54 geliefert
werden. Während
der Integrationsperiode kann sich die Spannung über den Kondensator 54 verringern,
von einem Anfangswert Vinit zu einem zweiten Wert
Vfinal. Auf diese Weise kann der Kondensator 54 zu
einem Anfangswert Vinit gela den werden,
unter Verwendung der Spannungsquelle 51, und kann von der
Spannungsquelle 51 getrennt werden, wenn das Signal CLK
deaktiviert ist. Ein Komparator 53 und ein Zähler 55 können enthalten
sein, um die Entladezeit des Kondensators 54 zu messen,
und der Zähler
kann mit dem Komparator 53 gekoppelt sein, und der Kondensator 54 kann
mit dem Komparator 53 gekoppelt sein.
-
Sobald
der Kondensator
54 auf V
init geladen
ist und der Schalter
52 die Spannungsquelle
51 von
dem Kondensator
54 trennt, kann der Kondensator
54 nach
wie vor durch den Schalter
50 mit dem Speicherelement
46 gekoppelt
sein. Wie es oben erwähnt
wurde, kann das Speicherelement
46 bei einer Spannung von
V
REF geregelt werden, aber weil der Schalter
52 die
Spannungsquelle
51 von dem Kondensator
54 trennen
kann, wird der Strom I
sense nun durch den
Kondensator
54 geliefert. Da der Kondensator
54 nun
I
sense liefern kann, kann die Entladezeit
des Kondensators
54 mit dem Zähler
55 gemessen werden.
Beispielsweise kann die Zeitdauer, die benötigt wird, daß der Kondensator
54 von
einer Anfangsspannung V
init zu einer Endspannung
V
final entlädt, durch den Zähler
55 gemessen
werden, wobei der Komparator
53 ein Signal an den Zähler
55 liefern kann,
das anzeigt, wenn die Anfangsspannung V
init und
die Endspannung V
final erhalten werden.
Die Anfangsspannung V
init kann gleich jeder
Spannung sein, die die Spannung der Spannungsquelle
51 umfaßt. Gleichartig dazu
kann die Endspannung V
final auch gleich
sein zu jeder Spannung, die die Bezugsspannung V
REF umfaßt, die über das
Speicherelement
46 geregelt wird. Die Gleichung (1) stellt
die Entladezeit dar, die durch den Zähler
55 gemessen werden
kann, und als ein digitaler Zählwert
dargestellt werden kann, wenn der Kondensator
54 eine Kapazität C aufweist,
und einen Anfangsspannungswert V
init und
einen Endwert von V
final
-
Weil
der Wert von VREF bekannt sein kann, kann
der Widerstandswert RMEM des Speicherelements 46 direkt
proportional zu dem Strom Isense sein, der
durch dasselbe fließt.
Somit kann durch Messen der Entladezeit an dem Kondensator 54 von
Vinit zu Vfinal,
wie es in Gleichung (1) angezeigt ist, die Strommenge Isense bestimmt
werden, so daß der
Widerstandswert RMEM des Speicherelements 46 bestimmt
werden kann. Durch Zuordnen des Widerstandswerts eines Speicherelements
zu einem digitalen Zählwert
können
Selbstbezugnahmetechniken verwendet werden.
-
9 zeigt ein weiteres Ausführungsbeispiel
zum Reduzieren der Gesamtlesezeit des Speichers 14. Der
Multiplexer 23C kann das Erfassungselement 58 mit
jedem einzelnen Speicherelement zum Lesen koppeln. Beim Lesen jedes
Speicherelements kann das Erfassungselement 58 eine Widerstandsmessung
liefern. Das Erfassungselement 58 kann zusammen mit einem
digitalen Zähler 60 konfiguriert
sein, um die Widerstandsmessung in einen digitalen Zählwert zu übersetzen.
Der Zähler 60,
der mehr als einen Zähler
umfassen kann, kann mit einer Mehrzahl von Registern gekoppelt sein,
so daß der
digitale Zählwert,
der einem Speicherelement zugeordnet ist, in einem der Mehrzahl
von Registern 62 (REG0 – REGN–1)
gespeichert sein kann. Jeder Spalte C0 – CN–1 des
Speichers 14 kann ein Register REG0 – REGN–1 zugeordnet
sein. Alternativ kann jedes Register mehreren Speicherelementen
zugewiesen sein. Beispielsweise kann es 16 Speicherelemente in einer
Zeile geben, und vier Register, die die 16 Speicherelemente gemeinschaftlich
verwenden. Die Register 62 können einen herkömmlichen
Festkörperspeicher
umfassen, wie z. B. einen synchronen dynamischen Direktzugriffsspeicher
(„SDRAM"). Eine optionale
arithmetische logische Einheit („ALU") 63 kann auch mit der Mehrzahl
von Registern 62 gekoppelt sein. Zählwerte, die durch den Zähler 60 erzeugt
werden, können
in den Registern 62 gespeichert werden, und können die
Gesamtlesezeit des Speichers 14 reduzieren.
-
10 stellt die Zeitgebung
dar, die einer gleichzeitigen Selbstbezugnahmeleseoperation der
in 9 gezeigten Schaltungsanordnung
zugeordnet ist. Die Zeitgebungsanordnung von 10 umfaßt das Verarbeiten der Informationen
in einem Speicherelement (z. B. Speicherelement 0.0) zur gleichen
Zeit wie das Verarbeiten der Informationen von einem nachfolgenden
Speicherelement (z. B. Speicherelement 0.1). Mit Bezugnahme auf
die in 10 dargestellte
Zeitgebung kann das Erfassungselement 58 konfiguriert sein,
um Speicherelemente sequentiell zu lesen und den gespeicherten Wert
in den Registern 62 zu speichern. Das Erfassungselement 58 kann
darauf warten, daß sich
das Array von vorherigen Schreiboperationen beruhigt, bevor dasselbe
gelesen wird, wie es durch die Zeitperiode 66 angezeigt
ist. Die Beruhigungszeit, die der Zeitperiode 66 zugeordnet
ist, kann ähnlich
sein wie die Beruhigungszeit, die der Zeitperiode 24 von 5 zugeordnet ist, und kann
etwa 2 μs
betragen. Das Speicherelement 0.0 kann in der Zeitperiode 68 erfaßt werden,
wo die Inhalte des Speicherelements 0.0 unbekannt sind, und diese
Erfassungszeit kann in der Größenordnung
von 1–10 μs sein, wie
es bei der Zeitperiode 25 in 5 der
Fall war.
-
Der
Wert des Speicherelements 0.0 kann durch den Zähler 60 in einen digitalen
Zählwert übersetzt werden,
und in dem entsprechenden Register in den Registern 62 gespeichert
werden. Statt dem Schreiben eines bekannten Werts in das Speicherelement
0.0 nach dem Lesen des unbekannten Werts desselben, wie es bei 5 der Fall war, kann ein
nachfolgender Lesevorgang durchgeführt werden. Das Erfassungselement 58 kann
mit einem nachfolgenden Speicherelement (z. B. Speicherelement 0.1)
gekoppelt werden, und der Wert des nachfolgenden Speicherelements
kann in ein entsprechendes Register in der Mehrzahl von Registern 62 übersetzt
und gespeichert werden, wie es durch die Zeitperiode 70 angezeigt
ist. Nachfolgende Speicherelemente können auch auf diese Weise gelesen
werden, und obwohl in 10 nur
zwei Speicherelemente (0.0 und 0.1) gezeigt sind, kann die Anzahl von
aufeinanderfolgenden Speicherelementen, die gelesen werden können, abhängig sein
von der Anzahl von Registern, die in der Mehrzahl von Registern 62 verfügbar sind.
-
Sobald
die unbekannten Zustände
für die
aufeinanderfolgenden Speicherelemente gelesen und in Registern gespeichert
sind, können
bekannte Werte in die Speicherelemente 0.0 und 0.1 geschrieben werden, wie
durch die Zeitperioden 72 und 74 gezeigt ist.
Einige Magnetspeicherkonfigurationen ermöglichen es, daß viele
Speicherelemente gleichzeitig auf den gleichen Wert geschrieben
werden, so daß die
Zeitperioden, die dem Schreiben bekannter Werte zu den Speicherelementen
zugeordnet sind, kombiniert werden können. Beispielsweise können die
Zeitperioden 72 und 74 in eine einzige Schreiboperation
kombiniert werden, was weniger Zeit zum Durchführen erfordert als mehrere
aufeinanderfolgende Schreiboperationen. Die Zeitperiode 75 stellt
eine Beruhigungszeit dar, die dem Array zugeordnet ist, ähnlich wie
die Zeitperiode 66. Die Zeitperiode 76 kann dem
Lesen des bekannten Werts (geschrieben während der Zeitperiode 72)
von dem Speicherelement 0.0 entsprechen. Durch Vergleichen des bekannten
Zustands von der Zeitperiode 76 mit dem unbekannten Zustand,
der in der Zeitperiode 68 gelesen wird, kann eine Bestimmung über den
digitalen Wert des Speicherelements 0.0 gemacht werden. Gleichartig
dazu kann die Zeitperiode 78 das Lesen des bekannten Zustands
des Speicherelements 0.1 umfassen, so daß ein Vergleich mit dem unbekannten
Zustand der Zeitperiode 70 durchgeführt werden kann.
-
Durch
Vergleichen der Zeitgebungssequenzen von 5 und 10 kann
die Zeit, die erforderlich ist, um den digitalen Zustand der Speicherelemente
0.0 und 0.1 zu bestimmen, wesentlich reduziert werden durch Implementieren
der in 9 gezeigten Registeranordnung.
Insbesondere werden die Zeitperiode 29 und die Zeitperiode 32 nicht
mehr benötigt,
weil die Erfassungsoperation und die Schreiboperation zusammen gruppiert
sind. Daher können
die Zeitperioden 24 und 29 kombiniert werden,
um eine einzige Zeitperiode 66 zu bilden. Gleichartig dazu
können
die Zeitperioden 27 und 32 kombiniert werden,
um eine einzige Zeitperiode 75 zu bilden. Die Zeitgebung
von 10 kann weiter im
Speicher reduziert werden, der in der Lage ist, gleichzeitig viele
Speicherelemente zu beschreiben. Das Schreiben des gleichen Werts
in mehrere Speicherelemente gleichzeitig kann es dann ermöglichen,
daß die
Zeitperioden 72 und 74 in eine einzige Schreibperiode
kombiniert werden. Ferner kann das in 10 gezeigte
Ausführungsbeispiel
sich drastisch vergrößern, während sich
die Anzahl von Speicherelementen, die gelesen werden, vergrößert.
-
Das
Vergleichen des digitalen Zählwerts,
der einem bekannten Zustand zugeordnet ist, mit einem digitalen
Zählwert,
der einem unbekannten Zustand zugeordnet ist, kann auf eine Vielzahl
von Wegen von erreicht werden. Die beiden Zählwerte können unter Verwendung der ALU 63 subtrahiert
werden, so daß,
falls die Differenz groß ist,
der unbekannte Wert und der bekannte Wert nicht gleich sein können. Falls
alternativ die Differenz zwischen dem digitalen Zählwert,
der den bekannten Wert darstellt, und dem digitalen Zählwert, der
den unbekannten Wert darstellt, klein ist, können der bekannte Wert und
der unbekannte Wert gleich sein. Außerdem kann der Zähler 60 ein
Auf-/Ab-Zähler
sein, der in der Lage ist, in beide Richtungen zu zählen. Auf diese
Weise kann der digitale Zählwert,
der dem unbekannten Wert zugeordnet ist, in dem Zähler 60 gespeichert
werden, und vor dem Zählen
des digitalen Werts für
den bekannten Wert, kann die Zählrichtung
des Zählers 60 umgekehrt
werden, so daß der
resultierende Zählwert
in dem Zähler 60 die
Differenz zwischen dem bekannten und dem unbekannten Zustand des
Speicherelements ist. Außerdem
kann der digitale Zählwert, der
in dem Register gespeichert ist, invertiert werden (z. B. durch
Durchführen
von Zweierkomplementen unter Verwendung der ALU 63) und
verwendet werden, um den Zähler 60 zu
versetzen. Auf diese Weise kann der digitale Zählwert in dem Zähler 60 die
Differenz zwischen dem bekannten und dem unbekannten Zustand des Speicherelements
darstellen.
-
11A und 11B stellen Beispiele von Vierfachabtastwertselbstbezugnahmetechniken
dar, die in Verbindung mit den Anordnungen von 7 und 9 verwendet
werden können.
Mit Bezugnahme auf 11A ist ein
Vierfachabtastwert für
den Fall des Speicherelements 0.0, das eine digitale 1 enthält, gezeigt.
Der Abtastwerte Nr. 1 kann genommen werden, wo der Widerstandswert
des Speicherelements 0.0 in einen digitalen Zählwert von 130 übersetzt
werden kann, wie es oben beschrieben ist. Weil die Widerstandswerte,
die hohen und niedrigen digitalen Zuständen zugeordnet sind, einzeln
bestimmt werden müssen,
kann es sein, daß der digitale
Zählwert
von 130, der bei dem Abtastwert Nr. 1 genommen wird, keinem digitalen
Wert zugeordnet werden kann. Folglich kann es sein, daß der digitale
Zustand des Speicherelements 0.0 unbekannt ist, wie es in 11A durch den Buchstaben
X angezeigt ist. Der Zähler 60 kann
ein Auf-/Ab-Zähler
sein, wo die Zählrichtung
des Zählers 60 umgekehrt
werden kann, abhängig
davon, welcher Abtastwert genommen wird. Durch Umkehren der Zählrichtung
kann der digitale Nettozählwert
dargestellt werden, wie es in 11A gezeigt
ist. Auf diese Weise können
die Summe und Differenz aufeinanderfolgender Abtastwerte unter Verwendung
des Zählers 60 berechnet
werden.
-
Der
Abtastwert Nr. 2 kann das erneute Abtasten des Speicherelements
0.0 umfassen, so daß der
digitale Zählwert
für den
Abtastwert Nr. 2 130 sein kann, und der Nettozählwert im Zähler 60 260 sein kann.
Während
dem Abtastwert Nr. 3 kann ein bekannter Wert einer digitalen 1 in
das Speicherelement 0.0 geschrieben werden, und dieser bekannte
digitale Wert kann einem Zählwert
von 130 entsprechen. Beim Abtasten dieses bekannten Werts kann die
Richtung des Zählers 60 während dem
Abtastwert umgekehrt werden, so daß der digitale Zählwert des
Abtastwerts Nr. 3 –130
beträgt,
und der Nettozählwert
in dem Zähler 60,
nachdem der Abtastwert Nr. 3 genommen wurde, 130 beträgt. Der
Nettozählwert
kann entweder in dem Zähler 60 beibehalten
werden oder die Register 62 können den Nettozählwert beibehalten
und den Zähler 60 vor
jedem Abtastwert mit dem Nettozählwert
laden.
-
Der
Abtastwert Nr. 4 kann das Schreiben eines digitalen 0-Werts in das Speicherelement
0.0 umfassen, wo der digitale Zählwert,
der der digitalen 0 zugeordnet ist, 100 sein kann. Der Nettozählwert in
dem Zähler 60,
nachdem der Abtastwert 4 genommen wurde, kann +30 sein, wobei das
Vorzeichen des Zählwerts
den digitalen Wert anzeigen kann, der in dem Speicherelement enthalten
ist.
-
11B zeigt die Situation,
wo die digitale 0 in dem Speicherelement 0.0 enthalten ist, und
das Vorzeichen des Zählwerts
negativ ist. Der Zähler 60 kann
ein Vorzeichenbit umfassen und dieses Vorzeichenbit kann den anfangs
unbekannten Zustand des Speicherelements anzeigen. Somit kann der
Zähler
bei den Abtastwerten Nr. 1 und 2 vorwärts zählen, während der Zähler bei den Abtastwerten Nr.
3 und 4 rückwärts zählt, und
das Vorzeichen des Nettozählwerts,
der in dem Zähler 60 enthalten
ist, kann den anfangs unbekannten Zustand des Speicherelements darstellen.
-
Während dem
Abtastwert Nr. 2 können
die Register 62 mit dem Zähler 60 gekoppelt
sein, und daher kann der Abtastwert Nr. 2 das Verdoppeln des digitalen
Zählwerts
umfassen, der in den Registern gespeichert ist – d. h. dem digitalen Zählwert,
der in dem Abtastwert Nr. 1 abgetastet wurde. Dieser Prozeß kann die
Lesezeit reduzieren, da die Abtastzeit für den Abtastwert Nr. 2 durch
Verdoppeln des Werts, der in dem Register enthalten ist, eliminiert
werden kann. Diese Verdoppelung kann auf eine Vielzahl von Möglichkeiten
erreicht werden, einschließlich
Verschieben von Bits, die den digitalen Zählwert darstellen, nach links.
Alternativ kann der digitale Zählwert
von dem Abtastwert Nr. 1 in mehrere Register in der Mehrzahl von
Registern 62 geschrieben werden. Die ALU 63 kann
dann Inhalte der beiden Register addieren.
-
Aufgrund
möglicher
Ineffizienzen des Übersetzen
des digitalen Werts eines Speicherelements in einen digitalen Zählwert kann
es sein, daß der übersetzte
digitale Zählwert
nicht übereinstimmend
ist. Beispielsweise kann es sein, daß bei 11A der digitale Zählwert für die Abtastwerte 1 und 2 nicht
gleich ist, auch wenn der gleiche Wert abgetastet wird. Das mehrmalige
Abtasten der Speicherelemente kann dazu beitragen, Widersprüche beim
Lesen von Speichererfassungsspeicherelementwerten zu verbinden.
-
Da
die offenbarten Selbstbezugnahmetechniken den Anfangswert jedes
Speicherelements modifizieren können,
kann die Wiederherstellung des Anfangswerts notwendig sein, was
die Gesamtlesezeit erhöhen kann.
Der Anfangswert des Speicherelements kann unter Verwendung von Selbstbezugnahmetechniken
bestimmt worden sein. Während
der Selbstbezugnahme können
die Speicherelemente mit bekannten Datenwerten geschrieben worden
sein. Falls die bekannten Datenwerte, die während der Selbstbezugnahme
geschrieben wurden, gleich sind wie die Anfangsdatenwerte, kann
es sein, daß eine
Wiederherstellung nicht notwendig ist. Folglich können die
Speicherelemente durch Vergleichen des Anfangswerts des Speicherelements
mit einem bekannten Wert, der während
der Selbstbezugnahme geschrieben wurde, selektiv wiederhergestellt
werden. Eine selektive Wiederherstellung kann durch Laden von Daten
von den Registern 62 oder von dem Zähler 60 auftreten.
-
12 zeigt die beispielhaften
mehreren Abtastwertselbstbezugnahmetechniken, die in Verbindung mit
den verschiedenen Ausführungsbeispielen
der Erfindung verwendet werden. 12 wird
mit Bezugnahme auf das Ausführungsbeispiel
von 9 erklärt. Obwohl
in 12 zwei Speicherelemente
gezeigt sind, können viele
Speicherelemente unter Verwendung der offenbarten Techniken gelesen
werden. Die Inhalte der Register REG0.0 und
REG0.1 sind in 12 gezeigt. Obwohl 12 Register zeigt, die den Nettozählwert enthalten, kann
ein Auf-/Ab-Zähler
als ein Akkumulator mit der Fähig keit,
den akkumulierten Wert zu erhöhen
und zu verringern, verwendet werden.
-
Mit
Bezugnahme auf 12 stellt
die Zeitperiode 80 die Anfangsberuhigungszeit dar, die
dem Speicherarray zugeordnet ist, ähnlich wie die Zeitperiode 66 in 10. Die Zeitperiode 81 stellt
das Erfassen des Speicherelements 0.0 und das Speichern des Zählwerts
in REG0.0 dar. Der Zählwert für die Zeitperiode 81 kann 130
sein. Der digitale Wert, der dem Zählwert entspricht, kann unbestimmt
sein (somit der Bedarf der Selbstbezugnahme), wie es durch X angezeigt
ist. Die Zeitperiode 82 stellt das Erfassen des Speicherelements
0.0 erneut dar, wo der Zählwert
erneut bei 130 gemessen wird. Die Inhalte von REG0.0 können dann
der Nettozählwert 260 sein.
Weil die Erfassungs- und Schreiboperationen zusammengruppiert werden
können,
können nachfolgende
Speicherelemente nach der Zeitperiode 82 erfaßt werden,
anstatt einen bekannten Wert in das Speicherelement 0.1 zu schreiben
(was zu einer späteren
Zeitperiode 85 passiert, wie es nachfolgend beschrieben
ist).
-
Die
Zeitperiode 83 stellt das Erfassen des Speicherelements
0.1 und das Speichern des Zählwerts
in REG0.1 dar. Der Zählwert für die Zeitperiode 83 kann
100 sein. Der digitale Wert, der dem Zählwert entspricht, kann erneut
unbestimmt sein, wie es durch das X in 12 dargestellt ist. Die Zeitperiode 84 stellt
das Erfassen des Speicherelements 0.1 ein zweites Mal dar, wo der
Zählwert
erneut bei 100 gemessen wird. Die Inhalte von REG0.1 können dann
der Nettozählwert 200 sein.
Die Zeitperioden 85 und 86 stellen das Schreiben
eines bekannten Werts in die Speicherelemente für die Speicherelemente 0.0
bzw. 0.1 dar. Bei diesem Beispiel ist der bekannte Wert, der während den
Zeitperioden 85 und 86 geschrieben wird, eine
digitale 1. Der bekannte Wert, der in die Speicherelemente 0.0 und
0.1 geschrieben wird, kann während
der nächsten
Gruppe von Erfassungsoperationen erfaßt werden, nach dem Abwarten
einer Beruhigungszeit, wie es durch die Zeitperiode 87 angezeigt
ist.
-
Die
Zeitperiode 88 stellt das Erfassen des bekannten Werts
dar, der in das Speicherelement 0.0 geschrieben wird, der in diesem
Fall eine digitale 1 war. Der erfaßte Wert kann dann von dem
Nettozählwert
subtrahiert werden. Dies kann auftreten durch Vorladen des Zählwerts
in den Zähler 60 von
REG0.0 und Umkehren der Zählrichtung
des Zählers 60.
Folglich kann der Nettozählwert
in REG0.0 nach der Zeitperiode 88 130
sein. Gleichartig dazu kann die Zeitperiode 89 das Darstellen
des Erfassen des Speicherelements 0.1 darstellen, und der Nettozählwert nach
der Zeitperiode 89 kann 70 sein.
-
Ähnlich wie
die Zeitperioden 85 und 86 stellen die Zeitperioden 90 und 91 das
Schreiben eines bekannten digitalen Werts in die Speicherelemente
0.0 bzw. 0.1 dar. Bei diesem Beispiel ist der bekannte Wert, der
während
den Zeitperioden 90 und 91 geschrieben wird, eine
digitale 0. Vor dem Erfassen dieses bekannten Werts kann eine Beruhigungszeit
auftreten, wie es durch die Zeitperiode 92 angezeigt ist.
-
Die
Zeitperiode 93 stellt das Erfassen des bekannten Werts
dar, der in das Speicherelemente 0.0 geschrieben wird, der in diesem
Fall eine digitale 0 war. Der erfaßte Wert kann dann von dem
Nettozählwert
subtrahiert werden. Dies kann auftreten durch Vorladen des Zählwerts
in den Zähler 60 von
REG0.0 und Umkehren der Zählrichtung
des Zählers 60.
Folglich kann der Nettozählwert
bei REG0.0 nach der Zeitperiode 93 +30
sein. An diesem Punkt kann das Vorzeichen des Zählwerts anzeigen, daß der anfangs
unbekannte Zustand des Speicherelements 0.0 eine digitale 1 war.
Gleichartig dazu kann die Zeitperiode 94 das Erfassen des
Speicherelements 0.1 darstellen, und der Nettozählwert nach der Zeitperiode 89 kann –30 sein,
wobei das Vorzeichen des Werts, der in REG0.1 enthalten
ist, anzeigen kann, daß der
anfangs unbekannte Zustand des Speicherelements 0.1 eine digitale
0 war.
-
Der
hierin offenbarte Speicher und die Verfahren zum Reduzieren der
Speicherlesezeit können
in einem Computersystem verwendet werden. 13 stellt ein beispielhaftes Computersystem 100 dar.
Das Computersystem von 13 umfaßt eine
CPU 102, die über
einen CPU-Bus mit einem Brückenlogikbauelement 106 elektrisch
gekoppelt sein kann. Das Brückenlogikbauelement 106 wird
manchmal als eine „North
Bridge" bezeichnet.
Die North Bridge 106 ist auch durch einen Speicherbus mit
einem Hauptspeicherarray 104 elektrisch gekoppelt, und
kann ferner über
einen „AGP"-Bus (AGP = advanced
graphics processor) mit einer Graphiksteuerung 108 elektrisch
gekoppelt sein. Das Hauptspeicherarray 104 kann ein Magnetspeicherarray
sein, das die offenbarten Verfahren zum Reduzieren der Speicherlesezeit
verwendet. Die North Bridge 106 koppelt die CPU 102,
den Speicher 104 und die Graphiksteuerung 108 mit
den anderen Peripheriegeräten
in dem System, beispielsweise durch einen Primärerweiterungsbus („Bus A"), wie z. B. einen
PCI-Bus oder einen EISA-Bus. Verschiedene Komponenten, die unter
Verwendung des Busprotokolls von Bus A arbeiten, können sich
in diesem Bus befinden, wie z. B. eine Audiovorrichtung 114,
eine IEEE 1394-Schnittstellenvorrichtung 116 und eine Netzwerkschnittstellenkarte
(„NIC") 118. Diese
Komponenten können
in die Hauptplatine integriert sein, wie es durch 13 vorgeschlagen ist, oder sie können in
Erweiterungsschlitze 110 eingesteckt werden, die mit dem
Bus A verbunden sind.
-
Falls
andere Sekundärerweiterungsbusse
in dem Computersystem vorgesehen sind, kann ein anderes Brückenlogikbauelement 112 verwendet
werden, um den Primärerweiterungsbus
(„Bus
A") mit dem Sekundärerweiterungsbus
(„Bus
B") elektrisch zu
koppeln. Die Brückenlogik 112 wird
manchmal als eine „South Bridge" bezeichnet. Verschiedene
Komponenten, die unter Verwendung des Busprotokolls des Bus B arbeiten, können sich
auf diesem Bus befinden, wie z. B. eine Festplattensteuerung 122,
ein System-ROM 124, und eine Super-I/O-Steuerung 126. Schlitze 120 können auch
vorgesehen sein für
Einsteckkomponenten, die dem Protokoll von Bus B entsprechen.
-
Das
Implementieren mehrerer Abtastoperationen und das Verwenden eines
digitalen Zählers
mit umkehrbarer Richtung (d. h. ein Auf-/Ab-Zähler) können Lesezeiten des Magnetspeichers
reduzieren. Der Zählwert,
der jedem Abtastwert zugeordnet ist, kann von jedem anderen addiert
oder subtrahiert werden, durch Ändern
der Richtung des Zählers,
und der Nettozählwert
kann den digitalen Zustand des Speicherelements anzeigen. Durch
Verwenden eines umkehrbaren Zählers
und durch Koppeln von Registern mit diesem Zähler können Erfassungsoperationen,
die an mehreren Speicherelementen durchgeführt werden, zusammengruppiert
werden und vor dem Schreiben bekannter Werte in diese Speicherelemente
durchgeführt
werden. Durch Zusammengruppieren der Erfassungsoperationen und der
Schreiboperationen, die dem Lesen des Speichers zugeordnet sind,
kann die Speicherlesezeit reduziert werden. Diese Lesezeit kann
weiter reduziert werden, falls mehrere Speicherelemente gleichzeitig
beschrieben werden können,
wie es bei einigen Speicherkonfigurationen möglich ist. Außerdem können Register
mit dem Zähler
gekoppelt sein, so daß ein
Nettozählwert
für mehrere
Speicherelemente erhalten werden kann durch Puffern der digitalen
Zählwerte.
Da eine Selbstbezugnahme das Modifizieren der Inhalte eines Speicherelements
umfassen kann, kann das Wiederherstellen der Speicherelemente zu
ihrem Anfangswert notwendig sein. Speicherelemente können durch
Schreiben von Informationen von den Registern selektiv zu ihrem
Anfangswert wiederhergestellt werden. Eine selektive Wiederherstellung
kann ferner die Gesamtlesezeit des Chips reduzieren.
-
Die
obige Erörterung
soll die Prinzipien und verschiedenen Ausführungsbeispiele der vorliegenden
Erfindung darstellen. Für
einen Fachmann auf diesem Gebiet sind zahlreiche Variationen und
Modifikationen offensichtlich, sobald die obige Erörterung
völlig
verständlich
ist. Obwohl die Speicherele mente als Widerstandselemente gezeigt
sind, können
die Speicherelemente mit anderen Schaltungselementen, wie z. B.
Kondensatoren, Induktoren, Dioden und Transistoren implementiert
werden. Obwohl magnetoresistive Speicherelemente in Verbindung mit
einigen Ausführungsbeispielen
der Erfindung offenbart wurden, können andere Speichervorrichtungen
mit veränderlichen
Widerständen
implementiert werden, ohne von dem Schutzbereich dieser Offenbarung
abzuweichen. Beispielsweise können „Phasenänderungs-" Speicherelemente,
die ansprechend auf variierende Lichtintensitäten Änderungen in ihrem resistiven
Zustand erfahren, ebenfalls von den hierin offenbarten Ausführungsbeispielen
profitieren. Die folgenden Ansprüche
sollen alle solche Variationen und Modifikationen umfassen.