DE69523124T2 - Fehlererkennungssystem für einen gespiegelten Speicher in einer duplizierten Steuerung eines Plattenspeicherungssystems - Google Patents
Fehlererkennungssystem für einen gespiegelten Speicher in einer duplizierten Steuerung eines PlattenspeicherungssystemsInfo
- Publication number
- DE69523124T2 DE69523124T2 DE69523124T DE69523124T DE69523124T2 DE 69523124 T2 DE69523124 T2 DE 69523124T2 DE 69523124 T DE69523124 T DE 69523124T DE 69523124 T DE69523124 T DE 69523124T DE 69523124 T2 DE69523124 T2 DE 69523124T2
- Authority
- DE
- Germany
- Prior art keywords
- controller
- memory
- state transition
- access
- control device
- 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
- 230000015654 memory Effects 0.000 title claims description 113
- 238000001514 detection method Methods 0.000 title claims description 9
- 230000007704 transition Effects 0.000 claims description 50
- 238000000034 method Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 239000000872 buffer Substances 0.000 description 14
- 230000009977 dual effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 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
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1608—Error detection by comparing the output signals of redundant hardware
- G06F11/1612—Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1633—Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Description
- Diese Erfindung bezieht sich allgemein auf Computerplatten- Speichersteuerungseinrichtungen und insbesondere auf ein System und ein Verfahren zum Erfassen von Steuerungseinrichtungsversagen in einem Mehrfachsteuerungseinrichtungs- Plattenspeichersystem mit gespiegeltem Speicher.
- Bei Hochverfügbarkeits-Computerplattenspeichersystemen gibt es den. Wunsch nach Redundanz in all den physischen Bauteilen, die ein Teilsystem bilden, um die Möglichkeit für einen Verlust von Daten und die Ausfallzeit auf das Versagen eines Bauteiles hin zu reduzieren. Die Verwendung von Zweifachplattenspeichersteuerungseinrichtungen, jede davon mit ihrem eigenen Speicher, schafft mehrere große Vorteile für ein Plattenspeichersystem. Es wird beispielsweise (1) eine Redundanz von Speicherinformationen erhalten, um im Falle des Versagens oder des Verlustes einer der Steuerungseinrichtungen oder ihres Speichers seine Wiederherstellung zu ermöglichen; (2) die Wiederherstellung von einer deaktivierten Steuerungseinrichtung ist aufgrund der Ersatzschaltfähigkeiten der Sekundärsteuerungseinrichtung durchführbar; und (3) durch die Verfügbarkeit der Sekundärsteuerungseinrichtung wird eine längere Betriebszeit des Systems erreicht.
- Durch den Wunsch nach mehr Leistungsfähigkeit aus diesen redundanten Teilsystemen sind das Caching bzw. die Cache- Speicherung und die Verwendung von Speichern als temporäre Speicher mittlerweile weit verbreitet. Die Einrichtungen, mit denen diese physischen Duplikatspeicher synchron gehalten werden, können schwierig sein. Einige Plattensysteme verwenden einen latenten Prozeß (verzögerte Aktualisierung oder Massenaktualisierung), um diese Duplizierung zu erzeugen, aber dieser Ansatz neigt dazu, die Leistungsfähigkeit zu verringern und ist sehr kompliziert zu handhaben. Ein anderer Lösungsansatz (der in dieser Erfindung verwendet wird) ist die Bildung eines in Echtzeit Gespiegelten- Speicher-Prozesses, um diese Duplizierung der Daten zu erzeugen und exakt beizubehalten. Die Verwendung eines synchronisierten, redundanten Echtzeitspeichers (gespiegelten Speichers) bei Zweifachsteuerungseinrichtungen kann die Geschwindigkeit und Exaktheit im Falle einer Ersatzschaltung von einer Steuerungseinrichtung zur anderen erhöhen.
- Die Verwendung eines redundanten Speichern erschwert jedoch das Problem der Schaffung von Lösungen für Mehrfachplattenspeichersteuerungseinrichtungen wesentlich. Beispiele der zu bewältigenden erheblichen Probleme umfassen die effektive und zuverlässige (1) Erfassung von Steuerungseinrichtungsversagen frühzeitig im Zusammenhang mit der Gespiegelter-Speicher-Verarbeitung, um mögliche Probleme, die durch eine spätere Entdeckung des Versagens entstehen können, zu reduzieren; (2) Erfassung von Steuerungseinrichtungsversagen ohne erhebliche Hardware- und/oder Softwarezusatzanforderungen; und (3) Erfassung von Steuerungseinrichtungsversagen, um die Steuerungseinrichtungen zu trennen und die Spiegelung ihrer Speicher ohne den Verlust von Verarbeitungsvorgängen und -fähigkeiten zu unterbrechen.
- Bei den gegebenen vorher erwähnten Problemen im Zusammenhang mit der Erfassung von Steuereinrichtungsversagen bei einem Mehrfachsteuerungseinrichtungs-Plattenspeichersystem und anderen Problemen, die hier nicht angesprochen sind, wird die Verwendung von gespiegelten Speichern zwischen Steuerungseinrichtungen in einem Mehrfachsteuerungseinrichtungssystem im Stand der Technik bisher allgemein nicht gelehrt.
- Es ist die Aufgabe der vorliegenden Erfindung, ein effektives und zuverlässiges System zur Erfassung von Steuerungseinrichtungsversagen, für synchrone, gespiegelte Echtzeitspeichersteuerungseinrichtungen bei einem Zweifachsteuerungseinrichtungs-Plattenspeichersystem zu schaffen
- Diese Aufgabe wird durch ein System gemäß Anspruch 1 und durch ein Verfahren gemäß Anspruch 5 gelöst.
- Gemäß den Prinzipien der vorliegenden Erfindung bei dem bevorzugten Ausführungsbeispiel, bei einem Plattenspeichersystem, mit Zweifachsteuerungseinrichtungen und gespiegeltem Speicher, erzeugt die Entscheidungslogik, die jeder Steuerungseinrichtung zugeordnet ist, Zustandsübergangssignale, um den Zugriffsstatus eines gespiegelten Speichers für die Steuerungseinrichtung, die das Signal erzeugt, zu identifizieren. Jede Entscheidungslogik überwacht außerdem die Zustandsübergangssignale der anderen. Ein Versagen im Gespiegelten-Speicher-System zwischen den Zweifachsteuerungseinrichtungen wird durch eine Steuerungseinrichtung erfaßt, die ein unkorrektes Zustandsübergangssignal erfaßt, das von der anderen Steuerungseinrichtung übertragen wurde. Ein Versagen wird außerdem dadurch erfaßt, daß eine Steuerungseinrichtung nicht innerhalb einer spezifizierten Zeitüberschreitungsperiode ein Zustandsübergangssignal von der anderen Steuerungseinrichtung erfaßt.
- Gemäß weiterer Prinzipien der vorliegenden Erfindung werden Speicherauffrischungszyklen angezapft, um zu bewirken, daß die Entscheidungslogik die Zustandsübergangssignale zyklisch durchläuft um dadurch jede Stauerungseinrichtung dazu zu zwingen, regelmäßig einen Gespiegelten-Speicher- Zugriff zu versuchen, wodurch ein Speichersystemversagen erfaßt werden kann. Folglich werden in Fällen, wo es sein kann, daß Steuerungseinrichtungsspeicherzugriffe nicht oft auftreten, wie beispielsweise bei einer Slave- Steuerungseinrichtung in einem Master-/Slave-Kontext, Speichersystemversagen aufgrund der fortlaufenden Entscheidung zwischen den Steuerungseinrichtungen für einen Speicherzugriff bei einem Auffrischungsvorgang eher früher als später erfaßt.
- Durch das Versagenerfassungssystem und -verfahren der vorliegenden Erfindung wird die Zuverlässigkeit der Steuerungseinrichtungen und der gespiegelten Speicher erhöht. Andere Aufgaben, Vorteile und Fähigkeiten der vorliegenden Erfindung werden im Verlauf der weiteren Beschreibung deutlicher.
- Fig. 1 ist ein Blockdiagramm, das einen Überblick über das System der vorliegenden Erfindung für die Erfassung von Steuerungseinrichtungsversagen bei einem Zweifachsteuerungseinrichtungs-Plattenspeichersystem darstellt, welches zwischen denselben einen gespiegelten Speicher aufweist;
- Fig. 2 ist ein schematisches Blockdiagramm der vorliegenden Erfindung;
- Fig. 3 ist das schematische Blockdiagramm von Fig. 2, worin einfach gerichtete Kommunikationswege dargestellt sind, für die Erfassung von Steuereinrichtungsversagen während einem Auffrischungszyklus eines gespiegelten Speichers gemäß der Prinzipien der vorliegenden Erfindung; und
- Fig. 4 ist ein Entscheidungslogik-Zustandsübergangsdiagramm, das die Speicherzugriffsstatuszustände für jede Steuerungseinrichtung darstellt.
- Fig. 1 ist ein Blockdiagramm, das einen Überblick des Systems der vorliegenden Erfindung für die Erfassung von Steuerungseinrichtungsversagen eines Gespiegelter-Speicher- Systems bei einem Zweifachsteuerungseinrichtungs- Plattenspeichersystem 10 darstellt. Das Plattenspeicherkontrollsystem 10 umfaßt ein Plattenspeicherteilsystem 15, in dem Plattenspeichervorrichtungen 12 umfaßt sind, und Zweifachplattenspeichersteuerungseinrichtungen 20 und 25. Die Steuerungseinrichtungen 20 und 25 haben jeweils einen Speicher 30 und 35.
- Obwohl beinahe jeder Typ von RAM (Random Access Memory = Direktzugriffspeicher) für die Verwendung als Speicher 30 und 35 geeignet ist, wird beim bevorzugten Ausführungsbeispiel ein nicht-flüchtiger RAM (oder ein flüchtiger RAM, das unter Verwendung einer Leistungsversorgungssicherung nicht-flüchtig gemacht wird) verwendet, um im Falle eines Lesitungsausfalls die Aufrechterhaltung der Daten zu ermöglichen. Es wird darauf hingewiesen, daß, obwohl im Diagramm nur Zweifachsteuerungseinrichtungen 20 und 25 gezeigt sind und hier allgemein erörtert werden, , daß die hierin ausgedrückten und implizierten Prinzipien genauso bei anderen Mehrfachsteuerungseinrichtungsumgebungen, d. h. mit mehr als zwei Steuerungseinrichtungen, anwendbar sind.
- Jeder Speicher 30 und 35 ist ein gespiegelter Speicher. Wie es in der Technik wohlbekannt ist, bedeutet gespiegelter Speicher einfach, daß die Daten in einem Speicher in einen anderen Speicher kopiert oder "gespiegelt" werden. Gespiegelter Speicher, wie er in der vorliegenden Erfindung verwendet wird, bedeutet, daß die Daten in dem Speicher der einen Steuerungseinrichtung in dem Speicher der anderen Steuerungseinrichtung dupliziert oder "gespiegelt" werden.
- Die Existenz von Zweifachsteuerungseinrichtungen und eines gespiegelten Speichers in jeder dieser Einrichtungen schafft eine fehlertolerante Umgebung für das Plattenspeichersystem 10. Bei dem Ereignis eines Versagens einer der Steuerungseinrichtungen oder eines der Steuerungseinrichtungsspeichersysteme schafft die Existenz der anderen Steuerungseinrichtung und ihres gespiegelten Speichers nämlich eine nahtlose Ersatzschaltoption für die fortlaufende Verarbeitung. In diesem Zusammenhang tritt Kommunikation zwischen den Steuerungseinrichtungen 20 und 25 auf, um eine kosteneffektive Echtzeitverbindung zu schaffen, und um es jeder Steuerungseinrichtung zu ermöglichen, den Zustand der Duplikatsteuerungseinrichtung zu überwachen und Aktivitäten zu koordinieren.
- Bei dem bevorzugten Ausführungsbeispiel ist der gespiegelte Speicher ein in Echtzeit gespiegelter Speicher, d. h. ein einzelner Mikroprozessor oder Direktspeicherzugriff aktualisiert Daten in die oder erhält Daten von den beiden Speichern 30 und 35 im wesentlichen zum gleichen Zeitpunkt. Entscheidungslogik 40 und 45 steuern, wann jeder Steuerungseinrichtung Zugriff erteilt wird, um Daten zu aktualisieren oder vom gespiegelten Speicher zu empfangen. Die Entscheidungslogiken 40 und 45 kommunizieren miteinander, so daß jede weiß, welche Steuerungseinrichtung gegenwärtigen Zugriff auf die Speicher hat. Jede Entscheidungslogik erzeugt Zustandsübergangssignale, um den Zugriffsstatus eines gespiegelten Speichers für die Steuerungseinrichtung zu identifizieren, die das Signal erzeugt. Jede Entscheidungslogik überwacht außerdem die Zustandsübergangssignale der anderen. Dementsprechend wird ein Versägen im Gespiegelter- Speicher-System zwischen den Zweifachsteuerungseinrichtungen dadurch erfaßt, daß eine Steuerungseinrichtung ein unkorrektes Zustandsübergangssignal, das von der anderen Steuerungseinrichtung übertragen wurde erfaßt, oder daß die eine Steuerungseinrichtung nicht innerhalb einer spezifizierten Zeitüberschreitungsperiode ein Zustandsübergangssignal von der anderen Steuerungseinrichtung erfaßt.
- Bei dem bevorzugten Ausführungsbeispiel ermöglichen die Entscheidungslogiken 40 und 45 nur einer Steuerungseinrichtung den Zugriff auf die Speicher zu einem einzigen Zeitpunkt. Wenn beispielsweise der Steuerungseinrichtung 20 Zugriff auf Speicher 30 erteilt wird, bekommt sie genauso Zugriff auf den Speicher 35, wobei für die Steuerungseinrichtung 25 der Zugriff auf keinen der beide Speicher freigegeben ist. Die Entscheidungslogiken 40 und 45 steuern den gleichzeitigen Zugriff, indem sie miteinander kommunizieren, um geeignete Signalleitungen in jeder Steuerungseinrichtung zu aktivieren und/oder zu deaktivieren.
- Wenn man bedenkt, daß einer der Hauptzwecke einer Zweifachsteuerungseinrichtungskonfiguration darin besteht, bei dem Ereignis eines Versagens einer der Steuerungseinrichtungen die Fähigkeit zur unittelbaren Ersatzschaltung von einer zur anderen Steuerungseinrichtung zu ermöglichen, ist es unbedingt erforderlich, daß der Speicherinhalt jeder Steuerungseinrichtung identisch ist, bevor eine Steuerungseinrichtungsersatzschaltung auftritt, so daß der Betrieb ohne Unterbrechung fortgesetzt wird. Genauso ist es unbedingt erforderlich, daß ein Steuerungseinrichtungsversagen frühzeitig im Verarbeitungsschema erfaßt wird, so daß die Spiegelung des Speichers deaktiviert werden kann, und die Datenintegrität des Speichers von zumindest der nicht ausgefallenen Steuerungseinrichtung für den fortlaufenden Systembetrieb zuverlässig bleibt. Dementsprechend konzentriert sich die vorliegende Erfindung auf die frühe Erfassung eines Steuerungseinrichtungsversagens bei einer Mehrfachsteuerungseinrichtungskonfiguration, indem als Hauptelement die Entscheidungslogiken 40 und 45 verwendet werden, um den Zugriffsstatus des gespiegelten Speichers zwischen den Steuerungseinrichtungen 20 und 25 zu kommunizieren und zu steuern.
- In Fig. 2 ist ein detaillierteres schematisches Blockdiagramm des Systems der vorliegenden Erfindung gezeigt. Gleiche Komponenten der Figuren behalten gleiche Bezugszeichen. Dementsprechend wird auf jede Steuerungseinrichtung 20 und 25 allgemein Bezug genommen, auf jeden gespiegelten Speicher 30 und 35 wird als NVDRAM (Non-Volatile Dynamic Random Access Memory = nicht-flüchtiger dynamischer Direktzugriffspeicher) Bezug genommen, wie es beim bevorzugten Ausführungsbeispiel verwendet wird, und auf die Entscheidungslogiken 40 und 45 wird gleichfalls wie in Fig. 1 Bezug genommen. Zu Vereinfachungszwecken wird auf die NVDRAM- Steuerungseinrichtungen 50 und 55 hier als DRAM- Steuerungseinrichtungen Bezug genommen. Alle Richtungspfeile zeigen Kommunikationswege und/oder Datenübertragungswege an.
- Jede DRAM-Steuerungseinrichtung 50 und 55 hat ihren eigenen internen Taktgeber (nicht gezeigt) zum Steuern ihrer jeweiligen Schaltungsanordnung und für Zwecke, wie beispielsweise das Einleiten einer Anforderung einer Speicherauffrischung. Dementsprechend hat jede Entscheidungslogik 40 und 45 ihren eigenen internen Taktgeber, wodurch eine Antwortzeitüberschreitung erfaßt werden kann, wenn Zustandsübertragungssignale von einer Entscheidungslogik zur anderen übertragen werden. Wie bereits in Bezug auf Fig. 1 angemerkt, steuern die Entscheidungslogiken 40 und 45, welcher Steuerungseinrichtung Zugriff auf die Speicher 30 und 35 erteilt wird, und welche Steuerungseinrichtung am Zugriff auf denselben gehindert wird. Als solches kommunizieren die Entscheidungslogik 40 und 45 miteinander über Zustandsübertragungssignale und kommunizieren jeweils mit bestimmten lokalen Speichersystemkontrolleinrichtungen, einschließlich DRAM-Steuerungseinrichtungen 50 und 55, Puffern 60 und 65, Steuerungssende-/empfangsgeräten 70 und 75 und Datensende- /empfangsgeräten 80 und 85.
- Wie im Stand der Technik üblich, verwalten und erzeugen die DRAM-Steuerungseinrichtungen 50 und 55 Zeitgebungs- und Steuerlogiksignale, wie z. B. RAS (Row Address Strobe = Zeilenadreßhinweissignal), CAS (Column Address Strobe = Spaltenadreßhinweissignal), WE (Write Enable = Schreibfreigabe), OE (Output Enable = Ausgabefreigabe) usw., um auf geeignete Adressen in dem DRAM 30 bzw. 35 zuzugreifen. Die Puffer 60 und 65 sind DRAM-Steuerungseinrichtungspuffer zum Freigeben und/oder Nicht-Freigeben jeder - DRAM- Steuerungseinrichtung 50 und 55 hinsichtlich des Zugriffs auf den DRAM 30 bzw. 35.
- Die Steuerungseinrichtungssende-/empfangsgeräte 70 und 75 sind bidirektionale Sende-/empfangsgerätepuffer für eine lokale Steuerungseinrichtung (d. h. die Steuerungseinrichtung, an der sich das Send-/empfangsgerät befindet), um (1) Adreßsignale zu einer Rückwandplatine 78 des Computersystems zu treiben, um auf den Speicher der anderen (entfernten) Steuerungseinrichtung zuzugreifen, oder (2) Adreßsignale von der entfernten Steuerungseinrichtung über die Rückwandplatine zu empfangen, um auf den Speicher der lokalen Steuerungseinrichtung zuzugreifen. Die Datensende- /empfangsgeräte 80 und 85 sind gleichfalls bidirektionale Sende-/empfangsgerätepuffer für eine lokale Steuerungseinrichtung, um (1) Datensignale zur Rückwandplatine 78 zu treiben, um sie an die entfernte Steuerungseinrichtung zu senden, oder (2) Datensignale von der entfernten Steuerungseinrichtung über die Rückwandplatine zu empfangen.
- Jede DRAM-Steuerungseinrichtung 50 und 55 ist konfiguriert um den Speicher (DRAM 30 bzw. 35) mit einem Auffrischungsintervall aufzufrischen, welches durch jeden eigenen, unabhängig ausführenden Taktgeber der DRAM- Steuerungseinrichtungen bestimmt wird. Diese Speicherauffrischungszyklen werden als Mittel dafür verwendet, zu bewirken, daß jede Entscheidungslogik die Zustandsübergangssignale zyklisch durchläuft, und um dadurch jede Steuerungseinrichtung dazu zu zwingen, einen Gespiegelter- Speicher-Zugriff zu versuchen, d. h. ein Zugriff auf den Speicher, der sich auf der lokalenund entfernten Steuerungseinrichtung befindet, und zwar auf einer zuverlässig dauerhaften Basis, wodurch ein Speichersystemversagen erfaßt werden kann. Dieses System und dieses Verfahren bietet Zuverlässigkeit in jeder Zweifachsteuerungseinrichtungsbeziehung, wie z. B. Master/Master (peer/peer) oder Master/Slave. Dieses System und diese Methode sind besonders wertvoll bei einer Master/Slave- Steuerungseinrichtungsbeziehung, da eine Slavesteuerungseinrichtung eventuell nicht oft auf den gespiegelten Speicher zugreift und daher nicht erfassen würde, ob die entfernte Steuerungseinrichtung veragt hat, bis zu einem späteren, möglicherweise nachteiligen Zeitpunkt.
- Wenn durch eine DRAM-Steuerungseinrichtung 50 oder 55 signalisiert wird, daß ein Speicherzugriffszyklus (Lesen, Schreiben oder Auffrischen) auftritt, wird dieses Signal zu seiner lokalen Entscheidungslogik 40 oder 45 übertragen. Wenn diese lokale Steuerungseinrichtung gegenwärtig keinen Zugriff auf den gespiegelten Speicher hat, überträgt die lokale Entscheidungslogik ein Zustandsübergangssignal, das Zugriff auf den gespiegelten Speicher anfordert, an die andere (entfernte) Steuerungseinrichtung. Das Zustandsübergangssignal identifiziert den Status des Zugriffs auf den gespiegelten Speicher der (lokalen) Steuerungseinrichtung, die das Signal überträgt. Beispielsweise wird bei diesem Fall ein Zustandsübergangssignal, welches Speicherzugriff anfordert, zur entfernten Entscheidungslogik übertragen. In Reaktion darauf erfaßt die entfernte Steuerungseinrichtung, die gegenwärtig Zugriff auf den gespiegelten Speicher hat, das anfordernde Zustandsübergangssignal und antwortet mit einem Antwortzustandsübergangssignal, um der anfordernden Steuerungseinrichtung Zugriff auf den gespiegelten Speicher zu gewähren. Das antwortende Zustandsübergangssignal tritt auf, nachdem die entfernte Steuerungseinrichtung ihren eigenen Zugriff auf den gespiegelten Speicher abgeschlossen hat, falls ein solcher gerade stattfindet, wenn die Anforderung empfangen wird.
- Sobald die lokale Entscheidungslogik die Speicheranforderung überträgt, löst sie ihren eigenen Taktgeber aus, um eine Zeitüberschreitungsperiode zu takten. Falls die entfernte Steuerungseinrichtung nicht innerhalb des vorbestimmten Zeitintervalls, d. h. der Zeitüberschreitungsperiode, antwortet, erkennt die lokale Steuerungseinrichtung, daß beim entfernten Steuerungseinrichtungsspeichersystem ein Versagen aufgetreten ist.
- Ein Versagen eines entfernten Steuerungseinrichtungsspeichersystems wird außerdem erfaßt, wenn die lokale Steuerungseinrichtung ein unkorrektes Zustandsübergangssignal erfaßt, das von der Fernsteuerungseinrichtung übertragen wird. Wenn beispielsweise die lokale Steuerungseinrichtung erwartet, daß sie ein Zustandsübergangssignal empfängt, welches ihr Zugriff auf den gespiegelten Speicher erteilt, aber statt dessen ein anderes Zustandsübergangssignal von der entfernten Steuerungseinrichtung empfängt, erkennt die lokale Steuerungseinrichtung, daß ein Versagen aufgetreten ist.
- Durch diese Zustandsübergangssignale und in Verbindung mit dem Zeitüberschreitungsintervall (1) überträgt jede Steuerungseinrichtung ihren eigenen Zugriffsstatus bezüglich des gespiegelten Speichers, (2) erfaßt den Status der anderen Steuerungseinrichtung, und/oder (3) erfaßt, ob ein geeignetes Statussignal übertragen wurde. Ferner werden Speicherauffrischungszyklen angezapft, um zu erzwingen, daß die Zustandsübergangssignale willkürlich zyklisch durchlaufen werden, wodurch regelmäßig auf den gespiegelten Speicher zugegriffen wird, um eine regelmäßige und zuverlässige Einrichtung zum Erfassen von Versagen bei dem Speichersystem zu liefern.
- Die Funktionsweise von Fig. 2 wird am besten durch das in Fig. 3 gezeigte Beispiel veranschaulicht. Fig. 3 ist gleich wie Fig. 2, außer daß die zweifach gerichteten Pfeile von Fig. 2 in Fig. 3 durch einfach gerichtete Pfeile ersetzt sind, welche die tatsächlichen gerichteten Kommunikationswege während einer Auffrischung des gespiegelten Speichers durch die Steuerungseinrichtung 20 darstellen. Es wird darauf hingewiesen, daß, obwohl diese Darstellung und die damit verbundene Erörterung die Zustandsübergangssignale veranschaulicht, die von der Entscheidungslogik während einem Speicherauffrischungszyklus erzeugt werden, solche Zustandsübergangssignale auch während anderer Speicherzugriffstransaktionen auftreten, wie z. B. einem Lese- oder Schreibvorgang.
- Für den Fall, daß die Steuerungseinrichtung 20 eine Anforderung einer Speicherauffrischung auslöst, aktiviert die DRAN-Steuerungseinrichtung 50 ein Anforderungssignal an ihre eigene Entscheidungslogik 40. Falls die Steuerungseinrichtung 20 nicht bereits Zugriff auf den gespiegelten Speicher hat, tritt die Entscheidungslogik 40 in einen Anforderungszustand ein und überträgt ein solches Zustandsübergangssignal an die Entscheidungslogik 45 der Steuerungseinrichtung 25. Ein Anforderungszustand besteht dann, wenn die lokale Entscheidungslogik 40 (in diesem Beispiel) darauf wartet, daß die entfernte Entscheidungslogik 45 der Steuerungseinrichtung 20 Zugriff auf den entfernten DRAM 35 erteilt.
- Falls die DRAM-Steuerungseinrichtung 55 gerade auf den gespiegelten Speicher zugreift, wenn die Entscheidungslogik 45 das von der Entscheidungslogik 40 übertragene Anforderungszustandsübergangssignal erfaßt, wird die DRAM- Steuerungseinrichtung 55 ihren Zyklus für die Benutzung des Speichers (entweder zum Lesen, Schreiben oder Auffrischen) abschließen und ihre eigene Anforderung an die Entscheidungslogik 45 entfernen. Die Entscheidungslogik 45 überträgt dann ein Zustandsübergangssignal, das Speicherzugriff erteilt, an die Entscheidungslogik 40 und tritt anschließend in einen Slave-Zustand ein. Auf das Eintreten in den Slave-Zustand hin eintzieht die Entscheidungslogik 45 die Freigabe des DRAM-Steuerungseinrichtungspuffers 65 (wie durch die Darstellung gezeigt, daß kein Richtungspfeil vom Puffer 65 ausgeht, d. h. von diesem weg zeigt). Die Entscheidungslogik 45 stellt außerdem Steuerungseinrichtungssende-/empfangsgeräte 75 ein, um Adreßsignale von der Rückwandplatine 78 zum DRAM 35 zu treiben (wie durch die Richtungspfeile 73 und 77 gezeigt).
- Die Entscheidungslogik 40 quittiert dies, indem sie in einen Master-Zustand eintritt, bei dem der Steuerungseinrichtung 20 Zugriff auf beide Speicher 30 und 35 ermöglicht wird. Die Entscheidungslogik 40 gibt ihren lokalen DRAM- Steuerungseinrichtungspuffer 60 (wie durch den Richtungspfeil 62 gezeigt) frei, und stellt Steuerungssende- /empfangsgeräte 70 ein, um von der Steuerungseinrichtung 20 zu der Rückwandplatine 78 zu treiben (wie durch den Richtungspfeil 73 gezeigt).
- Als nächstes führt die DRAM-Steuerungseinrichtung 50 einen DRAM-Auffrischungszyklus durch, indem sie CAS und RAS aktiviert, um auf ihren eigenen DRAM 30 zuzugreifen (wie durch den Richtungspfeil 64 gezeigt), und indem sie dieselben durch die Steuerungssende-/empfangsgeräte 70 und 75 aktiviert, um auf den DRAM 35 der Steuerungseinrichtung 25 zuzugreifen (wie durch die Richtungspfeile 66, 73 und 77 gezeigt). Folglich werden der DRAM 30 und 35 im wesentlichen gleichzeitig aufgefrischt.
- Gemäß Fig. 4 wird ein Entscheidungslogikzustandsübergangsdiagramm dargestellt, das die Speicherzugriffsstatuszustände für jede Steuerungseinrichtung in einer Master/Slave- Beziehung zeigt. Wie vorher erörtert, steuern die Entscheidungslogiken 40 und 45 (Fig. 1-3) den Spiegelungsbetrieb der Speicher 30 und 35 durch die Übertragung und Erfassung von Zustandsübergangssignalen. Die Entscheidungslogik steuert außerdem die Ausgabefreigaben und Richtungsauswahl aller Puffer und Sende-/empfangsgeräte, die mit dem Speichersystem verbunden sind. Daher wird nur einer Steuerungseinrichtung die Befähigung erteilt, zu einem einzigen Zeitpunkt sowohl auf die lokalen als auch die entfernten DRAM- Bänke zuzugreifen. Die andere Steuerungseinrichtung kann auf keinen der beiden Speicher zugreifen, bis die Entscheidungslogik geeignete Übergangszustände zyklisch durchläuft, zu Zeiten wie beispielsweise während einem Speicherauffrischungszyklus oder einer anderen Lese/Schreiboperation.
- Während die Entscheidungslogik ihre verschiedenen Zustände durchläuft, sendet sie ihren gegenwärtigen Zustand an die entfernte Steuerungseinrichtung und überwacht gleichfalls die Zustandsübergangssignale der entfernten Entscheidungslogik. Dies ermöglicht es jedem Logiksatz, einen Fehler bei dem anderen zu erfassen.
- Es wird darauf hingewiesen, daß verschiedene Übergangszustände vorkommen können und nicht alle Übergangszustände in der Darstellung von Fig. 4 gezeigt werden. Einige der verschiedenen Zustände, wie sie im bevorzugten Ausführungsbeispiel verwendet und in Fig. 4 abgebildet werden, werden jedoch wie folgt beschrieben:
- RÜCKSETZEN: Während die Rücksetzenleitung auf der Steuerungseinrichtungsplatine aktiviert ist, bleibt die Entscheidungslogik im Rücksetzenzustand 90. In diesem Zustand sind die lokalen Rückwandplatine-Steuerungs- und Datensende-/empfangsgeräte (70, 75, 80 und 85 in Fig. 1), sowie auch die lokale DRAM-Steuerungseinrichtung (50 und 55) nicht freigegeben. Sobald-das Neueinstellen ausgelöst wird, tritt die Entscheidungslogik in den Slave-Zustand ein.
- SLAVE: Im Slave-Zustand 95 zeigen die lokalen Steuerungsrückwandplatinesende /-empfangsgeräte der auf den lokalen DRAM, wobei der Puffer der lokalen DRAM- Steuerungseinrichtung (60 oder 65) nicht freigegeben ist. Die lokalen Rückwandplatinedatensende-/empfangsgeräte der sind entsprechend der durchgeführten Operation (Lesen oder Schreiben) gesetzt. Wenn eine Anforderung eines Speicherzugriffs von der lokalen DRAM-Steuerungseinrichtung durch die lokale Entscheidungslogik empfangen wird, tritt die lokale Entscheidungslogik in den Anforderungszustand ein, damit sie in der Lage ist, auf die Speicher zuzugreifen.
- ANFORDERUNG: Der Taktgeber der lokalen Entscheidungslogik wird gestartet, wenn der Anforderungszustand 100 zuerst betreten wird. In diesem Zustand wird das Anforderungszustandsübergangssignal an die entfernte Entscheidungslogik übertragen, wobei die lokale Entscheidungslogik darauf wartet, daß die entfernte Entscheidungslogik der lokalen Steuerungseinrichtung Zugriff auf den entfernten DRAM erteilt. Die lokalen Rückwandplatinesende-/empfangsgeräte der und die DRAM-Steuerungseinrichtung sind auf die selbe Weise eingestellt wie im Slave-Zustand. Falls der Taktgeber ein Zeitüberschreitungsintervall signalisiert, bevor der Zugriff auf den entfernten DRAM von der entfernten Entscheidungslogik erteilt wird, tritt die lokale Entscheidungslogik in den Ausfallzustand ein. Wenn der Zugriff erteilt wird, tritt die lokale Entscheidungslogik in den Master- Zustand ein.
- MASTER: Im Masterzustand 105 wird Zugriff auf beide DRAM- Bänke 30 und 35 gewährt. Die lokalen Rückwandplatinesteuerungssende-/empfangsgeräte zeigen auf die entfernte Platine, wobei der Puffer der lokalen DRAM-Steuerungseinrichtung (60 oder 65) freigegeben ist. Die Rückwandplatinedatensende-/empfangsgeräte sind entsprechend der durchgeführten Operation (Lesen oder Schreiben) eingestellt. Die Entscheidungslogik bleibt in diesem Zustand, bis eine Anforderung von der entfernten Platine erfaßt wird, und die Anforderungsleitung von der lokalen DRAM-Steuerungseinrichtung deaktiviert wird. Dieser Zustand wird betreten, nachdem die entfernte Steuerungseinrichtung in den Slave-Zustand eingetreten ist.
- ERTEILUNG: Die lokale Entscheidungslogik tritt in den Erteilungszustand 110 ein, wenn sie erfaßt, daß die entfernte Steuerungseinrichtung die Spiegelschnittstelle anfordert. Die lokale Entscheidungslogik wartet in diesem Zustand, bis die lokale DRAM-Steuerungseinrichtung ihren gegenwärtigen Speicherzugriff abgeschlossen hat und ihre Anforderungsleitung deaktiviert ist.
- VERSAGEN: Der Versagenzustand 115 wird betreten, wenn (1) der Bus nicht innerhalb der vom Taktgeber in der lokalen Entscheidungslogik überwachten Zeitüberschreitungsperiode erteilt wird oder (2) ein unzulässiger Übergangszustand an der entfernten Steuerungseinrichtung erfaßt wird. Die Entscheidungslogik bleibt in diesem Zustand, bis die lokale Steuerungseinrichtung neu eingestellt wird, wonach der Rücksetzustand betreten wird, oder die entfernte Entscheidungslogik den Rücksetzzustand eintritt, wonach der Neusynchronisationzustand betreten wird. Während dieses Zustands sind beide Rückwandplatinesende-/empfangsgeräte nicht freigegeben, während der DRAM-Steuerungseinrichtungspuffer freigegeben ist.
- NEUSYNCHRONISATION (RESYNCH): Der Neusynchronisationzustand 120 wird jedesmal betreten, wenn die lokale Entscheidungslogik erfaßt, daß die entfernte Entscheidungslogik in den Rücksetzzustand eingetreten ist. Jedesmal, wenn dieser Zustand betreten wird, wird ein Taktgeber gestartet. Die Entscheidungslogik bleibt in diesem Zustand, bis die entfernte Entscheidungslogik den Rücksetzzustand verläßt oder das Zeitüberschreitungsintervall abgeschlossen ist. Wenn das Zeitüberschreitungsintervall abgeschlossen ist, wird der Versagenzustand betreten. Der Slavezustand wird betreten, wenn die entfernte Steuerungseinrichtung den Rücksetzzustand verläßt, bevor das Zeitüberschreitungsintervall abgeschlossen ist. Während dieses Zustands sind beide Rückwandplatinesende-/empfangsgeräte nicht freigegeben, und der DRAM-Steuerungseinrichtungspuffer freigegeben.
- EINZEL: Der Einzelzustand 125 wird jedesmal betreten, wenn das Vorhandensein einer zweiten Steuerungseinrichtung nicht erfaßt wird, oder wenn die Steuerungseinrichtungen in einem "Isolationsmodus" bleiben sollen, d. h. in einem Zustand, in dem die Speicher nicht gespiegelt werden. Die Entscheidungslogik bleibt in diesem Zustand, solange eine dieser beiden Bedingungen vorliegt oder eine Steuerungseinrichtungsrücksetzung erfaßt wird. Bei allen Fällen ist ein Rücksetzenzustand der nächste Zustand. Während dieses Zustands sind beide Rückwandplatinesende-/empfangsgeräte nicht freigegeben und der DRAM-Steuerungseinrichtungspuffer ist freigegeben.
- Was im Vorgehenden beschrieben wurde, sind die bevorzugten Ausführungsbeispiele eines Systems und eines Verfahrens für die Erfassung von Steuerungseinrichtungsversagen bei einem Zweifachsteuerungseinrichtungs-Plattenspeichersystem, das zwischen denselben einen gespiegelten Speicher aufweist. Es ist klar, daß die vorliegende Erfindung ein leistungsfähiges Werkzeug bietet für die Schaffung einer kosteneffektiven Echtzeitverbindung zwischen Steuerungseinrichtungen, und es jeder Steuereinrichtung ermöglicht, den Zustand der anderen zu überwachen, und es ermöglicht, daß die Aktivitäten jeder Steuerungseinrichtung für die Fehlererfassung koordiniert werden. Darüber hinaus wird es für einen Fachmann auf diesem Gebiet offensichtlich sein, daß die vorliegende Erfindung leicht unter Verwendung jeglicher im heutigen Stand der Technik existierenden Hardware- und Softwarewerkzeugen, von denen es eine Vielfalt gibt, implementiert werden kann. Es wird darauf hingewiesen, daß, obwohl die vorliegende Erfindung bezugnehmend auf spezielle Ausführungsbeispiele beschrieben wurde, andere alternative Ausführungsbeispiele und Verfahren der Implementation oder Modifikation verwendet werden können, ohne den Schutzbereich der Erfindung zu verlassen.
Claims (8)
1. Ein Versagenerfassungssystem (10) für ein
Computerplattenspeichersteuerungssystem, das eine Mehrzahl von
Steuerungseinrichtungen (20, 25) aufweist, wobei jede
Steuerungseinrichtung einen hinsichtlich jeder anderen
Steuerungseinrichtung im wesentlichen gespiegelten
Speicher (30, 35) aufweist, mit:
(a) einer Einrichtung zum Übertragen eines ersten
Zustandsübergangssignals (40, 45) durch eine erste
Steuerungseinrichtung der Mehrzahl von
Steuerungseinrichtungen zu einer zweiten
Steuerungseinrichtung der Mehrzahl von
Steuerungseinrichtungen, wobei das erste Zustandsübergangssignal
ein Signal ist, das eine Anforderung (100) des
Zugriffs auf den gespiegelten Speicher der
zweiten Steuerungseinrichtung anzeigt;
(b) einer Einrichtung zum Einleiten einer Zeitperiode
von vorbestimmter Dauer, wobei die Zeitperiode im
wesentlichen gleichzeitig zu der Übertragung des
ersten Zustandsübergangssignals von der ersten
Steuerungseinrichtung zu der zweiten
Steuerungseinrichtung beginnen soll; und
(c) einer Einrichtung zum Erfassen (40, 45) von
entweder
(i) einem zweiten Zustandsübergangssignal, das
von der zweiten Steuerungseinrichtung
übertragen wird, wobei das zweite
Zustandsübergangssignal ein Signal, das eine
Erteilung (110) eines Zugriffs auf den
gespiegelten Speicher an die erste Steuerungseinrichtung
anzeigt, oder ein
unkorrektes Zustandsübergangssignal ist,
wodurch das Versagen der zweiten
Steuerungseinrichtung durch die erste
Steuerungseinrichtung erfaßt wird; oder
(ii) einem Abschluß der Zeitperiode, der ein
Versagen der zweiten Steuerungseinrichtung
anzeigt.
2. Das Versagenerfassungssystem gemäß Anspruch 1, bei dem
das erste Zustandsübergangssignal ein Signal ist, das
eine Anforderung (100) des Zugriffs auf den
gespiegelten Speicher jeder Steuerungseinrichtung anzeigt.
31. Das Versagenerfassungssystem gemäß Anspruch 1, das
ferner eine Einrichtung zum Übertragen des ersten
Zustandsübergangssignals auf das Ereignis eines
Speicherzugriffszyklusses (40, 45, 50, 55) hin umfaßt.
4. Das Versagenerfassungssystem gemäß Anspruch 1, bei
dem, wenn der ersten Steuerungseinrichtung der Zugriff
auf den gespiegelten Speicher erteilt (110) ist, der
zweiten Steuerungseinrichtung der Zugriff auf den
gespiegelten Speicher verwehrt wird.
5. Ein Verfahren zum Erfassen eines
Speichersystemversagens bei einem
Computerplatterispeichersteuerungssystem (10), das eine erste und eine zweite
Plattensteuerungseinrichtung (20, 25) und zwischen denselben
einen gespiegelten Speicher (30, 35) umfasst, wobei
das Verfähren folgende Schritte aufweist:
(a) Überträgen eines ersten Zustandsübergangssignals
durch die erste Steuerungseinrichtung an die
zweite Steuerungseinrichtung (100), wobei das
erste Zustandsübergangssignal ein Signal ist, das
eine Anförderung (100) des Zugriffs auf den
gespiegelten
Speicher der zweiten
Steuerungseinrichtung anzeigt;
(b) Starten eines Taktgebers durch die erste
Steuerungseinrichtung im wesentlichen gleichzeitig zu
der Übertragung des ersten
Zustandsübergangssignals von der ersten Steuerungseinrichtung zu der
zweiten Steuerungseinrichtung, um eine
Zeitperiode von vorbestimmter Dauer einzuleiten;
(c) Erfassen durch die erste Steuerungseinrichtung
von entweder
(i) einem zweiten Zustandsübergangssignal
(110), das von der zweiten
Steuerungseinrichtung übertragen wird, wobei das zweite
Zustandsübergangssignal ein Signal, das
die Erteilung (110) eines Zugriffs auf den
gespiegelten Speicher an die erste
Steuerungseinrichtung anzeigt, oder ein
unkorrektes Zustandsübergangssignal ist,
wodurch das Versagen der zweiten
Steuerungseinrichtung durch die erste
Steuerungseinrichtung erfaßt wird; und
(ii) einem Abschluß der Zeitperiode, die ein
Versagen des zweiten
Steuerungseinrichtungsspeichersystems anzeigt.
6. Das Verfahren gemäß Anspruch 5, bei dem das erste
Zustandsübergangssignal eine Anforderung eines Zugriffs
auf den gespiegelten Speicher jeder
Steuerungseinrichtung anzeigt.
7. Das Verfahren gemäß Anspruch 5, bei dem das erste
Zustandsübergangssignal auf ein Ereignis eines
Speicherzugriffzyklusses hin übertragen wird.
8. Das Verfahren gemäß Anspruch 5, bei dem, wenn der
ersten Steuerungseinrichtung Zugriff auf den
gespiegelten Speicher erteilt ist, der zweiten
Steuerungseinrichtung der Zugriff auf den gespiegelten Speicher
Verwehrt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US35761794A | 1994-12-15 | 1994-12-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69523124D1 DE69523124D1 (de) | 2001-11-15 |
DE69523124T2 true DE69523124T2 (de) | 2002-05-29 |
Family
ID=23406356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69523124T Expired - Lifetime DE69523124T2 (de) | 1994-12-15 | 1995-07-11 | Fehlererkennungssystem für einen gespiegelten Speicher in einer duplizierten Steuerung eines Plattenspeicherungssystems |
Country Status (4)
Country | Link |
---|---|
US (1) | US5699510A (de) |
EP (1) | EP0717358B1 (de) |
JP (1) | JP3655683B2 (de) |
DE (1) | DE69523124T2 (de) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0721162A2 (de) * | 1995-01-06 | 1996-07-10 | Hewlett-Packard Company | Speicherplattenanordnung mit auf gespiegeltem Speicher basierten doppelten Steuergeräten |
JP3628777B2 (ja) | 1995-10-30 | 2005-03-16 | 株式会社日立製作所 | 外部記憶装置 |
US6073209A (en) * | 1997-03-31 | 2000-06-06 | Ark Research Corporation | Data storage controller providing multiple hosts with access to multiple storage subsystems |
US5984504A (en) * | 1997-06-11 | 1999-11-16 | Westinghouse Electric Company Llc | Safety or protection system employing reflective memory and/or diverse processors and communications |
US6170044B1 (en) * | 1997-12-19 | 2001-01-02 | Honeywell Inc. | Systems and methods for synchronizing redundant controllers with minimal control disruption |
US6085333A (en) * | 1997-12-19 | 2000-07-04 | Lsi Logic Corporation | Method and apparatus for synchronization of code in redundant controllers in a swappable environment |
US6230240B1 (en) * | 1998-06-23 | 2001-05-08 | Hewlett-Packard Company | Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface |
US6260124B1 (en) * | 1998-08-13 | 2001-07-10 | International Business Machines Corporation | System and method for dynamically resynchronizing backup data |
US6467047B1 (en) * | 1999-07-30 | 2002-10-15 | Emc Corporation | Computer storage system controller incorporating control store memory with primary and secondary data and parity areas |
US6487680B1 (en) * | 1999-12-03 | 2002-11-26 | International Business Machines Corporation | System, apparatus, and method for managing a data storage system in an n-way active controller configuration |
JP3458804B2 (ja) * | 1999-12-27 | 2003-10-20 | 日本電気株式会社 | 情報記録装置およびその制御方法 |
JP4462697B2 (ja) | 2000-01-31 | 2010-05-12 | 株式会社日立製作所 | 記憶制御装置 |
US6801954B1 (en) | 2000-02-25 | 2004-10-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus to concurrently operate on multiple data movement transactions in a disk array subsystem |
CN100442253C (zh) * | 2001-02-22 | 2008-12-10 | 北京北信源自动化技术有限公司 | 一种服务器数据的热镜像底层驱动热备份方法 |
US6802023B2 (en) | 2001-03-15 | 2004-10-05 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having hot insertion system and method |
US6715101B2 (en) | 2001-03-15 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having an on-line controller removal system and method |
US6708285B2 (en) | 2001-03-15 | 2004-03-16 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having system and method for handling controller resets |
US20030095501A1 (en) * | 2001-11-21 | 2003-05-22 | Exanet, Inc. | Apparatus and method for load balancing in systems having redundancy |
US7093043B2 (en) * | 2001-12-27 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Data array having redundancy messaging between array controllers over the host bus |
US7293196B2 (en) * | 2002-05-08 | 2007-11-06 | Xiotech Corporation | Method, apparatus, and system for preserving cache data of redundant storage controllers |
US6938124B2 (en) * | 2002-07-19 | 2005-08-30 | Hewlett-Packard Development Company, L.P. | Hardware assisted communication between processors |
US6982842B2 (en) * | 2002-09-16 | 2006-01-03 | Seagate Technology Llc | Predictive disc drive failure methodology |
WO2004025650A1 (en) * | 2002-09-16 | 2004-03-25 | Seagate Technology, Inc. | Predictive disc drive failure methodology |
US7076687B2 (en) * | 2002-10-16 | 2006-07-11 | Hitachi, Ltd. | System and method for bi-directional failure detection of a site in a clustering system |
US7603580B2 (en) * | 2003-07-15 | 2009-10-13 | International Business Machines Corporation | Redundant manager for a storage system |
US20050165617A1 (en) * | 2004-01-28 | 2005-07-28 | Patterson Brian L. | Transaction-based storage operations |
US7137042B2 (en) | 2004-03-17 | 2006-11-14 | Hitachi, Ltd. | Heartbeat apparatus via remote mirroring link on multi-site and method of using same |
US7379316B2 (en) * | 2005-09-02 | 2008-05-27 | Metaram, Inc. | Methods and apparatus of stacking DRAMs |
JP4456060B2 (ja) | 2005-12-14 | 2010-04-28 | 富士通株式会社 | Raid制御装置、raid制御プログラム、raid制御方法 |
US7516352B2 (en) * | 2006-03-21 | 2009-04-07 | International Business Machines Corporation | Isolating a drive from disk array for diagnostic operations |
JP5353002B2 (ja) * | 2007-12-28 | 2013-11-27 | 富士通株式会社 | ストレージシステム及び情報処理装置のアクセス制御方法 |
JP2010026677A (ja) * | 2008-07-17 | 2010-02-04 | Hitachi Ltd | ファイル共有装置及びファイル共有システム |
US8782347B2 (en) * | 2009-06-26 | 2014-07-15 | Intel Corporation | Controllably exiting an unknown state of a cache coherency directory |
US8327228B2 (en) * | 2009-09-30 | 2012-12-04 | Intel Corporation | Home agent data and memory management |
US8799586B2 (en) * | 2009-09-30 | 2014-08-05 | Intel Corporation | Memory mirroring and migration at home agent |
US8201020B2 (en) * | 2009-11-12 | 2012-06-12 | International Business Machines Corporation | Method apparatus and system for a redundant and fault tolerant solid state disk |
JP5966243B2 (ja) * | 2010-12-20 | 2016-08-10 | 富士通株式会社 | ストレージ装置及びストレージ装置の制御方法 |
US9548885B2 (en) * | 2012-07-02 | 2017-01-17 | Marvell Israel (M.I.S.L) Ltd | Systems and methods for providing replicated data from memories to processing clients |
US9064562B2 (en) | 2013-04-03 | 2015-06-23 | Hewlett-Packard Development Company, L.P. | Memory module having multiple memory banks selectively connectable to a local memory controller and an external memory controller |
CN105393224B (zh) | 2013-07-18 | 2018-10-19 | 恩智浦美国有限公司 | 故障检测装置及方法 |
US10585769B2 (en) | 2017-09-05 | 2020-03-10 | International Business Machines Corporation | Method for the implementation of a high performance, high resiliency and high availability dual controller storage system |
DE102018103152A1 (de) * | 2018-02-13 | 2019-08-14 | Infineon Technologies Ag | Vorrichtung und verfahren zum überwachen einer digitalen steuereinheit hinsichtlich funktionaler sicherheit sowie steuergerät |
EP3531286B1 (de) * | 2018-02-26 | 2020-08-05 | ARM Limited | Schaltung |
CN110535714B (zh) * | 2018-05-25 | 2023-04-18 | 华为技术有限公司 | 一种仲裁方法及相关装置 |
CN114442924B (zh) * | 2021-12-06 | 2024-03-15 | 北京航空航天大学 | 一种不规则控制器的控制方法及装置 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4339804A (en) * | 1979-07-05 | 1982-07-13 | Ncr Corporation | Memory system wherein individual bits may be updated |
US5193154A (en) * | 1987-07-10 | 1993-03-09 | Hitachi, Ltd. | Buffered peripheral system and method for backing up and retrieving data to and from backup memory device |
US4958273A (en) * | 1987-08-26 | 1990-09-18 | International Business Machines Corporation | Multiprocessor system architecture with high availability |
US5204952A (en) * | 1988-07-18 | 1993-04-20 | Northern Telecom Limited | Duplex processor arrangement for a switching system |
EP0415545B1 (de) * | 1989-08-01 | 1996-06-19 | Digital Equipment Corporation | Verfahren zur Softwarefehlerbehandlung |
JPH03132143A (ja) * | 1989-10-17 | 1991-06-05 | Fujitsu Ltd | 交換機システムにおける非常再開処理方式 |
US5195100A (en) * | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
US5212785A (en) * | 1990-04-06 | 1993-05-18 | Micro Technology, Inc. | Apparatus and method for controlling data flow between a computer and memory devices |
US5214778A (en) * | 1990-04-06 | 1993-05-25 | Micro Technology, Inc. | Resource management in a multiple resource system |
US5155845A (en) * | 1990-06-15 | 1992-10-13 | Storage Technology Corporation | Data storage system for providing redundant copies of data on different disk drives |
US5212784A (en) * | 1990-10-22 | 1993-05-18 | Delphi Data, A Division Of Sparks Industries, Inc. | Automated concurrent data backup system |
US5155835A (en) * | 1990-11-19 | 1992-10-13 | Storage Technology Corporation | Multilevel, hierarchical, dynamically mapped data storage subsystem |
US5278838A (en) * | 1991-06-18 | 1994-01-11 | Ibm Corp. | Recovery from errors in a redundant array of disk drives |
US5237658A (en) * | 1991-10-01 | 1993-08-17 | Tandem Computers Incorporated | Linear and orthogonal expansion of array storage in multiprocessor computing systems |
US5297258A (en) * | 1991-11-21 | 1994-03-22 | Ast Research, Inc. | Data logging for hard disk data storage systems |
US5379417A (en) * | 1991-11-25 | 1995-01-03 | Tandem Computers Incorporated | System and method for ensuring write data integrity in a redundant array data storage system |
US5287462A (en) * | 1991-12-20 | 1994-02-15 | Ncr Corporation | Bufferless SCSI to SCSI data transfer scheme for disk array applications |
US5289418A (en) * | 1992-02-14 | 1994-02-22 | Extended Systems, Inc. | Memory apparatus with built-in parity generation |
WO1993018456A1 (en) * | 1992-03-13 | 1993-09-16 | Emc Corporation | Multiple controller sharing in a redundant storage array |
US5388254A (en) * | 1992-03-27 | 1995-02-07 | International Business Machines Corporation | Method and means for limiting duration of input/output (I/O) requests |
US5418921A (en) * | 1992-05-05 | 1995-05-23 | International Business Machines Corporation | Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes |
JPH05341918A (ja) * | 1992-05-12 | 1993-12-24 | Internatl Business Mach Corp <Ibm> | 二重化デイスク記憶装置システムを構成するための接続装置 |
US5459857A (en) * | 1992-05-15 | 1995-10-17 | Storage Technology Corporation | Fault tolerant disk array data storage subsystem |
US5379415A (en) * | 1992-09-29 | 1995-01-03 | Zitel Corporation | Fault tolerant memory system |
US5437022A (en) * | 1992-12-17 | 1995-07-25 | International Business Machines Corporation | Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto |
-
1995
- 1995-07-11 DE DE69523124T patent/DE69523124T2/de not_active Expired - Lifetime
- 1995-07-11 EP EP95110819A patent/EP0717358B1/de not_active Expired - Lifetime
- 1995-12-15 JP JP34778595A patent/JP3655683B2/ja not_active Expired - Fee Related
-
1996
- 1996-05-30 US US08/657,714 patent/US5699510A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5699510A (en) | 1997-12-16 |
EP0717358A1 (de) | 1996-06-19 |
JPH08249130A (ja) | 1996-09-27 |
JP3655683B2 (ja) | 2005-06-02 |
EP0717358B1 (de) | 2001-10-10 |
DE69523124D1 (de) | 2001-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69523124T2 (de) | Fehlererkennungssystem für einen gespiegelten Speicher in einer duplizierten Steuerung eines Plattenspeicherungssystems | |
DE3853452T2 (de) | Mehrfachverarbeitung mit hoher Verfügbarkeit. | |
DE69608641T2 (de) | Ausfallbeseitigung für Steuergerät für eine Ein-/Ausgabevorrichtung | |
DE4233569C2 (de) | Informationsverarbeitungsgerät mit einer Mehrzahl von Prozessor-Modulen, die einen Fehlerüberwachungskreis enthalten | |
DE69506997T2 (de) | System zur Verwendung eines gespiegelten Speichers als fehlerunempfindlichen Kommunikationspfad zwischen doppelten Plattenspeichersteuerungen | |
DE19832060C2 (de) | Doppelbare Prozessoreinrichtung | |
DE69506155T2 (de) | Asynchrones Datenfernkopieren | |
DE69124285T2 (de) | Datenverarbeitungssystem mit einem Eingangs-/Ausgangswegetrennmechanismus und Verfahren zur Steuerung des Datenverarbeitungssystems | |
DE3855031T2 (de) | Kopiesystem mit "Hot-standby"-Speicher | |
DE3781486T2 (de) | Verfahren zur stossfreien umschaltung von aktiven einheiten zu ersatzeinheiten in datenverarbeitungsanlagen und datenverarbeitungsanlage zur durchfuehrung dieses verfahrens. | |
DE3485820T2 (de) | Doppelspeichersystem mit reservestromversorgung. | |
DE69131840T2 (de) | Verfahren zur Vervielfältigung eines geteilten Speichers | |
EP1249744A1 (de) | Verfahren zum Herstellen konsistenter Speicherinhalte in redundanten Systemen | |
DE3727850A1 (de) | Fehler-pruefsystem | |
DE69822866T2 (de) | System und verfahren zum beenden von lock-step-sequenzen in einem multiprozessorsystem | |
DE10125724B4 (de) | Speichersystem, Speicherbauelement und Speicherdatenzugriffsverfahren | |
DE19614237C1 (de) | Kommunikationssystem mit einer Meisterstation und mindestens einer Sklavenstation | |
DE60036923T2 (de) | Dram-auffrischungsüberwachung und taktgenaue verteilte busarbitrierung in einer multiprozessorumgebung | |
DE60303468T2 (de) | Fehlertolerante Vorrichtung zur Informationsverarbeitung | |
DE3123382C2 (de) | Verfahren und Einrichtung zum Übertragen von Daten in einem Mehrprozessorsystem | |
DE69508034T2 (de) | Fehlererkennungs-System und -Verfahren für gespiegelten Speicher zwischen doppelten Plattenspeichersteuerungen | |
DE4335061C2 (de) | Mehrspeichervorrichtung | |
DE69900915T2 (de) | Prozessorbrücke mit zugriff zum verschiedenen daten | |
DE60300233T2 (de) | Fehlertolerante Vorrichtung zur informationsverarbeitung | |
DE69617709T2 (de) | Steuerung von gemeinsamen plattendaten in einer duplex-rechnereinheit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |