DE10221935A1 - Verfahren zur Erkennung und Korrektur von Bitfehlern - Google Patents

Verfahren zur Erkennung und Korrektur von Bitfehlern

Info

Publication number
DE10221935A1
DE10221935A1 DE2002121935 DE10221935A DE10221935A1 DE 10221935 A1 DE10221935 A1 DE 10221935A1 DE 2002121935 DE2002121935 DE 2002121935 DE 10221935 A DE10221935 A DE 10221935A DE 10221935 A1 DE10221935 A1 DE 10221935A1
Authority
DE
Germany
Prior art keywords
data
semiconductor memory
data element
memory
read
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.)
Granted
Application number
DE2002121935
Other languages
English (en)
Other versions
DE10221935B4 (de
Inventor
Helmut Michel
Andreas Goers
Ralf Mueller
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.)
ABB AG Germany
Original Assignee
ABB Patent GmbH
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 ABB Patent GmbH filed Critical ABB Patent GmbH
Priority to DE2002121935 priority Critical patent/DE10221935B4/de
Publication of DE10221935A1 publication Critical patent/DE10221935A1/de
Application granted granted Critical
Publication of DE10221935B4 publication Critical patent/DE10221935B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Erkennung und Korrektur von Bitfehlern beim Lesen von in Halbleiterspeichern abgelegten Datenelementen. Zur dauerhaften Korrigierbarkeit jedes fehlerbehafteten Datenelements wird vorgeschlagen, jedes als fehlerhaft erkannte und korrigierte Datenelement sowie das zugehörige Prüfdatum unmittelbar in inverser Datenübertragungsrichtung in den Halbleiterspeicher zurückzuschreiben.

Description

  • Die Erfindung betrifft ein Verfahren zur Erkennung und Korrektur von Bitfehlern beim Lesen von in Halbleiterspeichern abgelegten Datenelementen.
  • In der Mess-, Steuer- und Regelungstechnik wird bevorzugt statischer Speicher, im folgenden als SRAM bezeichnet, eingesetzt, um mittels einer Batteriepufferung einen Datenerhalt sicherstellen zu können. Auf diese Weise ist ein insbesondere in der chemischen Industrie geforderter stoßfreier Wiederanlauf einer Anlage realisierbar. Durch den technischen Fortschritt der letzten Jahre sind zum einen die Strukturbreiten der SRAM-Bausteine drastisch reduziert worden, zum anderen ist der Speicherbedarf stark gestiegen.
  • Die geringe Strukturbreite einer SRAM-Zelle führt zu dem Effekt, daß die Energie eines Alpha-Teilchens ausreichen kann, um den Speicherinhalt der SRAM-Zelle zu verändern. Dabei zeigt sich, daß die 6-Transistor-SRAM-Zelle prinzipiell unempfindlicher ist als eine 4-Transistor-SRAM-Zelle, aber lediglich ein gradueller Unterschied in der Fehlerwahrscheinlichkeit existiert. Die störenden Alpha-Teilchen werden bei diesem Phänomen aus dem Gehäusematerial, mit dem der Speicherchip vergossen ist, emittiert, so daß eine nachträgliche, externe Schirmung keine Abhilfe schafft.
  • Darüber hinaus hat der gestiegene Speicherbedarf in automatisierungstechnischen Anlagen der Mess-, Steuer- und Regelungstechnik dazu geführt, daß dieser statistisch verteilte Fehlermechanismus in der Praxis nachweisbar ist. Umfangreiche Messungen haben gezeigt, daß auch bei Verwendung hochwertiger SRAM-Bausteine, die mit einer 6-Transistor-Zelle und strahlungsarmen Gehäusematerialien gefertigt werden, im statistischen Mittel ein Bitfehler pro Jahr in einer 8 MByte großen Speicherbaugruppe auftritt. Seitens der Anlagenbetreiber wird weder ein unvorhersagbares Systemverhalten, wenn dieses Phänomen unbeachtet bleibt, noch, die Anlage bei Erkennung eines Bitfehlers anzuhalten, akzeptiert.
  • Daraus ergibt sich die Forderung nach einer Einrichtung zur Erkennung und Korrektur von Bitfehlern, die mindestens in der Lage ist, 1-Bit-Fehler zu erkennen und zu korrigieren und 2-Bit-Fehler zu erkennen und zu signalisieren, so dass nur korrekte Daten zur weiteren Verarbeitung bereitgestellt werden. Eine derartige Einrichtung ist als 32-BIT FLOW-THRU ERROR DETECTION AND CORRECTION UNIT unter der Typbezeichnung 49C465 der Firma Integrated Device Technology bekannt und im Datenblatt IDT49C465/IDT49C465A, Dokumentnummer DSC-2552/8, sowie in der Application Note AN-64 beschrieben. Die Einrichtung ist in den Datenübertragungsweg zwischen dem Arbeitsspeicher und einer Verarbeitungseinheit eingefügt und wird von der Verarbeitungseinheit gesteuert.
  • Zur Erkennung und Korrektur von Bitfehlern mit Hilfe einer derartigen Einrichtung ist ein Prüfspeicher vorgesehen und jedem Speicherplatz des Arbeitsspeichers ein Speicherplatz des Prüfspeichers zugeordnet. Bei Speichern eines Datenworts werden unter der Adresse des Speicherplatzes des Datenworts im Arbeitsspeicher zusätzlich redundante Bits, im weiteren als Prüfbits bezeichnet, im Prüfspeicher abgespeichert, die durch Bildung der Paritätssumme über verschiedene Teile des Datenworts gewonnen werden.
  • Beim Auslesen des Speicherworts werden die Teilparitäten nach der gleichen Bildungsvorschrift erneut gebildet und mit den ebenfalls ausgelesenen Prüfbits verglichen. Stimmen die gerade berechneten Prüfbits mit den abgespeicherten überein, gilt das ausgelesene Datenwort als fehlerfrei. Bei auftretenden Differenzen wird aus dem Muster der Nichtübereinstimmung, dem sogenannten Syndrom, auf den Fehler geschlossen. Bestimmte Syndrommuster werden decodiert und damit eine verfälschte Bitposition im Datenwort ermittelt, die durch Invertieren korrigiert wird, so dass ausschliesslich korrekte Datenworte an die Verarbeitungseinheit weitergeleitet werden.
  • Allerdings geht das FLOW-THRU-Verfahren von einer begrenzten Lebensdauer eines Datenelements aus und setzt voraus, dass die Wahrscheinlichkeit des Befalls eines gegebenen Datenelements durch einen das jeweilige Maß der Korrigierbarkeit übersteigenden Bitfehler kleiner ist als die des aktualisierenden Überschreibens des Datenelements.
  • Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Erkennung und Korrektur von Bitfehlern in gespeicherten Datenelementen anzugeben, das die dauerhafte Korrigierbarkeit jedes fehlerbehafteten Datenelements gewährleistet.
  • Erfindungsgemäß wird diese Aufgabe mit den Schritten des Patentanspruchs 1 gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in den rückbezogenen Ansprüchen genannt.
  • Die Erfindung geht von dem bekannten Verfahren aus, bei dem eine Verarbeitungseinheit indirekt über eine Bitfehlererkennungs- und Korrektureinrichtung, die in den Datenübertragungsweg zwischen einem Halbleiterspeicher und der Verarbeitungseinheit eingefügt ist, auf in dem Halbleiterspeicher abgelegte Datenelemente zugreift. Dabei ist jedem Datenelement im Halbleiterspeicher ein nach einem vorgegebenen Algorithmus gebildetes Prüfdatum zugeordnet.
  • Das Maß der Korrigierbarkeit eines fehlerbehafteten Datenelements ergibt sich aus dem Verhältnis der Bitbreite des Datenelements zur Bitbreite des Prüfdatums und ist begrenzt.
  • Beim Lesezugriff der Verarbeitungseinheit auf den Halbleiterspeicher wird zunächst in bekannter Art das adressierte Datenelement und das zugehörige Prüfdatum aus dem Halbleiterspeicher in die Bitfehlererkennungs- und Korrektureinrichtung gelesen und das gelesene Datenelement nach dem vorgegebenen Algorithmus ein Prüfdatum gebildet und mit dem gelesenen Prüfdatum verglichen. Bei Abweichung des gebildeten Prüfdatums von dem gelesenen Prüfdatum wird das fehlerhafte Datum korrigiert und das korrekte Datenelement an die anfordernde Verarbeitungseinheit weitergeleitet.
  • Erfindungsgemäß wird darüber hinaus das korrigierte Datenelement und das zugehörige Prüfdatum in den Halbleiterspeicher zurückgeschrieben. Im Erfolg dieses Schritts weist der Halbleiterspeicher nun wieder ein korrektes Datenelement und ein korrektes zugehöriges Prüfdatum auf. Eine weitere statistische Beeinflussung des Datenelements oder des Prüfdatums bleibt in den Grenzen der Korrigierbarkeit und wird beim nächsten Lesezugriff der Verarbeitungseinheit wie vorstehend beschrieben korrigiert.
  • Nach einem weiteren Merkmal der Erfindung werden anforderungsunabhängig alle Datenelemente und zugehörigen Prüfdaten zyklisch gelesen, geprüft, bei Abweichung korrigiert und bei erfolgter Korrektur in den Halbleiterspeicher zurückgeschrieben.
  • Vorteilhafterweise wird dadurch erreicht, dass auch selten gelesene, statistisch verfälschte Datenelemente kontinuierlich überprüft und gegebenenfalls korrigiert werden, bevor durch weitere statistische Verfälschungen die Grenze der Korrigierbarkeit überschritten ist.
  • Zur Erkennung und Korrektur von Ein-Bit-Fehlern in einem Datenelement von 32 Bit Breite ist nach den bekannten Regeln für den Hamming-Code ein Prüfdatum mit mindestens sechs Bit Breite für jedes Datenelement erforderlich. Dabei sind Zwei-Bit- Fehler noch erkennbar aber nicht mehr korrigierbar. Die Grenze der Korrigierbarkeit liegt damit bei Ein-Bit-Fehlern.
  • Da der physische Speicher für die Prüfdaten dem gleichen stochastischen Fehler unterworfen ist wie der Datenspeicher, sind neben den 32 Bit für das Datenelement auch die 6 Bit für das Prüfdatum zu überwachen und erforderlichenfalls zu korrigieren. Dazu ist bei linearer Unabhängigkeit eine Prüfsumme von mindestens sieben Bit Breite erforderlich.
  • Ausgehend von einer Speicheranordnung, die über eine Bitfehlererkennungs- und Korrektureinrichtung mit einer Verarbeitungseinheit verbunden ist und bei der jedem Datenelement von 32 Bit Breite ein Prüfdatum mit mindestens sieben Bit Breite für jedes Datenelement zugeordnet ist, wird beim Schreiben eines Datenelement in den Speicher nach dem vorgegebenen Algorithmus ein dem Bitmuster des Datenelements entsprechendes Prüfdatum gebildet und zusammen mit dem Datenelement abgelegt.
  • Beim Lesezugriff auf ein Datenelement durch die Verarbeitungseinheit werden das adressierte Datenelement und das zugehörige Prüfdatum aus dem Halbleiterspeicher in die Bitfehlererkennungs- und Korrektureinrichtung gelesen. Für das gelesene Datenelement wird nach dem vorgegebenen Algorithmus ein dem Bitmuster des Datenelements entsprechendes Prüfdatum gebildet. Das gebildete Prüfdatum wird mit dem gelesenen Prüfdatum verglichen.
  • Soweit das gebildete Prüfdatum mit dem gelesenen Prüfdatum übereinstimmt, ist das gelesene Datenelement korrekt und wird an die anfordernde Verarbeitungseinheit weitergeleitet.
  • Bei Abweichung des gebildeten Prüfdatums von dem gelesenen Prüfdatum wird aus der Differenz, dem sogenannten Syndromwort, die fehlerhafte Bitposition unabhängig vom Ort ihres Auftretens im Datenelement oder im gelesenen Prüfdatum ermittelt und durch Invertieren korrigiert. Danach wird das korrekte Datenelement an die anfordernde Verarbeitungseinheit weitergeleitet.
  • Darüber hinaus werden das korrekte Datenelement und das zugehörige Prüfdatum in inverser Datenübertragungsrichtung in den Halbleiterspeicher zurückgeschrieben. Vorteilhafterweise wird damit erreicht, dass bei einer auf bei Ein-Bit-Fehler begrenzten Korrigierbarkeit alle erkannten Ein-Bit-Fehler auch im Speicher korrigiert werden, so dass die Entstehung eines nicht mehr korrigierbaren Zwei-Bit-Fehlers in Folge eines weiteren Ein-Bit-Fehlers in demselben Datenelement weitestgehend vermieden wird. Eine absolute Vermeidung von derartigen Mehr-Bit-Fehlern ist wie bei allen stochastischen vorgängen nicht möglich. Allerdings gelingt es, die Wahrscheinlichkeit ihres Auftretens soweit zu reduzieren, dass sie praktisch bedeutungslos ist.
  • Vorzugsweise werden das korrekte Datenelement und das zugehörige Prüfdatum zeitgleich zur Weiterleitung an die anfordernde Verarbeitungseinheit in den Halbleiterspeicher zurückgeschrieben. Vorteilhafterweise werden dadurch Zeitverluste bei aufeinanderfolfgenden Lesezugriffen vermieden.
  • In weiterer Ausgestaltung der Erfindung ist vorgesehen, anforderungsunabhängig alle Datenelemente und zugehörigen Prüfdaten zyklisch zu lesen, zu prüfen, bei Abweichung zu korrigieren und bei erfolgter Korrektur in den Halbleiterspeicher zurück zu schreiben.
  • Vorteilhafterweise wird dadurch erreicht, dass Datenelemente, die selten gelesen oder aktualisierend überschrieben werden, vor die Grenze der Korrigierbarkeit überschreitenden Zwei- oder Mehr-Bit-Fehlern bewahrt werden. Dadurch werden Datenverluste und unzulässige Veränderungen des Programmcodes, die zum Versagen des Systems führen können, vermieden.

Claims (2)

1. Verfahren zur Erkennung und Korrektur von Bitfehlern beim Lesen von in Halbleiterspeichern abgelegten Datenelementen, auf die durch eine Verarbeitungseinheit über eine Bitfehlererkennungs- und Korrektureinrichtung, die in den Datenübertragungsweg zwischen dem Halbleiterspeicher und der Verarbeitungseinheit eingefügt ist, zugegriffen wird, wobei jedem Datenelement im Halbleiterspeicher ein nach einem vorgegebenen Algorithmus gebildetes Prüfdatum zugeordnet ist, mit folgenden Schritten:
- ein adressiertes Datenelement und das zugehörige Prüfdatum werden aus dem Halbleiterspeicher in die Biffehlererkennungs- und Korrektureinrichtung gelesen,
- für das gelesene Datenelement wird nach dem vorgegebenen Algorithmus ein Prüfdatum gebildet und mit dem gelesenen Prüfdatum verglichen,
- bei Abweichung des gebildeten Prüfdatums von dem gelesenen Prüfdatum wird das fehlerhafte Datum korrigiert und
- das korrekte Datenelement an die anfordernde Verarbeitungseinheit weitergeleitet,
dadurch gekennzeichnet,
- dass das korrekte Datenelement und das zugehörige Prüfdatum in inverser Datenübertragungsrichtung in den Halbleiterspeicher zurückgeschrieben werden.
2. Verfahren nach Anspruch 1 dadurch gekennzeichnet, dass anforderungsunabhängig alle Datenelemente und zugehörigen Prüfdaten zyklisch gelesen, geprüft, bei Abweichung korrigiert und bei erfolgter Korrektur in den Halbleiterspeicher zurückgeschrieben werden.
DE2002121935 2002-05-17 2002-05-17 Verfahren zur Erkennung und Korrektur von Bitfehlern Expired - Lifetime DE10221935B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002121935 DE10221935B4 (de) 2002-05-17 2002-05-17 Verfahren zur Erkennung und Korrektur von Bitfehlern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002121935 DE10221935B4 (de) 2002-05-17 2002-05-17 Verfahren zur Erkennung und Korrektur von Bitfehlern

Publications (2)

Publication Number Publication Date
DE10221935A1 true DE10221935A1 (de) 2003-12-04
DE10221935B4 DE10221935B4 (de) 2014-02-13

Family

ID=29413901

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002121935 Expired - Lifetime DE10221935B4 (de) 2002-05-17 2002-05-17 Verfahren zur Erkennung und Korrektur von Bitfehlern

Country Status (1)

Country Link
DE (1) DE10221935B4 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004059392A1 (de) * 2004-12-09 2006-06-14 Infineon Technologies Ag Verfahren zur Neubelegung eines Speichers eines Subsystems und Subsystem
DE10224283B4 (de) * 2002-05-31 2007-06-28 Abb Patent Gmbh Verfahren zur Speichersteuerung

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529813A (ja) * 1998-10-30 2002-09-10 インフィネオン テクノロジース アクチエンゲゼルシャフト データを記憶する記憶装置およびデータを記憶する記憶装置を作動する方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10224283B4 (de) * 2002-05-31 2007-06-28 Abb Patent Gmbh Verfahren zur Speichersteuerung
DE102004059392A1 (de) * 2004-12-09 2006-06-14 Infineon Technologies Ag Verfahren zur Neubelegung eines Speichers eines Subsystems und Subsystem
US7475212B2 (en) 2004-12-09 2009-01-06 Infineon Technologies Ag Method for reallocation of a memory of a subsystem, and subsystem
DE102004059392B4 (de) * 2004-12-09 2015-09-10 Infineon Technologies Ag Verfahren zur Neubelegung eines Befehlsspeichers, Subsystem zur Durchführung eines derartigen Verfahrens, sowie Mikrokontroller

Also Published As

Publication number Publication date
DE10221935B4 (de) 2014-02-13

Similar Documents

Publication Publication Date Title
DE2260850C2 (de) Schaltungsanordnung zur Erkennung von Einzel- und Mehrfachfehlern und zur korrektur von Einzel- und bestimmten Mehrfachfehlern
DE60117066T2 (de) Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes
DE102019123642A1 (de) Speicherfehlererkennung und korrektur
DE102005052698A1 (de) Verfahren zur Verarbeitung von nichtflüchtig gespeicherten Daten
DE102005048255A1 (de) Integriertes Schaltungsbauelement und Betriebsverfahren
DE102013215055A1 (de) Schaltungsanordnung und Verfahren mit modifiziertem Fehlersyndrom zur Fehlererkennung von permanenten Fehlern in Speichern
DE10234684A1 (de) Speicherschaltung
DE102017103347A1 (de) Verarbeitung von daten in speicherzellen eines speichers
DE60215687T2 (de) Fehlerkorrektion von multibit-baueinheiten mit unbeschränkter erkennung von doppelfehlern
EP1913478B1 (de) Mikroprozessorsystem zur steuerung bzw. regelung von zumindest zum teil sicherheitskritischen prozessen
DE2549392C3 (de) Verfahren zur Erhöhung der Zuverlässigkeit von integrierten Speicherbausteinen und zur Verbesserung der Ausbeute von nach außen hin fehlerfrei erscheinenden Speicherbausteinen bei ihrer Herstellung
DE102016107285B4 (de) Verfahren zur verwendung einer speichervorrichtung, speichervorrichtung und speichervorrichtungsanordnung
DE102020134945A1 (de) Dynamische fehlerüberwachung und -reparatur
EP1444700B1 (de) Speichertest
EP1222545B1 (de) Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul
DE112019001968B4 (de) Gemeinsame korrekturlogik für hohe und niedrige zufalls-bitfehlerraten
DE10221935A1 (de) Verfahren zur Erkennung und Korrektur von Bitfehlern
DE69924012T2 (de) Verfahren und vorrichtung für speicherdata-fehlerdetektion und speichermodul-fehlerdetektion
DE102019113970B4 (de) Erkennung von adressfehlern
DE102006036384A1 (de) Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen
DE102005016051B4 (de) Speicherüberprüfungsvorrichtung und Verfahren zum Überprüfen eines Speichers
WO2006089943A1 (de) Verfahren zur datensicherung und gerät zu dessen ausführung
DE102005060901A1 (de) Verfahren zur Erkennung einer Versorgungsunterbrechung in einem Datenspeicher und zur Wiederherstellung des Datenspeichers
DE10224283B4 (de) Verfahren zur Speichersteuerung
DE3716594C2 (de) Schaltungsanordnung für Fernmeldeanlagen, insbesondere Fernsprechvermittlungsanlagen, mit Speichereinrichtungen, in denen gespeicherte Informationsportionen auf ihre Richtigkeit überprüft werden

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: ABB AG, 68309 MANNHEIM, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R020 Patent grant now final

Effective date: 20141114

R071 Expiry of right