DE69427129T2 - Fehlertolerantes warteschlangenvorrichtung und verfahren dafür - Google Patents
Fehlertolerantes warteschlangenvorrichtung und verfahren dafürInfo
- Publication number
- DE69427129T2 DE69427129T2 DE69427129T DE69427129T DE69427129T2 DE 69427129 T2 DE69427129 T2 DE 69427129T2 DE 69427129 T DE69427129 T DE 69427129T DE 69427129 T DE69427129 T DE 69427129T DE 69427129 T2 DE69427129 T2 DE 69427129T2
- Authority
- DE
- Germany
- Prior art keywords
- pointer
- pointers
- test
- memory
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000015654 memory Effects 0.000 claims abstract description 160
- 239000000872 buffer Substances 0.000 claims abstract description 101
- 238000012423 maintenance Methods 0.000 claims abstract description 54
- 230000006870 function Effects 0.000 claims abstract description 49
- 230000000977 initiatory effect Effects 0.000 claims abstract description 40
- 238000001914 filtration Methods 0.000 claims abstract description 7
- 230000003139 buffering effect Effects 0.000 claims abstract 5
- 238000012360 testing method Methods 0.000 claims description 203
- 230000000903 blocking effect Effects 0.000 claims description 22
- 230000007257 malfunction Effects 0.000 claims description 19
- 238000010998 test method Methods 0.000 claims description 9
- 230000001143 conditioned effect Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 description 13
- 230000003750 conditioning effect Effects 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000013102 re-test Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
-
- 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
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Description
- Allgemein betrifft die vorliegende Erfindung ein Warteschlangensystem zum Wählen von Speicherpositionen in einem Speicher zum Ausführen von Schreiboperationen auf diesen von einer on-line geführten Unbelegtliste von Adressen zu freien Speicherpositionen in dem Speicher. Das Warteschlangensystem berechnet auch Adressen zum Sammeln von Daten, die vorher in dem Speicher gespeichert sind.
- In einer bestimmten Anwendung dieses Warteschlangensystems puffert es Daten in eine Paketvermittlungsstelle mit einem gemeinsamen Pufferspeicher für einen oder mehrere Ports der Vermittlungsstelle. Das System verwendet eine Anzahl von Zeigern, die Speicherpositionen in dem Pufferspeicher identifizieren. Die Zeiger werden zwischen verschiedenen logischen Listen zum Anzeigen der Operation, die für die Daten in der Pufferposition ausgeführt werden soll, auf die verwiesen wird.
- Die Erfindung betrifft ferner Verfahren zum Testen von Speicherpositionen bzw. Zeigern (Pointern) im Zusammenhang mit Warteschlangensystemen der voranstehen erwähnten Art.
- Wenn Speicher in Computern und anderen Geräten verwendet werden bestimmt eine Adressenberechnung die physikalischen Positionen, die zum Speichern eines bestimmten Datenwerts verwendet werden sollen. Am einfachsten wird ein direktes Adressieren, eine Entscheidung oder Berechnungen darüber, welche Adresse verwendet werden soll, beim Kompilieren eines Programms oder im Zusammenhang mit einem Hardwaredesign für Einrichtungen mit festen Programmen ausgeführt. Eine indirekte Adressierung und verbundene Listen (Linked Lists) sind Beispiele von flexibleren Adressierungsverfahren. Hierbei wird die Adresseninformation in anderen Adressenpositionen oder in Zählern etc. gespeichert. Die Adressenberechnung ist somit nicht fest, sondern verändert sich während einer Ausführung für eine Anpassung auf die Menge und auf das Format der gespeicherten Daten.
- Einfachen FIFO Speicher mit einer direkten Adressierung werden am häufigsten mit Zählern zum Inkrementieren von Schreib- und Leseadressen realisiert oder in ihrer einfachsten Form werden sie mit festen Adressen in Schieberegistern realisiert. Im Zusammenhang mit einer dynamischen indirekten Adressierung werden Adressenzeiger verwendet, die ebenfalls in Speichern gespeichert sind. Am Systemstart werden diese Zeiger initialisiert, um so einen gültigen Satz von Zeigern zu erhalten, mit denen das System arbeitet. Die Funktion des Systems ist dann davon abhängig, dass die Zeigerinitialisierung während eines Betriebs nicht gestört wird. Bitfehler in einem Zeigerwert führen zu einer andauernden Fehlfunktion in dem System. Damit das System in einem kontinuierlichen Betrieb mit hohen Anforderungen hinsichtlich der Zuverlässigkeit sind, stellt dies ein Problem dar.
- Große Halbleiterspeicher sind traditionell mit einer Redundanz zum Verbessern der Ausbeute der Herstellung ausgerüstet. Mit Redundanz ist hier die Zeilen und Spalten von Ersatzschaltungen gemeint, die in die Schaltung eingeschleift werden können, um gewöhnliche Schaltungen zu ersetzen. Dies wird durch Auslösen von Sicherungen oder durch andere Mittel zum permanenten Rekonfigurieren der Schaltung in der Fabrik erhalten.
- Ein Testen wird durchgeführt, um Schaltungen zu bestimmen, die einer Reparatur bedürfen. Wenn Herstellungsfehler auftreten und derart sind, dass sie durch Verbinden bzw. Einschleifen von Ersatzschaltungen bzw. übrigen Schaltungen in die Schaltung repariert werden können wird die Art von Herstellungsfehler bestimmt und die Reparatur wird ausgeführt.
- Für Halbleiterspeicher ohne eine Redundanz wird eine Abbildung zwischen einer Adresse und einer physikalischen Position in dem Speicher bestimmt, während der Speicher entworfen wird. Für Halbleiterspeicher mit einer Redundanz wird diese Abbildung teilweise während des Entwurfs eingestellt und während einer Herstellung abgeschlossen, wenn fehlerhafte Speicherpositionen repariert werden sollen.
- Für den Fall von Plattenspeichern wird eine Testprozedur verwendet, bevor die Platte in einen Betrieb genommen wird, und zwar während eines Formatierungsbetriebs zum Bestimmen der Abschnitte auf der Platte, die verwendet werden können. Das Ziel besteht darin eine Platte mit schlechten Abschnitten verwenden zu können. Die Fehlerhypothese, die angewendet wird, besteht darin, dass bestimmte Positionen auf der Platte aufgrund der Tatsache, dass die Herstellung nicht perfekt ist, schlecht sein können. Die Aufteilung in gute und schlechte Sektoren kann während des Formatierungsprozesses ausgeführt werden und es wird angenommen, dass sie nicht geändert werden muss. Das Risiko für Plattenadressierungsfehler muss während der Formatierungsprozedur nicht berücksichtigt werden.
- In bestimmten Systemen werden Fehlerkorrekturcodes (ECC = Fehlerkorrekturcodes oder Error Correction Codes) zum Ermitteln einer Fehlertoleranz gegenüber Bitfehlern während eines Betriebs verwendet. Diese Fehler, die während eines Betriebs auftreten, können weich (soft) oder hart sein, d. h. vorübergehende Störungen oder feste Fehler. Die Anzahl von Bits, die in jedem Wort korrigiert werden können, ist begrenzt. Der am häufigsten verwendete Code kann einzelne Bitfehler korrigieren und Doppelt-Bitfehler erfassen. Seit kurzem ist gezeigt worden, dass eine Kombination von Fehlerkorrekturcodes und Ersatzzeilen ein Fehler-tolerantes System bereitstellt, das eine Reparaturfähigkeit von Herstellungsfehlern in Halbleiterspeichern mit einem sehr hohen Niveau aufweist, siehe IEEE Transactions on Computers, Vol. 41, # 9 September 1992, Seiten 1078-1087.
- Eine Reparatur von Einrichtungen bevor sie die Herstellung verlassen erfordert eine Testvorrichtung und ein Gerät für eine Sicherungsprogrammierung (eine andauernde Änderung von Verbindungen in einer elektrischen Schaltung zum Beeinflussen seiner Funktion - auch als Sicherung (fuse) oder Anti- Sicherung (antifuse) bezeichnet), auf der Herstellungslinie in der Fabrik, und einen Herstellungsprozess mit Sicherungskomponenten. Dies impliziert erhöhte Kosten aufgrund einer Verlängerung des Herstellungszyklusses. Der Grad eines Erfolges bezüglich der Reparaturoperationen ist durch die Tatsache begrenzt, dass sie auf der Verwendung auf Ersätzzeilen und Spalten beruhen, und durch die Unflexibilitat bezüglich der Behandlung von sporadischen einzelnen Fehler.
- Die Verwendung von Fehlerkorrekturcodes berücksichtigt isolierte einzelne Fehler. Für eine vollständige Effizienz wird jedoch eine Kombination von irgendeiner Art von System mit redundanten Zeilen benötigt. Gemäß dem Stand der Technik impliziert dies eine Sicherungsprogrammierung und ein Testen, bevor die Schaltungen die Fabrik verlassen.
- Die US 4,049,956 stellt ein Beispiel des Standes der Technik hinsichtlich einer Fehlererfassung während eines Betriebs bereit und beschreibt eine Überwachung eines Speichers, der in einem in einem Zeitmultiplizierungsmodus arbeitet. Ankommende Datenwörter werden vorübergehend in den jeweiligen Stufen eines Mehrfachstufenspeichers gespeichert und für eine weitere Revision ausgelesen. Das Testen wird ausgeführt, ohne dass der Speicher aus einem normalen Betrieb herausgenommen wird. Der Speicher besteht aus einer Anzahl von n Schritten, die periodisch in einem sich wiederholenden Abtastzyklus von Schlitzen, in die binäre Wörter eingeschrieben und auf den jeweiligen Stufen ausgelesen werden, adressiert werden. Wörter, die in eine Speicherstufe geschrieben werden, werden in dem unmittelbar folgenden Zyklus ausgelesen Fehlfunktionen werden mit Hilfe von Paritätsüberprüfungen erfasst.
- Die US 3,863,227 beschreibt die Auswahl und das Testen von jedem Element von einzelnen elektronischen Steuerelementen, die zum Zugreifen auf die verschiedenen Kernelemente in einem Kernspeicher verwendet werden, wenn der Speicher on-line ist. Somit ergibt sich die Frage bezüglich eines on-lines Tests eines Speichersystems, aber nicht dahingehend, ob der Speicher Elemente speichert, die in dem Speicher enthalten sind. Keine Verwendung von Paritätstest wird beschrieben.
- Die US 5,016,248 beschreibt ein Warteschlangensystem für einen Pakettransfer ohne eine Initialisierung oder Wartung zu erwähnen.
- Eine erste Aufgabe der vorliegenden Erfindung besteht darin, eine Fehlertoleranz durch ein kontinuierliches Aufrechterhalten der Zeigerbehandlung in einem Warteschlangensystem mit einer dynamischen indirekten Adressierung bereitzustellen, so dass das System immer die Fähigkeit zum Zurücksetzen eines richtigen Satzes von Zeigern aufweist, und zwar unabhängig von dem Zustand, in dem das System geendet hat.
- Eine zweite Aufgabe besteht darin, gegenüber Fehler in Speichern, die während eines Betriebs des Systems auftreten können, eine Fehlertoleranz zu erreichen.
- Eine dritte Aufgabe der Erfindung besteht darin, die Ausbeute bei der Herstellung von großen Halbleiterspeichern zu verbessern, indem eine redundante Schaltung in einer neuen Weise organisiert und verwendet wird. Durch Verwenden einer Fehlertoleranz können Speicher mit kleinen Herstellungsfehlern in einer richtigen Weise arbeiten und müssen nicht zurückgewiesen werden. Durch geeignetes Einstellen des Zurückweisungsgrads während der Testprozedur, um so eine Ersatzkapazität aufrechtzuerhalten, kann das Speicherbehandlungssystem sich auch von Fehlern erholen, die während eines Betriebs auftreten.
- Gemäß der Erfindung werden die voranstehend erwähnten Aufgaben teilweise oder insgesamt in der folgenden Weise gelöst.
- In einem Warteschlangensystem, welches in der Einleitung angegeben wurde, werden die Speicherpositionen einer Testprozedur ausgesetzt, die periodisch für jede Speicherposition in unbelegten Zyklen während eines Betriebs des Systems ausgeführt wird. Das Ergebnis der Prozedur wird für eine Aufrechterhaltung bzw. Wartung der Unbelegtliste verwendet. Die Adressen, die für einen Test gewählt werden, werden als von dem System gesteuert von einer Systemverwendung freigegeben. In einer Ausführungsform wird der Test einer Speicherposition ausgeführt, nachdem darauf gewartet wurde, dass sie von dem System von einer Verwendung freigegeben worden ist, und eine Rückkehr auf die Systemverwendung wird nur dann ausgeführt, wenn die Speicherposition den Test aushält.
- In einer anderen Ausführungsform werden Adressen auf die Speicherpositionen durch Kopieren der Inhalte der Speicherposition, die getestet werden soll, an eine freie oder fehlerfreie Speicherposition freigegeben. Daraufhin wird die Adressenberechnung für eine Verwendung durch die neue Speicherposition umgeleitet. Schließlich wird die getestete Speicherposition nur dann auf eine Systemverwendung zurückgebracht, wenn sie den Test aushält.
- In einer weiteren Ausführungssform werden Speicherpositionen, die den Test nicht ausgehalten haben, bei Gelegenheiten erneut getestet, wenn der gesamte Speicherblock, der die fragliche Speicherposition enthält, in dem System von einer Verwendung freigegeben wird.
- In noch einer weiteren Ausführungsform arbeitet eine Speichertestlogik zum Ausführen des Testvorgangs einer bestimmten Speicherposition in einem ersten Modus, bei dem sämtliche Adressen in einem auch von der Testlogik gesteuerten off-line Test getestet werden, während dem ein Zählen der Anzahl von Speicherpositionen mit korrigierbaren Fehler ausgeführt wird und bei dem existierende nicht korrigierbare Fehler angezeigt werden, und in einem zweiten Modus on-line, während dem die Speichertestlogik nur Daten zu der Speicherposition, die gerade getestet wird, überprüft, und andere Speicherpositionen dazu gebracht werden, mit Daten während eines normalen Betriebs als Adresse, die von dem System gesteuert wird, zu arbeiten.
- In einem Warteschlangensystem gemäß einer bestimmten Anwendung, die ebenfalls in der Einleitung angedeutet wurde, sichert eine Wartungsfunktion kontinuierlich, dass das System einen und nur einen Zeiger auf jede gültige Paketposition in dem Pufferspeicher umfasst.
- In einer zweiten Ausführungsform der bestimmten Anwendung werden Kopien des gleichen Zeigers in einer gesteuerten Weise behandelt, indem eine Mehrfach-Zeigerliste verwendet wird, in der die Anzahl von Kopien, die in dem System von jeweiligen Zeigern enthalten sind, aufgezeichnet werden und in der eine Wartungsfunktion überprüft, dass die Anzahl von Kopien eines Zeigers mit dem Wert übereinstimmt, der in der Mehrfach- Zeigerliste für den jeweiligen Zeiger aufgezeichnet ist.
- In dieser Ausführungsform werden die folgenden logischen Listen für die jeweiligen Zeigerkategorien abgesehen von der Mehrfach-Zeigerliste verwendet: eine Unbelegtliste für unbelegte Zeiger, Ausgangswarteschlangenlisten für eingereihte Zeiger in einer Warteschlange zu Ausgangsports, und eine Abblockungsliste für abgeblockte Zeiger. Die Wartungsfunktion überprüft zyklisch sämtliche Zeiger und vorhandenen Pufferpositionen, jeweils einzeln, wobei eine Initiierungsprozedur vorausgeht. Während dieser Prozedur wird der Zeiger außer Betrieb genommen, indem der Zeiger aus dem Fluss der Zeiger herausgefiltert wird, die von den Ausgangswarteschlangenlisten auf die unbelegte Liste zurückgebracht werden, bis das Warteschlangensystem bei jeder Kopie des infragestehenden Zeigers geleert worden ist, woraufhin die Anzahl von zurückgegebenen Kopien des verfraglichen Zeigers mit dem Wert in der Mehrfach- Zeigerliste verglichen wird.
- In einer ersten weiteren Entwicklung dieser Ausführungsform weist die Wartungsfunktion einen ersten Betriebsmodus auf, der nach der Initiierungsprozedur und aktiviert entweder durch die Tatsache, dass mehr als eine bestimmte Grenzanzahl von Zeigern als Folge der Initiierungsprozedur gefunden worden sind, die jeweilige Anzahl von Kopien davon nicht mit dem Wert in der Mehrfach-Zeigerliste für den fraglichen Zeiger übereinstimmen, oder durch ein externes Signal die Zeiger auf die Unbelegtliste zurückbringt, den Wert in der Mehrfach-Zeigerliste auf keine mehrfachen Kopien zurücksetzt und in der Abblockungsliste keine Abblockung von Zeigern andeutet.
- In einer zweiten weiteren Ausführungsform weist die Wartungsfunktionen einen ersten Betriebsmodus auf, der nach der Initiierungsprozedur und aktiviert durch die Tatsache, dass entweder mehr als eine bestimmte Grenzanzahl von verlorenen oder Mehrfach-Zeigern als Folge der Initiierungsprozedur festgestellt worden sind, oder durch ein externes Signal, eine Kopie jedes Zeigers auf die Unbelegtliste zurückbringt, und in der Abblockungsliste keine Abblockung von Zeigern anzeigt.
- Die Wartungsfunktion kann möglicherweise nur einen weiteren Betriebsmodus, d. h. einen zweiten Modus aufweisen. In diesem Fall wird dieser zweite Betriebsmodus dadurch aktiviert, dass der erste Wartungsmodus für sämtliche Zeiger durchlaufen worden ist. Daraufhin wird die Initiierungsprozedur für jeden Zeiger, jeweils einen zu jeder Zeit, neu ausgeführt und ein Pufferspeichertest wird mit einer niedrigen Priorität für nicht-abgeblockte Speicherpositionen, identifiziert von dem fraglichen Zeiger, in die Warteschlange eingereiht. Sämtliche anderen nicht-abgeblockten Speicherpositionen werden mit Systemdaten während des Tests trainiert. Das Ergebnis des Speichertests wird zum Zurückbringen der Zeiger auf die unbelegte Liste verwendet, wenn der Pufferspeichertest ein richtiges Ergebnis ergeben hat, aber er wird von einer Verwendung in dem System abgeblockt, wenn der Pufferspeichertest eine Fehlfunktion des Gebiets, das von dem Zeiger definiert wird, anzeigt. Die abgeblockten Zeiger werden einem zweiten Pufferspeichertest des gleichen Typs wie der erste ausgesetzt, vorausgesetzt dass jeder Testdatenbetrieb in der Warteschlange solange aufrechterhalten wird, wie Systemdaten irgendwo in dem Pufferspeichesegment einschließlich der Positionen, die von abgeblockten Zeigern identifiziert worden sind, gespeichert wird. Das Ergebnis des zweiten Tests wird zum Zurückbringen des Zeigers auf die unbelegte Liste verwendet, wenn der Test ein richtiges Ergebnis ergeben hat, wohingegen abgeblockte Zeige auf die unbelegte Liste zuerst zurückgegeben werden, nachdem sie in einer Anzahl von aufeinanderfolgenden Tests, die eine zweite Grenzanzahl übersteigt, akzeptiert worden sind.
- Für den Fall, dass die Wartungsfunktion eine Anzahl von verschiedenen Betriebsmoden aufweist, kann sie einen zweiten Betriebsmodus aufweisen, der dadurch aktiviert wird, dass der erste Modus durch sämtliche Zeiger hindurchgelaufen ist, woraufhin die Initiierungsprozedur wiederum für die Zeiger ausgeführt wird. Ein einfacher Schreib- und Lesetest wird für eine Ausführung auf Pufferspeicherpositionen, die von Zeigern identifiziert werden, deren Anzahl von Kopien nicht mit dem Wert in der Mehrfach-Zeigerliste übereinstimmt, in die Warteschlange eingereiht. Das Ergebnis des Schreib- und Lesetests wird zum Zurückbringen des fraglichen Zeigers auf die Unbelegtliste verwendet, wenn der Test ein richtiges Ergebnis ergeben hat, aber um ihn von einer Verwendung in dem System abzublocken, wenn der Test eine Fehlfunktion innerhalb des Bereichs andeutet, der von dem fraglichen Zeiger identifiziert wird.
- Ein dritter Betriebsmodus wird dadurch aktiviert, dass der zweite Modus für sämtliche Zeiger durchlaufen worden ist, woraufhin die Initiierungsprozedur noch einmal für die nicht- abgeblockten Zeiger ausgeführt wird. Ein Pufferspeichertest zum Erfassen von Typen von Fehlfunktionen, die nicht durch einen einfachen Schreibe- und Lesetest in dem zweiten Betriebsmodus erfasst worden sind, wird für eine Ausführung auf den Pufferspeicherpositionen, die von dem initiierten Zeiger identifiziert werden, in die Warteschlange eingereiht, wobei die Speicherpositionen mit Testdaten trainiert werden, wohingegen sämtliche anderen nicht-abgeblockten Pufferspeicherpositionen während des Tests für jeden abgeblockten Zeiger mit Systemdaten trainiert werden. Das Ergebnis des Tests wird zum Zurückbringen des Zeigers auf die unbelegte Liste zurückzubringen, wenn der Pufferspeichertest ein richtiges Ergebnis ergeben hat, aber um ihn von einer Verwendung in dem System heraus abzublocken, wenn der Pufferspeichertest eine Fehlfunktion in dem Bereich andeutet, der von dem Zeiger identifiziert wird. Ein vierter Betriebsmodus wird dadurch aktiviert, dass der dritte Modus durch sämtliche Zeiger hindurchgelaufen ist, woraufhin auch die vorher abgeblockten Zeiger für ein Testen durch zyklisches Ausführen der Initiierungsprozedur für sämtliche Zeiger, jeweils einzeln, akzeptiert werden. Ein Pufferspeichertest der gleichen Art wie in dem dritten Modus wird für nicht-abgeblockte Zeiger angewendet, wohingegen früher abgeblockte Zeiger in dem gleichen Typ von Pufferspeichertest ausgesetzt werden, und zwar dadurch konditioniert, dass jede Testdatenoperation in der Wartschlange solange aufrechterhalten wird, wie Systemdaten irgendwo in dem Pufferspeichersegment gespeichert sind, das die Positionen enthält, die von dem früher abgeblockten fraglichen Zeiger identifiziert werden. Das Ergebnis des Testvorgangs wird in der gleichen Weise wie bei dem dritten Modus für nicht-abgeblockte Zeiger und nicht akzeptierte Tests von früher abgeblockten Zeigern verwendet, wohingegen früher abgeblockte Zeiger auf die Unbelegtliste zuerst, nachdem sie in einer Anzahl von aufeinanderfolgenden Tests, die von einer Grenzanzahl definiert werden, akzeptiert worden sind, zurückgebracht werden.
- Das Speicherbehandlungssystem gemäß der Erfindung stellt eine dynamische Toleranz gegenüber Herstellungsfehlern bereit, wenn sich das System im Betrieb befindet. Ein Testen und eine Reparatur durch eine Rekonfiguration in der Fabrik wird nicht nötig. Ein Testen wird nach einer abgeschlossenen Herstellung ausgeführt, um zu bestimmen, ob der Speicher eine ausreichende Kapazität für die beabsichtigte Anwendung aufweist oder nicht.
- Nachstehend wird die Erfindung mit näheren Einzelheiten unter Bezugnahme auf eine Ausführungsform, die auf der beigelegten Zeichnung gezeigt ist, beschrieben. In der Zeichnung zeigt:
- Fig. 1 sehr schematisch ein Warteschlangensystem gemäß einem der Aspekte der Erfindung:
- Fig. 2 teilweise als Blockschaltbild eine Ausführungsform einer Paketvermittlungsstelle, in der die verschiedenen Aspekte der Erfindung verwendet werden;
- Fig. 3 ein Flussdiagramm von Hauptbetriebsmoden, die in einer Wartungsfunktion zum Testen von Adressenzeigern und Pufferspeicherpositionen in der Paketvermittlungsstelle nach Fig. 2 enthalten sind; und
- Fig. 4-7 Flussdiagramme der jeweiligen Moden der Fig. 3.
- Fig. 1 zeigt sehr schematisch ein Warteschlangensystem zum Wählen von Speicherpositionen in einem Datenspeicher 2 zum Ausführen von Schreiboperationen, Pfeil 4, auf diesen von einer on-line geführten Unbelegtliste 6 von Adressen auf freie Speicherpositionen in dem Speicher 2 und zum Berechnen von Adressen zum Sammeln, Pfeil 8, von Daten, die vorher in dem Speicher 2 gespeichert wurden. Die zuletzt erwähnten Adressen werden an Listen 12 über einen verwendeten Speicherplatz in dem Speicher 2 transferiert, Pfeil 10.
- Gemäß einem ersten Aspekt der Erfindung werden die Speicherpositionen des Speichers mit Hilfe einer Testlogik 14 einer Testprozedur unterzogen, die periodisch, Pfeil 16, auf jeder Speicherposition während Unbelegtzyklen während eines Betriebs des Systems ausgeführt wird. Die zu testenden Positionen werden mit Hilfe der Adressen, die in Listen 12 enthalten sind, gewählt, Pfeil 18, wobei die gewählten Positionen von einer Systemverwendung gesteuert durch das System freigegeben werden. Das Ergebnis des Tests wird für eine Wartung bzw. Aufrechterhaltung, Pfeil 20, an der Unbelegtliste 6 verwendet.
- Das Testen einer Speicherposition kann ausgeführt werden, nachdem abgewartet wird, dass sie von einer Systemverwendung freigegeben ist. Alternativ können Adressen zu Speicherpositionen, die getestet werden sollen, durch Kopieren der Inhalte einer derartigen Speicherposition, die getestet werden soll, in eine freie und fehlerfreie neue Speicherposition freigegeben werden. Die Adressenberechnung wird daraufhin zur Verwendung dieser neuen Speicherposition umgeleitet.
- In beiden Fällen wird eine getestete Speicherposition schließlich an die Systemverwendung, d. h. an die Unbelegtliste 6, nur dann zurückgegeben, wenn sie den Test aushält. Speicherpositionen, die das Testen nicht aushalten, werden bei Gelegenheiten neu getestet, wenn der gesamte Speicherblock einschließlich der fraglichen Speicherposition von einer Verwendung in dem System freigegeben wird.
- Die Speichertestlogik 14 zum Ausführen des Testvorgangs einer gegebenen Speicherposition kann vorzugsweise in zwei Moden arbeiten.
- In dem ersten Modus werden sämtliche Adressen in einem off- line Test gesteuert von der Logik getestet, wobei im Verlauf davon ein Zählvorgang der Anzahl von Speicherpositionen mit korrigierbaren Fehler ausgeführt wird und existierende nicht korrigierbare Fehler angezeigt werden.
- Während dieses Komponententestens wird ein vollständiger Speichertest mit z. B. sogenannten "Marschmustern" ("march patterns") ausgeführt, siehe z. B. "Using March Tests to Test SRAMS", AD J von de Goor, IEEE, Design & Test of Computers, March 93, Vol. 10, No. 1 and "Built in Seif Diagnosis for Repairable Embedded RAM:S", Robert Trenter et al. IEEE Design & Tests of Computers, June 93, Vol. 10, No. 2. Dies wird zum Beseitigen von nicht-betreibbaren Schaltungen durchgeführt. Da das Warteschlangensystem gemäß der Erfindung einen bestimmten Betrag einer Fehlertoleranz anbietet können auch Schaltungen mit fehlerhaften Speicherpositionen als richtig klassifiziert werden. Deshalb wird die Anzahl von Fehlern während des Testvorgangs aufgezeichnet. Wenn die Anzahl von Fehlern kleiner als der eingestellte Zurückweisungsschwellwert ist, dann wird die Komponente akzeptiert.
- In dem zweiten Modus, der on-line arbeitet, überwacht die Logik 14 nur Daten zu den Speicherpositionen, die gerade getestet werden, und andere Speicherpositionen werden gezwungen mit Daten während eines normalen Betriebs als Adresse, die von dem System gesteuert wird, zu arbeiten.
- Eine Ausführungsform der Erfindung wird nachstehend mit näheren Einzelheiten beschrieben. In einem Typ einer Paketvermittlungsstelle und unter Bezugnahme auf Fig. 2 wird ein ankommendes Paket, nach einer Analyse der Inhalte in dem Anfangsblock (head) des Pakets in einer Analysierfunktion 30, in eine Speicherposition in einem Pufferspeicher 32, der gemeinsam für die ankommenden Pakete ist, geschrieben. Der Pufferspeicher 32 ist schematisch mit einem ankommenden Paketfluss 34 und einer Anzahl von Ausgangskanälen 36.1 .... 36.n für Paketflüsse, die die Vermittlungsstelle verlassen, gezeigt. Der Fluss von Daten zu der Analysierfunktion 30 zum Ermöglichen dieser Funktion ist mit 34' bezeichnet worden.
- Der Schreibvorgang wird durch eine Adressenliste 38 geführt, die Adressenzeiger enthält, die auf entsprechende unbelegte Speicherpositionen in dem Speicher 32 verweisen. Diese Adressenliste wird kurz nachstehend auch als die "unbelegte Liste" oder "Unbelegtliste" bezeichnet. Insbesondere weist die Analysierfunktion 30 mit einem Signal, gemäß dem Pfeil 39, die Unbelegtliste 38 an, einerseits einen Zeiger für das fragliche Paket bereitzustellen und andererseits nach einem Schreibvorgang, signalisiert gemäß dem Pfeil 40 von der Unbelegtliste 38 zu dem Pufferspeicher 32, des Pakets in den Pufferspeicher geführt von dem Zeiger den Zeiger an ein Zeigerwarteschlangensystem zu transferieren, das eine Anzahl von FIFO Zeigerwarteschlangen 44, einen für jeden Ausgang 36, enthält.
- Genauer gesagt wird der Zeiger somit gemäß dem Pfeil 42 von der Unbelegtliste 38 an eine FIFO Zeigerschlange 44.n für einen Vermittlungsstellenausgang 36.n bewegt, der für das Paket gelegt gewählt worden ist, der von der Analyse der Inhalte seines Anfangsblocks gewählt worden ist. Die Auswahl einer Zeigerwarteschlange wird durch ein Steuersignal 45 von der Analysierfunktion 30 zu der fraglichen Zeigerwarteschlange ausgeführt.
- Der Anfangsblock eines ankommenden Pakets kann mehrere Zieladressen enthalten, d. h. die Inhalte des Pakets können an mehrere Vermittlungsstellenausgänge gesendet werden. In diesem Fall wird der Zeiger an die gewählte Speicherposition in dem Pufferspeicher 32 kopiert, um so viele Zeigern wie die Anzahl von in Frage stehenden Vermittlungsstellenausgängen zu erhalten. Nachstehend wird die Bezeichnung "Mehrfach-Zeiger" für einen Zeiger in einem derartigen Satz von Zeigern, der auf die gleiche Speicherposition in dem Pufferspeicher 32 verweist, verwendet. Diese Mehrfach-Zeiger werden an jede der Zeigerwarteschlangen für die in Frage stehenden Ausgänge geführt.
- Wenn ein Zeiger, d. h. ein einzelner Zeiger oder ein Mehrfach- Zeiger, als der erste auf seiner FIFO Warteschlange 44.n erschienen ist, wird das Datenpaket, das von dem Zeiger angezeigt wird, gelesen, gemäß einem Pfeil 46.n, und von dem Zeiger von seiner Speicherposition in dem Pufferspeicher 32 an den in Frage stehenden Ausgang 36.n geführt.
- Danach wird der Zeiger gemäß der Pfeile 48 und 50 an die Unbelegtliste 38 über eine Wartungsfunktion 52 umgeleitet, die nachstehend noch näher beschrieben wird und die Zeiger überwacht, die an die Unbelegtliste 38 zurückgegeben werden sollen. Insbesondere wird der Zeiger an die Unbelegtliste bewegt, wenn er nicht zum Testen von Wartungsfunktion 52 gewählt ist.
- In der Wartungsfunktion 52 werden Kopien des gleichen Zeigers in einer gesteuerten Weise behandelt. Insbesondere wird dies durch Verwenden einer Mehrfach-Zeigerliste 56 ausgeführt, die in der Wartungsfunktion 52 enthalten ist, in der die Anzahl von Kopien des jeweiligen Zeigers, die in dem System enthalten sind, aufgezeichnet werden. Die Wartungsfunktion 52 überprüft auch, dass die Anzahl von Kopien eines Zeigers mit dem Wert, der in der Mehrfach-Zeigerliste 56 für den jeweiligen Zeiger aufgezeichnet ist, übereinstimmt.
- In einer nachstehend ausführlicheren Beschreibung von Ausführungsformen der Erfindung wird die Bezeichnung x für einen Zeiger verwendet, der gerade getestet wird, wobei x zu dem Satz von sämtlichen Zeigern gehört. Dementsprechend wird die Pufferspeicherposition in dem Pufferspeicher 32, die von dem Zeiger x angezeigt wird, mit B(x) bezeichnet.
- Die Wartungsfunktion 52 führt in einer nachstehend noch näher beschriebenen Weise ein Testen von Pufferspeicherpositionen B (x) aus. Für diesen Zweck wird der Zeiger x an eine Testlogik 58 für den Pufferspeicher 32 in Übereinstimmung mit dem Pfeil 60(transferiert. Das Ergebnis des Testbetriebs für die Pufferspeicherposition B (x) wird von der Testlogik 58 an die Wartungsfunktion 52 gemäß dem Pfeil 60" signalisiert.
- Aus der folgenden Beschreibung wird sich genauso noch näher ergeben, dass dann, wenn dieser Testvorgang eine Fehlfunktion einer Speicherposition anzeigt, der entsprechende Zeiger von einer Verwendung in dem System abgeblockt wird und eine Abblockungsliste 62, die genauso in der Wartungsfunktion 52 enthalten ist, geliefert wird. Die Listen für Mehrfach- und abgeblockte Zeiger können auch in einzelne Liste kombiniert werden.
- Insbesondere überprüft die Wartungsfunktion 52 zyklisch sämtliche Zeiger und vorhandenen Speicherpositionen, jeweils einzeln, wobei eine Initiierungsprozedur vorangeht. Mit "sämtlichen" Zeigern sind hier sämtliche Zeiger gemeint, die in dem System existieren, d. h. Zeiger, die in der Unbelegtliste 38, den Ausgangswarteschlangen 44, in der Mehrfach-Zeigerliste 56 und in der Abblockungsliste 62 enthalten sind. Während der Initiierungsprozedur wird jeder Zeigerwert, jeweils einzeln, für eine Überprüfung herausgenommen, einerseits dafür, dass die Behandlung von Zeigern des Warteschlangensystems 38, 44 richtig ist und andererseits zum Überprüfen des Datenspeicherbereichs B(x) in dem Pufferspeicher 32, identifiziert von den in Frage stehenden Zeiger.
- Während der Initiierungsprozedur wird das Warteschlangensystem 38, 44 von dem Zeiger, der sich unter einem Test befindet, und sämtlichen Kopien davon, wenn vorhanden, entleert, woraufhin eine Überprüfung durchgeführt wird, dass die Anzahl von gefundenen Kopien gleich zu dem Wert in der Mehrfach-Zeigerliste 56 für den Zeiger, der sich unter einem Test befindet, ist.
- Die Wartungsfunktion 52 kann danach in Übereinstimmung mit einem oder mehreren Betriebsmoden arbeiten. Unabhängig von der vorherstehenden Alternative ist die Initiierungsprozedur der erste Schritt von jedem derartigen Betriebsmodus.
- Unter Bezugnahme auf Fig. 3 und in einer Ausführungsform des Falls, bei dem mehrere Betriebsmoden vorhanden sind, können vier Ebenen 70, 72, 74 und 76 der Wartungsfunktion 52 vorhanden sein. Die unterste Ebene 70 wird mit "Zeigerkonditionierung" bezeichnet und ist nur auf die Zirkulation von Zeigern gerichtet. Die anderen drei sind mit verschiedenen Lese/Schreib-Tests des Pufferspeichers 32 erweitert.
- Wie erwähnt wird das Warteschlangensystem 38, 40 von sämtlichen Kopien, wenn vorhanden, des Zeigers x während der Initiierungsprozedur geleert. In Nichtechtzeit-Systemen wird dies in mehreren verschiedenen Vorgehensweisen erhalten. In Echtzeit-Systemen ist man gewöhnlicherweise auf das Arbeiten nur mit Zeigern beschränkt, die an die unbelegte Liste 38 zurückgegeben werden.
- Zum Entleeren eines Echtzeit-Warteschlangensystems der voranstellend erwähnten Art von dem Zeiger x muss zunächst die Unbelegtliste 38 von sämtlichen Kopien, wenn vorhanden, davon entleert werden. Dies wird durch Filtern des Zeigers x aus dem Fluss 48 von zurückgegebenen Zeigern, Schritte 78 in den Fig. 4-7, ausgeführt, um so zu verhindern, dass er in die Unbelegtliste 38 geschrieben wird. Insbesondere wird dieses Filtern dadurch ermöglicht, dass die Wartungsfunktion 52 in Übereinstimmung mit dem Pfeil 78' ein Signal an die Unbelegtliste 38 aussendet, um einen Indikator zu setzen, dass der Zeiger für den Moment der letzte in der Unbelegtliste ist. Mit Hilfe eines Signals 78" ermittelt die Wartungsfunktion 52 danach Information, dass der Indikator die vorderste Position in der Unbelegtliste 38 erreicht hat. Sämtliche Zeiger, die in der Unbelegtliste 38 zu Beginn des Filterungsschritts existiert haben, an Ausgangswarteschlangen 44 geführt worden sind, wird die Unbelegtliste 38 mit Sicherheit von allen Zeigern x entleert sein.
- Danach müssen die Ausgangswarteschlangen 44 von Kopien, wenn vorhanden, des Zeigers x entleert werden. Dieses Entleeren wird insbesondere dadurch ermöglicht, dass die Wartungsfunktion 52 in Übereinstimmung mit dem Pfeil 79' ein Signal an die Ausgangswarteschlange 44 ausgesendet wird, um einen Indikator zu setzen, dass der Zeiger gerade im Moment der letzte in der jeweiligen Ausgangswarteschlange ist. Mit einem Signal gemäß des Pfeils 79" ermittelt die Wartungsfunktion 52 danach Information von den Ausgangswarteschlangen, dass die so angezeigten Zeiger zuerst in der jeweiligen Schlange geendet haben. Die Wartungsfunktion 52 wartet somit, während sie kontinuierlich Zeiger x aus dem Fluss 58 von zurückgegebenen Zeigern filtert, darauf, dass die Zeiger, die zuletzt in den Ausgangswarteschlangen 44 zu der Zeit angeordnet waren, als das Entleeren der Unbelegtliste 38 geendet hatte, zuerst in der Warteschlange enden sollten. Wenn die langsamste Warteschlange dieses Kriterium erfüllt hat dann ist das System von dem Zeiger x entleert.
- Danach wird im Schritt 80 in den Fig. 5-7 eine Überprüfung dahingehend ausgeführt, ob die Anzahl von zurückgegebenen Zeigern mit dem Wert für den Zeiger x in der Mehrfach- Zeigerliste 56 übereinstimmt. Wenn dies nicht der Fall ist, wird ein Zeigerfehlersignal erzeugt. Dieses Fehlersignal endet in etwas anderen Maßnahmen in Abhängigkeit von dem Wartungsmodus, der gerade ausgeführt wird. In sämtlichen Moden mit Ausnahme des Modus "Zeigerkonditionierung" wird der Zeigerwert abgeblockt und ein Fehlerzähler, der nicht gezeigt ist, wird inkrementiert, Schritt 82 in den Fig. 5-7. Wenn eine größere Anzahl als eine Anzahl von α-Fehlern gefunden wird, Schritt 84 in den Fig. 5-7, wird der gegenwärtige Wartungsmodus gestoppt, der Fehlerzähler wird auf Null eingestellt und ein Sprung wird zu dem Modus "Zeigerkonditionierung", Pfeil 86 in Fig. 5-7 ausgeführt. Alpha ist der gewünschte Grad einer Toleranz zu dem Fehler in der Mehrfach-Zeigerliste 56. In dem Modus "Zeigerkonditionierung" endet das Zeitfehlersignal nicht in irgendeiner Maßnahme, siehe Fig. 4.
- Am Start des Systems muss ein richtiger Zeigerersatz für das Warteschlangensystem so schnell wie möglich verfügbar gemacht werden. Deshalb wird die Prozedur "Zeigerkonditionierung" initiiert. Dies kann entweder als Ergebnis eines Zeigerfehlers, der gemäß der obigen Ausführungen auch erscheint oder durch eine Aktivierung mit Hilfe eines externen Signals ausgeführt werden. Mit Zeigerfehler wird hier und nachstehend gemeint, wie voranstehend beschrieben, dass die Anzahl von Kopien eines Zeigers, der während der Initiierungsprozedur zurückgegeben wird, nicht mit der Anzahl, die in der Mehrfach-Zeigerliste für den in Frage stehend Zeiger angegeben ist, übereinstimmt. Sobald der Zeiger überprüft worden ist, wird er in die Unbelegtliste 38 eingeführt und kann dafür verwendet werden, um Pakete in Warteschlangen einzureihen.
- Wenn sämtliche Zeiger konditioniert worden sind, wird die nächste Wartungsebene 72 für sämtliche Zeiger ausgeführt, was nachstehend mit "Schnelltest" ("Quick Test") bezeichnet wird. Danach geht die Wartungsfunktion 52 in die Wartungsebene 74 über, die nachstehend auch als "Volltest" ("Füll Test") bezeichnet wird, woraufhin eine Ausführung der Wartungsebene 76 "Volltest mit Neutest" ("Füll Test with Retest") gestartet wird, die der gegenwärtige Betriebszustand ist, die jedoch unterbrochen werden kann, wenn ein Zeigerfehler auftritt.
- Wenn mehrere fehlerhafte Zeiger (Mehrfach-Zeiger oder verlorene Zeiger) als α erfasst werden, wird die Wartungsfunktion 52 immer, wie genauso voranstehend beschrieben worden ist, mit einer "Zeigerkonditionierung" unabhängig von der einen der anderen Wartungsfunktionen, die ausgeführt wird, neu starten. Dies ist in Fig. 3 sowie in den Fig. 5-7 mit Pfeilen 86 angedeutet.
- Unter Bezugnahme auf die Fig. 4 gibt der Modus 70 "Zeigerkonditionierung" im Schritt 88 jeden Zeiger x an die Unbelegtliste 38 zurück, setzt den Wert in der Mehrfach- Zeigerliste 56 auf "keine Mehrfach-Kopien" und in der Abblockungsliste 62 auf "keine Abblockung". Wenn der letzte Zeiger behandelt worden ist, siehe Schritt 90, wird der Zeigerfehlerzähler auf Null eingestellt, Schritt 92. Der Modus 70 endet daraufhin in den Modus 72, Pfeil 94.
- Der Modus 72 "Schnelltest" wird somit, unter Bezugnahme auf Fig. 5 dadurch aktiviert, dass der erste Modus 70 durch sämtliche Zeiger gelaufen ist. Die Initiierungsprozedur wird daraufhin für sämtliche Zeiger ausgeführt und ein einzelner Schreib- und Lesetest on-line, Schritt 96, wird für Pufferspeicherpositionen B(x) ausgeführt, die von dem Zeiger x identifiziert worden sind. Wenn dies erforderlich gefunden wird kann dieser Test nach Warten in der Warteschlange mit einer geringen oder niedrigsten Priorität unter den Operationen, die auf dem Pufferspeicher ausgeführt werden können, ausgeführt werden.
- Das Ergebnis des Schreib- und Lesetests wird verwendet, um so den gegenwärtigen Zeiger an die Unbelegtliste 38 zurückzugeben, wenn der Test ein richtiges Ergebnis ergeben hat, aber um ihn von einer Verwendung in dem System abzublocken und ihn in die Abblockungsliste 62 einzuführen, wenn der Test eine Fehlfunktion innerhalb des Gebiets anzeigt, welches von dem in Frage stehenden Zeiger identifiziert wird. Nach dem letzten Zeiger geht der Test in den Modus 74 über, siehe Schritt 98 und Pfeil 100.
- Im Gegensatz zu dem off-line Test, der voranstehend beschrieben wurde, bei dem die Testlogik 14 in Fig. 1 sämtliche Daten und sämtliche Adressen zu dem Speicher steuert überprüft, weist die Testlogik 58 in Fig. 2 bei dem on-line Test nur Schreib- und Leserechte zu den Adressenpositionen auf, die durch die Initiierungsprozedur von einer Systemverwendung freigegeben worden sind, wobei das System von einem Zeigerwert entleert wird. Bezüglich sämtlicher nachstehender Beschreibungen wird die Testlogik gezwungen, nur dann zu arbeiten, wenn keine Systemoperationen mit höherer Priorität in Richtung auf den Speicher hin in Frage kommen.
- In dem einfachen Schreib- und Lesetest in dem Modus 72 gemäß Fig. 5 wird ein erstes Bitmuster in Adressenpositionen geschrieben, die von dem freigegebenen Zeiger identifiziert werden. Sobald dies durchgeführt worden ist, werden diese Positionen zum Testen ausgelesen, dass die Speicherzellen dieses erste Bitmuster speichern können. Daraufhin wird der Verlauf ein zweites Mal wiederholt, dieses Mal mit einem zweiten Bitmuster, welches invers zu dem ersten Muster ist. Wenn gelesene Daten den Schreibdaten nicht entsprechen, wird das Signal 60" in Fig. 2 in der Form eines Fehlersignals erzeugt.
- Der dritte Betriebsmodus 74 "Volltest" wird, unter Bezugnahme auf Fig. 6 dadurch aktiviert, dass der zweite Modus 72 durch sämtliche Zeiger gelaufen ist und durch erneutes Ausführen der Initiierungsprozedur für die Zeiger, die von dem Modus 72 nicht abgeblockt werden, beginnt. Daraufhin wird ein Pufferspeichertest zum Erfassen von Typen von Fehlfunktionen in eine Warteschlange eingereiht, die durch den einfachen Schreib- und Lesetest in dem zweiten Betriebsmodus nicht erfasst worden sind, wobei die geringste Priorität die Pufferspeicherpositionen B(x) ausgeführt wird, die nicht abgeblockt sind, siehe Schritte 102 und 104. Diese Speicherpositionen werden mit Testdaten trainiert, d. h. beschrieben und gelesen, woraufhin sämtliche anderen Pufferspeicherpositionen, die gerade nicht abgeblockt sind, während des Tests für jeden abgeblockten Zeiger mit Systemdaten trainiert, d. h. beschrieben und gelesen, werden.
- Das Ergebnis des Tests wird verwendet, um so den Zeiger an die Unbelegtliste 38 zurückzugeben, wenn der Pufferspeichertest ein richtiges Ergebnis ergeben hat, aber um ihn von einer Verwendung in dem System abzublocken und in die Abblockungsliste 62 einzuführen, wenn der Pufferspeichertest eine Fehlfunktion des Bereichs, der von dem Zeiger identifiziert wird, anzeigt. Nach dem letzten Zeiger geht der Test zu dem Modus 76, siehe Schritt 106 und Pfeil 108.
- Für den Fall eines vollständigen on-line Tests gemäß des dritten Betriebsmodus 74 sollen auch Fehler in der Adressierungslogik erfasst werden. Normalerweise erfordert dies, dass die Daten, die von den Daten in der Speicherposition B(x) unterschiedlich sind, in sämtliche anderen Adressen geschrieben werden. Gemäß der Erfindung werden Systemdaten in die anderen nicht-abgeblockten Positionen geschrieben und herausgelesen. Dies erfüllt die gleiche Funktion wie die gesteuerten Daten in dem vorher beschriebenen off-line Test. Das Risiko, dass ein Adressierungsfehler vor einer Entdeckung durch das System entfliehen wird, dass unter Umständen gerade auf den gleichen Datenwert schreibt, den die Testlogik für den Test verwendet, in einer Adresse mit einem Adressendekodierungsfehler, der Speicherpositionen unter einem Test überlappt, wird durch kontinuierliches Wiederholen sämtlicher Tests, und dadurch, dass eine Fehlererfassung zum Abblocken des Zeigers ausreichend ist, minimiert. Deshalb wartet die Testlogik darauf, dass die Systemdaten in sämtliche anderen verwendeten Positionen geschrieben worden sind, bevor die Leseüberprüfung ausgeführt wird.
- Der vierte Betriebsmodus 76 "Volltest mit Neutest" wird, unter Bezugnahme auf Fig. 7, somit durch die Tatsache aktiviert, dass der dritte Modus 74 durch sämtliche Zeiger durchgelaufen ist. Auch die früher abgeblockten Zeiger werden daraufhin für einen Test dadurch akzeptiert, dass die Initiierungsprozedur zyklisch für sämtliche Zeiger, jeweils einzeln, ausgeführt wird. Daraufhin wird ein Pufferspeichertest der gleichen Art wie in dem dritten Modus für nicht-abgeblockte Zeiger angewendet, Schritte 110 und 112. Früher abgeblockte Zeiger werden dem gleichen Typ von Pufferspeichertest, konditioniert dadurch, dass jeder Testdatenbetrieb in der Warteschlange solange aufrechterhalten wird, wie Systemdaten irgendwo in dem Pufferspeichersegment enthalten sind, dass den Speicherbereich B(x) enthält, der von dem früher abgeblockten Zeiger x identifiziert wird, vorausgesetzt, Schritt 114. Das Ergebnis des Tests wird in der gleichen Weise wie in dem dritten Modus für nicht-abgeblockte Zeiger und nicht zugelassene Tests von früher abgeblockten Zeigern verwendet, woraufhin früher abgeblockte Zeiger an die Unbelegtliste 38 nicht zurückgegeben werden, bis sie in einer Anzahl von aufeinanderfolgenden Tests akzeptiert worden sind, wobei die Anzahl durch einen Grenzwert β definiert ist.
- Der vierte Betriebsmodus 76 basiert auf dem Verständnis, dass in einem kontinuierlichen Betrieb auch das Risiko berücksichtigt werden muss, dass Adressierungsfehler von der Speicherposition unter einem Test Systemdaten zerstören können. Deshalb wird von der Testlogik in früher abgeblockten Positionen kein Schreibvorgang zugelassen, bevor das gesamte Segment, in dem Adressierungsfehler auftreten können, von Systemdaten entleert worden ist. Danach wird ein Schreibvorgang mit Systemdaten in sämtlichen anderen Positionen abgewartet, wie in dem dritten Betriebsmodus. Da sämtliche Leseoperationen Daten in fehlerhaften Speichern zerstören können, wird erneut auf ein Entleeren von Systemdaten von dem Speichersegment gewartet, bevor eine Leseüberprüfung für die Speicherpositionen ausgeführt wird, die von dem früher abgeblockten Zeiger identifiziert werden, der sich nun unter einem erneuten Test befindet.
- In einer Ausführungsform des Falls eines einzelnen Betriebsmodus gibt es im wesentlichen die Frage einer Zusammenfassung der zwei letzten Betriebsmoden gemäß der Fig. 6 und 7.
- Insbesondere wird ein Test des Pufferspeichers 32 in eine Warteschlange nach der Initiierungsprozedur mit einer geringsten Priorität eingereiht, um für die Pufferspeicherpositionen ausgeführt zu werden, die von nicht- abgeblockten Zeigern identifiziert werden, siehe Schritte 102 und 104 in Fig. 6. Diese Speicherpositionen werden mit Testdaten trainiert. Sämtliche anderen nicht-abgeblockten Pufferspeicherpositionen werden während der Testprozedur mit Systemdaten trainiert. Danach wird das Ergebnis des Tests in einer Weise verwendet, dass der Zeiger an die Unbelegtliste 38 zurückgegeben wird, wenn der Pufferspeichertest ein richtiges Ergebnis ergeben hat, aber er wird von einer Verwendung in dem System abgeblockt, wenn der Pufferspeichertest eine Fehlfunktion in dem Bereich anzeigt, der von dem Zeiger definiert wird.
- Abgeblockte Zeiger werden an die Abblockungsliste 62 geliefert und dem gleichen Typ von Pufferspeichertest unterzogen, konditioniert dadurch, dass jeder Testdatenbetrieb in der Warteschlange solange aufrechterhalten wird, wie Systemdaten irgendwo in dem Pufferspeichersegment gespeichert sind, dass die Positionen enthält, die von abgeblockten Zeigern identifiziert werden, siehe Schritt 114 in Fig. 7. Danach muss das Ergebnis des Tests so verwendet werden, dass der Zeiger an die Unbelegtliste 38 zurückgegeben wird, wenn der Pufferspeichertest ein richtiges Ergebnis ergeben hat. Abgeblockte Zeiger werden an die Unbelegtliste 38 zuerst zurückgegeben, nachdem sie in einer Anzahl von aufeinanderfolgenden Tests, größer als der Grenzwert β, akzeptiert worden sind.
Claims (33)
1. Warteschlangensystem zur
Auswahl von Speicherpositionen in einem Speicher (2) zum
Ausführen von Schreiboperationen (4) auf diesen von
einer on-line geführten Unbelegtliste (6) von Adressen
auf freie Speicherpositionen in dem Speicher, und
Berechnung von Adressen zum Sammeln (8) von Daten, die
vorher in dem Speicher (2) gespeichert wurden,
dadurch gekennzeichnet, dass
die Speicherpositionen einer Testprozedur ausgesetzt
werden, die periodisch (16) für jede Speicherposition in
Unbelegtzyklen während eines Betriebs des Systems
ausgeführt wird, und dessen Ergebnis für eine Wartung
der Unbelegtliste (6) verwendet wird, wobei die
Adressen, die für einen Test gewählt sind, von einer
Systemverwendung wie von dem System gesteuert
freigegeben werden.
2. System nach Anspruch 1, ferner
dadurch gekennzeichnet, dass
der Test einer Speicherposition ausgeführt wird, nachdem
darauf gewartet wurde, dass sie von dem System von einer
Verwendung freigegeben worden ist, und eine Rückgabe an
die Systemverwendung ausgeführt wird, nur wenn die
Speicherposition den Test aushält.
3. System nach Anspruch 1, ferner
dadurch gekennzeichnet, dass
Adressen zu den Speicherpositionen durch Kopieren der
Inhalte der Speicherposition, die getestet werden soll,
an eine freie und fehlerfreie Speicherposition
freigegeben werden, woraufhin die Adressenberechnung für
eine Verwendung durch die neue Speicherposition
umgeleitet wird, und schließlich die getestete
Speicherposition an eine Systemverwendung zurückgegeben
wird, nur wenn sie den Test aushält.
4. System nach Anspruch 1, ferner
dadurch gekennzeichnet, dass
Speicherpositionen, die einen Test nicht ausgehalten
haben, bei Gelegenheiten neu getestet werden, wenn der
gesamte Speicherblock, der die in Frage stehende
Speicherposition enthält, von einer Verwendung in dem
System freigegeben wird.
5. System nach Anspruch 1, ferner
dadurch gekennzeichnet, dass
eine Speichertestlogik (14) zum Ausführen des
Testvorgangs einer bestimmten Speicherposition in
folgenden Moden arbeitet:
in einem ersten Modus, bei dem sämtliche Adressen in
einem off-line Test gesteuert durch die Testlogik (14)
getestet werden, wobei dabei ein Zählvorgang der Anzahl
von Speicherpositionen mit korrigierbaren Fehlern
ausgeführt wird und wobei existierende nicht
korrigierbare Fehler angezeigt werden, und
in einem zweiten Modus on-line, bei dem die
Speichertestlogik nur Daten auf die Speicherposition,
die gerade getestet wird, überprüft und andere
Speicherpositionen dazu gebracht werden, mit Daten
während eines normalen Betriebs als Adresse gesteuert
durch das System zu arbeiten.
6. Warteschlangensystem nach einem der Ansprüche 1-5, zum
Puffern von Daten in einer Paketvermittlungsstelle mit
einem gemeinsamen Pufferspeicher (32) für einen oder
mehrere Ausgangsports von der Vermittlungsstelle, wobei
das System eine Anzahl von Zeigern, die
Speicherpositionen in dem Pufferspeicher identifizieren,
verwendet, und in dem die Zeiger zwischen verschiedenen
logischen Listen (38, 44, 56, 62) zum Anzeigen der
Operation, die mit den Daten in der Pufferposition
ausgeführt werden sollen, auf die verwiesene wird,
bewegt werden,
ferner gekennzeichnet durch
eine Wartungsfunktion (52), die kontinuierlich
sicherstellt, dass das System einen und nur einen Zeiger
auf jede gültige Paketposition in dem Pufferspeicher
(32) umfasst.
7. Warteschlangensystem nach einem der Ansprüche 1-5, zum
Puffern von Daten in einer Paketvermittlungsstelle mit
einem gemeinsamen Pufferspeicher (32) für einen oder
mehrere Ausgangsports von der Vermittlungsstelle, wobei
das System eine Anzahl von Zeigern, die
Speicherpositionen in dem Pufferspeicher identifizieren,
verwendet, und in dem die Zeiger zwischen verschiedenen
logischen Listen (38, 44, 56, 62) bewegt werden, um die
mit den Daten in der Pufferposition, auf die verwiesen
wird, auszuführende Operation anzuzeigen,
ferner gekennzeichnet dadurch, dass
Kopien des gleichen Zeigers in einer gesteuerten Weise
durch Verwenden einer Mehrfach-Zeigerliste (56)
behandelt werden, in der die Anzahl von Kopien, die in
dem System von jeweiligen Zeigern enthalten sind,
aufgezeichnet werden, und wobei eine Wartungsfunktion
(52) überprüft, dass die Anzahl von Kopien eines Zeigers
mit dem Wert, der in der Mehrfach-Zeigerliste (56) für
den jeweiligen Zeiger aufgezeichnet ist, übereinstimmt.
8. Warteschlangensystem nach Anspruch 7, ferner
dadurch gekennzeichnet, dass
abgesehen von der Mehrfach-Zeigerliste (56) die
folgenden logischen Listen für die jeweiligen
Zeigerkategorien verwendet werden: eine Unbelegliste
(38) für freie Zeiger, Ausgangswarteschlangenlisten (44)
für in Warteschlangen eingereihte Zeiger in einer
Warteschlange zu Ausgangsports, und eine
Abblockungsliste(62) für abgeblockte Zeiger.
9. Wartenschlangensystem nach Anspruch 8, ferner
gekennzeichnet dadurch, dass
die Wartungsfunktion (52) zyklisch sämtliche Zeiger und
vorhandenen Pufferpositionen jeweils einzeln, zyklisch
überprüft, wobei eine Initiierungsprozedur vorausgeht,
während der
der Zeiger durch Herausfiltern (78) des Zeigers aus dem
Fluss von Zeigern, die von Ausgangswarteschlangenlisten
(44) and die Unbelegtliste (38) zurückgegeben werden,
aus dem Betrieb genommen wird, bis das
Warteschlangensystem von jeder Kopie des in Frage
stehenden Zeigers geleert worden ist, woraufhin
die Anzahl von zurückgegebenen Kopien des in Frage
stehenden Zeigers mit dem Wert der Mehrfach-Zeigerliste
(56) verglichen (80) wird.
10. Wartenschlangensystem nach Anspruch 9, ferner
gekennzeichnet dadurch, dass
die Wartungsfunktion (52) einen ersten Betriebsmodus
(70) aufweist, der nach der Initiierungsprozedur und
aktiviert (82),
dadurch, dass eine größere Anzahl als eine bestimmte
Grenzanzahl von Zeigern als Folge der
Initiierungsprozedur gefunden worden sind (84), wobei
die jeweilige Anzahl von Kopien davon nicht mit dem Wert
in der Mehrfach-Zeigerliste (56) für den in Frage
stehenden Zeiger übereinstimmen, oder
durch ein externes Signal,
die Zeiger an die Unbelegtliste (38) zurückgibt, den
Wert in der Mehrfach-Zeigerliste (56) auf eine Mehrfach-
Kopien zurücksetzt, und in der Abblockungsliste (62)
kein Abblocken der Zeiger anzeigt.
11. Wartenschlangensystem nach den Ansprüchen 6 und 9,
ferner gekennzeichnet dadurch, dass
die Wartungsfunktion einen ersten Betriebsmodus (70)
aufweist, der nach der Initiierungsprozedur und
aktiviert durch die Tatsache, dass eine größere Anzahl
als eine bestimmte Grenzanzahl von verlorenen oder
Mehrfach-Zeigern als Ergebnis der Initiierungsprozedur
gefunden worden sind, oder durch ein externes Signal
eine Kopie jedes Zeigers an die Unbelegtliste (38)
zurückgibt und in der Abblockungsliste (62) kein
Abblocken von Zeigern anzeigt.
12. Wartenschlangensystem nach Anspruch 10 oder 11, ferner
gekennzeichnet dadurch, dass
die Wartungsfunktion (52) nur einen weiteren
Betriebsmodus aufweist.
13. Wartenschlangensystem nach Anspruch 12, ferner
gekennzeichnet dadurch, dass
die Wartungsfunktion (52) aufweist einen zweiten
Betriebsmodus (72) aktiviert dadurch, dass der erste
Wartungsmodus (70) für sämtliche Zeiger durchlaufen
worden ist, woraufhin die Initiierungsprozedur wieder
für jeden Zeiger, jeweils einen zu jeder Zeit,
ausgeführt wird und der Pufferspeicher mit einer
niedrigen Priorität auf nicht-abgeblockten
Speicherpositionen identifiziert von dem in Frage
stehenden Zeiger in eine Warteschlange eingereiht wird,
wohingegen sämtliche anderen nicht-abgeblockten
Speicherpositionen mit Systemdaten während des Tests
trainiert werden, und wobei das Ergebnis des
Speichertests zum Zurückgeben des Zeigers an die
Unbelegtliste (38) verwendet wird, wenn der
Pufferspeichertest ein richtiges Ergebnis ergeben hat,
aber von einer Verwendung in dem System abgeblockt wird,
wenn der Pufferspeichertest eine Fehlfunktion des
Bereichs, der von dem Zeiger definiert wird, anzeigt,
die abgeblockten Zeiger einem zweiten Pufferspeichertest
des gleichen Typs wie der erste ausgesetzt werden,
konditioniert dadurch, dass jeder Testdatenbetrieb in
der Warteschlange solange aufrechterhalten wird, wie
Systemdaten irgendwo in dem Pufferspeichersegment
einschließlich der Positionen, die von abgeblockten
Zeigern identifiziert werden, gespeichert werden,
wobei das Ergebnis des zweiten Tests zum Zurückgeben
(88) des Zeigers an die Unbelegtliste (38) verwendet
wird, wenn der Test ein richtiges Ergebnis ergeben hat,
wohingegen abgeblockte Zeiger an die Unbelegtliste (38)
zuerst zurückgegeben werden, nachdem sie in einer Anzahl
von aufeinanderfolgenden Tests, die eine zweite
Grenzanzahl übersteigt, akzeptiert worden sind.
14. Wartenschlangensystem nach Anspruch 8 oder 9, ferner
dadurch gekennzeichnet, dass
die Wartungsfunktion (52) eine Anzahl von verschiedenen
Betriebsmoden aufweist.
15. Wartenschlangensystem nach Anspruch 11, ferner
dadurch gekennzeichnet, dass
die Wartungsfunktion (52) einen zweiten Betriebsmodus
(72) aufweist, der dadurch aktiviert wird, dass der
erste Modus durch sämtliche Zeiger gelaufen ist,
woraufhin
die Initiierungsprozedur wieder für die Zeiger
ausgeführt wird,
ein einfacher Schreib- und Lesetest (56) für eine
Ausführung auf Pufferspeicherpositionen identifiziert
von Zeigern, deren Kopien nicht mit dem Wert in der
Mehrfach-Zeigerliste übereinstimmt, in eine
Warteschlange eingereiht wird,
das Ergebnis des Schreib- und Lesetests zum Zurückgeben
des in Frage stehenden Zeigers an die Unbelegtliste (38)
verwendet wird, wenn der Test ein richtiges Ergebnis
ergeben hat, aber dieser von einer Verwendung in dem
System abgeblockt wird, wenn der Test eine Fehlfunktion
innerhalb des Bereichs anzeigt, der von dem in Frage
stehenden Zeiger identifiziert wird.
16. Wartenschlangensystem nach Anspruch 15,
ferner dadurch gekennzeichnet, dass
die Wartungsfunktion (52) einen dritten Betriebsmodus
(74) aufweist, der dadurch aktiviert wird, dass der
zweite Modus für sämtliche Zeiger durchlaufen worden
ist, woraufhin
die Initiierungsprozedur einmal wieder für die nicht-
abgeblockten Zeiger ausgeführt wird,
ein Pufferspeichertest zum Erfassen von Typen von
Fehlfunktionen, die von dem einfachen Schreib- und
Lesetest in dem zweiten Betriebsmodus (72) nicht erfasst
worden sind, für eine Ausführung auf den
Pufferspeicherpositionen, die von dem initiierten Zeiger
identifiziert werden, in eine Warteschlange eingereiht
wird, wobei die Speicherpositionen mit Testdaten
trainiert werden, wohingegen sämtliche anderen, nicht-
abgeblockten Pufferspeicherpositionen mit Systemdaten
während des Tests für jeden abgeblockten Zeiger
trainiert werden,
wobei das Ergebnis des Tests zum Zurückgeben des Zeigers
an die Unbelegtliste (38) verwendet wird, wenn der
Pufferspeichertest ein richtiges Ergebnis ergeben hat,
aber er von einer Verwendung in dem System abgeblockt
wird, wenn der Pufferspeichertest eine Fehlfunktion in
dem Bereich anzeigt, der von dem Zeiger identifiziert
wird.
17. Wartenschlangensystem nach Anspruch 16,
ferner dadurch gekennzeichnet, dass
die Wartungsfunktion (52) einen vierten Betriebsmodus
(76, 106, 108) aufweist, der dadurch aktiviert wird,
dass der dritte Modus für sämtliche Zeiger durchlaufen
worden ist, woraufhin
auch die früher abgeblockten Zeiger zum Testen durch
zyklisches Ausführen der Initiierungsprozedur für
sämtliche Zeiger, jeweils einer zu einer Zeit,
akzeptiert werden,
ein Pufferspeichertest der gleichen Art wie in dem
dritten Modus auf nicht-abgeblockte Zeiger angewendet
wird (110, 112), wohingegen früher abgeblockte Zeiger
dem gleichen Typ von Pufferspeichertest ausgesetzt
werden, konditioniert dadurch, dass jeder
Testdatenbetrieb in einer Warteschlange solange gehalten
wird, wie Systemdaten irgendwo in dem
Pufferspeichersegment gespeichert sind, dass die
Positionen enthält, die von dem früher abgeblockten in
Frage stehenden Zeiger identifiziert worden sind,
das Ergebnis des Tests in der gleichen Weise wie in dem
dritten Modus für nicht-abgeblockte Zeiger und nicht
akzeptierte Tests von früher abgeblockten Zeigern
verwendet wird, wohingegen früher abgeblockte Zeiger an
die Unbelegtliste (38) zuerst zurückgegeben werden,
nachdem sie in einer Anzahl von aufeinanderfolgenden
Tests (114), definiert mit einer Grenzanzahl, akzeptiert
worden sind.
18. Wartenschlangensystem nach einem der Ansprüche 8-9 oder
10-17,
ferner dadurch gekennzeichnet, dass
die Listen für mehrfach verwendete und abgeblockte
Zeiger in eine Liste kombiniert sind.
19. Verfahren zum Testen von Speicherpositionen in einem
Warteschlangensystem, dass Speicherpositionen in einem
Speicher (2) zum Ausführen von Schreiboperationen (4)
für diese von einer on-line geführten Unbelegtliste
(6)von Adressen auf freie Speicherpositionen in dem
Speicher wählt, und
Adressen zum Sammeln von Daten (8), die vorher in dem
Speicher (2) gespeichert werden, berechnet,
wobei das Verfahren ferner umfasst:
Freigeben von Adressen, die für einen Test von einer
Systemverwendung wie von dem System gesteuert gewählt
werden,
periodisches (116) Ausführen von einer Testprozedur für
gewählte Speicherpositionen auf jeder Speicherposition
in unbelegte Zyklen während eines Betriebssystems, und
Verwenden des Ergebnisses der Testprozedur für eine
Wartung der Unbelegtliste (6).
20. Verfahren nach Anspruch 19, ferner umfassend die
folgenden Schritte:
Ausführen des Tests einer Speicherposition, nachdem
abgewartet wurde, dass sie von dem System von einer
Verwendung freigegeben worden ist, und
Zurückgeben der Speicherposition an die Systemverwendung
nur dann, wenn die Speicherposition den Test aushält.
21. Verfahren nach Anspruch 19, ferner umfassend die
folgenden Schritte:
Freigeben von Adressen auf Speicherpositionen durch
Kopieren der Inhalte einer Speicherposition, die
getestet werden soll, an eine freie und fehlerfreie
Speicherposition,
Umleiten der Adressenberechnung für eine Verwendung von
der neuen Speicherposition, und
Zurückgeben der getesteten Speicherposition an eine
Systemverwendung nur dann, wenn sie den Test aushält.
22. Verfahren nach Anspruch 19, ferner umfassend die
folgenden Schritte:
erneutes Testen von Speicherpositionen, die einen Test
nicht ausgehalten haben, bei Gelegenheiten, wenn der
gesamte Speicherblock, der die in Frage stehende
Speicherposition enthält, in dem System von einer
Verwendung freigegeben wird.
23. Verfahren nach Anspruch 19,
ferner gekennzeichnet durch
die folgenden Schritte:
a) Ausführen eines Tests einer bestimmten
Speicherposition durch Testen von sämtlichen
Adressen in einem off-line Test gesteuert von der
Testlogik in einem ersten Betriebsmodus,
Zählen der Anzahl von Speicherpositionen mit
korrigierbaren Fehler während des Tests, und
Anzeigen von nicht korrigierbaren Fehlern,
b) Überprüfen nur von Daten zu der Speicherposition,
die gerade getestet wird, in einem zweiten Modus
on-line, und
Erzwingen, dass andere Speicherpositionen mit Daten
während eines normalen Betriebs als Adresse
gesteuert durch das System arbeiten.
24. Verfahren nach einem der Ansprüche 19-23, ferner
umfassend ein Puffern von Daten in einer
Paketvermittlungsstelle mit einem gemeinsamen
Pufferspeicher für einen oder mehrere Ausgangsports von
der Vermittlungsstelle, Verwenden einer Anzahl von
Zeigern, die Speicherpositionen in dem Pufferspeicher
identifizieren, und bei dem die Zeiger zwischen
verschiedenen logischen Listen bewegt werden, um den
Betrieb anzuzeigen, der mit den Daten in der
Pufferposition, auf die verwiesen wird, ausgeführt
werden sollten,
wobei das Verfahren ferner die Zeiger verwaltet, indem
kontinuierlich sichergestellt wird, dass das System
einen und nur einen Zeiger auf jede gültige
Paketposition in dem Pufferspeicher umfasst.
25. Verfahren nach einem der Ansprüche 19-23, ferner
umfassend ein Puffern von Daten in einer
Paketvermittlungsstelle mit einem gemeinsamen
Pufferspeicher für einen oder mehrere Ausgangsports von
der Vermittlungsstelle, Verwenden einer Anzahl von
Zeigern, die Speicherpositionen in dem Pufferspeicher
identifizieren, und bei dem die Zeiger zwischen
verschiedenen logischen Listen bewegt werden, um den
Betrieb anzuzeigen, der mit den Daten in der
Pufferposition, auf die verwiesen wird, ausgeführt
werden soll,
wobei das Verfahren ferner die Zeiger verwaltet beim
Behandeln von Kopien des gleichen Zeigers in einer
gesteuerten Weise durch Aufzeichnen der Anzahl von
Kopien, die in dem System von jeweiligen Zeigern
enthalten sind, in einer Mehrfach-Zeigerliste (56), und
Überprüfen (52), dass die Anzahl von Kopien eines
Zeigers mit dem Wert übereinstimmt, der in der Mehrfach-
Zeigerliste für den jeweiligen Zeiger aufgezeichnet ist.
26. Verfahren nach Anspruch 25, ferner umfassend die
folgenden Schritte:
Verwenden außer der Mehrfach-Zeigerliste (56) der
folgenden logischen Listen für die jeweiligen
Zeigerkategorien: eine Unbelegtliste (38) für freie
Zeiger, Ausgangswarteschlangenlisten (44-) für
eingereihte Zeiger in einer Warteschlange zu
Ausgangsports, und eine Abblockungsliste (62) für
abgeblockte Zeiger.
27. Verfahren nach Anspruch 26, ferner umfassend:
a) Ausführen einer Initiierungsprozedur für sämtliche
Zeiger, indem jeder Zeiger außer Betrieb genommen
wird, indem er aus dem Fluss von Zeigern
herausgenommen (78) wird, die von den
Ausgangswarteschlangenlisten (44) an die
Unbelegtliste (38) zurückgegeben werden, bis das
Warteschlangensystem von jeder Kopie des in Frage
stehenden Zeigers entleert worden ist, und
Vergleichen (80) der Anzahl von zurückgegebenen
Kopien des in Frage stehenden Zeigers mit dem Wert
der Mehrfach-Zeigerliste, und nach der
Initiierungsprozedur,
b) zyklisches Überprüfen von sämtlichen Zeigern und
enthaltenen Pufferpositionen, jeweils einzeln.
28. Verfahren nach Anspruch 27, ferner umfassend:
nach der Initiierungsprozedur, Ausführen eines ersten
Betriebsmodus (70), der
aktiviert wird entweder
durch die Tatsache, dass mehr als eine bestimmte
Grenzanzahl von Zeigern als Ergebnis der
Initiierungsprozedur festgestellt worden sind, wobei die
jeweilige Anzahl mit dem Wert in der Mehrfach-
Zeigerliste für den fraglichen Zeiger übereinstimmt,
oder
durch ein externes Signal,
umfassend die Schritte zum Zurückgeben der Zeiger an die
Unbelegtliste, zum Zurücksetzen des Werts in der
Mehrfach-Zeigerliste auf keine mehrfachen Kopien, und in
der Abblockungsliste, die keine Abblockung von Zeigern
anzeigt.
29. Verfahren nach Anspruch 24 oder 27, ferner umfassend die
folgenden Schritte:
nach der Initiierungsprozedur, Ausführen eines ersten
Betriebsmodus (70), der
aktiviert wird durch entweder
die Tatsache, dass mehr als eine bestimmte Grenzanzahl
von verlorenen oder Mehrfach-Zeigern als Ergebnis der
Initiierungsprozedur festgestellt worden sind, oder
durch ein externes Signal,
ferner umfassend die Schritte zum Zurückgeben einer
Kopie jedes Zeigers an die Unbelegtliste (38) und ein
Anzeigen keiner Abblockung von Zeigern in der
Abblockungsliste (62).
30. Verfahren nach Anspruch 28 oder 29, ferner umfassend die
folgenden Schritte:
Ausführen eines zweiten Betriebsmodus, der dadurch
aktiviert wird, dass der erste Wartungsmodus (52) für
sämtliche Zeiger durchlaufen worden ist und umfassend
die folgenden Schritte:
Ausführen der Initiierungsprozedur wieder für jeden
Zeiger, jeweils einzeln,
Einreihen eines Pufferspeichertests mit einer niedrigen
Priorität auf nicht-abgeblockte Speicherpositionen, die
von dem in Frage stehenden Zeiger identifiziert werden,
Trainieren von sämtlichen nicht-abgeblockten
Speicherpositionen mit Systemdaten während des Tests,
und
Verwenden des Ergebnisses des Speichertests zum
Zurückgeben des Zeigers an die Unbelegtliste, wenn der
Pufferspeichertest ein richtiges Ergebnis ergeben hat,
aber um ihn von einer Verwendung in dem System
abzublocken, wenn der Pufferspeichertest eine
Fehlfunktion des Bereichs anzeigt, der von dem Zeiger
definiert wird,
Ausführen eines zweiten Pufferspeichertests der gleichen
Art wie der erste für die abgeblockten Zeiger,
konditioniert durch Aufrechterhalten jedes
Testdatenbetriebs in der Warteschlange solange, wie
Systemdaten irgendwo in dem Pufferspeichersegment
einschließlich der Positionen, die von abgeblockten
Zeigern identifiziert worden sind, gespeichert werden.
Verwenden des Ergebnisses des zweiten Tests für ein
Zurückgeben (88) des Zeigers an die Unbelegtliste (38),
wenn der Test ein richtiges Ergebnis ergeben hat, und
Zurückgeben von abgeblockten Zeigern an die
Unbelegtliste zuerst, nachdem sie in einer Anzahl von
aufeinanderfolgenden Tests, die eine zweite Grenzanzahl
übersteigt, akzeptiert worden sind.
31. Verfahren nach Anspruch 29, ferner umfassend die
folgenden Schritte:
Ausführen eines zweiten Betriebsmodus (72), der dadurch
aktiviert wird, dass der erste Modus für sämtliche
Zeiger durchlaufen worden ist, und enthaltend die
folgenden Schritte;
Ausführen der Initiierungsprozedur wieder für die
Zeiger,
Einreihen eines einfachen Schreib- und Lesetests (96)
für eine Ausführung auf Pufferspeicherpositionen, die
von Zeigern identifiziert werden, deren Anzahl von
Kopien nicht mit dem Wert in der Mehrfach-Zeigerliste
übereinstimmt,
Verwenden des Ergebnisses des Schreib- und Lesetests zum
Zurückgeben des in Frage stehenden Zeigers an die
Unbelegtliste, wenn der Test ein richtiges Ergebnis
ergeben hat, aber Abblocken von diesem von einer
Verwendung in dem System, wenn der Test eine
Fehlfunktion innerhalb des Gebiets anzeigt, das von dem
in Frage stehenden Zeiger identifiziert wird.
32. Verfahren nach Anspruch 31, ferner umfassend die
folgenden Schritte:
Ausführen eines dritten Betriebsmodus (74), der dadurch
aktiviert wird, dass der zweite Modus (72) für sämtliche
Zeiger durchlaufen worden ist,
Ausführen der Initiierungsprozedur noch einmal für die
nicht-abgeblockten Zeiger,
Einreihen eines Pufferspeichertests zum Erfassen von
Typen von Fehlfunktionen, die von dem einfachen Schreib-
und Lesetest in dem zweiten Betriebsmodus nicht erfasst
worden sind, für eine Ausführung auf den
Pufferspeicherpositionen, die von dem initiierten Zeiger
identifiziert worden sind, wobei der Pufferspeichertest
die Schritte zum Trainieren dieser Speicherpositionen
mit Testdaten, und ein Trainieren von sämtlichen anderen
nicht-abgeblockten Pufferspeicherpositionen mit
Systemdaten während des Tests für jeden abgeblockten
Zeiger umfasst,
Verwenden des Ergebnisses des Tests zum Zurückgeben des
Zeigers an die Unbelegtliste (38), wenn der
Pufferspeichertest ein richtiges Ergebnis ergeben hat,
aber Abblocken von diesem von einer Verwendung in dem
System, wenn der Pufferspeichertest eine Fehlfunktion in
dem Bereich anzeigt, der von dem Zeiger identifiziert
wird.
33. Verfahren nach Anspruch 32, ferner umfassend die
folgenden Schritte:
Ausführen eines vierten Betriebsmodus (76, 106, 108),
der dadurch aktiviert wird, dass der dritte Modus
sämtliche Zeiger durchlaufen worden ist und umfassend
die folgenden Schritte:
Annehmen auch der vorher abgeblockten Zeiger für ein
Testen durch Ausführen der Initiierungsprozedur zyklisch
für sämtliche Zeiger, jeweils einzelnen,
Anwenden (110, 112) eines Pufferspeichertests der
gleichen Art wie in dem dritten Modus für nicht-
abgeblockte Zeiger, und Aussetzen von vorher
abgeblockten Zeigern dem gleichen Typ von
Pufferspeichertest konditioniert dadurch, dass jeder
Testdatenbetrieb solange in einer Warteschlange gehalten
wird, wie Systemdaten irgendwo in dem
Pufferspeichersegment gespeichert sind, welches die
Positionen enthält, die von dem früher abgeblockten in
Frage stehenden Zeiger identifiziert worden sind,
Verwenden des Ergebnisses des Tests in der gleichen
Weise wie in dem dritten Modus für nicht-abgeblockte
Zeiger und nicht akzeptierte Tests von früher
abgeblockten Zeigern, und Zurückgeben von früher
abgeblockten Zeigern an die Unbelegtliste, nachdem sie
in eine Anzahl von aufeinanderfolgenden Tests, definiert
durch eine Grenzanzahl, akzeptiert worden sind.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9303932A SE502576C2 (sv) | 1993-11-26 | 1993-11-26 | Feltolerant kösystem |
PCT/SE1994/001119 WO1995014970A2 (en) | 1993-11-26 | 1994-11-23 | A fault tolerant queue system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69427129D1 DE69427129D1 (de) | 2001-05-23 |
DE69427129T2 true DE69427129T2 (de) | 2001-08-02 |
Family
ID=20391901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69427129T Expired - Lifetime DE69427129T2 (de) | 1993-11-26 | 1994-11-23 | Fehlertolerantes warteschlangenvorrichtung und verfahren dafür |
Country Status (17)
Country | Link |
---|---|
US (2) | US5602988A (de) |
EP (1) | EP0730764B1 (de) |
JP (1) | JPH09506452A (de) |
KR (1) | KR100301719B1 (de) |
CN (1) | CN1045675C (de) |
AU (2) | AU681220B2 (de) |
BR (1) | BR9408131A (de) |
CA (1) | CA2176471A1 (de) |
DE (1) | DE69427129T2 (de) |
DK (1) | DK0730764T3 (de) |
ES (1) | ES2155882T3 (de) |
FI (1) | FI962202A (de) |
GR (1) | GR3035795T3 (de) |
NO (1) | NO962120L (de) |
SE (1) | SE502576C2 (de) |
TW (1) | TW278157B (de) |
WO (1) | WO1995014970A2 (de) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19742378A1 (de) * | 1997-09-25 | 1999-04-22 | Siemens Ag | Ringspeicher für eine TDMA-Datenübertragungsstation und entsprechende Datenübertragungsstation |
US6778490B1 (en) | 1998-05-20 | 2004-08-17 | Nortel Networks Limited | Method and apparatus for a fault tolerant router architecture |
US6256756B1 (en) * | 1998-12-04 | 2001-07-03 | Hewlett-Packard Company | Embedded memory bank system |
US6363506B1 (en) * | 1999-04-13 | 2002-03-26 | Agere Systems Guardian Corp. | Method for self-testing integrated circuits |
US6606326B1 (en) | 1999-07-02 | 2003-08-12 | International Business Machines Corporation | Packet switch employing dynamic transfer of data packet from central shared queue path to cross-point switching matrix path |
US6510531B1 (en) * | 1999-09-23 | 2003-01-21 | Lucent Technologies Inc. | Methods and systems for testing parallel queues |
US6985455B1 (en) * | 2000-03-03 | 2006-01-10 | Hughes Electronics Corporation | Method and system for providing satellite bandwidth on demand using multi-level queuing |
US6584584B1 (en) * | 2000-04-10 | 2003-06-24 | Opentv, Inc. | Method and apparatus for detecting errors in a First-In-First-Out buffer |
US20020110094A1 (en) * | 2001-02-13 | 2002-08-15 | Reddy Naveen S. | Spot beam hopping packet scheduler system |
US7480239B1 (en) | 2001-11-27 | 2009-01-20 | Cisco Technology, Inc. | Method and apparatus for true priority based connection establishment within a PNNI ATM network |
US7161950B2 (en) * | 2001-12-10 | 2007-01-09 | Intel Corporation | Systematic memory location selection in Ethernet switches |
DE10162046A1 (de) * | 2001-12-17 | 2003-06-26 | Thomson Brandt Gmbh | Wiedergabegerät mit einem Zwischenspeicher zum Verringern der mittleren Zugriffszeit auf einen Informationsträger |
US6781898B2 (en) * | 2002-10-30 | 2004-08-24 | Broadcom Corporation | Self-repairing built-in self test for linked list memories |
US20050071730A1 (en) * | 2003-09-30 | 2005-03-31 | Lattice Semiconductor Corporation | Continuous self-verify of configuration memory in programmable logic devices |
US7532574B1 (en) | 2003-10-02 | 2009-05-12 | Cisco Technology, Inc. | Method and apparatus for improved priority based connection establishment within a PNNI ATM network |
US7296129B2 (en) | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
CN101031971A (zh) * | 2004-08-02 | 2007-09-05 | 皇家飞利浦电子股份有限公司 | 数据存储和重放设备 |
US7305574B2 (en) * | 2004-10-29 | 2007-12-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
US7331010B2 (en) | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US7512762B2 (en) | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7257750B1 (en) | 2005-01-13 | 2007-08-14 | Lattice Semiconductor Corporation | Self-verification of configuration memory in programmable logic devices |
US7802148B2 (en) * | 2005-02-23 | 2010-09-21 | Broadcom Corporation | Self-correcting memory system |
US7478259B2 (en) | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7685392B2 (en) | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
CN101346692B (zh) * | 2005-12-29 | 2011-05-04 | 英特尔公司 | 多处理器系统中的高性能队列实现 |
US7596744B1 (en) | 2006-02-24 | 2009-09-29 | Lattice Semiconductor Corporation | Auto recovery from volatile soft error upsets (SEUs) |
US7562260B2 (en) * | 2006-04-04 | 2009-07-14 | International Business Machines Corporation | Method and system for performing recovery of a single-threaded queue |
US7640386B2 (en) | 2006-05-24 | 2009-12-29 | International Business Machines Corporation | Systems and methods for providing memory modules with multiple hub devices |
US7669086B2 (en) | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US7539842B2 (en) * | 2006-08-15 | 2009-05-26 | International Business Machines Corporation | Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables |
US7870459B2 (en) | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US7721140B2 (en) * | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US8065574B1 (en) * | 2007-06-08 | 2011-11-22 | Lattice Semiconductor Corporation | Soft error detection logic testing systems and methods |
CN101794242B (zh) * | 2010-01-29 | 2012-07-18 | 西安交通大学 | 服务于操作系统核心层的容错计算机系统数据比较方法 |
US10866837B2 (en) * | 2018-07-30 | 2020-12-15 | Lendingclub Corporation | Distributed job framework and task queue |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3681757A (en) * | 1970-06-10 | 1972-08-01 | Cogar Corp | System for utilizing data storage chips which contain operating and non-operating storage cells |
US3814922A (en) * | 1972-12-01 | 1974-06-04 | Honeywell Inf Systems | Availability and diagnostic apparatus for memory modules |
US3863227A (en) * | 1973-09-17 | 1975-01-28 | Gte Automatic Electric Lab Inc | Method and arrangement for testing a core memory |
US3982111A (en) * | 1975-08-04 | 1976-09-21 | Bell Telephone Laboratories, Incorporated | Memory diagnostic arrangement |
IT1047437B (it) * | 1975-10-08 | 1980-09-10 | Cselt Centro Studi Lab Telecom | Procedimento e dispositivo per il controllo in linea di memorie logiche sequenziali operanti a divisione di tempo |
US4575792A (en) * | 1982-03-31 | 1986-03-11 | Honeywell Information Systems Inc. | Shared interface apparatus for testing the memory sections of a cache unit |
US4479214A (en) * | 1982-06-16 | 1984-10-23 | International Business Machines Corporation | System for updating error map of fault tolerant memory |
US4535455A (en) * | 1983-03-11 | 1985-08-13 | At&T Bell Laboratories | Correction and monitoring of transient errors in a memory system |
US4672583A (en) * | 1983-06-15 | 1987-06-09 | Nec Corporation | Dynamic random access memory device provided with test circuit for internal refresh circuit |
US4841434A (en) * | 1984-05-11 | 1989-06-20 | Raytheon Company | Control sequencer with dual microprogram counters for microdiagnostics |
JPS62250593A (ja) * | 1986-04-23 | 1987-10-31 | Hitachi Ltd | ダイナミツク型ram |
US4809276A (en) * | 1987-02-27 | 1989-02-28 | Hutton/Prc Technology Partners 1 | Memory failure detection apparatus |
FR2625392B1 (fr) * | 1987-12-24 | 1993-11-26 | Quinquis Jean Paul | Circuit de gestion de pointeurs d'ecriture de files tampons notamment pour commutateur temporel de paquets auto-acheminables |
JPH02117243A (ja) * | 1988-10-27 | 1990-05-01 | Toshiba Corp | パケット通信装置 |
US5014266A (en) * | 1988-12-28 | 1991-05-07 | At&T Bell Laboratories | Circuit switching system for interconnecting logical links between packet switching networks |
US4953157A (en) * | 1989-04-19 | 1990-08-28 | American Telephone And Telegraph Company | Programmable data packet buffer prioritization arrangement |
JPH0387000A (ja) * | 1989-08-30 | 1991-04-11 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5200959A (en) * | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
US5357521A (en) * | 1990-02-14 | 1994-10-18 | International Business Machines Corporation | Address sensitive memory testing |
US5155844A (en) * | 1990-02-14 | 1992-10-13 | International Business Machines Corporation | Background memory test during system start up |
ATE133512T1 (de) * | 1990-05-31 | 1996-02-15 | Siemens Ag | Integrierter halbleiterspeicher |
US5276833A (en) * | 1990-07-02 | 1994-01-04 | Chips And Technologies, Inc. | Data cache management system with test mode using index registers and CAS disable and posted write disable |
EP0470030A3 (en) * | 1990-08-02 | 1993-04-21 | International Business Machines Corporation | Fast memory power-on diagnostics using direct memory addressing |
US5177745A (en) * | 1990-09-26 | 1993-01-05 | Intel Corporation | Memory device with a test mode |
JPH04178580A (ja) * | 1990-11-14 | 1992-06-25 | Ando Electric Co Ltd | 半導体メモリの故障自己診断装置 |
US5299202A (en) * | 1990-12-07 | 1994-03-29 | Trw Inc. | Method and apparatus for configuration and testing of large fault-tolerant memories |
DE69130392T2 (de) * | 1991-07-10 | 1999-06-02 | International Business Machines Corp., Armonk, N.Y. | Hochgeschwindigkeitspufferverwaltung |
US5311520A (en) * | 1991-08-29 | 1994-05-10 | At&T Bell Laboratories | Method and apparatus for programmable memory control with error regulation and test functions |
KR950000305Y1 (ko) * | 1991-12-23 | 1995-01-16 | 금성일렉트론 주식회사 | 메모리 장치의 테스트 모드회로 |
US5452418A (en) * | 1992-04-24 | 1995-09-19 | Digital Equipment Corporation | Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation |
US5291482A (en) * | 1992-07-24 | 1994-03-01 | At&T Bell Laboratories | High bandwidth packet switch |
US5388238A (en) * | 1992-07-24 | 1995-02-07 | At&T Corp. | System and method for monitoring the validity of circulating pointers in a FIFO memory |
SE516073C2 (sv) * | 1993-02-15 | 2001-11-12 | Ericsson Telefon Ab L M | Sätt för hantering av redundanta väljarplan i paketväljare och paketväljare för utförande av sättet |
US5396619A (en) * | 1993-07-26 | 1995-03-07 | International Business Machines Corporation | System and method for testing and remapping base memory for memory diagnostics |
US5461588A (en) * | 1994-11-15 | 1995-10-24 | Digital Equipment Corporation | Memory testing with preservation of in-use data |
-
1993
- 1993-11-26 SE SE9303932A patent/SE502576C2/sv not_active IP Right Cessation
-
1994
- 1994-11-07 TW TW083110275A patent/TW278157B/zh active
- 1994-11-14 US US08/339,672 patent/US5602988A/en not_active Expired - Lifetime
- 1994-11-23 KR KR1019960702770A patent/KR100301719B1/ko not_active IP Right Cessation
- 1994-11-23 BR BR9408131A patent/BR9408131A/pt not_active IP Right Cessation
- 1994-11-23 EP EP95903068A patent/EP0730764B1/de not_active Expired - Lifetime
- 1994-11-23 WO PCT/SE1994/001119 patent/WO1995014970A2/en active IP Right Grant
- 1994-11-23 CN CN94194287A patent/CN1045675C/zh not_active Expired - Fee Related
- 1994-11-23 JP JP7515003A patent/JPH09506452A/ja active Pending
- 1994-11-23 AU AU12067/95A patent/AU681220B2/en not_active Ceased
- 1994-11-23 DE DE69427129T patent/DE69427129T2/de not_active Expired - Lifetime
- 1994-11-23 DK DK95903068T patent/DK0730764T3/da active
- 1994-11-23 CA CA002176471A patent/CA2176471A1/en not_active Abandoned
- 1994-11-23 ES ES95903068T patent/ES2155882T3/es not_active Expired - Lifetime
-
1996
- 1996-05-24 FI FI962202A patent/FI962202A/fi unknown
- 1996-05-24 NO NO962120A patent/NO962120L/no not_active Application Discontinuation
-
1997
- 1997-06-20 AU AU26188/97A patent/AU693056B2/en not_active Ceased
- 1997-11-04 US US08/964,094 patent/US6088817A/en not_active Expired - Lifetime
-
2001
- 2001-04-27 GR GR20010400643T patent/GR3035795T3/el unknown
Also Published As
Publication number | Publication date |
---|---|
NO962120D0 (no) | 1996-05-24 |
SE9303932L (sv) | 1995-05-27 |
FI962202A0 (fi) | 1996-05-24 |
DK0730764T3 (da) | 2001-07-09 |
US6088817A (en) | 2000-07-11 |
NO962120L (no) | 1996-05-24 |
TW278157B (de) | 1996-06-11 |
AU693056B2 (en) | 1998-06-18 |
AU681220B2 (en) | 1997-08-21 |
AU2618897A (en) | 1997-09-04 |
EP0730764A1 (de) | 1996-09-11 |
SE502576C2 (sv) | 1995-11-13 |
CN1045675C (zh) | 1999-10-13 |
JPH09506452A (ja) | 1997-06-24 |
US5602988A (en) | 1997-02-11 |
BR9408131A (pt) | 1997-08-05 |
CA2176471A1 (en) | 1995-06-01 |
WO1995014970A2 (en) | 1995-06-01 |
CN1136354A (zh) | 1996-11-20 |
FI962202A (fi) | 1996-05-24 |
WO1995014970A3 (en) | 1995-07-27 |
DE69427129D1 (de) | 2001-05-23 |
ES2155882T3 (es) | 2001-06-01 |
GR3035795T3 (en) | 2001-07-31 |
SE9303932D0 (sv) | 1993-11-26 |
EP0730764B1 (de) | 2001-04-18 |
KR100301719B1 (ko) | 2001-10-22 |
KR960706126A (ko) | 1996-11-08 |
AU1206795A (en) | 1995-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69427129T2 (de) | Fehlertolerantes warteschlangenvorrichtung und verfahren dafür | |
DE2619159C2 (de) | Fehlererkennungs- und Korrektureinrichtung | |
DE2614000C2 (de) | Diagnoseeinrichtung zur Prüfung von Funktionseinheiten | |
DE69702858T2 (de) | Halbleiterspeicherprüfgerät mit redundanzanalyse | |
DE3786862T2 (de) | Fehlertolerante Rechnerarchitektur. | |
DE2030760A1 (de) | Speicherschaltung | |
DE69126057T2 (de) | Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung | |
EP0238841A1 (de) | Fehlergesicherte, hochverfügbare Multiprozessor-Zentralsteuereinheit eines Vermittlungssystemes und Verfahren zum Speicherkonfigurationsbetrieb dieser Zentralsteuereinheit | |
DE2210325A1 (de) | Datenverarbeitungssystem | |
DE2225841C3 (de) | Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers | |
EP1008993B1 (de) | Schreib/Lesespeicher mit Selbsttestvorrichtung und zugehöriges Testverfahren | |
DE1900042A1 (de) | Verfahren und Anordnung zur Ortung von Fehlern in einer Datenverarbeitungsanlage | |
DE1249926B (de) | Einrichtung zum Umadressieren fehlerhafter Speicherstellen eines beliebig zuganglichen Hauptspeichers in einer Datenverarbeitungsanlage | |
EP1113362B1 (de) | Integrierter Halbleiterspeicher mit einer Speichereinheit zum Speichern von Adressen fehlerhafter Speicherzellen | |
DE2317576A1 (de) | Einrichtung zur ausfallbedingten umordnung von speichermoduln in einer datenverarbeitungsanlage | |
DE19829234A1 (de) | Prüfverfahren für einen Halbleiter-Datenspeicher und Halbleiter-Datenspeicher | |
DE3045609A1 (de) | Verfahren und schaltungsanordnung zur abgabe einer korrigierten datengruppe an eine bestimmungsschaltung | |
EP1105802A1 (de) | Verfahren zur reparatur von defekten speicherzellen eines integrierten speichers | |
CH658137A5 (de) | Steuereinrichtung mit einem speicher und einer schnittstelle, insbesondere fuer werkzeugmaschinen. | |
DE69029164T2 (de) | Vorrichtung und Verfahren zum Ersetzen der Parität | |
DE4335061A1 (de) | Mehrspeichervorrichtung | |
DE3814875A1 (de) | Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren | |
EP0615211A1 (de) | Verfahren zum Speichern sicherheitsrelevanter Daten | |
DE69323076T2 (de) | Verfahren zur Erkennung fehlerhafter Elemente eines redundanten Halbleiterspeichers | |
EP1254461B1 (de) | Testbarer festwertspeicher für datenspeicher-redundanzlogik |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |