DE4422453C2 - Flash-Speicherbauelement - Google Patents

Flash-Speicherbauelement

Info

Publication number
DE4422453C2
DE4422453C2 DE4422453A DE4422453A DE4422453C2 DE 4422453 C2 DE4422453 C2 DE 4422453C2 DE 4422453 A DE4422453 A DE 4422453A DE 4422453 A DE4422453 A DE 4422453A DE 4422453 C2 DE4422453 C2 DE 4422453C2
Authority
DE
Germany
Prior art keywords
block
flash
write
status
flash memory
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 - Fee Related
Application number
DE4422453A
Other languages
English (en)
Other versions
DE4422453A1 (de
Inventor
Mickey L Fandrich
Salim B Fedel
Thomas C Price
Richard J Durante
Geoffrey A Gould
Timothy W Goodell
Scott M Doyle
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
Publication of DE4422453A1 publication Critical patent/DE4422453A1/de
Application granted granted Critical
Publication of DE4422453C2 publication Critical patent/DE4422453C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)

Description

Die vorliegende Erfindung bezieht sich auf ein Flash- Speicherbauelement mit einem Schreibschutz. Ferner betrifft die Erfindung ein Computersystem, das ein derartiges Flash- Speicherbauelement aufweist.
Ein Flash-Speicherbauelement enthält eine Flash-Zellen­ matrix für eine nicht-flüchtige Speicherung mit wahlfreiem Zugriff in einem Computersystem. Ein typisches Flash-Spei­ cherbauelement implementiert eine Schreib-Steuerschaltung zum Programmieren und Löschen ausgewählter Bereiche der Flash-Zellenmatrix. Die Schreib-Steuerschaltung program­ miert und löscht die Flash-Zellen durch Anlegen einer vor­ gegebenen Sequenz von Programmpegelspannungen an die Flash- Zellen. Eine typische Flash-Zellenmatrix ist in einen Satz von Flash-Zellenblöcken unterteilt. Die Schreib-Steuer­ schaltung kann in einer einzigen Operation einen ganzen Flash-Zellenblock programmieren/löschen oder einen Teil ei­ nes Flash-Zellenblocks programmieren/löschen.
Jedoch sind die in der Flash-Zellenmatrix gespeicherten Programme und Daten anfällig für unbeabsichtigte Program­ mier/Löschoperationen. Unbeabsichtigte Programmier/Lösch­ operationen können von einem Softwarefehler in dem Com­ putersystem verursacht werden. Außerdem können unbeab­ sichtigte Programmier/Löschoperationen durch Hardwarefehler in dem Computersystem ausgelöst werden. Eine unbeab­ sichtigte Programmier/Löschoperation kann in der Flash-Zel­ lenmatrix gespeicherte entscheidende Programme und Daten zerstören.
Bekannte Flash-Bauelemente haben Teile der Flash-Zel­ lenmatrix vor unbeabsichtigten Programmier/Löschoperationen dadurch geschützt, daß sie einen kleinen geschützten Be­ reich der Flash-Zellenmatrix der Speicherung von entschei­ denden Programmen und Daten zugewiesen haben. Der ge­ schützte Bereich der Flash-Zellenmatrix wird üblicherweise zum Schutz von Programmen und Daten für System-Start(Boot)- Operationen verwendet.
Beispielsweise beschreibt die US-Patentschrift 4,975,878 das Schützen eines Adreßbereichs eines EEPROM-Ar­ rays durch Speichern einer Adresse eines ersten zu schüt­ zenden Speicherplatzes in einem Schutzregister und Verglei­ chen der Adresse mit der nachfolgend empfangenen Adresse eines Schreib- oder Löschzugriffs und Verweigerung des Zu­ griffs, sofern die gespeicherte Adresse nicht größer als die Zugriffsadresse ist.
Bei anderen bekannten Flash-Bauelementen kann der ge­ schützte Bereich der Flash-Zellenmatrix gewöhnlich nicht programmiert oder gelöscht werden, falls nicht ein vorge­ wählter Pin des Flash-Bauelements auf einen hohen Span­ nungspegel getrieben wird. Beispielsweise wird bei einem gewöhnlichen 5-Volt-Flash-Bauelement eine Program­ mier/Löschoperation in dem geschützten Bereich durch Trei­ ben des vorgewählten Pins auf 12 V ermöglicht. Nachteili­ gerweise bieten diese bekannten Flash-Bauelemente gewöhn­ lich nur Schreibschutz für einen kleinen Bereich der Flash- Matrix. Darüberhinaus erhöht die externe Schaltung, die zum Treiben des vorgewählten Pins auf den hohnen Spannungspegel benötigt wird, die Gesamtkosten und den Energieverbrauch des ein solches Flash-Bauelement aufweisenden Speichersy­ stems.
Aus den "Patents Abstracts of Japan", P-1366, 8. Juni 1992, Bd. 16, Nr. 251 (welches sich auf das Patent JP 4- 57298 bezieht) ist eine Halbleiterspeicher-Anordnung be­ kannt, bei der eine Speichermatrix in einen normalen Daten­ speicherbereich mit mehreren Zeilen und Spalten und einen eine einzige Zeile umfassenden Bereich zum Speichern von Neulade-Informationen unterteilt ist, wobei dieser spezi­ elle Bereich zum Speichern von Neulade-Informationen für diejenigen Spalten (oder Sektoren) eine Null enthält, bei denen ein Schreiben/Löschen gesperrt ist.
Aufgabe der Erfindung ist es, Flash-Zellenblöcke einer Flash-Zellenmatrix selektiv und zuverlässiger vor unbeab­ sichtigten Programmier- oder Löschoperationen zu schützen und dabei den Benutzer in die Lage zu versetzen, durch ei­ nen Lesezugriff festzustellen, welche Flash-Zellen-Blöcke geschützt sind.
Diese Aufgabe wird von einem Flash-Speicherbauelement mit den Merkmalen des Patentanspruchs 1 bzw. ein Computer­ system mit den Merkmalen des Patentanspruchs 7 gelöst.
Bei Verwendung des erfindungsgemäßen Flash-Speicherbau­ elements wird ein Sperr-Steuerbefehl über einen Host-Bus empfangen. Der Sperr-Steuerbefehl spezifiziert einen Flash- Zellenblock in einer Flash-Speichermatrix mit mehreren Flash-Zellenblöcken. Der Sperr-Steuerbefehl spezifiziert eine Sperre-Flash-Block-Operation. Eine Block-Daten-Zeilen- Dekodiereinrichtung für einen Block-Datenbereich des Flash- Zellenblocks wird gesperrt und eine Block-Status-Zeilen-De­ kodiereinrichtung für einen Block-Statusbereich des Flash- Zellenblocks wird freigegeben. Eine Sperr-Zelle in dem Block-Statusbereich wird in einen ersten logischen Zustand programmiert.
Später wird ggf. ein auf den Flash-Zellenblock gerich­ teter Schreib-Zugriff-Befehl empfangen, wobei der Schreib- Zugriff-Befehl eine Programmier- oder Löschoperation auf dem Flash-Zellenblock verursacht. Ein Gesperrt-Flag wird erzeugt, indem der Zustand eines Schreib-Schutz-Pins mit einem Block-Freigegeben-Statusbit aus einem zu dem Flash- Zellenblock gehörenden Block-Statusregister kombiniert wird. Wenn das Gesperrt-Flag sich in einem ersten Zustand befindet, wird ein Sperrbit aus der Sperr-Zelle gelesen und in das Block-Freigegeben-Statusbit desjenigen Block-Status- Registers eingespeichert, das zu dem Flash-Zellenblock ge­ hört. Danach wird ein Fehler gemeldet, wenn das Gesperrt- Flag weiterhin in dem ersten Zustand ist. Wenn das Ge­ sperrt-Flag sich in einem zweiten Zustand befindet, dann geht die Programmier- oder Löschoperation weiter.
Eine Löschoperation an dem Flash-Zellenblock gibt den Flash-Zellenblock frei, indem die Sperr-Zelle in einen zweiten logischen Zustand programmiert (gelöscht) wird. Ei­ ne Einschalt-Sequenz in dem Flash-Speicherbauelement setzt das Block-Freigegeben-Statusbit in jedem Block-Statusregi­ ster auf den zweiten Zustand, um zu Beginn den Zugriff auf die Flash-Zellenblöcke zu sperren.
Ein Vorteil der Erfindung besteht darin, daß das selek­ tive Sperren und Freigeben von allen Flash-Zellenblöcken einer Flash-Matrix ermöglicht wird.
Außerdem schafft die Erfindung einen Block-Statusbe­ reich in jedem Flash-Zellenblock zur nichtflüchtigen Spei­ cherung einer Flash-Zellen-Sperrinformation. Vorzugsweise wird der Block-Statusbereich durch Hinzufügen von Status­ zeilen zu jedem Block-Datenbereich der Flash-Zellenmatrix erzielt.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Im folgenden wird die Erfindung zur Veranschaulichung anhand der Zeichnungen beschrieben, in denen gleiche Be­ zugszeichen ähnliche Elemente kennzeichnen.
In der Zeichnung zeigen:
Fig. 1 ein Schaltbild eines Computersystems mit einer zen­ tralen Verarbeitungseinheit (CPU), einem Haupt­ speicher-Subsystem und einem Satz von Flash- Speicherbauelementen;
Fig. 2 ein Schaltbild eines Computersystems mit einer CPU, einem Hauptspeicher-Subsystem und einem Flash- Speicher-Subsystem;
Fig. 3 ein Schaltbild des Flash-Speicherbauelementes mit einer Flash-Zellenmatrix, einer Schnittstellen­ schaltung, einer Flash-Matrix-Steuereinrichtung, einem Satz von Seitenpuffern, einem Satz von Lese/Schreib-Pfad-Schaltungen;
Fig. 4 ein Blockschaltbild der Schnittstellenschaltung, die eine Befehls-Zustandsmaschine, eine Daten/Adreß-Warteschlange, eine Operations- Warteschlange und einen Satz von Block-Status- Registern (BSR) aufweist;
Fig. 5a die Architektur eines Bereichs der Flash-Matrix, die eine Untermenge der Flash-Zellenblöcke (Blöcke 0-7) zeigt, wobei jeder Flash-Zellenblock aus einem Block-Datenbereich und einem Block-Status­ bereich besteht;
Fig. 5b ein Steuerregister, das in einer Steuerregister- Schaltung enthalten ist, die die Steuersignale zum selektiven Freigeben und Sperren der Block- Datenzeilen-Dekodiereinrichtung und der Block- Statuszeilen-Dekodiereinrichtung erzeugt;
Fig. 6a die Logikoperation in dem Flash-Speicherbau­ element, das ein GESPERRT-Hardware-Flag erzeugt, das von der Flash-Matrix-Steuereinrichtung als Hardware-Verzweigungsbedingung geprüft wird; und
Fig. 6b ein Ablaufdiagramm, das die Beziehung zwischen dem GESPERRT-Hardware-Flag und der Ausführung einer Programmier/Löschoperation durch die Flash-Matrix- Steuereinrichtung darstellt.
Fig. 1 ist ein Schaltbild eines Computersystems 400. Das Computersystem 400 besteht aus einer zentralen Verarbeitungs­ einheit (CPU) 410, einem Hauptspeicher-Subsystem 420 und einem Satz von Flash-Speicherbauelementen 421-424. Die CPU 410 steht über einen Host-Bus 430 im Datenaustausch mit dem Haupt­ speicher-Subsystem 420 und den Flash-Speicherbauelementen 421-424.
Die Flash-Speicherbauelemente 421-424 schaffen einen nichtflüchtigen großen Direktzugriffsdatenspeicher für das Computersystem 400. Die CPU 410 liest den Inhalt der Flash- Speicherbauelemente 421-424, indem sie Lese-Speicherzyklen über den Host-Bus 430 erzeugt. Die CPU 410 schreibt in die Flash- Speicherbauelemente 421-424 durch das Übertragen von Schreib- Befehlen und Schreib-Datenblöcken an die Flash-Bauelemente 420-424 über den Host-Bus 430.
Fig. 2 zeigt ein Blockschaltbild eines Computersystems 300. Das Computersystem 300 besteht aus einer zentralen Verarbeitungs­ einheit (CPU) 320, einem Hauptspeicher-Subsystem 330 und einem Flash-Speicher-Subsystem 340. Das Flash-Speicher-Subsystem 340 umfaßt eine Schnittstellen-Steuereinrichtung 350. Die CPU 320, das Hauptspeicher-Subsystem 330 und das Flash-Speicher-Sub­ system 340 kommunizieren über einen Host-Bus 360. Die Schnittstellen-Steuereinrichtung 350 ermöglicht den Zugriff auf das Flash-Speicher-Subsystem 340 über den Host-Bus 360.
Das Flash-Speicher-Subsystem 340 besteht aus einem Satz von Flash-Speicherbauelementen, wie beispielsweise dem oben beschriebenen Speicherbauelement 421. Die Schnittstellen- Steuereinrichtung 350 empfängt Zugriffsanforderungen für das Flash-Speichersubsystem 340 über den Host-Bus 360. Die Schnitt­ stellen-Steuereinrichtung 350 ordnet die Zugriffsanforderungen dem zugehörigen Flash-Speicherbauelement des Flash-Speicher- Subsystems 340 zu. Die Schnittstellen-Steuereinrichtung 350 greift dann entsprechend den Zugriffsanforderungen auf das zugehörige Flash-Speicherbauelement in der beschriebenen Weise zu.
Fig. 3 ist ein Blockschaltbild des Flash-Speicherbauelements 421. Das Flash-Speicherbauelement 421 besteht aus einer Flash- Zellenmatrix 20, einer Schnittstellenschaltung 40, einer Flash- Matrix-Steuereinrichtung 50, einem Satz von Seitenpuffern 70, einem Satz von Steuerregisterschaltungen 80-85 und einem Satz von Lese/Schreib-Pfad-Schaltungen 30. Der Host-Bus 430 umfaßt einen Adreßbus 102, einen Datenbus 104 und einen Steuerbus 106.
Die Flash-Zellenmatrix 20 stellt einen großen nicht- flüchtigen Direktzugriffsdatenspeicher zur Verfügung. Bei einer Ausführungsform ist die Flash-Zellenmatrix 20 als Satz aus 32 Flash-Zellenblöcken angeordnet. Jeder Flash-Zellenblock stellt 64 KBytes Datenspeicher zur Verfügung. Die Lese/Schreib-Pfad- Schaltung 30 weist Lese- und Schreib-Pfad-Schaltungen zum Zugreifen auf die Flash-Matrix 20 auf. Beispielsweise enthält die Lese/Schreib-Pfad-Schaltung Zeilen- und Spalten-Adreß- Dekodiereinrichtungen für die Flash-Matrix 20. Die Lese/Schreib-Pfad-Schaltung enthält außerdem eine Redundanz­ schaltung zum Übergehen von Adressen, wenn eine schlechte Flash-Zelle in der Flash-Matrix 20 festgestellt wird. Die Lese/Schreib-Pfad-Schaltung enthält außerdem eine Mini-Matrix- Schaltung um Referenz-Flash-Bits zu erzeugen und eine Abtast Pfad-Schaltung zum Vergleichen der Referenz-Flash-Bits mit Bits aus der Flash-Matrix, um festzustellen, ob die Bits den lo­ gischen Zustand 1 oder 0 haben.
Die Lese/Schreib-Pfad-Schaltung 30 enthält außerdem eine Multiplexerschaltung zum Wählen zwischen den Bits aus der Flash-Matrix 20 und den Redundanzbits, sowie eine Multiplexer­ schaltung zur Wahl zwischen den höheren und den niedrigeren Bytes der Flash-Matrix 20, um 8-Bit- und 16-Bit-Zugriffe zu ermöglichen. Die Lese/Schreib-Pfad-Schaltung 30 enthält eine Ausgangspuffer-Schaltung, um Daten aus der Flash-Matrix über Ausgangs-Anschlüsse des Flash-Speicherbauelements 421 zu trei­ ben.
Die Lese/Schreib-Pfad-Schaltung 30 enthält eine Adreß­ übergangs-Detektorschaltung. Die Adreßübergangs-Detektor­ schaltung erzeugt Steuerimpulse, wenn Adreßübergänge erfaßt werden. Die Steuerimpulse werden verwendet, um das Spaltenaufladen an den Ausgängen der Flash-Matrix 20 zu beschleunigen, bevor die Daten bereit sind.
Die Lese/Schreib-Pfad-Schaltung 30 enthält eine Hoch­ spannungsschaltung für den Zugriff auf die Flash-Matrix 20. Beispielsweise enthält die Lese/Schreib-Pfad-Schaltung 30 eine VPX-Schalteinrichtung zum Einstellen der Wortleitungs-Spannung für die Programmierung von Daten in die Flash-Matrix 20 und eine VPY-Generatorschaltung zum Einstellen der Programmier­ ladeleitung. Die Lese/Schreib-Pfad-Schaltung 30 enthält außerdem eine VSI-Generatorschaltung zum Einstellen der Source-Spannung von nicht-ausgewählten Blöcken der Flash-Matrix 20 während der Programmierung.
Die Lese/Schreib-Pfad-Schaltung 30 enthält auch Digital/Analog-Wandlerschaltungen zum Erzeugen von Referenz­ spannungspegeln für Programmier-Verifizier-Operationen sowie für Lösch-Verifizier- und Post-Lösch-Reparier-Operationen.
Die Lese/Schreib-Pfad-Schaltung 30 enthält außerdem eine VPS-Schalteinrichtung zum Einstellen der Source-Spannungspegel auf VPP während der Löschoperationen.
Die Steuerregisterschaltungen 80-85 enthalten Sätze von spezialisierten Steuerregistern und eine zugehörige Schaltung zur Steuerung eines Lese/Schreib-Pfads 30. Die spezialisierten Steuerregister werden über einen zentralen Steuerbus 100 programmiert und zugegriffen. Der Steuerbus 100 gibt Lese- und Schreiboperationen zu den Steuerregisterschaltungen 80-85 frei.
Die Schnittstellenschaltung 40 gibt den Zugriff auf die Flash-Zellenmatrix 20 über den Host-Bus 430 frei, indem sie Befehle über den Host-Bus 430 empfängt und verarbeitet. Die Schnittstellenschaltung 40 empfängt Befehle über den Datenbus 104, verifiziert die Befehle und reiht die Befehle an die Flash-Matrix-Steuereinrichtung 50 über einen Warteschlangenbus 41 in eine Warteschlange ein. Danach führt die Flash-Matrix- Steuereinrichtung 50 den Befehl unter Verwendung des ent­ sprechenden Teils des Flash-Speicherbauelementes 421 aus.
Die Flash-Matrix-Steuereinrichtung 50 ist ein spezialisierter Prozessor mit einem reduzierten Befehlssatz zur Aus­ führung von Schreiboperationen an der Flash-Matrix 20. Die Flash-Matrix-Steuereinrichtung 50 enthält eine arithmetisch- logische Einheit (ALU), Mehrzweckregister, einen Steuerspeicher und einen Steuersequenzer. Die Flash-Matrix-Steuereinrichtung 50 verwendet die über den Warteschlangenbus 41 empfangenen Befehle, um sie an die zugehörigen Plätze des Steuerspeichers zur Ausführung des Befehls zu senden.
Eine Steuer-Zugriff-Schaltung 60 gestattet sowohl der Schnittstellenschaltung 40 als auch der Flash-Matrix- Steuereinrichtung 50, über den zentralen Steuerbus 100 auf die Steuerregisterschaltungen 80-85 zuzugreifen. Während des normalen Betriebsmodus des Flash-Speicherbauelements 421, steuert die Flash-Matrix-Steuereinrichtung 50 die Steuer- Zugriff-Schaltung 60 und greift über den zentralen Steuerbus 100 auf die Steuerregisterschaltungen 80-85 zu.
Die Flash-Matrix-Steuereinrichtung 50 schreibt an die spezialisierten Steuerregister, indem sie ein Schreib-Steuer­ signal und eine Registeradresse zusammen mit den zugehörigen Schreibdaten an die Steuer-Zugriff-Schaltung 60 über einen Bus 52 überträgt. Danach erzeugt die Steuer-Zugriff-Schaltung 60 einen Schreibzyklus über den zentralen Steuerbus 100, um an das adressierte spezialisierte Steuerregister zu schreiben. Die Flash-Matrix-Steuereinrichtung 50 liest die spezialisierten Steuerregister durch Übertragung einer Registeradresse und eines Lese-Steuersignals an die Steuer-Zugriff-Schaltung 60 über den Bus 52. Die Steuer-Zugriff-Schaltung 60 erzeugt danach einen Lese-Zugriff-Zyklus über den zentralen Steuerbus 100, um das adressierte spezialisierte Steuerregister zu lesen.
Die Schnittstellenschaltung 40 schreibt an die speziali­ sierten Steuerregister durch Übertragung eines Schreib-Steuer­ signals und eines Strobesignals zusammen mit einer Register­ adresse und zugehörigen Schreibdaten an die Steuer-Zugriff- Schaltung 60 über einen Bus 42. Die Steuer-Zugriff-Schaltung 60 erzeugt dann einen Schreib-Zyklus über den zentralen Steuerbus 100, um das spezielle adressierte Steuerregister zu program­ mieren. Die Schnittstellenschaltung 40 liest die speziellen Steuerregister durch Übertragung einer Registeradresse zusammen mit einem Lese-Steuersignal und einem Strobesignal an die Steuer-Zugriff-Schaltung 60 über den Bus 42. Die Steuer- Zugriff-Schaltung 60 erzeugt dann einen Lese-Zugriff-Zyklus über den zentralen Steuerbus 100, um das adressierte spezielle Steuerregister zu lesen.
Die Steuerregisterschaltung 80 enthält spezielle Steuer­ register und eine Steuerschaltung zum Steuern der Hoch­ spannungsschaltung der Lese/Schreib-Pfad-Schaltung 30 entspre­ chend einem Satz von Steuersignalen 90. Die Hochspannungs­ steuerregister enthalten Source-Schalt-Schnittstellenregister, Schnittstellenregister zum Steuern von VPX- und VPIX-Multi­ plexern, VPP/VCC-Schalt-Schnittstellenregister, Schnittstellen­ register zum Steuern von Referenzgeneratoren, Multiplexern und Komparatoren und zum Programmieren von Daten-Pfad-Schnitt­ stellenregistern.
Die Steuerregisterschaltung 81 enthält Steuerregister und eine Steuerschaltung zum Steuern der speziellen Spalten- Zugriff-Schaltung des Lese/Schreib-Pfads 30 entsprechend einem Satz von Steuersignalen 91. Die speziellen Spalten-Zugriff- Steuerregister enthalten Minimatrix-Schnittstellenregister, Redundanz-Schnittstellenregister, Imprint-Schnittstellenregister und inhaltsadressierbare Speicher-Schnitt­ stellenregister.
Die Steuerregisterschaltung 82 enthält einen Satz von Nur- Lese-Registern zum Abtasten und Latchspeichern eines Satzes von Statussignalen 92 aus dem Lese/Schreib-Pfad 30. Die Status-Si­ gnale 92 enthalten die zu den Eingangsanschlüssen des Flash- Speicherbauelements 421 gehörigen Ausgangssignale der TTL- Puffer, Ausgangssignale der Abtastverstärker für die Flash- Zellenmatrix 20, Seitenpuffer-Zähler-Ausgangssignale, Ausgangs­ signale der Komparatoren in dem Lese/Schreib-Pfad 30 und den Flash-Matrix-Steuereinrichtung-50-Befehlszähler.
Die Steuerregisterschaltung 83 enthält Steuerregister und eine Steuerschalteinrichtung zum Steuern des Lese-Pfads des Lese/Schreib-Pfads 30 entsprechend einem Satz von Steuer­ signalen 93. Diese Lese-Pfad-Steuerregister enthalten automa­ tische Übergangsdetektions-Schnittstellenregister, Abtast- Schnittstellenregister, x-, y-, und z-Pfad-Schnittstellenregister.
Die Steuerregisterschaltung 84 enthält Schnittstellen­ register zu der Flash-Matrix-Steuereinrichtung 50 und Schnitt­ stellenregister zu der Schnittstellenschaltung 40. Die Steuer­ registerschaltung 85 enthält Register zum Steuern spezieller Prüfmerkmale des Flash-Speicherbauelements 421 entsprechend einem Satz von Steuersignalen 95. Die speziellen Prüfregister enthalten Prüfmodus-Zugriff-Register, VPP-Erfassungsregister, Bereit- und Belegt-Modifizierregister und Adreßzuweisungs­ register.
Die Schnittstellenschaltung 40 steuert einen Eingangs­ adreß-Multiplexer 35 zur Auswahl einer Eingangsadresse 36 für den Lese/Schreib-Pfad 30. Die ausgewählte Eingangsadresse 36 ist entweder die von den (nicht gezeigten) TTL-Puffern auf dem Adreßbus 102 abgetastete Adresse oder eine latch-gespeicherte Adresse 37 aus der Schnittstellenschaltung 40. Die Eingangs­ adresse 36 kann durch Schreiben von Steuerregistern in die Steuerregisterschaltung 84 außer Kraft gesetzt werden.
Die Schnittstellenschaltung 40 steuert einen Ausgangs­ daten-Multiplexer 45 dazu, eine Quelle für Ausgangsdaten­ übertragungen über den Datenbus 104 auszuwählen. Die aus­ gewählten Ausgangsdaten sind entweder Flash-Matrixdaten 46 von dem Lese/Schreib-Pfad 30, Seitenpufferdaten 47 von den Seiten­ puffern 70 oder Block-Statusregister(BSR)-Daten 48 von einem Satz von in der Schnittstellenschaltung 40 enthaltenen Block- Status-Registern.
Die Seitenpuffer 70 stellen Pufferspeicherbereiche für Schreib-Sequenzen an die Flash-Matrix 20 über den Datenbus 104 zur Verfügung. Die Seitenpuffer 70 stellen außerdem einen tem­ porären Steuerspeicherbereich für die Flash-Matrix-Steuer­ einrichtung 50 zur Verfügung. In einer Ausführungsform sind die Seitenpuffer 70 als ein Satz aus zwei 256 × 8 Bit-Seitenpuffern aufgebaut.
Die CPU 410 liest die Flash-Zellenmatrix 20 durch Übertra­ gung von Adressen über den Adreßbus 102, wobei sie Lesezyklen über den Steuerbus 106 anzeigt. Die Schnittstellenschaltung 40 erfaßt die Lesezyklen und veranlaßt den Eingangsadreß-Multi­ plexer 35, die Adressen von dem Adreßbus 102 an die x- und y- Dekodiereinrichtung des Lese/Schreib-Pfads 30 zu übertragen. Die Schnittstellenschaltung 40 veranlaßt den Ausgangsdaten- Multiplexer 45 außerdem, die adressierten Lesedaten von dem Lese/Schreib-Pfad 30 über den Datenbus 104 zu übertragen.
Die CPU 410 schreibt Daten an die Flash-Zellenmatrix 20 durch Erzeugen von Schreibzyklen über den Host-Bus 430, um Schreibdatenblöcke an die Seitenpuffer 70 zu übertragen. Die Schnittstellenschaltung 40 verifiziert den Schreibbefehl und reiht den Schreibbefehl an die Flash-Matrix-Steuereinrichtung 50 in eine Warteschlange ein. Die Flash-Matrix-Steuereinrich­ tung 50 führt den Schreibbefehl durch Lesen der Schreibdaten aus der Warteschlange aus, und durch Programmierung der Schreibdaten in geeignete Bereiche der Flash-Matrix 20.
Die Flash-Matrix-Steuereinrichtung 50 implementiert Algo­ rithmen zur Ablaufplanung der Hochspannungsschaltung des Lese/Schreib-Pfads 30, um eine Ladung an die Flash-Zellen der Flash-Zellenmatrix 20 anzulegen und eine Ladung aus den Flash- Zellen der Flash-Zellenmatrix 20 zu entfernen. Die Flash-Ma­ trix-Steuereinrichtung 50 steuert die Hochspannungsschaltung und adressiert die Flash-Matrix 20, indem sie über den zen­ tralen Steuerbus 100 auf die Steuerregisterschaltungen 80-85 zugreift.
Der Lese/Schreib-Pfad 30 enthält eine Quellen-Schaltein­ richtung zum Anlegen der geeigneten Spannungspegel an die Flash-Zellenmatrix 20 für eine Löschfunktion. Der Lese/Schreib- Pfad 30 enthält außerdem eine Programmier-Lade-Schaltung, um Programmierpegel-Spannungen auf die Bitleitungen der Flash-Zellen­ matrix 20 während einer Programmierfunktion zu treiben.
Die Schnittstellenschaltung 40 enthält 32 Block-Status­ register. Jedes Block-Statusregister entspricht einem der Blöcke der Flash-Zellenmatrix 20. Die Flash-Matrix-Steuerein­ richtung 50 überträgt Informationen in die Block-Status­ register, um den Status jedes Blockes der Flash-Zellenmatrix 20 anzuzeigen. Die CPU 410 liest den Inhalt der Block-Status­ register über den Host-Bus 430.
Der Adreßbus 102, der Datenbus 104 und der Steuerbus 106 sind mit (nicht dargestellten) Eingangs/Ausgangspins des Flash- Speicherbauelements 421 gekoppelt. Die Eingangs/Ausgangspins umfassen einen Schreibschutz-Pin. Der Schreibschutz-Pin wird zur Freigabe (Aktivierung) und zum Sperren (Deaktivierung) des Schreibschutzmechanis­ mus' des Flash-Speicherbauelementes 421 verwendet.
Die CPU 410 aktiviert und sperrt den Schreibschutz­ mechanismus des Flash-Speicherbauelementes 421, indem sie ein Steuersignal an den Schreibschutz-Pin über den Steuerbus 106 sendet. In einer Ausführungsform aktiviert eine an den Schutz- Pin angelegte logische Null den Schreibschutzmechanismus. Eine an den Schreibschutz-Pin angelegte logische Eins sperrt den Schreibschutzmechanismus.
Fig. 4 ist ein Schaltbild der Schnittstellenschaltung 40. Die Schnittstellenschaltung 40 besteht aus einer Befehls- Zustandsmaschine 210, einer Daten/Adreß-Warteschlange 212, einer Operationswarteschlange 214 und einem Satz von Block- Statusregistern (BSR) 216.
Die Befehls-Zustandsmaschine 210 empfängt von der CPU 410 über den Host-Bus 430 Befehle. Die Befehle von der CPU 410 enthalten Befehle zur Ausführung von Programmier- und Lösch­ operationen der Flash-Matrix 20. Die Befehls-Zustandsmaschine 210 verifiziert die Befehle und überträgt über die Operations­ warteschlange 214 Befehle und zugehörige Parameter an die Flash-Matrix-Steuereinrichtung 50.
Die Operationswarteschlange 214 überträgt die latch- gespeicherte Adresse 37 aus der Daten/Adreß-Warteschlange 212 an den Eingangsmultiplexer 35. Die Operationswarteschlange 214 überträgt außerdem die latchgespeicherten Matrixdaten 38 aus der Daten/Adreß-Warteschlange 212 an den Lese/Schreib-Pfad 30. Die Operationswarteschlange 214 überträgt die verifizierten Befehle und zugehörige Parameter an die Flash-Matrix-Steuer­ einrichtung 50 über den Warteschlangenbus 41.
Das BSR 216 enthält ein Block-Statusregister für jeden der Flash-Zellenblöcke der Flash-Matrix 20. Jedes Block-Status­ register stellt dem zugehörigen Flash-Zellenblock Status­ informationen zur Verfügung. Die Flash-Matrix-Steuereinrichtung 50 enthält Statusbits in den Block-Statusregistern. Die Schnittstellenschaltung 40 ermöglicht den Zugriff auf die Block- Statusregister über den Host-Bus 430.
In einer Ausführungsform ist das BSR 216 als ein sta­ tischer Dualport-Direktzugriffsspeicher (SRAM) ausgebildet. Das BSR 216 besteht aus einem Satz von 32 Block-Statusregistern. Jedes Block-Statusregister ist acht Bits breit.
Die Flash-Matrix-Steuereinrichtung 50 greift über den zentralen Steuerbus 100 auf die Block-Statusregister in dem BSR 216 zu. Die Flash-Matrix-Steuereinrichtung 50 führt sowohl Lese- als auch Schreiboperationen zu dem BSR 216 über den zentralen Steuerbus 100 durch.
Die CPU 410 liest die Block-Statusregister von dem BSR 216 durch Übertragung eines Lese-Block-Statusregisterbefehls an die Befehls-Zustandsmaschine 210 über den Host-Bus 430. Der Lese- Block-Statusregisterbefehl enthält eine 5-Bit-BSR-Adresse zum Auswählen eines der 32 Block-Statusregister in dem BSR 216. Die 5-Bit-BSR-Adresse wählt eines der Block-Statusregister des BSR 216. Danach wird der Inhalt des ausgewählten Block-Status­ registers von dem BSR 216 an den Ausgangsmultiplexer 45 über die BSR-Datenleitung 48 übertragen. Die Befehls-Zustands­ maschine 210 bewirkt, daß der Ausgangsmultiplexer 45 die BSR- Daten über den Datenbus 104 überträgt.
In einer Ausführungsform ist Bit 6 jedes Block-Status­ registers in dem BSR 216 ein Block-Freigegeben-Flag, das anzeigt, ob der zugehörige Flash-Zellenblock gesperrt ist. Wenn das Block-Freigegeben-Flag einen logischen Zustand 0 hat, wird die Flash-Matrix-Steuereinrichtung 50 daran gehindert, Program­ mier/Löschoperationen an dem zugehörigen Flash-Zellenblock auszuführen, sofern der Schreib-Schutzmechanismus des Flash- Speicherbauelementes 420 aktiviert ist. Beim Einschalten des Flash-Speicherbauelementes 421 werden alle 32 Block- Freigegeben-Flags in dem BSR 216 auf den logischen Zustand 0 gesetzt.
Fig. 5a zeigt die Architektur eines Abschnitts der Flash- Matrix 20 und eine Untermenge der Flash-Zellenblöcke (Blöcke 0-7). Jeder Flash-Zellenblock BLOCK 0-7 besteht aus einem Block- Datenbereich und einem Block-Statusbereich. Beispielsweise besteht der Zellenblock BLOCK 0 aus einem Block-Null-Daten­ bereich (BLOCK 0 DATEN) und einem Block-Null-Statusbereich (BLOCK 0 STATUS).
Jeder Block-Datenbereich stellt einen nichtflüchtigen Direktzugriffsspeicher für Benutzerdaten in dem Speicherbau­ element 421 dar. In einer Ausführungsform besteht jeder Block- Datenbereich aus 1024 Zeilen und 512 Spalten von Flash-Zellen.
Jeder Block-Statusbereich stellt einen nichtflüchtigen Direktzugriffsspeicherbereich für Statusinformationen für den zugehörigen Block-Datenbereich zur Verfügung. In einer Aus­ führungsform besteht jeder Block-Statusbereich aus zwei Zeilen mit 64 Spalten von Flash-Zellen.
Jeder Block-Statusbereich enthält ein in einer Sperr-Zelle gespeichertes Sperrbit. Jedes Sperrbit zeigt an, ob der zu­ gehörige Block-Datenbereich gesperrt ist. Wenn das Sperrbit an­ zeigt, daß der zugehörige Block-Datenbereich gesperrt ist, wird die Flash-Matrix-Steuereinrichtung 50 an der Durchführung einer Programmier/Löschoperation auf dem gesperrten Flash-Zellenblock gehindert, sofern der Schreib-Schutzmechanismus aktiviert ist. In einer Ausführungsform zeigt ein Sperrbit mit dem logischen Zustand 0 an, daß der zugehörige Flash-Zellenblock gesperrt ist.
Jeder Block-Statusbereich speichert außerdem eine Zykluszählung für Programmieroperationen an dem zugehörigen Block-Datenbereich, einen Zählwert der Anzahl von Impulsen während der letzten Löschoperationen an dem zugehörigen Block- Datenbereich ebenso wie Ausfallanalysedaten.
Eine Block-Daten-Zeilen-Dekodiereinrichtung 120 wählt die geeignete Zeile der Block-Datenbereiche entsprechend der Ein­ gangsadresse über den Lese/Schreib-Pfad 30 aus. Die Block- Daten-Zeilen-Dekodiereinrichtung 120 wählt die Zeilen der Block-Datenbereiche während normaler Lese/Schreibzugriffe der in der Flash-Matrix 20 gespeicherten Benutzerdaten und während Block-Datenzugriffe durch die Flash-Matrix-Steuereinrichtung 50.
Eine Block-Status-Zeilen-Dekodiereinrichtung 122 wählt die geeigneten Zeilen der Block-Statusbereiche entsprechend einer Status-Zeilenadresse aus der Flash-Matrix-Steuereinrichtung 50 über den Lese/Schreib-Pfad 30 aus. Die Block-Status-Zeilen- Dekodiereinrichtung 122 wählt die Zeilen der Block-Status­ bereiche während Block-Statusbereichszugriffen durch die Flash- Matrix-Steuereinrichtung 50 aus.
Die Block-Daten-Zeilen-Dekodiereinrichtung 120 und die Block-Status-Zeilen-Dekodiereinrichtung 122 empfangen die Steuersignale 90 aus der Steuerregisterschaltung 80. Die Steuersignale 90 aktivieren und deaktivieren selektiv die Block-Daten-Zeilen-Dekodiereinrichtung 120 und die Block- Status-Zeilen-Dekodiereinrichtung 122.
Die Flash-Matrix-Steuereinrichtung 50 schreibt zur Erzeugung der Steuersignale 90 in die Steuerregister der Steuer­ registerschaltung 80. Die Flash-Matrix-Steuereinrichtung 50 programmiert die Steuerregister, um die Block-Daten-Zeilen-De­ kodiereinrichtung 120 freizugeben, wenn auf die Block-Daten­ bereiche der Flash-Matrix 20 zugegriffen werden soll. Die Flash- Matrix-Steuereinrichtung 50 lädt die Steuerregister zur Freigabe der Block-Status-Zeilen-Dekodiereinrichtung 122, wenn auf die Block-Statusbereiche der Flash-Matrix 20 zugegriffen werden soll.
Fig. 5b zeigt ein in der Steuerregisterschaltung 80 enthaltenes Steuerregister 270. Das Steuerregister 270 erzeugt die Steuersignale 90, um die Block-Daten-Zeilen-Dekodier­ einrichtung 120 und die Block-Status-Zeilen-Dekodiereinrichtung 122 selektiv freizugeben bzw. zu sperren. Das Steuer­ register 270 besteht aus einer Adreß-Dekodierschaltung 272, einer Funktions-Dekodierschaltung 274, einer Lese-Steuer­ schaltung 276 und einem Paar von Daten-Latchschaltungen 278 und 280. Die Daten-Latchschaltung 278 ist eine Master-Daten- Latchschaltung und die Daten-Lachschaltung 280 ist eine Slave- Daten-Latchschaltung.
Der zentrale Steuerbus 100 besteht aus einem Flash-E/A- Adreß(FIOADD)-Bus 110, einem Flash-E/A-Daten(FIODAT)-Bus 112, einem Flash-E/A-Steuer(FIOCTL)-Bus 114 und einem Strobesignal 116. Das Steuerregister 270 wird von einer Adresse auf dem FIOADD-Bus 110 ausgewählt. Daten werden an das Steuerregister 270 über den FIODAT-Bus 112 übertragen. Ein Zugriffsmodus für das Steuerregister 270 wird auf dem FIOCTL-Bus 140 angezeigt und die Datenübertragung wird von dem Strobesignal 116 synchro­ nisiert.
Die Adreß-Dekodierschaltung 272 empfängt und dekodiert über den FIOADD-Bus 110 empfangene Adressen und erzeugt ein Steuersignal 288, wenn die Adresse dem Steuerregister 270 ent­ spricht. Das Steuersignal 288 veranlaßt die Funktions-Dekodier­ schaltung 274, den Zugriffsmodus auf dem FIOCTL-Bus 114 zu de­ kodieren und die spezifizierte Zugriffsmodusfunktion auszuführen.
Die Zugriffsmodi sind Lies-Master, Lies-Slave, Setze- Master-zurück, Setze-Slave-zurück, Setze-sowohl-Master-als- auch-Slave-zurück, Lade-Master, Übertrage-Master-an-Slave und Lade-Master/Übertrage-an-Slave.
Die Zugriffsmodi Lies-Master, Lies-Slave, Lade-Master und Lade-Master/Übertrage-an-Slave arbeiten an einzelnen Steuerregistern und erfordern eine von dem FIOADD-Bus 110 bereitzustellende Adresse. Die übrigen Zugriffsmodi arbeiten an allen mit dem zentralen Steuerbus 100 gekoppelten Steuer­ registern und erfordern nicht, daß eine Adresse von dem FIOADD- Bus 110 zur Verfügung gestellt wird. Die Lade-Master- und Lade- Slave-Zugriffsmodi erfordern Daten, die über den FIODAT-Bus 112 zur Verfügung gestellt werden müssen. Die Lese-Master- und Lese-Slave-Zugriffsmodi treiben Daten auf den FIODAT-Bus 112. Die Zugriffsmodi Lade-Master und Lade-Master/Übertrage-an- Slave werden von dem Strobesignal 116 synchronisiert.
Wenn der FIOCTL-Bus 114 den Lese-Master-Zugriffsmodus spe­ zifiziert, gibt die Funktions-Dekodierschaltung 274 ein Steuer­ signal 290 aus, welches die Lese-Steuerschaltung 276 zur Übertragung des Ausgangssignals 284 der Master-Daten-Latchschaltung 278 über den FIODAT-Bus 112 veranlaßt.
Wenn der FIOCTL-Bus 114 den Lese-Slave-Zugriffsmodus spe­ zifiziert, gibt die Funktions-Dekodierschaltung 274 ein Steuer­ signal 291 aus, das die Lese-Steuerschaltung 276 zur Über­ tragung des Ausgangssignals 286 der Slave-Daten-Latchschaltung 280 über den FIODAT-Bus 112 veranlaßt.
Wenn der FIOCTL-Bus 114 den Setze-Master-zurück- Zugriffsmodus spezifiziert, gibt die Funktions-Dekodier­ schaltung 274 ein Steuersignal 294 aus, das die Master-Daten- Latchschaltung 278 zum Zurücksetzen veranlaßt. Wenn der FIOCTL- Bus 114 den Setze-Slave-zurück-Zugriffsmodus spezifiziert, gibt die Funktions-Dekodierschaltung 274 ein Steuersignal 298 aus, das die Slave-Daten-Latch-Schaltung 280 zum Zurücksetzen bringt. Wenn der FIOCTL-Bus 114 den Setze- sowohl Master-als- auch-Slave-zurück-Zugriffsmodus spezifiziert, gibt die Funktions-Dekodierschaltung 274 die Steuersignale 294 und 298 aus, um die Master- und die Slave-Daten-Latchschaltungen 278 und 280 zurückzusetzen.
Wenn der FIOCTL-Bus 114 den Lade-Master-Zugriffsmodus spe­ zifiziert, gibt die Funktions-Dekodierschaltung 274 ein Steuer­ signal 292 aus, das die Master-Daten-Latchschaltung 278 dazu veranlaßt, vom FIODAT-Bus 112 zu laden.
Wenn der FIOCTL-Bus 114 den Übertrage-Master-an-Slave- Zugriffsmodus spezifiziert, gibt die Funktions-Dekodier­ schaltung 274 ein Steuersignal 296 aus, das die Slave-Daten- Latchschaltung 280 dazu veranlaßt, von dem Ausgang 284 der Master-Daten-Latchschaltung 278 zu laden.
Wenn der FIOCTL-Bus 114 den Lade-Master/Übertrage-an- Slave-Zugriffsmodus spezifiziert, gibt die Funktions-Dekodier­ schaltung 274 das Steuersignal 292 aus, welches bewirkt, daß die Master-Daten-Latchschaltung 278 von dem FIODAT-Bus 112 lädt. Die Funktions-Dekodierschaltung 274 gibt außerdem das Steuersignal 296 aus, welches bewirkt, daß die Slave-Daten- Latchschaltung 280 vom Ausgang 284 der Master-Daten-Latch­ schaltung 278 lädt.
Die CPU 410 sperrt die Flash-Zellenblöcke der Flash-Matrix 20, indem sie Sperr-Steuerbefehle an die Schnitt­ stellenschaltung 40 über den Host-Bus 430 überträgt. Jeder Sperr-Steuer­ befehl spezifiziert einen der Flash-Zellenblöcke der Flash-Ma­ trix 20. Die Befehls-Zustandsmaschine 210 reiht die Sperr- Steuerbefehle an die Flash-Matrix-Steuereinrichtung 50 in die Operationswarteschlange 214 ein.
Die Flash-Matrix-Steuereinrichtung 50 führt den Sperre- Flash-Block-Befehl durch Laden der Steuerregister in die Steuer­ registerschaltung 80 derart, daß die Block-Daten-Zeilen-Dekodie­ reinrichtung 120 gesperrt und die Block-Status-Zeilen- Dekodiereinrichtung 122 freigegeben wird aus. Die Flash-Matrix- Steuereinrichtung 50 adressiert dann den Block-Statusbereich des Flash-Zellenblockes, der in dem Sperre-Flash-Block-Befehl spezifiziert ist. Die Flash-Matrix-Steuereinrichtung 50 setzt dann das Sperr-Bit in dem Block-Statusbereich auf den logischen Zustand 1. Danach lädt die Flash-Matrix-Steuereinrichtung 50 die Steuerregister der Steuerregisterschaltung 80 derart, daß die Block-Status-Zeilen-Dekodiereinrichtung 122 gesperrt und die Block-Daten-Zeilen-Dekodiereinrichtung 120 für den nor­ malen Zugriff der Flash-Matrix 20 freigegeben wird.
Die CPU 410 hebt Sperrungen der Flash-Zellenblöcke der Flash-Matrix 20 auf, indem sie einen an den ent­ sprechenden Flash-Zellenblock gerichteten Löschbefehl an die Schnittstellenschaltung 40 über den Host-Bus 430 überträgt, wobei das Schreibschutz-Pin auf "1" getrieben wird. Der Lösche-Flash- Block-Befehl spezifiziert den Flash-Zellenblock. Die Befehls- Zustandsmaschine 210 reiht den Lösche-Flash-Block-Befehl an die Flash-Matrix-Steuereinrichtung 50 in die Warteschlange ein. Die Flash-Matrix-Steuereinrichtung 50 führt den Lösche-Flash-Block- Befehl durch Löschen des Daten- und des Block-Status-Bereichs des Flash-Zellenblocks aus.
Alternativ kann die CPU 410 gleichzeitig Flash-Zellen­ blöcke der Flash-Matrix 20 löschen und Sperrungen aufheben. Die CPU 410 treibt zunächst das Schreibschutz-Pin des Flash- Speicherbauelementes 421 auf einen logischen Zustand 1, um den Schreibschutzmechanismus zu deaktivieren. Danach überträgt die CPU 410 einen Lösche-Flash-Zellenblock-Befehl an die Schnittstellenschaltung 40. Der Lösche-Flash-Zellenblock-Befehl spezifiziert einen Flash-Zellenblock in der Flash-Matrix 20. Die Schnittstellenschaltung 40 reiht den Lösche-Flash-Zellen­ block-Befehl an die Flash-Matrix-Steuereinrichtung 50 in die Warteschlange ein.
Die Flash-Matrix-Steuereinrichtung 50 führt den Lösche- Flash-Zellenblock-Befehl durch Ausführen einer Löschoperation an dem spezifizierten Flash-Zellenblock durch, einschließlich dem Block-Datenbereich und dem Block-Statusbereich. Das Löschen des Block-Statusbereichs löscht die Sperr-Zelle auf eine lo­ gischen Zustand 1, wodurch der Flash-Zellenblock im Ergebnis freigegeben wird. Die CPU 410 treibt danach den Schreibschutz- Pin des Flash-Speicherbauelementes 421 auf einen logischen Zu­ stand 0, um den Schreibschutzmechanismus erneut zu akti­ vieren.
Fig. 6a zeigt die Arbeitsweise der Logik in dem Flash- Speicherbauelement 421, die ein GESPERRT-Hardware-Flag erzeugt. Das GESPERRT-Hardware-Flag wird von der Flash-Matrix-Steuereinrichtung 50 als eine Hardware-Verzweigungs­ bedingung geprüft. Das GESPERRT-Hardware-Flag wird von einer Kombination des lo­ gischen Zustandes des Schreibschutz-Pins des Flash-Speicher­ bauelementes 421 und des Block-Freigegeben-Flags in den Block- Statusregistern des BSR 216 erzeugt.
Das GESPERRT-Hardware-Flag wird von einer NOR-Funktion des zu dem für die Programmier/Löschoperation spezifizierten Flash- Zellenblock gehörigen Block-Freigegeben-Flags und des Eingangs­ signals von dem Schreibschutz-Pin (WP PIN) des Flash-Speicher­ bauelementes 421 erzeugt.
Das GESPERRT-Hardware-Flag hat den logischen Zustand 0, wenn entweder das Block-Freigegeben-Flag gesetzt ist oder der Schreibschutzmechanismus deaktiviert ist. Das GESPERRT-Hard­ ware-Flag hat den logischen Zustand 1, wenn das Block-Freigegeben- Flag gelöscht ist und der Schreibschutzmechanismus akti­ viert ist. Das GESPERRT-Hardware-Flag wird von der Flash-Ma­ trix-Steuereinrichtung 50 geprüft, wenn eine Programmier- oder Löschoperation auf der Flashmatrix durchgeführt wird.
Fig. 6b ist ein Ablaufdiagramm, das die Wechselwirkung zwischen dem GESPERRT-Hardware-Flag und der Ausführung einer Programmier/Löschoperation durch die Flash-Matrix-Steuer­ einrichtung 50 veranschaulicht.
Im Zustand 200 sendet die Flash-Matrix-Steuereinrichtung 50 eine Programmier- oder Löschoperation in Abhängigkeit von einem von der Schnittstellenschaltung 40 empfangenen Befehl. Im Entscheidungszustand 202 überprüft die Flash-Matrix-Steuer­ einrichtung 50 das GESPERRT-Hardware-Flag. Wenn das GESPERRT- Hardware-Flag nicht auf den logischen Zustand 1 gesetzt ist, dann geht die Steuerung auf den Zustand 212 über, um die Pro­ grammier/Löschoperation fortzusetzen.
Wenn das GESPERRT-Hardware-Flag in dem Entscheidungs­ zustand 202 auf 1 gesetzt ist, dann geht die Steuerung zu dem Zustand 204. Im Zustand 204 liest die Flash-Matrix-Steuer­ einrichtung 50 den Block-Statusbereich des ausgewählten Flash- Zellenblocks. Danach im Zustand 206 bringt die Flash-Matrix- Steuereinrichtung 50 das Sperr-Bit aus dem Block-Statusbereich in das Block-Freigegeben-Flag des Block-Statusregisters in dem BSR 216. Die Flash-Matrix-Steuereinrichtung 50 greift mit Hilfe der Steuerzugriffsschaltung 60 auf das ausgewählte Block- Statusregister in dem BSR 216 über den zentralen Steuerbus 100 zu. Danach im Entscheidungszustand 208 überprüft die Flash-Ma­ trix-Steuereinrichtung 50 das GESPERRT-Hardware-Flag erneut. Wenn das GESPERRT-Hardware-Flag im Zustand 208 weiter auf 1 gesetzt ist, geht die Steuerung auf den Zustand 210 über, um einen Fehler zu melden. Ein Fehler wird gemeldet, weil eine Programmier/Löschoperation auf einem gesperrten Flash-Zellenblock der Flash-Matrix 20 versucht wurde. Wenn das GESPERRT-Hardware-Flag im Entscheidungszustand 208 nicht gesetzt ist, geht die Steuerung auf den Zustand 212 über, um die Programmier/Löschfunktion fortzusetzen.

Claims (7)

1. Flash-Speicherbauelement mit
einer Flash-Zellenmatrix (20) mit wenigstens einem Block, wobei der Block einen Block-Datenbereich und einen Block-Statusbereich aufweist und der Block-Statusbereich ei­ ne Sperrzelle aufweist, die anzeigt, ob der Block eine Schreibzugriffssperre aufweist;
einer Block-Statusregisterschaltung (216), die wenig­ stens ein Block-Statusregister aufweist, wobei das Block- Statusregister ein Block-Freigegeben-Statusbit für den Block speichert;
einer Schaltung zum Abtasten eines Schreibschutz-Ein­ gangssignals von einem Schreibschutzpin des Flash-Speicher­ bauelementes, wobei das Schreibschutz-Eingangssignal an­ zeigt, ob die Schreibzugriffssperre freigegeben oder ge­ sperrt ist, und
einer Flash-Matrix-Steuereinrichtung (50), die einen auf den Block gerichteten Programmier- oder Löschbefehl über ei­ nen Host-Bus (430) empfangen kann, wobei die Flash-Matrix- Steuereinrichtung (50) nach Empfang des Programmier- oder Löschbefehls ein Sperrbit aus der Sperrzelle liest und das Sperrbit in dem Block-Freigegeben-Statusbit in dem Block- Statusregister (216) für den Block speichert, wobei die Flash-Matrix-Steuereinrichtung (50) einen Fehler meldet, wenn das Schreibschutz-Eingangssignal anzeigt, daß die Schreibzugriffssperre freigegeben ist, und wenn das Block- Freigegeben-Statusbit in dem Block-Statusregister (216) für den Block anzeigt, daß der Block die Schreibzugriffssperre aufweist.
2. Flash-Speicherbauelement nach Anspruch 1, dadurch ge­ kennzeichnet, daß das Flash-Speicherbauelement die Program­ mier- oder Löschoperation auf dem Block ausführt, wenn das Schreibschutz-Eingangssignal anzeigt, daß die Schreibzu­ griffssperre gesperrt ist und/oder wenn das Block-Freigege­ ben-Statusbit in dem zu dem Block gehörigen Block-Statusre­ gister anzeigt, daß der Block die Schreibzugriffssperre nicht aufweist.
3. Flash-Speicherbauelement nach Anspruch 1 oder 2, da­ durch gekennzeichnet, daß die Löschoperation auf dem Block die Schreibzugriffssperre auf dem Block durch Löschen der Sperrzelle zurücknimmt.
4. Flash-Speicherbauelement nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß eine Einschalt-Sequenz in dem Flash-Speicherbauelement das Block-Freigegeben-Statusbit in dem Block-Statusregister setzt, um anzuzeigen, daß der Block die Schreibzugriffssperre aufweist.
5. Flash-Speicherbauelement nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der Block-Statusbereich außerdem einen Satz von Statuszellen aufweist, die eine eine Anzahl von Programmieroperationen auf dem Block anzeigende Zykluszählung speichern.
6. Flash-Speicherbauelement nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß der Block-Statusbereich außerdem einen Satz von Impulszählzellen aufweist, die einen eine Anzahl von Impulsen während einer letzten Löschoperati­ on auf dem Block anzeigenden Impulszählwert speichern.
7. Computersystem mit
einem Hauptspeicher (420), der einen Satz von Schreibda­ ten für eine Programmieroperation speichert;
einer zentralen Verarbeitungseinrichtung (410), die die Schreibdaten von dem Hauptspeicher (420) liest und einen Schreibbefehl sowie die Schreibdaten über einen Host-Bus (430) überträgt; und
einem mit der zentralen Verarbeitungseinrichtung (410) zum Empfangen von Befehlen, Daten und eines Schreibschutz- Eingangssignals gekoppeltes Flash-Speicherbauelement nach einem der Ansprüche 1 bis 6.
DE4422453A 1993-06-30 1994-06-30 Flash-Speicherbauelement Expired - Fee Related DE4422453C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/085,546 US5592641A (en) 1993-06-30 1993-06-30 Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status

Publications (2)

Publication Number Publication Date
DE4422453A1 DE4422453A1 (de) 1995-01-12
DE4422453C2 true DE4422453C2 (de) 2003-04-03

Family

ID=22192333

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4422453A Expired - Fee Related DE4422453C2 (de) 1993-06-30 1994-06-30 Flash-Speicherbauelement

Country Status (2)

Country Link
US (1) US5592641A (de)
DE (1) DE4422453C2 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10315638A1 (de) * 2003-04-04 2004-10-28 Infineon Technologies Ag Programmgesteuerte Einheit
DE10315727A1 (de) * 2003-04-04 2004-10-28 Infineon Technologies Ag Programmgesteuerte Einheit
DE10315726A1 (de) * 2003-04-04 2004-11-04 Infineon Technologies Ag Programmgesteuerte Einheit

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2732487B1 (fr) * 1995-03-31 1997-05-30 Sgs Thomson Microelectronics Procede de protection de zones de memoires non volatiles
JPH0922385A (ja) * 1995-07-05 1997-01-21 Rohm Co Ltd データセキュリティ装置および方法
US5829013A (en) * 1995-12-26 1998-10-27 Intel Corporation Memory manager to allow non-volatile memory to be used to supplement main memory
US5701492A (en) * 1996-03-29 1997-12-23 Canon Kabushiki Kaisha Fail-safe flashing of EPROM
US5991849A (en) * 1996-04-10 1999-11-23 Sanyo Electric Co., Ltd Rewriting protection of a size varying first region of a reprogrammable non-volatile memory
US5890191A (en) * 1996-05-10 1999-03-30 Motorola, Inc. Method and apparatus for providing erasing and programming protection for electrically erasable programmable read only memory
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
US5901311A (en) * 1996-12-18 1999-05-04 Intel Corporation Access key protection for computer system data
US5913057A (en) * 1996-12-18 1999-06-15 Intel Corporation Hidden headers for protecting computer system data
US5954818A (en) * 1997-02-03 1999-09-21 Intel Corporation Method of programming, erasing, and reading block lock-bits and a master lock-bit in a flash memory device
US6073243A (en) * 1997-02-03 2000-06-06 Intel Corporation Block locking and passcode scheme for flash memory
GB2326748B (en) * 1997-02-12 2001-09-12 Hyundai Electronics America A nonvolatile memory structure
US20010011318A1 (en) * 1997-02-27 2001-08-02 Vishram P. Dalvi Status indicators for flash memory
JP3411186B2 (ja) * 1997-06-06 2003-05-26 シャープ株式会社 不揮発性半導体記憶装置
TW509849B (en) 1997-06-16 2002-11-11 Matsushita Electric Ind Co Ltd The image processing device and the image processing method
JP3884839B2 (ja) * 1997-10-17 2007-02-21 株式会社ルネサステクノロジ 半導体記憶装置
FR2770327B1 (fr) * 1997-10-24 2000-01-14 Sgs Thomson Microelectronics Memoire non volatile programmable et effacable electriquement comprenant une zone protegeable en lecture et/ou en ecriture et systeme electronique l'incorporant
JPH11175502A (ja) * 1997-12-08 1999-07-02 Mitsubishi Electric Corp 半導体装置
US6119226A (en) * 1998-01-06 2000-09-12 Macronix International Co., Ltd. Memory supporting multiple address protocols
US6058463A (en) * 1998-01-20 2000-05-02 Motorola, Inc. Paged memory data processing system with overlaid memory control registers
US6154819A (en) * 1998-05-11 2000-11-28 Intel Corporation Apparatus and method using volatile lock and lock-down registers and for protecting memory blocks
US6209069B1 (en) 1998-05-11 2001-03-27 Intel Corporation Method and apparatus using volatile lock architecture for individual block locking on flash memory
US6026016A (en) * 1998-05-11 2000-02-15 Intel Corporation Methods and apparatus for hardware block locking in a nonvolatile memory
US6182199B1 (en) * 1998-09-03 2001-01-30 International Business Machines Corporation System and method for granting permission to modify a memory area
US6279114B1 (en) * 1998-11-04 2001-08-21 Sandisk Corporation Voltage negotiation in a single host multiple cards system
US6901457B1 (en) 1998-11-04 2005-05-31 Sandisk Corporation Multiple mode communications system
DE19911794B4 (de) * 1999-03-17 2005-10-06 Robert Bosch Gmbh Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
EP1063589A1 (de) * 1999-06-25 2000-12-27 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Gerät zur Datenverarbeitung und entsprechendes Verfahren
JP4079552B2 (ja) * 1999-07-16 2008-04-23 富士通株式会社 不正コピーを防止した不揮発性半導体メモリ
US6407949B1 (en) * 1999-12-17 2002-06-18 Qualcomm, Incorporated Mobile communication device having integrated embedded flash and SRAM memory
JP3921024B2 (ja) * 2000-02-29 2007-05-30 富士通株式会社 半導体記憶装置
DE1269474T1 (de) * 2000-03-30 2003-08-14 Micron Technology Inc Symmetrisches schutzverfahren für erste und letzte sektoren eines synchronen flash-speichers
JP2001306393A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 記憶装置
US6643748B1 (en) * 2000-04-20 2003-11-04 Microsoft Corporation Programmatic masking of storage units
US6799265B1 (en) * 2000-07-11 2004-09-28 Intel Corporation Dependency checking for reconfigurable logic
US7539828B2 (en) * 2000-08-08 2009-05-26 Faronics Corporation Method and system for automatically preserving persistent storage
US6711701B1 (en) * 2000-08-25 2004-03-23 Micron Technology, Inc. Write and erase protection in a synchronous memory
US6772307B1 (en) 2001-06-11 2004-08-03 Intel Corporation Firmware memory having multiple protected blocks
US7318146B2 (en) * 2001-06-19 2008-01-08 Micron Technology, Inc. Peripheral device with hardware linked list
US7165137B2 (en) * 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
US6614695B2 (en) * 2001-08-24 2003-09-02 Micron Technology, Inc. Non-volatile memory with block erase
US7036005B2 (en) * 2001-12-31 2006-04-25 Intel Corporation Method and apparatus for modifying the contents of revision identification register
US6556476B1 (en) * 2002-03-11 2003-04-29 Unigen Corporation Non-volatile memory data protection
US7398554B1 (en) * 2002-04-02 2008-07-08 Winbond Electronics Corporation Secure lock mechanism based on a lock word
US6922745B2 (en) * 2002-05-02 2005-07-26 Intel Corporation Method and apparatus for handling locks
US7082525B2 (en) * 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory
US6948041B2 (en) * 2002-10-24 2005-09-20 Micron Technology, Inc. Permanent memory block protection in a flash memory device
ITRM20030039A1 (it) * 2003-01-30 2004-07-31 Micron Technology Inc Sblocco di registro di protezione per chip.
US6842371B2 (en) * 2003-06-03 2005-01-11 Micron Technology, Inc. Permanent master block lock in a memory device
US7093091B2 (en) * 2003-09-26 2006-08-15 Atmel Corporation Selectable block protection for non-volatile memory
JP2005108273A (ja) * 2003-09-26 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置
US20050138314A1 (en) * 2003-12-23 2005-06-23 Ming-Jen Liang Write-protected micro memory device
US8032727B2 (en) * 2004-07-23 2011-10-04 Broadcom Corporation Method and system for locking OTP memory bits after programming
JP4576323B2 (ja) * 2004-12-10 2010-11-04 富士通株式会社 データ転送装置およびデータ転送方法
JP4584044B2 (ja) * 2005-06-20 2010-11-17 ルネサスエレクトロニクス株式会社 半導体装置
US8375189B2 (en) * 2005-12-30 2013-02-12 Intel Corporation Configuring levels of program/erase protection in flash devices
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US7609561B2 (en) * 2006-01-18 2009-10-27 Apple Inc. Disabling faulty flash memory dies
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US20070174641A1 (en) * 2006-01-25 2007-07-26 Cornwell Michael J Adjusting power supplies for data storage devices
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US20080077590A1 (en) * 2006-09-22 2008-03-27 Honeywell International Inc. Efficient journaling and recovery mechanism for embedded flash file systems
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8074011B2 (en) * 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
KR20090102789A (ko) * 2006-12-06 2009-09-30 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) 프로그레시브 raid를 이용한 데이터 저장 장치, 시스템 및 방법
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
US20080288712A1 (en) * 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8090955B2 (en) 2007-10-17 2012-01-03 Micron Technology, Inc. Boot block features in synchronous serial interface NAND
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009072102A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US10235215B2 (en) * 2008-02-01 2019-03-19 International Business Machines Corporation Memory lock mechanism for a multiprocessor system
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) * 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8566510B2 (en) * 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8725977B2 (en) 2010-02-17 2014-05-13 Seagate Technology Llc NVMHCI attached hybrid data storage
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US9032163B2 (en) * 2010-09-22 2015-05-12 Novell, Inc. Data access management
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8271723B1 (en) * 2011-03-04 2012-09-18 Stec, Inc. Isolation devices for high performance solid state drives
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
TWI494944B (zh) * 2013-10-25 2015-08-01 Phison Electronics Corp 記憶體模組偵測方法、記憶體控制電路單元及儲存裝置
WO2015063845A1 (ja) * 2013-10-28 2015-05-07 富士通株式会社 データ格納装置、データ格納方法およびデータ格納プログラム
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9940048B2 (en) 2014-02-26 2018-04-10 Macronix International Co., Ltd. Nonvolatile memory data protection using nonvolatile protection codes and volatile protection codes
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US9619405B2 (en) 2014-11-24 2017-04-11 Nxp Usa, Inc. Device having memory access protection
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10839877B1 (en) * 2019-04-23 2020-11-17 Nxp Usa, Inc. Register protection circuit for hardware IP modules
US11036435B2 (en) * 2019-08-30 2021-06-15 Western Digital Technologies, Inc. Search time optimization in solid-state devices
CN112711780A (zh) * 2019-10-25 2021-04-27 中车株洲电力机车研究所有限公司 一种存储器解锁方法、***、存储介质以及计算机设备
CN111292698A (zh) * 2020-03-30 2020-06-16 Tcl华星光电技术有限公司 驱动电路及显示装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975878A (en) * 1988-01-28 1990-12-04 National Semiconductor Programmable memory data protection scheme

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4561051A (en) * 1984-02-10 1985-12-24 Prime Computer, Inc. Memory access method and apparatus in multiple processor systems
US4783745A (en) * 1986-01-30 1988-11-08 Pitney Bowes Inc. Nonvolatile memory unlock for an electronic postage meter
JP2685173B2 (ja) * 1986-05-31 1997-12-03 キヤノン株式会社 メモリ書き込み制御方法
US5053990A (en) * 1988-02-17 1991-10-01 Intel Corporation Program/erase selection for flash memory
US5222046A (en) * 1988-02-17 1993-06-22 Intel Corporation Processor controlled command port architecture for flash memory
US5175837A (en) * 1989-02-03 1992-12-29 Digital Equipment Corporation Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits
US5065364A (en) * 1989-09-15 1991-11-12 Intel Corporation Apparatus for providing block erasing in a flash EPROM
US5159672A (en) * 1989-12-28 1992-10-27 Intel Corporation Burst EPROM architecture
US5177745A (en) * 1990-09-26 1993-01-05 Intel Corporation Memory device with a test mode
US5249158A (en) * 1991-02-11 1993-09-28 Intel Corporation Flash memory blocking architecture
US5233559A (en) * 1991-02-11 1993-08-03 Intel Corporation Row redundancy for flash memories
US5265059A (en) * 1991-05-10 1993-11-23 Intel Corporation Circuitry and method for discharging a drain of a cell of a non-volatile semiconductor memory
US5245572A (en) * 1991-07-30 1993-09-14 Intel Corporation Floating gate nonvolatile memory with reading while writing capability
US5224070A (en) * 1991-12-11 1993-06-29 Intel Corporation Apparatus for determining the conditions of programming circuitry used with flash EEPROM memory
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975878A (en) * 1988-01-28 1990-12-04 National Semiconductor Programmable memory data protection scheme

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP 04-57 298 A, in: Patents Abstracts of Japan, P-1366, Vol. 16, No. 251 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10315638A1 (de) * 2003-04-04 2004-10-28 Infineon Technologies Ag Programmgesteuerte Einheit
DE10315727A1 (de) * 2003-04-04 2004-10-28 Infineon Technologies Ag Programmgesteuerte Einheit
DE10315726A1 (de) * 2003-04-04 2004-11-04 Infineon Technologies Ag Programmgesteuerte Einheit

Also Published As

Publication number Publication date
DE4422453A1 (de) 1995-01-12
US5592641A (en) 1997-01-07

Similar Documents

Publication Publication Date Title
DE4422453C2 (de) Flash-Speicherbauelement
DE69024086T2 (de) EEprom-System mit Blocklöschung
EP1158533B1 (de) EEPROM-Matrix mit einem, dem "Flash"-Speicher ähnlichen Kern
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE3853759T2 (de) Datenprozessor mit zwei Betriebsmoden.
DE19615956C2 (de) Ein nicht-flüchtiger, an einen DRAM-Bus anschließbarer Halbleiterspeicher und Verfahren zu dessen Betrieb
US5835927A (en) Special test modes for a page buffer shared resource in a memory device
US4752871A (en) Single-chip microcomputer having a program register for controlling two EEPROM arrays
DE602004003275T2 (de) Nichtflüchtiger Speicher mit Seiten-Kopierfunktion und entsprechendes Verfahren
DE3889390T2 (de) Schreibe-Schutzmechanismus für nichtflüchtigen Speicher.
DE3900798C2 (de) Verfahren zum Programmieren eines elektrisch löschbaren und programmierbaren Nur-Lese-Speichers
DE10052877B4 (de) Mikrocontroller
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE68922941T2 (de) Bedingungsschreib-RAM.
DE3128740C2 (de)
US5749088A (en) Memory card with erasure blocks and circuitry for selectively protecting the blocks from memory operations
US5526311A (en) Method and circuitry for enabling and permanently disabling test mode access in a flash memory device
DE2722099A1 (de) Abfangeinrichtung fuer ein dv-system
DE102006001492A1 (de) Halbleiterspeicheranordnung und Verfahren zum Betreiben einer Halbleiterspeicheranordnung
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE68916563T2 (de) Speicheranordnung mit Vorhersage der Bausteinauswahl.
DE102007061406A1 (de) Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speicherkarte
DE102004039178A1 (de) Speichersteuerschaltung, Smartcard und Lesesteuerverfahren
DE68913442T2 (de) Mikrorechner mit EEPROM.
DE19782214A1 (de) Verbesserte Schnittstelle für Flash-Eeprom-Speicher-Arrays

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8304 Grant after examination procedure
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140101