-
Hintergrund der Erfindung
-
1. Erfindungsgebiet
-
Die
vorliegende Erfindung betrifft eine nicht flüchtige Halbleiterspeichervorrichtung
mit einer Anzahl von überschreitbaren
Speicherblöcken
und ein Verfahren zur Steuerung desselben.
-
2. Beschreibung des Standes
der Technik
-
In
den zurückliegenden
Jahren ist ein Flash-Speicher, d.h. ein einschreibbarer nicht flüchtiger
Speicher universell verwendet worden. Der Flash-Speicher kann Speicherinhalte
halten, ohne dass er von einer Stromquelle gespeist wird. Wenn jedoch
an dem Flash-Speicher löschen
und einschreiben viele Male durchgeführt werden, wird seine Eigenschaft
verschlechtert. Aus diesem Grund ist die Anzahl der Male des Datenüberschreibens
im Flash-Speicher
begrenzt.
-
Es
hat verschiedene Vorschläge
zur Verbesserung der Zuverlässigkeit
des Flash-Speichers gegeben. Beispielsweise offenbart die offengelegte
japanische Patentveröffentlichung
Nr. 2001-14865 einen Flash-Speicher, der einen Überschreibungsanzahlmonitor
aufweist. Dieser Monitor gibt einen Alarm, wenn die Anzahl der Male
der Datenüberschreibung
in dem Flash-Speicher den eingestellten Wert überschreitet. Die offengelegte
japanische Patentveröffentlichung
Nr. 1992(Hei 4)-125898 offenbart einen Zugangszähler zum
Zählen
der Anzahl von Malen des Zugriffs auf einen Festspeicher. Wenn die
gezählte
Anzahl von Malen einen vorbestimmten Wert erreicht, wird ein Gegenstand,
auf den zugegriffen werden soll, auf eine andere Speicherregion
geschaltet.
-
In
diesem vorgeschlagenen Flash-Speicher muss jedoch die andere Speicherregion
im voraus vorbereitet worden sein. Der Flash-Speicher, der eine
solche Speicherregion aufweist, braucht eine große Chipfläche.
-
Die
US-PS 6 167 483 offenbart
ein Verfahren zur Nivellierung der Abnutzung von Löscheinheiten eines
Speichers unter Verwendung eines Löschzählers.
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren zum Steuern einer Halbleitervorrichtung gemäß dem unabhängigen Patentanspruch
1 geschaffen.
-
Die
Halbleiterspeichervorrichtung und das Steuerverfahren gemäß der vorliegenden
Erfindung können
die Anzahl der Male der Überschreibung
verbessern, ohne dass eine Festspeicherregion vergrößert wird.
-
Kurze Beschreibung der Zeichnungen
-
Die
vorstehenden und weitere Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung gehen aus der folgenden detaillierten Beschreibung anhand
der begleitenden Zeichnungen hervor, in welchen zeigt:
-
1 ein
Blockschaltbild einer Halbleiterspeichervorrichtung einer Ausführungsform
der vorliegenden Erfindung;
-
2 ein
Blockschaltbild einer Festspeichervorrichtung der Ausführungsform
der vorliegenden Erfindung;
-
3 ein
Blockschaltbild einer Ausführungsform
einer Überschreibungsüberwachungsschaltung,
die in der Halbleitervorrichtung der vorliegenden Erfindung enthalten
ist;
-
4 ein
Blockschaltbild einer Ausführungsform
einer Blockadressen-Schaltschaltung, die in der Halbleitervorrichtung
gemäß der vorliegenden
Erfindung enthalten ist;
-
5 ein
Blockschaltbild einer Ausführungsform
einer Schaltschaltung;
-
6 ein
Blockschaltbild einer Ausführungsform
eines Inverters;
-
7A, 7B, 7C und 7D ein Beispiel
eines Datentransfers in der Halbleiterspeichervorrichtung;
-
8 ein
Flussdiagramm eines Beispiels eines Betriebes der Halbleiterspeichervorrichtung
gemäß der vorliegenden
Erfindung;
-
9 ein
Flussdiagramm eines Beispiels eines Betriebes der Halbleiterspeichervorrichtung
gemäß der vorliegenden
Erfindung;
-
10 ein
Flussdiagramm eines Beispiels eines Betriebes der Halbleiterspeichervorrichtung gemäß der vorliegenden
Erfindung;
-
11 ein
Flussdiagramm eines Beispiels eines Betriebes der Halbleiterspeichervorrichtung gemäß der vorliegenden
Erfindung;
-
12 ein
Blockschaltbild einer weiteren Ausführungsform der Halbleiterspeichervorrichtung der
vorliegenden Erfindung;
-
13 ein
Blockschaltbild einer weiteren Ausführungsform der Halbleiterspeichervorrichtung der
vorliegenden Erfindung; und
-
14 ein
Blockschaltbild einer weiteren Ausführungsform der Halbleiterspeichervorrichtung gemäß der vorliegenden
Erfindung.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsformen
-
Im
Folgenden werden bevorzugte Ausführungsformen
der vorliegenden Erfindung beschrieben. 1 ist ein
Blockschaltbild einer Ausführungsform
einer Halbleiterspeichervorrichtung gemäß der vorliegenden Erfindung.
Die Halbleiterspeichervorrichtung hat eine Festspeichervorrichtung 1,
wie beispielsweise einen Flash-Speicher, eine Speichervorrichtung 7 und
eine Steuerung 11. Die Speichervorrichtung 7 hat
einen großen
RAM 10 zum temporären Speichern
von Daten eines Speicherblocks in der Festspeichervorrichtung 1.
Die Steuerung 11 schickt Befehle, welche ein Schreiben,
Löschen
und Lesen angeben, an die Festspeichervorrichtung 1 und
die Speichervorrichtung 7 und steuert einen Datentransfer.
-
Mit
Bezug auf 2 hat die Festspeichervorrichtung 1 Speicherblöcke 3, 4, 5 und 6,
eine Überschreibungsüberwachungsschaltung 2a und eine
Blockadressen-Schaltschaltung 2b. Die Überschreibungsüberwachungsschaltung 2a speichert
die Anzahl der Male der Datenüberschreibung in
jedem Speicherblock. Die Blockadressen-Schaltschaltung 2b schaltet
eine Blockwähladresse,
die von außen
eingegeben worden ist.
-
Mit
Bezug auf 3 hat die Überschreibungsüberwachungsschaltung 2a einen Überschreibungsanzahlspeicher 12 und
einen Überschreibungssperrinformationsspeicher 13.
Der Überschreibungsanzahlspeicher 12 speichert
die Anzahl der Male der Datenüberschreibung
in jedem Speicherblock. Der Überschreibungssperrinformationsspeicher 13 kann
ein Überschreibungssperrbit
(oder ein Flag) entsprechend dem Speicherblock speichern. Das Überschreibungssperrbit
wird an einen Speicherblock gelegt, in welchem die Anzahl der Male
der Datenüberschreibung
einen vorbestimmten Wert erreicht hat und zeigt eine Überschreibungssperrung
für diesen
Speicherblock an. Ferner hat die Überschreibungsüberwachungsschaltung 2a eine Schreibschaltung 14,
Leseverstärker 15 und 16,
die einen Datenlesevorgang durchführen und ein Zählerregister 17,
das die ausgelesenen Daten temporär speichert. Sowohl der Überschreibungsanzahlspeicher 12 als
auch der Überschreibungssperrinformationsspeicher 13 haben
vier Sektionen, die jeweils den Speicherblöcken 3 bis 6 entsprechen.
In jede Sektion des Überschreibungsanzahlspeichers 12 wird
für eine
Datenüberschreibung
ein Bit neu eingeschrieben. Daher erfordert der Speicher 12 während der Überschreibungsoperation
keine Löschoperation. Die
Anzahl der Bits, die in jede Sektion eingeschrieben werden können, entspricht
der Anzahl der Male der Datenüberschreibungen,
die in jedem Speicherblock durchgeführt werden können. Der Überschreibungsanzahlspeicher 12 und
der Überschreibungssperrinformationsspeicher 13 können zusammen
mit den Speicherblöcken 3 bis 6 in
einer Flash-Schaltung ausgebildet sein. Ein Signal Sm ist ein Freigabesignal
der Überschreibungsüberwachungsschaltung 2a. Die
Signale Aa bis Ad sind ein Vier-Bit-Speicherblockadresssignal (Wählsignal).
Wenn die Halbleiterspeichervorrichtung eine Schreibanfrage empfängt, ist
ein Bit zum Wählen
eines Speicherblockes, der überschrieben
werden kann, in einem Ein-Zustand. Zu diesem Zeitpunkt erhöht der Überschreibungsanzahlspeicher 12 die
Anzahl der Male der Datenüberschreibung
um 1. Hierbei ist die Anzahl eine Zahl, die in einer zu überschreibenden
Sektion gespeichert wird. Danach gelangt ein Bit zur Wahl eines
der anderen Speicherblöcke
in einen Ein-Zustand und die Anzahl der Male der Datenüberschreibungen
in diesen Speicherblöcken
wird ausgelesen. Falls vorhanden wird ein Überschreibungssperrbit ausgelesen.
-
Mit
Bezug auf 4 hat die Blockadressenschaltschaltung 2b einen
Blockadressenänderungsspeicher 18,
eine Steuerschaltung 21 und Schaltschaltungen 22 bis 25.
Der Speicher 18 speichert Übereinstimmungsinformation
zwischen einem Blockadressensignal, das durch die Steuerung 11 zugewiesen
worden ist und jedem der Speicherblöcke 3 bis 6.
Die Steuerschaltung 21 und die Schaltschaltungen 22 bis 25 führen auf
der Basis dieser Übereinstimmungsinformation
einen Schaltvorgang der Blockadresse durch. Weiterhin hat die Schaltschaltung 2b eine
Schreibschaltung 19 und einen Leseverstärker 20, der Auslesen
von Information durchführt.
Die Steuerschaltung 21 speist die Schaltschaltungen 22 bis 25 mit
einem Steuersignal. Die Speicherblockadresssignale A0 bis A3 werden
an den jeweiligen Schaltschaltungen von außen eingegeben. Die Speicherblockadressen
A0 bis A3 werden in der Halbleiterspeichervorrichtung durch das
Steuersignal von der Steuerschaltung 21 in die Speicherblockadressen
(Wählsignale)
Aa bis Ad umgewandelt. Anzumerken ist, dass ein anfänglicher
Wert des Blockadressenumänderungsspeichers 18 in
ein Register (oder einen Haltekreis) der Steuerschaltung 21 geladen
wird. Dieser Anfangswert wird so lange gehalten, wie das Überschreiben
des Blockadressenumänderungsspeichers 18 durchgeführt wird.
-
Mit
Bezug auf 5 wird in dem Beispiel der Schaltschaltung 23 ein
Signal unter den Blockadresssignalen A0 bis A3 von außen gewählt. Das
gewählte
Signal entspricht unter den Steuersignalen 23-1C bis 23-4C einem
Signal, das EIN (d. h. auf hohem Pegel) ist. Bei diesem Beispiel
ist nur das Steuersignal 23-2c EIN (hoher Pegel) und es
wird das Speicherblockadresssignal Ab ausgegeben. Die anderen Schaltschaltungen
führen
den gleichen Vorgang durch.
-
Mit
Bezug auf 6 wird an einem Inverter 23-2 das
Steuersignal 23-2a an dem Gate eines P-Kanal-Transistors 23-2f eingegeben
und das Steuersignal 23-2c wird an dem Gate eines N-Kanal-Transistors 23-2i eingegeben.
An dem Gate eines P-Kanal-Transistors 23-2g und dem Gate
eines N-Kanal-Transistors 23-2h wird ein externes Blockadresssignal
A1 (23-2b) eingegeben. Nur wenn das Steuersignal 23-2c auf
einem hohen Pegel ist und das Blockadresssignal A1 (23-2b)
von außen
auf einem hohen Pegel ist, gelangt ein Ausgangssignal 23-2d auf
den niedrigen Pegel (aktiv). Da in den Invertern 23-1, 23-3 und 23-4 Signale
entsprechend der Steuersignale 23-2a bis 23-2c auf
hohen bzw. niedrigen Pegeln sind, sind die Ausgänge dieser Inverter in einem
offenen Zustand.
-
Anhand
der 7A bis 7D wird
ein bevorzugtes Beispiel eines Datentransfervorgangs der Halbleiterspeichervorrichtung
gemäß der vorliegenden
Erfindung beschrieben. Mit Bezug auf 7A speichern
die jeweiligen Speicherblöcke 3 und 4 in der
Festspeichervorrichtung 1 Daten. Die Speichervorrichtung 7 hat
den RAM 10. Bei diesem Beispiel soll die Anzahl der Male
der Datenüberschreibung
in dem Speicherblock einen vorbestimmten Grenzwert erreichen. Bei
Empfang eines Überschreibungsbefehls
für den
Speicherblock 3 löscht
die Steuerung 11 zunächst
die Daten in dem Speicherblock 3. Als nächstes werden wie in der 7B gezeigt,
die Daten in dem Speicherblock 4, in welchem die Anzahl der
Male der Datenüberschreibung
am kleinsten ist, auf den RAM 10 transferiert. Die Daten
im Speicherblock 4 sind gelöscht. Danach transferiert die
Steuerung 11 die Daten aus dem RAM 11 auf den Speicherblock 3 (wie
in 7C gezeigt). Nach dem Transfer speichert die Steuerung
in dem Speicherblock 4 Daten, die im Speicherblock 3 zu
speichern sind, in Übereinstimmung
mit dem anfänglichen Überschreibungsbefehl
(wie in der 7D gezeigt). Wie vorstehend
beschrieben kann, wenn die Steuerung 11 eine Anfrage zum Überschreiben
des Speicherblockes 3 empfängt, in welchem die Anzahl der
Male der Datenüberschreibung
die Grenze erreicht hat, die im Speicherblock 3 zu speichernden Daten
im Speicherblock 4 speichern, in dem die Anzahl der Male
der Datenüberschreibung
am kleinsten ist. Der Speicherblock 4 muss nicht notwendigerweise
einer sein, bei dem die Anzahl der Male der Datenüberschreibung
am kleinsten ist.
-
Auf
der Basis der 8 bis 11 wird
ein detailliertes Beispiel der Funktionsweise der Halbleiterspeichervorrichtung
gemäß der vorliegenden
Erfindung beschrieben. Mit Bezug auf 8 empfängt die
Steuerung 11 einen Befehl für die Datenüberschreibung für den Speicherblock 3 (S1).
Die Steuerung 11 löscht
die Daten in dem Speicherblock 3 (S2), und schreibt ein
Bit in eine Sektion des Speicherblocks 3 des Überschreibungsanzahlspeichers 12 (S3).
Die Steuerung 11 liest einen Status des Speicherblockes 3 aus
(S4) und liest das Zählerregister 17 (S5).
Das Einschreiben in den Überschreibungsanzahlspeicher 12 ist
das Hinzufügen
eines Bits für
jedes Überschreiben.
Die Anzahl der Male der Überschreibungen
in alle Speicherblöcke
und das Überschreibungssperrbit
derselben wird in dem Zählerregister 17 gespeichert
(S8). Eine Zeit, die für das
Löschen
der Daten in dem Speicherblock 3 erforderlich ist, beträgt im Allgemeinen
mehrere Millisekunden. Eine Zeit, die für das Dateneinschreiben in den Überschreibungsanzahlspeicher 12 erforderlich ist,
was während
der Datenlöschung
durchgeführt wird,
beträgt
jedoch mehrere Mikrosekunden.
-
Wenn
das Datenlöschen
in dem Speicherblock 3 beendet ist (S6), liest die Steuerung 11 das Zählerregister
aller Blöcke
(S9). Die Steuerung 11 bestätigt, ob ein Speicherblock,
in dem die Anzahl der Male der Überschreibung
einen vorbestimmten Wert überschreitet,
vorhanden ist oder nicht (S10). Der vorbestimmte Wert kann durch
die Steuerung 11 gesetzt werden.
-
Wenn
die Anzahl der Male der Überschreibung
in dem Speicherblock 3 ein vorbestimmter Wert oder darunter
ist (C in 8), wird die in der 9 gezeigte
Verarbeitung durchgeführt.
Zunächst
werden Daten in den Speicherblock in Übereinstimmung mit dem Schreibbefehl
eingeschrieben (S11). Der Status des Speicherblocks 3 wird
bestätigt
(S12) und das Überschreiben
beendet (S13).
-
Wenn
die Anzahl der Male der Überschreibung
in dem Speicherblock 3 den vorbestimmten Wert überschreitet
(A in 8), wird die in der 10 gezeigte
Verarbeitung durchgeführt.
Die Steuerung 11 weist dem Speicherblock 4 zu,
in welchem das Überschreibungssperrbit
AUS ist und in welchem die Anzahl der Male der Überschreibungen am kleinsten
ist. Die Steuerung 11 transferiert die Daten aus dem Speicherblock 4 auf
den RAM 10, um zu ermöglichen,
dass der RAM 10 temporär
die Daten darin speichert (S20). In Übereinstimmung mit dem Speicherblockdatenaustauschbefehl
(S21) sind die Daten im Speicherblock 4 gelöscht (S22).
Wenn das Löschen
gestartet ist, wird einer Sektion des Speicherblocks 4 des Überschreibungsanzahlspeichers 12 ein
Bit zugefügt
(S23). Weiterhin wird an eine Sektion des Speicherblocks 3 des Überschreibungssperrinformationsspeichers 13 ein Überschreibungssperrbit
gelegt (S24). Ungeachtet der Anzahl der Male der Überschreibung
kann in einem Speicherblock, in welchem der Datenaustausch gesperrt
werden sollte, das Überschreibungssperrbit
an den Überschreibungssperrinformationsspeicher 13 gegeben
werden. Das Einschreiben in den Überschreibungsanzahlspeicher 12 und
das Einschreiben in den Überschreibungssperrinformationsspeicher 13 wird
während
dem Löschen
der Daten in dem Speicherblock 4 beendet. Der Status und
das Zählerregister
werden ausgelesen (S25 bis S27). Wenn das vorstehend beschriebene
Datenlöschen
und Biteinschreiben beendet sind, wird in den Blockadressenänderungsspeicher 18 eine
Aktualisierungsform eingeschrieben (S31). Die Entsprechungsinformation nach
der Aktualisierung wird in dem Register oder in dem Haltekreis der
Steuerschaltung 21 gespeichert. Wie vorstehend beschrieben
speichert die Blockadressenschaltschaltung 2b die Änderung
der internen Speicherblockadresse. Daher ist es nicht notwendig, dass
die Steuerung 11 oder ein Zugriffsanfrager die Änderung
der Adresse des Speicherblocks durchführt.
-
Mit
Bezug auf 11 schreibt nach Beendigung
des Einschreibens (S40) die Steuerung 11 die in dem RAM 10 gespeicherten
Daten in den Speicherblock 3 (S41). Nach der Beendigung
des Einschreibens (S43) schreibt die Steuerung 11 Daten,
die in den Speicherblock 3 einzuschreiben sind, in den
Speicherblock 4 ein, in dem die Anzahl der Male der Überschreibung
am kleinsten ist (S44). Zu diesem Zeitpunkt werden basierend auf
der Übereinstimmungsinformation,
die in dem Blockadressenänderungsspeicher 18 gespeichert
ist, die Adresse des Speicherblocks 3 und die Adresse des
Speicherblocks 4 ausgetauscht. Demgemäß kann die Steuerung 11 die
gleiche Speicherblockadresse wie die vorhergehende Speicherblockadresse
für die
Dateneinschreibung übertragen.
-
Mit
Bezug auf 12 ist eine Halbleiterspeichervorrichtung 30 eines
weiteren Beispiels der vorliegenden Erfindung auf einem Chip ausgebildet,
die die Festspeichervorrichtung 1, die Speichervorrichtung 7 und
die Steuerung 11 aufweist. Mit Bezug auf 13 ist
eine Halbleiterspeichervorrichtung 31 einer weiteren Ausführungsform
der vorliegenden Erfindung auf einem Chip ausgebildet, der die Festspeichervorrichtung 1 und
die Speichervorrichtung 7 umfasst. Diesmal kann die Steuerung 11 in
einer separaten Steuerung und einem Prozessor ausgebildet sein oder
die Steuerung 11 kann eine externe zugewiesene Steuerung
sein. 14 zeigt eine Halbleiterspeichervorrichtung 31B einer
weiteren Ausführungsform
der vorliegenden Erfindung. In dieser Halbleiterspeichervorrichtung 31B sind
gemeinsame Daten und ein Adresssignal ein Bussignal. Nur ein Steuersignal
ist ein individuelles Signal im Verhältnis 1:1.
-
In
der vorliegenden Erfindung ist es möglich, die Anzahl der Male
der Datenüberschreibung
in dem Flash-Speicher zu erhöhen,
ohne dass die Festspeicherregion vergrößert wird.
-
Obwohl
die vorliegende Erfindung anhand gewisser bevorzugter Ausführungsformen
beschrieben worden ist, ist klar zu ersehen, dass der von der vorliegenden
Erfindung umfasste Gegenstand nicht auf diese spezifischen Ausführungsformen
begrenzt ist. Im Gegenteil besteht die Absicht, dass alle Alternativen,
Modifikationen, Äquivalente
sofern sie in den Umfang der Erfindung, der durch die folgenden
Ansprüche
definiert ist, enthalten sind, als enthalten betrachtet werden.