DE60305987T2 - Reduzierung der in einem nicht flüchtigen Speicher durch Rausch verursachten Effekte durch mehrfaches Auslesen - Google Patents

Reduzierung der in einem nicht flüchtigen Speicher durch Rausch verursachten Effekte durch mehrfaches Auslesen Download PDF

Info

Publication number
DE60305987T2
DE60305987T2 DE60305987T DE60305987T DE60305987T2 DE 60305987 T2 DE60305987 T2 DE 60305987T2 DE 60305987 T DE60305987 T DE 60305987T DE 60305987 T DE60305987 T DE 60305987T DE 60305987 T2 DE60305987 T2 DE 60305987T2
Authority
DE
Germany
Prior art keywords
state
memory
read
memory element
noise
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.)
Expired - Lifetime
Application number
DE60305987T
Other languages
English (en)
Other versions
DE60305987D1 (de
Inventor
Carlos J. Los Gatos Gonzalez
Daniel C. Fremont Guterman
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.)
SanDisk Corp
Original Assignee
SanDisk Corp
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 SanDisk Corp filed Critical SanDisk Corp
Application granted granted Critical
Publication of DE60305987D1 publication Critical patent/DE60305987D1/de
Publication of DE60305987T2 publication Critical patent/DE60305987T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • G11C2013/0057Read done in two steps, e.g. wherein the cell is read twice and one of the two read values serving as a reference value

Description

  • Diese Erfindung betrifft allgemein Computer-lesbare Speicherbausteine und spezifischer Verfahren um Rauschen zu reduzieren, wenn deren Informationsinhalt gelesen wird.
  • In nichtflüchtigen Halbleiterspeichern, wie zum Beispiel EEPROMs, wurden die pro Speicherzelle gespeicherten Datenmengen erhöht, um die Speicherdichten zu erhöhen. Zur gleichen Zeit haben die Betriebsspannungen solcher Bauelemente abgenommen, um den Energieverbrauch zu reduzieren. Dies läuft auf eine größere Anzahl von Zuständen hinaus, welche in einem kleineren Bereich von Strom- oder Spannungswerten gespeichert werden. Während die Trennung von Spannung oder Strom zwischen Datenzuständen abnehmen, werden die Auswirkungen des Rauschens beim Lesen dieser Zellen signifikanter. Zum Beispiel können akzeptable Schwankungen eines Schwellenwertes in einer binären 5 Volt EEPROM Zelle in einem Bauelement, welches bei 3 Volt vier oder mehr Bit pro Zelle speichern kann, nicht mehr akzeptiert werden. Einige Folgen von Rauschen in einem nichtflüchtigen Speicher sowie Verfahren, um dies zu bewältigen, werden in US-Patent 6,044,01 beschrieben.
  • Ein Beispiel für ein verrauschtes Verhalten ist in 1A gezeigt, welche von US-Patent 6,044,019 adaptiert wurde. Diese Figur zeigt die Schwankung des Stromes, welcher durch eine Speicherzelle als Antwort auf einer bestimmte Reihe von Bias Bedingungen fließt. Der Strom schwankt um einen Betrag ΔI aufgrund verschiedener Rauscheffekte in der Speicherzelle und dem koppelnden Schaltkreis. Wenn zum Beispiel der Speicherschaltkreis mit Strommessung arbeitet und wenn die Trennung zwischen den Zuständen ΔI erreicht, beginnt das Rauschen fehlerhaft gelesene Werte hervorzurufen. Obwohl die Folgen des Rauschens durch integrierende Lesetechniken, so wie in US-Patent 6,044,019 beschrieben, verringert werden können oder mit Fehlerkorrekturcodes (ECC) behandelt werden können oder durch ein anderes gleichwertiges Fehlermanagement, so wie in US-Patent 5,418,752 beschrieben, könnten Speicher von weiteren Verfahren, um die Auswirkungen des Rauschens auf Speicheroperation zu reduzieren, profitieren.
  • Es wird auch auf die europäische Patentschrift 1,096,501 verwiesen. Diese Offenbarung bezieht sich auf magnetische Speicher mit wahlfreiem Zugriff, in welchen Leseverstärker den Widerstand der Speicherzellen in einem Array von Zellen messen. Es wird ein Leseprozess beschrieben, bei dem das kumulierte Ergebnis von vielfachen Lesevorgängen verwendet wird, um einen Parameter zu bilden, welcher den in Zellen enthaltene binäre Logikpegel kennzeichnet.
  • Die vorliegende Erfindung richtet sich auf ein Verfahren um die Auswirkungen des Rauschens in nichtflüchtigen Speichern weiter zu reduzieren, wodurch es dem System ermöglicht wird, mehr Zustände pro Speicherelement in Schaltkreisen zu speichern, in denen Rauschen und andere Transienten ein bedeutender Faktor sind. Das offenbarte Verfahren ist ein Verfahren zum Schreiben eines Zieldatenwertes in einen nichtflüchtigen Speicher, umfassend Ändern des Zustandes eines Speicherelementes im nichtflüchtigen Speicher, Prüfen eines Parameters (Φi), der auf den resultierenden Zustand des Speicherelementes hinweist, gegen einen Referenzwert, der auf den Zieldatenwert hinweist sowie Ermitteln, ob der Zustand des Speicherelementes als Antwort auf diesen Vergleich weiter verändert wird. Gemäß der Erfindung wird das Überprüfen der Parameter einer Vielzahl von unabhängigen Vergleichen durchgeführt, um den Parameter mit dem Referenzwert, welcher auf den Zieldatenwert hindeutet, zu vergleichen. Normalerweise ist das Speicherelement eines von einer Mehrzahl von Speicherelementen, in denen Daten gleichzeitig geschrieben werden. Die Ergebnisse der Vergleiche können für jedes Speicherelement kumuliert und gemittelt werden, um die Auswirkungen des Rauschens in den Schaltkreisen sowie anderer Transienten zu reduzieren, welche die Qualität des Lesen nachteilig beeinflussen können.
  • In Verfahren der Erfindung kann das Speicherelement ein ladungsspeicherndes Bauelement sein, aber typischerweise ist es ein Multistate-Speicherelement. Bei dieser Variante wird bevorzugt, dass der Parameter einer eines Stromes, einer Spannung, einer Zeit, einer Frequenz, einer magnetischen Eigenschaft und einer optischen Eigenschaft ist. Auch bei dieser Variante wird der nichtflüchtige Speicher normalerweise eine Speichereinheit umfassen, welche eine Vielzahl von Speicherelementen einschließlich dieses Speicherelementes sowie einen Controller enthält, in welchem die Vergleiche durch einen der Controller und der Speichereinheit durchgeführt werden.
  • Wenn das Speicherelement ein Multistate-Speicherelement ist, können die Vergleiche unter Verwendung einer digitalen numerischen Technik durchgeführt werden oder es kann ein Peak-Detektionsverfahren oder analog gefilterte Detektion umfassen.
  • In Verfahren gemäß der Erfindung können die Mehrzahl von unabhängigen Vergleichen in einem zweiten Prüfverfahren durchgeführt werden, wobei das Verfahren das Durchführen eines oder mehrerer Programmierprüfzyklen unter Verwendung eines ersten Prüfverfahrens, welches einen einzelnen Vergleich mit einem Referenzwert, Ändern des Zustands des Speicherelements sowie Überprüfen des resultierenden Zustands durch Verwenden des zweiten Prüfverfahrens umfasst. Der Übergang vom ersten zum zweiten Prüfverfah ren kann eine Antwort auf den Parameter (Φi) sein, welcher auf den resultierenden Zustand des Speicherelements hinweist, welcher einen ersten Prüfpegel überschreitet oder eine Antwort auf einen Übergang von einem groben Programmierverfahren zu einem feinen Programmierverfahren sein.
  • Aus dem Obengenannten versteht sich, dass die vorliegende Erfindung durch mehrere Techniken implementiert werden kann. In einer ersten Reihe von Ausgestaltungen wird ein vollständiger Lesevorgang und eine Übertragung der Daten von der Speichereinheit zur Controllereinheit für jeden Schritt durchgeführt, wobei der Controller eine Mittelwertbildung durchführt. In einer zweiten Reihe von Ausgestaltungen wird ein vollständiger Lesevorgang für jede Unterbrechung durchgeführt, aber die Mittelwertbildung wird innerhalb der Speichereinheit durchgeführt und es findet keine Übertragung von Daten zum Controller statt, bis die Endresultate gesendet werden. In einer dritten Reihe von Ausgestaltungen wird ein vollständiger Lesevorgang durchgeführt, gefolgt von einer Anzahl schneller erneuter Lesevorgänge durch Ausnutzung der bereits etablierten Zustandinformation, um einen vollständigen Lesevorgang mit einem intelligenten Algorithmus zu vermeiden, um den Zustand zu führen, an dem das Speicherelement abgetastet wird. Diese Technik kann als normale Betriebsart verwendet werden oder bei einer von den Systemeigenschaften abhängigen Ausnahmebedingung aufgerufen werden.
  • Eine ähnliche Form der Signalmittelwertbildung kann während der Prüfphase der Programmierung verwendet werden. Eine beispielhafte Ausgestaltung dieser Technik würde wie oben erwähnt eine Peak-Detektion verwenden. Bei diesem Szenario werden vor dem Entscheiden, ob das Speicherelement den Endzustand erreicht hat, mehrere Überprüfungen am Zielzustand durchgeführt. Wenn ein vorgegebener Teil des Prüfens scheitert wird das Speicherelement zusätzlich programmiert.
  • Zusätzliche Aspekte, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung ersichtlich, wobei
  • 1A–C zeigen Beispiele von Reaktionen auf Rauschen in einer Speicherzelle.
  • 2 veranschaulicht die Auswirkungen von Rauschen auf eine Programmier- und Prüfoperation.
  • 3 ist ein schematisches Blockdiagramm der Operation der vorliegenden Erfindung gemäß einer beispielhaften Ausgestaltung.
  • 4A und 4B sind Blockdiagramme von Schaltungs-Ausgestaltungen von einigen Aspekten der vorliegenden Erfindung.
  • 5 ist eine schematische Darstellung einer Implementierung einer binären Suche einer beispielhaften Ausgestaltung.
  • Die Speicherkapazität von nichtflüchtigen Halbleiterspeichern hat sowohl die Verkleinerung der physikalischen Größe der einzelnen Komponenten der Schaltungen einschließlich der Speicherzelle als auch durch Erhöhen des in den individuellen Speicherzellen speicherbaren Betrags von Daten erhöht. Zum Beispiel können Bauelemente wie zum Beispiel jene in den US-Patenten 5,712,180 und 6,103,573 sowie der anhängigen Patentanmeldung Nummer 09/505,555, angemeldet am 17.02.2000, sowie Nummer 09/667,344, angemeldet am 22.09.2000, übertragen auf SanDisk Corporation, beschrieben, vier oder mehr logische Bit pro physikalischem Floating Gate Speichertransistor speichern. Im Fall von vier logischen Bit wird diese Speicherung erfordern, dass jedes Floating Gate innerhalb seiner sechzehn möglichen Speicherzuständen codiert werden kann. Jeder dieser Speicherzustände entspricht einem einzelnen Wert, oder genauer, einem schmalen Bereich von Werten der auf dem Floating Gate gespeicherte Ladung, welcher ausreichend von seinem benachbarten Bereich der gespeicherten Ladung getrennt ist, um diesen eindeutig von besagten benachbarten Zuständen sowie aller anderer Zustände zu unterscheiden. Das trifft für sowohl bei einer normalen Leseoperation als auch einem prüfenden Lesevorgang als Teil einer Programmieroperation zu.
  • Mehrere Techniken um Speicherzellen zu lesen werden in der US-Patentanmeldung Nummer 09/671,793 beschrieben, angemeldet am 27.09.2000 sowie in einer mit dem Titel "Sense Amplifier for Multilevel Non-Volatile Integrated Memory Devices" von Shahzad Khalid, angemeldet am 20.11.2001, welche auf SanDisk Corporation übertragen sind. Die erste dieser Anwendungen beschreibt das Lesen des Inhalts der Speicherzelle mit 7 Bit oder einer höheren Auflösung für die Verwendung bei einer 4 Bit Speicherung. Wenn diese Anzahl von Pegeln in einem Fenster von 3 Volt von Betriebsspannungen enthalten ist, was bei einem FLASH-Speicher typisch ist, resultiert dies in einem Auflösungsvermögen von ungefähr 25 mV. Mit diesem Bereich können früher akzeptable Rauschpegel nun zu einem Zustand der Zelle führen, welcher mit einem Fehler von einem oder mehreren Zustandspegeln gelesen wird.
  • 1A–C veranschaulichen Beispiele von Rausch-Schwankungen beim Lesen einer Speicherzelle. 1A zeigt den Fall, bei dem der Wert von einem Parameter, welcher auf den Zustand der Speicherzelle hinweist, wobei der Strom I(t) in diesem Fall um einen Mittelwert 〈I〉 schwankt. In anderen Ausgestaltungen kann der Speicher durch Lesen von Spannungspegeln betrieben werden. Wenn der Wert von I(t) mehr oder weniger unverzögert in regelmäßigen Intervallen gelesen wird, würde das Ergebnis Etwas sein, wie in 1B gezeigt. Wenn stattdessen die Zeitdauer, im Laufe derer der Parameter, welcher auf den Zustand der Zelle hinweist, gelesen wird, um mehrere Male länger als der typische zeitliche Rahmen der Schwankungen ist, kann ein relativ genauer Wert für den Zustand der Zelle bestimmt werden. Einige Verfahren um dies durchzuführen werden in US-Patent 6,044,019 beschrieben, aus dem 1A und 1C adaptiert wurden und welches durch Bezugnahme in die vorliegende Anmeldung aufgenommen wird.
  • Wie in diesem Patent beschrieben, hat eine Speicherzelle seinen durch einen Leseverstärker gemessenen Source-Drain Strom I(t). Am Leseverstärker hat I(t) typischerweise einen Rauschanteil mit durch ΔI gegebene Rausch-Schwankungen, wie in 1A und 1C gezeigt. Ein besonderes Merkmal des Leseverstärkers in dieser Erfindung besteht darin, diesen schwankenden Strom mittels eines Integrators zu verarbeiten, welcher effektiv einen zeitlichen Mittelwert des Stromes 〈I(t)〉T über einer vorgegebenen Zeitdauer T erzeugt. Ein A/D Modul kodiert ferner den abgetasteten analogen, zeitlich gemittelten Strom in ein Digitalformat entsprechend einem Output-Speicherzustand Φ.
  • 1C veranschaulicht einen Source-Drain Strom I(t), welcher Rausch-Schwankungen mit einer charakteristischen Zeitdauer TΔI aufweist und dessen durch den Leseverstärker gemäß der vorliegenden Erfindung verarbeiteten, resultierenden zeitlich gemittelten 〈I(t)〉T aufweist. Der abgetastete Source-Drain Strom einer Speicherzelle I(t) hat eine zeitabhängige weiße Rauschkomponente ΔI. Wenn I(t) über einer ausreichenden Zeitspanne T gemittelt wird, werden die Rausch-Schwankungen wesentlich gedämpft. Der resultierende Fehler in 〈I(t)〉T wird durch δI vorgegeben, welcher wesentlich geringer als ΔI ist. Die ausreichende Zeitspanne für die Mittelwertbildung wäre eine Zeitdauer T, welche wesentlich größer als eine charakteristische Zeit TΔI der Rausch-Schwankung wäre. Diese TΔI kann als eine Zeitdauer definiert werden, in derer ein vorgegebener Betrag der Rausch-Schwankung ausreichend gedämpft worden ist.
  • Zum Beispiel wurde die charakteristische Schwankungszeit TΔI von vielen EEPROM oder Flash EEPROM Bauelementen in einem Bereich von 10 Nanosekunden bis zu mehreren Hundert Nanosekunden abgeschätzt. TΔI. Daher sollte für diese typischen Bauelemente die in US-Patent 6,044,019 beschriebene analoge Mittelwertbildungs- oder Integrationszeit T für diese Bauelemente vorzugsweise wesentlich größer als TΔI sein. Im Gegensatz wird die Messung von I(t) gemäß dem Stand der Technik mehr oder weniger "unverzögert" ermittelt, d. h. in einer Zeit, welche wesentlich kürzer als TΔI ist und die Art des in 1B gezeigten Outputs erzeugt, je nachdem, wann die Messung gemacht wird. Wenn die Integrationszeit T so wie im herkömmlichen Fall ohne eine zeitliche Mittelwertbildung im Wesentlichen Null ist, ist die Rausch-Schwankung eines abgetasteten Stromes durch ΔI gegeben. Indem die Zeitdauer der Mittelwertbildung vergrößert wird, nimmt die Rausch-Schwankung im zeitlich gemittelten gemessenen Strom aufgrund erhöhter Phasenauslöschung ab.
  • Die Programmierung einer Speicherzelle wird üblicherweise durch einen Programmier/Prüf-Zyklus, wie beispielsweise im US-Patent 5,172,338 beschrieben, durchgeführt. Im typischen Prozess wird eine Speicherzelle mit einer Programmierspannung gepulst und ihr Wert wird überprüft, um zu bestimmen, ob die Speicherzelle den gewünschten Zielzustand erreicht hat oder nicht. Falls nein, wird der Prozess so lange wiederholt, bis dies bestätigt wird. Da diese Überprüfung ein Messprozess ist, wird dieser auch von Rauschen beeinflusst. Dies ist in 2 gezeigt.
  • 2 zeigt den Einfluss des Rauschens auf einem Programmier-/Prüf-Prozess. Nach jedem Programmierpuls wird der Zustand der Zelle durch einen Messprozess geprüft. Mit Bezug auf 2 wird der Zustand des gemessenen Parameters I(t) nach solch einem Puls als Wert I(t) 201 gezeigt, welcher einen Rauschanteil umfasst. Weil der sich durch den in 201 wiederspiegelnde Zustand der Zelle unter dem Zielwert liegt, wird die Zelle, wie durch den leeren Zwischenraum angezeigt, nochmals gepulst gefolgt von einer neuen Messung 202. Weil sich der Zustand der Zelle dem Zielwert nähert, kann der Rauschanteil zu einer fehlerhaften Überprüfung führen.
  • Wenn der Zustand der Zelle in der Nähe vom Zielwert liegt, können die Peaks im Parameter aufgrund des Rauschens den Zielwert überschreiten, sogar obwohl sich die Zelle noch nicht im gewünschten Zustand befindet. Dies wird durch 204 gezeigt, wobei die Peaks in I(t) den Zielwert überschreiten, obwohl sein durchschnittlicher Wert 〈I(t)〉 noch immer nicht am Zielwert ist. Wenn das prüfende Lesen an einem dieser Peaks 204 durchgeführt wird, könnte die Zelle fehlerhaft überprüft werden, anstelle zum genaueren, durch 205 vertretenen Zustand weiterzugehen.
  • Wenn der Zustand einer Zelle gemessen wird, ob als ein Teil einer Prüfoperation oder einer Leseoperation ist es erforderlich, dass die Lesezeit T lang in Bezug auf die charakteristische Zeit TΔI der Rausch-Schwankung ist, um einen genauen Wert für seinen Zustand durch die oben beschriebenen Verfahren zu erhalten. Diese Technik kann mehrere Schwächen aufweisen. Je nachdem, wie lang diese charakteristische Zeit ist, kann dies eine übermäßig lange Lesezeit im Vergleich zu den anderen Operationen des Speichers erfordern und würde auf einen entsprechend inakzeptablen Verlust der Lesegeschwindigkeit hinauslaufen. Die vorliegende Erfindung verwendet eine kurze Messzeit, aber wiederholt den Prozess mehrere Male für einen vorgegebenen Lesevorgang mit den mehrfachen Messungen, deren Durchschnitt dann ermittelt wird, um den Zustand der Zelle zu erhalten. Für Rauschen mit einem Bestandteil, welcher eine lange charakteristische Zeit hat, können die mehrfachen kurzen Messungen eine kürzere gemeinsame Zeit erfordern als die für die analoge Integration eines einzelnen Lesevorgangs erforderliche Zeit. Da außerdem eine große Anzahl von Speicherzellen gleichzeitig gelesen wird, existieren praktische Grenzen der integrierenden analogen Schaltung, welche in der Integrationstechnik verwendetet wird.
  • Eine andere Beschränkung der Integrationstechnik besteht darin, dass der Wert 〈I(t)〉 durch die sehr kurze Dauer aber großen Rauscherscheinungen verzerrt werden kann. Solch ein Ereignis kurzer Dauer kann mit einem einzelnen Lesevorgang der mehfachen Lesevorgänge isoliert werden und dann zusammen mit anderen außerhalb liegenden Werten entfernt werden, wenn der Durchschnitt berechnet wird. Da der Wert von jeder der gemessenen Zellen verschiedene Male separat ermittelt wird, können die Werte auf mehrere zusätzliche Weisen verarbeitet werden, welche für die Integrationstechnik nicht verfügbar sind.
  • Insbesondere werden die Speicherelemente mehrmals gelesen und die Ergebnisse werden kumuliert und für jedes Speicherelement digital gemittelt. Dies reduziert die Auswirkungen des Rauschens in den Schaltungen sowie anderer Transienten, welche sich auf die Güte des Lesens nachteilig auswirken können. Mehrere Ausgestaltungen werden im Folgenden besprochen. In einer Ausgestaltung wird ein vollständiger Lesevorgang und eine Übertragung der Daten vom Speicherelement zum Controllerelement für jeden Schritt durchgeführt, wobei die Mittelwertbildung vom Controller durchgeführt werden. Alternativ kann das Bauelement einen vollständigen Lesevorgang der Daten für jeden Durchgang durchführen, aber mit der digitalen Mittelwertbildung durch das Speicherele ment und keiner Übertragung zum Controller bis die Endresultate gesendet werden. Anstelle für jeden Durchgang einen vollständigen Lesevorgang durchzuführen, kann der Speicher stattdessen einen initialen vollständigen Lesevorgang durchführen, gefolgt von mehreren schnellen nochmaligen Lesevorgängen unter Ausnutzung der bereits etablierten Zustandinformation, um einen vollständigen Lesevorgang mit einem intelligenten Algorithmus zu vermeiden, um den Zustand zu führen, an dem das Speicherelement abgetastet wurde. Diese Techniken können als normale Betriebsart verwendet werden oder bei einer von den Systemeigenschaften abhängigen Ausnahmebedingung aufgerufen werden. Eine ähnliche Form der Signalmittelwertbildung kann während der Prüfphase der Programmierung verwendet werden. Eine Ausgestaltung dieser Technik würde ein Peak-Detektionsschema verwenden.
  • In diesem Szenario werden vor dem Entscheiden, ob das Speicherelement den Endzustand erreicht hat, mehrere Überprüfungen am Zielzustand durchgeführt. Wenn ein vorgegebener Teil der Prüfung scheitert wird das Speicherelement weiter programmiert. Da der Betrag des Rauschens reduziert wird, kann diese Technik dem System ermöglichen, mehr Zustände pro Speicherelement zu speichern als im Gegensatz dazu, wenn Rauschen und andere Transienten ein bedeutender Faktor sind.
  • Die zwei Lesetechniken, die digitale Mittelwertbildung mehrfacher Leseoperationen sowie die verlängerte Integrationszeit für die analoge Mittelwertbildung sollten komplementär betrachtet werden. Deren relative Effektivität hängt von der charakteristischen Frequenz des Rauschens ab. Da das Rauschen von mehreren verschiedenen Quellen mit jeweils verschiedenen charakteristischen Frequenzen herrühren kann, kann es von den Betriebsbedingungen des Bauelementes abhängen, ob die erste, die zweite oder beide Techniken verwendet werden. Wenn zum Beispiel das Rauschen aus einem hohen Frequenzanteil und einem niedrigen Frequenzanteil zusammengesetzt ist, könnte die Integrationszeit für jede der individuellen Messoperationen lang genug gewählt werden, um die hohen Frequenzanteile effektiv durch Integrieren zu entfernen, während die mehrfachen Lesevorgänge der vorliegenden Erfindung dazu verwendet werden könnten, die Auswirkung des niedrigen Frequenzanteils des Rauschens zu reduzieren. Sowohl die Länge des Integrationsintervalls als auch die Anzahl der nochmaligen Lesevorgänge können gemäß der Frequenzeigenschaften des Rauschens angepasst werden. Diese können durch Parameter während der Prüfung eingestellt werden und im System gespeichert werden.
  • Eine zusätzliche Lesetechnik, welche weiter mit diesen anderen Techniken kombiniert werden kann, wird in einer gleichzeitig anhängigen US-Patentanmeldung mit dem Titel "Noise Reduction Technique For Transistors and Small Devices Utilizing an Episodic Agitation" von Nima Mokhlesi, Daniel C. Guterman und Geoff Gongwer beschrieben, welche gleichzeitig mit der vorliegenden Anwendung angemeldet wurde. Diese Anmeldung beschreibt geeignete Techniken wenn das Rauschen einen Bestandteil mit einem bimodalen Verhalten hat.
  • Der Zustand eines Speicherelements kann unter Verwendung einer Anzahl von verschiedenen Parameten ermittelt werden. In den obigen Beispielen kann die Ermittlung eines von einer Zelle gespeicherten Ladungspegels durch Strommessung durchgeführt werden, wobei der Betrag seiner Konduktion unter Verwendung festgelegter Bias-Bedingungen gemessen wird. Alternativ können solche Ermittlungen durch eine Messung der Schwellenwertspannung durchgeführt werden, wobei der Beginn solcher Konduktion unter Verwendung variierenden Steuergate Bias-Zuständen gemessen wird. Diese Verfahren repräsentieren einige der Ansätze, welche eher zum Standart gehören.
  • Alternativ könnte die Ermittlung dynamisch durchgeführt werden, indem der Ladungspegel der Zellen durch Ermitteln der Treibkraft (durch z.B. einen vorgeladenen Kondensator) die Entladungsrate eines dynamisch gehaltenen Sense Node bestimmt. Durch Messen der Zeit, um einen vorgegebenen Entladungspegel zu erreichen, wird der gespeicherte Ladungspegel bestimmt. In diesem Fall ist der auf den Zustand der Zelle hinweisende Parameter eine Zeit. Dieser Ansatz wird im U.S. Patent 6,222,762 sowie in der Patentanmeldung mit dem Titel "Sense Amplifier for Multilevel Non-Volatile Integrated Memory Devices" beschrieben. Eine andere alternative Technik bestimmt den Zustand der Speicherelemente unter Verwendung einer Frequenz als Parameter. Dieser Ansatz wird im US-Patent 6,044,019 beschrieben.
  • Gegenwärtige Ansätze zur Strommessung sind im US-Patent 5,172,338 und in der US-Patentanmeldung Nummer 08/910,947 weiter entwickelt, welche mit den verschiedenen unten beschriebenen Ausgestaltungen verwendet werden können. Die Mehrheit der folgenden Darstellungen verwendet jedoch den Ansatz, die Schwellenwertspannung Vth zu Messen (auch Voltage Margining genannt), da dies die Auflösung der Messung verbessert, den Strom niedrig beibehält und folglich die Leistung, mit welcher parallele Leseoperationen verbunden sind, sowie die Empfindlichkeit gegenüber einem hohen Widerstand der Bit-Line verringert. Die Abtastung von Vth beziehungsweise der Voltage Margining Ansatz ist im US-Patent 6,222,762 weiter ausgereift. Eine andere Technik der Spannungsmessung, welche die Spannung an der Source für eine festgelegte Drain-Spannung als Antwort auf eine vorgegebene Spannung am Gate kontrolliert, ist die Source Follower Technik, welche zum Beispiel in der US-Patentanmeldung Nummer 09/671,793 beschrieben wird.
  • Die eigentliche Messung bei einer Voltage Margining Technik kann auf mehrere Weisen durchgeführt werden, zum Beispiel durch sequentielles Vergleichen einer Schwellenwertspannung einer Zelle mit jedem der dazu in Zusammenhang stehenden Bezugswerte. Für Multistate-Zellen kann es effizienter sein, Zelle für Zelle eine datenabhängige binäre Suche wie im obengenannten US-Patent 6,222,762 beschrieben, auszunutzen, welche zum Beispiel in der Lage ist, parallel jede der Vth der abgetasteten Zellen in einer Auflösung von eins zu sechzehn durch eine sequentielle Messoperation mit vier Durchläufen zu bestimmen. Die für die Messung erforderliche Auflösung wird in der US-Patentanmeldung Nummer 09/671,793 behandelt. Wie gewöhnlich ist der Grad der verwendeten Auflösung ein Kompromiss zwischen einer höheren Auflösung, was auf mehr potenzielle "Bit" der minimal erforderlichen 4-Bit Auflösung der beispielhaften Ausgestaltungen hinausläuft (z.B. für die Verwendung zur Erhöhung der Speicherzuverlässigkeit) und der Kosten der damit verbundenen Fläche zur Messung und Speicherung dieser zusätzlichen Bit sowie ein höherer Zeitverbrauch, sowohl aufgrund der zusätzlichen Abtastungsdurchgänge in der binären Suche dieses zusätzlichen Bits als auch aufgrund der Übertragung dieser zusätzlichen Information.
  • Es sollte erwähnt werden, dass sich nicht die gesamte zusätzliche Zeit für die zusätzliche Messung und Verarbeitung oder möglicherweise für eine verlängerte Integrationszeit in der Geschwindigkeit des Bauelementes direkt wiederspiegelt, da das Bauelement viele dieser Operationen parallel durchführen kann. Wenn zum Beispiel ein normaler Leseprozess eine Leseoperation mit 11 Durchgängen mit 3 μs pro Durchgang erfordert, kann die gegenwärtige Erfindung ungefähr zusätzlich ein halbes Dutzend von Lesedurchgängen hinzufügen und potenziell die Integrationszeit verdoppeln, wenn es einen Rauschanteil in einem Bereich von 1 μs gibt. Dies verlangsamt die nominelle Lesezeit für eine vorgegebene Zelle, bietet aber eine höhere Speicherdichte. Ein Erhöhen der Parallelität könnte die Auswirkung dieser Zunahme auf eine Lesezeit einer einzelnen Zelle verringern. Techniken zum Erhöhen des Umfangs der Parallelität in nichtflüchtigen Speichern werden in der US-Patentanmeldung Nummer 09/766,436, angemeldet am 19.01.2001, beschrieben. Obwohl das Erhöhen der Anzahl von Operationen, welche parallel ausgeführt werden, häufig das Rauschen erhöht, sind die vorliegenden Techniken auch zum Reduzieren dieses Rauschens anwendbar.
  • Um die in den Speicherzellen gespeicherten Daten auszulesen, müssen diese Daten mit einer ausreichenden Genauigkeit sowohl geschrieben als auch gespeichert werden. Folglich ist das Minimieren der Auswirkungen des Rauschens wichtig, sowohl während Anteilen zur Prüfung der Programmieroperation als auch während der eigentlichen Leseoperation, wenn der Zustand der Zelle in einen Datenwert umgewandelt wird.
  • 3 ist ein schematisches Blockdiagramm der Funktion der vorliegenden Erfindung gemäß einer beispielhaften Ausgestaltung. Die Gate Spannung wird an der Zelle 301 angelegt und seine Bit-Leitungen werden vorgeladen. Während des Integrationsanteils der Lesephase wird die Spannung V(t) (einschließlich des Rauschanteils) zu einem Leseverstärker SA 310 mit einem Analog-Digital-Wandler A-D 311 übertragen. Der Leseverstärker SA 310 wandelt diese Spannung in einen Ausgangsdatenzustand Φi um. Die Funktion des Leseverstärkers kann beispielsweise wie in der US-Patentanmeldung Nummer 09/671,793 beschrieben sein. Wie dort beschrieben wird der Spannungspegel mit einer Auflösung von 27 = 128 Zuständen abgetastet, welcher in Discriminating Zellen zu verwenden sind, welche 4 oder 5 Bit pro Zelle speichern. Die Zelle wird mehrmals gelesen, wobei jedes Mal ein Datenzustand Φi hervorgebracht wird. Wegen des Rauschens und der Verwendung einer Integrationszeit, welche kürzer als die charakteristische Zeit des Rauschens ist, werden die Φi mit einer größeren Streuung als in 1B gezeigt Output sein.
  • Die Datenzustände Φi werden dann gemittelt. Dies kann wie unten beschrieben auf mehrere verschiedene Weisen durchgeführt werden. Eine einfache beispielhafte Ausgestaltung ist in 3 gezeigt. Die Schaltung zur Mittelwertbildung AVE 320 besteht aus einem Akkumulator Σi 321 und einem Dividierer 323. Zum Beispiel könnte der Datenzustand achtmal gemessen werden, das Ergebnis in 321 akkumuliert werden um Σ 8 / i=1 Φi zu erzeugen und der Dividierer 323 könnte ein Verschieberegister sein, welches die Summe durch acht teilt wenn dies dreimal verschoben wird. Die Ausgabe Φ von AVE 320 ist dann der durchschnittlich gelesene Wert. In diesem Beispiel ist es ein einfacher Mittelwert.
  • Ein Speichersystem besteht normalerweise aus einem oder mehreren Speicherchips, von denen jeder die tatsächlichen Arrays von Speicherzellen zuzüglich eines Controller-Chips enthält, obwohl in einer einzelnen Ausgestaltung des Chips die Controllerfunktion in demselben Chip integriert sein kann wie in dem, welcher innerhalb dem Array enthalten ist. Obwohl die Leseschaltung SA 310 sich auf demselben Chip wie die Speicherzellen befindet, können sowohl die Position als auch Funktion der Schaltung zur Mittelwert bildung AVE 320 mehrere verschiedene Ausgestaltungen haben. Insbesondere können der Typ und die Position des involvierten Schaltkreises zur Bildung dieser Zusammensetzung genauso wie der Mittelwert Φ aus den einzelnen Lesevorgängen gebildet wird, eine Anzahl möglicher Variationen haben. Zum Beispiel könnte die Schaltung AVE 320 aus 3 vollständig in der selben Schaltung wie die Speicherzelle untergebracht werden, so dass nur der zusammengesetzte Wert Φ am Ende des Prozesses zurück zum Controller transferiert wird. Alternativ könnte jede der einzelnen Φi zum Controller übertragen und dort gemittelt werden.
  • Obwohl die Besonderheiten mit den unten beschrieben Ausgestaltungen variieren, ist eine Reihe allgemeiner Situationen in 4A und 4B gezeigt. Diese zeigen einen Speicherchip MEM 400 sowie einen Controller CONT 460. Der Speicherchip enthält das Array von Speicherzellen 401, welche mit der Reihendecoder-Schaltung 411 und Spaltendecoder-Schaltung 413 verbunden sind. Die Leseschaltung 421 wird die Leseverstärker, wie zum Beispiel Block 310 in 3, sowie jede andere zugehörige Schaltung enthalten. Das Output der Leseschaltung wird dann einer Reihe von Registern 425 zugeführt, welche in Abhängigkeit von der Ausgestaltung fehlen können. Obwohl diese Erörterung größtenteils in Bezug auf eine einzelne Zelle geführt wird, wird im Allgemeinen eine große Anzahl von Zellen parallel gelesen und die Register sowie andere Elemente müssen diese Parallelität unterstützen. Um die Erörterung zu vereinfachen werden die anderen Elemente der Schaltung ausgeblendet, welche aber in den verschiedenen Patenten und Anwendungen beschrieben werden, welche durch Bezugnahme in die vorliegende Anmeldung aufgenommen werden. Zum Beispiel wird die Schaltung auch Schaltungen zum Schreiben enthalten, welche nicht ausführlich gezeigt sind, aber diese können in die Leseblöcke oder in andere Blöcke mit einbezogen werden sowie eine Reihe von Programmierregistern, welche die selben wie die Leseregister 429 sein können. Der Bus 430, welcher den Teil des Speichers 400 mit dem Controller 460 verbindet, wird Daten sowie Adressen, Befehle, Parameter und so weiter zwischen den beiden übertragen. Der Controller 460 wird auch alle üblichen Elemente zusätzlich zu denjenigen haben, die spezifisch gezeigt sind. 4A ist eine Ausgestaltung, in welcher die einzeln gelesenen Φi, (oder Φ0 und Φ ' / i wie unten beschrieben) alle vom Speicher zum Controller gesendet werden. Diese Werte können temporär in REG 425 in MEM 400 gespeichert werden, bevor diese zum Controller CONT 460 gesendet werden. Sobald sich die Werte im Controller befinden, können diese in REG 461 oder anderen Speichern gespeichert werden und der Mittelwert Φ kann in Schaltung AVE 463 gebildet werden, bevor dieser zum Host übertragen wird. Im Fall, bei dem AVE 463 die Werte kumuliert um einen laufenden Durchschnitt zu bilden, wenn die Werte von MEM 400 eintreffen, müssen die Werte nicht im REG 461 einzeln gespeichert werden.
  • Die Variation in 4B zeigt ein Beispiel, bei dem die Zusammensetzung Φ im Speicher MEM 400 gebildet wird und dann zum Controller übertragen wird, um diese zum Host zu übertragen. Die in 4B gezeigte Ausgestaltung zeigt eine Schaltung zur Mittelwertbildung wie 3, welche aus einem Akkumulator 423 und einem Dividierer 429 besteht, um einen Mittelwert Φ aus den einzelnen Leseergebnissen zu bilden. Alternative Implementierungen im Speicherchip würden andere oder zusätzliche Elemente, wie die Reihe von Registern 425 in 4A haben, welche hier nicht gezeigt sind, um die gelesenen Werte einzeln zu speichern.
  • Für einige der Ausgestaltungen besteht der grundlegende Leseprozess der vorliegenden Erfindung darin, gleichzeitig eine Reihe von Parametern p(t) wie zum Beispiel eine Spannung oder ein Strom, welche auf den Zustand der Zelle hinweisen, der Leseschaltung für jede der Zellen der Reihe bereitzustellen, welche parallel gelesen werden. Um dies zu tun werden die zu lesenden Zellen gemäß der verwendeten Lesetechnik unter Bias gesetzt. Der Parameter p(t) wird einen Rauschanteil enthalten. Die Leseschaltung erzeugt dann die Datenzustände Φi(p) entsprechend den Bias-Bedingungen, aus denen der zusammengesetzte Wert Φ dann gebildet wird und vom Controller ausgegeben wird.
  • In einer ersten Reihe von Ausgestaltungen ist der Lesevorgang der Zellen ein vollständiger Lesevorgang, d. h. falls die Zellen mit einer Auflösung von beispielsweise 7 Bit wie in der obengenannten US-Patentanmeldung Nummer 09/671,793 gelesen werden, werden alle Lesevorgänge in dieser Auflösung einschließlich aller erforderlichen Schritte, um die volle Auflösung abzutasten und zum Controller weiterzugeben, durchgeführt. Diese Datenzustände können dazu verwendet werden, ein gleitendes Mittel zu bilden, so wie in der Mittelwertberechnungs-Schaltung 320 in 3 gezeigt, oder anders im Controller im Register 461 in 4 oder in anderen Controller-Speichern gespeichert werden. Durch Speichern aller gemessener Datenzustände kann der Controller eine größere Vielfalt von Mittelwert-Verfahren durchführen. Die Datenzustände können entweder von der Speicherschaltung 400 übertragen werden, während diese bestimmt werden, oder vor der Übertragung temporär im Register 425 gespeichert werden.
  • Aus den gemessenen Werfen können mehrere verschiedene Zusammensetzungen im Controller gebildet werden. Diese Zusammensetzung konnte ein einfacher Mittelwert, ein gewichteter Mittelwert oder ein Mittelwert, welche abseits gelegene Werte vernachlässigt, ein quadratischer Mittelwert oder ein auf anderen Potenzen beruhender Mittelwert sein und kann durch Hardware, Software oder Firmware implementiert sein. Eine Controllerbasierte Implementierung kann folglich ohne die Einführung einer zusätzlichen Schaltung, abgesehen von der möglichen Erhöhung der Speicherkapazität, verwendet werden. Diese Art der Implementierung resultiert tatsächlich im größten Betrag der Informationsübertragung zwischen dem Speicherschaltkreis und dem Controllerschaltkreis der beschriebenen Ausgestaltungen, was ein Nachteil sein kann, vor allem, wenn sich der Controller und Speicherschaltkreis aufgrund des vergrößerten Verkehrs auf dem Bus auf separaten Chips befinden. Eine rein Speicherbaustein-basierende Implementierung würde die Einführung zusätzlicher Schaltungen erfordern, eventuell einschließlich genügender Registerkapazität, um die Ergebnisse von mehrfachen Lesevorgängen für alle der Zellen zu speichern, welche parallel gelesen werden.
  • Eine Weise, den Betrag der zum Controller übertragenen Information zu reduzieren, besteht darin, einen vollständigen Lesevorgang der Zelle durchzuführen, gefolgt von einer Anzahl teilweiser Lesevorgänge, wobei teilweise Lesevorgänge weniger Bit benötigen, um einen Offset von der Grundlinie anzuzeigen, wobei der Bereich des Offsets beschränkt ist. Dies würde in einem Grundwert Φ0 für den Zustand der Daten und einer Anzahl von Lesevorgängen Φ ' / i resultieren, welcher die Schwankung um diesen Grundwert aufgrund von Rauschen anzeigt. Da dieses Verfahren weniger Daten zum Analysieren erzeugt (und möglicherweise zum Speichern), spart dies sowohl die Datenmenge ein, welche zum Controller übertragen werden muss, wenn die Mittelwertbildung dort durchgeführt wird, als auch möglicherweise Zeit für die durchzuführende Analyse, sogar in Ausgestaltungen, bei denen die Mittelwertbildung im Speicherchip durchgeführt wird. Dies kann auch die gesamte Lesezeit reduzieren.
  • Angenommen der Zustand der Speicherzelle wird mit einer Auflösung von 7 Bit bestimmt. Wenn der Lesevorgang eine binäre Suchtechnik verwendet, würde dies zumindest sieben Lesevorgänge bei sieben Unterbrechungspunkten erfordern. Folglich würde ein viermal wiederholter vollständiger Lesevorgang des Zustands der Zelle ein Minimum von 28 Abtastoperationen erfordern. Wenn stattdessen ein vollständiger Lesevorgang der Zelle durchgeführt wird, um Φ0 zu bestimmen, gefolgt von drei Lesevorgängen mit einer 2-Bit-Auflösung, um die Schwankungen Φ ' / i um den Grundwert Φ0 zu bestimmen, würde dies 13 Abtastoperationen zur Folge haben. In diesem Beispiel wird der Satz (Φ0, Φ ' / i) die selbe Information enthalten wie die vollständigen Lesevorgänge mit weniger als der Hälfte der Abtastoperationen und weniger als der Hälfte der Daten liest, welche gespeichert, übertragen oder beides werden müssen. Dabei wird allerdings angenommen, dass der Umfang der Schwankungen innerhalb des Bereichs liegt, welcher um den Grundpegel herum gemessen wird. (Alternativ wird dies die Auswirkungen von Schwankungen größeren Umfangs aufgrund eines Sättigungseffektes ausblendet) Der Umfang und die Anzahl der teilweisen Lesevorgänge kann durch Systemparameter festgelegt werden und während der Prüfung des Chips ermittelt werden und können auch als Antwort auf Systembedingungen modifiziert werden. In einer verrauschten Schaltung müssen die teilweisen Lesevorgänge eingestellt werden, um einen größeren Bereich abzudecken. Für die meisten Anordnungen wird die beste Genauigkeit für eine vorgegebene Anzahl von Abtastoperationen durch ungefähr die selbe Zahl erhalten, welche mit dem Ermitteln von Φ0, was Φ ' / i betrifft, verbunden ist.
  • Das binäre Suchbeispiel kann eine Änderung des Algorithmus erfordern, so wie in der schematischen Darstellung in 5 für eine der Zellen gezeigt ist, welche parallel gelesen wird. Beim vorherigen Beispiel könnten 128 Spannungs Unterbrechungspunkte verwendet werden, um den Zustand der Zelle mit einer 7-Bit-Auflösung abzutasten. Der erste Lesevorgang in der Reihe würde ermitteln, ob sich die Zelle in der oberen oder unteren Hälfte des Speicherfensters befindet, der zweiten Lesevorgang, ob sich die Zelle in der oberen oder unteren Hälfte der zuvor bestimmten Hälfte befindet und so weiter.
  • Bei solch einer binären Suche, bei der sich zum Beispiel die Zelle im 64. Zustand befindet, welcher gerade über dem Pegel V64 in 5 liegt, würde ohne Rauschen in entweder der Zelle oder in anderen Schaltungselementen im 64. Zustand gelesen werden. Folglich würde über dem Unterbrechungspunkt im ersten Lesevorgang (501a) und unter dem Unterbrechungspunkt in jedem nachfolgenden Lesevorgang (501b501g) gelesen werden. Dies wird in 5 durch den Richtungspfeil dargestellt, welcher anzeigt, ob sich die Messspannung über oder unter dem Unterbrechungspunkt befindet, welcher zum Lesen der Zelle verwendet wird. Mit Rauschen könnten mehrere Zustände darüber oder darunter gelesen werden. Um jedoch die Auswirkungen dieses Rauschens zu ermitteln, könnte beim Verwenden nur der letzten wenigen Schritte des Algorithmus (angenommen 501f und 501g) niemals ein niedrigerer Wert als der erste Unterbrechungspunkt erfasst werden. Um die Auswirkungen des Rauschens richtig wiederzuspiegeln würden entweder 7 Schritte vollständiger Lesevorgänge oder eine Änderung des Algorithmus erforderlich sein. Folglich kann eine vollständige binäre Suche verwendet werden, um ein Grundpegel Φ0 vom vollständigen Lesealgorithmus zu bestimmen, gefolgt von einer zweiten Methode, um die Φ ' / i zu bestimmen. Die mehrfachen, schnellen erneuten Lesevorgänge könnten eine reduzierte binäre Suche um den Mittelpunkt Φ0 verwenden oder zu einem nichtbinären Verfahren wechseln.
  • 5 zeigt die Verwendung einer reduzierten binären Suche für die erneuten Lesevorgänge 511, 513 und 515. Erneut stellen die ersten sieben Lesevorgänge (501a501g) fest, dass der Grundzustand Φ0 der 64. Zustand ist. Da sich eine Schwankung um diesen Zustand leicht unterhalb des ersten gelesenen Pegels 501a befinden könnte, würden alle nachfolgenden Lesevorgänge, welche den selben Algorithmus verwenden, diese verfehlen. Um folglich Φ ' / i entsprechend diesem Φ0 exakt zu bestimmen, ändert sich der Algorithmus zu einer reduzierten binären Suche, welche um den Zustand Φ0 zentriert ist. 5 zeigt drei teilweise Lesevorgänge (511, 513, 515), wobei jeder aus einer binären 2-Bit-Suche (a und b) besteht, welche um den Wert des vollständigen Lesevorgangs zentriert sind.
  • In diesem Beispiel liest das erste von diesen Ergebnissen sowohl über dem ersten Unterbrechungspunkt (511a) als auch über dem zweiten Unterbrechungspunkt (511b) entsprechend dem 65. Zustand. Obwohl das tatsächliche Ergebnis beträchtlich über diesem Zustand aufgrund einer augenblicklich großen Schwankung liegen kann, ist zu beachten, dass ein "Sättigungs"-Effekt auftritt, wodurch der Betrag solch einer Spitze, welche zum Durchschnitt beiträt, begrenzt wird. Die zweite Reihe erneuter Lesevorgänge führt zu einem Ergebnis unter dem ersten Unterbrechungspunkt in 513a, gefolgt von einem Lesevorgang über dem zweiten Unterbrechungspunkt in 513b entsprechend dem 63. Zustand. In gleicher Weise geben die erneuten Lesevorgänge 515a und 515b wieder den 64. Zustand zurück. Somit enthält der erste Lesevorgang für Φ0 in diesem Beispiel 7 Bit Daten für jede Zelle, welche gelesen wird, während jeder der erneuten Lesevorgänge 2 Bit Daten enthält, beziehungsweise insgesamt 6 Bit für den erneuten Leseprozess.
  • Der Prozess in 5 ist ein Beispiel einer Leseoperation, welche einen ersten Lesemodus hat, bei dem die Zelle nur einmal gelesen wird sowie einen zweiten Modus, bei dem die Zelle mehrmals gelesen wird. In einem anderen Beispiel, bei dem der gemessene Parameter der Zelle mit einer Anzahl von Bezugspegeln parallel verglichen wird, könnte der erste Lesevorgang ein grober Modus sein, wobei eine Anzahl der hochwertigen Bit gelesen werden, gefolgt von mehrfachen Lesevorgängen für die restlichen niederwertigen Bit. In einem weiteren Beispiel während eines wie in 2 gezeigten Prüfprozesses könnte während der frühen Stadien, wenn die Zelle weit vom Zielwert entfernt ist (so wie in 201), die Zelle nur einmal gelesen werden und der Lesemodus könnte geändert werden, wenn sich die Zelle dem Zielwert (so wie in 204 und 205) nähert. Der Gebrauch einer Programmiertechnik, welche einen groben Modus und einen feinen Modus hat, wird in der am 26.01.2001 angemeldeten US-Patentanmeldung Nummer 09/793,370 beschrieben.
  • Zurückkehrend zu 4a und 4b, kann, wie bereits angemerkt wurde, jede dieser Ausgestaltungen durch Übertragen aller Daten zum Controller implementiert werden, entweder durch die mehrfachen vollständigen Lesevorgänge Φi(p) oder durch die Reihe mehrfacher teilweiser Lesevorgänge (Φ0, Φ ' / i), sowie deren Verarbeitung im Controller 460 wie in 4a gezeigt. Alternativ könnte die gesamte Verarbeitung im Speicherchip erfolgen, wobei nur das Endresultat Φ zum Controller und dann außerhalb des Systems übertragen wird, so wie in 4b dargestellt. Die Verarbeitung könnte auch aufgeteilt werden, wobei die Leseergebnisse in einen Zwischenzustand übertragen werden. Zum Beispiel könnten die teilweisen Leseergebnisse im Speicherchip kumuliert und dann für die Division oder andere weitere Verarbeitung zum Controller übertragen werden.
  • Ein weiteres Beispiel, bei dem die Verarbeitung zwischen dem Controller und dem Speicherchip aufgeteilt ist, involviert den Gebrauch von Referenz- oder Trackingzellen, wie jenige, welche in der US-Patentanmeldung Nummer 091671,793 beschrieben werden, auf welche Bezug genommen wird. Diese Anwendung beschreibt ein Verfahren, bei welchem die Trackingzellen mit einer 7-Bit-Auflösung gelesen werden, um Unterbrechungspunkte zum Lesen der Datenzellen mit einer 4-Bit-Auflösung zu bestimmen. In diesem Verfahren könnten die Trackingzellen mehrmals gemäß der vorliegenden Erfindung gelesen werden, wobei die Zusammensetzung im Controller gebildet wird. Sobald die Unterbrechungspunkte unter Verwendung der vorliegenden Erfindung bestimmt wurden, würden diese Unterbrechungspunkte zurück zum Speicherchip übertragen werden um die Datenzellen zu lesen.
  • Ein Verfahren um die Zusammensetzung im Speicherchips zu bestimmen wäre einen gleitenden Mittelwert in der Speicherschaltung 400 zu bilden. Dies könnte eine Akkumulator- und Divisions-Schaltung entsprechend dem Block 320 in 3 sein. Abwechselnd könnten die Werte durch Element 423 akkumuliert, im Register 425 gespeichert und dann für die weitere Verarbeitung zum Controller 460 übertragen werden. Die gelesenen Werte könnten auch zuerst im Register 425 einzeln gespeichert und dann so wie in den oben beschrieben Controller-implementierten Beispielen durch andere Schaltungen im Speicherchip verarbeitet werden. Die Implementierung der Mittelwertbildung in der Speicherschaltung 400 wird generell den Aufwand des Einbringens zusätzlicher Elemente haben, welche gewöhnlich nicht in der Schaltung inbegriffen sind. Je nachdem, wie der Mittelwert oder eine andere Zusammensetzung gebildet wird, könnte dies eine Kombination erhöhter Registergröße zum Speichern gelesener Werte beinhalten, das Einbringen zusätzlicher Schaltungen, Divisionsschaltungen, eine Art State Machine und so weiter. Andererseits kann die daraus resultierende Reduzierung der Informationsmenge, welche zum Control ler übertragen werden muss, im Programmprüfprozess besonders vorteilhaft sein, um eine hohe Schreibgeschwindigkeit aufrechtzuerhalten.
  • Wie in U.S. Patent 5,172,338 und anderen Referenzen beschrieben, besteht ein typischer Programmierprozess einer Speicherzelle eines Floating Gate Typs daraus, die Zelle zu pulsen, um deren Zustand zu ändern, das Auslesen der Zelle, um zu ermitteln, ob diese den gewünschten Zustand erreicht hat, falls ja das Beenden weiterer Programmierung und falls nein das Fortsetzen des Puls-Lese-Zyklus bis die Zelle verifiziert wird, dass der gewünschte Zustand erreicht ist. Die Auswirkung des Rauschens wurde mit Bezug auf 2 oben besprochen. Um Daten in einem Speicher zu speichern und exakt wiederzuerlangen erfordert sowohl beim Schreibprozess als auch beim Leseprozess Genauigkeit. Mit Bezug auf 2 entspricht der Mittelwert 205 dem gewünschten Zustand. Wenn die Programmierung als Antwort auf das Erreichen von Peak-Werten 204 über dem Zielpegel jedoch angehalten würde, würde dies auf einen Zustand mit einem niedrigeren Mittelwert hinauslaufen, welcher als richtig bestätigt würde. Dieser Fehler kann dann durch das Rauschen während des Leseprozesses hervorgerufen werden. Folglich ist das Reduzieren der Auswirkungen des Rauschens im Prüfprozess ebenso wichtig wenn die Dichte der in jeder einzelnen Zellen gespeicherten Zustände zunimmt.
  • Die verschiedenen Aspekte der vorliegenden Erfindung können in den Prüfprozess auf mehrere Weisen aufgenommen werden. Die Situation des Prüfens unterscheidet sich vom Standardleseprozess darin, dass der Zustand der Zelle in Abhängigkeit von einem datenabhängigen Zielwert des gemessenen Parameters gemessen wird, den der iterative Programmieralgorithmus erfüllen muss, im Gegensatz zum Durchsuchen eines Bereiches eines Bezugsparameters, um den Ist-Zustand der Zelle zu bestimmen. Mit anderen Worten sind normalerweise nicht so viele Informationen und Verarbeitungen beim Prüfen involviert, nur ob ein vorgegebener Referenzwert überschritten wurde oder nicht. Eine Ausgestaltung dieser Technik würde ein Peak-Detektionsverfahren verwenden. Alternativ können andere Mittel zur Detektion, so wie analog gefilterte Durchschnittswertdetektion verwendet werden. In diesem Szenario werden vor der Entscheidung, ob das Speicherelement den Endzustand erreicht hat, mehrere Überprüfungen am Zielzustand durchgeführt. Wenn ein vorgegebener Teil des Prüfens scheitert, erhält das Speicherelement zusätzliche Programmierung. Obwohl der Zustand beispielsweise entsprechend 204 in 2 Peaks hat, welche den Zielwert zweimal überschreiten, wenn mehrfache mehr oder weniger augenblickliche Lesevorgänge der Zelle durchgeführt werden, würde der Zielwert nicht mehr als zweimal überlesen werden. Im Gegensatz würde der Zustand entsprechend 205 den Zielwert während der meisten Zeiten überlesen werden.
  • Um mehrfache Lesevorgänge durchzuführen, wenn der Zustand der Zelle noch weit vom gewünschten Zustand entfernt ist, würde der Prozess für eine geringe Zunahme der Genauigkeit außerordentlich verlangsamen. Folglich kann in den frühen Stadien des Programmierprozesses, wenn die Zelle noch weit vom Zielwert entfernt ist (wie zum Beispiel 201 in 2), der einzelnen Standartlesemodus mit einem Übergang zum zweiten Modus verwendet werden, wenn sich dem Zielzustand genähert wird. Zum Beispiel könnte der Übergang durch den ersten Prüfpegel ausgelöst werden, welcher einen Peak hat, welcher den Zielpegel überschreitet (so wie 204 in 2) oder Teil des Übergangs von einem groben Programmierverfahren zu einem feinen Programmierverfahren sein, so wie in U.S. Patentanmeldung Nummer 09/793,370 beschrieben wird.
  • Ein weiteres Beispiel einer Zwei-Modus-Operation ist der mehrfache Lesemodus, welcher bei einer Ausnahmebedingung aufgerufen wird, sowie der einzelne Standartlesemodus, welcher ansonsten verwendet wird.
  • Ein weiteres Beispiel einer Zwei-Modus-Operation ist ein erster Modus, welcher einen einzelnen Standartlesevorgang verwendet sowie ein zweiter Modus, welcher mehrfache Lesevorgänge verwendet. Der mehrfache Lesemodus wird bei einer Ausnahmebedingung aufgerufen, wobei der einfache Lesemodus ansonsten verwendet wird. Zum Beispiel ist der Fehlerkorrekturcode (ECC) ein wesentlicher Hinweis für ein Problem oder für eine Ausnahme beim Betrieb des Bauelementes. Wenn der Fehlerpegel im Speicher einen vorgegebenen Wert überschreitet (zum Beispiel mehr als ein Bit) könnte die mehrfache Lesetechnik aufgerufen werden.
  • Eine Ausnahmebedingung könnte auch auf dem Lesen der Trackingzellen oder der Referenzzellen beruhen. Wie oben beschrieben werden in einer Ausgestaltung die Referenzzellen mit einer 7-Bit-Auflösung gelesen, während die Datenzellen nur mit einer 4-Bit-Auflösung gelesen werden. Folglich sind die Referenzzellen in Bezug auf Rauschen empfindlicher. Durch die Verwendung von Referenzzellen um den Rauschpegel zu überwachen, könnte ein Flag gesetzt werden, um die mehrfache Lesetechnik aufzurufen, wenn festgestellt wird, dass der Rauschpegel einen Schwellenwert überschreitet, wenn die Trackingzellen verarbeitet werden.
  • Obwohl die Erörterung bisher auf Ausgestaltungen fokussiert war, welche für das Speicherelement einen Ladungsspeicher so wie ein Floating Gate EEPROM oder eine FLASH Zelle verwenden, können andere Ausgestaltungen angewendet werden, bei denen dieser Typ Rauschen ein Problem darstellt, einschließlich magnetischer und optischer Medien. Diese Erfindung kann weitreichende Anwendungen bei allen Typen der Abtastung von Bauelementen/Transistoren haben, einschließlich, aber nicht beschränkend bei sub- 0,1 μm Transistoren, Einzel-Elektronentransistoren, organische/Kohlenstoff-basierte Nano-Transistoren sowie molekulare Transistoren. Zum Beispiel könnten NROM und MNOS Zellen wie zum Beispiel jene, welche im US-Patent 5,768,192 von Eitan sowie im US-Patent 4,630,086 von Sato et al. beschrieben werden oder magnetische RAM und FRAM Zellen, wie zum Beispiel jene, welche im US-Patent 5,991,193 von Gallagher et al. sowie im U.S. Patent 5,892,706 von Shimizu beschrieben werden, ebenso verwendet werden. Unter Verwendung dieses Ansatzes könnten Systeme, welche derzeit aufgrund von Rauschen nicht geeignet sind, brauchbare Technologien werden. Für diese anderen Typen von Speicherelementen können sich die besondere Mechanismen um den Parameter zu bestimmen, welcher den Zustand des Elements wiederspiegelt, unterscheiden. So würden zum Beispiel magnetische Eigenschaften in einem magnetischen Medium und optischen Eigenschaften in einer CD-ROM oder anderen optischen Medien gemessen werden, aber der nachfolgende Prozess folgt den obigen Beispielen.

Claims (11)

  1. Verfahren zum Schreiben eines Zieldatenwertes in einen nichtflüchtigen Speicher, umfassend Ändern des Zustandes eines Speicherelementes (301) im nichtflüchtigen Speicher; Prüfen eines Parameters (Φi), der auf den resultierenden Zustand des Speicherelementes (301) hinweist, gegen einen Referenzwert, der auf den Zieldatenwert hinweist; und Ermitteln, ob der Zustand des Speicherelementes als Antwort auf diesen Vergleich weiter verändert wird, DADURCH GEKENNZEICHNET, DASS beim Prüfen des Parameters eine Vielzahl von Vergleichen durchgeführt werden, um den Parameter mit dem Referenzwert zu vergleichen, der auf den Zieldatenwert hinweist.
  2. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass das Speicherelement (301) ein eines Multistate-Speicherelementes und einer Ladungsspeichervorrichtung ist.
  3. Verfahren gemäß Anspruch 2, dadurch gekennzeichnet, dass das Speicherelement (301) ein Multistate-Speicherelement ist, wobei die Vergleiche durch Verwenden einer digitalen numerischen Technik durchgeführt werden.
  4. Verfahren gemäß Anspruch 2, dadurch gekennzeichnet, dass das Speicherelement (301) ein Multistate-Speicherelement ist, wobei die Vergleiche ein Peak-Detektionsverfahren umfassen.
  5. Verfahren gemäß Anspruch 2, dadurch gekennzeichnet, dass das Speicherelement (301) ein Multistate-Speicherelement ist, wobei die Vergleiche eine analog gefilterte Durchschnittswertdetektion umfassen.
  6. Verfahren gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Speicherelement (301) eine Ladungsspeichervorrichtung ist und der Parameter einer eines Stromes; einer Spannung; einer Zeit; einer Frequenz; einer magnetischen Eigenschaft; und einer optischen Eigenschaft ist.
  7. Verfahren gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Speicherelement (301) ein Multistate-Speicherelement ist, wobei der nichtflüchtige Speicher eine Speichereinheit (400) umfasst, die eine Vielzahl von Speicherelementen enthält, einschließlich dieses Speicherelementes und eines Controllers (460), wobei die Vergleiche durch einen der Controller und der Speichereinheit durchgeführt werden.
  8. Verfahren gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Speicherelement (301) eines einer Vielzahl von Speicherelementen ist, in das Daten gleichzeitig geschrieben werden.
  9. Verfahren gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass diese Vielzahl von unabhängigen Vergleichen ein zweites Prüfverfahren ist, wobei das Verfahren ferner Durchführen eines oder mehrerer Programmprüfzyklen durch Verwenden eines ersten Prüfverfahrens, das einen einzelnen Vergleich mit einem Referenzwert enthält; Ändern des Zustandes des Speicherelementes (301) und Prüfen des resultierenden Zustandes durch Verwenden des zweiten Prüfverfahrens.
  10. Verfahren gemäß Anspruch 9, dadurch gekennzeichnet, dass der Übergang vom ersten Prüfverfahren zum zweiten Prüfverfahren Antwort auf den Parameter (Φi) ist, der auf den resultierenden Zustand des Speicherelementes (301) bei Überschreiten eines Vergleichs-Levels eines ersten Prüfverfahrens hinweist.
  11. Verfahren gemäß Anspruch 9, dadurch gekennzeichnet, dass der Übergang vom ersten Prüfverfahren zum zweiten Prüfverfahren Antwort auf einen Übergang von einem groben Programmierverfahren zu einem feinen Programmierverfahren ist.
DE60305987T 2002-01-18 2003-01-17 Reduzierung der in einem nicht flüchtigen Speicher durch Rausch verursachten Effekte durch mehrfaches Auslesen Expired - Lifetime DE60305987T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/052,888 US6621739B2 (en) 2002-01-18 2002-01-18 Reducing the effects of noise in non-volatile memories through multiple reads
US52888 2008-03-21

Publications (2)

Publication Number Publication Date
DE60305987D1 DE60305987D1 (de) 2006-07-27
DE60305987T2 true DE60305987T2 (de) 2007-02-15

Family

ID=21980564

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60305987T Expired - Lifetime DE60305987T2 (de) 2002-01-18 2003-01-17 Reduzierung der in einem nicht flüchtigen Speicher durch Rausch verursachten Effekte durch mehrfaches Auslesen

Country Status (8)

Country Link
US (5) US6621739B2 (de)
EP (1) EP1329894B1 (de)
JP (2) JP4482278B2 (de)
KR (1) KR101092882B1 (de)
CN (1) CN1434456B (de)
AT (1) ATE330316T1 (de)
DE (1) DE60305987T2 (de)
ES (1) ES2262946T3 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014002369B4 (de) * 2014-02-18 2020-03-05 Giesecke+Devrient Mobile Security Gmbh Speicherprogrammierung in einem Sicherheitsmodul

Families Citing this family (204)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6621739B2 (en) * 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads
US7073103B2 (en) * 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US7237074B2 (en) * 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US7372730B2 (en) * 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
US7068539B2 (en) * 2004-01-27 2006-06-27 Sandisk Corporation Charge packet metering for coarse/fine programming of non-volatile memory
WO2006043225A1 (en) * 2004-10-21 2006-04-27 Koninklijke Philips Electronics N.V. Memory device and method providing an average threshold based refresh mechanism
US9099174B2 (en) * 2012-10-09 2015-08-04 Micron Technology, Inc. Drift acceleration in resistance variable memory
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
KR101202537B1 (ko) 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
US20070266296A1 (en) * 2006-05-15 2007-11-15 Conley Kevin M Nonvolatile Memory with Convolutional Coding
US7840875B2 (en) * 2006-05-15 2010-11-23 Sandisk Corporation Convolutional coding methods for nonvolatile memory
US7443729B2 (en) * 2006-07-20 2008-10-28 Sandisk Corporation System that compensates for coupling based on sensing a neighbor using coupling
US7495953B2 (en) * 2006-07-20 2009-02-24 Sandisk Corporation System for configuring compensation
US7885119B2 (en) * 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7522454B2 (en) * 2006-07-20 2009-04-21 Sandisk Corporation Compensating for coupling based on sensing a neighbor using coupling
US7400535B2 (en) * 2006-07-20 2008-07-15 Sandisk Corporation System that compensates for coupling during programming
US7506113B2 (en) * 2006-07-20 2009-03-17 Sandisk Corporation Method for configuring compensation
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
US7904783B2 (en) * 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
US7818653B2 (en) * 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7904788B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of varying read threshold voltage in nonvolatile memory
US7558109B2 (en) * 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
US7904780B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of modulating error correction coding
US8001441B2 (en) * 2006-11-03 2011-08-16 Sandisk Technologies Inc. Nonvolatile memory with modulated error correction coding
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US7593263B2 (en) 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7978541B2 (en) 2007-01-02 2011-07-12 Marvell World Trade Ltd. High speed interface for multi-level memory
US7480184B2 (en) * 2007-01-07 2009-01-20 International Business Machines Corporation Maximum likelihood statistical method of operations for multi-bit semiconductor memory
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
CN101715595A (zh) 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
US7797480B2 (en) * 2007-03-29 2010-09-14 Sandisk Corporation Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics
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
US7971127B2 (en) * 2007-03-31 2011-06-28 Sandisk Technologies Inc. Guided simulated annealing in non-volatile memory error correction control
US7975209B2 (en) * 2007-03-31 2011-07-05 Sandisk Technologies Inc. Non-volatile memory with guided simulated annealing error correction control
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
WO2008121577A1 (en) * 2007-03-31 2008-10-09 Sandisk Corporation Soft bit data transmission for error correction control in non-volatile memory
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US7508715B2 (en) * 2007-07-03 2009-03-24 Sandisk Corporation Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7599224B2 (en) * 2007-07-03 2009-10-06 Sandisk Corporation Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US7778093B2 (en) * 2007-08-08 2010-08-17 Mediatek Inc. Memory control circuit capable of dynamically adjusting deglitch windows, and related method
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US7710781B2 (en) * 2007-09-25 2010-05-04 Intel Corporation Data storage and processing algorithm for placement of multi-level flash cell (MLC) VT
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8443242B2 (en) 2007-10-25 2013-05-14 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8607128B2 (en) 2007-12-05 2013-12-10 Densbits Technologies Ltd. Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications
US8335977B2 (en) * 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
US8341335B2 (en) 2007-12-05 2012-12-25 Densbits Technologies Ltd. Flash memory apparatus with a heating system for temporarily retired memory portions
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009074979A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8327246B2 (en) 2007-12-18 2012-12-04 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US7808836B2 (en) * 2008-04-29 2010-10-05 Sandisk Il Ltd. Non-volatile memory with adaptive setting of state voltage levels
US7808819B2 (en) * 2008-04-29 2010-10-05 Sandisk Il Ltd. Method for adaptive setting of state voltage levels in non-volatile memory
US8433980B2 (en) * 2008-06-23 2013-04-30 Sandisk Il Ltd. Fast, low-power reading of data in a flash memory
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US7929338B2 (en) * 2009-02-24 2011-04-19 International Business Machines Corporation Memory reading method for resistance drift mitigation
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
KR101574208B1 (ko) * 2009-03-31 2015-12-07 삼성전자주식회사 불휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 그리고 그것의 동작 방법
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
KR20100120991A (ko) * 2009-05-07 2010-11-17 삼성전자주식회사 이레이저 조작을 수행하는 메모리 시스템 및 그것의 읽기 방법
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
KR101586046B1 (ko) 2009-05-26 2016-01-18 삼성전자주식회사 저장 장치 및 그것의 읽기 방법
KR101578518B1 (ko) * 2009-07-07 2015-12-17 삼성전자주식회사 불휘발성 메모리 장치의 읽기 방법 및 그것을 포함하는 메모리 시스템
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
TWI446350B (zh) * 2009-12-08 2014-07-21 Silicon Motion Inc 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US9104610B2 (en) 2010-04-06 2015-08-11 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8416624B2 (en) 2010-05-21 2013-04-09 SanDisk Technologies, Inc. Erase and programming techniques to reduce the widening of state distributions in non-volatile memories
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8510639B2 (en) 2010-07-01 2013-08-13 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US20120008414A1 (en) 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
KR20120011642A (ko) * 2010-07-29 2012-02-08 삼성전자주식회사 기준 셀을 포함하는 불휘발성 메모리 장치 및 그것의 기준 전류 설정 방법
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8374031B2 (en) 2010-09-29 2013-02-12 SanDisk Technologies, Inc. Techniques for the fast settling of word lines in NAND flash memory
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
KR101177458B1 (ko) * 2010-11-08 2012-08-27 숭실대학교산학협력단 플래시 메모리 장치에서 발생하는 커플링 잡음 전압 산출 장치 및 방법
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
US8842471B2 (en) 2012-01-06 2014-09-23 Sandisk Technologies Inc. Charge cycling by equalizing and regulating the source, well, and bit line levels during write operations for NAND flash memory: program to verify transition
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US9754683B2 (en) 2012-03-29 2017-09-05 Intel Corporation Method and system to obtain state confidence data using multistrobe read of a non-volatile memory
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
JP5586666B2 (ja) * 2012-08-01 2014-09-10 力晶科技股▲ふん▼有限公司 不揮発性半導体記憶装置とその読み出し方法
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9129711B2 (en) 2013-02-28 2015-09-08 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2014175033A (ja) * 2013-03-12 2014-09-22 Toshiba Corp 半導体記憶装置
US9390779B2 (en) * 2013-03-15 2016-07-12 Qualcomm Incorporated System and method of sensing a memory cell
US9190159B2 (en) 2013-03-15 2015-11-17 Kabushiki Kaisha Toshiba Semiconductor memory device
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9443606B2 (en) 2014-10-28 2016-09-13 Sandisk Technologies Llc Word line dependent two strobe sensing mode for nonvolatile storage elements
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
KR102435027B1 (ko) 2015-11-09 2022-08-23 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
KR102459077B1 (ko) 2016-01-12 2022-10-27 삼성전자주식회사 비선형 필터링 방식을 사용하는 메모리 시스템 및 그것의 읽기 방법
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US9666259B1 (en) 2016-04-12 2017-05-30 Qualcomm Incorporated Dual mode sensing scheme
KR20180085418A (ko) 2017-01-18 2018-07-27 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
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
US11107535B2 (en) 2019-09-10 2021-08-31 Adesto Technologies Corporation Memory device with adaptive noise and voltage suppression during read-while-write operations
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5955071A (ja) 1982-09-24 1984-03-29 Hitachi Micro Comput Eng Ltd 不揮発性半導体装置
US5095344A (en) * 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
JP2765930B2 (ja) * 1989-03-29 1998-06-18 株式会社日立製作所 情報記録媒体およびトラッキング方法
EP0392895B1 (de) 1989-04-13 1995-12-13 Sundisk Corporation EEprom-System mit Blocklöschung
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5258958A (en) * 1989-06-12 1993-11-02 Kabushiki Kaisha Toshiba Semiconductor memory device
JPH0457294A (ja) * 1990-06-22 1992-02-25 Ricoh Co Ltd プログラム可能な不揮発性半導体メモリ装置
KR960002006B1 (ko) * 1991-03-12 1996-02-09 가부시끼가이샤 도시바 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치
US5438573A (en) 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
JPH0589646A (ja) * 1991-09-27 1993-04-09 Sony Corp データ再生装置
TW261687B (de) 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5712180A (en) 1992-01-14 1998-01-27 Sundisk Corporation EEPROM with split gate source side injection
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5603001A (en) 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells
US5798964A (en) 1994-08-29 1998-08-25 Toshiba Corporation FRAM, FRAM card, and card system using the same
KR100478172B1 (ko) * 1995-01-31 2005-03-23 가부시끼가이샤 히다치 세이사꾸쇼 반도체 메모리 장치
US6353554B1 (en) * 1995-02-27 2002-03-05 Btg International Inc. Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell
US6081878A (en) 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
JP3140960B2 (ja) 1996-04-05 2001-03-05 富士通株式会社 モデム信号送信装置及びモデム信号送信方法並びにモデム信号受信装置及びモデム信号受信方法並びにモデム信号送受信システム及びモデム信号送受信方法
JP3180669B2 (ja) * 1996-06-03 2001-06-25 日本電気株式会社 不揮発性半導体メモリおよびその書き込み方法
US5724284A (en) * 1996-06-24 1998-03-03 Advanced Micro Devices, Inc. Multiple bits-per-cell flash shift register page buffer
US5768192A (en) 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US5787484A (en) 1996-08-08 1998-07-28 Micron Technology, Inc. System and method which compares data preread from memory cells to data to be written to the cells
US6002982A (en) * 1996-11-01 1999-12-14 Fry; William R. Sports computer with GPS receiver and performance tracking capabilities
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US5717632A (en) * 1996-11-27 1998-02-10 Advanced Micro Devices, Inc. Apparatus and method for multiple-level storage in non-volatile memories
US5991193A (en) * 1997-12-02 1999-11-23 International Business Machines Corporation Voltage biasing for magnetic ram with magnetic tunnel memory cells
JPH11214640A (ja) * 1998-01-28 1999-08-06 Hitachi Ltd 半導体記憶素子、半導体記憶装置とその制御方法
US6208542B1 (en) * 1998-06-30 2001-03-27 Sandisk Corporation Techniques for storing digital data in an analog or multilevel memory
US6044019A (en) * 1998-10-23 2000-03-28 Sandisk Corporation Non-volatile memory with improved sensing and method therefor
US6103573A (en) 1999-06-30 2000-08-15 Sandisk Corporation Processing techniques for making a dual floating gate EEPROM cell array
JP2001067884A (ja) * 1999-08-31 2001-03-16 Hitachi Ltd 不揮発性半導体記憶装置
KR100308132B1 (ko) * 1999-10-07 2001-11-02 김영환 비휘발성 메모리소자와 그의 셀어레이 및 그의 데이타 센싱방법
US6188615B1 (en) 1999-10-29 2001-02-13 Hewlett-Packard Company MRAM device including digital sense amplifiers
US6246933B1 (en) * 1999-11-04 2001-06-12 BAGUé ADOLFO VAEZA Traffic accident data recorder and traffic accident reproduction system and method
TW587252B (en) 2000-01-18 2004-05-11 Hitachi Ltd Semiconductor memory device and data processing device
US6215705B1 (en) * 2000-02-10 2001-04-10 Advanced Micro Devices, Inc. Simultaneous program, program-verify scheme
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP2001273778A (ja) * 2000-03-27 2001-10-05 Seiko Epson Corp メモリデバイスおよびその製造方法、並びにメモリデバイス記録方法
JP2002008380A (ja) * 2000-06-21 2002-01-11 Hitachi Ltd 多値メモリ
KR100365644B1 (ko) * 2000-06-28 2002-12-26 삼성전자 주식회사 멀티비트 불휘발성 메모리 장치
JP3828376B2 (ja) * 2001-05-07 2006-10-04 株式会社東芝 記憶システム
US6621739B2 (en) * 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads
US6916359B2 (en) * 2002-04-25 2005-07-12 The Boc Group, Inc. Ozone production processes
JP2005235287A (ja) * 2004-02-19 2005-09-02 Nec Electronics Corp 不揮発性半導体記憶装置のプログラミング方法、プログラミング装置、及び、不揮発性半導体記憶装置
US7130222B1 (en) * 2005-09-26 2006-10-31 Macronix International Co., Ltd. Nonvolatile memory with program while program verify

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014002369B4 (de) * 2014-02-18 2020-03-05 Giesecke+Devrient Mobile Security Gmbh Speicherprogrammierung in einem Sicherheitsmodul

Also Published As

Publication number Publication date
US20040170058A1 (en) 2004-09-02
US6785164B2 (en) 2004-08-31
US20030137878A1 (en) 2003-07-24
CN1434456B (zh) 2012-03-21
EP1329894A1 (de) 2003-07-23
ES2262946T3 (es) 2006-12-01
EP1329894B1 (de) 2006-06-14
JP2004005909A (ja) 2004-01-08
KR101092882B1 (ko) 2011-12-12
KR20030063130A (ko) 2003-07-28
US20050259472A1 (en) 2005-11-24
JP4482278B2 (ja) 2010-06-16
DE60305987D1 (de) 2006-07-27
JP2010146722A (ja) 2010-07-01
CN1434456A (zh) 2003-08-06
US6621739B2 (en) 2003-09-16
US20070133279A1 (en) 2007-06-14
ATE330316T1 (de) 2006-07-15
US7177195B2 (en) 2007-02-13
US6952365B2 (en) 2005-10-04
US7848149B2 (en) 2010-12-07
US20030202403A1 (en) 2003-10-30

Similar Documents

Publication Publication Date Title
DE60305987T2 (de) Reduzierung der in einem nicht flüchtigen Speicher durch Rausch verursachten Effekte durch mehrfaches Auslesen
DE60018875T2 (de) MRAM mit Leseverstärkern
DE69835896T2 (de) Leseverstärker für flash-speicher
DE602004005211T2 (de) Detektieren von überprogrammierter speicherzellen nach einer programmierung benachbarter speicherzellen
DE60317768T2 (de) Verfahren zum Auslesen einer nichtflüchtigen Speichervorrichtung und zugehörige Vorrichtung
DE4433098C2 (de) Halbleiter-Permanentspeichervorrichtung
DE102006030758B4 (de) Nicht-flüchtiges Speicherelement, Flash-Speicher und Verfahren zum Programmieren eines Flash-Speicherelements
DE60318191T2 (de) Speichereinheit unter Verwendung eines Speicherelements mit variablem Widerstand und Verfahren zum Bestimmen des Referenzwiderstandes davon
DE19859494C2 (de) Nichtflüchtiger Mehrebenen-Halbleiterspeicherbaustein mit einer Schaltung zum Einstellen der Datenlesezeit
DE102012108545A1 (de) Verfahren zum Auslesen von Speicherzellen mit unterschiedlichen Schwellwertspannungen ohne Änderung der Wortleitungsspannung, sowie nicht-flüchtige Speichervorrichtung, die dieses verwendet
DE602004013347T2 (de) Verfahren zum identifizieren nichtflüchtiger speicherelmente mit schlechter subschwellensteigung oder schwacher transkonduktanz
DE112015003761T5 (de) Teilblocklöschung zur datenaktualisierung
DE102017104257A1 (de) Auf Zellenstrom basierende Bitleitungsspannung
DE102010037290A1 (de) Speichersysteme und Verfahren zur Erfassung einer Verteilung von instabilen Speicherzellen
DE102015108143A1 (de) Nand-Vorab-Lese-Fehlerkorrektur
DE4328605A1 (de) Halbleiterspeichereinrichtung
DE102005060386A1 (de) Programmierverfahren einer Flash-Speichervorrichtung
DE102007019789A1 (de) Verfahren zum Zugreifen auf eine Speicherzelle in einem integrierten Schaltkreis, Verfahren zum Ermitteln eines Satzes von Wortleitungsspannung-Identifikatoren in einem integrierten Schaltkreis, Verfahren zum Klassifizieren von Speicherzellen in einem integrierten Schaltkreis, Verfahren zum Ermitteln einer Wortleitungsspannung zum Zugreifen auf eine Speicherzelle in einem integrierten Schaltkreis und integrierte Schaltkreise
DE102018129517A1 (de) Leseverstärker mit negativer schwellenwerterfassung für nicht-flüchtige speicher
DE60023367T2 (de) Abtastvorrichtung und Verfahren zum Abrufen von Multibitdaten
DE102015011991A1 (de) Codierungsschema für vertikale 3D-Flash-Speicher
DE102004039236B4 (de) Magnetischer Speicher
DE112017003013T5 (de) Verfahren und Vorrichtungen zum Lesen von nicht flüchtigen Speicherzellen
DE10320625B4 (de) On-Chip-Komprimierung von Ladungsverteilungsdaten
DE102019135863A1 (de) Speichercontroller, Speichervorrichtung und Speichersystem mit verbesserten Schwellenspannungs-Verteilungseigenschaften und ähnliche Betriebsverfahren

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: SANDISK CORP., MILPITAS, CALIF., US

8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1329894

Country of ref document: EP

Representative=s name: PATENTANWAELTE MAXTON LANGMAACK & PARTNER, DE