[go: up one dir, main page]

DE69132227T2 - Eingang-/Ausgangsteuerungseinrichtung - Google Patents

Eingang-/Ausgangsteuerungseinrichtung

Info

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
Application number
DE69132227T
Other languages
English (en)
Other versions
DE69132227D1 (de
Inventor
Tatsuo Matoba
Keiichi Yorimitsu
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE69132227D1 publication Critical patent/DE69132227D1/de
Publication of DE69132227T2 publication Critical patent/DE69132227T2/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/004Error avoidance
    • 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/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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

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

    TECHNISCHES GEBIET DER ERFINDUNG
  • 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.
  • TECHNISCHER HINTERGRUND
  • 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.
  • DIE BESTE ART DIE ERFINDUNG AUSZUFÜHREN
  • 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.
  • MÖGLICHE ANWENDUNGEN IN DER INDUSTRIE
  • 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.
DE69132227T 1990-09-20 1991-09-20 Eingang-/Ausgangsteuerungseinrichtung Expired - Lifetime DE69132227T2 (de)

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)

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

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

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