DE602004008697T2 - Wear compensation in a non-volatile flash memory without the need for free blocks - Google Patents

Wear compensation in a non-volatile flash memory without the need for free blocks Download PDF

Info

Publication number
DE602004008697T2
DE602004008697T2 DE602004008697T DE602004008697T DE602004008697T2 DE 602004008697 T2 DE602004008697 T2 DE 602004008697T2 DE 602004008697 T DE602004008697 T DE 602004008697T DE 602004008697 T DE602004008697 T DE 602004008697T DE 602004008697 T2 DE602004008697 T2 DE 602004008697T2
Authority
DE
Germany
Prior art keywords
memory
data
memory block
block
override
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 - Lifetime
Application number
DE602004008697T
Other languages
German (de)
Other versions
DE602004008697D1 (en
Inventor
Atsunori Miki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of DE602004008697D1 publication Critical patent/DE602004008697D1/en
Application granted granted Critical
Publication of DE602004008697T2 publication Critical patent/DE602004008697T2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

Hintergrund der ErfindungBackground of the invention

1. Erfindungsgebiet1. Field of the invention

Die vorliegende Erfindung betrifft eine nicht flüchtige Halbleiterspeichervorrichtung mit einer Anzahl von überschreitbaren Speicherblöcken und ein Verfahren zur Steuerung desselben.The The present invention relates to a nonvolatile semiconductor memory device with a number of passable memory blocks and a method of controlling the same.

2. Beschreibung des Standes der Technik2. Description of the state of the technique

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.In the past Years is a flash memory, i. an inscribable non-volatile Memory has been used universally. The flash memory can store memory contents without being powered by a power source. But when on the flash memory and being enrolled many times will be his property deteriorated. For this reason, the number of times of data overwriting in flash memory limited.

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.There have been several suggestions for improving the reliability of the flash memory. For example, the disclosed Japanese Patent Publication No. 2001-14865 a flash memory having an overwrite number monitor. This monitor issues an alarm when the number of data overwrites in the flash memory exceeds the set value. The disclosed Japanese Patent Publication No. 1992 (Hei 4) -125898 discloses an access counter for counting the number of times of access to a read only memory. When the counted number of times reaches a predetermined value, an item to be accessed is switched to another storage region.

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.In however, this proposed flash memory needs the other memory region be prepared in advance. The flash memory, the one such memory region needs a large chip area.

Die US-PS 6 167 483 offenbart ein Verfahren zur Nivellierung der Abnutzung von Löscheinheiten eines Speichers unter Verwendung eines Löschzählers.The U.S. Patent 6,167,483 discloses a method for leveling the wear of erase units of a memory using a clear counter.

Gemäß der vorliegenden Erfindung wird ein Verfahren zum Steuern einer Halbleitervorrichtung gemäß dem unabhängigen Patentanspruch 1 geschaffen.According to the present The invention will be a method for controlling a semiconductor device according to the independent claim 1 created.

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.The A semiconductor memory device and the control method according to the present invention Invention can the number of times of the override improve without enlarging a read-only region.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

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:The The foregoing and other objects, features and advantages of the present invention The invention will be apparent from the following detailed description of the accompanying drawings, in which:

1 ein Blockschaltbild einer Halbleiterspeichervorrichtung einer Ausführungsform der vorliegenden Erfindung; 1 a block diagram of a semiconductor memory device of an embodiment of the present invention;

2 ein Blockschaltbild einer Festspeichervorrichtung der Ausführungsform der vorliegenden Erfindung; 2 a block diagram of a solid state memory device of the embodiment of the present invention;

3 ein Blockschaltbild einer Ausführungsform einer Überschreibungsüberwachungsschaltung, die in der Halbleitervorrichtung der vorliegenden Erfindung enthalten ist; 3 Fig. 12 is a block diagram of an embodiment of an override monitoring circuit included in the semiconductor device of the present invention;

4 ein Blockschaltbild einer Ausführungsform einer Blockadressen-Schaltschaltung, die in der Halbleitervorrichtung gemäß der vorliegenden Erfindung enthalten ist; 4 FIG. 10 is a block diagram of one embodiment of a block address switching circuit included in the semiconductor device according to the present invention; FIG.

5 ein Blockschaltbild einer Ausführungsform einer Schaltschaltung; 5 a block diagram of an embodiment of a switching circuit;

6 ein Blockschaltbild einer Ausführungsform eines Inverters; 6 a block diagram of an embodiment of an inverter;

7A, 7B, 7C und 7D ein Beispiel eines Datentransfers in der Halbleiterspeichervorrichtung; 7A . 7B . 7C and 7D an example of data transfer in the semiconductor memory device;

8 ein Flussdiagramm eines Beispiels eines Betriebes der Halbleiterspeichervorrichtung gemäß der vorliegenden Erfindung; 8th FIG. 10 is a flowchart showing an example of an operation of the semiconductor memory device according to the present invention; FIG.

9 ein Flussdiagramm eines Beispiels eines Betriebes der Halbleiterspeichervorrichtung gemäß der vorliegenden Erfindung; 9 FIG. 10 is a flowchart showing an example of an operation of the semiconductor memory device according to the present invention; FIG.

10 ein Flussdiagramm eines Beispiels eines Betriebes der Halbleiterspeichervorrichtung gemäß der vorliegenden Erfindung; 10 FIG. 10 is a flowchart showing an example of an operation of the semiconductor memory device according to the present invention; FIG.

11 ein Flussdiagramm eines Beispiels eines Betriebes der Halbleiterspeichervorrichtung gemäß der vorliegenden Erfindung; 11 FIG. 10 is a flowchart showing an example of an operation of the semiconductor memory device according to the present invention; FIG.

12 ein Blockschaltbild einer weiteren Ausführungsform der Halbleiterspeichervorrichtung der vorliegenden Erfindung; 12 a block diagram of another embodiment of the semiconductor memory device of the present invention;

13 ein Blockschaltbild einer weiteren Ausführungsform der Halbleiterspeichervorrichtung der vorliegenden Erfindung; und 13 a block diagram of another Embodiment of the semiconductor memory device of the present invention; and

14 ein Blockschaltbild einer weiteren Ausführungsform der Halbleiterspeichervorrichtung gemäß der vorliegenden Erfindung. 14 a block diagram of another embodiment of the semiconductor memory device according to the present invention.

Detaillierte Beschreibung der bevorzugten AusführungsformenDetailed description of the preferred embodiments

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.Hereinafter, preferred embodiments of the present invention will be described. 1 FIG. 12 is a block diagram of one embodiment of a semiconductor memory device according to the present invention. FIG. The semiconductor memory device has a solid state memory device 1 , such as a flash memory, a memory device 7 and a controller 11 , The storage device 7 has a big RAM 10 for temporarily storing data of a memory block in the read-only memory device 1 , The control 11 sends commands indicating write, erase and read to the read-only memory device 1 and the storage device 7 and controls a data transfer.

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.Regarding 2 has the fixed storage device 1 memory blocks 3 . 4 . 5 and 6 , an override monitoring circuit 2a and a block address switching circuit 2 B , The override monitoring circuit 2a stores the number of times of data override in each block of memory. The block address switching circuit 2 B switches a block selection address that has been input from the outside.

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.Regarding 3 has the override monitoring circuit 2a an overwrite number memory 12 and an override lock information memory 13 , The overwrite number memory 12 stores the number of times of data override in each block of memory. The override lock information store 13 may store an override lock bit (or flag) corresponding to the memory block. The override inhibit bit is applied to a memory block in which the number of times of data override has reached a predetermined value and indicates an override inhibit for that memory block. Further, the override monitoring circuit has 2a a write circuit 14 , Sense amplifier 15 and 16 performing a data read operation and a counter register 17 which temporarily stores the read-out data. Both the overwrite number memory 12 as well as the overwrite lock information store 13 have four sections, each one the memory blocks 3 to 6 correspond. In each section of the overwrite number memory 12 For example, one bit is rewritten for a data overwrite. Therefore, the memory requires 12 during the override operation no delete operation. The number of bits that can be written into each section is equal to the number of times the data overrides can be performed in each block of memory. The overwrite number memory 12 and the override lock information memory 13 can work together with the memory blocks 3 to 6 be formed in a flash circuit. A signal Sm is an enable signal of the override monitoring circuit 2a , The signals Aa to Ad are a four-bit memory block address signal (select signal). When the semiconductor memory device receives a write request, a bit for selecting a memory block that can be overwritten is in an on state. At this time, the overwrite number memory increases 12 the number of times the data is overwritten by 1. Here, the number is a number stored in a section to be overwritten. Thereafter, a bit for selecting one of the other memory blocks enters an on-state, and the number of times of the data rewritings in these memory blocks is read out. If present, an override inhibit bit is read out.

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.Regarding 4 has the block address switching circuit 2 B a block address change memory 18 , a control circuit 21 and switching circuits 22 to 25 , The memory 18 stores match information between a block address signal generated by the controller 11 has been assigned and each of the memory blocks 3 to 6 , The control circuit 21 and the switching circuits 22 to 25 perform a switching operation of the block address on the basis of this coincidence information. Furthermore, the switching circuit has 2 B a write circuit 19 and a sense amplifier 20 performing read-outs of information. The control circuit 21 feeds the switching circuits 22 to 25 with a control signal. The memory block address signals A0 to A3 are input to the respective switching circuits from the outside. The memory block addresses A0 to A3 are generated in the semiconductor memory device by the control signal from the control circuit 21 into memory block addresses (select signals) Aa to Ad. It should be noted that an initial value of the block address change memory 18 in a register (or latch) of the control circuit 21 is loaded. This initial value is held as long as the overwriting of the block address change memory 18 is carried out.

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.Regarding 5 in the example of the switching circuit 23 a signal is selected from outside among the block address signals A0 to A3. The selected signal corresponds to the control signals 23-1C to 23-4C a signal that is ON (ie, high). In this example, only the tax ersignal 23-2c ON (high level) and the memory block address signal Ab is output. The other switching circuits perform the same operation.

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.Regarding 6 is connected to an inverter 23-2 the control signal 23-2a at the gate of a P-channel transistor 23-2f entered and the control signal 23-2c is at the gate of an N-channel transistor 23-2i entered. At the gate of a P-channel transistor 23-2g and the gate of an N-channel transistor 23-2h an external block address signal A1 ( 23-2b ). Only if the control signal 23-2c is at a high level and the block address signal A1 ( 23-2b ) is at a high level from the outside, an output signal comes 23-2d to the low level (active). Because in the inverters 23-1 . 23-3 and 23-4 Signals according to the control signals 23-2a to 23-2c are at high or low levels, the outputs of these inverters are in an open state.

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.Based on 7A to 7D A preferred example of a data transfer operation of the semiconductor memory device according to the present invention will be described. Regarding 7A store the respective memory blocks 3 and 4 in the fixed storage device 1 Dates. The storage device 7 has the RAM 10 , In this example, the number of times of data overwriting in the memory block should reach a predetermined limit. Upon receiving an override command for the memory block 3 clears the controller 11 first the data in the memory block 3 , Next, as in the 7B shown the data in the memory block 4 in which the number of times of data overwriting is smallest on the RAM 10 transferred. The data in the memory block 4 are deleted. Thereafter, the controller transfers 11 the data from the RAM 11 on the memory block 3 (as in 7C shown). After the transfer, the controller stores in the memory block 4 Data stored in the memory block 3 to be stored in accordance with the initial override command (as in the 7D shown). As described above, when the controller 11 a request to overwrite the memory block 3 receives, in which the number of times the data overwriting has reached the limit in the memory block 3 data to be stored in the memory block 4 in which the number of times of data overwriting is smallest. The memory block 4 does not necessarily have to be one in which the number of times of data overwriting is smallest.

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.On the basis of 8th to 11 A detailed example of the operation of the semiconductor memory device according to the present invention will be described. Regarding 8th receives the control 11 a data override command for the memory block 3 (S1). The control 11 deletes the data in the memory block 3 (S2), and writes a bit in a section of the memory block 3 of the overwrite number memory 12 (S3). The control 11 reads a status of the memory block 3 off (S4) and reads the counter register 17 (S5). The writing into the overwrite number memory 12 is adding one bit for each override. The number of times of the overrides in all the memory blocks and the override inhibit bit thereof are stored in the counter register 17 stored (S8). A time spent deleting the data in the memory block 3 is required is generally several milliseconds. A time required for data writing in the overwrite number memory 12 what is required during data erasure is several microseconds.

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.When the data is cleared in the memory block 3 is finished (S6), the controller reads 11 the counter register of all blocks (S9). The control 11 confirms whether or not there is a memory block in which the number of times of overwriting exceeds a predetermined value (S10). The predetermined value may be determined by the controller 11 be set.

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).If the number of times of the override in the memory block 3 a predetermined value or less is (C in 8th ), which will be in the 9 shown processing performed. First, data is written in the memory block in accordance with the write command (S11). The status of the memory block 3 is confirmed (S12) and the overwriting is ended (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.If the number of times of the override in the memory block 3 exceeds the predetermined value (A in 8th ), which will be in the 10 shown processing performed. The control 11 points to the memory block 4 in which the override lock bit is OFF and in which the number of times of the overrides is smallest. The control 11 transfers the data from the memory block 4 on the RAM 10 to enable the RAM 10 temporarily stores the data therein (S20). In accordance with the memory block data exchange command (S21), the data is in the memory block 4 deleted (S22). When erasing is started, a section of the memory block becomes 4 of the overwrite number memory 12 one bit added (S23). Furthermore, to a section of the memory block 3 the override lock information memory 13 an override inhibit bit is set (S24). Regardless of the number of times of the override, the override inhibit bit may be asserted in a memory block in which the data exchange should be inhibited the override lock information store 13 are given. The writing into the overwrite number memory 12 and writing to the overwrite lock information memory 13 is during the deletion of the data in the memory block 4 completed. The status and the counter register are read out (S25 to S27). When the above-mentioned data erasing and bit writing are completed, the block address changing memory is set 18 an update form is written (S31). The correspondence information after the updating becomes in the register or in the latch circuit of the control circuit 21 saved. As described above, the block address switching circuit stores 2 B the change of the internal memory block address. Therefore, it is not necessary for the controller 11 or an access requestor makes the change of the address of the memory block.

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.Regarding 11 writes control after completion of writing (S40) 11 in the RAM 10 stored data in the memory block 3 (S41). After completion of writing (S43), the controller writes 11 Data in the memory block 3 in the memory block 4 in which the number of times of the overwriting is smallest (S44). At this time, based on the match information stored in the block address change memory 18 is stored, the address of the memory block 3 and the address of the memory block 4 replaced. Accordingly, the controller can 11 transmit the same memory block address as the previous memory block address for data entry.

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.Regarding 12 is a semiconductor memory device 30 Another example of the present invention is formed on a chip comprising the solid state memory device 1 , the storage device 7 and the controller 11 having. Regarding 13 is a semiconductor memory device 31 According to another embodiment of the present invention, formed on a chip comprising the solid state memory device 1 and the storage device 7 includes. This time, the controller 11 be formed in a separate controller and a processor or the controller 11 can be an external assigned controller. 14 shows a semiconductor memory device 31B another embodiment of the present invention. In this semiconductor memory device 31B Both common data and an address signal are a bus signal. Only one control signal is an individual signal in the ratio 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.In According to the present invention, it is possible to reduce the number of times the data override in the flash memory to increase without enlarging the ROM area.

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.Even though the present invention based on certain preferred embodiments It can be clearly seen that that of the present invention The invention did not cover subject matter for these specific embodiments is limited. On the contrary, the intention is that all alternatives, Modifications, equivalents provided they are within the scope of the invention, by the following claims is defined as being included.

Claims (3)

Verfahren zur Steuerung einer Halbleiterspeichervorrichtung (1) mit den Schritten: Löschen der Daten in einem ersten Speicherblock basierend auf einer Überschreibanfrage; Erhöhen der Anzahl von Malen des Überschreibens des ersten Speicherblocks um Eins in einem nicht-flüchtigen Überschreibungsanzahlspeicher (12), während die Daten in dem ersten Speicherblock gelöscht werden; Ermitteln der Anzahl von Malen des Überschreibens jedes Speicherblocks; wenn die Anzahl von Malen des Überschreibens des ersten Speicherblocks, in dem Daten gelöscht werden, einen vorbestimmten Wert überschreitet, dann Einschreiben der Daten aus einem zweiten Speicherblock, in dem die Anzahl von Malen des Überschreibens gleich dem vorbestimmten Wert oder kleiner als dieser ist, in eine temporäre Speicherschaltung; Löschen der Daten in dem zweiten Speicherblock; Erhöhen der Anzahl von Malen des Überschreibens um Eins in dem nicht-flüchtigen Überschreibungsanzahlspeicher (12), während die Daten in dem zweiten Speicherblock gelöscht werden; Ändern einer Speicherblockadresse, um diese zu speichern; Übertragen der Daten, die in der temporären Speicherschaltung gespeichert sind, auf den ersten Speicherblock; und Einschreiben der zu überschreibenden Daten in den zweiten Speicherblock bei der Überschreibanfrage.Method for controlling a semiconductor memory device ( 1 comprising the steps of: erasing the data in a first memory block based on an overwrite request; Incrementing the number of times the first memory block is overwritten by one in a non-volatile overwrite number memory ( 12 ) while erasing the data in the first memory block; Determining the number of times of overwriting each memory block; if the number of times of overwriting the first memory block in which data is deleted exceeds a predetermined value, then writing data from a second memory block in which the number of times of overwriting is equal to or less than the predetermined value, a temporary memory circuit; Clearing the data in the second memory block; Increasing the number of times of overrunning by one in the non-volatile override number memory ( 12 ) while erasing the data in the second memory block; Changing a memory block address to store it; Transferring the data stored in the temporary storage circuit to the first storage block; and writing the data to be overwritten to the second memory block in the overwrite request. Verfahren nach Anspruch 1, wobei der zweite Speicherblock ein Block ist, in dem die Anzahl von Malen des Überschreibens am kleinsten ist.The method of claim 1, wherein the second memory block is a block in which the number of times of overwriting is the smallest is. Verfahren nach Anspruch 1, weiterhin mit dem Schritt: Speichern ein er Überschreibungssperrinformation an einem Speicherblock, in welchem die Anzahl von Malen des Überschreibens einen vorbestimmten Wert überschritten hat.The method of claim 1, further comprising the step: to save an override lock information a memory block in which the number of times of overwriting exceeded a predetermined value Has.
DE602004008697T 2003-05-28 2004-05-25 Wear compensation in a non-volatile flash memory without the need for free blocks Expired - Lifetime DE602004008697T2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003150747 2003-05-28
JP2003150747A JP4289026B2 (en) 2003-05-28 2003-05-28 Semiconductor memory device

Publications (2)

Publication Number Publication Date
DE602004008697D1 DE602004008697D1 (en) 2007-10-18
DE602004008697T2 true DE602004008697T2 (en) 2008-06-12

Family

ID=33128245

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004008697T Expired - Lifetime DE602004008697T2 (en) 2003-05-28 2004-05-25 Wear compensation in a non-volatile flash memory without the need for free blocks

Country Status (5)

Country Link
US (1) US7095672B2 (en)
EP (1) EP1482516B1 (en)
JP (1) JP4289026B2 (en)
CN (1) CN100388390C (en)
DE (1) DE602004008697T2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI260497B (en) * 2003-06-13 2006-08-21 Hon Hai Prec Ind Co Ltd System and method of flash file
JP4675082B2 (en) * 2004-10-21 2011-04-20 富士通セミコンダクター株式会社 Semiconductor memory device and method for controlling semiconductor memory device
US7224604B2 (en) * 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
CN101211252B (en) * 2006-12-26 2012-05-23 劲永国际股份有限公司 Memorizer memory devices
CN101458658B (en) * 2007-12-13 2011-07-06 中芯国际集成电路制造(上海)有限公司 Data storage method and apparatus for flash memory
KR100965066B1 (en) * 2008-03-28 2010-06-21 주식회사 하이닉스반도체 Flash memory device and circuit of selecting block the same
JP2012226575A (en) * 2011-04-20 2012-11-15 Mitsubishi Electric Corp Method for storing data in non-volatile memory and control device
CN102981970B (en) * 2012-11-23 2016-08-03 深圳市江波龙电子有限公司 Flash memory management method and system
CN103092531A (en) * 2013-01-21 2013-05-08 中国科学院苏州纳米技术与纳米仿生研究所 Method for removing solid state storage system read errors

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04125898A (en) 1990-09-18 1992-04-27 Fujitsu Ltd Semiconductor integrated circuit device
TW231343B (en) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
JP3507132B2 (en) * 1994-06-29 2004-03-15 株式会社日立製作所 Storage device using flash memory and storage control method thereof
US6055335A (en) * 1994-09-14 2000-04-25 Kabushiki Kaisha Toshiba Method and apparatus for image representation and/or reorientation
US5812452A (en) * 1997-06-30 1998-09-22 Winbond Memory Laboratory Electrically byte-selectable and byte-alterable memory arrays
US5920501A (en) * 1997-12-12 1999-07-06 Micron Technology, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
JP3544859B2 (en) * 1998-05-11 2004-07-21 富士通株式会社 Secondary storage device using nonvolatile semiconductor memory
US6040996A (en) * 1998-11-16 2000-03-21 Chartered Semiconductor Manufacturing, Ltd. Constant current programming waveforms for non-volatile memories
JP2000285688A (en) * 1999-04-01 2000-10-13 Mitsubishi Electric Corp Non-volatile semiconductor memory
JP4146581B2 (en) 1999-06-28 2008-09-10 株式会社ルネサステクノロジ Flash memory
JP3699890B2 (en) * 2000-08-30 2005-09-28 シャープ株式会社 Nonvolatile semiconductor memory device
US6345001B1 (en) * 2000-09-14 2002-02-05 Sandisk Corporation Compressed event counting technique and application to a flash memory system
JP2002237191A (en) * 2001-02-13 2002-08-23 Seiko Instruments Inc Complementary non-volatile memory circuit

Also Published As

Publication number Publication date
DE602004008697D1 (en) 2007-10-18
US20050002238A1 (en) 2005-01-06
CN100388390C (en) 2008-05-14
JP2004355699A (en) 2004-12-16
EP1482516A1 (en) 2004-12-01
CN1574097A (en) 2005-02-02
JP4289026B2 (en) 2009-07-01
EP1482516B1 (en) 2007-09-05
US7095672B2 (en) 2006-08-22

Similar Documents

Publication Publication Date Title
DE69034191T2 (en) EEPROM system with multi-chip block erasure
DE60126383T2 (en) Non-volatile semiconductor memory device
DE19882933B4 (en) Flash memory partition for read-while-write operations
DE60317347T2 (en) MEMORY SWITCHING WITH NON-VOLATILE RAM AND RAM
DE60030876T2 (en) Scope management of a high-capacity non-volatile memory
EP0195885B1 (en) Method and device for the non-volatile memorizing of the counting state of an electronic counter circuit
DE102005019842B4 (en) System and method for sequentially writing data to a flash memory
DE102008011514B4 (en) Control circuit of a flash memory device and method of operating the flash memory device
DE19646216A1 (en) NAND-type EEPROM device
DE19845295A1 (en) Access method for flash memory field improved to enable faster data processing by reducing the table searching time
DE602004008697T2 (en) Wear compensation in a non-volatile flash memory without the need for free blocks
EP0123177B1 (en) Apparatus and method to operate non volatile read-write utilisation memory
DE19934191A1 (en) Electronic control system for new writing control programs and control data for machines or car drives with electrically operable ROM
DE112004003009B4 (en) Non-volatile memory and method for setting information of non-volatile memory
DE10348333A1 (en) Method and device for shortening read operations in erased read memories
EP0070461B1 (en) Non-volatile memory counter
EP1559111B1 (en) Method for operating a memory arrangement
DE112008001409T5 (en) Non-volatile memory with high reliability
DE10321104B4 (en) Method for filing variable data
DE102009038641A1 (en) Control device e.g. vehicle engine control device, has memory including division blocks with data storage regions, where each region is divided into number of sections in proportion to write frequency
DE69936567T2 (en) Single-chip microcomputer
DE10322723B3 (en) Memory incomplete write-in or erasure condition handling device using write-in of data read from further page in memory page identified with inconsistency
DE112004002832B4 (en) Sector protection circuit for a nonvolatile semiconductor memory, sector protection method and semiconductor device
DE19612439C2 (en) Semiconductor memory device
DE1774212B2 (en) EN 20417 08/12/67 "37132 BEZ: DATA PROCESSING SYSTEM

Legal Events

Date Code Title Description
8364 No opposition during term of opposition