DE69726304T2 - Nichtflüchtiger schreibbarer speicher mit programmierungsaufhebungsbefehl - Google Patents

Nichtflüchtiger schreibbarer speicher mit programmierungsaufhebungsbefehl Download PDF

Info

Publication number
DE69726304T2
DE69726304T2 DE69726304T DE69726304T DE69726304T2 DE 69726304 T2 DE69726304 T2 DE 69726304T2 DE 69726304 T DE69726304 T DE 69726304T DE 69726304 T DE69726304 T DE 69726304T DE 69726304 T2 DE69726304 T2 DE 69726304T2
Authority
DE
Germany
Prior art keywords
interrupt
program
volatile memory
memory
code
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
DE69726304T
Other languages
English (en)
Other versions
DE69726304D1 (de
Inventor
A. David LEAK
G. Fasil BEKELE
C. Thomas PRICE
W. Charles BROWN
K. Peter HAZEN
Prakash Vishram DALVI
R. Rodney ROZMAN
John Christopher HAID
Jerry Kreifels
E. Alan BAKER
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of DE69726304D1 publication Critical patent/DE69726304D1/de
Publication of DE69726304T2 publication Critical patent/DE69726304T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/20Suspension of programming or erasing cells in an array in order to read other cells in it

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Gebiet der Speichervorrichtungen. Im Besonderen betrifft die vorliegende Erfindung das Unterbrechen eines Programmablaufs in einem nichtflüchtigen, beschreibbaren Speicher zur Ausführung anderer Operationen in dem nichtflüchtigen, beschreibbaren Speicher.
  • STAND DER TECHNIK
  • Bei einer Art eines nichtflüchtigen, beschreibbaren Speichers handelt es sich um einen durch ein einfaches Steuersignal löschbaren, sofort neu programmierbaren Festwertspeicher ("Flash-EPROM" oder "Flash-Speicher"). Ein typisches Flash-EPROM weist die gleiche Array-Konfiguration wie ein standardmäßiges EPROM (engl. Abkürzung von "Electrically Programmable Read-Only Memory") und kann auf ähnliche Weise wie ein EPROM programmiert werden. Nach der Programmierung kann entweder der gesamte Inhalt des Flash-EPROM oder ein Block des Flash-EPROM durch elektrische Löschung verhältnismäßig schnell gelöscht werden. Eine Löschspannung wird den Quellen (Source) aller Zellen in dem Flash-EPROM oder in einem Block des Flash-EPROM zur Verfügung gestellt. Dies führt zu einer vollständigen Array-Löschung oder einer Blocklöschung. Das Flash-EPROM oder der gelöschte Block des Flash-EPROM kann danach mit neuen Daten programmiert werden.
  • Flash-EPROMs unterscheiden sich von dem Standard der EEPROMs (engl. Abkürzung von "Electrically Erasable Programmable Read- Only Memory") in Bezug auf den Löschvorgang. Herkömmliche EEPROMs verwenden für gewöhnlich einen ausgesuchten Transistor zur einzelnen Steuerung des Löschens von Zellen. Flash-EPROMs erreichen im Gegensatz dazu eine deutlich höhere Dichte als einzelne Transistorzellen.
  • Bei einem dem Stand der Technik entsprechenden Flash-EPROM mit einem einzelnen Bit bedeutet eine logische "Eins", dass soweit überhaupt, dann nur wenige Elektronen an dem schwebenden Gate gespeichert werden, das einer Bitzelle zugeordnet ist. Eine logische "Null" bedeutet, dass viele Elektronen an dem der Bitzelle zugeordneten schwebenden Gate gespeichert werden. Das Löschen des Flash-EPROM bedeutet, dass eine logische Eins in jeder Bitzelle gespeichert wird. Jede einzelne Bitzelle des Flash-EPROM kann nicht von einer logischen Null durch eine logische Eins überschrieben werden, ohne dass vorher ein Löschvorgang vorgenommen wird. Jede einzelne Bitzelle des Flash-EPROM kann jedoch von einer logischen Eins auf eine logische Null überschrieben werden, da dies die einfache Addition von Elektronen zu einem dem gelöschten Zustand zugeordneten schwebenden Gate umfasst.
  • Flash-EPROMs können gelesen, programmiert (oder beschrieben) und gelöscht werden. Bei einem dem Stand der Technik entsprechenden Flash-EPROM dauert eine Programmoperation zum Schreiben eines Datenbytes für gewöhnlich etwa 10 Mikrosekunden. Da jedoch ein gewisser Spielraum erforderlich ist, um die ordnungsgemäße vollständige Ausführung der Programmoperation zu gewährleisten, wird durch den Hersteller des Flash-EPROM eine maximale Programmzeit spezifiziert. Während eine kennzeichnende Programmoperation somit 10 Mikrosekunden dauern kann, muss das System somit unter Umständen über eine maximale Programmoperationszeit von 100 Mikrosekunden warten, um die korrekte Ausführung der Programmoperation zu gewährleisten.
  • Bei einem dem Stand der Technik entsprechenden Flash-EPROM dauert ferner ein Löschvorgang zum Löschen eines Datenblocks von 8 Kilobyte zwischen 300 und 600 Millisekunden. Das Flash-EPROM kann jedoch eine maximale Löschvorgangsdauer von bis zu 3 Sekunden benötigen, um zu garantieren, dass der Löschvorgang des ganzen Datenblocks korrekt ausgeführt worden ist.
  • Da der Löschvorgang eine derart lange Latenzzeit aufweist, weist ein dem Stand der Technik entsprechendes Flash-EPROM einen Löschvorgangs-Unterbrechungsbefehl auf. Wenn ein Löschvorgangs-Unterbrechungsbefehl in das Flash-EPROM geschrieben wird, unterbricht das Flash-EPROM den gerade ausgeführten Löschvorgang. Danach können in dem Flash-EPROM andere Operationen ausgeführt werden. Wenn später ein Löschvorgangs-Wiederaufnahmebefehl in das Flash-EPROM geschrieben wird, nimmt das Flash-EPROM den Löschvorgang wieder an der Stelle auf, an welcher der Vorgang vorher durch den Löschvorgangs-Unterbrechungsbefehl unterbrochen worden ist. Eine Implementierung der Löschvorgangs-Unterbrechungsschaltkreisanordnung wird in dem U.S. Patent US-A-5.355.464 mit dem Titel "Circuitry And Method For Suspending The Automated Erasure Of A Non-Volatile Semiconductor Memory" an Fandrich et al. beschrieben, das auf den gleichen Anmelder wie die vorliegende Erfindung übertragen worden ist.
  • Die Abbildung aus 1 zeigt eine Darstellung eines dem Stand der Technik entsprechenden Flash-EPROM 10. Das Flash-EPROM weist ein Befehlsregister 20, eine Speicherfeld-Steuerschaltkreisanordnung 40 und ein Speicherfeld 50 auf.
  • Eine Mehrzahl von Dateneingabe-/Ausgabe-Anschlussstiften (E/A) 12 ist von dem Anschlussstiften des Flash-EPROM mit einem Befehlsregister 20 gekoppelt. Die Anzahl der Daten-E/A-Anschlussstifte 12 entspricht für gewöhnlich 8 Anschlussstiften oder 16 Anschlussstiften, wobei die Anzahl der Größe der in dem Flash-EPROM zu speichernden Daten entspricht. Die Daten-E/A-Anschlussstifte 12 ermöglichen es, dass Befehle in das Befehlsregister 20 geschrieben werden. Bei einem dem Stand der Technik entsprechenden Flash-EPROM weist der Befehlsdecodierer eine Schaltkreisanordnung zur Decodierung der folgenden Befehle auf (1) Löschen, (2) Löschunterbrechung, (3) Löschwiederaufnahme, (4) Programmieren, (5) Lesen und (6) Status lesen. Ein Schreibfreigabe-Anschlussstift 30 (WE#) ist so gekoppelt, dass er eine Eingabe in das Befehlsregister 20 vorsieht.
  • Das Befehlsregister 20 ist über die Signalleitungen 78an mit einer Speicherfeld-Steuerschaltkreisanordnung 40 gekoppelt. Die Speicherfeld-Steuerschaltkreisanordnung 40 weist ein Statusregister 42 auf. Die Speicherfeld-Steuerschaltkreisanordnung 40 weist ferner eine Leseschaltkreisanordnung, eine Zeilen- und Spalten-Decodiererschaltkreisanordnung für einen Zugriff auf Zellen und das Vorsehen von Daten an Zellen in dem Speicherfeld 50 sowie eine Schreibzustandsvorrichtung auf, die eine Programmierungs- und Löschschaltkreisanordnung aufweist. Die Speicherfeld-Steuerschaltkreisanordnung 40 sieht die entsprechenden Signale für einen Zugriff auf das Speicherfeld 50 auf, um die durch das Befehlsregister 20 vorgesehenen Befehle auszuführen. Die Speicherfeld-Steuerschaltkreisanordnung 40 empfängt eine Adresseingabe von den Adressanschlussstiften 44 des Flash-EPROM. Ein Befehlsrücksetzsignal 48 ist von der Speicherfeld- Steuerschaltkreisanordnung 40 zu dem Befehlsregister 20 gekoppelt.
  • Das Speicherfeld ist so gekoppelt, dass es Daten an einen Ausgabe-Multiplexer 60 vorsieht, um Daten an die Daten-E/A-Anschlussstifte 12 des Flash-EPROM als Reaktion auf einen Lesevorgang vorzusehen. Das Statusregister 42 ist ferner so gekoppelt, dass es Daten an den Ausgabe-Multiplexer 60 vorsieht, um Statusdaten als Reaktion auf einen Statuslesevorgang an die Daten-E/A-Anschlussstifte 12 des Flash-EPROM vorzusehen. Das Statusregister 42 sieht Informationen über den aktuell von dem Flash-EPROM ausgeführten Vorgang vor. Die Speicherfeld-Steuerschaltkreisanordnung 40 steuert den Ausgabe-Multiplexer 60 auf der Basis der diesem über das Befehlsregister 20 vorgesehenen Befehle. Die Speicherfeld-Steuerschaltkreisanordnung 40 wählt die Statusregisterausgabe so aus, dass diese als Reaktion auf einen Statuslesevorgang durch den Ausgabe-Multiplexer 60 verläuft, und wobei die Speicherfeld-Steuerschaltkreisanordnung als Reaktion auf einen Lesevorgang den Verlauf der Speicherfeldausgabe durch den Ausgabe-Multiplexer 60 auswählt.
  • Bei einem dem Stand der Technik entsprechenden Flash-EPROM sieht ein Anschlussstift 62 Ready/Busy (RY/BY#) des Flash-EPROM eine Statusanzeige vor, die anzeigt, ob das Flash-EPROM gerade arbeitet bzw. belegt ist oder nicht. Ein "niedriger" Zustand des RY/BY#-Anschlussstifts zeigt einen arbeitenden Zustand an, der bedeutet, dass das Flash-EPROM eine Blocklöschvorgang oder einen Byteschreibvorgang ausführt. Ein "hoher" Zustand des RY/BY#-Anschlussstifts zeigt einen Bereitschaftszustand an, wobei dies bedeutet, dass das Flash-EPROM für neue Befehle bereit ist, dass ein Blocklöschvorgang unterbrochen ist oder dass sich die Vorrichtung in einem Abschaltmodus befindet. Das Statusregister 42 ist so gekoppelt, dass es eine Ausgabe an den RY/BY#-Anschlussstift 62 vorsieht.
  • Zusätzlich werden an das Flash-EPROM eine Speisespannung Vcc, ein Erdpotenzial Vss und eine Programmierspannung Vpp vorgesehen.
  • Die Abbildung aus 2 zeigt ein dem Stand der Technik entsprechendes Blockdiagramm des Befehlsregisters 20 und der Speicherfeld-Steuerschaltkreisanordnung 40. Das Befehlsregister 20 weist einen Befehlsdecodierer 70 und die Befehlssignalspeicher 76an auf. Die Befehlssignalspeicher weisen einen Löschsignalspeicher 76a, einen Löschvorgangsunterbrechungs-Signalspeicher 76b, einen Löschvorgangs-Wiederaufnahmesignalspeicher 76c, einen Programmsignalspeicher 76d, einen Lesesignalspeicher 76m und einen Statuslesesignalspeicher 76n auf.
  • Der Befehlsdecodierer decodiert die von den Daten-E/A-Anschlussstiften 12 empfangenen Befehle. Jeder der Befehle wird über die Signalleitungen 72an an einen zugeordneten Befehlssignalspeicher 76an vorgesehen. Die Befehlssignalspeicher 76an speichern einen Befehl nach der Geltendmachung des Schreibfreigabe-Anschlussstiftes 30 (WE#) zwischen. Die Befehlssignalspeicher 76an sehen den decodierten Befehl über die Signalleitungen 78an an die Speicherfeld-Steuerschaltkreisanordnung 40 vor.
  • Die Speicherfeld-Steuerschaltkreisanordnung weist eine Löschschaltkreisanordnung 90, eine Programmschaltkreisanordnung 94, eine Leseschaltkreisanordnung 96 und eine Statusleseschaltkreisanordnung 98 auf. Die Löschschaltkreisanordnung 90 weist eine Löschvorgangs-Unterbrechungsschaltkreisanordnung 92 auf. Die Statusleseschaltkreisanordnung 98 ist mit dem Statusregister 42 gekoppelt.
  • Der Löschsignalspeicher 76a, der Löschvorgangs-Unterbrechungssignalspeicher 76b und der Löschvorgangs-Wiederaufnahmesignalspeicher 76c sind mit der Löschschaltkreisanordnung 90 gekoppelt. Der Löschvorgangs-Unterbrechungssignalspeicher 76b und der Löschvorgangs-Wiederaufnahmesignalspeicher 76c sind mit der Löschvorgangs-Unterbrechungsschaltkreisanordnung 92 in der Löschschaltkreisanordnung 90 gekoppelt.
  • Der Programmsignalspeicher 76d ist mit der Programmschaltkreisanordnung 94 gekoppelt. Der Lesesignalspeicher 76m ist mit der Leseschaltkreisanordnung 96 gekoppelt, und der Statuslesesignalspeicher 76n ist mit der Statusleseschaltkreisanordnung 98 gekoppelt.
  • Die Speicherfeld-Steuerschaltkreisanordnung 40 ist so gekoppelt, dass sie eines oder mehrere Befehlsrücksetzsignale 48 an den Befehlsdecodierer vorsieht, um die Befehlssignalspeicher 76an zu löschen. Der Befehlsdecodierer verwendet die Befehlsrücksetzsignale 48 zum Löschen der Befehlssignalspeicher 76an über Befehlssignalspeicher-Rücksetzsignale 74an. Bei einer Implementierung sind einzelne Befehlssignalspeicher-Rücksetzsignale 74an mit jedem Befehlssignalspeicher 76an gekoppelt. Bei einer anderen Implementierung ist ein Befehlsrücksetzsignal mit allen Befehlssignalspeichern gekoppelt.
  • Flash-EPROMs können sowohl zum Speichern von Code als auch Daten verwendet werden. Bei einem Einsatz gemäß dem Stand der Technik wird Code in bestimmten Blöcken des Flash-EPROM gespeichert, während Daten in anderen Blöcken des Flash-EPROM gespeichert werden. Dies ermöglicht das Löschen eines Blocks ohne den Inhalt eines anderen Blocks zu beeinträchtigen. Darüber hinaus sind einige Flash-EPROMs auf Datenblöcke und Codeblöcke verschiedener Größen vorbereitet.
  • Zwar ist es möglich, sowohl Code als auch Daten in einem Flash-EPROM zu speichern und den direkt von dem Flash-EPROM an einen Prozessor vorgesehenen Code auszuführen, wobei jedoch ein Problem entsteht, wenn ein Flash-EPROM in einem System eingesetzt wird, das eine Behandlung der Codeerfassungen erfordert. Dies ist durch die lange Latenzzeit für Programmoperationen und Löschvorgänge begründet, wie dies bereits vorstehend im Text beschrieben worden ist. Wenn ein Prozessor zum Beispiel einen Programmvorgang zum Schreiben eines Datenbytes in das Flash-EPROM ausführt und der Prozessor in der Folge anfordert, dass das Flash-EPROM einen Lesevorgang ausführt, um eine Codeerfassung auszuführen, d. h. das Lesen von Code zur Erfassung neuer Anweisungen, die von dem Prozessor auszuführen sind, kann der Lesevorgang um bis zu 100 Mikrosekunden verzögert werden, wobei darauf gewartet wird, dass die Programmoperation abgeschlossen wird. Dies bewirkt ein Anhalten des Prozessors, wobei der Prozessor bis zum Empfang neuer Befehle in dem angehaltenen Zustand verbleibt. Eine derartige Verzögerung beim Lesen von Code wäre in einem System unzulässig, das es voraussetzt, dass Codeerfassungen innerhalb eines kürzeren Zeitraums ausgeführt werden als dem maximalen Zeitraums des Programmablaufs Die Abbildung aus 3 zeigt eine dem Stand der Technik entsprechende Darstellung eines Systems, das einen Prozessor 100, einen flüchtigen Speicher 102 und ein Flash-EPROM 104 umfasst, die über einen Bus 108 gekoppelt sind. Der flüchtige Speicher 102 und das Flash-EPROM 104 können jedoch auch über separate Busse mit dem Prozessor 100 gekoppelt werden. Das Flash-EPROM weist Code und Daten auf, wobei der Code urch den Prozessor ausgeführt werden kann. Der Code des Flash-EPROM wird in den flüchtigen Speicher übertragen oder kopiert, bei dem es sich um einen dynamischen Direktzugriffsspeicher (DRAM) oder einen statischen Direktzugriffsspeicher (SRAM) handeln kann. Nach dem der Code in den flüchtigen Speicher übertragen worden ist, wenn das Flash-EPROM eine Programmoperation ausführt und der Prozessor eine Codeerfassungsanforderung erzeugt, kann der Prozessor die Codeerfassungsanforderung durch Lesen des angeforderten Codes aus dem flüchtigen Speicher erfüllen. Der Prozessor wartet nicht darauf, dass das Flash-EPROM dessen Programmablauf abschließt, um eine Codeerfassung auszuführen.
  • Dieses System kann jedoch teuer sein, wenn die Größe des in dem Flash-EPROM gespeicherten Codes groß ist, da der DRAM/SRAM ausreichend groß sein müsste, um den gesamten Codeblock zu speichern, um die Latenzzeit des Programmablaufs zu überwinden. Ein Beispiel eines Systems, das die Konfiguration aus der Abbildung aus 3 verwenden könnte, ist ein Personalcomputer (PC).
  • Die Abbildung aus 45 zeigt ein dem Stand der Technik entsprechendes System mit einem Prozessor 100, einem flüchtigen Speicher 102, einem Flash-EPROM 104 und einem EEPROM 106. In diesem dem Stand der Technik entsprechenden System speichert das EEPROM 106 Daten und das Flash-EPROM 104 speichert Code. Der SRAM/DRAM 102 wird zum vorübergehenden Speichern von Daten eingesetzt, bevor die Daten an das EEPROM 106 vorgesehen werden, d. h. der SRAM/DRAM-Speicher dient als Puffer zwischen dem Prozessor und dem EEPROM.
  • Die Abbildung aus 5 zeigt ein weiteres System gemäß der Stand der Technik, wobei das EEPROM 106 Code speichert und das Flash-EPROM 104 Daten speichert. Der SRAM/DRAM-Speicher 102 dient als temporärer Puffer zwischen dem Prozessor und dem Flash-EPROM.
  • Die Abbildungen der 3, 4 und 5 zeigen somit dem Stand der Technik entsprechende Flash-EPROM-Systeme, denen die Fähigkeit fehlt, schnell und leicht die Codeerfassungsanforderungen eines Prozessors zu behandeln, während der Flash-Speicher einen Programmablauf ausführt.
  • Das U.S. Patent US-A-5.034.922 offenbart eine Einrichtung, die es verhindert, dass programmierte Zellen unvollständig gelesen werden, wenn eine Leseanforderung einen unvollständigen Schreibvorgang unterbrochen hat. In diesem Bezugsdokument wird ein Schreibprozess in einem EEPROM als Reaktion auf ein Lesesteuersignal und eine Leseadresse angehalten. EP-A-0376285 offenbart einen mit einem EEPROM verbundenen Prozessor, wobei der Prozessor eine Datenschreibanforderung und eine Datenleseanforderung an das EEPROM ausgibt, und wobei eine Steuerschaltung mit dem EEPROM und dem Prozessor gekoppelt ist, wodurch ein Timer in der Steuerschaltung dazu verwendet wird, einen Zeitraum zu takten, um ein Signal für das Operationsende zu erzeugen. Durch eine Datenschreibanforderung werden Daten in einer ausgesuchten Speicherzelle gespeichert, und als Reaktion auf das Beendigungssignal wird der Datenschreibprozess beendet. Offenbart wird eine Einrichtung, die auf eine Datenleseanforderung anspricht, die während einem Datenschreibprozess zum Unterbrechen des Datenschreibprozesses ausgegeben worden ist, um Daten aus einer ausgesuchten Speicherzelle zu lesen und um danach den unterbrochenen Datenschreibprozess wiederaufzunehmen. Ferner werden Einrichtungen offenbart, um einen Zeitzählvorgang des Timers während einem Zeitraum im Verhältnis zu einem Unterbrechungszeitraum des Datenschreibvorgangs zu unterbrechen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Der vorliegenden Erfindung liegt die Aufgabe zugrunde, die Fähigkeit zur Unterbrechung einer Programmoperation in einem nichtflüchtigen, beschreibbaren Speicher vorzusehen, um Code aus dem nichtflüchtigen, beschreibbaren Speicher zu lesen. Vorzugsweise verwendet die vorliegende Erfindung einen Unterbrechungsbefehl zur Unterbrechung einer Programmoperation als Reaktion auf ein Unterbrechungssignal.
  • Vorgesehen ist gemäß einem ersten Aspekt der vorliegenden Erfindung ein Verfahren gemäß dem gegenständlichen Anspruch 1 oder 5.
  • Vorgesehen ist gemäß einem zweiten Aspekt der vorliegenden Erfindung ein System gemäß dem gegenständlichen Anspruch 3.
  • Beschrieben werden ein Verfahren und eine Vorrichtung zur Unterbrechung von Programmoperationen in einem Flash-Speicher. Der Flash-Speicher weist ein Speicherfeld, ein Befehlsregister und eine Speicherfeld-Steuerschaltkreisanordnung auf. Das Befehlsregister decodiert einen Programmunterbrechungsbefehl und sieht als Ausgabe ein Unterbrechungssignal vor. Die Speicherfeld-Steuerschaltkreisanordnung ist so gekoppelt, dass sie das Unterbrechungssignal von dem Befehlsregister empfängt. Die Speicherfeld-Steuerschaltkreisanordnung führt eine Programmoperation aus, wobei Daten in das Speicherfeld geschrieben werden. Die Speicherfeld-Steuerschaltkreisanordnung unterbricht die Programmoperation beim Empfang des Unterbrechungssignals.
  • Weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus den beigefügten Zeichnungen und der nachstehend folgenden genauen Beschreibung deutlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Es zeigen:
  • 1 eine dem Stand der Technik entsprechende Darstellung eines Flash-EPROM;
  • 2 ein dem Stand der Technik entsprechendes Blockdiagramm des Befehlsregisters und der Speicherfeld-Steuerschaltkreisanordnung des Flash-EPROM;
  • 3 eine dem Stand der Technik entsprechende Darstellung eines Systems, das ein Flash-EPROM, einen Prozessor und einen flüchtigen Speicher umfasst, die über einen Bus miteinander verbunden sind;
  • 4 ein dem Stand der Technik entsprechendes System, das ein EEPROM zum Speichern von Daten verwendet;
  • 5 ein weiteres dem Stand der Technik entsprechendes System, das ein EEPROM zum Speichern von Code verwendet;
  • 6 ein Blockdiagramm des Befehlsregisters und der Speicherfeld-Steuerschaltkreisanordnung im Einsatz in einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 7 ein Blockdiagramm eines weiteren Ausführungsbeispiels des Befehlsregisters und der Speicherfeld-Steuerschaltkreisanordnung;
  • 8a ein Blockdiagramm eines Systems, das einen Prozessor, einen SRAM/DRAM-Speicher und ein Flash-EPROM aufweist, die über einen Bus miteinander verbunden sind;
  • 8b den Inhalt des SRRM/DRAM-Speichers aus 8a;
  • 8c den Inhalt des Flash-EPROM aus 8a;
  • 9 ein Flussdiagramm mit beispielhaften Schritten eines Systems mit der Konfiguration gemäß den Abbildungen aus den 8a, 8b und 8c; und
  • 10 ein Flussdiagramm, das veranschaulicht, dass unter Verwendung einer Verschachtelungstechnik mehrere Operationen unterbrochen werden können.
  • GENAUE BESCHREIBUNG
  • Beschrieben werden ein Verfahren und eine Vorrichtung zur Unterbrechung einer Programmoperation bzw. eines Programmablaufs in einem nichtflüchtigen, beschreibbaren Speicher zum Lesen von Code aus dem nichtflüchtigen, beschreibbaren Speicher. In der genauen Beschreibung werden zwar Ausführungsbeispiele beschrieben, bei denen ein Flash-EPROM verwendet wird, jedoch kann die vorliegende Erfindung auch in Verbindung mit jedem anderen nichtflüchtigen, beschreibbaren Speicher verwendet werden, wozu unter anderem die folgenden Speicher zählen: EPROMs, EEPROMs und Flash-Speicher, einschließlich Technologien wie NOR, NAND, AND, Divided bit-line NOR (DINOR) und ferroelektrischer Direktzugriffsspeicher (FRAM).
  • Die Abbildung aus 6 zeigt ein Blockdiagramm des Befehlsregisters 120 und der Speicherfeld-Steuerschaltkreisanordnung 140 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • Der Befehlsdecodierer 170 decodiert die folgenden Befehle: (1) Löschen, (2) Löschunterbrechung, (3) Löschwiederaufnahme, (4) Programmieren, (5) Programmunterbrechung, (6) Programmwiederaufnahme, (7) Lesen und (8) Status lesen. Der Befehlsdecodierer sieht den decodierten Befehl über Signalleitungen 172an an einen entsprechenden Befehlssignalspeicher 176an vor. Die Befehlssignalspeicher werden unter Verwendung des Schreibfreigabe-Anschlussstifts 130 (WE#) gesperrt.
  • Der Löschsignalspeicher 176a ist über die Signalleitung 178a mit der Löschschaltkreisanordnung 190 gekoppelt. Der Löschvorgangs-Unterbrechungssignalspeicher 176b ist über die Signalleitung 178b mit der Löschvorgangs-Unterbrechungsschaltkreisanordnung 192 der Löschschaltkreisanordnung 190 gekoppelt.
  • Der Programmsignalspeicher 176d ist über die Signalleitung 178d mit der Programmschaltkreisanordnung 194 gekoppelt. Der Programmunterbrechungs-Signalspeicher 176e ist über die Signalleitung 178e mit der Programmunterbrechungs- Schaltkreisanordnung 195 der Programmschaltkreisanordnung 194 gekoppelt.
  • Der Lesesignalspeicher 176m ist über die Signalleitung 178m mit der Leseschaltkreisanordnung 196 gekoppelt, und der Statuslese-Signalspeicher 176n ist über die Signalleitung 178n mit der Statuslese-Schaltkreisanordnung 198 gekoppelt. Die Statuslese-Schaltkreisanordnung 198 ist mit dem Statusregister 142 gekoppelt, das so gekoppelt ist, dass es eine Statusausgabe an die Daten-E/A- und RY/BY#-Anschlussstifte vorsieht.
  • Die Speicherfeld-Steuerschaltkreisanordnung 140 ist so gekoppelt, dass sie ein oder mehrere Befehlsrücksetzsignale 148 an den Befehlsdecodierer 170 zum Löschen der Befehlssignalspeicher 176an vorsieht. Der Befehlsdecodierer verwendet die Befehlsrücksetzsignale 148 zum Löschen der Befehlssignalspeicher 176an über BefehlssignalspeicherRücksetzsignale 174an. In einem Ausführungsbeispiel sind einzelne Befehlssignalspeicher-Rücksetzsignale mit jedem Befehlssignalspeicher 176an gekoppelt, so dass jeder Befehlssignalspeicher 176an einzeln gelöscht werden kann. In einem anderen Ausführungsbeispiel ist ein Befehlssignalspeicher-Rücksetzsignal mit allen Befehlssignalspeichern gekoppelt.
  • Wenn ein Programmunterbrechungsbefehl in den Befehlsdecodierer geschrieben wird, sieht der Befehlsdecodierer einen Programmunterbrechungsbefehl an den Programmunterbrechungs-Signalspeicher 176e vor. Wenn ein Programmwiederaufnahmebefehl an den Befehlsdecodierer geschrieben wird, löscht der Befehlsdecodierer 170 den Programmunterbrechungs- Signalspeicher 176e durch Annahme des Befehlssignalspeicher-Rücksetzsignals 174e.
  • In einem Ausführungsbeispiel handelt es sich bei dem Programmunterbrechungsbefehl und dem Programmwiederaufnahmebefehl um den gleichen Befehl, wobei die Befehle abhängig von dem zeitlichen Auftreten derselben unterschieden werden können. Jedes Mal, wenn der Programmunterbrechungs-/Programmwiederaufnahmebefehl an den Befehlsdecodierer geschrieben wird, wechselt der Befehlsdecodierer zwischen dem Vorsehen eines Programmunterbrechungsbefehls 176e oder dem Löschen des Programmunterbrechungs-Signalspeichers 17be.
  • In einem anderen Ausführungsbeispiel wird ein einziger Unterbrechungsbefehl sowohl für Programmunterbrechungen als auch für Löschvorgangsunterbrechungen verwendet. Ein Programmunterbrechungsbefehl und ein Löschvorgangs-Unterbrechungsbefehl unterscheiden sich voneinander durch ihr zeitliches Auftreten Wenn ein Löschvorgang ausgeführt wird, während der Unterbrechungsbefehl an den Befehlsdecodierer geschrieben wird, so wird eine Löschvorgangsunterbrechung ausgeführt. Wenn ein Programmbetrieb ausgeführt wird, wenn der Unterbrechungsbefehl an den Befehlsdecodierer geschrieben wird, so wird eine Programmunterbrechung ausgeführt. Ferner können die Befehle zur Programmwiederaufnahme sowie zur Wiederaufnahme des Löschvorgangs ebenso gleich sein wie die Programmunterbrechungs-/Löschvorgangsunterbrechungsbefehle. Der Befehlsdecodierer 122 speichert die letzte unterbrochene Operation. Wenn der Befehl "Unterbrechungs-Wiederaufnahme" an den Befehlsdecodierer geschrieben wird, während eine angehaltene oder nicht-unterbrechungsfähige Operation ausgeführt wird, wird die letzte unterbrochene Operation wiederaufgenommen. Unterbrochene Operationen können verschachtelt sein, wie dies nachstehend in Bezug auf die Abbildung aus 10 näher beschrieben wird.
  • Die Speicherfeld-Steuerschaltkreisanordnung 140 interpretiert die an die Schaltkreisanordnung vorgesehenen Befehlssignale 178an und führt eine entsprechende Operation als Reaktion auf die Befehlssignale aus. Die Speicherfeld-Steuerschaltkreisanordnung 140 weist eine Programmunterbrechungs-Schaltkreisanordnung 195 zur Unterbrechung einer Programmoperation des Speicherfelds 150 auf. Die Speicherfeld-Steuerschaltkreisanordnung 140 weist ferner eine dem Stand der Technik entsprechende Löschvorgangs-Unterbrechungsschaltkreisanordnung 192 zur Unterbrechung eines Löschvorgangs des Speicherfelds 150 auf. Die Speicherfeld-Steuerschaltkreisanordnung weist eine Einrichtung zum Speichern des Zustands des unterbrochenen Nicht-Lesevorgangs auf, so dass der Nicht-Lesevorgang später wiederaufgenommen werden kann. Zu den Nicht-Leseoperationen zählen in der folgenden Erläuterung Programmoperationen und Löschoperationen. In einem alternativen Ausführungsbeispiel können jedoch auch andere Arten von Operationen unterbrochen werden, wie etwa Befehlsoperationen und Statusabrufoperationen.
  • Eine Programmunterbrechungsoperation beendet ihre Unterbrechung einer Programmoperation innerhalb eines vorbestimmten Zeitraums, so dass ein Lesevorgang mit einer spezifizierten Latenzzeit ausgeführt werden kann. Der Programmunterbrechungsvorgang wird durch das Schreiben eines Programmunterbrechungsbefehls an den Befehlsdecodierer 170 eingeleitet. In einem Ausführungsbeispiel ist die Programmunterbrechung innerhalb von 7 Mikrosekunden abgeschlossen. Nach diesem vorbestimmten Zeitraum können andere Operationen an dem Flash-EPROM ausgeführt werden.
  • In ähnlicher Weise wird die Löschvorgangs-Unterbrechungsoperation innerhalb eines vorbestimmten Zeitraums abgeschlossen. Die Löschvorgangs-Unterbrechungsoperation kann durch das dem Stand der Technik entsprechende Verfahren des Schreibens eines Löschvorgangs-Unterbrechungsbefehls an den Befehlsdecodierer 122 eingeleitet werden. In einem Ausführungsbeispiel erfolgt die Unterbrechung des Löschvorgangs vollständig innerhalb von 20 Mikrosekunden. Nach diesem vorbestimmten Zeitraum können andere Operationen ausgeführt werden.
  • In einem Ausführungsbeispiel ist es möglich zu bestimmen, ob eine Programmoperation oder eine Löschoperation ausgeführt wird, indem auf den Status des Flash-EPROM unter Verwendung des Statuslesebefehls zugegriffen wird. Der Status kann auch durch den RY/BY#-Anschlussstift 162 bestimmt werden, wie dies vorstehend im Text beschrieben worden ist. Alternativ kann ein separater Anschlussstift verwendet werden, um anzuzeigen, ob eine Programmoperation oder ein Löschvorgang ausgeführt wird.
  • Die Abbildung aus 7 zeigt ein Blockdiagramm eines weiteren Ausführungsbeispiels des Befehlsregisters 120 und der Speicherfeld-Steuerschaltkreisanordnung 140. Das Befehlsregister 120 aus der Abbildung aus 7 ist dem Register aus 6 ähnlich, mit der Ausnahme, dass der Befehlsdecodierer aus 7 einen Löschvorgangswiederaufnahme-Signalspeicher 176c und einen Programmwiederaufnahme-Signalspeicher 176e aufweist. Der Löschvorgangswiederaufnahme-Signalspeicher 176 entspricht dem Stand der Technik.
  • Der Löschvorgangswiederaufnahme-Signalspeicher 176c empfängt ein decodiertes Befehlssignal von dem Befehlsdecodierer 170 über die Signalleitung 172c. Der Löschvorgangswiederaufnahme-Signalspeicher 176c wird bei Geltendmachung des WE#-Anschlussstifts 130 gesperrt. Der Löschvorgangswiederaufnahme-Signalspeicher 176c ist über die Signalleitung 178c mit der Löschvorgangsunterbrechungs-Schaltkreisanordnung 192 der Löschschaltkreisanordnung 190 gekoppelt. Ein Befehlssignalspeicher-Rücksetzsignal 174c wird von dem Befehlsdecodierer 170 an den Löschvorgangswiederaufnahme-Signalspeicher 176c vorgesehen.
  • Der Programmwiederaufnahme-Signalspeicher 176f empfängt ein decodiertes Befehlssignal von dem Befehlsdecodierer 170 über die Signalleitung 172f. Der Programmwiederaufnahme-Signalspeicher 176f wird bei Geltendmachung des WE#-Anschlussstifts 130 gesperrt. Der Programmwiederaufnahme-Signalspeicher 176f ist über die Signalleitung 178f mit der Programmunterbrechungs-Schaltkreisanordnung 195 der Programmschaltkreisanordnung 194 gekoppelt. Ein Befehlssignalspeicher-Rücksetzsignal 174f wird von dem Befehlsdecodierer 170 an den Programmwiederaufnahme-Signalspeicher 176f vorgesehen.
  • Der Programmunterbrechungs-Signalspeicher 176e sieht ein Signal an die Programmunterbrechungs-Schaltkreisanordnung 195 vor, um einen Programmablauf zu unterbrechen, und der Programmwiederaufnahme-Signalspeicher 17bf sieht ein Signal an die Programmunterbrechungs-Schaltkreisanordnung 195 vor, um den unterbrochenen Programmablauf wiederaufzunehmen.
  • Die Abbildung aus 8a zeigt ein Blockdiagramm eines Systems mit einem Prozessor 400, einem SRAM/DRAM-Speicher 405 und einem Flash-EPROM 410, die über einen Bus 108 miteinander gekoppelt sind. Eine Systemunterbrechung 200 ist so gekoppelt, dass sie eine Eingabe in den Prozessor 400 vorsieht. In einem anderen Ausführungsbeispiel sind der SRAM/DRAM-Speicher 405 und das Flash-EPROM 410 über verschiedene Busse mit dem Prozessor 400 gekoppelt. Die Abbildung aus 8b zeigt den Inhalt des SRAM/DRAM-Speichers 405 aus 8a, und die Abbildung aus 8c zeigt den Inhalt des Flash-EPROM 410 aus 8a.
  • Der SRAM/DRAM-Speicher 405 weisen einen Datenpuffer-Speicherbereich 420 auf. Der Datenpuffer-Speicherbereich wird zum vorübergehenden Speichern von Daten verwendet, bevor diese in einem Datenbereich 430 des Flash-EPROM 410 gespeichert werden. Der temporäre Puffer ermöglicht es, dass Daten verhältnismäßig schnell in den SRAM/DRAM-Speicher 405 geschrieben und danach zu dem Flash-EPROM 410 geschrieben werden, wenn der Zeitpunkt dafür gegeben ist.
  • Der SRAM/DRAM-Speicher 405 weist ferner eine Unterbrechungsbehandlungsroutine 422 auf. Die Unterbrechungsbehandlungsroutine 422 sieht für den Prozessor 400 als Reaktion auf eine Systemunterbrechung 200 Code vor.
  • Das Flash-EPROM 410 weist einen Datenbereich 430, einen Reserveblockbereich 432 und einen Codebereich 434 auf. Der Reserveblockbereich wird für ein dem Stand der Technik entsprechende Blockverwaltung eingesetzt. Der Codebereich wird zum Speichern verschiedener Routinen verwendet, die durch den Prozessor 400 ausgeführt werden können.
  • In einem Ausführungsbeispiel beträgt die Größe des SRAM/DRAM 1 Mbit oder 128 KB, wobei die Größe des Flash-EPROM 8 Mbit entspricht.
  • Die Abbildung aus 9 zeigt ein Flussdiagramm beispielhafter Schritte eines Systems mit der Konfiguration gemäß den Abbildungen der 8a, 8b und 8c. Das Flussdiagramm beginnt mit dem Block 500, wobei der Prozessor eine Programmoperation ausführt. Auf Block 500 folgt im Ablauf der Block 502, in dem der Prozessor ein Systemunterbrechungssignal 200 empfängt. In dem Block 504 führt der Prozessor eine Codeerfassung von der Unterbrechungsbehandlungsroutine 422 aus. In einem Ausführungsbeispiel wird die Unterbrechungsbehandlungsroutine in dem SRAM/DRAM-Speicher 405 gespeichert. In einem anderen Ausführungsbeispiel wird die Unterbrechungsbehandlungsroutine in dem Prozessor gespeichert, wie etwa in dem Cache-Speicher oder in einem internen ROM-Speicher. Die Unterbrechungsbehandlungsroutine weist Anweisungen zur Erzeugung eines Programmunterbrechungsbefehls an das Flash-EPROM 410 auf. Der Prozessor 400 führt die Unterbrechungsbehandlungsroutine 422 aus und erzeugt in dem Block 506 den Programmunterbrechungsbefehl an das Flash-EPROM.
  • Der Ablauf fährt mit Block 508 fort, in dem der Programmablauf unterbrochen wird, der durch das Flash-EPROM ausgeführt worden ist. Eine oder mehrere Codeerfassungen werden in dem Block 510 aus dem Flash-EPROM-Codebereich 434 ausgeführt. Andere Operationen in dem Flash-EPROM werden optional ebenfalls ausgeführt, während der Programmablauf unterbrochen ist. Der Ablauf fährt mit dem Block 512 fort, wobei der Prozessor einen Programmwiederaufnahmebefehl an das Flash-EPROM erzeugt. Der Prozessor 400 erzeugt den Programmwiederaufnahmebefehl und in dem Block 514 wird der Programmablauf wiederaufgenommen. Das Flussdiagramm endet mit dem Block 520.
  • Somit wird in Bezug auf die Abbildungen der 8a, 8b, 8c und 9 ein Verfahren zur Unterbrechung eines Programmablaufs unter Verwendung einer Unterbrechungsbehandlungsroutine und eines Programmunterbrechungsbefehls beschrieben.
  • Bei der Abbildung aus 10 handelt es sich um ein Flussdiagramm, das zeigt, dass unter Verwendung einer Verschachtelungstechnik mehrere Operationen unterbrochen werden können. Das Flussdiagramm beginnt mit Block 600. Der Ablauf fährt mit Block 602 fort, wobei der erste Nicht-Lesevorgang beginnt. In einem Ausführungsbeispiel kann als erste (oder äußere) verschachtelte unterbrochene Operation nur der Löschvorgang unterbrochen werden. In dem vorliegenden Ausführungsbeispiel weist der Löschvorgang eine verhältnismäßig niedrige Priorität auf, sodass alle anderen bevorrechtigt behandelt werden können. Der Programmablauf weist eine höhere Priorität auf, sodass er nur von bestimmten Operationen bevorrechtigt werden kann. In einem anderen Ausführungsbeispiel kann es sich bei dem äußeren verschachtelten, unterbrochenen Vorgang um einen Löschvorgang, eine Programmoperation, eine Statusleseoperation oder eine Befehlsoperation handeln.
  • In dem Block 604 wird der erste Nicht-Lesevorgang unterbrochen. Eingeleitet wird die Unterbrechung durch Schreiben eins Unterbrechungsbefehls an den Befehlsdecodierer 170. Der unterbrochene Vorgang wird erst wiederaufgenommen, wenn während dem unterbrochenen Vorgang eingeleitete Operationen abgeschlossen worden sind. In einem Ausführungsbeispiel geht das RY/BY#-Signal in einen hohen Zustand über, um anzuzeigen, dass der Flash-Speicher bereit ist. Ein Bit in dem Statuswort, auf das über den Statuslesebefehl zugegriffen wird, zeigt dabei an, dass eine Operation unterbrochen worden ist. In einem Ausführungsbeispiel weist das Statuswort ein Bit auf, das anzeigt, dass ein Programmablauf unterbrochen worden ist, und wobei ein anderes Bit anzeigt, ob die Schreibzustandsvorrichtung beschäftigt ist bzw. arbeitet.
  • In dem Block 606 können eine oder mehrere andere Operationen ausgeführt werden. In einem Ausführungsbeispiel sind nach der Unterbrechung des ersten Nicht-Lesevorgangs nur bestimmte Operationen zulässig. Wenn zum Beispiel ein Löschvorgang unterbrochen worden ist, dann sind nur die folgenden Operationen zulässig: Lesen, Programmieren, Programmierungsunterbrechung, Programmierungswiederaufnahme, Status lesen und Löschvorgang wiederaufnehmen.
  • In dem Block 608 beginnt ein zweiter Nicht-Lesevorgang. In einem Ausführungsbeispiel handelt es sich bei dem zweiten Nicht-Lesevorgang um eine Programmoperation. Das RY/BY#-Signal wechselt auf einen niedrigen Wert, um anzuzeigen, dass der Flash-Speicher belegt ist.
  • Der Ablauf fährt mit dem Block 610 fort, wobei der zweite Nicht-Lesevorgang unterbrochen wird. Das RY/BY#-Signal wechselt auf einen hohen Wert, um anzuzeigen, dass der Flash-Speicher bereit ist.
  • In dem Block 612 können eine oder mehrere Operationen ausgeführt werden. In einem Ausführungsbeispiel sind nur bestimmte Operationen zulässig, während ein Programmablauf unterbrochen ist. In einem Ausführungsbeispiel handelt es sich bei den einzig zulässigen Operationen um die Vorgänge Lesen, Status lesen und Programmwiederaufnahme.
  • In dem Block 614 wird der zweite Nicht-Lesevorgang wiederaufgenommen. Dies wird durch Schreiben eines Wiederaufnahmebefehls an den Befehlsdecodierer 170 erreicht. Die den Blöcken 610614 entsprechenden Schritte können während dem zweiten Nicht-Lesevorgang mehrfach ausgeführt werden.
  • In dem Block 616 wird der zweite Nicht-Lesevorgang abgeschlossen. Der Ablauf fährt mit dem Block 618 fort, in dem eine oder mehrere Operationen ausgeführt werden können.
  • In dem Block 620 wird der erste Nicht-Lesevorgang durch Schreiben eines Wiederaufnahmebefehls an den Befehlsdecodierer 170 wiederaufgenommen. Die den Blöcken 604620 entsprechenden Schritte können während dem ersten Nicht-Lesevorgang mehrfach ausgeführt werden.
  • In dem Block 622 wird der erste Nicht-Lesevorgang abgeschlossen. Das Flussdiagramm endet mit dem Block 630.
  • Neben den in der genauen Beschreibung beschriebenen Ausführungsbeispielen unter Verwendung eines Flash-EPROM kann die Erfindung auch in Verbindung mit jedem anderen nichtflüchtigen, beschreibbaren Speicher verwendet werden, wozu unter anderem die folgenden Speicher zählen: EPROMs, EEPROMs und Flash-Speicher, einschließlich Technologien wie NOR, NAND, AND, Divided bit-line NOR (DINOR) und ferroelektrischer Direktzugriffsspeicher (FRAM).
  • In der vorstehenden Beschreibung wurde die Erfindung in Beug auf bestimmte Ausführungsbeispiele der vorliegenden Erfindung beschrieben. Diesbezüglich ist es jedoch offensichtlich, dass verschiedene Modifikationen und Änderungen möglich sind, ohne dabei vom weiteren Umfang der vorliegenden Erfindung gemäß den Ausführungen in den anhängigen Ansprüchen abzuweichen. Die Beschreibung und die Zeichnungen dienen somit den Zwecken der Veranschaulichung und schränken die Erfindung nicht ein.

Claims (5)

  1. Verfahren zum Lesen von Code aus einem nichtflüchtigen Speicher (410) in einem System, das einen Prozessor (400) umfasst, der mit einem nichtflüchtigen Speicher (410) und einem flüchtigen Speicher (405) gekoppelt ist, wobei eine Unterbrechungsbehandlungseinrichtung (422) in dem flüchtigen Speicher (405) gespeichert ist, wobei das genannte Verfahren gekennzeichnet ist durch: (a) Empfangen eines Unterbrechungssignals; (b) Abrufen eines Unterbrechungscodes von der Unterbrechungsbehandlungseinrichtung (422) als Reaktion auf den Empfang des Unterbrechungssignals, wobei der Unterbrechungscode einen oder mehrere Befehle zum Vorsehen eines Programmunterbrechungsbefehls an den nichtflüchtigen Speicher (410) aufweist; (c) Vorsehen eines Programmunterbrechungsbefehls an den nichtflüchtigen Speicher (410) als Reaktion auf das Unterbrechungssignal; (d) Unterbrechen eines Programmablaufs, der in dem nichtflüchtigen Speicher (410) ausgeführt wird; (e) Lesen von Code aus dem nichtflüchtigen Speicher (410); (f) Vorsehen eines Programmwiederaufnahmebefehls an den nichtflüchtigen Speicher (410); und (g) Wiederaufnehmen des Programmablaufs.
  2. Verfahren nach Anspruch 1, wobei das Verfahren ferner den folgenden Schritt aufweist: (h) Ausführen des Codelesevorgangs aus dem nichtflüchtigen Speicher (410).
  3. System zum Lesen von Code aus einem nichtflüchtigen Speicher (410), der mit einem Prozessor gekoppelt ist und einem flüchtigen Speicher, wobei eine Unterbrechungsbehandlungseinrichtung (422) in einem flüchtigen Speicher (405) gespeichert ist, wobei das System gekennzeichnet ist durch: eine Einrichtung zum Empfangen eines Unterbrechungssignals; eine Einrichtung zum Abrufen eines Unterbrechungscodes von der Unterbrechungsbehandlungseinrichtung (422) als Reaktion auf den Empfang des Unterbrechungssignals, wobei der Unterbrechungscode einen oder mehrere Befehle zum Vorsehen eines Programmunterbrechungsbefehls an den nichtflüchtigen Speicher (410) aufweist; eine Einrichtung zum Vorsehen eines Programmunterbrechungsbefehls an den nichtflüchtigen Speicher (410) als Reaktion auf das Unterbrechungssignal; eine Einrichtung zum Unterbrechen eines Programmablaufs, der in dem nichtflüchtigen Speicher ausgeführt wird; eine Einrichtung zum Lesen von Code aus dem nichtflüchtigen Speicher (410); eine Einrichtung zum Vorsehen eines Programmwiederaufnahmebefehls an den nichtflüchtigen Speicher (410); und eine Einrichtung zur Wiederaufnahme des Programmablaufs.
  4. System nach Anspruch 3, wobei ferner eine Einrichtung zum Ausführen des Codelesevorgangs aus dem nichtflüchtigen Speicher (410) vorgesehen ist.
  5. Verfahren zum Lesen von Code aus einem nichtflüchtigen Speicher (410), der mit einen Prozessor (400) gekoppelt ist und mit einem flüchtigen Speicher (405), der eine Unterbrechungsbehandlungseinrichtung (422) speichert, wobei das genannte Verfahren gekennzeichnet ist durch: (a) Empfangen eines Unterbrechungssignals; (b) Abrufen eines Unterbrechungscodes von der Unterbrechungsbehandlungseinrichtung (422) als Reaktion auf den Empfang des Unterbrechungssignals, wobei der Unterbrechungscode einen oder mehrere Befehle zum Vorsehen eines Programmunterbrechungsbefehls an den nichtflüchtigen Speicher (410) aufweist; (c) Vorsehen eines Programmunterbrechungsbefehls an den nichtflüchtigen Speicher (410) als Reaktion auf das Unterbrechungssignal; (d) Unterbrechen eines Programmablaufs, der in dem nichtflüchtigen Speicher (410) ausgeführt wird, als Reaktion auf den Unterbrechungsbefehl; (e) Unterbrechen eines Löschvorgangs, der in dem nichtflüchtigen Speicher (410) ausgeführt wird, als Reaktion auf den Unterbrechungsbefehl; (f) Lesen von Code aus dem nichtflüchtigen Speicher (410); (g) Vorsehen eines Programmwiederaufnahmebefehls an den nichtflüchtigen Speicher (410); (h) Vorsehen eines Löschvorgangs-Wiederaufnahmebefehls an den nichtflüchtigen Speicher (410); (i) Wiederaufnehmen des Löschvorgangs; und (j) Wiederaufnehmen des Programmablaufs.
DE69726304T 1996-09-20 1997-09-18 Nichtflüchtiger schreibbarer speicher mit programmierungsaufhebungsbefehl Expired - Lifetime DE69726304T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/718,216 US6148360A (en) 1996-09-20 1996-09-20 Nonvolatile writeable memory with program suspend command
US718216 1996-09-20
PCT/US1997/016765 WO1998012704A2 (en) 1996-09-20 1997-09-18 Nonvolatile writeable memory with program suspend command

Publications (2)

Publication Number Publication Date
DE69726304D1 DE69726304D1 (de) 2003-12-24
DE69726304T2 true DE69726304T2 (de) 2004-04-22

Family

ID=24885252

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69726304T Expired - Lifetime DE69726304T2 (de) 1996-09-20 1997-09-18 Nichtflüchtiger schreibbarer speicher mit programmierungsaufhebungsbefehl

Country Status (9)

Country Link
US (2) US6148360A (de)
EP (1) EP0931289B1 (de)
KR (1) KR100328426B1 (de)
CN (1) CN1137440C (de)
AU (1) AU4428997A (de)
DE (1) DE69726304T2 (de)
HK (1) HK1021761A1 (de)
TW (1) TW365659B (de)
WO (1) WO1998012704A2 (de)

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011318A1 (en) * 1997-02-27 2001-08-02 Vishram P. Dalvi Status indicators for flash memory
US6081870A (en) * 1997-11-06 2000-06-27 Micron Technology, Inc. Method and apparatus to achieve fast suspend in flash memories
KR100257868B1 (ko) * 1997-12-29 2000-06-01 윤종용 노어형 플래시 메모리 장치의 소거 방법
US6330638B1 (en) * 1998-09-18 2001-12-11 Agere Systems Guardian Corp. Synchronous audio DRAM storing audio and code data
EP1703520B1 (de) 1999-02-01 2011-07-27 Renesas Electronics Corporation Integrierte Halbleiterschaltung und nichtflüchtiges Speicherelement
EP1073063A1 (de) 1999-07-30 2001-01-31 STMicroelectronics S.r.l. Nichtflüchtiger Speicher mit die funktioneller Fähigkeit von Burst- und Seitenmoduslesung während der Aufhängung einer elektrischen Veränderungswirkung
US6407949B1 (en) 1999-12-17 2002-06-18 Qualcomm, Incorporated Mobile communication device having integrated embedded flash and SRAM memory
US7080205B2 (en) 2000-03-29 2006-07-18 Fujitsu Siemens Computer Gmbh Arrangement and method for reducing the processing time of a data processing device
DE10015693A1 (de) * 2000-03-29 2001-10-18 Fujitsu Siemens Computers Gmbh Anordnung und Verfahren zur Reduzierung der Interruptverarbeitungszeit einer Datenverarbeitungseinrichtung
US6418059B1 (en) 2000-06-26 2002-07-09 Intel Corporation Method and apparatus for non-volatile memory bit sequence program controller
WO2002067268A1 (en) * 2001-02-20 2002-08-29 Micron Technology, Inc. Write state machine architecture for flash memory internal instructions
ITMI20010342A1 (it) * 2001-02-20 2002-08-20 Micron Technology Inc Sistema di memoria non volatile per memorizzare valori di dati
WO2002073622A1 (fr) * 2001-03-09 2002-09-19 Thomson Licensing S.A. Dispositif electronique a memoire et procedes de commande d"un tel dispositif
US6879522B2 (en) * 2001-03-12 2005-04-12 Micron Technology, Inc. Method for making a memory device with plural substrates each having a memory array, a read only memory, and a write state machine
US7062616B2 (en) * 2001-06-12 2006-06-13 Intel Corporation Implementing a dual partition flash with suspend/resume capabilities
WO2003092166A1 (en) * 2002-04-25 2003-11-06 Kashya Israel Ltd. An apparatus for continuous compression of large volumes of data
KR100506061B1 (ko) * 2002-12-18 2005-08-03 주식회사 하이닉스반도체 특성 조정 장치를 부가한 메모리 장치
US6930925B2 (en) * 2003-10-14 2005-08-16 Atmel Corporation Suspend-resume programming method for flash memory
US7158411B2 (en) * 2004-04-01 2007-01-02 Macronix International Co., Ltd. Integrated code and data flash memory
KR101051703B1 (ko) 2004-08-09 2011-07-25 삼성전자주식회사 서스펜드/리쥼 기능을 갖는 집적 회로 카드 및 집적 회로카드 시스템
US20060053247A1 (en) * 2004-09-08 2006-03-09 Hugo Cheung Incremental erasing of flash memory to improve system performance
ITMI20041904A1 (it) * 2004-10-07 2005-01-07 Atmel Corp "metodo e sistema per un approccio di programmazione per un dispositivo elettronico non volatile"
ITMI20050063A1 (it) * 2005-01-20 2006-07-21 Atmel Corp Metodo e sistema per la gestione di una richiesta di sospensione in una memoria flash
WO2006078744A2 (en) * 2005-01-20 2006-07-27 Atmel Corporation Method and system for managing a suspend request in a flash memory
KR100687424B1 (ko) * 2005-08-29 2007-02-26 주식회사 하이닉스반도체 비휘발성 메모리 장치
US7881123B2 (en) * 2005-09-23 2011-02-01 Macronix International Co., Ltd. Multi-operation mode nonvolatile memory
KR100673027B1 (ko) * 2006-01-31 2007-01-24 삼성전자주식회사 고온 스트레스로 인해 감소된 읽기 마진을 보상할 수 있는불 휘발성 메모리 장치
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8060806B2 (en) * 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) * 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
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
US8370562B2 (en) * 2007-02-25 2013-02-05 Sandisk Il Ltd. Interruptible cache flushing in flash memory systems
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) * 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
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
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
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
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
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
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
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
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
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
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. 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
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for 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
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
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
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
CN101630300B (zh) * 2009-05-18 2014-09-10 上海闻泰电子科技有限公司 一种利用sram总线扩展t卡的方法
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
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
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
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
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
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
KR20120082292A (ko) * 2011-01-13 2012-07-23 에스케이하이닉스 주식회사 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
US9076528B2 (en) * 2011-05-31 2015-07-07 Micron Technology, Inc. Apparatus including memory management control circuitry and related methods for allocation of a write block cluster
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US9007841B1 (en) 2013-10-24 2015-04-14 Western Digital Technologies, Inc. Programming scheme for improved voltage distribution in solid-state memory
KR102226367B1 (ko) 2014-01-02 2021-03-12 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 불휘발성 메모리 시스템
KR102187637B1 (ko) * 2014-02-03 2020-12-07 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 소거 방법
CN107004443A (zh) * 2014-08-22 2017-08-01 阿拉克瑞蒂半导体公司 用于存储器编程的方法和设备
CN111857814A (zh) * 2015-05-18 2020-10-30 北京忆芯科技有限公司 执行微指令的存储控制器
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
KR102312404B1 (ko) * 2015-09-07 2021-10-13 에스케이하이닉스 주식회사 저장 장치 및 이의 동작 방법
KR102314137B1 (ko) * 2015-11-04 2021-10-18 삼성전자 주식회사 리커버리 동작을 선택적으로 수행하는 불휘발성 메모리 장치 및 그 동작방법
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
KR102639697B1 (ko) 2017-01-09 2024-02-21 삼성전자주식회사 비휘발성 메모리 장치 및 그 프로그램 방법
KR102447465B1 (ko) 2017-09-08 2022-09-27 삼성전자주식회사 호스트로부터의 읽기 요청에 대한 짧은 읽기 응답 시간을 제공하기 위해 내부 동작을 일시적으로 중단하는 스토리지 장치
KR102420161B1 (ko) 2017-12-01 2022-07-12 삼성전자주식회사 메모리 컨트롤러 및 그것의 제어 방법
CN111863096B (zh) * 2019-04-29 2022-08-30 北京兆易创新科技股份有限公司 一种NOR flash存储器读数据的方法和装置
KR20210012818A (ko) * 2019-07-26 2021-02-03 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
JP2021022414A (ja) * 2019-07-29 2021-02-18 キオクシア株式会社 半導体記憶装置
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
US11626163B2 (en) * 2021-09-02 2023-04-11 Micron Technology, Inc. Program voltage step based on program-suspend time

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3318123A1 (de) * 1983-05-18 1984-11-22 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung mit einem datenspeicher und einer ansteuereinheit zum auslesen, schreiben und loeschen des speichers
JPS61169941A (ja) * 1985-01-22 1986-07-31 Sony Corp 記憶装置
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
EP0376285B1 (de) * 1988-12-27 1994-03-09 Nec Corporation Mikrorechner mit einem elektrisch löschbaren und programmierbaren nichtflüchtigen Speicher
JP2636449B2 (ja) * 1988-12-27 1997-07-30 日本電気株式会社 マイクロコンピュータ
US4965828A (en) * 1989-04-05 1990-10-23 Quadri Corporation Non-volatile semiconductor memory with SCRAM hold cycle prior to SCRAM-to-E2 PROM backup transfer
DE69033438T2 (de) * 1989-04-13 2000-07-06 Sandisk Corp Austausch von fehlerhaften Speicherzellen einer EEprommatritze
JPH04221496A (ja) * 1990-03-29 1992-08-11 Intel Corp 単一基板上に設けられるコンピュータメモリ回路およびコンピュータメモリを消去するためのシーケンスを終らせる方法
WO1992007317A1 (en) * 1990-10-12 1992-04-30 Intel Corporation Slow memory refresh in a computer with a limited supply of power
JP3408552B2 (ja) * 1991-02-11 2003-05-19 インテル・コーポレーション 不揮発性半導体メモリをプログラム及び消去する回路とその方法
US5355464A (en) * 1991-02-11 1994-10-11 Intel Corporation Circuitry and method for suspending the automated erasure of a non-volatile semiconductor memory
US5255314A (en) * 1991-03-29 1993-10-19 At&T Bell Laboratories Switch adjunct integration arrangement
US5542076A (en) * 1991-06-14 1996-07-30 Digital Equipment Corporation Method and apparatus for adaptive interrupt servicing in data processing system
JP2816062B2 (ja) * 1992-10-05 1998-10-27 株式会社東芝 メモリセルの情報の消去方法
US5351216A (en) * 1993-03-05 1994-09-27 Microchip Technology Incorporated Premature termination of microcontroller EEPROM write
US5353256A (en) * 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
US5509134A (en) * 1993-06-30 1996-04-16 Intel Corporation Method and apparatus for execution of operations in a flash memory array
US5424992A (en) * 1993-08-25 1995-06-13 Texas Instruments Incorporated, A Delaware Corporation Method and device for detecting and controlling an array source signal discharge for a memory erase operation
US5424993A (en) * 1993-11-15 1995-06-13 Micron Technology, Inc. Programming method for the selective healing of over-erased cells on a flash erasable programmable read-only memory device
JPH07153286A (ja) * 1993-11-30 1995-06-16 Sony Corp 半導体不揮発性記憶装置
JPH07226097A (ja) * 1994-02-15 1995-08-22 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US5742787A (en) * 1995-04-10 1998-04-21 Intel Corporation Hardware reset of a write state machine for flash memory
US5568644A (en) * 1995-05-05 1996-10-22 Apple Computer, Inc. Method and apparatus using a tree structure for the dispatching of interrupts
JPH09114678A (ja) * 1995-10-17 1997-05-02 Sanyo Electric Co Ltd マイクロコンピュータの割り込み処理装置
US5805929A (en) * 1996-01-29 1998-09-08 International Business Machines Corporation Multiple independent I/O functions on a PCMCIA card share a single interrupt request signal using an AND gate for triggering a delayed RESET signal
JPH09231065A (ja) * 1996-02-21 1997-09-05 Matsushita Electric Ind Co Ltd プログラム変更可能な電子制御装置
US5687121A (en) * 1996-03-29 1997-11-11 Aplus Integrated Circuits, Inc. Flash EEPROM worldline decoder

Also Published As

Publication number Publication date
KR100328426B1 (ko) 2002-03-16
EP0931289A4 (de) 2000-10-04
CN1137440C (zh) 2004-02-04
EP0931289B1 (de) 2003-11-19
US6148360A (en) 2000-11-14
EP0931289A2 (de) 1999-07-28
WO1998012704A2 (en) 1998-03-26
CN1238049A (zh) 1999-12-08
HK1021761A1 (en) 2000-06-30
WO1998012704A3 (en) 1998-06-04
KR20000036243A (ko) 2000-06-26
AU4428997A (en) 1998-04-14
TW365659B (en) 1999-08-01
US5937424A (en) 1999-08-10
DE69726304D1 (de) 2003-12-24

Similar Documents

Publication Publication Date Title
DE69726304T2 (de) Nichtflüchtiger schreibbarer speicher mit programmierungsaufhebungsbefehl
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
DE69034227T2 (de) EEprom-System mit Blocklöschung
DE4214184C2 (de) Computersystem mit einem nicht-flüchtigen Speicher und Verfahren zu dessen Aktualisierung
DE102005040226B4 (de) Nichtflüchtiges Speicherbauelement und Testverfahren
DE69814138T2 (de) Programmierbarer zugriffsschutz in einer flashspeicheranordnung
DE60132830T2 (de) Neuartiges verfahren und struktur zur effizienten datenverifizierungsoperation für nichtflüchtige speicher
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE102007061406A1 (de) Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speicherkarte
DE102017120826A1 (de) Verfahren und Vorrichtung zum Überwachen von Speicher unter Verwendung einer Hintergrundmedienabtastung
DE19782214A1 (de) Verbesserte Schnittstelle für Flash-Eeprom-Speicher-Arrays
DE102020200513A1 (de) Speichereinrichtung und verfahren zum betreiben derselben
EP1037140B1 (de) Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
DE112004002857T5 (de) Halbleitervorrichtung und Steuerverfahren für diese
DE102004018473A1 (de) Monolithische Lesen-beim-Schreiben-Flashspeicher-Vorrichtung
DE112019007385T5 (de) Verbesserte sicherheit und korrektheit beim lesen und programmieren von daten in einem nichtflüchtigen speichergerät
EP1628223B1 (de) Schreiben von Daten in einen nichtflüchtigen Speicher eines tragbaren Datenträgers
DE112004003009T5 (de) Nicht-flüchtiger Speicher und Verfahren zum Festlegen von Information eines Nicht-flüchtigen Speichers
EP1197854B1 (de) Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten
DE102004013493A1 (de) Zugriffs-Verfahren für einen NAND-Flash-Speicherbaustein und ein entsprechender NAND-Flash-Speicherbaustein
DE19612439C2 (de) Halbleiterspeichervorrichtung
EP1564754B1 (de) Verfahren und Vorrichtung zur Verwaltung von Daten in einem nichtflüchtigen Datenspeicher
EP1308842B1 (de) Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
EP1505536B1 (de) Speichern von Daten in einem nicht-flüchtigen Speicher eines tragbaren Datenträgers

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: HEYER, V., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 806