DE69132227T2 - Eingang-/Ausgangsteuerungseinrichtung - Google Patents
Eingang-/AusgangsteuerungseinrichtungInfo
- Publication number
- DE69132227T2 DE69132227T2 DE69132227T DE69132227T DE69132227T2 DE 69132227 T2 DE69132227 T2 DE 69132227T2 DE 69132227 T DE69132227 T DE 69132227T DE 69132227 T DE69132227 T DE 69132227T DE 69132227 T2 DE69132227 T2 DE 69132227T2
- Authority
- DE
- Germany
- Prior art keywords
- input
- data
- storage device
- controller
- error
- 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
- 230000005856 abnormality Effects 0.000 claims description 37
- 238000001514 detection method Methods 0.000 claims description 31
- 238000012544 monitoring process Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 10
- 238000012937 correction Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 description 22
- 238000000034 method Methods 0.000 description 22
- 230000003449 preventive effect Effects 0.000 description 21
- 238000012546 transfer Methods 0.000 description 10
- 230000002159 abnormal effect Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 239000000428 dust Substances 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 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/004—Error avoidance
-
- 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/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
- Die vorliegende Erfindung betrifft einen I/O-Controller, welcher eine I/O-Einheit auf der Basis eines Befehls von einer Hosteinheit steuert, und mehr im einzelnen einen I/O- Controller, welcher an eine Hosteinheit präventive Wartungsinformationen über eine Reserve-I/O-Einheit liefert, welche anstelle einer I/O-Einheit eingesetzt wird, in der eine Abnormalität auftritt, falls irgendeine Abnormalität in einer I/O-Einheit auftritt.
- In jüngerer Zeit hat die Nachfrage nach hoher Zuverlässigkeit in einem Computersystem die Nachfrage nach einer hohen Zuverlässigkeit in einem I/O-Subsystem begleitet. Das hat zu der Praxis geführt, ein I/O-Subsystem mit einer Reserve-I/O-Einheit vorzusehen. In einem solchen I/O-Subsystem wird die Reserve-I/O-Einheit nicht während des normalen Betriebs eingesetzt. Sie wird nur eingesetzt, wenn irgendeine Abnormalität einschließlich eines Lesefehlers oder eines Hardwareversagens irgendwo in einer momentan laufenden I/O-Einheit auftritt.
- Infolgedessen wird gefordert, ein I/O-Subsystem mit einem Mittel zum Überwachen der Normalität/Abnormalität einer Reserve-I/O-Einheit und zum Liefern derartiger präventiver Wartungsinformationen, die einen Hartfehler (englisch: hard error) oder einen Lesefehler betreffen, an eine Hosteinheit zu schaffen, damit eine Reserve-I/O-Einheit die von einer normalen Reserve-I/O-Einheit erwartete Leistung ausführt.
- Ein Magnetplattencontroller vom Arraytyp ist als I/O- Controller zum Liefern von präventiven Wartungsinformationen über eine Reserve-I/O-Einheit, die anstelle einer I/O- Einheit, bei der eine Abnormalität gefunden wird, eingesetzt werden soll, an eine Hosteinheit in Gebrauch gewesen. Ein Magnetplattencontroller vom Arraytyp umfaßt einen Hosteinheit-Schnittstellencontroller, einen Unterordnungseinheit-Schnittstellencontroller, einen Prozessor und verschiedene Register. Eine Vielzahl von Datendiskettenlaufwerken, ein Paritätsdiskettenlaufwerk und ein Reservediskettenlaufwerk sind als untergeordnete Einheiten angeschlossen und stehen unter einer Synchronrotationskontrolle.
- Ein Magnetplattencontroller vom Arraytyp prüft auf Datenabnormalität durch Lesen von Daten und einer Parität, und zwar parallel von jedem aus einer Vielzahl von Datendiskettenlaufwerken und dem Paritätsdiskettenlaufwerk. Wenn keine Abnormalität gefunden wird und ein normaler Betrieb bestätigt wird, werden Daten unmodifiziert an eine Hosteinheit übertragen.
- Wenn irgendeine Datenabnormalität detektiert wird, dann stellt ein Magnetplattenlaufwerk vom Arraytyp korrekte Daten auf der Basis von Daten und einer Parität wieder her, die von einem normalen Datendiskettenlaufwerk, welches nicht das eine Diskettenlaufwerk ist, von welchem die fehlerhaften Daten gelesen worden sind, sowie von einem Paritätsdiskettenlaufwerk gelesen werden, und übertragen diese zu der Hosteinheit.
- Wenn aus einem bestimmten Grund irgendeine Abnormalität einschließlich eines Lesefehlers oder eines Hardwareversagens häufiger als die spezifizierten Male in einem der Datendiskettenlaufwerke auftritt, das als eine (derzeit) lau fende I/O-Einheit wirkt, oder in einem Paritätsdiskettenlaufwerk, dann werden alle Daten, die in das abnormale Datendiskettenlaufwerk oder das abnormale Paritätsdiskettenlaufwerk geschrieben sind, automatisch und sofort von den anderen normalen Datendiskettenlaufwerken und einem normalen Paritätsdiskettenlaufwerk wiedergewonnen und in dem Reservediskettenlaufwerk wiederhergestellt. Durch Verwendung des Reservediskettenlaufwerkes als eine laufende I/O-Einheit anstelle des abnormalen Diskettenlaufwerkes ist ein kontinuierlicher Betrieb gewährleistet, und eine System- Ausfallzeit wird verhindert.
- Es könnte jedoch passieren, daß das Vorhandensein eines Hartfehlers oder eines Lesefehlers in einem Reservediskettenlaufwerk selbst durch eine Hosteinheit nicht ordentlich detektiert werden kann, und daß man beim ersten Mal, wo das Reservediskettenlaufwerk als eine I/O-Einheit anstelle des abnormalen Diskettenlaufwerkes eingesetzt wird, findet, daß das Reservediskettenlaufwerk selbst einen Hartfehler oder einen Lesefehler enthält und die Funktion eines Reservediskettenlaufwerkes nicht ausfüllen kann.
- Das ist der Grund, warum ein Verfahren in einer Einrichtung in Gebrauch war, die ein aus einer Vielzahl von Einheiten bestehendes Hauptsystem und eine Reserveeinheit zum Sichern der Einheiten des Hauptsystems umfaßt, bei welcher eine Reserveeinheit überwacht wird, indem man eine Reserveeinheit mit dem gleichen Eingangssignal wie demjenigen versorgt, das man an irgendeine Einheit des Hauptsystems gibt, und indem man die beiden Signale vergleicht, die von der Reserveeinheit und der zuvor erwähnten Einheit des Hauptsystems ausgegeben werden (japanische offengelegte Patentanmeldung 56-72359). Allerdings erfordert dieses Verfahren der Überwachung einen kontinuierlichen Betrieb der Reserveeinheit gleichzeitig mit der laufenden Einheit im dem Hauptsystem. Es ist äquivalent dazu, eine weitere I/O- Einheit zu haben, die durch einen I/O-Controller gesteuert werden muß, und führt zu einer erhöhten Belastung der Hosteinheit.
- Ein anderes Verfahren war in Gebrauch, bei welchem Abnormalitäten in einem I/O-Controller regelmäßig entsprechend einer Zeittafel überwacht werden (japanische offengelegte Patentanmeldung 62-212856). Dieses überwacht jedoch nicht entweder Abnormalitäten in einer Reserve-I/O-Einheit oder nutzt ein Zeitintervall, welches nicht für eine Operation gebraucht wird. Es waren noch andere Verfahren in Gebrauch, einschließlich eines Überwachungsverfahrens, bei welchem eine mit doppelten zentralen Verarbeitungseinheiten (CPU), insbesondere der laufenden und der Reserve-CPUs, ausgestattete Einrichtung erlaubt, daß ein Test unter einer Bedingung ähnlich dem normalen Betrieb durch gleichzeitiges Laufenlassen einer Software in der Reserve-CPU durchgeführt wird (japanische offengelegte Patentanmeldung 2-93953), und ein Überwachungsverfahren, bei welchem ein Test in regelmäßigen Intervallen an der Reserve-CPU durchgeführt wird (japanische offengelegte Patentanmeldung 62-90068). Allerdings sind diese Verfahren einer Einrichtungsüberwachung mit doppelten CPUs nicht so, daß eine Reserve-CPU unter Ausnutzung eines Zeitintervalls, welches nicht für eine Operation verwendet wird, überwacht wird.
- EP-A-320107 offenbart einen Eingabe/Ausgabecontroller, umfassend eine Vielzahl von I/O-Einheiten, einen Leitcontroller, welcher einen Operationsbefehl von einem Hostcomputer an die I/O-Einheiten empfängt, Prüfmittel zum Prüfen, ob Daten in der I/O-Einheit normal sind, und zwar auf der Basis eines Signals, das man durch gleichzeitiges Lesen von Daten- und Fehlerdetektiercodes von der I/O-Einheit erhält. Wenn die Daten nicht normal sind, dann ist eine Möglichkeit, daß Daten mit dem online bleibenden System wiederhergestellt werden. In diesem Fall werden Daten in den Perioden wiederhergestellt, in denen der Hostcomputer keine Forderungen stellt.
- Der Artikel "F6490 Magnetic disk subsystem: DIA", Oyama et al. Fujitsu Scientific & Technical Journal, (1990), Seiten 291 bis 295, beschreibt ein Magnetplattenlaufwerk entsprechend dem Oberbegriff des Anspruches 1. Die europäische Patentanmeldung EP-A-0 502 207, welche eine Stammanmeldung der vorliegenden Anmeldung ist, wurde im Hinblick auf die oben stehenden Betrachtungen entwickelt. Die Aufgabe der vorliegenden Erfindung ist es, einen I/O-Controller zum Überwachen des Zustandes einer Reserve-I/O-Einheit und/oder einer laufenden I/O-Einheit zu schaffen. Ihre Aufgabe ist es, einen I/O-Controller zu schaffen, der zum Überwachen des Zustandes einer Reserve-I/O-Einheit und/oder einer laufenden I/O-Einheit während eines Zeitintervalls ausgelegt ist, das nicht für eine Operation verwendet wird, wenn kein Befehl von einer Hosteinheit verarbeitet wird.
- Gemäß der vorliegenden Erfindung ist ein Eingabe/Ausgabeontroller für eine Verbindung einerseits zu einer Hosteinheit und andererseits zu einer logischen Speichereinrichtung vorgesehen, die eine erste Speichereinrichtung, welche einen Fehlerkorrekturcode wie etwa einen Paritätscode, speichert, ferner eine zweite Reservespeichereinrichtung und eine Vielzahl von Datenspeichereinrichtungen aufweist, umfassend einen Operationscontroller, der eine Leseoperation bei den Speichereinrichtungen steuert, die die Datenspeichereinrichtungen und die erste Speichereinrichtung steuern, wenn diese Speichereinrichtungen normal sind und keinen Hartfehler, Lesefehler oder beides enthalten, und die verbleibenden Datenspeichereinrichtungen, nämlich die erste Speichereinrichtung und die zweite Speichereinrichtung in dem Fall steuern, daß eine der Daten- oder ersten Speichereinrichtungen einen Hartfehler, einen Lesefeh ler oder beides enthalten, gekennzeichnet durch Mittel zum Anweisen einer Suchoperation bei den Speichereinrichtungen, wenn der Operationscontroller keinen von der Hosteinheit eingegebenen Befehl verarbeitet.
- Die vorliegende Erfindung macht es auch möglich, daß eine Hosteinheit einen Hartfehler und einen Lesefehler in einer I/O-Einheit oder einer Reserve-I/O-Einheit als Teil einer normalen Operation überwacht. Das erlaubt es, jede abnormale I/O-Einheit während einer normalen Operation zu reparieren oder auszutauschen, und eine Reserve-I/O-Einheit ohne Verzögerung in einen normalen Betrieb zu versetzen, wenn irgendeine Abnormalität einschließlich eines Lesefehlers oder eines Hardwareversagens in einer laufenden I/O- Einheit so auftritt, daß die Reserve-I/O-Einheit zum ersten Mal durch die Hosteinheit eingesetzt wird.
- Die vorliegende Erfindung verwendet auch eine Vielzahl von Datendiskettenlaufwerken und ein Paritätsdiskettenlaufwerk als die zuvor erwähnten I/O-Einheiten, verwendet ferner ein Reservediskettenlaufwerk als die zuvor erwähnte Reserve-I/O-Einheit, umfaßt einen Synchronrotationscontroller, der diese Diskettenlaufwerke unter eine Synchronrotationskontrolle stellt, und umfaßt die zuvor erwähnten Steuerungsmittel, Prüfmittel, Entscheidungsmittel, einen Unterordnungseinheit-Schnittstellencontroller und einen Kanal-Schnittstellencontroller. Durch Einsatz der vorliegenden Erfindung ist es möglich, eine Abnormalität in einem Reservediskettenlaufwerk unter Verwendung eines Magnetplattenlaufwerkes vom Arraytyp zu detektieren, ohne eine erhöhte Belastung für die Hosteinheit zu erzeugen, weil eine Abnormalität eines Reservediskettenlaufwerkes in einem Zeitintervall detektiert werden kann, das nicht für eine Operation verwendet wird, wenn kein Befehl von einer Hosteinheit verarbeitet wird.
- Die vorliegende Erfindung kann ein Überwachungs-Zeitgeberregister umfassen, welches ein Zeitintervall zählt, das nicht für eine Operation verwendet wird, und welches eine Entscheidung über eine Abnormalität in einer Reserve- I/O-Einheit oder einem Reserve-I/O-Diskettenlaufwerk ausgibt, nachdem die Zählung des Zeitgeberregisters einen spezifizierten Wert erreicht hat. Das führt zu einer genauen Zählung eines Zeitintervalls, welches nicht für eine Operation verwendet wird.
- Außerdem wird in dem zuvor erwähnten Magnetplattencontroller vom Arraytyp gemäß der vorliegenden Erfindung das Reservediskettenlaufwerk durch Stromversorgungsmittel mit Strom versorgt, auch wenn es nicht in Benutzung ist, womit das Reserve-I/O-Diskettenlaufwerk stets bereit gehalten wird und die Entscheidung über das Reservediskettenlaufwerk erlaubt ist.
- Fig. 1 ist ein Blockdiagramm, welches ein Basisprinzip der vorliegenden Erfindung illustriert.
- Fig. 2 ist ein Blockdiagramm von zwei I/O-Controllern, welche eine Hosteinheit und eine Vielzahl von Logikeinrichtungen teilen.
- Fig. 3 ist ein Blockdiagramm einer Ausgestaltung der I/O-Controller der vorliegenden Erfindung.
- Fig. 4 ist ein Flußdiagramm, welches eine Operation der ersten Ausgestaltung der vorliegenden Erfindung illustriert.
- Fig. 5A und 5B sind Flußdiagramme, welche eine zweite Ausgestaltung der vorliegenden Erfindung erläutern.
- Um eine detaillierte Beschreibung der vorliegenden Erfindung zu geben, werden unten Erläuterungen in Übereinstimmung mit den beigefügten Figuren vorgelegt. In Fig. 1 umfaßt ein I/O-Controller 20 einen Hosteinheit-Schnittstellencontroller 21, Prüfmittel 22, Steuerungsmittel 23, Entscheidungsmittel 24, ein Speicherregister 25 für präventive Wartungsinformationen, einen Unterordnungseinheit-Schnittstellencontroller 26 und ein Überwachungs-Zeitgeberregister 27. Der Hosteinheit-Schnittstellencontroller 21 empfängt Befehle, die von einer Hosteinheit 10 ausgegeben werden. Der Unterordnungseinheit-Schnittstellencontroller 26 ist mit einer Vielzahl I/O-Einheiten 30 und einer Reserve-I/O- Einheit 31 verbunden. Die Prüfmittel 22 lesen einen Daten- und Fehlerdetektiercode gleichzeitig von den I/O-Einheiten 30, und sie führen eine Fehlerdetektierung unter Verwendung der gelesenen Daten und Fehlerdetektierungscodes aus, und sie prüfen auf Normalität von Daten in den I/O-Einheiten 30.
- Die Steuerungsmittel 23 wählen die I/O-Einheiten 30 aus, wenn das Ergebnis der von den Prüfmitteln 22 durchgeführten Prüfung zeigt, daß alle Daten, die von den I/O-Einheiten gelesen werden, normal sind, und sie steuern die Operation des I/O-Controllers 30 gemäß dem Befehl von der Hosteinheit. Die Reserve-I/O-Einheit 31 wird in diesem Fall nicht eingesetzt.
- Wenn andererseits das Ergebnis der durch die Prüfmittel 22 durchgeführten Prüfung zeigt, daß bei den von einer aus der Vielzahl der I/O-Einheiten gelesenen Daten gefunden wird, daß sie Abnormalitäten häufiger als die spezifizierten Male enthalten, dann stellt der Unterordnungseinheit- Schnittstellencontroller 26 alle die in I/O-Einheiten, bei denen eine Ahnormalität gefunden wurde, geschriebenen Daten aus dem Daten- und Fehlerdetektiercode, der von den normalen I/O-Einheiten gelesen wird, die nicht die I/O-Einheiten sind, bei denen eine Ahnormalität gefunden wurde, wieder her, und schreibt die wiederhergestellten Daten in die Reserve-I/O-Einheit 31. Dementsprechend wird die Reserve-I/O- Einheit als die laufende I/O-Einheit anstelle der I/O-Einheit eingesetzt, wo eine Abnormalität gefunden wurde.
- Die Entscheidungsmittel 24 wählen I/O-Einheiten oder die Reserve-I/O-Einheit über den Unterordnungseinheit-Schnittstellencontroller 26 in einem Zeitintervall aus, das nicht für eine Operation verwendet wird, wenn die Steuerungsmittel 23 keine von der Hosteinheit 10 über den Hosteinheit- Schnittstellencontroller 21 eingegebenen Befehle verarbeiten, und entscheiden, ob die ausgewählten I/O-Einheiten 30 oder die Reserve-I/O-Einheit 31 normal arbeiten.
- Wenn die Entscheidungsmittel 24 eine Abnormalitätsentscheidung ausgeben, dann wird die Information über diese Abnormalität in dem Speicherregister für präventive Wartungsinformationen gespeichert, um diese an die Hosteinheit als präventive Wartungsinformationen zu übergeben. Das nicht für eine Operation verwendete Zeitintervall, bei welchem die Entscheidungsmittel 24 eine Entscheidung geben sollten, wird von der Zählung des Überwachungs-Zeitgeberregisters 27 bestimmt.
- Die zuvor erwähnten Entscheidungsmittel 24 geben eine Abnormalitätsentscheidung aus, wenn die von der Reserve- I/O-Einheit 31 ausgesandten Signale einen Hartfehler anzeigen, wenn eine Schreiboperation von Daten oder eine Suchoperation vollendet ist. Die Entscheidungsmittel 24 geben auch eine Abnormalitätsentscheidung aus, wenn die Mittel die Daten in der Reserve-I/O-Einheit 31 lesen, und wenn ge funden wird, daß die so gelesenen Daten einen Lesefehler enthalten.
- Mit der Verwendung eines I/O-Controllers 20 mit einer solchen Konfiguration kann eine Abnormalität in der Reserve-I/O-Einheit 31 auch dann detektiert werden, wenn die Reserve-I/O-Einheit 31 nicht im Einsatz ist, da ein nicht für eine Operation verwendetes Zeitintervall verwendet wird. Da präventive Wartungsinformationen von dem Speicherregister 25 für präventive Wartungsinformationen an die Hosteinheit übermittelt werden, ist darüber hinaus die Kosteinheit 10 dann, wenn man findet, daß die Reserve-I/O- Einheit 31 Abnormalitäten enthält, in der Lage, einen Hartfehler oder einen Lesefehler in der Reserve-I/O-Einheit 31 selbst zu identifizieren, und zwar auf der Basis dieser präventiven Wartungsinformationen.
- Mit der Verwendung des I/O-Controllers 20 kann darüber hinaus eine Abnormalitität nicht nur in der Reserve-I/O- Einheit 31 sondern auch in den I/O-Einheiten 30 detektiert werden. In dem letzteren Fall geben die Entscheidungsmittel 24 eine Abnormalitätsentscheidung aus, wenn ein Signal eines Hartfehlers von den I/O-Einheiten 30 eingegeben wird, nachdem eine Suchoperation in den I/O-Einheiten 31 durchgeführt wird.
- Es wird empfohlen, zwei Sätze dieser in Fig. 2 als 201, 202 dargestellten I/O-Controller 20 vorzusehen, den beiden Sätzen zu erlauben, eine Hosteinheit 10 und eine Vielzahl von Logikeinrichtungen 40&sub0; bis 40N zu teilen. Jede der Logikeinrichtungen 40&sub0; bis 40N umfaßt eine Vielzahl von I/O- Einheiten 30 und eine Reserve-I/O-Einheit 31.
- Mit einer solchen Konfiguration ist es für jeden der I/O-Controller 20&sub1; und 20&sub2; möglich, verschiedene Logikeinrichtungen zu einem gegebenen Zeitpunkt auszuwählen und zu steuern, und zwar auf der Basis des Befehls von der Hosteinheit 10.
- Die Ausgestaltung der Fig. 3 wird beschrieben. In der Fig. 3 entspricht ein Magnetplattencontroller 60 vom Arraytyp dem zuvor erwähnten I/O-Controller 20. Der Magnetplattencontroller 60 vom Arraytyp umfaßt einen Kanal- Schnittstellencontroller 61, der dem Hosteinheit-Schnittstellencontroller 21 entspricht, einen Operationscontroller 62a, einen Entscheidungscontroller 62b, einen Unterordnungseinheit-Schnittstellencontroller 63, welcher dem Unterordnungseinheit-Schnittstellencontroller 26 entspricht, ein Speicherregister 64 für präventive Wartungsinformationen, ein Überwachungs-Zeitgeberregister 65 und einen Synchronrotations-Controller 66.
- Der Operationscontroller 62a ist ein Schaltkreis, welcher die zuvor erwähnten Prüfmittel 22, die Steuerungsmittel 23 bildet, während der Interpretationscontroller 62b ein Schaltkreis ist, welcher die Entscheidungsmittel 24 bildet. Beide umfassen einen Prozessor 621, einen gesteuerten Speicher 622, ein Systemrückstell-Zeitgeberregister 23, ein Zeitgeberregister 624 zum Überwachen der Betriebszeit, ein Suchadreßregister 625, ein Adreßregister 626 für Logikeinrichtungen, ein Fehlerdetektier-Flagregister 627 und einen Datenübertragungscontroller 628.
- Der Prozessor 621 steuert den gesamten Magnetplattencontroller vom Arraytyp, welcher vom mikroprogrammierbaren Typ ist. Der gesteuerte Speicher 622 speichert den Instruktionscode für den Prozessor 621, und er wird als eine Tabelle zum Steuern einer Firmware verwendet.
- Der Datenübertragungscontroller 628 steuert die Datenübertragung zwischen dem Kanalschnittstellencontroller 61 und dem Unterordnungseinheit-Schnittstellencontroller 63.
- Sie generiert auch die Parität der übertragenen Daten und überträgt sie zu dem Unterordnungseinheit-Schnittstellencontroller 653.
- Der Unterordnungseinheit-Schnittstellencontroller 63 umfaßt Diskettencontroller #0 - #9, die als 630-639 dargestellt sind. Der Kanal-Schnittstellencontroller 61 umfaßt Steuerregister, und er führt eine bidirektionale Datenkommunikation mit der Hosteinheit 50 durch. Die Hosteinheit 50 besteht aus CPUs (zentralen Verarbeitungseinheiten). Der Synchronrotationscontroller 66 stellt Magnetplatten in den zehn Magnetplattenlaufwerken, die zu den später beschriebenen Logikeinrichtungen 70&sub0; bis 70N gehören, unter Synchronsteuerung.
- Jeder der Diskettencontroller 630-639 ist mit N + 1 Sätzen von Logikeinrichtungen 700 bis 70N verbunden. Die Logikeinrichtungen 70&sub0; bis 70N haben alle die gleiche Konfiguration, und sie bestehen aus zehn Magnetplattenlaufwerken 700-709. Aus diesen zehn sind die Magnetlaufwerke 700-707 Datendiskettenlaufwerke mit bereits auf die Magnetplatten geschriebenen Daten, und sie sind auf eine solche Weise konfiguriert, daß Daten nach Wunsch geschrieben und gelesen werden können.
- Ein Magnetplattenlaufwerk 708 ist ein Paritätsdiskettenlaufwerk, bei welchem das Paritätsbit der in die Datendiskettenlaufwerke 700-707 geschriebenen Daten auf eine lese- und schreibfähige Magnetplatte (nachstehend als Paritätsdiskette bezeichnet) geschrieben werden. Ein Magnetplattenlaufwerk 709 ist ein Reservediskettenlaufwerk, und weder Daten noch eine Parität ist zu Anfang auf eine leseschreibfähige Magnetplatte (nachstehend als Reserveplatte bezeichnet) geschrieben. Von den Logikeinrichtungen 70&sub0;-70N wird in einem gegebenen Augenblick nur eine Logikeinrichtung durch den Magnetplattencontroller 60 vom Arraytyp gesteuert.
- Die Magnetplattencontroller 60 vom Arraytyp, die in Fig. 3 gezeigt sind, sind als ein Paar und parallel angeordnet, wie in Fig. 2 gezeigt ist, und sie sind auf eine solche Weise verbunden, daß sie die Hosteinheit 50 teilen, und sie sind in der Lage, unabhängig voneinander jeweils die Logikeinrichtungen 70&sub0; bis 70N zu steuern.
- Der Magnetcontroller 60 vom Arraytyp ist in dieser Konfiguration dadurch gekennzeichnet, daß eine höhere Geschwindigkeit bei der Datenübertragung erreicht wird, und zwar verglichen mit der Konfiguration, bei der ein Magnetplattenlaufwerk verwendet wird, weil durch den Befehl von der Hosteinheit 50 definierte Daten in einem Block von 8 Bytes gleichzeitig in die Datendiskettenlaufwerke 700-707 geschrieben und aus diesen gelesen werden, während zur gleichen Zeit die Parität dieser Daten in das Paritätsdiskettenlaufwerk 708 geschrieben und aus diesem gelesen werden.
- Darüber hinaus ist der Controller in dieser Konfiguration dadurch gekennzeichnet, daß er eine große Zuverlässigkeit aufweist, weil dann, wenn gefunden wird, daß irgendeines der zuvor erwähnten 9 Diskettenlaufwerke 700-708 Abnormalitäten einschließlich eines Lesefehlers oder eines Hardwareversagens enthalten, während ein Befehl von der Hosteinheit 50 verarbeitet wird, dieser automatisch in dem Magnetplatten-Subsystem den Inhalt des Diskettenlaufwerkes, wo die Abnormalität gefunden wurde, aus den Daten der verbleibenden acht normalen Diskettenlaufwerke wiederherstellt und die wiederhergestellten Daten in das Reservediskettenlaufwerk 709 schreibt.
- Wenn beispielsweise angenommen wird, daß die in die 8 Magnetplatten geschriebenen Daten D&sub0; bis D&sub7; sind, daß die in die Paritätsdiskette in dem einen Paritätsdiskettenlaufwerk 708 geschriebene Parität gleich P&sub0; ist, und daß eine Abnormalität in der Magnetplatte im Datendiskettenlaufwerk 702 aufgetreten ist, dann werden die unleserlichen Daten D&sub2; aus den anderen Daten D&sub0;, D&sub1;, D&sub3; bis D&sub7;, und der Parität P&sub0;, die lesbar waren, wiederhergestellt. Wenn eine Abnormalität häufiger als die spezifizierten Male in dem Datendiskettenlaufwerk 702 auftritt, werden alle in das Datendiskettenlaufwerk 702 geschriebenen Daten in das Reservediskettenlaufwerk geschrieben, indem diese automatisch aus den anderen 8 normalen Diskettenlaufwerken in dem Magnetplatten- Subsystem wiederhergestellt werden. Das Reservediskettenlaufwerk 709 wird anstelle des Datendiskettenlaufwerkes 702 eingesetzt.
- Es wird unten in jeder Ausgestaltung eine Beschreibung einer Operation vorgelegt, die zu der Zeit ausgeführt werden kann, zu der kein Befehl von der Hosteinheit 50 verarbeitet wird, wobei in dem I/O-Subsystem ein Magnetplattencontroller 60 vom Arraytyp wie der oben beschriebene verwendet wird.
- Als erstes wird eine Beschreibung einer Operation in der ersten Ausgestaltung unter Verwendung der Fig. 4 vorgelegt. Diese Ausgestaltung nutzt nicht das Systemrückstellungs- Zeitgeberregister 623, das Zeitgeberregister 624 zum Überwachen der Operationszeit, das Suchadreßregister 625, das Logikeinrichtungs-Adreßregister 626 und das Fehlerdetektier-Flagregister 627, und sie führt nur die Überwachungsoperation auf dem Reservediskettenlaufwerk 709 durch. Mit Bezug auf die Fig. 4 stellt der Prozessor 621 fest, ob irgendein Befehl von der Hosteinheit 50 existiert (Schritt 81). Wenn die Hosteinheit 50 einen Befehl, wie etwa einen Lese-/Schreibbefehl an eine Logikeinrichtung über den Magnetplattencontroller 60 vom Arraytyp ausgibt, dann führt der Magnetplattencontroller 60 vom Arraytyp eine Lese-/Schreiboperation von Daten und von einer Parität auf den 9 Diskettenlaufwerken von 700-708 gleichzeitig über die Diskettencontroller 630-639 durch.
- Mehr im besonderen prüft der Prozessor auf Vorhandensein irgendeines Befehls von der Hosteinheit 50 jedes Mal, wenn er einen Befehl verarbeitet, wie in Fig. 4 gezeigt ist (Schritt 81). Wenn der Prozessor einen Befehl detektiert, dann stellt er fest, ob der Befehl derjenige ist, der an die Logikeinrichtung ausgegeben wurde, wo ein Fehler während einer Überwachungsoperation detektiert wurde (Schritt 82). Da man zu der Entscheidung "nein" in einer normalen Operation gelangt, verarbeitet der Prozessor den Befehl von der Hosteinheit 50 (Schritt 83) und kehrt zum Schritt 81 zurück. Angenommen, daß die Daten 8 Bytes enthalten, dann werden aus 1 Byte bestehende Daten jeweils zu den Datendiskettenlaufwerken 700-707 in paralleler Weise über die Diskettencontroller 630-637 während des Schreibens ausgegeben. Die von diesen 8 Datenbytes in dem Datenübertragungscontroller 628 erzeugte Parität wird über den Diskettencontroller 638 zu dem Paritätsdiskettenlaufwerk 708 ausgegeben. Während des Lesens werden Daten und die Parität, die in den Diskettenlaufwerken 700-708 gelesen werden, über die Diskettencontroller 630-638 in den Datenübertragungscontroller eingegeben.
- Wenn andererseits festgestellt wurde, daß kein Befehl von der Hosteinheit 50 vorliegt, dann stellt der Prozessor fest, ob es notwendig ist, eine Interruptverarbeitung mit der Hosteinheit 50 durchzuführen (Schritt 84). Beispielsweise stellt er fest, ob eine Befehlskette eine solche Interruptverarbeitung mit der Hosteinheit als diejenige in volviert, die auf der Einrichtungsende-Mitteilung von Einrichtungen basiert, nachdem eine Suche abgeschlossen ist.
- Wenn eine Interruptverarbeitung für nötig befunden wird, dann wird die Interruptverarbeitung mit der Hosteinheit 50 durchgeführt (Schritt 85). Wenn eine Interruptverarbeitung unnötig ist, dann wird das Überwachungs-Zeitgeberregister 65 gelesen (Schritt 86), wird weitergeschaltet (Schritt 87) und es wird eine Speicherung (Schritt 88) ausgeführt, und zwar auf eine sequentielle Weise. Es wird dann festgestellt, ob die Zählung des Überwachungs-Zeitgeberregister 65 den spezifizierten Wert überschritten hat (d. h. den Wert überschritten hat, welcher der spezifizierten Zeit entspricht), und zwar auf die zuvor erwähnte Weiterschaltung folgend (Schritt 89). Wenn im Schritt 89 nicht gefunden wird, daß die Zählung den spezifizierten Wert überschreitet, geht der Prozeß wieder zum Schritt 81 zurück.
- Wenn gefunden wird, daß die Zählung den spezifizierten Wert überschreitet, dann geht der Prozeß zum Schritt 90, wo eine Überwachungsoperation auf dem Reservediskettenlaufwerk 709 ausgeführt wird (Schritt 90). Mehr im besonderen erzeugt der Prozessor 621 Daten mit einem spezifischen, vordefinierten Muster, und gibt die Daten über den Datenübertragungscontroller 628 an den Diskettencontroller 639. Fehlerdetektiercodes werden sodann gemäß den Daten mit einem spezifischen Muster erzeugt und an die zuvor erwähnten Daten mit einem spezifischen Muster angefügt. Diese Daten mit einem spezifischen Muster- und Fehlerdetektiercode werden auf eine Spur des Reservediskettenlaufwerkes 639 geschrieben, das zu der Logikeinrichtung gehört, die in dem Adreßregister 626 für Logikeinrichtungen spezifiziert ist.
- Das Reservediskettenlaufwerk 639 liefert ein Signal eines Hartfehlers an den Diskettencontroller 639, wenn die zuvor erwähnte Überwachungsoperation (Lese- /Schreiboperation) nicht erfolgreich war. Und der Daten- und Fehlerdetektiercode, welcher von der Reservediskette in einer Leseoperation gelesen und ausgegeben wird, wird über den Diskettencontroller 639 in den Datenübertragungscontroller 628 eingegeben. Der Prozessor 621 stellt fest, ob die Überwachungsoperation erfolgreich war, und zwar abhängig von dem Vorhandensein oder Fehlen des zuvor erwähnten eingegebenen Hartfehlersignals und eines Lesefehlers in den zuvor erwähnten Lesedaten (Schritt 91). Wenn ein Fehler nicht gefunden wird, stellt der Prozessor fest, daß die Operation erfolgreich war und er setzt das Fehlerdetektierflag, welches in einer Überwachungsoperation erzeugt wird und in dem gesteuerten Speicher 622 vorhanden ist, zurück (Schritt 92).
- Wenn andererseits im Schritt 91 festgestellt wird, daß ein Fehler vorliegt, sammelt der Prozessor 621 detaillierte Informationen über den Fehlerzustand, wie etwa diejenigen, die einen Hartfehler betreffen, und die man nach einer erfolglosen Suchoperation erhält, oder über einen Lesefehler, speichert diese sodann in dem Speicherregister für präventive Wartungsinformationen (Schritt 93), und setzt das Fehlerdetektierflag, welches in der Überwachungsoperation erzeugt wird und welches in dem gesteuerten Speicher 622 gespeichert ist (Schritt 94).
- Wenn der Schritt 92 oder der Schritt 94 abgeschlossen werden, geht der Prozeß zum Schritt 81 zurück.
- Die Lese- und Schreiboperation der zuvor erwähnten Daten mit einem spezifischen Muster- und Fehlerdetektiercode, und die Fehlerdetektierung werden kontinuierlich auf eine Weise weiter durchgeführt, wie oben gezeigt ist (Schritt 90), und zwar auf einer Spur der Reservediskette in dem Reservediskettenlaufwerk 709, welches zu jeder Logikeinrichtung gehört, und zwar in einem spezifischen Intervall, welches durch das Überwachungs-Zeitgeberregister 65 bestimmt wird (Schritte 86-89), wobei ein Zeitintervall genutzt wird, welches nicht für eine Operation verwendet wird, wenn keine Befehle von der Hosteinheit 50 vorliegen.
- Wenn die zuvor erwähnte Lese- und Schreiboperation auf der ersten Spur der Logikeinrichtung 70N vollendet wird, dann werden eine Lese- und Schreiboperation der Daten mit einem spezifischen Muster- und Fehlerdetektiercode sowie eine Fehlerdetektierung auf der nächsten Spur der Reservediskette des Reservediskettenlaufwerkes 709 ausgeführt, welches zu der Logikeinrichtung 70&sub0; gehört. Die gleiche Operation wird danach wiederholt.
- Wenn ein Befehl von der Hosteinheit 50 an die Logikeinrichtung ausgegeben wird, zu der die Reservediskette, auf der ein Fehler durch die Überwachungsoperation detektiert wurde, gehört (Schritt 81, 82), dann liest der Prozessor 621 die in dem Speicherregister 64 für präventive Wartungsinformationen gespeicherten präventiven Wartungsinformationen und übermittelt diese über den Schnittstellencontroller 61 an die Hosteinheit 50, und er versorgt die Einheit mit Informationen betreffend den Fehler im Reservediskettenlaufwerk (Schritt 95), bevor zum Schritt 81 zurückgegangen wird.
- Wenn also irgendein Hartfehler oder ein Lesefehler in dem Reservediskettenlaufwerk 709 selbst gefunden wird, ist es möglich, zeitige Reparaturen und Austauschvorgänge vorzunehmen, wie sie infolge eines Hartfehlers oder eines Lesefehlers in dem Reservediskettenlaufwerk 709 selbst beispielsweise erforderlich sind, und zwar basierend auf den präventiven Wartungsinformationen, die von dem Magnetplattencontroller 60 vom Arraytyp geliefert werden. Das macht es möglich, das Reservediskettenlaufwerk 709 ohne Verzögerung einzusetzen, wenn eine Notwendigkeit entsteht, ein Diskettenlaufwerk, in welchem eine Abnormalität auftritt, durch das Reservediskettenlaufwerk 709 zu ersetzen.
- Nachstehend wird eine Beschreibung einer Operation in einer zweiten Ausgestaltung der vorliegenden Erfindung vorgelegt, wobei die Fig. 5A und 5B des Flußdiagrammes verwendet werden. Diese Ausgestaltung ist auf eine solche Weise arrangiert, daß nicht nur die Überwachungsoperation auf dem Reservediskettenlaufwerk 709, sondern auch die Überwachungsoperation auf den Datendiskettenlaufwerken 700-707, welche die laufenden I/O-Einheiten sind, und dem Paritätsdiskettenlaufwerk 708 ausgeführt werden.
- Es wird auf die Fig. 5A Bezug genommen; wenn der Magnetplattencontroller 60 vom Arraytyp mit Strom versorgt wird, dann wird im Schritt 101 in der Fig. 5A eine Leistung-EIN- Sequenz ausgeführt. In dieser Leistung-EIN-Sequenz werden die zuvor erwähnten Register 64, 65, 623-627 initialisiert. Zur gleichen Zeit, zu der der Controller eingeschaltet wird, werden auch die Logikeinrichtungen 70&sub0;-70N eingeschaltet, und das Reservediskettenlaufwerk 709 ebenso wie die anderen Diskettenlaufwerke 700-708 werden eingeschaltet.
- Der Prozessor 621 stellt dann fest, ob es irgendeinen Befehl von der Hosteinheit 50 gibt (Schritt 102). Wenn die Hosteinheit 50, die die zentrale Verarbeitungseinheit (CPU) umfaßt, einen Befehl, wie etwa einen Datenlese- oder Schreibbefehl, an eine der Logikeinrichtungen über den Magnetplattencontroller 60 vom Arraytyp ausgibt, dann führt der Magnetplattencontroller 60 vom Arraytyp die Lese- und Schreiboperation von Daten und einer Parität auf den 9 Magnetplatten der Diskettenlaufwerke 700-708 über die Diskettencontroller 630-639 gleichzeitig aus.
- Mehr im besonderen macht der Prozessor 621 eine Prüfung, um zu sehen, ob irgendein Befehl von der Hosteinheit 50 vorliegt (Schritt 102), und zwar jedes Mal, wenn er einen Befehl verarbeitet, wie in Fig. 5A gezeigt ist. Wenn der Prozessor einen Befehl detektiert, dann stellt er fest, ob der Befehl derjenige ist, der an die Logikeinrichtung ausgegeben wurde, wo während der Überwachungsoperation ein Fehler detektiert wurde (Schritt 10). Da man zu der Entscheidung "nein" in einer normalen Operation gelangt, verarbeitet der Prozessor den Befehl von der Hosteinheit 50 (Schritt 104), und initialisiert das Zeitgeberregister 624 für eine Überwachung der Operationszeit (Schritt 105), bevor er zum Schritt 102 zurückkehrt.
- Wenn im Schritt 102 festgestellt wird, daß keine Befehle von der Hosteinheit 50 vorliegen, dann stellt der Prozessor fest, ob solche Interruptverarbeitungen wie CONTROL END (CU END) oder DEVICE END (DEV END) für die Hosteinheit 50 erforderlich sind (Schritt 106).
- Wenn gefunden wird, daß eine Interruptverarbeitung erforderlich ist, dann wird die Interruptverarbeitung für die Hosteinheit 50 ausgeführt (Schritt 107). Wenn eine Interruptverarbeitung unnötig ist, dann wird das Überwachungs- Zeitgeberregister 65 weitergeschaltet (Schritt 106), und das Systemrückstell-Zeitgeberregister 623 wird weitergeschaltet (Schritt 109), und zwar in sequentieller Weise. Es wird dann festgestellt, ob die Zählung des Systemrückstell- Zeitgeberregister 623 den zehn Minuten entsprechenden spezifizierten Wert überschritten hat (Schritt 110), und ob die Zählung des Überwachungs-Zeitgeberregister 65 den spezifizierten Wert überschritten hat (d. h. ob es den einer Sekunde entsprechenden Wert, nämlich die spezifizierte Zeit) überschritten hat (Schritt 111), und zwar in sequentieller Weise. Wenn in den Schritten 110 und 111 gefunden wird, daß die Zählungen die spezifizierten Werte nicht überschreiten, dann geht der Prozess wieder zum Schritt 102 zurück. Wie später erwähnt wird, ist eine Sekunde, wie sie in dem zuvor erwähnten Überwachungs-Zeitgeberregister 65 spezifiziert ist, ein Auswahlzyklus der Logikeinrichtung. Eine Sekunde wurde empirisch definiert, und zwar zu dem Zweck, nicht irgendwelche Schwierigkeiten bei der Verarbeitung von Befehlen von der Hosteinheit 50 zu verursachen.
- Wenn andererseits im Schritt 110 oder 111 gefunden wird, daß die Zählungen die spezifizierten Werte nicht überschreiten, dann geht der Prozeß weiter zum Schritt 112. Es wird dann festgestellt, ob eine Überwachungsoperation infolge der Einstellung von Hardwareschaltern, die auf einer Wartungsschalttafel angebracht sind, oder infolge des Befehls von der Hosteinheit 50 gesperrt ist. Wenn eine Überwachungsoperation gesperrt ist, geht der Prozeß zum Schritt 102 zurück. In normalen Fällen, in denen eine Überwachungsoperation nicht gesperrt ist, wird der Modus, in welchem CONTROL BUSY (Cu Busy) (Steuerung belegt) für den Befehl von der Hosteinheit 50 zurückgeführt wird, gesetzt (Schritt 113), der Inhalt des Adreßregisters 626 für Logikeinrichtungen zum Ausführen einer Überwachungsoperation wird gelesen (Schritt 114) und eine relevante Logikeinrichtung wird ausgewählt (Schritt 115).
- Dann wird festgestellt, ob die relevante Logikeinrichtung verfügbar ist (Schritt 116). Dies wird deshalb getan, weil sogar dann, wenn die relevante Logikeinrichtung nicht mit Energie versorgt wird, die Auswahl einer Logikeinrichtung im Schritt 115 ausgeführt wird, und der Prozessor 621 den Zustand der relevanten Logikeinrichtung untersuchen muß, wobei er die Verfügbarkeit der relevanten Logikeinrichtung prüft. Wenn die relevante Logikeinrichtung verfügbar ist, wird festgestellt, ob die relevante Logikeinrichtung belegt ist, weil sie von einem anderen System benutzt wird (Schritt 117). Wie in Fig. 2 gezeigt ist, kann dann, wenn zwei oder mehr Magnetplattencontroller 60 vom Arraytyp gleichzeitig benutzt werden, die Logikeinrichtung nicht benutzt werden, wenn sie schon durch einen Magnetplattencontroller vom Arraytyp in einem anderen System benutzt wird.
- Wenn die Logikeinrichtung nicht verfügbar ist (Schritt 116), oder wenn die Logikeinrichtung von einem anderen System benutzt wird (Schritt 117), wird die Auswahl der Logikeinrichtung aufgehoben (Schritt 118) und das Adreßregister 626 für Logikeinrichtungen für die Überwachungsoperation wird weitergeschaltet und gespeichert (Schritt 119). D. h., die Auswahl der Logikeinrichtung wird fallengelassen, und die Auswahl einer anderen Logikeinrichtung wird ausgeführt. Das Überwachungs-Zeitgeberregister 65 und das Zeitgeberregister 624 zum Überwachen der Operationszeit werden jeweils initialisiert (Schritt 120), und sodann kehrt der Prozeß zum Schritt 102 zurück.
- Wenn die Logikeinrichtung verfügbar ist und nicht von einem anderen System benutzt wird (Schritt 116, 117), dann geht der Prozeß weiter zum Schritt 121 der Fig. 5B, und der Zustand der physischen Einrichtung (nämlich der Datendiskettenlaufwerke 700-707, des Paritätsdiskettenlaufwerkes 708 und des Reservediskettenlaufwerkes 709) in der Logikeinrichtung wird gelesen (Schritt 121).
- Es wird dann festgestellt, ob ein Befehl auf der Logikeinrichtung innerhalb von zwanzig Sekunden ausgeführt wird (Schritt 122). Der Ablauf von zwanzig Sekunden wird in Abhängigkeit davon festgestellt, ob die Zählung des Zeitgeberregisters 624 zum Überwachen der Operationszeit den Wert (die Zählung) entsprechend zwanzig Sekunden erreicht hat. Die Einstellung von zwanzig Sekunden ist eine empirische, und andere Werte können ebensogut dienlich sein.
- Wenn keine Befehle innerhalb von zwanzig Sekunden ausgeführt werden, wird der Überwachungsoperationsmodus zum Logikeinrichtungsmodus umgeschaltet (Schritt 123). Dieser Logikeinrichtungsmodus ist der Modus, bei welchem die laufenden Datendiskettenlaufwerke 700-707 und das Paritätsdiskettenlaufwerk 708 benutzt werden. Wenn dieser Modus aktiviert wird, dann wird ein Suchadreßregister 625 für die Überwachungsoperation weitergeschaltet (Schritt 124), und eine Suchoperation wird durchgefürt, bei der jeder Kopf der zuvor erwähnten Logikeinrichtungen (nämlich der Diskettenlaufwerke 700-708) um eine spezifizierte Distanz von der laufenden Position weiterbewegt wird, um zu ihrer ursprünglichen Position zurückgeführt zu werden (Schritt 125). Diese Suchoperation ist eine Überwachungssuchoperation, und sie wird durchgeführt, um sicherzustellen, daß der Kopf frei von Staub ist, und zwar im Hinblick auf die Tatsache, daß, wenn man dem Kopf erlaubt, in der gleichen Position zu verbleiben, ein Anhaften von Staub an dem Kopf verursacht wird, womit eine Lese- und Schreiboperation nachteilig beeinflußt wird.
- Wenn die zuvor erwähnte Überwachungssuchoperation nicht auf normale Weise vollendet wird, wird von dem Diskettenlaufwerk, welches versagt hat, ein Hartfehlersignal an den entsprechenden Diskettencontroller übermittelt. Der Prozessor 621 stellt das Vorhandensein eines Fehlers fest, und zwar in Abhängigkeit davon, ob dieses Hartfehlersignal eingegeben wurde oder nicht (Schritt 126). Wenn ein Fehler detektiert wird, dann wird der später beschriebene Schritt 138 ausgeführt. Wenn kein Fehler detektiert wird, dann wird der später beschriebene Schritt 140 ausgeführt.
- Wenn im Schritt 122 festgestellt wird, daß ein Befehl innerhalb von zwanzig Sekunden ausgeführt wurde, dann wird der Überwachungsoperationmodus in den Modus der physischen Einrichtung umgeschaltet (Schritt 128), nachdem ein Check dahingehend durchgeführt wurde, ob das Reservediskettenlaufwerk 709 betriebsfähig ist (im Bereitschaftszustand) (Schritt 127). Dieser Modus der physischen Einrichtung ist der Modus, in welchem nur das Reservediskettenlaufwerk 709 eingesetzt wird. Wenn dieser Modus aktiviert ist, dann wird das Suchadreßregister 625 für die Überwachungsoperation weitergeschaltet (Schritt 129), und eine Suchoperation auf dem Reservediskettenlaufwerk 709 wird ausgeführt (Schritt 130).
- Diese Suchoperation ist eine Suchoperation, welche im voraus zur Zeit einer Schreiboperation durchgeführt wird. Sie wird in dem Reservediskettenlaufwerk 709 benötigt, welches in der vorliegenden Ausgestaltung enthalten ist, weil eine Suchoperation da, wo ein Kopf entsprechend einem spezifizierten Zeitabstand vor einer Lese- oder Schreiboperation bewegt wird, von einem strukturellen Gesichtspunkt her verlangt wird. Diese Suchoperation schützt den Kopf auch gegen Staub, wie es auch die zuvor erwähnte Überwachungssuchoperation tut. Wenn diese Suchoperation nicht in einer normalen Weise vollendet wird, dann übermittelt das Reservediskettenlaufwerk 709 ein Hartfehlersignal an den Diskettencontroller 639. Wenn dieses Hartfehlersignal eingegeben wird, dann bestätigt der Schritt 131 das Auftreten eines Fehlers. Wenn das Hartfehlersignal nicht eingegeben wird, dann wird eine normale Operation bestätigt.
- Wenn eine normale Operation bestätigt wird, dann wird die zuvor erwähnte Schreiboperation von Daten mit einem spezifischen Muster sowie von dem Fehlerdetektiercode auf dem Reservediskettenlaufwerk 709 durchgeführt (Schritt 132).
- Das Reservediskettenlaufwerk 639 übermittelt ein Hartfehlersignal an den Diskettencontroller 639, wie bei der Suchoperation, wenn die zuvor erwähnte Schreiboperation nicht in einer normalen Weise ausgeführt wurde, so daß der Prozessor 621 basierend darauf, ob dieses Hartfehlersignal eingegeben wurde, auf einen Fehler prüfen kann (Schritt 133). Wenn kein Fehler gefunden wird, dann führt der Prozessor eine Suchoperation, die einer Leseoperation vorangeht, auf dem Reservediskettenlaufwerk 134 durch (Schritt 134), stellt aus dem Vorhandensein oder Fehlen eines Hartfehlersignals fest, ob ein Fehler aufgetreten ist (Schritt 135), nachdem der Kopf auf den Beginn einer Spur bewegt wurde, auf welche der zuvor erwähnte Fehlerdetektiercode und die Daten geschrieben worden sind, und wenn kein Fehler gefunden wird, dann führt er die Leseoperation durch (Schritt 136) und regeneriert die zuvor erwähnten Daten- und Fehlerdetektiercode.
- Wenn irgendein Hartfehler zu der Zeit, zu der diese Leseoperation vollendet wird, vorliegt, dann wird ein Hartfehlersignal an den Diskettencontroller 639 geliefert. Der von dem Reservediskettenlaufwerk in der Leseoperation gelesene und ausgegebene Daten- und Fehlerdetektiercode wird über den Diskettencontroller 639 in den Datenübertragungscontroller 628 eingegeben. Der Prozessor versucht, festzustellen, ob irgendein Hartfehlersignal eingegeben wurde oder ob ein Lesefehler vorliegt (Schritt 137). Wenn kein Fehler gefunden wird, stellt der Prozessor 621 fest, daß die Operation in einer normalen Weise vollendet wurde, und er setzt das Fehlerdetektierflag des Fehlerdetektier- Flagregisters 627 zurück (Schritt 140).
- Wenn in irgendeinem der Schritte 126, 131, 133, 135 oder 137 gefunden wird, daß ein Fehler auftritt, dann sammelt der Prozessor 621 detaillierte Informationen betreffend den Zustand derartiger Fehler als Hartfehler, bei welchem eine Suche nicht in einer normalen Weise vollendet wurde oder als Lesefehler, speichert die Informationen in dem Speicherregister 64 für präventive Wartungsinformationen (Schritt 138), und setzt das Fehlerdetektierflag des Fehlerdetektier-Flagregisters 627 (Schritt 139).
- Wenn der Prozeß in den Schritten 139 oder 140 vollendet wird oder wenn im Schritt 127 gefunden wird, daß das Reservediskettenlaufwerk 709 unfähig ist, eine Überwachungsoperation zu akzeptieren, dann wird der Cu-Busy-Zustand aufgehoben (Schritt 141), und die Auswahl der laufenden Logikeinrichtung wird in den Schritten 118, 120 der Fig. 4A aufgehoben, wonach das Logikeinrichtungs-Adreßregister 626 für die Überwachungsoperation weitergeschaltet wird, so daß die nächste Logikeinrichtung spezifiziert wird, das Überwachungs-Zeitgeberregister 65 und das Zeitgeberregister 120 zum Überwachen der Operationszeit werden jeweils initialisiert, und der Prozeß geht zum Schritt 102 zurück.
- Danach werden die Schreib- und Leseoperation der zuvor erwähnten Daten mit einem spezifischen Muster- und Fehlerdetektiercode sowie eine Fehlerdetektierung auf einer Spur der Reservediskette in dem Reservediskettenlaufwerk 709, welches zu jeder Logikeinrichtung gehört, fortgesetzt durchgeführt, und zwar mit einem Intervall (eine Sekunde in normalen Fällen), das durch das Überwachungs-Zeitgeberregister 65 spezifiziert wird (Schritt 111), und in einem Zeitintervall, welches nicht für eine Operation verwendet wird, wenn kein Befehl von der Hosteinheit 50 vorliegt (Schritt 102).
- Wenn die zuvor erwähnte Lese- und Schreiboperation auf der ersten Spur des Reservediskettenlaufwerkes 709, das zu der Logikeinrichtung 70N gehört, vollendet ist, dann werden solche Operationen, wie eine Lese- und Schreiboperation der zuvor erwähnten Daten mit einem spezifischen Muster und des Fehlerdetektiercodes sowie eine Fehlerdetektierung auf der nächsten Spur auf der Reservediskette des Reservediskettenlaufwerkes 709, das zu der Logikeinrichtung 70&sub0; gehört, ausgeführt. Danach werden solche Operationen wie oben erwähnt, wiederholt.
- Die Spur der Reservediskette, auf welcher die Lese- und Schreiboperation von Daten ausgeführt wird, wenn die Logikeinrichtung nach einer Sekunde ausgewählt ist, ist nicht die Spur, die an der vorangehenden Spur anliegt, sondern die Spur, die entsprechend einer spezifischen Anzahl von Spuren entfernt liegt. Mit anderen Worten wird die Aufnahmeseite der Reservediskette in eine Vielzahl von Zonen geteilt, und es wird eine Inkrementzahl im Schritt 129 im Suchadreßregister 625 voreingestellt, so daß Daten auf eine repräsentative Spur einer jeden Zone geschrieben werden. Das macht es möglich, eine Entscheidung über die Normalität der Reservediskette in kurzer Zeit abzugeben.
- Wenn ein Befehl von der Hosteinheit 50 an die Logikeinrichtung ausgegeben wird, zu der die Reservediskette gehört, bei der man in einer Überwachungsoperation gefunden hat, daß sie einen Fehler enthält (Schritt 102, 103), dann liest der Prozessor die präventiven Wartungsoperationen, die in dem Speicherregister 64 für präventive Wartungsinformationen gespeichert sind, überträgt diese über den Kanal-Schnittstellencontroller 61, liefert die Fehlerinformationen über das Reservediskettenlaufwerk (Schritt 142), setzt das in dem Fehlerdetektier-Flagregister 627 gesetzte, in der Überwachungsoperation generierte Fehlerdetektierflag zurück (Schritt 143) und geht zum Schritt 102 zurück.
- Das stellt bei dieser Ausgestaltung sicher, daß nicht nur dann, wenn ein Hartfehler oder ein Lesefehler in dem Reservediskettenlaufwerk 709 selbst gefunden wird, sondern auch wenn ein Hartfehler in den laufenden Datendiskettenlaufwerken 700-707 oder in dem Paritätsdiskettenlaufwerk gefunden wird, es möglich ist, zeitige Reparaturen und Austauschmaßnahmen vorzunehmen, wie sie beispielsweise infolge eines Hartfehlers oder eines Lesefehlers erforderlich sind, und zwar basierend auf den präventiven Wartungsinformationen, die von dem Magnetplattencontroller 60 vom Arraytyp geliefert werden.
- Die vorliegende Erfindung ist nicht auf die oben genannten Ausgestaltungen beschränkt. Das Überwachungs-Zeitgeberregister 65 und das Register 64 zum Speichern von präventiven Wartungsinformationen müssen keine Hardware sein. Die Alternativen dazu sind, daß der Prozessor 621 die Zeitgeberfunktion mit Firmware ausführt oder die präventiven Wartungsinformationen in dem kontrollierten Speicher 622 speichert.
- Wie schon beschrieben wurde, ist der I/O-Controller in der vorliegenden Erfindung mit einer Vielzahl von I/O-Einheiten und einer Reserve-I/O-Einheit verbunden, und es ist für eine Hochgeschwindigkeitsdatenübertragung geeignet, indem der Controller eine Vielzahl von I/O-Einheiten gleichzeitig steuert und eine Lese- und Schreiboperation der Daten von der Hosteinheit in paralleler Weise durchführt. Es hat auch eine hohe Zuverlässigkeit, indem die präventiven Wartungsinformationen über die Reserve-I/O-Einheit, die anstelle einer I/O-Einheit eingesetzt werden soll, in der eine Abnormalität auftritt, an die Hosteinheit geliefert werden, und es ist geeignet für eine Anwendung in einem Computersystem, bei welchem eine hohe Zuverlässigkeit gefordert wird.
Claims (14)
1. Eingabe/Ausgabecontroller (20) für eine Verbindung
mit einer Hosteinheit (10) einerseits, und andererseits mit
einer logischen Speichereinrichtung (30), umfassend eine
erste Speichereinrichtung, die einen Fehlerkorrigiercode,
wie etwa einen Paritätscode, speichert, eine zweite
Reservespeichereinrichtung (31) und eine Vielzahl von
Datenspeichereinrichtungen (30), umfassend:
einen Operationscontroller (23), welcher eine
Leseoperation auf den Speichereinrichtungen (30, 31) steuert, und
welcher die Datenspeichereinrichtungen und die erste
Speichereinrichtung (30) steuert, wenn diese
Speichereinrichtungen normal sind und keinen Hartfehler, Lesefehler oder
beides enthalten, und welcher die verbleibenden
Datenspeichereinrichtungen (30), die erste Speichereinrichtung (30)
und die zweite Reservespeichereinrichtung (31) in dem Fall
steuert, daß eine der Daten- oder ersten
Speichereinrichtungen einen Hartfehler, einen Lesefehler oder beides
enthalten,
gekennzeichnet durch Mittel zum Anweisen einer
Suchoperation auf den Speichereinrichtungen, wenn der
Operationscontroller eine Befehlseingabe von der Hosteinheit nicht
verarbeitet.
2. Eingabe/Ausgabecontroller gemäß Anspruch 1, bei
welchem die Suchoperation eine Überwachungssuchoperation ist,
bei welcher der Kopf der relevanten Speichereinrichtung um
eine spezifizierte Distanz bewegt und dann in ihre
ursprüngliche Position zurückgeführt wird.
3. Eingabe/Ausgabecontroller nach Anspruch 1 oder 2, bei
welchem der Operationscontroller (23) eine
Überwachungsoperation auf der ersten Speichereinrichtung und den
Datenspeichereinrichtungen (30) durchführt, wenn die
Logikein
richtung eine vorgegebene Zeit lang einen Befehl nicht
ausgeführt hat.
4. Eingabe/Ausgabecontroller nach Anspruch 3, bei
welchem der Operationscontroller (23) einen Test auf der
zweiten Reservespeichereinrichtung (31) durchführt, wenn die
Logikeinrichtung innerhalb der vorgegebenen Zeitspanne
einen Befehl ausgeführt hat.
5. Eingabe/Ausgabecontroller nach Anspruch 4, bei
welchem der Operationscontroller diesen Test durchführt, indem
er eine Suchoperation auf der zweiten
Reservespeichereinrichtung (31) ausführt und das Ergebnis prüft.
6. Eingabe/Ausgabecontroller nach Anspruch 5, bei
welchem dann, wenn die Suchoperation auf der zweiten
Reservespeichereinrichtung (31) erfolgreich durchgeführt worden
ist, der Test fortgeführt wird, indem auf der zweiten
Reservespeichereinrichtung (31) eine Schreiboperation
durchgeführt wird, gefolgt von einer Suchoperation, gefolgt von
einer Leseoperation, und indem ein Test durchgeführt wird,
um zu sehen, ob die Operationen korrekt durchgeführt worden
sind.
7. Eingabe/Ausgabe(I/O)-Controller (20) nach einem der
vorangehenden Ansprüche, ferner umfassend ein
Informationsspeicherregister (25) zum Speichern von Informationen über
eine Abnormalität in einer der Speichereinrichtungen, und
bei welchem der Operationscontroller (23) die Informationen
in dem Informationsspeicherregister an die Hosteinheit
übermittelt, wenn ein Befehl durch die Hosteinheit an die
logische Speichereinrichtung ausgegeben wird, auf die sich
die Informationen beziehen.
8. Eingabe/Ausgabecontroller nach Anspruch 1, ferner
umfassend ein Informationsspeicherregister (25) zum Speichern
von Informationen über eine Abnormalität in einer der
Speichereinrichtungen, und
bei welchem der Operationscontroller (23) die
Informationen in dem Informationsspeicherregister an die
Hosteinheit übermittelt, wenn ein Befehl durch den Host an die
logische Speichereinrichtung ausgegeben wird, auf die sich
die Informationen beziehen.
9. Eingabe/Ausgabecontroller (20) nach einem der
vorangehenden Ansprüche, ferner umfassend Entscheidungsmittel
(24), um festzustellen, ob eine Abnormalität in den ersten,
zweiten oder den Datenspeichermitteln vorliegt oder nicht.
10. Eingabe/Ausgabecontroller nach Anspruch 8, ferner
umfassend ein Überwachungs-Zeitgeberregister (624) zum
Zählen des Zeitintervalls, welches nicht für eine Operation
verwendet wird, bei welchem die Entscheidungsmittel (24)
feststellen, ob eine Abnormalität in einem Speichermittel
auftritt oder nicht, nachdem die Zählung in dem
Überwachungs-Zeitgeberregister (624) einen spezifizierten Wert
erreicht.
11. Eingabe/Ausgabecontroller (20) nach einem der
vorangehenden Ansprüche, und zwar für eine Verbindung mit einer
Vielzahl von logischen Speichereinrichtungen.
12. Eingabe/Ausgabecontroller nach einem der
vorangehenden Ansprüche, umfassend Leistungszuführmittel zum Zuführen
von Leistung zu den ersten, zweiten sowie
Datenspeichereinrichtungen, um jede der Speichereinrichtungen in einem
Bereitschaftszustand zu halten.
13. Array-Speichereinrichtung, umfassend eine logische
Speichereinrichtung, umfassend
eine erste physische Speichereinrichtung (30), welche
einen Fehlerdetektiercode speichert, eine zweite physische
Speichereinrichtung, die eine Reservespeichereinrichtung
(31) ist, und physische Datenspeichereinrichtungen (30),
welche Daten speichern; und
einen Eingabe/Ausgabecontroller (20) nach einem der
vorangehenden Ansprüche.
14. Array-Speichereinrichtung nach Anspruch 12,
umfassend eine Vielzahl der genannten logischen
Speichereinrichtungen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25105390 | 1990-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69132227D1 DE69132227D1 (de) | 2000-06-29 |
DE69132227T2 true DE69132227T2 (de) | 2000-09-28 |
Family
ID=17216921
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69127433T Expired - Lifetime DE69127433T2 (de) | 1990-09-20 | 1991-09-20 | Eingang-ausgangsteuerungseinrichtung |
DE69132227T Expired - Lifetime DE69132227T2 (de) | 1990-09-20 | 1991-09-20 | Eingang-/Ausgangsteuerungseinrichtung |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69127433T Expired - Lifetime DE69127433T2 (de) | 1990-09-20 | 1991-09-20 | Eingang-ausgangsteuerungseinrichtung |
Country Status (4)
Country | Link |
---|---|
US (3) | US5491816A (de) |
EP (2) | EP0784272B1 (de) |
DE (2) | DE69127433T2 (de) |
WO (1) | WO1992005495A1 (de) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2743606B2 (ja) * | 1991-04-11 | 1998-04-22 | 三菱電機株式会社 | アレイ型記録装置 |
JP3782840B2 (ja) * | 1995-07-14 | 2006-06-07 | 株式会社ルネサステクノロジ | 外部記憶装置およびそのメモリアクセス制御方法 |
JP3419158B2 (ja) * | 1995-07-20 | 2003-06-23 | 三菱電機株式会社 | 数値制御駆動装置のデータ処理方法 |
JPH09305328A (ja) * | 1996-05-13 | 1997-11-28 | Fujitsu Ltd | ディスクアレイ装置 |
US6247143B1 (en) * | 1998-06-30 | 2001-06-12 | Sun Microsystems, Inc. | I/O handling for a multiprocessor computer system |
US6574588B1 (en) * | 1998-09-23 | 2003-06-03 | Microsoft Corporation | Solid-state memory device that emulates a known storage device |
US6851005B1 (en) * | 2000-03-03 | 2005-02-01 | International Business Machines Corporation | Apparatus and method for implementing raid devices in a cluster computer system |
US6728905B1 (en) * | 2000-03-03 | 2004-04-27 | International Business Machines Corporation | Apparatus and method for rebuilding a logical device in a cluster computer system |
US6886114B2 (en) * | 2002-01-03 | 2005-04-26 | Hewlett-Packard Development Company, L.P. | Multiple device error management |
KR100438434B1 (ko) * | 2002-06-18 | 2004-07-03 | 삼성전자주식회사 | 제어부와 종속부를 가지는 전자기기에서의 전원 및 신호제어 장치 |
SE0301901L (sv) * | 2003-06-26 | 2004-12-27 | Abb Research Ltd | Metod för att diagnostisera utrustningsstatus |
US20050046430A1 (en) * | 2003-09-03 | 2005-03-03 | Jouko Kinnunen | RF testing method and arrangement |
JP4493321B2 (ja) * | 2003-11-19 | 2010-06-30 | 株式会社日立製作所 | ディスクアレイ装置及びデータ退避方法 |
JP2005157622A (ja) * | 2003-11-25 | 2005-06-16 | Hitachi Ltd | アイドルシークのためのディスクアレイ装置 |
JP4487756B2 (ja) * | 2004-12-16 | 2010-06-23 | 日本電気株式会社 | コンピュータシステム及びシステム監視プログラム |
EP1698980A1 (de) * | 2005-03-04 | 2006-09-06 | Galileo Avionica S.p.A. | Verfahren zur Verwaltung von Datenaustausch in dem Luftfahrtsystem eines Flugzeugs |
US8291161B2 (en) * | 2005-10-07 | 2012-10-16 | Agere Systems Llc | Parity rotation in storage-device array |
US7769948B2 (en) * | 2005-10-07 | 2010-08-03 | Agere Systems Inc. | Virtual profiles for storage-device array encoding/decoding |
JP4786312B2 (ja) * | 2005-11-22 | 2011-10-05 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置のエラー情報管理方法 |
JP4369467B2 (ja) * | 2006-12-12 | 2009-11-18 | 富士通株式会社 | データ中継装置、ストレージ装置、およびデータ中継方法 |
JP5022062B2 (ja) | 2007-03-01 | 2012-09-12 | 株式会社日立製作所 | プールi/oデバイス動作確認方法、及び計算機システム |
US8707076B2 (en) | 2007-04-18 | 2014-04-22 | Dell Products L.P. | System and method for power management of storage resources |
JP4475598B2 (ja) | 2007-06-26 | 2010-06-09 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
US7861036B2 (en) * | 2007-09-18 | 2010-12-28 | Agere Systems Inc. | Double degraded array protection in an integrated network attached storage device |
US8001417B2 (en) * | 2007-12-30 | 2011-08-16 | Agere Systems Inc. | Method and apparatus for repairing uncorrectable drive errors in an integrated network attached storage device |
US8347251B2 (en) * | 2007-12-31 | 2013-01-01 | Sandisk Corporation | Integrated circuit and manufacturing process facilitating selective configuration for electromagnetic compatibility |
US9122772B2 (en) * | 2009-05-18 | 2015-09-01 | Siemens Aktiengesellschaft | Method for analyzing message archives and corresponding computer program |
US8356215B2 (en) * | 2010-01-19 | 2013-01-15 | Kingtiger Technology (Canada) Inc. | Testing apparatus and method for analyzing a memory module operating within an application system |
US8780478B1 (en) * | 2012-09-26 | 2014-07-15 | Western Digital Technologies, Inc. | Grease wear leveling for a disk drive |
JP6056417B2 (ja) * | 2012-11-27 | 2017-01-11 | 富士通株式会社 | 制御システム、制御システムの異常診断方法及び制御システムの異常診断プログラム |
JP5958353B2 (ja) | 2013-01-15 | 2016-07-27 | 富士通株式会社 | ストレージ装置、スイープ動作制御方法およびスイープ動作制御プログラム |
US9208808B1 (en) | 2014-04-22 | 2015-12-08 | Western Digital Technologies, Inc. | Electronic system with unload management mechanism and method of operation thereof |
US20160018995A1 (en) * | 2014-07-17 | 2016-01-21 | Lsi Corporation | Raid system for processing i/o requests utilizing xor commands |
US10303536B2 (en) * | 2015-10-28 | 2019-05-28 | Via Technologies, Inc. | Non-volatile memory device and control method thereof |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4092732A (en) * | 1977-05-31 | 1978-05-30 | International Business Machines Corporation | System for recovering data stored in failed memory unit |
JPS5672359A (en) * | 1979-11-17 | 1981-06-16 | Fujitsu Ltd | Supervising system for spare unit |
JPS605023A (ja) * | 1983-06-22 | 1985-01-11 | Tokuyama Soda Co Ltd | 塩化カルシウム水溶液の製造方法 |
FR2561428B1 (fr) * | 1984-03-16 | 1986-09-12 | Bull Sa | Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques |
JPH0754947B2 (ja) * | 1985-10-16 | 1995-06-07 | 株式会社日立製作所 | 予備系監視方式 |
JPS62212856A (ja) * | 1986-03-14 | 1987-09-18 | Nec Corp | 異常監視装置 |
US4862411A (en) * | 1987-02-26 | 1989-08-29 | International Business Machines Corporation | Multiple copy data mechanism on synchronous disk drives |
JPS63279318A (ja) * | 1987-05-11 | 1988-11-16 | Nec Corp | 磁気ディスク装置 |
US4942579A (en) * | 1987-06-02 | 1990-07-17 | Cab-Tek, Inc. | High-speed, high-capacity, fault-tolerant error-correcting storage system |
WO1989000313A1 (en) * | 1987-07-01 | 1989-01-12 | Unisys Corporation | Fast-tag transfer improvement |
US5051887A (en) * | 1987-08-25 | 1991-09-24 | International Business Machines Corporation | Maintaining duplex-paired storage devices during gap processing using of a dual copy function |
DE3728521A1 (de) * | 1987-08-26 | 1989-03-09 | Siemens Ag | Anordnung und verfahren zur feststellung und lokalisierung von fehlerhaften schaltkreisen eines speicherbausteins |
US4870643A (en) * | 1987-11-06 | 1989-09-26 | Micropolis Corporation | Parallel drive array storage system |
US5043940A (en) * | 1988-06-08 | 1991-08-27 | Eliyahou Harari | Flash EEPROM memory systems having multistate storage cells |
US4989205A (en) * | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US5077736A (en) * | 1988-06-28 | 1991-12-31 | Storage Technology Corporation | Disk drive memory |
JPH0264835A (ja) * | 1988-08-31 | 1990-03-05 | Nec Eng Ltd | システムダウン防止装置 |
JPH0727468B2 (ja) * | 1988-09-30 | 1995-03-29 | 日本電気株式会社 | 二重化情報処理装置 |
FR2643993B1 (fr) * | 1989-03-03 | 1991-05-17 | Bull Sa | Procede pour remplacer des modules memoire dans un systeme informatique et systeme informatique pour la mise en oeuvre du procede |
US5535328A (en) * | 1989-04-13 | 1996-07-09 | Sandisk Corporation | Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells |
US5134616A (en) * | 1990-02-13 | 1992-07-28 | International Business Machines Corporation | Dynamic ram with on-chip ecc and optimized bit and word redundancy |
US5140592A (en) * | 1990-03-02 | 1992-08-18 | Sf2 Corporation | Disk array system |
US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
US5210860A (en) * | 1990-07-20 | 1993-05-11 | Compaq Computer Corporation | Intelligent disk array controller |
US5210866A (en) * | 1990-09-12 | 1993-05-11 | Storage Technology Corporation | Incremental disk backup system for a dynamically mapped data storage subsystem |
US5313585A (en) * | 1991-12-17 | 1994-05-17 | Jeffries Kenneth L | Disk drive array with request fragmentation |
US5313626A (en) * | 1991-12-17 | 1994-05-17 | Jones Craig S | Disk drive array with efficient background rebuilding |
-
1991
- 1991-09-20 DE DE69127433T patent/DE69127433T2/de not_active Expired - Lifetime
- 1991-09-20 EP EP97200322A patent/EP0784272B1/de not_active Expired - Lifetime
- 1991-09-20 EP EP91916587A patent/EP0502207B1/de not_active Expired - Lifetime
- 1991-09-20 DE DE69132227T patent/DE69132227T2/de not_active Expired - Lifetime
- 1991-09-20 WO PCT/JP1991/001247 patent/WO1992005495A1/ja active IP Right Grant
-
1995
- 1995-01-17 US US08/373,475 patent/US5491816A/en not_active Expired - Lifetime
- 1995-09-15 US US08/530,724 patent/US5826003A/en not_active Expired - Fee Related
-
1998
- 1998-03-02 US US09/034,010 patent/US6324655B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6324655B1 (en) | 2001-11-27 |
WO1992005495A1 (en) | 1992-04-02 |
EP0502207A4 (en) | 1993-02-03 |
EP0502207B1 (de) | 1997-08-27 |
EP0784272A1 (de) | 1997-07-16 |
DE69127433D1 (de) | 1997-10-02 |
EP0502207A1 (de) | 1992-09-09 |
US5491816A (en) | 1996-02-13 |
US5826003A (en) | 1998-10-20 |
EP0784272B1 (de) | 2000-05-24 |
DE69127433T2 (de) | 1998-01-02 |
DE69132227D1 (de) | 2000-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69132227T2 (de) | Eingang-/Ausgangsteuerungseinrichtung | |
DE69608641T2 (de) | Ausfallbeseitigung für Steuergerät für eine Ein-/Ausgabevorrichtung | |
DE69323225T2 (de) | Datenbehandlung in einem System mit Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten | |
DE69430981T2 (de) | Speicherungssystem | |
DE3781486T2 (de) | Verfahren zur stossfreien umschaltung von aktiven einheiten zu ersatzeinheiten in datenverarbeitungsanlagen und datenverarbeitungsanlage zur durchfuehrung dieses verfahrens. | |
DE69230351T2 (de) | Aufzeichnungsgerät | |
DE69626947T2 (de) | Reservekopie-Generierung in einem RAID-Untersystem | |
DE3485820T2 (de) | Doppelspeichersystem mit reservestromversorgung. | |
DE3881786T2 (de) | Identifizierung von Datenspeicherungseinrichtungen. | |
DE69123093T2 (de) | Kanal zur Datenregenerierung in einer fehlertoleranten Plattenlaufwerkanordnung und Verfahren zur Fehlerkorrektur darin | |
DE69117371T2 (de) | Hintergrund-Plattenoberflächenanalyse durch eine Steuerung für intelligente Speicherplattenanordnung ausgeführt | |
DE69724846T2 (de) | Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus | |
DE19723909B4 (de) | Verfahren zum Verbessern der Fehlerfestigkeit und Leistungsfähigkeit eines RAID-Untersystems | |
DE3486148T2 (de) | Fehlertolerantes Übertragungssteuersystem. | |
DE69631106T2 (de) | On-line-Rekonfiguration einer Speicherplattenanordnung | |
DE69802833T2 (de) | Diagnose redundanter steuerungen, die eine private lun verwenden | |
DE69528443T2 (de) | Betriebsverfahren einer Speicherplattenanordnung | |
DE3214328C2 (de) | ||
DE69700637T2 (de) | Host-basierendes RAID-5 und nicht flüchtige RAM-Integration und Verfahren hierfür | |
DE69635713T2 (de) | Diskarray-Teilsystem | |
DE69224885T2 (de) | Prozessteuersystem zum Betreiben einer Speichereinrichtung | |
DE3688211T2 (de) | Geraet zur speicherung digitaler datenwoerter. | |
EP0238841A1 (de) | Fehlergesicherte, hochverfügbare Multiprozessor-Zentralsteuereinheit eines Vermittlungssystemes und Verfahren zum Speicherkonfigurationsbetrieb dieser Zentralsteuereinheit | |
DE69624191T2 (de) | Atomisches Aktualisieren von EDC-geschützten Daten | |
DE68922440T2 (de) | Gerät und Verfahren zur gleichzeitigen Einreichung von Fehlerunterbrechung und Fehlerdaten zu einem Unterstützungsprozessor. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE |