DE3528902C2 - Durch einen EDC-Code gesichertes Speichersystem - Google Patents

Durch einen EDC-Code gesichertes Speichersystem

Info

Publication number
DE3528902C2
DE3528902C2 DE3528902A DE3528902A DE3528902C2 DE 3528902 C2 DE3528902 C2 DE 3528902C2 DE 3528902 A DE3528902 A DE 3528902A DE 3528902 A DE3528902 A DE 3528902A DE 3528902 C2 DE3528902 C2 DE 3528902C2
Authority
DE
Germany
Prior art keywords
bit
bits
data word
stored
storage units
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 - Fee Related
Application number
DE3528902A
Other languages
English (en)
Other versions
DE3528902A1 (de
Inventor
Hans-Werner Ing Grad Knefel
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE3528902A priority Critical patent/DE3528902C2/de
Priority to CH477785A priority patent/CH671123A5/de
Publication of DE3528902A1 publication Critical patent/DE3528902A1/de
Application granted granted Critical
Publication of DE3528902C2 publication Critical patent/DE3528902C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/1016Error in accessing a memory location, i.e. addressing error

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

Die Erfindung betrifft ein spezielles Speichersystem - z. B. RAM-Speichersystem -, nämlich ein im Oberbegriff des Patentanspruches 1 definiertes Speichersystem. Dieses Speichersystem ist also mit einem EDC-Code gesichert und enthält u. a. mehrere, parallel angesteuerte Speicherein­ heiten, welche jeweils eine eigene Ansteuerungseinheit, also vor allem jeweils auch eine eigene Adressendekodie­ rung aufweisen.
Bei den bekannten derartigen Speichersystemen sind die Datenwörter über einen EDC-Code auf solche Art gesichert, daß unter der jeweiligen Adresse der Datenwörter zusätz­ lich eine Anzahl redundanter Bits, genannt K-Bits oder EDC-Kontrollbits oder EDC-Codewort, mitabgespeichert wird. Diese K-Bits entstehen durch Teilparitätbildungen, nämlich durch Paritätbildung über bestimmte Teile/Bitstellen des jeweiligen Datenwortes. Beim Auslesen des Datenwortes werden aus dem ausgelesenen Datenwort die betreffenden Teilparitäten und damit alle K-Bits erneut gebildet und mit den mitabgespeicherten, ebenfalls ausgelesenen, diesem Datenwort zugeordneten K-Bits verglichen, um Fehler im ausgelesenen Datenwort zu erkennen.
Diejenigen einzelnen Bits der gesamten K-Bits eines Daten­ wortes, welche bei diesem Vergleich nicht übereinstimmen, heißen Syndrome. Falls alle verglichenen Bits der K-Bits jeweils untereinander identisch sind, wenn also ein sog. O-Syndrom vorliegt, ist das ausgelesene Datenwort meistens fehlerfrei eingeschrieben, gespeichert und ausgelesen. Sind aber nicht alle der jeweils miteinander verglichenen Bits der K-Bits untereinander identisch, dann wird aus dem Muster der nicht übereinstimmenden Bits, vor allem aus dem Muster der Bitstellen dieser nicht übereinstim­ menden Bits, also aus den sogenannten Syndrommuster, auf die Art des Fehlers geschlossen, wobei anschließend ge­ wisse Fehler, normalerweise 1-Bit-Fehler, des ausgele­ senen Datenwortes auch selbsttätig korrigiert werden. Jene Syndrommuster können ihrerseits im Prinzip eine gerade oder eine ungerade Anzahl von Bitstellen auf­ weisen. Sie heißen dann geradzahlige oder ungeradzahlige Syndrommuster.
Diese Syndrommuster gestatten nämlich wegen der hohen Redundanz des betreffenden, mit dem EDC-Code gesicherten Datenwortes, eine einzelne verfälschte Bitstelle im ausgelesenen Datenwort - jedenfalls sehr oft - präzise zu ermitteln und durch Invertieren zu korrigieren. Dazu können die betreffenden Syndrommuster in einem speziellen Netzwerk dekodiert werden, wodurch ein selbsttätiges Invertieren der verfälschten Bitstelle des Datenwortes erreichbar ist.
Zur Erläuterung der Erfin­ dung soll zunächst anhand der Fig. 1 bis 3 auf die beson­ dere Anwendungsweise von bekannten EDC-Controllerschal­ tungen, nämlich besonders des bekannten, in LSI-Technik hergestellten Bausteins Am2960 eingegangen werden. (vgl. Advanced Micro Devices, INC., "The Designers" Guide 80, Seiten 5-1 bis 5-16). Hier­ bei sollen die einzelnen Speichereinheiten Sp . . . indivi­ duell durch z. B. LSI-Speicherbausteine S . . . . gebildet werden.
EDC-Controllerschaltungen enthalten üblicherweise Parität­ netzwerke, um selbsttätig die dem jeweiligen EDC-Code entsprechenden K-Bits K aus dem gelesenen Datenwort D zu erzeugen; sie enthalten ferner Verknüpfungsglieder, um die so erneut gebildeten K-Bits K mit den aus den Spei­ chereinheiten Sp . . . mitausgelesenen mitabgespeicher­ ten K-Bits K zu vergleichen. Eine solche EDC-Controller­ schaltung bewirkt also die erneute Bildung der K-Bits K aus dem ausgelesenen Datenwort D, den Vergleich der aus­ gelesenen und der erneut gebildeten K-Bits K, die Dekodie­ rung der Syndrome, die Korrektur und ggf. auch eine Alar­ mierung - welche z. B. veranlaßt, daß das betreffende Aus­ lesen der abgespeicherten Bits D+K wiederholt wird.
In Fig. 1 ist beispielhaft das Schema dargestellt, gemäß dem in dem bekannten EDC-Controller-Baustein Am2960, wegen des Aufbaus seiner in ihm integrierten Schaltungen, die bei ihm sechs K-Bits K, vgl. 0 . . . 5, über die bei ihm sechzehn Bitstellen 0 . . . 15 eines 16-Bit-Datenwortes D gebildet werden. Bei diesem Baustein Am2960 sind nämlich jeweils nur die angekreuzten Bitstellen des Datenwortes D - d. h. deren jeweilige Null oder Eins - in die Teilpari­ tätbildung, also in die Paritätbildung für das betreffende Bit der K-Bits K, einbezogen. Bei diesem Baustein Am2960 sind jeder Datenwort-Bitstelle nach einem typischen, nur dieser Bitstelle eigenen Schema, vgl. Fig. 1, stets drei (!) verschiedene K-Bits, also eine ungerade Anzahl von K-Bits, so zugeordnet, daß möglichst nur dann ungeradzah­ lige Syndrommuster entstehen, wenn ein 1-Bit-Fehler im ausgelesenen Datenwort D vorliegt. Das dann vorliegende ungeradzahlige Syndrommuster - nämlich welche drei Bits von den sechs K-Bits zum Syndrommuster gehören - gestat­ tet, sowohl anhand des in Fig. 1 gezeigten Schemas die falsche Bitstelle der 16 Bitstellen des betreffenden Datenwortes D zu ermitteln, als auch zuverlässig diesen 1-Bit-Fehler des ausgelesenen Datenwortes zu korrigieren.
Liegt hingegen im ausgelesenen Datenwort D ein geradzah­ liger Mehr-Bit-Fehler vor, entstehen wegen des in Fig. 1 gezeigten Schemas fast stets geradzahlige Syndrommuster (manchmal allerdings auch O-Syndrome), wobei das in Fig. 1 gezeigte Schema dieses Bausteins Am2960 bei einem gerad­ zahligen Syndrommuster nicht mehr gestattet, die verfälsch­ ten Bitstellen des 16-Bit-Datenwortes D zu ermitteln und zu korrigieren.
Dieser Baustein Am2960, vgl. ein Anwendungsbeispiel in einem Speichersystem aus m parallel an gesteuerten Speicher­ bausteinen Sp1 . . . Spm von z. B. je 8 Bit Länge gemäß Fig. 3, liefert weder ein Signal Cf noch ein Signal Af, wenn sich aus dem Vergleich der ausgelesenen K-Bits K mit den erneut gebildeten K-Bits K ein O-Syndrom ergibt - wenn sich also ergibt, daß das aus den Speicherbausteinen Sp1 . . . Spm ausgelesene Datenwort D wohl fehlerfrei ist. Dieser Baustein Am2960 liefert aber Signale Cf, falls ein ungeradzahliges Syndrommuster vorliegt, falls also im ausgelesenen Datenwort D ein als korrigierbar erkannter 1-Bit-Fehler vorliegt. Bei einem geradzahligen Syndrom­ muster, also bei einem von ihm als nicht korrigierbar er­ kannten Mehr-Bit-Fehler im ausgelesenen Datenwort D, lie­ fert dieser Baustein Am2960 aber ein Alarmsignal Af.
In der obigen Beschreibung des EDC-gesicherten Speicher­ systembeispiels, vgl. Fig. 3, wurden zunächst nämlich nur Fehler beachtet, welche beim Einschreiben, Speichern und/ oder Auslesen des Datenwortes D unter der jeweils rich­ tigen, fehlerfreien Adresse auftreten. Wenn jedoch ein Fehler in der Ansteuerung eines der Speicherbausteine vor­ liegt, können bei einem 16-Bit-Datenwort D und bei einem EDC-Code gemäß Fig. 1, wie sich zeigte, jeweils mit glei­ cher Wahrscheinlichkeit 64 verschiedene Syndrommuster ent­ stehen: 22 dieser Syndrommuster (=34.4%) werden hierbei einen korrigierbaren 1-Bit-Fehler vortäuschen und damit eine fehlerhafte Korrektur des ausgelesenen Datenwortes D veranlassen, statt in richtiger Weise als unkorrigierbarer Fehler erkannt zu werden.
Im Prinzip sind hierbei verschiedene Ansteuerungsfehler möglich, z. B. der Ausfall einer der Adreß-Bitstellen für z. B. einen einzigen der Speicherbausteine Sp . . . , vgl. Adr in Fig. 3, oder der Ausfall seines ENABLEimpulses - oder z. B. der Ausfall des Schreibimpulses W für z. B. einen einzigen der Speicherbausteine Sp . . . z. B. beim Einschrei­ ben in diesen Speicherbaustein Sp . . . Solche Fehler sind über die beschriebene EDC-Überwachung im allgemeinen nur sehr unzuverlässig als unkorrigierbar erkennbar - z. B. weil, bei Ausfall des Schreibsteuersignals W oder eines Adreß-Bit für einen der Speicherbausteine Sp . . . , in diesem Speicherbaustein Sp . . . ein schon früher dort abge­ speicherter Abschnitt eines anderen Datenwortes, z. B. also auch lauter 0-Bits abgespeichert bleiben, oder nun falsche, nämlich nicht zum abzuspeichernden Datenwort D gehörende K-Bits abgespeichert werden. Ähnlich unzuverlässig werden Ansteuerungsfehler, welche beim Auslesen auftreten, als unkorrigierbar erkannt.
Fig. 3 zeigt mehrere EDC-geschützte Speicherbausteine Sp . . , z. B. drei RAM-Bausteine Sp1, Sp2, Spm=3, wobei diese Bau­ steine Sp . . . beim Einschreiben und Auslesen jeweils gemein­ sam von denselben Ansteuersignalen, also z. B. von dersel­ ben Adresse Adr oder demselben Schreibsignal W oder ENABLE- signal - vgl. auch Fig. 2 - aktiviert werden. Zur Ansteu­ erung wird also das jeweilige Steuersignal Adr/W geviel­ facht, z. B. gedreifacht, diesen Speicherbausteinen Sp . . . zugeleitet, wobei der letzte Baustein Spm die K-Bits ent­ halten mag.
Man kann in der Regel mit einem Ausfall nur eines einzigen Bits dieser Ansteuersignale Adr/W an einem einzigen dieser Speicherbausteine Sp . . . rechnen, wodurch, wie erwähnt, Ab­ schnitte verschiedener Datenwörter D und/oder K-Bits K, welche in Wahrheit gar nicht dem betreffenden Speicherwort D zugeordnet sind, beim Einschreiben und/oder Auslesen mit­ einander vermischt sein können. Ein Speichersystem, welches der Fig. 3 entspricht, erzeugt jedoch, wie sich zeigte, noch viel zu häufig ungeradzahlige Syndrommuster, es täuscht also noch viel zu häufig einen korrigierbaren 1-Bit-Datenwortfehler (Signale am Ausgang Cf) oder völlige Fehlerfreiheit (keine Signale an den Ausgängen Cf und Af) vor, ohne daß in Wahrheit ein korrigierbarer 1-Bit-Daten­ wortfehler oder eine Fehlerfreiheit vorliegen.
Um die Zuverlässigkeit der Ansteuerung eines solchen Spei­ chersystems weiter zu verbessern, könnte man zwar alle ge­ vielfachten Bits der Ansteuersignale, vgl. Adr/W, für sich noch vor den Speicherbausteinen . . . . . durch eine Vielzahl von XOR-Gliedern vergleichen, vgl. das symbolisch in Fig. 2 eingetragene EXCLUSIV-ODER-Glied XOR - diese Fig. 2 zeigt der besseren Übersichtlichkeit wegen auch nur zwei Speicherbausteine Sp1/Sp2.
Schon in diesem relativ simplen Falle wäre aber der zusätz­ liche Hardwareaufwand für diese XOR-Glieder beträchtlich. Sind mehr als zwei solche Speicherbausteine Sp . . . bei dem in Fig. 2 gezeigten Beispiel vorhanden und parallel ange­ steuert, dann wären sogar noch viel mehr zusätzliche XOR-Glieder nötig, wobei auch dann jeder dieser Speicherbau­ steine Sp . . . jeweils nur einen Abschnitt der Datenwörter D aus z. B. acht Bit-Stellen oder die K-Bits speichert, vgl. Fig. 2 und 3. Gleichartig aufgebaute Speichersysteme für besonders lange Datenwörter D, welche also aus extrem vielen Bitstellen bestehen, weisen besonders viele pa­ rallel angesteuerte Speicherbausteine Sp . . . und demnach - ungünstigerweise - besonders viele XOR-Glieder auf, weil dann die Ansteuersignale (Adr, W usw.) entsprechend oft auf die verschiedenen Speicherbausteine Sp . . . auf­ zuteilen sind.
Die Aufgabe der Erfindung besteht also darin, bei einem Speichersystem der eingangs genannten Art die Sicherheit beim Erkennen von nicht korrigierbaren Fehlern zu erhöhen, die auf Fehler in der Ansteuerung der parallel angesteuerten Spei­ chereinheiten zurückzuführen sind.
Diese Aufgabe wird erfindungsgemäß durch die im Kennzeichen des Patentanspruchs 1 angegebenen Maßnahmen gelöst.
Die Erfindung beruht also auf dem Prinzip, von - möglichst - allen Bitmengen, welche jeweils aus dem Datenwort-Bit und der damit verknüpften K-Bit-Teilmenge bestehen, jeweils eine geradzahlige Untermenge - oder mehrere geradzahlige, für sich dann in verschiedenen Speichereinheiten abgespeicherten Subuntermengen - von Bits von der K-Bit-Teilmenge abzuspalten und diese Untermenge/Subunternehmungen nicht in derselben Speichereinheit wie das dazugehörende Datenwort-Bit abzuspei­ chern, sowie die verbleibende ungeradzahlige Restmenge der K-Bit-Teilmenge jeder Bitmenge jeweils in derselben Speicher­ einheit wie das Datenwort-Bit abzuspeichern. Durch diese Maßnahmen wird erreicht, daß, sobald ein unkorrigierbarer Ansteuerfehler bei einer der der Speichereinheiten auftrat, stets oder fast stets gerad­ zahlige Syndrommuster entstehen, welche also zuverlässig von der nachgeschalteten EDC-Controllerschaltung als unkor­ rigierbarer Ansteuerungsfehler erkannt werden. Bei einer erfindungsgemäßen Verteilung aller Bits auf die verschie­ denen Speichereinheiten würden also bei einem Ansteuerungs­ fehler, wenn der Baustein Am2960 als EDC-Controllerschal­ tung verwendet wird, bei solcher fehlerhaften Ansteuerung normalerweise das einen unkorrigierbaren Fehler anzeigende Alarmsignal Af abgegeben werden, weil dieser ein geradzah­ liges Syndrommuster feststellte.
Im Prinzip kann daher auch aus dem in Fig. 3 gezeigten Beispiel ein erfindungsgemäßes Beispiel gebildet werden, wenn die Bitmengen jeweils passend auf die verschiedenen Speichereinheiten Sp . . . verteilt werden, statt alle Bits nur in der in Fig. 3 gezeigten Weise abzuspeichern.
Weil aber alle Datenwort-Bits durch den EDC-Code gesichert sind, kann darüberhinaus ein Einschreib-, Speicher- und/oder Auslesefehler, der bei fehlerloser Ansteuerung aller Speichereinheiten eintrat, auch bei der Erfindung in der für EDC gewohnten Weise erkannt und 1-Bit-Datenwort-Fehler auch selbsttätig korrigiert werden.
Die in den Unteransprüchen angegebenen zusätzlichen Maß­ nahmen gestatten, zusätzliche Vorteile zu erreichen, näm­ lich die Maßnahmen gemäß Patentanspruch 2 und 3, jeweils besonders geringen Aufwand an Speicher­ kapazität zu benötigen; sowie 4, als EDC-Controller-Baustein den Baustein Am2960 bei besonders wenig Hardwareaufwand verwenden zu können, nämlich nur eine entsprechende Vertauschung von Zuord­ nungen von EDC-Controller-Baustein-Anschlüssen zu Speichereinheiten-Anschlüssen wählen zu müssen.
Die Erfindung und ihre Weiterbildungen werden anhand der in den Fig. 4 bis 6 gezeigten Beispiele weiter erläutert, welche dem erfindungsgemäßen, zusätzlich zum EDC-Schema (vgl. Fig. 1) vorgegebenen Verteilungsschema für die ein­ zelnen Bits der Bitmengen auf die verschiedenen Speicher­ einheiten Sp . . . entsprechen. Hierbei zeigen die
Fig. 4 generell ein erfindungsgemäßes Verteilungsschema, wel­ ches bevorzugt weiteren, später anhand von Fig. 5 und 6 näher erläuterten Bedingungen über die jeweils nur ein­ malige Abspeicherung jedes Bit unterworfen ist, um Speicherplätze, d. h. Speicherkapazität zu sparen; die
Fig. 5 eine zwei Speichereinheiten aufweisende Weiterbildung, bei welcher jede Speichereinheit acht der hier sechzehn Datenwort-Bits sowie jeweils drei der hier sechs K-Bits abspeichern; sowie die
Fig. 6 eine drei Speichereinheiten aufweisende Weiterbildung, bei welcher jede Speichereinheit jeweils insgesamt nur acht Bits abspeichert, nämlich jeweils vier Datenwort- Bits der hier insgesamt sechzehn Datenwort-Bits und vier Bits der hier acht K-Bits, oder sechs Datenwort- Bits und zwei Bits der K-Bits,
wobei die Fig. 5 und 6 - ähnlich wie Fig. 1 - durch Ankreu­ zen markierte Schemen für Teilparitätbildungen der K-Bits darstellen.
Jedes der in irgendeiner der Speichereinheiten Sp . . . ab­ gespeicherten Datenwort-Bits ist auch bei der Erfindung gemäß einem nach EDC-Art vorgegebenen Teilparitäten-Bil­ dungsschema, z. B. gemäß Fig. 1, mit jeweils einer ungerad­ zahligen K-Bit-Teilmenge verknüpft. Die Verteilung der K-Bits K auf die verschiedenen Speicher­ einheiten bzw. Speicherbausteine . . . liegt dann vor, wenn angestrebt ist, möglichst jedes Datenwort-Bit in irgendeiner anderen Speichereinheit Sp . . . (z. B. Sp2) abzuspeichern als eine geradzahlige (Sub-)Untermenge der mit diesem Datenwort-Bit verknüpften K-Bit-Teilmenge.
Daneben ist bei der Erfindung, zur Erkennung der unkor­ rigierbaren Ansteuerungsfehler, allen jenen Speicherein­ heiten Sp . . . , welche insgesamt das zu jeweils einer ein­ zigen Bitmenge gehörende Datenwort-Bit, die dazugehörende Untermenge/Subuntermengen sowie die dazugehörende Rest­ menge der K-Bit-Teilmenge speichern, eine alle diese Kom­ ponenten der Bitmenge gemeinsam prüfende EDC-Controller­ schaltung nachgeschaltet.
Im Prinzip, vgl. Fig. 5 und 6, kann also, wie erwähnt, die Schaltung des Speichersystems auch in gleicher Weise wie in Fig. 3 - oder auch Fig. 2 - gewählt werden, aber mit dem Unterschied, daß zumindest die Verteilung der Bits der Untermengen der K-Bit-Teil­ mengen auf die verschiedenen Speichereinheiten Sp . . . anders, nämlich erfindungsgemäß gewählt wird. Hierbei können, wie ebenfalls bereits erwähnt, einzelne der oder alle diese Untermengen auch in jeweils mehrere, für sich geradzahlige Subuntermengen aufgeteilt sein, wobei jede dieser Subuntermengen jeweils in einer anderen Speicher­ einheit als die anderen Subuntermengen dieser Bitmenge abgespeichert werden - was anhand von Fig. 6 später noch näher gezeigt werden wird.
Ganz besonders wenig Geschick für die Verteilung der Bits aller Bitmengen - wenn auch entsprechend mehr Speicher­ platzaufwand - erfordert das Speicher­ system, wenn einzelne oder alle Bits gleichzeitig mehr­ fach, nämlich gevielfacht in mehreren der Speicherein­ heiten Sp . . . abgespeichert werden. Dann ist nämlich besonders leicht zu erreichen, daß jeder in einer Spei­ chereinheit abgespeicherten Datenwort-Bitstelle jeweils eine in einer anderen Speichereinheit abgespeicherte, damit verknüpfte Untermenge der K-Bit-Teilmenge zugeord­ net ist.
Bei Bedarf, besonders bei sehr großer Länge der Daten­ wörter D - z. B. bei 64-Bit-Datenwörtern - d. h. besonders bei einer sehr hohen Anzahl der parallel angesteuerten Speichereinheiten Sp . . . , ist es mitunter günstig, mehrere statt einer einzigen EDC-Controllerschaltungen den Spei­ chereinheiten Sp . . . nachzuschalten. Hierbei kann man das lange Datenwort in mehrere kürzere Datensilben zerlegen, jede Datensilbe für sich nach einem EDC-Code sichern, die Bits jeder Datensilbe und die zu ihr gehörenden K-Bits für sich gemäß dem erfindungsgemäßen Verteilungsschema auf mehrere eigene Speichereinheiten verteilen und jeweils allen Speichereinheiten, welche einer Datensilbe und deren K-Bits zugeordnet sind, gemeinsam eine der EDC-Controller­ schaltungen nachschalten.
Weil alle K-Bits für sich nach einem EDC-Code gebildet wurden, also insofern keine Abweichung von den bei EDC üblichen Schemen vorliegt, werden die Speichereinheiten Sp . . . auch bei solchen extrem langen Datenwörtern D, in gemäß dem gewählten EDC-Code üblicher Weise prüfbare Aus­ leseergebnisse liefern, wenn kein Ansteuerungsfehler vor­ liegt: Beim Auslesen des Datenwortes D und seiner zugehö­ renden K-Bits K kann weiterhin in der bei EDC üblichen Weise durch die EDC-Controllerschaltung, z. B. durch den Baustein Am2960, das aus den Speichereinheiten ausgele­ sene Ausleseergebnis ausgewertet, also jeweils entweder als fehlerfrei erkannt, oder bei einem 1-Bit-Fehler des ausgelesenen Datenwortes D korrigiert, oder bei einem Mehr-Bit-Fehler des ausgelesenen Datenwortes D als unkor­ rigierbar erkannt werden, wenn jeweils kein Ansteuerungs­ fehler vorliegt. Ferner kann wegen der zusätzlichen er­ findungsgemäßen Verteilung der Bits aller Bitmengen auf die verschiedenen Speichereinheiten auch bei solchen extrem langen Datenwörtern D der Ansteuerungsfehler als unkorrigierbar erkannt werden, weil jede Datenwort-Silbe für sich erfindungsgemäß abgespeichert ist.
Das Verteilungsschema bewirkt, daß in jeder der verschiedenen Speichereinheiten jeweils sowohl ein Abschnitt des Datenwortes sowie ein Abschnitt der K-Bits abspeichert ist.
Zwei besonders einfache Beispiele der Erfindung werden zu­ nächst anhand der Fig. 5 und 6 erläutert, welche eine ent­ sprechende Verteilung der Bitmengen in einem Speichersy­ stem mit zwei (Fig. 5) oder drei (Fig. 6) verschiedenen Speichereinheiten - vgl. Fig. 3 - zeigen und welche zwei zusätzliche erschwerende Bedingungen erfüllen: daß es nämlich kein Bit eines Abschnittes des Datenwortes D gibt, welches in mehr als in einer einzigen der Speicher­ einheiten abgespeichert ist, vgl. den Patentanspruch 2, sowie daß es kein Bit eines Abschnittes der K-Bits gibt, welches in mehr als einer einzigen der Speichereinheiten gespeichert ist, vgl. den Patentanspruch 3.
Hierbei bedeuten in Fig. 5 und 6 (auch in Fig. 4):
k = jeweils einer der verschiedenen Abschnitte der K-Bits;
d = jeweils einer der verschiedenen Abschnitte des Datenwortes D;
wobei sich untereinander weder die Abschnitte k noch die Abschnitte d gegenseitig überlappen.
Bei dem in Fig. 5 gezeigten Beispiel sind nämlich in der ersten Speichereinheit (d = 1, vgl. Sp1 in Fig. 3) jeweils nur die Datenwort-Bitstellen 0 . . . 7 zusammen mit den K- Bitstellen 3, 4, 5 abgespeichert, sowie in der zweiten Speichereinheit (d = 2) jeweils nur die Datenwort-Bit­ stellen 8 . . . 15 zusammen mit den K-Bitstellen 0, 1, 2. Jedes Bit der K-Bits stellt innerhalb eines jeden der bei­ den Speichereinheiten jeweils eine ungeradzahlige Rest­ menge für ein dort mitabgespeichertes Datenwort-Bit dar. Außerdem gehören die in der einen Speichereinheit abgespei­ cherten K-Bits jeweils zu den geradzahligen Untermengen der in der anderen Speichereinheit abgespeicherten Daten­ wort-Bits.
Im übrigen kann man durch einen Vergleich der Fig. 1 und 5 erkennen, daß das Verteilungsschema gemäß Fig. 5 bei Verwendung des Bausteins Am2960 als EDC-Controllerschaltung erhalten werden kann, wenn man ent­ weder am Baustein Am2960, oder an den Speichereinheiten, die Enden der Verdrahtungen an den Datenwort-Bit-Anschlüs­ sen 5-8, 6-9 und 7-10 miteinander vertauscht.
Ähnlich bei der Weiterbildung gemäß Fig. 6: dort sind nämlich in der ersten Speichereinheit (d = 1) jeweils nur die Datenwort-Bitstellen 0 . . . 3 zusammen mit den dafür Restmengen darstellenden K-Bitstellen 4 . . . 7f abgespei­ chert, aber in der zweiten Speichereinheit (d = 2) die jeweils nur die Datenwort-Bitstellen 4 . . . 9 zusammen mit den dafür Restmengen darstellenden K-Bitstellen 2 und 3, ferner in der dritten Speichereinheit (d = 3) die rest­ lichen Datenwort-Bitstellen 10 . . . 15 des auch hier sech­ zehnstelligen Datenwortes D zusammen mit den restlichen, dafür Restmengen darstellenden K-Bitstellen 0 und 1 der hier achtstelligen K-Bits. Auch bei diesem Beispiel stellt also jedes Bit der K-Bits innerhalb eines der drei Spei­ chereinheiten jeweils eine ungeradzahlige Restmenge für ein dort mitabgespeichertes Datenwort-Bit dar. Außerdem gehören auch bei dieser Weiterbildung die in der einen Speichereinheit abgespeicherten K-Bits jeweils zu den geradzahligen Untermengen (Datenwort-Bitstellen 0 . . . 5, 7, 8, 10, 11, 13, 14) oder zu den geradzahligen Subunter­ mengen (Datenwort-Bitstellen 6, 9, 12, 15) der in anderen der Speichereinheiten abgespeicherten Datenwort-Bits.
Im folgenden wird anhand von Fig. 4 ein allgemeines Prin­ zip des den Fig. 5 und 6 zugrundeliegenden Verteilungsschemas erläutert, wobei dieses allge­ meine Prinzip auch für Datenwörter mit mehr oder mit weniger als 16 Bitstellen, sowie auch für K-Bits mit mehr oder mit weniger als sechs oder acht Bitstellen gültig ist.
Dabei bedeuten in der Fig. 4
Udk = derartige "direkte Zuordnung"/Verteilung der Datenwort-Abschnitte d sowie ihrer (!) jeweili­ gen ungeradzahligen Restmengen k, daß diese beiden Abschnitte d+k gemeinsam (!) angesteuert, also in einer ihnen gemeinsamen Speichereinheit abgespeichert werden;
Gdk = derartige "indirekte Zuordnung"/Verteilung der Datenwort-Bits eines Datenwort-Abschnittes d sowie ihrer (!) jeweiligen geradzahligen (Sub-) Untermengen k, daß diese Abschnitte d+k nicht (!) gemeinsam angesteuert, also in verschiede­ nen Speichereinheiten abgespeichert werden.
Ferner bedeuten:
Edk = Elementar-Syndrommuster, das aufgrund eines 1-Bit-Datenwortfehlers, welcher im Abschnitt d auftritt, mit den dazugehörenden Bits des K-Bits- Abschnittes k der K-Bits entsteht;
Rdk = resultierendes Syndrommuster, das aufgrund eines Mehr-Bit-Datenwortfehlers, welcher im Abschnitt d auftritt, mit den dazugehörenden Bits des K-Bits-Abschnittes k entsteht; sowie
Sk = Spalten-Syndrommuster, das durch Überlagerung aller Rdk einer betreffenden Spalte k von Fig. 4 (vgl. auch die entsprechenden k-Spalten in Fig. 5 und 6) entsteht.
Sobald aus einer einzigen Speichereinheit Sp sowohl die Bits d eines falschen Speicherwort-Abschnittes als auch der diesen Bits d direkt zugeordnete Abschnitt k der K- Bits K, siehe Fig. 4, des betreffenden falschen Datenwort- Abschnittes d - zusammen mit richtigen Bits anderer Daten­ wort-Abschnitte d und diesen d zugeordneten richtigen Ab­ schnitten k der K-Bits K des richtig zu lesenden Daten­ wortes D - gelesen werden, enthält das zugehörige resul­ tierende Syndrommuster Rdk mit d = k keine Syndrome, es enthält also O-Syndrome, da die zugehörigen Datenwörter- und K-Bits-Abschnitte d, k miteinander konsistent sind. Re­ sultierende Syndrommuster Rdk können dann nur in den Code­ bereichen mit d ≠ k auftreten, siehe Fig. 4, deren Elemen­ tar-Syndrommuster Edk jeweils geradzahlig sind. Man kann sich hierbei die resultierenden Syndrommuster Rdk mit d ≠ k auch durch EXCLUSIV-ODERierung aller beteiligten Ele­ mentar-Syndrommuster Edk entstanden denken. Daher enthal­ ten die resultierenden Syndrommuster Rdk mit d ≠ k eben­ falls nur geradzahlige Syndrommuster. Auf dieselbe Art entstehen die Spalten-Syndrommuster Sk aus den beteilig­ ten resultierenden Syndrommustern Rdk, so daß auch diese Spalten-Syndrommuster Sdk nur geradzahlige Syndrommuster enthalten. Das endgültige Syndrommuster entsteht durch Aneinanderfügen aller Spalte-Syndrommuster Sk und ist daher dann ebenfalls geradzahlig.
Dem Einwand, daß die resultierenden Syndrommuster Rdk mit d ≠ k, welche zum falsch ausgelesenen K-Bits-Abschnitt k gehören, nur durch K-Bit-Fehler entstanden sind und daher nicht wie Datenfehler behandelt werden dürften, ist entge­ genzuhalten, daß auch in diesem Fall die richtig ausgele­ senen Datenwort-Bits nicht zu den falsch ausgelesenen Bits der K-Bits passen, und zwar genauso wie in dem Fall, bei welchem die falsch ausgelesenen Bits der K-Bits rich­ tig wären und die Datenwort-Bits unter einer falschen Adresse gelesen worden wären.
Wenn das resultierende Syndrommuster O-Syndrome enthält und wenn trotzdem ein Lesefehler vorliegt, dann kann nor­ malerweise der Fehler nicht spontan erkannt werden, wenn wie in Fig. 4 bis 6 keine Mehrfach-Abspeicherung von Bits in gleichzeitig verschiedenen Speichereinheiten zugelassen wird. Die Wahrscheinlichkeit für diesen nicht erkennbaren Fehler nimmt mit wachsender Anzahl der Ansteuerungseinhei­ ten bzw. Speicherbausteine zu. Wenn alle Bits auf nur zwei Speichereinheiten/Ansteuerungseinheiten verteilt werden, dann ist in der Regel eine besonders simple Reali­ sierung mit einem handelsüblichen EDC-Controller-Baustein möglich, siehe das Beispiel in Fig. 5, für welches bei einem Ansteuerungsfehler die Wahrscheinlichkeit für O-Syndrome übrigens nur noch 1/16 beträgt.
Das in Fig. 6 gezeigte Beispiel ist insbesonders für eine Realisierung mit Speicherbausteinen Sp interessant, die intern eine Wortbreite von nur 8 Bit aufweisen. Da in diesem Fall eine Speicherkapazität für zwei zusätzliche Bits der K-Bits (6+2 KBits) vorhanden ist, welche für das Erreichen von zusätzlicher Sicherheit genutzt werden können, beträgt dann die Wahrscheinlichkeit für O-Syndro­ me bei einem Ansteuerungsfehler sogar nur noch 1/32.

Claims (5)

1. Durch einen EDC-Code, also durch K-Bits (K), gesichertes Speichersystem, wobei
  • - die mitabgesicherten K-Bits (K) durch Teilparitätsbildungen aus bestimmten Bitstellen eines abgespeicherten Datenwortes (D) derart gebildet sind, daß
    • - jeweils jedes einzelne Datenwort-Bit mit einer ungeradzahligen K-Bit-Teilmenge verknüpft ist, so daß dieses einzelne Datenwort-Bit und die mit ihm verknüpfte K-Bit-Teilmenge eine miteinander auf diese Weise verknüpfte "Bitmenge" bilden,
    • - aber jedes Bit der K-Bits (K) als Bestandteil anderer Teilmengen mit sehr vielen, z. B. mit der Hälfte der Datenwort-Bits verknüpft ist,
  • - mehrere, parallel mit identischen Ansteuersignalen (Adr, W) angesteuerte - z. B. jeweils durch LSI-Speicherbausteine gebildete - Speichereinheiten (Sp1, Sp2 . . . Spm), welche jeweils eine eigene Ansteuerungseinheit enthalten, ange­ bracht sind,
  • - jeweils die Datenwort-Bits, z. B. jeweils ganze Abschnitte (d) des Datenwortes (D), verteilt in den verschiedenen, unter derselben Adresse (Adr) anzusteuernden Speicherein­ heiten (Sp . . . ) abgespeichert sind, und
  • - den Speichereinheiten (Sp1, Sp2, . . . Spm) eine oder mehrere EDC-Controllerschaltungen (Am2960) nachgeschaltet sind,
insbesondere für das zentrale Speichersystem einer zentralen Steuereinheit eines elektronischen Fernsprechvermittlungssy­ stems, dadurch gekennzeichnet, daß
  • - in jeder der Speichereinheiten (Sp1, Sp2, . . . Spm) jeweils sowohl ein Abschnitt d) des Datenwortes (D) als auch ein Abschnitt (k)
  • - die einzelnen Bits wenigstens des überwiegenden Teils der Bitmengen, deren K-Bits jeweils in eine geradzahlige Unter­ menge oder in geradzahlige Subuntermengen sowie eine unge­ radzahlige Restmenge von Bits unterteilt sind, so verteilt in den verschiedenen Speichereinheiten (z. B. Sp2 + Sp3) abgespeichert sind, daß jedes Datenwort-Bit jeweils zusammen mit der Restmenge seiner Bitmenge in einer anderen der Speichereinheiten (z. B. Sp1) abgespeichert ist als die Untermenge (z. B. in Sp2)/Subuntermengen seiner Bitmenge, wobei derselben Bit­ menge zugehörige Subuntermengen für sich wiederum in ge­ trennten Speichereinheiten abgespeichert sind, sowie allen Speichereinheiten (Sp1, Sp2), welche die Unter­ menge/Subuntermengen, die Restmenge und das Datenwort-Bit einer Bitmenge abspeichern, jeweils gemeinsam eine einzige EDC-Controllerschaltung (Am2960) nachgeschaltet ist. (Fig. 5 und 6).
2. Speichersystem nach Patentanspruch 1, dadurch gekennzeichnet, daß
  • - jedes Datenwort-Bit jeweils nur in einer einzigen der Speichereinheiten (z. B. in Sp2) abgespeichert ist.
3. Speichersystem nach Patentanspruch 1 oder 2, dadurch gekennzeichnet, daß
  • - jedes Bit der K-Bits (K) jeweils nur in einer einzigen der Speichereinheiten (z. B. Sp1) abgespeichert ist.
4. Speichersystem nach den Patentansprüchen 1 bis 3, dadurch gekennzeichnet, daß
  • - die Datenwörter (D) jeweils sechzehn Bit Länge haben,
  • - die K-Bits jeweils sechs Bit Länge haben,
  • - die EDC-Controllerschaltung durch den Baustein Am2960 gebildet wird, und
  • - in zumindest zwei der Speichereinheiten (z. B. Sp1, Sp2) sowohl höhere als auch niedere Bitstellen (in Sp1 die Bitstellen 0 bis 4 sowie 8 bis 10; in Sp2 die Bitstellen 5 bis 7 sowie 11 bis 15) des jeweiligen Datenwortes (D), aber nicht Bitstellen zwischen den niederen und den höheren Bitstellen (in Sp1 die Bitstellen 5 bis 7; in Sp2 die Bitstellen 8 bis 10) des Datenwortes (D) abge­ speichert sind. (Fig. 5).
DE3528902A 1984-12-13 1985-08-12 Durch einen EDC-Code gesichertes Speichersystem Expired - Fee Related DE3528902C2 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE3528902A DE3528902C2 (de) 1984-12-13 1985-08-12 Durch einen EDC-Code gesichertes Speichersystem
CH477785A CH671123A5 (de) 1984-12-13 1985-11-07

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE3445512 1984-12-13
DE3528902A DE3528902C2 (de) 1984-12-13 1985-08-12 Durch einen EDC-Code gesichertes Speichersystem

Publications (2)

Publication Number Publication Date
DE3528902A1 DE3528902A1 (de) 1986-06-26
DE3528902C2 true DE3528902C2 (de) 1994-06-09

Family

ID=6252699

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3528902A Expired - Fee Related DE3528902C2 (de) 1984-12-13 1985-08-12 Durch einen EDC-Code gesichertes Speichersystem

Country Status (1)

Country Link
DE (1) DE3528902C2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301682B1 (en) 1996-08-30 2001-10-09 Siemens Aktiengesellschaft Error recognition in a storage system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0922254B1 (de) 1996-08-30 2000-05-24 Siemens Aktiengesellschaft Fehlererkennung in einem speichersystem
DE19635237A1 (de) * 1996-08-30 1998-03-05 Siemens Ag Speichersystem
DE19635242A1 (de) * 1996-08-30 1998-03-05 Siemens Ag Speichersystem

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3319710A1 (de) * 1983-05-31 1984-12-06 Siemens AG, 1000 Berlin und 8000 München Speichersteueranordnung, insbesondere fuer ein fehlertolerantes fernsprech-vermittlungssystem
DE3323577A1 (de) * 1983-06-30 1985-01-10 Siemens AG, 1000 Berlin und 8000 München Vieladrige bituebertragungsanordnung insbesondere eines fernsprech-vermittlungssystems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301682B1 (en) 1996-08-30 2001-10-09 Siemens Aktiengesellschaft Error recognition in a storage system

Also Published As

Publication number Publication date
DE3528902A1 (de) 1986-06-26

Similar Documents

Publication Publication Date Title
DE2260850C2 (de) Schaltungsanordnung zur Erkennung von Einzel- und Mehrfachfehlern und zur korrektur von Einzel- und bestimmten Mehrfachfehlern
DE2357233C2 (de) Adressenumwandlungseinrichtung
DE2328869C2 (de) Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems
DE2532149C2 (de) Fehlerkorrekturanordnung
DE3903496C2 (de)
DE4242810C2 (de) EEPROM mit einem Fehlerprüf- und Korrektur-Schaltkreis
DE3209679C2 (de)
DE3638632A1 (de) Halbleiterspeicher
DE10234684A1 (de) Speicherschaltung
DE2132565B2 (de)
DE102006016499B4 (de) Speichermodulsteuerung, Speichersteuerung und entsprechende Speicheranordnung sowie Verfahren zur Fehlerkorrektur
DE2659031B2 (de) Fehlerkorrektur- und -Steuersystem
DE3878787T2 (de) Halbleiterspeicher mit einer mitintegrierten fehlerkorrekturanordnung und integrierte schaltung mit einem derartigen halbleiterspeicher.
DE2456709A1 (de) Schaltung zur fehlererkennung und -korrektur
DE3587374T2 (de) Halbleiterspeichergeraet mit einer bit-fehlererkennungsfunktion.
DE3528902C2 (de) Durch einen EDC-Code gesichertes Speichersystem
DE2053836A1 (de) Verfahren und Vorrichtung zur Korrek Datengruppen
EP1222545B1 (de) Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul
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
EP0127118B1 (de) Speichersteueranordnung, insbesondere für fehlertolerantes Fernsprech-Vermittlungssystem
DE19635240A1 (de) Speichersystem
CH671123A5 (de)
DE102019113970B4 (de) Erkennung von adressfehlern
DE4300025C1 (de) Verfahren und Einrichtung zur fehlercodierenden Datenübertragung
EP0453609B1 (de) Verfahren zum Testen einer kleinsten adressierbaren Einheit eines RAM's auf über einer bestimmten Zahl liegende Bitfehler

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 11/08

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee