-
Die vorliegende Erfindung betrifft
eine Halbleiterspeichervorrichtung mit einem Halbleiterspeicher,
in welchen Daten in Sektoreinheiten geschrieben werden und insbesondere
eine Halbleiterspeichervorrichtung, welche eine Datenänderung
aufgrund sich aufsummierender Störungen
verhindert.
-
In den letzten Jahren besteht eine
wachsende Forderung nach Speichern mit hoher Kapazität und nichtflüchtige Speicher
haben weite Anwendung gefunden. Allgemein gesagt, ein nichtflüchtiger
Speicher wird aus einer Mehrzahl von Blöcken gebildet und jeder Block
ist aus einer Mehrzahl von Sektoren gebildet.
-
Wenn in einen Sektor Daten geschrieben/hieraus
gelöscht
werden, wird an die anderen Sektoren im gleichen Block ebenfalls
eine Spannung angelegt, da die Spannungsanlegung Block für Block durchgeführt wird.
Diese Spannungsanlegung hat einen leichten Einfluß auf die
anderen Sektoren (nachfolgend wird dieser Einfluß als "Störung" bezeichnet).
-
Bei einer sich ansammelnden oder
aufsummierenden Störung
wird die in jeder Speicherzelle gehaltene elektrische Ladung nach
und nach verloren gehen, so daß die
Datenspeicherungszeit verkürzt
wird. Genauer gesagt, ein Sektor, in welchen keine Daten geschrieben
worden sind, hat eine sich aufsummierende Störung aufgrund eines Sektors,
in welchen Daten geschrieben worden sind, und wenn die Anzahl von
Störungen
eine bestimmte Anzahl über schreitet,
erfolgt eine Datenänderung.
Es wäre kein
ernsthaftes Problem, wenn diese bestimmte Anzahl höher als
die Anzahl von neuen Schreibvorgängen
in dem nichtflüchtigen
Speicher ist; es gibt jedoch ein Problem dahingehend, daß die bestimmte Anzahl
kleiner sein kann als die Anzahl von neuen Schreibvorgängen in
dem nichtflüchtigen
Speicher.
-
Um eine Datenänderung aufgrund einer derartigen
sich aufsummierenden Störung
zu verhindern, ist es notwendig, auf Sektoren zuzugreifen, in welchen
keine Daten in einem speziellen Block geschrieben sind, oder die
Anzahl von Neuschreibvorgängen
in Einheiten von Sektoren zu handhaben. Es ist auch möglich, eine
Datenänderung
aufgrund einer sich aufsummierenden Störung oder sich aufsummierender
Störungen
dadurch zu verhindern, indem ein Erneuerungsvorgang durchgeführt wird,
bei welchem Daten aus einer Speicherzelle gelesen und dann die gleichen
Daten erneut geschrieben werden. Die japanische Patentoffenlegung
Nr. 6-215584 beschreibt eine Erfindung betreffend diesen Stand der Technik.
-
Bei einer nichtflüchtigen Halbleiterspeichervorrichtung,
wie sie in der japanischen Patentoffenlegung Nr. 6-215584 offenbart
ist, liest ein Erneuerungssteuerschaltkreis Daten, welche in einem 1024-Bitflagzellenarray
gespeichert sind, beginnend mit dem ersten Datenstück, und
wenn die erste Flagzelle in dem gelöschten Zustand erreicht wird,
wird die Flagzelle in den geschriebenen Zustand versetzt und der
nichtflüchtige
Speicher des entsprechenden Erneuerungsblockes erneuert.
-
Wenn die letzte Flagzelle als Ergebnis
eines fortlaufenden Lesens der in dem Flagzellenarray gespeicherten
Daten erreicht wird, wird ein Löschvorgang
durchgeführt,
um alle Flagzellen in den gelöschten
Zustand zu verset zen. Dies macht es möglich, daß die Flags durch einen Vorgang
entsprechend 1024 Erneuerungen gelöscht werden, was es möglich macht,
eine Konzentration von Schreiben/Löschen zu verhindern, wenn der
Erneuerungszähler
aus einem nichtflüchtigen
Speicher gebildet ist.
-
Wie oben beschrieben, kann eine Datenänderung
aufgrund einer sich aufsummierenden Störung verhindert werden, indem
auf Sektoren zugegriffen wird, in welchen keine Daten in einen speziellen
Block geschrieben sind, oder indem die Anzahl von Neuschreibvorgängen in
Sektoreinheiten gehandhabt wird. Dies bringt jedoch das Problem
mit sich, daß eine
komplizierte Handhabung die Prozeßleistung der Halbleiterspeichervorrichtung
verringert.
-
Bei dem nichtflüchtigen Speicher, wie er in der
japanischen Patentoffenlegung Nr. 6-215584 offenbart ist, wird die
Erneuerung von 1024 Erneuerungsblöcken durch das 1024-Bitflagzellenarray
gehandhabt, um eine Konzentration von Schreiben/Löschen zu
verhindern, welche bewirkt werden würde, wenn der Erneuerungszähler aus
einem nichtflüchtigen
Speicher gebildet ist. Es gibt jedoch keine Berücksichtigung hinsichtlich des
Grades der Ansammlung oder Aufsummierung von Störungen in anderen Sektoren
des gleichen Blocks. Diese Erneuerung aller Blöcke auf gleichförmige Weise
verursacht das Problem, daß die
Prozeßleistung
verringert wird und die Anzahl von Schreibvorgängen erhöht wird.
-
Aufgabe der vorliegenden Erfindung
ist es, eine Halbleiterspeichervorrichtung zu schaffen, bei der
eine Datenänderung
aufgrund sich aufsummierender Störungen
verhindert ist, wobei der Anstieg der Anzahl von Neuschreibvorgängen in
einem Sektor unterdrückt
wird.
-
Zur Lösung dieser Aufgabe schlägt die vorliegende
Erfindung die im Anspruch 1 angegebenen Merkmale vor; vorteilhafte
Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
-
Gemäß einem Aspekt der vorliegenden
Erfindung beinhaltet eine Halbleiterspeichervorrichtung im wesentlichen:
einen nichtflüchtigen
Speicher, in welchem Daten in einer Sektoreinheit geschrieben werden;
und eine Daten-Neuschreibeinheit,
welche Daten in dem nichtflüchtigen
Speicher neu schreibt, wobei jeder Sektor in dem nichtflüchtigen
Speicher aufweist: einen Datenbereich, in welchem Daten gespeichert
werden; und eine Erneuerungsmarkierung, in der Informationen gespeichert
sind, welche angeben, ob eine Erneuerung durchgeführt worden
ist oder nicht, wobei die Daten-Neuschreibeinheit eine Erneuerungsdurchführeinheit
beinhaltet, welche sich auf die Erneuerungsmarkierung bezieht, und
bestimmt, ob der Sektor erneuert worden ist oder nicht, so daß die Erneuerung
durchgeführt
wird.
-
Da sich die Erneuerungsdurchführeinheit
auf die Erneuerungsmarkierung bezieht und bestimmt, ob der Sektor
erneuert worden ist oder nicht, wodurch die Erneuerung durchgeführt wird,
ist es möglich,
die Anzahl von Neuschreibvorgängen
in einem speziellen Sektor an einem Anwachsen zu hindern, und eine
Datenänderung
aufgrund einer sich aufsummierenden Störung kann durch den Erneuerungsvorgang
verhindert werden.
-
Weitere Einzelheiten, Aspekte und
Vorteile der vorliegenden Erfindung ergeben sich besser aus der
nachfolgenden detaillierten Beschreibung der vorliegenden Erfindung
in Zusammenschau mit der beigefügten
Zeichnung.
-
Es zeigt:
-
1 ein
Blockdiagramm des schematischen Aufbaus einer Halbleiterspeichervorrichtung gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung;
-
2 eine
Darstellung eines Beispiels der Datenstruktur eines Sektors in einem
Halbleiterspeicher 2;
-
3 ein
Blockdiagramm des schematischen Aufbaus des Halbleiterspeichers 2 gemäß der ersten
Ausführungsform
der vorliegenden Erfindung;
-
4 eine
Darstellung zur Beschreibung einer logischen/physikalischen Sektorwandlung;
-
5 ein
Blockdiagramm der Funktionsstruktur einer Daten-Neuschreibeeinheit
gemäß der ersten
Ausführungsform
der vorliegenden Erfindung;
-
6 ein
Flußdiagramm
zur Beschreibung des Ablaufs während
des Betriebs der Halbleiterspeichervorrichtung gemäß der vorliegenden
Ausführungsform
der vorliegenden Erfindung;
-
7 ein
Flußdiagramm
zur Beschreibung des Ablaufs während
des Betriebs einer Halbleiterspeichervorrichtung gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung;
-
8 ein
Flußdiagramm
zur Beschreibung des Ablaufs während
des Betriebs einer Halbleiterspeichervorrichtung gemäß einer
dritten Ausführungsform
der vorliegenden Erfindung;
-
9 ein
Flußdiagramm
zur Beschreibung des Ablaufs während
des Betriebs einer Halbleiterspeichervorrichtung gemäß einer
vierten Ausführungsform
der vorliegenden Erfindung;
-
10 ein
Flußdiagramm
zur Beschreibung des Ablaufs während
des Betriebs einer Halbleiterspeichervorrichtung gemäß einer
fünften
Ausführungsform
der vorliegenden Erfindung; und
-
11 ein
Flußdiagramm
zur Beschreibung des Ablaufs während
des Betriebs einer Halbleiterspeichervorrichtung gemäß einer
sechsten Ausführungsform
der vorliegenden Erfindung;
-
<Erste Ausführungsform>
-
1 ist
ein Blockdiagramm, welches den schematischen Aufbau einer Halbleiterspeichervorrichtung
gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung zeigt. Diese Halbleitervorrichtung umfaßt eine
MCU 1 (Micro Controller Unit), welche die gesamte Halbleiterspeichervorrichtung steuert,
sowie einen Halbleiterspeicher 2, der aus einem nichtflüchtigen
Speicher oder dergleichen gebildet ist.
-
Die MCU 1 ist gebildet aus
einer CPU (zentrale Verarbeitungseinheit), einem RAM (Speicher mit
wahlfreiem Zugriff) und anderen Bauteilen und steuert den Halbleiterspeicher
2, indem die CPU veranlaßt
wird, ein Programm durchzuführen,
welches im RAM oder anderen Einheiten abgespeichert ist. Die MCU 1 steuert
das Lesen/Schreiben von Daten aus/in dem Halbleiterspeicher 2 oder
in den Halbleiterspeicher 2 durch ein Steuersignal. Das
Lesen/Schreiben von Daten wird über
einen Datenbus durchgeführt.
-
2 ist
eine Darstellung zur Veranschaulichung eines Beispiels der Datenstruktur
oder des Datenaufbaus eines Sektors im Halbleiterspeicher 2. Jeder
Sektor beinhaltet einen Datenbereich 11 und einen Handhabungs-
oder Managementbereich 12. Der Managementbereich 12 beinhaltet
einen ECC-Code 13 (Error Checking and Correcting) für eine Fehlererkennung/Fehlerkorrektur
des Datenbereichs 11, einen Nicht-Fehlerhaft-Sektorcode 14 zur Angabe,
ob der Sektor nicht fehlerhaft oder fehlerhaft ist und eine Erneuerungsmarkierung 15,
welche anzeigt, ob eine Erneuerung durchgeführt wurde oder nicht.
-
3 ist
ein Blockdiagramm, welches den schematischen Aufbau des Halbleiterspeichers 2 gemäß der ersten
Ausführungsform
der vorliegenden Erfindung zeigt. Der Halbleiterspeicher 2 ist
gebildet aus einer Mehrzahl von Blöcken, wobei jeder Block wiederum
eine Mehrzahl von Sektoren aufweist.
-
Wenn ein Halbleiterspeicher, beispielsweise ein
nichtflüchtiger
Speicher gemäß 3, zur Anwendung gelangt,
sind in manchen Fällen
nicht alle Sektoren nicht fehlerhaft, so daß es notwendig ist, sicherzustellen,
daß eine
logische Adresse nur einem nicht fehlerhaften Sektor zugewiesen
wird. Ein nicht fehlerhafter Sektor, dem eine logische Adresse zugewiesen
ist, wird als logischer Sektor bezeichnet; nicht fehlerhafte und
fehlerhafte Sektoren werden kollektiv als physikalische Sektoren
bezeichnet;. und die Umwandlung von der Adresse (Nummer) eines logischen
Sektors in die Adresse (Nummer) eines physikalischen Sektors wird
nachfolgend als logisch/physikalische Sektorwandlung bezeichnet.
-
4 ist
eine Darstellung zur Beschreibung der logisch/physikalischen Sektorwandlung.
Unter Ausschluß physikalischer
Sektoren #2 und #4, welche fehlerhaft sind, wird einem physikalischen
Sektor #0 ein logischer Sektor #0 zugewiesen; einem physikalischen
Sektor #1 wird ein logischer Sektor #1 zugewiesen; einem physikalischen
Sektor #3 wird ein logischer Sektor #2 zugewiesen; und einem physikalischen
Sektor #5 wird ein logischer Sektor #3 zugewiesen. Eine Information über die
logische/physikalische Sektorwandlung wird gehandhabt, indem sie
in einen speziellen Sektor geschrieben wird. Die Information über die
logische/physikalische Sektorwandlung wird dem oben erwähnten RAM übertragen,
worauf die CPU Bezug nimmt .
-
Wenn das Schreiben/Löschen von
Daten unmöglich
wird, da sich eine Verschlechterung eines logischen Sektors ergibt,
weist die CPU die logische Sektornummer einer anderen physikalischen
Sektornummer zu und erneuert die Informationen über die logische/physikalische
Sektorwandlung. Die erneuerte Information bezüglich der logischen/physikalischen
Sektorwandlung schlägt
sich im RAM und im oben erwähnten
speziellen Sektor nieder.
-
5 ist
ein Blockdiagramm, welches den Funktionsaufbau des Datenschreibevorgangs
zeigt (nachfolgend als Daten-Neuschreibeeinheit bezeichnet), welche
durch die Durchführung
eines Programms der MCU 1 gemäß der ersten Ausführungsform
der vorliegenden Erfindung realisiert wird. Die Daten-Neuschreibeeinheit
weist ein logisch/physikalisches Sektorwandlerteil 21,
das eine Wandlung von einem logischen Sektor in einen physikalischen
Sektor durchführt;
ein Erneuerungszonen-Erkennungsteil 22, das einen oder
mehrere Blöcke
erkennt, welche ein Erneuerungsziel sind (nachfolgend als Erneuerungszone
bezeichnet); ein Erneuerungs-Durchführteil 23, das einen
Sektor in der Erneuerungszone erneuert; und ein Datenerneuerungsteil 24 auf,
das eine Datenerneuerung in dem Zielsektor durchführt.
-
6 ist
ein Flußdiagramm
zur Beschreibung des Arbeitsablaufs der Halbleiterspeichervorrichtung
gemäß der ersten
Ausführungsform
der vorliegenden Erfindung. Wenn Daten in einen logischen Sektor
geschrieben werden, wandelt das logisch/physikalische Sektorwandlerteil 21 den
logischen Sektor in einen physikalischen Sektor um (S1).
-
Sodann erkennt das Erneuerungszonen-Erkennungsteil 22 eine
Erneuerungszone, welche das Erneuerungsziel ist, und zwar auf der
Grundlage der physikalischen Sektornummer, welche von dem logisch/physikalischen
Sektorwandlerteil 21 gewandelt wurde (S2).
-
Das Erneuerungs-Durchführungsteil 23 setzt ein
Erneuerungsflag (S3), erkennt und erneuert einen Sektor in der Erneuerungszone,
der das Erneuerungsziel ist, und erneuert den Inhalt der Erneuerungsmarkierung 15 in
diesem Sektor (S4). Die Erneuerung gemäß der vorliegenden Ausführungsform umfaßt das Neuschreiben
von Informationen (das Schreiben des gleichen Inhalts in den Sektoren)
beginnend am Kopfsektor innerhalb der Erneuerungszone ohne Berücksichtigung
der Anzahl von Neuschreibvorgängen.
Das Neuschreiben, welches vor der Änderung der Datenänderung
aufgrund einer sich aufsummierenden Störung, bewirkt durch Schreiben
von Daten in einen Sektor, durchgeführt wird, ermöglicht,
daß die
in jeder Speicherzelle gehaltene elektrische Ladung neu geladen
wird, so daß eine
Datenänderung
verhindert wird.
-
Beispielsweise in einem Fall, in
welchem Daten in dem Sektor, in welchem kein Schreiben von Daten
erfolgt ist, sich durch Aufsummieren der Störungen ändern, wenn 100000 Schreibvorgänge in einem
Block durchgeführt
worden sind, können
alle Sektoren erneuert werden, während
100000 Schreibvorgänge
in einem Block durchgeführt
werden, um eine Datenänderung
zu verhindern.
-
Die Erneuerung oder das Update des
Inhalts der Erneuerungsmarke 15 wird durch Schreiben von "55" in der ersten Runde
der Erneuerung in die Erneuerungsmarkierung im Sektor, der erneuert
worden ist, durchgeführt;
durch Schreiben von "AA" in der zweiten Runde
der Erneuerung in die Erneuerungsmarkierung in dem Sektor, der erneuert
worden ist; und durch abwechselndes Schreiben dieser Werte danach.
Das Erneuerungs-Durchführteil 23 erkennt
einen Ort, an welchem sich die Erneuerungsmarkierung eines Sektors
in der Erneuerungszone von "55" nach "AA" oder von "AA" zu "55" ändert, wodurch erkannt wird,
wie weit die Sektoren erneuert oder wieder "aufgefrischt" worden sind.
-
Wenn die Erneuerung oder Wiederauffrischung
abgeschlossen ist, löscht
das Erneuerungs-Durchführteil 23 das
Erneuerungsflag (S5). Sodann schreibt das Datenerneuerungsteil 24 Daten in
den Sektor des Datenschreibziels (S6) und beendet den Ablauf. Auf
das Erneuerungsflag wird Bezug genommen, um zu bestimmen, ob der
Sektor erneuert worden ist oder nicht.
-
In den Schritten S3 bis S5 ist es,
wenn der Sektor des Datenschreibziels gleich dem Sektor des Erneuerungsziels
ist, ausreichend, nur die Daten (S6) zu erneuern, ohne den Sektor
aufzufrischen oder zu erneuern.
-
Gemäß obiger Beschreibung wird
bei der Halbleiterspeichervorrichtung gemäß der vorliegenden Ausführungsform,
wenn Daten in einen Sektor geschrieben werden, eine Erneuerungszone
aus dem Sektor erkannt und die Sektoren in der Erneuerungszone werden
gleichzeitig aufgefrischt oder erneuert. Wenn es daher eine gleiche
Anzahl von Da tenschreibvorgängen
wie die Anzahl von Sektoren in der Erneuerungszone gibt, wird jeder
Sektor mit Sicherheit zu einem Zeitpunkt erneuert, was eine Datenänderung
aufgrund sich aufsummierender Störungen
verhindern kann.
-
Zusätzlich ist jeder Sektor mit
einer Erneuerungsmarkierung 15 versehen; der Inhalt der
Erneuerungsmarkierung 15 wird während der Auffrischung oder
Erneuerung upgedated und der Sektor des Erneuerungsziels wird unter
Bezug auf die Erneuerungsmarkierung abgesucht. Dies beseitigt die
Notwendigkeit, einen Erneuerungszähler vorzusehen, so daß es möglich ist,
eine Konzentration von Schreiben/Löschen zu verhindern, welche
verursacht werden würde,
wenn der Erneuerungszähler
aus einem nichtflüchtigen
Speicher gebildet wäre.
-
<Zweite Ausführungsform>
-
In der ersten Ausführungsform
der vorliegenden Erfindung wird zu jedem Zeitpunkt, zu dem Daten
in einen Sektor geschrieben werden, ein Sektor aufgefrischt oder
erneuert. Dies verschlechtert die Schreibleistung und es besteht
die Wahrscheinlichkeit, daß der
obere Grenzwert der Anzahl von Neuschreibvorgängen in den Halbleiterspeicher 2 aufgrund
einer häufigen
Erneuerung schneller erreicht wird. Eine Halbleiterspeichervorrichtung
gemäß einer zweiten
Ausführungsform
der vorliegenden Erfindung ist angesichts dieses Aspektes verbessert.
-
Die Halbleiterspeichervorrichtung
der vorliegenden Erfindung hat den gleichen schematischen Aufbau
wie die Halbleiterspeichervorrichtung gemäß der ersten Ausführungsform,
wie sie in 1 gezeigt ist.
Eine Daten-Neuschreibeinheit gemäß der zweiten
Ausführungsform
unterscheidet sich von der Daten-Neuschreibeinheit gemäß der ersten
Ausführungsform
von 5 hinsichtlich der
Funk tionen des Erneuerungszonen-Erkennungsteils 22 und
des Erneuerungs-Durchführteils 23.
Von daher werden Aufbau und Merkmale, welche bereits im Detail unter
Bezug auf die erste Ausführungsform
beschrieben worden sind, nicht nochmal wiederholt. Das Erneuerungszonen-Erkennungsteil
und das Erneuerungs-Durchführteil
haben in der zweiten Ausführungsform
die Bezugszeichen 22a bzw. 23a.
-
7 ist
ein Flußdiagramm
zur Beschreibung des Funktionsablaufs in der Halbleiterspeichervorrichtung
gemäß der zweiten
Ausführungsform
der vorliegenden Erfindung. Wenn Daten in einen gewissen logischen
Sektor geschrieben werden, wandelt das logisch/physikalische Sektorwandlerteil 21 den logischen
Sektor in einen physikalischen Sektor (S11) .
-
Das Erneuerungszonen-Erkennungsteil 22a erkennt
eine Erneuerungszone, welche das Erneuerungsziel sein soll, und
zwar auf der Grundlage der physikalischen Sektornummer, welche von
dem logisch/physikalischen Sektorwandlerteil 21 gewandelt wurde
und dekrementiert den Wert des Erneuerungszonenzählers entsprechend der Erneuerungszone (S12)
.
-
Erneuerungszonenzähler sind in den jeweiligen
Erneuerungszonen vorgesehen und die Werte dieser Zähler werden
im RAM gespeichert. Zum Zeitpunkt des ersten Festsetzens setzt das
Erneuerungszonen-Erkennungsteil 22a einen bestimmten Wert
in einem Erneuerungszonenzähler.
Wenn Daten in einen Sektor geschrieben werden, dekrementiert das
Erneuerungszonen-Erkennungsteil 22a den Wert des Erneuerungszonenzählers entsprechend der
Erneuerungszone, welche den Sektor beinhaltet.
-
Sodann bestimmt das Erneuerungs-Durchführteil 23a,
ob der Wert des Erneuerungszonenzählers "0" ist
oder nicht (S13). Wenn der Wert des Erneuerungszonenzählers nicht "0" ist (NEIN in S13), wird keine Auffrischung
oder Erneuerung durchgeführt
und das Datenerneuerungsteil 24 schreibt die Daten in den
Sektor (S17), um den Ablauf zu beenden.
-
Wenn andererseits der Wert des Erneuerungszonenzählers. "0" ist (JA in S13), setzt das Erneuerungs-Durchführteil 23a ein
Auffrischungs- oder Erneuerungsflag (S14) und erneuert einen Sektor
der Erneuerungszone, welche das Erneuerungsziel ist, und erneuert
den Inhalt der Erneuerungsmarkierung in diesem Sektor (S15). Bei
der Auffrischung oder Erneuerung der vorliegenden Ausführungsform
werden jedesmal dann, wenn Daten in einen Sektor über eine bestimmte
Anzahl von Zeiten hinweg geschrieben worden sind, die Informationen
der Sektoren in der Erneuerungszone Sektor für Sektor, beginnend am Kopfsektor,
neu geschrieben.
-
Wenn die Erneuerung abgeschlossen
ist, löscht
das Erneuerungs-Durchführteil 23a das
Erneuerungsflag und setzt einen bestimmten Wert in dem Erneuerungszonenzähler (S16).
Das Datenerneuerungsteil 24 schreibt Daten in den Sektor
des Datenschreibziels (S17) und beendet den Ablauf .
-
Wenn in den Schritten S14 bis S16
der Sektor des Datenschreibziels und der Sektor des Erneuerungsziels
gleich sind, genügt
es, nur den Inhalt der Erneuerungsmarkierung 15 und die
Daten des Sektors (S17) zu erneuern, ohne den Sektor aufzufrischen.
-
Gemäß obiger Beschreibung wird
bei der Halbleiterspeichervorrichtung der zweiten Ausführungsform,
wenn Daten in einen Sektor geschrieben werden, eine Auffrischungs-
oder Erneuerungszone aus dem Sektor erkannt und jedesmal dann, wenn Daten
in einen Sektor in die Erneuerungszone eine bestimmte Anzahl mal
geschrieben werden, wird ein Sektor in der Erneuerungszone aufgefrischt.
Im Ergebnis wird es zusätzlich
zu den Effekten gemäß der ersten
Ausführungsform
möglich,
Auffrischungs- oder Erneuerungsvorgänge zu verringern, wodurch das
Erreichen des oberen Grenzwertes des Neuschreibens der Halbleitervorrichtung 2 verzögert wird.
-
<Dritte Ausführungsform>
-
Eine Halbleiterspeichervorrichtung
gemäß der dritten
Ausführungsform
hat den gleichen schematischen Aufbau wie die Halbleitervorrichtung
gemäß der ersten
Ausführungsform
von 1. Die Daten-Neuschreibeinheit
bei der dritten Ausführungsform
unterscheidet sich von der Daten-Neuschreibeinheit
der ersten Ausführungsform
von 1 hinsichtlich der
Funktionen des Erneuerungszonen-Erkennungsteils 22 und
des Erneuerungs-Durchführteils 23.
Aufbau und Merkmale, welche bereits beschrieben worden sind, werden
daher nicht noch einmal wiederholt. Das Erneuerungszonen-Erkennungsteil
bzw. das Erneuerungs-Durchführteil
haben in der dritten Ausführungsform
die Bezugszeichen 22b bzw. 23b.
-
8 ist
ein Flußdiagramm
zur Beschreibung des Funktionsablaufs der Halbleiterspeichervorrichtung
gemäß der dritten
Ausführungsform
der vorliegenden Erfindung. Wenn Daten in einen gewissen logischen
Sektor geschrieben werden, wandelt das logisch/physikalische Sektorwandlerteil 21 den logischen
Sektor in einen physikalischen Sektor (S21) .
-
Dann erkennt das Erneuerungszonen-Erkennungsteil 22b auf
der Grundlage der physikalischen Sektornummer, welche von dem logisch/physikalischen
Sektorwandlerteil 21 ge wandelt worden ist, eine Erneuerungs-
oder Auffrischzone, welche das Erneuerungsziel sein soll, und dekrementiert
den Wert des Erneuerungszonenzählers
entsprechend der Erneuerungszone (S22).
-
Das Erneuerungs-Durchführteil 23b bestimmt,
ob der Wert des Erneuerungszonenzählers "0" ist
oder nicht (S23). Wenn der Wert des Erneuerungszonenzählers nicht "0" ist (NEIN in S23), erfolgt keine Erneuerung
oder Auffrischung. Der Datenerneuerungsteil 24 schreibt
die Daten in den Sektor (S29), um den Ablauf zu beenden.
-
Wenn andererseits der Wert des Erneuerungszonenzählers "0" ist (JA in S23), setzt das Erneuerungs-Durchführteil 23b ein
Erneuerungsflag (S24), erkennt einen Sektor in der Erneuerungszone, der
das Erneuerungsziel sein soll, und liest den ECC-Code 13 sowie
Daten aus dem Sektor (S25).
-
Das Erneuerungs-Durchführteil 23b führt eine
Fehlererkennung/Korrektur von Daten unter Verwendung des ECC-Codes 13 durch
(S26) und erneuert den Sektor durch Schreiben der korrigierten Daten
in den gleichen Sektor (S27) .
-
Wenn die Erneuerung oder Auffrischung
abgeschlossen ist, löscht
das Erneuerungs-Durchführteil 23b das
Erneuerungsflag und setzt einen bestimmten Wert in dem Erneuerungszonenzähler (S28).
Das Datenerneuerungsteil 24 schreibt Daten an den Sektor
des Datenschreibeziels (S29), um den Ablauf zu beenden.
-
Wenn in den Schritten 524 bis S28
der Sektor des Datenschreibeziels und der Sektor des Erneuerungsziels
gleich sind, ist es ausreichend, nur den Inhalt der Er neuerungsmarkierung 15 und
die Daten des Sektors (S29) upzudaten, ohne diesen Sektor zu erneuern.
-
Gemäß obiger Beschreibung werden
bei der Halbleitervorrichtung dieser Ausführungsform jedesmal dann, wenn
Daten in einen Sektor in der Erneuerungszone eine bestimmte Anzahl
mal geschrieben werden, die Daten in einem Sektor in der Erneuerungszone
der Fehlererkennung/Korrektur unterworfen und dann werden die korrigierten
Daten in den gleichen Sektor geschrieben. Infolgedessen ist es zusätzlich zu
den Effekten der zweiten Ausführungsform
darüber
hinaus möglich,
eine Fehlererkennung/Korrektur von Daten durchzuführen, selbst wenn
einige der Daten aufgrund einer sich aufsummierenden Störung verändert wurden.
-
<Vierte Ausführungsform>
-
Eine Halbleiterspeichervorrichtung
der nun folgenden vierten Ausführungsform
hat den gleichen schematischen Aufbau wie die Halbleiterspeichervorrichtung
gemäß der ersten
Ausführungsform
von 1. Eine Daten-Neuschreibeinheit
der vierten Ausführungsform
unterscheidet sich von der Daten-Neuschreibeinheit der ersten Ausführungsform von 5 hinsichtlich der Funktionsweise
des Erneuerungszonen-Erkennungsteils 22 und des Erneuerungs-Durchführteils 23.
von daher werden Aufbau und bereits beschriebene Merkmale nicht
nochmals wiederholt. Das Erneuerungszonen-Erkennungsteil bzw. das
Erneuerungs-Durchführteil
werden in der vierten Ausführungsform
mit dem Bezugszeichen 22c bzw. 23c bezeichnet.
-
9 ist
ein Flußdiagramm
zur Beschreibung des Arbeitsablaufes in der Halbleiterspeichervorrichtung
gemäß der vierten
Ausführungsform
der vorliegenden Erfindung. Zunächst,
wenn Daten in einen gewissen logischen Sektor geschrieben werden, wandelt
das logisch/physikalische Sektorwandlerteil 21 den logischen
Sektor in einen physikalischen Sektor (S31).
-
Sodann erkennt das Erneuerungszonen-Erkennungsteil 22c eine
Erneuerungs- oder Auffrischungszone, welche das Erneuerungsziel
ist, und zwar auf der Grundlage der physikalischen Sektornummer,
welche von dem logisch/physikalischen Sektorwandlerteil 21 gewandelt
worden ist und dekrementiert den Wert des Erneuerungszonenzählers entsprechend
der Erneuerungszone (S32).
-
Das Erneuerungs-Durchführteil 23c bestimmt,
ob der Wert des Erneuerungszonenzählers "0" ist
oder nicht (S33). Wenn der Wert des Erneuerungszonenzählers nicht "0" ist (NEIN in S33), erfolgt keine Erneuerung
oder Auffrischung. Der Datenupdate- oder Datenerneuerungsteil 24 schreibt
Daten in den Sektor zur Beendigung des Ablaufs (S40).
-
Wenn der Wert des Erneuerungszonenzählers "0" ist (JA in S33) setzt das Erneuerungs-Durchführteil 23c ein
Erneuerungsflag (S34), erkennt einen Sektor in der Erneuerungszone,
der das Erneuerungsziel sein soll, und liest den ECC-Code 13 sowie Datenaus
dem Sektor (S35).
-
Sodann liest das Erneuerungs-Durchführteil 23c den
Nicht-Fehlerhaft-Sektorcode 14 aus den gleichen Sektoren
und bestimmt, ob der Sektor eine Erneuerung oder Auffrischung benötigt oder
nicht, und zwar abhängig
davon, ob der Sektor fehlerhaft ist oder nicht (S36).
-
Wenn der Sektor keine Erneuerung
benötigt (NEIN
in S36), geht der Ablauf zum Schritt S39. Wenn andererseits der
Sektor eine Erneuerung braucht (JA in S36), führt das Erneuerungs-Durchführteil 23c eine
Fehlererken nung/Korrektur an den Daten unter Verwendung des ECC-Codes 13 durch (S37)
und erneuert den Sektor durch Schreiben der korrigierten Daten in
den gleichen Sektor (S38) .
-
wenn die Erneuerung abgeschlossen
ist, löscht
das Erneuerungs-Durchführteil 23c das
Erneuerungsflag und setzt einen bestimmten Wert in dem Erneuerungszonenzähler (S39).
Das Datenerneuerungsteil 24 schreibt Daten zu dem Sektor
des Datenschreibziels (S40), um den Ablauf zu beenden.
-
In den Schritten S34 bis S39 ist
es, wenn der Sektor des Datenschreibziels und der Sektor des Erneuerungsziels
gleich sind, ausreichend, nur den Inhalt der Erneuerungsmarkierung 15 und
die Daten des Sektors upzudaten (S40), ohne diesen Sektor zu erneuern.
-
Gemäß obiger Beschreibung wird
bei der Halbleiterspeichervorrichtung der vierten Ausführungsform
jedesmal dann, wenn Daten in einen Sektor in der Erneuerungszone
eine bestimmte Anzahl mal geschrieben werden, bestimmt, ob ein Sektor
in der Erneuerungszone fehlerhaft ist oder nicht und nur wenn der
Sektor als fehlerhaft bestimmt worden ist, wird eine Fehlererkennung/Korrektur
von Daten durchgeführt,
um die korrigierten Daten in den gleichen Sektor zu schreiben.
-
Infolgedessen wird es zusätzlich zu
den Effekten gemäß der dritten
Ausführungsform
möglich, zu
verhindern, daß ein
fehlerhafter Sektor erneuert wird, so daß die Prozeßleistung verbessert wird.
-
<Fünfte
Ausführungsform>
-
Eine Halbleiterspeichervorrichtung
der fünften
Ausführungsform
hat den gleichen schematischen Aufbau wie die Halbleiterspeichervorrichtung gemäß der ersten
Ausführungsform
von 1. Eine Daten-Neuschreibeinheit
gemäß dieser
Ausführungsform
unterscheidet sich von der Daten-Neuschreibeinheit der ersten Ausführungsform
von 1 hinsichtlich der
Funktionen des Erneuerungszonen-Erkennungsteils 22 und
des Erneuerungs-Durchführteils 23.
Deren Aufbau und deren Merkmale, welche bereits beschrieben worden
sind, werden daher nicht wiederholt. Das Erneuerungszonen-Erkennungsteil
bzw. das Erneuerungs-Durchführteil
haben in der fünften
Ausführungsform
die Bezugszeichen 22d bzw. 23d.
-
10 ist
ein Flußdiagramm
zur Beschreibung der Arbeitsweise der Halbleiterspeichervorrichtung
gemäß der fünften Ausführungsform
der vorliegenden Erfindung. Zunächst,
wenn Daten in einen gewissen logischen Sektor geschrieben werden, wandelt
das logisch/physikalische Sektorwandlerteil 21 den logischen
Sektor in einen physiklischen Sektor (S41).
-
Dann erkennt das Erneuerungszonen-Erkennungsteil 22d eine
Erneuerungs- oder Auffrischungszone, welche das Erneuerungsziel
ist, und zwar auf der Grundlage der physikalischen Sektornummer,
welche von dem logisch/physikalischen Sektorwandlerteil 21 gewandelt
worden ist und dekrementiert den Wert des Erneuerungszonenzählers entsprechend
der Erneuerungszone (S42).
-
Das Erneuerungs-Durchführteil 23d bestimmt,
ob der Wert des Erneuerungszonenzählers "0" ist
oder nicht (S43). wenn der Wert des Erneuerungszonenzählers nicht "0" ist (NEIN in S43), wird keine Erneuerung
durchgeführt.
Das Datenerneuerungsteil 24 schreibt die Daten in den Sektor,
um den Prozeß zu
beenden (S51).
-
Wenn der Wert des Erneuerungszonenzählers "0" ist (JA in S43), setzt das Erneuerungs-Durchführteil 23d ein
Erneuerungsflag (S44), erkennt einen Sektor in der Erneuerungszone,
der das Erneuerungsziel ist, und liest den ECC-Code 13 sowie
Daten aus dem Sektor (S45).
-
Dann liest das Erneuerungs-Durchführteil 23d den
Nicht-Fehlerhaft-Sektorcode 14 aus dem gleichen Sektor
und bestimmt, ob der Sektor eine Erneuerung braucht oder nicht,
und zwar abhängig
davon, ob der Sektor fehlerhaft ist oder nicht (S46).
-
Wenn der Sektor keine Erneuerung
oder Auffrischung benötigt
(NEIN in S46) wird der Sektorzeiger inkrementiert (S47), und der
Ablauf kehrt zum Schritt S45 zurück,
um den nachfolgenden Ablauf zu wiederholen. Der Sektorzeiger kennzeichnet
den Sektor des Erneuerungsziels und wird sequentiell inkrementiert,
bis die Nummer der Sektoren in der Erneuerungszone erreicht wird.
Wenn der Sektorzeiger die Nummer der Sektoren in der Erneuerungszone erreicht,
wird der Wert des Sektorzeigers initialisiert.
-
Wenn der Sektor eine Erneuerung braucht (JA
in S46), führt
das Erneuerungs-Durchführteil 23d eine
Fehlererkennungs-Korrektur an den Daten unter Verwendung des ECC-Codes 13 (S48)
durch und erneuert den Sektor, indem die korrigierten Daten in den
gleichen Sektor geschrieben werden (S49).
-
Wenn die Erneuerung abgeschlossen
ist, löscht
das Erneuerungs-Durchführteil 23d das
Erneuerungsflag und setzt einen bestimmten Wert in dem Erneuerungszonenzähler (S50).
Das Datenerneuerungsteil 24 schreibt Daten zu dem Sektor
des Datenschreibziels, um den Ablauf zu beenden (S51) .
-
Wenn in den Schritten S44 bis S50
der Sektor des Datenschreibziels und der Sektor des Erneuerungsziels
gleich sind, ist es ausreichend, nur den Inhalt der Erneuerungsmarkierung 15 und
die Daten des Sektors (S51) upzudaten, ohne diesen Sektor zu erneuern.
-
Bei der Halbleitervorrichtung in
der fünften Ausführungsform
gemäß obiger
Beschreibung wird jedesmal dann, wenn Daten in einen Sektor in der
Erneuerungszone eine bestimmte Anzahl mal geschrieben werden, bestimmt,
ob ein Sektor in der Erneuerungszone fehlerhaft ist oder nicht und
wenn der Sektor als fehlerhaft bestimmt worden ist, wird der nächste Sektor
erneuert. Infolgedessen wird es zusätzlich zu den Effekten gemäß der vierten
Ausführungsform möglich, die
Prozeßleistung
zu erhöhen.
-
<Sechste Ausführungsform>
-
Eine Halbleiterspeichervorrichtung
gemäß der sechsten
Ausführungsform
hat den gleichen schematischen Aufbau wie die Halbleiterspeichervorrichtung
der ersten Ausführungsform
von 1. Eine Daten-Neuschreibeinheit
gemäß der vorliegenden sechsten
Ausführungsform
unterscheidet sich von der Daten-Neuschreibeinheit gemäß der ersten
Ausführungsform
von 5 in den Funktionen
des Erneuerungs-Erkennungsteils 22 und
des Erneuerungs-Durchführteils 23.
Der Aufbau und die Merkmale, welche bereits im Detail beschrieben
worden sind, werden daher nicht wiederholt. Das Erneuerungszonen-Erkennungsteil
bzw. das Erneuerungs-Durchführteil haben
in der sechsten Ausführungsform
die Bezugszeichen 22e bzw. 23e.
-
11 ist
ein Flußdiagramm
zur Erläuterung der
Arbeitsweise der Halbleiterspeichervorrichtung gemäß der sechsten
Ausführungsform
der vorliegenden Erfindung. Zu nächst,
wenn Daten in einen gewissen logischen Sektor geschrieben werden,
wandelt das logisch/physikalische Sektorwandlerteil 21 den logischen
Sektor in einen physikalischen Sektor (S61).
-
Sodann erkennt das Erneuerungs-Erkennungsteil 22e eine
Erneuerungs- oder Auffrischungszone, welche das Erneuerungsziel
sein soll auf der Grundlage der physikalischen Sektornummer, welche
vom logisch/physikalischen Sektorwandlerteil 21 gewandelt
worden ist und dekrementiert den Wert des Erneuerungszonenzählers entsprechend
der Erneuerungszone (S62).
-
Das Erneuerungs-Durchführteil 23e bestimmt,
ob der Wert des Erneuerungszonenzählers "0" ist
oder nicht (S63). Wenn der wert des Erneuerungszonenzählers nicht "0" ist (NEIN in S63) erfolgt keine Erneuerung.
Das Datenupdate- oder Datenerneuerungsteil 24 schreibt
Daten in den Sektor, um den Ablauf zu beenden (S72).
-
Wenn der Wert des Erneuerungszählers "0" ist (JA in S63) setzt das Erneuerungs-Durchführteil 23e ein
Erneuerungsflag (S64), erkennt einen Sektor in der Erneuerungszone,
welcher das Erneuerungsziel sein soll, und liest den ECC-Code 13 sowie
Datenaus dem Sektor aus (S65).
-
Sodann führt das Erneuerungs-Durchführteil 23e eine
Fehlererkennung/Korrektur an Daten unter Verwendung des ECC-Codes 13 durch
(S66) und erneuert den Sektor durch Schreiben der korrigierten Daten
in den gleichen Sektor S67. Für
den Fall, daß nach
der Erneuerung ein Fehler erzeugt wird (JA in S68), bestimmt das
Erneuerungs-Durchführteil 23e, ob
der Sektor eine Erneuerung braucht oder nicht, und zwar abhängig davon,
ob der Sektor fehlerhaft ist oder nicht auf der Grundlage des Nicht-Fehlerhaft- Sektorcodes 14,
der aus dem gleichen Sektor ausgelesen wird (S69) .
-
Wenn der Sektor eine Erneuerung braucht (JA
in S69), wird eine Fehlerverarbeitung, beispielsweise die Zuweisung
des logischen Sektors zu einem anderen physikalischen Sektor, durchgeführt (S71). Andererseits,
wenn der Sektor keine Erneuerung braucht (NEIN in S71), löscht das
Erneuerungs-Durchführteil 23e das
Erneuerungsflag und setzt einen bestimmten Wert in dem Erneuerungszonenzähler (S70).
Das Datenerneuerungsteil 24 schreibt Daten in den Sektor
des Datenschreibziels, um den Ablauf zu beenden (S72) .
-
Wenn in den Schritten S64 bis S71
der Sektor des Datenschreibziels und der Sektor des Erneuerungsziels
gleich sind, ist es ausreichend, nur den Inhalt der Erneuerungsmarkierung 15 und
die Daten des Sektors upzudaten (S72) , ohne diesen Sektor zu erneuern
oder aufzufrischen.
-
Bei der Halbleiterspeichervorrichtung
dieser Ausführungsform
wird jedesmal dann, wenn Daten in einen Sektor in die Erneuerungszone
für eine
bestimmte Anzahl mal geschrieben werden, ein Sektor in der Erneuerungszone
erneuert und wenn ein Fehler erzeugt wird, wird eine Fehlerverarbeitung
durchgeführt.
Zusätzlich
zu den unter Bezug auf die fünfte Ausführungsform
beschriebenen Effekten wird es auch möglich, bei diesen Ausführungsform
mit Fehlern umzugehen, welche während
des Erneuerungsvorganges auftreten.
-
Die vorliegende Erfindung umfaßt somit
eine Halbleiterspeichervorrichtung mit einem Halbleiterspeicher,
in welchen Daten in Sektoreinheiten geschrieben werden und insbesondere
eine Halbleiterspeichervorrichtung, welche eine Datenänderung aufgrund
sich aufsummierender Störungen
verhindert. Hierbei unterteilt ein Erneuerungszonen-Erkennungsteil einen
Block eines Halbleiterspeichers in Erneuerungszoneneinheiten zur
Durchführung
von Erneuerungs- oder Auffrischvorgängen und erkennt die Erneuerungszone
einschließlich
des Sektors des Schreibziels. Ein Erneuerungs-Durchführteil erneuert sequentiell
die Sektoren in der Erneuerungszone, welche von dem Erneuerungszonen-Erkennungsteil erkannt
worden ist, und zwar jedesmal dann, wenn Daten in einen Sektor geschrieben
werden. Somit ist es möglich,
die Anzahl von Neuschreibvorgängen
in einem bestimmten Sektor an einem Anstieg zu hindern, und das
Erneuern kann verhindern, daß sich aufgrund
von aufsummierenden Störungen
Datenänderungen
ergeben.
-
Die vorliegende Erfindung wurde unter
Bezugnahme auf mehrere Ausführungsformen
im Detail beschrieben; es versteht sich, daß diese Beschreibung rein illustrativ
und nicht einschränkend
ist, da der Gegenstand der vorliegenden Erfindung alleine durch
die nachfolgenden Ansprüche
und deren Äquivalente
bestimmt ist.