DE69527594T2 - Flashspeicherkarte - Google Patents

Flashspeicherkarte

Info

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
Application number
DE69527594T
Other languages
English (en)
Other versions
DE69527594D1 (de
Inventor
Takayuki Shinohara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE69527594D1 publication Critical patent/DE69527594D1/de
Application granted granted Critical
Publication of DE69527594T2 publication Critical patent/DE69527594T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation 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.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE Erstes Ausführungsbeispiel
  • 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.
  • Zweites Ausführungsbeispiel
  • 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.
  • Drittes Ausführungsbeispiel
  • 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.
DE69527594T 1994-11-09 1995-11-08 Flashspeicherkarte Expired - Fee Related DE69527594T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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