DE102004027362A1 - Plattenarraysystem und Schnittstellenwandler - Google Patents

Plattenarraysystem und Schnittstellenwandler Download PDF

Info

Publication number
DE102004027362A1
DE102004027362A1 DE102004027362A DE102004027362A DE102004027362A1 DE 102004027362 A1 DE102004027362 A1 DE 102004027362A1 DE 102004027362 A DE102004027362 A DE 102004027362A DE 102004027362 A DE102004027362 A DE 102004027362A DE 102004027362 A1 DE102004027362 A1 DE 102004027362A1
Authority
DE
Germany
Prior art keywords
disk drives
response
disk
received
message
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.)
Ceased
Application number
DE102004027362A
Other languages
English (en)
Inventor
Ikuya Yagisawa
Yutaka Nakagawa
Azuma Kano
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE102004027362A1 publication Critical patent/DE102004027362A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung zielt darauf ab, ein billiges Plattenarray hoher Zuverlässigkeit dadurch zu schaffen, dass ein ATA-Laufwerk so emuliert wird, dass es auf dieselbe Weise wie ein FC-Laufwerk verwendet werden kann. Um diese Aufgabe zu lösen, ist ein erfindungsgemäßen Plattenarraysystem mit Folgendem versehen: einem Speicher, in dem eine Logikeinheit logisch eingestellt ist; wobei dieser Speicher Folgendes aufweist: mehrere Plattenlaufwerke mit einer ersten Schnittstelle und einen Schnittstellenwandler, der eine Wandlung zwischen für das Plattenlaufwerk ausgebildeten Signalen der ersten Schnittstelle und für die Steuerungsvorrichtung ausgebildeten Signalen einer zweiten Schnittstelle ausführt. Der Schnittstellenwandler weist Folgendes auf: einen Ansprechzeit-Überwachungsabschnitt zum Überwachen der Zeit, bis vom Plattenlaufwerk eine der Daten-Eingabe/Ausgabe-Anforderung entsprechende Antwort empfangen wird; und einen Mitteilungsausgabeabschnitt zum Ausgeben einer Mitteilung über den Betriebszustand des Plattenlaufwerks entsprechend der überwachten Ansprechzeit an die Steuerungsvorrichtung.

Description

  • HINTERGRUND DER ERFINDUNG
  • Die Erfindung betrifft ein Plattenarraysystem, insbesondere ein Plattenarraysystem, das für eine einfache Schnittstelle wie eine ATA-Schnittstelle ausgebildet ist.
  • In jüngerer Zeit werden an Stelle von FC(Fibre Channel)-Laufwerken und SCSI(Small Computer System Interface)-Laufwerken, wie sie herkömmlicherweise verwendet wurden, billige ATA(AT Attachment)-Laufwerke, wie sie für PCs konzipiert sind, häufig in Plattenarrays für Backup/Archivier-Zwecke verwendet. Ein ATA-Laufwerk führt zum automatischen Zuweisen von Daten eines schlechten Sektors zu einem anderen Sektor eine automatische Neuzuweisung aus. Neuversuche werden in großer Vielzahl ausgeführt, um Erfolge beim Zugriff auf Platten zu haben (siehe z. B. "Hard Disk Drive Specification Deskstar 7K250", Hitachi Ltd., 13. August 2003, <URL:http://www. hgst.com/tech/techlib.nsf/techdocs/E8C3F8F6F3819BDB86256CE90 05AB0B9/$file/d7k250P sp.pdf>).
  • Andererseits werden bei herkömmlichen Plattenarrays unter Verwendung von FC- und SCSI-Laufwerken, um deren Zuverlässigkeit zu erhöhen, Ausfallssymptome für die Laufwerke über wacht, und wenn viele schlechte Sektoren auftreten, wird ein vorsorglicher Kopiervorgang ausgeführt. Der Plattencontroller überwacht die Anzahl auftretender schlechter Sektoren, um einen Triggerzeitpunkt für diesen vorsorglichen Kopiervorgang zu erkennen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Da das oben beschriebene ATA-Laufwerk, wenn es in einem Plattenarraysystem verwendet wird, eine automatische Neuzuweisung zum automatischen Zuweisen von Daten eines schlechten Sektors zu einem anderen Sektor ausführt, kann der Plattenarraycontroller nicht die Anzahl auftretender schlechter Sektoren erkennen. Daher kann kein vorsorglicher Kopiervorgang ausgeführt werden, bevor nicht viele schlechte Sektoren auftreten.
  • Außerdem ist, da beim oben beschriebenen ATA-Laufwerk viele Neuversuche ausgeführt werden, eine Reaktion auf eine IO-Anforderung (Daten-Eingabe/Ausgabe-Anforderung) verzögert, so dass ein Zeitablauf für einen Host auftreten kann. Wenn ein interner Neuversuch während seines Ablaufs gestoppt wird, um einen Zeitablauf zu vermeiden, werden keine alternativen Sektoren für schlechte Sektoren bereitgestellt, und so wird die automatische Neuzuweisung nicht ausgeführt.
  • Es ist eine Aufgabe der Erfindung, die Zuverlässigkeit billiger Plattenarrays durch Emulieren eines ATA-Laufwerks zu erhöhen, damit ein ATA-Laufwerk auf dieselbe Weise wie ein FC-Laufwerk verwendet werden kann.
  • Die Erfindung verfügt über: einen Speicher mit einer in diesem logisch eingestellten Logikeinheit; und eine Steuerungsvorrichtung für Verbindung zu einem Host, der Daten-Eingabe/Ausgabe benötigt und die Eingabe/Ausgabe von Daten in den/ aus dem Speicher entsprechend der Anforderung vom Host ausführt. Der Speicher verfügt über: mehrere Plattenlaufwerke mit einer ersten Schnittstelle; und einen Schnittstellenwandler zum Ausführen einer Wandlung zwischen Signalen der für das Plattenlaufwerk ausgebildeten ersten Schnittstelle und Signalen einer für die Steuerungsvorrichtung ausgebildeten zweiten Schnittstelle. Der Schnittstellenwandler verfügt über: einen Ansprechzeit-Überwachungsabschnitt zum Überwachen der Zeit, bis vom Plattenlaufwerk eine Antwort auf die Daten-Eingabe/Ausgabe-Anforderung empfangen wird; und einen Mitteilungsausgabeabschnitt zum Ausgeben einer Mitteilung zum Betriebsstand der Plattenlaufwerke an die Steuerungsvorrichtung entsprechend der überwachten Ansprechzeit.
  • Gemäß der Erfindung kann ein ATA-Laufwerk auf dieselbe Weise wie ein FC-Laufwerk verwendet werden, wodurch ein billiges Plattenarray hoher Zuverlässigkeit geschaffen ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das die Gesamtstruktur eines Plattenarraysystems einer ersten Ausführungsform zeigt.
  • 2 ist ein Blockdiagramm, das die Struktur eines I/F-Wandlers gemäß der ersten Ausführungsform zeigt.
  • 3 ist ein Flussdiagramm eines Ansprechzeit-Überwachungsprozesses gemäß der ersten Ausführungsform.
  • 4 ist ein zeitbezogenes Diagramm des Ansprechzeit-Überwachungsprozesses gemäß der ersten Ausführungsform.
  • 5 ist ein Flussdiagramm eines Fehlererholungsprozesses gemäß der ersten Ausführungsform.
  • 6 ist eine erläuternde Ansicht eines Korrekturprozesses gemäß der ersten Ausführungsform.
  • 7 ist eine erläuternde Ansicht eines vorsorgliche-Kopie-Prozesses gemäß der ersten Ausführungsform.
  • 8 ist ein Blockdiagramm, das die Gesamtstruktur eines Plattenarraysystems einer zweiten Ausführungsform zeigt.
  • 9 ist ein Blockdiagramm, das eine Portumgehungsschaltung gemäß der zweiten Ausführungsform zeigt.
  • 10 ist ein Blockdiagramm, das die Gesamtstruktur eines Plattenarraysystems einer dritten Ausführungsform zeigt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.
  • 1 ist ein Blockdiagramm, das die Gesamtstruktur eines Plattenarraysystems gemäß einer ersten Ausführungsform der Erfindung zeigt.
  • Wie es in der 1 dargestellt ist, verfügt die erste Ausführungsform über einen Host 100, einen Plattenarraycontroller 200, einen Speicher 400 und ein Verwaltungsterminal 700.
  • Der Plattenarraycontroller 200 liefert im Speicher 400 gespeicherte Information an den Host 100, der über eine Host-FC-Schnittstelle 204 mit ihm verbunden ist. Der Plattenarraycontroller 200 verfügt über eine oder mehrere CPUs 201, einen Arbeitsspeicher 202, einen Cache 203, eine oder mehrere Host-Schnittstellen 204, eine oder mehrere Laufwerk-FC-Schnittstellen 205 und eine Verwaltungs-Schnittstelle 207.
  • Der Speicher 202 speichert ein RAID-Steuerprogramm 210, ein Laufwerks-Befehlsausgabeprogramm 220, ein Laufwerks-Verwaltungsprogramm 230, eine Laufwerks-Verwaltungstabelle 240, ein vorsorgliche-Kopie-Programm 250, ein I/F-Wandler-Einstellprogramm 260, ein I/F-Wandler-Mitteilungsempfangsprogramm 270 und ein Verwaltungsterminal-Kommunikationsprogramm 290. Die CPU 201 ruft diese Programme auf und führt sie aus, um verschiedene Prozesse auszuführen. Der Arbeitsspeicher 202 speichert auch eine Neuzuweisungsschwelle-Tabelle 280.
  • Der Cache 203 führt eine Zwischenspeicherung von Daten aus, die zwischen der Host-FC-Schnittstelle 204 und der Laufwerks-FC-Schnittstelle 205 ausgetauscht werden.
  • Die Host-FC-Schnittstelle 204 sendet/empfängt Signale (Befehle, Daten) an den/vom Host 100 entsprechend dem Faserkanalprotokoll. Die Host-FC-Schnittstelle 204 ist mit dem Hostcomputer 100 verbunden.
  • Die Laufwerks-FC-Schnittstelle 205 sendet/empfängt Signale (Befehle, Daten) an den/vom Speicher 400 entsprechend dem Faserkanalprotokoll. Diese Laufwerks-FC-Schnittstelle 205 ist über eine Faserkanalschleife (FC-Schleife) 600 mit dem Speicher 400 verbunden.
  • Die Verwaltungs-Schnittstelle 207 sendet/empfängt Daten und Befehle entsprechend z. B. dem TCP/IP-Protokoll. Diese Verwaltungs-Schnittstelle 207 ist mit dem Verwaltungsterminal 700 verbunden. Das Verwaltungsterminal 700 verfügt über einen Eingabeabschnitt 710 und einen Ausgabeabschnitt 720, und es führt die Eingabe/Ausgabe von Verwaltungsinformation des Speichers 400 an das/vom Verwaltungsterminal 700 aus.
  • Das RAID-Steuerprogramm 210 steuert die Operationen eines RAID aus mehreren ATA-Platten 401 bis 403. Anders gesagt, werden Daten verteilt in mehreren Platten gespeichert, und sie werden zur Rekonstruktion gelesen. Wenn eine Platte ausfällt, werden fehlende Daten durch eine Fehlerkorrekturfunktion (Korrektur) wiederhergestellt (siehe die 6).
  • Das Laufwerks-Befehlsausgabeprogramm 220 gibt Befehle für die ATA-Platten 401 bis 403 aus. Das Laufwerks-Verwaltungsprogramm 230 verwaltet Zustände der ATA-Platten 401 bis 403 unter Verwendung der Laufwerks-Verwaltungstabelle 240, und es sorgt für eine Erholung ausgehend von verschiedenen Fehlern.
  • Das vorsorgliche-Kopie-Programm 250 kopiert Speicherinhalte der ATA-Platten 401 bis 403, in denen viele schlechte Sektoren auftreten, auf eine Backupplatte (siehe die 7). Das I/F-Wandlungseinstellprogramm 260 stellt eine Betriebsbedingung für den I/F-Wandler 230 entsprechend einer Bedingung ein, wie sie durch das Verwaltungsterminal 700 eingestellt wird. Das I/F-Wandler-Mitteilungsempfangsprogramm 270 empfängt vom I/F-Wandler 230 entsprechend den Betriebszuständen der ATA-Platten 401 bis 403 ausgegebene Mitteilungen (siehe die 5). Die Neuzuweisungsschwelle-Verwaltungstabelle 280 speichert und verwaltet die Anzahl auftretender Neuzuweisungen sowie Schwellenwerte, die dazu verwendet werden, zu beurteilen, ob viele schlechte Sektoren auftreten.
  • Das Verwaltungsterminal-Kommunikationsprogramm 290 steuert den Betrieb der Verwaltungs Schnittstelle 207.
  • Der Speicher 400 verfügt über eine ATA-Plattengruppe 410 mit mehreren ATA-Platten und einen I/F-Wandler 430, und er ist in einem ATA-Laufwerksgehäuse enthalten.
  • Die ATA-Plattengruppe 410 enthält mehrere der ATA-Platten 401 bis 403, in denen eine Logikeinheit (LU) 420 eingestellt ist. Die Logikeinheit 420 ist ein Speicherbereich, der für die im Speicher 400 enthaltenen Speicherquellen (ATA-Platten) logisch eingetragen wird. Das RAID (Redundant Array of Independent Disks) wird durch mehrere der ATA-Platten 401 bis 403 gebildet, so dass in der Plattengruppe 410 gespeicherte Daten selbst dann nicht gelöscht werden, wenn ein Teil der Platten ausfällt.
  • Der I/F-Wandler 430 führt eine Wandlung zwischen dem Faserkanalprotokoll für den Plattenarraycontroller 200 und dem ATA-Protokoll für die ATA-Platten 401 bis 403 aus, und er verfügt über die in der 2 dargestellte Struktur. Der I/F-Wandler 430 kann auch so strukturiert sein, dass er Wandlungen nicht nur zwischen dem Faserkanalprotokoll und dem ATA-Protokoll ausführt, wie bei dieser Ausführungsform verwendet, sondern auch zwischen anderen Protokollen, um verschiedenen Funktionen zwischen den Protokollen zu genügen.
  • Der I/F-Wandler 430 verfügt über einen Prozessor 431, einen Arbeitsspeicher 432, eine FC-Schnittstelle 434, eine ATA-Schnittstelle 436 und einen Timer 437. Im Arbeitsspeicher 432 sind verschiedene Programme gespeichert. Der Prozessor 431 ruft diese Programme auf und führt sie aus, um verschiedene Prozesse auszuführen.
  • Die FC-Schnittstelle 434 sendet/empfängt Signale (Befehle, Daten) an den/vom Plattenarraycontroller 200 gemäß dem Fasekanalprotokoll. Die ATA-Schnittstelle 436 sendet/empfängt Signale (Befehle, Daten) an die/von den ATA-Platten 401 bis 403 entsprechend dem ATA-Kanalprotokoll.
  • Der Arbeitsspeicher 432 speichert: ein FC-Befehlsempfangsprogramm 441 zum Empfangen von Befehlen, wie sie entspre chend dem Faserkanalprotokoll vom Plattenarraycontroller 200 gesendet werden; ein Befehlswandlungsprogramm 443 zum Wandeln von Befehlen in solche, die durch ein anderes Protokoll definiert sind (bei dieser Ausführungsform vom Faserkanalprotokoll in das ATA-Protokoll); ein ATA-Befehlsausgabeprogramm 445 zum Ausgeben von durch das ATA-Protokoll definierten Befehlen an die ATA-Platten 401 bis 403; ein FC-Datenübertragungsprogramm 442 zum Senden/Empfangen von Daten gemäß dem Faserkanalprotokoll; ein ATA-Datenübertragungsprogramm 446 zum Senden/Empfangen von Daten gemäß dem ATA-Kanalprotokoll; und einen Datenpuffer 444 zum Zwischenspeichern der empfangenen Daten.
  • Ferner speichert der Arbeitsspeicher 432 ein Laufwerks-Ansprechzeit-Überwachungsprogramm 451, eine Neuzuweisungszeit-Einstelltabelle 452, eine Neuversuchszeit-Einstelltabelle 453, eine Ablaufzeit-Einstelltabelle 454 und ein CTL-Mitteilungsausgabeprogramm 455.
  • Das Laufwerks-Ansprechzeit-Überwachungsprogramm 451 überwacht, entsprechend einem vom Timer 407 gelieferten Taktsignal, die Zeit, die verstrichen ist, seit das ATA-Befehlsausgabeprogramm 445 einen Befehl ausgegeben hat. Wenn das Laufwerks-Laufwerks-Überwachungsprogramm 451 beurteilt, dass eine vorbestimmte Zeit verstrichen ist, seit der Plattenarraycontroller 200 den Befehl ausgegeben hat, gibt das CTL-Mitteilungsausgabeprogramm 455 eine Mitteilung an den Plattenarraycontroller aus. Die Neuzuweisungszeit-Einstelltabelle 452, die Neuversuchszeitdauer-Einstelltabelle 453 und die Ablaufzeit-Einstelltabelle 454 werden zum Beurteilen der verstrichenen Zeit verwendet. In jeder Tabelle 452 bis 454 definierte Zeiten können für jede der ATA-Platten 401 bis 403 gleich oder verschieden eingestellt sein.
  • Die 3 ist ein Flussdiagramm eines Ansprechzeit-Überwa chungsprozesses, wie er vom Laufwerks-Ansprechzeit-Überwachungsprogramm 451 ausgeführt wird. Die 4 ist ein zeitbezogenes Diagramm des Ansprechzeit-Überwachungsprozesses.
  • Wenn vom Plattenarraycontroller 200 ein Befehl an die ATA-Platten 401 bis 403 ausgegeben wird, wird dieser in der FC-Schnittstelle 434 empfangen, und das FC-Befehlsempfangsprogramm 441 analysiert den Befehl. Dann wandelt das Befehlswandlungsprogramm 443 das Befehlsprotokoll vom Faserkanalprotokoll in das ATA-Protokoll, und das ATA-Befehlsausgabeprogramm 445 gibt einen ATA-Befehls aus (1001). Die ATA-Schnittstelle 436 sendet den ausgegebenen ATA-Befehl an die ATA-Platten 401 bis 403.
  • Das Laufwerks-Ansprechzeit-Überwachungsprogramm 451 beginnt damit, die Ansprechzeit seit der Ausgabe des ATA-Befehls zu überwachen (1002). Dann wird beurteilt, ob von den ATA-Platten 401 bis 403 eine Antwort empfangen wurde (1003). Wenn von den ATA-Platten 401 bis 403 keine Antwort empfangen wurde, wird beurteilt, ob eine Neuzuweisungszeit erreicht ist, wie sie in der "Neuzuweisungs"zeit-Einstelltabelle 452 eingetragen ist (1004). Wenn die Neuzuweisungszeit nicht erreicht ist, kehrt der Prozess zum Schritt 1003 zurück, und es erfolgt weiter eine Überwachung auf eine Antwort von den ATA-Platten 401 bis 403.
  • Andererseits wird, wenn von den ATA-Platten 401 bis 403 eine Antwort empfangen wird, bevor die Neuzuweisungszeit erreicht ist, beurteilt, ob die Antwort eine solche für normalen Abschluss ist (1005). Wenn die Antwort eine solche für normalen Abschluss ist, wird beurteilt, dass in den ATA-Platten kein Neuversuch ausgeführt wird, und es wird die Antwort "gut" ausgegeben, um diesen Ansprechzeit-Überwachungsprozess zu beenden (1006). Wenn die Antwort nicht die für normalen Abschluss ist, wird beurteilt, dass in den ATA-Platten ein Fehler aufgetreten ist, und es wird die Antwort "NG" ausgegeben, um diesen Ansprechzeit-Überwachungsprozess zu beenden (1007).
  • Andererseits wird, wenn von den ATA-Platten 401 bis 403 keine Antwort empfangen wird, bis die Neuzuweisungszeit erreicht ist, beurteilt, dass die ATA-Platten eine automatische Neuzuweisung gestartet haben. Dann geht der Prozess zum nächsten Schritt (1008) weiter.
  • Im Schritt 1008 wird ferner beurteilt, ob von den ATA-Platten 401 bis 403 eine Antwort empfangen wurde. Wenn von den ATA-Platten 401 bis 403 keine Antwort empfangen wurde, wird beurteilt, ob eine Neuversuchszeit erreicht wurde, wie sie in der Neuversuchszeit-Einstelltabelle 453 eingetragen ist (1009). Wenn die Neuversuchszeit nicht erreicht ist, kehrt der Prozess zum Schritt 1008 zurück, und es erfolgt eine Überwachung auf eine Antwort von den ATA-Platten 401 bis 403.
  • Wenn andererseits von den ATA-Platten 401 bis 403 eine Antwort empfangen wird, bevor die Neuversuchszeit erreicht ist, wird beurteilt, ob die Antwort eine solche für normalen Abschluss ist (1010). Wenn die Antwort diejenige für normalen Abschluss ist, wird beurteilt, dass Daten durch den Neuversuchsvorgang normal von den ATA-Platten gelesen wurden, und es wird die Antwort "erholt" ausgegeben, um diesen Ansprechzeit-Überwachungsprozess zu beenden (1011). Wenn die Antwort nicht diejenige für normalen Abschluss ist, wird beurteilt, dass in den ATA-Platten ein Fehler aufgetreten ist, und dann wird die Antwort "NG" ausgegeben, um diesen Ansprechzeit-Überwachungsprozess zu beenden (1012).
  • Wenn andererseits von den ATA-Platten 401 bis 403 keine Antwort empfangen wird, bevor die Neuversuchszeit erreicht ist, wird beurteilt, dass in den ATA-Platten 401 bis 403 gerade ein Neuversuch abläuft, und an den Plattenarraycontroller 200 wird die Antwort "Neuversuch" gesendet (1013). Dann geht der Prozess zum nächsten Schritt 1014 über.
  • Im Schritt 1014 wird beurteilt, ob von den ATA-Platten 401 bis 403 eine Antwort empfangen wurde. Wenn von den ATA-Platten 401 bis 403 keine Antwort empfangen wurde, wird beurteilt, ob eine Ablaufzeit erreicht wurde, wie sie in der Zeitablauf-Einstelltabelle 454 eingetragen ist (1015). Wenn die Ablaufzeit nicht erreicht ist, kehrt der Prozess zum Schritt 1014 zurück, und es wird die Antwort von den ATA-Platten 401 bis 403 überwacht.
  • Wenn dagegen von den ATA-Platten 401 bis 403 eine Antwort empfangen wird, bevor die Neuversuchszeit erreicht ist, wird beurteilt, ob die Antwort eine solche für normalen Abschluss ist (1016). Wenn die Antwort diejenige für normalen Abschluss ist, wird beurteilt, dass in den ATA-Platten die automatische Neuzuweisung normal ausgeführt wurde, und es wird die Antwort "Neuversuchabschluss" ausgegeben, um diesen Ansprechzeit-Überwachungsprozess zu beenden (1017). Wenn die Antwort nicht diejenige für normalen Abschluss ist, wird beurteilt, dass in den ATA-Platten ein Fehler vorliegt, und es wird die Antwort "NG" ausgegeben, um diesen Ansprechzeit-Überwachungsprozess zu beenden (1018).
  • Wenn dagegen von den ATA-Platten 401 bis 403 kein Antwort empfangen ist, nachdem die Ablaufzeit erreicht wurde, wird beurteilt, dass in ihnen ein Fehler aufgetreten ist. Dann wird an den Plattenarraycontroller die Antwort "Zeitablauf" gesendet (1019), um diesen Ansprechzeit-Überwachungsprozess zu beenden (1020).
  • Die 4 ist ein zeitbezogenes Diagramm, das Mitteilungen zeigt, wie sie entsprechend der Zeit ausgegeben werden, die seit der Ausgabe eines Befehls verstrichen ist.
  • Wenn von den ATA-Platten 401 bis 403 eine Prozessabschlussantwort empfangen wird, bevor die Neuzuweisungszeit seit der Ausgabe eines ATA-Befehls durch das ATA-Befehlsausgabeprogramm 445 verstrichen ist, wird beurteilt, dass in den ATA-Platten gerade kein Neuversuch ausgeführt wird und an den Plattenarraycontroller 200 wird die Antwort "gut" gesendet.
  • Danach wird, wenn von den ATA-Platten 401 bis 403 zum Zeitpunkt, zu dem die Neuversuchszeit verstrichen ist, die Prozessabschlussantwort empfangen wird, beurteilt, dass in den ATA-Platten ein Neuversuch ausgeführt wurde, und an den Plattenarraycontroller 200 wird die Antwort "erholt" gesendet.
  • Danach werden, wenn die Neuversuchszeit ohne Antwort von den ATA-Platten 401 bis 403 verstrichen ist, beurteilt, dass die ATA-Platten 401 bis 403 gerade einem Neuversuch unterzogen werden, und an den Plattenarraycontroller 200 wird die Antwort "Neuversuch" gesendet. Im Plattenarraycontroller 200 wird durch das RAID-Steuerprogramm 210 entsprechend der Antwort "Neuversuch" ein Korrekturprozess ausgeführt (siehe die 6).
  • Danach wird, wenn von den ATA-Platten 401 bis 403 zum Zeitpunkt, zu dem eine Ablaufzeit verstrichen ist, eine Prozessabschlussantwort empfangen wird, beurteilt, dass in den ATA-Platten die automatische Neuzuweisung ausgeführt wurde, und an den Plattenarray 200 wird die Antwort "Abschluss des Neuversuchs" gesendet.
  • Danach wird, wenn die Ablaufzeit ohne Prozessabschlussantwort von den ATA-Platten 401 bis 403 verstrichen ist, beur teilt, dass in den ATA-Platten 401 bis 403 ein Fehler aufgetreten ist, und an den Plattenarraycontroller 200 wird die Antwort "Zeitablauf" gesendet.
  • Die 5 ist ein Flussdiagramm eines Fehlererholungsprozesses, wie er im Laufwerks-Verwaltungsprogramm 230 ausgeführt wird.
  • Als Erstes wird überwacht, ob vom I/F-Wandler 430 eine Antwort empfangen wurde (2001). Wenn die Laufwerks-FC-Schnittstelle 205 vom I/F-Wandler 430 eine Antwort empfängt, wird beurteilt, ob diese Antwort die Antwort "gut" ist (2002). Wenn die Antwort die Antwort "gut" ist, liegt in den ATA-Platten 401 bis 403 kein Fehler vor, und der Fehlererholungsprozess endet.
  • Wenn dagegen die Antwort nicht die Antwort "gut" ist, wird ferner beurteilt, ob die Antwort die Antwort "erholt" ist (2003). Wenn die Antwort die Antwort "erholt" ist, läuft in den ATA-Platten 401 bis 403 die automatische Neuzuweisung ab, und daher wird ein Wert (Anzahl der auftretenden Fehler) in der Neuzuweisungsschwellenwert-Verwaltungstabelle 280 nach oben gezählt (2004).
  • Wenn dagegen die Antwort nicht die Antwort "erholt" ist, wird ferner beurteilt, ob die Antwort die Antwort "Neuversuch" ist (2005). Wenn die Antwort die Antwort "Neuversuch" ist, wird das RAID-Steuerprogramm 210 dazu angewiesen, Daten von anderen Platten zu lesen, damit die von den ATA-Platten zu lesenden Daten rekonstruiert werden (siehe die 6), um eine schnelle Antwort an den Host 100 zurückzuliefern (2006).
  • Wenn dagegen die Antwort nicht die Antwort "Neuversuch" ist, wird ferner beurteilt, ob die Antwort die Antwort "Abschluss eines Neuversuchs" ist (2007). Wenn die Antwort die Antwort "Abschluss eines Neuversuchs" ist, wird in den ATA-Platten 401 bis 403 die automatische Neuzuweisung ausgeführt, und so wird ein Wert (Anzahl der auftretenden Fehler) hoch gezählt (2008).
  • Wenn dagegen die Antwort nicht die Antwort "Abschluss eines Neuversuchs" ist, wird ferner beurteilt, ob die Antwort die Antwort "Zeitablauf" ist (2009). Wenn die Antwort die Antwort "Zeitablauf" ist, trat in den ATA-Platten 401 bis 403 ein Fehler auf und so wird das RAID-Steuerprogramm 210 dazu angewiesen, den Fehlererholungsprozess auszuführen (2010). Dabei wird, da auf Grund des ausgegebenen Befehls davon ausgegangen wird, dass ein zu einem Zeitablauf (z. B. Aufhängen) führender Fehler in den ATA-Platten 401 bis 403 aufgetreten ist, dasjenige ATA-Laufwerk, das keine Antwort zurückliefert, durch einen harten Resetvorgang initialisiert.
  • Wenn dagegen die Antwort nicht die Antwort "Zeitablauf" ist, handelt es sich um keine angenommene Antwort, so dass nichts ausgeführt wird und dieser Fehlererholungsprozess endet.
  • Die 6 ist eine erläuternde Ansicht eines vom RAID-Steuerprogramm 210 ausgeführten Korrekturprozesses.
  • Der Korrekturprozess ist der Folgende. Wie oben beschrieben, werden, wenn in einem Sektor A einer ganz links dargestellten Platte ein Fehler auftritt und die Antwort von der Platte verzögert ist, Daten aus Sektoren B, C und D in anderen das RAID bildenden Platten gelesen, wobei diese Sektoren dem Sektor A entsprechen. Es wird die Exklusiv-ODER-Verknüpfung der gelesenen Daten berechnet, um Daten A' zu erzeugen, die mit den im Sektor A gespeicherten Daten übereinstimmen, und es wird eine Antwort an den Host gesendet. Die berechneten Daten werden in den ausgefallenen Sektor A (oder einen neu zugewiesenen Sektor) eingeschrieben.
  • Wie oben beschrieben, können selbst dann, wenn die Antwort von den Platten durch vielfaches Ausführen eines Neuversuchs in ihnen verzögert ist, Daten dadurch schnell an den Host zurückgeliefert werden, dass beim Empfangen der Antwort "Neuversuch" der Korrekturprozess ausgeführt wird. Daher kann ein Zeitablauf im Host vermieden werden. Außerdem kann die Wartezeit des Hosts vor einem Zeitablauf verkürzt werden, um dadurch eine Verzögerung von Prozessen im Host zu unterdrücken.
  • Die 7 ist eine erläuternde Ansicht eines vom vorbeugende-Kopie-Prozess ausgeführten vorbeugende-Kopie-Programms 250.
  • Der vorbeugende-Kopie-Prozess wird vorbeugend ausgeführt, wenn entsprechend dem Vergleichsergebnis zwischen der Zahl der Neuzuweisungen, wie sie in der Neuzuweisungsschwelle-Verwaltungstabelle 280 durch das Laufwerks-Verwaltungsprogramm 230 aufgezeichnet wird, und einem vorbestimmten Schwellenwert (wenn z. B. die Anzahl der Neuzuweisungen über dem vorbestimmten Schwellenwert liegt) beurteilt wird, dass die Anzahl schlechter Sektoren der Platten zugenommen hat. Anders gesagt, wird, wenn viele Sektoren ausgefallen sind, jedoch ein Lesen/Schreiben nicht völlig unmöglich ist, der Speicherinhalt der Platte, in der viele Sektoren ausgefallen sind, auf Backupplatten kopiert.
  • Wie oben beschrieben, ist bei der ersten Ausführungsform der Erfindung der Schnittstellenwandler 430 für Wandlungsvorgänge zwischen für die ATA-Platten 401 bis 403 ausgebildeten Signale der ATA-Schnittstelle und für den Plattenarraycontroller 200 ausgebildeten Signalen der Faserkanal-Schnittstelle vorhanden. Im Ergebnis kann ein ATA-Laufwerk auf die selbe Weise wie ein FC-Laufwerk verwendet werden.
  • Der Schnittstellenwandler 430 überwacht mittels der Neuzuweisungszeit, ob von den ATA-Platten 401 bis 403 eine Antwort auf einen Daten-Eingabe/Ausgabe-Anforderungsbefehl empfangen wird, und er beurteilt, dass in den ATA-Platten 401 bis 403 gerade eine automatische Neuzuweisung ausgeführt wird, wenn die Antwort von den ATA-Platten 401 bis 403 empfangen wird und die Neuzuweisungszeit überschritten ist. Dann wird die Antwort "erholt" an den Plattenarraycontroller 200 ausgegeben. Das Laufwerks-Verwaltungsprogramm 230 empfängt die Antwort "erholt", um die Anzahl der Neuzuweisungen in den Platten zu aktualisieren, wobei diese Zahl in der Neuzuweisungsschwelle-Verwaltungstabelle 280 aufgezeichnet wird. Wenn die in der Neuzuweisungsschwelle-Verwaltungstabelle 280 aufgezeichnete Anzahl über einem vorbestimmten Schwellenwert liegt, wird beurteilt, dass schlechte Sektoren in den Platten zugenommen haben, und so wird der vorbeugende-Kopie-Prozess ausgeführt. Anders gesagt, kann durch Beachten der Tatsache, dass bei der automatischen Neuzuweisung die Ansprechzeit verlängert ist und durch Überwachen der Ansprechzeit, das Auftreten einer automatischen Neuzuweisung (Auftreten schlechter Sektoren) erkannt werden, um den vorbeugende-Kopie-Prozess unter Verwendung der Anzahl aufgetretener schlechter Sektoren als Schwellenwert auszuführen.
  • Wenn von den ATA-Platten 401 bis 403 bis zur Neuversuchszeit keine Antwort empfangen wird, wird die Antwort "Neuversuch" an den Plattenarraycontroller 200 ausgegeben. Wenn das Laufwerks-Verwaltungsprogramm 230 die Antwort "Neuversuch" empfängt, liest sie Daten von anderen das RAID bildenden Platten ohne auf eine Antwort von den ATA-Platten zu warten, es rekonstruiert Daten (Datenkorrektur) unter Verwendung der gelesenen Daten, und es sendet die rekonstruierten Daten an den Host 100. Indessen sorgt das Laufwerks-Verwaltungsprogramm 230 für einen Neuversuch im Laufwerk, und es wartet auf eine automatische Neuzuweisung auf Grund eines Erfolgs des Neuversuchs oder auf eine Fehlerantwort auf Grund eines aufgegebenen Neuversuchs. Daher sind das Verhindern eines Zeitablaufs für den Host und das Fördern einer automatischen Neuzuweisung für die Platten miteinander verträglich.
  • Die 8 ist ein Blockdiagramm, das die Gesamtstruktur eines Plattenarraysystems gemäß einer zweiten Ausführungsform der Erfindung zeigt.
  • Die zweite Ausführungsform unterscheidet sich von der oben beschriebenen ersten Ausführungsform (1) dadurch, dass bei der zweiten Ausführungsform für jede ATA-Platte ein I/F-Wandler vorhanden ist. Dieselben Komponenten wie bei der ersten Ausführungsform sind mit denselben Zahlen wie bei dieser ersten Ausführungsform versehen, und sie werden nicht detailliert erläutert.
  • Ein Speicher 300 verfügt über eine ATA-Plattengruppe 310 aus mehreren ATA-Platten, I/F-Wandler 351 bis 353 sowie eine Portumgehungsschaltung 330, und sie ist im ATA-Laufwerksgehäuse enthalten.
  • Die ATA-Plattengruppe 310 verfügt über mehrere ATA-Platten 301 bis 303. In den ATA-Platten 301 bis 303 ist eine Logikeinheit (LU) 320 eingestellt. Ein RAID besteht aus mehreren der ATA-Platten 301 bis 303.
  • Die I/F-Wandler 351 bis 353 führen eine Wandlung zwischen dem Faserkanalprotokoll für den Plattenarraycontroller 200 und dem ATA-Protokoll für die ATA-Platten 301 bis 303 aus, und sie verfügen jeweils über die in der 2 dargestellte Struktur. Bei der ersten Ausführungsform können für jede der ATA-Platten 3b1 bis 303 verschiedenen Zeiten eingetragen werden, wie sie jeweils in der Neuzuweisungszeit-Einstelltabelle 452, der Neuversuchszeit-Einstelltabelle 453 und der Ablaufzeit-Einstelltabelle 454 definiert sind. Bei der zweiten Ausführungsform speichert, da die I/F-Wandler 351 bis 353 jeweils mit den ATA-Platten 301 bis 303 verbunden sind, jede der Tabellen einen Wert für jede der ATA-Platten.
  • Die Portumgehungsschaltung 330 verfügt, wie es in der 9 dargestellt ist, über mehrere Selektoren 331 bis 334 entsprechend der Anzahl angeschlossener Platten und Controller. Diese Selektoren sind in einem normalen Zustand über die durchgezogene Leitung verbunden. Wenn in einem Teil der Platten oder im Controller ein Fehler auftritt, werden die Selektoren über die gestrichelte Leitung verbunden, um dadurch die Platten oder den Controller mit Fehler von einer Faserkanalschleife 600 zu trennen. Demgemäß wird die Faserkanalschleife 600 nicht aufgetrennt.
  • Wie oben beschrieben, kann bei der zweiten Ausführungsform der Erfindung, zusätzlich zum Effekt der ersten Erfindung, durch Kombinieren der ATA-Platten 301 bis 303 und der I/F-Wandler 351 bis 353, und durch Entfernen derselben, eine Wandlung des ATA-Laufwerks und des I/F-Wandlers in ein FC-Laufwerk erfolgen. Im Ergebnis kann die Wartbarkeit des Speichers verbessert werden.
  • Die 10 ist ein Blockdiagramm, das die Gesamtstruktur eines Plattenarraysystems gemäß einer dritten Ausführungsform der Erfindung zeigt.
  • Die dritte Ausführungsform unterscheidet sich von der ersten Ausführungsform (1) dadurch, dass bei der dritten Ausführungsform der I/F-Wandler im Plattenarraycontroller 200 enthalten ist. Dieselben Komponenten wie bei der ersten Aus führungsform sind mit denselben Zahlen wie bei der ersten Ausführungsform versehen, und sie werden nicht detailliert erläutert.
  • Der Plattenarraycontroller 200 verfügt über eine oder mehrere CPUs 201, einen Arbeitsspeicher 202, einen Cache 203, eine oder mehrere FC-Schnittstellen 204, eine oder mehrere ATA-Schnittstellen 206, eine Verwaltungs-Schnittstelle 207 und einen Timer 208. Der Plattenarraycontroller 200 liefert in der ATA-Plattengruppe 510 gespeicherte Information an den mit ihm verbundenen Host 100 über die Host-FC-Schnittstelle 204.
  • Der Arbeitsspeicher 202 speichert ein RAID-Steuerprogramm 210, ein Laufwerks-Befehlsausgabeprogramm 220, ein Laufwerks-Verwaltungsprogramm 230, eine Laufwerks-Verwaltungstabelle 240, das vorbeugende-Kopie-Programm 250, ein Zeiteinstellprogramm 256, eine Neuzuweisungsschwelle-Verwaltungstabelle 280 und ein Verwaltungsterminal-Kommunikationsprogramm 290.
  • Ferner speichert der Arbeitsspeicher 202 bei der dritten Ausführungsform ein Laufwerks-Ansprechzeit-Überwachungsprogramm 291, eine Neuzuweisungszeit-Einstelltabelle 292, eine Neuversuchszeit-Einstelltabelle 293 und eine Ablaufzeit-Einstelltabelle 294. Diese Programme 291 bis 294 funktionieren auf dieselbe Weise wie das Laufwerks-Ansprechzeit-Überwachungsprogramm 451, die Neuzuweisungszeit-Einstelltabelle 452, die Neuversuchszeit-Einstelltabelle 453 und die Ablaufzeit-Einstelltabelle 454.
  • Diese Programme werden durch die CPU 201 aufgerufen und zum Ausführen verschiedener Prozesse ausgeführt.
  • Das Zeiteinstellprogramm 265 stellt in der Neuzuweisungs zeit-Einstelltabelle 292, der Neuversuchszeit-Einstelltabelle 293 und der Ablaufzeit-Einstelltabelle 294 gespeicherte Zeiten gemäß einer Bezugnahme durch das Laufwerks-Ansprechzeit-Überwachungsprogramm 291 ein.
  • Die ATA-Plattengruppe 510 verfügt über mehrere ATA-Laufwerke 501 bis 503. In diesen ATA-Laufwerken 501 bis 503 ist eine Logikeinheit (LU) 520 eingestellt. Die ATA-Platten 501 bis 503 bilden ein RAID.
  • Wie oben beschrieben, existiert bei der dritten Ausführungform, zusätzlich zum Effekt der ersten Ausführungsform, der folgende Effekt. Da im Plattenarraycontroller 200 eine Struktur vorhanden ist, die dieselbe Funktion wie ein FC-Laufwerk erzielt, muss keine Struktur für eine Schnittstellenwandlung vorhanden sein, so dass zu einer Kostensenkung des Speichers beigetragen ist.

Claims (9)

  1. Plattenarraysystem mit: – einem Speicher mit einer Logikeinheit; und – einer Steuerungsvorrichtung, die mit einem Host verbunden ist, der Daten-Eingabe/Ausgabe anfordert und die Daten entsprechend der Anforderung vom Host in den/aus dem Speicher eingibt/ausgibt; – wobei der Speicher Folgendes aufweist: – mehrere Plattenlaufwerke mit einer ATA-Schnittstelle; und – einen Schnittstellenwandler für eine Wandlung zwischen für die Plattenlaufwerke ausgebildeten ATA-Schnittstellensignalen und für die Steuerungsvorrichtung ausgebildeten Faserkanalschnittstelle-Signalen; – wobei der Schnittstellenwandler Folgendes aufweist: – einen Ansprechzeit-Überwachungsabschnitt zum Überwachen, ob von den Plattenlaufwerken eine Antwort auf eine Daten-Eingabe/Ausgabe-Anforderung innerhalb einer ersten vorbestimmten Zeit oder einer zweiten vorbestimmten Zeit, die länger als die erste vorbestimmte Zeit ist, empfangen wird; und – einen Mitteilungsabschnitt zum Ausgeben einer ersten Mitteilung an die Steuerungsvorrichtung durch Beurteilen, dass sich die Plattenlaufwerke in einem Neuzuweisungsvorgang befinden, wenn die Antwort von den Plattenlaufwerken nach der ersten vorbestimmten Zeit empfangen wird und zum Ausgeben einer zweiten Mitteilung an die Steuerungsvorrichtung, damit diese eine Antwort an den Host erzeugt, ohne auf die Antwort von den Plattenlaufwerken zu warten, wenn von den Plattenlaufwerken innerhalb der zweiten vorbestimmten Zeit keine Antwort empfangen wird; – wobei die Steuerungsvorrichtung Folgendes aufweist: – einen Laufwerks-Verwaltungsabschnitt zum Verwalten des Betriebszustands der Plattenlaufwerke; – eine Schwellenwert-Verwaltungstabelle zum Verwalten des Zustands der in den Plattenlaufwerken ausgeführten Neuzuweisung; – einen RAID-Steuerungsabschnitt zum Steuern des Betriebs redundant vorhandener Plattenlaufwerke; und – wobei der Laufwerks-Verwaltungsabschnitt die Anzahl der Neuzuweisungen der Plattenlaufwerke aktualisiert, wenn die erste Mitteilung empfangen wird, wobei diese Anzahl in der Schwellenwert-Verwaltungstabelle aufgezeichnet wird, um den Betriebszustand der Plattenlaufwerke dadurch zu verwalten, dass entsprechend dem Vergleichsergebnis zwischen der Anzahl der Neuzuweisungen und einem vorbestimmten, in der Schwellenwert-Verwaltungstabelle aufgezeichneten Schwellenwert beurteilt wird, ob das Symptom eines Ausfalls der Plattenlaufwerke hoch geworden ist und um an den Host Daten zu senden, die mit Daten rekonstruiert wurden, die von anderen, redundant vorhandenen Plattenlaufwerken gelesen wurden, ohne dass auf die Antwort von den Plattenlaufwerken gewartet wird, wenn die zweite Mitteilung empfangen wird.
  2. Plattenarraysystem mit: – einem Speicher, in dem eine Logikeinheit logisch eingestellt ist; und – einer Steuerungsvorrichtung, die mit einem Host verbunden ist, der Daten-Eingabe/Ausgabe anfordert und die Daten entsprechend der Anforderung vom Host in den/aus dem Speicher eingibt/ausgibt; – wobei der Speicher Folgendes aufweist: – mehrere Plattenlaufwerke mit einer ersten Schnittstelle; und – einen Schnittstellenwandler für eine Wandlung zwischen für die Plattenlaufwerke ausgebildeten ersten Schnittstellensignalen und für die Steuerungsvorrichtung ausgebildeten zweiten Schnittstellensignalen; – wobei der Schnittstellenwandler Folgendes aufweist: – einen Ansprechzeit-Überwachungsabschnitt zum Überwachen der Zeit, bis von den Plattenlaufwerken eine Antwort auf die Daten-Eingabe/Ausgabe-Anforderung empfangen wird; und – einen Mitteilungsabschnitt zum Ausgeben einer Mitteilung zum Betriebszustand der Plattenlaufwerke an die Steuerungsvorrichtung entsprechend der überwachten Ansprechzeit.
  3. Plattenarraysystem nach Anspruch 2, bei dem – der Ansprechzeit-Überwachungsabschnitt überwacht, ob von den Plattenlaufwerken innerhalb einer ersten vorbestimmten Zeit eine Antwort empfangen wird, und bei dem der Mitteilungsausgabeabschnitt beurteilt, dass in den Plattenlaufwerken gerade eine Neuzuweisung ausgeführt wird, um eine erste Mitteilung an die Steuerungsvorrichtung auszugeben, wenn die Antwort von den Plattenlaufwerken nach der ersten vorbestimmten Zeit empfangen wird.
  4. Plattenarraysystem nach Anspruch 2, bei dem – der Ansprechzeit-Überwachungsabschnitt überwacht, ob von den Plattenlaufwerken eine Antwort innerhalb einer zweiten vorbestimmten Zeit empfangen wird; und – der Mitteilungsabschnitt eine zweite Mitteilung an die Steuerungsvorrichtung ausgibt, damit diese eine Antwort an den Host ausgibt, ohne auf die Antwort von Plattenlaufwerken zu warten, wenn von den Plattenlaufwerken keine Antwort innerhalb der zweiten vorbestimmten Zeit empfangen wird.
  5. Plattenarraysystem nach Anspruch 3, bei dem – die Steuerungsvorrichtung über einen Laufwerks-Verwaltungsabschnitt zum Verwalten des Betriebszustands der Plattenlaufwerke und eine Schwellenwert-Verwaltungstabelle zum Verwalten eines Zustands in den Plattenlaufwerken ausgeführten Neuzuweisung verfügt; und – der Laufwerks-Verwaltungsabschnitt die Anzahl der Neuzuweisungen der Plattenlaufwerke aktualisiert, wobei diese Anzahl in der Schwellenwert-Verwaltungstabelle aufgezeichnet wird, wenn die erste Mitteilung empfangen wird, und er als Ergebnis eines Vergleichs zwischen der Anzahl der Neuzuweisungen und einem in der Schwellenwert-Verwaltungstabelle aufgezeichneten vorbestimmten Schwellenwert beurteilt, ob ein Symptom dahingehend, dass die Plattenlaufwerke ausgefallen sind, hoch wird.
  6. Plattenarraysystem nach Anspruch 4, bei dem – die Steuerungsvorrichtung über einen Laufwerks-Verwaltungsabschnitt zum Verwalten des Betriebszustands der Plattenlaufwerke sowie einen RAID-Steuerungsabschnitt zum Steuern des Betriebs von redundant vorhandenem Plattenlaufwerken verfügt; und – der Laufwerks-Verwaltungsabschnitt an den Host Daten sendet, die mit von anderen, redundant vorhandenen Plattenlaufwerken gelesenen Daten konstruiert wurden, ohne auf eine Antwort von den Plattenlaufwerken zu warten, wenn die zweite Mitteilung ausgegeben wird.
  7. Schnittstellenwandler, der zwischen Plattenlaufwerken mit einer Logikeinheit und einer Steuerungsvorrichtung zum Eingeben/Ausgeben von Daten von den Plattenlaufwerken angeordnet ist und eine Wandlung zwischen für das Plattenlaufwerk ausgebildeten ersten Schnittstellensignalen und für die Steuerungsvorrichtung ausgebildeten zweiten Schnittstellensignalen ausführt, mit: – einem Ansprechzeit-Überwachungsabschnitt zum überwachen der Zeit, bis von den Plattenlaufwerken eine Antwort auf die Daten-Eingabe/Ausgabe-Anforderung empfangen wird; und – einem Mitteilungsabschnitt zum Ausgeben einer Mitteilung zu einem Betriebszustand des Plattenlaufwerks entsprechend der überwachten Ansprechzeit an die Steuerungsvorrichtung.
  8. Schnittstellenwandler nach Anspruch 7, bei dem – der Ansprechzeit-Überwachungsabschnitt überwacht, ob von den Plattenlaufwerken eine Antwort innerhalb einer ersten vorbestimmten Zeit empfangen wird; und – der Mitteilungsausgabeabschnitt eine erste Mitteilung dadurch an die Steuerungsvorrichtung ausgibt, dass er beurteilt, dass das Plattenlaufwerk gerade einem Neuzuweisungsvorgang unterzogen wird, wenn die Antwort vom Plattenlaufwerk nach der ersten vorbestimmten Zeit empfangen wird.
  9. Schnittstellenwandler nach Anspruch 8, bei dem – der Ansprechzeit-Überwachungsabschnitt überwacht, ob eine Antwort von den Plattenlaufwerken innerhalb einer zweiten vorbestimmten Zeit empfangen wird, die länger als die erste vorbestimmte Zeit ist; und – der Mitteilungsausgabeabschnitt eine zweite Mitteilung an die Steuerungsvorrichtung ausgibt, damit diese eine Antwort an den Host erzeugt, ohne auf die Antwort von den Plattenlaufwerken zu warten, wenn von den Plattenlaufwerken innerhalb der zweiten vorbestimmten Zeit keine Antwort empfangen wird.
DE102004027362A 2003-12-16 2004-06-04 Plattenarraysystem und Schnittstellenwandler Ceased DE102004027362A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003-417521 2003-12-16
JP2003417521A JP4317436B2 (ja) 2003-12-16 2003-12-16 ディスクアレイシステム及びインターフェイス変換装置

Publications (1)

Publication Number Publication Date
DE102004027362A1 true DE102004027362A1 (de) 2005-07-21

Family

ID=32709349

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004027362A Ceased DE102004027362A1 (de) 2003-12-16 2004-06-04 Plattenarraysystem und Schnittstellenwandler

Country Status (5)

Country Link
US (2) US7080167B2 (de)
JP (1) JP4317436B2 (de)
DE (1) DE102004027362A1 (de)
FR (1) FR2863734B1 (de)
GB (1) GB2409329B (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958292B2 (en) 2004-06-23 2011-06-07 Marvell World Trade Ltd. Disk drive system on chip with integrated buffer memory and support for host memory access
JP4345979B2 (ja) * 2005-06-30 2009-10-14 富士通株式会社 Raid装置、通信接続監視方法及びプログラム
JP2007188463A (ja) * 2005-12-13 2007-07-26 Fujitsu Ltd 故障修復方法および記録装置
JP4775846B2 (ja) * 2006-03-20 2011-09-21 株式会社日立製作所 物理リンクの割当てを制御するコンピュータシステム及び方法
JP2007280258A (ja) * 2006-04-11 2007-10-25 Hitachi Ltd 記憶制御装置
JP5063085B2 (ja) * 2006-11-08 2012-10-31 株式会社リコー 情報装置及び制御装置
JP5082418B2 (ja) * 2006-12-11 2012-11-28 富士通株式会社 ドライブ装置をfc−alにより接続した情報処理システム
JP4369470B2 (ja) 2006-12-26 2009-11-18 富士通株式会社 データ中継装置、ストレージ装置、および応答遅延監視方法
JP2010097385A (ja) * 2008-10-16 2010-04-30 Fujitsu Ltd データ管理プログラム、ストレージ装置診断プログラム、およびマルチノードストレージシステム
US8250453B2 (en) * 2008-12-22 2012-08-21 Hitachi Ltd. Storage apparatus and data verification method in storage apparatus
JP5288331B2 (ja) * 2009-02-05 2013-09-11 日本電気株式会社 I/o命令障害回復回路、i/o命令障害回復方法及びi/o命令障害回復プログラム
WO2011128928A1 (en) 2010-04-12 2011-10-20 Hitachi, Ltd. Storage device
US8782465B1 (en) * 2011-12-22 2014-07-15 Emc Corporation Managing drive problems in data storage systems by tracking overall retry time
CN102927902B (zh) * 2012-09-17 2015-10-28 杭州先临三维科技股份有限公司 快速自反馈扫描系统及控制方法
US9223658B2 (en) * 2013-05-13 2015-12-29 Lenovo (Singapore) Pte. Ltd. Managing errors in a raid
JP6228793B2 (ja) * 2013-09-24 2017-11-08 株式会社日立製作所 計算機システム、計算機システムの制御方法及び接続モジュール
CN107005748B (zh) 2014-11-28 2020-08-28 三菱电机株式会社 通信设备、通信适配器、通信系统以及通信参数响应方法
CN105515903A (zh) * 2015-12-07 2016-04-20 中国航空工业集团公司西安航空计算技术研究所 一种fc交换机监控功能测试方法
CN105376117A (zh) * 2015-12-11 2016-03-02 中国航空工业集团公司西安航空计算技术研究所 一种fc交换机芯片数据监控测试方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US69377A (en) * 1867-10-01 Improvement in car-brake shoes
JP2912802B2 (ja) 1993-10-14 1999-06-28 富士通株式会社 ディスクアレイ装置の故障対処方法および装置
US5758057A (en) 1995-06-21 1998-05-26 Mitsubishi Denki Kabushiki Kaisha Multi-media storage system
US5923876A (en) * 1995-08-24 1999-07-13 Compaq Computer Corp. Disk fault prediction system
US5812754A (en) 1996-09-18 1998-09-22 Silicon Graphics, Inc. Raid system with fibre channel arbitrated loop
JPH1195933A (ja) 1997-09-19 1999-04-09 Hitachi Ltd ディスクアレイ装置
US6405282B1 (en) * 1997-10-06 2002-06-11 Emc Corporation Method for analyzine disk seek times in a disk array storage device
US6134630A (en) 1997-11-14 2000-10-17 3Ware High-performance bus architecture for disk array system
JP3284963B2 (ja) * 1998-03-10 2002-05-27 日本電気株式会社 ディスクアレイの制御装置及び制御方法
US6115771A (en) * 1998-03-31 2000-09-05 Lsi Logic Corporation Method and system for converting computer peripheral equipment to SCSI-compliant devices
JPH11345095A (ja) 1998-06-02 1999-12-14 Toshiba Corp ディスクアレイ装置およびその制御方法
JP2000003255A (ja) 1998-06-12 2000-01-07 Nec Corp ディスクアレイ装置
US6772108B1 (en) 1999-09-22 2004-08-03 Netcell Corp. Raid controller system and method with ATA emulation host interface
JP2001356880A (ja) 2000-06-14 2001-12-26 Toshiba Tec Corp ハードディスクドライブのデータライトリード装置
EP1191431A2 (de) 2000-09-20 2002-03-27 Matsushita Electric Industrial Co., Ltd. Verfahren und Vorrichtung zum Betreiben einer Matrize von Speichergeräten
US6618788B1 (en) 2000-09-27 2003-09-09 Cypress Semiconductor, Inc. ATA device control via a packet-based interface
US6862648B2 (en) * 2000-10-30 2005-03-01 Sun Microsystems, Inc. Interface emulation for storage devices
US20020062377A1 (en) * 2000-11-20 2002-05-23 Hillman Matthew F. Scalable directory, master and slave server based architecture for hosting application services
TW579503B (en) 2001-08-24 2004-03-11 Icp Electronics Inc Disk array control apparatus
US6874060B2 (en) 2001-12-07 2005-03-29 Dell Products L.P. Distributed computer system including a virtual disk subsystem and method for providing a virtual local drive
JP3714613B2 (ja) 2001-12-12 2005-11-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、該記憶装置を含む情報処理装置および情報記憶システムのリカバリ方法
US7246268B2 (en) 2002-01-16 2007-07-17 Sandisk Corporation Method and apparatus for dynamic degradation detection
US6859896B2 (en) 2002-04-02 2005-02-22 International Business Machines Corporation Adapter and method for handling errors in a data storage device converted to be accessible to multiple hosts
US6952753B2 (en) * 2002-06-03 2005-10-04 Sun Microsystems, Inc. Device driver with improved timeout performance
JP4346875B2 (ja) 2002-08-14 2009-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーション データのリアサイン方法、データ記録装置、プログラム
JP2004126707A (ja) 2002-09-30 2004-04-22 Fujitsu Ltd インタフェース変換装置及びインタフェース変換方法
US20040117522A1 (en) 2002-12-11 2004-06-17 Dell Products L.P. System and method for addressing protocol translation in a storage environment
JP4651913B2 (ja) * 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
JP4060235B2 (ja) 2003-05-22 2008-03-12 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2005018185A (ja) * 2003-06-24 2005-01-20 Hitachi Ltd 記憶装置システム

Also Published As

Publication number Publication date
GB2409329B (en) 2006-01-11
JP2005182104A (ja) 2005-07-07
JP4317436B2 (ja) 2009-08-19
GB2409329A (en) 2005-06-22
US7383361B2 (en) 2008-06-03
GB0412679D0 (en) 2004-07-07
FR2863734A1 (fr) 2005-06-17
FR2863734B1 (fr) 2006-07-14
US20060095813A1 (en) 2006-05-04
US20050132103A1 (en) 2005-06-16
US7080167B2 (en) 2006-07-18

Similar Documents

Publication Publication Date Title
DE102004027362A1 (de) Plattenarraysystem und Schnittstellenwandler
DE60210211T2 (de) Redundante Datensicherungsvorrichtung und -Verfahren
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE60115839T2 (de) Verfahren und Gerät für die Erstellung von Mehrweg-Ein/Ausgaben unter Verwendung des Befehls &#34;SCSI persistent reserve&#34;
DE602005002713T2 (de) Informationsverarbeitungssystem mit redundanten Pfaden und Zugriffsverfahren
DE19509363C2 (de) Parallelprozessorsystem und Verfahren zum Umschalten zwischen Gruppen von Parallelprozessoren
DE69733076T2 (de) Hochleistungsdatenweg mit sofortigem xor
EP0238841B1 (de) Fehlergesicherte, hochverfügbare Multiprozessor-Zentralsteuereinheit eines Vermittlungssystemes und Verfahren zum Speicherkonfigurationsbetrieb dieser Zentralsteuereinheit
DE602005001851T2 (de) Speicherplattenanordnungsgerät und Steuerverfahren dafür
DE4134207C1 (en) Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computer
DE69635713T2 (de) Diskarray-Teilsystem
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
DE102004013113A1 (de) Plattenarraysystem und Fehlerinformations-Steuerungsverfahren
DE112019005408B4 (de) Masterloses raid für byte-adressierbaren nichtflüchtigen speicher
DE10317925B4 (de) Steuerungskommunikation über eine ständig eingeschaltete Steuerungsverbindung
DE4429969A1 (de) Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
DE2350229A1 (de) Datenverarbeitungsanlage, insbesondere als steuereinrichtung fuer fernsprechvermittlungsanlagen
DE69927223T2 (de) Ausfallsicherheit eines Mehrrechnersystems
WO1988007314A1 (en) Process for operating a multiprocessor central control unit of a relay system
DE69433947T2 (de) Festgekoppelte Dual-Steuermodule benutzendes fehlertolerantes Speichersteuergerät
DE4005321C2 (de)
DE10139660A1 (de) Programmgesteuerte Einheit
DE69630326T2 (de) Informationsspeicherungssteuerungsgerät
DE69636805T2 (de) Massenspeicherplattenanordnung zur Verwendung in Rechnersystemen
DE60003209T2 (de) Verfahren und vorrichtung zur verbesserung der zuverlässigkeit eines computersystems

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection