DE69230129T2 - Schreibüberlappung mit Verhinderung des Überschreibens - Google Patents
Schreibüberlappung mit Verhinderung des ÜberschreibensInfo
- Publication number
- DE69230129T2 DE69230129T2 DE69230129T DE69230129T DE69230129T2 DE 69230129 T2 DE69230129 T2 DE 69230129T2 DE 69230129 T DE69230129 T DE 69230129T DE 69230129 T DE69230129 T DE 69230129T DE 69230129 T2 DE69230129 T2 DE 69230129T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- write
- data
- processing system
- data processing
- 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
- 230000002265 prevention Effects 0.000 title 1
- 230000015654 memory Effects 0.000 claims description 188
- 238000012545 processing Methods 0.000 claims description 23
- 230000000977 initiatory effect Effects 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 11
- 230000001934 delay Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 240000007320 Pinus strobus Species 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 150000001768 cations Chemical class 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Memory System (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf das Gebiet der Computerspeicher und insbesondere auf eine Einrichtung und ein Verfahren zum vorteilhaften Bereitstellen einer Speicheroperationsüberlappung unter Vermeidung des Problems des Überschreibens.
- Üblicherweise speichern und lesen Datenverarbeitungssysteme im Speicher vorhandene Daten. Das Speichern von Daten wird im allgemeinen durch die Verwendung einer Schreiboperation ausgeführt, die auf eine bestimmte Adresse im Speicher gerichtet ist, und umfaßt das Weiterleiten von Daten aus einem Prozessor zum Speicher. Das Wiedergewinnen von Daten wird üblicherweise durch die Verwendung einer Leseoperation, die auf eine bestimmte Adresse im Speicher gerichtet ist, ausgeführt und umfaßt das Weiterleiten von Daten aus dem Speicher zu einem Prozessor.
- Lese- und Schreiboperationen können vorteilhafterweise durch eine Speichersteuereinheit verwaltet werden, die zwischen dem Prozessor und dem Speicher angeordnet ist. Eine derartige Speichersteuereinheit kann darüber hinaus etwas bereitstellen, was als Daten-"Pipelines" bezeichnet wird. Insbesondere können separate Lese- und Schreib-Pipelines bereitgestellt werden, so daß eine Lese-Pipeline, durch welche gelesene Daten aus dem Speicher zu dem Prozessor weitergeleitet werden, von einer Schreib-Pipeline, durch welche zu schreibende Daten von dem Prozessor zu dem Speicher weitergeleitet werden, getrennt ist. Eine Speichersteuereinheit mit separaten Lese- und Schreib-Pipelines ermöglicht ein "Schreib-Überlappen", bei dem eine Schreiboperation vor dem Abschluß einer vorhergehenden Leseoperation gestartet wird.
- Beim Schreib-Überlappen wird eine Schreiboperation von der Speichersteuereinheit in den letzten Stufen einer vorhergehenden Leseoperation zu einem Zeitpunkt initiiert, zu dem die gelesenen Daten noch durch die getrennte Lese-Pipeline voranschreiten. Die Verwendung des Schreib-Überlappens ist allgemein erwünscht, weil sie die Gesamtgeschwindigkeit des Datenverarbeitungssystems erhöht.
- Die uneingeschränkte Verwendung des Schreib-Überlappens jedoch schafft ein Problem, wenn eine überlappende Schreiboperation an die gleiche Speicheradresse gerichtet wird, wie die vorhergehende Leseoperation und ein korrigierbarer Bit- Fehler bei der vorhergehenden Leseoperation eine Rückschreiboperation zu dieser Speicheradresse erfordert. Unter diesen Umständen tritt die Rückschreiboperation in fehlerhafter Weise auf, nachdem die überlappende Schreiboperation die Daten an die Speicheradresse schreibt. Die Rückschreiboperation überschreibt folglich fehlerhaft die neu geschriebenen Daten. Wie beschrieben werden wird, ermöglicht die vorliegende Erfindung vorteilhafterweise ein Schreib-Überlappen, während sie das Problem des Überschreibens vermeidet.
- Beispiele bekannter Anordnungen sind in EP-A-0 141 743 (DEC) und EP-A-0 380 846 (DEC) offenbart, welche sich bei Verwendung anderer Techniken Problemen zuwenden, die denen der vorliegenden Erfindung ähnlich sind.
- Die vorliegende Erfindung, wie sie in den unabhängigen Ansprüchen 1 und 11 definiert ist, arbeitet innerhalb eines Datenverarbeitungssystems, das einen Prozessor, Speicher und eine Speichersteuereinrichtung (Speicher-Controller) aufweist. Die Speichersteuereinrichtung, die zwischen dem Prozessor und dem Speicher eingekoppelt ist, stellt separate Daten-Pipelines für aus dem Speicher gelesene Daten und in den Speicher zu schreibende Daten bereit. Grundsätzlich ermöglicht dadurch die Speichersteuereinrichtung, daß Schreiboperationen Leseoperationen überlappen. Die Speichersteuereinrichtung ermöglicht darüber hinaus Rückschreiboperationen in dem Fall, daß ein korrigierbarer Fehler in den Daten, welche aus dem Speicher gelesen wurden, erfaßt wird.
- Das gegenwärtig bevorzugte Ausführungsbeispiel der Erfindung vermeidet das Problem des "Überschreibens", indem es bestimmte Schreiboperationen verzögert. Die Speicheradresse, zu welcher eine Leseoperation gerichtet wird, wird zunächst zu Vergleichszwecken gespeichert. Diese Speicheradresse wird dann mit derjenigen Speicheradresse verglichen, zu welcher eine nachfolgende Schreiboperation gerichtet ist. Wenn die beiden Adressen äquivalent sind, wird ein Schreib- Wartezähler mit einem vorgegebenen ersten Wert geladen und mit jedem Taktzyklus dekrementiert. Die nachfolgende Schreiboperation wird solange nicht initiiert, bis der Schreib-Wartezähler einen vorgegebenen zweiten Wert erreicht. Die nachfolgende Schreiboperation wird dadurch um eine vorgegebene Zeitdauer verzögert, statt sie zu überlappen, um die Möglichkeit eines fehlerhaften "Überschreibens" zu vermeiden. Ein alternatives Ausführungsbeispiel der vorliegenden Erfindung löst das Problem des "Überschreibens", indem Rückschreiboperationen für Leseoperationen unterdrückt werden, die von Schreiboperationen zur gleichen Adresse gefolgt werden, statt diese Schreiboperationen zu verzögern. Somit ermöglicht die vorliegende Erfindung ein Schreib-Überlappen und Rückschreiben, während sie das Problem des "Überschreibens" vermeidet.
- Weitere Details werden unten unter Zuhilfenahme der in den beigefügten Zeichnungen veranschaulichten Beispiele erläutert, wobei in den Zeichnungen:
- Fig. 1 eine Funktionsblockdarstellung eines möglichen Datenverarbeitungssystems ist, das die Lehren der vorliegenden Erfindung benutzt.
- Fig. 2 ist ein Funktionsblockschaltbild der Module und Warteschlangen innerhalb der Speichersteuereinrichtung, die für die vorliegende Erfindung relevant sind.
- Fig. 3 ist ein Ablaufdiagramm, das das Verfahren des gegenwärtig bevorzugten Ausführungsbeispiels veranschaulicht.
- Fig. 4 ist ein Ablaufdiagramm, das das Verfahren des alternativen Ausführungsbeispiels veranschaulicht.
- Es werden eine Speichersteuereinrichtung und ein Verfahren offenbart, die in einem Datenverarbeitungssystem Anwendung finden. Insbesondere ist die vorliegende Erfindung auf das in der Veröffentlichung GB-A-2246219, die am 22.01.1992 veröffentlicht wurde, beschriebene Datenverarbeitungssystem anwendbar. Diese Anmeldung offenbart ein verbessertes Single-in-line-Speichermodul (SIMM), das dynamische Speicher mit wahlfreiem Zugriff (DRAMs) benutzt, die insbesondere bei einem Digitalcomputer zum Speichern und Lesen von Daten und Programmen Anwendung finden. Während die vorliegende Erfindung zumindest teilweise innerhalb des Kontext dieses speziellen Datenverarbeitungssystems beschrieben wird, ist es für einen Fachmann klar, daß die vorliegende Erfindung bei einer Vielzahl von Datenverarbeitungssystemen verwendet werden kann.
- In der folgenden Beschreibung werden aus Gründen der Erläuterung zahlreiche Details angegeben, wie beispielsweise spezielle Speichergrößen, Datenpfade, etc., um ein sorgfältigeres Verständnis der vorliegenden Erfindung zu erreichen. Für einen Fachmann ist es jedoch klar, daß diese speziellen Details nicht erforderlich sind, um die vorliegende Erfindung auszuführen. An anderen Stellen werden gut bekannte elektrische Strukturen und Schaltungen in Blockschaltbildform gezeigt, um die vorliegende Erfindung nicht unnötigerweise zu verdunkeln.
- Fig. 1 veranschaulicht ein mögliches Datenverarbeitungssystem, in welchem die Lehren der vorliegenden Erfindung benutzt werden können. Ein Prozessor 10 ist mit einem Systembus 12 zur Kommunikation mit verschiedenen Systemkomponenten gekoppelt, die Eingabe/Ausgabe-Einrichtungen 14 und eine Speichersteuereinrichtung 16 umfassen. Der Prozessor 10 speichert und liest Daten, welche Programme und/oder alphanumerische oder andere Daten umfassen können und sich in Single-in-line-Speichermodulen (SIMMs 20, 21, 22 und 23) befinden. Jedes dieser SIMMs 20-23 enthält sechzehn dynamische Speicherbauelemente mit wahlfreiem Zugriff (DRAMs). Wie veranschaulicht, kommunizieren die SIMMs 20-23 mit der Speichersteuereinrichtung 16 über einen Speicherbus 24. Zusätzlich stellt ein Taktgeber 26 zeitlich abgeglichene digitale Taktsignale über den Speicherbus 24 an die SIMMs 20-23 zur Verfügung. Obwohl Fig. 1 vier Single-in-line-Speichermodule veranschaulicht, die mit dem Speicherbus 24 gekoppelt ist, ist es für einen Fachmann auf diesem Gebiet klar, daß die vorliegende Erfindung in einem Datenverarbeitungssystem mit einer beliebigen Anzahl von SIMMs verwendet werden kann.
- Im Betrieb gibt der Prozessor 10 Lese- und Schreibkommandos über den Systembus 12 aus, welcher wiederum die Kommandos mit der Speichersteuereinrichtung 16 koppelt. Bei einer Leseoperation werden Daten aus den SIMMs an die Speichersteuereinrichtung 16 über den Speicherbus 24 gekoppelt, und die Speichersteuereinrichtung 16 koppelt dann die Daten an den Systembus, damit sie gelesen werden. Bei einer Schreiboperation werden die Daten an die Speichersteuereinrichtung 16 über den Systembus 12 angekoppelt, und die Speichersteuereinrichtung 16 koppelt dann die Daten an die SIMMs über den Speicherbus 24. Es werden verschiedene Steuersignale von der Speichersteuereinrichtung 16 bereitge stellt, um die Speicherung von Daten, das Wiedergewinnen (Lesen) von Daten und die Auffrischung der DRAMs innerhalb der SIMMs auszuführen. Insbesondere stellt die Speichersteuereinrichtung 16 Zeilenadreß-Strobe-Signale (RAS), Spaltenadreß-Strobe-Signale (CAS) und Ladeimpulse (LDL) für die in den SIMMs angeordneten DRAMs neben andere Zeitgabesignalen, die der Speicherung und dem Lesen von Daten in den SIMMs zugeordnet sind, zur Verfügung.
- Im folgenden wird das Schreib-Überlappen mit dem Überschreiben-Vermeidungssystem gemäß der vorliegenden Erfindung beschrieben. Fig. 2 veranschaulicht ein Funktionsblockschaltbild der Module und Warteschlangen in der Speichersteuereinrichtung 16, die für die vorliegende Erfindung relevant sind. Im allgemeinen ist der Systembus 12 mit der Speichersteuereinrichtung 16 über die Systembussteuerlogik 30 gekoppelt. Insbesondere werden Speicheroperationskommandos, welche mit dem Systembus 12 gekoppelt worden sind, mit der Speichersteuereinrichtung 16 über die Systembussteuerlogik 30 gekoppelt. Die Systembussteuerlogik 30 koppelt die Speicheroperationskommandos mit einer Speicheroperationskommandowarteschlange (CMDQUE) 32. Daten, welche, beispielsweise bei einer Schreiboperation, mit dem Systembus gekoppelt worden sind, werden in ähnlicher Weise über die Systembussteuerlogik 30 mit einer Daten-hinein-Warteschlange (DIQUE) 50 gekoppelt. Speicheradressen, welche mit dem Systembus 12 gekoppelt worden sind, werden über die Systembussteuerlogik 30 mit einer Adreß-Warteschlange (ADRQUE) 60 gekoppelt. Daten, welche beispielsweise bei einer Leseoperation auf den Speicherbus 24 gekoppelt worden sind, werden mit einer Daten-hinaus-Warteschlange (DOQUE) 50 gekoppelt, welche wiederum die Daten über die Systembussteuerlogik 30 mit dem Systembus 12 koppelt.
- Die Speichersteuereinrichtung 16 enthält ferner ein Speicher-Master-Modul 34, ein Speicher-Slave-Modul 38 und ein Speichersteuermodul 36. Das Speicher-Master-Modul 34 verkörpert eine Zustandsmaschine und ist die Master-Steuereinrichtung zum Ausführen von Speicheroperationen (Leseoperationen werden, wie beschrieben werden wird, von dem Speicher-Slave-Modul 38 überwacht). Das Speicher-Master- Modul 34 ist mit der Speicheroperationskommandowarteschlange 32 gekoppelt, welche dem Speicher-Master-Modul 34 Speicheroperationskommandos zur Verfügung stellt. Das Speicher- Master-Modul 34 enthält einen Schreib-Wartezähler (WWC) 35. Wie beschrieben werden wird, veranlaßt der Schreib-Wartezähler 35 selektiv, daß bestimmte Schreiboperationen eine vorgegebene Zeitdauer warten, bevor sie fortgesetzt werden.
- Das Speicher-Slave-Modul 38 verkörpert eine Zustandsmaschine, die eine Logik zum Überwachen und Steuern von Leseoperationen enthält. Diese Logik ist von dem Speicher- Master-Modul 34 getrennt, um ein Überlappen zwischen einer Leseoperation und nachfolgenden Speicheroperationen zu ermöglichen. Das Speicher-Slave-Modul 38 steuert den Verlauf einer Leseoperation, indem es Steuersignale an die Datenhinaus-Warteschlange (DOQUE) 52 ausgibt. Eine weitere Hauptaufgabe des Speicher-Slave-Moduls 38 besteht darin, Speicherfehler, die von einem Fehlererfassungs- und Steuermodul 70 erfaßt wurden, zu behandeln. Das Fehlererfassungs- und -korrekturmodul 70 empfängt aus dem Speicher über den Speicherbus 24 gelesene Daten. Wie beschrieben werden wird, koppelt es dann, wenn das Fehlererfassungs- und Korrekturmodul 70 bestimmt, daß ein Fehler aufgetreten ist, ein Fehlersteuersignal an das Speicher-Slave-Modul 38.
- Sowohl das Speicher-Master-Modul 34 als auch das Speicher-Slave-Modul 38 sind mit einem Speichersteuermodul 36 gekoppelt. Das Speichersteuermodul 36 stellt die Zeitgabesignale, RAS, CAS und LD_L, über den Speicherbus 24 an die DRAMs in den SIMMs zur Verfügung (siehe Fig. 1). Darüber hinaus stellt das Speichersteuermodul 36 Zeitgabesignale an das Speicher-Master-Modul 34 und das Speicher-Slave-Modul 38 zur Verfügung, wodurch die Zeitgabe der Zustandsmaschinen dieser Module kontrolliert wird.
- Im folgenden wird die allgemeine Operation der vorliegenden Erfindung beschrieben. Im Falle einer Leseoperation wird ein Lesekommando aus dem Systembus 12 über die Systembussteuerlogik 30 an die Speicheroperationskommandowarteschlange (CMDQUE) 32 gekoppelt. Die spezielle zu lesende Speicheradresse wird aus dem Systembus 12 über die Systembussteuerlogik 30 an die Adreßwarteschlange (ADRQUE) 60 gekoppelt. Wie erläutert werden wird, wird bei Leseoperationen diese spezielle Speicheradresse in einem Frühere- Adresse-Register (PAR) 80 für einen Vergleich mit der Speicheradresse einer unmittelbar nachfolgenden Schreiboperation eingefangen. Die Speicheroperationskommandowarteschlange 32 koppelt das Lesekommando an das Speicher-Master-Modul 34, welches in Erwiderung ein Steuersignal an das Speichersteuermodul 36 koppelt, um die für diese Leseoperation erforderlichen Zeitgabesignale zu aktivieren. Die Adreßwarteschlange 60 stellt die Speicheradresse für die Leseoperationen an das Speichersteuermodul 36 bereit.
- Daten, welche aus dem Speicher gelesen werden sollen, werden dann auf dem Speicherbus 24 plaziert. Aus dem Speicherbus 24 werden die Daten zu dem Fehlererfassungs- und Steuermodul 70 gekoppelt, welches Einzel- und Doppelbitfehler erfaßt. Angenommen, daß kein Fehler erfaßt wird, so werden die Daten dann zu der Daten-hinaus-Warteschlange (DOQUE) 52 gekoppelt, welche wiederum die Daten an den Systembus 12 koppelt. Sofern entweder ein Einzel- oder ein Doppelbitfehler erfaßt wird, liefert das Fehlererfassungs- und Steuermodul 70 entweder ein SBE- oder DBE-Steuersignal an das Speicher-Slave-Modul 38. Sofern der Bitfehler korrigierbar ist, wie im Falle eines Einzelbitfehlers, werden die Daten korrigiert, und es wird eine Rückschreiboperation initiiert. Insbesondere stellt das Speicher-Slave-Modul 38 ein SBEWB-Steuersignal an das Speicher-Master-Modul 34 zur Ver fügung, das ein Rückschreiben anfordert. In Erwiderung stellt das Speicher-Master-Modul 34 ein Steuersignal an das Speichersteuermodul 36 zur Verfügung, um die für das Rückschreiben erforderlichen Zeitgabesignale zu aktivieren. Die rückzuschreibenden Daten werden dann aus der Daten-hinaus- Warteschlange 52 über einen Multiplexer 72 zu dem Speicherbus 24 unter der Steuerung des Speicher-Slave-Moduls 38 und der Zeitgabesignale aus dem Speichersteuermodul 36 gekoppelt.
- Im Falle einer Schreiboperation wird das Schreibkommando aus dem Systembus 12 über die Systembussteuerlogik 30 an die Speicheroperationswarteschlange (CMDQUE) 32 gekoppelt. Die bestimmte Speicheradresse, in die geschrieben werden soll, wird aus dem Systembus 12 über die Systembussteuerlogik an die Adreßwarteschlange (ADRQUE) 60 gekoppelt. Die Speicheroperationswarteschlange 32 koppelt das Schreibkommando an das Speicher-Master-Modul 34, welches in Erwiderung ein Steuersignal an das Speichersteuermodul 36 koppelt, um die für die Schreiboperation erforderlichen Zeitgabesignale zu aktivieren. Die Adreßwarteschlange 60 koppelt darüber hinaus die Speicheradresse, zu der geschrieben werden soll, an das Steuermodul 36. Die in den Speicher zu schreibenden Daten werden aus dem Systembus 12 in die Daten-hinein-Warteschlange (DIQUE) 50 gekoppelt. Die Daten werden dann über den Multiplexer 72 an den Speicherbus 24 gekoppelt.
- Aus der vorstehenden Beschreibung wird klar, daß Daten im wesentlichen durch zwei Pipelines in der Speichersteuereinrichtung 16 fließen. Daten, welche aus dem Speicher gelesen werden sollen, fließen von dem Speicherbus 24 durch das Fehlererfassungs- und Korrekturmodul 70, durch die Datenhinaus-Warteschlange 52 zu dem Systembus 12. Daten, welche in den Speicher geschrieben werden sollen, fließen von dem Systembus 12 zur der Daten-hinein-Warteschlange 50, durch den Multiplexer 72 zu dem Speicherbus 24. Indem zwei verschiedene Daten-Pipelines bereitgestellt werden, gestattet die Speichersteuereinrichtung 16 einen Grad der Überlappung bei Speicheroperationen. Insbesondere kann eine Schreiboperation über eine vorhergehende Leseoperation überlappt werden. Sobald beispielsweise das letzte Wort gelesener Daten den Speicherbus 24 geräumt hat und der Speichersteuereinrichtung 16 eingekoppelt worden ist, kann eine Schreiboperation vorteilhafterweise von dem Speicher-Master-Modul 34 initiiert werden und die Schreib-Pipeline benutzen. Auf diese Weise können dann, wenn eine Schreiboperation einer Leseoperation folgt, frühe Zyklen der Schreiboperation die späten Zyklen der Leseoperation überlappen. Dieses Schreib- Überlappen erhöht vorteilhafterweise die Gesamtgeschwindigkeit des Datenverarbeitungssystems.
- Wie jedoch oben beschrieben, präsentiert die uneingeschränkte Verwendung des Schreib-Überlappens dann ein Problem, wenn eine überlappende Schreiboperation an die gleiche Speicheradresse gerichtet wird wie die vorhergehende Leseoperation und ein korrigierbarer Bitfehler in der vorhergehenden Leseoperation eine Rückschreiboperation zu dieser speziellen Speicheradresse erfordert. Unter diesen Umständen tritt die Rückschreiboperation fehlerhafterweise auf, nachdem die überlappende Schreiboperation Daten zu der Speicheradresse schreibt, und im Ergebnis überschreibt die Rückschreiboperation fehlerhafterweise die neu eingeschriebenen Daten.
- Das gegenwärtig bevorzugte Ausführungsbeispiel der Erfindung überwindet dieses Überschreib-Problem, indem die Speicheradresse einer Leseoperation in dem Frühere-Adresse- Register (PAR) 80 eingefangen wird. Wenn eine Schreiboperation einer Leseoperation folgt, wird die Speicheradresse für die Schreiboperation mit der Speicheradresse für die vorhergehende Leseoperation, die in dem Frühere-Adresse-Register 80 gespeichert ist, verglichen. Dieser Vergleich wird mit einem Komparator, wie beispielsweise dem Komparator 82, ausgeführt. In dem Fall, daß die Speicheradressen äquivalent sind, koppelt der Komparator 82 ein ADR_EQ-Steuersignal an das Speicher-Master-Modul 34. In Erwiderung dessen verzögert das Speicher-Master-Modul 34 die Initiierung der Schreiboperation für eine Zeitdauer, die im allgemeinen der Zeitdauer entspricht, die zum Abschluß der vorhergehenden Leseoperation erforderlich ist.
- Insbesondere lädt in Erwiderung eines ADR_ EQ-Steuersignals das Speicher-Master-Modul 34 einen Schreib-Wartezähler 35 mit einem vorgegebenen ersten Wert. Der Schreib-Wartezähler 35 wird anschließend mit jedem Taktzyklus dekrementiert, bis ein vorgegebener zweiter Wert erreicht ist. Das Speicher-Master-Modul 34 initiiert keine nachfolgende Schreiboperation, bis der Schreib-Wartezähler 35 diesen vorgegebenen zweiten Wert erreicht. Der vorgegebene erste Wert wird grundsätzlich so ausgewählt, daß die Zeitdauer, die benötigt wird, um den Schreib-Wartezähler von diesem vorgegebenen ersten Wert zu dem vorgegebenen zweiten Wert zu dekrementieren, der zum Abschließen der Leseoperation erforderlichen Zeitdauer entspricht. Der Schreib-Wartezähler 35 verzögert somit die Initiierung der nachfolgenden Schreiboperation und schließt die Möglichkeit eines potentiellen falschen Überschreibens aus.
- Bei dem gegenwärtig bevorzugten Ausführungsbeispiel zählt der Schreib-Wartezähler 35 von einem vorgegebenen ersten Wert herunter zu einem vorgegebenen zweiten Wert von Null. Es ist jedoch klar, daß die vorliegende Erfindung in keiner Weise auf diesen speziellen vorgegebenen zweiten Wert eingeschränkt ist. Es ist darüber hinaus klar, daß eine beträchtliche Anzahl von Schreiboperationen, welche Leseoperationen folgen, nicht zu der gleichen Speicheradresse gerichtet sein wird. Folglich schafft die vorliegende Erfindung ein substantielles Schreib-Überlappen, während nur eine begrenzte Anzahl von Schreiboperationen verzögert wird.
- Ein alternatives Ausführungsbeispiel der vorliegenden Erfindung unterdrückt Fehlerrückschreiboperationen für Lese operationen, welche von Schreiboperationen zur gleichen Adresse gefolgt sind. Wie bei dem bevorzugten Ausführungsbeispiel wird dann, wenn eine Schreiboperation einer Leseoperation folgt, die Speicheradresse für die Schreiboperation mit der Speicheradresse für die vorhergehende Leseoperation, die in dem Frühere-Adresse-Register 80 gespeichert ist, verglichen. In dem Fall, daß die Speicheradressen äquivalent sind, koppelt der Komparator 82 ein ADR_ EQ-Steuersignal an das Speicher-Master-Modul 34. Bei diesem alternativen Ausführungsbeispiel jedoch enthält das Speicher- Master-Modul 34 eine Logik derart, daß es irgendwelche Fehlerrückschreiboperationen, die in Bezug auf vorhergehende Leseoperationen angefordert wurden, unterdrückt, statt die nachfolgende Schreiboperation für eine Zeitdauer unter Verwendung eines Schreib-Wartezählers zu verzögern. Wie zuvor erörtert, stellt dann, wenn ein korrigierbarer Fehler entdeckt wird, das Speicher-Slave-Modul 38 ein SBEWB-Steuersignal an das Speicher-Master-Modul 34 zur Verfügung, das ein Fehlerrückschreiben anfordert. Bei diesem alternativen Ausführungsbeispiel gewährt das Speicher-Master-Modul 34 in dem Falle einer Äquivalenz zwischen der Speicheradressen für eine Leseoperation und eine nachfolgende Schreiboperation diese Rückschreibanforderung einfach nicht, wodurch im Endeffekt jede derartige Anforderung unterdrückt wird. Somit ist es klar, daß dieses alternative Ausführungsbeispiel die Möglichkeit eines falschen Überschreibens ausschließt.
- Fig. 3 ist ein Ablaufdiagramm, das das Verfahren des bevorzugten Ausführungsbeispiels der Vorliegenden Erfindung veranschaulicht. Anfänglich wird die Speicheradresse einer Leseoperation für Vergleichszwecke gespeichert. Die Speicheradresse einer nachfolgenden Schreiboperation wird mit der gespeicherten Speicheradresse der Leseoperation verglichen. Wenn die beiden Adressen gleich sind, wird ein Schreib-Wartezähler mit einem ersten vorgegebenen Wert geladen, und die Schreiboperation wird verzögert, bis der Schreib-Wartezähler einen zweiten vorgegebenen Wert erreicht. Wenn die beiden Adressen nicht gleich sind, wird die Schreiboperation ohne Verzögerung fortgesetzt, wobei sie die Leseoperation überlappt.
- Fig. 4 ist ein Ablaufdiagramm, das das Verfahren des zuvor beschriebenen alternativen Ausführungsbeispiels der vorliegenden Erfindung veranschaulicht. Anfänglich wird die Speicheradresse einer Leseoperation für einen Vergleich gespeichert. Die Speicheradresse einer nachfolgenden Schreiboperation wird mit der gespeicherten Speicheradresse der Leseoperation verglichen. Wenn die beiden Adressen gleich sind, wird ein Fehlerrückschreiben für die Leseoperation unterdrückt und das Schreib-Überlappen wird fortgesetzt. Wenn die beiden Adressen nicht gleich sind, wird die Schreiboperation ohne Verzögerung fortgesetzt, wobei sie die Leseoperation überlappt, und ein Fehler-Rückschreiben wird ermöglicht.
Claims (13)
1. Ein das Initiieren einer Schreiboperation vor dem
Abschluß einer vorhergehenden Leseoperation gestattendes
Datenverarbeitungssystem mit einem Schreib-Überlappen,
wobei das Datenverarbeitungssystem aufweist:
einen Prozessor (10);
einen Speicher (20-23) zum Speichern und
wiedergewinnen von Daten;
einen mit dem Speicher (20-23) gekoppelten
Speicherbus (24),
einen mit dem Prozessor (10) gekoppelten Systembus
(12); und
mit dem Prozessor (10) über den Systembus (12) und
mit dem Speicher (20-23) über den Speicherbus (24)
gekoppelte Speichersteuermittel (16) zum
Bereitstellen von Speicheradressen, Daten und
Steuersignalen für Lese-, Schreib- und
Fehler-Rückschreib-Operationen aus dem und zu dem Speicher
(20-23), wobei die Speichersteuermittel (16)
aufweisen:
Mittel zum Erfassen und Korrigieren von Bit-
Fehlern (70) in Daten, die aus dem Speicher (20-
23) gelesen wurden;
Mittel zum Steuern von Fehler-Rückschreib-
Operationen (38) zu dem Speicher (20-23), wobei
die gelesenen Daten zurück zu dem Speicher (20-23)
geschrieben werden, nachdem die Bit-Fehler erfaßt
und korrigiert worden sind; gekennzeichnet durch:
Mittel zum Initiieren einer Schreiboperation
vor dem Abschluß einer vorhergehenden
Leseoperation (34); und
Mittel zum Verhindern des Auftretens eines
Überschreibens, wobei die Fehler-Rückschreib-
Mittel daran gehindert werden, Daten zu
über
schreiben, die von der vor dem Abschluß einer
vorhergehenden Leseoperation für den gleichen
Speicherplatz initiierten Schreiboperation
geschrieben wurden.
2. Das Datenverarbeitungssystem nach Anspruch 1, wobei
die Mittel zum Verhindern des Auftretens (82) eines
Überschreibens aufweisen:
Mittel zum selektiven Verzögern der Initiierung
einer Schreiboperation beim Auftreten einer
vorgegebenen Bedingung (34).
3. Das Datenverarbeitungssystem nach Anspruch 2, wobei
die Schreiboperation vor dem Abschluß der
vorhergehenden Leseoperationen und unmittelbar, nachdem das
letzte Wort der gelesenen Daten den Speicherbus (24)
geräumt und in die Speichersteuereinrichtung (16)
eingekoppelt worden ist, initiiert wird.
4. Ein Datenverarbeitungssystem nach Anspruch 2, wobei
die Mittel zum selektiven Verzögern der Initiierung
einer Schreiboperation bei Auftreten einer
vorgegebenen Bedingung (34) umfassen
einen Schreib-Warte-Zähler (35) zum Zählen von
einem ersten vorgegebenen Wert auf einen zweiten
vorgegebenen Wert.
5. Ein Datenverarbeitungssystem nach Anspruch 4, wobei
die Mittel zum selektiven Verzögern der Initiierung
einer Schreiboperation bei Auftreten einer
vorgegebenen Bedingung (34) die Schreiboperation verzögern, bis
der Schreibzähler (35) den zweiten vorgegebenen Wert
erreicht.
6. Ein Datenverarbeitungssystem nach Anspruch 2, wobei
die Mittel zum selektiven Verzögern des Initiierens
einer Schreiboperation bei Auftreten einer
vorgegebenen Bedingung (34) ferner umfassen:
einen Komparator zum Vergleichen einer
Speicheradresse für die Schreiboperationen mit einer
Speicheradresse für die vorhergehende Leseoperation.
7. Ein Datenverarbeitungssystem nach Anspruch 6, wobei
die vorgegebene Bedingung eine Äquivalenz zwischen der
Speicheradresse für die Schreiboperation und der
Speicheradresse für die vorgegebene Leseoperation umfaßt.
8. Das Datenverarbeitungssystem nach Anspruch 1, wobei
die Mittel zum Verhindern des Auftretens (82) eines
Überschreibens aufweisen:
Mittel zum selektiven Unterdrücken des Initiierens
von Fehler-Rückschreib-Operationen bei Auftreten einer
vorgegebenen Bedingung.
9. Das Datenverarbeitungssystem nach Anspruch 8, wobei
die Mittel zum selektiven Unterdrücken des Initiierens
bestimmter Fehler-Rückschreib-Operationen bei
Auftreten einer vorgegebenen Bedingung umfassen:
einen Komparator (82) zum Vergleichen einer
Speicheradresse für die Schreiboperation mit einer
Speicheradresse für die vorhergehende Leseoperation.
10. Das Datenverarbeitungssystem nach Anspruch 9, wobei
die vorgegebene Bedingung die Äquivalenz zwischen der
Speicheradresse für die Schreiboperationen und der
Speicheradresse für die vorhergehende Leseoperation
einschließt.
11. Ein Verfahren zum Verhindern des Überschreibens in
einem Datenverarbeitungssystem mit einem
Schreib-Überlappen, das einen Prozessor (10), Speicher (20-23) und
eine Speichersteuereinrichtung (16) zum Steuern von
Speicheroperationen einschließlich Lese-, Schreib- und
Fehler-Rückschreib-Operationen, die auf
Speicheradressen gerichtet sind, aufweist, wobei das Verfahren den
Schritt aufweist des:
Erfassens und Korrigierens eines Bit-Fehlers in
Daten, die aus dem Speicher (20-23) während einer
Leseoperation gelesen wurden; und
Initiierens einer Fehler-Rückschreib-Operation zu
dem Speicher, während der Leseoperation, nachdem die
Bit-Fehler erfaßt und korrigiert worden sind,
gekennzeichnet durch die Schritte des:
Initiierens einer Schreiboperation vor dem
Abschluß einer vorhergehenden Leseoperation; und
Vergleichens einer Speicheradresse für die
Schreiboperation mit einer Speicheradresse für die
Leseoperation; und
Verwendens eines Ergebnisses des Vergleichs, um
ein Auftreten eines Überschreibens zu vermeiden, wobei
die Fehler-Rückschreib-Operation verhindert wird.
12. Das Verfahren zum Ermöglichen eines
Schreib-Überlappens, während ein Überschreiben verhindert wird, nach
Anspruch 11, wobei der Verwendungsschritt umfaßt:
Verzögern der Schreiboperation, wenn der Vergleich
eine Äquivalenz zwischen der Speicheradresse für die
Schreiboperation und der Speicheradresse für die
vorhergehende Leseoperation ergibt, um Zeit für die
Fehler-Rückschreib-Operation zur Verfügung zu stellen,
damit diese das Schreiben in den Speicher (20-23)
abschließen kann.
13. Das Verfahren zum Ermöglichen von Schreib-Überlappen,
während ein Überschreiben verhindert wird, nach
Anspruch 11, wobei der Verwendungsschritt umfaßt:
Unterdrücken der Fehler-Rückschreib-Operation für
die vorhergehende Leseoperation, wenn der Vergleich
eine Äquivalenz zwischen der Speicheradresse für die
Schreiboperation und die Speicheradresse für die
vorhergehende Leseoperation ergibt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US80966791A | 1991-12-18 | 1991-12-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69230129D1 DE69230129D1 (de) | 1999-11-18 |
DE69230129T2 true DE69230129T2 (de) | 2000-06-15 |
Family
ID=25201927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69230129T Expired - Fee Related DE69230129T2 (de) | 1991-12-18 | 1992-11-18 | Schreibüberlappung mit Verhinderung des Überschreibens |
Country Status (5)
Country | Link |
---|---|
US (1) | US5687183A (de) |
EP (1) | EP0547769B1 (de) |
JP (1) | JP3463816B2 (de) |
KR (1) | KR100274326B1 (de) |
DE (1) | DE69230129T2 (de) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470405B2 (en) * | 1995-10-19 | 2002-10-22 | Rambus Inc. | Protocol for communication with dynamic memory |
KR100222787B1 (ko) * | 1996-09-02 | 1999-10-01 | 윤종용 | 전화기에서 전화번호 선택 등록방법 |
US6272600B1 (en) * | 1996-11-15 | 2001-08-07 | Hyundai Electronics America | Memory request reordering in a data processing system |
US6266379B1 (en) | 1997-06-20 | 2001-07-24 | Massachusetts Institute Of Technology | Digital transmitter with equalization |
US6263448B1 (en) | 1997-10-10 | 2001-07-17 | Rambus Inc. | Power control system for synchronous memory device |
US6154821A (en) | 1998-03-10 | 2000-11-28 | Rambus Inc. | Method and apparatus for initializing dynamic random access memory (DRAM) devices by levelizing a read domain |
US6223299B1 (en) * | 1998-05-04 | 2001-04-24 | International Business Machines Corporation | Enhanced error handling for I/O load/store operations to a PCI device via bad parity or zero byte enables |
AUPP702498A0 (en) * | 1998-11-09 | 1998-12-03 | Silverbrook Research Pty Ltd | Image creation method and apparatus (ART77) |
US9286198B2 (en) | 2005-04-21 | 2016-03-15 | Violin Memory | Method and system for storage of data in non-volatile media |
US8452929B2 (en) | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
US8200887B2 (en) | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
US9384818B2 (en) | 2005-04-21 | 2016-07-05 | Violin Memory | Memory power management |
US7742506B2 (en) * | 2005-05-27 | 2010-06-22 | Agere Systems Inc. | Controlling timeslot delay in a digital communication system |
US7831882B2 (en) * | 2005-06-03 | 2010-11-09 | Rambus Inc. | Memory system with error detection and retry modes of operation |
US9459960B2 (en) * | 2005-06-03 | 2016-10-04 | Rambus Inc. | Controller device for use with electrically erasable programmable memory chip with error detection and retry modes of operation |
US7562285B2 (en) * | 2006-01-11 | 2009-07-14 | Rambus Inc. | Unidirectional error code transfer for a bidirectional data link |
US20070271495A1 (en) * | 2006-05-18 | 2007-11-22 | Ian Shaeffer | System to detect and identify errors in control information, read data and/or write data |
US8352805B2 (en) | 2006-05-18 | 2013-01-08 | Rambus Inc. | Memory error detection |
US20080006158A1 (en) * | 2006-07-05 | 2008-01-10 | Oreck Holdings, Llc | Air cleaner and air cleaner diagnostic process |
US8028186B2 (en) | 2006-10-23 | 2011-09-27 | Violin Memory, Inc. | Skew management in an interconnection system |
JP4864762B2 (ja) * | 2007-02-19 | 2012-02-01 | 株式会社東芝 | 半導体記憶装置 |
US11010076B2 (en) | 2007-03-29 | 2021-05-18 | Violin Systems Llc | Memory system with multiple striping of raid groups and method for performing the same |
US9632870B2 (en) * | 2007-03-29 | 2017-04-25 | Violin Memory, Inc. | Memory system with multiple striping of raid groups and method for performing the same |
US8190972B2 (en) * | 2008-09-15 | 2012-05-29 | Lsi Corporation | Error checking and correction overlap ranges |
CN102576330B (zh) | 2009-06-12 | 2015-01-28 | 提琴存储器公司 | 具有持久化无用单元收集机制的存储系统 |
JP4746699B1 (ja) * | 2010-01-29 | 2011-08-10 | 株式会社東芝 | 半導体記憶装置及びその制御方法 |
US9116625B2 (en) | 2012-05-11 | 2015-08-25 | Micron Technology, Inc. | Write command overlap detection |
WO2015026826A1 (en) * | 2013-08-21 | 2015-02-26 | Everspin Technologies, Inc. | Non-destructive write/read leveling |
US10474390B1 (en) * | 2017-05-04 | 2019-11-12 | Xilinx, Inc. | Systems and method for buffering data using a delayed write data signal and a memory receiving write addresses in a first order and read addresses in a second order |
WO2019190866A1 (en) | 2018-03-26 | 2019-10-03 | Rambus Inc. | Command/address channel error detection |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4604750A (en) * | 1983-11-07 | 1986-08-05 | Digital Equipment Corporation | Pipeline error correction |
BR8503913A (pt) * | 1984-08-18 | 1986-05-27 | Fujitsu Ltd | Sistema e processo de recuperacao de erros em um processador de dados do tipo de canalizacao tendo um dispositivo de memoria de controle e processo de recuperacao de erros em um processador de dados do tipo de canalizacao |
US5101478A (en) * | 1985-06-28 | 1992-03-31 | Wang Laboratories, Inc. | I/O structure for information processing system |
US4789925A (en) * | 1985-07-31 | 1988-12-06 | Unisys Corporation | Vector data logical usage conflict detection |
US5121479A (en) * | 1988-01-27 | 1992-06-09 | Storage Technology Corporation | Early start mode data transfer apparatus |
US5019965A (en) * | 1989-02-03 | 1991-05-28 | Digital Equipment Corporation | Method and apparatus for increasing the data storage rate of a computer system having a predefined data path width |
US5125083A (en) * | 1989-02-03 | 1992-06-23 | Digital Equipment Corporation | Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system |
US5218711A (en) * | 1989-05-15 | 1993-06-08 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor having program counter registers for its coprocessors |
US5220312A (en) * | 1989-09-29 | 1993-06-15 | International Business Machines Corporation | Pixel protection mechanism for mixed graphics/video display adaptors |
US5197144A (en) * | 1990-02-26 | 1993-03-23 | Motorola, Inc. | Data processor for reloading deferred pushes in a copy-back data cache |
US5155843A (en) * | 1990-06-29 | 1992-10-13 | Digital Equipment Corporation | Error transition mode for multi-processor system |
-
1992
- 1992-11-18 DE DE69230129T patent/DE69230129T2/de not_active Expired - Fee Related
- 1992-11-18 EP EP92310524A patent/EP0547769B1/de not_active Expired - Lifetime
- 1992-12-15 KR KR1019920024307A patent/KR100274326B1/ko not_active IP Right Cessation
- 1992-12-15 JP JP35371992A patent/JP3463816B2/ja not_active Expired - Fee Related
-
1996
- 1996-12-16 US US08/766,980 patent/US5687183A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR930014042A (ko) | 1993-07-22 |
JPH06103153A (ja) | 1994-04-15 |
JP3463816B2 (ja) | 2003-11-05 |
KR100274326B1 (ko) | 2000-12-15 |
EP0547769B1 (de) | 1999-10-13 |
DE69230129D1 (de) | 1999-11-18 |
US5687183A (en) | 1997-11-11 |
EP0547769A1 (de) | 1993-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69230129T2 (de) | Schreibüberlappung mit Verhinderung des Überschreibens | |
DE3876780T2 (de) | Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung. | |
DE69124905T2 (de) | Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem | |
DE3115541C2 (de) | ||
DE69018112T2 (de) | Hochleistungsspeichersystem. | |
DE69906156T2 (de) | Mikroprozessorvorrichtung mit programmierbaren wartezuständen | |
DE3724317C2 (de) | ||
DE69327703T2 (de) | Mikroprozessor mit Busbreite-Wechselfunktion | |
DE69814137T2 (de) | Cache-speicherbetrieb | |
DE68920419T2 (de) | Verfahren und Anordnung für eine leistungsfähige DRAM-Steuerung. | |
DE69333319T2 (de) | Datenverarbeitungssystem mit synchronem, dynamischem Speicher in integrierter Schaltkreistechnik | |
DE69026479T2 (de) | Datenprozessor mit Wartezustandsteuerungseinheit | |
DE69217761T2 (de) | Lese- und Schreibschaltung für einen Speicher | |
DE19860650B4 (de) | Synchrone Halbleiter-Speichervorrichtung mit einer Chip-Satz-Speichersteuervorrichtung mit Datenausblend-Maskenfunktion | |
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE10059596A1 (de) | Verfahren zur Zeiteinstellung eines Systemspeichers | |
DE2953861C2 (de) | ||
DE3885985T2 (de) | Speichersteueranordnung für ein Daten verarbeitendes System. | |
DE69228233T2 (de) | Wahlfreie Auffrischung | |
DE10125724B4 (de) | Speichersystem, Speicherbauelement und Speicherdatenzugriffsverfahren | |
DE69605820T2 (de) | Datenfehler-detektion und -korrektur für gemeinsamen speicher | |
DE69515811T2 (de) | Zeitüberwachungsschaltung mit Schaltung zur Verhinderung von Blockierungen | |
DE69427512T2 (de) | Direktspeicherzugriffssteuerung | |
DE4005042C2 (de) | Mehrrechnersystem zur Durchführung von Bewegungssteuerungen | |
DE69033031T2 (de) | Programmierbares Steuergerät |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |