[go: up one dir, main page]

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 Plattenspeicherungssystems

Info

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
Application number
DE69523124T
Other languages
English (en)
Other versions
DE69523124D1 (de
Inventor
Barry J. Oldfield
Mark D. Petersen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Application granted granted Critical
Publication of DE69523124D1 publication Critical patent/DE69523124D1/de
Publication of DE69523124T2 publication Critical patent/DE69523124T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2097Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1612Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2089Redundant storage control functionality
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error 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

    GEBIET DER ERFINDUNG
  • 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.
  • HINTERGRUND DER ERFINDUNG
  • 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.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • 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.
DE69523124T 1994-12-15 1995-07-11 Fehlererkennungssystem für einen gespiegelten Speicher in einer duplizierten Steuerung eines Plattenspeicherungssystems Expired - Lifetime DE69523124T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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 &#34;Hot-standby&#34;-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