DE60002872T2 - System und verfahren zur verbesserung des multibit fehlerschutzes in einer computerspeichereinheit - Google Patents

System und verfahren zur verbesserung des multibit fehlerschutzes in einer computerspeichereinheit Download PDF

Info

Publication number
DE60002872T2
DE60002872T2 DE60002872T DE60002872T DE60002872T2 DE 60002872 T2 DE60002872 T2 DE 60002872T2 DE 60002872 T DE60002872 T DE 60002872T DE 60002872 T DE60002872 T DE 60002872T DE 60002872 T2 DE60002872 T2 DE 60002872T2
Authority
DE
Germany
Prior art keywords
memory
check
test
word
memory chips
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60002872T
Other languages
English (en)
Other versions
DE60002872D1 (de
Inventor
Tayung Wong
Ashok Singhal
Clement Fang
John Carrillo
Y. Han KO
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE60002872D1 publication Critical patent/DE60002872D1/de
Application granted granted Critical
Publication of DE60002872T2 publication Critical patent/DE60002872T2/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
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/102Error in check bits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)
  • Dram (AREA)
  • Hardware Redundancy (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Speicher innerhalb eines Computersystems und genauer gesagt auf Fehlerkorrektursysteme zum Erfassen und Korrigieren von Fehlern, die in Daten vorhanden sein können, die in dem Systemspeicher gespeichert oder von diesem übermittelt werden.
  • 2. Beschreibung des relevanten Standes der Technik
  • Für Datenübermittlungen, die in einem gegebenen Computersystem auftreten, besteht immer eine endliche Wahrscheinlichkeit, daß die übermittelten Daten fehlerhaft sind. Dies gilt, wenn die Source der gesendeten Daten ein dynamischer Speicher mit wahlfreiem Zugriff (DRAM) ist. Die Mehrzahl von Fehlern, die in einem DRAM-Chip auftreten, sind sogenannte weiche Fehler bzw. "soft errors", die korrigierbar sind. Es können auch "harte Fehler" auftreten, und einige harte Fehler sind möglicherweise korrigierbar, jedoch treten sie typischerweise weniger häufig auf als weiche Fehler. Zwei Hauptquellen für weiche Fehler sind Alphateilchen und kosmische Strahlung. Da ein DRAM ein gegebenes Bit über eine Ladung speichert, kann ein Alphateilchen oder kosmische Strahlung diese Ladung verändern und damit den Inhalt einer gegebenen Speicherzelle.
  • Da der Umfang von Hauptspeichern im Computersystem kontinuierlich angestiegen ist, ist auch die Häufigkeit von weichen Fehlern entsprechend angestiegen. Wenn weiche Fehler unkorrigiert bleiben, haben sie nachteilige Effekte auf die Leistungsfähigkeit des Systems, beschädigen Daten und können sogar Systemabstürze verursachen. Ein Maß für die Möglichkeit eines solchen Ausfalls wird als "mittlere Zeit zwischen Ausfällen" (MTBF – Mean Time Between Failures) bezeichnet. Nicht korrigierte weiche Fehler können die MTBF eines gegebenen Computersystems reduzieren.
  • Um dem Auftreten von Fehlern entgegenzuwirken, verwenden viele Computer einen Fehlerkorrekturschaltkreis. Eine derartige Schaltung wird verwendet, um Fehlerkorrekturcodes (ECCs) zu implementieren, die verwendet werden, um Fehler in einem Computersystem zu erfassen und zu korrigieren. Es gibt viele verschiedene Arten von ECCs. Einige der in breiterem Umfang verwendeten werden als Hamming-Codes bezeichnet, auch wenn viele andere entwickelt worden sind. In einigen Fehlerkorrektursystemen wird ein Bitmuster, wie z. B. eines, welches ein ASCII-Zeichen repräsentiert, die üblicherweise als "Prüfbits" oder "Checkbits" bezeichnet werden. Gruppen von Prüfbits werden als Prüfworte bezeichnet und jeder Datenblock, der in einem DRAM gespeichert wird, kann durch zumindest ein Prüfwort geschützt sein.
  • Die Parität ist ein anderes Element vieler Fehlerkorrekturcodes. Eine gerade Parität wird definiert als Hinzufügung eines Prüfbits in der Weise, daß die Gesamtzahl logischer Einsen in einem gegebenen Bitmuster geradzahlig ist, während eine ungerade Parität das Hinzufügen eines Prüfbits in der Weise erfordert, daß die Gesamtzahl logischer Einsen ungerade ist. In Systemen mit gerader Priorität zeigt der Empfang eines Wortes, welches Prüfbits enthält und welches eine ungerade Anzahl logischer Einsen enthält, automatisch das Vorhandensein eines Fehlers in den Daten an.
  • Viele Fehlerkorrekturschemata können typischerweise nur einen Fehler innerhalb eines Datenwortes korrigieren. Einige Fehlerkorrekturschemata ermöglichen die Erfassung von zwei Fehlern, jedoch sind diese Schemata üblicherweise nicht in der Lage, beide dieser Fehler eindeutig zu korrigieren. Wie zuvor bereits erwähnt, werden viele weiche Fehler in einem DRAM durch kosmische Strahlungen oder Alphateilchen erzeugt. Alphateilchen sind lokalisierte Phänomene und können in vielen Fällen den Inhalt mehrerer Bits in dem Gesamtbereich, in welchem sie auftreten, verändern. In ähnlicher Weise können auch kosmische Strahlen, auch wenn sie keine lokalisierten Phänomene darstellen, nichtsdestotrotz einen Halbleiterspeicher mit Protonen und Neutronen bombardieren und zufälligennreise die gespeicherten Bits ändern. Da eine Anzahl von Fehlerkorrekturschemata in einem DRAM einem gegebenen Prüfwort physikalisch benachbarte Prüfbits zuweisen, gibt es eine gesteigerte Möglichkeit bzw. Wahrscheinlichkeit nicht korrigierbarer Fehler bei mehreren Bits, die innerhalb eines gegebenen Prüfwortes auftreten. Weiterhin können Datenbits, die durch ein gegebenes Prüfwort geschützt sind, in derselben Weise verändert werden.
  • Die Beziehung zwischen der DRAM-Zellarchitektur und der DRAM-Eingabe/Ausgangs-(I/O-) Architektur kann einen Einfluß auf die Art und Weise haben, in welcher gegebene Prüfbits den Prüfworten zugeordnet werden. In einigen DRAM-Chips führt das Layout der Zellen beispielsweise dazu, daß Zellen, welche mit der Datenleitung D15 verbunden sind, physikalisch bzw. räumlich zu Zellen benachbart sind, die mit der Datenleitung D0 verbunden sind, obwohl diese beiden Bits logisch nicht benachbart sind. In anderen DRAM-Chips kann D0 neben D1 liegen und D1 neben D2 usw. Prüfbits auf diesen Datenleitungen werden oftmals demselben Prüfwort zugeordnet. 1 veranschaulicht eine Reihe eines beispielhaften Speicherarrays in einem DRAM, wobei Prüfbits, die an benachbarten Stellen gespeichert werden, denselben Prüfworten zugeordnet werden.
  • Wenn gewisse Phänomene auftreten, wie z. B. Alphateilchenstrahlung, können mehrere benachbarte Bits, die in einem Speicherarray gespeichert werden, verändert werden, was zu mehrfachen Bitfehlern führt. Mehrfache Bitfehler sind im allgemeinen schwieriger zu erfassen und zu korrigieren als Einzelbitfehler. Ein Verfahren zum Reduzieren der Möglichkeit, daß weiche Mehrfachbitfehler den Systembetrieb beeinträchtigen, wäre wünschenswert. Es wäre weiterhin wünschenswert, wenn man weiche Mehrfachbitfehler als weiche Einzelbitfehler erscheinen lassen könnte, um dadurch die Fehler leichter korrigierbar zu machen.
  • Die US 5,465,262 offenbart ein einzelnes Inline-Speichermodul (SIMM), welches in einem Computersystem einen Fehlerkorrekturcode (ECC) bereitstellt, wobei das System keine ECC-Fähigkeiten hat. Die Systemparität, die entweder ungerade oder gerade sein kann, wird durch eine Logik abgefragt, welche durch den SIMM bereitgestellt wird. Die Parität eines geschriebenen Datenbytes wird überprüft, und es wird, in Reaktion auf die erfaßte Parität des Systems, die Parität des gelesenen Datenbytes überprüft, indem für den ECC verwendete Prüfbits manipuliert werden.
  • Die US 5,450,424 offenbart ein Halbleiterspeicherzellenarray, welches in eine Mehrzahl von Teilregionen aufgeteilt ist. Teilregionen, die Speicherzellen entlang von Reihen und Spalten des Arrays enthalten, werden ausgewählt und gleichzeitig gelesen, wobei die gleichzeitig gelesenen Daten Informationsbits und zumindest ein Fehlerprüfbit umfassen. Demnach wird die Wahrscheinlichkeit, daß zwei oder mehr fehlerhafte Bits in, den gleichzeitig gelesenen Daten enthalten sind, vermindert. Es ist möglich, eine Fehlerüberprüfung und -korrektur entsprechend einem ECC-Schema auszuführen, was die Reparierbarkeit fehlerhafter Bits verbessert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die oben skizzierten Probleme können zum großen Teil durch ein System und ein Verfahren zur Fehlerkorrektur zur Verbesserung des Schutzes gegen Mehrfachfehler in Computerspeichersystemen gemäß der beanspruchten Erfindung gelöst werden, wie sie durch die anhängenden unabhängigen Ansprüche definiert sind. In einer Ausführungsform werden Prüfbits, die ein Prüfwort bilden, in physikalisch nicht benachbarten Speicherzellen bezüglich jedes anderen Prüfbits des gegebenen Prüfwortes gespeichert. Da es eine Wahrscheinlichkeit gibt, daß weiche und/oder harte Fehler verursachen, daß physikalisch benachbarte Zellen fehlerhafte Daten liefern, führt das Zuordnen von Prüfbits in Prüfworten auf diese Weise dazu, daß für ein Fehlerkorrekturteilsystem Vielfachbitfehler als Einzelbitfehler erscheinen. In ähnlicher Weise wird die Wahrscheinlichkeit dafür, daß Mehrfachbitfehler in demselben Prüfwort auftreten, reduziert.
  • In einer Ausführungsform weist ein Speichermodul eine gedruckte Schaltkreisplatine auf, auf welcher eine Mehrzahl von DRAM-Chips montiert sind. Einige dieser DRAM-Chips sind so ausgestaltet, daß sie Datenworte speichern, während andere Prüfworte speichern, die gegebenen Datenworten zugeordnet sind. Jedes Datenwort wird durch eine Anzahl von Prüfbits geschützt, die ein Prüfwort bilden. Diese Prüfbits werden entsprechend einem vorbestimmten Fehlerkorrekturschema, wie z. B. einem Hamming-Code, erzeugt. Eine Gruppe von Prüfbits wird als ein Prüfwort bezeichnet. Die Prüfbits werden in DRAM-Chips in der Weise gespeichert, daß jedes Prüfbit eines gegebenen Prüfwortes bezüglich jeden anderen Prüfbits in dem gegebenen Prüfwort in einer physikalisch nicht benachbarten Speicherzelle gespeichert wird. Typischerweise wird jedes Prüfbit aus einem gegebenen DRAM-Chip einem anderen Prüfwort zugeordnet.
  • Während eines Speicherzugriffs wird auf ein Datenwort zugegriffen und Prüfworte, die zu dem Datenwort gehören, auf welches zugegriffen wird, werden durch ein Fehlerkorrektur-Teilsystem bzw. -Untersystem empfangen. Das Fehlerkorrekturteilsystem verwendet dann die Prüfworte, um auf Vorhandensein eines Fehlers zu prüfen, und zwar entsprechend dem vorbestimmten Fehlerkorrekturschema. Da jedes der Prüfbits aus einem gegebenen DRAM-Chip einem anderen Prüfwort zugeordnet ist, erscheinen Mehrfachbitfehler für einen gegebenen DRAM-Chip als eine Mehrzahl von Einzelbitfehlern, die allgemein leichter zu entdecken und zu korrigieren sind. Weiterhin kann, da Prüfbits von einem gegebenen DRAM verschiedenen Prüfworten zugeordnet sind, die Wahrscheinlichkeit des Auftretens von mehreren Fehlern in demselben Prüfwort reduziert werden.
  • Demnach kann in verschiedenen Ausführungsformen das System und das Verfahren zum Verbessern des Schutzes gegen Mehrtachbitfehler in Computerspeichersystemen die Möglichkeit in vorteilhafter Weise reduzieren, daß in demselben Prüfwort Mehrfachbitfehler auftreten. Da weiterhin Prüfbits, die an physikalisch benachbarten Stellen innerhalb eines DRAMs gespeichert werden, unterschiedlichen Prüfworten zugeordnet werden, erscheinen Mehrfachbitfehler, die durch Fehler in Prüfbits verursacht werden, welche an physikalisch benachbarten Stellen gespeichert sind, als Einzelbitfehler in dem Fehlerkorrekturteilsystem. Da Einzelbitfehler allgemein einfacher zu erfassen und zu korrigieren sind, kann die Systemzuverlässigkeit und Datenintegrität in vorteilhafter Weise gesteigert werden.
  • KURZE BESCHREIBUNG DER FIGUREN
  • Ein genaueres Verständnis der vorliegenden Erfindung kann man erhalten durch Lesen der folgenden genauen Beschreibung einer bevorzugten Ausführungsform in Verbindung mit den folgenden Figuren, von denen:
  • 1 (Stand der Technik) eine Zeichnung ist, die eine Reihe eines Speicherarrays in einem dynamischen Speicherchip mit wahlweisem Zugriff (DRAM-Chip) ist, in welchem physikalisch benachbarte Prüfbits demselben Prüfwort zugeordnet sind,
  • 2 ein Blockdiagramm einer Ausführungsform eines Computersystems einschließlich eines Fehlerkorrekturteilsystems ist,
  • 3 eine Zeichnung eines Speichermoduls ist, wie er in dem Computersystem nach 2 verwendet wird, wobei das Speichermodul für die Speicherung von Prüfbits und Datenbits ausgestaltet ist,
  • 4 ein Blockdiagramm ist, welches die Beziehung von Prüfbits zu Prüfworten für DRAM-Chips mit einem Datenpfad von 16 Bits veranschaulicht,
  • 5 ein Blockdiagramm ist, wobei vier Prüfbits von einer gegebenen Speichereinrichtung fehlerhaft sind, und welches veranschaulicht, wie ein Mehrfachbitfehler einem Fehlerkorrektursystem als eine Gruppe von Einzelbitfehlern präsentiert wird,
  • 6 eine Zeichnung einer Reihe eines Speicherarrays innerhalb eines DRAM ist, welche die Art und Weise veranschaulicht, auf welche physikalisch benachbarte Prüfbits unterschiedlichen Prüfworten entsprechen,
  • 7 eine Zeichnung eines Bereiches eines Speicherarrays ist, in welchem die Korrelation von Prüfworten zu Prüfbits, die sowohl horizontal als auch vertikal in physikalisch benachbarten Zellen gespeichert sind, veranschaulicht wird.
  • Während die Erfindung verschiedene Modifikationen und alternative Formen zuläßt, sind spezielle Ausführungsformen derselben anhand eines Beispiels in den Figuren gezeigt und werden hier im einzelnen beschrieben.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Gemäß 2 ist ein Blockdiagramm eines Computersystems 100 mit einem Fehlerkorrekturteilsystem 105 dargestellt. Zusätzlich zu dem Fehlerkorrekturteilsystem 105 weist das Computersystem eine CPU 101, eine Speichersteuerung 102, einen CPU-Bus 103, einen Speicherbus 104 und eine Mehrzahl von Speichermodulen 1000 auf. Das Fehlerkorrekturteilsystem 105 ist in der Speichersteuerung 102 enthalten und ist so ausgestaltet, daß es Fehler während Datenübertragungen auf dem Speicherbus erfaßt und korrigiert, einschließlich solcher Übertragungen von Daten zu und von den Speichermodulen 1000. Die Verwendung von Prüfbits und Prüfworten durch das Fehlerteilsystem wird nachstehend noch genauer erläutert. Das Fehlerkorrekturteilsystem 105 kann eines von vielen verschiedenen Fehlerkorrekturschemata verwenden, wie z. B. eines, das Hamming-Codes benutzt.
  • 3 ist eine Zeichnung eines Speichermoduls, welches in dem Computersystem nach 2 verwendet wird. Das Speichermodul 1000 umfaßt eine gedruckte Schaltkreisplatine, auf welcher dynamische Speicherchips mit wahlweisem Zugriff (DRAMs) 1001-1 bis 1001-36 montiert sind. Jeder dieser DRAM-Chips hat eine Datenbreite von 16 Bits. In dieser speziellen Ausführungsform werden vier dieser DRAM-Chips 1001-1 bis 1001-4 ausschließlich für das Speichern von Prüfbits verwendet. Der übrige Teil des DRAM-Chips 1001-5 bis 1001-36 wird verwendet, um Datenbits zu speichern. Das Speichermodul 1000 umfaßt auch einen Randanschluß 1005 mit einer Mehrzahl elektrischer Anschlußflächen 1015. Eine Mehrzahl von Signalleitungen 1020 verbindet die elektrischen Anschlußflächen bzw. -kontakte 1015 mit den DRAM-Chips 1001. Datensignale werden entlang von Signalleitungen 1020 zwischen den DRAM-Chips 1001 und elektrischen Kontaktanschlüssen 1015 übertragen. Der Datenanschlußstift D0 jedes DRAM-Chips 1001 ist mit einer Verbindung zu den elektrischen Anschlußflächen 1015 über Signalleitungen 1020 dargestellt, wobei die jeweilige Position des Bits in dem Datenwort (d. h. DQ0, DQ16 etc.) dargestellt ist. Das höchstwertige Bit der Daten DQ511 ist mit dem Anschlußstift D15 eines DRAM-Chips 1001-5 verbunden. In dieser Ausführungsform werden 16 Prüfbits verwendet, um jeden Datenblock von 128 Bits zu schützen, wobei jedes Prüfwort nur einem Datenblock zugeordnet ist.
  • Wie zuvor festgestellt, werden die DRAM-Chips 1001-1 bis 1001-4 in dieser Ausführungsform ausschließlich für das Speichern von Prüfbits verwendet. Jeder dieser DRAM-Chips speichert vier Prüfbits jedes Prüfwortes. Jedes Prüfwort hat 16 Bits und schützt einen Datenblock von 128 Bits. Auf diese Prüfbits wird durch eine Mehrzahl von Stiften bzw. Anschlußstiften zugegriffen, die mit CBWX[y:z] bezeichnet sind. Beispielsweise repräsentiert CBW1[3:0], welches in der Zeichnung dargestellt ist, vier Anschlußstifte eines DRAM-Chips, durch welche auf die Prüfbits 0 bis 3 des Prüfwortes #1 zugegriffen wird. In ähnlicher Weise repräsentiert CBW2[7:4] diejenigen Stifte, durch welche auf die Prüfbits 4 bis 7 des Prüfwortes #2 zugegriffen wird. Jeder dieser Stifte ist mit einer entsprechenden Signalleitung verbunden. Beispiele für Signalleitungen sind in der Zeichnung als CBW1 bis CBW4 dargestellt. Allgemein werden diese Signalleitungen auf der gedruckten Schaltkreisplatine in einer solchen Art und Weise geführt, daß physikalisch benachbarte Speicherzellen innerhalb jedes DRAM-Chips Prüfbits speichern, die unterschiedlichen Prüfworten entsprechen.
  • Gemäß 4 ist eine Zeichnung wiedergegeben, welche die Beziehung von Prüfbits, die in einem gegebenen DRAM-Chip gespeichert sind, zu individuellen Prüfworten veranschaulicht. Ein DRAM-Chip 1001-1 speichert vier Prüfbits für jedes von vier verschiedenen Prüfworten 2000, die durch das Fehlerkorrekturteilsystem 105 nach 2 verwendet werden. Jedes der vier Prüfbits, welches einem gegebenen Prüfwort entspricht, wird in dem DRAM-Chip 1001-1 in einer bezüglich der drei anderen Prüfbits, welche dem gegebenen Prüfwort entsprechen, räumlich nicht benachbarte Speicherzelle gespeichert. In ähnlicher Weise speichern die DRAM-Chips 1001-2 bis 1001-4 jeweils vier Prüfbits für jedes Prüfwort 2000 und jedes Prüfbit wird bezüglich jeden anderen Prüfbits des gegebenen Prüfwortes in einer räumlich nicht benachbarten Speicherzelle gespeichert. Während Speicherzugriffsvorgängen greift das Fehlerkorrekturteilsystem 105 nach 2 auf jedes der vier Prüfworte 2000 parallel zu.
  • 5 ist eine Zeichnung, welche die Art und Weise veranschaulicht, in welcher Mehrbitfehler eines einzelnen DRAM-Chips für ein Fehlerkorrektursystem als Einzelbitfehler erscheinen. In der Zeichnung speichern die DRAM-Chips 1001-1 bis 1001-4 jeweils vier Prüfbits jedes Prüfwortes 2000. In diesem Fall liegt ein Multibitfehler in DRAM 1001-1 vor, da vier Prüfbits fehlerhaft sind. Jedes fehlerhafte Prüfbit entspricht einem anderen Prüfwort 2000. In irgendwelchen anderen Prüfbits der anderen DRAM-Chips 1001-2 bis 1001-4 sind keine weiteren Fehler vorhanden. Da jedes Prüfwort 2000 nur ein fehlerhaftes Bit enthält, erfaßt das Fehlerkorrekturteilsystem die vier Einzelbitfehler und korrigiert sie, obwohl in dem DRAM-Chip 1001-1 ein Mehrbitfehler vorliegt.
  • Gemäß 6 ist eine Zeichnung einer Reihe eines DRAM-Speicherarrays dargestellt, in welche die Art und Weise, in welcher physikalisch benachbarte Prüfbits unterschiedlichen Prüfworten zugeordnet werden, veranschaulicht ist. In dieser Ausführungsform ist die Speicherarrayreihe 1050R so ausgestaltet, daß sie 16 Prüfbits speichert. Jedes Prüfbit ist einem Prüfwort 2000 zugeordnet. Das Prüfbit 0 in Reihe 1050R wird dem Prüfwort #1 zugeordnet, während das nächste räumlich benachbarte Bit, das Prüfbit 1, dem Prüfwort #2 zugeordnet wird. In ähnlicher Weise wird das Prüfbit 3 dem Prüfwort #3 und das Prüfbit 4 dem Prüfwort #4 zugeordnet. Dieses Muster wiederholt sich, beginnend bei Prüfbit 5, welches dem Prüfwort #1 zugeordnet wird. Das letzte Prüfbit in der Reihe 1050R wird dem Prüfwort #4 zugeordnet.
  • 7 ist eine Zeichnung eines Speicherarrays innerhalb eines DRAM und veranschaulicht noch weiter die Art und Weise, in welcher physikalisch benachbarte Prüfbits unterschiedlichen Prüfworten zugeordnet werden. In dieser Ausführungsform umfaßt das Speicherarray 1050 eine Mehrzahl von Reihen 1050R und Spalten 1050C. An den Schnittlinien der Reihen 1050R und der Spalten 1050C befinden sich Speicherzellen 1051. Jede Zelle in dieser Ausführungsform kann ein Prüfbit speichern und jedes Prüfbit wird einem Prüfwort 2000 zugeordnet. Die Prüfbits werden derart gespeichert, daß keine zwei Prüfbits in Zellen 1051, welche physikalisch bzw. räumlich benachbart sind, sei es vertikal, horizontal oder diagonal, gespeichert sind, demselben Prüfwort 2000 zugeordnet werden. Beispielsweise ist das Prüfbit, welches in Reihe 5, Spalte 3 des Speicherarrays 1050 gespeichert ist, dem Prüfwort #1 zugeordnet, während das Bit direkt darunter in Reihe 4, Spalte 3, dem Prüfwort #2 zugeordnet ist. Ein Prüfbit, welches in einer horizontal benachbarten Zelle, Reihe 5, Spalte 4 gespeichert ist, ist dem Prüfwort #3 zugeordnet, während ein Prüfbit, das in einer diagonal benachbarten Zelle, Reihe 4, Spalte 4 gespeichert ist, dem Prüfwort #4 zugeordnet wird. Dieses Verfahren des Zuordnens von Prüfbits zu Prüfworten wird für alle Prüfbits wiederholt, die in einem gegebenen Speicherarray gespeichert sind.
  • Während die vorliegende Erfindung unter Bezug auf besondere Ausführungsformen beschrieben worden ist, versteht es sich, daß die Ausführungsformen nur veranschaulichend sind und daß der Schutzumfang der Erfindung nicht darauf beschränkt ist. Irgendwelche Variationen, Modifikationen, Hinzufügungen und Verbesserungen der beschriebenen Ausführungsformen sind möglich.

Claims (20)

  1. Computersystem (100), welches aufweist: eine zentrale Verarbeitungseinheit (CPU) (101), eine Speichersteuerung (102), die mit der CPU und einem Speicherbus (104) verbunden ist, wobei die Speichersteuerung ein Untersystem für die Fehlerkorrektur aufweist und das Untersystem (105) für die Fehlerkorrektur so ausgestaltet ist, daß es eine Mehrzahl von Prüfworten (2000) erzeugt, welche einer Mehrzahl von Datenblöcken entsprechen, ein Speichermodul (1000), welches mit dem Speicherbus verbunden ist, einschließlich einer Mehrzahl von Speicherchips zum Speichern der Mehrzahl von Prüfworten und der Mehrzahl von Datenblöcken, wobei jedes Prüfbit, welches ein gegebenes Prüfwort bildet, bezüglich jedes zweiten Prüfbits des gegebenen Prüfwortes an einer räumlich nicht benachbarten Speicherzelle von (1051) der Mehrzahl von Speicherchips gespeichert ist.
  2. Computersystem nach Anspruch 1, wobei zumindest einer aus der Mehrzahl von Speicherchips so ausgestaltet ist, daß er mehrfache Prüfbits des gegebenen Prüfwortes empfängt und speichert.
  3. Computersystem nach Anspruch 2, wobei ein erster Teilsatz der Mehrzahl von Speicherchips so ausgestaltet ist, daß er einen gegebenen Datenblock, welcher dem gegebenen Prüfwort entspricht, empfängt und speichert.
  4. Computersystem nach Anspruch 3, wobei ein zweiter Teilsatz aus der Mehrzahl von Speicherchips, der zumindest einen aus der Mehrzahl von Speicherchips umfaßt, so ausgestaltet ist, daß er das gegebene Prüfwort empfängt und speichert, und wobei ein erster Speicherchip des zweiten Teilsatzes so ausgestaltet ist, daß er einen ersten Satz von Prüfbits des gegebenen Prüfwortes empfängt und speichert.
  5. Computersystem nach Anspruch 4, wobei der erste Speicherchip ein Array von Speicherzellen aufweist und wobei jedes Bit des ersten Satzes von Prüfbits eines gegebenen Prüfwortes bezüglich jedes zweiten Bits des ersten Prüfsatzes von Prüfbits in einer physikalischen nicht benachbarten Zelle innerhalb des ersten Speicherchips gespeichert wird.
  6. Computersystem nach einem der Ansprüche 2 bis 5, wobei das Teilsystem der Fehlerkorrektur so ausgestaltet ist, daß es einen Fehler in Daten erfaßt, die von dem Speicherteilsystem übertragen werden, und wobei das Teilsystem der Fehlerkorrektur so ausgestaltet ist, daß es bei Erfassung eines Fehlers in den Daten den Fehler korrigiert.
  7. Computersystem nach einem der Ansprüche 2 bis 6, wobei die Speicherchips Chips mit dynamischem wahlweisem Speicherzugriff (DRAM) (1001-1 bis 1001-36) sind.
  8. Verfahren zum Speichern von Prüfworten (2000) in einem Speichermodul (1000), wobei das Verfahren aufweist: Erzeugen einer Mehrzahl von Prüfworten, die einer Mehrzahl von Datenblöcken entsprechen, wobei die Prüfworte eine Mehrzahl von Prüfbits enthalten, Speichern der Mehrzahl von Prüfworten und der Mehrzahl von Datenblöcken in dem Speichermodul, wobei jedes Prüfbit, das ein gegebenes Prüfwort bildet, bezüglich jedes zweiten Prüfbits des gegebenen Prüfwortes in einer physikalisch nicht benachbarten Speicherzelle (1051) der Mehrzahl von Speicherchips gespeichert wird.
  9. Verfahren nach Anspruch 8, wobei die Prüfworte in den Speicherchips gespeichert werden und wobei die Prüfworte eines gegebenen Prüfwortes in mehr als einem der Speicherchips gespeichert werden.
  10. Verfahren nach Anspruch 8 oder 9, wobei die Speicherchips Speicherchips mit dynamischem wahlweisem Zugriff (DRAM) (1001-1 bis 1001-36) sind.
  11. Speicherteilsystem, welches aufweist: zumindest ein Speichermodul (1000) mit einer Mehrzahl von Speicherchips, eine Speichersteuerung (102), die ein Teilsystem (105) für die Fehlerkorrektur aufweist, wobei das Teilsystem für die Fehlerkorrektur so ausgestaltet ist, daß es eine Mehrzahl von Prüfworten (2000) erzeugt, die einer Mehrzahl von Datenblöcken entsprechen, wobei jedes Prüfbit, das ein gegebenes Prüfwort bildet, bezüglich jedes zweiten Bits eines gegebenen Prüfwortes in einer physikalisch nicht benachbarten Speicherzelle (1051) der Mehrzahl von Speicherchips gespeichert wird.
  12. Speicherteilsystem nach Anspruch 11, wobei die Speicherchips Speicherchips (DRAM) (1001-1 bis 1001-36) mit dynamischem wahlweisem Zugriff sind.
  13. Speicherteilsystem nach Anspruch 12, wobei jeder der dynamischen Speicherchips mit wahlweisem Zugriff (DRAM) ein Speicherarray umfaßt, welches Zellen hat, wobei jede der Zellen so ausgestaltet ist, daß sie ein Informationsbit speichert.
  14. Speicherteilsystem nach Anspruch 13, wobei jedes der Prüfbits in einer Zelle des Speicherarrays gespeichert ist.
  15. Speicherteilsystem nach einem der Ansprüche 1 bis 14, wobei jedes der Speichermodule eine gedruckte Schaltkreisplatine (PCB) umfaßt, wobei eine Mehrzahl von Speicherchips auf einer solchen gedruckten Schaltkreisplatine (PCB) gespeichert ist.
  16. Speichermodul (1000) für die Verwendung in einem System, das ein Teilsystem (105) für die Fehlerkorrektur hat, wobei das Teilsystem für die Fehlerkorrektur so ausgestaltet ist, daß es eine Mehrzahl von Prüfworten (2000) erzeugt, welche einer Mehrzahl von Datenblöcken entsprechen, wobei das Speichermodul aufweist: eine gedruckte Schaltkreisplatine, eine Mehrzahl von Speicherchips, die auf der gedruckten Schaltkreisplatine montiert sind, um die Mehrzahl von Prüfworten und die Mehrzahl von Datenblöcken zu speichern, wobei jedes Prüfbit, das ein gegebenes Prüfwort bildet, bezüglich jedes zweiten Prüfbits des gegebenen Prüfwortes in einer physikalisch nicht benachbarten Speicherzelle (1051) der Mehrzahl von Speicherchips gespeichert wird.
  17. Speichermodul nach Anspruch 16, wobei die Speicherchips dynamische Speicherchips mit wahlweisem Zugriff (DRAM) (1001-1 bis 1001-36) sind.
  18. Speichermodul nach Anspruch 16 oder 17, wobei die gedruckte Schaltkreisplatine eine Mehrzahl von Signalleitungen umfaßt.
  19. Speichermodul nach Anspruch 18, wobei die Signalleitungen auf der gedruckten Schaltkreisplatine in der Weise geleitet werden, daß die in den Speicherzellen gespeicherten Prüfbits, welche physikalisch benachbart sind, unterschiedlichen Prüfworten zugeordnet sind.
  20. Speichermodul nach einem der Ansprüche 16 bis 19, wobei eine Mehrzahl von Speicherchips so ausgestaltet ist, daß sie Datenbits speichern, und eine zweite Mehrzahl der Speicherchips so ausgestaltet ist, daß sie Prüfbits speichern.
DE60002872T 1999-07-02 2000-06-29 System und verfahren zur verbesserung des multibit fehlerschutzes in einer computerspeichereinheit Expired - Lifetime DE60002872T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/347,117 US6574746B1 (en) 1999-07-02 1999-07-02 System and method for improving multi-bit error protection in computer memory systems
US347117 1999-07-02
PCT/US2000/017911 WO2001002959A1 (en) 1999-07-02 2000-06-29 A system and method for improving multi-bit error protection in computer memory systems

Publications (2)

Publication Number Publication Date
DE60002872D1 DE60002872D1 (de) 2003-06-26
DE60002872T2 true DE60002872T2 (de) 2004-03-11

Family

ID=23362399

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60002872T Expired - Lifetime DE60002872T2 (de) 1999-07-02 2000-06-29 System und verfahren zur verbesserung des multibit fehlerschutzes in einer computerspeichereinheit

Country Status (8)

Country Link
US (1) US6574746B1 (de)
EP (1) EP1194849B1 (de)
JP (1) JP2003504722A (de)
KR (1) KR100609343B1 (de)
AT (1) ATE241171T1 (de)
AU (1) AU5899800A (de)
DE (1) DE60002872T2 (de)
WO (1) WO2001002959A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785835B2 (en) * 2000-01-25 2004-08-31 Hewlett-Packard Development Company, L.P. Raid memory
IL136379A0 (en) * 2000-05-25 2001-06-14 Gene Bio Applic Ltd Processing chamber
JP2003077294A (ja) * 2001-08-31 2003-03-14 Mitsubishi Electric Corp メモリ回路
US7634709B2 (en) * 2001-10-05 2009-12-15 Unisys Corporation Familial correction with non-familial double bit error detection
JP2005203064A (ja) * 2004-01-19 2005-07-28 Toshiba Corp 半導体記憶装置
US7519629B2 (en) * 2004-09-30 2009-04-14 International Business Machines Corporation System and method for tolerating multiple storage device failures in a storage system with constrained parity in-degree
US7275201B1 (en) * 2005-04-13 2007-09-25 Emc Corporation Memory system
US7478307B1 (en) * 2005-05-19 2009-01-13 Sun Microsystems, Inc. Method for improving un-correctable errors in a computer system
DE102006016499B4 (de) * 2006-04-07 2014-11-13 Qimonda Ag Speichermodulsteuerung, Speichersteuerung und entsprechende Speicheranordnung sowie Verfahren zur Fehlerkorrektur
US20080163013A1 (en) * 2006-12-29 2008-07-03 Robert James Landers Memory testing system and method
KR100823170B1 (ko) 2007-01-31 2008-04-21 삼성전자주식회사 배드 블록을 싱글 레벨 셀 모드로 사용하는 메모리 시스템및 메모리 카드
US8468422B2 (en) * 2007-12-21 2013-06-18 Oracle America, Inc. Prediction and prevention of uncorrectable memory errors
DE102008020128A1 (de) * 2008-04-21 2009-10-22 Rittal Gmbh & Co. Kg Klimatisierungsgerät und Bausatz für ein Klimatisierungsgerät
US9626243B2 (en) * 2009-12-11 2017-04-18 Advanced Micro Devices, Inc. Data error correction device and methods thereof
US9213595B2 (en) 2013-10-15 2015-12-15 International Business Machines Corporation Handling errors in ternary content addressable memories
KR102178137B1 (ko) 2014-08-26 2020-11-12 삼성전자주식회사 반도체 메모리 장치, 이의 에러 정정 방법 및 이를 포함하는 메모리 시스템

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4334309A (en) * 1980-06-30 1982-06-08 International Business Machines Corporation Error correcting code system
JPS58139399A (ja) * 1982-02-15 1983-08-18 Hitachi Ltd 半導体記憶装置
US4845664A (en) 1986-09-15 1989-07-04 International Business Machines Corp. On-chip bit reordering structure
IT1202527B (it) 1987-02-12 1989-02-09 Honeywell Inf Systems Sistema di memoria e relativo apparato di rivelazione-correzione di errore
US5134616A (en) * 1990-02-13 1992-07-28 International Business Machines Corporation Dynamic ram with on-chip ecc and optimized bit and word redundancy
US5164944A (en) 1990-06-08 1992-11-17 Unisys Corporation Method and apparatus for effecting multiple error correction in a computer memory
US5291498A (en) 1991-01-29 1994-03-01 Convex Computer Corporation Error detecting method and apparatus for computer memory having multi-bit output memory circuits
US5270964A (en) 1992-05-19 1993-12-14 Sun Microsystems, Inc. Single in-line memory module
US5491702A (en) 1992-07-22 1996-02-13 Silicon Graphics, Inc. Apparatus for detecting any single bit error, detecting any two bit error, and detecting any three or four bit error in a group of four bits for a 25- or 64-bit data word
JP2816512B2 (ja) 1992-07-27 1998-10-27 三菱電機株式会社 半導体記憶装置
US5384788A (en) 1992-10-26 1995-01-24 Dell Usa, L.P. Apparatus and method for optimal error correcting code to parity conversion
US5465262A (en) 1994-01-28 1995-11-07 International Business Machines Corporation Method and structure for providing error correction code and automatic parity sensing
US5642366A (en) 1994-07-05 1997-06-24 Adaptec, Inc. Global parity symbol for interleaved reed-solomon coded data
US5761221A (en) * 1995-12-11 1998-06-02 International Business Machines Corporation Memory implemented error detection and correction code using memory modules
US5784391A (en) 1996-10-08 1998-07-21 International Business Machines Corporation Distributed memory system with ECC and method of operation
US5894487A (en) * 1997-07-15 1999-04-13 International Business Machines Corporation Error detection of directory arrays in dynamic circuits

Also Published As

Publication number Publication date
WO2001002959A1 (en) 2001-01-11
KR100609343B1 (ko) 2006-08-09
AU5899800A (en) 2001-01-22
US6574746B1 (en) 2003-06-03
EP1194849B1 (de) 2003-05-21
KR20020020734A (ko) 2002-03-15
EP1194849A1 (de) 2002-04-10
DE60002872D1 (de) 2003-06-26
JP2003504722A (ja) 2003-02-04
ATE241171T1 (de) 2003-06-15

Similar Documents

Publication Publication Date Title
DE60002872T2 (de) System und verfahren zur verbesserung des multibit fehlerschutzes in einer computerspeichereinheit
DE102020115736A1 (de) Halbleiterspeichervorrichtung und Verfahren zum Betreiben der Halbleiterspeichervorrichtungen
DE112012002843B4 (de) Anpassungsfähige Mehrbit-Fehlerkorrektur in Speichern mit begrenzter Lebensdauer
DE2532149A1 (de) Fehlerkorrekturanordnung
DE102006048856B4 (de) Verfahren zum Betreiben einer IC-Halbleiterspeichervorrichtung und IC-Halbleiterspeichervorrichtung
DE102005048255A1 (de) Integriertes Schaltungsbauelement und Betriebsverfahren
DE10234684A1 (de) Speicherschaltung
DE102020108262A1 (de) Halbleiterspeichervorrichtungen, Speichersysteme und Verfahren zum Steuern der Reparatur von Halbleiterspeichervorrichtungen
DE10233642A1 (de) Fehlerkorrektur-Kodierung und -Dekodierung in einer Festkörper-Speicherungsvorrichtung
DE3209679A1 (de) Halbleiter-speichereinrichtung
DE2456709C2 (de) Schaltungsanordnung zur Fehlererkennung und -korrektur
EP1046993B1 (de) Halbleiterspeicheranordnung mit BIST
EP2100308B1 (de) Verfahren und halbleiterspeicher mit einer einrichtung zur erkennung von adressierungsfehlern
DE102019102573A1 (de) Speichercontroller, speichersystem und verfahren zum verwenden einer speichervorrichtung
DE102020115747A1 (de) Speichermodul, Fehlerkorrekturverfahren für Speicher-Controller, der dieses steuert, und Rechensystem, das dieses umfasst
DE60215687T2 (de) Fehlerkorrektion von multibit-baueinheiten mit unbeschränkter erkennung von doppelfehlern
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
DE2752377A1 (de) Fehlerpruefeinrichtung
EP0127118B1 (de) Speichersteueranordnung, insbesondere für fehlertolerantes Fernsprech-Vermittlungssystem
DE102020111321A1 (de) System und verfahren zur erkennung und berichtigung von datenfehlern eines transparenten registers
DE69924012T2 (de) Verfahren und vorrichtung für speicherdata-fehlerdetektion und speichermodul-fehlerdetektion
DE102006019426B4 (de) Speichermodulsteuerung, Speichersteuerung und entsprechende Speicheranordnung sowie Verfahren zur Fehlerkorrektur
DE102019113970B4 (de) Erkennung von adressfehlern
DE102019123522A1 (de) Speichersystem und Betriebsverfahren des Speichersystems
DE10161042A1 (de) Verfahren zum Betreiben eines Halbleiterspeichers und Halbleiterspeicher

Legal Events

Date Code Title Description
8364 No opposition during term of opposition