DE69400891T2 - Einrichtung zur Speicherung von Daten - Google Patents
Einrichtung zur Speicherung von DatenInfo
- Publication number
- DE69400891T2 DE69400891T2 DE69400891T DE69400891T DE69400891T2 DE 69400891 T2 DE69400891 T2 DE 69400891T2 DE 69400891 T DE69400891 T DE 69400891T DE 69400891 T DE69400891 T DE 69400891T DE 69400891 T2 DE69400891 T2 DE 69400891T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- circuit
- address
- pseudorandom
- circuits
- 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
- 230000015654 memory Effects 0.000 claims description 81
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000001427 coherent effect Effects 0.000 claims description 3
- 102100031854 60S ribosomal protein L14 Human genes 0.000 description 8
- 101000704267 Homo sapiens 60S ribosomal protein L14 Proteins 0.000 description 8
- 238000012360 testing method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
- Memory System (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zur Speicherung von Daten, insbesondere zur Speicherung von Daten vom sogenannten AUDIO-Typ, deren Eigenschaft es ist, daß von Zeit zu Zeit auftretende Fehler bei der Speicherung ohne allzu deutlich hörbare Konsequenzen insbesondere bei der Wiedergabe ausgeglichen werden können. Dasselbe gilt für Bilddaten, insbesondere solche, die komprimiert sind. Man verwendet daher hier den Term AUDIO, auch für solche Daten. Um die Speicherkosten für die AUDIO-Informationen zu senken, möchte man statische oder dynamische elektronische Speicher vom AUDIO-Typ verwenden: das heißt Speicher mit fehlerhaften Speicherpunkten.
- Damit eine solche Umsetzung möglich wird, darf die Fehlerquote einen bestimmten Wert nicht überschreiten, und im übrigen müssen die gegebenen Fehler während der Wiedergabe, der erneuten Übertragung des AUDIO-Signals, gleichmäßig verteilt sein. Auf bekannte Art und Weise fügt man zur Begrenzung der möglichen Konsequenzen dieser Fehler der numerischen Information, die ein AUDIO-Signal darstellt, einen Code zur Erfassung und Korrektur von Fehlern bei. Diese Schutzcodes sind ausreichend wirksam bei isolierten Fehlern. Sie sind vom Typ her bekannt. Sie erfordern den Einsatz von Algorithmen zur Korrektur von Fehlern.
- Um Speicher vom AUDIO-Typ zu verwenden, ist man also insgesamt mit zwei Einschränkungen konfrontiert. Die erste Einschränkung besteht darin, daß im Speicher eine vorgegebene Fehlerquote nicht überschritten werden darf: TMAX. Zweitens müssen die Fehler gleichmäßig in der Speicherebene des Speichers verteilt sein. Mit anderen Worten, die Speicher mit beliebigem Zugriff, RAM genannt, vom AUDIO-Typ enthalten zwei Fehlertypen. Einerseits umfassen sie isolierte fehlerhafte Speicherpunkte. Und andererseits Gruppen von fehlerhaften Speicherpunkten. Der letztere Fehlertyp liegt insbesondere bei fehlerhaften Speicherreihen oder -spalten vor. Man stellt fest, daß der letztere Fehlertyp nicht kompatibel mit der zweiten obigen Einschränkung ist. Die Wahl des AUDIO-Speichers muß daher auf solche eingeschränkt werden, bei denen die Quote der isolierten fehlerhaften Speicherpunkte niedriger als TMAX ist und deren Quote an Gruppen von fehlerhaften Speicherpunkten Null ist. Der Nachteil hierbei ist, daß die verwendbaren Audio-Speicher gesichtet werden müssen, um die zu finden, die gut funktionieren. Im übrigen werden einige Speicher am Ende der Sichtung aussortiert.
- Um Probleme dieser Art zu lösen, wird bereits beim Einschalten vor dem Schreiben der Daten eine Verifizierung des Speicherzustandes und der zu adressierenden Zellen durchgeführt. Jedesmal wenn ein Fehler erfaßt wird, wird eine Fehlertabelle aufgestellt, man sichert ihn und man veranlaßt eine Umleitung der Adressen, die fehlerhafte Speicherzellen zum Ziel haben, zu redundanten Speicherzellen. Diese Operationen haben den Nachteil, einerseits komplex zu sein und andererseits einen Zeitverlust bei der Nutzung zu bedeuten. Das Resultat einer solchen Nutzung ist außerdem, daß die Nutzungsquote des Speichers nicht mehr 100 % beträgt und der mittlere Durchsatz des Speichers verlangsamt wird. Der Nachteil früherer Techniken ist, daß die Entwicklung einer Applikation mit solchen Speichern abhängt von der "Null Fehler" genannten Qualität der verwendeten Speicher.
- Die erste Aufgabe der Erfindung, wie sie in Anspruch 1 beansprucht wird, ist es, alle Einschränkungen zu überwinden und Schaltkreise zur Speicherung von Daten in den Speichern vom AUDIO-Typ von minderer Qualität anzugeben, ohne sich mit der genauen Qualität dieser Speicher auseinandersetzen zu müssen. Bei der Erfindung reicht es, sich mit der Kenntnis der Fehlerquote T zufriedenzugeben, die vom Hersteller des AUDIO-Speichers angegeben wird, und zu verifizieren, daß sie niedriger als TMAX ist. In der Praxis sind solche AUDIO-Speicher dynamische Speicher, können aber auch statische Speicher oder selbst nichtflüchtige Speicher sein, auf die beliebig zugegriffen werden kann.
- EP-A-0 068 099 beschreibt einen Schaltkreis zur beliebigen Adressierung eines Speichers zur Visualisierung, der vorgesehen ist, aufeinanderfolgende Daten an verschiedenen Orten im Speicher zu verteilen. In dieser Schrift wird jedoch nicht dargestellt, wie man Gruppierungen von Fehlern umgeht.
- Bei der Erfindung, so wie sie in dem unabhängigen Anspruch beansprucht wird, nutzt man, daß die AUDIO-Daten, die ausgegeben werden (die mittels Lautsprechern ausgestrahlt werden) aufeinanderfolgend kohärent (oder zusammenhängend) sind. Beim Schreiben werden die aufeinanderfolgenden Daten, die also aufeinanderfolgenden Tönen entsprechen, zufällig an verschiedenen Stellen im Speicher verteilt oder eher pseudozufällig. Beim Lesen wird die Abfolge der gespeicherten AUDIO-Daten in derselben Pseudozufallssequenz wieder gelesen. Unter Berücksichtigung des Zufallscharakters der Speicherung überwindet man daher ohne Schwierigkeiten Fehlergruppen.
- Beim Lesen, bei der Wiedergabe, werden selbst gruppierte Fehler als gleichförmig in der Speicherebene verteilt angesehen. Man kann daher Speicher mit einer Fehlerquote unterhalb der maximal zulässigen Quote ohne Einschränkung in bezug auf den Fehlertyp verwenden.
- Im übrigen werden die Daten sequentiell geschrieben und gelesen, beginnend mit einer Anfangsadresse, wobei die Adressen von einem Generator für Pseudozufälle ganz ausgegeben werden. Nach Initialisierung des Pseudozufallsadressengenerators mit einem Startwert erzeugt das System automatisch die folgenden Adressen. Das Schreiben und das Lesen erfolgen vorzugsweise sequentiell. Um den sequentiellen Charakter zu vermeiden, der bisweilen den Zugriff auf die Daten behindert, ist erfindungsgemäß vorgesehen, daß der Generator für die Pseudozufallscodes unter anderem Ansteuereingänge umfaßt, um ihn auf einen beliebigen Wert setzen zu können und so den Beginn einer Sequenz oder wenigstens eines Lesens oder Schreibens an einem beliebigen vorgesehenen Ort beginnen zu lassen.
- Um die Verwaltung der Information in den Speicherebenen der elektronischen Speicher zu vereinfachen, seien es AUDIO-Speicher oder andere, sind die Speicherebenen im allgemeinen in Sektoren unterteilt. Die unmittelbarste Umsetzung der Sektorierung einer Speicherebene im Rahmen der Erfindung führt dazu, wenn man alle Speicherworte in einem Sektor prüft vor Übergang zum nächsten Sektor, für jeden Sektor eine notwendige Fehlerquote zu behalten, die gleich der globalen Fehlerquote des in die Anzahl von Sektoren aufgeteilten Speichers ist. Diese Quote ist also unter Umständen zu klein und der Speicher könnte nicht genutzt werden.
- Gemäß der Erfindung, so wie sie im Anspruch 1 beansprucht wird, hatte man zur Lösung dieses zusätzlichen Problems die Idee, bei jeder neuen vom Generator pseudozufällig gebildeten Adresse den Sektor zu wechseln. In einer bevorzugten Variante ist dieses Wechseln des Sektors selbst nicht zufällig oder pseudozufällig, sondern fortlaufende, modulo der Anzahl der Sektoren. Unter diesen Bedingungen kann einerseits die Fehlerquote gleich der bleiben, die vom Hersteller angegeben wird. Andererseits bleibt die Adressierung einfach. In diesem Fall besteht die Adresse also aus zwei Teilen: Ein erster Teil betrifft die Zahl des Sektors und ein anderer Teil ist vollständig pseudozufällig.
- Im übrigen besteht noch ein anderes Problem, das mit der Größe der zu speichernden Speicherworte zusammenhängt. Man stellt nämlich fest, daß in bestimmten Fällen, die mit Herstellungsproblemen zusammenhängen, ein Satz von fortlaufenden Zellen in der Speicherebene defekt ist. Unter diesen Bedingungen wird, wenn man ein ganzes Wort in eine Gruppe von zusammenhängenden Zellen bei jedem Zugriff schreibt, die Vorrichtung zur pseudozufälligen Adressierung ineffizient. Man läuft Gefahr, Pakete von z.B. vier ungültigen Bits für den Fall zu erzeugen, daß man es mit Worten von vier Bits zu tun hat. Wenn man im übrigen Zyklen von Lesen/Modifizieren/Schreiben für das Schreiben nur eines einzigen Bits zur Zeit verwendet, verliert man den Zeitgewinn beim Zugriff auf die Information.
- Um dieses andere Problem zu lösen, geht man bei einer Variante der Erfindung, so wie sie im abhängigen Anspruch 2 beansprucht wird, von der Hypothese aus, daß es keine Korrelation zwischen den Fehlern von mehreren unterschiedlichen Speicherbereichen gibt. Man bildet also physikalisch eine Speicherebene, die über einen Datenbus mit mehreren Bits Breite, z.B. vier Bits, zusammenhängt, um mehrere Speicherbereichsschaltkreise von einem Bit, z.B. vier Schaltkreise, parallelzuschalten. Man greift also parallel und gleichzeitig auf einzelne Speicherzellen zu, die sich an denselben pseudozufälligen Adressen in jedem der Speicherbereichsschaltkreise befinden. Jeder Speicherbereichsschaltkreis liefert also über eine Leitung eine Information von einem Bit aus. Diese Leitung bildet also eine Leitung eines Datenbusses mit vier Leitungen für den Satz von Speicherbereichsschaltkreisen.
- Der Erfindung liegt somit die Aufgabe zugrunde, eine Vorrichtung zur Speicherung von kohärenten Daten, die eins nach dem anderen in Speicherworten in Speichern mit wahlfreiem Zugriff aufeinanderfolgen, anzugeben, so wie sie in dem Anspruch 1 beansprucht ist.
- Andere Aufgaben werden vorteilhaft gelöst, dank der Eigenschaften der abhängigen Ansprüche 2 bis 9.
- Die Erfindung wird verständlich werden anhand der folgenden Beschreibung und der beigefügten Figuren. Letztere sind nur Andeutungen und in keiner Weise die Erfindung einschränkend. Die Figuren zeigen:
- - Figur 1: einen erfindungsgemäßen Speicher;
- - Figuren 2a und 2b: ein Ausführungsbeispiel eines pseudozufälligen Generators gemäß der Erfindung;
- - Figur 3: ein Flußdiagramm für den Pseudozufallsgenerator im invertierten Modus;
- - Figur 4: eine Besonderheit bei der Ausführung des erfindungsgemäßen Schaltkreises als integrierte Speicherschaltkreise vom dynamischen Typ.
- Figur 1 zeigt eine Vorrichtung 1 zur Speicherung von aufeinanderfolgenden Daten in Speicherworten 2 in einem Speicher mit wahlfreiem Zugriff 3. Erfindungsgemäß umfaßt die Vorrichtung zur Speicherung einen Pseudozufallsadressengenerator C1, C2, C3 zur Verteilung der aufeinanderfolgenden Daten auf aufeinanderfolgende pseudozufällige Adressen 4, 5, 6, 7 etc. Figur 2 zeigt ein Ausführungsbeispiel eines solchen Pseudozufallsgenerators. Dieser kann nichtsdestotrotz beliebig sein und insbesondere vom Typ sein, wie er in dem Buch "Digital Systems Testing and Testable Design", herausgegeben von Computer Science Press 1990, von Miron ABRAMOVICI, Melvin A. BREUER und Arthur D. FRIEDMAN auf den Seiten 432 bis 441 beschrieben wurde.
- Gemäß einer bevorzugten Ausführungsform der Erfindung umfaßt der Pseudozufallsadressengenerator einen ersten Schaltkreis C1 zur sukzessiven Ausgabe von pseudozufälligen Binärworten mit P Bits, die die ersten Teile eines Adreßsignals darstellen. In einem Beispiel beträgt P 15. Der Generator umfaßt außerdem einen zweiten Schaltkreis C2 zur synchronisierten Ausgabe von angrenzenden Binärworten mit Q Bits. In einem Beispiel beträgt Q 7. Diese Binärworte sind jeweils an den Ausgängen A'1 und A'2 der Schaltkreise C1 und C2 über Busse mit P und Q Bits verfügbar, die so zusammengefügt sind, daß sie einen Bus A'3 mit (Q + P) Bits bilden.
- Die Funktion des Schaltkreises C1-C2 ist die folgende. Ausgehend von einem ursprünglichen Zustand wird das gleiche Signal zur Inkrementierung T an die Schaltkreise C1 und C2 angelegt. Die Übertragung des Signals wird synchronisiert durch das Starten der Schaltkreise C1 und C2 mittels eines Taktsignals CK, das als Auslösung wirkt. Das Signal T ist einfach ein Impulssignal. Der Schaltkreis C1 ist ein Schaltkreis, der ein pseudozufälliges Signal mit einer Periode von 2P unterschiedlicher Binärzustände ausgibt. Bei jedem Zyklus erzeugt der Schaltkreis C1 dieselben pseudozufälligen Abschnitte.
- Die Figur 2a zeigt ein Beispiel für den Aufbau des Schaltkreises C1. Jener wird gebildet von einem Satz von fünfzehn Registern RL0 bis RL14, die zu einem Schieberegister zusammengesetzt sind. So ist der Ausgang des Registers RL0 mit dem Eingang des Registers RL1 verbunden. Jener des Registers RL1 ist mit dem Eingang des Registers RL2 verbunden usw. Der Ausgang des Registers RL14 wie der Ausgang des Registers RL0 sind mit den zwei Eingängen eines EXKLUSIV-ODER-Gatters, XOR, 8 verbunden, dessen Ausgang mit dem Eingang des Registers RL0 verbunden ist. Die Ausgänge der Register RL0 bis RL14 geben Adreßsignale L0 bis L14 aus. Alle diese Register werden aktiviert durch ein Signal h, das aus der Auslösung des Signals T durch das Taktsignal CK resultiert.
- Normalerweise kann ein solcher Generator von Pseudozufallszuständen mit P Ausgängen nur 2P-1 unterschiedliche Zustände erzeugen. Der Zustand 000...000 oder in bestimmten Fällen der Zustand 111...111 ist nämlich nicht zum Starten des Abarbeitens des Generators in der Lage. Diese Binärzustände werden Löcher genannt, da sie das Arbeiten des Generators blockieren. Sie werden erfindungsgemäß erfaßt und decodiert. Das Resultat dieser Decodierung wird herangezogen, um den Schaltkreis C1 in einen Zustand zu setzen. In einem Beispiel umfaßt der Schaltkreis zur Decodierung einfach ein NOR-Gatter 9, das die Signale L0 bis L14 einliest. Sobald alle Signale Null sind, erzeugt das NOR-Gatter 9 ein Signal F für das Setzen in den Zustand 1. Das Signal F wird an das XOR-Gatter 8 angelegt und setzt den Ausgang dieses Gatters 8 in den Zustand 1. Folglich wird beim folgenden Impuls h das Signal L0, das wie alle Signale L0 bis L14 Null war, auf 1 gesetzt. Unter diesen Bedingungen kann die Erzeugung der Pseudozufallscodes erneut beginnen. Bei der Ausgabe von 2P-1 Schritten muß der Mikroprozessor C1 mit "alles auf Null" erneut laden.
- Der Schaltkreis C2 besteht vorzugsweise aus einem Zähler, hier ein Zähler bis 128 mit sieben Ausgängen und erzeugt fortschreitend bei jedem Schritt eine Stufe. Die Entwicklung der Ausgänge der Schaltkreise C2 sind leicht vorhersehbar.
- Als Schaltkreis C1 wurden in Figur 2a eine Serie von Umschaltern I0 bis I14 zwischen den Ausgängen der Schieberegister und den Eingängen der folgenden Schieberegister eingezeichnet. Diese Umschalter I0 bis I14 erlauben es, die Eingänge der Register RL0 bis RL14 mit den fünfzehn Leitungen eines Eingangsbusses 10 zu verbinden. Das Steuersignal für die Umschalter I0 bis I14 wird über einen Eingang 11 des Schaltkreises C1 angelegt. Dasselbe gilt für die Ausgänge vom Zähler des Schaltkreises C2, die mit den sieben Leitungen eines Busses 12 verbunden werden können, sobald ein Befehl auf einer Steuerleitung 13 des Zählers C2 anliegt, wenn dieser Befehl auf einen verfügbaren Binärzustand auf dem Bus 10 und 12 angewendet wird und am Eingang der Register RL0 und RL14 und den Steuereingängen des Zählers C2 anliegt. Wenn einmal das Laden erfolgt ist, sind beim folgenden Impuls h die Steuerzustände auf dem Bus 26 an den Ausgängen der Schaltkreise C1 und C2 verfügbar.
- Es kommt bisweilen vor, daß man bei der Aufnahme von AUDIO-Signalen es mit der Aufnahme von stillen Passagen zu tun hat. Bevor man viel Platz im Speicher zum Speichern solcher stillen Passagen verbraucht, mißt man vorzugsweise die Dauer und speichert gemäß einem geeigneten Protokoll ein codiertes Wort, das der Dauer dieser stillen Passage entspricht. Es gilt also das Problem zu lösen, zu einem Zeitpunkt t zu erkennen, daß man es mit einer stillen Passage der Dauer n zu tun hat, die zur Zeit t-n beginnt und die man beginnend mit der Adresse, die der Zeit t-n+1 entspricht, aufzeichnen möchte. Man möchte ein codiertes Wort aufzeichnen (vorzugsweise mit einem geeigneten Fehlercode), beginnend mit der Adresse, die der Zeit t-n+1 entspricht.
- Das Problem ist also, zur Pseudozufallsadresse zurückzukehren, die der Zeit t-n+1 entspricht und zwar vollständig determiniert. Was im Augenblick t bekannt ist, ist einerseits die Zahl n der ausgeführten Schritte und andererseits der Zustand der Ausgänge der Schaltkreise C1 und C2 in diesem Moment t. Man möchte dies für den Augenblick t-n+1 wissen.
- Um also den Zustand der Ausgänge des Schaltkreises C2 im Moment t-n+1 zu kennen, kann man einfach eine Subtraktion modulo 128 von diesem Zustand mit dem Datum t weniger dem Wert n selbst durchführen. Demgegenüber müßte man beim Schaltkreis C1 dieses ins Inverse umdrehen, was unmöglich ist. Gemäß der Erfindung löst man dieses Problem mit Hilfe eines Mikroprozessors 14, der ein im Speicher 15 enthaltenes Programm abarbeiten kann und dessen Ziel es ist, die Ausgänge des Schaltkreises C1 in einen zu bestimmenden Zustand zu setzen. Das Programm im Speicher 15 erlaubt einerseits die Bestimmung dieses Zustandes und bei seiner Ausgabe diesen an den Ausgang des Schaltkreises C1 gemäß der oben mit dem Bus 10 und 12 und dem Befehl 11 beschriebenen Art anzulegen.
- Figur 3 zeigt das Flußdiagramm der zu diesem Zweck von dem Mikroprozessor 14 durchzuführenden Aktionen. Bei jedem späteren Rechenschritt muß unter Berücksichtigung, daß man es mit einem Schieberegister zu tun hat, ein Befehl 16 den theoretischen Ausgang eines Registers RL im Moment t - i ausrechnen, indem dieser gleich dem Ausgang eines Registers RL u + 1 im Moment t - i + 1 gesetzt wird. Dies gilt für alle Register bis auf das letzte. Tatsächlich besitzt das Register RL14 keinen Nachfolger. Unter Berücksichtigung der Funktion XOR des Gatters 8 wird bei einem Befehl 17 also der theoretische Ausgang des Registers RL14 im Moment t - i ausgerechnet, wie er gleich dem Resultat einer Funktion EXKLUSIV-ODER ist, die angewendet wird auf die Binärsignale der Ausgänge der Register RL0 und RL1 im Moment t - i + 1. Aus Gründen der Kohärenz wird nichtsdestotrotz der Befehl 17 vor dem Befehl 16 ausgeführt.
- Es bleibt das Problem, welches auftritt, wenn der Ausgang des Registers RL0 im Zustand 1 ist und wenn die Ausgänge der anderen Register im Zustand 0 sind. Tatsächlich ist der diesem Zustand vorangegangene Zustand der Zustand des Lochs, aus dem man normalerweise nicht herauskommt und in welches man folglich nicht rückwärts eintreten kann. Zu diesem Zweck sucht man im Lauf des Tests 18 bei jedem Schritt eine solche Situation zu erfassen. Wenn sie auftritt, zwingt man mit einem Befehl 19 den Wert aller vorangegangenen Ausgänge der Register RL14 bis RL0 auf Null. Der Test 18 erfolgt selbstverständlich vor dem Befehl 17. Der Satz der Befehle und Tests 16 bis 19 wird n-mal durchgeführt. Zu diesem Zweck wird ein Inkrement i verwendet, dessen Wert zu Beginn 1 beträgt, und man stoppt die Durchführung dieses Kalküls, wenn i einen vorgesehenen Wert erreicht hat.
- Bei Ausgabe eines Tests 20 mit diesem Ergebnis zwingt man mittels Befehl 21 also elektrisch die Ausgänge des Schaltkreises C1 auf die Werte L0 bis L14, die zuletzt berechnet wurden. In der Praxis lädt also der Mikroprozessor 14 über seinen Datenbus 22 den Bus 10 des Schaltkreises C1 und gibt über einen Befehlsausgang 23 den Befehl 11 aus. Es ist das gleiche für den Schaltkreis C2, außer daß das Programm zur Berechnung der Werte, die dem Bus 12 aufgesetzt werden sollen, sehr viel einfacher ist. Diese Berechnung besteht aus einer einfachen Subtraktion.
- Der Speicher 3 steht in Beziehung zu der Außenwelt über einen Datenbus 24. In einem Beispiel ist der Bus 24 ein Bus mit 4 Bits. Er empfängt im übrigen die Adressen zum Lesen/Schreiben oder Modifizieren über einen Adreßbus 25, der mit dem Bus 26 mit (P + Q) -Leitungen von den Schaltkreisen C1 und C2 zusammenhängt. In der Praxis sind aus Gründen der Realisierung für den Fall, daß der Speicher 3 dynamisch ist, die Busadressen auf 11 Leitungen beschränkt. In dem Fall erlaubt es ein Multiplexerschaltkreis C3, doppelt so schnell einen Bus 27 mit 11 Leitungen zu versorgen. Im Speicher 3 wird ein solcher Bus mit 11 Leitungen gemultiplext, um die Adreßworte mit der gewollten Anzahl von Bits wiederherzustellen: 22 Bits. Aus praktischen Gründen ist der Schaltkreis 1 ein monolithisch integrierter Schaltkreis und man hielt es für nützlich, in diesen den Multiplexer C3 zu integrieren. Die Funktion des Multiplexers ist bekannt und braucht hier nicht gesondert beschrieben zu werden. Der Multiplexer C3 wird nur durch ein Signal 2h mit doppelter Frequenz wie der des Signals h angesteuert. In einer Variante können der Datenbus 24 des Speichers sowie gewisse Leitungen zur Steuerung CAS und RAS über den integrierten Schaltkreis 1 verlaufen.
- In einer bevorzugten Form ist der Speicher 3 zusammengesetzt als Parallelschaltung von vier Speichermodulen M1 bis M4, die alle identisch sind und jeweils 2P+Q = vier Megazellen Speicher besitzen. Die von dem Schaltkreis 1 erarbeiteten Adressen werden gleichzeitig an den Adresseneingängen der Adreßdecoder der vier Module M1 bis M4 angelegt. Jeder der Module ist mit einem Datenbus mit einer Leitung verbunden. Diese vier Datenbusse 28 bis 31 mit einer Leitung werden zusammengefaßt in einem Bus 24 mit vier Leitungen. Auf diese Art stellt man sicher, daß ein Wort mit vier 4 Bits für jedes der vier Bits jeweils in den vier Speichermodulen M1 bis M4 geladen wird. Es wird auch vermieden, daß man in einem einzigen Modul ein Speicherwort von vier Bits laden muß, das dieselbe Information darstellt. Dieses machte die Wiederherstellung der Information schwierig, wenn das betreffende Speicherwort fehlerhaft wäre.
- Figur 4 zeigt eine praktische Anordnung der Adressen der Speicherelemente M1 bis M4. Am Ausgang des Schaltkreises C1 hat man die 15 Signale L0 bis L14. Am Ausgang des Schaltkreises C2 hat man die Signale H0 bis H6. Auf dem Bus 26 befinden sich durch einfaches Nebeneinanderlegen die Adressensignale A0 bis A21. Am Ausgang des Multiplexers C3 hat man aufeinanderfolgend einerseits die Signale A0 bis A10 und dann alternativ die Signale A11 bis A21. In der Praxis sind die Signale A0 bis A10 Signale, die an die Decoder zwischen den Speicherelementen M1 bis M4 anzulegen sind, während die Signale A11 bis A21 an die Kolonnendecoder anzulegen sind. Aus diesem Grund ist die Darstellung der Sektoren in Figur 1 nur schematisch und nicht real.
- Aufgrund der Tatsache, daß die Zahl 2P an Zuständen des Schaltkreises C1 größer als die Zahl 2Q an Zuständen des Schaltkreises C2 ist, ist die Folge, daß mehrere vollständige Sondierungen oder Rotationen durchgeführt werden, bevor der Schaltkreis C1 denselben ursprünglichen Zustand ausliefert. In der Praxis bedeutet dies 2P-Q Rotationen. In dem zitierten Beispiel bedeutet dies 256 Rotationen. Am Ende aller dieser Rotationen besteht nichtsdestotrotz das Risiko, sich in einer Situation wiederzufinden, in welcher der Schaltkreis C1 einen selben binären Zustand wie vordem erzeugt, während der Schaltkreis C2 gleichermaßen einen Binärzustand wiederherstellte. Man riskierte in diesem Fall, nur auf 2P Speicherworte im Speicher 3 zuzugreifen. Zu diesem Zweck führt man mit dem Mikroprozessor 14 und dem Speicherprogramm 15 ein Programm aus, das einfach die Zahl der Rotationen des Zählers C2 zählt. Bei Ausgabe von 2 Rotationen läßt man den Schaltkreis C2 alleine einen Schritt vorrücken und man lädt C1 auf "alles auf Null". Man beginnt wiederum nachfolgend seine Rotationen zu zählen, bis man 256 erreicht hat und so weiter.
Claims (9)
1. Vorrichtung zur Speicherung von kohärenten Daten, die
eins nach dem anderen in Speicherworten in einem Speicher
mit wahlfreiem Zugriff aufeinanderfolgen, umfassend einen
Pseudozufallsadressengenerator, um die
aufeinanderfolgenden Daten an die pseudozufälligen Adressen im Speicher zu
verteilen,
dadurch gekennzeichnet, daß sie umfaßt
im Pseudozufallsadressengenerator einen ersten
Schaltkreis, um nacheinander binäre Pseudozufallsworte mit P
Bits auszugeben, die die ersten Teile von Adreßsignalen
darstellen, und einen zweiten Schaltkreis, um danach
angrenzende binäre Worte mit Q Bits auszugeben, die die
zweiten Teile von Adreßsignalen darstellen, eine
Vorrichtung zur Synchronisierung des ersten und des zweiten
Schaltkreises und einen Schaltkreis zum Aneinanderhängen
eines ersten und eines zweiten Teils des Adreßsignals, so
daß eine Zufallsadresse von P + Q Bits erzeugt wird, um
aufeinanderfolgende Daten in geographisch
unterschiedlichen Sektoren des Speichers zu verteilen.
2. Vorrichtung nach Anspruch 1,
dadurch gekennzeichnet, daß sie umfaßt
im Speicher eine Anordnung von N (N = 4) integrierten
Schaltkreisen zur Speicherung, die jeweils in 2M (M = 22)
Speicherworte unterteilt sind, deren Länge R (R = 1) Bits
beträgt, wobei diese N integrierten Schaltkreise über
ihren Datenbus mit R Leitungen jeweils mit R anderen
Leitungen eines Datenbusses mit N R Leitungen von dem
Speicher
verbunden sind, wobei die N integrierten Schalkreise
zur Speicherung parallel mit demselben Adressbus mit M
Leitungen verbunden sind.
3. Vorrichtung nach Anspruch 1,
dadurch gekennzeichnet, daß
der erste und der zweite Schaltkreis Treibereingänge
haben, um ihre Ausgänge in einen vorgegebenen Zustand zu
bringen.
4. Vorrichtung nach Anspruch 3,
dadurch gekennzeichnet, daß
der erste und der zweite Schaltkreis eine
Pseudozufallsperiode von 2P Binärzuständen hat, und daß der zweite
Schaltkreis eine Periode von 2Q Binärzuständen hat.
5. Vorrichtung nach Anspruch 2,
dadurch gekennzeichnet, daß
R gleich 1 ist.
6. Vorrichtung nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet, daß
sie einen Schaltkreis zur Berechnung einer vorangehenden
Zufallsadresse aufgrund der Kenntnis einer aktuellen
Adresse umfaßt.
7. Vorrichtung nach Anspruch 6,
dadurch gekennzeichnet, daß
der Schaltkreis zur Berechnung einen Mikroprozessor und
einen Programmspeicher umfaßt, wobei der Mikroprozessor
mit diesem Programmspeicher verbunden ist, um ein
Mikroprogramm auszuführen, das sich in diesem Programmspeicher
befindet.
8. Vorrichtung nach einem der Ansprüche 1 bis 7,
dadurch gekennzeichnet, daß
der Schaltkreis zum Aneinanderhängen einen Multiplexer
umfaßt.
9. Vorrichtung nach einem der Ansprüche 1 bis 8,
dadurch gekennzeichnet, daß
der Speicher ein dynamischer Speicher ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9308832A FR2708115B1 (fr) | 1993-07-19 | 1993-07-19 | Dispositif de stockage de données. |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69400891D1 DE69400891D1 (de) | 1996-12-19 |
DE69400891T2 true DE69400891T2 (de) | 1997-04-03 |
Family
ID=9449360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69400891T Expired - Fee Related DE69400891T2 (de) | 1993-07-19 | 1994-06-22 | Einrichtung zur Speicherung von Daten |
Country Status (5)
Country | Link |
---|---|
US (1) | US5535173A (de) |
EP (1) | EP0635786B1 (de) |
JP (1) | JPH0793212A (de) |
DE (1) | DE69400891T2 (de) |
FR (1) | FR2708115B1 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG43256A1 (en) * | 1995-03-29 | 1997-10-17 | Toshiba Kk | Apparatus and method for reading and writing data |
US5892775A (en) * | 1995-12-27 | 1999-04-06 | Lucent Technologies Inc. | Method and apparatus for providing error-tolerant storage of information |
WO2001069392A2 (en) * | 2000-03-16 | 2001-09-20 | Boden Scott T | Method and apparatus for secure and fault tolerant data storage |
US7966518B2 (en) * | 2007-05-15 | 2011-06-21 | Sandisk Corporation | Method for repairing a neighborhood of rows in a memory array using a patch table |
US7958390B2 (en) * | 2007-05-15 | 2011-06-07 | Sandisk Corporation | Memory device for repairing a neighborhood of rows in a memory array using a patch table |
US9323609B2 (en) * | 2013-11-15 | 2016-04-26 | Intel Corporation | Data storage and variable length error correction information |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3279425D1 (en) * | 1981-06-18 | 1989-03-09 | Ibm | Fault tolerant machine/human interface unit |
US5276826A (en) * | 1988-01-04 | 1994-01-04 | Hewlett-Packard Company | Apparatus for transforming addresses to provide pseudo-random access to memory modules |
JPH07113904B2 (ja) * | 1990-04-11 | 1995-12-06 | 株式会社東芝 | メモリ・アクセス装置 |
KR930004823B1 (ko) * | 1990-04-14 | 1993-06-08 | 삼성전자 주식회사 | 텔레비젼 신호의 스크램블링 및 디스크램블링 회로 |
-
1993
- 1993-07-19 FR FR9308832A patent/FR2708115B1/fr not_active Expired - Fee Related
-
1994
- 1994-06-22 EP EP94401403A patent/EP0635786B1/de not_active Expired - Lifetime
- 1994-06-22 DE DE69400891T patent/DE69400891T2/de not_active Expired - Fee Related
- 1994-07-19 JP JP6188861A patent/JPH0793212A/ja not_active Withdrawn
- 1994-07-19 US US08/277,259 patent/US5535173A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FR2708115A1 (fr) | 1995-01-27 |
US5535173A (en) | 1996-07-09 |
DE69400891D1 (de) | 1996-12-19 |
EP0635786B1 (de) | 1996-11-13 |
FR2708115B1 (fr) | 1995-09-01 |
EP0635786A1 (de) | 1995-01-25 |
JPH0793212A (ja) | 1995-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3115541C2 (de) | ||
DE2008663C3 (de) | Datenspeicher- und Datenspeicheransteuerschaltung | |
DE2916710C2 (de) | ||
DE2828698C2 (de) | Monolithische integrierte Schaltungsvorrichtung mit einem Speicher | |
DE2364408C3 (de) | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers | |
DE2061854C3 (de) | Speicher aus Schieberegistern | |
DE2328869C2 (de) | Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems | |
DE3689128T2 (de) | Halbleiterspeichergerät mit einer Korrekturfunktion. | |
DE2312707A1 (de) | Pruefanordnung fuer einen computer | |
DE19830111A1 (de) | Integrierter Speicher | |
DE69126057T2 (de) | Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung | |
DE112005002390T5 (de) | Burst-Betrieb für die Speichertransaktion und Speicherkomponenten, welche die zeitweilig multiplexierte Fehlerkorrekturcodierung unterstützen | |
DE19713421A1 (de) | Halbleiterspeicher-Testvorrichtung | |
DE2746505C2 (de) | ||
DE4441007C2 (de) | Multibit-Testschaltkreis einer Halbleiterspeichereinrichtung | |
DE2854782A1 (de) | Datenverarbeitungssystem | |
DE2515099A1 (de) | Schaltung zur staendigen erzeugung eines longitudinalen paritaetswortes fuer den hauptspeicher eines digitalen rechenautomaten | |
DE19738893A1 (de) | Schaltsignalgenerator und diesen verwendendes, synchrones SRAM | |
DE3587374T2 (de) | Halbleiterspeichergeraet mit einer bit-fehlererkennungsfunktion. | |
DE2946119C2 (de) | Datenverarbeitungseinrichtung mit einer Vielzahl von Datenverarbeitungselementen, denen ein einziger Strom von Steuersignalen zugeführt wird | |
DE69400891T2 (de) | Einrichtung zur Speicherung von Daten | |
DE2357654C2 (de) | Assoziativspeicher | |
DE10134985A1 (de) | Test eines Halbleiterspeichers mit mehreren Speicherbänken | |
DE102008013099A1 (de) | Speichertestschaltung | |
DE3851651T2 (de) | Schaltungsanordnung zur Erzeugung von Adressen. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |