DE69226847T2 - Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C.-Speicherkarte mit solchem Datenverwaltungssystem - Google Patents
Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C.-Speicherkarte mit solchem DatenverwaltungssystemInfo
- Publication number
- DE69226847T2 DE69226847T2 DE69226847T DE69226847T DE69226847T2 DE 69226847 T2 DE69226847 T2 DE 69226847T2 DE 69226847 T DE69226847 T DE 69226847T DE 69226847 T DE69226847 T DE 69226847T DE 69226847 T2 DE69226847 T2 DE 69226847T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- memory area
- data management
- management system
- 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
Links
- 238000013523 data management Methods 0.000 title claims description 26
- 239000004065 semiconductor Substances 0.000 title claims description 20
- 230000015654 memory Effects 0.000 claims description 165
- 238000000034 method Methods 0.000 claims description 26
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000002950 deficient Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
- Die vorliegende Erfindung betrifft ein Datenverwaltungssystem gemäß der Präambel der Ansprüche 1 und 2 und eine Speichervorrichtung mit dem Datenverwaltungssystem gemäß der Präambel der Ansprüche 10 und 11. Ferner betrifft die vorliegende Erfindung auch ein Datenverwaltungsverfahren für eine Speichervorrichtung gemäß der Präambel von Anspruch 19 und von Anspruch 20.
- EP-A-0 522 780 fällt unter Artikel 54(3) EPÜ und offenbart ein Steuerverfahren für eine Computerspeichervorrichtung, bei der ein Halbleiterspeicher verwendet wird. Gemäß diesem bekannten Speichersystem ist die Anzahl dessen, wie oft ein spezifischer Speicherblock einem Löschen unterzogen worden ist, eine gegebene Zahl, die kleiner als die größte Anzahl dessen ist, wie oft ein Speicherblock einem Löschen unterzogen worden ist, und dieser spezifische Speicherblock kann zum Löschen selektiert werden. Falls bei diesem bekannten Speichersystem die Anzahl E(ie) dessen, wie oft ein spezifischer Speicherblock ie dem Löschen unterzogen worden ist, ein gegebener Wert R ist, der kleiner als die größte Anzahl Q ist, wird der Speicherblock ie zum Löschen selektiert. Falls das Resultat negativ ist, wird der Speicherblock ie mit der effektiven Anzahl von Sektoren verglichen. Mit anderen Worten, bei diesem bekannten Speichersystem kann der Speicherblock, der sich durch eine kleine Anzahl dessen auszeichnet, wie oft er einem Löschen unterzogen worden ist, selektiert werden, aber der selektierte Speicherblock hat nicht immer die kleinste Anzahl, was das Löschen betrifft.
- Mit anderen Worten, bei diesem bekannten Steuerverfahren wird der Speicherblock, der sich durch eine minimale Anzahl dessen auszeichnet, wie oft der betreffende Speicherblock gelöscht worden ist, nicht in Betracht gezogen.
- EP-A-0 398 545 offenbart ein Verfahren und eine Vorrichtung zum Speichern von Daten in einem nichtflüchtigen Speicher. Gemäß diesem bekannten Verfahren wird eine Speicherbank unmittelbar nach der Bank, in die die letzten Daten geschrieben worden sind, gelöscht. Daten von dem nächsten Schreibprozeß werden in die gelöschte Bank geschrieben. Das heißt, eine der Bänke wird sequentiell für das Schreiben von Daten selektiert.
- Gemäß diesem bekannten Verfahren und dieser bekannten Vorrichtung ist es nicht zulässig, daß gültige Daten über eine Vielzahl von Blöcken hinweg vorhanden sind, sondern sie dürfen nur in einem Block vorhanden sein. Mit anderen Worten, dieses bekannte Verfahren und diese bekannte Vorrichtung sind auf das Behandeln einer kleinen Datenmenge gerichtet.
- Die Patentkurzfassung von Japan, Bd. 8, Nr. 68 (S. 264) (1505), 30.03.84 & JP-A-58215794 offenbart eine nichtflüchtige Speichervorrichtung, gemäß der einer von einer Vielzahl von Speicherblöcken zum Speichern von Daten selektiert wird. Falls sich der selektierte Speicherblock durch eine gegebene Anzahl dessen auszeichnet, wie oft er einem Löschen unterzogen worden ist, wird ein anderer Block zum Speichern von Daten selektiert. Als Resultat kann der Block selektiert werden, der sich durch eine kleine Anzahl bezüglich des Löschens auszeichnet.
- Falls die Differenz zwischen der größten Anzahl der Male und der kleinsten Anzahl der Male ein gewisser Wert wird, wird deshalb der Speicherblock zum Datenschreiben selektiert, der die kleinste Anzahl hat. Mit dieser bekannten Speichervorrichtung wird jedoch das Mitteln der Anzahl der Male von jedem der Speicherblöcke nicht realisiert, und ein Speicherblock wird einem konzentrierten Datenschreiben unterzogen, wohingegen ein anderer Speicherblock verwendet wird, falls die Lebensdauer des ersteren Speicherblocks endet. Mit dieser bekannten Speichervorrichtung, bei der ein Zähler zum Zählen dessen verwendet wird, wie viele Male jeder Speicherblock gelöscht worden ist, wird deshalb ein Komparator zum Miteinandervergleichen der Zählwerte nicht benötigt und auch nicht verwendet.
- Halbleiterspeicher des programmierbegrenzten Typs wie EPROMs, EEPROMs und Blitzspeicher finden breite Verwendung. Bei diesen Halbleiterspeichern des programmierbegrenzten Typs kann die Programmieroperation eine begrenzte Anzahl von Malen ausgeführt werden. Besonders Blitzspeicher sind hinsichtlich der Produktionskosten sehr attraktiv. Normalerweise ist die Anzahl dessen, wie oft ein Programmieren von EPROMs und EEPROMs ausgeführt werden kann, auf etwa 1 · 10&sup5; begrenzt, und die Anzahl dessen, wie oft ein Programmieren von Blitzspeichern ausgeführt werden kann, ist auf etwa 1 · 10&sup4; begrenzt. Wenn die Anzahl der Male jenes Programmierens eines Halbleiterspeichers des programmierbegrenzten Typs die zulässige Anzahl überschreitet, können defekte Speicherzellen auftreten.
- Inzwischen beträgt die Anzahl dessen, wie oft Daten wiederholt in magnetische Festplatten geschrieben werden können, etwa 1 · 10&sup6;. Daher ist es erforderlich, die Anzahl der Male zu erhöhen, wie oft ein Programmieren von Halbleiterspeichern des programmierbegrenzten Typs ausgeführt werden kann.
- Es ist eine Aufgabe der vorliegenden Erfindung, ein Datenverwaltungssystem zum Programmieren von Halbleiterspeichern des programmierbegrenzten Typs vorzusehen, eine Speichervorrichtung, die das Datenverwaltungssystem hat, und auch ein Datenverwaltungsverfahren für eine Speichervorrichtung, mit dem das Programmieren der Speichervorrichtungen wie von Blitzspeichern zahlreichere Male ausgeführt werden kann, so daß die Lebensdauer der Speicher wesentlich verlängert werden kann.
- In Verbindung mit dem Datenverwaltungssystem wird diese Aufgabe durch die Merkmale von Anspruch 1 und gemäß einer zweiten Lösung entsprechend den Merkmalen von Anspruch 2 erfüllt.
- In Verbindung mit der Speichervorrichtung wird die genannte Aufgabe durch die Merkmale von Anspruch 10 erfüllt.
- In Verbindung mit dem Datenverwaltungsverfahren für eine Speichervorrichtung wird die genannte Aufgabe durch die Merkmale von Anspruch 11 gemäß einer ersten erfinderischen Lösung und auch durch die Merkmale von Anspruch 12 gemäß einer weiteren erfinderischen Lösung erfüllt.
- Verbesserte Ausführungsformen von Merkmalen für das Datenverwaltungssystem und die Speichervorrichtung ergeben sich aus den Unteransprüchen.
- Andere Ziele, Merkmale und Vorteile der vorliegenden Erfindung gehen aus der folgenden eingehenden Beschreibung in Verbindung mit den beiliegenden Zeichnungen deutlicher hervor, in denen:
- Fig. 1 ein Blockdiagramm ist, das einen Überblick über die vorliegende Erfindung zeigt;
- Fig. 2 ein Blockdiagramm ist, das zeigt, wie Speicherbereiche gemäß der vorliegenden Erfindung verwaltet werden;
- Fig. 3 eine perspektivische Ansicht eines Laptop-Personalcomputers gemäß einer Ausführungsform der vorliegenden Erfindung ist;
- Fig. 4 ein Blockdiagramm der Hardwarestruktur des Laptop-Personalcomputers von Fig. 3 ist;
- Fig. 5 ein Blockdiagramm einer anderen Ausführungsform der vorliegenden Erfindung ist;
- Fig. 6 ein Blockdiagramm ist, das die Einzelheiten der Struktur von Fig. 4 zeigt;
- Fig. 7 ein Blockdiagramm ist, das die Struktur von Daten zeigt, die in der Ausführungsform der vorliegenden Erfindung verwendet werden;
- Fig. 8 ein Blockdiagramm ist, das die Operation der Ausführungsform der vorliegenden Erfindung zeigt; und
- Fig. 9 ein Flußdiagramm ist, das die Operation der Ausführungsform der vorliegenden Erfindung zeigt.
- Wie zuvor beschrieben worden ist, können, wenn die Anzahl dessen, wie oft ein Programmieren eines Halbleiterspeichers des programmierbegrenzten Typs ausgeführt worden ist, die zulässige Anzahl überschreitet, defekte Speicherzellen auftreten. Zum Beispiel können einige defekte Speicherzellen auftreten, wenn die Anzahl dessen, wie oft das Programmieren eines Blitzspeichers ausgeführt worden ist, 1 · 10&sup4; überschreitet. Besonders dann, wenn das Programmieren eines Blitzspeichers mehr als 1 · 10&sup5; Mal ausgeführt worden ist, wird das Verhältnis von defekten Speicherzellen zu allen Speicherzellen abrupt vergrößert.
- Angesichts dessen wird gemäß der vorliegenden Erfindung der gesamte Speicherbereich in eine Vielzahl von Speicherbereichen geteilt, die in rotierender Reihenfolge verwendet werden, um zu verhindern, daß auf einen besonderen Speicherbereich übermäßig zugegriffen wird. Es sei erwähnt, daß der Ausdruck "gesamter Speicherbereich" durch einen einzelnen Speicherchip vorgesehen werden kann oder die Gesamtheit der Speicherbereiche von einer Vielzahl von Chips sein kann, und daß der Ausdruck "Speicherbereiche" Teil des gesamten Speicherbereiches des einzelnen Chips sein kann oder durch eine Anzahl von Chips vorgesehen werden kann. Gemäß der vorliegenden Erfindung ist es möglich, die Lebensdauer des Speichers um etwa das n-fache zu verlängern, wenn n Chips verwendet werden und gleichmäßig auf sie zugegriffen wird.
- Unter Bezugnahme auf Fig. 1 ist der gesamte Speicherbereich eines Halbleiterspeichers des programmierbegrenzten Typs in eine Vielzahl von Speicherbereichen M geteilt. Eine Verwaltungseinheit 1 verwaltet für jeden der Speicherberei che M die Anzahl der Male, wie oft die Programmierung des Bereiches M ausgeführt worden ist. Eine Steuereinheit 2 empfängt für jeden der Speicherbereiche M Informationen, die die Anzahl der Male angeben, wie oft die Programmierung des Speicherbereiches M ausgeführt worden ist, und selektiert wenigstens einen Speicherbereich von den Speicherbereichen M, der programmiert werden darf. Um wenigstens einen Speicherbereich zu selektieren, vergleicht die Steuereinheit 2 die Anzahl der Male miteinander, die jeweilig für die Speicherbereiche M verwaltet werden, und identifiziert den Speicherbereich, der die kleinste Anzahl hat.
- Um das Verstehen des Konzeptes der vorliegenden Erfindung zu erleichtern, wird nun angenommen, daß ein Halbleiterspeicher des programmierbegrenzten Typs mit einem ersten Speicherbereich M1 und einem zweiten Speicherbereich M2 vorhanden ist und daß besondere Daten in dem ersten Speicherbereich M1 existieren und keine Daten in dem zweiten Speicherbereich M2 existieren. Ferner wird angenommen, daß eine Aufforderung zum Aktualisieren des Inhaltes des ersten Speicherbereiches M1 erzeugt wird. In diesem Fall wird gemäß einem herkömmlichen Verfahren die Adresse, die den ersten Speicherbereich bezeichnet, in dem die besonderen Daten gespeichert sind, identifiziert, und der Inhalt des ersten Speicherbereiches M1 wird aktualisiert. Die obige Aktualisierungsoperation wird jedes Mal ausgeführt, wenn die Aufforderung erzeugt wird. Falls die Aufforderung zum Aktualisieren des Inhaltes des ersten Speicherbereiches M1 häufig erzeugt wird und die Anzahl der Male, wie oft die Programmierung des ersten Speicherbereiches M1 ausgeführt worden ist, die Grenze (gleich 1 · 10&sup4; bei den Blitzspeichern) überschreitet, kann der gesamte Halbleiterspeicher nicht mehr verwendet werden, selbst wenn der zweite Speicherbereich M2 überhaupt nicht verwendet worden ist.
- Gemäß der vorliegenden Erfindung identifiziert andererseits die Steuereinheit 2 den Speicherbereich (SM), der die kleinste Anzahl der Male aufweist, wie oft die Programmierung ausgeführt worden ist, und bewirkt, daß Daten in den Speicherbereich SM geschrieben werden. Nun wird angenommen, daß die Programmierung des ersten Speicherbereiches M1 fünfmal ausgeführt worden ist, während die Programmierung des zweiten Speicherbereiches M2 nicht ausgeführt worden ist. Die Steuereinheit 2 vergleicht die Anzahl der Male, wie oft die Programmierung des ersten Speicherbereiches M1 ausgeführt worden ist, mit der Anzahl der Male, wie oft die Programmierung des zweiten Speicherbereiches M2 ausgeführt worden ist. In dem betreffenden Fall ist die Anzahl der Male bezüglich des zweiten Speicherbereiches M2 kleiner als die Anzahl der Male bezüglich des ersten Speicherbereiches M1. Daher wird der zweite Speicherbereich M2 als Subjekt der Programmierung selektiert, und der Inhalt des ersten Speicherbereiches M1 wird von ihm kopiert und in den zweiten Speicherbereich M2 geschrieben. Danach wird der zweite Speicherbereich M2 anstelle des ersten Speicherbereiches M1 verwendet, bis die Anzahl der Male, wie oft die Programmierung des zweiten Speicherbereiches M2 ausgeführt worden ist, die Anzahl der Male (= 5) überschreitet, die die Programmierung des ersten Speicherbereiches M1 ausgeführt worden ist. Der Inhalt des ersten Speicherbereiches M1 wird gelöscht, nachdem die Kopieroperation vollendet ist.
- Aus der obigen Beschreibung ist ersichtlich, daß auf die Speicherbereiche gleichmäßig zugegriffen werden kann, indem die Speicherbereiche rotierend verwendet werden, so daß der Speicherbereich, der die kleinste Anzahl der Male aufweist, wie oft die Programmierung von ihm ausgeführt worden ist, selektiert wird.
- Es ist möglich, die kleinste Anzahl dessen, wie oft die Programmierung des Speicherbereiches ausgeführt worden ist, jedes Mal zu identifizieren, wenn ein Zugriff zur Programmierung ausgeführt wird. Es ist auch möglich, den folgenden alternativen Prozeß anzuwenden. Die Steuereinheit 2 ver gleicht die größte Anzahl dessen, wie oft die Programmierung ausgeführt worden ist, mit der kleinsten Anzahl dessen, wie oft die Programmierung ausgeführt worden ist, und berechnet die Differenz zwischen ihnen. Dann vergleicht die Steuereinheit 2 die Differenz mit einem Schwellenwert (der zum Beispiel gleich 100 ist) und bestimmt, ob die Differenz größer als der Schwellenwert ist oder nicht. Wenn das Resultat der obigen Bestimmung bestätigend ist, wird der Speicherbereich, der die kleinste Anzahl dessen aufweist, wie oft seine Programmierung ausgeführt worden ist, selektiert und zur Programmierung verwendet.
- Es ist möglich, für jeden Speicherbereich zu detektieren, wie viele Male Daten gelöscht worden sind, anstelle für jeden Speicherbereich zu detektieren, wie viele Male eine Programmierung ausgeführt worden ist.
- Es ist erforderlich, den Inhalt (die Dateien) des Speicherbereiches, der zur Programmierung selektiert wurde, zu einer Zeit, wenn die Datenlöschoperation für jeden Speicherbereich ausgeführt wird, in einem anderen Speicherbereich zu sichern. Zu diesem Zweck ist es möglich, einen spezifischen Speicher vorzusehen, wie z. B. einen SRAM oder einen Ersatzblitzspeicher. Alternativ ist es möglich, einen freien Teil des gesamten Speicherbereiches zu verwenden, um den Inhalt des Speicherbereiches zu sichern, der zur Programmierung selektiert wurde.
- Die vorliegende Erfindung ist für IC-Speicherkarten wie z. B. für Blitzspeicherkarten geeignet, zum Beispiel zur Verwendung in Laptop-Personalcomputern, wie in Fig. 3 gezeigt. In Fig. 3 bezeichnet das Bezugszeichen 10 eine IC- Speicherkarte, und das Bezugszeichen 12 bezeichnet den Hauptkörper eines Laptop-Personalcomputers, in den die IC- Speicherkarte 10 geladen wird.
- Fig. 4 ist ein Diagramm der Hardwarestruktur des Laptop-Personalcomputers von Fig. 3. Der Computerhauptkörper 12 enthält eine CPU 12A, und die IC-Speicherkarte 10 enthält eine CPU 12B, Speicherbereiche M und einen Dateianordnungsspeicherbereich FM. Die Speicherbereiche M können durch jeweilige Speicherchips oder durch einen einzelnen Speicherchip gebildet sein. Der Dateianordnungsspeicherbereich FM kann aus einem einzelnen Speicherchip gebildet sein. Es ist auch möglich, den Dateianordnungsspeicherbereich FM in demselben Chip wie die Speicherbereiche M zu bilden. Die Verwaltungseinheit 1 und die Steuereinheit 2, die in Fig. 1 gezeigt sind, können durch die CPU 12A des Computerhauptkörpers 12 oder die CPU 12B der IC-Speicherkarte 10 realisiert sein.
- Die vorliegende Erfindung ist nicht auf die Speicher des Kartentyps begrenzt, und sie kann auf ein Computersystem angewendet werden, das in Fig. 5 gezeigt ist. Das in Fig. 5 gezeigte Computersystem enthält eine CPU 12B, einen ROM, einen SRAM und Blitzspeicher M. Der SRAM fungiert als Dateianordnungsspeicher. Die CPU 12B fungiert als Verwaltungseinheit 1 und Steuereinheit 2 und steuert die Blitzspeicher.
- Die Informationen, die angeben, wie viele Male das Programmieren (oder das Löschen) des Speicherbereiches ausgeführt worden ist, können in dem Speicherbereich selbst gespeichert werden. Alternativ ist es möglich, die obigen Informationen vielmehr in einem Hauptspeicher der CPU als in den Halbleiterspeichern des programmierbegrenzten Typs zu speichern. Es ist vorzuziehen, eine Verwaltungstabelle in dem Hauptspeicher zu bilden, in der die Informationen für jeden der Speicherbereiche gespeichert werden, die angeben, wie viele Male das Programmieren (oder das Löschen) des Speicherbereiches ausgeführt worden ist.
- Es ist möglich, die Lebensdauer der Halbleiterspeicher des programmierbegrenzten Typs durch Anwenden des oben erwähnten Programmiersteuerprozesses zusammen mit einem kontinuierlichen Datenschreibprozeß weiter zu verlängern. Bei dem kontinuierlichen Datenschreibprozeß werden Eingabe daten in den freien Speicherbereich geschrieben, der dem Ende des Speicherbereiches folgt, in dem gültige Daten vorhanden sind. Die obige Schreiboperation wird ausgeführt, ohne zu der Zeit des Schreibens von Daten gleichzeitig Daten zu löschen, die in anderen Speicherbereichen gespeichert sind. In diesem Fall ist es vorzuziehen, den gesamten Speicherbereich für jeden Block zu verwalten, der eine feststehende Speicherkapazität hat.
- Fig. 6 ist ein Blockdiagramm eines Systems, bei dem der oben erwähnte kontinuierliche Datenschreibprozeß angewendet wird. Die CPU 12B der IC-Speicherkarte 10 umfaßt eine Verwaltungseinheit 21 und eine Steuereinheit 22, die der Verwaltungseinheit 1 bzw. der Steuereinheit 2 von Fig. 1 entsprechen. In der Praxis sind die Verwaltungseinheit 21 und die Steuereinheit 22 durch Software realisiert, die durch die CPU 12B ausgeführt wird. Die Steuereinheit 22 umfaßt eine Datenungültigkeitserklärungseinheit 23, eine Datenschreibeinheit 24 und eine Dateianordnungseinheit 25. Ein löschbares Datenbezeichnungsflag ist jedem Datum zugeordnet und gibt an, ob das Datum löschbar ist oder nicht. Wenn neue Daten vorhanden sind, die in den IC-Kartenspeicher zu schreiben sind, steuert die Datenungültigkeitserklärungseinheit 23 das Flag, das alten Daten zugeordnet ist, um anzugeben, daß die alten Daten ungültig und löschbar sind. Es sei erwähnt, daß in der Praxis ungültige und löschbare Daten nicht zu derselben Zeit gelöscht werden, zu der neue Daten geschrieben werden. Die Datenschreibeinheit 24 schreibt Daten in einen leeren Speicherbereich.
- Die Dateianordnungseinheit 25 verwaltet die Speicherbereiche M und den Dateianordnungsbereich FM. Die Dateianordnungseinheit 25 selektiert den Speicherbereich, der mehr Flags, die die löschbaren Daten bezeichnen, als die anderen Speicherbereiche hat. Dann überträgt die Dateianordnungseinheit 25 gültige Daten, die in dem selektierten Speicherbereich M gespeichert sind, zu dem Dateianordnungs speicherbereich FM. Danach löscht die Dateianordnungseinheit 25 alle Daten selbst, die in dem selektierten Speicherbereich gespeichert sind, auf einmal. Der Verwaltungseinheit 21 werden Daten bezüglich der obigen Löschoperation gemeldet, und sie inkrementiert den Zählwert um 1, der die Anzahl der Male angibt, wie oft die Programmieroperation ausgeführt worden ist. Danach wird der Rotationsprozeß für die Speicherbereiche (oder Chips) gemäß Informationen ausgeführt, die für jeden Speicherbereich die Anzahl der Male angeben, wie oft Daten, die in dem Speicherbereich gespeichert waren, aus ihm gelöscht worden sind.
- Im besonderen führt die Dateianordnungseinheit 25 einen von ersten, zweiten und dritten Anordnungsprozessen aus, wenn der Speicherbereich mit Daten gefüllt worden ist. Bei dem ersten Anordnungsprozeß wird der Dateianordnungsspeicherbereich FM gebildet, mit einem Speicherelement, das keine Speicher des programmierbegrenzten Typs sind. Zum Beispiel wird ein SRAM verwendet, um den Dateianordnungsspeicherbereich FM zu bilden. Falls eine Datei A umgeschrieben wird, werden neue Daten der Datei A in einen freien Speicherbereich geschrieben, und das obige Flag wird alten Daten der Datei A zugeordnet. Dabei werden die alten Daten der Datei A nicht gelöscht. Wenn ein Speicherbereich mit Daten gefüllt worden ist, selektiert die Dateianordnungseinheit 25 den Speicherbereich, der die größte Anzahl von Flags hat, die ihm zugeordnet sind. Dann sichert die Dateianordnungseinheit 25 gültige Daten, die in dem selektierten Speicherbereich gespeichert sind, in dem SRAM, der als Dateianordnungsspeicherbereich FM dient, und löscht alle Daten aus dem selektierten Speicherbereich. Dann werden die gesicherten Daten in den ursprünglichen Speicherbereich geschrieben.
- Bei dem zweiten Anordnungsprozeß wird ein Teil der gesamten Speicherkapazität des Halbleiterspeicherchips (der Halbleiterchips) wie eines Blitzspeicherchips (wie von Blitzspeicherchips) als Dateianordnungsspeicherbereich FM verwendet. Wenn der Speicherbereich mit Daten gefüllt worden ist, selektiert die Dateianordnungseinheit 25 den Speicherbereich, der die größte Anzahl von ihm zugeordneten Flags mit Werten hat, die "löschbar" angeben. Dann sichert die Dateianordnungseinheit 25 gültige Daten, die in dem selektierten Speicherbereich gespeichert sind, in dem Dateianordnungsspeicherbereich FM, der Teil der gesamten Speicherkapazität des Blitzspeicherchips (der Blitzspeicherchips) ist, und löscht alle Daten aus dem selektierten Speicherbereich. Daher beginnt der selektierte Speicherbereich als Flaganordnungspeicherbereich zu fungieren.
- Bei dem dritten Anordnungsprozeß wird die folgende Rotation der Speicherbereiche (der Speicherchips) ausgeführt, um die Speicherbereiche (Speicherchips) gleichmäßig zu verwenden. Der dritte Anordnungsprozeß wird später im Detail beschrieben.
- Fig. 7 zeigt die Struktur von Daten, die in der Ausführungsform der vorliegenden Erfindung behandelt werden. Wenn ein einzelner Blitzspeicherchip verwendet wird, wird der gesamte Speicherbereich in eine Vielzahl von Blöcken geteilt. Wenn eine Vielzahl von Blitzspeicherchips verwendet wird, bildet jeder der Blitzspeicherchips einen Block. Die Datenstruktur ist für jeden Block definiert und enthält eine Vielzahl von Sektoren. Ein Sektor enthält ein Feld einer logischen Adresse von zwei Bytes, ein Attributverwaltungsfeld von einem Byte, ein Datenfeld von 512 Bytes und ein CRC-Feld von 7 Bytes. Die Datenstruktur hat an ihrem Ende ein Anzahlinformationsfeld von 4 Bytes, das Informationen speichert, die angeben, wie viele Male das Programmieren des Chips oder des Blocks ausgeführt worden ist. Wie zuvor beschrieben worden ist, werden die Anzahlinformationen durch die Verwaltungseinheit 21 gesteuert. Das Attributverwaltungsfeld enthält Informationen, die angeben, ob Daten in dem betreffenden Sektor löschbar sind oder nicht, oder angeben, ob der betreffende Sektor defekt ist oder nicht.
- Die Operation der Ausführungsform der vorliegenden Erfindung wird nun beschrieben. Es wird jetzt angenommen, wie in Fig. 8 gezeigt, daß die IC-Speicherkarte 10, die in Fig. 6 gezeigt ist, vier Blitzspeicherchips #1, #2, #3 und #4 hat und Dateien A und B in der IC-Speicherkarte 10 vorhanden sind. Die CPU 12A (Fig. 6) schreibt die logische Adresse in das Feld der logischen Adresse und gibt dann einen Lese- oder Schreibbefehl aus. Dadurch können konsekutive Daten, die einem Sektor (512 Bytes) entsprechen, übertragen werden.
- Wenn der Schreibbefehl ausgegeben wird, vergleicht die CPU 12B der IC-Speicherkarte 10 die logische Adresse, die in dem Feld der logischen Adresse des Schreibbefehls gespeichert ist, mit den logischen Adressen der Speicherbereiche, die durch die vier Blitzspeicher vorgesehen werden. Falls die logische Adresse, die in dem Schreibbefehl gespeichert ist, mit keiner der logischen Andressen der Speicherbereiche übereinstimmt, werden die Daten, die in dem Schreibbefehl enthalten sind, in einen Speicherbereich am Ende der existierenden Dateidaten geschrieben. Zum Beispiel wird die Datei B in einen Speicherbereich geschrieben, der sich an das Ende der Datei A anschließt, wie in Fig. 8 gezeigt.
- Falls die logische Adresse, die in dem Schreibbefehl gespeichert ist, mit einer der logischen Adressen in den Speicherbereichen übereinstimmt, ordnet die Datenungültigkeitserklärungsschaltung 23 das Flag, das löschbare Daten bezeichnet, Daten zu, die in dem Speicherbereich gespeichert sind, der durch die logische Adresse in dem Schreibbefehl spezifiziert ist. Dann werden die Daten, die in dem Schreibbefehl enthalten sind, in den Speicherbereich geschrieben, der sich an das Ende der existierenden Datei anschließt. Dabei werden die Daten, die in dem Speicherbereich gespeichert sind, der durch die logische Adresse spezifiziert ist, die in dem Schreibbefehl enthalten ist, nicht gelöscht. In dem in Fig. 8 gezeigten Fall wird die Datei A zu ungültigen Daten, und eine Datei A' (aktualisierte Version der Datei A) wird unter der Steuerung der Dateischreibeinheit 24 in den Speicherbereich geschrieben, der sich an das Ende der Datei A anschließt. In der Praxis führt die Dateischreibeinheit 24 einen Verifizierungsprozeß zum Bestimmen dessen aus, ob der Speicherbereich, in den Daten zu schreiben sind, defekt ist oder nicht. Falls bestimmt wird, daß der Speicherbereich defekt ist, wird ein Fehlerflag in das Attributverwaltungsfeld geschrieben, und es wird verhindert, daß der Speicherbereich verwendet wird.
- Durch wiederholtes Ausführen der obigen Operation wird der gesamte Speicherbereich mit Daten gefüllt. Dabei wird die löschbare Datei tatsächlich gelöscht, und die Dateianordnungseinheit 25 führt die Dateianordnungsoperation aus. Wenn ein Blitzspeicherchip eines Typs, bei dem Daten, die in ihm gespeichert sind, auf einmal gelöscht wird, ist es erforderlich, wenigstens einen Blitzspeicherchip zu verwenden, um den Dateianordnungsspeicherbereich FM zu bilden. Bei einem Blitzspeicherchip eines Typs, bei dem Daten für jeden Block gelöscht werden können, ist es erforderlich, einen Speicherbereich vorzusehen, der einem Block entspricht. Daher ist die Speicherkapazität der IC-Speicherkarte 10 gleich (der Gesamtspeicherkapazität der IC-Speicherkarte 10) - (einem Chip (einem Block)).
- Damit die Chips oder Blöcke gleichmäßig verwendet werden, arbeitet die Dateianordnungseinheit 25 wie folgt. Die Operation der Dateianordnungseinheit 25 wird unter Bezugnahme auf Fig. 9 beschrieben. Bei der folgenden Operation entspricht der Dateianordnungsspeicherbereich einem Chip. Die Dateianordnungseinheit 25 selektiert den Chip, der die größte Anzahl von Flags hat, die löschbare Daten bezeichnen (Schritt 100), und schreibt gültige Daten, die in dem selektierten Chip gespeichert sind, in den Dateianordnungschip (Schritt 101). Dann löscht die Dateianordnungseinheit 25 alle Daten aus dem selektierten Chip auf einmal (Schritt 100). Der selektierte Chip fungiert von nun an als Dateianordnungschip. Die Verwaltungseinheit 21 greift auf Informationen zurück, die die Anzahl dessen bezeichnen, wie oft das Programmieren der Chips ausgeführt worden ist, und selektiert die kleinste Anzahl dessen, wie oft das Programmieren ausgeführt worden ist, und die größte Anzahl dessen, wie oft das Programmieren ausgeführt worden ist. In Fig. 8 weist der Chip #1 (mit der Bezeichnung LM) die größte Anzahl auf, und der Chip #3 (mit der Bezeichnung SM) weist die kleinste Anzahl auf. Dann bestimmt die Verwaltungseinheit 21, ob die Differenz zwischen der größten Anzahl und der kleinsten Anzahl größer als ein Schwellenwert ist oder nicht (Schritt 103).
- Wenn das Resultat der Bestimmung von Schritt 103 NEIN lautet, wird der in Fig. 9 gezeigte Anordnungsprozeß beendet. Wenn das Resultat der Bestimmung von Schritt 103 JA lautet, werden Daten, die in dem Chip (SM in Fig. 8) gespeichert sind, der die kleinste Anzahl dessen hat, wie oft das Programmieren ausgeführt worden ist, kopiert und in den Dateianordnungschip geschrieben (Schritt 104) und dann aus ihm gelöscht (Schritt 104). Auf diese Weise beginnt der obige Chip als Dateianordnungschip zu fungieren.
- Der Schwellenwert beträgt zum Beispiel 100 und entspricht 1% von der zulässigen Anzahl dessen, wie oft das Programmieren (Löschen) ausgeführt werden darf.
- Die vorliegende Erfindung ist nicht auf die speziell offenbarten Ausführungsformen begrenzt, und Veränderungen und Abwandlungen können vorgenommen werden, ohne den Schutzumfang der vorliegenden Erfindung zu verlassen.
Claims (12)
1. Datenverwaltungssystem (1, 2) für eine
Speichervorrichtung mit einem Halbleiterspeicher, der eine Vielzahl
von Speicherbereichen enthält, dadurch gekennzeichnet, daß
das Datenverwaltungssystem umfaßt:
ein Mittel (1) zum Zählen der Anzahl der Male, wie oft
Daten von jedem der Speicherbereiche (M) gelöscht worden
sind;
ein Steuermittel (2) zum Vergleichen der Anzahl der
Male, wie oft die jeweiligen Speicherbereiche (M) gelöscht
worden sind, und zum Selektieren eines Speicherbereiches
(M), der die wenigsten Male gelöscht worden ist; und
ein Löschmittel zum Löschen von Daten, die in dem
Speicherbereich (M) gespeichert sind, der durch das Steuermittel
(2) selektiert wurde.
2. Datenverwaltungssystem (1, 2) für eine
Speichervorrichtung mit einem Halbleiterspeicher, der eine Vielzahl
von Speicherbereichen (M) enthält, dadurch gekennzeichnet,
daß das Datenverwaltungssystem umfaßt:
ein Mittel (1) zum Zählen der Anzahl der Male, wie oft
Daten von jedem der Speicherbereiche (M) gelöscht worden
sind;
ein Steuermittel (2) zum Berechnen einer Differenz
zwischen der größten Anzahl der Male, wie oft das Löschen
irgendeines Speicherbereiches (M) ausgeführt worden ist, und
der kleinsten Anzahl der Male, wie oft das Löschen
irgendeines Speicherbereiches (M) ausgeführt worden ist, und zum
Selektieren des Speicherbereiches, bei dem das Löschen die
wenigsten Male ausgeführt worden ist, wenn die Differenz
größer als ein Schwellenwert ist,
ein Löschmittel zum Löschen von Daten, die in dem
Speicherbereich (M) gespeichert sind, der durch das Steuermittel
selektiert wurde.
3. Datenverwaltungssystem nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß das Steuermittel (2) ein erstes
Mittel umfaßt, zum Sichern von Daten, die in dem
selektierten der Speicherbereiche gespeichert sind, in einem anderen
der Speicherbereiche und zum Löschen der Daten aus dem
selektierten der Speicherbereiche, bevor die Eingabedaten in
den selektierten der Speicherbereiche geschrieben werden.
4. Datenverwaltungssystem nach irgendeinem der
Ansprüche 1, 2 oder 3, dadurch gekennzeichnet, daß das
Steuermittel (2) ein zweites Mittel umfaßt, nur zum Sichern
von gültigen Daten, die in dem selektierten der
Speicherbereiche gespeichert sind, in dem anderen der
Speicherbereiche.
5. Datenverwaltungssystem nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß das Steuermittel (2) ein zweites
Mittel umfaßt, zum Sichern von Daten, die in dem
selektierten der Speicherbereiche gespeichert sind, in einem der
Speicherbereiche, bei dem das Löschen die häufigsten Male
ausgeführt worden ist, und zum Löschen der Daten aus dem
selektierten der Speicherbereiche, bevor die Eingabedaten in
den selektierten der Speicherbereiche geschrieben werden.
6. Datenverwaltungssystem nach irgendeinem der
Ansprüche 1 bis 5, dadurch gekennzeichnet, daß das
Steuermittel (2) ein drittes Mittel umfaßt, nur zum Sichern von
gültigen Daten, die in dem selektierten der Speicherbereiche
gespeichert sind, in dem einen der Speicherbereiche, bei dem
das Löschen die häufigsten Male ausgeführt worden ist.
7. Datenverwaltungssystem nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß die Speicherbereiche (M) durch
jeweilige Halbleiterspeicherchips vorgesehen werden.
8. Datenverwaltungssystem nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß die Speicherbereiche (M) einer
Vielzahl von Blöcken entsprechen, die erhalten werden, indem
ein gesamter Speicherbereich eines einzelnen
Halbleiterspeicherchips geteilt wird.
9. Datenverwaltungssystem nach Anspruch 1, dadurch
gekennzeichnet, daß das Steuermittel umfaßt:
ein Ungültigkeitserklärungsmittel zum Erklären von
löschbaren Daten von den Speicherbereichen als ungültig;
ein Selektionsmittel zum Selektieren eines
Speicherbereiches, der die größte Menge von löschbaren Daten hat;
und
ein Sicherungsmittel zum Sichern von gültigen Daten,
die in dem selektierten Speicherbereich gespeichert sind, in
einem anderen Speicherbereich.
10. Speichervorrichtung mit einem
Datenverwaltungssystem nach irgendeinem der Ansprüche 1 bis 9.
11. Datenverwaltungsverfahren für eine
Speichervorrichtung mit einem Halbleiterspeicher, der eine Vielzahl von
Speicherbereichen (M) enthält, dadurch gekennzeichnet, daß
es die folgenden Schritte umfaßt:
Zählen der Anzahl der Male, wie oft ein Löschen für
jeden Speicherbereich (M) ausgeführt worden ist;
Vergleichen der Anzahl der Male, wie oft die jeweiligen
Speicherbereiche (M) gelöscht worden sind;
Selektieren eines Speicherbereiches (M), der die
wenigsten Male gelöscht worden ist; und
Löschen von Daten, die in dem Speicherbereich (M)
gespeichert sind, der bei dem Selektionsschritt selektiert
wurde.
12. Datenverwaltungsverfahren für eine
Speichervorrichtung mit einem Halbleiterspeicher, der eine Vielzahl von
Speicherbereichen (M) enthält, dadurch gekennzeichnet, daß
das Datenverwaltungsverfahren die folgenden Schritte umfaßt:
Zählen der Anzahl der Male, wie oft ein Löschen für
jeden Speicherbereich (M) ausgeführt worden ist;
Berechnen einer Differenz zwischen der größten Anzahl
der Male, wie oft das Löschen irgendeines Speicherbereiches
(M) ausgeführt worden ist, und der kleinsten Anzahl der
Male, wie oft das Löschen irgendeines Speicherbereiches (M)
ausgeführt worden ist;
Selektieren des Speicherbereiches (M), bei dem das
Löschen die wenigsten Male ausgeführt worden ist, zum
Löschen von Daten in dem selektierten Speicherbereich (M),
wenn die Differenz größer als ein Schwellenwert ist; und
Löschen von Daten, die in dem Speicherbereich
gespeichert sind, der bei dem Selektionsschritt selektiert wurde.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31446791A JPH05151097A (ja) | 1991-11-28 | 1991-11-28 | 書換回数制限型メモリのデータ管理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69226847D1 DE69226847D1 (de) | 1998-10-08 |
DE69226847T2 true DE69226847T2 (de) | 1999-01-14 |
Family
ID=18053688
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69233228T Expired - Lifetime DE69233228T2 (de) | 1991-11-28 | 1992-11-25 | Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C. Speicherkarte mit solchem Datenverwaltungssystem |
DE69226847T Expired - Lifetime DE69226847T2 (de) | 1991-11-28 | 1992-11-25 | Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C.-Speicherkarte mit solchem Datenverwaltungssystem |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69233228T Expired - Lifetime DE69233228T2 (de) | 1991-11-28 | 1992-11-25 | Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C. Speicherkarte mit solchem Datenverwaltungssystem |
Country Status (4)
Country | Link |
---|---|
US (1) | US5530827A (de) |
EP (2) | EP0686976B1 (de) |
JP (1) | JPH05151097A (de) |
DE (2) | DE69233228T2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10315189B4 (de) * | 2003-04-03 | 2016-09-15 | Robert Bosch Gmbh | Verfahren zur Bestimmung der Anzahl durchgeführter Löschvorgänge eines Speicherblocks einer Speichereinrichtung |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3587204B2 (ja) * | 1991-11-28 | 2004-11-10 | 株式会社日立製作所 | 記憶装置 |
JP3407317B2 (ja) * | 1991-11-28 | 2003-05-19 | 株式会社日立製作所 | フラッシュメモリを使用した記憶装置 |
JP2610737B2 (ja) * | 1991-12-20 | 1997-05-14 | シャープ株式会社 | 記録再生装置 |
JPH05233426A (ja) * | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | フラッシュ・メモリ使用方法 |
JPH0750558B2 (ja) * | 1992-09-22 | 1995-05-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリ |
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
JP3215237B2 (ja) * | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
JPH07219720A (ja) * | 1993-10-01 | 1995-08-18 | Hitachi Maxell Ltd | 半導体メモリ装置ならびにその制御方法 |
JPH07153285A (ja) * | 1993-11-29 | 1995-06-16 | Sansei Denshi Japan Kk | 不揮発性フラッシュメモリの制御方法とその装置 |
US6750908B1 (en) | 1994-02-03 | 2004-06-15 | Canon Kabushiki Kaisha | Image processing apparatus using recording medium which needs data erasing processing before recording of data |
DE69526749D1 (de) * | 1994-02-23 | 2002-06-27 | Canon Kk | Datenverarbeitungsgerät mit Aufzeichnungsmedium, bei dem Daten gelöscht werden müssen, bevor Daten aufgezeichtnet werden |
JP3784844B2 (ja) * | 1994-03-30 | 2006-06-14 | 沖電気工業株式会社 | 半導体記憶装置 |
JPH0896588A (ja) * | 1994-09-28 | 1996-04-12 | Nec Corp | 半導体記憶装置 |
US6801979B1 (en) | 1995-07-31 | 2004-10-05 | Lexar Media, Inc. | Method and apparatus for memory control circuit |
US5907856A (en) * | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US6757800B1 (en) | 1995-07-31 | 2004-06-29 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5838614A (en) * | 1995-07-31 | 1998-11-17 | Lexar Microsystems, Inc. | Identification and verification of a sector within a block of mass storage flash memory |
US6081878A (en) | 1997-03-31 | 2000-06-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5930815A (en) * | 1995-07-31 | 1999-07-27 | Lexar Media, Inc. | Moving sequential sectors within a block of information in a flash memory mass storage architecture |
US6978342B1 (en) | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US8171203B2 (en) | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US5835935A (en) * | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
US6125435A (en) * | 1995-09-13 | 2000-09-26 | Lexar Media, Inc. | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory |
GB2291991A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Disk drive emulation with a block-erasable memory |
FR2742893B1 (fr) * | 1995-12-20 | 1998-01-16 | Schlumberger Ind Sa | Procede d'inscription d'une donnee dans une memoire reinscriptible |
JP2848300B2 (ja) * | 1995-12-27 | 1999-01-20 | 日本電気株式会社 | 不揮発性半導体記憶装置 |
US5956473A (en) * | 1996-11-25 | 1999-09-21 | Macronix International Co., Ltd. | Method and system for managing a flash memory mass storage system |
US5928370A (en) * | 1997-02-05 | 1999-07-27 | Lexar Media, Inc. | Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure |
US6034897A (en) * | 1999-04-01 | 2000-03-07 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
US6122195A (en) * | 1997-03-31 | 2000-09-19 | Lexar Media, Inc. | Method and apparatus for decreasing block write operation times performed on nonvolatile memory |
US6411546B1 (en) | 1997-03-31 | 2002-06-25 | Lexar Media, Inc. | Nonvolatile memory using flexible erasing methods and method and system for using same |
US5930826A (en) * | 1997-04-07 | 1999-07-27 | Aplus Integrated Circuits, Inc. | Flash memory protection attribute status bits held in a flash memory array |
DE19718479C1 (de) * | 1997-04-30 | 1998-09-24 | Siemens Ag | Chipkarte mit Speicherzugriffsmaximierung und Protokollierung |
US6076137A (en) * | 1997-12-11 | 2000-06-13 | Lexar Media, Inc. | Method and apparatus for storing location identification information within non-volatile memory devices |
GB9801373D0 (en) | 1998-01-22 | 1998-03-18 | Memory Corp Plc | Memory system |
WO2000030116A1 (en) | 1998-11-17 | 2000-05-25 | Lexar Media, Inc. | Method and apparatus for memory control circuit |
FR2787601A1 (fr) * | 1998-12-22 | 2000-06-23 | Gemplus Card Int | Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire |
US6141249A (en) * | 1999-04-01 | 2000-10-31 | Lexar Media, Inc. | Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time |
ATE340405T1 (de) | 1999-04-01 | 2006-10-15 | Lexar Media Inc | Raumverwaltung in einem nichtflüchtigen speicher mit hoher kapazität |
US6426893B1 (en) | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
US6567307B1 (en) | 2000-07-21 | 2003-05-20 | Lexar Media, Inc. | Block management for mass storage |
JP2002351685A (ja) * | 2001-05-22 | 2002-12-06 | Sankyo Seiki Mfg Co Ltd | 不揮発性メモリのデータ更新方法及び制御装置 |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
GB0123412D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system sectors |
GB0123421D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
US7231643B1 (en) | 2002-02-22 | 2007-06-12 | Lexar Media, Inc. | Image rescue system including direct communication between an application program and a device driver |
US20030204857A1 (en) * | 2002-04-29 | 2003-10-30 | Dinwiddie Aaron Hal | Pre-power -failure storage of television parameters in nonvolatile memory |
JP4560408B2 (ja) * | 2002-10-02 | 2010-10-13 | パナソニック株式会社 | 不揮発性記憶装置の制御方法 |
CN100483552C (zh) | 2002-10-28 | 2009-04-29 | 桑迪士克股份有限公司 | 在非易失性存储系统中执行自动磨损平衡的方法 |
EP1713085A1 (de) * | 2002-10-28 | 2006-10-18 | SanDisk Corporation | Automatischer Abnutzungsausgleich in nichtflüchtigen Speichersystemen |
JP4327503B2 (ja) * | 2003-05-28 | 2009-09-09 | 富士通株式会社 | ハードディスクの制御方法及び制御装置 |
US20050041453A1 (en) * | 2003-08-22 | 2005-02-24 | Brazis Paul W. | Method and apparatus for reading and writing to solid-state memory |
US7480760B2 (en) * | 2003-12-17 | 2009-01-20 | Wegener Communications, Inc. | Rotational use of memory to minimize write cycles |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
DE102004037785A1 (de) * | 2004-08-03 | 2006-03-16 | Endress + Hauser Gmbh + Co. Kg | Feldgerät für die Automatisierungstechnik |
US7464306B1 (en) | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
US7594063B1 (en) | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
JP2007280443A (ja) * | 2006-04-03 | 2007-10-25 | Fuji Xerox Co Ltd | データ処理装置およびデータ処理方法とプログラム |
JP4804218B2 (ja) * | 2006-05-11 | 2011-11-02 | 株式会社日立製作所 | 記憶媒体への書き込み回数を管理する計算機システム及びその制御方法 |
JP2008015769A (ja) | 2006-07-05 | 2008-01-24 | Hitachi Ltd | ストレージシステム及び書き込み分散方法 |
US9153337B2 (en) | 2006-12-11 | 2015-10-06 | Marvell World Trade Ltd. | Fatigue management system and method for hybrid nonvolatile solid state memory system |
US20080140918A1 (en) * | 2006-12-11 | 2008-06-12 | Pantas Sutardja | Hybrid non-volatile solid state memory system |
US7515500B2 (en) * | 2006-12-20 | 2009-04-07 | Nokia Corporation | Memory device performance enhancement through pre-erase mechanism |
TWI368224B (en) * | 2007-03-19 | 2012-07-11 | A Data Technology Co Ltd | Wear-leveling management and file distribution management of hybrid density memory |
WO2009105055A1 (en) * | 2007-05-10 | 2009-08-27 | Micron Technology, Inc. | Memory area protection system and methods |
US8631218B2 (en) | 2008-06-17 | 2014-01-14 | Nxp, B.V. | Method of and system for controlling the programming of memory devices |
JP5192352B2 (ja) * | 2008-10-30 | 2013-05-08 | 株式会社日立製作所 | 記憶装置及びデータ格納領域管理方法 |
JP2011198409A (ja) * | 2010-03-19 | 2011-10-06 | Toshiba Information Systems (Japan) Corp | 不揮発性メモリ |
FR2959586B1 (fr) | 2010-04-30 | 2012-06-22 | Proton World Int Nv | Procede d'ecriture et de lecture dans une memoire d'atomicite |
JP5722685B2 (ja) | 2011-04-12 | 2015-05-27 | 株式会社日立製作所 | 半導体装置、不揮発性メモリ装置の制御方法 |
JP5569469B2 (ja) * | 2011-05-25 | 2014-08-13 | 株式会社デンソー | 電子機器 |
JP5787095B2 (ja) * | 2012-03-01 | 2015-09-30 | 株式会社デンソー | 不揮発性メモリへのデータ記憶方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58215794A (ja) * | 1982-06-08 | 1983-12-15 | Toshiba Corp | 不揮発性メモリ装置 |
JPS59162695A (ja) * | 1983-03-07 | 1984-09-13 | Nec Corp | 記憶装置 |
JPS618798A (ja) * | 1984-06-21 | 1986-01-16 | Nec Corp | 不揮発性記憶装置 |
US4758988A (en) * | 1985-12-12 | 1988-07-19 | Motorola, Inc. | Dual array EEPROM for high endurance capability |
JP2685173B2 (ja) * | 1986-05-31 | 1997-12-03 | キヤノン株式会社 | メモリ書き込み制御方法 |
EP0392895B1 (de) * | 1989-04-13 | 1995-12-13 | Sundisk Corporation | EEprom-System mit Blocklöschung |
EP0398545A1 (de) * | 1989-05-19 | 1990-11-22 | Delco Electronics Corporation | Verfahren und Vorrichtung zur Datenspeicherung in einem nichtflüchtigen Speicher |
US5148481A (en) * | 1989-10-06 | 1992-09-15 | International Business Machines Corporation | Transaction system security method and apparatus |
US5206944A (en) * | 1990-06-07 | 1993-04-27 | The United States Of America As Represented By The Secretary Of The Air Force | High speed analog to digital converter board for an IBM PC/AT |
US5303198A (en) * | 1990-09-28 | 1994-04-12 | Fuji Photo Film Co., Ltd. | Method of recording data in memory card having EEPROM and memory card system using the same |
EP0492450B1 (de) * | 1990-12-25 | 2002-08-28 | Fuji Photo Film Co., Ltd. | Speicherkarte mit EEPROM |
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
US5249158A (en) * | 1991-02-11 | 1993-09-28 | Intel Corporation | Flash memory blocking architecture |
US5295255A (en) * | 1991-02-22 | 1994-03-15 | Electronic Professional Services, Inc. | Method and apparatus for programming a solid state processor with overleaved array memory modules |
JP2582487B2 (ja) * | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
-
1991
- 1991-11-28 JP JP31446791A patent/JPH05151097A/ja active Pending
-
1992
- 1992-11-24 US US07/980,089 patent/US5530827A/en not_active Expired - Lifetime
- 1992-11-25 DE DE69233228T patent/DE69233228T2/de not_active Expired - Lifetime
- 1992-11-25 EP EP95113545A patent/EP0686976B1/de not_active Expired - Lifetime
- 1992-11-25 DE DE69226847T patent/DE69226847T2/de not_active Expired - Lifetime
- 1992-11-25 EP EP92120081A patent/EP0544252B1/de not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10315189B4 (de) * | 2003-04-03 | 2016-09-15 | Robert Bosch Gmbh | Verfahren zur Bestimmung der Anzahl durchgeführter Löschvorgänge eines Speicherblocks einer Speichereinrichtung |
Also Published As
Publication number | Publication date |
---|---|
JPH05151097A (ja) | 1993-06-18 |
EP0686976A3 (de) | 1996-11-27 |
EP0544252B1 (de) | 1998-09-02 |
DE69233228T2 (de) | 2004-07-01 |
US5530827A (en) | 1996-06-25 |
EP0544252A2 (de) | 1993-06-02 |
DE69233228D1 (de) | 2003-11-13 |
EP0686976B1 (de) | 2003-10-08 |
EP0686976A2 (de) | 1995-12-13 |
EP0544252A3 (en) | 1993-09-08 |
DE69226847D1 (de) | 1998-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69226847T2 (de) | Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C.-Speicherkarte mit solchem Datenverwaltungssystem | |
DE60319407T2 (de) | Verfolgen der am häufigsten gelöschten blöcke eines nichtflüchtigen speichersystems | |
DE60319563T2 (de) | Verwaltung der anzahl von löschungen in einem nicht-fluchtigem speicher | |
DE69030024T2 (de) | Verfahren zur Herstellung einer Duplikation von einer Datenbank | |
DE69034191T2 (de) | EEPROM-System mit aus mehreren Chips bestehender Blocklöschung | |
DE69527594T2 (de) | Flashspeicherkarte | |
DE60317551T2 (de) | Aufrechterhaltung gleichförmiger löschhäufigkeit in einem nichtflüchtigen speichersystem | |
DE69414556T2 (de) | Schnell loeschbare datei | |
DE69623720T2 (de) | Verfahren zum Aufräumen eines Flash-Speichers mit Übersetzungsschicht | |
DE60032531T2 (de) | Aufzeichnungsverfahren, Verwaltungsverfahren und Aufzeichnungsgerät | |
DE69839126T2 (de) | Verschiebung aufeinander folgender sektoren innerhalb eines datenblocks in einem flash-massenspeicher | |
DE69431795T2 (de) | Massenspeicherarchitektur mit flash-speicher | |
DE69430668T2 (de) | Flash-speicher mit verringerter löschung und überschreibung | |
DE69526123T2 (de) | Fehlersteuerungsverfahren für flash-eeprom-speichermatritzen | |
DE60217883T2 (de) | Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher | |
DE69726088T2 (de) | Methode und Apparat zur Speicherverwaltung | |
DE60019903T2 (de) | Speichersystem | |
DE60129025T2 (de) | Speicherbereichszuordnung in einem dateisystem zum beschreiben beliebiger bereiche | |
DE68913605T2 (de) | Verfahren zur Handhabung defekter Sektoren auf einem plattenförmigen Informations-Aufzeichnungsträger und Gerät zur Durchführung des Verfahrens. | |
DE69710665T2 (de) | Methode und Apparat zur Speicherverwaltung | |
DE69325741T2 (de) | Speicherkartengerät | |
DE69608797T2 (de) | Verfahren und vorrichtung zum schutz der prozessdatenintegrität auf einem wechselspeichermedium | |
DE102009048179A1 (de) | Prozess und Verfahren für eine Löschstrategie in Festkörperplatten | |
EP0195885B1 (de) | Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung | |
DE69226853T2 (de) | Aufnahme- und Wiedergabeanordnung mit einer Block-löschbaren nichtflüchtigen Halbleiterspeicheranordnung für einen Block von spezifischen Datengruppen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE |