DE69527594T2 - Flashspeicherkarte - Google Patents
FlashspeicherkarteInfo
- Publication number
- DE69527594T2 DE69527594T2 DE69527594T DE69527594T DE69527594T2 DE 69527594 T2 DE69527594 T2 DE 69527594T2 DE 69527594 T DE69527594 T DE 69527594T DE 69527594 T DE69527594 T DE 69527594T DE 69527594 T2 DE69527594 T2 DE 69527594T2
- Authority
- DE
- Germany
- Prior art keywords
- sector
- block
- flash memory
- address
- logical
- 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 - Fee Related
Links
- 238000006243 chemical reaction Methods 0.000 claims description 49
- 230000006866 deterioration Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000682 scanning probe acoustic microscopy Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Description
- Die Erfindung betrifft eine Flashspeicherplatte. Insbesondere bezieht sich die Erfindung auf eine Flashspeicherplatte und/ oder eine Flashspeicherplattenkarte, die mit einem als externes Speichermedium verwendeten Flashspeicher für eine Informationsverarbeitungseinrichtung ausgerüstet ist.
- Eine bekannte Flashspeicherplatte und/oder Flashspeicherplattenkarte wird nachstehend unter Bezugnahme auf Fig. 10 bis 14 beschrieben. Fig. 10 ist eine Zeichnung, die die gesamte Konfiguration der bekannten Flashspeicherplattenkarte darstellt.
- Fig. 11 ist eine Zeichnung, die die Konfiguration einer Adreßumwandlungstabelle der bekannten Flashspeicherplattenkarte darstellt. Fig. 12 ist eine Zeichnung, die ein Adressierungssystem der bekannten Flashspeicherplattenkarte darstellt. Fig. 13 ist eine Zeichnung, die die Konfiguration eines Flashspeichers der bekannten Flashspeicherplattenkarte darstellt. Fig. 14 ist eine Zeichnung, die eine Änderung des Inhalts der Adreßumwandlungstabelle der bekannten Flashspeicherplattenkarte darstellt.
- In Fig. 10 umfaßt eine bekannte Flashspeicherplattenkarte 1 eine Flashspeicherplattensteuerschaltung 3 mit einer Vielzahl von Registern zum Empfangen und Übertragen von Zylinder-, Kopf- und Sektornummern oder Befehlen von und zu einer Hosteinrichtung 2 wie beispielsweise ein Computer oder dergleichen, eine MPU zum Steuern der gesamten Karte, eine logische/physikalische-Sektoradressen-Umwandlungstabelle 5 mit 1 MBit SRAM (Static Random Access Memory), ein Flashspeicherfeld 6 mit zum Beispiel 20 MBytes, und einen Sektorpuffer 7 mit einem Speicher mit wahlfreiem Zugriff bzw. RAM.
- Wie in Fig. 11 gezeigt ist, ist die logische/physikalische- Sektoradressen-Umwandlungstabelle S zum Umwandeln von logischen Sektoradressen (LSA) in physikalische Sektoradressen (PSA) des Flashspeicherfelds 6 ausgelegt.
- Das Flashspeicherfeld 6, welches ein elektrisch wiederbeschreibbarer nichtflüchtiger Speicher ist, erfordert während des Neuschreibens von Daten eine Löschoperation, die mehr Zeit als Lese- und Schreiboperationen benötigt. Das Flashspeicherfeld 6 löscht Daten in Blöcken von mehreren Kilobytes oder mehreren zehn Kilobytes oder Chips. Diese Einheit ist größer als die Sektorgröße (512 Bytes), welches die Einheit des Datentransfers einer Festplatteneinrichtung ist.
- Folglich verwendet die Flashspeicherkarte 1, welche die Festplatteneinrichtung unter Verwendung des Flashspeicherfelds 6 emuliert, d. h. eine Pseudooperation durchführt, vorwiegend das Verfahren des Anzeigens nur eines Flags bzw. Kennzeichenbits, welches anzeigt, daß der alte Sektor ungültig ist, ohne Daten des alten Sektors zu löschen, in Antwort auf einen Befehl zum Aktualisieren von Daten in Einheiten von Sektoren, welcher Befehl von der Hosteinrichtung 2 ausgegeben wird, und Schreibens von Aktualisierungsdaten in einen Reservebereich des Flashspeicherfelds 6.
- Bei diesem Verfahren wird, da sich die Entsprechung zwischen der durch die Hosteinrichtung 2 spezifizierten Sektoreinheitsadresse (logische Sektoradresse: LSA) und der Adresse (physikalische Sektoradresse: PSA) des Flashspeichers 6, wo Aktualisierungsdaten tatsächlich geschrieben werden, jedesmal ändert, wenn Daten aktualisiert werden, die in Fig. 11 gezeigte logische/physikalische-Sektoradressen-Umwandlungstabelle 5 verwendet.
- Wie bei dem Zugriff auf die Festplatteneinrichtung wird auf die Flashspeicherkarte 1 von der Hosteinrichtung 2 durch Spezifizieren einer Zylindernummer, einer Kopfnummer und einer Sektornummer in vier Registern der Flashplattensteuerschaltung 3 zugegriffen, wie in Fig. 12 gezeigt. Zwei Register werden für höhere und niedrigere Zylindernummern verwendet. Die Zylindernummer, die Kopfnummer und die Sektornummer werden dann in eine logische Sektoradresse umgewandelt. Diese Adreßumwandlung wird auf der Grundlage der folgenden Gleichung (1) durchgeführt:
- LSA = (X · HpC + H) · SpH + S - 1 ... (1)
- worin C die Zylindernummer ist, HpC die Anzahl von Köpfen pro Zylinder ist, H die Kopfnummer ist, SpH die Anzahl von Sektoren pro Kopf ist, und S die Sektornummer ist.
- Die MPU 4 wandelt die logische Sektoradresse (LSA) in die physikalische Sektoradresse (PSA) unter Bezugnahme auf die logische/physikalische-Sektoradressen-Umwandlungstabelle 5 um. Die physikalische Sektoradresse wird für Operationen des Lesens und Schreibens von Daten verwendet.
- Nachstehend wird die Aktualisierung eines Inhalts, zum Beispiel des Inhalts der logischen Sektoradresse L1, des Flashspeichers 6 beschrieben. Wie in Fig. 13 gezeigt ist, hat der Flashspeicher 6 einen Datenbereich mit physikalischen Sektoradressen von P0, P1, P2 bis PX, und einen Reservebereich mit physikalischen Sektoradressen beginnend mit PY. In dem Flashspeicher 6 werden die logischen Sektoradressen L0 bis L2 gegenwärtig verwendet (Daten sind tatsächlich gespeichert).
- Die MPU 4 liest zunächst den Inhalt der gegenwärtigen logischen Sektoradresse L2 (der physikalischen Sektoradresse P2), bestätigt, daß die gelesenen Daten wirksam sind, und setzt dann ein Sektor-Ungültig-Flag (Markierung Δ). Die MPU 4 prüft dann den Inhalt der physikalischen Sektoradresse PY des Reservebereichs, bestätigt, daß der Sektor ein Reservesektor bzw. freier Sektor ist, und schreibt sodann Aktualisierungsdaten in denselben.
- Der Inhalt der der logischen Sektoradresse L2 der logische/physikalische-Sektoradressen-Umwandlungstabelle 5 entsprechenden physikalischen Sektoradresse wird von 2 nach Y konvertiert, wie in Fig. 14 gezeigt.
- Auf diese Art und Weise wird, da sich die Entsprechung zwischen der durch die Hosteinrichtung 2 spezifizierten Sektoreinheitsadresse (LSA) und der Adresse (PSA) des Flashspeichers 6, wo Daten tatsächlich geschrieben werden, jedesmal ändert, wenn Daten aktualisiert werden, die logische/physikalische-Sektoradressen-Umwandlungstabelle 5 verwendet. In einer einfachen Schreiboperation addiert die MPU 4 die logische/physikalische-Sektoradressen-Umwandlungstabelle 5, um zu bewirken, daß die logische Sektoradresse der physikalischen Sektoradresse entspricht.
- Obwohl SRAM wegen der Gesichtspunkte der Neuschreibfrequenz und schnellen Geschwindigkeit für die logische/physikalische- Sektoradressen-Umwandlungstabelle 5 verwendet wird, ist die Umwandlungstabelle 5 in Einheiten von Sektoren (512 Bytes) ausgestaltet, wodurch ein Problem dahingehend verursacht wird, daß die Größe des SRAM für die Umwandlungstabelle mit zunehmender Kartenkapazität ansteigt.
- In einem Beispiel, in dem die Flashplattenkarte 1 20 MBytes aufweist, ist die Anzahl von Sektoren 40 k, und sind 16 Stellen (2 Bytes) zur binären Darstellung der 40 k Sektoren erforderlich. Die Größe des SPAM für die Umwandlungstabelle beträgt folglich 80 KBytes, so daß schließlich SRAM mit 1 MBits (128 Bytes) benötigt werden.
- Die vorstehende bekannte Flashplattenkarte 1 umfaßt die logische/physikalische-Sektoradressen-Umwandlungstabelle 5, welche in Einheiten von Sektoren ausgebildet ist, und folglich das Problem dahingehend hat, daß die Größe der Umwandlungstabelle mit zunehmender Kapazität der Karte ansteigt.
- Obwohl das SRAM zum Speichern der großen Umwandlungstabelle verwendet wird, ist das SRAM flüchtig und hat folglich ein Problem in Bezug auf die Notwendigkeit des Aufbauens der Tabelle jedesmal dann, wenn die Leistungsversorgung eingeschaltet wird.
- Aus der Druckschrift EP-A-557 736 ist eine Flashspeicherplatte bekannt mit einer Tabelle zum Umwandeln einer logischen Blockadresse in eine physikalische Blockadresse, um einen blocklöschbaren Block zu adressieren; ferner sind mit Alloc [0 ...] bezeichnete Identifikationen bzw. ID's innerhalb eines Blocks gespeichert, um den Zugriff auf einen Datenbereich zu erlauben, wo immer dieser gespeichert ist; die Daten sind jedoch nicht in Sektoren, sondern von variabler Länge.
- Ferner offenbart die Druckschrift GB-A-2251323 eine Plattenemulation für einen nichtflüchtigen Halbleiterspeicher.
- Ferner offenbart die Druckschrift WO9420906 ein Flashdateisystem. Diese Druckschrift offenbart die Merkmale des Oberbegriffs von Patentanspruch 1.
- Die Erfindung erfolgte zum Lösen der vorstehenden Probleme, und die Aufgabe der Erfindung besteht darin, eine Flashspeicherplatte bereitzustellen, welche eine Verringerung der Größe einer Adreßumwandlungstabelle, eine Verringerung der Neuschreibfrequenz der Adreßumwandlungstabelle und eine Erhöhung der Lebensdauer durch Vergleichmäßigen der Häufigkeit des Löschens in jeweiligen Löschblöcken eines Flashspeichers erlaubt.
- In Übereinstimmung mit der Erfindung wird diese Aufgabe durch eine Flashspeicherplatte wie in Patentanspruch 1 definiert gelöst. Vorteilhafte Weiterentwicklungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
- Es ist somit möglich, die Größe der Adreßumwandlungstabelle und die Neuschreibfrequenz bzw. -häufigkeit der Inhalte in der Adreßumwandlungstabelle zu verringern.
- Bei einer Flashspeicherplatte gemäß der Erfindung wird die logische/physikalische-Blockadressen-Umwandlungstabelle in dem Flashspeicher gespeichert. Die Flashspeicherplattenkarte kann folglich zu geringen Kosten hergestellt werden, so daß keine Notwendigkeit besteht, die Tabelle jedesmal aufzubauen, wenn die Leistungsversorgung eingeschaltet wird.
- Bei einer Flashspeicherplatte gemäß der Erfindung werden Informationen in Bezug auf eine Löschcharakteristik in jedem physikalischen Block des Flashspeichers gespeichert. Es ist folglich möglich, die Verschlechterung in Löschblöcken zu vergleichmäßigen, wodurch die Lebensdauer erhöht und eine hohe Zuverlässigkeit verwirklicht wird.
- Fig. 1 ist ein Blockdiagramm, das die Konfiguration eines ersten Ausführungsbeispiels der Erfindung darstellt;
- Fig. 2 ist eine Zeichnung, die eine logische/physikalische- Blockadressen-Umwandlungstabelle in dem ersten Ausführungsbeispiel der Erfindung darstellt;
- Fig. 3 ist eine Zeichnung, die eine Konfiguration von logischen und physikalischen Blöcken in dem ersten Ausführungsbeispiel der Erfindung darstellt;
- Fig. 4 ist eine Zeichnung, die ein Adressierungssystem in dem ersten Ausführungsbeispiel der Erfindung darstellt;
- Fig. 5 ist ein Ablaufdiagramm, das eine Leseoperation in dem ersten Ausführungsbeispiel der Erfindung darstellt;
- Fig. 6 ist ein Ablaufdiagramm, das einen Schreibvorgang in dem ersten Ausführungsbeispiel der Erfindung darstellt;
- Fig. 7 ist eine Zeichnung, die die Konfiguration eines Flashspeichers in dem ersten Ausführungsbeispiel der Erfindung darstellt;
- Fig. 8 ist eine Zeichnung, die eine Änderung des Inhalts einer logische/physikalische-Blockadressen-Umwandlungstabelle in dem ersten Ausführungsbeispiel der Erfindung darstellt;
- Fig. 9 ist eine Zeichnung, die eine Konfiguration von logischen und physikalischen Blöcken in einem zweiten Ausführungsbeispiel der Erfindung darstellt;
- Fig. 10 ist eine Zeichnung, die die Konfiguration einer privat bekannten, aber unveröffentlichten Flashspeicherplattenkarte darstellt;
- Fig. 11 ist eine Zeichnung, die eine logische/physikalische- Sektoradressen-Umwandlungstabelle der privat bekannten, aber unveröffentlichten Flashspeicherplattenkarte darstellt;
- Fig. 12 ist eine Zeichnung, die ein Adressierungssystem der privat bekannten, aber unveröffentlichten Flashspeicherplattenkarte darstellt;
- Fig. 13 ist eine Zeichnung, die die Konfiguration eines Flashspeichers der privat bekannten, aber unveröffentlichten Flashspeicherplattenkarte darstellt; und
- Fig. 14 ist eine Zeichnung, die eine Änderung des Inhalts der logische/physikalische-Sektoradressen-Umwandlungstabelle der privat bekannten, aber unveröffentlichten Flashspeicherplattenkarte darstellt.
- Nachstehend wird ein Ausführungsbeispiel der Erfindung unter Bezugnahme auf Fig. 1 bis 8 beschrieben. Fig. 1 ist ein Blockdiagramm, das die gesamte Konfiguration eines ersten Ausführungsbeispiels der Erfindung darstellt. Fig. 2 ist eine Zeichnung, die die Konfiguration einer logische/physikalische-Blockadressen-Umwandlungstabelle des ersten Ausführungsbeispiels darstellt. Fig. 3 ist eine Zeichnung, die die Konfiguration eines physikalischen Blocks des ersten Ausführungsbeispiels darstellt. Fig. 4 ist eine Zeichnung, die ein Adressierungssystem des ersten Ausführungsbeispiels darstellt. Fig. 5 und 6 sind Ablaufdiagramme, die jeweils Lese- und Schreiboperationen darstellen. Fig. 7 ist eine Zeichnung, die die Konfiguration des Flashspeichers des ersten Ausführungsbeispiels darstellt. Fig. 8 ist eine Zeichnung, die eine Änderung des Inhalts der logische/physikalische-Blockadressen-Umwandlungstabelle des ersten Ausführungsbeispiels darstellt. In diesen Zeichnungen bezeichnen dieselben Bezugszeichen dieselben oder äquivalente Abschnitte.
- In Fig. 1 umfaßt eine Flashspeicherplattenkarte 1A eine Flashspeicherplattensteuerschaltung 3, eine karteninterne Mikroprozessoreinheit (MPU) 4, eine logische/physikalische- Blockadressen-Umwandlungstabelle 5A, auf welche während Lese- und Schreiboperationen durch die MPU 4 Bezug genommen wird, ein Flashspeicherfeld 6, und einen Sektorpuffer 7 mit RAM. Die logische/physikalische-Blockadressen-Umwandlungstabelle 5A ist in einem Abschnitt des Flashspeicherfelds 6 gespeichert. Die logische/physikalische-Blockadressen-Umwandlungstabelle 5A kann in einem anderen Flashspeicher gespeichert sein. Das Bezugszeichen 2 bezeichnet eine Hosteinrichtung zum Zugreifen auf die Flashspeicherplattenkarte lA als einem externen Speichermedium.
- Die in Fig. 2 gezeigte logische/physikalische-Blockadressen- Umwandlungstabelle 5a ist zum Umwandeln von logischen Blockadressen (LBA) in physikalische Blockadressen (PBA) des Flashspeichers 6 ausgelegt. Logische und physikalische Blöcke haben dieselbe Größe wie die eines Löschblocks.
- In Fig. 3 umfaßt ein physikalischer Block eine Blockidentifikation und eine vorbestimmte Anzahl von Sektoren, wobei jeder dieser Sektoren eine Sektoridentifikation und einen Datenbereich umfaßt. Fig. 3 zeigt den Zustand, in dem Sektoradressen von 1 bis m verwendet werden. Oben in dem physikalischen Block ist der Blockidentifikationsbereich zum Speichern einer logischen Blocknummer (logischen Blockadresse) entsprechend diesem physikalischen Block, von Blockstatusinformationen, die den Zustand des verwendeten physikalischen Blocks angeben, von Daten wie beispielsweise die Häufigkeit des Löschens des physikalischen Blocks usw. bereitgestellt. Sektordaten und Sektoridentifikationsdaten jedes Sektors sind auf den Blockidentifikationsbereich folgend zusammen gespeichert. Die Sektoridentifikationsdaten beinhalten Informationen wie beispielsweise die Sektornummer (die Sektoradresse), welche die Position des betroffenen Sektors in dem physikalischen Block angeben, ein Sektor-Ungültig-Flag, das anzeigt, ob Daten des Sektors wirksam oder ungültig sind, ein Sektor-in-Verwendung- Flag, das anzeigt, ob der Sektor verwendet wird oder nicht, usw.
- Wie bei dem Zugriff auf eine (nicht gezeigte) Festplatteneinrichtung werden bei dem Zugriff auf die Flashspeicherplattenkarte 1A von der Hosteinrichtung 2, wie in Fig. 4 gezeigt, die Zylindernummer, die Kopfnummer und die Sektornummer für die Operation des Lesens oder Schreibens von Daten in einen Sektor oder aus einem Sektor mit einer Größe von 512 Bytes, welches die Einheit des Datentransfers ist, spezifiziert.
- Bei der Flashspeicherplattenkarte 1A gemäß dem ersten Ausführungsbeispiel werden die Zylinder-, Kopf- und Sektoradressen, die durch die Hosteinrichtung 2 spezifiziert wurden, wie bei der bekannten Plattenkarte auf der Grundlage der Gleichung (1) in eine logische Sektoradresse (LSA) konvertiert.
- Das Adressierungssystem wird dann auf der Grundlage der nachstehenden Gleichung (2) konvertiert, um eine logische Blockadresse (LBA) eines Blocks mit derselben Größe wie die des Löschblocks des Flashspeichers 6 in der Karte und eine Sektoradresse (SA) in dem logischen Block zu spezifizieren. In Gleichung (2) entspricht LBA dem Quotienten, und entspricht SA dem Rest. Falls die Größe des Löschblocks (logischen Blocks) 64 KBytes beträgt, ist im Hinblick auf die Blockidentifikation, die Sektoridentifikation, Reservesektoren usw. die mögliche Anzahl von Sektoren pro Block 100 (50 KBytes).
- LBA = LSA ÷ (Anzahl von Sektoren pro Block) ... (2)
- Bei dem Zugriff auf den Flashspeicher 6 in der Karte ermittelt die MPU 4 die physikalische Blockadresse (PBA) unter Bezugnahme auf die in Fig. 2 gezeigte logische/physikalische- Blockadressen-Umwandlungstabelle 5A und wird die Lese- oder Schreiboperation auf einem Sektor in dem physikalischen Block unter Verwendung der Sektoradresse (SA) in dem logischen Block durchgeführt (Schritte 10 bis 14, Schritte 30 bis 34).
- Wie vorstehend beschrieben wurde, kann bei der Flashspeicherplattenkarte 1A gemäß dem ersten Ausführungsbeispiel, da die logische/physikalische-Blockadressen-Umwandlungstabelle 5A verwendet und der Flashspeicher 6 für jede Löschblockgröße gesteuert wird, die Größe der Adreßumwandlungstabelle verringert werden. Zum Beispiel ist für den 20 MBytes großen Flashspeicher 6 dann, wenn die Größe des Löschblocks (logischen Blocks) 64 KBytes beträgt, die Anzahl von logischen Blocks 320, und ist die ausreichende Größe der Adreßumwandlungstabelle 5A 1 KByte, auch dann, wenn ein Block unter Verwendung von 2 Bytes angezeigt wird. Da die bekannte Adreßumwandlungstabelle 5 128 KBytes (1 MBits) erfordert, ist die Größe der Umwandlungstabelle 5A in diesem Ausführungsbeispiel 1/128 der der bekannten Umwandlungstabelle.
- In der Leseoperation entscheidet dann, wenn das Sektor-Ungültig-Flag in der Sektoridentifikation zurückgesetzt ist, die MPU 4, daß der Sektor wirksam ist, und liest dann Sektordaten (Schritte 15 und 16). Andererseits entscheidet die MPU 4 dann, wenn das Sektor-Ungültig-Flag gesetzt ist, daß der Sektor ungültig ist, und setzt einen Sektoradreßzeiger PP auf einen Sektor (m + 1) neben einem Sektor m. Bereiche, welche zu Beginn Reservesektoren sind, werden aufeinanderfolgend wiedergewonnen, um nach einem wirksamen Sektor zu suchen und dessen Sektordaten zu lesen (Schritte 17 bis 21). In Fig. 3 bezeichnet das Bezugszeichen m die letzte logische Sektornummer in dem Block. In Fig. 3 muß dem Punkt Aufmerksamkeit geschenkt werden, daß ein Sektor die Sektoridentifikation und Sektordaten in zwei Stufen umfaßt.
- In der Schreiboperation entscheidet dann, wenn das Sektor-in- Verwendung-Flag in der Sektoridentifikation zurückgesetzt ist, die MPU 4, daß der Sektor nicht verwendet wird, und speichert die Sektoridentifikation und die Sektordaten (Schritte 35 und 36). Andererseits entscheidet die MPU 4 dann, wenn das Sektor-in-Verwendung-Flag ist, daß der Sektor verwendet wird, und führt eine Aktualisierungsoperation wie nachstehend beschrieben durch.
- Nachstehend wird ein Beispiel beschrieben, in dem der Inhalt des Sektors 2 aktualisiert wird. Die MPU 4 liest den Inhalt der gegenwärtigen Sektoridentifikation 2, bestätigt, daß die Daten wirksam sind, und setzt dann das Sektor-Ungültig-Flag. Die MPU 4 prüft dann den Inhalt einer Adresse neben dem letzten Sektor m in diesem Block, bestätigt, daß der Sektor ein Reservesektor ist, und schreibt dann eine neue Sektoridentifikation und die Daten des Sektors 2 (Schritte 39 bis 42). Wenn der Sektor der Adresse neben dem letzten Sektor m kein Reservesektor ist, wird der Sektoradreßzeiger aktualisiert, und wird dieselbe Verarbeitung wie vorstehend beschrieben wiederholt (Schritt S4).
- Wie vorstehend beschrieben wurde, ist in dem ersten Ausführungsbeispiel ein Reservesektorbereich in jedem der physikalischen Blocks bereitgestellt, so daß dann, wenn Daten eines Sektors in dem physikalischen Block aktualisiert werden, die Daten in den Reservesektor in demselben physikalischen Block geschrieben werden, wodurch die Notwendigkeit des Aktualisierens der logische/physikalische-Blockadressen-Umwandlungstabelle 5A jedesmal dann, wenn ein Sektorinhalt aktualisiert wird, in Entfall gebracht wird. Da der Flashspeicher billiger als der SRAM und nichtflüchtig ist, erfordert er keine Rekonstruktion der Tabelle jedesmal dann, wenn die Leistungsversorgung eingeschaltet wird, und kann er als ein Speicher zum Speichern der Adreßumwandlungstabelle 5A verwendet werden.
- Nachstehend wird der Betriebsablauf, wenn die Aktualisierung von Sektordaten in demselben physikalischen Block so fortschreitet, daß kein Reservesektor übrigbleibt, beschrieben.
- In diesem Fall werden m wirksame Sektoren in dem physikalischen Block an einen anderen Reserveblock in dem anfänglichen (gelöschten) Zustand transferiert. Der Inhalt der physikalischen Blockadresse entsprechend der entsprechenden logischen Blockadresse in der logische/physikalische-Blockadressen- Umwandlungstabelle 5A wird auf physikalische Blockadresse dieses Reserveblocks geändert. Nachdem die Sektordaten vollständig in den Reserveblock transferiert ist, werden Daten über die Häufigkeit des Löschens, die in die Blockidentifikation des alten physikalischen Blocks geschrieben wurden, gesichert, und wird dann der alte Block gelöscht. Wenn die Häufigkeit des Löschens um 1 inkrementiert und in den Blockidentifkationsbereich geschrieben ist, wird der alte physikalische Block zu einem neuen Reserveblock.
- Das heißt, daß dann, wenn der Sektoradreßzeiger PP gleich M (die letzte physikalische Sektor-Nummer in dem Block) ist (Schritt 43), entscheidet die MPU 4, daß es keinen Reservesektor in dem physikalischen Block gibt. Zum Beispiel werden wie in Fig. 7 gezeigt dann, wenn es keinen Reservesektor an einer physikalischen Blockadresse 3 gibt, m effektive Sektoren in dem physikalischen Block in einen Reserveblock an einer physikalischen Blockadresse 8 in dem anfänglichen (gelöschten) Zustand transferiert. Das heißt, daß die Sektoridentifikation und Sektordaten, welche die gegenwärtigen Aktualisierungsdaten sind, an der entsprechenden Sektoradresse in dem Reserveblock geschrieben und dann alle effektiven Sektoren an der physikalischen Blockadresse 3 in die entsprechenden Sektoradressen in dem physikalischen Block 8 kopiert werden (Schritte 45 und 46).
- Zu dieser Zeit wird der Inhalt der physikalischen Blockadresse entsprechend der logischen Blockadresse 3 in der logische/physikalische-Blockadressen-Umwandlungstabelle 5A auf die physikalische Blockadresse 8 des Reserveblocks geändert (Schritt 47). Nachdem die Sektordaten vollständig in den Reserveblock transferiert sind, werden Daten über die Häufigkeit des Löschens, die in die Blockidentifikation des alten physikalischen Blocks 3 geschrieben sind, gesichert, und wird dann der alte physikalische Block gelöscht. Wenn die Häufigkeit des Löschens um Eins inkrementiert und in den Blockidentifikationsbereich geschrieben ist, wird der alte physikalische Block 3 zu einem neuen Reserveblock (Schritt 48).
- Wenn die Notwendigkeit auftritt, Daten neu in den Reserveblock zu transferieren, werden die Häufigkeiten des Löschens in den Blockidentifikationsbereichen jeweiliger Reserveblöcke geprüft und so gesteuert, daß die Verschlechterungsgrade der jeweiligen Blöcke gleichmäßig werden, wodurch eine Erhöhung der Häufigkeit des Neuschreibens (der Lebensdauer) als Karte sowie die Realisierung einer Karte mit hoher Zuverlässigkeit möglich wird.
- In dem vorstehenden ersten Ausführungsbeispiel werden die Sektoridentifikation und Sektordaten jedes der Sektoren zusammen gespeichert, wie in Fig. 3 gezeigt. In dem zweiten Ausführungsbeispiel jedoch können ein Sektoridentifikationsbereich und ein Sektordatenbereich getrennt gespeichert werden, wie in Fig. 9 gezeigt.
- In dem vorstehenden ersten Ausführungsbeispiel wird die Häufigkeit des Löschens als ein Parameter, der eine Löschcharakteristik anzeigt, in die Blockidentifikation geschrieben. In dem dritten Ausführungsbeispiel jedoch wird die Zeit, die für das Blocklöschen erforderlich ist, oder die Anzahl von Löschimpulsen entsprechend der Zeit als ein eine Löschcharakteristik anzeigender Parameter verwendet. Somit können die Verschlechterungsgrade jeweiliger Blöcke weiter vergleichmäßigt werden.
- Es wird eine Flashspeicherplattenkarte bereitgestellt mit einer MPU zum Umwandeln der Zylinder-, Kopf- und Sektornummern, welche von einer Hosteinrichtung zugeführt werden, in eine logische Blockadresse (LBA) und eine Sektoradresse in dem Block, Ermitteln einer physikalischen Blockadresse (PBA) mit derselben Größe wie die eines Löschblocks aus der logischen Blockadresse in Bezug auf eine in dem Flashspeicher gespeicherte logische/physikalische-Blockadressen-Umwandlungstabelle, und Zugreifen auf den Flashspeicher auf der Grundlage der physikalischen Bockadresse.
- Die Flashspeicherplattenkarte ermöglicht eine Verringerung der Größe der Adreßumwandlungstabelle, kann zu geringen Kosten hergestellt werden, und besitzt keine Notwendigkeit des Aufbauens der Tabelle jedesmal dann, wenn die Leistungsversorgung eingeschaltet wird.
Claims (19)
1. Flashspeicherplatte, umfassend:
einen elektrisch wiederbeschreibbaren nichtflüchtigen
Hauptflashspeicher (6), der in Blöcke aufgeteilt ist zum
Speichern von Daten in Sektoren gleichmäßiger Größe innerhalb der
Speicherblöcke, wobei jeder Speicherblock eine physikalische
Blockadresse (PBA), die sich auf den Ort des Speicherblocks in
dem Hauptspeicher (6) bezieht, und eine logische Blockadresse
(LBA), die sich auf Inhalte des Speicherblocks bezieht, hat
und einzelne Speicherblöcke als eine Löschblockeinheit
gelöscht werden; und
eine Zugriffeinrichtung (3, 4, 5A) zum Umwandeln einer der
Zugriffeinrichtung von außerhalb der Flashspeicherplatte
zugeführten Adresse in eine logische Blockadresse eines
Speicherblocks und eine Sektoradresse in diesem Speicherblock, zum
Umwandeln der logischen Blockadresse in eine physikalische
Blockadresse, und zum Zugreifen auf den Flashspeicher auf der
Grundlage der physikalischen Blockadresse und der
Sektoradresse,
dadurch gekennzeichnet, daß
die von außerhalb zugeführte Adresse eine Zylindernummer,
eine Kopfnummer und eine Sektornummer ist, die in die logische
Blockadresse und die Sektoradresse in diesem Speicherblock
umgewandelt werden;
jeder Block Reservesektoren aufweist und mit jedem in
einem Sektor innerhalb des Blocks gespeicherten Datum eine
entsprechende Sektoridentifikation gespeichert wird, welche die
Position eines Sektors innerhalb des Blocks angibt;
die Zugriffeinrichtung (3, 4, 5A) ferner derart angeordnet
ist, daß Sektordaten innerhalb des Blocks durch Schreiben
neuer Sektordaten mit der entsprechenden Sektoridentifikation in
einen Reservesektor eines Blocks aktualisiert werden, und
dann, wenn kein Reservesektor verfügbar ist, alle effektiven
Sektoren des Blocks und der neue Sektor in einen anderen
Block, welcher sich in dem gelöschten Zustand befindet, neu
geschrieben werden und der alte Block gelöscht wird.
2. Flashspeicherplatte nach Anspruch 1, bei der die
Zugriffeinrichtung (3, 4, 5A) eine
logische/physikalische-Blockadressen-Umwandlungstabelle (5A) zum Umwandeln von logischen
Blockadressen in physikalische Blockadressen durch Bezugnehmen auf
die logische/physikalische-Blockadressen-Umwandlungstabelle
aufweist.
3. Flashspeicherplatte nach Anspruch 2, bei der die
Zugriffeinrichtung (3, 4, 5A) eine
Flashspeicherplatten-Steuerschaltung (3) zum Umwandeln der Zylindernummer, der Kopfnummer und
der Sektornummer in eine logische Sektoradresse und einen
Mikroprozessor (4) zum Umwandeln der logischen Sektoradresse in
die logische Blockadresse und die Sektoradresse aufweist.
4. Flashspeicherplatte nach Anspruch 3, bei der dann, wenn
die logische Sektoradresse LSA ist, die Zylindernummer C ist,
jeder Zylinder HpC Köpfe hat, die Kopfnummer H ist, jeder Kopf
SpH Sektoren hat, und die Sektornummer S ist, LSA =
(C · HpC + H) · SpH + S - 1 ist.
5. Flashspeicherplatte nach Anspruch 3, bei der dann, wenn
die logische Blockadresse LBA ist, die logische Sektoradresse
LSA ist, und jeder Block SpB Sektoren hat,
LBA = LSA/SpB
ist und jeder Rest einer Sektoradresse SA innerhalb eines
Speicherblocks entspricht.
6. Flashspeicherplatte nach Anspruch 2, bei der die
logische/physikalische-Blockadressen-Umwandlungstabelle (5A)
logische Blockadressen und physikalische Blockadressen in einer
Eins-zu-eins-Entsprechung speichert.
7. Flashspeicherplatte nach Anspruch 6, bei der die
logische/physikalische-Blockadressen-Umwandlungstabelle (5A) in
einem zweiten elektrisch wiederbeschreibbaren nichtflüchtigen
Flashspeicher gespeichert ist.
8. Flashspeicherplatte nach Anspruch 7, bei der der zweite
elektrisch wiederbeschreibbare nichtflüchtige Flashspeicher
einen Teil des elektrisch wiederbeschreibbaren nichtflüchtigen
Hauptflashspeichers (6) umfaßt.
9. Flashspeicherplatte nach Anspruch 7, bei der der zweite
elektrisch wiederbeschreibbare nichtflüchtige Flashspeicher
von dem elektrisch wiederbeschreibbaren nichtflüchtigen
Hauptflashspeicher getrennt ist.
10. Flashspeicherplatte nach Anspruch 7, bei der jeder
Speicherblock einen Blockidentifikationsbereich zum Speichern der
logischen Blockadresse des Speicherblocks und zumindest eines
Sektors aufweist.
11. Flashspeicherplatte nach Anspruch 10, bei der jeder Sektor
einen Sektoridentifikationsbereich zum Speichern eines Sektor-
Ungültig-Flags, eines Sektor-in-Verwendung-Flags und der
Sektoradresse sowie einen Sektordatenbereich zum Speichern von
Daten aufweist.
12. Flashspeicherplatte nach Anspruch 11, bei der jeder
Sektoridentifikationsbereich zu einem Sektordatenbereich in einem
Speicherblock benachbart ist.
13. Flashspeicherplatte nach Anspruch 11, bei der alle
Sektoridentifikationsbereiche in einem Speicherblock sequentiell
zusammen in einem Speicherblock angeordnet sind.
14. Flashspeicherplatte nach Anspruch 11, bei der alle
Sektordatenbereiche in einem Speicherblock sequentiell zusammen in
einem Speicherblock angeordnet sind.
15. Flashspeicherplatte nach Anspruch 10, bei der der
Blockidentifikationsbereich ferner eine Löschcharakteristik
speichert.
16. Flashspeicherplatte nach Anspruch 15, bei der die
Löschcharakteristik Löschzyklen des Speicherblocks umfaßt.
17. Flashspeicherplatte nach Anspruch 15, bei der die
Löschcharakteristik eine Löschzeit des Speicherblocks umfaßt.
18. Flashspeicherplatte nach Anspruch 15, bei der die
Löschcharakteristik Impulse umfaßt, die zum Löschen des
Speicherblocks erforderlich sind.
19. Flashspeicherplatte nach Anspruch 1, ausgelegt zur
Verwendung mit konventionellen Speicherzugriffsignalen, die eine
Speicheradresse eines Festplattenspeichers hinsichtlich einer
Zylindernummer, einer Kopfnummer und einer Sektornummer des
Festplattenspeichers angeben, wobei jeder Sektor eine feste
Speicherkapazität hat.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6274943A JPH08137634A (ja) | 1994-11-09 | 1994-11-09 | フラッシュディスクカード |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69527594D1 DE69527594D1 (de) | 2002-09-05 |
DE69527594T2 true DE69527594T2 (de) | 2002-12-05 |
Family
ID=17548720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69527594T Expired - Fee Related DE69527594T2 (de) | 1994-11-09 | 1995-11-08 | Flashspeicherkarte |
Country Status (4)
Country | Link |
---|---|
US (1) | US5905993A (de) |
EP (1) | EP0712067B1 (de) |
JP (1) | JPH08137634A (de) |
DE (1) | DE69527594T2 (de) |
Families Citing this family (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7190617B1 (en) * | 1989-04-13 | 2007-03-13 | Sandisk Corporation | Flash EEprom system |
US6347051B2 (en) * | 1991-11-26 | 2002-02-12 | Hitachi, Ltd. | Storage device employing a flash memory |
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 |
JPH09185551A (ja) * | 1996-01-08 | 1997-07-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5860124A (en) * | 1996-09-30 | 1999-01-12 | Intel Corporation | Method for performing a continuous over-write of a file in nonvolatile memory |
JPH10124381A (ja) * | 1996-10-21 | 1998-05-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
JP3417525B2 (ja) * | 1996-10-31 | 2003-06-16 | 株式会社エヌ・ティ・ティ・データ | 複合カード及び複合カードのアクセスシステム |
JP3729591B2 (ja) * | 1997-04-09 | 2005-12-21 | 株式会社ルネサステクノロジ | 記憶装置およびクロック発振停止時のデータ受け付け制御方法 |
JP4079506B2 (ja) * | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
WO1999030239A1 (fr) * | 1997-12-05 | 1999-06-17 | Tokyo Electron Limited | Memoire et procede d'acces |
GB9801373D0 (en) * | 1998-01-22 | 1998-03-18 | Memory Corp Plc | Memory system |
US6182162B1 (en) * | 1998-03-02 | 2001-01-30 | Lexar Media, Inc. | Externally coupled compact flash memory card that configures itself one of a plurality of appropriate operating protocol modes of a host computer |
DE19980546B4 (de) * | 1998-03-02 | 2011-01-27 | Lexar Media, Inc., Fremont | Flash-Speicherkarte mit erweiterter Betriebsmodus-Erkennung und benutzerfreundlichem Schnittstellensystem |
US6460111B1 (en) * | 1998-03-09 | 2002-10-01 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor disk drive and method of creating an address conversion table based on address information about defective sectors stored in at least one sector indicated by a management code |
KR100319598B1 (ko) * | 1998-03-18 | 2002-04-06 | 김영환 | 플래시메모리어레이액세스방법및장치 |
JP3421581B2 (ja) * | 1998-06-29 | 2003-06-30 | 株式会社日立製作所 | 不揮発性半導体メモリを用いた記憶装置 |
JP4085478B2 (ja) * | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
US6901457B1 (en) | 1998-11-04 | 2005-05-31 | Sandisk Corporation | Multiple mode communications system |
JP4046877B2 (ja) | 1998-12-14 | 2008-02-13 | 株式会社ルネサステクノロジ | 一括消去型不揮発性メモリおよび携帯電話 |
GB9903490D0 (en) * | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
US6427186B1 (en) * | 1999-03-30 | 2002-07-30 | Frank (Fong-Long) Lin | Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers |
US6148354A (en) | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
JP4141581B2 (ja) * | 1999-04-05 | 2008-08-27 | 株式会社ルネサステクノロジ | フラッシュメモリを搭載する記憶装置 |
CN1088218C (zh) | 1999-11-14 | 2002-07-24 | 邓国顺 | 用于数据处理系统的快闪电子式外存储方法及其装置 |
US8341332B2 (en) * | 2003-12-02 | 2012-12-25 | Super Talent Electronics, Inc. | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
US8452912B2 (en) * | 2007-10-11 | 2013-05-28 | Super Talent Electronics, Inc. | Flash-memory system with enhanced smart-storage switch and packed meta-data cache for mitigating write amplification by delaying and merging writes until a host read |
US8266367B2 (en) * | 2003-12-02 | 2012-09-11 | Super Talent Electronics, Inc. | Multi-level striping and truncation channel-equalization for flash-memory system |
US8037234B2 (en) * | 2003-12-02 | 2011-10-11 | Super Talent Electronics, Inc. | Command queuing smart storage transfer manager for striping data to raw-NAND flash modules |
US6662263B1 (en) | 2000-03-03 | 2003-12-09 | Multi Level Memory Technology | Sectorless flash memory architecture |
JP3407038B2 (ja) * | 2000-05-26 | 2003-05-19 | 松下電器産業株式会社 | 記憶装置用アダプタ |
US6721843B1 (en) | 2000-07-07 | 2004-04-13 | Lexar Media, Inc. | Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible |
US7155559B1 (en) | 2000-08-25 | 2006-12-26 | Lexar Media, Inc. | Flash memory architecture with separate storage of overhead and user data |
US6772274B1 (en) * | 2000-09-13 | 2004-08-03 | Lexar Media, Inc. | Flash memory system and method implementing LBA to PBA correlation within flash memory array |
JP2002132583A (ja) * | 2000-10-20 | 2002-05-10 | Sony Corp | データ処理装置、データ記憶装置、およびデータ処理方法、並びにプログラム提供媒体 |
EP2058739B1 (de) * | 2001-06-28 | 2011-09-21 | Sony Corporation | Elektronische Vorrichtung, Informationsverarbeitungsvorrichtung, Adaptervorrichtung und Informationsaustauschsystem |
CN1122281C (zh) * | 2001-06-30 | 2003-09-24 | 深圳市朗科科技有限公司 | 一种多功能半导体存储装置 |
US6711663B2 (en) * | 2001-11-15 | 2004-03-23 | Key Technology Corporation | Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof |
KR100449708B1 (ko) * | 2001-11-16 | 2004-09-22 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US6704852B2 (en) * | 2001-11-16 | 2004-03-09 | Key Technology Corporation | Control device applicable to flash memory card and method for building partial lookup table |
US6862604B1 (en) | 2002-01-16 | 2005-03-01 | Hewlett-Packard Development Company, L.P. | Removable data storage device having file usage system and method |
US6839826B2 (en) | 2002-02-06 | 2005-01-04 | Sandisk Corporation | Memory device with pointer structure to map logical to physical addresses |
US6928511B2 (en) * | 2003-03-03 | 2005-08-09 | High Tech Computer, Corp. | Method and system for managing virtual memory |
US7904635B2 (en) * | 2003-03-04 | 2011-03-08 | Netac Technology Co., Ltd. | Power cut data recovery and data management method for flash media |
US20090193184A1 (en) * | 2003-12-02 | 2009-07-30 | Super Talent Electronics Inc. | Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System |
JP4567966B2 (ja) | 2003-12-22 | 2010-10-27 | 株式会社東芝 | エミュレーションシステムおよびエミュレーション方法 |
KR100526188B1 (ko) * | 2003-12-30 | 2005-11-04 | 삼성전자주식회사 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
US20110179219A1 (en) * | 2004-04-05 | 2011-07-21 | Super Talent Electronics, Inc. | Hybrid storage device |
US20110145489A1 (en) * | 2004-04-05 | 2011-06-16 | Super Talent Electronics, Inc. | Hybrid storage device |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
US7283395B2 (en) * | 2005-06-24 | 2007-10-16 | Infineon Technologies Flash Gmbh & Co. Kg | Memory device and method for operating the memory device |
US7627733B2 (en) * | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
WO2007058617A1 (en) * | 2005-11-17 | 2007-05-24 | Chee Keng Chang | A controller for non-volatile memories, and methods of operating the memory controller |
US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
US20080147963A1 (en) * | 2006-12-15 | 2008-06-19 | Accusys. Inc. | Disk array device |
KR100891333B1 (ko) * | 2007-04-11 | 2009-03-31 | 삼성전자주식회사 | 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출방법 |
US8631203B2 (en) | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
JP2008090870A (ja) * | 2007-12-27 | 2008-04-17 | Sony Corp | 記憶媒体及び電子機器システム |
US8347046B2 (en) * | 2008-04-15 | 2013-01-01 | Microsoft Corporation | Policy framework to treat data |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
US9032151B2 (en) | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
US9600421B2 (en) * | 2009-05-20 | 2017-03-21 | Conexant Systems, Inc. | Systems and methods for low-latency encrypted storage |
US8724401B2 (en) * | 2009-09-29 | 2014-05-13 | Seagate Technology Llc | Data stripes and addressing for flash memory devices |
US8364929B2 (en) * | 2009-10-23 | 2013-01-29 | Seagate Technology Llc | Enabling spanning for a storage device |
US8745353B2 (en) * | 2009-10-23 | 2014-06-03 | Seagate Technology Llc | Block boundary resolution for mismatched logical and physical block sizes |
US8909850B2 (en) | 2011-03-10 | 2014-12-09 | Deere & Company | Memory life extension method and apparatus |
EP2761469B1 (de) * | 2011-09-30 | 2019-11-13 | Intel Corporation | Nichtflüchtiger direktzugriffsspeicher (nvram) als ersatz für herkömmlichen massenspeicher |
CN107608910B (zh) | 2011-09-30 | 2021-07-02 | 英特尔公司 | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 |
EP2761465B1 (de) | 2011-09-30 | 2022-02-09 | Intel Corporation | Autonome initialisierung nichtflüchtiger ram-speicherzellen in einem rechnersystem |
CN104115136B (zh) | 2011-09-30 | 2017-12-08 | 英特尔公司 | 非易失性随机访问存储器中存储bios的装置、方法和系统 |
US9558108B2 (en) | 2013-04-15 | 2017-01-31 | Macronix International Co., Ltd. | Half block management for flash storage devices |
GB201322075D0 (en) | 2013-12-13 | 2014-01-29 | Ibm | Device for selecting a level for at least one read voltage |
US9558107B2 (en) | 2013-12-24 | 2017-01-31 | International Business Machines Corporation | Extending useful life of a non-volatile memory by health grading |
KR102344834B1 (ko) * | 2014-09-24 | 2021-12-29 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 및 이를 포함하는 컴퓨팅 시스템 |
US10365859B2 (en) | 2014-10-21 | 2019-07-30 | International Business Machines Corporation | Storage array management employing a merged background management process |
US9563373B2 (en) | 2014-10-21 | 2017-02-07 | International Business Machines Corporation | Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management |
US9627072B2 (en) | 2014-11-25 | 2017-04-18 | Macronix International Co., Ltd. | Variant operation sequences for multibit memory |
US9990279B2 (en) | 2014-12-23 | 2018-06-05 | International Business Machines Corporation | Page-level health equalization |
US10339048B2 (en) | 2014-12-23 | 2019-07-02 | International Business Machines Corporation | Endurance enhancement scheme using memory re-evaluation |
US10255000B2 (en) | 2017-01-18 | 2019-04-09 | Western Digital Technologies, Inc. | Delayed data release after programming to reduce read errors in memory |
KR20200067633A (ko) * | 2018-12-04 | 2020-06-12 | 삼성전자주식회사 | 메모리 장치 및 그것의 보안 데이터 처리 방법 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4858034A (en) * | 1987-05-20 | 1989-08-15 | Plus Development Corporation | Modular unitary disk file subsystem with differing density zones |
US5018095A (en) * | 1990-02-15 | 1991-05-21 | Seagate Technology, Inc. | Universal disk drive type emulation for IBM PC-AT computers |
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
JP2582487B2 (ja) * | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JP3178909B2 (ja) * | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
US6256642B1 (en) * | 1992-01-29 | 2001-07-03 | Microsoft Corporation | Method and system for file system management using a flash-erasable, programmable, read-only memory |
US5459850A (en) * | 1993-02-19 | 1995-10-17 | Conner Peripherals, Inc. | Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks |
JP2856621B2 (ja) * | 1993-02-24 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5465338A (en) * | 1993-08-24 | 1995-11-07 | Conner Peripherals, Inc. | Disk drive system interface architecture employing state machines |
US5473765A (en) * | 1994-01-24 | 1995-12-05 | 3Com Corporation | Apparatus for using flash memory as a floppy disk emulator in a computer system |
-
1994
- 1994-11-09 JP JP6274943A patent/JPH08137634A/ja active Pending
-
1995
- 1995-11-08 DE DE69527594T patent/DE69527594T2/de not_active Expired - Fee Related
- 1995-11-08 EP EP95117592A patent/EP0712067B1/de not_active Expired - Lifetime
-
1997
- 1997-04-09 US US08/827,861 patent/US5905993A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5905993A (en) | 1999-05-18 |
EP0712067A3 (de) | 1998-06-10 |
DE69527594D1 (de) | 2002-09-05 |
EP0712067A2 (de) | 1996-05-15 |
JPH08137634A (ja) | 1996-05-31 |
EP0712067B1 (de) | 2002-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69527594T2 (de) | Flashspeicherkarte | |
DE60030876T2 (de) | Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität | |
DE69414556T2 (de) | Schnell loeschbare datei | |
DE69630624T2 (de) | EEPROM-Matrix mit einem, dem "Flash"-Speicher ähnlichen Kern | |
DE69033262T2 (de) | EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher | |
DE69233228T2 (de) | Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C. Speicherkarte mit solchem Datenverwaltungssystem | |
DE69227499T2 (de) | Einen Flashspeicher verwendendes Speichergerät | |
DE60130593T2 (de) | Flash-Speicherarchitektur mit gleichzeitig programmierbaren mehrfachen hostfähigen Flash-Speicherbanken | |
DE69124323T2 (de) | Verfahren zum Aufzeichnen von Daten in einer EEPROM-Speicherkarte und zugehöriges Speicherkartensystem | |
DE19782041B4 (de) | Verfahren zum Durchführen eines kontinuierlichen Überschreibens einer Datei in einem nicht-flüchtigen Speicher | |
DE60217883T2 (de) | Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher | |
DE69839126T2 (de) | Verschiebung aufeinander folgender sektoren innerhalb eines datenblocks in einem flash-massenspeicher | |
DE69623407T2 (de) | Verfahren zur Überprüfung der Blockzuordnung eines Flash-Speichers mit Übersetzungsschicht | |
DE4143072C2 (de) | Blockweise löschbarer nicht-flüchtiger Halbleiterspeicher | |
DE69521113T2 (de) | Vorrichtung und Verfahren zur Stromversorgungsausfallbeständige Aktualisierung eines Flash-EEPROM-Speichers | |
DE69936246T2 (de) | Nichtflüchtiger Speicher, Aufzeichnungsgerät und -verfahren | |
DE19615948A1 (de) | Flash-Festkörper-Plattenspeicher-Karte | |
DE60035780T2 (de) | Schaltung für plattenantriebskontroller und verfahren zur überschlagung von defekten oder ungewünschten sektoren | |
DE102005031525A1 (de) | Verfahren und System zur Steuerung eines Flashspeichers und Speichersystem | |
DE4022885C2 (de) | Verfahren zum Verschieben von Speicherbereichen und Hierarchie-Speichersystem | |
DE102009048179A1 (de) | Prozess und Verfahren für eine Löschstrategie in Festkörperplatten | |
DE19782214B4 (de) | Verbesserte Schnittstelle für Flash-Eeprom-Speicher-Arrays | |
DE19960258A1 (de) | Flash-Speicher-Einheit und Verfahren zur Steuerung des Flash-Speichers | |
DE69820164T2 (de) | Speichervorrichtung sowie Datenlese- und Schreibverfahren | |
DE69227219T2 (de) | Verfahren zur wahlweise Aufzeichnung oder Wiedergabe von Daten unter Verwendung eines Informationsverarbeitungssystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |