DE3528902C2 - Durch einen EDC-Code gesichertes Speichersystem - Google Patents
Durch einen EDC-Code gesichertes SpeichersystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error 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.
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.
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.
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.
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).
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)
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)
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)
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 |
-
1985
- 1985-08-12 DE DE3528902A patent/DE3528902C2/de not_active Expired - Fee Related
Cited By (1)
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 |