-
Die vorliegende Erfindung betrifft
eine nichtflüchtige
Halbleiterspeichervorrichtung, die Daten sogar nach Abschaltung
des Stroms hält,
und, genauer ausgedrückt,
ein Schreibsteuerverfahren zum Sperren eines Neueinschreibens von
Daten, die einmal in eine nichtflüchtige Halbleiterspeichervorrichtung
eingeschrieben worden sind.
-
In den letzten Jahren sind nichtflüchtige Halbleiterspeichervorrichtungen
(im folgenden der "Halbleiterspeicher" genannt), die Daten sogar
nach Abschaltung des Stroms halten, wie zum Beispiel EEPROM (Electronically
Erasable and Programmable Read Only Memory, elektrisch löschbarer
programmierbarer Festwertspeicher), Flash-Speicher und dergleichen
in einer Vielzahl von Anwendungen verwendet worden.
-
Ein solcher nichtflüchtiger
Speicher erlaubt ein Neueinschreiben sogar, nachdem Daten für ein Programm
und dergleichen einmal darin eingeschrieben worden sind. Aus diesem
Grunde ist es in einigen Anwendungen, die den nichtflüchtigen
Speicher verwenden, erforderlich, dass, nachdem Daten in den nichtflüchtigen
Speicher eingeschrieben wurden, die Inhalte der Daten nicht aus
diesem ausgelesen oder durch anderen Daten überschrieben werden können. Wenn
zum Beispiel ein Programm zum Steuern eines Motors eines Kraftfahrzeugs
in einen nichtflüchtigen
Speicher geschrieben wird, der dann geliefert wird, würde ein
Sicherheitsproblem auftreten, wenn ein allgemeiner Benutzer, der
das Kraftfahrzeug gekauft hat, das Programm auslesen und modifizieren
könnte.
-
Ein solches Problem kann gelöst werden, wenn
ein Programm in einen Masken-ROM zur Verwendung in einer Situation
wie der oben genannten eingeschrieben wird. Die Herstellung eines
Masken-ROM beinhaltet jedoch das vorhergehende Herstellen von Masken,
die zusätzliche
Zeit für
die Herstellung benötigen,
wodurch eine zum Entwickeln eines Programms verfügbare Zeitspanne begrenzt wird.
Wenn das Programm ferner aufgrund von darin gefundenen Fehlern modifiziert
werden sollte, kann das Programm in dem Masken-ROM nicht modifiziert werden,
bis seine Masken erneut für
Fehlerentfernung hergestellt sind. Aus den oben aufgeführten Gründen besteht
eine allgemeine Tendenz, dass nichtflüchtige Speicher wie zum Beispiel
ein Flash-Speicher in einem Anfangsstadium der Entwicklung eines
Programms anstelle des Masken-ROM verwendet werden.
-
Die wie oben beschriebenen Anforderungen sind
zum Beispiel durch die offengelegte japanische Patentanmeldung Nr.
2000-181898 angesprochen worden, die einen nichtflüchtigen
Speicher vorschlägt,
der ein Neueinschreiben sperrt, nachdem Daten einmal in diesen eingeschrieben
wurden.
-
Genauer ausgedrückt, offenbart die offengelegte
japanische Patentanmeldung Nr. 2000-181898 einen nichtflüchtigen Speicher basierend
auf einem Flash-Speicher, der einen Programmierbereich und einen
Bereich zum Speichern von Managementinformationen für den Programmierbereich
angeordnet in einer eins-zu-eins Entsprechung aufweist, so dass eine
CPU als Reaktion auf eine Programmieranfrage von außerhalb
auf den Managementinformationen-Speicherbereich zur Bestimmung Bezug
nimmt, ob die Programmierung in den Programmierbereich freigegeben
oder gesperrt IST.
-
Dieses konventionelle Verfahren beinhaltet jedoch
die Bestimmung, ob die Programmierung freigegeben oder gesperrt
IST, die durch die CPU vorgenommen wird, welche die Managementinformationen liest,
so dass, wenn eine böswillige
dritte Partei ein Programm der CPU selbst abwandelt, der Flash-Speicher
in einem Programmierbereich programmiert werden kann, selbst wenn
die damit verknüpften
Managementinformationen ein Neueinschreiben der Inhalte in dem Programmierbereich sperrt.
-
Es ist eine Aufgabe der vorliegenden
Erfindung, eine nichtflüchtige
Halbleiterspeichervorrichtung, die wirksam eine böswillige
dritte Partei unfähig macht,
darin gespeichert Daten neu einzuschreiben, und ein Neueinschreibsperrsteuerverfahren
zur Verwendung mit der nichtflüchtige
Halbleiterspeichervorrichtung zu schaffen.
-
Die nichtflüchtige Halbleiterspeichervorrichtung
gemäß der vorliegenden
Erfindung wird auf eine nichtflüchtige
Halbleiterspeichervorrichtung angewendet, die einen Speicherbereich
aufweist, der aus einer Mehrzahl von Speicherblöcken aufgebaut ist, wobei Daten
Speicherblock für
Speicherblock gelöscht
werden. Zum Lösen
der obigen Aufgabe speichert in der nichtflüchtigen Halbleiterspeichervorrichtung
der vorliegenden Erfindung jeder von wenigstens drei der Mehrzahl
von Speicherblöcken
einen Sicherheitsmerker des gleichen Inhalts, der einen Neueinschreibsperrzustand
anzeigt. Eine Neueinschreibsteuerschaltung ist vorgesehen, um eine
Majoritätsentscheidung über die
Werte der drei oder mehr gespeicherten Sicherheitsmerker (flag)
zum Bestimmen eines Neueinschreibsperr-/-freigabezustands zu treffen,
um die Logik eines Sperrsteuersignals basierend auf dem Ergebnis
der Bestimmung zu erzeugen. Dann steuert die Neueinschreibsteuerschaltung Sperrung
oder Freigabe eines Neueinschreibens in den Speicherbereich basierend
auf der Logik des Sperrsteuersignals.
-
Der vorliegenden Erfindung zufolge
werden die Sicherheitsmerker, die jeweils einen Neueinschreibsperrzustand
anzeigen, in einem Sicherheitsmerker-Speicherbereich gespeichert,
der in dem Speicherbereich vorgesehen ist, und der Sperr/Freigabezustand
wird direkt durch Hardware eingestellt, d. h. die Neueinschreibsteuerschaltung
in Übereinstimmung
mit den Werten der gespeicherten Sicherheitsmerker. Deshalb können die
Sicherheitsmerker für
ein bestimmtes in dem Speicherbereich der nichtflüchtigen
Halbleiterspeichervorrichtung gespeichertes Programm, wenn ein anschließendes Neueinschreiben,
wie zum Beispiel ein Löschen
und ein Überschreiben,
zu sperren ist, in Übereinstimmung mit
bestimmten Verhalten eingestellt werden, die gesperrt werden sollten,
um eine böswillige
dritte Partei am Neueinschreiben des gespeicherten Programms zu
hindern.
-
Ferner werden in der nichtflüchtigen
Halbleiterspeichervorrichtung der vorliegenden Erfindung die Sicherheitsmerker
des gleichen Inhalts in wenigstens drei oder mehr Speicherblöcken gespeichert,
so dass die Neueinschreibsteuerschaltung eine Majoritätsentscheidung über die
Werte der drei oder mehr Sicherheitsmerker trifft, um den Sperr/Freigabezustand
zu bestimmen. Sogar wenn eine augenblickliche Stromversorgungsunterbrechung
oder dergleichen während
einer Löschung
eines bestimmten Speicherblocks erfolgt, um unbeabsichtigt den Sicherheitsmerker
in einen Speicherblock neu einzuschreiben, behalten daher die in
den restlichen beiden oder mehr Speicherblöcken gespeicherten Sicherheitsmerker
die Originalwerte, wodurch ermöglicht
wird, Probleme wie zum Beispiel Gültigsetzung unbeabsichtigter
Sperreinstellung zu verhindern.
-
Der Sicherheitsmerker kann einen
Schreibsperrmerker, der einen Sperr/Freigabezustand für Einschreiben
neuer Daten in den Speicherbereich und einen Sperr/Freigabezustand
für eine
Löschung in
Blöcken
anzeigt; einen Blocklöschsperrmerker,
der einen Sperr/Freigabezustand für eine Löschung in Blöcken anzeigt;
und einen Chiplöschsperrmerker aufweisen,
der einen Sperr/Freigabezustand für eine gemeinsame Löschung des
gesamten Speicherbereichs und einen Sperr/Freigabezustand für eine Löschung in
Blöcken
anzeigt, wobei das Sperrsteuersignal ein Schreibsperrsteuersignal,
ein Blocklöschsperrsteuersignal
und ein Chiplöschsperrsignal
aufweisen kann.
-
Die obigen Aufgaben, Merkmale und
Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung
unter Bezugnahme auf die beigefügten
Zeichnungen deutlich werden, die Beispiele der vorliegenden Erfindung
darstellen.
-
1 ist
ein Blockdiagramm, das die Konfiguration einer nichtflüchtigen
Halbleiterspeichervorrichtung gemäß einer Ausführungsform
der vorliegenden Erfindung darstellt;
-
2 ist
eine Tabelle, die ein Eingangs-/Ausgangsverhältnis einer Schaltung 11 zum Erzeugen
eines Schreibsperrsteuersignals in 1 zeigt;
-
3 ist
eine Tabelle, die jeweilige Sicherheitsmerker und verknüpfte Verhalten
in einem Flash-Speicherschreiber zeigt; und
-
4 ist
ein Ablaufdiagramm, das den Betrieb der Neueinschreibsteuerschaltung 10 darstellt.
-
AUSFÜHRLICHE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Als nächstes soll eine Ausführungsform
der vorliegenden Erfindung ausführlich
unter Bezugnahme auf die beigefügten
Zeichnungen beschrieben werden. l ist
ein Blockdiagramm, das die Konfiguration einer nichtflüchtigen
Halbleiteirspeichervorrichtung gemäß einer Ausführungsform
der vorliegenden Erfindung zeigt.
-
Wie in 1 dargestellt
ist, weist die nichtflüchtige
Halbleiterspeichervorrichtung gemäß dieser Ausführungsform
einen Speicherbereich, der aus drei Speicherblöcken 501 – 503 besteht, und eine Neueinschreibsteuerschaltung 10 auf.
Es soll festgestellt werden, dass in der im folgenden beschriebenen Ausführungsform
ein Flash-Speicher als die nichtflüchtige Halbleiterspeichervorrichtung
verwendet wird.
-
Jeder der drei Speicherblöcke 501–503 ist in einen Benutzerbereich für den Benutzer
zum Schreiben von Daten wie zum Beispiel Programmcodes und einen
Sicherheitsmerker-Speicherbereich zum Speichern von Sicherheitsmerkern
wie zum Beispiel einen Schreibsperrmerker, einen Blocklöschsperrmerker,
einen Chiplöschsperrmerker
und dergleichen unterteilt. In dieser Ausführungsform hat jeder der Sicherheitsmerker
eine Länge
von 1 Bit, und der Sicherheitsmerker-Speicherbereich besetzt drei
Bits.
-
Hier ist der Schreibsperrmerker ein
Merker, der einen Sperr/Freigabezustand zum Schreiben neuer Daten
in den Speicherbereich und einen Sperr/Freigabezustand zum Löschen in
Blöcken
anzeigt; und der Blocklöschsperrmerker
ist ein Merker, der einen Sperr/Freigabezustand zum Löschen von Daten
in Blöcken
anzeigt; und der Chiplöschsperrmerker
ist ein Merker, der einen Sperr/Freigabezustand zum gemeinsamen
Lö schen
des gesamten Speicherbereichs, und einen Sperr/Freigabezustand zum
Löschen
in Blöcken
anzeigt.
-
Wenn entweder der Schreibsperrmerker oder
der Chiplöschsperrmerker
einen Sperrzustand anzeigt, wird deshalb ein Blocklöschen gesperrt, selbst
wenn der Blocklöschsperrmerker
einen Freigabezustand anzeigt.
-
Wenn in diesem Flash-Speicher ein
bestimmter Speicherblock gelöscht
wird, werden der Sicherheitsmerker-Speicherbereich und Benutzerbereich
gleichzeitig in dem Speicherblock gelöscht, zum Verhindern, dass
Daten in einem der Bereiche verbleiben. Wenn ferner der Flash-Speicher
in irgendeinem Verfahren gelöscht
wird, wird die Löschung
intern Speicherblock für
Speicherblock ohne Ausnahme vorgenommen.
-
Die Neueinschreibsteuerschaltung 10 weist eine
Schaltung 11 zum Erzeugen eines Schreibsperrsteuersignals,
eine Schaltung 12 zum Erzeugen eines Blocklöschsperrsteuersignals,
und eine Schaltung 13 zum Erzeugen eines Chiplöschsperrsteuersignals
auf.
-
Die Schaltung 11 zum Erzeugen
eines Schreibsperrsteuersignals liest die Schreibsperrmerker aus
den jeweiligen Sicherheitsmerker-Speicherbereichen der Speicherblöcke 501 –- 503 , entscheidet die Werte der drei Leseschreibsperrmerker
durch Majorität
zum Bestimmen eines Schreibsperr-/-freigabezustands und bestimmt
die Logik für
das Schreibsperrsteuersignal 20 basierend auf dem Ergebnis
der Bestimmung.
-
Genauer ausgedrückt, wenn zwei oder mehr der
drei Leseschreibsperrmerker "0" sind, was einen Sperrzustand anzeigt,
setzt die Schaltung 11 zum Erzeugen eines Schreibsperrsteuersignals
das Schreibsperrsteuersignal 20 auf niedrigen Pegel, der "Schreibsperre"
anzeigt. Wenn andererseits zwei oder mehr der drei Leseschreibsperrmerker
"1" sind, was einen Freigabezustand anzeigt, setzt die Schaltung 11 zum
Erzeugen eines Schreibsperrsteuersignals das Schreibsperrsteuersignal 20 auf
hohen Pegel, der "Schreibfreigabe" anzeigt.
-
2 zeigt
das Eingangs-/Ausgangsverhältnis,
das in der Schaltung 11 zum Erzeugen eines Schreibsperrsteuersignals
beteiligt ist. Es sollte festgestellt werden, dass die Schaltung 12 zum
Erzeugen eines Blocklöschsperrsteuersignals
und die Schaltung 13 zum Erzeugen eines Chiplöschsperrsteuersignals
auch ähnliche
Eingangs-/Ausgangsverhältnisse
aufweisen, außer
dass sie den Blocklöschsperrmerker
bzw. den Chiplöschsperrmerker
erhalten und dass sie das Blocklöschsperrsteuersignal 30 bzw.
Chiplöschsperrsteuersignal 40 liefern,
so dass eine Beschreibung hiervon weggelassen worden ist.
-
Die Neueinschreibsteuerschaltung 10 empfängt ein
Bordbetriebsartsignal und ein Selbstprogrammierbetriebsartsignal 70.
-
Wenn der Flash-Speicher in eine Flash-Speicherschreiberbetriebsart
gesetzt wird, wird das Bordbetriebsartsignal 60 aktiv,
wodurch ermöglicht
wird, dass ein Programm in den Flash-Speicher unter Verwendung eines
Flash-Speicherschreibers von außen eingeschrieben
wird, der auf einem Zielsystem (leiterplattenintegriert) angebracht
ist. Wenn der Flash-Speicher in eine Selbstprogrammierbetriebsart gesetzt
wird, wird das Selbstprogrammierbetriebsartsignal 70 aktiv
und initiiert ein Programm, das vorhergehend in irgendeinen Speicherblock
eingeschrieben wurde, um ein Programm von außerhalb zu lesen und das Programm
in einen Speicherblock einzuschreiben.
-
Zum Bestimmen der Betriebsart wird
zuerst bestimmt, ob der Flash-Speicher in der Flash-Speicherschreiberbetriebsart
oder normalen Betriebsart ist. Wenn ein bestimmter Anschluss in
der normalen Betriebsart auf den hohen Pegel geht, geht der Flash-Speicher
auf die Selbstprogrammierbetriebsart über. Hier bezieht sich normale
Betriebsart auf eine Betriebsart, in der ein Benutzerprogramm ausgeführt wird.
In dieser normalen Betriebsart sind das Bordbetriebsartsignal 60 und
das Selbstprogrammierbetriebsartsignal 70 beide inaktiv.
-
Die vorhergehenden Sicherheitsmerker
können
gesetzt werden, nachdem ein Programm in den Flash-Speicher in der
Flash-Speicherschreiberbetriebsart eingeschrieben worden ist.
-
In der Selbstprogrammierbetriebsart
sind das Schreibsperrsteuersignal 20, das Blocklöschsperrsteuersignal 30 und
das Chiplöschsperrsteuersignal 40 auf
hohem Pegel, wobei jegliche Grenzen für Neueinschreiben aufgehoben
sind.
-
Zu der Zeit, wenn das Bordbetriebsartsignal 60 aktiv
wird, um den Flash-Speicher in die Flash-Speicherschreiberbetriebsart
zu setzen, haben das Schreibsperrsteuersignal 20, das Blocklöschsperrsteuersignal 30 und
das Chiplöschsperrsteuersignal 40 Anfangswerte,
die ausnahmelos auf niedrigen Pegel gesetzt sind, wodurch ein Neueinschreiben
gesperrt wird.
-
Als nächstes zeigt 3 das Verhältnis zwischen den jeweiligen
Sicherheitsmerkern und resultierenden Verhalten in dem Flash-Speicherschreiber.
-
"Schreibsperre", wie hier verwendet,
bedeutet, ein neues Dateneinschreiben in den Flash-Speicher zu sperren.
"Blocklöschsperre"
wiederum bedeutet, ein Löschen
von Daten in Blöcken
zu sperren, während
"Chiplöschsperre"
bedeutet, eine Sammellöschung
von Daten in dem gesamten Flash-Speicherchip zu sperren.
-
Der Flash-Speicher in dieser Ausführungsform
umfasst drei Speicherblöcke 501-503 und eine Neueinschreibsteuerschaltung 10,
die die jeweiligen Sicherheitsmerker durch Majorität entscheidet,
um die Logik des Schreibsperrsteuersignals 20, des Blocklöschsperrsteuersignals 30 und
Chiplöschsperrsteuersignals 40 aus
den im folgenden ausgeführten
Gründen
zu erzeugen.
-
Wenn die Sicherheitsmerker nur in
einem Speicherblock gespeichert sind, um die Logik der Sperrsteuersignale
wie zum Beispiel des Schreibsperrsteuersignals 20, des
Blocklöschsperrsteuersignals 30,
Chiplöschsperrsteuersignals
und dergleichen basierend nur auf diesen Sicherheitsmerkern zu entscheiden,
kann das folgende Problem in dem Fall einer augenblicklichen Unterbrechung
der Stromversorgung und dergleichen entstehen.
-
Wenn die Stromversorgung augenblicklich während des
Prozesses der Löschung
eines Programms in der Flash-Speicherschreiberbetriebsart, die aus
einer Aktivierung des Bordbetriebsartsignals 60 resultiert,
unterbrochen wird, können
die Sicherheitsmerker unbestimmte Werte aufweisen, die eine unbeabsichtigte
Sperreinstellung gültig
machen würden.
Wenn einmal ein solcher Zustand erreicht ist, würde anschließendes Neueinschreiben
gesperrt werden, so dass jegliches Neueinschreiben anschließend gesperrt
werden würde,
obwohl kein korrektes Programm in den Benutzerbereich eingeschrieben wurde,
wodurch es nicht gelingt, eine normale Rückkehr zu ermöglichen.
-
Wenn in einem anderen Fall der Strom
augenblicklich in dem Prozess der Löschung eines bestimmten Benutzerbereichs
in der Selbstprogrammierbetriebsart unterbrochen wird, unter der
Annahme, dass nur ein 1-Bit-Sicherheitsmerker in einem den Benutzerbereich
einschließenden
Speicherblock gespeichert ist, der Sicherheitsmerker unter einem unbestimmten
Wert leiden und möglicherweise
eine unbeabsichtigte Sperreinstellung gültig machen.
-
Insbesondere beinhalten ein Flash-Speicher und
dergleichen ein Voreinschreiben zum einmaligen Durchführen eines
Einschreibens, bevor geschriebenen Daten gelöscht werden, um in allen Speicherzellen
gehaltene Spannungspegel auf den gleichen Pegel zu setzen. Wenn
die Stromversorgung augenblicklich unterbrochen wird, während in
einen bestimmten Speicherblock neu eingeschrieben wird, könnte daher
ein Sicherheitsmerker in dem Sicherheitsmerker-Speicherbereich des
Speicherblocks, der im wesentlichen auf den niedrigem Pegel sein sollte,
auf den hohen Pegel übergehen.
-
Wie oben beschrieben ist, wird in
dem Flash-Speicher eine Löschung
intern Block für
Block ohne Ausnahme in einem jeglichen Verfahren durchgeführt, so
dass Daten in zwei oder mehr Speicherblöcken nie unbestimmt werden
werden, selbst wenn die Stromversorgung augenblicklich während der
Löschung
unterbrochen wird. Wenn die Sicherheitsmerker des gleichen Inhalts
verteilt in drei oder mehr Speicherblöcken gespeichert sind, selbst
wenn der in einem bestimmten Speicherblock gespeicherte Sicherheitsmerker
unbeabsichtigt neu geschrieben wird, halten daher die in den beiden
oder mehr verbleibenden Speicherblöcken gespeicherten Sicherheitsmerker
korrekte Werte. Als solche können
die verteilt in den drei Speicherblöcken gespeicherten Sicherheitsmerker
aus diesen zum Treffen einer Majoritätsentscheidung ausgelesen werden,
um einen korrekten Wert für
die Sicherheitsmerker zu entscheiden, wodurch Probleme wie zum Beispiel
das Gültigsetzen
einer unbeabsichtigten Sperreinstellung vermieden werden, selbst
wenn der Wert des in einem bestimmten Speicherblock gespeicherten
Sicherheitsmerkers aufgrund augenblicklicher Unterbrechung der Stromversorgung
oder dergleichen neu eingeschrieben wird.
-
Als nächstes soll der Betrieb der
Neueinschreibsteuerschaltung 10 in der nichtflüchtigen Halbleiterspeichervorrichtung
gemäß dieser
Ausführungsform
unter Bezugnahme auf ein Ablaufdiagramm von 4 beschrieben werden.
-
Zuerst bestimmt im Schritt 101 die
Neueinschreibsteuerschaltung 10, ob der Flash-Speicher in einer
Betriebsart ist, in der ein Neueinschreiben freigegeben ist. Genau
ausgedrückt,
bestimmt die Neueinschreibsteuerschaltung 10, dass der
Flash-Speicher sich in der Flash-Speicherschreiberbetriebsart befindet,
wenn das Bordbetriebsartsignal 60 aktiv ist und das Selbstprogrammierbetriebsartsignal 70 inaktiv
ist, und bestimmt, dass der Flash-Speicher sich in der normalen
Betriebsart befindet, wenn das Bordbetriebsartsignal 60 und
das Selbstprogrammierbetriebsartsignal 70 beide inaktiv
sind.
-
Wenn bei Schritt 101 bestimmt
wird, dass der Flash-Speicher in der normalen Betriebsart ist, setzt die
Neueinschreibsteuerschaltung 10 alle der Sperrsteuersignale
wie zum Beispiel das Schreibsperrsteuersignal 20, das Blocklöschsperrsteuersignal 30, Chiplöschsperrsteuersignal 40 und
dergleichen auf niedrigen Pegel, um den Flash-Speicher bei Schritt 102 in
einen Sperrzustand zu bringen. Dann, wenn eine Selbstprogrammierung
in der normalen Betriebsart initiiert wird, wird das Selbstprogrammierbetriebsartsignal 70 aktiv,
wodurch der Neueinschreibsteuerschaltung 10 ermöglicht wird,
zu wissen, dass der Flash-Speicher in die Selbstprogrammierbetriebsart übergegangen
ist. Nach Feststellen, dass der Flash-Speicher in die Selbstprogrammierbetriebsart übergegangen
ist, setzt die Neueinschreibsteuerschaltung 10 alle der
Sperrsteuersignale wie zum Beispiel das Schreibsperrsteuersignal 20, Blocklöschsperrsteuersignal 30,
Chiplöschsperrsteuersignal 40 und
dergleichen auf hohen Pegel, um den Flash-Speicher in einen Freigabezustand
zu bringen. Die Verarbeitung bis zu diesem Schritt wird durch die Selbstprogrammierungsverarbeitung
in dem Ablaufdiagramm von 4 dargestellt.
-
Wenn bei Schritt 101 bestimmt
wird, dass der Flash-Speicher in der Flash-Speicherschreiberbetriebsart
ist, setzt die Neueinschreibsteuerschaltung 10 alle der
Sperrsteuersignale, wie zum Beispiel das Schreibsperrsteuersignal 20,
Blocklöschsperrsteuersignal 30,
Chiplöschsperrsteuersignal 40 und
dergleichen auf niedrigen Pegel, als Anfangseinstellungen, um den
Flash-Speicher bei Schritt 103 in einen Sperrzustand zu
bringen.
-
Als nächstes liest die Neueinschreibsteuerschaltung 10 bei
Schritt 104 die Sicherheitsmerker, die jeweils in den Sicherheitsmerker-Speicherbereichen
jeweiliger Speicherblöcke 501–503 gespeichert sind, wobei jede der Schaltung 11 zum
Erzeugen des Schreibsperrsteuersignals, der Schaltung 12 zum
Erzeugen des Blocklöschsperrsteuersignals
und der Schaltung 11 zum Erzeugen des Chiplöschsperrsteuersignals
veranlasst wird, eine Majoritätsentscheidung über die
drei Schreibsperrmerker zu treffen, die in den Sicherheitsmerker-Speicherbereichen
der jeweiligen Speicherblöcke 501–503 gespeichert sind. Die Schaltung 11 zum
Erzeugen des Schreibsperrsteuersignals trifft eine Majoritätsentscheidung über die
drei Schreibsperrmerker, die in den jeweiligen Sicherheitsmerker-Speicherbereichen
von drei Speicherblöcken 501–503 gespeichert sind. Die Schaltung 12 zum
Erzeugen des Blocklöschsperrsteuersignals
trifft eine Majoritätsentscheidung über die
drei Blocklöschsperrmerker,
die in den jeweiligen Sicherheitsmerker-Speicherbereichen der drei Speicherblöcke 501-503 gespeichert
sind. Die Schaltung 13 zum Erzeugen des Chiplöschsperrsteuersignals
trifft eine Majoritätsentscheidung über die
drei Chiplöschsperrmerker,
die in den jeweiligen Sicherheitsmerker-Speicherbereichen der drei
Speicherblöcke 501-503 gespeichert
sind.
-
Nach den Majoritätsentscheidungen über die Sicherheitsmerker ändert die
Neueinschreibsteuerschaltung 10 die Logik des Schreibsperrsteuersignals 20,
Blocklöschsperrsteuersignals 30 und
Chiplöschsperrsteuersignals 40 basierend
auf den Ergebnissen der Majorttätsentscheidungen
bei Schritt 105. Wenn die Ergebnisse der Majorttätsentscheidungen zu einem Sperrzustand
führen,
bleibt die Logik jedes Sperrsteuersignals auf niedrigem Pegel.
-
Wenn die Steuerung wie oben beschrieben durchgeführt wird,
setzt die Neueinschreibsteuerschaltung 10 einen Sperr/Freigabezustand
für jedes der
Sperrsteuersignale wie zum Beispiel das Schreibsperrsteuersignal 20,
Blocklöschsperrsteuersignal 30,
Chiplöschsperrsteuersignal 40 und
dergleichen basierend auf den Sicherheitsmerkern, die in den jeweiligen
Sicherheitsmerker-Speicherbereichen der Speicherblöcke 501-503 gespeichert
sind.
-
Der nichtflüchtigen Halbleiterspeichervorrichtung
dieser Ausführungsform
zufolge, werden die jeweils einen Neueinschreibsperrzustand anzeigenden
Sicherheitsmerker in den Sicherheitsmerker-Speicherbereichen gespeichert,
die in dem Speicherbereich des Flash-Speichers vorgesehen sind,
und ein Sperr/Freigabezustand wird direkt durch Hardware wie zum
Beispiel die Schaltung 11 zum Erzeugen eines Neueinschreibsperrsteuersignals,
die Schaltung 12 zum Erzeugen eines Blocklöschsperrsteuersignals,
die Schaltung 13 zum Erzeugen des Chiplöschsperrsteuersignals und dergleichen
in Übereinstimmung
mit den Werten der gespeicherten Sicherheitsmerker gesetzt. Daher
kann zum Sperren eines in dem Flash-Speicher gespeicherten bestimmten
Programms, das anschließend neu
eingeschrieben werden soll, wie zum Beispiel eine Löschung und
ein Überschreiben,
wenn die Sicherheitsmerker in Übereinstimmung
mit bestimmten Verhalten eingestellt sind, die gesperrt werden sollten,
eine böswillige
dritte Partei am Neueinschreiben des gespeicherten Programms unter
Verwendung eines Flash-Speicherschreibers gehindert werden.
-
Ferner sind in der nichtflüchtigen
Halbleiterspeichervorrichtung gemäß dieser Ausführungsform die
Sicherheitsmerker des gleichen Inhalts in drei verschiedenen Speicherblöcken gespeichert,
so dass die Neueinschreibsteuerschaltung 10 eine Majoritätsentscheidung über die
Werte der drei Sicherheitsmerker zum Bestimmen eines Sperr/Freigabezustands
trifft. Selbst wenn eine augenblickliche Unterbrechung der Stromversorgung
oder dergleichen während
einer Löschung
eines bestimmten Speicherblocks zum unbeabsichtigten Neueinschreiben
des Sicherheitsmerkers in einem Speicherblock erfolgt, behalten
dementsprechend die in den beiden verbleibenden Speicherblöcken gespeicherten
Sicherheitsmerker die Originalwerte, wodurch ermöglicht wird, Probleme wie zum
Beispiel das Gültigsetzen
einer unbeabsichtigten Sperreinstellung zu verhindern.
-
Während
in der vorhergehenden Ausführungsform
jeder der Schreibsperr-, Blocklöschsperr- und
Chiplöschsperrmerker
so beschrieben worden ist, dass er eine Länge von 1 Bit aufweist, ist
die vorliegende Erfindung nicht auf diese bestimmte Länge von
Merkern begrenzt, sondern jeder Merker kann eine Länge von
2 Bit oder mehr aufweisen. Zum Beispiel kann jeder Merker mit zwei
Bits versehen sein, so dass der auf "11" eingestellte Merker eine
freigegebene Löschung
anzeigt, während
die restlichen "10", "01 ", "00" eine gesperrte Löschung anzeigen.
-
Während
die vorhergehende Ausführungsform
ferner für
einen Flash-Speicher beschrieben wurde, der drei Speicherblöcke zur
Vereinfachung der Beschreibung aufweist, ist die vorliegende Erfindung
nicht auf diesen bestimmten Flash-Speicher begrenzt. Die Anzahl
von Speicherblöcken
kann wenigstens drei oder mehr zum Treffen einer Majoritätsentscheidung
sein, so dass die vorliegende Erfindung in einer ähnlichen
Weise auf einen Flash-Speicher mit vier oder mehr Speicherblöcken angewendet
werden kann. Es soll festgestellt werden, dass nicht alle Speicherblöcke mit
einem Sicherheitsmerker-Speicherbereich versehen sein müssen, und
die Anzahl von Speicherblöcken
nicht die gleiche wie die Anzahl von Sicherheitsmerker-Speicherbereichen sein
muss.
-
Ferner ist in der vorhergehenden
Ausführungsform
der Flash-Speicher in drei Speicherblöcke unterteilt, und jeder Speicherblock
ist wiederum in einen Sicherheitsmerker-Speicherbereich und einen Benutzerbereich
unterteilt, so dass die Sicherheitsmerker des gleichen Inhalts in
den jeweiligen Sicherheitsmerker-Speicherbereichen gespeichert werden. Ansonsten
können ähnliche
Effekte erzeugt werden, wenn die Sicherheitsmer ker des gleichen
Inhalts in drei oder mehr Bereichen gespeichert werden können, die
nie gleichzeitig gelöscht
werden werden.
-
Während
eine bevorzugte Ausführungsform der
vorliegenden Erfindung unter Verwendung spezieller Ausdrücke beschrieben
wurde, ist eine solche Beschreibung nur zu Darstellungszwecken vorgesehen,
und es soll verstanden werden, dass Änderungen und Abwandlungen
vorgenommen werden können,
ohne vom Geist oder Umfang der folgenden Patentansprüche abzuweichen.