DE19615948C2 - Flash-Festkörper-Plattenspeicher-Karte - Google Patents
Flash-Festkörper-Plattenspeicher-KarteInfo
- Publication number
- DE19615948C2 DE19615948C2 DE19615948A DE19615948A DE19615948C2 DE 19615948 C2 DE19615948 C2 DE 19615948C2 DE 19615948 A DE19615948 A DE 19615948A DE 19615948 A DE19615948 A DE 19615948A DE 19615948 C2 DE19615948 C2 DE 19615948C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- sector number
- block
- blocks
- 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
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/08—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- 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/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- 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)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Die vorliegende Erfindung betrifft eine Flash-Festkörper-
Plattenspeicher-Karte bzw. eine Flash-Halbleiter-Platten
speicher-Karte mit einem Flash-Speicher, die ein Festplatten
laufwerk bzw. einen Festplattenspeicher emuliert.
Ein Flash-Speicher ist bei einer Halbleiter-Plattenspeicher-
Karte als löschbares, nicht flüchtiges Speichermedium verwen
det. Es ist bekannt, daß bei einem Flash-Speicher folgende
Probleme auftreten:
- a) Ein Löschvorgang wird vor dem Schreiben von Daten benötigt.
- b) Eine zu löschende Dateneinheit ist ein Block, der einige Kilobyte bis einige zehn Kilobyte groß oder ein Chip bzw. der gesamte Speicherchip sein kann.
- c) Die zum Schreiben oder Löschen benötigte Zeit ist länger als die zum Lesen erforderliche.
- d) Die Anzahl von Schreibvorgängen ist auf 104 bis 106 pro Block begrenzt.
Wenn eine (nachfolgend auch als Flash-Festkörper-Plattenkarte
bezeichnete) einen Flash-Speicher verwendende Flash-Festkör
per-Plattenspeicher-Karte ein Festplattenlaufwerk emuliert,
wird im allgemeinen die folgende Vorgehensweise bzw. das fol
gende Verfahren für eine Datenaktualisierungsanweisung von
einem Host-Computer in der Einheit eines Sektors (oder 512
Kilobyte) bzw. eine sektorweise Datenaktualisierung verwen
det, um die Verarbeitungszeit zu verkürzen: Daten in einem
durch den Host-Rechner bestimmten Sektor werden nicht ge
löscht, während einen ungültigen Block bezeichnende Informa
tionen in eine Sektorkennung bzw. Sektor-ID (Identifikation)
für den Sektor geschrieben werden, und die Aktualisierungsda
ten werden in einen freien Bereich bzw. Speicherbereich ge
schrieben, in dem Daten bereits gelöscht wurden. Somit ent
spricht eine durch den Host-Rechner bestimmte sektorweise
Adresse bzw. Sektoradresse (logische Sektorenzahl bzw. logi
sche Sektorennummer) bei jeder Datenaktualisierung einer un
terschiedlichen Adresse (physikalische Sektorenzahl) des
Flash-Speichers, in die bzw. in den die Daten tatsächlich ge
schrieben werden. Dann muß eine Adreßumwandlungstabelle zur
Speicherung der Entsprechung logischer Sektorenzahlen zu phy
sikalischen Sektorenzahlen vorgesehen werden.
Die Größe der Adreßumwandlungstabelle wird im Verhältnis zur
Speicherkapazität eines Flash-Speichers größer. Beispielswei
se wird ein Speicher wahlfreien Zugriffs (RAM) einer Kapazi
tät einiger Megabit zur Speicherung einer Adreßumwandlungs
tabelle für eine Karte einer Speicherkapazität einiger zehn
Megabyte benötigt. Dies vergrößert die Kosten, und es ver
größert ebenfalls aufgrund des Anstiegs der Teileanzahl eine
Fläche zur Bestückung mit den Teilen bzw. elektronischen Kom
ponenten.
In jüngerer Vergangenheit wurde ein das sektorenweise Löschen
und Schreiben ermöglichender Flash-Speicher ausschließlich
für eine ein Festplattenlaufwerk emulierende Flash-Speicher
karte entwickelt und wird für eine Flash-Festkörper-Platten
speicher-Karte verwendet. In diesem Fall werden für jede Sek
toraktualisierungsanweisung von dem Host-Rechner Daten in ei
nem durch den Host-Rechner bestimmten Sektor gelöscht und Ak
tualisierungsdaten in diesen Sektor geschrieben, so daß die
Adreßumwandlungstabelle nicht benötigt wird.
Bei einem derzeit erhältlichen bekannten Platten- bzw. Fest
plattenspeicherbetriebssystem werden Dateinamen, Dateigrößen,
Verzeichniseinträge zur Speicherung von Anfangspositionsdaten
und eine Dateizuordnungstabelle (die auch als sogenannte
"File Allocation Table" FAT bezeichnet ist) zur Speicherung
von Positionen von Dateien und einer Struktur derselben in
einem festgelegten Bereich auf einer Platte gespeichert. Die
Verzeichniseinträge und die Dateizuordnungstabelle FAT werden
bei jeder Dateidatenaktualisierung aktualisiert. Ein Ver
zeichniseintrag für jede Datei belegt 32 Byte. Dann können
Verzeichniseinträge von 16 Dateien für jeden Sektor (512
Byte) gespeichert werden, bzw. in jedem Sektor können 16 Ver
zeichniseinträge für Dateien erfolgen. Wenn beispielsweise
vier Dateidaten bzw. Datendateien mit Verzeichniseinträgen in
dem selben Sektor aktualisiert werden, wird jeder Sektor zur
Speicherung von Dateidaten lediglich einmal aktualisiert, wo
hingegen ein die Verzeichniseinträge speichernder Sektor
viermal aktualisiert wird. Im Hinblick auf Dateizuordnungs
tabellen (FATs) wird auf ähnliche Art und Weise eine Aktuali
sierungsanzahl des die Dateizuordnungstabellen (FATs) spei
chernden Sektors größer als die der Daten speichernden Sekto
ren. Dann ergibt sich ein Problem, daß die Lebensdauer des
bestimmten Sektors kürzer wird, und die Lebensdauer des Sek
tors die Lebensdauer der Flash-Festkörper-Plattenspeicher-
Karte selbst bestimmt.
Desweiteren offenbart die US 5 406 529 eine Flash-
Speichereinrichtung, die eine Steuereinrichtung, ein
Bussteuerelement, einen Flash-Speicher und einen Schreib-
Lese-Speicher (RAM) enthält. Der RAM weist einen Bereich zur
Speicherung einer Speicherverwaltungstabelle und einen
Pufferbereich auf.
Außerdem enthält der Flash-Speicher eine Vielzahl von
Blöcken, auf die ein Prozessor zugreifen kann, wobei in
Verbindung mit jedem Block eine Blockidentifikation, die eine
durch den Prozessor beim Schreiben bestimmte Adresse (RBA)
darstellt, ein Revisionscode (RC), der anzeigt, wie oft der
Prozessor das Schreiben unter Verwendung der gleichen RBA
durchgeführt hat, und ein Lösch-Zählwert (EC), der anzeigt,
wie oft der Block gelöscht wurde, gespeichert sind. Das
Schreiben wird bei einem beschreibbaren Block mit dem
minimalen Lösch-Zählwert durchgeführt, und gibt es einen
unterschiedlichen Block mit der gleichen Blockidentifikation
wie die durch den Prozessor bestimmte Adresse, wird sein
Revisionscode aktualisiert und als Revisionscode des
geschriebenen Blocks verwendet, wobei der unterschiedliche
Block gelöscht und sein Lösch-Zählwert aktualisiert wird.
Es ist daher Aufgabe der Erfindung, eine Flash-Festkörper-
Plattenspeicher-Karte zu schaffen, die einen Flash-Speicher
für eine längere Zeit verwenden kann.
Eine erste erfindungsgemäße Flash-Festkörper-Plattenspeicher-
Karte hat einen Flash-Speicher, einen eine Adreßumwandlungs
tabelle speichernden Speicher wahlfreien Zugriffs, der eine
physikalische Sektorenzahl für einen von N Blöcken in Über
einstimmung mit einer Eingabe einer logischen Sektorennummer
zwischen 1 und N ausgibt. Der Flash-Speicher hat M Blöcke mit
physikalischen Sektorenzahlen zwischen 1 und M, wobei die M
Blöcke N Blöcke zur Sektorenverwaltung (N < M) enthalten.
Wenn Daten für eine logische Sektorenzahl L in einen Block
geschrieben werden (1 ≦ L ≦ N) werden zunächst andere Daten
in einem Block gelöscht, der eine physikalische Sektorenzahl
hat, die durch die in dem Speicher wahlfreien Zugriffs ge
speicherte Adreßumwandlungstabelle entsprechend der logischen
Sektorenzahl L bestimmt ist, dann werden die zu schreibenden
Daten in einen freien Block unter den N Blöcken geschrieben,
und schließlich wird eine physikalische Sektorenzahl in Über
einstimmung mit der logischen Sektorenzahl L in der Adreßum
wandlungstabelle auf eine physikalische Sektorenzahl des
Blockes geändert, in den die Daten geschrieben wurden.
"Freier Block" stellt einen unbeschriebenen bzw. ungenutzten
Block, in den bisher keine Daten geschrieben wurden oder
einen Block, in dem Daten bereits gelöscht wurden dar. Wenn
andererseits Daten für eine logische Sektorenzahl L geschrie
ben werden, die größer als N ist, werden Daten in einen Block
mit einer physikalischen Sektorenzahl geschrieben, die gleich
der logischen Sektorenzahl L ist, ohne die Adreßumwandlungs
tabelle zu verwenden. Wenn die logische Sektorenzahl L klei
ner oder gleich N ist, werden Daten von einem Block gelesen,
dessen physikalische Sektorenzahl entsprechend der logischen
Sektorenzahl L in der Adreßumwandlungstabelle festgelegt ist,
andernfalls werden Daten von einem Block für eine physika
lische Sektorenzahl L gelesen.
Eine zweite erfindungsgemäße Flash-Festkörper-Plattenspei
cher-Karte hat einen Flash-Speicher mit (M + r) Blöcken mit
physikalischen Sektorenzahlen zwischen 1 und (M + r), wobei die
Blöcke N Blöcke zur Sektorenverwaltung und r redundante
Blöcke umfassen, und einen Speicher wahlfreien Zugriffs, der
eine Adreßumwandlungstabelle speichert, die eine physikali
sche Sektorenzahl für einen der N Blöcke und der r redundan
ten Blöcke entsprechend einer Eingabe einer logischen Sekto
renzahl zwischen 1 und N ausgibt, wobei N kleiner als M ist.
Wenn Daten für eine logische Sektorenzahl L geschrieben wer
den (1 ≦ L ≦ N), werden zunächst andere Daten in einem Block
gelöscht, der eine physikalische Sektorenzahl hat, die gemäß
der logischen Sektorenzahl L durch die Adreßumwandlungsta
belle bestimmt ist, dann werden die Daten in einen freien
Block unter den N Blöcken und den r redundanten Blöcken ge
schrieben, und schließlich wird eine physikalische Sektoren
zahl entsprechend der logischen Sektorenzahl L in der Adreß
umwandlungstabelle auf eine physikalische Sektorenzahl des
Blockes geändert, in den die Daten geschrieben wurden. Wenn
Daten für eine logische Sektorenzahl größer als N geschrieben
werden, werden Daten in einen Block mit einer physikalischen
Sektorenzahl gleich der logischen Sektorenzahl L geschrieben.
Daten werden aus einem Block für eine physikalische Sektoren
zahl entsprechend der logischen Sektorenzahl L in der Adreß
umwandlungstabelle gelesen, wenn die logische Sektorenzahl L
gleich oder kleiner als N ist, andernfalls werden Daten von
einem Block für eine physikalische Sektorenzahl L gelesen.
Vorzugsweise ist eine Ersatztabelle bzw. Substitutionstabelle
in dem Speicher wahlfreien Zugriffs vorgesehen. Wenn ein de
fekter Block beim Schreiben von Daten in einen Block entspre
chend einer logischen Sektorenzahl gefunden wird, werden den
defekten Block bzw. Defektblock betreffende Informationen in
einen Sektorenverwaltungsbereich in dem relevanten Block ge
schrieben, und Ersatzblöcke betreffende Daten werden in die
Ersatztabelle geschrieben.
Ein Vorteil der vorliegenden Erfindung besteht darin, daß die
Adreßumwandlungstabelle verkleinert werden kann.
Ein weiterer Vorteil der Erfindung besteht darin, daß die Le
bensdauer einer Flash-Festkörper-Plattenspeicher-Karte ver
längert wird.
Ein dritter Vorteil der vorliegenden Erfindung ist der, daß
selbst eine Flash-Festkörper-Plattenspeicher-Karte mit schon
anfänglich defekten Blöcken verwendet werden kann.
Die Erfindung ist nachstehend anhand von Ausführungsbei
spielen mit Bezug auf die beigefügte Zeichnung beschrieben.
Dabei zeigen:
Fig. 1 ein Blockschaltbild einer Flash-Festkörper-Plat
tenspeicher-Karte;
Fig. 2 eine schematische Darstellung eines Speicherraums bzw.
Speicherbereichs in einem Flash-Speicher und einer Adreßum
wandlungstabelle in einem Speicher wahlfreien Zugriffs;
Fig. 3 ein Flußdiagramm hinsichtlich einer Daten-Schreibver
arbeitung;
Fig. 4 ein Flußdiagramm hinsichtlich einer Daten-Lese
verarbeitung;
Fig. 5 eine schematische Darstellung eines Zusammenhangs zwi
schen einem Speicherbereich in einem Flash-Speicher in einer
Flash-Festkörper-Plattenspeicher-Karte eines weiteren Aus
führungsbeispiels, einer physikalisch/logischen Adreßum
wandlungstabelle, die in einem Schreib-Lesespeicher bzw.
Speicher wahlfreien Zugriffs (RAM) gespeichert ist, sowie einer
Ersatztabelle bezüglich defekter Blöcke bzw. Defektblock-Sub
stitutionstabelle;
Fig. 6 ein Flußdiagramm einer Daten-Schreibverarbeitung bei
dem Ausführungsbeispiel; und
Fig. 7 ein Flußdiagramm einer Daten-Leseverarbeitung bei dem
Ausführungsbeispiel.
Nunmehr mit Bezug auf die Zeichnung, in der gleiche Bezugs
zeichen bzw. Bezugszahlen ähnliche oder entsprechende Teile
in allen Darstellungen bezeichnen, zeigt Fig. 1 blockschalt
bildhaft ein erfindungsgemäßes Ausführungsbeispiel einer
Flash-Festkörper-Plattenspeicher-Karte 1. Die Flash-Fest
körper-Plattenspeicher-Karte bzw. Flash-Halbleiter-Platten
speicher-Karte 1 hat eine Flash-Plattenspeicher-Steuerein
richtung bzw. einen Flash-Plattencontroller 3 und einen
Flash-Speicher 4. Der Flash-Plattencontroller 3 hat eine
Schnittstellenschaltung 5 zu einem Host-Rechner hin, eine
Bussteuereinrichtung bzw. einen Buscontroller 10, einen
Mikroprozessor (MPU) 6, einen Sektor-Zwischenspeicher 7,
einen Speicher wahlfreien Zugriffs (RAM) 9 zur Speicherung
einer (nicht dargestellten) Adreßumwandlungstabelle 91 zur
Umwandlung von logischen in physikalische Adressen bzw. Sek
torenzahlen bzw. eine logisch/physikalische Adreßumwandlungs
tabelle, eine Fehlerüberprüfungscode (ECC) -Schaltung 11,
eine Flash-Speicher-Steuereinrichtung bzw. einen Flash-Spei
chercontroller 8, wobei der Controller bzw. die Steuerein
richtung 3 als integrierte Schaltung ausgebildet sein kann.
Ein Daten-Schreibbefehl oder ein Daten-Lesebefehl, der von
einem Host-Rechner 2 her empfangen wird, wird durch die Host-
Schnittstellenschaltung 5 und die Bus-Steuereinrichtung 10 zu
dem Mikroprozessor MPU 6 gesendet. Wie später erläutert wer
den wird, erhält der Mikroprozessor MPU 6 ein Datum bzw.
einen Dateneintrag einer physikalischen Sektorenzahl in dem
Flash-Speicher 4 durch Bezugnahme auf die logisch/physika
lische Adreßumwandlungstabelle 91, die in dem Speicher wahl
freien Zugriffs RAM 9 gespeichert ist. Die Flash-Speicher
steuereinrichtung 8 liest Daten von einem Sektor in dem
Flash-Speicher 4, auf den mit der physikalischen Sektorenzahl
zugegriffen wird, und schreibt diese in den Sektor-Zwischen
speicher 7. Die ECC-Schaltung 11 überpüft die gelesenen Daten
auf Fehler hin.
Fig. 2 veranschaulicht das Löschen von Blöcken in einem Spei
cherbereich des Flash-Speichers 4, und zeigt die Adreßumwand
lungstabelle 91 in dem Speicher wahlfreien Zugriffs RAM 9.
Der Flash-Speicher 4 hat M Blöcke und r redundante Blöcke,
und das Löschen erfolgt in Einheiten von 512 + 16 Byte wie
bei einem Flash-Speicher der UND-Bauart. Für jeden Block sind
Daten aus 512 Byte (was gleich einer Größe eines Sektors als
Datenzugriffseinheit eines Festplattenlaufwerks bzw. eines Fest
plattenspeichers ist) in einem Sektordatenbereich 100 von 512
Byte gespeichert, während Daten wie beispielsweise eine lo
gische Sektorenzahl (nachstehend auch als LSN bezeichnet) für
die Daten (Sektordaten), ein ECC-Datum für die Sektordaten,
und ein Zustandsmerker bzw. Flag bezüglich der Gültigkeit des
Sektors in einem Sektorverwaltungsbereich 101 aus 16 Byte ge
speichert sind.
Der Speicherraum bzw. Speicherbereich des Flash-Speichers 4
ist in drei Bereiche 103, 104 und 105 unterteilt. Der erste
Bereich 103 umfaßt Blöcke, die häufig durch den Host-Rechner
2 aktualisiert werden, und besteht aus Blöcken mit den (nach
stehend als PSN bezeichneten) physikalischen Sektorenzahlen
bzw. Adressen 1 bis N. Eine physikalische Sektorenzahl, auf
die durch den Host-Rechner 2 zugegriffen wird, wird unter
Verwendung der logisch/physikalischen Adreßumwandlungstabelle
91 bestimmt, welche in dem Speicher wahlfreien Zugriffs RAM 9
gespeichert ist. In dem ersten Bereich 103 zu speichernde Da
ten werden später erläutert. Der zweite Bereich 104 speichert
Dateidaten, und besteht aus Blöcken mit den physikalischen
Sektorenzahlen (N + 1) bis M. Eine physikalische Sektoren
zahl, auf die durch den Host-Rechner 2 zugegriffen wird, ist
die gleiche wie die logische Sektorenzahl. Daher wird die
Adreßumwandlungstabelle zum Zugriff auf einen Block in dem
zweiten Bereich 104 nicht verwendet. Der dritte Bereich 105
hat r redundante Blöcke, die als sogenannte Erweiterungsbe
reiche für den ersten Bereich 103 verwendet werden, und er
besteht aus Blöcken mit den physikalischen Sektorenzahl (M +
1) bis (M + r). Bei dem in Fig. 2 dargestellten Beispiel sind
logische Sektorenzahlen 1 bis N für Sektorverwaltungsdaten
vorgesehen, und der erste Bereich 103 ist physikalischen
Sektorenzahlen 1 bis N zugewiesen. Darüber hinaus sendet der
Host-Rechner 2 eine logische Sektorenzahl bis zu M bzw. eine
maximale logische Sektorenzahl von M. Dann ist der dritte Be
reich 105 physikalischen Sektorenzahlen oberhalb M zuge
wiesen. Die Positionen der ersten bis dritten Bereiche hängen
von den durch den Host-Rechner gesendeten logischen Sektoren
zahlen ab. Die Werte von N und r sind geeignet bestimmt, um
die Leistungsfähigkeit der Flash-Festkörper-Plattenspeicher-
Karte 1 zu verbessern.
In der in Fig. 2 gezeigten logisch/physikalischen Adreßum
wandlungstabelle 91 ist eine von dem Host-Rechner 2 her emp
fangene logische Sektorenzahl (LSN) links in der Tabelle 91
gezeigt, während eine entsprechend der logischen Sektorenzahl
ausgegebene physikalische Sektorenzahl (PSN) in der Tabelle
91 rechts dargestellt ist. Werte entsprechender logischer
Sektorenzahlen sind in dem Sektorverwaltungsdatenbereich 101
in Klammern dargestellt. Die logisch/physikalische Adreßum
wandlungstabelle 91 in dem Speicher wahlfreien Zugriffs RAM 9
wird entsprechend der logischen Sektorenzahl erzeugt, die in
den Sektorverwaltungsdatenbereich 101 in dem ersten und drit
ten Bereich 103 und 105 geschrieben wird, wenn die elektri
sche Spannungsversorgung der Flash-Festkörper-Plattenspei
cher-Karte 1 eingeschaltet wird.
Beispiele für Daten, die in einen Block in dem ersten oder
dritten Bereich 103, 105 geschrieben werden, werden erklärt.
Bei einem Plattenspeicher- bzw. Festplatten-Betriebssystem,
das Dateien unter Verwendung von Dateinamen, Dateigrößen,
Verzeichniseinträgen zur Speicherung von Anfangspositions
daten, und einer Dateizuordnungstabelle (FAT) zur Speicherung
von Positionen von Dateien und einer Struktur derselben ver
waltet, sind diese Daten in dem ersten oder dritten Bereich
103 bzw. 105 gespeichert. Die Verzeichniseinträge und die
Dateizuordnungstabellen (FATs) werden für jede Aktualisierung
von Dateidaten aktualisiert. Im allgemeinen ist eine Größe
für Daten von Verzeichniseinträgen 32 Byte. Daher kann ein
Sektor (512 Byte) Daten 102 von Verzeichniseinträgen für 16
Dateien speichern. Der Flash-Speicher 4 aktualisiert Daten
blockweise (512 + 16 Byte).
Wie bereits zuvor erläutert, werden Daten von Verzeichnisein
trägen für den Block n-Mal aktualisiert, wenn Daten von n Da
teien (2 ≦ n ≦ 16) mit Verzeichniseinträgen in dem gleichen
Sektor aktualisiert werden. Das heißt, ein Block, der Daten
von Verzeichniseinträgen für eine Vielzahl von Dateien spei
chert, wird häufiger aktualisiert als ein Block, der Datei
daten speichert.
Wenn Daten in einem Block in dem ersten Bereich 103 oder in
dem dritten Bereich 105 aktualisiert werden, löscht der Mi
kroprozessor MPU 6 dann Daten in einem Block, der die Daten
vor der Aktualisierung speicherte, und schreibt Aktualisie
rungsdaten in einen freien Block. Der Ausdruck "freier Block"
bezeichnet dabei einen ungenutzten bzw. leeren Block bzw. un
beschriebenen Block, in den Daten bisher noch nicht geschrie
ben wurden, oder einen Block, aus dem Daten bereits gelöscht
wurden. Dann wird die logisch/physikalische Adreßumwandlungs
tabelle 91 aktualisiert. Somit werden Blöcke, in die Daten
geschrieben werden, verteilt bzw. gestreut, damit eine Daten
aktualisierung sich nicht auf bestimmte Blöcke in dem ersten
und dritten Bereich 103 bzw. 105 konzentriert. Daher wird die
Anzahl von Aktualisierungen in bestimmten Blöcken in dem er
sten Bereich 103 verringert, und die Aktualisierung wird
gleichförmig über die Blöcke verteilt durchgeführt, so daß
eine Beeinträchtigung bestimmter Blöcke in dem ersten Bereich
103 verringert werden kann und eine Flash-Festkörper-Platten
speicher-Karte eine verlängerte Lebensdauer hat. Wenn bei
spielsweise eine Anzahl redundanter Blöcke in dem dritten Be
reich 105 die gleiche ist wie die der Blöcke in dem ersten
Bereich 103, wird die Anzahl von Aktualisierungen jedes Bloc
kes in dem ersten Bereich 103 halbiert, und die Lebensdauer
verdoppelt sich.
Fig. 3 zeigt ein Flußdiagramm einer durch den Mikroprozessor
MPU 6 vorgenommenen Daten-Schreibverarbeitung. Zuerst wird
ein durch den Host-Rechner 2 bestimmter Wert L einer logi
schen Sektorenzahl (LSN) erhalten (Schritt S1). Wenn L größer
als N ist (JA bei Schritt S2), werden Daten in einen Block
geschrieben, dessen physikalische Sektorenzahl (PSN) einen
Wert L hat, da ein Zugriff auf den zweiten Bereich 104 er
folgt (Schritt S3). Wenn andererseits L nicht größer als N
ist (NEIN bei Schritt S2), werden Daten in einem Block ge
löscht, dessen physikalische Sektorenzahl einen Wert hat, der
durch die logisch/physikalische Adreßumwandlungstabelle 91 in
dem Speicher wahlfreien Zugriffs RAM 9 bestimmt wird (Schritt
S4). Dann werden die Daten in einen freien Block unter den
Blöcken in den ersten oder dritten Bereich 103 bzw. 105 ge
schrieben, die physikalische Sektorenzahlen 1 bis N oder (M +
1) bis (M + r) haben (Schritt S5). Dann wird der Inhalt in
der logisch/physikalischen Adreßumwandlungstabelle 91 in dem
Speicher wahlfreien Zugriffs RAM 9 aktualisiert, bzw. eine
physikalische Sektorenzahl entsprechend der logischen Sekto
renzahl L auf eine Zahl bzw. mit der Adresse des Blockes ak
tualisiert, in den Daten bei Schritt S5 geschrieben wurden
(Schritt S6).
Fig. 4 zeigt ein Flußdiagramm einer durch den Mikroprozessor
MPU 6 durchgeführten Daten-Leseverarbeitung. Zuerst wird ein
Wert L einer logischen Sektorenzahl (LSN), die durch den
Host-Rechner 2 bestimmt ist, erhalten (Schritt S11). Wenn L
größer als N ist (JA bei Schritt S12), wird ein Wert einer
physikalischen Sektorenzahl (PSN) als L eingestellt, da ein
Zugriff auf den zweiten Bereich 104 erfolgt (Schritt S13).
Wenn andererseits L nicht größer als N ist (NEIN bei Schritt
S12), wird ein Wert einer physikalischen Sektorenzahl anhand
der logisch/physikalischen Adreßumwandlungstabelle 91 in dem
Speicher wahlfreien Zugriffs RAM 9 bestimmt (S14). Dann wer
den Daten von einem Block gelesen, der die physikalische Sek
torenanzahl hat, die bei Schritt S13 oder S14 eingestellt
wurde (Schritt S15).
Ein Merkmal der vorstehend erläuterten Flash-Festkörper-Plat
tenspeicher-Karte besteht darin, daß die Adreßumwandlungsta
belle 91 lediglich für die Bereiche 103 und 105 mit jeweils
häufiger zu aktualisierenden Blöcken als die Dateidaten in
dem zweiten Bereich 104 vorgesehen ist (oder die Bereiche 103
und 105 mit physikalischen Sektorenzahlen von 1 bis N und
(M + 1) bis (M + r)). Die Adreßumwandlungstabelle 91 wird nicht
für den Bereich 104 verwendet, der Blöcke zur Speicherung von
Dateidaten enthält (oder den Bereich mit physikalischen Sek
torenzahlen von (N + 1) bis M), und eine eingegebene logische
Sektorenzahl (LSN) wird als physikalische Sektorenzahl (PSN)
übernommen. Somit besteht ein Vorteil dieses Ausführungsbei
spiels darin, daß die Größe einer Adreßumwandlungstabelle,
die zum Zugriff auf einen Flash-Speicher benötigt wird, ver
ringert werden kann. Dieser Vorteil tritt selbst dann zutage,
wenn der Bereich 105 für redundante Blöcke nicht vorgesehen
ist. Wenn Daten in einen Block in dem bestimmten Bereich ge
schrieben werden, werden Daten in dem Block, in den die Daten
geschrieben werden, gelöscht, während aktualisierte Daten in
einen Block geschrieben werden, in dem die Daten bereits ge
löscht wurden.
Ein weiteres Merkmal dieses Ausführungsbeispiels besteht
darin, daß r redundante Blöcke in dem Flash-Speicher 4 vorge
sehen sind, um eine Konzentration von Datenaktualisierungen
in Blöcken des ersten Bereichs 103 zu verhindern. Somit ist
die Konzentration bzw. Häufung von Datenaktualisierungen in
besonderen Blöcken verhindert und eine Beeinträchtigung von
Blöcken in dem ersten Bereich 103 kann vermindert werden.
Dann hat eine Flash-Festkörper-Plattenspeicher-Karte als Pro
dukt selbst eine verlängerte Lebensdauer.
Nachfolgend ist ein weiteres Ausführungsbeispiel einer Flash-
Festkörper-Plattenspeicher-Karte erläutert. Dabei sind unter
schiedliche Arten eines Flash-Speichers 4' und eines Spei
chers wahlfreien Zugriffs RAM 9' anstatt des Flash-Speichers
4 und des Speichers wahlfreien Zugriffs RAM 9 in Fig. 1 ver
wendet. Fig. 5 zeigt eine Beziehung eines Speicherbereichs
bzw. Speicherraums in einem Flash-Speicher 4' bei der Flash-
Festkörper-Plattenspeicher-Karte 1, eine physikalisch/logi
sche Adreßumwandlungstabelle 91 und eine in einem Speicher
wahlfreien Zugriffs RAM 9' gespeicherte Defektblockersatz
tabelle bzw. Defektblock-Substitutionstabelle 92. Das heißt,
der Speicher wahlfreien Zugriffs 9' hat zwei Arten von Ta
bellen. Genauer, die logisch/physikalische Adreßumwandlungs
tabelle 91 bzw. Adreßumwandlungstabelle zur Umwandlung lo
gischer in physikalische Adressen für Blöcke in ersten und
dritten Bereichen 103 und 105 in dem Speicherbereich des
Flash-Speichers 4', und die Defektblock-Substitutionstabelle
92' für Blöcke in dem dritten Bereich 105. Ähnliche Bezugs
zeichen in Fig. 5 bezeichnen ähnliche oder entsprechende, be
reits in Fig. 2 dargestellte Teile. Zur Vermeidung einer dop
pelten Erklärung seien an dieser Stelle nur von der Flash-
Festkörper-Plattenspeicher-Karte 1 unterschiedliche Struktu
ren und Funktionen sowie Vorteile davon erläutert.
Der dritte Bereich 105 in dem Speicherbereich des Flash-Spei
chers 4' besteht aus r redundanten Blöcken (physikalische
Sektorenzahlen (M + 1) bis (M + r)), wobei diese als Erweite
rungsblöcke des ersten Bereichs 103 und darüber hinaus als
Ersatzblöcke bzw. Substitutionsblöcke verwendet werden, wenn
in einem Block in dem zweiten Bereich 104 ein Defekt bzw.
Fehler erzeugt wird bzw. auftritt. Die r redundanten Blöcke
werden ähnlich den Blöcken in dem ersten Bereich 103 verwen
det, abgesehen von als Ersatzblöcken für Defektblöcke in dem
zweiten Bereich 104 verwendeten Blöcken.
In der logisch/physikalischen Adreßumwandlungstabelle 91 so
wie der Defektblock-Substitutionstabelle 92, die in Fig. 5
dargestellt sind, ist eine von dem Host-Rechner 2 her empfan
gene logische Sektorenzahl (LSN) jeweils auf der linken Seite
der Tabellen 91, 92 angegeben, wohingegen eine entsprechend
der logischen Sektorenzahl ausgegebene physikalische Sekto
renzahl (PSN) jeweils auf der rechten Seite davon gezeigt
ist. Werte entsprechender logischer Sektorenzahlen sind je
weils in Klammern in dem Sektorverwaltungs-Datenbereich 101
angegeben. Ein Datum bzw. Eintrag (in Fig. 5 als "*" ge
zeigt), das bzw. der für einen Defektblock steht bzw. einen
solchen bezeichnet, wird in dem zweiten Bereich 104 anstatt
einer logischen Sektorenzahl in einen Sektorverwaltungs-Da
tenbereich 101 bei einem defekten Block eingeschrieben (vgl.
zum Beispiel einen Block mit der physikalischen Sektorenzahl
B). Die logisch/physikalische Adreßumwandlungstabelle 91 in
dem Speicher wahlfreien Zugriffs RAM 9 wird entsprechend den
in den Sektorverwaltungs-Datenbereich 101 in dem ersten und
dritten Bereich 101 und 103 geschriebenen logischen Sektoren
zahlen erzeugt. Ferner wird die Defektblock-Substitutionsta
belle 92 entsprechend den logischen Sektorenzahlen (N + 1) bis
M erzeugt, die in den Sektorverwaltungs-Datenbereich 101 in
dem dritten Bereich 105 in dem Flash-Speicher 4' bzw. in den
zweiten Bereich 104 in dem Flash-Speicher 4' geschrieben
sind.
Wenn ein Block in dem zweiten Bereich 104 in dem Speicherbe
reich des Flash-Speichers 4' aufgerufen wird bzw. ein Zugriff
auf diesen erfolgt, verwendet der Mikroprozessor MPU 6 die
Adreßumwandlungstabelle 91 nicht, ähnlich wie bei dem ersten
Ausführungsbeispiel. Wenn darüber hinaus ein Datum bzw. Da
teneintrag in einen Sektorverwaltungs-Bereich 101 für den zu
lesenden Block geschrieben ist, mit der Bedeutung, daß es
sich bei dem Block um einen ungültigen bzw. unzulässigen
Block handelt, der einen Defekt oder Fehler enthält, nimmt
der Mikroprozessor MPU 6 Bezug auf die Defektblock-Substi
tutionstabelle 92 und liest Daten in einem redundanten Block
in dem dritten Bereich 105 entsprechend der durch die Substi
tutionstabelle 92 spezifizierten physikalischen Sektorenzahl.
Wenn Daten in einem Block in dem ersten oder dritten Bereich
aktualisiert werden, abgesehen von Blöcken, die als Substitu
tionsblöcke bzw. Ersatzblöcke für defekte Blöcke in dem zwei
ten Bereich 104 verwendet werden, löscht der Mikroprozessor
MPU 6 die Daten in dem Block, in den die Daten gespeichert
werden und schreibt die logisch/physikalische Adreßumwand
lungstabelle 91 neu, wobei Aktualisierungsdaten in einen
freien Block in dem ersten oder dritten Bereich geschrieben
werden. Somit verteilt der Mikroprozessor MPU 6 Blöcke, in
die Daten geschrieben werden, um eine Konzentration von Lese
vorgängen bzw. Schreibvorgängen bzw. Datenaktualisierungsvor
gängen auf spezielle Blöcke zu verhindern.
Bei der vorstehend erläuterten Flash-Festkörper-Plattenspei
cher-Karte 1 ist die Defektblock-Substitutionstabelle 92 zum
Ersetzen eines Defektblocks bzw. defekten Blocks in dem
Flash-Speicher durch einen normalen Block bzw. funktionsfähi
gen Block der in dem dritten Speicherbereich 105 vorgesehenen
redundanten Blöcken vorgesehen. Die Substitutionstabelle 92
kann anfängliche Defektblöcke als auch durch während des Ge
brauchs beschädigte Defektblöcke registrieren bzw. erfassen.
Daher kann die Produktlebensdauer einer Flash-Festkörper-
Plattenspeicher-Karte selbst verlängert werden. Darüber hin
aus kann ein Flash-Speicher mit anfänglichen Defekten verwen
det werden, so daß die Kosten einer Flash-Festkörper-Platten
speicher-Karte verringert werden können.
Fig. 6 ist ein Flußdiagramm einer durch den Mikroprozessor
MPU 6 bei der Flash-Festkörper-Plattenspeicher-Karte 1 durch
geführten Daten-Schreibverarbeitung. Zunächst wird ein Wert L
einer logischen Sektorenzahl bzw. logischen Sektorenadresse
(LSN) erhalten, der durch den Host-Rechner 2 bestimmt ist
(Schritt S21). Wenn der Wert L größer als N ist (JA bei
Schritt S22), werden Daten in einen Block geschrieben, dessen
physikalische Sektorenzahl bzw. -adresse (PSN) einen Wert L
hat, da auf den zweiten Bereich bzw. Speicherbereich 104 zu
gegriffen wird (Schritt S23). Wenn dann entschieden wird, daß
der Datenschreibvorgang vollständig normal ist bzw. in der
üblichen Weise abgeschlossen wurde (JA bei Schritt S24), en
det die Verarbeitung. Wenn der Datenschreibvorgang jedoch
nicht auf normale Weise abgeschlossen wird (NEIN bei Schritt
S24), wird ein Datum bzw. Dateneintrag mit der Bedeutung ei
nes ungültigen bzw. defekten Blockes in den Sektorverwal
tungs-Datenbereich 101 des Blockes geschrieben (Schritt S25),
und Daten werden in einen freien Block in dem dritten Spei
cherbereich 105 geschrieben (Schritt S26). Weiterhin wird die
physikalische Sektorenzahl des Blockes, in den die Daten ge
schrieben werden bzw. eigentlich zu schreiben sind, als lo
gische Sektorenzahl L (L < N) in die Defektblock-Substituti
onstabelle 92 in dem Speicher wahlfreien Zugriffs RAM 9' ge
schrieben (Schritt S27).
Wenn andererseits L nicht größer als N ist (NEIN bei Schritt
S22), werden Daten in einem Block gelöscht, dessen physikali
sche Sektorenzahl einen durch die logisch/physikalische
Adreßumwandlungstabelle 91 in dem Speicher wahlfreien Zu
griffs RAM 9' bestimmten Wert hat (Schritt S28). Dann werden
Daten in einen freien Block der Blöcke in dem ersten oder
dritten Bereich 103 bzw. 105 geschrieben, die physikalische
Sektorenzahlen 1 bis N oder (M + 1) bis (M + r) haben (Schritt
S29). Dann wird der Inhalt der logisch/physikalischen Adreß
umwandlungstabelle 91 aktualisiert bzw. eine physikalische
Sektorenzahl entsprechend der logischen Sektorenzahl L auf
eine Zahl des Blockes aktualisiert, in den Daten bei Schritt
S29 geschrieben wurden (Schritt S30).
Fig. 7 ist ein Flußdiagramm einer Daten-Leseverarbeitung bei
der Flash-Festkörper-Plattenspeicher-Karte 1, die durch den
Mikroprozessor MPU 6 durchgeführt wird. Zuerst wird ein Wert
L einer logischen Sektorenzahl (LSN) erhalten, die durch den
Host-Rechner 2 bestimmt ist. Wenn L größer als N ist (JA bei
Schritt S32), wird ein Wert einer physikalischen Sektorenzahl
(PSN) als L eingestellt bzw. auf L gesetzt, da ein Zugriff
auf den zweiten Bereich 104 erfolgt (Schritt S33). Dann wer
den die in einen Sektorverwaltungs-Datenbereich 101 in einem
Block der physikalischen Sektorenzahl L geschriebenen Daten
gelesen (Schritt S34). Wenn dann entschieden ist, daß keine
einen ungültigen Block bezeichnende Daten dort eingeschrieben
sind bzw. daß es sich um einen gültigen Block handelt (JA bei
Schritt S35), werden Daten der physikalischen Sektorenzahl L
gelesen bzw. in dem physikalischen Sektor mit der physikali
schen Sektorenzahl L abgespeicherte Daten werden gelesen
(Schritt S38). Wenn andererseits bestimmt wird, daß ein einen
ungültigen Block bezeichnendes Datum bzw. ein derartiger Da
teneintrag dort eingeschrieben ist (NEIN bei Schritt S35),
wird die physikalische Sektorenzahl entsprechend der logi
schen Sektorenzahl L unter Bezugnahme auf die Defektblocksub
stitutionstabelle 92 in dem Speicher wahlfreien Zugriffs RAM
9' bestimmt (Schritt S36). Dann werden Daten der bei Schritt
S36 bestimmten physikalischen Sektorenzahl L gelesen (Schritt
S38).
Wenn andererseits L nicht größer als N ist (NEIN bei Schritt
S32), wird ein Wert einer physikalischen Sektorenzahl anhand
der logisch/physikalischen Adreßumwandlungstabelle 91 in dem
Speicher wahlfreien Zugriffs RAM 9' bestimmt (Schritt S37).
Dann werden Daten der bei Schritt S37 bestimmten physika
lischen Sektorenzahl L gelesen (Schritt S38).
Bei der vorstehend erläuterten Flash-Festkörper-Plattenspei
cher-Karte sind r redundante Blöcke in dem Flash-Speicher
vorgesehen, und eine Adreßumwandlungstabelle kann ebenfalls
die redundanten Blöcke bestimmen bzw. auswählen bzw. zuwei
sen. Dann wird eine Beeinträchtigung des Flash-Speichers auf
grund einer Konzentration von Datenaktualisierungen in beson
deren Blöcken in größerem Ausmaß verzögert bzw. vermindert
als bei der Flash-Festkörper-Plattenspeicher-Karte des ersten
Ausführungsbeispiels. Wenn darüber hinaus ein Defekt bzw.
Fehler in einem Block auftritt, für den die Adreßumwandlungs
tabelle nicht vorgesehen ist, ersetzt ein normaler bzw. feh
lerfreier Block unter den redundanten Blöcken den Block. So
mit hat eine Flash-Festkörper-Plattenspeicher-Karte eine län
gere Produktlebensdauer. Ferner kann eine Flash-Speicherein
richtung mit anfänglichen Defekten bzw. Fehlern eingesetzt
werden, und dies verringert die Kosten.
Eine Flash-Festkörper-Plattenspeicher-Karte hat einen Flash-
Speicher mit M Blöcken, wobei M größer als N ist, oder M
Blöcke und r redundante Blöcke, sowie eine Adreßumwandlungs
tabelle, die eine physikalische Sektorenzahl 1 bis N oder 1
bis N und (M + 1) bis (M + r) entsprechend einer Eingabe einer
logischen Sektorenzahl 1 bis N ausgibt. Wenn Daten in einem
Block für eine logische Sektorenzahl L gleich oder kleiner
als N aktualisiert werden, werden andere Daten in einem Block
mit einer physikalischen Sektorenzahl gelöscht, welche durch
die Adreßumwandlungstabelle bestimmt wird, die Daten werden
in einen freien Block geschrieben, und eine physikalische
Sektorenzahl entsprechend der logischen Sektorenzahl L in der
Adreßumwandlungstabelle wird auf eine Zahl des Blockes verän
dert, in den die zu aktualisierenden bzw. aktualisierten Da
ten geschrieben wurden. Wenn eine logische Sektorenzahl L
gleich oder kleiner als N ist, werden Daten von einem Block
für eine physikalische Sektorenzahl entsprechend der logi
schen Sektorenzahl L in der Tabelle gelesen, andernfalls wer
den Daten von einem Block für eine physikalische Sektorenzahl
L gelesen. Somit kann eine Flash-Festkörper-Plattenspeicher-
Karte längere Zeit effizient benutzt werden. Vorzugsweise ist
eine Substitutionstabelle für Defektblöcke vorgesehen, um
einen Defektblock durch einen Block zu ersetzen.
Claims (7)
1. Flash-Festkörper-Plattenspeicher-Karte mit:
einem Flash-Speicher (4) mit M Blöcken mit physikali schen Sektorenzahlen zwischen 1 und M, wobei die M Blöcke N- Blöcke zur Sektorenverwaltung einschließen, wobei N kleiner als M ist;
einem Speicher wahlfreien Zugriffs (9) zur Speicherung einer Adreßumwandlungstabelle (91), die eine physikalische Sektorenzahl für einen der N Blöcke in Übereinstimmung mit der Eingabe einer logischen Sektorenzahl zwischen 1 und N ausgibt;
einer Daten-Schreibeinrichtung (6; S1-S6) zum Schreiben von Daten in einen Block für eine logische Sektorenzahl L, wobei die Daten-Schreibeinrichtung Mittel hat, um für den Fall, daß L einer Beziehung 1 ≦ L ≦ N genügt, andere Daten in einem Block zu löschen, der eine durch die in dem Speicher wahlfreien Zugriffs gespeicherte Adreßumwandlungstabelle ent sprechend der logischen Sektorenzahl L bestimmte physikali sche Sektorenzahl hat, die zu schreibenden Daten in einen freien Block unter den N Blöcken zu schreiben, und eine phy sikalische Sektorenzahl entsprechend der logischen Sektoren zahl L in der Adreßumwandlungstabelle in eine physikalische Sektorenzahl des Blocks zu ändern, in den die Daten geschrie ben wurden, und um für den Fall, daß L größer als N ist, zu schreibende Daten in einen Block zu schreiben, der eine phy sikalische Sektorenzahl hat, die gleich der logischen Sekto renzahl L ist; und
einer Daten-Leseeinrichtung (6; S11-S15) zum Lesen von Daten von einem Block in dem Flash-Speicher für eine physi kalische Sektorenzahl entsprechend der logischen Sektorenzahl L in der Adreßumwandlungstabelle in dem Speicher wahlfreien Zugriffs, wenn die logische Sektorenzahl L gleich oder klei ner als N ist, und zum Lesen von Daten von einem Block für eine physikalische Sektorenzahl L in dem Flash-Speicher, wenn die logische Sektorenzahl L größer als N ist.
einem Flash-Speicher (4) mit M Blöcken mit physikali schen Sektorenzahlen zwischen 1 und M, wobei die M Blöcke N- Blöcke zur Sektorenverwaltung einschließen, wobei N kleiner als M ist;
einem Speicher wahlfreien Zugriffs (9) zur Speicherung einer Adreßumwandlungstabelle (91), die eine physikalische Sektorenzahl für einen der N Blöcke in Übereinstimmung mit der Eingabe einer logischen Sektorenzahl zwischen 1 und N ausgibt;
einer Daten-Schreibeinrichtung (6; S1-S6) zum Schreiben von Daten in einen Block für eine logische Sektorenzahl L, wobei die Daten-Schreibeinrichtung Mittel hat, um für den Fall, daß L einer Beziehung 1 ≦ L ≦ N genügt, andere Daten in einem Block zu löschen, der eine durch die in dem Speicher wahlfreien Zugriffs gespeicherte Adreßumwandlungstabelle ent sprechend der logischen Sektorenzahl L bestimmte physikali sche Sektorenzahl hat, die zu schreibenden Daten in einen freien Block unter den N Blöcken zu schreiben, und eine phy sikalische Sektorenzahl entsprechend der logischen Sektoren zahl L in der Adreßumwandlungstabelle in eine physikalische Sektorenzahl des Blocks zu ändern, in den die Daten geschrie ben wurden, und um für den Fall, daß L größer als N ist, zu schreibende Daten in einen Block zu schreiben, der eine phy sikalische Sektorenzahl hat, die gleich der logischen Sekto renzahl L ist; und
einer Daten-Leseeinrichtung (6; S11-S15) zum Lesen von Daten von einem Block in dem Flash-Speicher für eine physi kalische Sektorenzahl entsprechend der logischen Sektorenzahl L in der Adreßumwandlungstabelle in dem Speicher wahlfreien Zugriffs, wenn die logische Sektorenzahl L gleich oder klei ner als N ist, und zum Lesen von Daten von einem Block für eine physikalische Sektorenzahl L in dem Flash-Speicher, wenn die logische Sektorenzahl L größer als N ist.
2. Karte nach Anspruch 1, wobei jeder der N Blöcke einen
Sektordatenbereich (100) und einen Sektorverwaltungsbereich
(101) hat, wobei der Sektorverwaltungsbereich eine der physi
kalischen Sektorenzahl entsprechende logische Sektorenzahl
speichert.
3. Karte nach Anspruch 2, wobei der Sektordatenbereich 512
Byte und der Sektorverwaltungsbereich 16 Byte umfaßt.
4. Flash-Festkörper-Plattenspeicher-Karte mit:
einem Flash-Speicher (4') mit (M + r) Blöcken mit physika lischen Sektorenzahlen zwischen 1 und (M + r), wobei die (M + r) Blöcke N Blöcke zur Sektorverwaltung und r redundante Blöcke enthalten;
einem Speicher wahlfreien Zugriffs (9') zur Speicherung einer Adreßumwandlungstabelle (91), die eine physikalische Sektorenzahl für einen der N Blöcke und der r redundanten Blöcke entsprechend einer Eingabe einer logischen Sektoren zahl zwischen 1 und N ausgibt, wobei N kleiner ist als M;
einer Daten-Schreibeinrichtung (6; S21 bis S30), um für den Fall, daß eine logische Sektorenzahl L einer Beziehung 1 ≦ L ≦ N genügt, andere Daten in einem Block zu löschen, der eine physikalische Sektorenzahl hat, die entsprechend der logischen Sektorenzahl L durch die in dem Speicher wahlfreien Zugriffs gespeicherte Adreßumwandlungstabelle bestimmt ist, um die zu schreibenden Daten in einen freien Block unter den N Blöcken und den r redundanten Blöcken zu schreiben, und um eine physikalische Sektorenzahl entsprechend der logischen Sektorenzahl L in der Adreßumwandlungstabelle zu einer physi kalischen Sektorenzahl des Blockes zu ändern, in den die Da ten geschrieben wurden, und um für den Fall, daß die logische Sektorenzahl L größer als N ist, Daten in einen Block mit ei ner physikalischen Sektorenzahl zu schreiben, die gleich der logischen Sektorenzahl L ist; und
einer Daten-Leseeinrichtung (6; S31 bis S38) zum Lesen von Daten von einem Block in dem Flash-Speicher für eine phy sikalische Sektorenzahl entsprechend der logischen Sektoren zahl L in der Adreßumwandlungstabelle in dem Speicher wahl freien Zugriffs, wenn die logische Sektorenzahl L gleich oder kleiner als N ist, und zum Lesen von Daten von einem Block für eine physikalische Sektorenzahl L in dem Flash-Speicher, wenn die logische Sektorenzahl L größer als N ist.
einem Flash-Speicher (4') mit (M + r) Blöcken mit physika lischen Sektorenzahlen zwischen 1 und (M + r), wobei die (M + r) Blöcke N Blöcke zur Sektorverwaltung und r redundante Blöcke enthalten;
einem Speicher wahlfreien Zugriffs (9') zur Speicherung einer Adreßumwandlungstabelle (91), die eine physikalische Sektorenzahl für einen der N Blöcke und der r redundanten Blöcke entsprechend einer Eingabe einer logischen Sektoren zahl zwischen 1 und N ausgibt, wobei N kleiner ist als M;
einer Daten-Schreibeinrichtung (6; S21 bis S30), um für den Fall, daß eine logische Sektorenzahl L einer Beziehung 1 ≦ L ≦ N genügt, andere Daten in einem Block zu löschen, der eine physikalische Sektorenzahl hat, die entsprechend der logischen Sektorenzahl L durch die in dem Speicher wahlfreien Zugriffs gespeicherte Adreßumwandlungstabelle bestimmt ist, um die zu schreibenden Daten in einen freien Block unter den N Blöcken und den r redundanten Blöcken zu schreiben, und um eine physikalische Sektorenzahl entsprechend der logischen Sektorenzahl L in der Adreßumwandlungstabelle zu einer physi kalischen Sektorenzahl des Blockes zu ändern, in den die Da ten geschrieben wurden, und um für den Fall, daß die logische Sektorenzahl L größer als N ist, Daten in einen Block mit ei ner physikalischen Sektorenzahl zu schreiben, die gleich der logischen Sektorenzahl L ist; und
einer Daten-Leseeinrichtung (6; S31 bis S38) zum Lesen von Daten von einem Block in dem Flash-Speicher für eine phy sikalische Sektorenzahl entsprechend der logischen Sektoren zahl L in der Adreßumwandlungstabelle in dem Speicher wahl freien Zugriffs, wenn die logische Sektorenzahl L gleich oder kleiner als N ist, und zum Lesen von Daten von einem Block für eine physikalische Sektorenzahl L in dem Flash-Speicher, wenn die logische Sektorenzahl L größer als N ist.
5. Karte nach Anspruch 4, wobei jeder der N Blöcke und der r
redundanten Blöcke einen Sektordatenbereich (100) und einen
Sektorverwaltungsbereich (101) umfaßt, wobei der Sektorver
waltungsbereich eine logische Sektorenzahl entsprechend der
physikalischen Sektorenzahl speichert.
6. Karte nach Anspruch 5, wobei der Sektordatenbereich 512
Byte und der Sektorverwaltungsbereich 16 Byte umfaßt.
7. Karte nach Anspruch 4, wobei der Speicher wahlfreien Zu
griffs (9') eine Substitutionstabelle (92) aufweist, die lo
gische Sektorenzahlen und physikalische Sektorenzahlen von
Substitutionsblöcken für defekte Blöcke speichert, die für
die logischen Sektorenzahlen mit der Adreßumwandlungstabelle
bestimmt wurden, wobei jeder Block in dem Flash-Speicher ei
nen Datenbereich zum Schreiben von Daten und einen Verwal
tungsdatenbereich zum Schreiben einer logischen Sektorenzahl
oder eines einen defekten Block bezeichnenden Datums umfaßt,
wobei die Daten-Schreibeinrichtung darüber hinaus ein einen
defekten Block bezeichnendes Datum in den Verwaltungsbereich
für den Block der physikalischen Sektorenzahl L schreibt
(S25), Daten in einen freien Block unter den r redundanten
Blöcken schreibt (S26) und die logische Sektorenzahl L und
eine physikalische Sektorenzahl für einen Block, in den die
Daten geschrieben wurden, in die Substitutionstabelle ein
trägt (S27), wenn die logische Sektorenzahl N größer als L
ist und ein Block mit der physikalischen Sektorenzahl L einen
Defekt aufweist (S22, S24), und die Datenleseeinrichtung (6;
S31 bis S38) ferner Daten einer redundanten Sektorenzahl aus
der Substitutionstabelle für die physikalische Sektorenzahl L
liest, wenn die logische Sektorenzahl L größer als N ist und
ein einen defekten Block bezeichnendes Datum in den Verwal
tungsbereich für die physikalische Sektorenzahl L geschrieben
ist (S36, S35, S32).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23522995A JP3604466B2 (ja) | 1995-09-13 | 1995-09-13 | フラッシュディスクカード |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19615948A1 DE19615948A1 (de) | 1997-03-20 |
DE19615948C2 true DE19615948C2 (de) | 1998-12-10 |
Family
ID=16983000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19615948A Expired - Fee Related DE19615948C2 (de) | 1995-09-13 | 1996-04-22 | Flash-Festkörper-Plattenspeicher-Karte |
Country Status (5)
Country | Link |
---|---|
US (1) | US5742934A (de) |
JP (1) | JP3604466B2 (de) |
KR (1) | KR100319017B1 (de) |
DE (1) | DE19615948C2 (de) |
GB (1) | GB2305272B (de) |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347051B2 (en) * | 1991-11-26 | 2002-02-12 | Hitachi, Ltd. | Storage device employing a flash memory |
JP3197815B2 (ja) * | 1996-04-15 | 2001-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 半導体メモリ装置及びその制御方法 |
JPH10207726A (ja) * | 1997-01-23 | 1998-08-07 | Oki Electric Ind Co Ltd | 半導体ディスク装置 |
DE19708755A1 (de) * | 1997-03-04 | 1998-09-17 | Michael Tasler | Flexible Schnittstelle |
US6182201B1 (en) * | 1997-04-14 | 2001-01-30 | International Business Machines Corporation | Demand-based issuance of cache operations to a system bus |
JP3718578B2 (ja) * | 1997-06-25 | 2005-11-24 | ソニー株式会社 | メモリ管理方法及びメモリ管理装置 |
JP4079506B2 (ja) | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
US6367030B1 (en) * | 1997-10-09 | 2002-04-02 | Matsushita Electric Industrial Co., Ltd. | Address conversion circuit and address conversion system with redundancy decision circuitry |
JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
CN1249586C (zh) * | 1997-12-22 | 2006-04-05 | Tdk株式会社 | 闪速存储器系统 |
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 |
JP4315488B2 (ja) * | 1998-06-30 | 2009-08-19 | ソニー株式会社 | データ記憶装置、データ処理装置、データ処理システム並びにデータ処理方法 |
JP3544476B2 (ja) * | 1998-09-11 | 2004-07-21 | 富士通株式会社 | メモリ管理テーブル作成方法 |
JP2000122935A (ja) * | 1998-10-20 | 2000-04-28 | Sanyo Electric Co Ltd | 不揮発性メモリのアドレス変換装置 |
JP2000227871A (ja) * | 1999-02-05 | 2000-08-15 | Seiko Epson Corp | 不揮発性記憶装置、その制御方法、および、情報記録媒体 |
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 |
US6332204B1 (en) * | 1999-03-31 | 2001-12-18 | International Business Machines Corporation | Recovering and relocating unreliable disk sectors when encountering disk drive read errors |
US6426928B1 (en) | 1999-03-31 | 2002-07-30 | International Business Machines Corporation | Ability to distinguish true disk write errors |
KR100544175B1 (ko) * | 1999-05-08 | 2006-01-23 | 삼성전자주식회사 | 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법 |
US7953931B2 (en) * | 1999-08-04 | 2011-05-31 | Super Talent Electronics, Inc. | High endurance non-volatile memory devices |
US6565443B1 (en) | 1999-09-14 | 2003-05-20 | Innovative Gaming Corporation | System and method for verifying the contents of a mass storage device before granting access to computer readable data stored on the device |
US8019943B2 (en) * | 2000-01-06 | 2011-09-13 | Super Talent Electronics, Inc. | High endurance non-volatile memory devices |
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6662263B1 (en) | 2000-03-03 | 2003-12-09 | Multi Level Memory Technology | Sectorless flash memory architecture |
GB2369465B (en) * | 2000-11-28 | 2003-04-02 | 3Com Corp | A method of sorting and retrieving data files |
US20020124203A1 (en) * | 2001-02-20 | 2002-09-05 | Henry Fang | Method for utilizing DRAM memory |
US6779045B2 (en) * | 2001-03-21 | 2004-08-17 | Intel Corporation | System and apparatus for increasing the number of operations per transmission for a media management system |
JP4772214B2 (ja) * | 2001-06-08 | 2011-09-14 | ルネサスエレクトロニクス株式会社 | 不揮発性記憶装置及びその書き換え制御方法 |
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 |
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 |
US6675281B1 (en) | 2002-01-22 | 2004-01-06 | Icreate Technologies Corporation | Distributed mapping scheme for mass storage system |
US6732222B1 (en) * | 2002-02-01 | 2004-05-04 | Silicon Motion, Inc. | Method for performing flash memory file management |
US7533214B2 (en) * | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
US6901499B2 (en) * | 2002-02-27 | 2005-05-31 | Microsoft Corp. | System and method for tracking data stored in a flash memory device |
TWI241481B (en) * | 2002-06-25 | 2005-10-11 | Lite On Technology Corp | Repeated burning method of flash memory program |
US7123512B2 (en) * | 2002-07-19 | 2006-10-17 | Micron Technology, Inc. | Contiguous block addressing scheme |
JP2004086991A (ja) * | 2002-08-27 | 2004-03-18 | Renesas Technology Corp | 不揮発性記憶装置 |
US20040083334A1 (en) * | 2002-10-28 | 2004-04-29 | Sandisk Corporation | Method and apparatus for managing the integrity of data in non-volatile memory system |
US7634614B2 (en) * | 2003-01-13 | 2009-12-15 | Sierra Logic | Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves and that support virtual disk formatting |
CA2532297A1 (en) * | 2003-07-17 | 2005-01-27 | Koninklijke Philips Electronics N.V. | Device and method for recording information with reorganization of defect management information |
KR100608602B1 (ko) * | 2003-12-10 | 2006-08-03 | 삼성전자주식회사 | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 |
US7480760B2 (en) | 2003-12-17 | 2009-01-20 | Wegener Communications, Inc. | Rotational use of memory to minimize write cycles |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
KR20070007264A (ko) * | 2003-12-30 | 2007-01-15 | 쌘디스크 코포레이션 | 비순차 갱신 블록 관리를 구비한 비휘발성 메모리 및 방법 |
US7383375B2 (en) * | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US7433993B2 (en) | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
KR100594249B1 (ko) * | 2004-02-13 | 2006-06-30 | 삼성전자주식회사 | 데이터 저장 시스템에서의 적응적 데이터 액세스 제어방법 및 이를 이용한 디스크 드라이브 |
JP4751037B2 (ja) * | 2004-06-22 | 2011-08-17 | 株式会社東芝 | メモリカード |
US7427027B2 (en) * | 2004-07-28 | 2008-09-23 | Sandisk Corporation | Optimized non-volatile storage systems |
JP4561246B2 (ja) * | 2004-08-31 | 2010-10-13 | ソニー株式会社 | メモリ装置 |
JP4817836B2 (ja) | 2004-12-27 | 2011-11-16 | 株式会社東芝 | カードおよびホスト機器 |
JP4634157B2 (ja) | 2005-01-17 | 2011-02-16 | 株式会社日立製作所 | ストレージシステム |
US20060224875A1 (en) * | 2005-03-11 | 2006-10-05 | Choi Young-Joon | Portable digital player |
US7389397B2 (en) * | 2005-06-01 | 2008-06-17 | Sandisk Il Ltd | Method of storing control information in a large-page flash memory device |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7509471B2 (en) * | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US20070118578A1 (en) * | 2005-11-04 | 2007-05-24 | Sun Microsystems, Inc. | Extensible hashing for file system directories |
JP5089901B2 (ja) * | 2006-03-28 | 2012-12-05 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置の制御方法 |
JP2008009527A (ja) * | 2006-06-27 | 2008-01-17 | Toshiba Corp | メモリシステム |
JP2008070929A (ja) * | 2006-09-12 | 2008-03-27 | Matsushita Electric Ind Co Ltd | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
US20080071968A1 (en) * | 2006-09-18 | 2008-03-20 | Phison Electronics Corp. | Method of managing blocks fo flash memory suitable for flexible correspondence between logic block and physical block |
KR100877609B1 (ko) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법 |
DE602008002278D1 (de) * | 2007-05-02 | 2010-10-07 | St Microelectronics Sa | Nicht flüchtiger Speicher mit drehbaren Hilfssegmenten |
FR2915829A1 (fr) * | 2007-05-02 | 2008-11-07 | St Microelectronics Sa | Memoire non volatile a ecriture rapide |
US7958390B2 (en) * | 2007-05-15 | 2011-06-07 | Sandisk Corporation | Memory device for repairing a neighborhood of rows in a memory array using a patch table |
US7966518B2 (en) * | 2007-05-15 | 2011-06-21 | Sandisk Corporation | Method for repairing a neighborhood of rows in a memory array using a patch table |
US20080306723A1 (en) * | 2007-06-08 | 2008-12-11 | Luca De Ambroggi | Emulated Combination Memory Device |
JP2009003784A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
JP2009003783A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
US8380949B2 (en) | 2010-05-20 | 2013-02-19 | International Business Machines Corporation | Managing write operations to an extent of tracks migrated between storage devices |
WO2012057777A1 (en) * | 2010-10-29 | 2012-05-03 | Empire Technology Development Llc | Advanced data encoding with reduced erasure count for solid state drives |
JP5614337B2 (ja) | 2011-03-08 | 2014-10-29 | 富士通セミコンダクター株式会社 | メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器 |
US20130151755A1 (en) | 2011-12-12 | 2013-06-13 | Reuven Elhamias | Non-Volatile Storage Systems with Go To Sleep Adaption |
JP5680220B2 (ja) | 2011-12-20 | 2015-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ストレージ・ネットワーク・システム |
KR101949671B1 (ko) | 2012-06-28 | 2019-04-25 | 삼성전자 주식회사 | 라이프 싸이클을 증가시킬 수 있는 저장 장치 및 그 동작 방법 |
US8910017B2 (en) | 2012-07-02 | 2014-12-09 | Sandisk Technologies Inc. | Flash memory with random partition |
JP5435107B2 (ja) * | 2012-11-22 | 2014-03-05 | 富士通株式会社 | 不揮発性メモリ・ドライバ |
US9448921B2 (en) | 2013-01-11 | 2016-09-20 | Empire Technology Development Llc | Page allocation for flash memories |
US8891296B2 (en) | 2013-02-27 | 2014-11-18 | Empire Technology Development Llc | Linear Programming based decoding for memory devices |
US9478271B2 (en) * | 2013-03-14 | 2016-10-25 | Seagate Technology Llc | Nonvolatile memory data recovery after power failure |
US9411721B2 (en) | 2013-11-15 | 2016-08-09 | Sandisk Technologies Llc | Detecting access sequences for data compression on non-volatile memory devices |
WO2015088552A1 (en) | 2013-12-13 | 2015-06-18 | Empire Technology Development Llc | Low-complexity flash memory data-encoding techniques using simplified belief propagation |
JP6226830B2 (ja) * | 2014-07-24 | 2017-11-08 | 株式会社東芝 | 情報処理装置、データアクセス方法およびプログラム |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
US10261897B2 (en) | 2017-01-20 | 2019-04-16 | Samsung Electronics Co., Ltd. | Tail latency aware foreground garbage collection algorithm |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5406529A (en) * | 1992-09-22 | 1995-04-11 | International Business Machines Corporation | Flash non-volatile memory |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5113512A (en) * | 1988-06-21 | 1992-05-12 | Matsushita Electric Industrial Co., Ltd. | System for managing a storage medium reducing physical space needed |
US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
JP2582487B2 (ja) * | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
TW261687B (de) * | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
US5359570A (en) * | 1992-11-13 | 1994-10-25 | Silicon Storage Technology, Inc. | Solid state peripheral storage device |
US5812814A (en) * | 1993-02-26 | 1998-09-22 | Kabushiki Kaisha Toshiba | Alternative flash EEPROM semiconductor memory system |
JPH08212019A (ja) * | 1995-01-31 | 1996-08-20 | Mitsubishi Electric Corp | 半導体ディスク装置 |
-
1995
- 1995-09-13 JP JP23522995A patent/JP3604466B2/ja not_active Expired - Fee Related
-
1996
- 1996-03-11 US US08/613,670 patent/US5742934A/en not_active Expired - Lifetime
- 1996-03-20 GB GB9605872A patent/GB2305272B/en not_active Expired - Fee Related
- 1996-04-22 DE DE19615948A patent/DE19615948C2/de not_active Expired - Fee Related
- 1996-05-20 KR KR1019960016933A patent/KR100319017B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5406529A (en) * | 1992-09-22 | 1995-04-11 | International Business Machines Corporation | Flash non-volatile memory |
Also Published As
Publication number | Publication date |
---|---|
GB9605872D0 (en) | 1996-05-22 |
KR100319017B1 (ko) | 2002-04-22 |
JPH0981332A (ja) | 1997-03-28 |
KR970017042A (ko) | 1997-04-28 |
JP3604466B2 (ja) | 2004-12-22 |
DE19615948A1 (de) | 1997-03-20 |
GB2305272A (en) | 1997-04-02 |
US5742934A (en) | 1998-04-21 |
GB2305272B (en) | 1997-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19615948C2 (de) | Flash-Festkörper-Plattenspeicher-Karte | |
DE69527594T2 (de) | Flashspeicherkarte | |
DE60030876T2 (de) | Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität | |
DE69414556T2 (de) | Schnell loeschbare datei | |
DE69623407T2 (de) | Verfahren zur Überprüfung der Blockzuordnung eines Flash-Speichers mit Übersetzungsschicht | |
DE69227499T2 (de) | Einen Flashspeicher verwendendes Speichergerät | |
DE69325741T2 (de) | Speicherkartengerät | |
DE69233228T2 (de) | Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C. Speicherkarte mit solchem Datenverwaltungssystem | |
DE69936246T2 (de) | Nichtflüchtiger Speicher, Aufzeichnungsgerät und -verfahren | |
DE60032531T2 (de) | Aufzeichnungsverfahren, Verwaltungsverfahren und Aufzeichnungsgerät | |
DE60035780T2 (de) | Schaltung für plattenantriebskontroller und verfahren zur überschlagung von defekten oder ungewünschten sektoren | |
DE69630624T2 (de) | EEPROM-Matrix mit einem, dem "Flash"-Speicher ähnlichen Kern | |
DE19600081C2 (de) | Sicherung der Datenintegrität bei Datenträgerkarten | |
DE3852808T2 (de) | Informationsverwaltungssystem für beschreibbare optische Platten. | |
DE69716233T2 (de) | Halbleiterspeicheranordnung mit fehlerdetektion und -korrektur | |
DE19740525C1 (de) | Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug | |
DE68913605T2 (de) | Verfahren zur Handhabung defekter Sektoren auf einem plattenförmigen Informations-Aufzeichnungsträger und Gerät zur Durchführung des Verfahrens. | |
DE69512459T2 (de) | RAID 5 - Plattenspeicheranordnung mit Paritätscachespeicher mit freien Blöcken | |
DE60121697T2 (de) | Verfahren zum ansteuern von remapping in einem flash-speicher und in einer dafür geeigneten flash-speicher-architektur | |
DE69033262T2 (de) | EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher | |
DE68922552T2 (de) | Informationsaufzeichnungs- und -wiedergabegerät mit optischen Speicherplatten. | |
DE69839126T2 (de) | Verschiebung aufeinander folgender sektoren innerhalb eines datenblocks in einem flash-massenspeicher | |
DE69030024T2 (de) | Verfahren zur Herstellung einer Duplikation von einer Datenbank | |
DE60001335T2 (de) | Informationsaufzeichnungsmedium, Aufzeichnungs- und Wiedergabeverfahren und -vorrichtung | |
DE69820164T2 (de) | Speichervorrichtung sowie Datenlese- und Schreibverfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20141101 |