DE19700510A1 - Speicherkarte mit Fehlerkorrekturfähigkeit und zugehöriges Fehlerkorrekturverfahren - Google Patents

Speicherkarte mit Fehlerkorrekturfähigkeit und zugehöriges Fehlerkorrekturverfahren

Info

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
Application number
DE19700510A
Other languages
English (en)
Inventor
Yoshimasa Yoshimura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE19700510A1 publication Critical patent/DE19700510A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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.
Ausführungsbeispiel 1
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.
Ausführungsbeispiel 2
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.
Ausführungsbeispiel 3
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.
Ausführungsbeispiel 4
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.
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.
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.
DE19700510A 1996-06-10 1997-01-09 Speicherkarte mit Fehlerkorrekturfähigkeit und zugehöriges Fehlerkorrekturverfahren Ceased DE19700510A1 (de)

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)

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

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

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

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

Patent Citations (2)

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

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