DE69630624T2 - EEPROM-Matrix mit einem, dem "Flash"-Speicher ähnlichen Kern - Google Patents

EEPROM-Matrix mit einem, dem "Flash"-Speicher ähnlichen Kern Download PDF

Info

Publication number
DE69630624T2
DE69630624T2 DE69630624T DE69630624T DE69630624T2 DE 69630624 T2 DE69630624 T2 DE 69630624T2 DE 69630624 T DE69630624 T DE 69630624T DE 69630624 T DE69630624 T DE 69630624T DE 69630624 T2 DE69630624 T2 DE 69630624T2
Authority
DE
Germany
Prior art keywords
memory
data
byte
sector
page
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
DE69630624T
Other languages
English (en)
Other versions
DE69630624D1 (de
Inventor
Emil San Jose Lambrache
George San Jose Samarandoiu
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.)
Atmel Corp
Original Assignee
Atmel 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 Atmel Corp filed Critical Atmel Corp
Application granted granted Critical
Publication of DE69630624D1 publication Critical patent/DE69630624D1/de
Publication of DE69630624T2 publication Critical patent/DE69630624T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • 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
    • 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/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Description

  • Technisches Gebiet
  • Die Erfindung betrifft elektrisch löschbare Halbleiter-Nur-Lese-Speicher (EEPROMs), insbesondere die interne Architektur solcher Bauelemente.
  • Stand der Technik
  • EEPROMs weisen die Fähigkeit auf, dass sie elektrisch programmiert und gelöscht werden können, und bewahren ihre Daten, selbst nachdem eine Stromversorgung entfernt wurde. Sie sind jedoch in der Anzahl von Malen, die jede Speicherzelle programmiert und gelöscht werden kann, begrenzt, typischerweise auf einige tausend Programmierund Löschzyklen eingeschränkt. Eine gesamte Speichereinheit, wie z. B. ein Byte oder eine Gruppe von Bytes, muss einen Löschzyklus ertragen, bevor eine neue Information in irgendein Bit oder eine Gruppe von Bits in einer Speichereinheit geschrieben werden kann.
  • EEPROMs mit allen Leistungsmerkmalen sind jene EEPROMs, die ein Teil eines Speichersystems mit einer Speichereinheitsgröße entsprechend einem Byte von Speicherzellen sind, und sehen daher einen Schreibzugriff auf ein Minimum von einem Byte Speicher auf einmal vor. Dies ermöglicht die Begrenzung ihrer Programmier- und Löschzyklen auf nur jene Bytes, die geändert werden müssen, und erhöht dadurch die Haltbarkeit der Speicherkomponente. Die Bytezugriffsmöglichkeit von EEPROMs mit allen Leistungsmerkmalen vereinfacht auch die Programmierung vom Gesichtspunkt des Benutzers, da man nur die Daten, die man programmieren will, und die Adresse, an der die Daten gespeichert werden sollen, zum EEPROM übertragen muss. Der Bedarf, jedes geänderte Byte zu programmieren, zu löschen und dann neu zu programmieren, kann jedoch lange Programmierzeiten erfordern, wenn der gesamte Chip neu programmiert werden muss. Aufgrund ihrer komplizierteren Ansteuerschaltungsanordnung bleiben EEPROMs mit allen Leistungsmerkmalen außerdem weiterhin hinter anderen Halbleiterspeichertechnologien hinsichtlich der Dichte und Kosteneffizienz zurück. Ein Speichersystem mit EEPROMs mit allen Leistungsmerkmalen umfasst eine Kernmatrix von Speicherzellen, wobei jede Zelle einen Ansteuertransistor in Reihe mit einem NMOS-Transistor mit variabler Schwelle umfasst. Die Matrix ist in Zeilen und Spalten organisiert, wobei der Schnittpunkt einer Zeile und einer Spalte die Adressenstelle einer Speicherzelle umfasst.
  • Eine typische Kernarchitektur mit EEPROMs mit allen Leistungsmerkmalen des Standes der Technik ist in 1 dargestellt. Eine Zeile von Speicherzellen, die durch eine zweckgebundene Wortleitung 11 identifiziert wird, die mit den Steuergates aller Zellenansteuertransistoren 21 innerhalb einer Zeile elektrisch gekoppelt ist, ist äquivalent zu einer Speicherseite im adressierbaren Raum. Jeder Zellenansteuertransistor 21 zusammen mit einem seriell verbundenen Transistor 19 mit variabler Schwelle bildet eine Speicherzelle, die zum Speichern eines Informationsbits in der Lage ist. Wenn eine Wortleitung 11 aktiviert wird, koppelt ein Ansteuertransistor 21 seinen in Reihe geschalteten Transistor 19 mit variabler Schwelle elektrisch mit einer Bitleitung 25, die zum Lesen der im Transistor 19 mit variabler Schwelle gespeicherten Information verwendet wird. Aufgrund der Byteadressierbarkeit von EEPROMs mit allen Leistungsmerkmalen war die interne Datenorganisation von EEPROMs mit allen Leistungsmerkmalen des Standes der Technik auf 8 Bits, die ein Byte umfassen, eingeschränkt. Eine Leseleitung 15, die Lese-, Programmier- und Löschspannungen an das Steuergate eines Transistors 19 mit variabler Schwelle einer Speicherzelle anlegt, ist in Segmente unterbrochen, die die Steuergates von 8 aufeinanderfolgenden Speichertransistoren mit variabler Schwelle oder ein Byte 27 miteinander koppeln. Diese Datenorganisation erfordert die Verwendung einer zusätzlichen Byteansteuer-Spaltenleitung 13 und eines Byteansteuertransistors 17 für jedes Byte von Speicherzellen, so dass durch die Byteansteuer-Spaltenleitungen und die Byteansteuertransistoren nur ein Leseleitungssegment und dadurch nur ein Byte während der Programmierung einzeln angesteuert werden kann. Der Byteansteuertransistor 17 erfordert eine relativ große Siliziumfläche. Außerdem erfordern EEPROMs mit allen Leistungsmerkmalen gewöhnlich eine gewisse Art Fehlerkorrekturimplementierung, die, um ein verlorenes Bit eines 8-Bit-Datenworts zu erkennen und wiederherzustellen, 4 Paritätsbits erfordert, mit einer Vergrößerung der Kernspeicherfläche von etwa 50%. Die vorstehend dargelegten Architektureigenschaften von herkömmlichen EEPROMs mit allen Leistungsmerkmalen haben bisher ihre Dichten auf ein Megabit begrenzt.
  • Das Aufkommen von Flash-EEPROMs bot einige Antworten-auf die mit EEPROMs mit allen Leistungsmerkmalen verbundenen Dichteprobleme. Flash-EEPROMs verwenden einen oder zwei Transistoren pro Speicherzelle, aber umfassen keine Byteansteuer-Spaltenleitungen und Byteansteuertransistoren.
  • Auf diese Weise erreichen Flash-EEPROMs eine kompaktere Konstruktion als EEPROMs mit allen Leistungsmerkmalen, aber sie sind nicht byteprogrammierbar. Flash-EEPROMs haben minimale Schreibeinheiten, die aus Blöcken oder Sektoren von Speicherzellen bestehen. Typischerweise umfassen diese Blöcke eine oder mehrere Zeilen der Speichermatrix. Flash-EEPROMs gruppieren ihre Spalten nach Ausgängen und nicht nach Byte. Das heißt, alle Bits 0 aller Worte sind benachbart. Flash-EEPROMs beseitigen somit die Byteansteuerleitungen und die Byteansteuertransistoren von EEPROMs mit allen Leistungsmerkmalen und können dadurch höhere Dichten erreichen. Die großen Speicherblöcke von Flash-EEPROMs begrenzen jedoch die Lebensdauer des gesamten Chips. Um ein Byte eines Speicherblocks neu zu programmieren, muss der gesamte Block zuerst in einen temporären Haltespeicher, gewöhnlich einen Cache, gelesen werden, das fragliche Byte wird dann innerhalb des Haltecaches aufbereitet, der gesamte Flash-Speicherblock erfährt einen Löschzyklus, bevor die Daten im Haltecache in denselben Flash-Speicherblock zurückgeschrieben werden können, wobei somit viele Speicherzellen unnötigen Lösch/Schreib-Zyklen unterzogen werden und vom verfügbaren Systemcacheplatz schlechten Gebrauch gemacht wird. Außerdem kann der Bedarf für das unnötige Löschen/Schreiben von zusätzlichen Bytes die mittlere Programmierzeit eines Flash-Chips verlängern, wenn nur einige Bytes auf einmal eine Neuprogrammierung benötigen.
  • Einige Bauelemente des Standes der Technik haben danach gestrebt, einen Kompromiss zwischen EEPROMs mit allen Leistungsmerkmalen und Flash-EEPROMs zu finden. Das US-Pat. Nr. 4 949 309, Rao, bietet einen Chip mit sowohl mit allen Leistungsmerkmalen versehenen als auch Flash-Lösch-Programmierbetriebsarten. Diese Konstruktion beseitigt den Ansteuertransistor von herkömmlichen EEPROM-Speicherzellen im Austausch gegen ein komplizierteres Wortleitungs-Decodierschema, behält jedoch die Byteansteuerleitungen und die Byteansteuertransistoren bei und integriert eine zusätzliche Volumenlöschleitung und einen Volumenlöschtransistor für jedes Paar von Wortleitungen. Das US-Pat. Nr. 5 191 556, Radjy, offenbart ein Verfahren zum Verringern der Größe eines Flash-Speicherblocks auf eine einzelne Speicherseite, eine Zeile von Speicherzellen. Das US-Pat. Nr. 5 317 535, Talreja erörtert eine Methode zum Vergrößern des Datenformats von EEPROMs von 8 Bits auf 16 Bits. Das US-Pat. Nr. 5 353 248, Gupta, beschreibt einen SRAM mit einem Reserve-Flash-Speicher mit gleicher Größe auf dem gleichen Chip. Dies vereinfacht die Programmierung, macht jedoch keinen effizienten Gebrauch vom Flash-Speicher. Das US-Pat. Nr. 5 359 569, Fujita et al., vereinfacht die Programmierung eines Flash-Speichers vom Standpunkt des Benutzers durch Integrieren eines Cache-Speichers und einer Steuereinheit zum Verwalten des Zugriffs auf mehrere Flash-Komponenten auf der Computerplatinenebene.
  • Es ist eine Aufgabe dieser Erfindung, einen EEPROM mit dem Merkmal voller Funktionalität bereitzustellen, welcher in der Lage ist, hohe Dichten zu erzielen, während die Anzahl von beanspruchenden Programmier- und Löschzyklen, die eine Speicherzelle durchmacht, verringert wird.
  • Offenbarung der Erfindung
  • Die vorliegende Erfindung ist in Anspruch 1 definiert. Spezielle Ausführungsbeispiele der Erfindung sind in den abhängigen Ansprüchen dargelegt.
  • Die vorliegende Erfindung stellt eine neue interne Architektur für löschbare Sektor-EEPROMs in Konfigurationen mit allen Merkmalen bereit. Eine Speichermatrix solcher EEPROMs ist in Speicherseiten unterteilt, wobei jede Speicherseite ferner in eine Vielzahl von selektiv löschbaren Seitensektoren unterteilt ist. Jeder Seitensektor enthält eine Vielzahl von individuell leseadressierbaren Mehrbyte-Datenworten. Der Seitensektor ist die kleinste programmieradressierbare Dateneinheit. Die Verwendung von Seitensektoren verringert die Anzahl von nicht ausgewählten Datenbytes innerhalb einer Speicherseite, die einen Lösch- und Programmierzyklus durchmachen muss, wenn ein anderes Byte innerhalb derselben Speicherseite umprogrammiert werden muss. Ferner benötigt man nur eine Ansteuerleitung und ein Ansteuerbauelement pro Mehrwort-Seitensektor im Gegensatz zu EEPROMs mit allen Merkmalen, die eine Ansteuerleitung und ein Ansteuerbauelement für jedes Byte von Speicherzellen erfordern. Man organisiert die Bits innerhalb eines Seitensektors auch nach dem Ausgang, wobei alle Spalten des Bits 0 innerhalb desselben Seitensektors benachbart sind, und nicht nach dem Byte wie in EEPROMs des Standes der Technik mit allen Merkmalen, bei denen die Bits 0 bis 7 eines Bytes benachbart sein müssen.
  • Speicher des Standes der Technik, die eine Fehlerkorrekturcode-, ECC, Einheit verwenden, korrigieren typischerweise mindestens ein Bit pro Byte. Die vorliegende Erfindung verwendet eine ECC-Einheit, um ein Bit pro Mehrbyte-Datenwort zu korrigieren, wodurch die Anzahl von ECC-Bits pro Datenbyte verringert wird. Außerdem beinhaltet die Erfindung die automatische Auffrischung, die für den Benutzer transparent ist, eines beliebigen Speicherworts, das die Verwendung der ECC-Einheit zum Wiederherstellen irgendeines falsch gelesenen Datenbits erfordert.
  • Die Erfindung beinhaltet eine Gruppe von Speichern, um die Aktivierung einer Seitensektor-Leseleitung zu steuern. Dies macht es möglich, eine hohe Spannung an die Leseleitung anzulegen, während eine niedrige Spannung auf der Wortleitung aufrechterhalten wird.
  • Die Architektur der Erfindung ist in der Lage, gleichzeitig irgendeinen oder alle der Seitensektoren innerhalb einer Speicherseite, die physikalisch einer Speicherkernzeile entspricht, zu programmieren und zu löschen. Dies wird durch das Hinzufügen eines platineninternen Schreibcaches mit niedriger Spannung erzielt, der als Puffer zwischen dem Benutzer und dem Hauptspeicherkern wirkt. Dies verbessert die Durchschreibzeit, da der Benutzer schnell aufeinanderfolgende Datenworte in den Cache schreiben kann. Der Schreibcache weist eine Mehrbyte-Wortorganisation auf, die mit der Mehrbyte-Wortorganisation des EEPROM-Speicherkerns in Beziehung steht. Er weist eine Größe gleich einer Speicherseite des Speicherkerns auf, aber wandelt die Daten im Strom von der Byteebene in die Mehrbyte-Wortebene um. Der Schreibcache nimmt Daten vom Benutzer in Byteform an und verfolgt alle neuen Daten durch die Verwendung von Bytekennzeichen. Wenn der Benutzer die Eingabe von neuen Daten beendet hat, legt die letzte zwischengespeicherte Zeilenadresse, die hohen Adressbits, der neu eingegebenen Daten die Kernspeicherseite, d. h. Zeile, die den eingegebenen Adressen entspricht, fest. Der Schreibcache nimmt dann mit einer Mehrbytewort-Geschwindigkeit durch eine ECC-Einheit alle vorherigen Daten von der ausgewählten Speicherkernzeile im Cachespeicher an, was sicherstellt, dass die neu eingegebenen Daten nicht mit den aus dem Speicherkern gelesenen alten Daten überschrieben werden. Durch die Verwendung von Seitensektorkennzeichen und/oder des ECC-Fehlersignals ERR stellt das Bauelement dann nur diejenigen Seitensektoren innerhalb des Schreibcaches wieder her, die neue Daten empfangen haben oder die ECC-Einheit benötigten, um verlorene Daten wiederherzustellen. Der Schreibcache weist folglich Byte- sowie Mehrbyte-Datenwort- Schreibadressierbarkeit und Mehrbyte-Datenwort-Leseadressierbarkeit auf.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist eine schematische Transistorebenenansicht eines Teils einer Kernmatrix mit EEPROMs mit allen Leistungsmerkmalen des Standes der Technik.
  • 2 ist eine schematische Transistorebenenansicht eines Teils eines flashartigen EEPROM-Kerns, der in Einklang mit der vorliegenden Erfindung organisiert ist.
  • 3 ist eine schematische Blockdiagrammansicht des EEPROM-Bauelements der vorliegenden Erfindung, das einen wie in 2 organisierten Speicherkern und eine periphere Logik beinhaltet, die einen Schreibzugriff auf diesen Kern mit allen Leistungsmerkmalen vorsieht.
  • 4A4C sind ein Betriebsablaufplan einer Schreibzustandsmaschine im Einklang mit der vorliegenden Erfindung.
  • Beste Art zur Ausführung der Erfindung
  • Mit Bezug auf 2 unterteilt eine für die EEPROM-Architektur der vorliegenden Erfindung spezifische Speicherkernorganisation eine Speicherseite, d. h. alle Speicherzellen innerhalb einer Zeile, in 2, 4 oder mehr Seitensektoren 33. Jede Speicherzelle umfasst einen Zellenansteuertransistor 22, der mit einem Speichertransistor 24 mit variabler Schwelle in Reihe geschaltet ist. Die bevorzugte EEPROM-Architektur verwendet eine interne 16-Bit- oder 32-Bit-Datenwort-Architektur, während eine externe 8-Bit-Byte-Lese/Schreib-Zugriffsmöglichkeit aufrechterhalten wird. Die neue Kernorganisation gruppiert die Bitleitungen nicht nach Byte oder Wort, sondern nach Seitensektoren 33, wobei jeder Seitensektor 33 aus mehreren Datenworten besteht, so dass keine Byteansteuerleitungen und Byteansteuertransistoren mehr verwendet werden. Statt dessen verwendet die neue Architektur eine Seitensektor-Ansteuerleitung 37 und ein Seitensektor-Ansteuerbauelement, das als Ansteuerzwischenspeicher für jeden Seitensektor 33 implementiert ist und somit die Verwendung von Ansteuertransistoren vom Verarmungstyp verringert oder beseitigt. Alternativ kann das vorher dargelegte Seitensektor-Ansteuerbauelement als Ansteuertransistor 40 implementiert werden, wie in 2 gezeigt. Die Datenbits innerhalb jedes Seitensektors 33 werden nach Rang angeordnet, wobei Bits mit gleichem Rang zu Blöcken zusammengruppiert werden. Im Gegensatz zum Stand der Technik, der Bits nach Byte gruppierte, so dass jede Gruppe von Bits aus einem Bit mit Rang 0, einem Bit mit Rang 1, einem Bit mit Rang 2 und so weiter bis zu einem Bit mit Rang 7 bestehen würde. Wenn jeder Seitensektor 33 bei der vorliegenden Erfindung aus zweiunddreißig 16-Bit-Worten besteht, dann wird jeder Seitensektor 33 in sechzehn Bitleitungsblöcke 31 unterteilt, wobei jeder Bitleitungsblock aus 32 Bits mit gleichem Rang besteht. Alle Bits mit Rang 0 innerhalb eines Seitensektors 33 werden beispielsweise benachbart innerhalb des Bitleitungsblocks 0, 31, gruppiert, alle Bits mit Rang 1 innerhalb desselben Seitensektors 33 werden benachbart im Bitleitungsblock 1, der nicht dargestellt ist, gruppiert, und so weiter bis zum Bitleitungsblock 15, 35, im Fall einer 16 Bit breiten Wortorganisation.
  • Mit Bezug auf 3 verwendet die neue EEPROM-Architektur auch einen ECC-Mechanismus 73 auf Hammingcode-Basis, um irgendeinen Bitfehler pro Wort, das 2, 4 oder mehr Bytes lang ist, der während eines Lesezugriffs auf den Speicherkern aufgetreten sein könnte, zu erkennen und automatisch zu korrigieren. Die Verwendung einer Mehrbyte-Datenarchitektur verringert die Siliziumfläche erheblich, da, je breiter das Wort ist, desto kleiner das Verhältnis zwischen den ECC-Paritätsbits und den Datenbits ist. Das Korrigieren von 1 Bit eines 8-Bit-Datenworts erfordert beispielsweise 4 Paritätsbits mit einer Bitbreiten-Steigerung von 50% pro Datenwort, ein 16-Bit-Datenwort erfordert 5 Paritätsbits mit einer Steigerung von 31% und ein 32-Bit-Datenwort erfordert 6 Paritätsbits mit einer Steigerung von nur 19%.
  • Die vorliegende Erfindung weist eine interne Datenarchitektur auf, die nach Mehrbyteworten angeordnet ist, aber sie steht mit einem Systembenutzer in Bytes in Verbindung. Wie in 3 dargestellt, führt die Schaltung der vorliegenden Erfindung dies durch eine Reihe von Multiplexschaltungen 75, die auswählen, welches Byte eines Mehrbyteworts zum Systembenutzer ausgesandt wird, und durch eine Demultiplexschaltung 79 zum Annehmen von Bytegröße-Daten, die vom Systembenutzer eingeladen werden, und durch eine Mehrfach-Schreibtakt-Implementierung des Schreibcaches 83 durch, wobei fortlaufende Bytegröße-Datenstücke in ein Mehrbyte-Datenwort gruppiert werden. Der Schreibcache 83 ist die Größe von einer Kernspeicherseite und ist als SRAM zusammen mit all seiner erforderlichen Steuerlogik implementiert, wie z. B. einer endlichen Zustandsmaschine und Zähler, um einen Zurücklesezyklus einer gesamten Speicherseite während eines Lösch/Schreib-Zyklus durchzuführen, wie nachstehend erläutert.
  • Die Programmierung besteht aus drei Zyklen; einem Ladezyklus, einem Zurücklesezyklus und einem Zurückledezyklus. Der Programmierzyklus beginnt mit einem vom Benutzer gesteuerten Ladezyklus, während dessen der Systembenutzer neue Daten in den Schreibcache 83 lädt. Wie bei EEPROMs des Standes der Technik liefert der Benutzer typischerweise den Ladetakt über den WE%-Stift, wenn CE% auf einem niedrigen Pegel gehalten wird. Alternativ könnte der Ladetakt über den CE%-Stift geliefert werden, wenn der WE%-Stift auf einem niedrigen Pegel gehalten wird. Bei jedem Ladezyklus wird das entsprechende Bytekennzeichen der ausgewählten Byteadresse aktiviert. Es sind 2, 4 oder mehr Bytekennzeichen pro Mehrbytewort vorhanden, aber der Schreibcache ist byteschreibadressierbar. Der externe WE%-Takt steuert einen Befehlsdecodierer an, der nicht dargestellt ist und der als Schnittstelle dient, die Befehlsbetriebsarten vom Systembenutzer in Steuersignale für eine Schreibzustandsmaschine WSM 77 umsetzt. Die Schreibzustandsmaschine 77 steuert wiederum die verschiedenen Lese- und Schreibstufen eines Programmierund Löschzyklus sowie die Spannungen und Zeitsteuerungen, die erforderlich sind, um eine Zelle angemessen zu programmieren und zu löschen, wie nachstehend erläutert. Wie bei Speicherladevorgängen des Standes der Technik endet der Ladezyklus mit einem Zeitüberwachungsprotokoll.
  • Obwohl EEPROMs des Standes der Technik einen Befehlsdecodierer aufweisen, um dem Systembenutzer einen Zugriff auf die internen Funktionsbetriebsarten des Chips zu bieten, begrenzen EEPROMs des Standes der Technik den Zugriff des Systembenutzers auf nur einige Benutzerbetriebsarten. Die neue EEPROM-Architektur erweitert die Verwendung dieses Befehlsdecodierers, um dem Systembenutzer die Steuerung aller Benutzerbetriebsarten und Testbetriebsarten zu gewähren. Der Chip besitzt ein 8-Bit-Betriebsartenregister, das der Systembenutzer mit einem ID-Byte der gewünschten Befehlsbetriebsart über ein Software-Schreibschutzprotokoll unter Verwendung einer vorbestimmten zweckgebundenen Sequenz laden kann. Das Betriebsartregister wird vom Befehlsdecodierer gelesen, der die entsprechenden Steuersignale zur WSM 77 zur Implementierung überträgt.
  • Im Anschluss an den Ladezyklus wird die Programmiersteuerung an die WSM 77 übertragen und sie beginnt durch Einleiten des Zurücklesezyklus. Während des Zurücklesezyklus beginnt die WSM 77 auf der Basis der Seitenadresse, die am Ende des Ladezyklus zwischengespeichert wird, Daten aus der entsprechenden Kernspeicherseite, die durch eine Wortleitung 57 festgelegt wird, in den Schreibcache 83 zu lesen. Die Cachebytekennzeichen 85 werden verwendet, um sicherzustellen, dass keine neuen Daten, die vom Systembenutzer eingegeben werden, mit den existierenden Daten, die aus dem Speicherkern ausgelesen werden, überschrieben werden. Während des Zurücklesezyklus einer Kernspeicherseite überwacht die WSM 77 ein Fehlersignal ERR 111, das von der ECC-Einheit 73 kommt, um festzustellen, ob die ECC 73 wenigstens ein Datenwort korrigiert hat. Wenn die ECC 73 tatsächlich ein Datenwort korrigiert hat, dann setzt die WSM 77, selbst wenn der Benutzer keine neuen Daten in den Schreibcache 83 geladen hat, ein entsprechendes Programmierseitensektor-Kennzeichen 4750 und geht zum Programmieren des korrigierten Seitensektors über, der durch eine der Seitensektor-Leseleitungen 99102 festgelegt wird, wodurch dieser Seitensektor aufgefrischt wird. In dieser Weise wird die Datenhaltefähigkeit des Chips erweitert. Wenn die Kernspeicherseite einmal in den Schreibcache 83 geschrieben wurde, leitet die WSM 77 eine Löschphase ein, während der die Seitensektoren, die durch eine entsprechende Seitensektor-Leseleitung 99102 festgelegt werden, deren Seitensektorkennzeichen 4750 aktiviert ist, gelöscht werden. Auf diese Weise werden nur die Kernspeicher-Seitensektoren, die neue geladene Daten empfangen haben oder die erforderten, dass die ECC- 73 Einheit verlorene Daten wiedergewinnt, gelöscht. Daher aktualisiert der Chip nur die Seitensektoren, die mindestens eine der folgenden Bedingungen erfüllen: (1) Der Benutzer hat mindestens ein neues Byte in den entsprechenden Seitensektor des Schreibcache 83 geladen; (2) während des Zurücklesezyklus verwendete die Übertragung eines Seitensektors vom Speicherkern in den Schreibcache 83 die ECC 73, um mindestens einen Fehler zu korrigieren. Wenn keiner der Seitensektoren irgendeine der vorher angegebenen Bedingungen erfüllt, bricht der Chip den Programmierzyklus insgesamt ab. Wenn jedoch eine der Bedingungen erfüllt ist, programmiert der Chip nur die ausgewählten Seitensektoren neu, wobei somit unnötige Beanspruchung an der Kernspeicherseite vermieden wird und folglich die Haltbarkeit des EEPROM im Vergleich zu Haltbarkeitsniveaus von Flash-EEPROMs des Standes der Technik verbessert wird.
  • Die WSM 77 beginnt nun den Zurückladezyklus, während dessen sie die Daten vom Schreibcache 83 in die Seitensektoren 43-46 mit hoher Spannung zur Vorbereitung auf die Programmierung der entsprechenden Kernspeicher-Seitensektoren überträgt. Während des Zurückladezyklus erzeugt die ECC-Einheit 73 neue Paritätsbits für jedes Datenwort im Schreibcache und sendet die neuen Paritätsbits zu den Seitensektoren 4346 mit hoher Spannung, damit sie zusammen mit den Daten aus dem Schreibcache in den Speicherkern geschrieben werden. Sobald die WSM 77 das Laden der Seitensektoren 4346 mit hoher Spannung beendet, legt sie eine hohe Programmierspannung nur an jene Seitensektoren an, in die geschrieben werden soll, wie durch die vorher angegebenen Bedingungen festgelegt. Wenn die Programmierung vollständig ist, überträgt die WSM 77 die Steuerung zurück an die Schaltung zur Adressenübergangserkennung ATD, die nicht dargestellt ist und die den Übergang einer Adresse verwendet, um den internen Takt der Speicherkomponente mit dem externen Takt des Systems zu synchronisieren, so dass der Chip die normale Lesebetriebsart wieder annehmen kann.
  • Mit Bezug auf 3 ist der Speicherkern gemäß der Speicherseitensegmentierung aufgeteilt. Eine Wortleitung 57, die vom X-Ansteuercodierer 55 kommt, legt eine Speicherseite fest und ist mit allen Wortleitungs-Zwischenspeichergruppen 5154 und Speichersektoren 5962 gekoppelt. Jeder Speichersektor 5962 besteht aus einer Mehrzahl von Speichersektoren, wobei jeder Seitensektor einzeln durch eine Seitensektor-Leseleitung 99102 festgelegt wird. Eine Wortleitungs-Zwischenspeichergruppe 5154 ist nur mit ihrem entsprechenden Speichersektor 5962 über ihre eigene Seitensektor-Leseleitung 99102 gekoppelt. Die Wortleitungs-Zwischenspeichergruppe "0" 51 ist beispielsweise nur mit den Seitensektoren innerhalb des Speichersektors "0" 59 über ihre Seitensektor-Leseleitungen 99 gekoppelt. Bei der normalen Programmierung kann eine beliebige Kombination von Wortleitungs-Zwischenspeichergruppen 5154 aktiv sein und dadurch die Seitensektor-Leseleitung des ausgewählten Seitensektors auf die interne hohe Programmierspannung anheben. Der Byteansteuertransistor einer Architektur mit EEPROMs mit allen Leistungsmerkmalen des Standes der Technik wurde durch einen Sektoransteuer-Zwischenspeicher ersetzt, der durch die Seitensektorkennzeichen 4750 und durch die angesteuerten Wortleitungs-Zwischenspeichergruppen 5154 angesteuert wird.
  • Oberhalb des Speicherkerns befinden sich die Seitensektoren 4346 mit hoher Spannung, eine Zeile von Zwischenspeichern, die die Bitleitungen selektiv auf den internen hohen Spannungspegel anheben können.
  • Unterhalb des Speicherkerns befindet sich die neue Architektur, die entwickelt ist, um den Datenweg zu steuern, der während eines normalen Lesezyklus, eines Zurücklesezyklus, eines Ladezyklus und eines Zurückladezyklus erforderlich ist. Die Architektur kann durch Erörtern des Datenweges eines normalen Lesezyklus und eines Programmierbefehls am besten erläutert werden.
  • Während eines Lesezyklus, der durch die ATD-Schaltung, die nicht dargestellt ist, gesteuert wird, werden Daten durch Leseverstärker 67 und 69 über aktive Y-Ansteuer-Durchgangstransistoren 6366 gelesen. Die Datenbits werden durch die Leseverstärker 67 gelesen und die Paritätsbits werden durch die Leseverstärker 69 gelesen. Wenn die Lesezeit vorbei ist, schaltet das Haupttaktsignal "MOLK" 91 auf einen niedrigen Pegel und speichert ein gesamtes Wort, Daten plus Paritätsbits, in einem Master-Zwischenspeicherregister 71. Spätestens mit dem Beginn des MOLK-Übergangs von einem hohen auf einen niedrigen Pegel beginnt die Matrix der ECC 73, die durch die Master-Zwischenspeicherregister-Ausgänge an diese übergebenen Rohdaten auszuwerten. Das Nebentaktsignal "SCLK" 93, das zu MOLK phasenverschoben ist, schaltet auf einen hohen Pegel und lässt die ECC-Ausgangssignale in das Slave-Zwischenspeicher-Multiplexerregister 75. Dieses Register nimmt das korrigierte Datenwort von den ECC-Ausgängen an und wählt nur ein Byte aus dem Mehrbyte-Datenwort unter Verwendung der niedrigstwertigen Adressenbits 95 A0 für ein 16 Bit breites Wort oder A1 und A0 für ein 32 Bit breites Datenwort aus. Die Ausgangssignale aus dem Slave-Zwischenspeicher-Multiplexerregister steuern direkt die Chipausgabepuffer 78 an, die zusätzlich ihre Freigabe vom OE%-Stift erhalten. Bei der nächsten Adressänderung, die von der ATD-Schaltung festgestellt wird, schaltet SCLK auf einen niedrigen Pegel, wobei somit eine gesteuerte Haltezeit für alte Daten gleich der Lesezeit der neuen Daten vorgesehen wird. MOLK schaltet auf einen hohen Pegel, um die Leseverstärker 67 und 69 ihre neuen Ausgangssignale in das Master-Zwischenspeicherregister laufen zu lassen.
  • Die internen Taktsignale MOLK und SCLK werden von einer Schaltung zur Adressenübergangserkennung ATD, die nicht dargestellt ist und die den Chiplesezyklus mit dem Systemtakt synchronisiert, erzeugt. Sie schützt auch den Chip gegen das Rauschen des internen Leistungsverbindungsbusses, das von den hohen Ausgangsschaltströmen erzeugt wird.
  • Der Programmierbefehl beginnt mit einem vom Benutzer gesteuerten Ladezyklus, während dessen Eingangsdaten vom Systembenutzer in einen SRAM-Schreibcache 83 mit niedriger Spannung geladen werden, anstatt dass sie wie im Stand der Technik direkt in eine Seite mit hoher Spannung geladen werden. Der Schreibcache 83 ist nach Worten 84 plus Bytekennzeichen 85 organisiert, ist jedoch byteschreibbar, so dass, wenn der Benutzer Daten in Bytes eingibt, ein Eingangsdemultiplexer 79 an den Schreibcache das entsprechende Byte übergibt, wie durch die niedrigeren Adressenbits 95 festgelegt, um in einem Mehrbytewort angeordnet zu werden. Der Schreibcache unterscheidet vom Benutzer eingegebene neue Daten von alten Daten, die aus dem Speicherkern ausgelesen werden, durch Zuordnen eines neunten Bits, Bytekennzeichens, jedem Byte eines Worts. Am Beginn eines Ladezyklus werden beispielsweise alle Bytekennzeichen gesetzt, was bedeutet, dass in diesem Moment alle Daten im Schreibcache Abfall sind und durch Daten aus dem Kernspeicher ersetzt werden können, wenn der Zurücklesezyklus eingeleitet wird. Bei jedem Ladezugriff, der vom Systembenutzer durchgeführt wird, wird das Bytekennzeichen, das der ausgewählten Byteadresse innerhalb der Seite entspricht, zurückgesetzt, so dass diese Adressen nicht während des Zurücklesezyklus vom Kernspeicher eingeschrieben werden. Somit enthält der Schreibcache 83 die neuen geladenen Daten, wenn der Zurückladezyklus eingeleitet wird, und der Schreibcache 83 beginnt, zur Vorbereitung auf das Schreiben in den Kernspeicher seinen Inhalt in die Seitensektoren 4346 mit hoher Spannung zu laden.
  • Jede Wortleitungs-Zwischenspeichergruppe 5154 weist ihr eigenes Seitensektorkennzeichen 4750 auf. Am Beginn eines Ladezyklus werden alle Seitensektorkennzeichen 4750 zurückgesetzt, was bedeutet, dass keine Wortleitungs-Zwischenspeichergruppe 5154 und folglich kein Seitensektor freigegeben ist. Wenn mindestens ein Byte in einen Seitensektor des Schreibcache 83 geladen wird, wird das entsprechende Seitensektorkennzeichen 4750 gesetzt, wodurch die Wortleitungs-Zwischenspeichergruppe freigegeben wird, die den entsprechenden Kernspeicher-Seitensektor steuert, wie durch eine Seitensektor-Leseleitung 99102 festgelegt. Der Ladezyklus wird wie im Stand der Technik durch ein Zeitüberwachungsdauerprotokoll beendet.
  • Von diesem Moment an gehört die Programmiersteuerung zur Schreibzustandsmaschine 77. Die WSM weist die Fähigkeit auf, die internen Wortadressenbits anzusteuern, um den Schreibcache 83 und die ausgewählte Kernspeicherseite über die Y-Anssteuer-Durchgangstransistoren 6366 abzutasten. 4A4C zeigen einen Betriebsablaufplan der WSM mit dem Befehlspfad, der unter verschiedenen Befehlsbetriebsarten genommen wird. Für eine Programmierbefehlsbetriebsart im Anschluss an die Ladezyklus-Zeitüberwachungsdauer leitet die WSM einen Zurücklesezyklus ein. Jeder Wortleseschritt im Zurücklesezyklus weist wie nachstehend beschrieben 4 Phasen auf.
  • Phase 1: Die SRAM-Spalten werden mit etwa VCC/2 abgeglichen. Genau während dieser Abgleichszeit kann die WSM 77 die Wortadressen ändern, ohne den SRAM-Inhalt zu stören. Bei einer aktualisierten Wortadresse wird auf den Kern von den Datenleseverstärkern 67 und von den Paritätsleseverstärkern 69 zugegriffen und alte Rohdaten plus Paritätsbits werden an die ECC-Schaltung 73 übergeben.
  • Phase 2: Wenn die ECC 73 die Fehlerkorrektur vollendet hat, weist sie an ihren Ausgängen gültige Daten auf und setzt ein Fehlersignal ERR 111, wenn die Rohdaten korrigiert werden mussten. Gleichzeitig speichert der SRAM die Bytekennzeichen an seinen Ausgängen und hält sie bis zum Schritt des nächsten Worts gespeichert.
  • Phase 3: Das Zurücklese- RB Gatter 81 verbindet die Ausgänge der ECC 73 mit den Eingängen des Schreibcaches 83, während die WSM 77 die Bytekennzeichen auswertet.
  • Phase 4: Jedes Byte in einem Wort weist sein eigenes SRAM-Schreibtaktsignal auf, das nicht dargestellt ist und das von der WSM 77 nur dann kommt, wenn das entsprechende Bytekennzeichen als während der vorherigen Phase gesetzt gelesen wurde. Wenn das Bytekennzeichen als zurückgesetzt gelesen wurde, was bedeutet, dass diese Stelle neu geladene Daten enthält, empfängt der Schreibcache-SRAM keinen Schreibtakt für das entsprechende Byte, so dass die neuen geladenen Daten im Schreibcache bewahrt werden.
  • Während des gesamten Zurücklesezyklus überwacht die WSM 77 das ECC-Fehlersignal ERR 111, wie in der Phase 2 von 4A gezeigt. Wenn ein Wort mit der Verwendung der ECC 73 für dessen Korrektur zurückgelesen wird, wird das Signal ERR 111 gesetzt und die WSM setzt das Seitensektorkennzeichen 4750 der entsprechenden Wortleitungs-Zwischenspeichergruppe 5154, wenn es nicht bereits vom Ladezyklus gesetzt wurde.
  • Die WSM 77 beginnt nun ein chipinternes Hochspannungspumpen, das nicht dargestellt ist, und leitet dann die Löschphase ein. Nur die Wortleitungs-Zwischenspeichergruppen 5154 mit gesetzten Seitensektorkennzeichen 4750 empfangen die Löschspannungen. Die entsprechenden Kernspeicher-Seitensektoren werden gelöscht. Die WSM 77 ruft auch den chipinternen Zeitgeber auf, der nicht dargestellt ist, um diese Löschphase zu beenden. Am Ende der Löschzeit führt die WSM 77 eine Löschwiederherstellung durch, d. h. entlädt die hohe Spannung auf den angesteuerten Leseleitungs-Sektorsegmenten.
  • Als nächstes beginnt die WSM 77 den Zurückladezyklus. Wiederum tastet sie den Wortadressenraum ab und wieder weist jeder Wortladeschritt 4 Phasen auf, wie nachstehend definiert.
  • Phase 1: Die SRAM-Spalten werden mit etwa VCC/2 abgeglichen. Genau während dieser Abgleichszeit kann die WSM die Wortadressen ändern, ohne den SRAM-Inhalt zu stören.
  • Phase 2: Die SRAM-Leseverstärker, die nicht dargestellt sind, lesen die neuen Daten, die bis zum Schritt für das nächste Wort an den SRAM-Ausgängen 87 gespeichert bleiben.
  • Phase 3: Die ECC 73 wird in die Paritätserzeugungsbetriebsart geschaltet und ihre Eingänge werden mit den SRAM-Ausgängen 87 über den Datenbus 107 verbunden. Diese Multiplexfunktion wird vom Master-Zwischenspeicherregister 71 geliefert, das duale Eingänge aufweist, die vom Zurücklesesignal RB 103 und vom Zurückladesignal LB 104 gesteuert werden. Sowohl RB als auch LB werden durch die WSM gesteuert. Am Ende von Phase 3 sind die Ausgangsparitätsbits 89 der ECC 73 bereit und übergeben die gültige neue Paritätsinformation an den Bus 109, damit sie zusammen mit den SRAM-Datenbits 87 geschrieben wird.
  • Phase 4: Die SRAM-Ausgangspuffer 87 steuern den Bus 107 an und die ECC-Paritätsausgangspuffer 89 steuern den Bus 109 an, was das neue Wort über die entsprechenden Y-Ansteuer-Durchgangstransistoren 6366 und Kernbitleitungen in die Seitensektoren 4346 mit hoher Spannung schreibt.
  • Die WSM 77 leitet die Schreibphase ein. Wiederum senden nur Wortleitungs-Zwischenspeichergruppen 5154 mit gesetzten Seitensektorkennzeichen 4750 eine hohe Programmierspannung auf ihre Seitensektor-Leseleitung 99102. Innerhalb jedes aktiven Speichersektors 5962 erhalten nur die Bitleitungen mit gesetzten Seitenzwischenspeichern mit hoher Spannung tatsächlich die hohe Spannung und schreiben somit in die Speicherzellen in der angesteuerten Kernzeile. Die angesteuerte Wortleitung 57 erhält auch die hohe Spannung.
  • Die WSM 77 ruft den chipinternen Zeitgeber auf, um diese Schreibphase zu beenden. Am Ende der Schreibzeit führt die WSM 77 eine Bitleitungswiederherstellung, d. h. entlädt die hohe Spannung auf den angesteuerten Bitleitungen, und dann eine Wortleitungswiederherstellung durch. Die WSM 77 entlädt nun die chipinterne Pumpe für hohe Spannung und übergibt nach dem Austritt die Chipsteuerung an die ATD-Schaltung, so dass der Chip die Lesebetriebsart wieder annehmen kann.
  • Die Schaltung der vorliegenden Erfindung implementiert auch unterbrechbare Ladezyklen durch Einführen von 3 neuen Bits in das Verfahren des Standes der Technik zum Abfragen des Schreibzustands einer WSM 77. Am Beginn eines Ladezyklus werden alle 3 neuen Zustandsbits zurückgesetzt und werden an verschiedenen Punkten während eines Schreibzyklus gesetzt, wie nachstehend beschrieben.
  • Bit: LADEZEITÜBERWACHUNGSWARNUNG – Wird gesetzt, nachdem 75% der gesamten Zeitüberwachungsdauer eines Ladezyklus abgelaufen sind, und bleibt bis zum Austritt der WSM gesetzt.
  • BIT: LÖSCHEN AKTIV – Wird während der Zurücklese- und der Löschphase gesetzt.
  • BIT: SCHREIBEN AKTIV – Wird während der Zurücklade- und der Schreibphase gesetzt.
  • Ein typischer unterbrechbarer Ladezyklus würde diesem Ablauf folgen:
  • Teil 1: Das Benutzersystem leitet einen Schreibcache-Löschplus Nur-Lade-Zyklus durch Laden einer Betriebsart-ID ein, die den Schreibcache-SRAM löscht und dem Chip mitteilt, bei der Vollendung des Ladezyklus nicht mit der Kernaktualisierung fortzufahren. Wenn während dieses Ladezyklus eine Unterbrechungsanforderung höherer Priorität erscheint, kann das Benutzersystem die Unterbrechungsanforderung sicher gewähren und diesen Ladezyklus verschieben. Beim Verlassen des anderen Prozesses sollte das Benutzersystem die Zustandsabfragefähigkeit wie folgt verwenden:
    • – Prüfen, ob das Zustandsänderungsbit noch aktiv ist, was bedeutet, dass die WSM noch aktiv ist, durch aufeinanderfolgende Lesezyklen an derselben Adresse. Wenn das Zustandsänderungsbit seinen Zustand ändert, dann sollte das Benutzersystem das Bit LADEZEITÜBERWACHUNGSWARNUNG prüfen. Wenn es noch zurückgesetzt ist, dann hat das Benutzersystem noch mindestens 25% der gesamten Ladezyklus-Zeitüberwachungsdauer, um das Laden von Daten zu beenden, und kann somit den Ladezyklus sicher wieder aufnehmen. Wenn das Zustandsänderungsbit seinen Zustand ändert, aber das Bit LADEZEITÜBERWRCHUNGSWARNUNG bereits gesetzt ist, dann sollte das Benutzersystem den Chip das Zeitüberwachungsintervall beenden lassen und versuchen, das Laden wieder aufzunehmen, nachdem das Zustandsänderungsbit die Zustandsänderung beendet, was anzeigt, dass die WSM nicht mehr aktiv ist.
    • – Wenn das Zustandsänderungsbit nicht mehr aktiv ist, dann kann das Benutzersystem mit Teil 2 fortfahren.
  • Teil 2: Ein Nur-Laden sollte als Betriebsart-ID geladen werden, um den Ladezyklus mit der Unterbrechungsfähigkeit fortzusetzen. Der von der Zustandsabfrage vorgesehene Quittungsaustausch sollte wie vorstehend beschrieben verwendet werden.
  • Teil 3: Nach Beendung des Ladezyklus, d. h. wenn trotz aller Unterbrechungen das Benutzersystem es geschafft hat, alle neuen Bytes in der ausgewählten Seite zu laden, oder wenn das Benutzersystem alle Unterbrechungen höherer Priorität deaktivieren kann, kann dem Chip eine Endlade- plus Programmierbetriebsart-ID gegeben werden, um ihn den Kern mit den neuen Daten aktualisieren zu lassen, die in den Schreibcache geladen werden.
  • Das Endladen kann tatsächlich leer sein. Der Chip beobachtet das reguläre Ladezyklus-Zeitüberwachungsintervall und fährt mit der Programmierung fort. Genau deshalb, weil der Endladezyklus leer sein kann, kann die Endlade-Betriebsart unterbrochen werden. Da der Chip den chipinternen Zeitgeber verwendet, um die Ladezeitüberwachung zu zählen, verhindert eine Unterbrechung nicht, dass der Chip in die Programmierung eintritt. Tatsächlich kann das Benutzersystem unmittelbar nach dem Geben der Endlade- plus Programmierbetriebsart-ID fortfahren, einem anderen Prozess zu dienen.

Claims (11)

  1. Elektrisch löschbarer, programmierbarer Festwertspeicher, EEPROM, mit: einem Hauptspeicherkern, der aus einer Vielzahl von Speicherzellen besteht, die in einer Matrix von Zeilen und Spalten angeordnet sind, wobei die Speicherzellen ferner in eine Vielzahl von Speichereinheiten (31, 35) gruppiert sind, wobei jede Speichereinheit einen Datenwortabschnitt und einen Paritätsbitabschnitt umfasst; einem Datenbus (107) zum Zugreifen auf den Datenwortabschnitt einer Speichereinheit (31, 35); einem Paritätsbus (109) zum Zugreifen auf den Paritätsbitabschnitt einer Speichereinheit (31, 35), wobei der EEPROM-Speicher gekennzeichnet ist durch: einen Hauptzwischenspeicher (71) zum selektiven Einspeichern des Datenbusses (107) und des Paritätsbusses (109); eine Fehlerkorrektur-Steuereinheit (ECC, 73) zum Empfangen des eingespeicherten Datenbusses und Paritätsbusses (109) vom Hauptzwischenspeicher (71), wobei die Fehlerkorrektur-Steuereinheit (73) selektiv eines von entweder einem korrigierten Datenwort entsprechend dem Paritätsbitabschnitt oder ansonsten einem neuen Satz von Paritätsbits entsprechend dem Datenwortabschnitt erzeugt; ein Ausgangsdaten-Leitwegmittel (79) zum selektiven Leiten des korrigierten Datenworts von der Fehlerkorrektur-Steuereinheit (73) zu einem Satz von Eingangs/Ausgangs-Anschlussleitungen; und einen Schreibcache (83) mit einem Ausgabemittel, das mit dem Datenbus (107) gekoppelt ist, und wobei der Schreibcache (83) selektiv das korrigierte Datenwort von der Fehlerkorrektur-Steuereinheit (73) empfängt.
  2. Speicher nach Anspruch 1, wobei jeder Datenwortabschnitt aus einem Mehrbyte-Datenwort besteht und ein Verhältnis des Paritätsbit-Zählwerts zum Mehrbyte-Datenwort-Bitzählwert unterhalb 50% liegt.
  3. Speicher nach Anspruch 1 oder 2, wobei der Speicherkern ferner in individuell löschbare und programmierbare Unterseitensektoren (33) mit einer Vielzahl der Speichereinheiten (31, 35) unterteilt ist, wobei jeder Unterseitensektor (33) durch eine Sektoransteuerleitung festgelegt wird, die über ein Sektoransteuerbauelement (40) mit einer Sektorleseleitung (99101) gekoppelt ist, die wiederum mit allen Speichereinheiten (31, 35) innerhalb eines Unterseitensektors (33) gekoppelt ist, wobei jeder Unterseitensektor durch das Sektoransteuerbauelement (40) individuell adressierbar ist, wobei jeder Unterseitensektor (33) ein ganzzahliger Teiler einer Speicherseite ist.
  4. Speicher nach Anspruch 2 oder 3, wobei die Eingangs/Ausgangs-Anschlussleitungen zu einer einzelnen Bytegrößeneinheit gruppiert sind und das Ausgangsleitwegmittel (79) nacheinander jedes Byte eines korrigierten Datenworts von der Fehlerkorrektur-Steuereinheit (73) zur einzelnen Bytegrößeneinheit von Eingangs/Ausgangs-Anschlussleitungen leitet.
  5. Speicher nach Anspruch 3, welcher ferner eine Seite hoher Spannung zum Übertragen von Programmier- und Löschspannungspegeln zu jeder Speichereinheit (31, 35) der Unterseitensektoren (33) umfasst, wobei die Seite hoher Spannung (4346) in unabhängige und selektiv aktivierte Bereiche hoher Spannung unterteilt ist, wobei jeder Seitenbereich hoher Spannung die gleiche Größe aufweist wie ein separater Unterseitensektor (33) und diesem entspricht.
  6. Speicher nach einem der vorangehenden Ansprüche, welcher ferner einen Paritätsbit-Leitwegtreiber (89) zum selektiven Koppeln des neuen Satzes von Paritätsbits von der Fehlerkorrektur-Steuereinheit (73) mit dem Paritätsbus (109) umfasst.
  7. Speicher nach Anspruch 1, wobei der Schreibcache (83) kleiner ist als der Hauptspeicherkern und in einer Vielzahl von Dateneinheiten mit Ein-Byte-Größe angeordnet ist.
  8. Speicher nach den Ansprüchen 2 und 7, wobei der Schreibcache (83) ein Mittel zum Annehmen eines separaten Schreibsteuersignals für jedes Datenbyte aufweist.
  9. Speicher nach Anspruch 7, welcher ferner ein Eingangsdaten-Leitwegmittel zum Empfangen von Bytegrößen-Eingangssignalen von den Eingangs/Ausgangs-Anschlussleitungen, zum Anordnen der Bytegrößen-Eingangssignale in ein Dateneingangswort mit einer Größe gleich einem Datenwortabschnitt einer Speichereinheit (31, 35) und zum sequentiellen Speichern jedes Bytes des Dateneingangsworts im Cache umfasst.
  10. Speicher nach Anspruch 9, wobei der Schreibcache (83) ferner Cachekennzeichenbits umfasst, wobei selektive Cachekennzeichenbits als Reaktion darauf, dass Daten im Schreibcache (83) gespeichert werden, aktiviert werden.
  11. Speicher nach Anspruch 10, welcher ferner eine Schreibzustandsmaschine (77) umfasst, die zum Überwachen der Fehlerkorrektur-Steuereinheit (73) gekoppelt ist, und wobei die Schreibzustandsmaschine (77) ein Kennzeichenbit im Schreibcache (83) als Reaktion darauf, dass die Fehlerkorrektur-Steuereinheit (73) ein korrigiertes Datenwort erzeugt, aktiviert.
DE69630624T 1995-03-17 1996-02-22 EEPROM-Matrix mit einem, dem "Flash"-Speicher ähnlichen Kern Expired - Lifetime DE69630624T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US405884 1995-03-17
US08/405,884 US5606532A (en) 1995-03-17 1995-03-17 EEPROM array with flash-like core

Publications (2)

Publication Number Publication Date
DE69630624D1 DE69630624D1 (de) 2003-12-11
DE69630624T2 true DE69630624T2 (de) 2004-07-29

Family

ID=23605633

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69621201T Expired - Lifetime DE69621201T2 (de) 1995-03-17 1996-02-22 Eeprom-matrix mit einem, dem "flash"-speicher ähnlichen, kern
DE69630624T Expired - Lifetime DE69630624T2 (de) 1995-03-17 1996-02-22 EEPROM-Matrix mit einem, dem "Flash"-Speicher ähnlichen Kern

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69621201T Expired - Lifetime DE69621201T2 (de) 1995-03-17 1996-02-22 Eeprom-matrix mit einem, dem "flash"-speicher ähnlichen, kern

Country Status (8)

Country Link
US (2) US5606532A (de)
EP (2) EP0764330B1 (de)
JP (1) JPH10500801A (de)
KR (1) KR100348774B1 (de)
CN (2) CN100483548C (de)
DE (2) DE69621201T2 (de)
TW (1) TW309616B (de)
WO (1) WO1996029704A1 (de)

Families Citing this family (173)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0617363B1 (de) 1989-04-13 2000-01-26 SanDisk Corporation Austausch von fehlerhaften Speicherzellen einer EEprommatritze
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US5673417A (en) * 1995-07-20 1997-09-30 Inventec Corporation Electronic organizer with a flash memory and associated data archiving
JP3941149B2 (ja) * 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
KR100200922B1 (ko) * 1995-12-27 1999-06-15 윤종용 반도체 메모리장치의 펌핑전압발생기
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
JP3411186B2 (ja) * 1997-06-06 2003-05-26 シャープ株式会社 不揮発性半導体記憶装置
DE19731954C2 (de) * 1997-07-24 2000-08-24 Bosch Gmbh Robert Verfahren zur Erkennung von fehlprogrammierten Speicherzellen eines Speichers
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
TW337607B (en) 1997-08-06 1998-08-01 Mos Electronics Taiwan Inc Process for forming a contact hole in an EEPROM with NOR construction
US6040216A (en) * 1997-08-11 2000-03-21 Mosel Vitelic, Inc. Method (and device) for producing tunnel silicon oxynitride layer
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
JPH11176158A (ja) * 1997-12-10 1999-07-02 Fujitsu Ltd ラッチ回路、データ出力回路及びこれを有する半導体装置
TW425660B (en) * 1997-12-12 2001-03-11 Mosel Vitelic Inc Method of forming uniform dielectric layer between two conductive layers in integrated circuit
TW374939B (en) 1997-12-19 1999-11-21 Promos Technologies Inc Method of formation of 2 gate oxide layers of different thickness in an IC
KR100266748B1 (ko) * 1997-12-31 2000-10-02 윤종용 반도체 메모리 장치 및 그 장치의 에러 정정 방법
TW382801B (en) 1998-02-25 2000-02-21 Mosel Vitelic Inc Method of forming two transistors having different threshold voltage in integrated circuit
TW480713B (en) * 1998-03-03 2002-03-21 Mosel Vitelic Inc Method for forming different thickness of field oxide in integrated circuit and the structure of the same
US6136653A (en) * 1998-05-11 2000-10-24 Mosel Vitelic, Inc. Method and device for producing undercut gate for flash memory
US6261903B1 (en) 1998-05-14 2001-07-17 Mosel Vitelic, Inc. Floating gate method and device
US6365455B1 (en) 1998-06-05 2002-04-02 Mosel Vitelic, Inc. Flash memory process using polysilicon spacers
KR20010053128A (ko) * 1998-06-24 2001-06-25 인피니언 테크놀로지스 아게 전자 테스트 메모리 장치
JP3999900B2 (ja) 1998-09-10 2007-10-31 株式会社東芝 不揮発性半導体メモリ
US6088268A (en) * 1998-09-17 2000-07-11 Atmel Corporation Flash memory array with internal refresh
JP4074029B2 (ja) 1999-06-28 2008-04-09 株式会社東芝 フラッシュメモリ
FR2798767B1 (fr) * 1999-09-16 2001-12-14 St Microelectronics Sa Procede d'ecriture en mode page d'une memoire non volatile electriquement programmable/effacable et architecture correspondante
FR2802012B1 (fr) * 1999-12-07 2002-02-15 St Microelectronics Sa Memoire dram rapide
US6728913B1 (en) * 2000-02-25 2004-04-27 Advanced Micro Devices, Inc. Data recycling in memory
US6731538B2 (en) * 2000-03-10 2004-05-04 Kabushiki Kaisha Toshiba Semiconductor memory device including page latch circuit
JP2001297038A (ja) 2000-04-11 2001-10-26 Toshiba Corp データ記憶装置および記録媒体並びに記録媒体制御方法
US6950336B2 (en) * 2000-05-03 2005-09-27 Emosyn America, Inc. Method and apparatus for emulating an electrically erasable programmable read only memory (EEPROM) using non-volatile floating gate memory cells
US6400603B1 (en) 2000-05-03 2002-06-04 Advanced Technology Materials, Inc. Electronically-eraseable programmable read-only memory having reduced-page-size program and erase
FR2809222A1 (fr) * 2000-05-17 2001-11-23 St Microelectronics Sa Memoire eeprom comprenant un systeme de correction d'erreur
DE60129294D1 (de) * 2001-02-19 2007-08-23 St Microelectronics Srl Verfahren zur Auffrischung der gespeicherten Daten in einem elektrisch lösch- und programmierbaren nichtflüchtigen Speicher
JP4530562B2 (ja) * 2001-03-27 2010-08-25 ローム株式会社 不揮発性メモリ
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6683817B2 (en) 2002-02-21 2004-01-27 Qualcomm, Incorporated Direct memory swapping between NAND flash and SRAM with error correction coding
US6751127B1 (en) 2002-04-24 2004-06-15 Macronix International, Co. Ltd. Systems and methods for refreshing non-volatile memory
US6633500B1 (en) 2002-04-26 2003-10-14 Macronix International Co., Ltd. Systems and methods for refreshing a non-volatile memory using a token
JP4257824B2 (ja) * 2002-07-03 2009-04-22 シャープ株式会社 半導体記憶装置
US7061792B1 (en) * 2002-08-10 2006-06-13 National Semiconductor Corporation Low AC power SRAM architecture
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
US6996688B2 (en) * 2003-03-11 2006-02-07 International Business Machines Corporation Method, system, and program for improved throughput in remote mirroring systems
CN1311366C (zh) * 2003-05-22 2007-04-18 群联电子股份有限公司 快闪存储器的平行双轨使用方法
DE60322387D1 (de) * 2003-08-27 2008-09-04 Advanced Risc Mach Ltd Vorrichtung und Verfahren zur Verwaltung von Transaktionen zum Schreiben und Lesen auf EEPROM-Speicher oder Flash-Speicher
US7640370B1 (en) * 2003-11-25 2009-12-29 Marvell International Ltd. Method and apparatus for controlling data transfer between EEPROM and a physical layer device
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US7099221B2 (en) 2004-05-06 2006-08-29 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
JP4135680B2 (ja) * 2004-05-31 2008-08-20 ソニー株式会社 半導体記憶装置および信号処理システム
US20060010339A1 (en) * 2004-06-24 2006-01-12 Klein Dean A Memory system and method having selective ECC during low power refresh
US7340668B2 (en) * 2004-06-25 2008-03-04 Micron Technology, Inc. Low power cost-effective ECC memory system and method
US7116602B2 (en) 2004-07-15 2006-10-03 Micron Technology, Inc. Method and system for controlling refresh to avoid memory cell data losses
US6965537B1 (en) 2004-08-31 2005-11-15 Micron Technology, Inc. Memory system and method using ECC to achieve low power refresh
US7882299B2 (en) * 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
US7212440B2 (en) * 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
TWI263229B (en) * 2005-03-17 2006-10-01 Sunplus Technology Co Ltd Memory device with interface for serial transmission and error correction method for serial transmission interface
KR100680473B1 (ko) * 2005-04-11 2007-02-08 주식회사 하이닉스반도체 액세스 시간이 감소된 플래시 메모리 장치
JP4761910B2 (ja) * 2005-10-05 2011-08-31 株式会社東芝 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
JP4910360B2 (ja) * 2005-10-20 2012-04-04 ソニー株式会社 記憶装置、コンピュータシステム、およびデータ書き込み方法
US7447096B2 (en) * 2006-05-05 2008-11-04 Honeywell International Inc. Method for refreshing a non-volatile memory
US7471562B2 (en) * 2006-05-08 2008-12-30 Macronix International Co., Ltd. Method and apparatus for accessing nonvolatile memory with read error by changing read reference
US8077516B2 (en) * 2006-05-08 2011-12-13 Macronix International Co., Ltd. Method and apparatus for accessing memory with read error by changing comparison
US7773421B2 (en) * 2006-05-08 2010-08-10 Macronix International Co., Ltd. Method and apparatus for accessing memory with read error by changing comparison
US8997255B2 (en) 2006-07-31 2015-03-31 Inside Secure Verifying data integrity in a data storage device
US7567461B2 (en) 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
US8352752B2 (en) * 2006-09-01 2013-01-08 Inside Secure Detecting radiation-based attacks
US7894289B2 (en) 2006-10-11 2011-02-22 Micron Technology, Inc. Memory system and method using partial ECC to achieve low power refresh and fast access to data
US7900120B2 (en) 2006-10-18 2011-03-01 Micron Technology, Inc. Memory system and method using ECC with flag bit to identify modified data
WO2008068706A1 (en) * 2006-12-07 2008-06-12 Nxp B.V. Method and device for reconfiguration of reliability data in flash eeprom storage pages
JP5018074B2 (ja) * 2006-12-22 2012-09-05 富士通セミコンダクター株式会社 メモリ装置,メモリコントローラ及びメモリシステム
KR100819102B1 (ko) 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
KR100914265B1 (ko) * 2007-05-10 2009-08-27 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 읽기 방법
KR100888482B1 (ko) 2007-05-11 2009-03-12 삼성전자주식회사 비휘발성 반도체 메모리 장치 및 상기 비휘발성 반도체메모리 장치의 쓰기 방법
KR101472797B1 (ko) * 2007-07-16 2014-12-15 삼성전자주식회사 데이터를 읽거나 쓰기 위한 방법 및 장치
KR101425957B1 (ko) * 2007-08-21 2014-08-06 삼성전자주식회사 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템
JP2009104757A (ja) * 2007-10-02 2009-05-14 Panasonic Corp 半導体記憶装置
JP5049733B2 (ja) * 2007-10-17 2012-10-17 株式会社東芝 情報処理システム
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
US8762620B2 (en) 2007-12-27 2014-06-24 Sandisk Enterprise Ip Llc Multiprocessor storage controller
KR101483190B1 (ko) * 2008-09-05 2015-01-19 삼성전자주식회사 메모리 시스템 및 그것의 데이터 처리 방법
EP2267724A1 (de) * 2009-06-26 2010-12-29 STMicroelectronics Rousset SAS EEPROM Speicher-Architektur optimiert für eingebettete Speicher
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US9135190B1 (en) 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
JP5549956B2 (ja) 2009-12-02 2014-07-16 マイクロン テクノロジー, インク. 不揮発性メモリ用のリフレッシュアーキテクチャおよびアルゴリズム
US20120246384A1 (en) * 2011-03-21 2012-09-27 Winbond Electronics Corp. Flash memory and flash memory accessing method
CN102339644B (zh) * 2011-07-27 2014-12-24 聚辰半导体(上海)有限公司 存储器及其操作方法
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
US9058289B2 (en) * 2011-11-07 2015-06-16 Sandisk Enterprise Ip Llc Soft information generation for memory systems
EP2608036A1 (de) * 2011-12-22 2013-06-26 Thomson Licensing Verfahren und System zum Verwalten der Fehlererkennung und -korrektur
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
CN102768859A (zh) * 2012-07-12 2012-11-07 深圳市锐能微科技有限公司 一种eeprom擦写控制装置
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
JP5853906B2 (ja) * 2012-08-24 2016-02-09 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
US9123401B2 (en) * 2012-10-15 2015-09-01 Silicon Storage Technology, Inc. Non-volatile memory array and method of using same for fractional word programming
US9472284B2 (en) 2012-11-19 2016-10-18 Silicon Storage Technology, Inc. Three-dimensional flash memory system
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US10120694B2 (en) 2013-03-15 2018-11-06 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9361221B1 (en) 2013-08-26 2016-06-07 Sandisk Technologies Inc. Write amplification reduction through reliable writes during garbage collection
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9685242B2 (en) * 2014-03-11 2017-06-20 Kabushiki Kaisha Toshiba Memory system
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
JP6411282B2 (ja) * 2015-05-15 2018-10-24 ラピスセミコンダクタ株式会社 半導体メモリ及びデータ書込方法
FR3039922B1 (fr) * 2015-08-06 2018-02-02 Stmicroelectronics (Rousset) Sas Procede d'ecriture dans une memoire du type eeprom et dispositif de memoire correspondant
US9910749B2 (en) 2016-06-23 2018-03-06 Sandisk Technologies Llc Non-volatile memory with dynamic repurpose of word line
US10290353B2 (en) 2016-09-06 2019-05-14 Western Digital Technologies, Inc. Error mitigation for 3D NAND flash memory
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system
US11256616B2 (en) * 2019-12-24 2022-02-22 Micron Technology, Inc. Power loss data protection in a memory sub-system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949309A (en) * 1988-05-11 1990-08-14 Catalyst Semiconductor, Inc. EEPROM utilizing single transistor per cell capable of both byte erase and flash erase
EP0617363B1 (de) * 1989-04-13 2000-01-26 SanDisk Corporation Austausch von fehlerhaften Speicherzellen einer EEprommatritze
US5535328A (en) * 1989-04-13 1996-07-09 Sandisk Corporation Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells
US5191556A (en) * 1991-03-13 1993-03-02 Advanced Micro Devices, Inc. Method of page-mode programming flash eeprom cell arrays
US5359569A (en) * 1991-10-29 1994-10-25 Hitachi Ltd. Semiconductor memory
TW231343B (de) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US5353248A (en) * 1992-04-14 1994-10-04 Altera Corporation EEPROM-backed FIFO memory
US5317535A (en) * 1992-06-19 1994-05-31 Intel Corporation Gate/source disturb protection for sixteen-bit flash EEPROM memory arrays
JP3328321B2 (ja) * 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
JPH0683716A (ja) * 1992-09-01 1994-03-25 Rohm Co Ltd 電気的書換可能型不揮発メモリ
JPH0750558B2 (ja) * 1992-09-22 1995-05-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリ
KR960000616B1 (ko) * 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
US5488711A (en) * 1993-04-01 1996-01-30 Microchip Technology Incorporated Serial EEPROM device and associated method for reducing data load time using a page mode write cache
US5363334A (en) * 1993-04-10 1994-11-08 Microchip Technology Incorporated Write protection security for memory device
US5353256A (en) * 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
US5424997A (en) * 1994-03-15 1995-06-13 National Semiconductor Corporation Non-volatile semiconductor memory having switching devices for segmentation of a memory page and a method thereof

Also Published As

Publication number Publication date
EP0764330B1 (de) 2002-05-15
DE69621201T2 (de) 2002-12-19
EP1158533A1 (de) 2001-11-28
EP0764330A1 (de) 1997-03-26
WO1996029704A1 (en) 1996-09-26
US5765185A (en) 1998-06-09
TW309616B (de) 1997-07-01
CN1607609A (zh) 2005-04-20
DE69630624D1 (de) 2003-12-11
CN1145684A (zh) 1997-03-19
US5606532A (en) 1997-02-25
JPH10500801A (ja) 1998-01-20
EP1158533B1 (de) 2003-11-05
DE69621201D1 (de) 2002-06-20
EP0764330A4 (de) 2000-07-19
KR100348774B1 (ko) 2003-01-24
KR970702561A (ko) 1997-05-13
CN1110053C (zh) 2003-05-28
CN100483548C (zh) 2009-04-29

Similar Documents

Publication Publication Date Title
DE69630624T2 (de) EEPROM-Matrix mit einem, dem "Flash"-Speicher ähnlichen Kern
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE69034191T2 (de) EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
DE3909896C2 (de)
DE102006001492B4 (de) Halbleiterspeicheranordnung und Verfahren zum Betreiben einer Halbleiterspeicheranordnung
DE69828564T2 (de) Kombinierter nichtflüchtiger programm-/datenspeicher für gleichzeitiges lesen von programmen und schreiben von daten
DE10052877B4 (de) Mikrocontroller
DE69635663T2 (de) vERFAHREN FÜR DAS EINSPEICHERN VON DATEN IN EINEM FLASH-EEPROM-HAUPTSPEICHER IN EINEM RECHNERSYSTEM
DE602004002947T2 (de) NAND Flash Speicher mit Speicherredundanz
DE102019116520A1 (de) Datenspeichersysteme und -verfahren für eine verbesserte datenumlagerung basierend auf lesepegelspannungen, die mit einer fehlerwiederherstellung verbunden sind
DE60317347T2 (de) Speicherschaltung mit nichtflüchtigem ram und ram
DE2617408A1 (de) Datenverarbeitungsgeraet
DE4423949A1 (de) E/A-Hilfssystem und Exklusiv-Steuerverfahren, Datenspeicherverfahren und Speicherinitialisierungsverfahren in einem E/A-Hilfssystem
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE10238566A1 (de) Fenster-basierendes Flashspeicher-Speichersystem und Management und Zugriffsverfahren darauf
EP1817658A2 (de) Speichersystem mit sektorbuffern
DE60012081T2 (de) Nichtflüchtige Halbleiterspeicheranordnung, die eine Datenleseoperation während einer Datenschreib/lösch-Operation erlaubt
DE102021115374A1 (de) Abschwächung des in zonen unterteilten namensraums unter verwendung des unterblock-modus
DE10230132A1 (de) Nichtflüchtige Halbleiterspeichervorrichtung mit Sicherungsspeicherblock
DE112004003009B4 (de) Nicht-flüchtiger Speicher und Verfahren zum Festlegen von Information eines Nicht-flüchtigen Speichers
DE112007003117T5 (de) Neue Implementierung der Spaltenredundanz für einen Flash-Speicher mit einem hohen Schreibparallelismus
EP1564754B1 (de) Verfahren und Vorrichtung zur Verwaltung von Daten in einem nichtflüchtigen Datenspeicher
DE10227256C1 (de) Verfahren zum Adressieren von blockweise löschbaren Speichern
EP0257405B1 (de) Verfahren und Anordnung zum Aktualisieren von Steuerbitkombinationen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER,