DE4422453C2 - Flash-Speicherbauelement - Google Patents
Flash-SpeicherbauelementInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory 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.
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.
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.
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)
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)
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)
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)
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 |
-
1993
- 1993-06-30 US US08/085,546 patent/US5592641A/en not_active Expired - Fee Related
-
1994
- 1994-06-30 DE DE4422453A patent/DE4422453C2/de not_active Expired - Fee Related
Patent Citations (1)
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)
Title |
---|
JP 04-57 298 A, in: Patents Abstracts of Japan, P-1366, Vol. 16, No. 251 * |
Cited By (3)
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 |