DE102004037834A1 - Speichervorrichtung - Google Patents

Speichervorrichtung Download PDF

Info

Publication number
DE102004037834A1
DE102004037834A1 DE102004037834A DE102004037834A DE102004037834A1 DE 102004037834 A1 DE102004037834 A1 DE 102004037834A1 DE 102004037834 A DE102004037834 A DE 102004037834A DE 102004037834 A DE102004037834 A DE 102004037834A DE 102004037834 A1 DE102004037834 A1 DE 102004037834A1
Authority
DE
Germany
Prior art keywords
category
memory cell
resistance state
detection result
count
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102004037834A
Other languages
English (en)
Inventor
Frederick A. Palo Alto Perner
Jonathan Jedwab
James A. Davis
David Mcintyre
David Banks
Stewart Wyatt
Kenneth K. Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE102004037834A1 publication Critical patent/DE102004037834A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/026Detection or location of defective auxiliary circuits, e.g. defective refresh counters in sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mram Or Spin Memory Techniques (AREA)
  • Semiconductor Memories (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Hall/Mr Elements (AREA)

Abstract

Ausführungsbeispiele der vorliegenden Erfindung stellen einen Magnetspeicher bereit. Bei einem Ausführungsbeispiel weist der Magnetspeicher ein Array von Speicherzellen, die konfiguriert sind, um Widerstandszustände zu liefern, und eine Leseschaltung auf. Die Leseschaltung ist konfiguriert, um einen Widerstandswert durch eine Speicherzelle in dem Array von Speicherzellen zu erfassen, um ein Erfassungsergebnis zu erhalten und das Erfassungsergebnis in eine von zumindest drei unterschiedlichen Kategorien zu kategorisieren, die eine mittlere Kategorie aufweisen, die zwischen den Widerstandszuständen gelegen ist.

Description

  • Nichtflüchtige Speichervorrichtungen umfassen Speicherzellen, die zumindest zwei stabile Zustände aufweisen. Bei einigen nichtflüchtigen Speichervorrichtungen unterscheidet sich der Widerstandswert durch eine Speicherzelle basierend auf dem Zustand der Speicherzelle. Der Widerstandswert durch die Speicherzelle ist in einem ersten Zustand höher relativ zu dem Widerstandswert durch die Speicherzelle in einem zweiten Zustand. Diese Speichervorrichtungen können reprogrammierbare oder einmal programmierbare Vorrichtungen sein.
  • Ein Typ eines reprogrammierbaren nichtflüchtigen Speichers, der auf dem Gebiet bekannt ist, stützt sich auf magnetische Speicherzellen. Diese Vorrichtungen, die als magnetische Direktzugriffsspeichervorrichtungen (MRAM-Vorrichtungen; MRAM = magnetic random access memory) bekannt sind, umfassen ein Array von magnetischen Speicherzellen. Die magnetischen Speicherzellen können von unterschiedlichen Typen sein. Zum Beispiel können die Speicherzellen Magnetischer-Tunnelübergang-Speicherzellen (MTJ-Speicherzellen; MTJ = magnetic tunnel junction) oder Riesen-Magnetowiderstand-Speicherzellen (GMR-Speicherzellen; GMR = giant magnetoresistive) sein.
  • Allgemein umfasst die magnetische Speicherzelle eine Schicht eines magnetischen Films, bei dem die Magnetisierungsausrichtung veränderbar ist, und eine Schicht eines magnetischen Films, bei der die Magnetisierungsausrichtung in eine spezielle Richtung fest oder „festgelegt" (pinned) sein kann. Der magnetische Film, der eine veränderbare Magnetisierung aufweist, wird als eine Erfassungsschicht oder Datenspeicherungsschicht bezeichnet und der magnetische Film, der fest ist, wird als eine Referenzschicht oder festgelegte Schicht bezeichnet. Bei einer MTJ-Speicherzelle trennt eine Barriereschicht die Erfassungsschicht und die Referenzschicht.
  • Leitfähige Bahnen, die als Wortleitungen und Bitleitungen bezeichnet werden, sind über das Array von Speicherzellen geführt. Wortleitungen erstrecken sich entlang Zeilen der Speicherzellen und Bitleitungen erstrecken sich entlang Spalten der Speicherzellen. Speicherzellen speichern ein Bit von Informationen als eine Magnetisierungsausrichtung in einer Erfassungsschicht bei jedem Schnitt einer Wortleitung und einer Bitleitung. Die Magnetisierungsausrichtung in der Erfassungsschicht richtet sich entlang einer Achse der Erfassungsschicht aus, die als die Leichtachse derselben bezeichnet wird. Magnetfelder werden angelegt, um die Magnetisierungsausrichtung in der Erfassungsschicht entlang der Leichtachse derselben entweder zu einer parallelen oder antiparallelen Ausrichtung mit Bezug auf die Magnetisierungsausrichtung in der Referenzschicht zu drehen.
  • Bei einem Ausführungsbeispiel sind die Wortleitungen und Bitleitungen über das Array von Speicherzellen geführt, um bei einem Drehen der Magnetisierungsausrichtung in Erfassungsschichten zu helfen. Die Wortleitungen erstrecken sich entlang Zeilen der Speicherzellen nahe den Erfassungsschichten. Die Bitleitungen erstrecken sich entlang Spalten der Speicherzellen nahe den Referenzschichten. Die Wortleitungen und Bitleitungen sind elektrisch mit einer Schreibschaltung gekoppelt.
  • Während einer Schreiboperation wählt die Schreibschaltung eine Wortleitung und eine Bitleitung aus, um die Magnetisierungsausrichtung in der Erfassungsschicht der Speicherzelle zu ändern, die bei dem Kreuzungspunkt der Leiter gelegen ist. Die Schreibschaltung liefert Schreibströme zu der ausgewählten Wortleitung und der Bitleitung, um Magnetfelder in der ausgewählten Speicherzelle zu erzeugen. Die Magnetfelder verbinden sich, um die Magnetisierungsausrich tung in der ausgewählten Speicherzelle von parallel zu antiparallel oder umgekehrt umzuschalten.
  • Der Widerstandswert durch eine Speicherzelle unterscheidet sich gemäß der parallelen oder antiparallelen Magnetisierungsausrichtung der Erfassungsschicht und der Referenzschicht. Der Widerstandswert ist am höchsten, wenn die Ausrichtung antiparallel ist, was als der logische „1"-Zustand bezeichnet werden kann, und am niedrigsten, wenn die Ausrichtung parallel ist, was als der logische „0"-Zustand bezeichnet werden kann. Der Widerstandszustand der Speicherzelle kann durch ein Erfassen des Widerstandswerts durch die Speicherzelle bestimmt werden.
  • Wortleitungen und Bitleitungen helfen auch bei einem Erfassen des Widerstandswerts durch eine Speicherzelle. Wortleitungen, die sich entlang Zeilen erstrecken, sind elektrisch mit Erfassungsschichten gekoppelt und Bitleitungen, die sich entlang Spalten erstrecken, sind elektrisch mit Referenzschichten gekoppelt. Wortleitungen und Bitleitungen sind ferner elektrisch mit einer Leseschaltung gekoppelt, um den Widerstandswert und Zustand einer Speicherzelle zu erfassen.
  • Während einer Leseoperation wählt die Leseschaltung eine Wortleitung und eine Bitleitung aus, um den Widerstandswert der Speicherzelle zu erfassen, die bei dem Kreuzungspunkt der Leiter gelegen ist. Die Leseschaltung kann eine Spannung über die ausgewählte Speicherzelle liefern, um einen Strom durch die Speicherzelle zu erzeugen. Der Strom durch die Speicherzelle ist proportional zu dem Widerstandswert durch die Speicherzelle und wird verwendet, um einen Hochwiderstandszustand von einem Niedrigwiderstandszustand zu unterscheiden.
  • Obwohl die Speichervorrichtung im Allgemeinen zuverlässig ist, können Fehler auftreten, die die Fähigkeit der Speichervorrichtung beeinflussen, Daten zuverlässig zu spei chern. Die Fehler umfassen physische Fehler, die auf Speicherzellen bezogen sind, und Erfassungsfehler, die auf die Leseschaltung bezogen sind.
  • Physische Fehler können aus vielen Ursachen resultieren, einschließlich Herstellungsunvollkommenheiten und eines Alterns der Vorrichtung bei einem Gebrauch. Fehlermechanismen nehmen viele Formen an, einschließlich kurzgeschlossener Speicherzellen und offener Speicherzellen bzw. Speicherzellen im Leerlauf. Eine kurzgeschlossene Speicherzelle weist einen Widerstandswert auf, der viel niedriger ist als erwartet. Eine offene Speicherzelle weist einen Widerstandswert auf, der viel höher ist als erwartet. Kurzgeschlossene und offene Speicherzellen können andere Speicherzellen beeinflussen, die in der gleichen Zeile und der gleichen Spalte liegen.
  • Erfassungsfehler können aus vielen Ursachen resultieren, einschließlich Temperatur- und Spannungsänderungen. Die Leseschaltung ist bei einem Satz von Temperatur- und Spannungswerten kalibriert. Wenn sich die Temperatur und/oder die Spannung ändert, kann die Leseschaltung außer Kalibrierung sein. In dieser Situation erfasst die Leseschaltung den Zustand einer Speicherzelle aufgrund von Kalibrierungsproblemen eventuell nicht genau. Um Daten zuverlässig in einer Speicherzelle zu speichern, ist es wichtig, Informationen über den Zustand der Speicherzelle zu haben und ob die Leseschaltung ordnungsgemäß kalibriert ist.
  • Es ist die Aufgabe der vorliegenden Erfindung, einen Magnetspeicher und ein Verfahren zum Lesen eines Magnetspeichers mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch einen Magnetspeicher gemäß Anspruch 1, Anspruch 14 oder Anspruch 17 und ein Verfahren gemäß Anspruch 22 oder Anspruch 26 gelöst.
  • Ausführungsbeispiele der vorliegenden Erfindung stellen einen Magnetspeicher bereit. Bei einem Ausführungsbeispiel weist der Magnetspeicher ein Array von Speicherzellen, die konfiguriert sind, um Widerstandszustände bereitzustellen, und eine Leseschaltung auf. Die Leseschaltung ist konfiguriert, um einen Widerstandswert durch eine Speicherzelle in dem Array von Speicherzellen zu erfassen, um ein Abtastergebnis zu erhalten, und das Erfassungsergebnis in eine von zumindest drei unterschiedlichen Kategorien zu kategorisieren, die eine mittlere Kategorie aufweisen, die zwischen den Widerstandszuständen gelegen ist.
  • Ausführungsbeispiele der Erfindung werden mit Bezug auf die folgenden Zeichnungen besser verstanden. Die Elemente der Zeichnungen sind nicht notwendigerweise maßstabsgetreu in Bezug aufeinander. Gleiche Bezugszeichen bezeichnen entsprechende ähnliche Teile.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Diagramm, das ein exemplarisches Ausführungsbeispiel eines Magnetspeichers gemäß der vorliegenden Erfindung darstellt;
  • 2 ein Diagramm, das ein exemplarisches Ausführungsbeispiel eines Arrayabschnitts darstellt;
  • 3 ein Diagramm, das einen Querschnitt eines exemplarischen Ausführungsbeispiels eines Arrayabschnitts darstellt;
  • 4 ein Diagramm, das ein exemplarisches Ausführungsbeispiel eines Direktinjektion-Ladungsverstärkers und einer Digitalversatz-Kalibrierungsschaltungsanordnung darstellt;
  • 5 ein Diagramm, das ein exemplarisches Ausführungsbeispiel eines digitalen Leseverstärkers während einer Leseoperation einer ausgewählten Speicherzelle darstellt;
  • 6 ein Graphen, der die Wahrscheinlichkeit darstellt, dass ein Leseoperationsergebnis in eine von fünf Kategorien kategorisiert ist;
  • 7 ein Flussdiagramm, das eine Leseoperation eines exemplarischen Ausführungsbeispiels einer Speichervorrichtung darstellt;
  • 8 einen Graphen für ein anderes Ausführungsbeispiel, der die Wahrscheinlichkeit darstellt, dass ein erstes Erfassungsoperationsergebnis in eine von fünf Kategorien kategorisiert ist; und
  • 9a und 9b ein Flussdiagramm, das eine Leseoperation eines anderen Ausführungsbeispiels einer Speichervorrichtung darstellt.
  • 1 ist ein Diagramm, das ein exemplarisches Ausführungsbeispiel einer Magnetspeichervorrichtung 20 gemäß der vorliegenden Erfindung darstellt. Die Speichervorrichtung 20 umfasst ein Magnetische-Speicherzelle-Array 22, eine Leseschaltung 24 und eine Schreibschaltung (zu einer Klarheit nicht gezeigt). Das Speicherzellarray 22 umfasst magnetische Speicherzellen 26, die elektrisch mit der Leseschaltung 24 gekoppelt sind.
  • Die Leseschaltung 24 ist konfiguriert, um den Widerstandswert durch eine Speicherzelle 26 zu erfassen und ein Erfassungsergebnis, wie beispielsweise einen Zählwert, entsprechend dem erfassten Widerstandswert zu liefern. Bei dem exemplarischen Ausführungsbeispiel ist die Leseschaltung 24 konfiguriert, um einen Zählwert zu liefern und den Zählwert in eine von fünf Kategorien zu kategorisieren, die auch als Regionen bezeichnet werden. Die fünf Regionen umfassen eine Niedrigwiderstandszustandsregion, eine Hochwiderstandszustandsregion, eine niedrige Außer-Bereich-Region, eine hohe Außer-Bereich-Region und eine mittlere Region, die als eine zweifelhafte Region bezeichnet wird. Die zweifelhafte Region ist zwischen der Niedrigwiderstandszustandsregion und der Hochwiderstandszustandsregion gelegen. Die niedrige Außer-Bereich-Region ist bei einem niedrigeren Widerstandswert als die Niedrigwiderstandszustandsregion gelegen und die hohe Außer-Bereich-Region ist bei einem höheren Widerstandswert als die Hochwiderstandszustandsregion gelegen. Die Leseschaltung 24 setzt ein Außer-Bereich-Flag im Fall, dass der Zählwert in eine der Außer-Bereich-Regionen kategorisiert ist. Die Leseschaltung 24 setzt ferner ein Zweifelhaft-Flag im Fall, dass der Zähler in die zweifelhafte Region kategorisiert ist.
  • Bei einem anderen Ausführungsbeispiel ist die Leseschaltung 24 konfiguriert, um den Widerstandswert durch eine Speicherzelle 26 in einer ersten Erfassungsoperation einer Mehrfach-Erfassungsoperation zu erfassen und ein erstes Erfassungsergebnis zu liefern, wie beispielsweise einen ersten Zählwert. Die Speichervorrichtung 20 und die Leseschaltung 24 sprechen durch ein unmittelbares Kalibrieren der Leseschaltung 24 in einer unmittelbaren Kalibrierungsantwort auf einen ersten Zählwert an, der einen Kurzschluss oder einen Leerlauf angibt. Im Fall, dass der erste Zählwert in einer mittleren Nicht-Kalibrierungsregion gelegen ist, schließt die Leseschaltung 24 die Mehrfach-Erfassungsleseoperation ab, um ein endgültiges Ergebnis zu erhalten, das als ein endgültiger Zählwert bezeichnet wird. Im Fall, dass der erste Zählwert zwischen der Kurzschluss- und der mittleren Nicht-Kalibrierungsregion oder zwischen der Leerlauf- und der mittleren Nicht-Kalibrierungsregion gelegen ist, setzt die Leseschaltung 24 ein Kalibrierung-Flag zu einem Kalibrieren der Leseschaltung 24 zu einer späteren Zeit in einer Verzögert-Kalibrierung-Antwort. Nach einem Setzen des Flags für eine Kalibrierung schließt die Leseschaltung 24 die Leseoperation ab und liefert das endgültige Ergebnis, das als der endgültige Zählwert bezeichnet wird.
  • Der endgültige Zählwert wird in eine von fünf Kategorien kategorisiert, die als Regionen bezeichnet sind, einschließlich einer Niedrigwiderstandszustandsregion, einer Hochwiderstandszustandsregion, einer niedrigen Außer-Bereich-Region, einer hohen Außer-Bereich-Region und einer mittleren Region, die als eine zweifelhafte Region bezeichnet wird. Die zweifelhafte Region ist zwischen der Niedrigwiderstandszustandsregion und der Hochwiderstandszustandsregion gelegen. Die niedrige Außer-Bereich-Region ist bei einem niedrigeren Widerstandswert als die Niedrigwiderstandszustandsregion gelegen und die hohe Außer-Bereich-Region ist bei einem höheren Widerstandswert als die Hochwiderstandszustandsregion gelegen. Die Leseschaltung 24 setzt ein Außer-Bereich-Flag im Fall, dass der Zählwert in eine der Außer-Bereich-Regionen kategorisiert wird. Die Leseschaltung 24 setzt ferner ein Zweifelhaft-Flag im Fall, dass der Zählwert in die zweifelhafte Region kategorisiert wird.
  • Die Speicherzellen 26 in dem Array 22 sind in Zeilen und Spalten angeordnet, wobei sich die Zeilen entlang einer x-Richtung erstrecken und sich die Spalten entlang einer y-Richtung erstrecken. Lediglich eine relativ kleine Anzahl von Speicherzellen 26 ist gezeigt, um die Darstellung der Speichervorrichtung 20 zu vereinfachen. Bei anderen Ausführungsbeispielen können Arrays einer jeglichen geeigneten Größe verwendet werden, wie beispielsweise ein 1-Mbit-Array-Ausführungsbeispiel, bei dem das Array 1024 Speicherzellen 26 hoch mal 1024 Speicherzellen 26 breit ist. Zusätzlich können Makroarrays unter Verwendung einer Mehrzahl von einzelnen Arrays, wie beispielsweise der 1-Mbit-Arrays gebildet sein. Speichervorrichtungen mit einer großen Gesamtdatenspeicherungskapazität können unter Verwendung von mehreren Arrays gebaut sein, ohne dass die einzelnen Arrays so groß werden, dass dieselben schwierig herzustellen und zu steuern sind. Die Arrays können ferner in Schichten hergestellt sein, um dreidimensionale Makroarrays zu erzeugen.
  • Bei einem Ausführungsbeispiel eines Magnetspeichers, der eine Speicherungskapazität von 128 Mbytes aufweist, sind 1024 1-Mbit-Arrays in einem Makroarray angeordnet, das 16 Arrays breit mal 16 Arrays hoch ist, mit vier Stapelschichten. Wahlweise weist die Speichervorrichtung mehr als ein derartiges Makroarray auf. Bei dem Ausführungsbeispiel des 128-Mbyte-Makroarrays weist der Magnetspeicher Zeilendecodierer, die eine Zeile auswählen, und Spaltendecodierer auf, die eine Mehrzahl von Spalten auswählen, um eine Mehrzahl von Speicherzellen in jedem 1-Mbit-Array auszuwählen. Die Speichervorrichtung greift auf eine Mehrzahl von 1-Mbit-Arrays zu der gleichen Zeit zu. Die Zellen, auf die innerhalb jedes der Mehrzahl von Arrays zugegriffen wird, entsprechen einem kleinen Abschnitt einer Dateneinheit. Zusammen stellen die zugegriffenen Zellen eine ganze Dateneinheit bereit, wie beispielsweise eine ganze Sektoreinheit von 512 Bytes oder zumindest einen wesentlichen Abschnitt des Sektors. Auf jedes der Mehrzahl von Arrays wird im Wesentlichen simultan zugegriffen. Bei einem alternativen Ausführungsbeispiel weist der Magnetspeicher Spaltendecodierer, die eine Spalte auswählen, und Zeilendecodierer auf, die eine Mehrzahl von Zeilen auswählen.
  • Bei dem exemplarischen umfasst die Leseschaltung 24 eine Zeilendecodierschaltung 28, eine Lenk- bzw. Steuerschaltung 30, einen Direktinjektion-Ladungsverstärker 32, einen digitalen Leseverstärker 34, einen Rücksetzschalter 36 und einen Integrierkondensator 38. Die Zeilendecodierschaltung 28 ist elektrisch mit Wortleitungen 40a40c gekoppelt und die Lenkschaltung 30 ist elektrisch mit Bitleitungen 42a-42c gekoppelt. Die leitfähigen Wortleitungen erstrecken sich entlang der x-Richtung in einer Ebene an einer Seite des Arrays 22 und die leitfähigen Bitleitungen 42a42c erstrecken sich entlang der y-Richtung in einer Ebene an einer gegenüberliegenden Seite des Arrays 22. Es gibt eine Wortleitung 40 für jede Zeile des Arrays 22 und eine Bitleitung 42 für jede Spalte des Arrays 22. Eine Speicherzelle 26 ist an jedem Kreuzungspunkt einer Wortleitung 40 und einer Bitleitung 42 positioniert. Die Lenkschaltung 30 ist elektrisch mit dem Ladungsverstärker 32 durch einen Ladungsverstärkerleiter 44 gekoppelt und die Zeilendecodierschaltung ist elektrisch bei 46 mit Masse gekoppelt.
  • Der Ladungsverstärker 32, der Leseverstärker 34, der Rücksetzschalter 36 und der Integrierkondensator 38 sind bei einem Knoten 48 elektrisch miteinander gekoppelt. Zusätzlich ist der Leseverstärker 34 durch einen Schaltersteuerleiter 50 elektrisch mit dem Gate des Rücksetzschalters 36 gekoppelt. Der Rücksetzschalter 36 ist elektrisch bei 52 mit VDD gekoppelt und der Integrierkondensator 38 ist bei 54 elektrisch mit Masse gekoppelt.
  • Die Speichervorrichtung 20 umfasst ein Ausgangsregister 56 und eine Eingangs-/Ausgangsanschlussfläche (I/O-Anschlussfläche) 58. Ein Ausgang des Leseverstärkers 34 ist elektrisch mit dem Ausgangsregister 56 durch einen Leseverstärkerausgangsleiter 60 gekoppelt. Das Ausgangsregister 56 ist durch einen Ausgangsleiter 62 elektrisch mit der I/O-Anschlussfläche 58 gekoppelt. Bei dem exemplarischen Ausführungsbeispiel sind lediglich eine Leseschaltung 24, ein Ausgangsregister 56 und eine I/O-Anschlussfläche 58 gezeigt. Bei anderen Ausführungsbeispielen ist eine jegliche geeignete Anzahl von Leseschaltungen 24, Ausgangsregistern 56 und I/O-Anschlussflächen 58 enthalten.
  • Bei dem exemplarischen Ausführungsbeispiel ist die Schreibschaltung (nicht gezeigt) elektrisch mit den Wortleitungen 40a40c und den Bitleitungen 42a42c gekoppelt. Die Schreibschaltung ist konfiguriert, um einen ersten Schreibstrom durch eine ausgewählte Wortleitung 40a40c in eine Richtung und einen zweiten Schreibstrom durch eine ausge wählte Bitleitung 42a42c in eine Richtung zu liefern. Eine Speicherzelle 30 ist bei jedem Kreuzungspunkt einer Wortleitung 40 und einer Bitleitung 42 positioniert.
  • Während einer Schreiboperation wählt die Schreibschaltung eine Wortleitung 40a40c und eine Bitleitung 42a42c aus, um die Magnetisierungsausrichtung in der Erfassungsschicht der Speicherzelle 26 zu setzen oder umzuschalten, die bei dem Kreuzungspunkt positioniert ist. Die Schreibschaltung liefert den ersten Schreibstrom zu der ausgewählten Wortleitung 40a40c und den zweiten Schreibstrom zu der ausgewählten Bitleitung 42a42c. Der erste Schreibstrom erzeugt ein Magnetfeld um die ausgewählte Wortleitung 40a40c herum gemäß der Rechte-Hand-Regel und der zweite Schreibstrom erzeugt ein Magnetfeld um die ausgewählte Bitleitung 42a42c herum gemäß der Rechte-Hand-Regel. Diese Magnetfelder verbinden sich, um die Magnetisierungsausrichtung in der Erfassungsschicht der ausgewählten Speicherzelle 26 zu setzen oder umzuschalten.
  • Die Leseschaltung 24 erfasst den Widerstandswert durch die Speicherzellen 26 in dem Array 22 und liefert Erfassungsergebnisse, wie beispielsweise Zählwerte, entsprechend den erfassten Widerstandswerten. Bei dem exemplarischen Ausführungsbeispiel umfasst die Zeilendecodierschaltung 28 Schalter, um eine Wortleitung 40a40c auszuwählen und die ausgewählte Wortleitung 40a40c elektrisch mit Masse zu koppeln. Die Lenkschaltung 30 umfasst Schalter, um eine Bitleitung 42a42c auszuwählen und die ausgewählte Bitleitung 42a42c elektrisch mit dem Ladungsverstärker 32 zu koppeln. Der Ladungsverstärker 32 liefert eine konstante Spannung zu der ausgewählten Bitleitung 42a42c. Ein Erfassungsstrom fließt durch die ausgewählte Bitleitung 42a- 42c und die ausgewählte Speicherzelle 26 zu der ausgewählten Wortleitung 40a40c und Masse. Der Erfassungsstrom, der durch die ausgewählte Speicherzelle 26 fließt, entspricht dem Widerstandswert durch die ausgewählte Speicherzelle 26.
  • Der Kondensator 38 wird durch den Rücksetzschalter 36 zu der Versorgungsspannung VDD hin geladen. Der Kondensator 38 liefert den gleichen Erfassungsstrom zu der ausgewählten Speicherzelle 26 durch den Ladungsverstärker 32. Bei dem exemplarischen Ausführungsbeispiel ist der Rücksetzschalter 36 ein p-Typ-Metalloxidhalbleiter-Transistor (PMOS-Transistor). Bei anderen Ausführungsbeispielen kann der Rücksetzschalter 36 eine Transistorkombination oder ein anderer Typ eines Transistors sein, wie beispielsweise ein n-Typ-Metalloxidhalbleiter-Transistor (NMOS-Transistor).
  • Der digitale Leseverstärker 34 steuert den Rücksetzschalter 36, vergleicht die Spannung bei einem Knoten 48 mit einer Referenzspannung, liefert ein Erfassungsergebnis und liefert ein Ausgangssignal zu dem Ausgangsregister 56. Um eine Erfassungsoperation zu beginnen, schaltet der Leseverstärker 34 den Rücksetzschalter 36 ein, um den Kondensator 38 zu der Versorgungsspannung VDD hin zu laden. Der Leseverstärker 34 öffnet den Rücksetzschalter 36 und vergleicht die Spannung bei dem Knoten 48 mit einer Referenzspannung. Die Spannung bei dem Knoten 48 nimmt mit einer Rate ab, die proportional zu dem Erfassungsstrom und einem Widerstandswert durch die ausgewählte Speicherzelle 26 ist. Der Leseverstärker 34 umfasst einen Zähler, der zählt, bis die Spannung bei dem Knoten 48 sich auf die Referenzspannung verringert hat. Der resultierende Zählwert entspricht dem Widerstandswert der ausgewählten Speicherzelle 26.
  • Bei dem exemplarischen Ausführungsbeispiel umfasst eine Leseoperation drei Erfassungsoperationen und zwei Schreiboperationen. Zuerst erfasst die Leseschaltung 24 den Widerstandswert durch die ausgewählte Speicherzelle 26, um einen ersten Zählwert zu erhalten. Der erste Zählwert wird mit 2 multipliziert und invertiert, um denselben zu einem negativen Wert zu machen, der in den Zähler des Leseverstärkers 34 vor der zweiten Erfassungsoperation eingegeben wird. Die Schreibschaltung schreibt die ausgewählte Speicherzelle 26 zu einem Hochwiderstandszustand, der hierin als eine logi sche „1" bezeichnet wird, und erfasst den Widerstandswert durch die ausgewählte Speicherzelle 26 in einer zweiten Erfassungsoperation, um den Zähler zu einem zweiten Zählwert zu inkrementieren. Die Schreibschaltung schreibt die ausgewählte Speicherzelle 26 zu einem Niedrigwiderstandszustand, der hierin als eine logische „0" bezeichnet wird, und erfasst den Widerstandswert durch die ausgewählte Speicherzelle 26 bei einer dritten Erfassungsoperation. Die dritte Erfassungsoperation inkrementiert den zweiten Zählwert zu einem dritten Zählwert, der der endgültige Zählwert ist. Der resultierende endgültige Zählwert in dem Zähler entspricht dem anfänglichen Widerstandszustand der ausgewählten Speicherzelle 26, wie es später in dieser Beschreibung detaillierter beschrieben ist. Bei anderen Ausführungsbeispielen umfasst die Leseoperation mehr oder weniger als drei Erfassungsoperationen und zwei Schreiboperationen. Bei einem Ausführungsbeispiel wird z. B. eine dritte Schreiboperation durchgeführt, um das erfasste Ergebnis zurück zu der ausgewählten Speicherzelle 26 zu schreiben.
  • Bei dem exemplarischen Ausführungsbeispiel kategorisiert der Leseverstärker 34 den endgültigen Zählwert in eine von fünf Kategorien. Die fünf Kategorien umfassen eine gültige Niedrig- und eine Hochwiderstandszustandsregion, eine niedrige Außer-Bereich- und eine hohe Außer-Bereich-Region und die zweifelhafte Region. Die zweifelhafte Region ist zwischen der Niedrig- und der Hochwiderstandszustandsregion gelegen. Die niedrige Außer-Bereich-Region umfasst Widerstandswerte unter der Niedrigwiderstandszustandsregion und die hohe Außer-Bereich-Region umfasst Widerstandswerte über der Hochwiderstandszustandsregion. Der Leseverstärker 34 liefert ein logisches „0"- oder „1"-Ausgangssignal zu dem Ausgangsregister 56. Zusätzlich liefert der Leseverstärker 34 Statusflags, um die Region des endgültigen Zählwerts anzugeben.
  • Bei einem anderen Ausführungsbeispiel kategorisiert der Leseverstärker 34 den ersten Zählwert in einer Mehrfach- Erfassungsleseoperation. Der Leseverstärker 34 löst eine Unterbrechung aus, um die Leseschaltung 24 unmittelbar zu kalibrieren, falls der erste Zählwert einen Kurzschluss oder einen Leerlauf angibt. Falls der erste Zählwert zwischen einem Kurzschluss und der mittleren Nicht-Kalibrierungsregion oder zwischen einem Leerlauf und der mittleren Nicht-Kalibrierungsregion gelegen ist, setzt der Leseverstärker 34 ein Flag zum Kalibrieren der Leseschaltung 24 zu einer späteren Zeit. Nach dem Setzen des Flags schließt die Leseschaltung 24 die Leseoperation ab und liefert einen resultierenden endgültigen Zählwert. Der endgültige Zählwert wird in eine von fünf Kategorien kategorisiert, einschließlich einer Niedrig- und einer Hochwiderstandszustandsregion, einer niedrigen Außer-Bereich- und einer hohen Außer-Bereich-Region und der zweifelhaften Region. Die zweifelhafte Region ist zwischen der gültigen Niedrig- und der Hochwiderstandszustandsregion gelegen. Die niedrige Außer-Bereich-Region umfasst Widerstandswerte unter der Niedrigwiderstandszustandsregion und die hohe Außer-Bereich-Region umfasst Widerstandswerte über der Hochwiderstandszustandsregion. Der Leseverstärker 34 liefert ein logisches „0"- oder „1"-Ausgangssignal zu dem Ausgangsregister 56 und Statusflags.
  • Während einer Erfassungsoperation wählt die Leseschaltung 24 eine Wortleitung 40a40c und eine Bitleitung 42a42c aus, um den Widerstandswert durch die Speicherzelle 26 zu erfassen, die bei dem Kreuzungspunkt der ausgewählten Wortleitung 40a40c und der Bitleitung 42a42c positioniert ist. Die Zeilendecodierschaltung 28 ist gesteuert, um eine Wortleitung 40a40c auszuwählen und die Lenkschaltung 30 ist gesteuert, um eine Bitleitung 42a42d auszuwählen. Die Zeilendecodierschaltung 28 koppelt die ausgewählte Wortleitung 40a40c elektrisch mit Masse. Die Steuerschaltung 30 koppelt die ausgewählte Bitleitung 42a-42c elektrisch mit dem Ladungsverstärker 32. Der Ladungsverstärker 32 liefert eine konstante Spannung und einen Erfassungsstrom zu der ausgewählten Bitleitung 42a42c.
  • Der Leseverstärker 34 schaltet den Rücksetzschalter 36 ein, um den Kondensator 38 zu der Versorgungsspannung VDD hin zu laden. Der Leseverstärker 34 beginnt ein Zählen, wenn derselbe den Rücksetzschalter 36 öffnet. Der Kondensator 38 liefert den Erfassungsstrom durch den Ladungsverstärker 32. Der Leseverstärker 34 vergleicht die Spannung bei dem Knoten 48 mit einer Referenzspannung und zählt, bis die Spannung bei dem Knoten 48 auf die Referenzspannung abnimmt.
  • Bei einer Mehrfach-Erfassungsleseoperation wird eine erste Erfassungsoperation durchgeführt, um einen ersten Erfassungszählwert zu erhalten. Der erste Erfassungszählwert wird mit zwei multipliziert und invertiert, um denselben zu einem negativen Wert zu machen. Der negative Wert wird vor einer zweiten Erfassungsoperation in den Zähler des Leseverstärkers 34 zurückgespeichert. Die Schreibschaltung schreibt die ausgewählte Speicherzelle 26 zu einer logischen „1" und der Leseverstärker 34 erfasst den Widerstandswert durch die ausgewählte Speicherzelle 26 bei der zweiten Erfassungsoperation. Der Zähler in dem Leseverstärker 34 wird während der zweiten Erfassungsoperation zu dem zweiten Zählwert inkrementiert. Die Schreibschaltung schreibt die ausgewählte Speicherzelle 26 zu einer logischen „0" und der Leseverstärker 34 erfasst den Widerstandswert durch die ausgewählte Speicherzelle 26 bei einer dritten Erfassungsoperation. Der Zähler in dem Leseverstärker 34 wird während der dritten Erfassungsoperation zu dem dritten und endgültigen Zählwert inkrementiert. Der Leseverstärker 34 kategorisiert den endgültigen Zählwert in eine von fünf Kategorien, liefert ein logisches „0"- oder „1"-Ausgangssignal zu dem Ausgangsregister 56 und liefert Statusflags zu einer Steuerung.
  • Bei anderen Ausführungsbeispielen wird der erste Erfassungszählwert in eine Unmittelbare-Kalibrierung-, eine Flag-für-Kalibrierung- oder eine Keine-Kalibrierung-Region kategorisiert. Falls der erste Zählwert in eine Keine- Kalibrierung-Region kategorisiert wird, fährt die Speichervorrichtung 20 fort, um die Mehrfach-Erfassungsleseoperation abzuschließen. Der endgültige Zählwert wird in eine von fünf Kategorien kategorisiert.
  • 2 ist ein Diagramm, das ein exemplarisches Ausführungsbeispiel eines Arrayabschnitts darstellt, der bei 70 angegeben ist. Der Arrayabschnitt 70 umfasst eine Wortleitung 40a, eine Speicherzelle 26 und eine Bitleitung 42a. Die Speicherzelle 26 ist zwischen der Wortleitung 40a und der Bitleitung 42a positioniert. Bei dem exemplarischen Ausführungsbeispiel sind die Wortleitung 40a und die Bitleitung 42a orthogonal zueinander. Bei anderen Ausführungsbeispielen können die Wortleitung 40a und die Bitleitung 42a in anderen geeigneten Winkelbeziehungen zueinander liegen.
  • Bei dem exemplarischen Ausführungsbeispiel sind die Wortleitung 40a und die Bitleitung 42a elektrisch mit der Leseschaltung 24 und der Schreibschaltung gekoppelt. Die Schreibschaltung liefert Schreibströme zu der Wortleitung 40a und der Bitleitung 42a, um Magnetfelder gemäß der Rechte-Hand-Regel um die Wortleitung 40a und die Bitleitung 42a herum und in der Speicherzelle 26 zu erzeugen. Die Magnetfelder verbinden sich, um den Zustand der Speicherzelle 26 zu setzen oder umzuschalten.
  • Während einer Leseoperation erfasst die Leseschaltung 24 den Widerstandswert durch die Speicherzelle 26 dreimal bei einer Mehrfach-Erfassungsleseoperation. Bei einer Erfassungsoperation liefert die Leseschaltung 24 eine konstante Spannung zu der Bitleitung 42a. Ein Erfassungsstrom fließt durch die Bitleitung 42a und die Speicherzelle 26 zu der Wortleitung 40a und Masse. Der Erfassungsstrom wird durch den Kondensator 38 geliefert und der Betrag des Erfassungsstroms durch die Speicherzelle 26 entspricht dem Widerstandswert durch die Speicherzelle 26.
  • Bei einer ersten Erfassungsoperation liefert der Leseverstärker 34 einen ersten Zählwert, der dem Widerstandswert durch die Speicherzelle 26 entspricht. Der erste Zählwert wird mit zwei multipliziert und invertiert, um denselben zu einem negativen Wert zu machen, der zurück in den Zähler in dem Leseverstärker 34 gespeichert wird, um die zweite Erfassungsoperation zu beginnen. Die Speicherzelle 26 wird zu einem Hochwiderstandszustand geschrieben und der Zähler in dem Leseverstärker 34 wird während der zweiten Erfassungsoperation zu einem zweiten Zählwert inkrementiert. Die Anzahl von Inkrementen entspricht dem Hochwiderstandszustand der Speicherzelle 26. Die Speicherzelle wird zu einem Niedrigwiderstandszustand geschrieben und der Zähler in dem Leseverstärker 34 wird zu einem dritten und endgültigen Zählwert inkrementiert. Die Anzahl von Inkrementen entspricht dem Niedrigwiderstandszustand der Speicherzelle 26. Der endgültige Zählwert wird in eine von fünf Kategorien kategorisiert. Der Leseverstärker 34 liefert ein logisches Ausgangssignal zu dem Ausgangsregister 56 und Statusflags.
  • Bei einem anderen Ausführungsbeispiel wird der erste Zählwert in eine Unmittelbar-Kalibrieren-, eine Flag-für-Kalibrierung- oder eine Keine-Kalibrierung-Kategorie kategorisiert. Falls der erste Zählwert in eine Unmittelbar-Kalibrieren-Kategorie kategorisiert wird, wird die Leseschaltung 24 kalibriert und der Widerstandswert durch die Speicherzelle 26 wird erneut erfasst. Wenn der Widerstandswert durch die Speicherzelle 26 n mal in die Unmittelbar-Kalibrieren-Kategorie kategorisiert wird, wird ein Flag gesetzt, das angibt, dass die Speicherzelle 26 ein Kurzschluss oder ein Leerlauf ist. Der Wert von n kann eine jegliche geeignete Anzahl sein und bei dem exemplarischen Ausführungsbeispiel beträgt der Wert von n Zwei. Zusätzlich wird ein Flag verwendet, um einen Kurzschluss anzugeben, und ein anderes Flag wird verwendet, um einen Leerlauf anzugeben.
  • Falls der erste Zählwert in der Flag-für-Kalibrierung- oder der Keine-Kalibrierung-Kategorie gelegen ist, fährt die Leseoperation mit Mehrfach-Schreib- und Erfassungsoperationen fort, um einen endgültigen Zählwert zu erhalten. Der endgültige Zählwert wird in eine von fünf Kategorien kategorisiert und der Leseverstärker 34 liefert ein logisches Ausgangssignal zu dem Ausgangsregister 56 und Statusflags zu einer Steuerung.
  • 3 ist ein Diagramm, das einen Querschnitt des exemplarischen Ausführungsbeispiels des Arrayabschnitts 70 darstellt. Der Arrayabschnitt 70 umfasst die Speicherzelle 26, die zwischen der Wortleitung 40a und der Bitleitung 42a positioniert ist. Die Speicherzelle 26 umfasst eine Erfassungsschicht 72, eine Abstandhalterschicht 74 und eine Referenzschicht 76. Die Abstandhalterschicht 74 ist zwischen der Erfassungsschicht 72 und der Referenzschicht 76 positioniert. Die Erfassungsschicht 72 ist neben der Wortleitung 40a positioniert und die Referenzschicht 76 ist neben der Bitleitung 42a positioniert. Die Erfassungsschicht 72 weist eine veränderbare Magnetisierungsausrichtung auf und die Referenzschicht 76 weist eine festgelegte Magnetisierungsausrichtung auf.
  • Bei dem exemplarischen Ausführungsbeispiel ist die Speicherzelle 26 eine MTJ-Spintunnelvorrichtung, wobei die Abstandhalterschicht 74 eine isolierende Barriereschicht ist, durch die während Leseoperationen eine elektrische Ladung wandert. Elektrische-Ladung-Wanderungen durch die Abstandhalterschicht 74 treten ansprechend auf eine Spannung, die über die Speicherzelle 26 angelegt ist, und einen Erfassungsstrom auf, der durch die Speicherzelle 26 geliefert wird. Bei einem alternativen Ausführungsbeispiel kann eine GMR-Struktur für die Speicherzelle 26 verwendet werden, wobei die Abstandhalterschicht 74 ein Leiter ist, wie beispielsweise Kupfer.
  • 4 ist ein Diagramm, das ein exemplarisches Ausführungsbeispiel eines Direktinjektion-Ladungsverstärkers 32 und einer Digitalversatz-Kalibrierungsschaltungsanordnung darstellt, die bei 100 angegeben ist. Der Ladungsverstärker 32 umfasst einen PMOS-Differenzverstärker, eine Grobkalibrierungsschaltung 102 und eine Feinkalibrierungsschaltung 104. Der PMOS-Differenzverstärker umfasst einen ersten, einen zweiten und einen dritten PMOS-Transistor 106a, 106b und 106e und einen ersten und einen zweiten NMOS-Transistor 106c und 106d, die einen gesteuerten Stromweg bereitstellen. Die PMOS-Transistoren 106a und 106b sind in getrennten n-Typ-Mulden in einem Substrat positioniert, das ermöglicht, dass die Substratvorspannung des ersten und des zweiten PMOS-Transistors 106a und 106b gesteuert wird. Pfeile, die sich durch die Gates der PMOS-Transistoren 106a und 106b erstrecken, stellen schematisch Verbindungen zu dem Substrat dar. Das Substrat ist den NMOS-Transistoren 106c und 106d gemeinsam.
  • Der Differenzverstärker ist durch eine Zweite-Stufe-Verstärkerschaltung gefolgt, die zwei Transistoren 108a und 108b zu einem Verstärken der Verstärkung umfasst, um einen Ausgang unter Verwendung einer Rückkopplungsschleife zu steuern. Die Rückkopplungsschleife umfasst die Zweite-Stufe-Transistoren 108a und 108b, gefolgt durch einen Stromquellentransistor 110 und den ersten PMOS-Transistor 106a. Die Zweite-Stufe-Transistoren 108a und 108b liefern ein Steuersignal zu dem Gate des Stromquellentransistors 110. Ein Rückkopplungssignal wird durch den Stromquellentransistor 110 zu dem ersten PMOS-Transistor 106a geliefert.
  • Eine Stabilität einer geschlossenen Schleife kann als eine Folge eines Arbeitens mit einem Verstärker mit hoher Verstärkung ein Thema sein. Frequenzkompensationskomponenten umfassen eine Widerstandsschaltung 112 und eine Kondensatorschaltung 114, die die Stabilität der Zweite-Stufe-Transistoren 108a und 108b steuern. Die Widerstandsschal tung 112 und die Kondensatorschaltung 114 reduzieren die Hochfrequenzverstärkung der Zweite-Stufe-Transistoren 108a und 108b, um dadurch zu verhindern, dass der Operationsverstärker mit geschlossener Schleife instabil ist.
  • Der Stromquellentransistor 110 umfasst ein Gate, das mit den Zweite-Stufe-Transistoren 108a und 108b und der Kondensatorschaltung 114 gekoppelt ist. Ein Drain-zu-Source-Weg durch den Stromquellentransistor 110 ist elektrisch mit dem Gate des ersten PMOS-Transistors 106a durch einen Ladungsverstärkerleiter 44 gekoppelt. Der Drain-zu-Source-Weg durch den Stromquellentransistor 110 ist ferner elektrisch mit dem Knoten 48 der Speichervorrichtung 20 gekoppelt.
  • Bei einem normalen Betrieb wird eine Versorgungsspannung VDD zu dem dritten PMOS-Transistor 106e und dem Zweite-Stufe-Transistor 108a geliefert. Eine BIAS-Spannung (Vorspannungsspannung) wird an das Gate des dritten PMOS-Transistors 106e angelegt und eine Erfassungsspannung Vs wird zu dem Gate des zweiten PMOS-Transistors 106b geliefert. Der Ladungsverstärker 32 ist wirksam, um die Erfassungsspannung Vs an dem Ladungsverstärkerleiter 44 aufgrund des virtuellen Kurzschlusses über die Eingänge des Differenzverstärkers zwischen dem Gate des ersten PMOS-Transistors 106a und dem Gate des zweiten PMOS-Transistors 106b beizubehalten. Der Ladungsverstärkerleiter 44 ist elektrisch mit einer ausgewählten Speicherzelle 26 gekoppelt.
  • Der Kondensator 38 ist elektrisch mit dem Knoten 48 gekoppelt und liefert einen Erfassungsstrom durch den Stromquellentransistor 110 zu dem Ladungsverstärkerleiter 44 und der ausgewählten Speicherzelle 26. Der Ladungsverstärker 32 erfasst und steuert die Spannung an dem Ladungsverstärkerleiter 44 durch ein Einstellen des Stroms durch den Stromquellentransistor 110 und ein konstant Halten des Stroms durch den Stromquellentransistor 110 für eine Zeitperiode. Der Erfassungsstrom fließt durch den Stromquellentransistor 110 und die ausgewählte Speicherzelle 26, um den Kondensator 38 zu entladen. Der Leseverstärker 34 erfasst und vergleicht die Spannung bei dem Knoten 48 mit einer Referenzspannung, um ein Erfassungsergebnis zu erhalten.
  • Die Grobkalibrierungsschaltung 102 führt eine Grobversatzkorrektur durch. Die Grobkalibrierungsschaltung 102 führt die Grobversatzkorrektur durch ein Anlegen einer Substratvorspannungsspannung Vcc+ und Vcc- an die getrennten Mulden des ersten und des zweiten PMOS-Transistors 106a und 106b durch. Der Pegel der Substratvorspannungsspannung Vcc+ und Vcc- ist gemäß einer ersten digitalen Zahl gesetzt, die in der Grobkalibrierungsschaltung 102 gespeichert ist. Die Empfindlichkeit der Versatzspannung zu Substratvorspannungsspannungsvariationen kann ziemlich groß sein. Deshalb ist ein Anlegen der Substratvorspannungsspannung Vcc+ und Vcc- gut zu einem Vornehmen von Grobkorrekturen an der Versatzspannung geeignet.
  • Die Feinkalibrierungsschaltung 104 führt eine Feinversatzkorrektur durch. Die Feinversatzkorrektur wird durch ein Einstellen von Impedanzen der Transistoren 106a106e in dem Differenzverstärker durchgeführt. Die Größe der Impedanzeinstellung ist durch eine zweite digitale Zahl bestimmt, die in der Feinkalibrierungsschaltung 104 gespeichert ist.
  • Die Kalibrierungsschaltung 100 umfasst eine Kalibrierungssteuerschaltung 120, eine Teststromquelle 122 und einen Zähler 124 zum Bestimmen der ersten und der zweiten digitalen Zahl, die in der Grob- bzw. Feinkalibrierungsschaltung 102 bzw. 104 gespeichert sind. Während einer Kalibrierung liefert die Teststromquelle 122 einen Teststrom Itest bei dem Knoten 48. Der Betrag des Teststroms Itest kann ausgewählt sein, um näherungsweise der Wert des erwarteten Erfassungsstroms bei der Abwesenheit eines Versatzfehlers zu sein.
  • Bei dem Start eines Kalibrierungsmodus beginnt der Zähler 124 von Null zu zählen. Der Zählwert wird zu der Grob- und der Feinkalibrierungsschaltung 102 und 104 über einen Steuerbus A0:A5 und Gatesteuerungen GATE_C und GATE_F geliefert. Eine Grobkalibrierung wird durchgeführt, während das höchstwertige Bit A5 des Zählwerts niedrig ist, und eine Feinkalibrierung wird durchgeführt, während das höchstwertige Bit A5 hoch ist. Während einer Grobkalibrierung wird der Pegel der Substratvorspannungsspannung Vcc+ und Vcc- jedes Mal geändert, wenn der Zählwert inkrementiert wird. Eine Spannungsauslenkung bei dem Knoten 48 wird untersucht, während die Substratvorspannungsspannung Vcc+ und Vcc- geändert wird. Die Spannung Vtest bei dem Knoten 48 wird hochgezogen, während der Teststrom Itest größer als der Erfassungsstrom des Ladungsverstärkers 32 ist. Die Spannung Vtest bei dem Knoten 48 wird heruntergezogen, während der Teststrom Itest kleiner als der oder gleich dem Erfassungsstrom ist. Wenn der Knoten 48 von niedrig zu hoch wird oder umgekehrt, ist die Spannungsauslenkung bei dem Knoten 48 groß genug, um als ein logischer Eingang zu Komplementär-Metalloxidhalbleiter-Logikgattern (CMOS-Logikgattern) in der Kalibrierungssteuerschaltung 120 zu dienen.
  • Eine Spannungsauslenkung tritt auf, wenn der neue Zählwert bewirkt, dass sich die Substratvorspannungsspannung ändert, derart, dass Itest kleiner als der oder gleich dem Erfassungsstrom ist. Der Zählwert, der die Spannungsauslenkung bewirkte, wird in der Grobkalibrierungsschaltung 102 gespeichert. Dieser Zählwert ist die erste digitale Zahl, die die Substratvorspannungsspannung Vcc+ und Vcc- setzt. Die Zahl, die in der Grobkalibrierungsschaltung 102 gespeichert ist, verändert sich nicht, wenn der Zählwert weiter inkrementiert wird.
  • Eine Feinkalibrierung beginnt, nachdem der Zählwert eine Null und vier Einsen erreicht hat und das nächste Inkrement bewirkt, dass das höchstwertige Bit A5 hoch wird und die verbleibenden Bits A0–A4 niedrig werden. Der anfängliche Pegel des Teststroms Itest ist geringer als der Erfassungsstrom. Jedes Mal, wenn der Zählwert während der Feinkalibrierung inkrementiert wird, wird die Transistorimpedanz zu einem neuen Pegel geändert. Eine andere Spannungsauslenkung tritt aufgrund dessen auf, dass der neue Zählwert bewirkt, dass sich die Transistorimpedanz ändert, derart, dass Itest größer als der oder gleich dem Erfassungsstrom ist. Der Zählwert, der die Spannungsauslenkung bewirkte, wird in der Feinkalibrierungsschaltung 104 gespeichert. Dieser Zählwert ist die zweite digitale Zahl, die verwendet wird, um die Transistorimpedanz zu setzen.
  • Ein Ausführungsbeispiel eines Ladungsverstärkers 32, der zu einer Verwendung bei der vorliegenden Erfindung geeignet ist, ist in dem US-Patent Nr. 6, 262, 625, erteilt an Perner et al. am 17. Juli 2001, mit dem Titel „Operational Amplifier With Digital Offset Calibration", offenbart und beschrieben, das hierin durch Bezugnahme aufgenommen ist.
  • 5 ist ein Diagramm, das ein exemplarisches Ausführungsbeispiel eines digitalen Leseverstärkers 34 während einer Leseoperation einer ausgewählten Speicherzelle darstellt, die durch einen Widerstand bei 26 dargestellt ist. Der Leseverstärker 34 umfasst eine Leseverstärkersteuerung 200, einen N-Bit-Zähler 202, ein voreingestelltes Register 204, eine Schwellenvergleichslogik 206, einen Komparator 208, einen Takt 210 und ein Taktgatter 212. Die Leseverstärkersteuerung 200 befindet sich in einer elektrischen Kommunikation mit der Schwellenvergleichslogik 206 und dem voreingestellten Register 204 und ist durch einen Zählerbus 201 elektrisch mit dem N-Bit-Zähler 202 gekoppelt. Zusätzlich ist die Leseverstärkersteuerung 200 durch einen Gattersteuerleiter 203 elektrisch mit dem Taktgatter 212 und durch einen Schaltsteuerleiter 50 mit dem Gate des Rücksetzschalters 36 gekoppelt.
  • Der N-Bit-Zähler 202 ist durch einen Schwellenvergleichsbus 207 elektrisch mit der Schwellenvergleichslogik 206 und durch einen Voreingestelltes-Register-Bus 209 mit dem voreingestellten Register 204 gekoppelt. Der N-Bit-Zähler überträgt Zählwerte zu und von der Schwellenvergleichslogik 206 und dem voreingestellten Register 204. Zusätzlich ist der N-Bit-Zähler 202 elektrisch mit dem Taktgatter 212 durch einen Gatterausgangsleiter 205 zum Empfangen eines durchgeschalteten Taktsignals gekoppelt.
  • Das Taktgatter 212 ist durch einen Taktleiter 211 elektrisch mit dem Takt 210 gekoppelt. Zusätzlich ist das Taktgatter 212 durch einen Komparatorleiter 213 zu einem Durchschalten des Taktsignals elektrisch mit dem Komparator 208 gekoppelt.
  • Ein Drain-Source-Weg durch den Rücksetzschalter 36 ist elektrisch mit VDD und dem Knoten 48 gekoppelt, der elektrisch mit dem Komparator 208 des Leseverstärkers 34 gekoppelt ist. Zusätzlich ist der Knoten 48 elektrisch mit dem Direktinjektion-Ladungsverstärker 32 und dem Kondensator 38 gekoppelt, der bei 54 mit Masse gekoppelt ist. Der Ladungsverstärker 32 ist durch den Ladungsverstärkerleiter 44 und die Lenkschaltung 30 (in 5 nicht gezeigt) mit der Speicherzelle 26 elektrisch gekoppelt.
  • Während einer Leseoperation koppelt die Zeilendecodierschaltung 28 die ausgewählte Speicherzelle 26 elektrisch mit Masse und die Lenkschaltung 30 koppelt die ausgewählte Speicherzelle 26 elektrisch mit dem Ladungsverstärkerleiter 44 und dem Ladungsverstärker 32. Eine Erfassungsspannung Vs wird zu dem Ladungsverstärker 32 geliefert und der Ladungsverstärker 32 liefert eine entsprechende Erfassungsspannung Vs' über die ausgewählte Speicherzelle 26.
  • Die Leseverstärkersteuerung 200 liefert ein Steuersignal zu dem Gate des Rücksetzschalters 36, um den Rücksetzschalter 36 einzuschalten und die Versorgungsspannung VDD zu dem Integrierkondensator 38 zu liefern. Die Erfassungsverstärkersteuerung 200 liefert ein Steuersignal, um den Rücksetzschalter 36 auszuschalten, nachdem der Integrierkondensator 38 geladen wurde. Der Erfassungsstrom Is fließt von dem Kondensator 38 durch den Ladungsverstärker 32 und die ausgewählte Speicherzelle 26. Solange die Spannung bei dem Knoten 48 größer als die Spannung über die ausgewählte Speicherzelle 26 ist, wirkt der Kondensator 38 als ein Linearintegrator.
  • Der Ladungsverstärker 32 steuert die Erfassungsspannung Vs' über die ausgewählte Speicherzelle 26. Die Erfassungsspannung Vs' wird im Wesentlichen konstant gehalten und ist unabhängig von dem Erfassungsstrom Is, der durch die ausgewählte Speicherzelle 26 fließt. Der Strom, der durch den Ladungsverstärker 32 fließt, ist direkt proportional zu dem Widerstandswert durch die ausgewählte Speicherzelle 26. Der Ladungsverstärker 32 umfasst einen Verstärker mit hoher Verstärkung und negativer Rückkopplung zu einem Beibehalten der Erfassungsspannung Vs' bei einem konstanten Wert und einem Minimieren der Varianz der Erfassungsspannung Vs' über einem breiten Bereich von Erfassungsströmen Is.
  • Bei dem exemplarischen Ausführungsbeispiel bestimmen der Widerstandswert durch die ausgewählte Speicherzelle 26 und die Kapazität des Kondensators 38, wie schnell der Kondensator 38 entladen wird, nachdem der Rücksetzschalter 36 ausgeschaltet ist. Ein gegebener Kondensator 38 entlädt sich bei der ausgewählten Speicherzelle 26 in einem Niedrigwiderstandszustand, der einen Widerstandswert von R aufweist, verglichen mit der ausgewählten Speicherzelle 26 in einem Hochwiderstandszustand, der einen Widerstandswert von R +• R aufweist, viel schneller.
  • Der Leseverstärker 34 misst die Integrationszeit, um den Widerstandszustand der ausgewählten Speicherzelle 26 zu bestimmen. Das Taktgatter 212 empfängt Signale von der Leseverstärkersteuerung 200, dem Komparator 208 und dem Takt 210. Das Taktgatter 212 liefert ein durchgeschaltetes Taktsignal zu dem N-Bit-Zähler 202, um den N-Bit-Zähler 202 zu inkrementieren. Ein Hochgeschwindigkeitstaktsignal wird zu dem Taktgatter 212 durch den Takt 210 geliefert.
  • Wenn die Leseverstärkersteuerung 200 den Rücksetzschalter 36 ausschaltet, gibt die Leseverstärkersteuerung 200 das Taktgatter 212 frei, um den N-Bit-Zähler 202 zu takten. Der Komparator 208 vergleicht die Spannung bei dem Knoten 48 mit einer DC-Referenzspannung Vref. Wenn die Spannung bei dem Knoten 48 die Referenzspannung Vref erreicht, liefert der Komparator 208 ein Signal zu dem Taktgatter 212, um ein Takten des N-Bit-Zählers 202 zu sperren. Der Zählwert in dem N-Bit-Zähler 202 gibt die Länge der Zeit an, die die Spannung bei dem Knoten 48 benötigte, um sich auf die Referenzspannung Vref zu verringern.
  • Die Leseverstärkersteuerung 200 steuert die Leseschaltung 24, um in unterschiedlichen Modi wirksam zu sein, einschließlich Leseoperationen und einer Kalibrierung der Leseschaltung 24. Die Steuerung 200 steuert den Rücksetzschalter 36, das Taktgatter 212, den Zähler 202, das voreingestellte Register 204 und die Schwellenvergleichslogik 206.
  • Das voreingestellte Register 204 ist ein voreingestelltes N-Bit-Register, das die Inhalte desselben in den Zähler 202 lädt. Das voreingestellte Register 204 wird durch die Leseverstärkersteuerung 200 mit spezifischen Werten geladen, wie beispielsweise für eine Initialisierung oder für ein Abschließen einer Mehrfach-Erfassungsleseoperation. Bei anderen Ausführungsbeispielen können durch Eingangsanschlussflächen der Speichervorrichtung 20 spezifische Werte zugeführt werden.
  • Die Schwellenvergleichslogik 206 ist durch die Leseverstärkersteuerung 200 gesteuert, um einen Zählwert von dem Zähler 202 mit einem Satz von Schwellenwerten zu verglei chen. Bei dem exemplarischen Ausführungsbeispiel kategorisiert die Schwellenvergleichslogik 206 einen endgültigen Zählwert von dem Zähler 202 in eine von fünf Kategorien. Die fünf Kategorien umfassen eine Niedrigwiderstandszustandsregion, eine Hochwiderstandszustandsregion, eine niedrige Außer-Bereich-Region, eine hohe Außer-Bereich-Region und eine zweifelhafte Region. Die zweifelhafte Region ist zwischen der Niedrig- und der Hochwiderstandszustandsregion gelegen. Die niedrige Außer-Bereich-Region umfasst Widerstandswerte unter der Niedrigwiderstandszustandsregion und die hohe Außer-Bereich-Region umfasst Widerstandswerte über der Hochwiderstandszustandsregion.
  • Die Schwellenvergleichslogik 206 ist durch die Leseverstärkersteuerung 200 gesteuert, um einen endgültigen Zählwert von dem Zähler 202 zu empfangen und den Zählwert in eine der fünf Kategorien zu kategorisieren. Die Schwellenvergleichslogik 206 liefert eine logische „0" oder „1" zu dem N-Bit-Zähler 202, der ein Ausgangssignal DOUT zu dem Ausgangsregister 56 und der I/O-Anschlussfläche 58 liefert. Die Schwellenvergleichslogik 206 liefert ferner Statusflags zu der Leseverstärkersteuerung 200. Die Statusflags geben die Kategorie des endgültigen Zählwerts von dem Zähler 202 an. Die Leseverstärkersteuerung 200 liefert Statusflags zu externen Schaltungen durch Ausgangsanschlussflächen der Speichervorrichtung 20.
  • Bei dem exemplarischen Ausführungsbeispiel ist eine Leseoperation eine Mehrfach-Erfassungsoperation, die drei Erfassungsoperationen und zwei Schreiboperationen umfasst. Um den Widerstandszustand einer ausgewählten Speicherzelle 26 zu erfassen, wählt die Zeilendecodierschaltung 28 eine Wortleitung 40a40c aus und die Lenkschaltung 30 wählt eine Bitleitung 42a42c aus. Die ausgewählte Wortleitung 40a40c und die ausgewählte Bitleitung 42a42c kreuzen sich bei der ausgewählten Speicherzelle 26. Der Widerstandswert durch die ausgewählte Speicherzelle 26 wird in einer ersten Erfassungsoperation erfasst, um einen ersten Zählwert in dem Zähler 202 zu erhalten. Die Leseverstärkersteuerung 200 empfängt den ersten Zählwert von dem Zähler 202 und multipliziert den ersten Zählwert mit zwei. Die Multiplikation mit zwei wird durch ein Verschieben eines Binärwerts um ein Bit nach links erzielt. Die Leseverstärkersteuerung 200 invertiert den verdoppelten ersten Zählwert, um einen negativen verdoppelten ersten Zählwert zu erhalten, der zu dem voreingestellten Register 204 geliefert wird. Das voreingestellte Register 204 überträgt den negativen verdoppelten ersten Zählwert in den Zähler 202 vor der zweiten Erfassungsoperation.
  • Die Leseverstärkersteuerung 200 weist die Speichervorrichtung 20 an, die ausgewählte Speicherzelle 26 zu einem Hochwiderstandszustand zu schreiben. Der Widerstandswert durch die ausgewählte Speicherzelle 26 wird in einer zweiten Erfassungsoperation erfasst, nachdem die ausgewählte Speicherzelle 26 zu dem Hochwiderstandszustand geschrieben wurde. Der voreingestellte oder anfängliche Wert des Zählers 202 für die zweite Erfassungsoperation ist der negative verdoppelte erste Zählwert, der von dem voreingestellten Register 204 zu dem Zähler 202 geliefert wird. Die zweite Erfassungsoperation geht weiter, wie es vorhergehend beschrieben ist, derart, dass der Zähler 202 inkrementiert wird, während die Spannung bei dem Knoten 48 sich auf die Referenzspannung Vref verringert. Der negative Wert in dem Zähler 202 wird zu Null hin inkrementiert. Nach der zweiten Erfassungsoperation empfängt die Leseverstärkersteuerung 200 den zweiten Zählwert von dem Zähler 202 und liefert den zweiten Zählwert zu dem voreingestellten Register 204. Das voreingestellte Register 204 lädt den zweiten Zählwert in den Zähler 202 bei dem Beginn der dritten Erfassungsoperation.
  • Die Leseverstärkersteuerung 200 weist die Speichervorrichtung 20 an, die ausgewählte Speicherzelle 26 zu einem Niedrigwiderstandszustand zu schreiben. Nachdem die ausgewählte Speicherzelle 26 zu dem Niedrigwiderstandszustand geschrieben wurde, wird eine dritte Erfassungsoperation an der ausgewählten Speicherzelle 26 durchgeführt. Um die dritte Erfassungsoperation zu beginnen, lädt das voreingestellte Register 204 den zweiten Zählwert, d. h. den Zählwert, der nach der zweiten Erfassungsoperation in dem Zähler 202 verbleibt, in den Zähler 202. Die dritte Erfassungsoperation inkrementiert den Zähler 202, während die Spannung bei dem Knoten 48 sich auf die Referenzspannung Vref verringert. Der resultierende Zählwert, der als der endgültige Zählwert bezeichnet wird, wird zu der Schwellenvergleichslogik 206 geliefert, um in eine von fünf Kategorien kategorisiert zu werden.
  • Die Schwellenvergleichslogik 206 kategorisiert den endgültigen Zählwert in die Niedrigwiderstandszustandsregion, die Hochwiderstandszustandsregion, die niedrige Außer-Bereich-Region, die hohe Außer-Bereich-Region oder die zweifelhafte Region. Die Schwellenvergleichslogik 206 liefert eine logische „0" oder „1" zu dem Zähler 202. Der Zähler 202 liefert das DOUT-Signal zu dem Ausgangsregister 56. Die Schwellenvergleichslogik 206 liefert ferner Statusflags zu der Leseverstärkersteuerung 200, die die Statusflags zu externen Schaltungen liefert.
  • Bei einem Beispiel einer Mehrfach-Erfassungsleseoperation wird der Widerstandswert durch eine ausgewählte Speicherzelle 26 erfasst, um einen ersten Zählwert von 100 zu erhalten. Bei diesem Beispiel ergibt ein Hochwiderstandszustand einen Zählwert von 110 und ein Niedrigwiderstandszustand ergibt einen Zählwert von 100. Der erste Zählwert von 100 wird mit zwei multipliziert, um einen verdoppelten ersten Zählwert von 200 zu erhalten. Der positive Zählwert von 200 wird invertiert, um einen negativen verdoppelten ersten Zählwert von in etwa negativ 200 zu erhalten. Der negative verdoppelte erste Zählwert wird zu dem voreingestellten Register 204 geliefert. Die ausgewählte Speicherzelle 26 wird zu einem Hochwiderstandszustand geschrieben und eine zweite Erfassungsoperation wird durchgeführt.
  • Während der zweiten Erfassungsoperation inkrementiert der Zähler 110 Zählwerte, um einen zweiten Zählwert von in etwa negativ 90 zu erhalten. Der Zählwert von negativ 90 wird durch die Leseverstärkersteuerung 200 empfangen und zu dem voreingestellten Register 204 geliefert. Die Speicherzelle 26 wird zu dem Niedrigwiderstandszustand geschrieben und die ausgewählte Speicherzelle 26 wird in einer dritten Erfassungsoperation erfasst. Das voreingestellte Register 206 lädt den Zähler 202 mit dem Zählwert von negativ 90, um die dritte Erfassungsoperation zu beginnen. Während der dritten Erfassungsoperation inkrementiert der Zähler 100 Zählwerte, um einen endgültigen Zählwert von positiv 10 zu erreichen.
  • Bei diesem Beispiel ist die zweifelhafte Region oder Kategorie als eine Region von plus oder minus Zwei um Null herum definiert. Die Hochwiderstandszustandsregion ist zwischen negativ zwei und negativ 15 und die Niedrigwiderstandszustandsregion ist zwischen positiv zwei und positiv 15. Die hohe Außer-Bereich-Region ist weniger als negativ 15 und die niedrige Außer-Bereich-Region ist größer als positiv 15. Bei einer Leseoperation kann ein hoher Außer-Bereich- oder ein niedriger Außer-Bereich-Wert das Ergebnis eines übermäßigen Rauschens oder eines nichtlinearen Widerstandsfehlers sein. Für sehr hohe und sehr niedrige Widerstandswerte ändert sich der Widerstandswert durch die ausgewählte Speicherzelle 26 wenig, wenn überhaupt, bei einer Zustandsänderung der ausgewählten Speicherzelle 26. Deshalb resultieren sehr niedrige Widerstandswerte, wie beispielsweise Kurzschlüsse, und sehr hohe Widerstandswerte, wie beispielsweise Leerläufe, in einem endgültigen Zählwert in der zweifelhaften Region.
  • Bei dem vorliegenden Beispiel liegt der endgültige Zählwert von positiv 10 direkt in der Niedrigwiderstandszustandsregion. Der Zähler 202 liefert ein logisches „0"-DOUT-Signal zu dem Ausgangsregister 56 und die Leseverstärkersteuerung 200 setzt ein Flag, das eine gültige logische „0" angibt.
  • Bei dem exemplarischen Ausführungsbeispiel setzt die Leseverstärkersteuerung 200 ein einziges Flag für jede der fünf Kategorien. Bei einem anderen Ausführungsbeispiel kann die Leseverstärkersteuerung 200 ein Flag für beide gültige logische Zustände verwenden und ein Flag für sowohl die niedrige Außer-Bereich- als auch die hohe Außer-Bereich-Kategorie.
  • Bei einem anderen Ausführungsbeispiel kategorisiert der Leseverstärker 34 den ersten Zählwert einer Mehrfach-Erfassungsleseoperation in eine von fünf Kategorien oder Regionen. Zusätzlich kategorisiert der Leseverstärker 34 den endgültigen Zählwert in eine von fünf Regionen, wie es für das vorhergehende Ausführungsbeispiel beschrieben ist. Der erste Zählwert wird in fünf Regionen kategorisiert, einschließlich einer Kurzschluss-, einer Leerlauf-, zwei Verzögert-Kalibrierung-Regionen und einer Keine-Kalibrierung-Region. Die zwei Verzögert-Kalibrierung-Regionen sind positioniert, wobei eine Region zwischen einer Kurzschluss- und der Keine-Kalibrierung-Region ist und die andere zwischen einer Leerlauf- und der Keine-Kalibrierung-Region ist. Die Keine-Kalibrierung-Region ist eine mittlere Region, die den Niedrig- und den Hochwiderstandszustand umfasst. Die fünf Regionen zum Kategorisieren des ersten Zählwerts sind unterschiedlich zu den fünf Regionen zum Kategorisieren des endgültigen Zählwerts.
  • Bei diesem Ausführungsbeispiel wird der erste Zählwert in eine von fünf Regionen kategorisiert. Falls der erste Zählwert als ein Kurzschluss oder ein Leerlauf kategorisiert wird, weist die Leseverstärkersteuerung 200 die Speichervorrichtung 20 an, um eine unmittelbare Kalibrierung der Leseschaltung 24 vorzunehmen. Nach der unmittelbaren Kalibrierung prüft die Speichervorrichtung 20 die ausgewählte Speicherzelle 26 wieder. Die Sequenz eines Kategorisierens als ein Kurzschluss oder ein Leerlauf und eine unmittelbare Kalibrierung geschieht bis zu n mal. Wenn der erste Zählwert n-mal für die gleiche ausgewählte Spei cherzelle 26 einen Kurzschluss oder einen Leerlauf angibt, setzt die Leseverstärkersteuerung 200 ein Flag, das angibt, dass die ausgewählte Speicherzelle 26 ein Leerlauf oder ein Kurzschluss ist. Bei dem exemplarischen Ausführungsbeispiel setzt die Leseverstärkersteuerung 200 ein Flag, um einen Kurzschluss anzugeben, und ein anderes Flag, um einen Leerlauf anzugeben. Die Speichervorrichtung 20 hört auf, den Widerstandswert durch die ausgewählte Speicherzelle 26 zu erfassen, nachdem die ausgewählte Speicherzelle 26 als ein Kurzschluss oder ein Leerlauf markiert bzw. mit einem Flag versehen ist.
  • Falls der erste Wert in eine der zwei Verzögerte-Kalibrierung-Regionen kategorisiert wird, setzt die Leseverstärkersteuerung 200 ein Flag, das angibt, dass die Leseschaltung 24 zu einer späteren Zeit kalibriert werden muss. Die Leseverstärkersteuerung 200 fährt mit der Mehrfach-Erfassungsleseoperation fort, um den endgültigen Zählwert zu erhalten und den endgültigen Zählwert in die eine von fünf Regionen zu kategorisieren, wie es oben beschrieben ist. Die Leseschaltung 24 kann bei einer verzögerten Kalibrierung nach einem Erfassen der ausgewählten Speicherzelle 26 oder nach einem Erfassen einer vorbestimmten Anzahl von Speicherzellen 26 kalibriert werden. Das Verzögerte-Kalibrierung-Flag wird entfernt, nachdem die Leseschaltung 24 kalibriert ist.
  • Falls der erste Zählwert in die Nicht-Kalibrierung-Kategorie kategorisiert wird, fährt die Leseverstärkersteuerung 200 fort, um die Mehrfach-Erfassungsleseoperation abzuschließen, um einen endgültigen Zählwert zu erhalten. Der endgültige Zählwert wird in die eine von fünf Kategorien kategorisiert.
  • Bei einem Beispiel eines Kategorisierens des ersten Zählwerts führt die Leseschaltung 24 eine erste Erfassungsoperation an einer ausgewählten Speicherzelle 26 durch, um einen ersten Zählwert von 100 von dem Zähler 202 zu erhal ten. Der erste Zählwert von 100 wird durch die Schwellenvergleichslogik 206 empfangen, um den ersten Zählwert in eine von fünf ersten Erfassungskategorien zu kategorisieren. Bei dem vorliegenden Beispiel ergibt eine ausgewählte Speicherzelle 26 in dem Niedrigwiderstandszustand einen erwarteten ersten Zählwert von 100 und eine Speicherzelle 26 in dem Hochwiderstandszustand ergibt einen erwarteten ersten Zählwert von 110. Die Nicht-Kalibrierung-Region erstreckt sich von 85 bis 125. Ein erster Zählwert in dieser Region gibt an, dass der erfasste Widerstandswert für ein Fortfahren mit der Leseoperation annehmbar ist. Die niedrige Verzögerte-Kalibrierung-Region ist in einem Bereich von 70 bis 85 und die hohe Verzögerte-Kalibrierung-Region ist in dem Bereich 125 bis 140. Ein erster Zählwert in einem dieser Bereiche gibt an, dass der erfasste Widerstandswert und der erste Zählwert für ein Fortfahren mit der Leseoperation annehmbar ist. Die Leseschaltung 24 muss jedoch zu einer späteren Zeit kalibriert werden. Die Kurzschluss-Unmittelbare-Kalibrierung-Region ist ein Zählwert von weniger als 70 und die Leerlauf-Unmittelbare-Kalibrierung-Region ist ein Zählwert von mehr als 140. Ein erster Zählwert von weniger als 70 oder mehr als 140 gibt an, dass die Leseschaltung 24 einer unmittelbaren Kalibrierung bedarf oder die ausgewählte Speicherzelle 26 ein Kurzschluss oder ein Leerlauf ist. Bei dem vorliegenden Beispiel ist ein erster Zählwert von 100 in der Nicht-Kalibrierung-Region gelegen und die Leseoperation fährt fort, um einen endgültigen Zählwert zu erhalten und den endgültigen Zählwert in eine von fünf Kategorien zu kategorisieren.
  • Ein Ausführungsbeispiel des Leseverstärkers 34, das zu einer Verwendung bei der vorliegenden Erfindung geeignet ist, ist in dem US-Patent Nr. 6,188,615, erteilt an Perner et al. am 13. Februar 2001 und mit dem Titel „MRAM Device Including Digital Sense Amplifiers", offenbart und beschrieben, das hierin durch Bezugnahme aufgenommen ist.
  • 6 ist ein Graph, der die Wahrscheinlichkeit (p) darstellt, dass ein Leseoperationsergebnis in eine von fünf Kategorien kategorisiert wird. Die Leseoperation ist eine Mehrfach-Erfassungsleseoperation, die in einem endgültigen Zählwert resultiert. Die endgültigen Zählwerte sind aufgetragen, um 100% der endgültigen Zählabtastwerte zu berücksichtigen, die von repräsentativen Speicherzellen 26 genommen sind. Die Speicherzellen 26 wurden für einen Abtastwert zu einem Niedrigwiderstandszustand geschrieben und für einen anderen Abtastwert zu einem Hochwiderstandszustand. Die Endgültige-Zählwert-Skala ist in fünf Regionen oder Bereiche geteilt, die die fünf Kategorien sind, die durch den Leseverstärker 34 unterschieden werden.
  • In einer Kategorie 300 ist der endgültige Zählwert in der hohen Außer-Bereich-Kategorie, die eine mögliche Fehlersituation aufgrund eines übermäßigen Rauschens oder eines nichtlinearen Widerstandswerts darstellt. Der Leseverstärker 34 liefert ein logisches „1"-Ausgangssignal zu dem Ausgangsregister 56. Zusätzlich setzt der Leseverstärker 34 ein Flag, das angibt, dass der endgültige Zählwert in der hohen Außer-Bereich-Kategorie ist.
  • In einer Kategorie 302 ist der endgültige Zählwert in der Hochwiderstandszustandskategorie. Endgültige Zählwerte in der Kategorie 302 sind gültige Hochwiderstandszustandszählwerte. Der Leseverstärker 34 liefert ein logisches „1"-Ausgangssignal bei DOUT zu dem Ausgangsregister 56. Zusätzlich setzt der Leseverstärker 34 ein Flag, das angibt, dass der endgültige Zählwert eine gültige logische „1" ist.
  • In einer Kategorie 304 ist der endgültige Zählwert in der zweifelhaften Region, wo ein Widerstandszustand nicht mit einem jeglichen Grad an Bestimmtheit ermittelt werden kann. Der endgültige Zählwert ist zwischen den endgültigen Zählwerten für einen Niedrigwiderstandszustand und einen Hochwiderstandszustand der Speicherzellen 26 gelegen. In der zweifelhaften Kategorie 304 liefert der Leseverstärker 34 eine logische „0" oder eine logische „1" als ein Ausgangssignal DOUT zu dem Ausgangsregister 56. Der gelieferte logische Wert hängt von vorbestimmten Kriterien ab, wie beispielsweise dem vorhergehenden logischen Wert, der zu dem Ausgangsregister 56 geliefert wird. Der Leseverstärker 34 setzt ein Flag, das angibt, dass der endgültige Zählwert in der zweifelhaften Kategorie 304 gelegen ist, und liefert das Flag, wie bei allen Flags, zu externen Vorrichtungen, wie es benötigt wird.
  • In einer Kategorie 306 ist der endgültige Zählwert in der Niedrigwiderstandszustandskategorie. Endgültige Zählwerte in der Kategorie 306 sind gültige Niedrigwiderstandszustandszählwerte. Der Leseverstärker 34 liefert ein logisches „0"-Ausgangssignal bei DOUT zu dem Ausgangsregister 56. Zusätzlich setzt der Leseverstärker 34 ein Flag, das angibt, dass der endgültige Zählwert eine gültige logische „0" ist.
  • In einer Kategorie 308 ist der endgültige Zählwert in der unteren Außer-Bereich-Kategorie, die eine mögliche Fehlersituation aufgrund eines übermäßigen Rauschens oder eines nichtlinearen Widerstandswerts darstellt. Der Leseverstärker 34 liefert ein logisches „0"-Ausgangssignal zu dem Ausgangsregister 56. Zusätzlich setzt der Leseverstärker 34 ein Flag, das angibt, dass der endgültige Zählwert in der unteren Außer-Bereich-Kategorie ist.
  • Bei dem exemplarischen Ausführungsbeispiel umfasst die Schwellenvergleichslogik 206 Schwellenwerte zum Unterscheiden zwischen den fünf Kategorien von Widerstandswerten und endgültigen Zählwerten, die durch Speicherzellen 26 erfasst werden. Die Schwellenwerte werden aus einem repräsentativen Abtastwert von Speicherzellen 26 in der Speichervorrichtung 20 berechnet. Ausgewählte Speicherzellen 26 werden in dem Niedrigwiderstandszustand und dem Hochwiderstandszustand erfasst. Die endgültigen Zählwerte werden in die fünf Kategorien unter Verwendung vorbestimmter Kriterien ge teilt, wie beispielsweise Standardabweichungen, um die Grenzen zwischen den fünf Kategorien zu bestimmen. Die berechneten Schwellenwerte werden in der Schwellenvergleichslogik 206 zum Kategorisieren der endgültigen Zählwerte in eine der fünf Regionen gespeichert.
  • 7 ist ein Flussdiagramm, das eine Leseoperation eines exemplarischen Ausführungsbeispiels der Speichervorrichtung 20 darstellt. Die Leseoperation ist eine Mehrfach-Erfassungs- und Mehrfach-Schreibleseoperation, die drei Erfassungsoperationen und zumindest zwei Schreiboperationen umfasst. Um eine Leseoperation zu beginnen, wählt die Zeilendecodierschaltung 28 eine Wortleitung 40a40c aus und die Lenkschaltung 30 wählt eine Bitleitung 42a42c aus, um die Speicherzelle 26 auszuwählen, die bei dem Kreuzungspunkt der ausgewählten Wortleitung 40a40c und der ausgewählten Bitleitung 42a42c positioniert ist, was bei 400 angegeben ist. Bei einer ersten Erfassungsoperation bei 402 koppelt die Zeilendecodierschaltung 28 die ausgewählte Wortleitung 40a40c mit Masse und die Lenkschaltung 30 koppelt die ausgewählte Bitleitung 42a42c mit dem Ladungsverstärker 32. Der Erfassungsverstärker 34 steuert den Rücksetzschalter 36, um den Kondensator 38 bei einem Knoten 48 zu der Versorgungsspannung VDD hin zu leiten und zu laden, und steuert dann den Rücksetzschalter 36, um ein Leiten zu beenden. Der Ladungsverstärker 32 liefert eine konstante Spannung zu der ausgewählten Bitleitung 42a42c. Die konstante Spannung erzeugt einen konstanten Erfassungsstrom Is durch die ausgewählte Speicherzelle 26. Der Erfassungsstrom Is wird durch den Kondensator 38 geliefert. Der Leseverstärker 34 zählt zu einem ersten Zählwert, während der Kondensator 38 sich auf eine Referenzspannung verringert. Der erste Zählwert wird durch die Leseverstärkersteuerung 200 empfangen und mit zwei multipliziert. Der verdoppelte erste Zählwert wird invertiert, um denselben zu einer negativen Zahl zu machen, die in dem voreingestellten Register 204 gespeichert wird.
  • Die Schreibschaltung schreibt bei 404 die ausgewählte Speicherzelle 26 zu einem Hochwiderstandszustand, der hierin als eine logische „1" bezeichnet wird. Nachdem die ausgewählte Speicherzelle 26 zu dem Hochwiderstandszustand geschrieben wurde, führt die Leseschaltung 24 bei 406 eine zweite Erfassungsoperation durch. Bei dem Beginn der zweiten Erfassungsoperation lädt das voreingestellte Register 204 das Negative des verdoppelten ersten Zählwerts in den Zähler 202. Die Zeilendecodierschaltung 28 und die Lenkschaltung 30 koppeln die ausgewählte Speicherzelle 26 mit Masse und dem Ladungsverstärker 32. Der Leseverstärker 34 steuert den Rücksetzschalter 36, um den Kondensator 38 bei dem Knoten 48 zu der Versorgungsspannung VDD hin zu leiten und zu laden, und steuert dann den Rücksetzschalter 36, um ein Leiten zu beenden. Der Ladungsverstärker 32 liefert eine konstante Spannung über die ausgewählte Speicherzelle 26, um einen konstanten Erfassungsstrom Is durch die ausgewählte Speicherzelle 26 zu erzeugen. Der Zähler 202 inkrementiert zu Null hin, während sich die Spannung bei dem Knoten 48 auf die Referenzspannung verringert. Der zweite Zählwert in dem Zähler 202 wird durch die Leseverstärkersteuerung 200 empfangen und in das voreingestellte Register 204 geladen.
  • Die Schreibschaltung schreibt die ausgewählte Speicherzelle 26 bei 408 zu einem Niedrigwiderstandszustand, der hierin als eine logische „0" bezeichnet wird. Nachdem die ausgewählte Speicherzelle 26 zu einer logischen „0" geschrieben wurde, führt die Leseschaltung 24 bei 410 eine dritte Erfassungsoperation durch. Bei dem Beginn der dritten Erfassungsoperation lädt das voreingestellte Register 204 den Zähler 202 mit dem zweiten Zählwert. Die Zeilendecodierschaltung 28 und die Lenkschaltung 30 koppeln die ausgewählte Speicherzelle 26 mit Masse und dem Ladungsverstärker 32. Der Leseverstärker 34 steuert den Rücksetzschalter, um den Kondensator 38 bei dem Knoten 48 zu der Versorgungsspannung VDD hin zu laden, und steuert dann den Rücksetzschalter 36, um ein Leiten zu beenden. Der Ladungs verstärker 32 liefert eine konstante Spannung über die ausgewählte Speicherzelle 26, um einen konstanten Erfassungsstrom Is durch die ausgewählte Speicherzelle 26 zu erzeugen. Der Zähler 202 inkrementiert, während die Spannung bei dem Knoten 48 sich auf die Referenzspannung verringert. Der resultierende Zählwert in dem Zähler 202, der auch als der endgültige Zählwert bezeichnet wird, ist ein Nettozählwert der drei Erfassungsoperationen 402, 406 und 410. Die Schwellenvergleichslogik 206 empfängt den endgültigen Zählwert zu einem Kategorisieren des endgültigen Zählwerts in eine von fünf Kategorien. Der Leseverstärker 34 liefert ein logisches „0"- oder „1"-Ausgangssignal DOUT bei 412. Zusätzlich schreibt die Speichervorrichtung die ausgewählte Speicherzelle 26 zu einem logischen „0"- oder „1"-Zustand, wie es durch den endgültigen Zählwert bestimmt ist.
  • Die Schwellenvergleichslogik 206 kategorisiert den endgültigen Zählwert in eine von fünf Kategorien. Die Schwellenvergleichslogik 206 kann Kategorisierungsentscheidungen in einer jeglichen Reihenfolge durchführen. Bei dem exemplarischen Ausführungsbeispiel entscheidet die Schwellenvergleichslogik 206 bei 414, ob der endgültige Zählwert in der gültigen Niedrigwiderstandszustandskategorie 306 oder gültigen Hochwiderstandszustandskategorie 302 gelegen ist. Falls der endgültige Zählwert sich in der Kategorie 306 oder der Kategorie 302 befindet, setzen die Schwellenvergleichslogik 206 und die Leseverstärkersteuerung 200 bei 416 ein Flag, um anzugeben, dass der endgültige Zählwert eine gültige logische „0" ist, oder ein Flag, um anzugeben, dass der endgültige Zählwert eine gültige logische „1" ist. Bei 418 geht eine Steuerung zu der Leseverstärkersteuerung 200 über.
  • Wenn der endgültige Zählwert nicht in der Niedrigwiderstandszustandskategorie 306 oder der Hochwiderstandszustandskategorie 302 gelegen ist, entscheidet die Schwellenvergleichslogik 206 bei 420, ob der endgültige Zählwert in der hohen Außer-Bereich-Kategorie 300 oder der niedrigen Außer-Bereich-Kategorie 308 gelegen ist. Falls der endgültige Zählwert hoch Außer-Bereich oder niedrig Außer-Bereich angibt, setzen die Schwellenvergleichslogik 206 und die Leseverstärkersteuerung 200 ein hohes Außer-Bereich-Flag oder ein niedriges Außer-Bereich-Flag bei 422. Eine Steuerung geht bei 418 zu der Leseverstärkersteuerung 200 über.
  • Falls der Zählwert nicht hoch Außer-Bereich oder niedrig Außer-Bereich angibt, wird angenommen, dass der endgültige Zählwert in der zweifelhaften Region oder Kategorie 304 gelegen ist. Die Schwellenvergleichslogik 206 und die Leseverstärkersteuerung 200 setzen bei 424 ein Flag, um anzugeben, dass sich der endgültige Zählwert in der zweifelhaften Kategorie 304 befindet. Eine Steuerung wird bei 418 zu der Leseverstärkersteuerung 200 geleitet. Das Ergebnis der Leseoperation ist ein logisches „0"- oder „1"-Ausgangssignal DOUT und ein Flag, um die Kategorie des endgültigen Zählwerts anzugeben.
  • 8 ist ein Graph für ein anderes Ausführungsbeispiel, der die Wahrscheinlichkeit (p) darstellt, dass ein erstes Erfassungsoperationsergebnis in eine von fünf Kategorien kategorisiert ist. Das erste Erfassungsoperationsergebnis ist ein erster Erfassungszählwert, der direkt auf den Widerstandswert durch die ausgewählte Speicherzelle 26 bezogen ist. Der Widerstandswert umfasst die Wirkung von Kriechwegwiderständen, Reihenwegwiderständen und eines Schaltungsrauschens. Die ersten Erfassungszählwerte sind aufgetragen, um 100% der ersten Erfassungszählabtastwerte zu berücksichtigen, die von repräsentativen Speicherzellen 26 genommen sind. Die Speicherzellen 26 werden für einen Abtastwert zu einem Niedrigwiderstandszustand und für einen anderen Abtastwert zu einem Hochwiderstandszustand geschrieben. Die Erster-Erfassungsabtastwert-Skala ist in fünf Regionen oder Bereiche geteilt, die die fünf Kategorien sind, die durch den Leseverstärker 34 für einen ersten Zählwert unterschieden werden.
  • In einer Kategorie 500 ist der Widerstandswert sehr niedrig und die Kategorie 500 stellt eine kurzgeschlossene Speicherzelle 26 dar. Der Leseverstärker 34 steuert die Speichervorrichtung, um die Leseschaltung 24 unmittelbar zu kalibrieren. Nach einer Kalibrierung wird die ausgewählte Speicherzelle 26 erneut erfasst. Falls eine Kurzschlusskategorie 500 n-mal angegeben wird, setzt der Leseverstärker 34 ein Flag, um anzugeben, dass die ausgewählte Speicherzelle 26 ein Kurzschluss ist.
  • In einer Kategorie 502 ist der Widerstandswert größer als der Widerstandswert der kurzgeschlossenen Speicherzelle 26. Der Widerstandswert ist jedoch nicht groß genug, um in eine Nicht-Kalibrierung-Region 504 kategorisiert zu werden. Die Kategorie 502 stellt eine niedrige Verzögerte-Kalibrierung-Region dar. Der Leseverstärker 34 setzt ein Flag für eine Kalibrierung, das angibt, dass der erfasste Widerstandswert in der niedrigen Verzögerte-Kalibrierung-Kategorie 502 ist. Die Speichervorrichtung 20 fährt mit der Leseoperation fort. Eine Kalibrierung der Leseschaltung 24 findet nach einem Erfassen der ausgewählten Speicherzelle 26 statt, oder nachdem eine vorbestimmte Anzahl von Speicherzellen 26 erfasst wurde.
  • Die Kategorie 504 stellt Widerstandswerte dar, die angeben, dass keine Kalibrierung notwendig ist. Die Kategorie 504 ist eine Keine-Kalibrierung-Region, die den Niedrig- und den Hochwiderstandszustand umfasst. Die Speichervorrichtung 20 fährt mit der Leseoperation fort.
  • In einer Kategorie 506 ist der Widerstandswert kleiner als der Widerstandswert einer Speicherzelle 26 im Leerlauf. Der Widerstandswert ist jedoch nicht klein genug, um in die Keine-Kalibrierung-Region 504 kategorisiert zu werden. Die Kategorie 506 stellt eine hohe Verzögerte-Kalibrierung-Region dar. Der Leseverstärker 34 setzt ein Flag für eine Kalibrierung, das angibt, dass der erfasste Widerstandswert in der hohen Verzögerte-Kalibrierung-Kategorie 506 ist. Die Speichervorrichtung 20 fährt mit der Leseoperation fort. Eine Kalibrierung der Leseschaltung 24 findet nach einem Erfassen der ausgewählten Speicherzelle 26 statt, oder nachdem eine vorbestimmte Anzahl von Speicherzellen 26 erfasst wurde.
  • In einer Kategorie 508 ist der Widerstandswert sehr hoch und die Kategorie 508 stellt eine Speicherzelle 26 im Leerlauf dar. Der Leseverstärker 34 steuert die Speichervorrichtung 20, um die Leseschaltung 24 unmittelbar zu kalibrieren. Nach einer Kalibrierung wird die Speicherzelle 26 erneut erfasst. Falls eine Leerlaufkategorie 508 n-mal angegeben wird, setzt der Leseverstärker 34 ein Flag, um anzugeben, dass der erfasste Widerstandswert ein Leerlauf ist.
  • Die Schwellenvergleichslogik 206 umfasst Schwellenwerte zum Unterscheiden zwischen den fünf Kategorien von Widerstandswerten, die durch Speicherzellen 26 erfasst werden. Die Schwellenwerte werden aus einem repräsentativen Abtastwert von Speicherzellen 26 in der Speichervorrichtung 20 berechnet. Ausgewählte Speicherzellen 26 werden in dem Niedrigwiderstandszustand und dem Hochwiderstandszustand erfasst. Die erfassten Widerstandswerte werden in die fünf Kategorien unter Verwendung von vorbestimmten Kriterien geteilt, wie beispielsweise Standardabweichungen, um die Grenzen zwischen den fünf Kategorien zu bestimmen. Die berechneten Schwellenwerte werden in der Schwellenvergleichslogik 206 zum Kategorisieren eines ersten Zählwerts in eine der fünf Regionen gespeichert.
  • 9a und 9b sind Flussdiagramme, die eine Leseoperation eines anderen Ausführungsbeispiels der Speichervorrichtung 20 darstellen. Die Leseoperation ist eine Mehrfach-Erfassungs-, Mehrfach-Schreibleseoperation, die drei Erfassungsoperationen und zumindest zwei Schreiboperationen umfasst. Nach der ersten Erfassungsoperation wird der erste Zählwert in eine von fünf Kategorien kategorisiert. Falls der erste Zählwert in eine Kurzschluss- oder Leerlaufkategorie 500 oder 508 kategorisiert wird, wird die Leseschaltung 24 unmittelbar kalibriert. Wenn der erste Zählwert in eine von zwei Verzögerte-Kalibrierung-Regionen 502 oder 506 kategorisiert wird, wird die Leseschaltung 24 zu einer späteren Zeit kalibriert. Die andere Kategorie 504 gibt an, dass die Leseschaltung 24 keiner Kalibrierung bedarf. Wenn der erste Zählwert in eine der zwei Verzögerte-Kalibrierung-Regionen 502 und 506 oder die Keine-Kalibrierung-Region 504 kategorisiert wird, fährt die Leseoperation mit Mehrfach-Erfassungs- und Schreiboperationen fort, um einen endgültigen Zählwert zu erhalten. Der endgültige Zählwert wird in eine von den fünf Kategorien kategorisiert, die in 6 dargestellt sind.
  • Um eine Leseoperation zu beginnen, wählt die Zeilendecodierschaltung 28 eine Wortleitung 40a40c aus und die Lenkschaltung 30 wählt eine Bitleitung 42a42c bei 600 aus, um eine Speicherzelle 26 auszuwählen. Bei 602 koppelt die Zeilendecodierschaltung 28 die ausgewählte Wortleitung 40a40c elektrisch mit Masse und die Lenkschaltung 30 koppelt die ausgewählte Bitleitung 42a42c elektrisch mit dem Ladungsverstärker 32. Der Leseverstärker 34 schaltet den Rücksetzschalter 36 ein, um den Kondensator 38 zu der Versorgungsspannung VDD hin zu laden. Der Leseverstärker 34 schaltet den Rücksetzschalter 36 aus, nachdem der Kondensator 38 geladen ist. Der Ladungsverstärker 32 liefert eine konstante Spannung über die ausgewählte Speicherzelle 26, um einen konstanten Erfassungsstrom Is durch die ausgewählte Speicherzelle 26 zu erzeugen. Der Erfassungsstrom Is wird durch den Kondensator 38 geliefert. Der Zähler 202 des Leseverstärkers 34 inkrementiert, während die Spannung bei dem Knoten 48 sich auf die Referenzspannung verringert. Nach der ersten Erfassungsoperation wird der Zählwert in dem Zähler 202, der als der erste Zählwert bezeichnet wird, durch die Schwellenvergleichslogik 206 und die Leseverstärkersteuerung 200 empfangen. Die Leseverstärkersteuerung 200 multipliziert den ersten Zählwert mit zwei und invertiert denselben, um denselben zu einer negativen Zahl zu machen. Dieser negative verdoppelte erste Zählwert wird zu dem voreingestellten Register 204 geliefert. Die Schwellenvergleichslogik 206 kategorisiert den ersten Zählwert in eine von fünf Kategorien.
  • Die Schwellenvergleichslogik 206 überprüft bei 604, um zu sehen, ob der erste Zählwert in einer Leerlaufkategorie 508 oder einer Kurzschlusskategorie 500 gelegen ist. Wenn der erste Zählwert als ein Leerlauf oder ein Kurzschluss kategorisiert wird, überprüft die Schwellenvergleichslogik 206, um zu sehen, ob die Leerlauf- oder Kurzschlusskategorisierung n-mal vorher auftrat, bei 606. Wenn der erste Zählwert für die ausgewählte Speicherzelle 26 nicht n-mal zuvor als ein Leerlauf oder ein Kurzschluss kategorisiert wurde, kalibriert die Speichervorrichtung 20 die Leseschaltung 24 bei 608 unmittelbar. Nachdem die Leseschaltung 24 kalibriert ist, wählt die Leseschaltung 24 die Speicherzelle 26 bei 600 wieder aus, um erneut ein Lesen der ausgewählten Speicherzelle 26 zu versuchen. Falls der erste Zählwert n-mal nacheinander einen Leerlauf oder einen Kurzschluss angab, wird bei 610 ein Flag gesetzt, um anzugeben, dass die ausgewählte Speicherzelle 26 ein Leerlauf oder ein Kurzschluss ist. Es wird ein Flag gesetzt, um einen Leerlauf anzugeben, und ein anderes Flag wird gesetzt, um einen Kurzschluss anzugeben. Nachdem das geeignete Flag gesetzt ist, wird eine Steuerung bei 612 zu der Leseverstärkersteuerung 200 geleitet.
  • Falls der erste Zählwert nicht in die Kurzschlusskategorie 500 oder die Leerlaufkategorie 508 kategorisiert wird, überprüft die Schwellenvergleichslogik 206 bei 614, um zu sehen, ob der erste Zählwert in einer niedrigen Verzögerte-Kalibrierung-Kategorie 502 oder einer hohen Verzögerte-Kalibrierung-Kategorie 506 gelegen ist. Die niedrige Verzögerte-Kalibrierung-Kategorie 502 ist zwischen der Kurzschlusskategorie 500 und einer Keine-Kalibrierung-Kategorie 504 gelegen. Die hohe Verzögerte-Kalibrierung-Kategorie 506 ist zwischen der Leerlaufkategorie 508 und der Keine-Kalibrierung-Kategorie 504 gelegen. Die Keine-Kalibrierung-Kategorie 504 ist die Kategorie, die Widerstandswerte für eine Speicherzelle 26 in einem Niedrigwiderstandszustand und einem Hochwiderstandszustand umfasst. Wenn der erste Zählwert in der niedrigen Verzögerte-Kalibrierung-Kategorie 502 oder der hohen Verzögerte-Kalibrierung-Kategorie 506 gelegen ist, markiert die Schwellenvergleichslogik 206 die Leseschaltung 24 für eine verzögerte Kalibrierung oder in anderen Worten für eine Kalibrierung zu einer späteren Zeit bei 616. Ein Flag wird verwendet, um anzugeben, dass der erste Zählwert in der niedrigen Verzögerte-Kalibrierung-Kategorie 502 gelegen ist, und ein anderes Flag wird gesetzt, um anzugeben, dass der ersten Zählwert in der hohen Verzögerte-Kalibrierung-Kategorie 506 gelegen ist. Nach einem Setzen eines Flags für eine verzögerte Kalibrierung bei 616 fährt die Speichervorrichtung 20 bei 618 mit der Leseoperation durch ein Schreiben der ausgewählten Speicherzelle 26 zu einem Hochwiderstandszustand fort, der hierin als eine logische „1" bezeichnet wird. Falls der erste Zählwert ferner in die Nicht-Kalibrierung-Kategorie 504 kategorisiert wird, fährt die Speichervorrichtung 20 mit der Leseoperation bei 618 fort.
  • Die Schreibschaltung schreibt die ausgewählte Speicherzelle 26 bei 618 zu einem Hochwiderstandszustand. Nachdem die ausgewählte Speicherzelle 26 zu dem Hochwiderstandszustand geschrieben wurde, führt die Leseschaltung 24 bei 620 eine zweite Erfassungsoperation durch. Am Beginn der zweiten Erfassungsoperation lädt das voreingestellte Register 204 das Negative des verdoppelten ersten Zählwerts in den Zähler 202. Die Zeilendecodierschaltung 28 und die Lenkschaltung 30 koppeln die ausgewählte Speicherzelle 26 mit Masse und dem Ladungsverstärker 32. Der Leseverstärker 34 steuert den Rücksetzschalter 36, um den Kondensator 38 bei dem Knoten 48 zu der Versorgungsspannung VDD hin zu leiten und zu laden, und steuert dann den Rücksetzschalter 36, um ein Leiten zu beenden. Der Ladungsverstärker 32 liefert eine konstante Spannung über die ausgewählte Speicherzelle 26, um einen konstanten Erfassungsstrom Is durch die ausgewählte Speicherzelle 26 zu erzeugen. Der Zähler 202 inkrementiert zu Null hin, während die Spannung bei dem Knoten 48 sich auf die Referenzspannung verringert. Der zweite Zählwert in dem Zähler 202 wird durch die Leseverstärkersteuerung 200 empfangen und in das voreingestellte Register 204 geladen.
  • Die Schreibschaltung schreibt die ausgewählte Speicherzelle 26 bei 622 zu einem Niedrigwiderstandszustand, der hierin als eine logische „0" bezeichnet wird. Nachdem die ausgewählte Speicherzelle 26 zu einer logischen „0" geschrieben wurde, führt die Leseschaltung 24 bei 624 eine dritte Erfassungsoperation durch. Am Beginn der dritten Erfassungsoperation lädt das voreingestellte Register 204 den Zähler 202 mit dem zweiten Zählwert. Die Zeilendecodierschaltung 28 und die Lenkschaltung 30 koppeln die ausgewählte Speicherzelle 26 mit Masse und dem Ladungsverstärker 32. Der Leseverstärker 34 steuert den Rücksetzschalter, um den Kondensator 38 bei dem Knoten 48 zu der Versorgungsspannung VDD hin zu laden, und steuert dann den Rücksetzschalter 36, um ein Leiten zu beenden. Der Ladungsverstärker 32 liefert eine konstante Spannung über die ausgewählte Speicherzelle 26, um einen konstanten Erfassungsstrom Is durch die ausgewählte Speicherzelle 26 zu erzeugen. Der Zähler 202 inkrementiert, während die Spannung bei dem Knoten 48 sich auf die Referenzspannung verringert. Der resultierende Zählwert in dem Zähler 202, der auch als der endgültige Zählwert bezeichnet wird, ist ein Nettozählwert der drei Erfassungsoperationen 602, 620 und 624. Die Schwellenvergleichslogik 206 empfängt den endgültigen Zählwert zu einem Kategorisieren des endgültigen Zählwerts in eine von fünf Kategorien. Der Leseverstärker 34 liefert bei 626 ein logisches „0"- oder „1"-Ausgangssignal DOUT. Zusätzlich schreibt die Speichervorrichtung 20 die ausgewählte Speicherzelle 26 zu einem logischen „0"- oder „1"- Zustand, wie es durch den endgültigen Zählwert bestimmt ist.
  • Die Schwellenvergleichslogik 206 kategorisiert den endgültigen Zählwert in eine von fünf Kategorien. Die Schwellenvergleichslogik 206 kann Kategorisierungsentscheidungen in einer jeglichen Reihenfolge durchführen. Die Schwellenvergleichslogik 206 entscheidet bei 628, ob der endgültige Zählwert in der gültigen Niedrigwiderstandszustandskategorie 306 oder der gültigen Hochwiderstandszustandskategorie 302 gelegen ist. Falls der endgültige Zählwert in der Kategorie 306 oder der Kategorie 302 ist, setzen die Schwellenvergleichslogik 206 und die Leseverstärkersteuerung 200 bei 630 ein Flag, um anzugeben, dass der endgültige Zählwert eine gültige logische „0" ist, oder ein Flag, um anzugeben, dass der endgültige Zählwert eine gültige logische „1" ist. Eine Steuerung geht bei 612 zu der Leseverstärkersteuerung 200 über.
  • Wenn der endgültige Zählwert nicht in der Niedrigwiderstandszustandskategorie 306 oder der Hochwiderstandszustandskategorie 302 gelegen ist, entscheidet die Schwellenvergleichslogik 206 bei 632, ob der endgültige Zählwert in der hohen Außer-Bereich-Kategorie 300 oder der niedrigen Außer-Bereich-Kategorie 308 gelegen ist. Falls der endgültige Zählwert hoch Außer-Bereich oder niedrig Außer-Bereich angibt, setzen die Schwellenvergleichslogik 206 und die Leseverstärkersteuerung 200 bei 634 ein hohes Außer-Bereich-Flag oder ein niedriges Außer-Bereich-Flag. Eine Steuerung geht bei 612 zu der Leseverstärkersteuerung 200 über.
  • Falls der endgültige Zählwert nicht hoch Außer-Bereich oder niedrig Außer-Bereich angibt, wird angenommen, dass der endgültige Zählwert in der zweifelhaften Region oder Kategorie 304 gelegen ist. Die Schwellenvergleichslogik 206 und die Leseverstärkersteuerung 200 setzen bei 636 ein Flag, um anzugeben, dass der endgültige Zählwert in der zweifelhaf ten Kategorie 304 ist. Eine Steuerung wird bei 612 zu der Leseverstärkersteuerung 200 geleitet. Das Ergebnis der Leseoperation ist ein logisches „0"- oder 1"-Ausgangssignal DOUT und ein Flag, um die Kategorie des endgültigen Zählwerts anzugeben.

Claims (30)

  1. Magnetspeicher (20), der folgende Merkmale aufweist: ein Array von Speicherzellen (22), die konfiguriert sind, um Widerstandszustände bereitzustellen; und eine Leseschaltung (24), die konfiguriert ist, um einen Widerstandswert durch eine Speicherzelle (26) in dem Array von Speicherzellen (22) zu erfassen, um ein Erfassungsergebnis zu erhalten, und das Erfassungsergebnis in eine von zumindest drei unterschiedlichen Kategorien zu kategorisieren, die eine mittlere Kategorie (304) aufweisen, die zwischen den Widerstandszuständen gelegen ist.
  2. Magnetspeicher (20) gemäß Anspruch 1, bei dem die zumindest drei unterschiedlichen Kategorien eine Niedrigwiderstandszustandskategorie (306) und eine Hochwiderstandszustandskategorie (302) aufweisen, wobei die mittlere Kategorie (304) zwischen der Niedrigwiderstandszustandskategorie (306) und der Hochwiderstandszustandskategorie (302) gelegen ist.
  3. Magnetspeicher (20) gemäß Anspruch 1 oder 2, bei dem die zumindest drei unterschiedlichen Kategorien fünf Kategorien aufweisen, die eine Niedrigwiderstandszustandskategorie (306) und eine Hochwiderstandszustandskategorie (302) aufweisen.
  4. Magnetspeicher (20) gemäß einem der Ansprüche 1 bis 3, bei dem die zumindest drei unterschiedlichen Kategorien eine untere Außer-Bereich-Kategorie (308) aufweisen.
  5. Magnetspeicher (20) gemäß einem der Ansprüche 1 bis 4, bei dem die zumindest drei unterschiedlichen Katego rien eine hohe Außer-Bereich-Kategorie (300) aufweisen.
  6. Magnetspeicher (20) gemäß einem der Ansprüche 1 bis 5, bei dem die Leseschaltung (24) konfiguriert ist, um eine Leseoperation bereitzustellen, die Mehrfach-Erfassungsoperationen aufweist, um das Erfassungsergebnis zu erhalten.
  7. Magnetspeicher (20) gemäß einem der Ansprüche 1 bis 6, bei dem die Leseschaltung (24) konfiguriert ist, um eine Leseoperation bereitzustellen, die Mehrfach-Erfassungsoperationen aufweist, um das Erfassungsergebnis zu erhalten, wobei das Erfassungsergebnis von einer kurzgeschlossenen Speicherzelle in die mittlere Kategorie (304) kategorisiert wird.
  8. Magnetspeicher (20) gemäß einem der Ansprüche 1 bis 7, bei dem die Leseschaltung (24) konfiguriert ist, um eine Leseoperation bereitzustellen, die Mehrfach-Erfassungsoperationen aufweist, um das Erfassungsergebnis zu erhalten, wobei das Erfassungsergebnis von einer Speicherzelle im Leerlauf in die mittlere Kategorie (304) kategorisiert wird.
  9. Magnetspeicher (20) gemäß einem der Ansprüche 1 bis 8, bei dem die Leseschaltung (24) konfiguriert ist, um ein Flag bereitzustellen, das die Erfassungsergebniskategorie angibt.
  10. Magnetspeicher (20) gemäß einem der Ansprüche 1 bis 9, bei dem die Leseschaltung (24) konfiguriert ist, um ein Logikpegelausgangssignal zu liefern.
  11. Magnetspeicher (20) gemäß einem der Ansprüche 1 bis 10, bei dem die Leseschaltung (24) konfiguriert ist, um das Erfassungsergebnis nach einer ersten Erfassungsoperation zu kategorisieren.
  12. Magnetspeicher (20) gemäß einem der Ansprüche 1 bis 11, bei dem das Erfassungsergebnis ein Zählwert ist und der Zählwert mit Schwellenwerten verglichen wird, um den Zählwert zu kategorisieren.
  13. Magnetspeicher (20) gemäß einem der Ansprüche 1 bis 12, bei dem die Leseschaltung (24) folgende Merkmale aufweist: einen Direktinjektion-Ladungsverstärker, der konfiguriert ist, um einen Erfassungsstrom durch die Speicherzelle (26) zu liefern; einen Kondensator, der konfiguriert ist, um den Erfassungsstrom zu dem Direktinjektion-Ladungsverstärker zu liefern; und einen Leseverstärker, der konfiguriert ist, um einen Zählwert basierend auf der Zeit zu liefern, die der Kondensator benötigt, um sich zu einer Referenzspannung zu verringern.
  14. Magnetspeicher (20), der folgende Merkmale aufweist: ein Array von Speicherzellen (22); eine Einrichtung zum Lesen der Speicherzellen in dem Array von Speicherzellen (22), um Leseoperationsergebnisse zu erhalten; und eine Einrichtung zum Kategorisieren der Leseoperationsergebnisse in Kategorien, die eine Kategorie zwischen einer Niedrigwiderstandszustandskategorie und einer Hochwiderstandszustandskategorie aufweisen.
  15. Magnetspeicher (20) gemäß Anspruch 14, bei dem die Einrichtung zum Lesen der Speicherzellen eine Leseschaltung (24) aufweist, die konfiguriert ist, um Mehrfach-Erfassungsoperationen bei einer Leseoperation bereitzustellen, um einen Nettozählwert als eines der Leseoperationsergebnisse zu erhalten.
  16. Magnetspeicher (20) gemäß Anspruch 14 oder 15, bei dem die Einrichtung zum Kategorisieren konfiguriert ist, um einen Nettozählwert von der Einrichtung zum Lesen der Speicherzellen (26) zu empfangen und den Nettozählwert in eine der Kategorien zu kategorisieren.
  17. Magnetspeicher (20), der folgende Merkmale aufweist: eine Speicherzelle (26); und eine Leseschaltung (24), die konfiguriert ist, um einen Widerstandswert durch die Speicherzelle (26) zu erfassen, um ein Erfassungsergebnis zu erhalten, und eine unmittelbare Kalibrierung zu liefern, falls das Erfassungsergebnis eine kurzgeschlossene Speicherzelle angibt und falls das Erfassungsergebnis eine Speicherzelle im Leerlauf angibt, und eine verzögerte Kalibrierung, falls das Erfassungsergebnis angibt, dass der Widerstandswert größer als eine kurzgeschlossene Speicherzelle und geringer als ein Niedrigwiderstandszustand der Speicherzelle ist, und falls das Erfassungsergebnis angibt, dass der Widerstandswert geringer als eine Speicherzelle im Leerlauf und größer als ein Hochwiderstandszustand der Speicherzelle ist.
  18. Magnetspeicher (20) gemäß Anspruch 17, bei dem die Leseschaltung (24) konfiguriert ist, um das Erfassungsergebnis in Kategorien zu kategorisieren, die eine Kurzschlusskategorie, eine Leerlaufkategorie, eine niedrige Verzögerte-Kalibrierung-Kategorie und eine hohe Verzögerte-Kalibrierung-Kategorie aufweisen.
  19. Magnetspeicher (20) gemäß Anspruch 17 oder 18, bei dem die Leseschaltung (24) konfiguriert ist, um ein erstes Erfassungsergebnis von einer ersten Erfassungsoperation als das Erfassungsergebnis zu liefern und das Erfassungsergebnis in Kategorien zu kategorisieren, die eine Keine-Kalibrierung-Kategorie aufweisen, die Niedrigwiderstandszustandswerte und Hochwiderstandszustandswerte aufweist, und ein Nettoergebnis aus einer Mehrfach-Erfassungsleseoperation zu liefern und das Nettoergebnis in eine einer Mehrzahl von Kategorien basierend auf dem Nettoergebnis zu kategorisieren.
  20. Magnetspeicher (20) gemäß Anspruch 19, bei dem die Mehrzahl von Kategorien eine mittlere Kategorie zwischen den Niedrigwiderstandszustandswerten und den Hochwiderstandszustandswerten der Speicherzelle (26) aufweist.
  21. Magnetspeicher (20) gemäß Anspruch 19, bei dem die Mehrzahl von Kategorien eine zweifelhafte Kategorie, eine Niedrigwiderstandszustandskategorie und eine Hochwiderstandszustandskategorie aufweist und die zweifelhafte Kategorie zwischen der Niedrigwiderstandszustandskategorie und der Hochwiderstandszustandskategorie gelegen ist.
  22. Verfahren zum Lesen eines Magnetspeichers (20), das folgende Schritte aufweist: Erfassen eines Widerstandswerts durch eine Speicherzelle (26) des Magnetspeichers (20), um einen Nettoerfassungsergebniswert zu erhalten; und Kategorisieren des Nettoerfassungsergebniswerts in eine Mehrzahl von unterschiedlichen Widerstandsregionen, die eine Niedrigwiderstandszustandsregion (306), eine Hochwiderstandszustandsregion (302) und eine mittlere Region (304) aufweisen, die zwischen der Niedrigwiderstandszustandsregion (306) und der Hochwiderstandszustandsregion (302) gelegen ist.
  23. Verfahren gemäß Anspruch 22, bei dem das Erfassen des Widerstandswerts durch die Speicherzelle (26) eine Mehrfach-Erfassungsleseoperation aufweist, die drei Erfassungsoperationen aufweist.
  24. Verfahren gemäß Anspruch 22 oder 23, bei dem der Nettoerfassungsergebniswert ein Zählwert ist, der Widerstandswerten entspricht, die durch die Speicherzelle (26) erfasst werden.
  25. Verfahren gemäß einem der Ansprüche 22 bis 24, bei dem das Kategorisieren des Nettoerfassungsergebniswerts ein Vergleichen des Nettoerfassungsergebniswerts mit Schwellen und ein Liefern eines Flags aufweist, um die Nettoerfassungsergebniswertregion anzugeben.
  26. Verfahren zum Lesen eines Magnetspeichers (20), das folgende Schritte aufweist: Erfassen einer Speicherzelle (26), um ein erstes Erfassungsergebnis zu erhalten; Kategorisieren des ersten Erfassungsergebnisses in Regionen, die eine Unmittelbare-Kalibrierung- und Verzögerte-Kalibrierung-Regionen aufweisen; und Antworten, basierend auf der Kategorie des ersten Erfassungsergebnisses.
  27. Verfahren gemäß Anspruch 26, bei dem das Antworten ein Liefern einer Unmittelbare-Kalibrierung-Antwort aufweist, falls das erste Erfassungsergebnis ein Leerlauf ist und falls das erste Erfassungsergebnis ein Kurzschluss ist.
  28. Verfahren gemäß Anspruch 27, bei dem das Antworten ein Liefern einer Verzögerte-Kalibrierung-Antwort aufweist, falls das erste Erfassungsergebnis zwischen ei nem Kurzschluss und einem Niedrigwiderstandszustandswert ist und falls das erste Erfassungsergebnis zwischen einem Leerlauf und einem Hochwiderstandszustandswert ist.
  29. Verfahren gemäß Anspruch 28, das folgende Schritte aufweist: Erfassen der Speicherzelle (26) in einer Mehrfach-Erfassungsleseoperation, um ein endgültiges Ergebnis zu erhalten; Kategorisieren des endgültigen Ergebnisses.
  30. Verfahren gemäß Anspruch 29, bei dem das Kategorisieren des endgültigen Ergebnisses ein Positionieren des endgültigen Ergebnisses in eine einer Mehrzahl von Regionen aufweist, die eine Niedrigwiderstandszustands- und eine Hochwiderstandszustandsregion aufweisen.
DE102004037834A 2003-12-03 2004-08-04 Speichervorrichtung Ceased DE102004037834A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/727,273 US6999366B2 (en) 2003-12-03 2003-12-03 Magnetic memory including a sense result category between logic states
US10/727,273 2003-12-03

Publications (1)

Publication Number Publication Date
DE102004037834A1 true DE102004037834A1 (de) 2005-07-07

Family

ID=34633453

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004037834A Ceased DE102004037834A1 (de) 2003-12-03 2004-08-04 Speichervorrichtung

Country Status (3)

Country Link
US (1) US6999366B2 (de)
JP (1) JP2005166251A (de)
DE (1) DE102004037834A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012209035B4 (de) * 2011-09-20 2017-02-09 Taiwan Semiconductor Mfg. Co., Ltd. Lesearchitektur für einen MRAM

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5792918B2 (ja) * 2000-08-14 2015-10-14 サンディスク・スリー・ディ・リミテッド・ライアビリティ・カンパニーSandisk 3D Llc 高集積メモリデバイス
US7660181B2 (en) * 2002-12-19 2010-02-09 Sandisk 3D Llc Method of making non-volatile memory cell with embedded antifuse
US8008700B2 (en) * 2002-12-19 2011-08-30 Sandisk 3D Llc Non-volatile memory cell with embedded antifuse
US7800933B2 (en) * 2005-09-28 2010-09-21 Sandisk 3D Llc Method for using a memory cell comprising switchable semiconductor memory element with trimmable resistance
US7618850B2 (en) * 2002-12-19 2009-11-17 Sandisk 3D Llc Method of making a diode read/write memory cell in a programmed state
US7800932B2 (en) * 2005-09-28 2010-09-21 Sandisk 3D Llc Memory cell comprising switchable semiconductor memory element with trimmable resistance
US20070164388A1 (en) * 2002-12-19 2007-07-19 Sandisk 3D Llc Memory cell comprising a diode fabricated in a low resistivity, programmed state
DE102005001667B4 (de) * 2005-01-13 2011-04-21 Qimonda Ag Nichtflüchtige Speicherzelle zum Speichern eines Datums in einer integrierten Schaltung
US7457155B2 (en) 2006-08-31 2008-11-25 Micron Technology, Inc. Non-volatile memory device and method having bit-state assignments selected to minimize signal coupling
US7372753B1 (en) * 2006-10-19 2008-05-13 Unity Semiconductor Corporation Two-cycle sensing in a two-terminal memory array having leakage current
US7379364B2 (en) * 2006-10-19 2008-05-27 Unity Semiconductor Corporation Sensing a signal in a two-terminal memory array having leakage current
US7742329B2 (en) * 2007-03-06 2010-06-22 Qualcomm Incorporated Word line transistor strength control for read and write in spin transfer torque magnetoresistive random access memory
US8004880B2 (en) * 2007-03-06 2011-08-23 Qualcomm Incorporated Read disturb reduction circuit for spin transfer torque magnetoresistive random access memory
WO2008121553A1 (en) * 2007-03-29 2008-10-09 Sandisk Corporation Non-volatile storage with decoding of data using reliability metrics based on multiple reads
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7966546B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
US7966550B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Soft bit data transmission for error correction control in non-volatile memory
US7975209B2 (en) * 2007-03-31 2011-07-05 Sandisk Technologies Inc. Non-volatile memory with guided simulated annealing error correction control
US7971127B2 (en) * 2007-03-31 2011-06-28 Sandisk Technologies Inc. Guided simulated annealing in non-volatile memory error correction control
US7706169B2 (en) * 2007-12-27 2010-04-27 Sandisk 3D Llc Large capacity one-time programmable memory cell using metal oxides
US7764534B2 (en) 2007-12-28 2010-07-27 Sandisk 3D Llc Two terminal nonvolatile memory using gate controlled diode elements
US7812335B2 (en) * 2008-04-11 2010-10-12 Sandisk 3D Llc Sidewall structured switchable resistor cell
US7830698B2 (en) * 2008-04-11 2010-11-09 Sandisk 3D Llc Multilevel nonvolatile memory device containing a carbon storage material and methods of making and using same
US7719876B2 (en) 2008-07-31 2010-05-18 Unity Semiconductor Corporation Preservation circuit and methods to maintain values representing data in one or more layers of memory
US7830701B2 (en) * 2008-09-19 2010-11-09 Unity Semiconductor Corporation Contemporaneous margin verification and memory access for memory cells in cross point memory arrays
JP5390551B2 (ja) * 2011-03-02 2014-01-15 株式会社東芝 半導体記憶装置およびそのテスト方法
US9128869B2 (en) * 2011-09-29 2015-09-08 Micron Technology, Inc. Systems and methods involving managing a problematic memory cell
CN103366791B (zh) * 2012-03-30 2017-04-12 硅存储技术公司 即时可调整读出放大器
KR101447819B1 (ko) * 2013-05-08 2014-10-10 한양대학교 산학협력단 마그네틱 메모리의 테스트 방법
IN2014CH00519A (de) * 2013-12-02 2015-06-12 Sandisk Technologies Inc
US9711240B2 (en) * 2015-01-08 2017-07-18 Kabushiki Kaisha Toshiba Memory system
KR102565297B1 (ko) * 2016-10-17 2023-08-10 엘지디스플레이 주식회사 터치 표시 장치, 터치 시스템, 터치 마스터 및 통신 방법
US9806256B1 (en) 2016-10-21 2017-10-31 Sandisk Technologies Llc Resistive memory device having sidewall spacer electrode and method of making thereof
US9953726B1 (en) * 2016-11-28 2018-04-24 Arm Limited Fast quasi-parity checker for correlated electron switch (CES) memory array
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
US11442091B2 (en) * 2019-12-27 2022-09-13 Micron Technology, Inc. Apparatus and methods for determination of capacitive and resistive characteristics of access lines
JP2022050059A (ja) 2020-09-17 2022-03-30 キオクシア株式会社 磁気記憶装置及びメモリシステム
KR20220085881A (ko) * 2020-12-15 2022-06-23 삼성전자주식회사 메모리 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US23923A (en) * 1859-05-10 Improvement in railroad-gar brakes
US23925A (en) * 1859-05-10 Apparatus for conducting water to cisterns
US23922A (en) * 1859-05-10 Machine foe
US23928A (en) * 1859-05-10 Improved bench-plane
US6262625B1 (en) * 1999-10-29 2001-07-17 Hewlett-Packard Co Operational amplifier with digital offset calibration
US6188615B1 (en) * 1999-10-29 2001-02-13 Hewlett-Packard Company MRAM device including digital sense amplifiers
US6584589B1 (en) * 2000-02-04 2003-06-24 Hewlett-Packard Development Company, L.P. Self-testing of magneto-resistive memory arrays
US6504779B2 (en) * 2001-05-14 2003-01-07 Hewlett-Packard Company Resistive cross point memory with on-chip sense amplifier calibration method and apparatus
US7036068B2 (en) 2001-07-25 2006-04-25 Hewlett-Packard Development Company, L.P. Error correction coding and decoding in a solid-state storage device
US20030023922A1 (en) 2001-07-25 2003-01-30 Davis James A. Fault tolerant magnetoresistive solid-state storage device
US6898134B2 (en) * 2003-07-18 2005-05-24 Hewlett-Packard Development Company, L.P. Systems and methods for sensing a memory element

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012209035B4 (de) * 2011-09-20 2017-02-09 Taiwan Semiconductor Mfg. Co., Ltd. Lesearchitektur für einen MRAM

Also Published As

Publication number Publication date
US20050122767A1 (en) 2005-06-09
JP2005166251A (ja) 2005-06-23
US6999366B2 (en) 2006-02-14

Similar Documents

Publication Publication Date Title
DE102004037834A1 (de) Speichervorrichtung
DE102004025422B4 (de) Resistiver Kreuzpunktspeicher
DE60018875T2 (de) MRAM mit Leseverstärkern
DE602004013391T2 (de) Temperaturkompensierte Widerstands-RAM (RRAM)-Schaltung
DE60205193T2 (de) Speicherleseverstärker
DE102005005584B4 (de) 1R1D-MRAM-Blockarchitektur
DE102005053717B4 (de) Erfass-Verstärker-Bitleitungs-Verstärkungs-Schaltkreis
DE60318191T2 (de) Speichereinheit unter Verwendung eines Speicherelements mit variablem Widerstand und Verfahren zum Bestimmen des Referenzwiderstandes davon
DE60025152T2 (de) MRAM Speicher mit Differenzleseverstärkern
US8780613B1 (en) Reading a memory element within a crossbar array
DE60112860T2 (de) Dünnfilmspeicheranordnungen
DE102006001117B9 (de) Apparat für Strom-Erfass-Verstärker-Kalibrierung in MRAM-Einrichtungen
DE102005052508A1 (de) Referenz-Strom-Quelle für Strom-Erfass-Verstärker und programmierbarer Widerstand konfiguriert mit magnetischen Tunnelübergang-Zellen
DE102013101675A1 (de) Anpassung von Referenzwiderständen bei der Ermittlung von MRAM-Widerstandszuständen
US11373690B2 (en) Circuits and methods for compensating a mismatch in a sense amplifier
DE10112281B4 (de) Leseverstärkeranordnungen für eine Halbleiterspeichereinrichtung
DE60200888T2 (de) Referenzschaltung für mram zelle
DE102012209035A1 (de) Lesearchitektur für einen MRAM
DE10010457A1 (de) Integrierter Speicher mit Speicherzellen mit magnetoresistivem Speichereffekt
DE602004006848T2 (de) Test für schwache sram-zellen
DE19853447A1 (de) Magnetischer Speicher
DE10043440C2 (de) Magnetoresistiver Speicher und Verfahren zu seinem Auslesen
DE10303073A1 (de) Magnetische Dünnfilmspeichervorrichtung mit einer Dummyzelle
DE102004039236B4 (de) Magnetischer Speicher
DE102020114702A1 (de) Trimmen von speicherleseverstärkern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection