DE19700510A1 - Speicherkarte mit Fehlerkorrekturfähigkeit und zugehöriges Fehlerkorrekturverfahren - Google Patents
Speicherkarte mit Fehlerkorrekturfähigkeit und zugehöriges FehlerkorrekturverfahrenInfo
- Publication number
- DE19700510A1 DE19700510A1 DE19700510A DE19700510A DE19700510A1 DE 19700510 A1 DE19700510 A1 DE 19700510A1 DE 19700510 A DE19700510 A DE 19700510A DE 19700510 A DE19700510 A DE 19700510A DE 19700510 A1 DE19700510 A1 DE 19700510A1
- Authority
- DE
- Germany
- Prior art keywords
- error correction
- data
- memory card
- correction codes
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
Description
Die Erfindung betrifft allgemein eine Speicherkarte und ins
besondere eine Speicherkarte mit Fehlerkorrekturfähigkeit und
ein Fehlerkorrekturverfahren für die Speicherkarte.
Eine einen wiederbeschreibbaren statischen Schreib-Lesespei
cher bzw. SRAM oder Flashspeicher verwendende Speicherkarte
kann von einer Informationsverarbeitungsvorrichtung abge
trennt werden und in dem Speicher gespeicherte Daten ohne An
legen einer externen Versorgungsspannung speichern. Dement
sprechend wird eine einen wiederbeschreibbaren Schreib-Lese
speicher oder Flashspeicher verwendende Speicherkarte häufig
von einer Informationsverarbeitungsvorrichtung entfernt oder
abgetrennt und außerhalb der Informationsverarbeitungsvor
richtung aufbewahrt, wobei die Daten in der Speicherkarte er
halten bleiben. In einigen Fällen verändern Datenbits in der
Speicherkarte ihre Zustände während der Datenspeicherung we
gen eines Softwarefehlers oder Datenverlusts, so daß die kor
rekten Daten nicht wiedergewonnen werden können. Obwohl die
Wahrscheinlichkeit dieses Versagens sehr gering ist, steigt
die Anzahl der Vorfälle, da die Speicherkapazität zunimmt und
die Anzahl der auf den Markt gebrachten Einheiten steigt.
Keine einen statischen Schreib-Lesespeicher oder Flashspei
cher verwendende Speicherkarte ist bis jetzt entwickelt wor
den, die die Fähigkeit einer entsprechenden Fehlerkorrektur
für Datenfehler aufweist, die während der Datenspeicherung
auftreten. Da zu erwarten ist, daß die Anzahl der Vorfälle
von Datenfehlern während der Datenspeicherung mit zunehmender
Kapazität der Speicherkarten steigt, wird es höchst fahrläs
sig, während der Datenspeicherung verursachte Fehlerdaten un
verändert auszulesen.
Eines der (nachstehend auch als ECC-Verfahren bezeichnete)
Datenfehler-Korrekturverfahren verwendet Fehlerkorrekturcodes
für die Speicherkarte. Falls jedes Byte oder jedes Wort je
doch einen Fehlerkorrekturcode aufweist, benötigt der Spei
cher für die Fehlerkorrekturcodes eine große Kapazität. Bei
spielsweise beträgt der für acht Bit breite Daten benötigte
Fehlerkorrekturcode vier Bits, weshalb für einen Hauptspei
cher mit vier MByte eine Fehlerkorrekturcode-Kapazität von
zwei MByte erforderlich ist. Wegen der Beschränkung des Vor
sehens diverser Teile kann die Speicherkarte nicht eine der
art hohe Kapazität aufweisen.
Eine Lösung zur Verringerung der Kapazität der Fehlerkorrek
turcodes besteht darin, Fehlerkorrekturcodes für jeden aus
wenigen Bytes bestehenden Block zu verwenden. Die Verwendung
einer größeren Blockgröße spart für die Fehlerkorrekturcodes
benötigte zusätzliche relative Speicherkapazität. Ein Nach
teil besteht jedoch darin, daß die Datenaktualisierung der
Fehlerkorrekturcodes auf der Grundlage der Daten des gesamten
Blocks berechnet werden muß, und daß die Datenzugriffszeit
mit zunehmender Datenlänge des Blocks länger wird.
Der Erfindung liegt daher die Aufgabe zugrunde, die vorste
hend beschriebenen Probleme zu lösen und eine Speicherkarte
zu schaffen, die eine große Kapazität, eine kurze Datenzu
griffszeit und die Fähigkeit der Datenfehlerkorrektur auf
weist.
Die erfindungsgemäße Speicherkarte ist wiederbeschreibbar,
kann Daten speichern, wenn sie von der Informationsverarbei
tungsvorrichtung abgetrennt ist, weist einen Hauptspeicher,
der Daten in Blockeinheiten mit einer vorbestimmten Bytelänge
speichert, und zudem eine Fehlerkorrektureinrichtung zur Be
rechnung der Fehlerkorrekturcodes für sämtliche Daten in ei
nem Block zum Auffinden von Fehlern in den Daten auf Grundla
ge der berechneten Fehlerkorrekturcodes und zu deren Korrek
tur auf.
Die vorstehend erwähnte Fehlerkorrektureinrichtung erfaßt
mittels der Fehlerkorrekturcodes in einem Hauptspeicher wie
einem statischen Schreib-Lesespeicher und einem Flashspeicher
gespeicherten Daten beispielsweise wegen eines Softwarefeh
lers erzeugte Fehler und korrigiert dann diese Fehler.
Vorzugsweise weist die Fehlerkorrektureinrichtung der Spei
cherkarte eine ECC-Berechnungseinheit zur Berechnung der Feh
lerkorrekturcodes für sämtliche in einem Block der Speichere
lemente gespeicherte Daten, eine ECC-Speichereinheit zum
Speichern der durch die ECC-Berechnungseinheit berechneten
Fehlerkorrekturcodes, eine ECC-Steuereinheit zum Vergleich
der durch die ECC-Berechnungseinheit berechneten Fehlerkor
rekturcodes für wiederzugewinnende Daten mit den Fehlerkor
rekturcodes für dieselben Daten, die vorher berechnet und in
der ECC-Speichereinheit gespeichert wurden, und zur Erzeugung
eines das Vergleichsergebnis anzeigenden Signals, sowie eine
Fehlerkorrektur-Steuereinheit zum Finden und zur Korrektur
eines Fehlers auf Grundlage des durch die ECC-Steuereinheit
erzeugten Vergleichsergebnisses auf.
Vorzugsweise weist die Speicherkarte außerdem eine wiederauf
ladbare Batterieeinrichtung zur Stromversorgung sowohl für
den Hauptspeicher als auch für die Fehlerkorrektureinrichtung
für eine vorbestimmte Zeitdauer auf, nachdem die Speicherkar
te von der Informationsverarbeitungsvorrichtung abgetrennt
ist.
Die Batterieeinrichtung versorgt den Hauptspeicher und die
Fehlerkorrektureinrichtung mit Strom, nachdem die Speicher
karte von der Informationsverarbeitungsvorrichtung abgetrennt
ist und dementsprechend die Stromversorgung aus der Informa
tionsverarbeitungsvorrichtung ausgeschaltet ist. Die Batte
rieeinrichtung gestattet der Fehlerkorrektureinrichtung, den
Aktualisierungsvorgang der Fehlerkorrekturcodes auszuführen,
selbst nachdem die Speicherkarte von der Informationsverar
beitungsvorrichtung abgetrennt ist.
Vorzugsweise weist die Fehlerkorrektureinrichtung der Spei
cherkarte außerdem eine Kennzeichen- bzw. Flageinrichtung zur
Anzeige auf, daß Daten in einen bestimmten Block geschrieben
worden sind.
Die Fehlerkorrektureinrichtung setzt ein Kennzeichen bzw.
Flag für einen Block, in den neue Daten geschrieben werden.
Die Fehlerkorrektureinrichtung erhält durch Zugriff auf das
Kennzeichen eines Blocks Informationen dahingehend, ob der
bestimmte Block der Speicherelemente einer Datenaktualisie
rung unterzogen wurde. Auf diese Weise kann die Fehlerkorrek
tureinrichtung die Fehlerkorrekturcodes nur für diejenigen
Blöcke berechnen, die einer Datenaktualisierung unterzogen
worden sind.
Vorzugsweise berechnet die ECC-Berechnungseinheit der Spei
cherkarte die Fehlerkorrekturcodes für aktualisierte Daten
zuerst durch Berechnung der Differenzdaten, die eine Diffe
renz zwischen den erneut zu schreibenden Bytes der aktuali
sierten Daten und den entsprechenden Bytes der ursprünglichen
Daten darstellen, die in demselben Bereich wie die aktuali
sierten Daten gespeichert worden sind, dann durch Berechnung
der Differenz-Fehlerkorrekturcodes, die die Fehlerkorrektur
codes für die Differenzdaten darstellen, und schließlich
durch Addition der Differenz-Fehlerkorrekturcodes zu den ur
sprünglichen Fehlerkorrekturcodes für die ursprünglichen Da
ten.
Zur Berechnung der Fehlerkorrekturcodes für aktualisierte Da
ten berechnet die ECC-Berechnungseinheit zuerst die Differenz
zwischen den aktualisierten Bytes und deren entsprechenden
ursprünglichen Bytes, wobei die aktualisierten Bytes diejeni
gen Bytes sind, die von deren ursprünglichen Bytes tatsäch
lich geändert worden sind. Die Differenz wird als Differenz
daten bezeichnet. Die ECC-Berechnungseinheit berechnet dann
die Fehlerkorrekturcodes lediglich für diejenigen Bytes, die
tatsächlich verändert worden sind (sic). Die wie vorstehend
beschrieben berechneten Fehlerkorrekturcodes werden zu den
ursprünglichen Fehlerkorrekturcodes zum Erhalt der Fehlerkor
rekturcodes für die aktualisierten Daten addiert. Mit diesem
Verfahren werden die Fehlerkorrekturcodes für die aktuali
sierten Daten nicht für den gesamten Block, sondern nur für
diejenigen Bytes berechnet, die von deren ursprünglichen
Bytes tatsächlich verändert worden sind.
Das erste erfindungsgemäße Fehlerkorrekturverfahren wird bei
einer wiederbeschreibbaren Speicherkarte mit einem Hauptspei
cher angewandt, die Daten in Blockeinheiten mit einer vorbe
stimmten Bytelänge speichert und Daten speichern kann, wenn
sie von der Informationsverarbeitungsvorrichtung abgetrennt
ist. Dieses Verfahren weist die folgenden Schritte auf: (a)
blockweises Lesen von in dem Hauptspeicher gespeicherten Da
ten, (b) Berechnen der Fehlerkorrekturcodes für die Daten,
die blockweise gelesen worden sind, (c) Vergleichen der gera
de berechneten Fehlerkorrekturcodes mit den vorher für die
Daten berechneten Fehlerkorrekturcodes, die in dem Hauptspei
cher gespeichert worden sind, und (d) Erkennen von Datenfeh
lern auf Grundlage des Vergleichsergebnisses und Korrigieren
der Fehler. Die Speicherkarte führt eine Datenkorrektur der
in dem Hauptspeicher gespeicherten Daten aus, wenn die Spei
cherkarte an die Informationsverarbeitungsvorrichtung ange
schlossen ist, oder wenn die Speicherkarte ein Steuersignal
aus der Informationsverarbeitungsvorrichtung empfängt.
Gemäß diesem ersten Fehlerkorrekturverfahren werden, wenn die
Speicherkarte an die Informationsverarbeitungsvorrichtung an
geschlossen ist, oder wenn die Speicherkarte ein Steuersignal
aus der Informationsverarbeitungsvorrichtung empfängt, in dem
Hauptspeicher gespeicherte Daten blockweise gelesen und die
Fehlerkorrekturcodes für die Daten berechnet. Die gerade be
rechneten Fehlerkorrekturcodes werden mit den Fehlerkorrek
turcodes verglichen, die vorher für dieselben Daten berechnet
worden sind. Datenfehler werden auf Grundlage des Vergleichs
ergebnisses erkannt und die Fehler der in der Speicherkarte
gespeicherten Daten korrigiert.
Das zweite Datenkorrekturverfahren wird ebenfalls bei einer
wiederbeschreibbaren Speicherkarte mit einem Hauptspeicher
angewandt, die Daten in Blockeinheiten mit einer vorbestimm
ten Bytelänge speichert und Daten speichern kann, wenn diese
von der Informationsverarbeitungsvorrichtung abgetrennt ist.
Dieses zweite Verfahren weist die folgenden Schritte auf: (a)
blockweises Lesen von in den Speicherelementen gespeicherten
Daten, (b) Berechnen der Fehlerkorrekturcodes für die Daten,
die blockweise gelesen worden sind, und (c) Aktualisieren der
vorher für die Daten berechneten Fehlerkorrekturcodes mit den
neu berechneten Fehlerkorrekturcodes. Die Speicherkarte ak
tualisiert die Fehlerkorrekturcodes für die in dem Hauptspei
cher gespeicherten Daten auf einmal, wenn die Speicherkarte
aus der Informationsverarbeitungsvorrichtung entfernt wird,
oder wenn die Speicherkarte ein Steuersignal aus der Informa
tionsverarbeitungsvorrichtung empfängt.
Gemäß diesem zweiten Datenkorrekturverfahren werden die Feh
lerkorrekturcodes nicht jedes Mal aktualisiert, wenn Daten in
die Speicherkarte geschrieben werden. Der Aktualisierungsvor
gang wird für die in dem Hauptspeicher gespeicherten Daten
auf einmal ausgeführt, wenn die Speicherkarte aus der Infor
mationsverarbeitungsvorrichtung entfernt wird oder wenn die
Speicherkarte ein Steuersignal aus der Informationsverarbei
tungsvorrichtung empfängt.
Das dritte Datenkorrekturverfahren wird ebenfalls bei einer
wiederbeschreibbaren Speicherkarte mit einem Hauptspeicher
angewandt, die Daten in Blockeinheiten mit einer vorbestimm
ten Bytelänge speichert und Daten speichern kann, wenn sie
von der Informationsverarbeitungsvorrichtung abgetrennt ist.
Zur Berechnung der Fehlerkorrekturcodes für aktualisierte Da
ten weist dieses dritte Verfahren die folgenden Schritte auf:
(a) Berechnen der Differenzdaten, die eine Differenz zwischen
den neu zu schreibenden, aktualisierten Daten und den ent
sprechenden Bytes der ursprünglichen Daten darstellen, die in
demselben Bereich wie die aktualisierten Daten gespeichert
worden sind, (b) Berechnen der Differenz-Fehlerkorrektur
codes, die die Fehlerkorrekturcodes für die Differenzdaten
darstellen, und (c) Addieren der Differenz-Fehlerkorrektur
codes zu den ursprünglichen Fehlerkorrekturcodes für die ur
sprünglichen Daten.
Dieses dritte Datenkorrekturverfahren weist die Berechnung
der Fehlerkorrekturcodes für die aktualisierten Daten auf.
Die Speicherkarte berechnet zuerst die Differenz zwischen den
aktualisierten Bytes und deren entsprechenden ursprünglichen
Bytes, wobei die aktualisierten Bytes diejenigen Bytes sind,
die von den ursprünglichen Bytes tatsächlich verändert worden
sind. Die Differenz wird als Differenzdaten bezeichnet. Dann
werden lediglich die Fehlerkorrekturcodes für die Differenz
daten berechnet. Die gerade berechneten Fehlerkorrekturcodes
werden zu den ursprünglichen Fehlerkorrekturcodes zum Erhalt
der Fehlerkorrekturcodes für die aktualisierten Daten ad
diert. Gemäß diesem Verfahren werden die Fehlerkorrekturcodes
für die aktualisierten Daten nicht für den gesamten Block be
rechnet, sondern nur für diejenigen Bytes, die von den ur
sprünglichen Bytes tatsächlich verändert worden sind.
Die Erfindung wird nachstehend anhand von bevorzugten Ausfüh
rungsbeispielen unter Bezugnahme auf die Zeichnung näher be
schrieben. Es zeigen:
Fig. 1 ein Blockschaltbild der erfindungsgemäßen Speicherkar
te gemäß Ausführungsbeispiel 1,
Fig. 2 den Speicherbereich des Hauptspeichers und des Fehler
korrekturcode-Speichers,
Fig. 3 ein Flußdiagramm des Initialisierungsvorgangs der
Speicherkarte gemäß Ausführungsbeispiel 1,
Fig. 4 den Ablauf für die Fehlerkorrekturcode-Berechnung,
Fig. 5 den Ablauf für die Fehlerkorrekturcode-Berechnung für
ein Byte,
Fig. 6 ein Flußdiagramm, das den Ablauf für die Fehlerkorrek
turcode-Berechnung für ein Byte darstellt,
Fig. 7 ein Flußdiagramm des Endablaufs der erfindungsgemäßen
Speicherkarte gemäß Ausführungsbeispiel 2,
Fig. 8 ein Blockschaltbild, das die erfindungsgemäße Spei
cherkarte gemäß Ausführungsbeispiel 3 darstellt,
Fig. 9 ein Flußdiagramm, das den Ablauf zum Setzen eines
Kennzeichen- bzw. Flag-Bits darstellt, und
Fig. 10 ein Flußdiagramm des Endablaufs, der durch Bezugnahme
auf die Kennzeichen- bzw. Flag-Bits ausgeführt wird.
Nachstehend wird die Erfindung unter Bezugnahme auf die in
der Zeichnung dargestellten Ausführungsbeispiele beschrieben.
Fig. 1 zeigt ein Blockschaltbild der erfindungsgemäßen Spei
cherkarte gemäß Ausführungsbeispiel 1. Die Speicherkarte
weist einen durch einen Flashspeicher ausgebildeten Haupt
speicher 11 zum Speichern von Daten, eine Schnittstellen
schaltung 13 zum Datenaustausch zwischen dem Hauptspeicher 11
und den anderen Schaltungen der Speicherkarte oder einer
(nicht dargestellten) externen Informationsverarbeitungsvor
richtung durch Setzen von Daten und Adreßdaten, eine Fehler
korrekturschaltung 15 zur Korrektur von Fehlern von in dem
Hauptspeicher 11 gespeicherten Daten sowie eine Spannungsver
sorgungs-Überwachungsschaltung 17 zur Überwachung der aus der
Informationsverarbeitungsvorrichtung über einen Anschluß Vcc
zugeführten Versorgungsspannung und zur Erzeugung von ent
sprechenden Steuersignalen auf.
Die Fehlerkorrekturschaltung 15 weist eine Fehlerkorrektur
code- bzw. ECC-Berechnungsschaltung 19 zur Berechnung von
Fehlerkorrekturcodes, einen Fehlerkorrekturcode- bzw.
ECC-Speicher 21 zum Speichern der für die in dem Hauptspeicher 11
gespeicherten Daten berechneten Fehlerkorrekturcodes, eine
Fehlerkorrekturcode-Steuerschaltung 23 zum Vergleich der Feh
lerkorrekturcodes sowie eine Fehlerkorrektur-Steuereinrich
tung 25 zum Steuern des Schreibens von korrigierten Daten und
zum Steuern der anderen Schaltungen auf. Die Fehlerkorrektur
code-Berechnungsschaltung 19 weist eine Fehlerkorrekturcode-
Berechnungstabelle auf, auf die zugegriffen wird, wenn die
Fehlerkorrekturcodes berechnet werden. Die Schnittstellen
schaltung 13 ist mit dem Hauptspeicher 11 über einen Offset
adressenbus 27, einen Blockadressenbus 29, einen Datenbus 31
und einen Steuersignalbus 33 verbunden. Die Fehlerkorrektur
schaltung 15 ist mit dem Offsetadressenbus 27, dem Block
adressenbus 29 und dem Datenbus 31 verbunden. Die Fehlerkor
rekturschaltung 15 ist ebenfalls mit der Schnittstellenschal
tung 13 über den Bus 37 verbunden.
Daten werden über den Datenbus 31 in den Hauptspeicher 11 ge
schrieben oder aus diesem gelesen. Eine Adresse wird in dem
Hauptspeicher 11 über den Offsetadressenbus 27 und den Block
adressenbus 29 gesetzt. Der Offsetadressenbus 27 und der
Blockadressenbus 29 werden nachstehend beschrieben. Der Steu
erbus 33 überträgt Steuersignale wie das Schreib-Freigabe
signal zu dem Hauptspeicher 11.
Die Spannungsversorgungs-Überwachungsschaltung 17 führt eine
Überprüfung aus, damit herausgefunden wird, ob die durch die
Informationsverarbeitungsvorrichtung zugeführte Versorgungs
spannung größer oder gleich einer vorbestimmten Spannung ist,
und sendet dann Steuersignale zu der Fehlerkorrekturschaltung
15, die wiederum mittels dieses Signals bestimmt, ob die
Speicherkarte an die Informationsverarbeitungsvorrichtung an
geschlossen ist. Die Arbeitsweise der Speicherkarte wird
nachstehend beschrieben.
Zunächst wird unter Bezugnahme auf Fig. 2 der Speicherbereich
des Hauptspeichers 11 und des Fehlerkorrekturcode-Speichers
21 gemäß dem vorliegenden Ausführungsbeispiel beschrieben.
Gemäß Fig. 2 ist der Bereich des Hauptspeichers 11 in Blöcke
derselben Größe aufgeteilt, und jeder Block entspricht einem
dem in diesem Block gespeicherten Daten zugehörigen Fehler
korrekturcode. Diese Blöcke sind durch die Blockadressen und
jedes Byte in dem Block durch eine Offsetadresse bestimmt.
Gemäß dem vorliegenden Ausführungsbeispiel wird angenommen,
daß der Hauptspeicher 11 in N Blöcke aufgeteilt ist.
Die Speicherkarte gemäß dem vorliegenden Ausführungsbeispiel
führt einen als "Initialisierungsvorgang" bezeichneten Vor
gang aus, bei dem sie in den in dem Hauptspeicher 11 gespei
cherte Daten erzeugte Fehler erfaßt und diese auf Grundlage
deren Fehlerkorrekturcodes korrigiert. Der "Initialisierungs
vorgang" wird typischerweise ausgeführt, unmittelbar nachdem
die Speicherkarte an die Informationsverarbeitungsvorrichtung
angeschlossen ist. Im einzelnen wird, wenn die Speicherkarte
an die Informationsverarbeitungsvorrichtung angeschlossen
ist, aus der Informationsverarbeitungsvorrichtung der Spei
cherkarte Strom zugeführt. Die Spannungsversorgungs-Über
wachungsschaltung 17 führt eine Überprüfung zur Bestimmung
aus, ob die Spannung größer oder gleich einer vorbestimmten
Spannung ist, und erzeugt auf Grundlage der erfaßten Spannung
ein Signal. Bei Empfang dieses Signals bestimmt die Fehler
korrekturschaltung 15, daß die Speicherkarte an die Informa
tionsverarbeitungsvorrichtung angeschlossen ist und beginnt
den nachstehend beschriebenen Initialisierungsvorgang.
Fig. 3 zeigt ein Flußdiagramm des Initialisierungsvorgangs
der Speicherkarte gemäß dem vorliegenden Ausführungsbeispiel.
Zuerst initialisiert die Fehlerkorrektur-Steuereinrichtung 25
den Index i auf Null (S101), der die zu verarbeitende Block
anzahl angibt. Anschließend sendet die Fehlerkorrektur-
Steuereinrichtung 25 die Blockadresse des i. Blocks zu dem
Hauptspeicher 11 über den Blockadressenbus 29 und überträgt
die Daten des i. Blocks zu der Fehlerkorrekturcode-Be
rechnungsschaltung 19 über den Datenbus 31 (i = 0, . . . , N).
Die Fehlerkorrekturcode-Berechnungsschaltung 19 führt die
Fehlerkorrekturcode- bzw. ECC-Berechnung der wiedergewonnenen
Daten aus (S102). Die Fehlerkorrekturcode-Berechnung wird
nachstehend näher beschrieben.
Der Fehlerkorrekturcode- bzw. ECC-Speicher 21 speichert die
berechneten Fehlerkorrekturcode-Werte, wenn der letzte
Schreibvorgang ausgeführt wurde. Wenn die Fehlerkorrektur
code-Berechnung für die Daten des i. Blocks abgeschlossen
ist, vergleicht die Fehlerkorrekturcode-Steuerschaltung 23
den gerade berechneten Fehlerkorrekturcode-Wert in der Feh
lerkorrekturcode- bzw. ECC-Berechnungsschaltung 19 mit dem in
dem Fehlerkorrekturcode- bzw. ECC-Speicher 21 gespeicherten
Fehlerkorrekturcode-Wert (S103). Falls die beiden Fehlerkor
rekturcode-Werte dieselben sind, fährt der Vorgang mit dem
Schritt S105 fort. Falls sie voneinander verschieden sind,
bestimmt die Fehlerkorrektur-Steuereinrichtung 25, daß Fehler
aufgetreten sind, und führt eine Fehlerkorrektur aus (S104).
Die Fehlerbits werden durch die Fehlerkorrektur-Steuerein
richtung 25 erkannt, wenn die Fehlerkorrekturcode-Werte bei
dem Schritt 103 verglichen werden (der Ablauf zur Erkennung
von Fehlerbits wird nachstehend beschrieben). Dann sendet die
Fehlerkorrektur-Steuereinrichtung 25 die Offsetadresse und
die Blockadresse zu der Schnittstellenschaltung 13 zur Be
stimmung der Fehlerbits und der korrekten Daten und veranlaßt
die Schnittstellenschaltung 13, die korrekten Daten in den
Hauptspeicher 11 zu schreiben.
Nach der Fehlerkorrektur fährt der Vorgang mit dem Schritt
S105 fort, bei dem der Index i zur Bestimmung des zu verwen
denden nächsten Datenblocks um 1 inkrementiert wird. Da die
ser Fehlerkorrekturvorgang für sämtliche Blöcke ausgeführt
werden muß, werden der Index i und die Blockanzahl N bei dem
Schritt S106 verglichen. Falls der Index nicht größer als N
ist, d. h. falls die Fehlerkorrektur nicht für sämtliche Blöc
ke ausgeführt worden ist, kehrt der Vorgang zu dem Schritt
S102 zurück, bei dem ein anderer Fehlerkorrekturvorgang für
den nächsten Block beginnt. Die Schritte S102 bis S106 werden
wiederholt, bis i kleiner oder gleich N ist, mit anderen Wor
ten, bis der Fehlerkorrekturvorgang für sämtliche Blöcke aus
geführt worden ist.
Daher führt der Initialisierungsvorgang gemäß dem vorliegen
den Ausführungsbeispiel die Fehlerkorrektur aus, wenn die
Speicherkarte an eine Informationsverarbeitungsvorrichtung
angeschlossen ist, wodurch die Zuverlässigkeit der in der
Speicherkarte gespeicherten Daten verbessert wird. Da die
Fehlerkorrekturcodes für jeden Block berechnet werden, ist
deren Größe ebenfalls gering und die erforderliche Kapazität
der Fehlerkorrekturcodes bezogen auf die Gesamtkapazität
ebenfalls gering.
Gemäß der vorangehenden Beschreibung wird der Initialisie
rungsvorgang ausgeführt, unmittelbar nachdem die Speicherkar
te in eine Informationsverarbeitungsvorrichtung eingesetzt
wird. Es sei jedoch bemerkt, daß anstatt dessen ein Steuersi
gnal aus der Informationsverarbeitungsvorrichtung ebenfalls
den Initialisierungsvorgang entweder periodisch oder zu einem
willkürlichen Zeitpunkt einleiten kann.
Nachstehend wird der Ablauf der Fehlerkorrekturcode-Be
rechnung unter Bezug auf Fig. 4 beschrieben. Gemäß dem vor
liegenden Ausführungsbeispiel werden Hamming-Fehlerkorrektur
codes verwendet. Fig. 4 zeigt in einem Datenblock 51 gespei
cherte Daten, zu dem Datenblock 51 gehörige Fehlerkorrektur
code- bzw. ECC-Daten 52 sowie eine Fehlerkorrekturcode- bzw.
ECC-Berechnungstabelle 53 zur Berechnung der Fehlerkorrektur
code-Daten 52. Der Einfachheit halber sei angenommen, daß die
Datenblocklänge 4 Byte (32 Bit) beträgt. Die erforderliche
Fehlerkorrekturcode- bzw. ECC-Datenlänge für diese Daten
blocklänge beträgt 6 Bits.
Ein Bit der Fehlerkorrekturcode-Daten 52 wird wie folgt be
rechnet: zuerst werden Bits des Datenblocks 51 ausgewählt,
die den in einer der Spalten der Fehlerkorrekturcode-Be
rechnungstabelle 53 auf Eins gesetzten Bits entsprechen, die
se ausgewählten Bits werden modulo-zwei-addiert, und das die
ser bestimmten Spalte entsprechende Fehlerkorrekturcode-Bit
wird derart bestimmt, daß die Summe des Fehlerkorrekturcode-
Bits und die Summe der ausgewählten Bits bei Modulo-Zwei
ebenfalls Null beträgt. e0 wird unter Verwendung der ersten
Spalte der Fehlerkorrekturcode-Berechnungstabelle 53, e1 un
ter Verwendung der zweiten Spalte, usw. berechnet. e5 wird
unter Verwendung der letzten Spalte berechnet. Die Modulo-
Zwei-Addition erfolgt wie folgt 1 + 0 = 0 + 1 = 1 sowie 1 +
1 = 0 + 0 = 0.
Die Berechnung des Bits e0 der Fehlerkorrekturcode-Daten 52
wird nachstehend als Beispiel beschrieben. Das Bit e0 wird
unter Verwendung der ersten Spalte der Fehlerkorrekturcode-
Berechnungstabelle 53 berechnet. Im einzelnen werden die Bits
des Datenblocks 51 (Offset 0 - Offset 3), die den in der er
sten Spalte der Fehlerkorrekturcode-Berechnungstabelle 53 ge
setzten Bits entsprechen, modulo-zwei-addiert. In diesem Fall
ergibt sich "0". Das Bit e0 wird derart bestimmt, daß die
Summe der vorstehend berechneten "0" und des Bits e0 "0" be
trägt. Deswegen beträgt eo "0". Auf ähnliche Weise werden zum
Erhalt des Bits e1 die Bits des Datenblocks 51, die den in
der zweiten Spalte der Fehlerkorrekturcode-Berechnungstabelle
53 gesetzten Bits entsprechen, modulo-zwei-addiert. In diesem
Fall ergibt sich "1". Das Bit e1 wird derart bestimmt, daß
die Summe der vorstehend berechneten "1" und des Bits e1 "0"
beträgt. Deswegen beträgt e1 "1". Die anderen Bits e2 bis e5
werden auf ähnliche Weise bestimmt.
Nachstehend wird der Ablauf zur Erkennung eines Fehlerbits
unter Verwendung der Fehlerkorrekturcode-Daten 52 näher be
schrieben. Zuerst werden die Fehlerkorrekturcode-Bits, die
berechnet und gespeichert worden sind, wenn die Daten ge
schrieben worden sind, und die gerade berechneten Fehlerkor
rekturcode-Bits verglichen, wenn die Daten gelesen wurden,
und diejenigen Fehlerkorrekturcode-Bits werden erkannt, die
sich nicht entsprechen. Die Spalten werden identifiziert, die
zu denjenigen der Fehlerkorrekturcode-Bits gehören, die sich
nicht entsprechen. Anschließend wird ein Bit des Datenblocks
erkannt, dessen entsprechende Bits dieser Spalten der Fehler
korrekturcode-Berechnungstabelle sämtlich auf "1" gesetzt
sind. Das auf diese Weise erkannte Bit des Datenblocks ist
ein Fehlerbit.
Beispielsweise sei bei dem Schritt S104 angenommen, daß die
Bits e0, e2 sowie e4 der gerade berechneten Fehlerkorrektur
code-Daten denen in dem Fehlerkorrekturcode-Speicher 21 ge
speicherten nicht entsprechen. Dann wird ein Bit des Daten
blocks erkannt, dessen entsprechende Bits der ersten, dritten
und fünften Spalte der Fehlerkorrekturcode-Berechnungstabelle
53 sämtlich auf "1" gesetzt sind. Gemäß Fig. 4 ist das Bit
des Datenblocks das erste in dem Offset 1. Deswegen ist die
ses Bit ein Fehlerbit. Sobald ein Fehlerbit identifiziert
wird, wird dessen Bit von "1" auf "0" oder umgekehrt zum Er
halt eines korrekten Bits umgekehrt. Auf diese Weise kann das
Fehlerkorrekturverfahren gemäß dem vorliegenden Ausführungs
beispiel einen Einbitfehler innerhalb eines Blocks korrigie
ren.
Nachstehend wird der Fehlerkorrekturcode-Aktualisierungvor
gang beschrieben, bei dem die Daten aktualisiert werden. Die
Speicherkarte gemäß dem vorliegenden Ausführungsbeispiel be
rechnet die Fehlerkorrekturcodes nur für Bytes, die erneut
geschrieben werden, anstelle für den gesamten Datenblock, wo
durch die Fehlerkorrekturcode-Berechnung effektiver gemacht
wird.
Fig. 5 stellt die Fehlerkorrekturcode-Berechnung dar, wenn
ein Byte breite Daten 54 des Offsets 1 des in Fig. 4 darge
stellten Datenblocks 51 aktualisiert werden. Die Daten des
Offsets wurden von "11010010" auf "100001101" aktualisiert.
Der Ablauf für die Fehlerkorrekturcode-Berechnung dieser Ver
änderung ist in einem Flußdiagramm in Fig. 6 dargestellt.
Wenn die Informationsverarbeitungsvorrichtung über die
Schnittstellenschaltung 13 zu dem Hauptspeicher 11 die Offse
tadresse und die Datenblockadresse zum Überschreiben von Da
ten sendet (S102), liest die Fehlerkorrektur-Steuereinrich
tung 25 die ursprünglichen Daten "11010010" vor dem Über
schreiben (S202). Neue Daten 55 "100001101" werden über den
Datenbus 31 in dem Hauptspeicher 11 gesetzt (S203) und ge
schrieben (S204). Die Fehlerkorrektur-Steuereinrichtung 25
berechnet Differenzdaten 56 aus den bei dem Schritt S202 er
haltenen ursprünglichen Daten 54 und den neuen überschriebe
nen Daten 55 (S205). Die Differenzdaten weisen eine Verände
rung jedes Bits auf und werden durch Ausführung einer Exklu
siv-Oder-Verknüpfung (XOR) zwischen dem ursprünglichen Offset
und dem neuen Offset erhalten.
Die Fehlerkorrekturcode- bzw. ECC-Berechnungsschaltung 19
greift auf die Fehlerkorrekturcode- bzw. ECC-Berechnungs
tabelle 53 zu (S206) und berechnet Differenz-Fehlerkorrektur
codes bzw. -ECCs 57, die die den Differenzdaten 56 entspre
chenden Fehlerkorrekturcodes sind (S207). Die Fehlerkorrek
turcode-Steuerschaltung 23 gewinnt die Fehlerkorrekturcodes
52 "010110" der ursprünglichen Daten aus dem Fehlerkorrektur
code-Speicher 21 zurück (S208). Die Fehlerkorrektur-Steuer
einrichtung 25 addiert die ursprünglichen Fehlerkorrektur
codes 52 und die Differenz-Fehlerkorrekturcodes 57 modulo
zwei zum Erhalt der neuen Fehlerkorrekturcodes 58 (S209). Der
Fehlerkorrekturcode-Speicher 21 wird mit den neuen Fehlerkor
rekturcodes 58 aktualisiert (S210).
Wenn Daten aktualisiert werden, berechnet die Speicherkarte
gemäß dem vorliegenden Ausführungsbeispiel die Fehlerkorrek
turcodes nur für diejenigen Bytes, die verändert worden sind,
anstelle für den gesamten Datenblock. Dies verringert die
Zeit zur Berechnung der Fehlerkorrekturcodes und aktualisiert
die Fehlerkorrekturcodes effektiv. Dieser Wirkungsgrad wird
für eine größere Blockgröße bedeutender.
Vorstehend ist der Einfachheit halber angenommen, daß die Da
tenblocklänge 4 Byte beträgt, was 6 Bits für die Fehlerkor
rekturcodes benötigt. Falls die Datenblocklänge 256 Byte be
trägt, sind für die Fehlerkorrekturcodes lediglich 12 Bits
erforderlich. In diesem Fall beträgt die erforderliche Kapa
zität für eine Speicherkarte mit vier MByte nur 24 kByte.
Daher weist die Speicherkarte gemäß dem vorliegenden Ausfüh
rungsbeispiel die Fehlerkorrekturschaltung 15 auf, die die
Fehlerkorrektur für die in der Speicherkarte gespeicherten
Daten ausführen kann und auf diese Weise die Zuverlässigkeit
der Daten der Speicherkarte erhöhen kann.
Gemäß der vorangehenden Beschreibung des Ausführungsbeispiels
1 werden die Fehlerkorrekturcodes jedes Mal aktualisiert,
wenn die Daten aktualisiert werden. Demgegenüber führt die
Speicherkarte gemäß dem vorliegenden Ausführungsbeispiel ei
nen als "Endablauf" bezeichneten Vorgang periodisch oder un
mittelbar dann aus, bevor die Karte von der Informationsver
arbeitungsvorrichtung im Ansprechen auf ein über den externen
Bus 35 aus der Informationsverarbeitungsvorrichtung gesende
tes Steuersignal abgetrennt wird. Bei dem Endablauf werden
die Fehlerkorrekturcodes der Daten der Speicherkarte auf ein
mal aktualisiert. Nachstehend folgt eine ausführliche Be
schreibung des Endablaufs.
Fig. 7 zeigt ein Flußdiagramm des Endablaufs. Zuerst initia
lisiert die Fehlerkorrektur-Steuereinrichtung 25 den Index i
auf Null (S301), der die zu verarbeitende Blockanzahl angibt.
Anschließend sendet die Fehlerkorrektur-Steuereinrichtung 25
die Blockadresse des i. Blocks zu dem Hauptspeicher 11 und
liest die Daten des i. Blocks (S302). Die Fehlerkorrektur
code- bzw. ECC-Berechnungsschaltung 19 führt die Fehlerkor
rekturcode-Berechnung der wiedergewonnenen Daten aus (S303)
Die Fehlerkorrektur-Steuereinrichtung 25 speichert die be
rechneten Fehlerkorrekturcodes in dem Fehlerkorrekturcode
bzw. ECC-Speicher 21 (S304). Dann wird der Index i zur Be
stimmung des zu verarbeitenden nächsten Datenblocks um Eins
inkrementiert (S305).
Zur Bestimmung, ob die Fehlerkorrekturcodes sämtlicher Daten
blöcke berechnet worden sind, wird der Index i mit der Block
anzahl N verglichen (S306). Falls der Index nicht größer als
N ist, d. h. falls die Fehlerkorrekturcode-Berechnung nicht
für sämtliche Blöcke ausgeführt worden ist, kehrt der Vorgang
zu dem Schritt S302 zurück, bei dem die Fehlerkorrekturcode-
Berechnung für den nächsten Block beginnt. Die vorstehend be
schriebenen Schritte werden wiederholt, bis die Fehlerkorrek
turcode-Berechnung für sämtliche Blöcke ausgeführt ist. Wenn
die Fehlerkorrekturcode-Berechnung für sämtliche Blöcke abge
schlossen ist, ist der Vorgang beendet.
Daher führt die Speicherkarte gemäß dem vorliegenden Ausfüh
rungsbeispiel den Endablauf für die Daten des Hauptspeichers
11 auf einmal entweder periodisch oder unmittelbar aus, bevor
die Karte aus der Informationsverarbeitungsvorrichtung ent
fernt wird. Dieses Vorgehen verringert die Schreibvorgangs
zeit verglichen mit derjenigen gemäß Ausführungsbeispiel 1,
bei dem die Fehlerkorrekturcodes jedes Mal dann berechnet
werden, wenn Daten geschrieben werden.
Fig. 8 zeigt die Speicherkarte gemäß Ausführungsbeispiel 3.
Die Speicherkarte gemäß dem vorliegenden Ausführungsbeispiel
weist zusätzlich zu derjenigen in Fig. 1 dargestellten außer
dem eine Diode 61 und eine Sicherungsbatterie 63 auf. Die Di
ode 61 ist mit dem Spannungsversorgungsanschluß Vcc an deren
Kathode und mit dem Spannungsversorgungs-Eingangsanschluß der
Schnittstellenschaltung 13 an deren Anode verbunden. Die Si
cherungsbatterie 63 ist wiederaufladbar und an die Anode der
Diode 61 an ihrem Pluspol angeschlossen und an ihrem Minuspol
geerdet. Die Diode 61 verhindert, daß ein Strom aus der Si
cherungsbatterie 63 zu der Versorgungsspannungs-Überwachungs
schaltung 17 fließt. Die Sicherungsbatterie 63 wird aus der
Spannungsversorgung der Informationsverarbeitungsvorrichtung
wiederaufgeladen, während die Speicherkarte daran angeschlos
sen ist.
Gemäß dem vorliegenden Ausführungsbeispiel wird selbst dann,
nachdem die Speicherkarte von der Informationsverarbeitungs
vorrichtung abgetrennt ist, dem Hauptspeicher 11, der
Schnittstellenschaltung 13 sowie der Fehlerkorrekturschaltung
15 für eine vorbestimmte Zeitdauer Strom zugeführt. Wenn die
Speicherkarte abgetrennt ist, erfaßt die Versorgungsspan
nungs-Überwachungsschaltung 15 einen Abfall der Versorgungs
spannung und sendet ein Steuersignal zu der Fehlerkorrektur
schaltung 15, wenn die Spannung unter einem vorbestimmten
Wert ist. Nach dem Empfang dieses Steuersignals führt die
Fehlerkorrekturschaltung 15 den "Endablauf" der Fehlerkorrek
turcode-Berechnung für die gespeicherten Daten auf einmal
aus.
Daher weist die Speicherkarte gemäß dem vorliegenden Ausfüh
rungsbeispiel eine Sicherungsbatterie 63 auf, die den Schal
tungen der Speicherkarte für eine vorbestimmte Zeitdauer
Strom zuführt, nachdem der Strom aus der Informationsverar
beitungsvorrichtung ausgeschaltet ist, so daß die Fehlerkor
rekturschaltung 15 den Endablauf ausführen kann. Dies stellt
sicher, daß die Fehlerkorrekturcodes der Daten der Speicher
karte durch den Endablauf jedes Mal dann erzeugt werden, wenn
die Speicherkarte von der Informationsverarbeitungsvorrich
tung abgetrennt wird. Dies verbessert die Zuverlässigkeit der
Speicherkarte. Zudem müssen Benutzer sich nicht über den End
ablauf sorgen, wenn sie die Speicherkarte entfernen.
Die Kapazität der Sicherungsbatterie 63 kann relativ niedrig
sein, weil sie lediglich dann eingeschaltet sein muß, während
der Endablauf ausgeführt wird. Es sei bemerkt, daß gemäß dem
vorliegenden Ausführungsbeispiel eine wiederaufladbare Batte
rie als Sicherungsbatterie verwendet wird, aber ein Kondensa
tor mit einer großen Kapazität kann die Batterie auch erset
zen.
Die Speicherkarte gemäß dem vorliegenden Ausführungsbeispiel
weist in der Fehlerkorrektur-Steuereinrichtung 25 Register
auf, die Kennzeichen- bzw. Flag-Bits enthalten, die anzeigen,
ob einzelne Blöcke hinsichtlich ihrer Daten Aktualisierungen
unterzogen worden sind. Die Fehlerkorrektur-Steuereinrichtung
25 kann Blöcke erkennen, die durch Zugriff auf die Kennzei
chenbits der Register aktualisiert worden sind. Der Ablauf
zum Setzen eines Kennzeichenbits in diesen Registern wird
nachstehend unter Bezug auf das in Fig. 9 dargestellte Fluß
diagramm beschrieben.
Beim Schreiben von Daten in den Hauptspeicher 11 werden zu
erst eine Blockadresse und eine Offsetadresse in dem Haupt
speicher über den Blockadressenbus 29 bzw. den Offsetadres
senbus 27 gesetzt (S401). Dann werden Daten über den Datenbus
31 gesetzt (S402) und die Daten in den Hauptspeicher ge
schrieben (S403). Die Fehlerkorrektur-Steuereinrichtung 25
setzt ein dem Block entsprechendes Flag, der einer Datenak
tualisierung auf "1" unterzogen wurde (S404). Daher ist das
Flag in den Registern für denjenigen Block gesetzt worden,
der einer Datenaktualisierung unterzogen wurde.
Fig. 10 zeigt ein Flußdiagramm des durch Zugriff auf Kennzei
chen- bzw. Flag-Bits ausgeführten Endablaufs. Zuerst wird der
die Blocknummer angebende Index i auf Null initialisiert
(S501). Die Fehlerkorrektur-Steuereinrichtung 25 greift auf
das Kennzeichenbit des i. Blocks in den Registern zu und
überprüft, ob das Kennzeichenbit auf "1" gesetzt ist (S502).
Falls das Kennzeichenbit "0" ist, bestimmt die Fehlerkorrek
tur-Steuereinrichtung 25, daß die Daten des Blocks nicht ak
tualisiert worden sind. Dann fährt der Vorgang mit dem
Schritt S506 fort. Falls das Kennzeichenbit "1" ist, bestimmt
die Fehlerkorrektur-Steuereinrichtung 25, daß die Daten des
Blocks aktualisiert worden sind und gewinnt die Daten des i.
Blocks zurück (S503). Die Fehlerkorrekturcode- bzw. ECC-Be
rechnungsschaltung 19 berechnet die Fehlerkorrekturcodes für
diese Daten durch denselben vorstehend beschriebenen Ablauf
(S504). Dann werden die in dem Fehlerkorrekturcode- bzw.
ECC-Speicher 21 gespeicherten alten Fehlerkorrekturcode-Werte mit
den neuen berechneten Fehlerkorrekturcode-Werten aktuali
siert.
Bei dem Schritt S506 wird der Index i zur Bestimmung des zu
überprüfenden nächsten Kennzeichenbits um Eins inkrementiert.
Zur Bestimmung, ob sämtliche Kennzeichenbits in den Registern
überprüft worden sind, wird der Index i mit der Blockanzahl N
verglichen (S507). Falls die Bits nicht alle überprüft worden
sind, kehrt der Ablauf zu dem Schritt S502 zurück, und der
vorstehend beschriebene Ablauf wird wiederholt, bis sämtliche
Kennzeichenbits überprüft sind. Wenn sämtliche Kennzeichen
bits überprüft worden sind, ist der Vorgang beendet. Sämtli
che Kennzeichenbits werden auf "0" zurückgesetzt, nachdem der
Initialisierungsvorgang oder der Endablauf abgeschlossen ist.
Wenn Daten geschrieben werden, setzt die Speicherkarte gemäß
dem vorliegenden Ausführungsbeispiel daher ein Kennzeichenbit
für jeden Block, der einer Datenaktualisierung unterzogen
wurde. Die Speicherkarte überprüft das Kennzeichenbit jedes
Blocks und führt die Fehlerkorrekturcode-Berechnung nur für
diejenigen Blöcke aus, die einer Datenaktualisierung unterzo
gen wurden. Dieses Vorgehen verringert die Verarbeitungszeit
des Endablaufs.
Die erfindungsgemäße Speicherkarte weist eine Fehlerkorrek
turschaltung auf, die bei den in der Speicherkarte gespei
cherten Daten erzeugte Fehler durch Berechnung deren Fehler
korrekturcodes erfaßt und korrigiert. Auf diese Weise wird
die Zuverlässigkeit der Speicherkarte verbessert. Die Berech
nung der Fehlerkorrekturcodes wird blockweise ausgeführt.
Dementsprechend verringert dieses Verfahren die für die Be
rechnung erforderliche Zeit und hält die Größe der Fehlerkor
rekturcodes gering. Die Fehlerkorrektur wird durch die Spei
cherkarte ohne Belastung der Informationsverarbeitungsvor
richtung ausgeführt.
Eine bevorzugte erfindungsgemäße Speicherkarte weist eine
Batterieeinrichtung auf, die den Speicherelementen und der
Fehlerkorrektureinrichtung selbst dann Strom zuführt, nachdem
die Speicherkarte von der Informationsverarbeitungsvorrich
tung abgetrennt wird. Dementsprechend kann die Fehlerkorrek
tureinrichtung die Fehlerkorrekturcodes für die in der Spei
cherkarte gespeicherten Daten berechnen, nachdem die Spei
cherkarte entfernt wird. Deswegen müssen die Fehlerkorrektur
codes nicht jedesmal berechnet werden, wenn Daten geschrieben
werden. Daher ist die Schreibzeit dieser Speicherkarte gerin
ger als diejenige einer Speicherkarte, die die Fehlerkorrek
turcodes jedesmal berechnet, wenn Daten geschrieben werden.
Außerdem können Benutzer die Speicherkarte ohne Berücksichti
gung des Fehlerkorrekturvorgangs entfernen.
Eine andere bevorzugte erfindungsgemäße Speicherkarte weist
eine Aufzeichnungseinrichtung zur Aufzeichnung der Blockan
zahl auf, die einer Datenaktualisierung unterzogen wurde. Die
Datenkorrektureinrichtung erkennt Blöcke, die einer Datenak
tualisierung unterzogen waren, und berechnet die Fehlerkor
rekturcodes nur für diejenigen Blöcke, die einer Datenaktua
lisierung unterzogen worden waren. Deswegen wird die Verar
beitungszeit für die Berechnung der Fehlerkorrekturcodes ver
ringert.
Gemäß einer anderen bevorzugten Speicherkarte werden die Feh
lerkorrekturcodes für aktualisierte Daten zuerst durch Be
rechnung der Differenzdaten berechnet, die die Differenz zwi
schen den aktualisierten Bytes der aktualisierten Daten und
deren entsprechenden Bytes der ursprünglichen Daten darstel
len, wobei die aktualisierten Bytes diejenigen Bytes sind,
die von den ursprünglichen Bytes tatsächlich abgeändert wor
den sind. Dann werden die Fehlerkorrekturcodes für die Diffe
renzdaten berechnet. Die Fehlerkorrekturcodes für die aktua
lisierten Daten werden auf Grundlage der Fehlerkorrekturcodes
für die Differenzdaten erhalten. Daher werden die Fehlerkor
rekturcodes für die aktualisierten Daten nicht für den gesam
ten Block berechnet, sondern nur für diejenigen Bytes, die
tatsächlich von deren ursprünglichen Bytes verändert worden
sind. Deswegen wird die Berechnungszeit der Fehlerkorrektur
codes verringert und der Wirkungsgrad des Schreibablaufs ver
bessert.
Gemäß dem ersten erfindungsgemäßen Fehlerkorrekturverfahren
werden in den Speicherelementen gespeicherte Daten blockweise
gelesen, wenn die Speicherkarte an die Informationsverarbei
tungsvorrichtung angeschlossen ist, oder wenn die Speicher
karte ein Steuersignal aus der Informationsverarbeitungsvor
richtung empfängt. Dann werden Datenfehler erkannt und mit
tels der Fehlerkorrekturcodes für die wiedergewonnenen Daten
korrigiert. Dieses Verfahren verbessert die Zuverlässigkeit
der Daten, wenn die Speicherkarte verwendet wird.
Gemäß dem zweiten erfindungsgemäßen Datenkorrekturverfahren
werden die Fehlerkorrekturcodes nicht jedes Mal dann aktuali
siert, wenn Daten in die Speicherkarte geschrieben werden.
Der Aktualisierungsvorgang wird für die in den Speicherele
menten gespeicherten Daten auf einmal ausgeführt, wenn die
Speicherkarte aus der Informationsverarbeitungsvorrichtung
entfernt wird, oder wenn die Speicherkarte ein Steuersignal
aus der Informationsverarbeitungsvorrichtung empfängt. Daher
wird die Schreibzeit dieses Verfahrens verglichen mit derje
nigen des Verfahrens verringert, bei dem die Fehlerkorrektur
codes jedes Mal dann berechnet werden, wenn Daten geschrieben
werden.
Gemäß dem dritten erfindungsgemäßen Datenkorrekturverfahren
werden die Fehlerkorrekturcodes für die aktualisierten Daten
zuerst durch Berechnung der Differenzdaten berechnet, die die
Differenz zwischen den aktualisierten Bytes der aktualisier
ten Daten und deren entsprechenden Bytes der ursprünglichen
Daten darstellen, wobei die aktualisierten Bytes diejenigen
Bytes sind, die tatsächlich von deren ursprünglichen Bytes
verändert worden sind. Dann werden die Fehlerkorrekturcodes
für die Differenzdaten berechnet. Die Fehlerkorrekturcodes
für die aktualisierten Daten werden auf Grundlage der Fehler
korrekturcodes für die Differenzdaten erhalten. Daher werden
die Fehlerkorrekturcodes für die aktualisierten Daten nicht
für den gesamten Block berechnet, sondern nur für diejenigen
Bytes, die tatsächlich von deren ursprünglichen Bytes verän
dert worden sind. Deswegen wird die Berechnungszeit der Feh
lerkorrekturcodes verringert und der Wirkungsgrad des
Schreibvorganges verbessert.
Die erfindungsgemäße Speicherkarte weist eine Fehlerkorrek
turschaltung 15 mit einer Fehlerkorrekturcode- (ECC-) Berech
nungsschaltung 19 zur blockweisen Berechnung von Fehlerkor
rekturcodes für in einem Hauptspeicher 11 gespeicherte Daten,
einen ECC-Speicher 21 zum Speichern der durch die ECC-Be
rechnungsschaltung 19 berechneten Fehlerkorrekturcodes, eine
ECC-Steuerschaltung 23 zum Vergleich der durch die ECC-Be
rechnungsschaltung 19 für wiederzugewinnende Daten berechne
ten Fehlerkorrekturcodes mit den Fehlerkorrekturcodes für
dieselben Daten, die vorher berechnet und in diesem
ECC-Speicher 21 gespeichert worden sind, und zur Erzeugung eines
das Vergleichsergebnis angebenden Signals, sowie eine Fehler
korrektur-Steuereinrichtung 25 zur Ermittlung und Korrektur
von Fehlern auf Grundlage des durch die ECC-Steuerschaltung
23 erzeugten Vergleichsergebnisses auf.
Claims (8)
1. Wiederbeschreibbare Speicherkarte,
gekennzeichnet durch
eine Schnittstellenschaltung (13) zur Verbindung der Speicherkarte und einer externen Informationsverarbeitungs vorrichtung, an die die Speicherkarte angeschlossen ist,
einen Hauptspeicher (11) zum Speichern von über die Schnittstellenschaltung (13) aus der externen Informations verarbeitungsvorrichtung ges endeten Daten in Blockeinheiten mit einer vorbestimmten Bytelänge und
einer Fehlerkorrekturschaltung (15) zur Berechnung von Fehlerkorrekturcodes für sämtliche in dem Speicher (11) gespeicherten Blockdaten, Ermittlung eines Fehlers der Daten auf Grundlage der berechneten Fehlerkorrekturcodes und zur Korrektur des Fehlers der Daten.
gekennzeichnet durch
eine Schnittstellenschaltung (13) zur Verbindung der Speicherkarte und einer externen Informationsverarbeitungs vorrichtung, an die die Speicherkarte angeschlossen ist,
einen Hauptspeicher (11) zum Speichern von über die Schnittstellenschaltung (13) aus der externen Informations verarbeitungsvorrichtung ges endeten Daten in Blockeinheiten mit einer vorbestimmten Bytelänge und
einer Fehlerkorrekturschaltung (15) zur Berechnung von Fehlerkorrekturcodes für sämtliche in dem Speicher (11) gespeicherten Blockdaten, Ermittlung eines Fehlers der Daten auf Grundlage der berechneten Fehlerkorrekturcodes und zur Korrektur des Fehlers der Daten.
2. Speicherkarte nach Anspruch 1, dadurch gekennzeichnet, daß
die Fehlerkorrekturschaltung (15)
eine Fehlerkorrekturcode-Berechnungseinheit (19) zur blockweisen Berechnung der Fehlerkorrekturcodes für die in den Speicherelementen gespeicherten Daten,
eine Fehlerkorrekturcode-Speichereinheit (21) zum Speichern der durch die Fehlerkorrekturcode-Berechnungsein heit (19) berechneten Fehlerkorrekturcodes,
eine Fehlerkorrekturcode-Steuereinheit (23) zum Ver gleich der durch die Fehlerkorrekturcode-Berechnungseinheit (19) berechneten Fehlerkorrekturcodes für wiederzugewinnende Daten mit den Fehlerkorrekturcodes für dieselben Daten, die vorher berechnet worden sind und in der Fehlerkorrekturcode- Speichereinheit (21) gespeichert worden sind, wobei die Feh lerkorrekturcode-Steuereinheit (23) ein das Vergleichsergeb nis angebendes Signal erzeugt, und
eine Fehlerkorrektur-Steuereinheit (25) zur Ermitt lung und Korrektur von Fehlern auf der Grundlage des durch die Fehlerkorrekturcode-Steuereinheit (23) erzeugten Ver gleichsergebnisses aufweist.
eine Fehlerkorrekturcode-Berechnungseinheit (19) zur blockweisen Berechnung der Fehlerkorrekturcodes für die in den Speicherelementen gespeicherten Daten,
eine Fehlerkorrekturcode-Speichereinheit (21) zum Speichern der durch die Fehlerkorrekturcode-Berechnungsein heit (19) berechneten Fehlerkorrekturcodes,
eine Fehlerkorrekturcode-Steuereinheit (23) zum Ver gleich der durch die Fehlerkorrekturcode-Berechnungseinheit (19) berechneten Fehlerkorrekturcodes für wiederzugewinnende Daten mit den Fehlerkorrekturcodes für dieselben Daten, die vorher berechnet worden sind und in der Fehlerkorrekturcode- Speichereinheit (21) gespeichert worden sind, wobei die Feh lerkorrekturcode-Steuereinheit (23) ein das Vergleichsergeb nis angebendes Signal erzeugt, und
eine Fehlerkorrektur-Steuereinheit (25) zur Ermitt lung und Korrektur von Fehlern auf der Grundlage des durch die Fehlerkorrekturcode-Steuereinheit (23) erzeugten Ver gleichsergebnisses aufweist.
3. Speicherkarte nach Anspruch 1, gekennzeichnet durch eine
wiederaufladbare Batterieeinrichtung (63) zur Stromzufuhr so
wohl zu dem Hauptspeicher (11) als auch zu der Fehlerkorrek
turschaltung (15) für eine vorbestimmte Zeitdauer, nachdem
die Speicherkarte aus der Informationsverarbeitungsvorrich
tung entfernt wird.
4. Speicherkarte nach Anspruch 1, dadurch gekennzeichnet, daß
die Fehlerkorrektureinrichtung (15) außerdem eine Kennzei
cheneinrichtung zur Anzeige aufweist, daß Daten in einen be
stimmten Block geschrieben worden sind.
5. Speicherkarte nach Anspruch 2, dadurch gekennzeichnet, daß
die Fehlerkorrekturcode-Berechnungseinheit (19) die Fehler
korrekturcodes für aktualisierte Daten zuerst durch Berech
nung der Differenzdaten, die eine Differenz zwischen den er
neut zu schreibenden Bytes der aktualisierten Daten und den
entsprechenden Bytes der ursprünglichen Daten darstellen, die
in demselben Bereich wie die aktualisierten Daten gespeichert
worden sind, dann durch Berechnung der Differenz-Fehlerkor
rekturcodes, die die Fehlerkorrekturcodes für die Differenz
daten sind, und durch Addition der Differenz-Fehlerkorrektur
codes zu den ursprünglichen Fehlerkorrekturcodes für die ur
sprünglichen Daten berechnet.
6. Verfahren zur Datenkorrektur für eine wiederbeschreibbare
Speicherkarte mit einem Hauptspeicher (11), der Daten in
Blockeinheiten mit einer vorbestimmten Bytelänge speichert
und Daten speichern kann, wenn diese von einer Informations
verarbeitungsvorrichtung abgetrennt ist, gekennzeichnet durch
die Schritte
- (a) Lesen sämtlicher Daten eines in den Speicherele menten gespeicherten Blocks,
- (b) Berechnen eines Fehlerkorrekturcodes für die ge samten Daten des gelesenen Blocks,
- (c) Vergleichen des gerade berechneten Fehlerkorrek turcodes mit dem vorher berechneten Fehlerkorrekturcode für die in den Speicherelementen gespeicherten Daten und
- (d) Erkennen von Datenfehlern auf Grundlage des Ver gleichsergebnisses und Korrigieren der Fehler, wobei die Speicherkarte die in dem Hauptspeicher (11) gespeicherten Da ten korrigiert, wenn die Speicherkarte an die Informations verarbeitungsvorrichtung angeschlossen ist oder wenn die Speicherkarte ein Steuersignal aus der Informationsverarbei tungsvorrichtung empfängt.
7. Verfahren zur Datenkorrektur für eine wiederbeschreibbare
Speicherkarte mit einem Hauptspeicher (11), der Daten in
Blockeinheiten mit einer vorbestimmten Bytelänge speichert
und Daten speichern kann, wenn diese von einer Informations
verarbeitungsvorrichtung entfernt ist, gekennzeichnet durch
die Schritte
- (a) Lesen sämtlicher Daten eines in dem Speicher (11) gespeicherten Blocks,
- (b) Berechnen der Fehlerkorrekturcodes für sämtliche Daten des gelesenen Blocks und
- (c) Aktualisieren der vorher berechneten Fehlerkor rekturcodes für die Daten mit den neu berechneten Fehlerkor rekturcodes, wobei die Speicherkarte die Fehlerkorrekturcodes für sämtliche in den Speicherelementen gespeicherte Daten auf einmal aktualisiert, wenn die Speicherkarte aus der Informa tionsverarbeitungsvorrichtung entfernt wird, oder wenn die Speicherkarte ein Steuersignal aus der Informationsverarbei tungsvorrichtung empfängt.
8. Verfahren zur Datenkorrektur für eine wiederbeschreibbare
Speicherkarte mit einem Hauptspeicher (11), die Daten in
Blockeinheiten mit einer vorbestimmten Bytelänge speichert
und Daten speichern kann, wenn diese von einer Informations
verarbeitungsvorrichtung abgetrennt ist, gekennzeichnet durch
die Schritte
- (a) Berechnen von Differenzdaten, die die Differenz zwischen den Bytes der erneut zu schreibenden, aktualisierten Daten und den entsprechenden Bytes der ursprünglichen Daten darstellen, die in demselben Bereich wie die aktualisierten Daten gespeichert worden sind,
- (b) Berechnen von Differenz-Fehlerkorrekturcodes, die die Fehlerkorrekturcodes für die Differenzdaten sind, und
- (c) Addieren der Differenz-Fehlerkorrekturcodes zu den ursprünglichen Fehlerkorrekturcodes für die alten Daten, wobei die Speicherkarte die Fehlerkorrekturcodes für neue Da ten zum Ersatz der alten Daten berechnet.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8147177A JPH09330273A (ja) | 1996-06-10 | 1996-06-10 | メモリカードおよびメモリカードにおける誤り訂正方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19700510A1 true DE19700510A1 (de) | 1997-12-11 |
Family
ID=15424331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19700510A Ceased DE19700510A1 (de) | 1996-06-10 | 1997-01-09 | Speicherkarte mit Fehlerkorrekturfähigkeit und zugehöriges Fehlerkorrekturverfahren |
Country Status (4)
Country | Link |
---|---|
US (1) | US5848076A (de) |
JP (1) | JPH09330273A (de) |
DE (1) | DE19700510A1 (de) |
TW (1) | TW327218B (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19804596A1 (de) * | 1998-02-05 | 1999-08-12 | Jan Otterstedt | Verfahren und Schaltungsanordnung zum Test von Halbleiterspeichern |
EP1659592A1 (de) * | 2004-11-17 | 2006-05-24 | Semtech Neuchâtel SA | Zugriffsverfahren auf einen Speicher mit Fehlererkennung mittels eines Fehlercodes, der die Anzahl der Bits gleichen logischen Wertes eines Datenwortes enthält, und entspechende Vorrichtung |
EP2088510A3 (de) * | 2004-08-24 | 2009-08-26 | Sandisk 3D LLC | Verfahren und Vorrichtung zur Verwendung eines einmal oder einige Male programmierbaren Speichers mit einer für Lösch- und wiederbeschreibbare Speicher entwickelten Host-Vorrichtung |
DE102017117779A1 (de) * | 2017-08-04 | 2019-02-07 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Test von Speicherzellen |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3495530B2 (ja) * | 1996-11-14 | 2004-02-09 | 三洋電機株式会社 | 符号誤り訂正デコーダ及びアドレス発生回路 |
TW440823B (en) * | 1999-04-16 | 2001-06-16 | Via Tech Inc | Method and apparatus for data transmission of a storage device |
US6629199B1 (en) * | 1999-08-20 | 2003-09-30 | Emc Corporation | Digital data storage system including directory for efficiently providing formatting information for stored records and utilization of a check value for verifying that a record is from a particular storage location |
US6526477B1 (en) * | 1999-09-03 | 2003-02-25 | Adaptec, Inc. | Host-memory based raid system, device, and method |
JP3975245B2 (ja) * | 1999-12-16 | 2007-09-12 | 株式会社ルネサステクノロジ | 記録再生装置および半導体メモリ |
JP4282989B2 (ja) * | 2000-12-20 | 2009-06-24 | エヌエックスピー ビー ヴィ | Womメモリーを備えたデータ処理装置 |
JP2011108286A (ja) * | 2001-02-28 | 2011-06-02 | Spansion Llc | メモリ装置 |
DE10109558C1 (de) * | 2001-02-28 | 2003-01-30 | Siemens Ag | Empfängerseitige Zusatzschaltung für den Boundary Scan bei der Datenübertragung mit differentiellen Signalen |
US20030023922A1 (en) * | 2001-07-25 | 2003-01-30 | Davis James A. | Fault tolerant magnetoresistive solid-state storage device |
US6981196B2 (en) | 2001-07-25 | 2005-12-27 | Hewlett-Packard Development Company, L.P. | Data storage method for use in a magnetoresistive solid-state storage device |
US7036068B2 (en) | 2001-07-25 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Error correction coding and decoding in a solid-state storage device |
JP4059472B2 (ja) * | 2001-08-09 | 2008-03-12 | 株式会社ルネサステクノロジ | メモリカード及びメモリコントローラ |
JP2003141888A (ja) * | 2001-11-01 | 2003-05-16 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6934903B1 (en) * | 2001-12-17 | 2005-08-23 | Advanced Micro Devices, Inc. | Using microcode to correct ECC errors in a processor |
US6973604B2 (en) | 2002-03-08 | 2005-12-06 | Hewlett-Packard Development Company, L.P. | Allocation of sparing resources in a magnetoresistive solid-state storage device |
US7073099B1 (en) * | 2002-05-30 | 2006-07-04 | Marvell International Ltd. | Method and apparatus for improving memory operation and yield |
US7594135B2 (en) | 2003-12-31 | 2009-09-22 | Sandisk Corporation | Flash memory system startup operation |
US6988237B1 (en) | 2004-01-06 | 2006-01-17 | Marvell Semiconductor Israel Ltd. | Error-correction memory architecture for testing production errors |
US7266635B1 (en) | 2004-07-22 | 2007-09-04 | Marvell Semiconductor Israel Ltd. | Address lookup apparatus having memory and content addressable memory |
US7590918B2 (en) * | 2004-09-10 | 2009-09-15 | Ovonyx, Inc. | Using a phase change memory as a high volume memory |
US20060155916A1 (en) * | 2005-01-11 | 2006-07-13 | Gilbert Carl L | Writing uncorrupted data to electronic memory |
DE102005035661A1 (de) * | 2005-07-29 | 2007-02-01 | Infineon Technologies Ag | Halbleiter-Speicherbauelement-System, und Verfahren zum Betreiben eines Halbleiter-Speicherbauelement-Systems |
US7480847B2 (en) * | 2005-08-29 | 2009-01-20 | Sun Microsystems, Inc. | Error correction code transformation technique |
DE102005043335A1 (de) * | 2005-09-12 | 2007-05-16 | Siemens Ag | Anordnung mit einem Tachographen |
JP4889343B2 (ja) * | 2006-03-31 | 2012-03-07 | パナソニック株式会社 | 半導体記憶装置 |
JP2008090433A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | メモリコントローラ、メモリシステム及びデータ転送方法 |
US8145983B1 (en) | 2006-11-08 | 2012-03-27 | Marvell International Ltd. | Methods and apparatus for identification of likely errors in data blocks |
KR101472797B1 (ko) * | 2007-07-16 | 2014-12-15 | 삼성전자주식회사 | 데이터를 읽거나 쓰기 위한 방법 및 장치 |
US8250452B2 (en) * | 2007-08-20 | 2012-08-21 | Infineon Technologies Ag | Method and apparatus for embedded memory security |
US20090055906A1 (en) * | 2007-08-20 | 2009-02-26 | Infineon Technologies Ag | Method and apparatus for embedded memory security |
JP4464454B1 (ja) * | 2008-11-27 | 2010-05-19 | Necエレクトロニクス株式会社 | 半導体装置及び半導体装置におけるベリファイ方法 |
CN102411517B (zh) * | 2010-09-21 | 2013-09-11 | 智微科技股份有限公司 | 易失性存储器的存取方法以及易失性存储器的存取装置 |
TWI464581B (zh) * | 2011-02-21 | 2014-12-11 | Etron Technology Inc | 非揮發性記憶體模組、非揮發性記憶體處理系統、與相關非揮發性記憶體管理方法 |
JP2016099711A (ja) * | 2014-11-19 | 2016-05-30 | 凸版印刷株式会社 | Icカードおよびその起動方法 |
US10754989B2 (en) | 2018-03-27 | 2020-08-25 | International Business Machines Corporation | Runtime self-correction for blockchain ledgers |
US11640331B2 (en) * | 2021-07-29 | 2023-05-02 | Texas Instruments Incorporated | Securing physical layer startup from a low-power state |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4223273C2 (de) * | 1991-07-16 | 1995-03-09 | Mitsubishi Electric Corp | Halbleiterspeichereinrichtung und Betriebsverfahren für eine solche |
DE4416171C2 (de) * | 1993-06-25 | 1996-05-15 | Mitsubishi Electric Corp | EEPROM-Vorrichtung |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4371963A (en) * | 1980-12-24 | 1983-02-01 | Ncr Corporation | Method and apparatus for detecting and correcting errors in a memory |
US4464752A (en) * | 1981-11-06 | 1984-08-07 | The Singer Company | Multiple event hardened core memory |
US4888773A (en) * | 1988-06-15 | 1989-12-19 | International Business Machines Corporation | Smart memory card architecture and interface |
US5663901A (en) * | 1991-04-11 | 1997-09-02 | Sandisk Corporation | Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems |
JPH04337857A (ja) * | 1991-05-15 | 1992-11-25 | Yokogawa Electric Corp | マイクロプロセッサ装置 |
JP3485938B2 (ja) * | 1992-03-31 | 2004-01-13 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
US5455939A (en) * | 1992-06-17 | 1995-10-03 | Intel Corporation | Method and apparatus for error detection and correction of data transferred between a CPU and system memory |
US5590306A (en) * | 1992-09-08 | 1996-12-31 | Fuji Photo Film Co., Ltd. | Memory card management system for writing data with usage and recording codes made significant |
US5488691A (en) * | 1993-11-17 | 1996-01-30 | International Business Machines Corporation | Memory card, computer system and method of operation for differentiating the use of read-modify-write cycles in operating and initializaiton modes |
JPH07161843A (ja) * | 1993-12-10 | 1995-06-23 | Sony Corp | Sram装置 |
US5606529A (en) * | 1994-12-20 | 1997-02-25 | Hitachi, Ltd. | Semiconductor disk storage |
-
1996
- 1996-06-10 JP JP8147177A patent/JPH09330273A/ja active Pending
- 1996-10-15 TW TW085112607A patent/TW327218B/zh not_active IP Right Cessation
- 1996-12-10 US US08/763,101 patent/US5848076A/en not_active Expired - Lifetime
-
1997
- 1997-01-09 DE DE19700510A patent/DE19700510A1/de not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4223273C2 (de) * | 1991-07-16 | 1995-03-09 | Mitsubishi Electric Corp | Halbleiterspeichereinrichtung und Betriebsverfahren für eine solche |
DE4416171C2 (de) * | 1993-06-25 | 1996-05-15 | Mitsubishi Electric Corp | EEPROM-Vorrichtung |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19804596A1 (de) * | 1998-02-05 | 1999-08-12 | Jan Otterstedt | Verfahren und Schaltungsanordnung zum Test von Halbleiterspeichern |
DE19804596C2 (de) * | 1998-02-05 | 2000-10-12 | Jan Otterstedt | Verfahren und Schaltungsanordnung zum Test von über Teiladreßdekoder adressierbaren Halbleiterspeichern |
EP2088510A3 (de) * | 2004-08-24 | 2009-08-26 | Sandisk 3D LLC | Verfahren und Vorrichtung zur Verwendung eines einmal oder einige Male programmierbaren Speichers mit einer für Lösch- und wiederbeschreibbare Speicher entwickelten Host-Vorrichtung |
US7689805B2 (en) | 2004-08-24 | 2010-03-30 | Sandisk 3D Llc | Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewriteable memory |
US7861058B2 (en) | 2004-08-24 | 2010-12-28 | Sandisk 3D Llc | Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewriteable memory |
US8209476B2 (en) | 2004-08-24 | 2012-06-26 | Sandisk 3D Llc | Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable-rewriteable memory |
EP1659592A1 (de) * | 2004-11-17 | 2006-05-24 | Semtech Neuchâtel SA | Zugriffsverfahren auf einen Speicher mit Fehlererkennung mittels eines Fehlercodes, der die Anzahl der Bits gleichen logischen Wertes eines Datenwortes enthält, und entspechende Vorrichtung |
DE102017117779A1 (de) * | 2017-08-04 | 2019-02-07 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Test von Speicherzellen |
DE102017117779B4 (de) | 2017-08-04 | 2023-01-05 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Test von Speicherzellen |
Also Published As
Publication number | Publication date |
---|---|
US5848076A (en) | 1998-12-08 |
JPH09330273A (ja) | 1997-12-22 |
TW327218B (en) | 1998-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19700510A1 (de) | Speicherkarte mit Fehlerkorrekturfähigkeit und zugehöriges Fehlerkorrekturverfahren | |
DE69910320T2 (de) | Technik für Einzelfehlerkorrektur im Cachespeicher mit Subblock-Paritätenbits | |
DE69821426T2 (de) | Speicheranordung, und Datenverarbeitungssystem und -Verfahren | |
DE2428348C2 (de) | Verfahren zur Weiterbenutzung eines fehlerhaften Datenspeichers und Einrichtung zur Durchführung dieses Verfahrens | |
DE102005019842B4 (de) | System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher | |
DE112007003015B4 (de) | Verfahren und Vorrichtung zur Cache-gestützten Fehlerdetektion und -korrektur in einem Speicher | |
DE102005052698A1 (de) | Verfahren zur Verarbeitung von nichtflüchtig gespeicherten Daten | |
DE2721319A1 (de) | Einrichtung zur selbsttaetigen aenderung der prozessor/speicher-konfiguration | |
DE2619159A1 (de) | Fehlererkennungs- und korrektureinrichtung | |
DE102015113414B4 (de) | Fehlerkorrektur unter Verwendung von WOM-Codes | |
DE2730328A1 (de) | Adressierbarer assoziativ-speicher | |
DE1284996B (de) | Leseschaltung fuer einen Speicher | |
DE10344625A1 (de) | Halbleiterspeichervorrichtung mit einer Verhinderungsfunktion betreffend eine Datenänderung aufgrund sich aufsummierender Störungen | |
DE3412677A1 (de) | Halbleiterspeichervorrichtung mit selbstkorrekturschaltung | |
DE112020003004T5 (de) | Dma-scatter- und gather-operationen für nicht zusammenhängenden speicher | |
DE2336020C3 (de) | Adressen-Berechnungsschaltung für Paritätsfehler-Korrekturprogramme | |
DE2515099A1 (de) | Schaltung zur staendigen erzeugung eines longitudinalen paritaetswortes fuer den hauptspeicher eines digitalen rechenautomaten | |
DE102018124836A1 (de) | Neuartiger speicherbaustein | |
DE2554502B2 (de) | ||
DE102017119065B4 (de) | Aktualisieren eines Speichers | |
DE60317801T2 (de) | Verfahren und vorrichtung zur erkennung von fehlern während des schreibens in einen nichtflüchtigen speicher | |
DE3002048C2 (de) | ||
DE69722706T2 (de) | Datensicherungsvorrichtung eines Halbleiterspeichers | |
DE69637427T2 (de) | Verfahren und Gerät zur Erkennung doppelter Eintragungen in einer Nachschlagtabelle | |
DE102016202684A1 (de) | Datenmanagementvorrichtung und datenmanagementprogramm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |