DE19608713A1 - Speichereinheit - Google Patents
SpeichereinheitInfo
- Publication number
- DE19608713A1 DE19608713A1 DE19608713A DE19608713A DE19608713A1 DE 19608713 A1 DE19608713 A1 DE 19608713A1 DE 19608713 A DE19608713 A DE 19608713A DE 19608713 A DE19608713 A DE 19608713A DE 19608713 A1 DE19608713 A1 DE 19608713A1
- Authority
- DE
- Germany
- Prior art keywords
- sector
- data
- address
- sectors
- parallel memory
- 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.)
- Withdrawn
Links
Classifications
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F2003/0697—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Description
Die Erfindung bezieht sich auf eine Speichereinheit wie eine
Speicherkarte, in der ein auch als "flash memory" bekannter
Parallelspeicher eingesetzt ist.
Für eine nachfolgend als PC-Karte bezeichnete Halbleiterspei
cher-Plattenkarte, die als ein nichtflüchtiger Speicher für
das Einschreiben und Auslesen von Daten eingesetzt wird, wird
ein Parallelspeicher verwendet. Die PC-Karte wird an einen
Verarbeitungsrechner angeschlossen und wirkt als Speicherauf
zeichnungsträger für diesen.
Durch die Verwendung des Parallelspeichers kann die Zugriff
geschwindigkeit einer PC-Karte über diejenige einer Festplat
teneinheit hinaus erhöht werden. Eine PC-Karte mit einem Par
allelspeicher wird bei der japanischen Elektronikindustrie-
Entwicklungsvereinigung (JEIDA) gemäß einem PC-Karten-
Schnittstellenstandard oder dem ATA-Standard (AT-
Zusatzgerätestandard) eingesetzt, welche bei Schnittstellen
für Festplatteneinheiten für Personalcomputer eingesetzt wur
den. Durch die Anwendung des ATA-Standards ist es nicht er
forderlich, die Speicherkapazität einzuschränken oder eine
ausschließlich für die PC-Karte vorgesehene Treiberstufe ein
zusetzen.
Bei dem ATA-Standard hat gleichermaßen wie bei einer Fest
platteneinheit ein Parallelspeicher eine Speicherkapazität,
die in einen Sektorkennungsbereich und einen Sektorbereich
mit Sektoren unterteilt ist, wobei der jeweilige Sektor in
dem Sektorbereich durch den Sektorkennungsbereich verwaltet
wird. Ein Problem bei einem in einer PC-Karte eingesetzten
Parallelspeicher besteht in der Beschränkung der Anzahl von
Neueinschreibungen von Daten in den Parallelspeicher. In ei
nen Parallelspeicher werden praktisch wiederholt Daten aus
einem Verarbeitungsrechner in bestimmte Sektoren eingeschrie
ben oder neu eingeschrieben und die Lebensdauer dieser Sekto
ren wird kürzer als diejenige der anderen Sektoren. Falls ein
fehlerhaftes Einschreiben von Daten in einen Sektor auftritt,
wird von der PC-Karte dem Verarbeitungscomputer der Fehler
gemeldet. Der ein fehlerhaftes Einschreiben von Daten erfas
sende Verarbeitungscomputer entscheidet, daß die PC-Karte
nicht verwendet werden kann. Selbst wenn ermittelt wird, daß
die bestimmten Sektoren nicht genutzt werden können, können
die anderen Sektoren weiterhin auf normale Weise benutzt wer
den. Die PC-Karte kann jedoch nicht mehr verwendet werden.
Der Erfindung liegt die Aufgabe zugrunde, eine als PC-Karte
verwendete Speichereinheit zu schaffen, in der ein Speicher
wirkungsvoll darin genutzt wird.
Wenn in einer Speichereinheit gemäß einer Ausführungsform der
Erfindung in einen Parallelspeicher-mit einer Vielzahl von
Blöcken, von denen jeder eine Vielzahl von Sektoren enthält,
wobei der Block bei dem Löschen von Daten eine Einheit bil
det, bei dem Einschreiben von Daten eine Adresse in einem
Sektor in dem Parallelspeicher gemäß einer einer logischen
Adresse entsprechenden Adressenumsetzung ermittelt wird und
die Daten nicht in einem ersten Sektor an der ermittelten
Adresse eingeschrieben werden können, werden die Daten ohne
eine durch den Schreibfehler verursachte Unterbrechung in ei
nen zweiten Sektor in dem gleichen Block wie der erste Sektor
eingeschrieben. Dann wird in einer Adressenumsetztabelle eine
reale beziehungsweise physikalische Adresse in dem Paral
lelspeicher entsprechend der logischen Adresse auf eine
Adresse des zweiten Sektors umgeschrieben. Ein die Spei
chereinheit abrufender Verarbeitungscomputer benötigt dann
keinen weiteren besonderen Prozeß für den Schreibfehler.
Gleichermaßen werden dann, wenn in einem Parallelspeicher mit
einer Vielzahl von Sektoren Daten eingeschrieben werden und
die Daten nicht in einem ersten Sektor an der ermittelten
Adresse eingeschrieben werden können, die Daten in einem von
dem ersten Sektor verschiedenen zweiten Sektor eingeschrie
ben.
Wenn bei einer zweiten Ausführungsform der erfindungsgemäßen
Speichereinheit mit einem Parallelspeicher ein jeweiliger
Block in dem Parallelspeicher eine Vielzahl von Sektoren und
eine Vielzahl von Ausweichsektoren enthält und die Daten
nicht in einem ersten Sektor an der ermittelten Adresse ein
geschrieben werden können, werden die Daten in einen Aus
weichsektor in dem gleichen Block wie der erste Sektor einge
schrieben. Dann wird in der Adressenumsetztabelle eine physi
kalische beziehungsweise reale Adresse in dem Parallelspei
cher entsprechend der logischen- Adresse auf eine Adresse des
zweiten Sektors beziehungsweise Ausweichsektors umgeschrie
ben. Auf diese Weise wird die Anzahl Verfügbarer Sektoren
konstant gehalten. Ferner ist dann eine der logischen Adresse
entsprechende reale Adresse in dem Parallelspeicher auf die
Adresse des zweiten Sektors umgeschrieben. Wenn alle Aus
weichsektoren in dem Block benutzt worden sind, werden vor
zugsweise die Daten sowie die in dem Block eingeschriebenen
Daten in einen unbenutzten zweiten Block der Blöcke einge
schrieben. Gleichermaßen werden bei dem Einschreiben von Da
ten in einen Parallelspeicher mit einer Vielzahl von Sektoren
dann, wenn die Daten nicht in einem ersten Sektor an der er
mittelten Adresse eingeschrieben werden können, die Daten in
einen Ausweichsektor eingeschrieben.
Bei einer dritten Ausführungsform der Erfindung enthält die
Speichereinheit einen Parallelspeicher mit einer Vielzahl von
Sektoren und einer Vielzahl von Sektorkenndaten (Kennungen)
zum Speichern von Statusdaten hinsichtlich der Sektoren sowie
eine Adressenumsetzeinrichtung, die eine durch einen Schreib
befehl bestimmte logische Adresse auf eine reale Adresse in
dem Parallelspeicher umsetzt. Wenn die Daten nicht an der der
logischen Adresse entsprechenden realen Adresse eingeschrie
ben werden können, werden die Daten in einen zweiten Sektor
eingeschrieben und in einer Adressenumsetztabelle wird die
der logischen Adresse entsprechende reale Adresse auf die
reale Adresse des zweiten Sektors umgeschrieben.
Bei einer vierten Ausführungsform weist die erfindungsgemäße
Speichereinheit einen Parallelspeicher auf, der eine Vielzahl
von Sektoren, eine Vielzahl von Ausweichsektoren und eine
Vielzahl von Sektorkenndaten (Kennungen) für das Speichern
von logischen Adressen für die Sektoren enthält. Eine Adres
senumsetzeinrichtung setzt eine durch einen Schreibbefehl be
stimmte logische Adresse in eine physikalische beziehungswei
se reale Adresse in dem Parallelspeicher um. Wenn an der der
logischen Adresse entsprechenden realen Adresse die Daten
nicht eingeschrieben werden können, werden die Daten in einen
Ausweichsektor eingeschrieben und die in der Sektorkennung
gespeicherte logische Adresse wird in die Sektorkennung für
den Ausweichsektor eingespeichert.
Ein mit der Erfindung erzielter Vorteil besteht darin, daß
die Lebensdauer der Speichereinheit verlängert werden kann.
Ein mit der Erfindung erzielter weiterer Vorteil besteht dar
in, daß ein Verarbeitungscomputer, an den die Speichereinheit
angeschlossen ist, die Speichereinheit abrufen kann, ohne daß
spezielle Befehle erforderlich sind.
Die Erfindung wird nachstehend anhand von Ausführungsbeispie
len unter Bezugnahme auf die Zeichnung näher erläutert, in
der
Fig. 1 eine Darstellung eines Verarbeitungscomputers und
einer PC-Karte ist,
Fig. 2 ein Schaltbild einer 64 kByte-PC-Karte ist,
Fig. 3 ein Speicherschema eines Speichers ist,
Fig. 4 ein Ablaufdiagramm des Schreibens oder Über
schreibens bei der Benutzung des Speichers in der PC-Karte
ist,
Fig. 5 ein Ablaufdiagramm eines Umschreibeprozesses ist,
Fig. 6 ein Ablaufdiagramm der Anfangseinstellung des
Speichers der 64-kByte-PC-Karte ist,
Fig. 7 ein Speicherschema eines anderen Speichers ist,
Fig. 8 ein Ablaufdiagramm des Schreibens oder Über
schreibens bei der Benutzung des Speichers in der PC-Karte
ist,
Fig. 9 ein Ablaufdiagramm eines Umschreibeprozesses ist,
Fig. 10 ein Ablaufdiagramm der Anfangseinstellung des
Speichers in einer 64 kByte-PC-Karte 1a ist,
Fig. 11 ein Schaltbild einer 512 Byte-PC-Karte ist,
Fig. 12 ein Speicherschema eines Speichers ist,
Fig. 13 ein Ablaufdiagramm des Schreibens oder Über
schreibens bei der Benutzung des Speichers ist,
Fig. 14 ein Ablaufdiagramm eines Umschreibeprozesses ge
mäß einem ersten Beispiel ist,
Fig. 15 ein Ablaufdiagramm eines Leseprozesses ist,
Fig. 16 ein Ablaufdiagramm eines Umschreibeprozesses ge
mäß einem zweiten Beispiel ist,
Fig. 17 ein Ablaufdiagramm eines Leseprozesses ist und
Fig. 18 ein Ablaufdiagramm der Anfangseinstellung des
Speichers der 512 Byte-PC-Karte ist.
Es gibt zwei Arten von Parallelspeichern. Der Speicher der
ersten Art ist ein Block-Parallelspeicher, in dem die Daten
in einem Format, das gleich einer oder größer als eine Daten
übertragungseinheit (512 Byte/Sektor) ist, wie in einem For
mat von 64 kByte gelöscht werden, während in einem Paral
lelspeicher der zweiten Art die Daten in Datenübertragungs
einheiten gelöscht werden. Nachstehend wird eine PC-Karte, in
der der Block-Parallelspeicher verwendet wird, als 64 kByte-
PC-Karte 1a bezeichnet, während eine PC-Karte, in der die Da
ten in Datenübertragungseinheiten gelöscht werden, als 512
Byte-PC-Karte 1b bezeichnet wird.
In der Zeichnung, in der gleiche oder einander entsprechende
Teile durchgehend mit den gleichen Bezugszeichen bezeichnet
sind, sind in Fig. 1 ein Verarbeitungscomputer 100 und die 64
kByte-PC-Karte 1a dargestellt. Die PC-Karte 1a (oder 1b) wird
in einen Kartenschlitz des Verarbeitungscomputers 100 einge
führt. Die PC-Karte 1a hat eine Leuchtdiode 2 und einen
Schallgeber 3, mit denen einem Benutzer ein Schreibfehler
oder Umschreibfehler gemeldet wird. Nachstehend werden Aus
führungsbeispiele für die 64 kByte-PC-Karte 1a und die 512
Byte-PC-Karte 1b beschrieben.
Zuerst werden Ausführungsbeispiele der 64 kByte-PC-Karte 1a
beschrieben. Die Fig. 2 zeigt eine Schaltung der PC-Karte 1a.
Ein Befehl aus dem Verarbeitungscomputer 100 wird von einer
Zentraleinheit (CPU) 4 über eine Schnittstellensteuereinheit
5, eine Kartenkonfigurationseinheit 6 und ein Register 7 auf
genommen. Ein in der PC-Karte 1a enthaltener Speicher 10a
oder 10b ist ein Parallelspeicher, in dem Daten in Einheiten
von 64 kByte (als ein Block) gelöscht werden. Wenn aus dem
Verarbeitungscomputer 100 ein Schreibbefehl für eine logische
Adresse empfangen wird, ermittelt die Zentraleinheit 4 durch
Abfragen einer Adressenumsetztabelle 8 eine der logischen
Adresse entsprechende physikalische bzw. reale Adresse und es
werden Informationen (Kenndaten) gelesen, die in einer Sek
torkennung für die ermittelte reale Adresse gespeichert sind.
Falls die Sektorkennung einen Datenwert mit der Bedeutung
enthält, daß in die reale Adresse Daten eingeschrieben werden
können, werden in den Sektor die Daten aus dem Verarbeitungs
computer 100 eingeschrieben. Falls ein Schreibfehler auf
tritt, wird ein Umschreibeprozeß zum Ändern der realen Adres
se ausgeführt, an der die Daten eingeschrieben werden. Nach
dem das Einschreiben oder Umschreiben der Daten abgeschlossen
ist, wird eine Sektorkennung für diejenige reale Adresse auf
den neuesten Stand gebracht, an der die Daten eingeschrieben
wurden.
Die Speicher 10a und 10b sind Parallelspeicher, in denen die
Daten in Einheiten von 64 kByte (Blockeinheiten) gelöscht
werden, wobei die Speicher voneinander verschiedene Speicher
plätze haben. Der Speicher 10a enthält in seinem Speicherraum
(nach Fig. 3) einen Sektorkennungsbereich und einen Sektorbe
reich, während der andere Speicher 10b in seinem Speicherraum
(nach Fig. 7) außer einem Sektorkennungsbereich und einem
Sektorbereich einen Ausweichsektorbereich enthält, der be
nutzt wird, wenn ein fehlerhaftes Einschreiben von Daten auf
tritt.
Es wird die PC-Karte 1a mit dem Parallelspeicher 10a be
schrieben. In Fig. 3 ist ein Speicherplatz für einen Block in
dem Speicher 10a dargestellt. Der Speicherplatz hat zwei Tei
le, nämlich einen Sektorbereich 21 mit einer Vielzahl von
Sektoren 24 und einen Sektorkennungsbereich
(Kenndatenbereich) 20, in dem Sektorkennungen 23 gespeichert
sind, welche jeweils einem der Sektoren 24 entsprechen. In
einem in Fig. 3 schraffiert dargestellten Blockkennungsbe
reich 22 in dem Sektorkennungsbereich 20 sind Blockkennungen
gespeichert. In dem Speicher 10a werden die Daten in einem
Format in Einheiten von 64 kByte bzw. von Blöcken gelöscht,
welches größer ist als das Format der Datenübertragungsein
heit von 512 Byte. Der Blockkennungsbereich 22 enthält einen
Blockinformationsbereich, in dem Daten über den Nutzungszu
stand in einem Block gespeichert sind, die beispielsweise an
zeigen, daß ein entsprechender Sektor nicht benutzt ist oder
in diesem Daten gespeichert sind. Ferner enthalten die in dem
Bereich außerhalb der Blockkennungen 22 gespeicherten Sektor
kennungen 23 jeweils einen Logikadressenteil, einen Sektorin
formationsteil und einen Fehlerkorrekturcodeteil. In dem Lo
gikadressenteil ist eine logische Adresse enthalten, die ei
ner physikalischen bzw. realen Adresse entspricht. Der Sek
torinformationsteil enthält Daten, die beispielsweise die Be
deutung haben, daß der entsprechende Sektor benutzt ist oder
nicht benutzt ist oder der Sektor ein schadhafter Sektor ist,
der ein fehlerhaftes Einschreiben verursacht hat.
Die Fig. 4 ist ein Ablaufdiagramm eines von der Zentralein
heit 4 bei dem Einschreiben oder Umschreiben von Daten ausge
führten Prozesses. Zuerst wird in einem Statusregister ein
Statussignal D3 bzw. Datenanforderungssignal DRQ auf den Pe
gel "L" rückgesetzt, um dem Verarbeitungscomputer 100 zu mel
den, daß die Karte 1a für eine Anforderung zum Einschreiben
oder Umschreiben von Daten aus dem Verarbeitungscomputer 100
bereit ist (Schritt S100). Nach dem Empfang eines Befehls zum
Einschreiben oder Umschreiben an einer logischen Adresse aus
dem Verarbeitungscomputer 100 (Schritt S101) wird in dem Sta
tusregister ein Statussignal D7 bzw. Belegtsignal BSY auf den
Pegel "H" gesetzt, um in der Karte den Befehl zu verarbeiten
(Schritt S102). Dann werden in einem der aus dem Verarbei
tungscomputer empfangenen logischen Adresse entprechenden
realen Sektor in dem Speicher 10a Daten eingeschrieben oder
ungeschrieben (Schritt S103). Falls an diesem realen Sektor
ein Schreibfehler auftritt (JA bei einem Schritt S104), wird
ein nachfolgend erläuterter Umschreibeprozeß aufgeführt
(Schritt S105). Nachdem der Umschreibeprozeß abgeschlossen
ist oder kein Schreibfehler aufgetreten ist (NEIN bei dem
Schritt 5104) wird das Statussignal D3 bzw. DRQ in dem Sta
tusregister der Karte 1a auf den Pegel "H" mit der Bedeutung
gesetzt, daß der Prozeß in der Karte abgeschlossen ist
(Schritt S106), und das Statussignal D7 bzw. BSY in dem Sta
tusregister wird auf den Pegel "L" rückgesetzt (Schritt
S107). Dann wird ein Signal IREQ
(Unterbrechungsanforderungssignal auf den Pegel "L" rückge
setzt (Schritt S108), damit durch den Verarbeitungscomputer
100 eine Prüfung vorgenommen werden kann (Schritt S109).
Als nächstes wird der Umschreibeprozeß bei dem Schritt S105
nach Fig. 4 erläutert. Bei diesem Prozeß werden von der Zen
traleinheit 4 die Daten in einen unbenutzten anderen Sektor
statt in den Sektor eingeschrieben, an dem das Einschreiben
der Daten fehlgeschlagen ist. Obgleich dieser Sektor nicht
benutzt werden kann, wird auf diese Weise die Lebensdauer der
Karte 1a verlängert. In die Kenninformation für diesen Sektor
wird ein einen schadhaften Sektor anzeigender Datenwert ein
geschrieben, um den Zugriff von dem Verarbeitungscomputer 100
her zu verhindern. Andererseits wird in die Kenninformation
des anderen Sektors, in den die Daten eingeschrieben werden,
ein Datenwert mit der Bedeutung eingeschrieben, daß der Sek
tor benutzt ist, und die Adressenumsetztabelle wird derart
geändert, daß die reale Adresse, die der aus dem Verarbei
tungscomputer 100 empfangenen logischen Adresse entspricht,
die Adresse des anderen Sektors ist. Auf diese Weise ist
selbst bei dem Auftreten eines fehlerhaften Einschreibens der
Zugriff zu der Karte 1a durch den Verarbeitungscomputer 100
ermöglicht.
Die Fig. 5 ist ein Ablaufdiagramm des Umschreibeprozesses
(Schritt S105 nach Fig. 4). Zuerst wird in einen Sektorinfo
mationsteil für denjenigen Sektor, an dem das Einschreiben
der Daten mißlungen ist, ein Datenwert eingeschrieben, der
einen schadhaften Sektor anzeigt (Schritt S110). Dann wird in
den Sektorkennungen 23 ein Sektor gesucht, für den in einem
Sektorinformationsteil für diesen ein Datenwert mit der Be
deutung eingeschrieben ist, daß der Sektor unbenutzt ist
(Schritt S111). Dann werden die Daten in den gefundenen unbe
nutzten Sektor eingeschrieben und in den Sektorkennungen 23
wird in einem Sektorinformationsteil für diesen Sektor ein
Datenwert mit der Bedeutung eingeschrieben, daß dieser Sektor
benutzt ist (Schritt S112). Danach wird die Adressenumsetzta
belle 8 derart umgeschrieben, daß die der logischen Adresse
für die Daten entsprechende reale Adresse auf denjenigen Sek
tor umgeändert wird, in dem die Daten eingeschrieben sind
(Schritt S113).
Wenn aus dem Verarbeitungscomputer 100 ein Befehl zum Ein
schreiben an einer logischen Adresse empfangen wird, werden
gemäß der vorangehenden Erläuterung dann, wenn an dem der lo
gischen Adresse entsprechenden Sektor in dem Parallelspeicher
10a fehlerhaft eingeschrieben wird, die Daten in einen unbe
nutzten anderen Sektor eingeschrieben. Daher kann selbst
dann, wenn die Daten nicht in einen Teil der Sektoren in dem
Parallelspeicher 10a eingeschrieben werden können, die Daten
in die PC-Karte 1a ohne eine durch das Auftreten eines Feh
lers verursachte Unterbrechung eingeschrieben werden und es
kann die Lebensdauer der PC-Karte 1a verlängert werden.
Als nächstes wird die Initialisierung bzw. Anfangseinstellung
der 64 kByte-PC-Karte 1a erläutert. Die PC-Karte 1a steht mit
dem Verarbeitungscomputer 100 mittels eines ATA-
Befehlsblockes für die erforderlichen Steuerfunktionen und Statusinformationen in Verbindung. Der Befehlsblock ist ein allgemeines Glied, das sieben Register darstellt, und in dem Register 7 (nach Fig. 2) enthalten. Bei diesem Ausführungs beispiel wird zur Anfangseinstellung von Daten in dem Spei cher 10a den in dem ATA-Block enthaltenen Befehlen ein Zu satzbefehl hinzugefügt. Wenn der Speicher 10a benutzt wird, werden in der 64 kByte-PC-Karte 1a entsprechend dem Zusatzbe fehl die Sektoren der Anfangseinstellung unterzogen bzw. die Daten mit Ausnahme an den schadhaften Sektoren gelöscht. Dann wird in den Sektorinformationsteil für einen jeweiligen Sek tor, an dem ein fehlerhaftes Löschen von Daten auftritt, ein Datenwert eingeschrieben, der einen schadhaften Sektor an zeigt. Nach der Anfangseinstellung wird die an den Verarbei tungscomputer 100 auszugebende Information über die Speicher kapazität entsprechend der Anzahl derjenigen Sektoren neu ge schrieben, die benutzt werden können. Der Verarbeitungscompu ter 100 führt das Einschreiben oder Umschreiben von Daten aufgrund dieser Information aus, so daß ein Zugriff zu schad haften Sektoren verhindert werden kann.
Befehlsblockes für die erforderlichen Steuerfunktionen und Statusinformationen in Verbindung. Der Befehlsblock ist ein allgemeines Glied, das sieben Register darstellt, und in dem Register 7 (nach Fig. 2) enthalten. Bei diesem Ausführungs beispiel wird zur Anfangseinstellung von Daten in dem Spei cher 10a den in dem ATA-Block enthaltenen Befehlen ein Zu satzbefehl hinzugefügt. Wenn der Speicher 10a benutzt wird, werden in der 64 kByte-PC-Karte 1a entsprechend dem Zusatzbe fehl die Sektoren der Anfangseinstellung unterzogen bzw. die Daten mit Ausnahme an den schadhaften Sektoren gelöscht. Dann wird in den Sektorinformationsteil für einen jeweiligen Sek tor, an dem ein fehlerhaftes Löschen von Daten auftritt, ein Datenwert eingeschrieben, der einen schadhaften Sektor an zeigt. Nach der Anfangseinstellung wird die an den Verarbei tungscomputer 100 auszugebende Information über die Speicher kapazität entsprechend der Anzahl derjenigen Sektoren neu ge schrieben, die benutzt werden können. Der Verarbeitungscompu ter 100 führt das Einschreiben oder Umschreiben von Daten aufgrund dieser Information aus, so daß ein Zugriff zu schad haften Sektoren verhindert werden kann.
Die Fig. 6 veranschaulicht den Ablauf eines Prozesses, der
von der Zentraleinheit 4 bei dem Empfang des vorangehend ge
nannten Zusatzbefehls aus dem Verarbeitungscomputer 100 aus
geführt wird. Ein Anfangswert einer in dem Ablaufdiagramm an
gewandten Variablen m ist die Anzahl aller Blöcke in dem
Speicher 10a. Nachdem aus dem Verarbeitungscomputer 100 der
Zusatzbefehl empfangen wurde (Schritt S150), wird die einen
zu verarbeitenden Block bezeichnende Variable m geprüft
(Schritt S151). Wenn m nicht gleich Null ist (NEIN bei dem
Schritt S151) beziehungsweise ein zu verarbeitender Block be
stimmt ist, wird untersucht, ob in dem Block mindestens eine
Sektorkennung enthalten ist, in die ein Datenwert einge
schrieben ist, der einen schadhaften Sektor anzeigt (Schritt
S152). Falls ermittelt wird, daß in dem Block mindestens ein
derartiger Sektor enthalten ist (JA bei einem Schritt S153),
werden die Daten in dem Block mit Ausnahme der schadhaften
Sektoren gelöscht oder voreingestellt (Schritt S154). Falls
ermittelt wird, daß kein derartiger Sektor in dem Block vor
handen ist (NEIN bei dem Schritt S153), werden alle Sektoren
in dem Block gelöscht oder voreingestellt (S155). Wenn als
nächstes ermittelt wird, daß das Löschen normal abgeschlossen
ist (JA bei einem Schritt S156), wird in die Sektorkennungen
für die Sektoren, in denen die Daten gelöscht sind, ein Da
tenwert mit der Bedeutung eingeschrieben, daß der Sektor
nicht benutzt ist (Schritt S157). Fall andererseits ermittelt
wird, daß ein fehlerhaftes Löschen der Daten aufgetreten ist
(NEIN bei dem Schritt 5156), wird in die Sektorkennungen der
Sektoren, in denen die Daten auf normale Weise gelöscht sind,
ein Datenwert mit der Bedeutung eingeschrieben, daß der Sek
tor unbenutzt ist, und in die Sektorkennungen für die Sekto
ren, in denen die Daten fehlerhaft gelöscht wurden, wird ein
Datenwert zur Anzeige eines schadhaften Sektors eingeschrie
ben (Schritt S158).
Die Blockkennungen enthalten jeweils außer dem Blockinforma
tionsteil für das Einschreiben von Informationen zum Beispiel
darüber, daß der Block ungenutzt ist oder beschriftet ist,
einen Löschungsanzahlteil, in dem die Häufigkeit der Anfangs
einstellung des Blockes enthalten ist. Nach Abschluß des Pro
zesses bei dem Schritt S157 oder S158 wird-dann die in dem
Löschungsanzahlteil gespeicherte Anzahl um eins erhöht und in
den Blockinformationsteil wird ein Datenwert mit der Bedeu
tung eingeschrieben, daß der Block unbenutzt ist (Schritt
5159). Als nächstes wird die Variable m um eins verringert
(Schritt S160) und der Ablauf kehrt zu dem Schritt S151 zu
rück, um die Prozesse in den Schritten S152-S160 für einen
anderen Block zu wiederholen, bis der Löschprozeß an allen
Blöcken abgeschlossen ist.
Wenn der vorangehend beschriebene Löschprozeß an allen Blöc
ken abgeschlossen ist bzw. die Variable m zu 0 wird (JA bei
dem Schritt S151), wird die Anzahl von unbenutzten Sektoren
gezählt und es werden die entsprechend einem Erkennungssteu
erbefehl dem Verarbeitungscomputer 100 zuzuführenden Informa
tionen wie eine "Zylindernummer", eine "Kopfnummer" und eine
Sektorenanzahl neu eingeschrieben (Schritt S161). Dann wird
das Statussignal D3 bzw. Datenanforderungssignal DRQ auf den
Pegel "H" gesetzt, der den Abschluß des Prozesses in der Kar
te anzeigt (Schritt S162), und das Statussignal D7 bzw. Be
legtsignal BSY wird auf den Pegel "L" rückgesetzt (Schritt
S163). Als nächstes wird das Unterbrechungsanforderungssignal
IREQ zum Anfordern einer Unterbrechung an dem Verarbeitungs
computer 100 auf den Pegel "L" rückgesetzt (Schritt S164), um
eine Prüfung durch den Verarbeitungscomputer 100 zuzulassen
(Schritt S165).
Wenn infolge eines Fehlers ein Sektor gewechselt wird, in den
Daten eingeschrieben werden, wird gemäß den vorangehenden Er
läuterungen die der logischen Adresse entsprechende Adresse
eines Sektors in der Adressenumsetztabelle auf die Adresse
des Sektors umgeändert, in den die Daten eingeschrieben wer
den. Ferner werden in dem Sektorkennungsbereich 20 die rele
vanten Daten entsprechend dem Wechsel des Sektors umgeschrie
ben. Daher muß der Verarbeitungscomputer 100 selbst bei dem
Auftreten von schadhaften Sektoren keinen speziellen Prozeß
für eine derartige PC-Karte haben. Wenn beispielsweise der
Verarbeitungscomputer 100 einen Schreibbefehl sendet, sendet
er keinen speziellen Befehl. Bei dem Zugriff des Verarbei
tungscomputers 100 zu der PC-Karte 1a sendet der Computer der
PC-Karte 1a einen Erkennungssteuerbefehl zu. Daraufhin sendet
die Zentraleinheit 4 dem Verarbeitungscomputer die Informa
tionen über die in dem Speicher 10a verfügbare Speicherkapa
zität wie die "Zylindernummer", die "Kopfnummer" und die Sek
torenanzahl zu und der Verarbeitungscomputer 100 erhält damit
Informationen über die nutzbare Speicherkapazität
Als nächstes wird die PC-Karte 1a mit dem Parallelspeicher
10b beschrieben. In Fig. 7 ist der Speicherraum in einem
Block 33 in dem Speicher 10b dargestellt. Dieser Speicherraum
hat drei Teile und ist von dem in Fig. 3 dargestellten da
durch verschieden, daß ein Ausweichsektorbereich 32 vorgese
hen ist. Ein erster Teil der drei Teile ist ein Sektorken
flungsbereich 30. In einem durch Schraffierung in dem Sektor
kennungsbereich 30 dargestellten Blockkennungsbereich 37 sind
Blockkennungen mit einem Blockinformationsbereich gespei
chert. In dem Blockinformationsbereich sind Statusdaten hin
sichtlich der Blöcke beispielsweise mit der Bedeutung gespei
chert, daß der Block unbenutzt ist oder benutzt ist. Mit
Kreuzen in dem Sektorkennungsbereich 30 nach Fig. 7 darge
stellte Bereiche enthalten den Ausweichsektoren entsprechende
Ausweichsektorkennungen 38. Außerhalb der in Fig.7 durch
Schraffierung und Kreuze dargestellten Bereiche 37 und 38
sind in dem Sektorkennungsbereich 30 Sektorkennungen 34 ge
speichert Jede der Sektorkennungen entspricht einem Sektor
und eine jede Sektorkennung 34 enthält einen Logikadressenbe
reich, einen Sektorinformationsbereich und einen Fehlerkor
rekturcodebereich. In dem Logikadressenbereich ist eine logi
sche Adresse gespeichert, die einer physikalischen bzw. rea
len Adresse entspricht. In dem Sektorinformationsbereich sind
Daten gespeichert, die beispielsweise anzeigen, daß der ent
sprechende Sektor benutzt ist oder unbenutzt ist oder daß der
Sektor ein schadhafter Sektor ist, der ein fehlerhaftes Ein
schreiben verursacht. Der zweite Teil ist ein Sektorbereich
31, der Sektoren 35 enthält, die den in dem Sektorkennungsbe
reich 30 gespeicherten Sektorkennungen entsprechen. Der drit
te Teil ist der Ausweichsektorbereich 32, der eine Vielzahl
von Ausweichsektoren 36 enthält, die anstelle von Sektoren
benutzt werden, in denen ein fehlerhaftes Einschreiben auf
tritt.
In Fig. 8 ist der Ablauf eines Prozesses dargestellt, der
durch die Zentraleinheit 4 ausgeführt wird, wenn Daten einge
schrieben oder umgeschrieben werden. Zuerst wird in einem
Statusregister in der 64 kByte-PC-Karte 1a das Statussignal
D3 bzw. Datenanforderungssignal DRQ auf den Pegel "L" rückge
setzt, um dem Verarbeitungscomputer 100 zu melden, daß die
Karte 1a für eine Anforderung zum Einschreiben oder Umschrei
ben von Daten aus dem Verarbeitungscomputer 100 bereit ist
(Schritt S200). Nachdem aus dem Verarbeitungscomputer 100 ein
Befehl zum Einschreiben oder Umschreiben an einer logischen
Adresse empfangen wird (Schritt S201), wird in dem Statusre
gister das Statussignal D7 bzw. Belegtsignal BSY auf den Pe
gel "H" gesetzt, um den Befehl in der PC-Karte 1a zu verar
beiten (Schritt S202). Dann werden an einer der aus dem Ver
arbeitungscomputer 100 empfangenen logischen Adresse entspre
chenden realen Adresse in der PC-Karte Daten eingeschrieben
oder umgeschrieben (Schritt S203). Falls an dem realen Sektor
ein Schreibfehler auftritt (JA bei einem Schritt 5204), wird
ein nachfolgend erläuterter Umschreibeprozeß (nach Fig. 9)
aufgeführt (Schritt 5205). Nachdem der Umschreibeprozeß
(Schritt S205) abgeschlossen ist oder kein Schreibfehler auf
getreten ist (NEIN bei dem Schritt S204), wird das Sta
tussignal D3 bzw. DRQ in dem Statusregister in der PC-Karte
1a auf den Pegel "H" mit der Bedeutung gesetzt, daß der Pro
zeß in der Karte abgeschlossen ist (Schritt 5206), und es
wird in dem Statusregister das Statussignal D7 bzw. BSY auf
den Pegel "L" rückgesetzt (Schritt S207). Danach wird das
Signal IREQ auf den Pegel "L" rückgesetzt (Schritt S208), da
mit eine Prüfung durch den Verarbeitungscomputer 100 vorge
nommen werden kann (Schritt S209).
Wenn gemäß den vorangehenden Erläuterungen in der PC-Karte 1a
der Speicher 10a eingesetzt wird, werden die Daten in einen
unbenutzten Sektor statt in einen Sektor eingeschrieben, in
dem ein Schreibfehler auftritt. Wenn dagegen bei diesem Aus
führungsbeispiel der PC-Karte 1a der Speicher 10b eingesetzt
wird, wird bei dem Umschreibeprozeß (Schritt S205) ein im
Voraus in dem Ausweichsektorbereich 32 bereitgestellter Aus
weichsektor auf einen benutzbaren Zustand geändert und es
werden die Daten in diesen Sektor eingeschrieben. Auf diese
Weise kann die Lebensdauer der PC-Karte 1a verlängert werden
und die nutzbare Speicherkapazität konstant gehalten werden.
Falls ferner ein fehlerhaftes Einschreiben mit einer bestimm
ten Häufigkeit auftritt, wird dem Benutzer der Schreibfehler
durch Aufleuchten der Leuchtdiode 2 oder durch Abgabe eines
Warntones durch den Schallgeber 3 gemeldet.
Die Fig. 9 ist ein Ablaufdiagramm des Umschreibeprozesses
(Schritt S205 nach Fig. 8). Zuerst wird in dem Sektorinforma
tionsbereich für den Sektor, in dem die Daten nicht einge
schrieben werden können, ein einen schadhaften Sektor anzei
gender Datenwert eingeschrieben (Schritt S220). Dann wird ein
Ausweichsektor in den Ausweichsektorkennungen 38 in dem Sek
orkennungsbereich 30 gesucht, in denen jeweils einen Aus
weichsektor anzeigende Daten eingeschrieben sind (Schritt
5221). Falls ermittelt wird, daß eine solche Ausweichsektor
kennung vorhanden ist (JA bei einem Schritt S222), wird zur
Anfangseinstellung in den Sektorinformationsbereich der Aus
weichsektorkennung für den Ausweichsektor ein Datenwert mit
der Bedeutung eingeschrieben, daß der Sektor unbenutzt ist
(Schritt S223). Nach der Anfangseinstellung der Ausweichsek
torkennung werden die Daten in den Ausweichsektor einge
schrieben und in den Sektorinformationsbereich in der Aus
weichsektorkennung, die dem Sektor entspricht, in den die Da
ten eingeschrieben sind, wird ein die Benutzung des Sektors
anzeigender Datenwert eingeschrieben (Schritt S224). Als
nächstes wird die Adressenumsetztabelle 8 derart neu be
schriftet, daß die der durch den Verarbeitungscomputer 100
bestimmten logischen Adresse entsprechende reale Adresse auf
denjenigen Sektor abgeändert wird, in den bei dem Schritt
5224 die Daten eingeschrieben wurden (Schritt 225). Somit
werden die Daten in den Ausweichsektor eingeschrieben.
Falls andererseits ermittelt wird, daß in den Ausweichsektor
kennungen 38 keine Ausweichsektorkennung mit einem Datenwert
vorhanden ist, der einen unbenutzten Ausweichsektor anzeigt
(NEIN bei dem Schritt S222), wird entschieden, daß alle Aus
weichsektoren in dem Block 33 schon benutzt sind, und es wird
der folgende Prozeß zum Einschreiben der Daten in einen unbe
nutzten anderen Block ausgeführt. Zuerst werden Daten in ei
nen Sektor in einem nachfolgend als Ausweichblock bezeichne
ten anderen Block eingeschrieben, in dessen Blockkennungsbe
reich 37 im Blockinformationsbereich ein Datenwert mit der
Bedeutung eingeschrieben ist, daß der Block unbenutzt ist,
und es wird in den Sektorinformationsbereich in der Sektor
kennung 34, die dem Sektor entspricht, in den die Daten ein
geschrieben werden, ein einen benutzten Sektor anzeigender
Datenwert eingeschrieben (Schritt S226). Dann werden von den
Daten in dem Block ohne Ausweichsektor die Daten aus den Sek
toren, die Sektorkennungen mit dem die Benutzung des Sektors
anzeigenden Datenwert entsprechen, fortgesetzt in den Aus
weichblock kopiert (Schritt S227). Dann wird in die Sektorin
formationsbereiche der Sektorkennungen 34 für die bei dem
Schritt S227 zu dem Ausweichblock kopierten Sektoren ein ei
nen schadhaften Sektor anzeigender Datenwert eingeschrieben,
um den Zugriff zu verhindern (Schritt S228). Dann wird in den
Sektorinformationsbereich in den Sektorkennungen 34 für den
Ausweichblock ein Datenwert mit der Bedeutung eingeschrieben,
daß die Sektoren benutzt sind (Schritt S229), und der Inhalt
der Adressenumsetztabelle 8 geändert (Schritt S230). Zum
Schluß leuchtet die Leuchtdiode 2 auf und der Schallgeber 3
gibt einen Ton ab, um dem Benutzer zu melden, daß ein
Schreibfehler aufgetreten ist und daß die Kapazität der PC-
Karte verringert ist (Schritt S231). Die Warnmeldung kann
auch nur mit der Leuchtdiode 2 oder nur mit dem Schallgeber 3
abgegeben werden.
Als nächstes wird die Anfangseinstellung bzw. Initialisierung
des Speichers 10b erläutert. Wenn gemäß den vorangehenden
Ausführungen dem Benutzer mit der Leuchtdiode 2 und/oder dem
Schallgeber 3 ein fehlerhaftes Einschreiben gemeldet wird,
wird von dem durch den Benutzer bedienten Verarbeitungscompu
ter 100 ein Zusatzbefehl für eine dieser Meldung entsprechend
de Anfangseinstellung der 64 kByte-PC-Karte 1a abgegeben.
Daraufhin werden von der Zentraleinheit 4 Sektorkennungen ge
sucht, in die einen schadhaften Sektor anzeigende Daten ein
geschrieben sind, außer an den diesen Sektorkennungen ent
sprechenden Sektoren die Anfangseinstellungen der Sektoren
vorgenommen und die entsprechend einem aus dem Verarbeitungs
computer 100 empfangenen Erkennungssteuerbefehl auszugebenden
Informationen über die Speicherkapazität neu eingeschrieben
In Fig. 10 ist der Ablauf eines Prozesses dargestellt, der
von der Zentraleinheit 4 ausgeführt wird, wenn der vorange
hend genannte Zusatzbefehl empfangen wird. Ein Anfangswert
einer Variablen m in dem Ablaufdiagramm ist die Anzahl aller
Blöcke in dem Speicher 10a. Nachdem aus dem Verarbeitungscom
puter 100 der Zusatzbefehl empfangen wurde (Schritt S250),
wird die einen zu verarbeitenden Block bestimmende Variable m
geprüft (Schritt S251). Wenn die Variable m nicht Null ist
bzw. ein zu verarbeitender Block bestimmt ist (NEIN bei dem
Schritt S251), wird untersucht, ob der Block eine Sektorken
nung oder Sektorkennungen mit jeweils einem Datenwert ent
hält, der einen schadhaften Sektor anzeigt (Schritt S252).
Falls ermittelt wird, daß in dem Block eine solche Sektorken
nung enthalten ist oder solche Sektorkennungen enthalten sind
(JA bei einem Schritt S253), werden die Sektoren in dem Block
mit Ausnahme der schadhaften Sektoren gelöscht bzw. der An
fangseinstellung unterzogen (Schritt S254). Falls ermittelt
wird, daß in dem Block keine derartige Sektorkennung vorhan
den ist (NEIN bei dem Schritt S253), werden alle Sektoren in
dem Block gelöscht oder voreingestellt (Schritt S255). Wenn
als nächstes ermittelt wird, daß die Löschung oder Anfangs
einstellung auf normale Weise abgeschlossen ist (JA bei einem
Schritt S256), wird in die Sektorinformationsbereiche in Aus
weichsektorkennungen für die auf normale Weise zu löschenden
Ausweichsektoren jeweils ein Datenwert zur Anzeige eines Aus
weichsektors eingeschrieben (Schritt S257) und es wird in die
Sektorinformationsbereiche der Sektorkennungen ein einen un
benutzten Sektor anzeigender Datenwert eingeschrieben
(Schritt S258). Falls andererseits ermittelt wird, daß ein
fehlerhaftes Löschen von Daten aufgetreten ist (NEIN bei dem
Schritt S256), werden in die Sektorinformationsbereiche der
Ausweichsektorkennungen 38 für die Sektoren, in denen die Da
ten normal gelöscht wurden, ein einen Ausweichsektor anzei
gender Datenwert, in die Sektorinformationsbereiche der Sek
torkennungen 34 ein einen unbenutzten Sektor anzeigender Da
tenwert und in die Sektorkennungen oder Ausweichsektor
kennungen für Sektoren, in denen ein fehlerhaftes Löschen der
Daten aufgetreten ist, ein einen schadhaften Sektor anzeigen
der Datenwert eingeschrieben (Schritt S259). Der Blockken
nungsbereich 37 enthält außer dem Blockinformationsbereich
für das Einschreiben von Informationen beispielsweise dar
über, daß der Block benutzt ist oder unbenutzt ist, einen
Löschungsanzahlbereich für das Speichern der Anzahl von An
fangseinstellungen bzw. Initialisierungen des Blockes. Nach
dem Abschluß der Verarbeitung bei dem Schritt S258 oder S259
wird dann die in dem Löschungsanzahlbereich gespeicherte An
zahl um "1" erhöht und in den Blockinformationsbereich wird
ein Datenwert mit der Bedeutung eingeschrieben, daß der Block
unbenutzt ist (Schritt 5260). Als nächstes wird die Variable
m um "1" verringert (Schritt S261) und der Ablauf kehrt zu
dem Schritt S251 zurück, um die Verarbeitung bei den Schrit
ten S252 - S261 jeweils an einem anderen Block zu wiederho
len, bis der Löschprozeß an allen Blöcken abgeschlossen ist.
Wenn der Löschprozeß an allen Blöcken abgeschlossen ist bzw.
die Variable m zu 0 wird (JA bei dem Schritt 5251), wird die
Anzahl unbenutzter Sektoren gezählt und es werden die Infor
mationen wie die "Zylindernummer", die "Kopfnummer" und die
Sektorenanzahl umgeschrieben (Schritt S262). (Bei dem Zugriff
des Verarbeitungscomputers zu der PC-Karte 1a sendet dieser
einen Erkennungssteuerbefehl. Daraufhin sendet die Zen
traleinheit 4 dem Verarbeitungscomputer 100 die Informationen
über die in dem Speicher 10a verfügbare Speicherkapazität wie
die "Zylindernummer", die "Kopfnummer" bzw. "Spurnummer" und
die Sektorenanzahl, so daß der Verarbeitungscomputer 100 die
Informationen über die verfügbare Speicherkapazität erhält).
Dann wird zur Anzeige des Abschlusses der Verarbeitung in der
Karte 1a das Statussignal D3 bzw. Datenanforderungssignal DRQ
auf den Pegel "H" gesetzt (Schritt S263) und das Statussignal
D7 bzw. Belegtsignal BSY wird auf den Pegel "L" rückgesetzt
(Schritt S264). Als nächstes wird das Unterbrechungsanforde
rungssignal IREQ für das Anfordern einer Unterbrechung an dem
Verarbeitungscomputer 100 auf den Pegel "L" rückgesetzt
(Schritt S265), damit durch den Verarbeitungscomputer 100 ei
ne Prüfung vorgenommen werden kann (Schritt S266).
In der vorstehend beschriebenen PC-Karte sind Ausweichsekto
ren vorgesehen. Wenn ein Befehl zum Schreiben an einer logi
schen Adresse empfangen wird und an einem der logischen
Adresse entsprechenden Sektor in dem Parallelspeicher 10b ein
fehlerhaftes Einschreiben auftritt, werden die Daten dadurch
in einen unbenutzten Ausweichsektor eingeschrieben, daß die
Ausweichsektorkennung für den Ausweichsektor in einen Zustand
gebracht wird, bei dem der Ausweichsektor benutzt werden
kann. Auf diese Weise können selbst dann, wenn die Daten in
einen Teil der Sektoren des Parallelspeichers 10b nicht ein
geschrieben werden können, die Daten ohne eine durch den Feh
ler verursachte Unterbrechung des Betriebsvorganges einge
schrieben werden und es kann die Lebensdauer des Paral
lelspeichers verlängert werden. Es ist anzumerken, daß die
Anzahl von benutzbaren Sektoren in dem Parallelspeicher 10b
konstant gehalten werden kann.
Falls ferner alle Ausweichsektoren in einem Block benutzt
sind, werden die Daten in einen anderen unbenutzen Block ein
geschrieben. Auf diese Weise kann die Lebensdauer des Paral
lelspeichers noch mehr verlängert werden.
Wenn der Sektor gewechselt wird, in den Daten eingeschrieben
werden, wird die der logischen Adresse entsprechende Adresse
eines Sektors in der Adressenumsetztabelle auf die Adresse
desjenigen Sektors umgeändert, in den die Daten eingeschrie
ben werden. Ferner werden entsprechend dem Sektorwechsel die
relevanten Daten in den Sektorbereichen 30 und 32 umgeschrie
ben. Bei Blockwechsel werden entsprechend der Änderung des
Blockes die relevanten Daten in den Sektorbereichen 30 und 32
für den vorherigen ausgewechselten und den anderen zweiten
Block umgeschrieben. Daher ist in dem Verarbeitungscomputer
100 für eine derartige PC-Karte 1a selbst bei dem Auftreten
von schadhaften Sektoren kein spezieller Prozeß erforderlich.
Wenn beispielsweise von dem Verarbeitungscomputer 100 in die
PC-Karte Daten eingeschrieben werden, ist kein besonderer Be
fehl von dem Computer erforderlich. Bei dem Zugriff des Ver
arbeitungscomputers 100 zu der PC-Karte 1a gibt der Computer
an die PC-Karte 1a einen Erkennungssteuerbefehl ab, um die
notwendigen Informationen über die Speicherkapazität zu er
halten.
Die in Fig. 1 in Klammern angegebenen Bezugszeichen betreffen
die 512 Byte-PC-Karte 1b, in der die Daten in Datenübertra
gungseinheiten (512 Byte/Sektor) gelöscht werden. Die PC-
Karte 1b wird in den Kartenschlitz in dem Verarbeitungscompu
ter 100 eingeführt. Die 512 Byte-PC-Karte 1b hat eine Leucht
diode 12 und einen Schallgeber 13 als Vorrichtung, mit der
dem Benutzer ein Schreibfehler oder Umschreibfehler gemeldet
wird.
In Fig. 11 ist die Schaltung der 512 Byte-PC-Karte 1b darge
stellt. Ein Befehl aus dem Verarbeitungscomputer 100 wird von
einer Zentraleinheit (CPU) 14 über eine Schnittstellensteuer
einheit 15, eine Kartenkonfigurationseinheit 16 und ein Regi
ster 17 aufgenommen. Ein in der 512 Byte-PC-Karte 1b enthal
tener Speicher 20 ist ein Parallelspeicher, in dem die Daten
in Sektoreneinheiten (512 Byte) gelöscht werden. Die Zen
traleinheit 14 liest Informationen, die in einer Sektorken
nung für einen Physikalischen bzw. realen Sektor gespeichert
sind, der durch eine Adressenumsetzschaltung 18 entsprechend
einer aus dem Verarbeitungscomputer 100 empfangenen logischen
Adresse bestimmt wird. Wenn in der Sektorkennung ein Daten
wert mit der Bedeutung gespeichert ist, daß der Sektor be
nutzt werden kann, werden die Daten aus dem Verarbeitungscom
puter 100 an dieser realen Adresse eingeschrieben. Nach dem
Einschreiben der Daten wird die Sektorkennung für diesen Sek
tor fortgeschrieben bzw. auf den neuesten Stand gebracht.
Falls der zu beschriftende reale Sektor ein schadhafter Sek
tor ist, der nicht benutzt werden kann, führt die Zentralein
heit 14 einen von nachfolgend beschriebenen Umschreibeprozes
sen aus. Falls die Anzahl von Ausweichsektoren in dem Spei
cher 20 gleich einem Schwellenwert q oder geringer ist,
leuchtet die Leuchtdiode 12 auf und der Schallgeber 13 gibt
einen Ton ab, um dem Benutzer einen Fehler zu melden.
In Fig. 12 ist ein Speicherraum des Speichers 20 dargestellt,
der ein Parallelspeicher ist, in dem das Löschen in Daten
übertragungseinheiten (512 Byte/Sektor) erfolgt. Der Spei
cherraum hat drei Teile. Ein erster Teil ist ein Sektorken
nungsbereich 51, in dem Sektorkennungen 54 gespeichert sind.
Eine Sektorkennung 54 entspricht jeweils einem Sektor. Die
Sektorkennung 54 enthält einen Logikadressenbereich, einen
Sektorinformationsbereich und einen Fehlerkorrekturcodebe
reich. In dem Logikadressenbereich ist eine logische Adresse
gespeichert, die einer physikalischen bzw. realen Adresse
entspricht. In dem Sektorinformationsbereich sind Daten ge
speichert, die beispielsweise anzeigen, daß der entsprechende
Sektor benutzt ist oder nicht benutzt ist oder der Sektor ein
schadhafter Sektor ist, der ein fehlerhaftes Einschreiben
verursacht hat. Der zweite Teil ist ein Sektorbereich 52 mit
Sektoren 55. Der dritte Teil ist ein Ausweichsektorbereich
53, der Ausweichsektoren 56 aus einer Vielzahl von Ausweich
sektoren 56 enthält, die anstelle von Sektoren zu benutzen
sind, in denen Schreibfehler auftreten. Ein in Fig. 12 durch
Schraffierung dargestellter Ausweichsektorkennungsbereich 57
in dem Sektorkennungsbereich 51 enthält Ausweichsektorkennun
gen, die den Ausweichsektoren 56 entsprechen.
In Fig. 13 ist der Ablauf eines von der Zentraleinheit bei
dem Einschreiben oder Umschreiben von Daten ausgeführten Pro
zesses dargestellt. Zuerst wird in einem Statusregister in
der PC-Karte 1b ein Statussignal D3 bzw. Datenanforderungs
signal DRQ auf den Pegel "L" rückgesetzt, um dem Verarbei
tungscomputer 100 zu melden, daß die Karte 1b für eine Anfor
derung zum Einschreiben oder Umschreiben von Daten aus dem
Verarbeitungscomputer 100 bereit ist (Schritt S300). Nachdem
aus dem Verarbeitungscomputer 100 ein Befehl zum Einschreiben
oder Umschreiben an einer logischen Adresse empfangen wurde
(Schritt S301), wird in dem Statusregister ein Statussignal
D7 bzw. Belegtsignal BSY auf den Pegel "H" gesetzt, um den
Befehl zu verarbeiten (Schritt S302). Dann werden an einem
der aus dem Verarbeitungscomputer 100 empfangenen logischen
Adresse entsprechendem realen Sektor in dem Speicher 20 Daten
eingeschrieben oder umgeschrieben (Schritt 303). Falls an dem
realen Sektor ein Schreibfehler auftritt (JA bei einem
Schritt 304), wird ein nachfolgend erläuterter Umschreibepro
zeß ausgeführt (Schritt S305). Nachdem der Umschreibeprozeß
abgeschlossen ist (Schritt 5305) oder kein Schreibfehler auf
getreten ist (NEIN bei dem Schritt S304), wird in dem Status
register das Statussignal D3 bzw. DRQ auf den Pegel "H" mit
der Bedeutung gesetzt, daß die Verarbeitung in der Karte ab
geSchlossen ist (Schritt S306) und das Statussignal D7 bzw.
BSY in dem Statusregister wird auf den Pegel "L" rückgesetzt
(Schritt S307). Dann wird ein Signal IREQ auf den Pegel "L"
rückgesetzt (Schritt 5308), damit durch den Verarbeitungscom
puter 100 eine Prüfung vorgenommen werden kann (Schritt
S309).
Bei einem ersten Beispiel für den Umschreibeprozeß (Schritt
S305 in Fig. 13) werden von der Zentraleinheit 14 die Daten
statt in einen Sektor, in den die Daten nicht auf normale
Weise eingeschrieben werden können, in einen unbenutzten Aus
weichsektor 56 eingeschrieben, um die Anzahl von Sektoren für
den Zugriff durch den Verarbeitungscomputer 100 konstant zu
halten. Damit kann die Lebensdauer der Karte 1b verlängert
werden. Falls ferner die Anzahl von verfügbaren Ausweichsek
toren gleich q oder geringer ist, wird zur Warnmeldung an den
Benutzer die Leuchtdiode 12 eingeschaltet, während der
Schallgeber 13 einen Ton abgibt. In den Sektorinformationsbe
reich der Sektorkennung für den Sektor, in dem der Schreib
fehler aufgetreten ist, wird ein einen schadhaften Sektor an
zeigender Datenwert eingeschrieben und in den Logikadressen
bereich wird die Adresse des Ausweichsektors eingeschrieben.
Falls dann in dem Sektorinformationsbereich der Sektorkennung
für den abzurufenden Sektor der den schadhaften Sektor anzei
gende Datenwert eingeschrieben ist, wird von der Zentralein
seit 14 die in dem Logikadressenbereich der Sektorkennung
eingeschriebene Adresse des Ausweichsektors ausgelesen und
die Daten werden in den Ausweichsektor mit dieser Adresse
eingeschrieben bzw. aus diesem ausgelesen.
Die Fig. 14 ist ein Ablaufdiagramm des vorstehend beschrieben
nen Umschreibeprozesses (Schritt S305 in Fig. 13). Zuerst
wird eine Ausweichsektorkennung 57 mit einem einen Ausweich
sektor anzeigenden Datenwert gesucht (Schritt S350). Falls
ermittelt wird, daß eine solche Ausweichsektorkennung vorhan
den ist (JA bei einem Schritt S351), wird zur Anfangseinstel
lung in den Sektorkennungsbereich der Ausweichsektorkennung
57 ein Datenwert mit der Bedeutung eingeschrieben, daß der
Sektor unbenutzt ist (Schritt S352). Nach der Anfangseinstel
lung der Ausweichsektorkennung werden die Daten in den be
treffenden Ausweichsektor 56 eingeschrieben (Schritt S353).
In den Sektorinformationsbereich der Sektorkennung für den
Sektor, in dem ein Schreibfehler aufgetreten ist, wird ein
Datenwert eingeschrieben, der einen schadhaften Sektor an
zeigt, und in den Logikadressenbereich wird die reale Adresse
des Ausweichsektors 56 eingeschrieben (Schritt S354). Falls
andererseits durch den Verarbeitungscomputer 100 aus einem
einer logischen Adresse entsprechenden Sektor ausgelesen
soll, der als schadhafter Sektor festgestellt ist, werden von
dem Verarbeitungscomputer Daten aus dem Ausweichsektor mit
der Adresse ausgelesen, die in dem Logikadressenbereich der
Sektorkennung für den schadhaften Sektor eingeschrieben ist.
Falls schließlich die Anzahl verfügbarer Ausweichsektoren 56
gleich g oder geringer ist (JA bei einem Schritt 5355), wer
den zur Meldung an den Benutzer die Leuchtdiode 12 und der
Schallgeber 13 eingeschaltet (Schritt S356).
Falls ermittelt wird, daß keine Ausweichsektorkennung vorhan
den ist, in der ein einen Ausweichsektor anzeigender Daten
wert gespeichert ist (NEIN bei dem Schritt S351), werden in
dem Statusregister ein Signal D7 zur Anzeige eines schadhaf
ten Blockes auf "l" (Schritt S357) und ein Signal D0 zur An
zeige eines Fehlers auf "1" gesetzt (Schritt S358).
Die Fig. 15 ist ein Ablaufdiagramm eines Leseprozesses Zu
erst wird ein Befehl zum Lesen an einer logischen Adresse
empfangen (Schritt S401). Falls in dem Sektorinformationsbe
reich der Sektorkennung für den Sektor mit der realen Adres
se, die durch die Adressenumsetzschaltung 18 entsprechend der
logischen Adresse bestimmt ist, ein Datenwert mit der Bedeu
tung "schadhafter Sektor" eingeschrieben ist (JA bei einem
Schritt S402), wird die in den Logikadressenbereich dieser
Sektorkennung eingeschriebene Adresse ausgelesen (Schritt
S403) und es werden die Daten aus dem Ausweichsektor mit die
ser Adresse ausgelesen (Schritt 5404). Falls für den Sektor
an der durch die Adressenumsetzschaltung 18 bestimmten realen
Adresse kein einen schadhaften Sektor anzeigender Datenwert
eingeschrieben ist (NEIN bei dem Schritt S402), werden die
Daten aus diesem Sektor ausgelesen (Schritt S405).
Als nächstes wird ein zweites Beispiel für den Umschreibepro
zeß (Schritt S305 in Fig. 13) erläutert. Bei dem zweiten Bei
spiel wird von der Zentraleinheit 14 in den Sektorinformati
onsbereich der Sektorkennung für den Sektor, in dem ein feh
lerhaftes Einschreiben aufgetreten ist, ein einen schadhaften
Sektor anzeigender Datenwert eingeschrieben. Dann werden die
Daten in einen unbenutzten Ausweichsektor eingeschrieben und
in den Logikadressenbereich der Sektorkennung für den Aus
weichsektor wird eine logische Adresse eingeschrieben, die in
den Logikadressenbereich der Sektorkennung für den Sektor
eingeschrieben ist, in dem der Schreibfehler aufgetreten ist.
Auf diese Weise kann die Anzahl von Sektoren für den Zugriff
durch den Verarbeitungscomputer 100 konstant gehalten werden
und die Lebensdauer der Karte verlängert werden. Falls ferner
die Anzahl verfügbarer Ausweichsektoren gleich einer Be
zugsanzahl q oder geringer ist, werden zur Warnung bzw. zur
Meldung an den Benutzer die Leuchtdiode 12 und der Schallge
ber 13 eingeschaltet. Falls dann ein abgerufener Sektor ein
schadhafter Sektor ist, sucht die Zentraleinheit 14 eine Aus
weichsektorkennung 57 mit einem Logikadressenbereich, in den
die gleiche Adresse wie diejenige für den schadhaften Sektor
eingeschrieben ist, und die Daten werden in den der gefunde
nen Ausweichsektorkennung entsprechenden Ausweichsektor 56
eingeschrieben bzw. aus diesem ausgelesen.
Die Fig. 16 ist ein Ablaufdiagramm des vorstehend beschriebe
nen Umschreibeprozesses (Schritt S305 in Fig. 13). Zuerst
wird in den Sektorinformationsbereich der Sektorkennung für
einen Sektor, in dem ein Schreibfehler aufgetreten ist, ein
Datenwert mit der Bedeutung "schadhafter Sektor" eingeschrie
ben (Schritt S500). Als nächstes wird eine Ausweichsektorken
nung 57 gesucht, in der ein einen Ausweichsektor anzeigender
Datenwert eingeschrieben ist (Schritt 5501). Falls ermittelt
wird, daß eine solche Ausweichsektorkennung vorhanden ist (JA
bei einem Schritt S502), werden die Daten in den Ausweichsek
tor 56 eiflgeschrieben, nachdem zur Anfangseinstellung in den
Sektorinformationsbereich der Ausweichsektorkennung 57 ein
Datenwert mit der Bedeutung eingeschrieben wurde, daß der
Sektor unbenutzt ist (Schritt S503). Dann wird in den Sek
torinformationsbereich ein Datenwert mit der Bedeutung einge
schrieben, daß der Sektor benutzt ist, und in den Logikadres
senbereich wird die gleiche Adresse wie die logische Adresse
eingeschrieben, welche in dem Logikadressenbereich der Sek
torkennung für den Sektor eingeschrieben ist, in dem der
Schreibfehler aufgetreten ist (Schritt S504). Falls schließ
lich die Anzahl verfügbarer Ausweichsektoren gleich der An
zahl g oder geringer ist (JA bei einem Schritt S505), werden
zur Warnung bzw. zur Meldung an den Benutzer die Leuchtdiode
12 und der Schallgeber 13 eingeschaltet (Schritt 5506).
Falls andererseits ermittelt wird, daß keine Ausweichsektor
kennung mit einem einen Ausweichsektor anzeigenden Datenwert
vorhanden ist (NEIN bei dem Schritt 502), wird das Signal D7
zur Anzeige eines schadhaften Blockes in dem Fehlerregister
bzw. Statusregister auf "1" gesetzt (Schritt S507) und das
Signal D0 zur Anzeige eines Fehlers in dem Statusregister
wird auf "1" gesetzt (Schritt S508).
Die Fig. 17 ist ein Ablaufdiagramm eines Leseprozesses. Zu
erst wird ein Befehl zum Lesen an einer logischen Adresse
empfangen (Schritt S551). Falls in den Sektorinformationsbe
reich der Sektorkennung für den Sektor an der durch die
Adressenumsetzschaltung 18 bestimmten realen Adresse ein ei
nen schadhaften Sektor anzeigender Datenwert eingeschrieben
ist (JA bei einem Schritt S552), wird die Adresse in dem Lo
gikadressenbereich der Sektorkennung ausgelesen (Schritt
5553). Als nächstes wird ein Ausweichsektor mit einem Logik
adressenbereich gesucht, in dem die gleiche Adresse wie die
bei dem Schritt S553 ausgelesene gespeichert ist (Schritt
S554), und es werden die Daten aus dem gefundenen Ausweich
sektor ausgelesen (Schritt 5555). Falls andererseits in den
Sektorinformationsbereich für den auszulesenden Sektor kein
einen schadhaften Sektor anzeigender Datenwert eingeschrieben
ist (NEIN bei dem Schritt S552), werden die Daten aus dem
Sektor ausgelesen (Schritt S556).
Als nächstes wird die Initialisierung bzw. Anfangseinstellung
des Speichers 20 erläutert. Wenn nach dem Empfangen einer
Meldung durch die Leuchtdiode 12 und den Schallgeber 13, daß
Schreibfehler aufgetreten sind, der von dem Benutzer bediente
Verarbeitungscomputer 100 einen Zusatzbefehl für eine An
fangseinstellung der PC-Karte 1b gemäß dieser Meldung abgibt,
wird von der Zentraleinheit 14 die Anfangseinstellung von
Sektoren mit Ausnahme der Sektoren vorgenommen, die den Sek
torenkennungen entsprechen, in deren Sektorinformationsbe
reich der den schadhaften Sektor anzeigende Datenwert einge
schrieben ist, und es wird die praktisch nutzbare Speicherka
pazität ermittelt. Die im Ansprechen auf einen aus dem Verar
beitungscomputer 100 empfangenen Erkennungssteuerbefehl aus
zugebende Information über die Speicherkapazität wird umge
schrieben. Damit erhält der Verarbeitungscomputer 100 eine
Information über die Speicherkapazität, die genutzt werden
kann.
In Fig. 18 ist der Ablauf eines bei dem Empfang des vorste
hend genannten Zusatzbefehls von der Zentraleinheit 14 ausge
führten Prozesses dargestellt. Ein Anfangswert einer Varia
blen n in dem Ablaufdiagramm ist die Anzahl der Sektoren in
der Karte. Nachdem der Zusatzbefehl aus dem Verarbeitungscom
puter 100 empfangen wurde (Schritt S601), wird die jeweils
einen Sektor darstellende Variable n geprüft (Schritt S602).
Falls die Variable n nicht gleich 0 ist (NEIN bei dem Schritt
S602) bzw. n bestimmt ist, wird ermittelt, ob die Sektorken
nung für diesen Sektor einen einen schadhaften Sektor anzei
genden Datenwert enthält (Schritt S603). Falls ermittelt
wird, daß der Sektor kein Schadhafter Sektor ist (NEIN bei
dem Schritt S603), werden die Daten in diesem Sektor gelöscht
(Schritt S604). Falls ermittelt wird, daß das Löschen der Da
ten in dem Sektor richtig abgeschlossen ist (JA bei einem
Schritt S605), wird die Initialisierung bzw. Anfangseinstel
lung des Sektors vorgenommen (Schritt S606). Das heißt, wenn
der Sektor ein Ausweichsektor ist, wird in den Sektorinforma
tionsbereich der Ausweichsektorkennung für den Ausweichsektor
ein den Ausweichsektor anzeigender Datenwert eingeschriebe-,
während dann, wenn der Sektor ein gewöhnlicher Sektor ist, in
den Sektorinformationsbereich der Sektorkennung für den Sek
tor ein Datenwert mit der Bedeutung eingeschrieben wird, daß
der Sektor unbenutzt ist (Schritt S606). Falls andererseits
ermittelt wird, daß in dem Sektor ein fehlerhaftes Löschen
der Daten aufgetreten ist (NEIN bei dem Schritt S605), wird
in die Sektorkennung oder die Ausweichsektorkennung für den
Sektor ein Datenwert mit der Bedeutung "schadhafter Sektor"
eingeschrieben (Schritt S607). Dann wird die Variable n um
"1" verringert (Schritt S608) und der Ablauf kehrt zu dem
Schritt 5602 zurück, um die Verarbeitung in den Schritten
S604-S608 für einen nächsten Sektor zu wiederholen, bis der
Löschprozeß an allen Sektoren abgeschlossen ist.
Wenn der Löschprozeß an allen Sektoren abgeschlossen ist (JA
bei dem Schritt S602), wird die Anzahl von unbenutzten Sekto
ren gezählt und die Information wie die "Zylindernummer", die
"Spurnummer" und die Sektorenanzahl auf den neuesten Stand
gebracht (Schritt S609). Dann wird das den Abschluß der Ver
arbeitung in der Karte 1b anzeigende Statussignal D3 bzw. Da
tenanforderungssignal DRQ auf den Pegel "H" gesetzt (Schritt
S610) und das Statussignal D7 bzw. Belegtsignal BSY auf den
Pegel "L" rückgesetzt (Schritt S611). Als nächstes wird zur
Anforderung einer Unterbrechung an dem Verarbeitungscomputer
100 das Unterbrechungsanforderungssignal IREQ auf den Pegel
"L" rückgesetzt (Schritt S612), damit durch den Verar
beitungsscomputer 100 eine Prüfung vorgenommen werden kann
(Schritt S613).
Im Ansprechen auf einen Erkennungssteuerbefehl sendet die
Zentraleinheit 14 dem Verarbeitungscomputer 100 die Informa
tion über die in dem Speicher 20 verfügbare Speicherkapazität
wie die "Zylindernummer", die "Spurnummer" und die Sektoren
anzahl zu. Hinsichtlich der Sektoren, in denen ein fehlerhaf
tes Einschreiben oder ein fehlerhaftes Löschen aufgetreten
ist, wird in die Sektorinformationsbereiche der zugehörigen
Sektorkennungen ein Datenwert mit der Bedeutung "schadhafter
Sektor" eingeschrieben. Der Verarbeitungscomputer 100 erhält
die Informationen über die verfügbare Speicherkapazität.
Die vorangehend erläuterten Umschreibeprozesse an der 512
Byte-PC-Karte 1b werden ausgeführt, wenn ein fehlerhaftes
Einschreiben aufgetreten ist. Anstelle der Adressenumsetz
schaltung 18 kann eine Adressenumsetztabelle vorgesehen wer
den und die Daten können statt in den Sektor, in dem ein
Schreibfehler aufgetreten ist, in einen unbenutzten Sektor
eingeschrieben werden. Um die nutzbare Speicherkapazität kon
stant zu halten, ist es ferner möglich, einen der Ausweich
sektoren in einen Nutzungszustand zu versetzen, während die
Daten statt in den Sektor, in dem der Schreibfehler aufgetre
ten ist, in einen unbenutzen Sektor eingeschrieben werden. In
diesem Fall wird der Inhalt der Adressenumsetztabelle geän
dert bzw. die einer durch den Verarbeitungscomputer bestimm
ten logischen Adresse entsprechende reale Adresse eines Sek
tors auf diejenige des Sektors abgeändert, in dem die Daten
eingeschrieben werden. Die Anfangseinstellung des Speichers
20 erfolgt auf gleichartige Weise wie die in Fig. 18 darge
stellte.
Wenn Daten in eine Speichereinheit mit einem Parallelspeicher
eingeschrieben werden, der eine Vielzahl von Blöcken mit je
weils einer Vielzahl von Sektoren enthält, wobei der Block
eine Einheit bei dem Löschen von Daten ist, wird durch eine
Adressenumsetzung eine einer logischen Adresse entsprechende
Adresse eines Sektors in dem Parallelspeicher festgestellt.
Falls die Daten nicht in einen ersten Sektor an der festge
stellten Adresse eingeschrieben werden können, werden die Da
ten in einen zweiten Sektor in dem gleichen Block wie der er
ste Sektor ohne eine durch den Schreibfehler verursachte Un
terbrechung eingeschrieben. Dann wird in der Adressenumsetz
tabelle die der logischen Adresse entsprechende reale Adresse
in dem Parallelspeicher auf die Adresse des zweiten Sektors
umgeschrieben. Auf gleichartige Weise werden dann, wenn bei
dem Einschreiben von Daten in einen Parallelspeicher mit ei
ner Vielzahl von Sektoren die Daten nicht in einen ersten
Sektor mit der festgestellten Adresse eingeschrieben werden
können, die Daten in einen von dem ersten Sektor verschiede
nen zweiten Sektor eingeschrieben. Wenn bei einer andersarti
gen Speichereinheit mit einem Parallelspeicher, in dem jeder
Block eine Vielzahl von Sektoren und eine Vielzahl von Aus
weichsektoren enthält, die Daten nicht in einen ersten Sektor
mit der festgestellten Adresse eingeschrieben werden können,
werden die Daten in einen Ausweichsektor im gleichen Block
wie der erste Sektor eingeschrieben. Dann wird die der logi
schen Adresse entsprechende reale Adresse in dem Paral
lelspeicher in der Adressenumsetztabelle auf die Adresse des
Ausweichsektors umgeschrieben. Wenn alle Ausweichsektoren in
dem Block benutzt sind, werden vorzugsweise die Daten sowie
die in dem Block eingeschriebenen Daten in einen unbenutzten
zweiten Block eingeschrieben. Wenn bei dem Einschreiben von
Daten in einen Parallelspeicher mit einer Vielzahl von Sekto
ren die Daten nicht in einen ersten Sektor mit der festge
stellten Adresse eingeschrieben werden können, werden auf
gleichartige Weise die Daten in einen Ausweichsektor einge
schrieben.
Claims (18)
1. Speichereinheit, gekennzeichnet durch
einen Parallelspeicher (10a), der eine Vielzahl von
Blöcken mit jeweils einer Vielzahl von Sektoren (24) enthält
und in dem Daten in Blockeinheiten gelöscht werden,
eine Adressenumsetztabelle (8), in der jeweils logischen Adressen entsprechende Adressen von Sektoren in dem Paral lelspeicher gespeichert sind,
eine Datenschreibeinrichtung (4), die aus der Adressen umsetztabelle entsprechend einer logischen Adresse, die durch einen Datenschreibbefehl mit Daten bestimmt ist, eine Adresse eines Sektors in dem Parallelspeicher ermittelt und die die Daten in einen ersten Sektor an der ermittelten Adresse ein schreibt oder dann, wenn die Daten nicht in den ersten Sektor eingeschrieben werden können, die Daten in einen zweiten Sek tor einschreibt, der von dem ersten Sektor verschieden, aber in dem gleichen Block wie der erste Sektor enthalten ist, und
eine Umschreibeinrichtung (4), die dann, wenn die Daten schreibeinrichtung die Daten in den zweiten Sektor ein schreibt, in der Adressenumsetztabelle die der logischen Adresse entsprechende reale Adresse in dem Parallelspeicher auf die Adresse des zweiten Sektors umschreibt.
eine Adressenumsetztabelle (8), in der jeweils logischen Adressen entsprechende Adressen von Sektoren in dem Paral lelspeicher gespeichert sind,
eine Datenschreibeinrichtung (4), die aus der Adressen umsetztabelle entsprechend einer logischen Adresse, die durch einen Datenschreibbefehl mit Daten bestimmt ist, eine Adresse eines Sektors in dem Parallelspeicher ermittelt und die die Daten in einen ersten Sektor an der ermittelten Adresse ein schreibt oder dann, wenn die Daten nicht in den ersten Sektor eingeschrieben werden können, die Daten in einen zweiten Sek tor einschreibt, der von dem ersten Sektor verschieden, aber in dem gleichen Block wie der erste Sektor enthalten ist, und
eine Umschreibeinrichtung (4), die dann, wenn die Daten schreibeinrichtung die Daten in den zweiten Sektor ein schreibt, in der Adressenumsetztabelle die der logischen Adresse entsprechende reale Adresse in dem Parallelspeicher auf die Adresse des zweiten Sektors umschreibt.
2. Speichereinheit nach Anspruch 1, gekennzeichnet durch eine
Datenlöscheinrichtung (4), die die Daten in dem Parallelspei
cher (10a) außer in Sektoren löscht, in die die Datenschreib
einrichtung die Daten nicht einschreiben kann, und die eine
Information über eine nutzbare Speicherkapazität des Paral
lelspeichers aufgrund der Anzahl von Sektoren umschreibt, in
denen die Daten gelöscht sind.
3. Speichereinheit, gekennzeichnet durch
einen Parallelspeicher (10b), der eine Vielzahl von Blöcken (33) mit jeweils einer Vielzahl von Sektoren (34) und einer Vielzahl von Ausweichsektoren (36) enthält und in dem Daten in Blockeinheiten gelöscht werden,
eine Adressenumsetztabelle (8), in der Adressen von Sek toren in dem Parallelspeicher entsprechend logischen Adressen gespeichert sind,
eine Datenschreibeinrichtung (4), die aus der Adressen umsetztabelle entsprechend einer logischen Adresse, die durch einen Datenschreibbefehl mit Daten bestimmt ist, die Adresse eines Sektors in dem Parallelspeicher ermittelt und die die Daten in einen ersten Sektor mit der ermittelten Adresse ein schreibt oder dann, wenn die Daten nicht in den ersten Sektor eingeschrieben werden können, die Daten in einen Ausweichsek tor der Ausweichsektoren in dem gleichen Block wie der erste Sektor einschreibt, und
eine Umschreibeinrichtung (4), die in der Adressenum setztabelle die der logischen Adresse entsprechende reale Adresse in dem Parallelspeicher auf die Adresse des Ausweich sektors umschreibt, wenn die Datenschreibeinrichtung die Da ten in den Ausweichsektor einschreibt.
einen Parallelspeicher (10b), der eine Vielzahl von Blöcken (33) mit jeweils einer Vielzahl von Sektoren (34) und einer Vielzahl von Ausweichsektoren (36) enthält und in dem Daten in Blockeinheiten gelöscht werden,
eine Adressenumsetztabelle (8), in der Adressen von Sek toren in dem Parallelspeicher entsprechend logischen Adressen gespeichert sind,
eine Datenschreibeinrichtung (4), die aus der Adressen umsetztabelle entsprechend einer logischen Adresse, die durch einen Datenschreibbefehl mit Daten bestimmt ist, die Adresse eines Sektors in dem Parallelspeicher ermittelt und die die Daten in einen ersten Sektor mit der ermittelten Adresse ein schreibt oder dann, wenn die Daten nicht in den ersten Sektor eingeschrieben werden können, die Daten in einen Ausweichsek tor der Ausweichsektoren in dem gleichen Block wie der erste Sektor einschreibt, und
eine Umschreibeinrichtung (4), die in der Adressenum setztabelle die der logischen Adresse entsprechende reale Adresse in dem Parallelspeicher auf die Adresse des Ausweich sektors umschreibt, wenn die Datenschreibeinrichtung die Da ten in den Ausweichsektor einschreibt.
4. Speichereinheit nach Anspruch 3, gekennzeichnet durch eine
Datenlöscheinrichtung (4), die die Daten in dem Parallelspei
cher (10b) außer in Sektoren löscht, in die die Datenschreib
einrichtung die Daten nicht einschreiben kann, und die eine
Information über eine nutzbare Speicherkapazität des Paral
lelspeichers aufgrund der Anzahl von Sektoren umschreibt, in
denen die Daten gelöscht sind.
5. Speichereinheit nach Anspruch 3 oder 4, dadurch gekenn
zeichnet, daß dann, wenn die Datenschreibeinrichtung (4) bei
dem Einschreiben der Daten in den ersten Block feststellt,
daß alle Ausweichsektoren (36) in dem ersten Block benutzt
worden sind, die Datenschreibeinrichtung die Daten sowie die
in den ersten Block eingeschriebenen Daten in einen unbenutz
ten zweiten Block der Blöcke einschreibt.
6. Speichereinheit nach Anspruch 5, dadurch gekennzeichnet,
daß die Datenschreibeinrichtung (4) einen Datenpuffer enthält
und dann, wenn die Datenschreibeinrichtung bei dem Einschrei
ben in den ersten Block entscheidet, daß alle Ausweichsekto
ren in dem ersten Block benutzt worden sind, die Daten
schreibeinrichtung die Daten sowie die in den ersten Block
eingeschriebenen Daten in den Datenpuffer einspeichert und
die Daten in dem Datenpuffer zusammenhängend speichert.
7. Speichereinheit nach Anspruch 5 oder 6, gekennzeichnet
durch eine Datenlöscheinrichtung (4), die Daten in dem Paral
lelspeicher (10b) in Blockeinheiten außer in Sektoren löscht,
in denen die Datenschreibeinrichtung keine Daten einschreiben
kann, und die eine Information über eine nutzbare Speicherka
pazität des Parallelspeichers aufgrund der Anzahl von Sekto
ren umschreibt, in denen die Daten gelöscht wurden.
8. Speichereinheit nach einem der Ansprüche 5 bis 7, gekenn
zeichnet durch eine Vorrichtung (2, 3), die einem Benutzer
meldet, daß die Datenschreibeinrichtung (4) die Daten in ei
nen unbenutzten Block einschreibt.
9. Speichereinheit, gekennzeichnet durch
einen Parallelspeicher (20) mit einer Vielzahl von Sek toren (55),
eine Adressenumsetztabelle (18), in der Adressen von Sektoren in dem Parallelspeicher entsprechend logischen fressen gespeichert sind,
eine Datenschreibeinrichtung (14), die aus der Adressen umsetztabelle entsprechend einer logischen Adresse, die durch einen Datenschreibbefehl mit Daten bestimmt ist, eine Adresse eines Sektors in dem Parallelspeicher ermittelt und die die Daten in einen ersten Sektor mit der ermittelten Adresse oder in einen von dem ersten Sektor verschiedenen zweiten Sektor einschreibt, wenn die Daten nicht in den ersten Sektor einge schrieben werden können, und
eine Umschreibeinrichtung (14), die in der Adressenum setztabelle eine der logischen Adresse entsprechende reale Adresse in dem Parallelspeicher auf die Adresse des zweiten Sektors umschreibt, wenn die Datenschreibeinrichtung die Da ten in den zweiten Sektor einschreibt.
einen Parallelspeicher (20) mit einer Vielzahl von Sek toren (55),
eine Adressenumsetztabelle (18), in der Adressen von Sektoren in dem Parallelspeicher entsprechend logischen fressen gespeichert sind,
eine Datenschreibeinrichtung (14), die aus der Adressen umsetztabelle entsprechend einer logischen Adresse, die durch einen Datenschreibbefehl mit Daten bestimmt ist, eine Adresse eines Sektors in dem Parallelspeicher ermittelt und die die Daten in einen ersten Sektor mit der ermittelten Adresse oder in einen von dem ersten Sektor verschiedenen zweiten Sektor einschreibt, wenn die Daten nicht in den ersten Sektor einge schrieben werden können, und
eine Umschreibeinrichtung (14), die in der Adressenum setztabelle eine der logischen Adresse entsprechende reale Adresse in dem Parallelspeicher auf die Adresse des zweiten Sektors umschreibt, wenn die Datenschreibeinrichtung die Da ten in den zweiten Sektor einschreibt.
10. Speichereinheit nach Anspruch 9, gekennzeichnet durch ei
ne Datenlöscheinrichtung (14), die Daten in dem Parallelspei
cher (20) außer in Sektoren löscht, in die die Datenschreib
einrichtung die Daten nicht einschreiben kann, und die die
Information über die nutzbare Speicherkapazität des Paral
lelspeichers aufgrund der Anzahl von Sektoren umschreibt, in
denen die Daten gelöscht sind.
11. Speichereinheit, gekennzeichnet durch
einen Parallelspeicher (20) mit einer Vielzahl von Sek toren (55) und Ausweichsektoren (56),
eine Adressenumsetztabelle (18), in der Adressen von Sektoren in dem Parallelspeicher entsprechend logischen Adressen gespeichert sind,
eine Datenschreibeinrichtung (14), die aus der Adressen umsetztabelle entsprechend einer logischen Adresse, die durch einen Datenschreibbefehl mit Daten bestimmt ist, eine Adresse eines Sektors in dem Parallelspeicher ermittelt und die die Daten in einen ersten Sektor mit der ermittelten Adresse ein schreibt oder die Daten in einen Ausweichsektor in dem Paral lelspeicher einschreibt, wenn die Daten nicht in den ersten Sektor eingeschrieben werden können, und
eine Umschreibeinrichtung (14), die in der Adressenum setztabelle eine der logischen Adresse entsprechende reale Adresse in dem Parallelspeicher auf die Adresse des Ausweich sektors umschreibt, wenn die Datenschreibeinrichtung die Da ten in den Ausweichsektor einschreibt.
einen Parallelspeicher (20) mit einer Vielzahl von Sek toren (55) und Ausweichsektoren (56),
eine Adressenumsetztabelle (18), in der Adressen von Sektoren in dem Parallelspeicher entsprechend logischen Adressen gespeichert sind,
eine Datenschreibeinrichtung (14), die aus der Adressen umsetztabelle entsprechend einer logischen Adresse, die durch einen Datenschreibbefehl mit Daten bestimmt ist, eine Adresse eines Sektors in dem Parallelspeicher ermittelt und die die Daten in einen ersten Sektor mit der ermittelten Adresse ein schreibt oder die Daten in einen Ausweichsektor in dem Paral lelspeicher einschreibt, wenn die Daten nicht in den ersten Sektor eingeschrieben werden können, und
eine Umschreibeinrichtung (14), die in der Adressenum setztabelle eine der logischen Adresse entsprechende reale Adresse in dem Parallelspeicher auf die Adresse des Ausweich sektors umschreibt, wenn die Datenschreibeinrichtung die Da ten in den Ausweichsektor einschreibt.
12. Speichereinheit nach Anspruch 11, gekennzeichnet durch
eine Datenlöscheinrichtung (14), die Daten in dem Paral
lelspeicher (20) außer in Sektoren löscht, in die die Daten
schreibeinrichtung die Daten nicht einschreiben kann, und die
die Information über die nutzbare Speicherkapazität des Par
allelspeiches aufgrund der Anzahl von Sektoren umschreibt,
in denen die Daten gelöscht sind.
13. Speichereinheit, gekennzeichnet durch
einen Parallelspeicher (20) mit einem Speicherraum, der einen Sektorbereich (52) mit einer Vielzahl von Sektoren (55), einen Sektorkennungsbereich (51) mit einer Vielzahl von Sektorkennungen (54), die jeweils Statusdaten und eine logi sche Adresse enthalten, und einen Ausweichsektorbereich (53) mit einer Vielzahl von Ausweichsektoren (56) umfaßt,
eine Adressenumsetzeinrichtung (18) zum Umsetzen einer logischen Adresse auf eine reale Adresse in dem Parallelspei cher,
eine Datenschreibeinrichtung (14), die dann, wenn in der Sektorkennung für einen Sektor mit einer von der Adressenum setzeinrichtung entsprechend einer logischen Adresse in einem Datenschreibbefehl ausgegebenen realen Adresse kein Datenwert für einen schadhaften Sektor gespeichert ist, die Daten in den Sektor einschreibt oder die dann, wenn in der Sektorken nung für den Sektor mit der realen Adresse ein Datenwert für einen schadhaften Sektor gespeichert ist, in die Sektorken nung einen Datenwert für einen schadhaften Sektor ein schreibt, einen unbenutzten Ausweichsektor vorbereitet, die Daten in den Ausweichsektor einschreibt und in die Sektorken nung für den Ausweichsektor statt einer in der Sektorkennung gespeicherten logischen Adresse die reale Adresse des Aus weichsektors einschreibt, und
eine Datenleseeinrichtung (14), die dann, wenn in der Sektorkennung für einen Sektor mit einer Adresse in dem Par allelspeicher, die von der Adressenumsetzeinrichtung entspre chend einer durch einen Datenlesebefehl bestimmten logischen Adresse ausgegeben wird, ein Datenwert für einen schadhaften Sektor gespeichert ist, die Daten aus dem Sektor mit der an stelle der logischen Adresse gespeicherten Adresse ausliest.
einen Parallelspeicher (20) mit einem Speicherraum, der einen Sektorbereich (52) mit einer Vielzahl von Sektoren (55), einen Sektorkennungsbereich (51) mit einer Vielzahl von Sektorkennungen (54), die jeweils Statusdaten und eine logi sche Adresse enthalten, und einen Ausweichsektorbereich (53) mit einer Vielzahl von Ausweichsektoren (56) umfaßt,
eine Adressenumsetzeinrichtung (18) zum Umsetzen einer logischen Adresse auf eine reale Adresse in dem Parallelspei cher,
eine Datenschreibeinrichtung (14), die dann, wenn in der Sektorkennung für einen Sektor mit einer von der Adressenum setzeinrichtung entsprechend einer logischen Adresse in einem Datenschreibbefehl ausgegebenen realen Adresse kein Datenwert für einen schadhaften Sektor gespeichert ist, die Daten in den Sektor einschreibt oder die dann, wenn in der Sektorken nung für den Sektor mit der realen Adresse ein Datenwert für einen schadhaften Sektor gespeichert ist, in die Sektorken nung einen Datenwert für einen schadhaften Sektor ein schreibt, einen unbenutzten Ausweichsektor vorbereitet, die Daten in den Ausweichsektor einschreibt und in die Sektorken nung für den Ausweichsektor statt einer in der Sektorkennung gespeicherten logischen Adresse die reale Adresse des Aus weichsektors einschreibt, und
eine Datenleseeinrichtung (14), die dann, wenn in der Sektorkennung für einen Sektor mit einer Adresse in dem Par allelspeicher, die von der Adressenumsetzeinrichtung entspre chend einer durch einen Datenlesebefehl bestimmten logischen Adresse ausgegeben wird, ein Datenwert für einen schadhaften Sektor gespeichert ist, die Daten aus dem Sektor mit der an stelle der logischen Adresse gespeicherten Adresse ausliest.
14. Speichereinheit nach Anspruch 13, gekennzeichnet durch
eine Datenlöscheinrichtung (14), die Daten in einem Sektor
mit einer Sektorkennung löscht, in der kein Datenwert für ei
nen schadhaften Sektor gespeichert ist, in die Sektorkennung
für einen Sektor, in dem die Daten richtig gelöscht sind, ei
nen Datenwert für einen unbenutzten Sektor einschreibt, in
die Sektorkennung für einen Sektor, in dem die Daten nicht
richtig gelöscht sind, einen Datenwert für einen schadhaften
Sektor einschreibt und eine Information über eine nutzbare
Speicherkapazität aufgrund der Anzahl von Sektoren um
schreibt, in deren Sektorkennungen der Datenwert für einen
unbenutzten Sektor eingeschrieben ist.
15. Speichereinheit nach Anspruch 13 oder 14, gekennzeichnet
durch eine Vorrichtung (12, 13), die einem Benutzer meldet,
daß die Anzahl von unbenutzten Ausweichsektoren (56) in dem
Parallelspeicher (20) kleiner als ein vorbestimmter Wert (q)
ist.
16. Speichereinheit, gekennzeichnet durch
einen Parallelspeicher (20) mit einem Speicherraum, der einen Sektorbereich (52) mit einer Vielzahl von Sektoren (55), einen Sektorkennungsbereich (51) mit einer Vielzahl von Sektorkennungen (54), in denen jeweils Statusdaten und eine logische Adresse gespeichert sind, und einen Ausweichsektor bereich (53) mit einer Vielzahl von Ausweichsektoren (56) um faßt,
eine Adressenumsetzeinrichtung (18) zum Umsetzen einer logischen Adresse auf eine reale Adresse in dem Parallelspei cher,
eine Datenschreibeinrichtung (14), die dann, wenn in der Sektorkennung für einen Sektor mit einer realen Adresse, die von der Adressenumsetzeinrichtung entsprechend einer logi schen Adresse in einem Datenschreibbefehl ausgegeben wird, kein Datenwert für einen schadhaften Sektor gespeichert ist, die Daten in den Sektor einschreibt oder dann, wenn in der Sektorkennung des Sektors mit der realen Adresse ein Daten wert für einen schadhaften Sektor gespeichert ist, in die Sektorkennung einen Datenwert für einen schadhaften Sektor einschreibt, einen unbenutzten Ausweichsektor vorbereitet, die Daten in den Ausweichsektor einschreibt und eine logische Adresse, die in der Sektorkennung für den Sektor gespeichert ist, in den die Daten nicht eingeschrieben werden können, in die Sektorkennung für den Ausweichsektor einschreibt, und
eine Datenleseeinrichtung (14), die dann, wenn in der Sektorkennung für einen Sektor mit einer Adresse in dem Par allelspeicher, die von der Adressenumsetzeinrichtung entspre chend einem Datenlesebefehl ausgegeben wird, ein Datenwert für einen schadhaften Sektor gespeichert ist, die Daten aus einem Sektor mit einer Sektorkennung ausliest, in der die gleiche logische Adresse wie die in der Sektorkennung für den Sektor gespeichert ist, der nicht benutzt werden kann.
einen Parallelspeicher (20) mit einem Speicherraum, der einen Sektorbereich (52) mit einer Vielzahl von Sektoren (55), einen Sektorkennungsbereich (51) mit einer Vielzahl von Sektorkennungen (54), in denen jeweils Statusdaten und eine logische Adresse gespeichert sind, und einen Ausweichsektor bereich (53) mit einer Vielzahl von Ausweichsektoren (56) um faßt,
eine Adressenumsetzeinrichtung (18) zum Umsetzen einer logischen Adresse auf eine reale Adresse in dem Parallelspei cher,
eine Datenschreibeinrichtung (14), die dann, wenn in der Sektorkennung für einen Sektor mit einer realen Adresse, die von der Adressenumsetzeinrichtung entsprechend einer logi schen Adresse in einem Datenschreibbefehl ausgegeben wird, kein Datenwert für einen schadhaften Sektor gespeichert ist, die Daten in den Sektor einschreibt oder dann, wenn in der Sektorkennung des Sektors mit der realen Adresse ein Daten wert für einen schadhaften Sektor gespeichert ist, in die Sektorkennung einen Datenwert für einen schadhaften Sektor einschreibt, einen unbenutzten Ausweichsektor vorbereitet, die Daten in den Ausweichsektor einschreibt und eine logische Adresse, die in der Sektorkennung für den Sektor gespeichert ist, in den die Daten nicht eingeschrieben werden können, in die Sektorkennung für den Ausweichsektor einschreibt, und
eine Datenleseeinrichtung (14), die dann, wenn in der Sektorkennung für einen Sektor mit einer Adresse in dem Par allelspeicher, die von der Adressenumsetzeinrichtung entspre chend einem Datenlesebefehl ausgegeben wird, ein Datenwert für einen schadhaften Sektor gespeichert ist, die Daten aus einem Sektor mit einer Sektorkennung ausliest, in der die gleiche logische Adresse wie die in der Sektorkennung für den Sektor gespeichert ist, der nicht benutzt werden kann.
17. Speichereinheit nach Anspruch 16, gekennzeichnet durch
eine Datenlöscheinrichtung (14), die Daten in einem Sektor
mit einer Sektorkennung löscht, in der kein Datenwert für ei
nen schadhaften Sektor gespeichert ist, in die Sektorkennung
für einen Sektor, in dem die Daten richtig gelöscht sind, ei
nen Datenwert für einen unbenutzten Sektor einschreibt, in
die Sektorkennung für einen Sektor, in dem die Daten nicht
richtig gelöscht sind, einen Datenwert für einen schadhaften
Sektor einschreibt und eine Information über eine nutzbare
Speicherkapazität aufgrund der Anzahl von Sektoren um
schreibt, in deren Sektorkennungen der Datenwert für einen
unbenutzten Sektor eingeschrieben ist.
18. Speichereinheit nach Anspruch 16 oder 17, gekennzeichnet
durch eine Vorrichtung (12, 13), die einem Benutzer meldet,
daß die Anzahl von unbenutzten Ausweichsektoren (56) in dem
Parallelspeicher (20) kleiner als ein vorbestimmter Wert (q)
ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21059295A JPH0954726A (ja) | 1995-08-18 | 1995-08-18 | 記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19608713A1 true DE19608713A1 (de) | 1997-02-20 |
Family
ID=16591880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19608713A Withdrawn DE19608713A1 (de) | 1995-08-18 | 1996-03-06 | Speichereinheit |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPH0954726A (de) |
CN (1) | CN1143812A (de) |
DE (1) | DE19608713A1 (de) |
GB (1) | GB2304428A (de) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8171203B2 (en) | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US6978342B1 (en) | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6446223B1 (en) | 1998-09-09 | 2002-09-03 | Hitachi, Ltd. | Storage system and method for controlling the same |
US6148354A (en) | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
CN1088218C (zh) | 1999-11-14 | 2002-07-24 | 邓国顺 | 用于数据处理系统的快闪电子式外存储方法及其装置 |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
US7155559B1 (en) * | 2000-08-25 | 2006-12-26 | Lexar Media, Inc. | Flash memory architecture with separate storage of overhead and user data |
JP4031190B2 (ja) | 2000-09-29 | 2008-01-09 | 株式会社東芝 | メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置 |
GB0123421D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
US7231643B1 (en) | 2002-02-22 | 2007-06-12 | Lexar Media, Inc. | Image rescue system including direct communication between an application program and a device driver |
US6891752B1 (en) * | 2002-07-31 | 2005-05-10 | Advanced Micro Devices | System and method for erase voltage control during multiple sector erase of a flash memory device |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
US7464306B1 (en) | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
US7594063B1 (en) | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
CN100345123C (zh) * | 2004-11-27 | 2007-10-24 | 鸿富锦精密工业(深圳)有限公司 | 延长非易失性存储器使用寿命的装置及方法 |
KR100746289B1 (ko) | 2005-07-11 | 2007-08-03 | 삼성전자주식회사 | 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법 |
CN101425337B (zh) * | 2007-10-29 | 2011-11-30 | 芯邦科技(深圳)有限公司 | 一种闪存数据存储方法和装置 |
CN100463492C (zh) * | 2007-12-18 | 2009-02-18 | 中国电子科技集团公司第五十四研究所 | 安全接收芯片存储台名的方法 |
CN102306128B (zh) * | 2011-09-16 | 2013-11-20 | 北京星网锐捷网络技术有限公司 | 磁盘管理方法、装置及网络设备 |
CN110908593B (zh) * | 2018-09-17 | 2024-02-20 | 兆易创新科技集团股份有限公司 | 一种存储空间擦除方法、装置、存储设备及存储介质 |
CN111061649B (zh) * | 2019-10-28 | 2023-09-29 | 宁波三星智能电气有限公司 | 一种存储器的存储空间自适应分配方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4896262A (en) * | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
DE3704213C2 (de) * | 1986-02-20 | 1990-04-12 | Sharp K.K., Osaka, Jp |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69033438T2 (de) * | 1989-04-13 | 2000-07-06 | Sandisk Corp., Santa Clara | Austausch von fehlerhaften Speicherzellen einer EEprommatritze |
JP2582487B2 (ja) * | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JP2647312B2 (ja) * | 1992-09-11 | 1997-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性半導体記憶装置 |
US5359570A (en) * | 1992-11-13 | 1994-10-25 | Silicon Storage Technology, Inc. | Solid state peripheral storage device |
-
1995
- 1995-08-18 JP JP21059295A patent/JPH0954726A/ja active Pending
-
1996
- 1996-03-06 DE DE19608713A patent/DE19608713A1/de not_active Withdrawn
- 1996-03-20 GB GB9605873A patent/GB2304428A/en not_active Withdrawn
- 1996-04-16 CN CN96104987A patent/CN1143812A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4896262A (en) * | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
DE3704213C2 (de) * | 1986-02-20 | 1990-04-12 | Sharp K.K., Osaka, Jp |
Also Published As
Publication number | Publication date |
---|---|
GB9605873D0 (en) | 1996-05-22 |
JPH0954726A (ja) | 1997-02-25 |
GB2304428A (en) | 1997-03-19 |
CN1143812A (zh) | 1997-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19608713A1 (de) | Speichereinheit | |
DE60035780T2 (de) | Schaltung für plattenantriebskontroller und verfahren zur überschlagung von defekten oder ungewünschten sektoren | |
DE69721295T2 (de) | Verfahren und gerät zur erweiterung des reservegebiets einer platteneinheit | |
DE19615948C2 (de) | Flash-Festkörper-Plattenspeicher-Karte | |
DE60303895T2 (de) | Hybridimplementierung von Fehlerkorrekturkoden eines nichtflüchtigen Speichersystems | |
DE60032531T2 (de) | Aufzeichnungsverfahren, Verwaltungsverfahren und Aufzeichnungsgerät | |
DE60317551T2 (de) | Aufrechterhaltung gleichförmiger löschhäufigkeit in einem nichtflüchtigen speichersystem | |
DE69031494T2 (de) | Verfahren zum lesen und schreiben von dateien auf nichtlöschbaren speichermedien | |
DE69432878T2 (de) | Informationsverarbeitungssystem mit Flash-Speicher und Cache-Speicher | |
DE69127752T2 (de) | System zur freigabe des raumes gelöschter dateien für ein dynamisch abbildendes virtuelles datenspeichersubsystem | |
DE69233228T2 (de) | Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C. Speicherkarte mit solchem Datenverwaltungssystem | |
DE102019132371A1 (de) | Zuordnungsverwaltung logisch zu physisch unter Verwendung von nichtflüchtigem Speicher | |
DE69801655T2 (de) | System mit schreibbenachrichtigung während eines datensatzkopiervorgang | |
DE68913605T2 (de) | Verfahren zur Handhabung defekter Sektoren auf einem plattenförmigen Informations-Aufzeichnungsträger und Gerät zur Durchführung des Verfahrens. | |
US5717886A (en) | Semiconductor disk device and memory management method | |
DE69821426T2 (de) | Speicheranordung, und Datenverarbeitungssystem und -Verfahren | |
DE112011100618T5 (de) | Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren, der zwischen Speichereinheiten verlagert wird | |
JP2734391B2 (ja) | 不揮発性メモリのファイル管理装置 | |
DE19623853A1 (de) | Halbleiter-Speichervorrichtung | |
DE102016001066A1 (de) | Zuordnung der logischen Blockadresse für Festplattenlaufwerke | |
DE69626962T2 (de) | Verfahren und anordnung zum betrieb eines mit einem hauptrechner verbundenen massenspeicher-computerperipheriegerätes | |
KR100527610B1 (ko) | 저장장치,데이터처리시스템및데이터기록및판독방법 | |
DE69226853T2 (de) | Aufnahme- und Wiedergabeanordnung mit einer Block-löschbaren nichtflüchtigen Halbleiterspeicheranordnung für einen Block von spezifischen Datengruppen | |
DE112016002305B4 (de) | Reduktion der Schreibverstärkung in einem Objektspeicher | |
JPH07306922A (ja) | Icメモリカードおよびそのicメモリカードの検査方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |