PatentDe  


Dokumentenidentifikation DE102004013113A1 31.03.2005
Titel Plattenarraysystem und Fehlerinformations-Steuerungsverfahren
Anmelder Hitachi, Ltd., Tokio/Tokyo, JP
Erfinder Matsuki, Kunihito, Tokio/Tokyo, JP;
Takata, Yutaka, Tokio/Tokyo, JP;
Ogasawara, Hiroshi, Tokio/Tokyo, JP;
Kobayashi, Naotaka, Tokio/Tokyo, JP
Vertreter Strehl, Schübel-Hopf & Partner, 80538 München
DE-Anmeldedatum 17.03.2004
DE-Aktenzeichen 102004013113
Offenlegungstag 31.03.2005
Veröffentlichungstag im Patentblatt 31.03.2005
IPC-Hauptklasse G06F 13/00
Zusammenfassung Ein Plattenarraysystem gemäß der Erfindung ist mit Folgendem versehen: mehreren Speichervorrichtungen, in denen Daten gespeichert werden; einer Speichervorrichtungs-Steuerungseinheit, die das Speichern von Daten in den mehreren Speichervorrichtungen steuert; einer Verbindungseinheit, die mit der Speichervorrichtungs-Steuerungseinheit verbunden ist; einer ersten Kommunikations-Steuerungseinheit und einem Verwaltungsterminal. Die erste Kommunikations-Steuerungseinheit ist über die Verbindungseinheit mit der Speichervorrichtungs-Steuerungseinheit verbunden, und sie ist an ein erstes Netzwerk angeschlossen, das extern zum eigenen Plattenarraysystem liegt, und sie überträgt Dateidaten über das erste Netzwerk. Die erste Kommunikations-Steuerungseinheit überträgt Daten an die Verbindungseinheit, und sie liest Information zu einem im eigenen Plattenarraysystem auftretenden Fehler aus den mehreren Speichervorrichtungen, um die Information an das Verwaltungsterminal zu übertragen.
Gemäß der Erfindung sind ein Plattenarraysystem, das mit mehreren verschiedenen Arten von Netzwerken verbunden werden kann, und ein Verfahren zum Steuern von Fehlerinformation, betreffend das Plattenarraysystem, geschaffen.

Beschreibung[de]
QUERVERWEIS AUF EINSCHLÄGIGE MELDUNG

Diese Beschreibung zitiert die Patentanmeldung Nr. 2003-302303, die die Grundlage der vorliegenden Anmeldung ist und am 27. August 2003 in Japan eingereicht wurde, die Patentanmeldungen Nr. 2003-11592, 2003-11594, 2003-11595, 2003-11593 und 2003-11591, die in Japan am 20. Januar 2003 eingereicht wurden, die Patentanmeldung Nr. 2003-15525, die am 24. Januar 2003 in Japan angemeldet wurde, und die Patentanmeldung Nr. 09/829470, die in den USA am 9. April 2001 eingereicht wurde.

HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung

Die Erfindung betrifft ein Speichervorrichtungssystem, das mit mehreren verschiedenen Arten von Netzwerken verbindbar ist, und ein Verfahren zum Steuern von Fehlerinformation betreffend das Speichervorrichtungssystem.

2. Beschreibung der einschlägigen Technik

In den letzten Jahren hat die in einem Computersystem bearbeitete Datenmenge schnell zugenommen. Um eine Masse von Daten effizient zu nutzen und zu verwalten, wurde eine Technik zum Verbinden mehrerer Plattenarraysysteme (nachfolgend Speichervorrichtungssysteme) mit Informationsverarbeitungseinheiten über ein geleastes Netzwerk (storage area network (SAN)) und zum Realisieren schnellen Zugriffs auf eine große, in den Speichervorrichtungssystemen gespeicherte Datenmenge entwickelt. Für die Verbindung der Speichervorrichtungssysteme mit den Informationsverarbeitungseinheiten über das SAN und die Realisierung einer schnellen Datenübertragung ist es übliche Vorgehensweise, ein Netzwerk unter Verwendung einer Kommunikationsanlage aufzubauen, die einem Faserkanalprotokoll genügt.

Andererseits wurde bei Bemühungen, Zugriff auf Dateiebene auf ein Speichervorrichtungssystem zu realisieren, während mehrere Speichervorrichtungssysteme und Informationsverarbeitungseinheiten über ein dem Transmission control protocol/Internet protocol (TCP/ID) genügenden Netzwerk verbunden werden, ein als Network Attaches Storage (NAS) bezeichnetes Netzwerksystem entwickelt. In einem NAS ist eine Vorrichtung mit den Fähigkeiten eines Dateisystems mit jedem der Speichervorrichtungssysteme verbunden. Daher können Informationsverarbeitungseinheiten auf Dateiebene auf die Speichervorrichtungssysteme zugreifen. Insbesondere zieht derzeit ein großskaliges NAS Aufmerksamkeit auf sich, das im RAID(redundant arrays of inexpensive disks)-Modus verwaltet wird und eine enorme Speicherressource bereitstellt, die als Ressource der Mittelbereichsklasse oder der Unternehmensklasse bezeichnet wird.

Jedoch wird das herkömmliche NAS dadurch realisiert, dass Informationsverarbeitungseinheiten, die über die Fähigkeit verfügen, Daten entsprechend TCP/IP und die Einrichtung eines Dateisystems an Speichervorrichtungssysteme zu kommunizieren, denen die Fähigkeit fehlt, Daten gemäß TCP/IP und die Einrichtung eines Dateisystems zu kommunizieren. Daher ist Raum erforderlich, in dem die Informationsverarbeitungseinheiten zu installieren sind. Darüber hinaus werden die Informationsverarbeitungseinheiten und die Speichervorrichtungssysteme im Allgemeinen über ein SAN verbunden, da schnelle Kommunikationsvorgänge erforderlich sind. Daher sind eine spezifische Kommunikations-Steuerungsanlage und spezielle Kommunikations-Steuerungseinrichtungen erforderlich.

ZUSAMMENFASSUNG DER ERFINDUNG

Die Erfindung versucht, die vorstehend genannte Situation zu durchbrechen. Es ist eine Aufgabe der Erfindung, ein neuartiges Speichervorrichtungssystem, das mit mehreren verschiedenen Arten von Netzwerken verbindbar ist, eine Speichervorrichtungs-Steuerungseinheit, die dazu erforderlich ist, ein derartiges Speichervorrichtungssystem zu inventarisieren, und ein Verfahren zum Steuern von Fehlerinformation betreffend die Vorrichtungs-Steuerungseinheit zu schaffen.

Eine andere Aufgabe der Erfindung ist es, Fehlerinformation betreffend ein Speichervorrichtungssystem, das mit mehreren verschiedenen Arten von Netzwerken verbindbar ist, unter Verwendung mehrerer Prozessoren effizient zu steuern. Zu den mehreren Prozessoren gehören die Folgenden: ein Prozessor mit Einrichtung eines Dateisystems zum Übertragen von Information auf Dateiebene an eine externe Informations-Kommunikationseinheit und von dieser; und ein Prozessor, der das Schreiben oder Lesen von Daten in Speichervorrichtungen oder von diesen auf Datenblockebene auf eine Anforderung hin steuert, die vom Prozessor mit der Einrichtung des Dateisystems herrührt.

Um die obigen Aufgaben zu lösen, verfügt die Erfindung über die unten beschriebenen Maßnahmen.

Ein Plattenarraysystem gemäß der Erfindung ist mit Folgendem versehen: mehreren Speichervorrichtungen, in denen Daten gespeichert sind; einer Speichervorrichtungs-Steuerungseinheit, die die Speicherung von Daten in den mehreren Speichervorrichtungen steuert; einer Verbindungseinheit, die mit der Speichervorrichtungs-Steuerungseinheit verbunden ist; eine erste Kommunikations-Steuerungseinheit; eine zweite Kommunikations-Steuerungseinheit und ein Verwaltungsterminal.

Die erste Kommunikations-Steuerungseinheit und die zweite Kommunikations-Steuerungseinheit werden z. B. als Kanaldirektoren, Kanaladapter oder Kanal-Steuerungseinheiten bezeichnet. Die erste Kommunikations-Steuerungseinheit ist über die Verbindungseinheit mit der Speichervorrichtungs-Steuerungseinheit verbunden, und sie ist auch mit einem ersten Netzwerk, das extern zum eigenen Plattenarraysystem ist, verbunden und überträgt Dateidaten über dieses erste Netzwerk. Die erste Kommunikations-Steuerungseinheit verfügt über einen ersten Prozessor, der Dateidaten, die über das erste Netzwerk übertragen werden, einem Block von Daten zuordnet, die in der Speichervorrichtungs-Steuerungseinheit gespeichert sind. Ferner verfügt die erste Kommunikations-Steuerungseinheit über einen zweiten Prozessor, der Daten in Reaktion auf eine vom ersten Prozessor ausgegebene Anforderung überträgt. Darüber hinaus liest der zweite Prozessor Information zu einem im eigenen Plattenarraysystem auftretenden Fehler aus den mehreren Speichervorrichtungen auf eine vom ersten Prozessor ausgegebene Anforderung hin, und er sendet die Information an den ersten Prozessor.

Die zweite Kommunikations-Steuerungseinheit ist über die Verbindungseinheit mit der Speichervorrichtungs-Steuerungseinheit verbunden, und sie ist auch mit einem zweiten Netzwerk, das extern zum eigenen Plattenarraysystem liegt, verbunden und überträgt Dateidaten über dieses zweite Netzwerk. Die zweite Kommunikations-Steuerungseinheit verfügt über einen dritten Prozessor, der Dateidaten, die über das zweite Netzwerk übertragen werden, Daten in Blockform zuordnet, die in der Speichervorrichtungs-Steuerungseinheit gespeichert sind. Ferner verfügt die zweite Kommunikations-Steuerungseinheit über einen vierten Prozessor, der Daten in Reaktion auf eine durch den dritten Prozessor ausgegebene Anforderung überträgt. Der vierte Prozessor überträgt auch Information zu einem Fehler, wie er im dritten Prozessor auftritt, in Reaktion auf eine durch den dritten Prozessor ausgegebene Anforderung an die Speichervorrichtungs-Steuerungseinheit.

Die Speichervorrichtungs-Steuerungseinheit wird z. B. als Plattendirektor, Plattenadapter oder Platten-Steuerungseinheit bezeichnet. Die Verbindungseinheit ist z. B. mit einem Bus, einer Vermittlungseinheit, einem Netzwerk wie einem LAN oder irgendeiner anderen Verbindungsvorrichtung realisiert. Das erste Netzwerk ist z. B. ein LAN.

Das Verwaltungsterminal ist mit der ersten Kommunikations-Steuerungseinheit verbunden, und es gibt eine Anforderung an den zweiten Prozessor zu Information zu einem Fehler aus, wie er im Plattenarraysystem auftritt. Das Verwaltungsterminal wird z. B. als Serviceprozessor bezeichnet.

Gemäß der Erfindung sind ein neuartiges Speichervorrichtungssystem, das mit mehreren Arten von Netzwerken verbindbar ist, eine Speichervorrichtungs-Steuerungseinheit, die zum Inventarisieren eines derartigen Speichervorrichtungssystems erforderlich ist, und ein Verfahren zum Steuern von Fehlerinformation betreffend die Vorrichtungs-Steuerungseinheit geschaffen.

Ferner kann, gemäß der Erfindung, Fehlerinformation betreffend ein Speichervorrichtungssystem, das mit mehreren Arten von Netzwerken verbindbar ist, unter Verwendung mehrerer Prozessoren effizient gesteuert werden. Zu den mehreren Prozessoren gehören: ein Prozessor mit einer Einrichtung eines Dateisystems zum Übertragen von Information auf Dateiebene an eine externe Informations-Kommunikationseinheit oder von dieser, und ein Prozessor, der das Schreiben oder Lesen von Daten in Speichervorrichtungen oder von diesen auf Datenblockebene auf eine Anforderung hin steuert, die vom Prozessor mit der Einrichtung des Dateisystems ausgegeben wird.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

Nun werden bevorzugte Ausführungsformen der Erfindung in Verbindung mit den beigefügten Zeichnungen beschrieben.

1 ist ein Blockdiagramm, das die Gesamtkonfiguration eines Speichervorrichtungssystems gemäß einer Ausführungsform der Erfindung zeigt;

2 ist ein Blockdiagramm, das die Konfiguration eines Verwaltungsterminals zeigt, wie es bei der Ausführungsform der Erfindung verwendet wird;

3 zeigt eine Verwaltungstabelle für physikalische Platten, wie sie bei der Ausführungsform der Erfindung verwendet wird;

4 zeigt eine LU-Verwaltungstabelle, wie sie bei der Ausführungsform der Erfindung verwendet wird;

5 zeigt das Aussehen des Speichervorrichtungssystems gemäß der Ausführungsform der Erfindung;

6 zeigt das Aussehen einer Speichervorrichtungs-Steuerungseinheit, wie sie bei der Ausführungsform der Erfindung verwendet wird;

7 zeigt die Hardwarekonfiguration einer Kanal-Steuerungseinheit CHN, wie sie bei der Ausführungsform der Erfindung verwendet wird;

8 ist ein erläuterndes Diagramm betreffend die Aufteilung von Daten, wie sie in einem bei der Ausführungsform der Erfindung verwendeten Speicher gespeichert sind;

9 zeigt bei der Ausführungsform der Erfindung verwendete Metadaten;

10 zeigt bei der Ausführungsform der Erfindung verwendete Sperrdaten;

11 zeigt einen Kommunikationspfad zwischen einer CPU und einem I/O-Prozessor in einer bei der Ausführungsform der Erfindung verwendeten Kanal-Steuerungseinheit CHN;

12 zeigt Daten, wie sie gemäß der Ausführungsform der Erfindung vom I/O-Prozessor an die CPU zu übertragen sind;

13 zeigt Daten, wie sie gemäß der Ausführungsform der Erfindung von der CPU an den I/O-Prozessor zu übertragen sind;

14 zeigt die Hardwarekonfiguration einer Kanal-Steuerungseinheit CHN, die über ein internes LAN verfügt und bei der Ausführungsform der Erfindung verwendet wird;

15 zeigt eine bei der Ausführungsform der Erfindung verwendete Platten-Steuerungseinheit;

16 ist ein Blockdiagramm zum Erläutern einer bei der Ausführungsform der Erfindung verwendeten Installationsprozedur;

17 ist ein Beispiel eines Schirmbilds, wie es auf einer Ausgabevorrichtung in einem Verwaltungsterminal angezeigt wird und zur Installation gemäß der Ausführungsform der Erfindung verwendet wird;

18 zeigt ein Beispiel eines Schirmbilds, wie es auf einer Informationsverarbeitungseinheit angezeigt wird und dazu verwendet wird, einen Cluster gemäß der Ausführungsform der Erfindung zu bestimmen;

19 ist ein Flussdiagramm zum Beschreiben einer bei der Ausführungsform der Erfindung verwendeten Installationsprozedur;

20 zeigt eine Art zum Bestimmen von Clustern gemäß der Ausführungsform der Erfindung in solcher Weise, dass jeder Cluster Kanal-Steuerungseinheiten beinhaltet, die mit mehreren Spannungsversorgungen verbunden sind;

21 zeigt eine Art zum Bestimmen von Clustern gemäß der Ausführungsform der Erfindung in solcher Weise, dass jeder Cluster Kanal-Steuerungseinheiten beinhaltet, die mit mehreren Spannungsversorgungen verbunden sind;

22 zeigt die Konfiguration zum Sammeln von OS-Logdaten oder CORE-Dumpdaten, wie sie im Speichervorrichtungssystem gemäß der Ausführungsform der Erfindung enthalten ist;

23 ist ein Flussdiagramm zum Beschreiben eines Prozesses zum Sammeln von OS-Logdaten oder CORE-Dumpdaten betreffend das Speichervorrichtungssystem gemäß der Ausführungsform der Erfindung;

24 zeigt die Konfiguration zum Sammeln von Register-Dumpdaten betreffend das Speichervorrichtungssystem gemäß der Ausführungsform der Erfindung;

25 ist ein Flussdiagramm zum Beschreiben eines Prozesses zum Sammeln von Register-Dumpdaten betreffend das Speichervorrichtungssystem gemäß der Ausführungsform der Erfindung;

26 zeigt die Konfiguration zum Sammeln vollständiger Dumpdaten betreffend das Speichervorrichtungssystem gemäß der Ausführungsform der Erfindung; und

27 ist ein Flussdiagramm zum Beschreiben eines Prozesses zum Sammeln vollständiger Dumpdaten betreffend das Speichervorrichtungssystem gemäß der Ausführungsform der Erfindung.

BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN

Nachfolgend wird eine Ausführungsform der Erfindung in Verbindung mit den Zeichnungen beschrieben.

Die 1 ist ein Blockdiagramm, das die Gesamtkonfiguration eines Speichervorrichtungssystems gemäß der Ausführungsform zeigt.

(Gesamtkonfiguration)

Ein Speichervorrichtungssystem 600 verfügt über einen Speichervorrichtungs-Controller 100 und Speichervorrichtungen 300. Der Speichervorrichtungs-Controller 100 steuert die Speichervorrichtungen 300 entsprechend Befehlen, wie sie von jeweiligen Informationsverarbeitungseinheiten 300 empfangen werden. Zum Beispiel wird von irgendeiner Informationsverarbeitungseinheit 200 eine Daten-Eingabe/Ausgabe-Anforderung empfangen, und in den Speichervorrichtungen 300 gespeicherte Daten werden empfangen oder gesendet. Daten werden in einem logischen Datenbereich (nachfolgend als Logikeinheit (LU) bezeichnet) bezeichnet, bei dem sich um einen Speicherbereich handelt, der logisch in einem physikalischen Speicherbereich definiert ist, der durch ein Plattenlaufwerk bereitgestellt wird, das in jeder der Speichervorrichtungen 300 enthalten ist. Derüber hinaus überträgt der Speichervorrichtungs-Controller 100 verschiedene Befehle, die dazu verwendet werden, das Speichervorrichtungssystem 600 zu verwalten, an die Informationsverarbeitungseinheiten 200 oder von diesen.

Spannungsversorgungen 190 liefern Spannung an das Speichervorrichtungssystem 600. Die Spannungsversorgungen 190 sind mit Speicherbatterien versehen, die mit einer externen Spannungsversorgung verbunden sind. In das Speichervorrichtungssystem sind mehrere Speicherbatterien eingebaut, um für Redundanz zu sorgen. Genauer gesagt, ist das Speichervorrichtungssystem 600 hinsichtlich der Spannungsversorgung körperlich in zwei oder mehr Spannungsversorgungsgruppen unterteilt. Wenn z. B. das Speichervorrichtungssystem 600 in zwei Spannungsversorgungsgruppen unterteilt ist, gehören die erste bis vierte Kanal-Steuerungseinheit 110 zur ersten-Steuerungseinheitsgruppe, und die fünfte bis achte Kanal-Steuerungseinheit 110 gehören zur zweiten Spannungsversorgungsgruppe. Komponenten aller Arten unter Verwendung der redundanten Konfiguration gehören zu einer der zwei oder mehr Spannungsversorgungsgruppen. Darüber hinaus gehören redundante Gruppen jeder Art nicht zur selben Spannungsversorgungsgruppe. Darüber hinaus sind die Spannungsversorgungen 190 ebenfalls in zwei oder mehr Gruppen unterteilt. Jeder der zwei oder mehr Gruppen von Spannungsversorgungen 190 empfängt über ein unabhängiges Kabel Spannung von der externen Spannungsversorgung. Jede der zwei oder mehr Gruppen von Spannungsversorgungen 190 liefert Spannung an die ihr zugeordnete Spannungsversorgungsgruppe. Jede der zwei oder mehr Gruppen von Spannungsversorgungen 190 besteht aus mehreren Spannungsversorgungen. Da das Speichervorrichtungssystem 600 über Redundanz verfügt, kann es selbst dann im Betrieb gehalten werden, wenn eine bestimmte Spannungsversorgung ausfällt. Selbst wenn die externe Spannungsversorgung an die zwei oder mehr Gruppen von Spannungsversorgungen 190 unterbrochen wird, kann das Speichervorrichtungssystem in Betrieb gehalten werden.

Die Informationsverarbeitungseinheiten 200 bestehen aus Computern mit jeweils einer zentralen Verarbeitungseinheit (CPU) und einem Speicher. Die in jede der Informationsverarbeitungseinheiten 200 eingebaute CPU arbeitet verschiedene Programme ab, wodurch verschiedene Fähigkeiten realisiert werden. Die Informationsverarbeitungseinheiten 200 können z. B. PCs oder Workstations oder Großrechner sein.

Gemäß der 1 sind die erste bis dritte Informationsverarbeitungseinheit 200 über ein lokales Netzwerk (LAN) 400 mit dem Speichervorrichtungs-Controller 100 verbunden. Das LAN 400 kann das Internet oder ein geleastes Netzwerk sein. Die erste bis dritte Informationsverarbeitungseinheit 200 und der Speichervorrichtung Speichervorrichtungscontroller 100 kommunizieren z. B. gemäß TCP/IP über das LAN 400 miteinander. Die erste bis dritte Informationsverarbeitungseinheit 200 übertragen eine Datenzugriffsanforderung, die einen Dateinamen spezifiziert (Daten-Eingabe/Ausgabe-Anforderung, die in Einheiten einer Datei erfolgt, nachfolgend als Dateizugriffsanforderung bezeichnet) spezifiziert, an das Speichervorrichtungssystem 600.

Mit dem LAN 400 ist eine Backupvorrichtung 910 verbunden. Genauer gesagt, ist die Backupvorrichtung 910 ein Plattenlaufwerk wie eine magnetooptische Platte oder ein DVD-RAM oder eine Bandvorrichtung wie ein DAT-Band, ein Kassettenband oder ein offenes Band oder ein Patronenband. Die Backupvorrichtung 910 kommuniziert über das LAN 400 mit dem Speichervorrichtungs-Controller 100, wodurch Backupdaten der in den Speichervorrichtungen 300 gespeicherten Daten in der Backupvorrichtung 910 gespeichert werden. Darüber hinaus kann die Backupvorrichtung 910 mit der ersten Informationsverarbeitungseinheit 200 verbunden sein. In diesem Fall werden Backupdaten der in den Speichervorrichtungen 300 gespeicherten Daten über die erste Informationsverarbeitungseinheit 200 erfasst.

Der Speichervorrichtungs-Controller 100 verfügt über eine erste bis vierte Kanal-Steuerungseinheit 110. Der Speichervorrichtungs-Controller 100 empfängt von der ersten bis dritten jeweiligen Informationsverarbeitungseinheit 200 gesendete Dateizugriffsanforderungen über die erste bis vierte Kanal 110. Genauer gesagt, werden Netzwerkadressen (z. B. IP-Adressen) auf dem LAN 400 der erste bis vierten jeweiligen Kanal-Steuerungseinheit 110 zugewiesen. Die erste bis vierte Kanal-Steuerungseinheit 110 verhalten sich als netzwerkverbundene Speicher(NAS)vorrichtungen, und sie können für die erste bis dritte Informationsverarbeitungseinheit 200 NAS-Dienste so bereitstellen, als wären unabhängige NAS-Dienste verfügbar. Nachfolgend werden die erste bis vierte Kanal-Steuerungseinheit 100 als CHN110 bezeichnet. Das eine Speichervorrichtungssystem 600 beinhaltet die erste bis vierte Kanal-Steuerungseinheit 110, die unabhängig voneinander NAS-Dienste bereitstellen. Demgemäß sind in das eine Speichervorrichtungssystem 600 NAS-Server integriert, die herkömmlicherweise durch unabhängige Computer realisiert sind. Schließlich kann das Speichervorrichtungssystem 600 auf zentralisierte Weise verwaltet werden, und Verwaltungsjobs, einschließlich der Bestimmung oder Steuerung verschiedener Einstellwerte, die Verwaltung von Dienstlebensdauern sowie die Verwaltung von Versionen können effizient bewerkstelligt werden.

Spannung wird von den Spannungsversorgungen über den Speichervorrichtungs-Controller 100 an die Kanal-Steuerungseinheiten 110 geliefert. Die Kanal-Steuerungseinheiten 110 können körperlich vom Speichervorrichtungs-Controller 100 getrennt sein. Daher wird, wenn die Kanal-Steuerungseinheiten 110 körperlich vom Speichervorrichtungs-Controller 100 getrennt werden, die Spannungsversorgung für die Kanal-Steuerungseinheiten 110 unterbrochen. Darüber hinaus wird, wenn die Kanal-Steuerungseinheiten 110 in den Speichervorrichtungs-Controller 100 eingebaut werden, die Spannungsversorgung zu den Kanal-Steuerungseinheiten 110 aktiviert. Jede der Kanal-Steuerungseinheiten 110 verfügt über eine Spannungsschaltung. Wenn die Spannungsschaltung durch Betreiben eines Programms gesteuert wird, zu dem mehrere in der Kanal-Steuerungseinheit 110 angebrachte LSIs gehören, kann die Spannungsversorgung an jede Komponente der Kanal-Steuerungseinheit 110 gestartet oder gestoppt werden.

Übrigens ist von der ersten bis vierten Kanal-Steuerungseinheit 110, wie sie im bei der Erfindung verwendeten Speichervorrichtungs-Controller 100 enthalten sind, jede durch Hardware, die als integrierte Einheit auf einer Leiterplatte ausgebildet ist, und Software wie ein Betriebssystem (OS), das in der Hardware zu betreiben ist, und ein Anwendungsprogramm, das unter der OS zu betreiben ist, oder einen durch die Hardware ausführbaren Objektcode realisiert. Demgemäß verfügt das Speichervorrichtungssystem 600 gemäß der vorliegenden Ausführungsform über Maßnahmen, die herkömmlicherweise durch einen Hardwareteil realisiert werden, die durch Software realisiert werden. Daher kann das Speichervorrichtungssystem 600 gemäß der vorliegenden Ausführungsform flexibel betrieben werden, und es kann Dienste bereitstellen, die verschiedenen und sich drastisch ändernden Bedürfnissen der Benutzer genügen.

Die dritte und die vierte Informationsverarbeitungseinheit 200 sind über ein Speicherbereichsnetzwerk (SAN) 500 mit dem Speichervorrichtungs-Controller 100 verbunden. Das SAN 500 ist ein Netzwerk, über das Daten zwischen dem Speichervorrichtungs-Controller 100 und der dritten und der vierten Informationsverarbeitungseinheit 200 mit Einheiten eines Blocks übertragen werden, mit dem Daten in einem durch jede Speichervorrichtung 300 bereitgestellten Speicherbereich verwaltet werden. Die Kommunikationsvorgänge zwischen der dritten und der vierten Informationsverarbeitungseinheit 200 und dem Speichervorrichtungs-Controller 100 über das SAN 500 werden allgemein gemäß einem Faserkanalprotokoll ausgeführt. Die dritte und die vierte Informationsverarbeitungseinheit senden eine Datenzugriffsanforderung, die Zugriff auf Daten in Einheiten eines Blocks anfordert (nachfolgend als Blockzugriffsanforderung bezeichnet), gemäß dem Faserkanalprotokoll.

An das SAN 500 ist eine zu SANs kompatible Backupvorrichtung 900 angeschlossen. Die SAN-kompatible Backupvorrichtung 900 kommuniziert über das SAN 500 mit dem Speichervorrichtungs-Controller 100, wodurch Backupdaten der in den Speichervorrichtungen 300 gespeicherten Daten in der Backupvorrichtung 900 gespeichert werden.

Die fünfte Informationsverarbeitungseinheit 200 ist ohne Eingreifen des LAN 400, des SAN 500 oder irgendeines anderen Netzwerks mit dem Speichervorrichtungs-Controller 100 verbunden. Die fünfte Informationsverarbeitungseinheit 200 kann z. B. als Großrechner ausgebildet sein. Die fünfte Informationsverarbeitungseinheit 200 und der Speichervorrichtungs-Controller 100 kommunizieren entsprechend einem Kommunikationsprotokoll miteinander, z. B. dem Protokoll Fibre connectivity (FICON)(R), dem Protokoll Enterprise system connection (ESCON)(R), dem Protokoll Advanced connection architecture (ACONARC)(R) oder dem Protokoll Fibre connection architecture (FIBARC)(R). Die fünfte Informationsverarbeitungseinheit 200 sendet eine Blockzugriffsanforderung gemäß irgendeinem der obigen Protokolle an das Speichervorrichtungssystem 600.

Im Speichervorrichtungs-Controller 100 kommunizieren die siebte oder achte Kanal-Steuerungseinheit 110 mit der fünften Informationsverarbeitungseinheit 200. Nachfolgend werden die siebte und die achte Kanal-Steuerungseinheit 110 mit CHA110 bezeichnet.

An das SAN 500 ist ein anderes Speichervorrichtungssystem 610 angeschlossen, das an einem entfernten Ort (Sekundärort) entfernt vom Ort (Primärort) installiert ist, an dem das Speichervorrichtungssystem 600 installiert ist. Das Speichervorrichtungssystem 610 wird als System verwendet, in das Daten mittels einer Replizier- oder Fernkopie-Maßnahme kopiert werden, die später beschrieben wird. Übrigens kann das Speichervorrichtungssystem 610 über eine Kommunikationsstrecke gemäß dem asynchronen Übertragungsmodus (ATM) oder dergleichen, abweichend vom SAN 500, mit dem Speichervorrichtungssystem 600 verbunden sein. In diesem Fall werden z. B. Kanal-Steuerungseinheiten 110 mit jeweils einer Schnittstelle (Kanalerweiterung), über die die Kommunikationsstrecke genutzt wird, als Kanal-Steuerungseinheiten 110 verwendet.

(Speichervorrichtung)

Die Speichervorrichtung 300 verfügt über zahlreiche Plattenlaufwerke (physikalische Laufwerke), und sie versorgen die Informationsverarbeitungseinheiten 200 mit Speicherbereichen. Daten werden in einer Logikeinheit (LU) gespeichert, bei der es sich um einen Speicherbereich handelt, der logisch in einem physikalischen Speicherbereich definiert wird, wie er durch jedes Plattenlaufwerk bereitgestellt wird. Als Plattenlaufwerk kann z. B. ein Festplatten-Laufwerk, ein Disketten-Laufwerk, ein Halbleiterspeicher oder dergleichen verwendet werden. Übrigens können die Speichervorrichtungen 300 als Plattenarray aufgebaut sein, das aus mehreren Plattenlaufwerken besteht. In diesem Fall können die für die Informationsverarbeitungseinheiten 200 bereitgestellten Speicherbereiche durch mehrere Plattenlaufwerke realisiert werden, die im RAID redundant array of independent (oder inexpensive) disks)-Modus verwaltet werden.

Der Speichervorrichtungs-Controller 100 und die Speichervorrichtungen 300 können, wie es in der 1 dargestellt ist, direkt miteinander verbunden sein, oder sie können über ein Netzwerk miteinander verbunden sein. Ferner können die Speichervorrichtungen 300 als integrale Teile der Speichervorrichtungs-Controller 100 aufgebaut sein.

Zu den in den Speichervorrichtungen 300 definierten Logikeinheiten (LUs) gehören Benutzer-LUs, auf die die Informationsverarbeitungseinheit 200 zugreifen können und System-LUs, die dazu verwendet werden, die Kanal-Steuerungseinheiten 110 zu steuern. Ein in den Kanal-Steuerungseinheiten CHN110 betreibbares OS ist in den System-LUs gespeichert. Darüber hinaus sind die LUs in den Speichervorrichtungen 300 den Kanal-Steuerungseinheiten 110 zugeordnet. Demgemäß sind den jeweiligen Kanal-Steuerungseinheiten 110 LUs zugeordnet, auf die zugegriffen werden kann. Darüber hinaus können die mehreren Kanal-Steuerungseinheiten 110 eine LU gemeinsam haben. Nachfolgend werden die Benutzer-LUs und die System-LUs als Benutzerplatten bzw. Systemplatten bezeichnet.

(Speichervorrichtungs-Controller)

Der Speichervorrichtungs-Controller 100 verfügt über die Kanal-Steuerungseinheiten 110, einen gemeinsamen Speicher 120, einen Cachespeicher 130, Platten-Steuerungseinheiten 140, ein Verwaltungsterminal 160 und eine Verbindungseinheit 150.

Jede der Kanal-Steuerungseinheiten 110 verfügt über eine Kommunikationsschnittstelle, über die sie mit den Informationsverarbeitungseinheiten 200 kommuniziert. Jede Kanal-Steuerungseinheit 110 hat die Fähigkeit, einen Daten-Eingabe/Ausgabe-Befehl oder dergleichen an die Informationsverarbeitungseinheiten 200 und von diesen zu übertragen. Zum Beispiel empfängt jede der Kanal-Steuerungseinheiten CHN100 eine Dateizugriffsanforderung, wie sie von irgendeiner der Informationsverarbeitungseinheiten 200 eins bis drei geliefert wird. In diesem Fall versorgt das Speichervorrichtungssystem 600 die erste bis dritte Informationsverarbeitungseinheit 200 mit NAS-Diensten. Darüber hinaus empfängt jede der Kanal-Steuerungseinheiten CHF110, die die fünfte und die sechste Kanal-Steuerungseinheit 110 bilden, eine Blockzugriffsanforderung, wie sie gemäß einem Faserkanalprotokoll entweder von der dritten oder der vierten Informationsverarbeitungseinheit (200) geliefert wird. In diesem Fall versorgt das Speichervorrichtungssystem 600 die dritte und die vierte Informationsverarbeitungseinheit 200 mit einem Speicherdienst mit schnellem Datenzugriff. Darüber hinaus empfangen die Kanal-Steuerungseinheiten CHAl10 eine Blockzugriffsanforderung, wie sie gemäß einem der Protokolle FICON, ESCON, ACONARC oder FIBERC der fünften Informationsverarbeitungseinheit 200 geliefert wird. In diesem Fall versorgt das Speichervorrichtungssystem 600 einen Großrechner wie die fünfte Informationsverarbeitungseinheit 200, mit einem Datenspeicherungsdienst.

Die Kanal-Steuerungseinheiten 100 sind über ein internes LAN 151 oder irgendein anderes Kommunikationsnetzwerk mit dem Verwaltungsterminal 160 verbunden. Demgemäß kann ein in den Kanal-Steuerungseinheiten 110 abgearbeitetes Mikroprogramm oder dergleichen vom Verwaltungsterminal 160 gesendet und in ihnen installiert werden. Die Konfiguration jeder Kanal-Steuerungseinheit 110 wird später beschrieben.

Die Verbindungseinheit 150 ist mit den Kanal-Steuerungseinheiten 110, dem gemeinsamen Speicher 120, dem Cachespeicher 130 und den Platten-Steuerungseinheiten 140 verbunden. Daten und Befehle werden über die Verbindungseinheit 150 zwischen den Kanal-Steuerungseinheiten 110, dem gemeinsamen Speicher 120, dem Cachespeicher 130 und den Kanal-Steuerungseinheiten 140 übertragen. Die Verbindungseinheit 150 ist mit einer Vermittlungseinheit, z. B. einer Kreuzschienen-Vermittlungseinheit mit superhoher Geschwindigkeit, die Verbindungen mit hoher Geschwindigkeit umschaltet, um eine Datenübertragung zu ermöglichen oder einen Bus gebildet. Da die Kanal-Steuerungseinheiten 110 über die Vermittlungseinheit miteinander verbunden sind, ist die Effizienz bei Kommunikationsvorgängen zwischen den Kanal-Steuerungseinheiten 110 im Vergleich zu einer herkömmlichen Konfiguration stark verbessert, bei der durch einzelne Computer realisierte NAS-Server über ein LAN miteinander verbunden sind. Dies ermöglicht eine schnelle gemeinsame Dateinutzung oder eine schnelle Fehlerüberwindung.

Der gemeinsame Speicher 120 und der Cachespeicher 130 sind Speicher, die den Kanal-Steuerungseinheiten 110 und den Platten-Steuerungseinheiten 140 gemeinsam sind. Der gemeinsame Speicher 120 wird hauptsächlich zum Speichern von Steuerungsinformation oder Befehlen verwendet, während der Cachespeicher 130 hauptsächlich zum Speichern von Daten verwendet wird.

Wenn z. B. ein Daten-Eingabe/Ausgabe-Befehl, wie er von einer bestimmten Kanal-Steuerungseinheit 110 von einer bestimmten Informationsverarbeitungseinheit 200 empfangen wird, ein Schreibbefehl ist, schreibt die Kanal-Steuerungseinheit 110 diesen Schreibbefehl in den gemeinsamen Speicher 120, und sie schreibt Daten, wie sie von der Informationsverarbeitungseinheit 200 zu schreiben sind und empfangen werden, in den Cachespeicher 130. Andererseits überwachen die Platten-Steuerungseinheiten 140 den gemeinsamen Speicher 120. Wenn die Tatsache erkannt wird, dass ein Schreibbefehl in den gemeinsamen Speicher 120 geschrieben wird, werden die zu schreibenden Daten auf den Befehl hin aus dem Cachespeicher 130 gelesen und in die Speichervorrichtungen 300 geschrieben. Darüber hinaus schreibt z. B. dann, wenn ein Daten-Eingabe/Ausgabe-Befehl, den eine bestimmte Kanal-Steuerungseinheit 100 von einer bestimmten Informationsverarbeitungseinheit 200 empfangen hat, ein Lesebefehl ist, die Kanal-Steuerungseinheit 110 den Lesebefehl in den gemeinsamen Speicher 120. Darüber hinaus liest die Kanal-Steuerungseinheit 110, an die die Informationsverarbeitungseinheit 200 die Leseanforderung gestellt hat, Daten aus dem Cachespeicher 130. Wenn angenommen wird, dass durch den Lesebefehl angeforderte Daten nicht in den Cachespeicher 130 eingeschrieben sind, liest die Kanal-Steuerungseinheit 110 oder irgendeine Platten-Steuerungseinheit 140 die Daten, wie sie gemäß dem Lesebefehl angefordert werden, aus der zugeordneten Speichervorrichtung 300, und sie schreibt die Daten in den Cachespeicher 130.

Gemäß der vorliegenden Ausführungsform sind der gemeinsame Speicher 120 und der Cachespeicher 130 unabhängig von den Kanal-Steuerungseinheiten 110 und den Platten-Steuerungseinheiten 140 vorhanden. Die Erfindung ist nicht auf diesen Modus beschränkt. Alternativ können der gemeinsame Speicher 120 oder der Cachespeicher 130 in Abschnitte unterteilt sein und die Abschnitte können in die jeweiligen Kanal-Steuerungseinheiten 110 und Platten-Steuerungseinheiten 140 eingebaut sein. In diesem Fall verbindet die Verbindungseinheit 150 die Kanal-Steuerungseinheiten 110 und die Platten-Steuerungseinheiten 140, die die unterteilten Abschnitte des gemeinsamen Speichers oder des Cachespeichers enthalten.

Die Platten-Steuerungseinheiten 140 steuern die Speichervorrichtungen 300. Zum Beispiel schreibt, wie oben angegeben, jede der Platten-Steuerungseinheiten 140 auf einen Datenschreibebefehl, den eine bestimmte Kanal-Steuerungseinheit 110 von einer bestimmten Informationsverarbeitungseinheit 200 empfangen hat, in die Speichervorrichtungen 300. Darüber hinaus wandelt jede der Platten-Steuerungseinheiten 140 eine Datenzugriffsanforderung, die eine einer LU zugewiesene logische Adresse spezifiziert und von einer bestimmten Kanal-Steuerungseinheit 110 geliefert wird, in eine Datenzugriffsanforderung, die eine physikalische Adresse in einer physikalischen Platte spezifiziert. Wenn die in den Speichervorrichtungen 300 enthaltenen physikalischen Platten gemäß dem RAID-Modus verwaltet werden, wird auf RAID-Ebene auf die Daten zugegriffen. Die Platten-Steuerungseinheiten 140 steuern die Verwaltung einer Kopie von in den Speichervorrichtungen 300 gespeicherten Daten, und sie steuern einen Backupvorgang für die Daten. Ferner erweitern die Platten-Steuerungseinheiten 140 die Steuerung so, dass eine Kopie der im am Primärort installierten Speichervorrichtungssystem 600 gespeicherten Daten in das Speichervorrichtungssystem 610, das am Sekundärort installiert ist, eingespeichert wird (Replikations- oder Fernkopie). Dadurch soll ein Datenverlust im Fall eines katastrophalen Fehlers verhindert werden (Wiederherstellung nach einem katastrophalen Fehler).

Die Platten-Steuerungseinheiten 140 und das Verwaltungsterminal 160 sind über ein Kommunikationsnetzwerk wie ein internes LAN 151 miteinander verbunden, und sie können miteinander kommunizieren. Demgemäß kann ein Mikroprogramm oder dergleichen, das in den Platten-Steuerungseinheiten 140 abzuarbeiten ist, vom Verwaltungsterminal 160 gesendet werden und in den Platten-Steuerungseinheiten 140 installiert werden. Die Konfiguration jeder der Platten-Steuerungseinheiten 140 wird später beschrieben.

(Verwaltungsterminal)

Das Verwaltungsterminal 160 besteht aus einem Computer, der das Speichervorrichtungssystem 600 wartet oder verwaltet. Durch Bedienen des Verwaltungsterminals 160 kann die Anordnung der physikalischen Platten in den Speichervorrichtungen 300 bestimmt werden, die LUs können definiert werden, und es kann ein Mikroprogramm installiert werden, das in den Kanal-Steuerungseinheit 110 laufen soll. Wenn die Anordnung der physikalischen Platten in den Speichervorrichtungen 300 bestimmt wird, kann z. B. die Anzahl der physikalischen Platten erhöht oder erniedrigt werden, oder es kann die RAID-Ebene modifiziert werden (die RAID-Ebenen können von der Ebene 1 bis zur Ebene 5 geändert werden). Ferner kann das Verwaltungsterminal 160 dazu verwendet werden, den Betriebszustand des Speichervorrichtungssystems 600 zu prüfen, einen Ausfallbereich im Speichervorrichtungssystem 600 zu spezifizieren und ein OS in den Kanal-Steuerungseinheiten 110 zu installieren. Darüber hinaus ist das Verwaltungsterminal 160 über ein LAN oder eine Telefonleitung mit einem externen Wartungszentrum verbunden. Das Verwaltungsterminal 160 kann daher dazu verwendet werden, das Speichervorrichtungssystem 600 auf Fehler zu überwachen, oder mit einem Fehler umzugehen, unmittelbar nachdem dieser aufgetreten ist. Das Auftreten eines Fehlers wird z. B. durch ein OS, ein Anwendungsprogramm oder Treibersoftware mitgeteilt. Die Mitteilung erfolgt gemäß dem HTTP-Protokoll oder dem Simple network management protocol (SNMP) oder durch E-Mail. Die Ermittlung von Einstellwerten oder eine Steuerungserweiterung erfolgt unter Verwendung einer Website, die durch einen Webserver bereitgestellt wird, der durch Serversoftware realisiert wird, die im Verwaltungsterminal 160 läuft. Die Website wird von einem Bediener als Benutzerschnittstelle verwendet. Der Bediener oder dergleichen bedient das Verwaltungsterminal 160 zum Bestimmen des Objekts der Fehlerüberwachung oder des zugehörigen Inhalts oder zum Bestimmen des Ziels einer Fehlermitteilung.

Das Verwaltungsterminal 160 kann in den Speichervorrichtungs-Controller 100 eingebaut sein, oder es kann als externe, selbstständige Vorrichtung ausgebildet sein. Darüber hinaus kann das Verwaltungsterminal 160 durch einen Computer gebildet sein, der speziell zur Wartung und Verwaltung des Speichervorrichtungs-Controllers 100 und der Speichervorrichtungen 300 vorhanden ist, oder er kann durch einen Universalcomputer mit Wartungs- und Verwaltungsfähigkeiten realisiert sein.

Die 2 ist ein Blockdiagramm, das die Konfiguration des Verwaltungsterminals 160 zeigt.

Das Verwaltungsterminal 160 verfügt über eine CPU 161, einen Speicher 162, einen Port 163, einen Aufzeichnungsträgerlaser 164, eine Eingabevorrichtung 165, eine Ausgabevorrichtung 166 und eine Speichervorrichtung 168.

Die CPU 161 ist für die Steuerung des gesamten Verwaltungsterminals 160 zuständig. Das Verwaltungsterminal 160 übt die Fähigkeiten eines Webservers aus, wenn es ein im Speicher 162 abgespeichertes Programm 162c abarbeitet. Im Speicher 162 sind eine Verwaltungstabelle 162a für physikalische Platten, eine LU-Verwaltungstabelle 162b und ein Programm 162c gespeichert. Die Verwaltungstabelle 162a für physikalische Platten ist eine Tabelle, die dazu verwendet wird, die in den Speichervorrichtungen 300 enthaltenen physikalischen Platten (Plattenlaufwerke) zu verwalten. Die 3 zeigt die Verwaltungstabelle 162a für physikalische Platten. In der 3 sind aus zahlreichen physikalischen Platten in den Speichervorrichtungen 300 Platten mit den Plattennummern 001 bis 006 aufgelistet. Hinsichtlich jeder physikalischen Platte sind die Speicherkapazität, die RAID-Ebene und eine Benutzungssituation spezifiziert.

Die LU-Verwaltungstabelle 162 ist eine Tabelle, die zum Verwalten der LUs verwendet wird, wie sie logisch in den physikalischen Platten definiert sind. Die 4 zeigt die LU-Verwaltungstabelle 162b. In der 4 sind LUs mit LU-Nummern 1 bis 3 aus den zahlreichen LUs aufgelistet, die in den Speichervorrichtungen 300 definiert sind. Hinsichtlich jeder LU sind die Nummer der physikalischen Platte, die Speicherkapazität und die RAID-Ebene spezifiziert.

Der Aufzeichnungsträgerleser 164 ist eine Vorrichtung zum Lesen eines Programms oder von Daten von einem Aufzeichnungsträger 167. Das gelesene Programm oder die Daten werden in den Speicher 162 oder die Speichervorrichtung 168 gespeichert. Demgemäß kann z. B. das auf dem Aufzeichnungsträger 167 aufgezeichnete Programm 162c unter Verwendung des Aufzeichnungsträgerlesers 164 vom Aufzeichnungsträger 167 gelesen werden, und es wird im Speicher 162 oder in der Speichervorrichtung 168 gespeichert. Der Aufzeichnungsträger 167 kann eine flexible Platte, eine CD-ROM oder ein Halbleiterspeicher sein. Der Aufzeichnungsträgerleser 162 kann in das Verwaltungsterminal 160 eingebaut sein. Die Speichervorrichtung 168 ist z. B. ein Festplatten-Laufwerk, ein Disketten-Laufwerk oder ein Halbleiterspeicher. Ein Bediener oder dergleichen verwendet die Eingabevorrichtung 165 zum Eingeben von Daten in das Verwaltungsterminal 160. Als Eingabevorrichtung 165 werden z. B. eine Tastatur und eine Maus verwendet. Die Ausgabevorrichtung 166 ist eine Vorrichtung, die zum Senden von Information nach außen verwendet wird. Als Ausgabevorrichtung 166 wird z. B. ein Display oder ein Drucker verwendet. Der Port 163 ist mit dem internen LAN 151 verbunden. Dadurch kann das Verwaltungsterminal 160 mit den Kanal-Steuerungseinheiten 110 oder den Platten-Steuerungseinheiten 140 kommunizieren. Darüber hinaus kann der Port 163 an den LAN 400 oder eine Telefonleitung angeschlossen sein.

Wie es in Zusammenhang mit der 1 beschrieben wurde, ist das Verwaltungsterminal 160 mit den Spannungsversorgungen 190 verbunden, und Spannung wird von diesen an das Verwaltungsterminal 160 geliefert.

(Aussehen)

Die 5 zeigt das Aussehen des Speichervorrichtungssystems 600 gemäß der vorliegenden Ausführungsform. Die 6 zeigt das Aussehen des Speichervorrichtungs-Controllers 100.

Wie es in der 5 dargestellt ist, verfügt das Speichervorrichtungssystem 600 gemäß der vorliegenden Ausführungsform über den Speichervorrichtungs-Controller 100 und Speichervorrichtungen 300, die in jeweilige Gehäuse eingeschlossen sind. Die Gehäuse der Speichervorrichtungen 300 sind zu beiden Seiten des Gehäuses des Speichervorrichtungs-Controllers 100 platziert.

Der Speichervorrichtungs-Controller 100 verfügt über das Verwaltungsterminal 160, das im Zentrum seiner Frontseite installiert ist. Das Verwaltungsterminal 160 ist mit einer Abdeckung abgedeckt. Wie es in der 6 dargestellt ist, wird das Verwaltungsterminal 160 benutzbar, wenn die Abdeckung geöffnet wird. Das in der 6 dargestellte Verwaltungsterminal 160 besteht aus einem sogenannten Notebook-PC, jedoch kann es durch einen beliebigen Typ von Computer realisiert sein.

Unter dem Verwaltungsterminal 160 sind Steckplätze ausgebildet, in die die Kanal-Steuerungseinheiten 110 gesteckt werden. In jeden Steckplatz wird eine Leiterplatte gesteckt, die eine jeweilige Kanal-Steuerungseinheit 110 realisiert. Beim Speichervorrichtungssystem 600 gemäß der vorliegenden Ausführungsform sind z. B. acht Steckplätze vorhanden. In jedem der acht Steckplätze ist, wie es in den 5 und 6 dargestellt ist, eine Führungsschiene verlegt, um das Einsetzen der Kanal-Steuerungseinheiten 110 zu unterstützen. Durch Einführen jeder Kanal-Steuerungseinheit 110 in den Steckplatz entlang der Führungsschiene wird sie im Speichervorrichtungs-Controller 100 montiert. Darüber hinaus wird die in einen jeweiligen Steckplatz eingesetzte Kanal-Steuerungseinheit 110 entfernt, wenn sie entlang der Führungsschiene nach vorne weg gezogen wird. Ein Verbinder, über den jede Kanal-Steuerungseinheit 110 elektrisch mit dem Speichervorrichtungs-Controller 100 verbunden ist, ist an der Vorderseite in der Tiefenrichtung jedes Steckplatzes ausgebildet. Die Kanal-Steuerungseinheiten 110 sind in Kanal-Steuerungseinheiten CHN110, Kanal-Steuerungseinheiten CHF110 und eine Kanal-Steuerungseinheit CHAl10 unterteilt. Da jedoch die Kanal-Steuerungseinheiten 110 hinsichtlich der Größe, der Position des Verbinders und der Stiftkonfiguration des Verbinders gegeneinander austauschbar sind, kann jede der Kanal-Steuerungseinheiten in jeden beliebigen der acht Steckplätze eingesetzt werden. Demgemäß können z. B. die Kanal-Steuerungseinheiten CHN110 in alle acht Steckplätze eingesetzt werden. Darüber hinaus können z. B., wie es in der 1 dargestellt ist, die vier Kanal-Steuerungseinheiten CHN110, die zwei Kanal-Steuerungseinheiten CHF110 und die zwei Kanal-Steuerungseinheiten CHA110 in die acht Steckplätze eingesetzt sein. Darüber hinaus kann in einen beliebigen der Steckplätze keine Kanal-Steuerungseinheit 110 eingesetzt sein.

Wie oben angegeben, sind die Kanal-Steuerungseinheiten 110 als Leiterplatten vorhanden, die in die jeweiligen Steckplätze eingesetzt werden können, d.h. als identische Einheiten. Alternativ kann jede Einheit aus mehreren Leiterplatten bestehen. Das heißt, dass selbst dann, wenn eine Einheit aus mehreren Leiterplatten besteht, diese als einzelne Leiterplatte angesehen wird, solange die Leiterplatten miteinander verbunden sind, als einheitlicher Körper ausgebildet sind und in einen jeweiligen Steckplatz des Speichervorrichtungs-Controllers 100 eingesetzt werden.

Die 5 und 6 zeigen keine anderen Komponenten des Speichervorrichtungs-Controllers 100 außer den Platten-Steuerungseinheiten 140 und dem gemeinsamen Speicher 120. Die Komponenten sind an der Rückseite des Speichervorrichtungs-Controllers 100 montiert.

Darüber hinaus verfügt der Speichervorrichtungs-Controller 100 über Lüfter 170, die dazu verwendet werden, Wärme abzuführen, wie sie von den Kanal-Steuerungseinheiten 110 abgegeben wird. Die Lüfter 170 sind nicht nur über dem Speichervorrichtungs-Controller 100 sondern auch über den Steckplätzen für die Kanal-Steuerungseinheiten 110 angeordnet.

Als Speichervorrichtungs-Controller 100 und als Speichervorrichtungen 300, wie sie in die Gehäuse eingeschlossen sind, können z. B. herkömmliche Vorrichtungen verwendet werden, wie sie als SAN-Erzeugnisse kommerziell vertrieben werden. Wenn die Verbinder der Kanal-Steuerungseinheiten CHN so konzipiert sind, dass sie als solche mit den in einem herkömmlichen Gehäuse ausgebildeten Verbindern verbunden werden, können leicht herkömmliche Vorrichtungen verwendet werden. Das heißt, dass das Speichervorrichtungssystem 600 der vorliegenden Ausführungsform leicht unter Verwendung vorhandener Erzeugnisse aufgebaut werden kann.

Gemäß der vorliegenden Ausführungsform existieren die Kanal-Steuerungseinheiten CHN110, CHF110 und CHA110 gemeinsam im Speichervorrichtungssystem 600. Demgemäß kann ein Speichervorrichtungssystem realisiert werden, das an verschiedene Arten von Netzwerken anschließbar ist. Genauer gesagt, ist das Speichervorrichtungssystem 600 ein integriertes SAN-NAS-Speichersystem, das unter Verwendung der Kanal-Steuerungseinheiten CHN110 an das LAN 140 und unter Verwendung der Kanal-Steuerungseinheiten CHF110 an das SAN 500 angeschlossen werden kann.

(Kanal-Steuereinheit)

Die Speichervorrichtungssystem 600 gemäß der vorliegenden Ausführungsform empfängt unter Verwendung irgendeiner der Kanal-Steuerungseinheiten CHN110 von irgendeiner der Informationsverarbeitungseinheiten 200 eins bis drei eine Dateizugriffsanforderung und versorgt so die erste bis dritte Informationsverarbeitungseinheit 200 mit NAS-Diensten.

Die 7 zeigt die Hardwarekonfiguration jeder Kanal-Steuerungseinheit CHN110. Wie dargestellt, bildet die Einheit jeder Kanal-Steuerungseinheit CHN110 eine Einheit. Die Einheit soll als NAS-Platine bezeichnet werden. Die NAS-Platine besteht aus einer Leiterplatte oder mehreren Leiterplatten. Genauer gesagt, verfügt die NAS-Platine über einen Netzwerk-Schnittstellenblock 111, einen Eingabe/Ausgabe-Steuerungsblock 114, einen Platinenanschlussverbinder 116, einen Kommunikationsverbinder 117 und einen Dateiserverblock 800, die zu einer Einheit integriert sind. Der Eingabe/Ausgabe-Steuerungsblock 114 verfügt über einen nichtflüchtigen RAM (NVRAM) 115 und einen Eingabe/Ausgabe(I/O)-Prozessor 119.

Wenn einmal jede Kanal-Steuerungseinheit CHN110 in den im Speichervorrichtungs-Controller 100 ausgebildeten Steckplatz eingesetzt ist, sind sie und das Verwaltungsterminal 160 mittels des Platinenanschlussverbinders 116 über ein Kommunikationsnetzwerk wie das interne LAN 151 miteinander verbunden.

Spannung wird von den in das Speichervorrichtungssystem 600 eingebauten Spannungsversorgungen 190 über den Spannungsversorgungsverbinder 750 an jede Kanal-Steuerungseinheit CHN110 geliefert. An jeder Kanal-Steuerungseinheit CHN110 sind eine Spannungssteuerungsschaltung 751 und ein dieses steuerndes Hardwareregister 752 angebracht. In das Hardwareregister werden Werte eingetragen oder einprogrammiert, wodurch die Spannungsversorgung an den Eingabe/Ausgabe-Steuerungsblock 114 und den Dateiserverblock 800 gestartet oder beendet werden kann. Außer der Spannungssteuerung, d.h. außer dem Starten oder Stoppen der Spannungsversorgung, können Hardwareaktionen, wie ein Neubooten des Eingabe/Ausgabe-Steuerungsblocks 114 oder des Dateiserverblocks 800 oder ein übergang in einen Diagnosemodus dadurch gesteuert werden, dass die in das Hardwareregister 752 eingetragenen Werte modifiziert werden. Demgemäß kann der I/O-Prozessor 119 im Eingabe/Ausgabe-Steuerungsblock das Starten oder Stoppen der Spannungsversorgung an die CPU 112 im Dateiserverblock 800, das Neubooten und den Übergang in den Diagnosemodus auf Hardwarebasis steuern. Darüber hinaus kann die CPU 112 im Dateiserverblock 800 das Starten oder Stoppen der Spannungsversorgung an den I/O-Prozessor 119 im Eingabe/Ausgabe-Steuerungsblock, das Neubooten und den Übergang in den Diagnosemodus auf Hardwarebasis steuern.

Der Netzwerk-Schnittstellenblock 111 beinhaltet eine Kommunikations-Schnittstelle, über die jede Kanal-Steuerungseinheit CHN110 mit den Informationsverarbeitungseinheiten 200 kommuniziert. Der Netzwerk-Schnittstellenblock 111 innerhalb jeder Kanal-Steuerungseinheit CHN110 empfängt eine Dateizugriffsanforderung, wie sie von irgendeiner der Informationsverarbeitungseinheiten 200 geliefert wird, gemäß z. B. TCP/IP. Der Kommunikationsverbinder 117 ist ein Verbinder, über den jede Kanal-Steuerungseinheit CHN110 mit den Informationsverarbeitungseinheiten 200 kommuniziert. Der Kommunikationsverbinder 117 in jeder Kanal-Steuerungseinheit CHN110 kann an das LAN 400 angeschlossen werden, und er ist z. B. für das Ethernet(R) konzipiert.

Übrigens ist es, da der Netzwerk-Schnittstellenblock 111 eine Schnittstelle ist, die einen Benutzer beim Übertragen von Information unterstützt, nicht bevorzugt, dass er zur Wartung verwendet wird. Demgemäß ist das Verwaltungsterminal 160, das hauptsächlich zur Wartung verwendet wird, mittels des Platinenanschlussverbinders 116 über das interne LAN, jedoch nicht mittels des Netzwerk-Schnittstellenblocks 111, mit jeder Kanal-Steuerungseinheit 110 verbunden.

Der Dateiserverblock 800 verfügt über die CPU 112, einen Speicher 113, eine Busbrücke 805, ein grundlegendes Eingabe/Ausgabe-System (BIOS) 801 sowie einen nichtflüchtigen RAM (NVRAM) 804. Die CPU 112 ist für eine Erweiterung der Steuerung zuständig, um die Kanal-Steuerungseinheit CHN110 dabei zu unterstützen, als NAS-Platine zu arbeiten. Die CPU 112 steuert ein Dateisharingprotokoll, wie es für das Network file system (NFS) oder das Common Internet file system (CIFS) und das TCP/IP zu verwenden ist, und sie analysiert eine Dateizugriffsanforderung, die eine Datei spezifiziert. Darüber hinaus verwendet die CPU 112 eine im Speicher 113 gespeicherte Wandlungstabelle (nicht dargestellt) zum Zuordnen von Daten, die in Einheiten einer Datei behandelt werden, zu Daten, wie sie in einer zugeordneten der LUs abgespeichert sind, die in den Speichervorrichtungen 300 ausgebildet sind. Darüber hinaus verwendet die CPU 112 die Wandlungstabelle zum Zuordnen von Daten, die über irgendeine der Informationsverarbeitungseinheiten 200 kommuniziert werden und in Einheiten einer Datei behandelt werden, zu Daten, die in eine zugehörige der Speichervorrichtungen eingeschrieben oder aus diesen ausgelesen werden und in Einheiten eines Blocks behandelt werden, um eine Datei in einen Block zu wandeln oder umgekehrt. Darüber hinaus erzeugt die CPU 112 eine Datenlese- oder Schreibanforderung, die irgendeine der in den Speichervorrichtungen definierten LUs spezifiziert, und sie sendet die Daten-Schreib/Lese-Anforderung an den I/O-Prozessor 119. Das BIOS 801 ist eine Software, die z. B. dann, wenn die Spannungsversorgung der Kanal-Steuerungseinheit CHN110 eingeschaltet wird, als Erstes im Verlauf des Aktivierens der CPU 112 in den Speicher 113 geladen und dann abgearbeitet wird. Das BIOS 801 wird z. B. in einem nichtflüchtigen Medium wie einem Flashspeicher gespeichert, und es wird in der Kanal-Steuerungseinheit CHN110 installiert. Die CPU 112 betreibt Software, die als Teil des BIOS 801 in den Speicher 113 gelesen wird, und sie initialisiert oder diagnostiziert so die Komponenten der Kanal-Steuerungseinheit CHN110, die für die CPU 112 relevant sind. Ferner gibt die CPU 112 einen Befehl oder eine Anweisung innerhalb des BIOS 801 an den I/O-Prozessor 119 aus. Demgemäß kann ein vorbestimmtes Programm, z. B. ein Bootstrap zum Booten eines OS von einer zugeordneten der Speichervorrichtungen 300 in den Speicher 113 gelesen werden. Das gelesene Bootstrap-Programm zum Booten eines OS wird ausgeführt, wodurch ein Hauptteil eines in der zugehörigen Speichervorrichtung 300 gespeicherten OS gelesen wird und im Speicher 113 platziert wird. Demgemäß wird das OS in der CPU 112 aktiviert, und die CPU 112 führt z. B. die Maßnahme eines Dateiservers aus. Der Dateiserverblock 800 verfügt über den nichtflüchtigen RAM 804, in dem ein Netzwerk-Bootstrap-Ladeprogramm, das einer Übereinkunft wie der Preboot execution environment (PXE)-Konvention genügt, gespeichert ist, so dass der Dateiserverblock 800 einen Netzwerk-Bootvorgang ausführen kann, wie er später beschrieben wird. Die Busbrücke 805 verbindet den Netzwerk-Schnittstellenblock, den Eingabe/Ausgabe-Steuerungsblock und eine Gruppe von Dateiservern über einen Bus.

Im Speicher 113 sind verschiedene Programme und Einzeldaten gespeichert. Zum Beispiel sind im Speicher 113 Metadaten 730 und eine Sperrtabelle 720, wie in der 8 dargestellt, oder verschiedene Programme einschließlich eines NAS-Managers 706, wie in der 22 dargestellt, gespeichert. Die Metadaten 730 bilden Information, wie sie in Zuordnung zu jeder der durch ein Dateisystem verwalteten Dateien erzeugt wird. Die Metadaten 730 enthalten die Adresse der LU, in der eine Datei der Daten gespeichert ist, die Größe der Daten oder irgendwelche andere Information, die den Ort spezifiziert, an dem eine Datei abgespeichert ist. Die Metadaten 730 können Information wie die für eine Datei benötigte Speicherkapazität, den Inhaber und den Zeitpunkt der Aktualisierung enthalten. Darüber hinaus können die Metadaten 730 in Zuordnung zu einem Verzeichnis, jedoch nicht zu einer Datei, erzeugt werden. Die 9 zeigt ein Beispiel der Metadaten 730. Die Metadaten 730 werden in jeder der in den Speichervorrichtungen 300 definierten LUs abgespeichert.

Die Sperrtabelle 720 ist eine Tabelle, die ausschließlich dazu verwendet wird, den Zugriff auf eine Datei zu steuern, wie er von jeder der Informationsverarbeitungseinheiten 200 eins bis drei erlangt wird. Die ausschließliche Steuerung ermöglicht es, dass die erste bis dritte Informationsverarbeitungseinheit 200 dieselbe Datei gemeinsam verwenden. Die 10 zeigt die Sperrtabelle 220. Wie es in der 10 dargestellt ist, zerfällt die Sperrtabelle 720 in eine Datei-Sperrtabelle 721 und eine LU-Sperrtabelle 722. Die Datei-Sperrtabelle 721 ist eine Tabelle, die dazu verwendet wird, anzuzeigen, ob eine jeweilige Datei gesperrt ist. Wenn irgendeine Informationsverarbeitungseinheit 200 eine bestimmte Datei öffnet, wird die Datei gesperrt. Wenn irgendeine Informationsverarbeitungseinheit 200 eine bestimmte Datei öffnet, wird diese gesperrt. Die anderen Informationsverarbeitungseinheit 200 werden daran gehindert, Zugriff auf die gesperrte Datei zu erlangen. Die LU-Sperrtabelle 722 ist eine Tabelle, die dazu verwendet wird, anzuzeigen, ob eine jeweilige LU gesperrt ist. Wenn irgendeine Informationsverarbeitungseinheit 200 auf eine bestimmte LU zugreift, wird diese LU gesperrt. Die anderen Informationsverarbeitungseinheiten 200 werden daran gehindert, Zugriff auf die gesperrte LU zu erlangen.

Der Eingabe/Ausgabe-Steuerungsblock 114 überträgt Daten oder einen Befehl an die Platten-Steuerungseinheit von den Platten-Steuerungseinheiten 140, dem Cachespeicher 130, dem gemeinsamen Speicher 120 und dem Verwaltungsterminal 160 oder von diesen. Der Eingabe/Ausgabe-Steuerungsblock 114 beinhaltet den I/O-Prozessor 119 und einen nichtflüchtigen RAM 115. Der Informationsverarbeitungseinheit 119 besteht z. B. aus einem Einchip-Mikrocomputer. Der I/O-Prozessor 119 steuert die Übertragung auf eine Daten-/Lese-Anforderung hin, die das Schreiben oder Lesen von Daten in eine zugehörige der LUs in den Speichervorrichtungen 300, oder von diesen, oder von Daten anfordert, und er wiederholt die Kommunikation zwischen der CPU 112 und einer der Platten-Steuerungseinheiten 140. Der nichtflüchtige Speicher 115 ist ein nichtflüchtiger Speicher, in dem ein Programm gespeichert ist, gemäß dem der I/O-Prozessor 119 gesteuert wird. Der Inhalt des im nichtflüchtigen RAM 115 gespeicherten Programms kann auf eine Anweisung hin überschrieben oder neu geschrieben werden, die vom Verwaltungsterminal 160 oder dem NAS-Manager 706, der später beschrieben wird, geliefert wird.

Die 11 zeigt ein konkretes Beispiel eines Kommunikationspfads zwischen der CPU 112 und dem I/O-Prozessor in jeder Kanal-Steuerungseinheit CHN110. Der I/O-Prozessor 119 und die CPU 112 sind über einen Kommunikationsspeicher 802 und eine Gruppe von Hardwareregistern 803, die auf der Leiterplatte der Kanal-Steuerungseinheit CHN110 vorhanden sind, miteinander verbunden. Von der CPU 112 und dem I/O-Prozessor 119 kann jeder auf den Kommunikationsspeicher 802 und die Gruppe von Hardwareregistern 803 zugreifen. Unter Verwendung des Kommunikationsspeichers 802 können der I/O-Prozessor 119 und die CPU 112 ein Interruptsignal oder Daten an ein Ziel senden, das Objekt des Zugriffs ist. Die Gruppe der Hardwareregister 803 ist mit einer Schaltung verbunden, die die Spannungsversorgung zur CPU 112 startet oder stoppt. Demgemäß kann der I/O-Prozessor 119, durch Zugriff auf die Gruppe von Hardwareregistern 803, die Spannungsversorgung für die CPU 112 manipulieren. Die Gruppe von Hardwareregistern 803 verfügt über eine Anzahl von Fähigkeiten, einschließlich der Fähigkeit, ein Interruptsignal zu erzeugen, um ein Ziel, auf das zuzugreifen ist, über die Tatsache zu informieren, dass die CPU 112 oder der I/O-Prozessor 119 auf die Gruppe von Hardwareregistern 803 zugegriffen hat. Die mehreren Fähigkeiten werden Registern, die die Gruppe von Hardwareregistern 803 bilden, auf Hardwarebasis zugewiesen.

Die 12 und 13 zeigen Beispiele einer Datenstruktur, wie sie im in jeder Kanal-Steuerungseinheit CHN110 enthaltenen Kommunikationspeicher 802 zu speichern ist. Die 12 zeigt eine Datenstruktur, die zum Übertragen von Information vom I/O-Prozessor 119 zur CPU 112 verwendet wird. Die 13 zeigt eine Datenstruktur, die dazu verwendet wird, Information von der CPU 112 zum I/O-Prozessor 119 zu übertragen. Die zwischen der CPU 112 und dem I/O-Prozessor 119 zu übertragende Information besteht hauptsächlich aus einer Gruppe von Einzelinformationen, wie sie zu übertragen sind, wenn die CPU 112 und der I/O-Prozessor 119 bei gestarteter Spannungsversorgung aktiviert werden.

Die vom I/O-Prozessor 119 zur CPU 112 zu übertragende Information beinhaltet den Typ der zu aktivierenden Vorrichtung, ein Diagnoseausführungsfleck, mehrere Laufwerksnummern, Zeitpunktsinformation, die Anzahl von Befehlsneuversuchen, einen Befehlszeitablaufswert sowie mehrere Temperatur-Einzelinformationen. Der Typ der zu aktivierenden Vorrichtung ist der Typ der Vorrichtung, wie sie unter Steuerung durch das BIOS 801 zu aktivieren ist, wenn die CPU 112 gestartet wird. Zum Beispiel ist der Typ der zu aktivierenden Vorrichtung ein Netzwerk oder ein Plattenlaufwerk. Die Laufwerksnummer ist die Nummer, durch die ein Plattenlaufwerk, das als Quelle dient, von der ein OS geladen wird, wenn ein Plattenlaufwerk als Vorrichtungstyp spezifiziert ist, zu aktivieren ist. Gemäß der vorliegenden Ausführungsform ist das Konzept einer LU bei den Speichervorrichtungen 300 angewandt, und ein OS oder dergleichen wird in den LUs abgespeichert. LU-Nummern, wie sie den LUs zugewiesen sind, werden als Laufwerksnummern angesehen. Den Laufwerksnummern sind Prioritäten zugewiesen. Wenn die Laufwerksnummer 0 Priorität gegenüber der Laufwerksnummer 1 hat, versucht die CPU 112 als Erstes, die LU zu aktivieren, der die Laufwerksnummer 0 zugeordnet ist. Wenn die Aktivierung fehlschlägt, versucht die CPU 112 die LU zu aktivieren, der die Laufwerksnummer 1 zuzugeordnet ist. Das Diagnoseausführungsfleck wird verwendet, wenn der I/O-Prozessor 119 anweist, ob Hardwareperipherie hinsichtlich des Dateiserverblocks 800 innerhalb des BIOS 801 beim Aktivieren der CPU 112 diagnostiziert werden sollte. Wenn z. B. die Initialisierung des Dateiserverblocks 800 abgeschlossen ist und alleine die CPU 112 neu aktiviert wird, muss Hardware nicht erneut innerhalb des BIOS 801 diagnostiziert werden. In diesem Fall setzt der I/O-Prozessor 119 das Diagnoseausführungsfleck in geeigneter Weise, um zu verhindern, dass die CPU 112 erneut Hardwareperipherie hinsichtlich des Dateiserverblocks 800 diagnostiziert. Die Zeitpunktsinformation wird verwendet, wenn das BIOS 801 und das OS in der CPU 112 abgearbeitet werden. Der I/O-Prozessor 119 erfasst die Zeitpunktsinformation vom Verwaltungstermi-nal 160, und er übergibt sie an die CPU 112. Demgemäß können das Verwaltungsterminal 160, der I/O-Prozessor 119 und die CPU 112 ihre Zeitpunkts-Einzelinformationen miteinander zur Übereinstimmung bringen. Die Anzahl der Befehlsneuversuche und der Befehlszeitablaufswert sind die Bedingungen, gemäß denen das BIOS 801 oder das OS in der CPU 112 abgearbeitet wird oder einen Zeitablauf erzeugt, wenn ein von der CPU 112 an den I/O-Prozessor 119 ausgegebener Befehl fehlschlägt. Die Temperaturinformation zeigt einen für die CPU 112 konzipierten Wert an, damit die CPU 112 eine eigene anormale Temperaturänderung erfassen kann.

Wie oben angegeben, kann, gemäß der vorliegenden Ausführungsform, der I/O-Prozessor 119 frei solche Werte wie den Typ zu aktivierenden Vorrichtung, die Laufwerksnummer, die Zeitpunktsinformation, die Anzahl von Befehlsneuversuchen, den Befehlszeitablaufswert und mehrere Temperatur-Einzelinformationen frei bestimmen. Die vorliegende Ausführungsform ist nicht auf diesen Modus beschränkt. Alternativ können die Werte als Anfangswerte im nichtflüchtigen Speicher abgespeichert sein, in dem das BIOS abgespeichert ist. Vorzugsweise kann ein Bediener die Werte am Verwaltungsterminal 160 eingeben, oder die Werte können vorab im Speicher innerhalb des Verwaltungsterminals 160 registriert werden, damit das Verwaltungsterminal 160 die Werte an den I/O-Prozessor 119 übergeben kann. Das Diagnoseausführungsfleck wird auf Grundlage einer logischen Beurteilung gesetzt, die während der Aktivierung des I/O-Prozessors 119 erfolgt, oder es wird durch einen Bediener spezifiziert. Wenn das Diagnosausführungsfleck auf Grundlage einer logischen Beurteilung gesetzt wird, die während der Aktivierung des I/O-Prozessors 119 ausgeführt wird, können die Aktionen der CPU 112 oder das Verhalten des in diese geladenen BIOS 801 durch den I/O-Prozessor 119 kontrolliert werden.

Die 13 zeigt eine Datenstruktur, gemäß der Information von der CPU 112 an den I/O-Prozessor 119 übergeben wird. Eine BIOS-Version spezifiziert die Version eines im BIOS 801 enthaltenen Objektcodes. Die BIOS-Version wird von der CPU 112 an den I/O-Prozessor 119 und von diesem an das Verwaltungsterminal 160 übergeben. Eine MAC-Adresse spezifiziert eine Media access control(MAC)-Adresse, wie sie der CPU 112 zugewiesen ist. Die MAC-Adresse ist in der Welt eine der Hardware zugeordnete eindeutige Kennung, und es handelt sich um Information, wie sie zum Zuweisen einer IP-Adresse zu einem DHCP-Server, der das Dynamic host configuration protocol (DHCP) verwendet, an einem Server, der IP verwendet, erforderlich ist. Stopfbitinformation 0 wird dazu verwendet, eine Grenze zwischen Wörtern mit Werten 0 aufzufüllen, und sie hat nichts mit Information zu tun.

Die 14 zeigt die Hardwarekonfiguration, die die Verbindung über das interne LAN 151 zwischen der CPU 112 und dem I/O-Prozessor 119 darstellt. Wie dargestellt, sind die CPU 112 und der I/O-Prozessor 119 über das interne LAN 151 miteinander verbunden, und sie können daher über dieses mit dem Verwaltungsterminal 160 kommunizieren. Demgemäß arbeitet die CPU 112 z. B. ein Netzwerk-Ladeprogramm ab, das vorab in den nichtflüchtigen RAM 804 eingespeichert wurde, um Aktivierungssoftware vom Verwaltungsterminal 160 in den Speicher 113 herunter zu laden. Dann wird die Aktivierungssoftware abgearbeitet. Demgemäß wird ein Netzwerk-Bootprozess ausgeführt, bei dem das Verwaltungsterminal 160 und die CPU 112 als Server bzw. Client angesehen werden. Übrigens ist der Netzwerk-Bootvorgang ein Prozess zum Ausführen oder Aktivieren der Kern-Bilddaten eines im Verwaltungsterminal 160 residenten OS im LAN. Der Prozess wird durch ein im Client installiertes Netzwerk-Bootstrap-Ladeprogramm und die im Verwaltungsterminal 160 laufende Serversoftware entsprechend einer Kombination von IP, DHCP, Trivial file transfer protocol (TFTP) und File transfer protocol (FTP) ausgeführt. Das Verwaltungsterminal 160 arbeitet ein Dumpingprogramm ab, wodurch eine Dumpinganweisung mittels des Platinenanschlussverbinders 116 über das interne LAN 151 an den I/O-Prozessor 119 gesendet wird. Auf die Dumpinganweisung hin weist der I/O-Prozessor 119 die CPU 112 dazu an, Dumpdaten zu sammeln. Hinsichtlich der Sicherheit ist es nicht bevorzugt, dass das Verwaltungsterminal 160 eine Dumpinganweisung direkt an die CPU 112 ausgibt. Daher wird die Dumpinganweisung dauernd über den I/O-Prozessor gesendet. Dies wird in Zusammenhang mit drei Dumpingverfahren detailliert angegeben.

Die 15 ist ein Blockdiagramm, das die Hardwarekonfiguration jeder Platten-Steuerungseinheit 140 zeigt. Wie bereits beschrieben, sind die Platten-Steuerungseinheiten mit den Speichervorrichtungen 300 und über die Verbindungseinheit 150 auch mit den Kanal-Steuerungseinheiten CHN110 verbunden. Die Platten-Steuerungseinheiten 140 schreiben selbst oder unter Steuerung durch die Kanal-Steuerungseinheiten CHN110 Daten in die Speichervorrichtungen 300 ein, oder lesen Daten aus ihnen.

Jede Platten-Steuerungseinheit 140 verfügt über einen Schnittstellenblock 141, einen Speicher 143, eine CPU 142, einen nichtflüchtigen RAM 144 und einen Platinenanschlussverbinder 145, die zu einer Einheit integriert sind.

Der Schnittstellenblock 141 enthält: eine Kommunikationsschnittstelle, über die die Platten-Steuerungseinheit mittels der Verbindungseinheit 150 mit einer zugeordneten Kanal-Steuerungseinheit 110 kommuniziert; eine Kommunikationsschnittstelle, über die die Platten-Steuerungseinheit mit einer zugeordneten Speichervorrichtung 300 kommuniziert; und eine Kommunikationsschnittstelle, mittels der die Platten-Steuerungseinheit über das interne LAN 151 mit dem Verwaltungsterminal 160 kommuniziert.

Die CPU 142 ist für die Steuerung der gesamten Platten-Steuerungseinheit 140 zuständig, und sie kommuniziert mit der zugeordneten Kanal-Steuerungseinheit 110, der zugeordneten Speichervorrichtung 300 und dem Verwaltungsterminal 160. Es werden verschiedene im Speicher 143 und im nichtflüchtigen RAM 144 gespeicherte Programme ausgeführt, um die Fähigkeiten der bei der vorliegenden Ausführungsform verwendeten Platten-Steuerungseinheit 140 zu realisieren. Die Fähigkeiten der Platten-Steuerungseinheit 140 sind die Fähigkeiten einer Steuerung der zugeordneten Speichervorrichtung 300, einer Steuerung der RAID-Ebenen zum Verwalten einer Kopie von in der Speichervorrichtung 300 gespeicherten Daten, einer Steuerung eines zugehörigen Backups sowie einer Steuerung einer Fernkopie.

Der nichtflüchtige RAM 114 ist ein nichtflüchtiger Speicher, in dem ein für die Steuerung der CPU 142 zuständiges Programm gespeichert ist. Der Inhalt des im nichtflüchtigen RAM 113 gespeicherten Programms wird in Reaktion auf eine vom Verwaltungsterminal 160 oder vom NAS-Manager 706 gelieferte Anweisung überschrieben oder neu geschrieben.

Darüber hinaus verfügt jede Platten-Steuerungseinheit 140 über einen Platinenanschlussverbinder 145. Der Platinenanschlussverbinder 145 ist mit einer im Speichervorrichtungs-Controller 100 ausgebildeten Verbinder verbunden, wodurch die Platten-Steuerungseinheit 140 elektrisch mit dem Speichervorrichtungs-Controller 100 verbunden wird.

(Installation)

Als Nächstes erfolgt eine Beschreibung zur Installation von Software, wie sie erforderlich ist, damit das Speichervorrichtungssystem 600 gemäß der vorliegenden Ausführungsform als NAS-System arbeiten kann.

Um es zu ermöglichen, dass das Speichervorrichtungssystem 600 als NAS-System arbeitet, ist es erforderlich, ein OS 701 zu installieren, das in den Kanal-Steuerungseinheiten CHN110 läuft. Darüber hinaus muss ein Mikroprogramm (Firmware) installiert werden, das in den Kanal-Steuerungseinheit CHN110 und den Platten-Steuerungseinheiten 130 läuft. Darüber hinaus werden, falls erforderlich, ein Datenbereichs-Manager 707, ein Dateisystemprogramm 703, ein NAS-Manager 706 und andere Anwendungsprogramme in den Kanal-Steuerungseinheiten installiert. Darüber hinaus werden, falls erforderlich, ein Fernkopie-Steuerungsprogramm 750, ein Kopier-Verwaltungsprogramm 760 und andere in den Platten-Steuerungseinheiten 140 installiert.

Das OS 701 und Anwendungsprogramme werden in den in den Speichervorrichtungen 300 definierten System-LUs gespeichert. Den System-LUs können ein OS-Installationsbereich, ein Fehlererkennungs-Speicherbereich und ein Clusterinformation-Speicherbereich zugewiesen sein. Im Fehlererkennungs-Speicherbereichist Information zur Fehlerverwaltung gespeichert, wie eine durch das OS 701 oder das Anwendungsprogramm erzeugte Dumpliste(Liste von Kerndumps, Speicherdumps und Plattendumps, wie sie beim Auftreten einer anormalen Beendigung eines Kernels im OS 701 einer anormalen Beendigung eines Dämons oder bei der Erkennung einer Anormalität, die sich aus einem Schleifenablauf mehrerer Prozesse ergibt, erzeugt werden). Im Clusterinformations-Speicherbereich wird Information gespeichert, die dazu erforderlich ist, einen Cluster durch Zusammenfassen der Kanal-Steuerungseinheiten CHN110 zu bilden. Da die Speicherbereiche, in denen das OS 701 und die Anwendungsprogramme gespeichert sind, in den Speichervorrichtungen 300 definiert sind, müssen derartige Speicherbereiche nicht in den Kanal-Steuerungseinheiten CHN110 definiert werden.

Darüber hinaus können der Fehlererkennungs-Speicherbereich und der Clusterinformations-Speicherbereich unabhängig von den System-LUs als Fehlerverwaltungs-LU bzw. Cluster-LU definiert werden. Wenn die Speichervorrichtungen 300 auf der RAID-Ebene 5 verwendet werden, werden die System-LUs, die Fehlerverwaltungs-LU und die Cluster-LU nicht hinsichtlich einer Paritätstechnik zum Testen gesendeter Daten gemeinsam gruppiert, sondern sie werden vorzugsweise in Gruppen gruppiert, für die mehrere Paritätstechniken verwendet werden. Dies, da in den LUs Daten gespeichert sind, die für den Betrieb des Speichervorrichtungs-Controllers 100 bedeutsam sind.

Als Nächstes erfolgt eine Beschreibung zu einer Prozedur zum Installieren des OS 701 und eines Mikroprogramms, die dazu erforderlich sind, dass das Speichervorrichtungssystem 600 als NAS-System arbeiten kann. Diese Programme werden unter Verwendung des Verwaltungsterminals (Computer) 160 installiert.

Die 16 ist ein Blockdiagramm zum Erläutern der Installationsprozedur. Die 17 zeigt ein Beispiel eines Schirmbilds, wie es auf der Ausgabevorrichtung 166 im Verwaltungsterminal 160 angezeigt wird und zur Installation verwendet wird.

Gemäß dem Blockdiagramm der 16 ist der Speichervorrichtungs-Controller 100 über das LAN (erstes Netzwerk) 400 mit den Informationsverarbeitungseinheiten 200 verbunden, und er empfängt von diesen eine Dateizugriffsanforderung. Darüber hinaus verfügt der Speichervorrichtungs-Controller 100 über das Verwaltungsterminal 160. Das Verwaltungsterminal 160 ist über das interne LAN (zweites Netzwerk) 151 mit den Kanal-Steuerungseinheiten CHN110 und den Platten-Steuerungseinheiten 140 verbunden. Im Verwaltungsterminal 160 sind ein Mikroprogramm 770, ein Ladeprogramm 771, ein Installationsprogramm 772 und ein OS 773 gespeichert. Genauer gesagt, sind diese Programme im Speicher 162 und der Speichervorrichtung 168 im Verwaltungsterminal 160 gespeichert. Das Mikroprogramm 770 zerfällt in einen Typ, der in die nichtflüchtigen RAMs 115 in den Kanal-Steuerungseinheiten CHN110 geschrieben wird und einen Typ, der in die nichtflüchtigen RAMs 144 in den Platten-Steuerungseinheiten 140 geschrieben wird. Das Erstere ist ein Programm, das zur Steuerung des I/O-Prozessors 119 in jeder Kanal-Steuerungseinheit CHN110 zuständig ist, während das Letztere ein Programm ist, das zur Steuerung der CPU 142 in jeder Platten-Steuerungseinheit 140 zuständig ist. Das Ladeprogramm 771 und das Installationsprogramm 772 sind Programme, die dazu verwendet werden, das OS 773 aus dem Verwaltungsterminal 160 zu lesen und es in die Kanal-Steuerungseinheiten CHN110 zu schreiben. Das OS 773 wird in den System-LUs installiert, die in den Speichervorrichtungen 300 in Zuordnung zu den Kanal-Steuerungseinheiten CHN110 definiert sind. Diese Programme können vom Aufzeichnungsträger 167, der durch eine CD-ROM oder dergleichen gebildet ist, unter Verwendung des Aufzeichnungsträgerlasers 164 im Verwaltungsterminal 160 gelesen werden, oder sie können z. B. über den Port 163 aus dem Internet herunter geladen werden.

Darüber hinaus können in den Speichervorrichtungen 300 eine oder mehrere Fehlerinformationsspeicher-LUs definiert sein, so dass Fehlererkennungsinformation oder Fehlerinformation in den Fehlerinformationsspeicher-LU gespeichert werden kann. Die Fehlerinformationsspeicher-LUs können vorab bereitgestellt werden. Andernfalls können die Fehlerinformationsspeicher-LUs erstellt werden, wenn das OS 773 in den System-LUs installiert wird. Zum Erstellen der Fehlerinformationsspeicher-LUs gehört das Formatieren und Erzeugen einer Datei, in der Fehlerinformation aufgezeichnet wird.

Die 17 zeigt ein Beispiel eines Schirmbilds, wie es auf der Ausgabevorrichtung 166 im Verwaltungsterminal 160 angezeigt wird. Hierbei ist angenommen, dass die Einstellungen der Kanal-Steuerungseinheiten CHN110, die neu in die Steckplätze mit dem Steckplatz Nr. 1 bis 4 eingesetzt wurden, durch das Schirmbild bestimmt werden. Gemäß der 17 werden die Einstellwerte der in die Steckplätze mit dem Steckplatz Nr. 5 bis 8 eingesetzten Kanal-Steuerungseinheiten aufgelistet. Die bereits bestimmten Einstellungen der in die Steckplätze eingesetzten Kanal-Steuerungseinheiten müssen nicht angezeigt werden, oder es kann eine Eingabe durch den Bediener unakzeptiert bleiben.

Das in der 17 dargestellte Installations-Schirmbild verfügt über eine Spalte mit der Steckplatznummer, eine Kanaladapterspalte, eine Spalte mit der System-LU-Nummer sowie eine Spalte mit der Fehlerinformationsspeicher-LU-Nummer. Ein Bediener kann Information in die Kanaladapterspalte, die Spalte mit der System-LU-Nummer und die Spalte mit der Fehlerinformationsspeicher-LU-Nummer eingeben.

In der Kanaladapterspalte werden die Typen der Kanal-Steuerungseinheiten 110 eingegeben, die in irgendeinen der Steckplätze zu stecken sind, die im Speichervorrichtungs-Controller 100 ausgebildet sind. Zu den Typen der Kanal-Steuerungseinheiten 110 gehören CHA, CHF und CHN. Von CHA, CHF und CHN kann jeder Typ dadurch ausgewählt werden, dass die Maus innerhalb einer Dreiecksmarkierung angeklickt wird, die in der 17 nach unten hin verjüngt ist.

In die Spalte mit der System-LU-Nummer werden System-LU-Nummern eingegeben. Als System-LUs können beliebige der LUS ausgewählt werden, wie sie in den Speichervorrichtungen 30 definiert sind. Die System-LUs werden in Zuordnung zu den jeweiligen Kanal-Steuerungseinheiten CHN110 spezifiziert. Wenn die Speicherkapazität einer als System-LU spezifizierten LU kleiner als eine vorbestimmte Speicherkapazität ist, kann in dieser LU das OS 773 nicht installiert werden. Daher hat das Verwaltungsterminal 160 die Fähigkeit, die Speicherkapazität einer LU zu prüfen, deren Nummer in der Spalte der System-LU-Nummer eingegeben wird. Übrigens können mehrere Kanal-Steuerungseinheiten CHN110 dieselbe System-LU gemeinsam nutzen.

In der Spalte mit der Fehlerinformationsspeicher-LU-Nummer werden die LU-Nummern von LUs eingegeben, in denen Fehlerinformation gespeichert wird, wie sie durch die Kanal-Steuerungseinheiten 110 erfasst oder mitgeteilt wurde. Die LU-Nummer kann dadurch spezifiziert werden, dass die Maus innerhalb der Dreiecksmarkierung angeklickt wird, die in der 17 nach unten verjüngt ist. Übrigens kann die Fehlerinformationsspeicher-LU in Zuordnung zu jeder Kanal-Steuerungseinheit oder in Zuordnung zu mehreren oder allen Kanal-Steuerungseinheiten bestimmt werden. Darüber hinaus können die Fehlerinformationsspeicher-LUs unabhängig von einer Kanal-Steuerungseinheit wahlfrei bestimmt werden.

Wenn eine Bedienperson die Eingabe von Information hinsichtlich der Steckplatz Nr. 1 bis 4, wie in der 17 dargestellt, abschließt, klickt sie mit der Maus innerhalb einer OK-Taste. Demgemäß startet das Verwaltungsterminal 160 mit dem Installieren von Software in die Kanal-Steuerungseinheiten CHN110, die in die Steckplätze mit den Steckplatz Nr. 1 bis 4 eingesetzt sind.

Die 19 ist ein Flussdiagramm zum Beschreiben der Installationsprozedur. Mittels einer durch eine Bedienperson, die das Verwaltungsterminal 160 bedient eingegebenen Anweisung wird ein Mikroprogramm-Umschreibprogramm im Verwaltungsterminal 160 abgearbeitet. Demgemäß wird eine MAC(media access control)-Adresse, wie sie jeder der Kanal-Steuerungseinheiten CHN110 oder jeder der Platten-Steuerungseinheiten 140, in die das Mikroprogramm 770 eingeschrieben wird (Information, durch die die Kanal-Steuerungseinheit CHN-110 oder die Platten-Steuerungseinheit 140 von den anderen unterschieden wird) zugewiesen ist, z. B. im Speicher 162 im Verwaltungsterminal 160 gespeichert. Nun wird das Mikroprogramm 770 in den nichtflüchtigen RAM 115 in der speziellen Kanal-Steuerungseinheit CHN110, dessen MAC-Adresse im Verwaltungsterminal 160 gespeichert ist oder in den nichtflüchtigen RAM 144 in der speziellen Platten-Steuerungseinheit 140, deren MAC-Adresse im Verwaltungsterminal 160 gespeichert ist, geschrieben (S1000). Das Verwaltungsterminal 160 führt den Schreibvorgang über das interne LAN 151 aus. Ein Ziel, in das das Mikroprogramm 770 geschrieben wird, kann auf Grundlage von Eingabeinformation bestimmt werden, wie sie über das Installations-Schirmbild eingegeben wird. Darüber hinaus wird die MAC-Adresse des Ziels, in das das Mikroprogramm 770 geschrieben wird, dadurch erfasst, dass ein MAC-Adresse-Abfragebefehl an die Kanal-Steuerungseinheiten CHN110 oder die Platten-Steuerungseinheiten 140 gesendet wird, die über das interne LAN 151 miteinander verbunden sind. Information, mit der jede der Kanal-Steuerungseinheiten CHN110 oder jede der Platten-Steuerungseinheiten 140 identifiziert wird, und die im Verwaltungsterminal 160 gespeichert ist, ist nicht auf eine MAC-Adresse beschränkt. Alternativ reicht z. B. eine IP-Adresse aus. Andernfalls reicht eine Seriennummer aus, wie sie jeder der Kanal-Steuerungseinheiten CHN110 oder jeder der Platten-Steuerungseinheiten 140 zugewiesen ist. Darüber hinaus kann das zu schreibende Mikroprogramm 770 als Softwarepaket in Form eines Aufzeichnungsträgers 167 wie einer CD-ROM geliefert werden, oder es kann über das Internet herunter geladen werden.

Wie oben angegeben, wird das Mikroprogramm 170 in jede der Kanal-Steuerungseinheiten CHN110 oder jede der Platten-Steuerungseinheiten 140 geschrieben, deren MAC-Adresse im Verwaltungsterminal 160 gespeichert ist. Demgemäß wird das Mikroprogramm 770 in eine spezielle Kanal-Steuerungseinheit CHN100 oder eine spezielle Platten-Steuerungseinheit 140 geschrieben. Demgemäß kann das Mikroprogramm 770 in eine beliebige der Kanal-Steuerungseinheiten CHN110 oder eine beliebige der Platten-Steuerungseinheiten 140 geschrieben werden, in die das gespeicherte Mikroprogramm 770 geschrieben werden muss. Darüber hinaus kann verhindert werden, dass das Mikroprogramm 770, das in die Kanal-Steuerungseinheiten CHN110 geschrieben werden sollte, fehlerhaft in die Kanal-Steuerungseinheiten CHA110 oder CHF110 geschrieben wird.

Anschließend werden die Kanal-Steuerungseinheit CHN110 und die Platten-Steuerungseinheit 140 rückgesetzt. Demgemäß startet der Ablauf des installierten Mikroprogramms 770. Hierbei startet z. B. das Verwaltungsterminal 160 den Rücksetzvorgang. Nachdem das Rücksetzen abgeschlossen ist, identifiziert, wenn die Platten-Steuerungseinheit 140 zu arbeiten beginnt, das Verwaltungsterminal 160 eine zugeordnete der LUs in den Speichervorrichtungen 300.

Danach sendet das Verwaltungsterminal 160 eine Anweisung, die einen Lesevorgang des Ladeprogramms 771 anweist, an die Kanal-Steuerungseinheit CHN110, deren MAC-Adresse im Verwaltungsterminal 160 gespeichert ist. Das Ladeprogramm 771 ist ein Programm, das abzuarbeiten ist, um das Installationsprogramm 772 vom Verwaltungsterminal 160 in die Kanal-Steuerungseinheit CHN110 zu lesen. Die Anweisung, die das Lesen des Ladeprogramms 171 anweist und die vom Verwaltungsterminal 160 geliefert wird, ist im grundlegenden Eingabe/Ausgabe-System (BIOS) in der CPU 112 innerhalb der Kanal-Steuerungseinheit CHN110 enthalten. Demgemäß wird das Ladeprogramm 771 vom Verwaltungsterminal 160 in die Kanal-Steuerungseinheit CHN110 gelesen (S1001).

Danach liest das Ladeprogramm 771 das Installationsprogramm 772 aus dem Verwaltungsterminal 160 (S1002). Das Installationsprogramm 772 sorgt für eine Fähigkeit, die für Kommunikation über das interne LAN 171 relevant ist, und auch für die Fähigkeit, eine LU auf Grundlage eines Dateisystems zu formatieren, sowie die Fähigkeit, eine Datei in die LU zu schreiben.

Danach partitioniert das Installationsprogramm 772 die System-LV, die der Kanal-Steuerungseinheit CHN110 zugeordnet ist, um einen Bereich zu reservieren, in dem das OS 773 installiert wird, und es formatiert die System-LU, während dieses als Dateisystem wirkt (S1003). Dann liest das Installationsprogramm 772 das OS 773 aus dem Verwaltungsterminal 160, und es schreibt es mit den Einheiten einer Datei in den formatierten Installationsbereich (S1004). Darüber hinaus spiegelt das Installationsprogramm 772 die Einstellungen des internen LAN 171 in einer Einstelldatei wider, die im geschriebenen OS 773 enthalten ist.

Ferner schreibt das Installationsprogramm 772 einen MBR(master boot record)-Aktivierungscode in die System-LU, in die das OS 773 geschrieben ist, um den MBR gültig zu machen (S1005). Anschließend, wenn die Kanal-Steuerungseinheit CHN110 rückgesetzt wird, wird das OS 773 automatisch aktiviert.

Danach initialisiert das Installationsprogramm 772 die Fehlerinformationsspeicher-LU, in der Fehlerinformation gespeichert wird, wie sie vom OS 773 oder der Kanal-Steuerungseinheit 110, die der Fehlerinformationsspeicher-LU zugewiesen ist, mitgeteilt wird (S1006). Demgemäß wird der Bereich reserviert, in dem Fehlerinformation gespeichert wird.

Wenn die vorstehende Verarbeitung abgeschlossen ist, informiert der in der Kanal-Steuerungseinheit CHN110 enthaltene I/O-Prozessor 119 das Verwaltungsterminal 160 über das interne LAN 151 darüber, dass die Installation abgeschlossen wurde (S1007).

Das Verwaltungsterminal 160 führt wiederholt die vorstehende Installation an den in die jeweiligen Steckplätze mit den Steckplatz Nr. 1 bis 4 eingesetzten Kanal-Steuerungseinheiten CHN110 aus (S1008). Wenn die Verarbeitung für alle Kanal-Steuerungseinheiten CHN110 in den Steckplätzen mit den Steckplatz Nr. 1 bis 4 abgeschlossen ist, ist die Installation abgeschlossen.

Die vorige Installationsprozedur ermöglicht es, die Firmware und das OS 773 gleichmäßig entsprechend einer Prozedur zu handhaben.

Danach werden die Einstellungen jeder Kanal-Steuerungseinheit CHN110 so bestimmt, dass sie als NAS-Vorrichtung arbeitet. Zu den Einstellungen gehören eine zuzuweisende IP-Adressse, ein zu definierender Benutzerbereich, ein zu bestimmtendes OS und ein zu bestimmender Cluster. Der NAS-Manager 706 bestimmt die Einstellungen. Jedem von zwei Kommunikationsports jeder Kanal-Steuerungseinheit CHN110 wird eine IP-Adresse zugewiesen. Ein Benutzerbereich wird dadurch definiert, dass ein Dateisystem in einer Benutzer-LU gespeichert wird. Ein OS wird dadurch bestimmt, dass ein Unterbringungspunkt innerhalb des in der Benutzer-LU gespeicherten Dateisystems bestimmt wird oder ein Benutzer oder eine Gruppe definiert wird.

(Clusterbildung)

Clusterbildung dient zum Einteilen der mehreren im Speichervorrichtungs-Controller 100 montierten Kanal-Steuerungseinheiten 110 in Gruppen von Kanal-Steuerungseinheiten 110 desselben Typs. Demgemäß kann selbst dann, wenn in irgendeiner der zum selben Cluster (zur selben Gruppe) gehörenden Kanal-Steuerungseinheiten 110 ein Fehler auftritt, irgendeine andere Kanal-Steuerungseinheit 110, die zum selben Cluster gehört, die Verarbeitung übernehmen, mit der die fehlerhafte Kanal-Steuerungseinheit 110 bisher befasst war.

Das Speichervorrichtungssystem 600 gemäß der vorliegenden Ausführungsform verfügt über zwei Gruppen von Spannungsversorgung, um die Zuverlässigkeit zu verbessern. Jeder der Steckschlitze im Speichervorrichtungs-Controller 100 ist mit der Spannungsversorgung verbunden, die zu einer der Gruppen gehört. Die Clusterbildung wird so ausgeführt, dass jeder Cluster Kanal-Steuerungseinheiten 110 enthält, die mit den jeweiligen Gruppen von Spannungsversorgungen verbunden sind. Anders gesagt, sollten diejenigen Kanal-Steuerungseinheiten 110, die einen Cluster bilden, mit derselben Gruppe von Spannungsversorgungen verbunden werden. Demgemäß wird selbst dann, wenn die Spannungsversorgung wegen eines Fehlers aufgehoben wird, wie er in einer der Gruppen von Spannungsversorgungen auftritt, die Spannungsversorgung zu einer anderen Kanal-Steuerungseinheit 110, die zum selben Cluster gehört und mit der anderen Gruppe von Spannungsversorgungen verbunden ist, fortgesetzt. Es wird eine Fehlerüberwindung, d.h. ein Übergang zur Ersatz-Kanal-Steuerungseinheit 110 erzielt.

Die 18 zeigt ein Beispiel eines Schirmbilds, wie es auf den Informationsverarbeitungseinheiten 200 anzuzeigen ist und zur Clusterbildung verwendet wird. Die 20 und 21 zeigen die Arten einer Clusterbildung für Kanal-Steuerungseinheiten in solcher Weise, dass jeder Cluster Kanal-Steuerungseinheiten 110 enthält, die mit beiden Gruppen von Spannungsversorgungen verbunden sind.

Ein in der 18 dargestelltes Clusterbildungs-Schirmbild enthält eine Spalte für Gruppen von Spannungsversorgungen, eine Steckplatznummer-Spalte, eine Platinen-ID-Spalte, eine Platinentyp-Spalte, eine erste Spalte für das Ziel der Fehlerüberwindung, eine zweite Spalte für das Ziel der Fehlerüberwindung und eine Gemeinsame-LU-Spalte.

In der Spalte für Gruppen von Spannungsversorgungen wird die Gruppe von Spannungsversorgungen spezifiziert, mit der jeder Steckplatz verbunden ist. Wie es aus dem Beispiel des in der 18 dargestellten Schirmbilds erkennbar ist, sind die ungerade Zahlen tragenden Steckplätze mit der Gruppe A von Spannungsversorgungen verbunden, während die gerade Zahlen tragenden Steckplätze mit der Gruppe B von Spannungsversorgungen verbunden sind.

In der Platinen-ID-Spalte sind die Kennungen spezifiziert, die den Leiterplatten zugewiesen sind, die die Kanal-Steuerungseinheiten 110 bilden und in die jeweiligen Steckplätze eingesetzt sind. Als Platten-ID wird z. B. eine Seriennummer oder eine IP-Adresse spezifiziert.

Die Platinentyp-Spalte spezifiziert die Typen der in die jeweiligen Steckplätze eingesetzten Kanal-Steuerungseinheiten 110. Zu den Typen von Platinen, die die Kanal-Steuerungseinheiten 110 bilden, gehören CHN, CHA und CHF.

Die erste Spalte zum Fehlerüberwindungsziel ist eine Eintragsspalte, in die Leiterplatten eingegeben werden, auf die zur Fehlerüberwindung ein Übergang von Leiterplatten aus erfolgt, wenn in diesen ein Fehler auftritt. Diese Eingabe erfolgt durch Klicken der Maus innerhalb einer Dreiecksmarkierung, die in der 18 nach unten verjüngt ist.

Die zweite Spalte für das Fehlerüberwindungsziel ist eine Eingabespalte, in die Leiterplatten eingegeben werden, an die zur Fehlerüberwindung ein Übergang von Leiterplatten aus erfolgen kann, wenn kein Übergang an die Leiterplatten erfolgen kann, die in der ersten Spalte für das Fehlerüberwindungsziel spezifiziert sind. Diese Eingabe erfolgt durch Anklicken der Maus innerhalb der Dreiecksmarkierung, die nach unten verjüngt ist.

Die Gemeinsame-LU-Spalte ist eine Eingabespalte, in der LUs spezifiziert werden, auf die gemeinsam durch die Kanal-Steuerungseinheiten 110 zugegriffen werden kann, die zum selben Cluster gehören. In der gemeinsamen LU wird Übernahmeinformation oder dergleichen gespeichert, die zum Ausführen einer Fehlerüberwindung benötigt wird.

Nachdem eine Bedienperson Information in alle Spalten eingegeben hat, klickt sie die Maus innerhalb einer Eingabetaste an. Demgemäß wird die Einstellinformation an den Speichervorrichtungs-Controller 100 gesendet. Dann wird untersucht, ob die zum selben Cluster gehörenden Kanal-Steuerungseinheiten 110 nur mit der Gruppe A von Spannungsversorgungen oder der Gruppe B von Spannungsversorgungen verbunden sind. Wenn die Kanal-Steuerungseinheiten 110 nur mit einer der Gruppen A oder B von Spannungsversorgungen verbunden sind, wird über eine Benutzerschnittstelle, die für jede der Informationsverarbeitungseinheiten 200 vorhanden ist, eine Warnung ausgegeben. Wenn z. B. die Informationsverarbeitungseinheiten 200 einen Summer enthalten, wird dieser betätigt. Andernfalls wird auf einer Anzeigevorrichtung, die in jeder der Informationsverarbeitungseinheiten 200 enthalten ist, eine Fehlermeldung angezeigt. Wenn die Spannungsversorgungen der zum selben Cluster gehörenden Kanal-Steuerungseinheiten 110 mit beiden Gruppen von Spannungsversorgungen verbunden sind, wird die Einstellinformation in den Speichern 113 in den jeweiligen Kanal-Steuerungseinheiten 110 oder in der gemeinsamen LU gespeichert. So wird die Clusterbildung abgeschlossen. Die Einstellungen können auch in Clusterinformations-Speicherbereichen der zugeordneten System-LUs und in der Cluster-LU gespeichert werden. Übrigens kann die Clusterbildung durch das Verwaltungsterminal 160 ausgeführt werden.

Die 20 und 21 zeigen die Art einer Clusterbildung von Kanal-Steuerungseinheiten in solcher Weise, dass jedes Cluster Kanal-Steuerungseinheiten 110 enthält, die mit zwei Gruppen von Spannungsversorgungen verbunden sind.

Wie bereits beschrieben, verfügt der Speichervorrichtungs-Controller 100 über acht Steckplätze. Es ist frei, welche Kanal-Steuerungseinheiten 110 in welche Steckplätze eingesetzt werden. Die Kanal-Steuerungseinheiten CHF110, CHAl10 und CHN110 können gemischt eingesetzt werden. Die 20 und 21 zeigen Beispiele für die Clusterbildung der Kanal-Steuerungseinheiten CHN110.

Die 21 zeigt Beispiele, bei denen zwei Kanal-Steuerungseinheiten CHN110, vier Kanal-Steuerungseinheiten CHN110 sowie sechs Kanal-Steuerungseinheiten CHN110 eingesetzt sind. Wie es in der 21 dargestellt ist, werden die Kombinationen (b), (e), (f) und (h) als fehlerhaft beurteilt, da Kanal-Steuerungseinheiten CHN110, die zum selben Cluster gehören, nur mit einer Gruppe von Spannungsversorgungen verbunden sind.

Die 20 zeigt Beispiele, bei denen acht Kanal-Steuerungseinheiten CHN110 eingesetzt sind. Die Kombination (1) wird als fehlerhaft beurteilt, da die zum selben Cluster gehörenden Kanal-Steuerungseinheiten CHN110 mit nur einer Gruppe von Spannungsversorgungen verbunden sind.

Wie oben angegeben, sind beim Speichervorrichtungssystem 600 gemäß der vorliegenden Ausführungsform die Kanal-Steuerungseinheiten CHN110 so zu Clustern zusammengefasst, dass sie nicht nur mit einer Gruppe von Spannungsversorgungen verbunden sind. Demgemäß kann selbst dann, wenn eine Gruppe von Spannungsversorgungen wegen eines Fehlers die Spannungszufuhr beendet, eine Fehlerüberwindung erzielt werden, so dass ein Übergang auf eine Kanal-Steuerungseinheit 110 erfolgt, die zum selben Cluster gehört, jedoch mit der anderen Gruppe von Spannungsversorgungen verbunden ist. So kann ein nützliches Speichervorrichtungssystem 600 bereitgestellt werden.

(Arten von Dumpdaten)

Zu sammelnde Dumpdaten werden weit gefasst in drei Arten unterteilt.

Die erste Art von Dumpdaten beinhaltet Kern-Dumpdaten und OS-Logdaten. Kern-Dumpdaten sind Daten, die als Datei aus einem Speicher oder einem Register gelesen werden, wenn, wie bereits angegeben, der Kernel im OS 701 anormal beendet oder ein Dämon anormal beendet. OS-Logdaten sind Verlaufsdaten, wie sie durch das OS 701 oder den NAS-Manager 706 gesammelt werden oder Verlaufsdaten, die durch eine unter dem OS laufende Anwendung gesammelt werden. Die Kern-Dumpdaten oder die OS-Logdaten werden in den System-LUs gespeichert.

Die zweite Art von Dumpdaten sind Register-Dumpdaten. Als Register-Dumpdaten wird Information in einem Speicher oder dem Register in der CPU 112 bezeichnet, die der I/O-Prozessor 119 sammelt, wenn er erfasst, dass die Temperatur der CPU 112 anormal ist oder das OS 701 in Panik gerät.

Die dritte Art von Dumpdaten ist ein vollständiger Dump. Der vollständige Dump sind Zusammenbruchs-Dumpdaten, wie sie gesammelt werden, wenn das OS 701 in Panik gerät. Dabei sendet das OS 701 Dumpdaten betreffend den Kernel an die Fehlerinformationsspeicher-LU. Wenn ein vollständiger Dump gesammelt wird, werden auch die zweite Art von Dumpdaten gesammelt, d.h. die Register-Dumpdaten.

Die drei Arten von Dumpdaten werden gemäß verschiedenen Verfahren gesammelt. Die Dumperfassungsverfahren werden unten beschrieben.

(Dumpvorganqs-bezogene Diagramme)

Die 22, 24 und 26 zeigen die Konfiguration des Speichervorrichtungssystems 600 gemäß der vorliegenden Ausführungsform. Wie bereits beschrieben, beinhaltet jede der Kanal-Steuerungseinheiten CHN110 eine CPU 112 und einen I/O-Prozessor 119. Es können nur eine einzelne CPU 112 und ein einzelner I/O-Prozessor 119 vorliegen, oder es können mehrere CPUs 112 und mehrere I/O-Prozessoren 119 enthalten sein. Das OS 701 und verschiedene Anwendungen einschließlich des NAS-Managers 706 werden in der CPU 112 abgearbeitet, wodurch diese als NAS-Server arbeitet. Das als Controllerprogramm dienende Mikroprogramm 702 läuft im I/O-Prozessor 119. In der in jeder der Platten-Steuerungseinheiten 140 enthaltenen CPU 142 arbeitet ein RAID-Steuerungsblock 740. Im Verwaltungsterminal 160 läuft ein Fernverwaltungsagent 782, der eine Fernsteuerung ermöglicht. Der Fernverwaltungsagent 782 nutzt Fernsteuerungs-Software 781 in einem Zentrum 780 zum Übertragen von Dumpdaten, die an das Verwaltungsterminal 160 übertragen wurden, oder zum Informieren des I/O-Prozessors 119 darüber, dass Dumpdaten gesammelt wurden. Darüber hinaus wird, nachdem Dumpdaten gesammelt und an das Verwaltungsterminal übertragen wurden, wenn eine Übertragungsende-Mittelung empfangen wird, das Zentrum über diese Tatsache informiert. Der Fernverwaltungsagent kann ein Softwareprogramm sein, oder er kann durch eine Kombination mehrerer Softwareprogramme realisiert sein.

(Diagramme in Zusammenhang mit dem Sammeln von OS-Logdaten oder Rern-Dumpdateun)

Die 22 zeigt die Konfiguration des Speichervorrichtungssystems 600, wie sie vorliegt, wenn OS-Logdaten oder Kern-Dumpdaten gesammelt werden.

Die 23 beschreibt einen Ablauf ausgehend von der Ausgabe einer Dumpanforderung an das Verwaltungsterminal 160 und endend mit der Übertragung der OS-Logdaten oder der Kern-Dumpdaten an das Zentrum 780. Der Ablauf wird mittels der CPU 112, des I/O-Prozessors 119, des Verwaltungsterminals 160 und der zugehörigen Speichervorrichtung 300 (System-LU), die einander zugeordnet sind, beschrieben. In den 23, 25 und 27 kennzeichnet ein Pfeil mit einer Linie einen Steuerungsablauf, und ein Pfeil mit zwei Linien kennzeichnet einen Datenablauf.

Wenn das Zentrum 780 die OS-Logdaten oder die Kern-Dumpdaten sammelt, verwendet es die Fernsteuerungs-Software 781 zum Handhaben des Verwaltungsterminals 160. Das Zentrum 780 ist mit dem im Speichervorrichtungssystem 600 enthaltenen Verwaltungsterminal 160 über eine geleaste Leitung oder ein Netzwerk wie ein LAN, ein WAN oder das Internet verbunden. Das Verwaltungsterminal 160 kann ferngesteuert werden, das in ihm der Fernverwaltungsagent läuft. Das Verwaltungsterminal 160 instruiert den I/O-Prozessor 119, wie er in jeder der Kanal-Steuerungseinheiten enthalten ist, die OS-Logdaten oder die Kern-Dumpdaten über das interne LAN (dargestellt) oder einen Bus (nicht dargestellt) zu sammeln (Schritt 1 des Verwaltungsterminals 160). Wie dargestellt, ist das Verwaltungsterminal 160 über das interne LAN oder den Bus mit der CPU 112 und dem I/O-Prozessor 119, wie sie in jeder der Kanal-Steuerungseinheiten CHN110 enthalten sind, und dem RAID-Steuerungsblock 740, wie er in jeder der Platten-Steuerungseinheiten 140 enthalten ist, verbunden. Das Verwaltungsterminal 160 führt Kommunikationvorgänge für verschiedene Einzelinformationen einschließlich der Information zu den Komponenten des Speichervorrichtungssystems aus. Unter Verwendung der Einrichtung des Fernsteuerungsagenten 782 kann die Anweisung durch Betätigen einer Taste ausgegeben werden. In diesem Fall instruiert das Verwaltungsterminal 160 nicht direkt die CPU 112, sondern es instruiert den I/O-Prozessor 119. Dies ermöglicht es, einen Wartungsingenieur daran zu hindern, über die CPU 112 auf Benutzerdaten zuzugreifen, wie sie in der zugeordneten Speichervorrichtung 300 gespeichert sind. Der I/O-Prozessor 119 setzt in Reaktion auf die vom Verwaltungsterminal 160 gelieferte Anweisung ein OS-Logdaten-Sammelbit oder Kern-Dumpdaten-Sammelbit im Kommunikationsspeicher 802 oder im Hardwareregister (Schritt 2 des I/O-Prozessors 119). Danach setzt der I/O-Prozessor 119 ein Dump-Mitteilungsbit im Kommunikationsspeicher 802 oder im Hardwareregister, wodurch eine OS-Logdaten- und eine Kern-Dumpdaten-Sammelanweisung an die CPU 112 ausgegeben wird (Schritt 3 des I/O-Prozessors 119). Wenn die CPU 112 die Dumpanweisung empfängt (Schritt 4 der CPU 112), fordert sie den I/O-Prozessor 119 über den Kommunikationsspeicher 802 oder das Hardwareregister an, die Information der OS-Logdaten oder der Kern-Dumpdaten zu lesen. Der I/O-Prozessor 119 fordert den RAID-Steuerungsblock 740 in einer zugeordneten der Platten-Steuerungseinheiten 140 über die Verbindungseinheit 150 oder den gemeinsamen Speicher 120 dazu auf, die Information der OS-Logdaten oder der Kern-Dumpdaten zu lesen. Die Platten-Steuerungseinheit 140 liest die Information der OS-Logdaten oder der Kern-Dumpdaten aus der zugeordneten System-LU 300. Die Platten-Steuerungseinheit 140 überträgt die Information der OS-Logdaten oder der Kern-Dumpdaten über die Verbindungseinheit 150 oder den gemeinsamen Speicher 120 an den I/O-Prozessor 119. Der I/O-Prozessor 119 überträgt die Information der OS-Logdaten oder der Kern-Dumpdaten über den Kommunikationsspeicher 802 oder das Hardwareregister an die CPU 112. Die CPU 112 schreibt die Information zu den OS-Logdaten oder den Kern-Dumpdaten in den Speicher 113 (Schritt 5 der CPU 112). Die in den Speicher 113 geschriebene Information wird editiert, komprimiert und im Speicher verschlüsselt (Schritt 6 der CPU 112). Gemäß der vorliegenden Ausführungsform kann, da ein Editieren und Komprimieren ausgeführt werden, die Übertragungszeit verkürzt werden oder es kann eine Leitung verwendet werden, deren Leitungsgeschwindigkeit niedrig ist. Dies führt zu einer Kostensenkung. Darüber hinaus ist die Gefahr, dass Daten gestohlen werden, eingeschränkt, da die Übertragungszeit kurz ist. Wenn das Editieren und Komprimieren mit dem Verschlüsseln kombiniert werden, ist dies hinsichtlich der Sicherheit ziemlich effektiv. Der I/O-Prozessor 119 sammelt Information betreffend den Dumpvorgang, und er sendet sie als I/O-Prozessor-Dumpdaten an das Verwaltungsterminal (Schritt 7 des I/O-Prozessors). Die CPU 112 überträgt die komprimierten und verschlüsselten OS-Logdaten oder Kern-Dumpdaten über das interne LAN oder den Bus an das Verwaltungsterminal 160 (Schritt 8 der CPU 112). Dabei werden eine oder mehrere OS-Logdatensätze oder Kern-Dumpdatensätze an das Verwaltungsterminal 160 gesendet. Nachdem die CPU 112 die Übertragung der OS-Logdaten oder der Kern-Dumpdaten an das Verwaltungsterminal 160 beendet hat, gibt sie eine Übertragungsabschluss-Mitteilung an den I/O-Prozessor 119 aus (Schritt 9 der CPU 112). Wenn der I/O-Prozessor 119 das Senden der I/O-Prozessor-Dumpdaten beendet und die Übertragungsabschluss-Mitteilung von der CPU 112 empfängt, gibt er über das interne LAN oder den Bus eine Übertragungsabschluss-Mitteilung an das Verwaltungsterminal 160 aus (Schritte 10 und 11 des I/O-Prozessors). Auf die vom I/O-Prozessor gesendete Übertragungsabschluss-Mitteilung hin überträgt das Verwaltungsterminal 160 die gesammelten OS-Logdaten oder Kern-Dumpdaten an das Zentrum (Schritt 12 des Verwaltungsterminals 160). Jedoch ist die vorliegende Ausführungsform nicht auf diesen Modus beschränkt. Es ist auch bevorzugt, dass das Verwaltungsterminal 160 die OS-Logdaten oder die Kern-Dumpdaten im Speicher 162 oder der Speichervorrichtung 168 aufrechterhält. In diesem Fall überträgt das Verwaltungsterminal 160, wenn der Fernverwaltungsagent 182 in ihm unter Verwendung der Fernsteuerungssoftware 781 im Zentrum 780 einen Zugriff erfährt, die OS-Logdaten oder Kern-Dumpdaten an das Zentrum 780.

Gemäß der vorliegenden Ausführungsform analysiert die CPU 112 den Inhalt einer Dumpanweisung für die OS-Logdaten oder die Kern-Dumpdaten, wie sie vom Verwaltungsterminal 160 geliefert wird. Der I/O-Prozessor 119 überträgt die vom Verwaltungsterminal 160 empfangene Anweisung für die OS-Logdaten oder die Kern-Dumpdaten an die CPU 112. Dank dieses Verfahrens kann der I/O-Prozessor 119 eine Funktion zum Zugreifen auf Daten in der Speichervorrichtung 300 über die Verbindungseinheit 110 und die Platten-Steuerungseinheit 140 ausüben.

Gemäß der vorliegenden Ausführungform führt die CPU 112 eine Anforderung an die Platten-Steuerungseinheit 140 über den I/O-Prozessor 119 hinsichtlich der Information zu den OS-Logdaten oder den Kern-Dumpdaten aus. Die vorliegende Ausführungsform ist nicht auf diesen Modus beschränkt. Alternativ kann die CPU 112 eine Anforderung zur Information der OS-Logdaten oder der Kern-Dumpdaten direkt an die Platten-Steuerungseinheit 140 ausgeben. Dank dieses Verfahrens kann der I/O-Prozessor 119 eine zugehörige Funktion beim Zugreifen auf Daten in der Speichervorrichtung 300 über die Verbindungseinheit 150 und die Platten-Steuerungseinheit 140 ausüben.

Gemäß der vorliegenden Ausführungsform kann die Information der OS-Logdaten oder der Kern-Dumpdaten schnell und effizient an das Zentrum 780 gesendet werden.

(Diagramme und Ablauf in Zusammenhang mit dem Sammeln von Register-Dumpdaten)

Die 24 zeigt die Konfiguration des Speichervorrichtungssystems, wie sie während des Sammelns von Register-Dumpdaten erzielt wird. Die 25 zeigt einen Ablauf beginnend mit der Erkennung eines Fehlers im I/O-Prozessor 119 und endend mit dem Senden einer Mitteilung betreffend das Sammeln von Register-Dumpdaten an das Zentrum 780. Hier wird der Ablauf mittels der CPU 112, des I/O-Prozessors 119, des Verwaltungsterminals 160 und des Speichers 113, die einander zugeordnet sind, beschrieben.

Register-Dumpdaten werden gesammelt, nachdem der I/O-Prozessor 119 einen Fehler erkannt hat. Was als Fehler bezeichnet wird, ist z. B. eine Anormalität der Temperatur der CPU 112 oder ein Ereignis dahingehend, dass während einer Prüfung auf gesundes Arbeiten keine Antwort vom OS 701 zurückgeliefert wird. Darüber hinaus werden Register-Dumpdaten während des Sammelns vollständiger Dumpdaten, was später beschrieben wird, gesammelt. Bei einem Register-Dumpvorgang werden Dumpdaten gesammelt, die gesammelt werden können, solange der I/O-Prozessor 119 aktiv ist, selbst wenn die CPU 112 und das OS 701 wegen eines Fehlers deaktiviert sind.

Der I/O-Prozessor 119 erfasst einen in der CPU 112 auftretenden Fehler über den Kommunikationsspeicher 802 oder ein Hardwareregister (Schritt 1 des I/O-Prozessors 119). In diesem Fall erfasst der I/O-Prozessor 119 über den Kommunikationsspeicher 802 oder das Hardwareregister Minimalinformation vom Speicher 113 und vom Register in der CPU 112 (Schritt 2 des I/O-Prozessors 119). Der I/O-Prozessor 119 überträgt die erfasste Information über das interne LAN oder den Bus an das Verwaltungsterminal 160 (Schritt 3 des I/O-Prozessors 119). Wenn die Übertragung endet, gibt der I/O-Prozessor 119 über das interne LAN oder den Bus eine Übertragungsabschluss-Mitteilung an das Verwaltungsterminal 160 aus (Schritt 4 des I/O-Prozessors 119). Mit Beendigung der Übertragung erfährt das Verwaltungsterminal 160 die Tatsache, dass Register-Dumpdaten gesammelt wurden. Dann sendet das Verwaltungsterminal 160 eine Mitteilung betreffend das Sammeln von Register-Dumpdaten an das Zentrum 780 (Schritt 5 des Verwaltungsterminals 160). Auf die Mitteilung betreffend das Sammeln von Register-Dumpdaten hin verwendet das Zentrum 780 die Fernsteuerungs-Software 781 für einen Zugriff auf den Fernsteuerungsagenten 782 im Verwaltungsterminal 160, und dann sammelt es die Register-Dumpdaten (Schritt 6 des Verwaltungsterminals 160).

Gemäß der vorliegenden Ausführungsform kann die Information zum Register-Dumpvorgang schnell und effizient an das Zentrum 780 gesendet werden.

(Diagramm und Ablauf betreffend das Sammeln vollständiger Dumpdaten)

Die 26 zeigt die Konfiguration des Speichervorrichtungssystems, wie sie während des Sammelns vollständiger Dumpdaten erzielt wird.

Die erste und die zweite Kanal-Steuerungseinheit CHN110 haben dieselben Software- und Hardwarekonfigurationen gemeinsam, und sie gehören zum selben Cluster. Die zweite CPU 112 und der zweite I/O-Prozessor 119 in der zweiten Kanal-Steuerungseinheit CHN110, sind, ähnlich wie die erste CPU 112 und der erste I/O-Prozessor 119 in der ersten Kanal-Steuerungseinheit CHN110 über das interne LAN oder den Bus mit dem Verwaltungsterminal 160 verbunden. Der erste I/O-Prozessor 119 in der ersten Kanal-Steuerungseinheit CHN110 und der zweite I/O-Prozessor 119 in der zweiten Kanal-Steuerungseinheit CHN110 übertragen Information über die Verbindungseinheit 150 aneinander oder voneinander. Die 27 beschreibt einen Ablauf startend mit einem Ereignis dahingehend, dass die zweite CPU in der zweiten Kanal-Steuerungseinheit CHN110 in Panik gerät und endend mit dem Senden einer Mitteilung zum Sammeln vollständiger Dumpdaten an das Zentrum 780. Hierbei wird der Ablauf mittels der ersten CPU 112, des ersten I/O-Prozessors 119, der zweiten CPU 112, des zweiten I/O-Prozessors 119, des Verwaltungsterminals 160 und der zugeordneten Speichervorrichtung 300 (Fehlerinformationsspeicher-LU), die einander zugeordnet sind, beschrieben. Gemäß der vorliegenden Ausführungsform bilden die erste und die zweite Kanal-Steuerungseinheit CHN110 einen Cluster. Alternativ kann eine größere Anzahl von Kanal-Steuerungseinheiten CHN110 einen Cluster bilden. Hierbei läuft die Beschreibung unter der Annahme ab, dass die zweite Kanal-Steuerungseinheit CHN110 in Panik gerät.

Wenn die zweite CPU 112 in Panik gerät (Schritt 1 der zweiten CPU 112), wird die Information von Crash-Dumpdaten über den zweiten Kommunikationsspeicher 802 oder ein Hardwareregister an den zweiten I/O-Prozessor 119 gesendet, um die Crash-Dumpdaten in die Fehlerinformationsspeicher-LU zu schreiben (Schritt 2 der zweiten CPU 112). Der zweite I/O-Prozessor 119 überträgt die Information der Crash-Dumpdaten über die Verbindungseinheit 150 an eine zugeordnete Platten-Steuerungseinheit 140. Die Platten-Steuerungseinheit 140 schreibt die Information der Crash-Dumpdaten auf eine vom zweiten I/O-Prozessor 114 ausgegebene Anweisung hin in die Fehlerinformationsspeicher-LU. Die Fehlerinformationsspeicher-LU ist so definiert, dass jede Kanal-Steuerungseinheit CHN110 in ihr Information abspeichern kann. Daher werden die Crash-Dumpdaten an die Fehlerinformationsspeicher-LU gesendet.

Danach setzt die zweite CPU 112 ein Crashmitteilungsbit im Kommunikationsspeicher 802 oder im Hardwareregister, und so informiert sie den zweiten I/O-Prozessor 119 über den Crash. Der zweite I/O-Prozessor 119 prüft das Crashmitteilungsbit im Kommunikationsspeicher 802 oder im Hardwareregister, um zu erkennen, dass Crash-Dumpdaten an die Fehlerinformationsspeicher-LU gesendet wurden (Schritt 3 der zweiten CPU 112). Die zweite CPU 112 arbeitet weiter, während sie sich in Panik befindet. Daher wird die zweite CPU 112 zwangsweise angehalten, wenn die Mitteilung endet (Schritt 4 der zweiten CPU 112). Der zweite I/O-Prozessor 119, der erkannt hat, dass Crash-Dumpdaten an die Fehlerinformationsspeicher-LU gesendet wurden, informiert den ersten I/O-Prozessor 119 über die Verbindungseinheit 150 darüber, dass die Crash-Dumpdaten an die Fehlerinformationsspeicher-LU gesendet wurden (Schritt 5 des zweiten I/O-Prozessors). Dabei prüft der zweite I/O-Prozessor 115, vorzugsweise, ob das in der ersten CPU 112 laufende OS 701 die Dumpdaten an das Verwaltungsterminal 160 übertragen kann oder ob das im ersten I/O-Prozessor 119 laufende Controller-Mikroprogramm normal arbeitet. Danach informiert der zweite I/O-Prozessor 119, vorzugsweise, darüber, dass die Crash-Dumpdaten an die Fehlerinformationsspeicher-LU gesendet wurden. Wenn zahlreiche Kanal-Steuerungseinheiten CHN110 einen Cluster bilden, wählt der zweite I/O-Prozessor 119, vorzugsweise, eine solche Kanal-Steuerungseinheit CHN110, deren CPU 112 und I/O-Prozessor 119 normal arbeiten, aus den mehreren einen Cluster bildenden Kanal-Steuerungseinheiten CHN110 aus. Dann informiert der zweite I/O-Prozessor 119 darüber, dass die Crash-Dumpdaten an die Fehlerinformationsspeicher-LU gesendet wurden. Der erste I/O-Prozessor 119 aktiviert ein im ersten Kommunikationsspeicher 802 oder im Hardwareregister gespeichertes Softwareprogramm Door, um darüber zu informieren, dass die Crash-Dumpdaten an die Fehlerinformationsspeicher-LU gesendet wurden (Schritt 6 des ersten I/O-Prozessors 119). Die erste CPu 112 liest die in der Speichervorrichtung (Fehlerinformationsspeicher-LU) gespeicherten Crash-Dumpdaten in den ersten Speicher 113 (Schritt 7 der ersten CPU 112). Im ersten Speicher 113 werden Dumpdaten editiert, komprimiert und verschlüsselt (Schritt 8 der ersten CPU 112). Da die Crash-Dumpdaten eine große Speicherkapazität benötigen, werden sie aufgeteilt, falls dies erforderlich ist. Andernfalls kann nur erforderliche Information innerhalb der Crash-Dumpdaten in den ersten Speicher 113 gelesen werden. Das Ziel der Kompression und Verschlüsselung ist, ähnlich wie bei den Vorgängen, die an den OS-Logdaten oder den Kern-Dumpdaten ausgeführt werden, eine Verringerung der zu übertragenden Datenmenge und der Übertragungszeit sowie eine Senkund der Kosten und der Gefahr eines Datenlecks. Nachdem die Vorgänge des Editierens, Komprimierens und Verschlüsselns im ersten Speicher 113 abgeschlossen sind, überträgt die erste CPU 112 vollständige Dumpdaten über das interne LAN oder den Bus an das Verwaltungsterminal 160 (Schritt 9 der ersten CPU 112). Um das Verwaltungsterminal 160 darüber zu informieren, dass die Übertragung vollständiger Dumpdaten beendet wurde, gibt die erste CPU 112 eine Übertragungsabschluss-Mitteilung über das interne LAN oder den Bus an das Verwaltungsterminal 160 aus (Schritt 10 der ersten CPU 112). Auf die von der ersten CPU gelieferte Übertragungsabschluss-Mitteilung hin gibt das Verwaltungsterminal 160 eine Mitteilung, die anzeigt, dass vollständige Dumpdaten gesammelt wurden an das Zentrum aus (Schritt 11 des Verwaltungsterminals 160). Auf die Mitteilung hin, dass vollständige Dumpdaten gesammelt wurden, verwendet das Zentrum 780 die Fernverwaltungs-Software 781 für einen Zugriff auf den im Verwaltungsterminal 160 installierten Fernverwaltungsagenten 782, und es erfasst die vollständigen Dumpdaten (Schritt 12 des Verwaltungsterminals 160).

Obwohl das Verwaltungsterminal und die CPU 112 direkt miteinander verbunden sind, verbindet, da ein Telnet-Dämon, d.h. ein in einem OS laufender Dämon, nicht aktiviert ist, Telnet das Verwaltungsterminal nicht mit der CPU 112. Darüber hinaus wird nicht auf eine Benutzer-LU zugegriffen, da gemäß den vorstehenden drei Verfahren keine Möglichkeit besteht, am Verwaltungsterminal in die CPU einzuloggen. Wenn ein Fehler auftritt, werden Dumpdaten automatisch an das Verwaltungsterminal 160 übertragen, oder das Verwaltungsterminal 160 wird bedient, um eine Anweisung für einen Dumpvorgang an den I/O-Prozessor auszugeben. Dadurch kann ein Auslecken von Benutzerinformation verhindert werden.

Gemäß der Ausführungsform der Erfindung kann die Information vollständiger Dumpdaten schnell und effizient an das Zentrum 780 gesendet werden.

Gemäß der vorliegenden Ausführungsform kann Information schnell und effizient an das Zentrum 780 gesendet werden, wenn eines der oben genannten drei Dumpverfahren verwendet wird, wenn ein Fehler auftritt. Schließlich kann der Fehler schnell und effizient gemeistert werden.

Bisher wurde die vorliegende Ausführungsform beschrieben. Die Ausführungsform verwendete das beste Beispiel der Erfindung, jedoch schränkt sie die Erfindung nicht ein. Die Erfindung kann modifiziert und weiter entwickelt werden, ohne dass von ihrem Grundgedanken abgewichen wird. Die Erfindung umfasst andere Ausführungsformen mit den grundlegenden Merkmalen der Erfindung.


Anspruch[de]
  1. Plattenarraysystem mit:

    – mehreren Speichervorrichtungen, in denen Daten gespeichert werden;

    – einer Speichervorrichtungs-Steuerungseinheit, die das Speichern von Daten in den mehreren Speichervorrichtungen steuert;

    – einer Verbindungseinheit, die mit der Speichervorrichtungs-Steuerungseinheit verbunden ist; und

    – einer ersten Kommunikations-Steuerungseinheit, die mit der Speichervorrichtungs-Steuerungseinheit über die Verbindungseinheit verbunden ist und die an ein erstes Netzwerk angeschlossen ist, das extern zum genannten eigenen Plattenarraysystem liegt, und die Dateidaten über das erste Netzwerk überträgt, wobei:

    – die erste Kommunikations-Steuerungseinheit Folgendes aufweist:

    – einen ersten Prozessor, der Dateidaten, die über das erste Netzwerk übertragen werden, Daten in Blockform zuweist, die in der Speichervorrichtungs-Steuerungseinheit gespeichert werden; und

    – einen zweiten Prozessor, der auf eine vom ersten Prozessor ausgegebene Anforderung hin Daten überträgt und Information zu einem Fehler, wie er im eigenen Plattenarraysystem auftritt, auf eine vom ersten Prozessor ausgegebene Anforderung hin aus den mehreren Speichervorrichtungen liest und die Information an den ersten Prozessor sendet.
  2. Plattenarraysystem nach Anspruch 1, ferner mit einem Verwaltungsterminal, das mit der ersten Kommunikations-Steuerungseinheit verbunden ist und eine Anforderung für die Information zum Fehler im Plattenarraysystem an den zweiten Prozessor ausgibt.
  3. Plattenarraysystem nach Anspruch 2, bei dem der zweite Prozessor, wenn er vom Verwaltungsterminal eine Anforderung für die Information zum Fehler im Plattenarraysystem empfängt, die Anforderung für die Information zum Fehler im Plattenarraysystem an den ersten Prozessor überträgt.
  4. Plattenarraysystem nach Anspruch 3, bei dem der erste Prozessor auf den Empfang der Anforderung für die Information zum Fehler im Plattenarraysystem hin den zweiten Prozessor dazu auffordert, die Information zum Fehler im Plattenarraysystem, wie sie in den mehreren Speichervorrichtungen aufgezeichnet ist, zu lesen und die Information an den ersten Prozessor zu übertragen.
  5. Plattenarraysystem nach Anspruch 4, bei dem der zweite Prozessor auf die vom ersten Prozessor gelieferte Leseanforderung hin die Speichervorrichtungs-Steuerungseinheit über die Verbindungseinheit dazu auffordert, die Information zum Fehler im Plattenarraysystem zu übertragen.
  6. Plattenarraysystem nach Anspruch 5, bei dem die Speichervorrichtungs-Steuerungseinheit die Information zum Fehler im Plattenarraysystem von den mehreren Speichervorrichtungen liest und die Information über die Verbindungseinheit an den zweiten Prozessor überträgt.
  7. Plattenarraysystem nach Anspruch 6, bei dem der zweite Prozessor die Information zum Fehler im Plattenarraysystem, wie sie von der Speichervorrichtungs-Steuerungseinheit geliefert wird, an den ersten Prozessor überträgt.
  8. Plattenarraysystem nach Anspruch 7, bei dem der erste Prozessor die Information zum Fehler im Plattenarraysystem, wie sie vom zweiten Prozessor geliefert wird, an das Verwaltungsterminal sendet.
  9. Plattenarraysystem nach Anspruch 1, ferner mit einer zweiten Kommunikations-Steuerungseinheit, die über die Verbindungseinheit mit der Speichervorrichtungs-Steuerungseinheit verbunden ist und an ein zweites Netzwerk angeschlossen ist, das extern zum eigenen Plattenarraysystem liegt, und die Dateidaten über das zweite Netzwerk überträgt, wobei die zweite Kommunikations-Steuerungseinheit Folgendes aufweist:

    – einen dritten Prozessor, der Dateidaten, die über das zweite Netzwerk übertragen werden, Daten in Blockform zuordnet, die in der Speichervorrichtungs-Steuerungseinheit gespeichert sind; und

    – einen vierten Prozessor, der Daten auf eine durch den dritten Prozessor ausgegebene Anforderung hin überträgt und Information zu einem im dritten Prozessor auftretenden Fehler auf eine vom dritten Prozessor ausgegebene Anforderung hin an die Speichervorrichtungs-Steuerungseinheit überträgt.
  10. Plattenarraysystem nach Anspruch 9, bei dem der vierte Prozessor den zweiten Prozessor darüber informiert, dass im dritten Prozessor ein Fehler aufgetreten ist, und der zweite Prozessor den ersten Prozessor darüber informiert, dass im dritten Prozessor ein Fehler aufgetreten ist.
  11. Plattenarraysystem nach Anspruch 10, bei dem der zweite Prozessor in Reaktion auf eine vom ersten Prozessor ausgegebene Anforderung hin die Information zum Fehler im dritten Prozessor, die in den mehreren Speichervorrichtungen aufgezeichnet ist, an den ersten Prozessor sendet.
  12. Fehlerinformations-Steuerungsverfahren, das bei einem Plattenarraysystem mit Folgendem anwendbar ist: mehreren Speichervorrichtungen, in denen Daten gespeichert werden; einer Speichervorrichtungs-Steuerungseinheit, die das Speichern von Daten in den mehreren Speichervorrichtungen steuert; einer Verbindungseinheit, die mit der Speichervorrichtungs-Steuerungseinheit verbunden ist; und einer ersten Kommunikations-Steuerungseinheit, die mit der Speichervorrichtungs-Steuerungseinheit über die Verbindungseinheit verbunden ist und die an ein erstes Netzwerk angeschlossen ist, das extern zum genannten eigenen Plattenarraysystem liegt, und die Dateidaten über das erste Netzwerk überträgt, wobei:

    – ein erster Prozessor in der ersten Kommunikations-Steuerungseinheit enthaltener die folgenden Schritte ausführt: Zuordnen von Dateidaten, wie sie über das erste Netzwerk übertragen werden, zu Daten in Blockformat, die in der Speichervorrichtungs-Steuerungseinheit gespeichert werden; Übertragen der Daten in Blockform, die in der Speichervorrichtungs-Steuerungseinheit gespeichert sind; und Ausgeben einer Anforderung für Information zu einem Fehler, der im eigenen Plattenarraysystem auftritt; und

    – ein zweiter Prozessor in der ersten Kommunikations-Steuerungseinheit die folgenden Schritte ausführt: Übertragen von Daten, wie sie vom ersten Prozessor geliefert werden, über die Verbindungseinheit; und Lesen der Information zum Fehler im eigenen Plattenarraysystem aus den mehreren Speichervorrichtungen, um die Information auf eine vom ersten Prozessor ausgegebene Anforderung hin an den ersten Prozessor zu senden.
  13. Fehlerinformations-Steuerungsverfahren, das bei einem Plattenarraysystem gemäß Anspruch 12 anwendbar ist, bei dem:

    – das Plattenarraysystem ferner ein Verwaltungsterminal aufweist, das mit der ersten Kommunikations-Steuerungseinheit verbunden ist und an den zweiten Prozessor eine Anforderung für Information zu einem im Plattenarraysystem auftretenden Fehler ausgibt; und

    – der zweite Prozessor, wenn er die Anforderung für Information zum Fehler im Plattenarraysystem vom Verwaltungsterminal empfängt, einen Schritt des Übertragens der Anforderung für die Information zum Fehler im Plattenarraysystem an den ersten Prozessor ausführt.
  14. Fehlerinformations-Steuerungsverfahren, das bei einem Plattenarraysystem gemäß Anspruch 13 anwendbar ist, bei dem der erste Prozessor einen Schritt des Aufforderns des zweiten Prozessors zum Lesen der Information zum Fehler im Plattenarraysystem, wie sie in den mehreren Speichervorrichtungen gespeichert ist, auf die Anforderung für Information zum Fehler im Plattenarraysystem, und zum Übertragen der Information an den ersten Prozessor, ausführt.
  15. Fehlerinformations-Steuerungsverfahren, das bei einem Plattenarraysystem gemäß Anspruch 14 anwendbar ist, bei dem der zweite Prozessor einen Schritt des Aufforderns der Speichervorrichtungs-Steuerungseinheit über die Verbindungseinheit, die Information zum Fehler im Plattenarraysystem auf die vom ersten Prozessor gelieferte Leseanforderung hin zu übertragen, ausführt.
  16. Fehlerinformations-Steuerungsverfahren, das bei einem Plattenarraysystem gemäß Anspruch 15 anwendbar ist, bei dem die Speichervorrichtungs-Steuerungseinheit einen Schritt des Lesens der Information zum Fehler im Plattenarraysystem aus den mehreren Speichervorrichtungen und des Übertragens der Information über die Speichervorrichtungs-Steuerungseinheit an den zweiten Prozessor ausführt.
  17. Fehlerinformations-Steuerungsverfahren, das bei einem Plattenarraysystem gemäß Anspruch 16 anwendbar ist, bei dem der zweite Prozessor einen Schritt des Übertragens der Information zum Fehler im Plattenarraysystem, wie sie von der Speichervorrichtungs-Steuerungseinheit geliefert wird, an den ersten Prozessor ausführt.
  18. Fehlerinformations-Steuerungsverfahren, das bei einem Plattenarraysystem gemäß Anspruch 17 anwendbar ist, bei dem der erste Prozessor einen Schritt des Sendens der Information zum Fehler im Plattenarraysystem, wie sie vom zweiten Prozessor geliefert wird, an das Verwaltungsterminal ausführt.
  19. Fehlerinformations-Steuerungsverfahren, das bei einem Plattenarraysystem gemäß Anspruch 12 anwendbar ist, bei dem:

    – das Plattenarraysystem ferner eine zweite Kommunikations-Steuerungseinheit aufweist, die über die Kommunikations-Steuerungseinheit mit der Speichervorrichtungs-Steuerungseinheit verbunden ist und an ein zweites Netzwerk angeschlossen ist, das extern zum eigenen Plattenarraysystem liegt, und sie Dateidaten über das zweite Netzwerk überträgt;

    – ein dritter Prozessor in der zweiten Kommunikations-Steuerungseinheit die folgenden Schritte ausführt: Zuordnen von Dateidaten, die über das zweite Netzwerk übertragen werden, zu Daten in Blockform, die in der Speichervorrichtungs-Steuerungseinheit gespeichert sind; Übertragen der Daten in Blockform, die in der Speichervorrichtungs-Steuerungseinheit gespeichert sind; und Ausgeben einer Anforderung für Information zu einem im eigenen Plattenarraysystem auftretenden Fehler; und

    – ein vierter Prozessor in der zweiten Kommunikations-Steuerungseinheit die folgenden Schritte ausführt: Übertragen von Daten, wie sie vom dritten Prozessor geliefert werden, über die Verbindungseinheit; und Übertragen von Information zu einem im dritten Prozessor auftretenden Fehler an die Speichervorrichtungs-Steuerungseinheit auf eine vom dritten Prozessor ausgegebene Anforderung hin.
  20. Fehlerinformations-Steuerungsverfahren, das bei einem Plattenarraysystem gemäß Anspruch 19 anwendbar ist, bei dem:

    – der vierte Prozessor einen Schritt des Informierens des zweiten Prozessors, dass im dritten Prozessor ein Fehler aufgetreten ist, ausführt;

    – der zweite Prozessor einen Schritt des Informierens des ersten Prozessors, dass im dritten Prozessor ein Fehler aufgetreten ist, ausführt; und

    – der zweite Prozessor einen Schritt des Sendens der Information zum Fehler im dritten Prozessor, die in den mehreren Speichervorrichtungen aufgezeichnet ist, an den ersten Prozessor auf eine von diesem ausgegebene Anforderung ausführt.
Es folgen 22 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com