-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
Erfindung betrifft ein Speichersystem, dessen Konfiguration skalierbar
von kleiner bis zu großer
Größe erweiterbar
ist.
-
Beschreibung der einschlägigen Technik
-
Speichersysteme
zum Speichern von durch Informationsverarbeitungssysteme zu verarbeitenden
Daten spielen nun in Informationsverarbeitungssystemen eine zentrale
Rolle. Es existieren viele Arten von Speichersystemen, von solchen
mit kleinen bis zu solchen mit großer Konfiguration. Z. B. ist
im US-Patent Nr.
US
6385681 B1 das Speichersystem mit der in der
20 dargestellten
Konfiguration offenbart. Dieses Speichersystem besteht aus mehreren
Kanalschnittstellen (nachfolgend "IF")-Einheiten
11 zum
Ausführen
einer Datenübertragung
innerhalb eines Computers (nachfolgend "Server")
3, mehreren Platten-IF-Einheiten
16 zum
Ausführen
einer Datenübertragung
in Bezug auf Festplatten-Laufwerke
2, eine Cachespeichereinheit
14 zum
Zwischenspeichern von Daten, die in den Festplatten-Laufwerken
2 abzuspeichern
sind, eine Steuerungsinformations-Speichereinheit
15 zum
Speichern von Steuerungsinformation zum Speichersystem (z. B. Information
zur Datenübertragungssteuerung
im Speichersystem
8 sowie Datenverwaltungsinformation, die
in den Festplatten-Laufwerken
2 abzuspeichern ist), und
Festplatten-Laufwerken
2. Die Kanal-IF-Einheit
11, die Platten-IF-Einheit
16 und
die Cachespeichereinheit
14 sind durch die Verbindungseinheit
41 verbunden, und
die Kanal-IF-Einheit
11, die Platten-IF-Einheit
16 und
die Steuerinformations-Speichereinheit
14 sind durch die
Verbindungseinheit
42 verbunden. Die Verbindungseinheit
41 und
die Verbindungseinheit
42 bestehen aus üblichen Bussen und Switches.
Ein vergleichbares Speichersystem, bei dem jede IF-Einheit ihren
eigenen eingebauten Prozessor enthält, ist in
DE 10 2004 013 112 A1 angegeben.
-
Gemäß dem im
US-Patent Nr.
US 6385681 B1 offenbarten
Speichersystem kann bei der obigen Konfiguration eines Speichersystems
8 von
allen Kanal-IF-Einheiten
11 und Platten-IF-Einheiten
16 auf die
Cachespeichereinheit
14 und die Steuerspeichereinheit
15 zugegriffen
werden.
-
Beim
im US-Patent Nr.
US
6542961 B1 offenbarten Stand der Technik sind mehrere Plattenarraysysteme
4 über die
Plattenarrayswitches
5 mit mehreren Servern
3 verbunden,
wie es in der
21 dargestellt ist, und die
mehreren Plattenarraysysteme
4 werden durch die Einrichtung
zur Systemkonfigurationsverwaltung
60, die mit den Plattenarrayswitches
5 und
jedem Plattenarraysystem
4 verbunden ist, als ein Speichersystem
9 verwaltet.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Firmen
zeigen derzeit die Tendenz, Anfangsinvestitionen für Informationsverarbeitungssysteme niedrig
zu halten, während
diese Systeme größer werden,
wenn der Geschäftsumfang
zunimmt. Daher wird für
Speichersysteme Skalierbarkeit der Kosten und des Funktionsvermögens beim
Erweitern des Umfangs bei vernünftiger
Investition bei Erweiterung des Geschäftsumfangs, während die
Anfangsinvestition klein bleibt, gefordert. Hier werden die Skalierbarkeit
der Kosten und des Funktionsvermögens beim
Stand der Technik untersucht.
-
Das
Funktionsvermögen,
wie es für
ein Speichersystem erforderlich ist (Anzahl der Eingabe/Ausgabe-Vorgänge von
Daten pro Zeiteinheit sowie Datenübertragungsvolumen pro Zeiteinheit),
nimmt von Jahr zu Jahr zu. Um zukünftige Verbesserungen des Funktionsvermögens zu
unterstützen,
müssen
auch das Funktionsvermögen
der Kanal-IF-Einheit
11 und der Platten-IF-Einheit
16 des im US-Patent
Nr.
US 6385681 B1 offenbarten
Speichersystems hinsichtlich der Verarbeitung bei der Datenübertragung
verbessert werden.
-
Bei
der Technologie gemäß dem US-Patent Nr.
US 6385681 B1 steuern
jedoch alle Kanal-IF-Einheiten
11 und alle Platten-IF-Einheiten
16 die
Datenübertragung
zwischen einer Kanal-IF-Einheit
11 und einer Platten-IF-Einheit
16 über die
Cachespeichereinheit
14 und die Steuerinformations-Speichereinheit
15.
Daher nimmt, wenn das Funktionsvermögen der Kanal-IF-Einheit
11 und
der Platten-IF-Einheit
16 hinsichtlich der Verarbeitung
bei der Datenübertragung
verbessert wird, die Zugriffsbelastung für die Cachespeichereinheit
14 und
die Steuerinformations-Speichereinheit zu. Dies führt zu einem
Flaschenhals bei der Zugriffsbelastung, was es erschwert, das Funktionsvermögen des
Speichersystems
8 zukünftig
zu verbessern. Anders gesagt, kann keine Skalierbarkeit des Funktionsvermögens garantiert
werden.
-
Im
Fall der Technologie gemäß dem US-Patent
Nr.
US 654296 B1 kann
andererseits die Anzahl anschließbarer Plattenarraysysteme
4 und
Server
3 dadurch erhöht
werden, dass die Anzahl der Ports des Plattenarrayswitches
5 erhöht wird
oder mehrere Plattenarrayswitches
5 in mehreren Stufen
angeschlossen werden. Anders gesagt, kann Skalierbarkeit des Funktionsvermögens garantiert
werden.
-
Jedoch
greift bei der Technologie gemäß dem US-Patent
Nr.
US 6542961 B1 der
Server
3 über die
Plattenarrayswitches
5 auf das Plattenarraysystem
4 zu.
Daher wird in der Schnittstelleneinheit zum Server
3 des
Plattenarrayswitches
5 das Protokoll zwischen dem Server
und dem Plattenarrayswitch in ein Protokoll im Plattenarrayswitch
gewandelt, und in der Schnittstelleneinheit zum Plattenarraysystem
4 des
Plattenarrayswitches
5 wird das Protokoll im Plattenarrayswitch
in ein Protokoll zwischen diesem und dem Plattenarraysystem gewandelt,
d. h., dass ein doppelter Protokollwandlungsprozess erzeugt wird.
Daher ist das Ansprechverhalten im Vergleich zum Fall des direkten
Zugriffs auf das Plattenarraysystem, ohne dass der Plattenarrayswitch
durchlaufen wird, schlecht.
-
Wenn
Kosten keine Rolle spielen, ist es beim US-Patent Nr.
US 6385681 B1 möglich, das
Zugriffsfunktionsvermögen
dadurch zu verbessern, dass der Umfang der Cachespeichereinheit
14 und
der Steuerinformations-Speichereinheit vergrößert werden. Um jedoch von
allen Kanal-IF-Einheiten
11 und allen Platten-IF-Einheiten
16 auf
die Cachespeichereinheit
14 oder die Steuerinformations-Speichereinheit
15 zuzugreifen,
ist es erforderlich, die Cachespeichereinheit
14 und die
Steuerinformations-Speichereinheit
15 jeweils als einen
gemeinsam genutzten Speicherraum zu verwalten. Daher ist, wenn der
Umfang der Cachespeichereinheit
14 und der Steuerinformations-Speichereinheit
15 vergrößert werden,
ein Absenken der Kosten des Speichersystems bei kleiner Konfiguration
schwierig, und es ist schwierig, ein Speichersystem mit kleiner
Konfiguration billig bereitzustellen.
-
Die
obigen Probleme werden mit einem Speichersystem nach Anspruch 1
gelöst.
Die abhängigen
Ansprüche
betreffen bevorzugte Ausführungsformen
der Erfindung. Anspruch 20 betrifft ein bevorzugtes Verfahren zum
Betrieb eines Speichersystems nach der Erfindung.
-
Um
die obigen Probleme zu lösen,
verfügt eine
Ausführungsform
der Erfindung über
die folgende Konfiguration. Genauer gesagt, ist die Erfindung ein
Speichersystem mit einer Schnittstelleneinheit mit einer Verbindungseinheit
zu einem Computer oder einem Festplatten-Laufwerk, einer Speichereinheit
zum Speichern von Daten, die an den Computer oder das Festplatten-Laufwerk
zu senden/von diesen zu empfangen sind, und von Steuerungsinformation, einer
Prozessoreinheit mit einem Mikroprozessor zum Steuern der Datenübertragung
zwischen dem Computer und dem Festplatten-Laufwerk sowie einer Platteneinheit,
wobei die Schnittstelleneinheit, die Speichereinheit und die Prozessoreinheit über eine Verbindungseinrichtung
verbunden sind.
-
Bei
diesem Speichersystem instruiert die Prozessoreinheit eine Datenübertragung
betreffend das Lesen oder das Schreiben von Daten, wie vom Computer
angefordert, dadurch, dass sie zwischen der Schnittstelleneinheit
und der Speichereinheit Steuerungsinformation austauscht.
-
Ein
Teil der Verbindungseinrichtung, oder die gesamte, kann in eine
Verbindungseinrichtung zum Übertragen
von Daten oder eine Verbindungseinrichtung zum Übertragen von Steuerungsinformation
unterteilt sein. Die Verbindungseinrichtung kann ferner aus mehreren
Switcheinheiten bestehen.
-
Eine
andere Ausführungsform
der Erfindung verfügt über die
folgende Konfiguration. Genauer gesagt, ist die Erfindung ein Speichersystem,
bei dem mehrere Cluster über
ein Kommunikationsnetzwerk verbunden sind. In diesem Fall verfügt jeder
Cluster ferner über
eine Schnittstelleneinheit mit einer Verbindungseinheit zu einem
Computer oder einem Festplatten-Laufwerk, eine Speichereinheit zum Speichern
von Daten, die aus dem Computer oder dem Festplatten-Laufwerk zu
lesen/dorthin zu schreiben sind, und der Steuerungsinformation des
Systems, eine Prozessoreinheit mit einem Mikroprozessor zum Steuern
des Lesens/Schreibens der Daten zwischen dem Computer und dem Festplatten-Laufwerk
sowie eine Platteneinheit. Die Schnittstelleneinheit, die Speichereinheit
und die Prozessoreinheit in jedem Cluster sind über das Kommunikationsnetzwerk
mit den jeweiligen Einheiten in einem anderen Cluster verbunden.
-
Die
Schnittstelleneinheit, die Speichereinheit und die Prozessoreinheit
in jedem Cluster können
im Cluster durch mindestens eine Switcheinheit verbunden werden,
und die Switcheinheiten aller Cluster können über einen Verbindungspfad miteinander
verbunden werden.
-
Alle
Cluster können
dadurch miteinander verbunden werden, dass die Switcheinheiten aller Cluster über einen
anderen Switch miteinander verbunden werden. Gemäß einer anderen Ausführungsform
kann die Schnittstelleneinheit gemäß der oben genannten Erscheinungsform über einen
Prozessor zur Protokollverarbeitung verfügen. In diesem Fall kann die
Protokollverarbeitung durch die Schnittstelleneinheit ausgeführt werden,
und eine Datenübertragung
im Speichersystem kann durch die Prozessoreinheit gesteuert werden.
-
Probleme
und zugehörige
Lösungen,
wie sie in der vorliegenden Anmeldung offenbart werden, werden nun
durch den Abschnitt zu Ausführungsformen
der Erfindung und die Zeichnungen beschrieben.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Diagramm, das ein Konfigurationsbeispiel des Speichersystems 1 zeigt;
-
2 ist
ein Diagramm, das ein detailliertes Konfigurationsbeispiel der Verbindungseinrichtung des
Speichersystems 1 zeigt;
-
3 ist
ein Diagramm, das ein anderes Konfigurationsbeispiel des Speichersystems 1 zeigt;
-
4 ist
ein detailliertes Konfigurationsbeispiel der in der 3 dargestellten
Verbindungseinrichtung;
-
5 ist
ein Diagramm, das ein Konfigurationsbeispiel des Speichersystems
zeigt;
-
6 ist
ein Diagramm, das ein detailliertes Konfigurationsbeispiel der Verbindungseinrichtung des
Speichersystems zeigt;
-
7 ist
ein Diagramm, das ein anderes detailliertes Konfigurationsbeispiel
der Verbindungseinrichtung des Speichersystems zeigt;
-
8 ist
ein Diagramm, das ein Konfigurationsbeispiel der Schnittstelleneinheit
zeigt;
-
9 ist
ein Diagramm, das ein Konfigurationsbeispiel der Prozessoreinheit
zeigt;
-
10 ist
ein Diagramm, das ein Konfigurationsbeispiel der Speichereinheit
zeigt;
-
11 ist
ein Diagramm, das ein Konfigurationsbeispiel der Switcheinheit zeigt;
-
12 ist
ein Diagramm, das ein Beispiel des Paketformats zeigt;
-
13 ist
ein Diagramm, das ein Konfigurationsbeispiel der Anwendungs-Steuereinheit
zeigt;
-
14 ist
ein Diagramm, das ein Beispiel des im Einschubgestell montierten
Speichersystems zeigt;
-
15 ist
ein Diagramm, das ein Konfigurationsbeispiel des Platinenteils und
der Rückwandplatine
zeigt;
-
16 ist
ein Diagramm, das ein anderes detailliertes Konfigurationsbeispiel
der Verbindungseinrichtung zeigt;
-
17 ist
ein Diagramm, das ein Verbindungs-Konfigurationsbeispiel der Schnittstelleneinheit
und der externen Einheit zeigt;
-
18 ist
ein Diagramm, das ein anderes Verbindungs-Konfigurationsbeispiel
der Schnittstelleneinheit und der externen Einheit zeigt;
-
19 ist
ein Diagramm, das ein Beispiel des im Einschubrahmen montierten
Speichersystems zeigt;
-
20 ist
ein Diagramm, das ein Konfigurationsbeispiel eines herkömmlichen
Speichersystems zeigt;
-
21 ist
ein Diagramm, das ein anderes Konfigurationsbeispiel eines herkömmlichen
Speichersystems zeigt;
-
22 ist
ein Flussdiagramm, das die Leseoperation im Speichersystem 1 zeigt;
und
-
23 ist
ein Flussdiagramm, das die Schreiboperation im Speichersystem zeigt.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Nun
werden Ausführungsformen
der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
Die 1 ist
ein Diagramm, das ein Konfigurationsbeispiel des Speichersystems
gemäß der ersten
Ausführungsform
zeigt. Das Speichersystem 1 besteht aus Schnittstelleneinheiten 10 zum
Senden/Empfangen von Daten an einen/von einem Server 3 oder
Festplatten-Laufwerken 2, Prozessoreinheiten 81,
Speichereinheiten 21 und Festplatten-Laufwerken 2.
Die Schnittstelleneinheit 10, die Prozessoreinheit 81 und
die Speichereinheit 21 sind über die Verbindungseinrichtung 21 miteinander
verbunden. Die 2 ist ein Beispiel einer konkreten Konfiguration
der Verbindungseinrichtung 31.
-
Die
Verbindungseinrichtung 31 verfügt über zwei Switcheinheiten 51.
Die Schnittstelleneinheiten 10, die Prozessoreinheit 81 und
die Speichereinheit 21 sind über jeweils einen Kommunikationspfad
mit jeder der zwei Switcheinheiten verbunden. In diesem Fall ist
der Kommunikationspfad eine Übertragungsstrecke
aus einer oder mehreren Signalleitungen zum Übertragen von Daten und Steuerungsinformation.
Dies ermöglicht
es, zwischen der Schnittstelleneinheit 10, der Prozessoreinheit 81 und
der Speichereinheit 21 jeweils zwei Kommunikationswege
bereitzustellen und die Zuverlässigkeit
zu verbessern. Die obige Anzahl von Einheiten oder die Anzahl von
Leitungen bilden lediglich ein Beispiel, und die Anzahlen sind nicht
hierauf beschränkt.
Dies gilt für
alle Ausführungsformen,
die hier nachfolgend beschrieben werden.
-
Die
als Beispiel dargestellte Verbindungseinrichtung verwendet Switches,
jedoch ist es hierbei kritisch, dass eine solche wechselseitige
Verbindung [für
die Einheiten] hergestellt werden kann, dass Steuerungsinformation
und Daten übertragen
werden, so dass sie [die Verbindungseinrichtung] z. B. aus Bussen
bestehen kann.
-
Auch
zeigt es die 3, dass die Verbindungseinrichtung 31 in
eine Verbindungseinrichtung 41 zum Übertragen von Daten und eine
Verbindungseinrichtung 41 zum Übertragen von Steuerungsinformation
unterteilt sein kann. Dies verhindert eine Wechselwirkung zwischen
der Datenübertragung und
der Über tragung
von Steuerungsinformation im Vergleich zum Fall der Übertragung
von Daten und Steuerungsinformation durch einen Kommunikationspfad
(1). Im Ergebnis kann das Übertragungsvermögen für Daten
und Steuerungsinformation verbessert werden.
-
Die 4 ist
ein Diagramm, das ein Beispiel einer konkreten Konfiguration der
Verbindungseinrichtungen 41 und 42 zeigt. Die
Verbindungseinrichtungen 41 und 42 verfügen jeweils über zwei Switcheinheiten 52 bzw. 56.
Die Schnittstelleneinheit 10, die Prozessoreinheit 41 und
die Speichereinheit 21 sind über einen jeweiligen Kommunikationspfad mit
jeder der zwei Switcheinheiten 52 und der zwei Switcheinheiten 56 verbunden.
Dies ermöglicht
es, jeweils zwei Datenpfade 21 und zwei Steuerungsinformationspfade 92 zwischen
der Schnittstelleneinheit 10, der Prozessoreinheit 81 und
der Speichereinheit 21 bereitzustellen und die Zuverlässigkeit
zu verbessern.
-
Die 8 ist
ein Diagramm, das ein konkretes Beispiel der Konfiguration der Schnittstelleneinheit 10 zeigt.
-
Die
Schnittstelleneinheit 10 besteht aus vier Schnittstellen
(externen Schnittstellen) 100, die mit dem Server 3 oder
Festplatten-Laufwerken 2 zu verbinden sind, einer Übertragungs-Steuereinheit 105 zum
Steuern der Übertragung
von Daten/Steuerungsinformation hinsichtlich der Prozessoreinheit 81 oder
der Speichereinheit 21, und ein Speichermodul 123 zum
Puffern von Daten und zum Speichern von Steuerungsinformation.
-
Die
externe Schnittstelle 100 ist mit der Übertragungs-Steuereinheit 105 verbunden.
Auch das Speichermodul 123 ist mit der Übertragungs-Steuereinheit 105 verbunden.
Die Übertragungs-Steuereinheit 105 arbeitet
auch als Speichercontroller zum Steuern von Lese/Schreib-Vorgängen für die Daten/Steuerungsinformation
hinsichtlich des Speichermoduls 123.
-
Die
Verbindungskonfiguration zwischen der externen Schnittstelle 100 oder
dem Speichermodul 123 und der Übertragungs-Steuereinheit 105 in diesem
Fall ist lediglich ein Beispiel, und es besteht keine Beschränkung auf
die oben genannte Konfiguration. Solange die Daten/Steuerungsinformation
von der externen Schnittstelle 100 über die Übertragungs-Steuereinheit 105 an
die Prozessoreinheit 81 und die Speichereinheit 21 übertragen
werden können,
ist jede Konfiguration akzeptabel.
-
Im
Fall der Schnittstelleneinheit 10 der 4,
bei der der Datenpfad 91 und der Steuerungsinformationspfad 92 getrennt
sind, sind zwei Datenpfade 91 und zwei Steuerungsinformationspfade 92 mit
der Übertragungs-Steuereinheit 105 verbunden.
-
Die 9 ist
ein Diagramm, das ein konkretes Beispiel der Konfiguration der Prozessoreinheit zeigt.
-
Die
Prozessoreinheit 21 besteht aus zwei Mikroprozessoren 101,
einer Übertragungs-Steuereinheit 105 zum
Steuern der Übertragung
von Daten/Steuerungsinformation hinsichtlich der Schnittstelleneinheit 10 oder
der Speichereinheit 21 sowie einem Speichermodul 123.
Das Speichermodul 123 ist mit der Übertragungs-Steuereinheit 105 verbunden.
Die Übertragungs-Steuereinheit 105 arbeitet auch
als Speichercontroller zum Steuern von Lese/Schreib-Vorgängen für Daten/Steuerungsinformation
hinsichtlich des Speichermoduls 123. Das Speichermodul 123 wird
von den zwei Mikroprozessoren 101 als Hauptspeicher gemeinsam
genutzt, und es speichert Daten und Steuerungsinformation. Die Prozessoreinheit 81 kann über spezielle
Speichermodule für
jeden Mikroprozessor 101 für die Anzahl von Mikroprozessoren,
anstelle des gemeinsam von zwei Mikroprozessoren 101 genutzten
Speichermoduls 123, verfügen.
-
Der
Mikroprozessor 101 ist mit der Übertragungs-Steuereinheit 105 verbunden.
Der Mikroprozessor 101 steuert Lese/-Schreib-Vorgänge für Daten betreffend den Cachespeicher
der Speichereinheit 21, die Verzeichnisverwaltung des Cachespeichers
und die Datenübertragung
zwischen der Schnittstelleneinheit 10 und der Speichereinheit 21 auf
Grundlage der Steuerungsinformation, wie sie im Steuerspeichermodul 127 der
Speichereinheit 21 gespeichert ist.
-
Genauer
gesagt, schreibt z. B. die externe Schnittstelle 100 in
der Schnittstelleneinheit 10 die Steuerungsinformation
zum Anzeigen einer Zugriffsanforderung zum Lesen oder Schreiben
von Daten in das Speichermodul 123 in der Prozessoreinheit 81.
Dann liest der Mikroprozessor 102 die geschriebene Steuerungsinformation,
er interpretiert sie, und er schreibt die Steuerungsinformation
in das Speichermodul 123 in der Schnittstelleneinheit 10,
um anzuzeigen, an welche Speichereinheit 21 die Daten von
der externen Schnittstelle 100 übertragen werden, und um die
für die
Datenübertragung
benötigten Parameter
anzuzeigen. Die externe Schnittstelle 100 führt die
Datenübertragung
in die Speichereinheit 21 entsprechend dieser Steuerungsinformation
und den Parametern aus.
-
Der
Mikroprozessor 101 führt
einen Datenredundanzprozess für
Daten, die in die mit der Schnittstelleneinheit 10 verbundenen
Festplatten-Laufwerke 2 einzuschreiben sind, d. h. den
sogenannten RAID-Prozess, aus. Dieser RAID-Prozess kann in der Schnittstelleneinheit 10 und
der Speichereinheit 21 ausgeführt werden. Der Mikroprozessor 101 verwaltet
auch den Speicherbereich im Speichersystem 1 (z. B. Adressentransfor mation
zwischen einem logischen und einem physikalischen Datenträgerbereich).
-
Die
Verbindungskonfiguration zwischen dem Mikroprozessor 101,
der Übertragungs-Steuereinheit 105 und
dem Speichermodul 123 in diesem Fall ist lediglich ein
Beispiel, und es besteht keine Beschränkung auf die oben genannte
Konfiguration. Solange Daten/Steuerungsinformation wechselseitig
zwischen dem Mikroprozessor 101, der Übertragungs-Steuereinheit 105 und
dem Speichermodul 123 übertragen
werden können,
ist jede Konfiguration akzeptierbar.
-
Wenn
der Datenpfad 91 und der Steuerungsinformationspfad 92 getrennt
sind, wie es in der 4 dargestellt ist, sind die
Datenpfade 91 (zwei Pfade in diesem Fall) und die Steuerungsinformationspfade 92 (zwei
Pfade in diesem Fall) mit der Übertragungs-Steuereinheit 106 der
Prozessoreinheit 81 verbunden.
-
Die 10 ist
ein Diagramm, das ein konkretes Beispiel der Konfiguration der Speichereinheit 21 zeigt.
-
Die
Speichereinheit 21 besteht aus einem Cachespeichermodul 126,
einem Steuerungsinformations-Speichermodul 127 und einem
Speichercontroller 125. Im Cachespeichermodul 126 werden Daten
zwischengespeichert, die in die Festplatten-Laufwerke 2 geschrieben
oder aus ihnen gelesen werden (nachfolgend als "Caching" bezeichnet). Im Steuer-Speichermodul 127 sind
die Verzeichnisinformation des Cachespeichermoduls 126 (Information zu
einem Logikblock zum Speichern von Daten im Cachespeicher), Information
zum Steuern der Datenübertragung
zwischen der Schnittstelleneinheit 10, der Prozessoreinheit 81 und
der Speichereinheit 21 sowie Verwaltungsinformation und
Konfigurationsinformation des Speichersystems 1 gespeichert.
Der Speichercontroller 125 steuert die Lese/Schreib-Verar beitung
von Daten betreffend das Cachespeichermodul 126 und von
Steuerungsinformation betreffend das Steuerungsinformations-Speichermodul 127 auf
unabhängige
Weise.
-
Der
Speichercontroller 125 steuert die Übertragung von Daten/Steuerungsinformation
zwischen der Schnittstelleneinheit 10, der Prozessoreinheit 81 und
anderen Speichereinheiten 21.
-
Hierbei
können
das Cachespeichermodul 126 und das Steuerspeichermodul 127 physikalisch als
ein Teil [Einheit] integriert sein, und der Cachespeicherbereich
und der Steuerungsinformations-Speicherbereich werden in logisch
verschiedenen Bereichen eines Speicherraums zugeordnet. Dies ermöglicht es,
die Anzahl von Speichermodulen zu verringern und die Komponentenkosten
zu senken.
-
Der
Speichercontroller 125 kann zur Steuerung des Cachespeichermoduls
und zur Steuerung des Steuerungsinformations-Speichermoduls aufgeteilt sein.
-
Wenn
das Speichersystem 1 über
mehrere Speichereinheiten 21 verfügt, können diese mehreren Speichereinheiten 21 in
zwei Gruppen unterteilt sein, und Daten und Steuerungsinformation,
wie sie im Cachespeichermodul und im Steuerspeichermodul zu speichern
zu speichern sind, können
zwischen diesen Gruppen dupliziert werden. Dies ermöglicht es,
den Betrieb fortzusetzen, wenn in einer Gruppe der Cachespeichermodule
oder der Steuerungsinformations-Speichermodule ein Fehler auftritt,
wozu die in der anderen Gruppe der Cachespeichermodule oder der
Steuerungsinformations-Speichermodule gespeicherten Daten verwendet
werden, was die Zuverlässigkeit
des Speichersystems 1 verbessert.
-
Wenn
der Datenpfad 91 und der Steuerungsinformationspfad 92 getrennt
sind, wie es in der 4 dargestellt ist, sind die
Datenpfade 91 (zwei Pfade in diesem Fall) und die Steuerungsinformationspfade 92 (zwei
Pfade in diesem Fall) mit dem Speichercontroller 128 verbunden.
-
Die 11 ist
ein Diagramm, das ein konkretes Beispiel der Konfiguration der Switcheinheit 51 zeigt.
-
Die
Switcheinheit 51 verfügt über einen Switch-LSI 58.
Der Switch-LSI 58 besteht aus vier Pfadschnittstellen 130,
einer Kopfanalysiereinheit 131, einem Prioritätszuteiler 132,
einem Kreuzschienenschalter 133, acht Puffern 134 und
vier Pfadschnittstellen 135.
-
Die
Pfadschnittstelle 130 ist eine Schnittstelle, an der der
Kommunikationspfad angeschlossen ist, der mit der Schnittstelleneinheit 10 zu
verbinden ist. Die Schnittstelleneinheit 10 und die Pfadschnittstelle 130 sind
eins zu eins verbunden. Die Pfadschnittstelle 135 ist eine
Schnittstelle, an der der Kommunikationspfad angeschlossen ist,
der mit der Prozessoreinheit 81 oder der Speichereinheit 21 zu verbinden
ist. Die Prozessoreinheit 81 oder die Speichereinheit 21 sowie
die Pfadschnittstelle 135 sind eins zu eins verbunden.
Im Puffer 134 werden Pakete zwischengespeichert, die zwischen
der Schnittstelleneinheit 10, der Prozessoreinheit 81 und
der Speichereinheit 21 zu übertragen sind (Pufferung).
-
Die 12 ist
ein Diagramm, das ein Beispiel des Formats eines Pakets zeigt, das
zwischen der Schnittstelleneinheit 10, der Prozessoreinheit 81 und
der Speichereinheit 21 zu übertragen ist. Ein Paket ist
eine Einheit bei der Datenübertragung
gemäß dem zur
Datenübertragung
(einschließlich
Steuerungsinformation) zwischen jeder Einheit verwendeten Protokoll.
Das Paket 200 verfügt über einen
Kopf 210, Nutzdaten 220 und einen Fehlerprüfcode 230. Im
Kopf 210 ist zu mindest die Information zum Kennzeichnen
der Sendequelle und des Sendeziels des Pakets gespeichert. In den
Nutzdaten 220 ist Information wie ein Befehl, eine Adresse,
Daten und ein Status gespeichert. Der Fehlerprüfcode 230 ist ein Code,
der zum Erkennen eines Fehlers zu verwenden ist, wie er im Paket
während
der Paketübertragung
erzeugt wird.
-
Wenn
die Pfadschnittstelle 130 oder 135 ein Paket empfängt, liefert
der Switch-LSI 158 den Kopf 210 des empfangenen
Pakets an die Kopfanalysiereinheit 131. Die Kopfanalysiereinheit 131 erkennt
die Verbindungsanforderung zwischen jeder Pfadschnittstelle auf
Grundlage der Information im Paketsendeziel, wie sie im Kopf 210 enthalten
ist. Genauer gesagt, erkennt die Kopfanalysiereinheit 131 die
Pfadschnittstelle, die mit der Einheit (z. B. Speichereinheit) im
Paketsendeziel verbunden ist, wie durch den Kopf 210 spezifiziert,
und sie erzeugt zwischen der Pfadschnittstelle, die das Paket empfangen
hat, und der erkannten Pfadschnittstelle eine Verbindungsanforderung.
-
Dann
liefert die Kopfanalysiereinheit 131 die erzeugte Verbindungsanforderung
an den Prioritätszuteiler 132.
Der Prioritätszuteiler 132 nimmt
eine Prioritätszuteilung
für jede
Pfadschnittstelle auf Grundlage der erkannten Verbindungsanforderung
für jede Pfadschnittstelle
aus. Auf Grundlage dieses Ergebnisses gibt der Prioritätszuteiler 132 das
Signal zum Umschalten der Verbindung an den Kreuzschienenschalter 133 aus.
Der Kreuzschienenschalter 133, der das Signal empfangen
hat, schaltet die Verbindung in ihm auf Grundlage des Signalinhalts,
und er realisiert eine Verbindung zwischen den gewünschten
Pfadschnittstellen.
-
Bei
der Konfiguration der vorliegenden Ausführungsform verfügt jede
Pfadschnittstelle eins zu eins über
einen Puffer, jedoch kann der Switch-LSI 58 über einen
großen
Puffer ver fügen,
und jeder Pufferstelle in diesem [großen Puffer] wird ein Paketspeicherbereich
zugeordnet. Der Switch-LSI 58 verfügt über einen Speicher zum Speichern
von Fehlerinformation in der Switcheinheit 51.
-
Die 16 ist
ein Diagramm, das ein anderes Konfigurationsbeispiel der Verbindungseinrichtung 31 zeigt.
-
In
der 16 ist die Anzahl der Pfadschnittstellen der Switcheinheit 51 auf
zehn erhöht
und die Anzahl der Switcheinheiten 51 ist auf vier erhöht. Im Ergebnis
ist die Anzahl der Schnittstelleneinheiten 10, der Prozessoreinheiten 81 und
der Speichereinheit 21 doppelt so groß wie bei der Konfiguration
in der 2. In der 16 ist
die Schnittstelleneinheit 10 nur mit einem Teil der Switcheinheiten 51 verbunden,
jedoch sind die Prozessoreinheiten 81 und die Speichereinheiten 21 mit
allen Switcheinheiten 51 verbunden. Dies ermöglicht es
auch, von allen Schnittstelleneinheiten 10 auf alle Speichereinheiten 21 und
alle Prozessoreinheiten 81 zuzugreifen.
-
Umgekehrt,
kann jede der vier Schnittstelleneinheiten mit allen Switcheinheiten 51 verbunden sein,
und jede der Prozessoreinheiten 81 und der Speichereinheiten 21 kann
mit einem Teil der Switcheinheiten verbunden sein. Z. B. sind die
Prozessoreinheiten 81 und die Speichereinheiten 21 in zwei
Gruppen unterteilt, wobei eine Gruppe mit zwei Switcheinheiten 51 verbunden
ist und die andere Gruppe mit den restlichen zwei Switcheinheiten 51 verbunden
ist. Auch dies ermöglicht
es, von allen Schnittstelleneinheiten 10 auf alle Speichereinheiten 21 und
alle Prozessoreinheiten 21 zuzugreifen.
-
Nun
folgt ein Beispiel eines Prozessablaufs für den Fall, dass die in den
Festplatten-Laufwerken 2 des Speichersystems 1 aufgezeichneten
Daten vom Server 3 gelesen werden. In der folgenden Beschreibung
werden zur Datenübertragung
unter Verwendung der Switches 51 immer Pakete verwendet. Bei
der Kommunikation zwischen der Prozessoreinheit 81 und
der Schnittstelleneinheit 10 ist der Bereich betreffend
die Schnittstelleneinheit 10 zum Speichern der Steuerungsinformation
(zur Datenübertragung
benötigte
Information), wie sie von der Prozessoreinheit 81 geliefert
wird, vorbestimmt.
-
Die 22 ist
ein Flussdiagramm, das ein Prozessablaufbeispiel für den Fall
zeigt, dass die in den Festplatten-Laufwerken 2 des Speichersystems 1 aufgezeichneten
Daten vom Server 3 gelesen werden.
-
Als
Erstes gibt der Server 3 einen Datenlesebefehl an das Speichersystem 1 aus.
Wenn die externe Schnittstelle 100 in der Schnittstelleneinheit 10 den
Befehl empfängt
(742), überträgt diese
sich im Befehlswartezustand befindliche externe Schnittstelle 100 (741)
den empfangenen Befehl über
die Übertragungs-Steuereinheit 105 und
die Verbindungseinrichtung 31 (Switcheinheit 51 in
diesem Fall) an die Übertragungs-Steuereinheit 105 in
der Prozessoreinheit 81. Die Übertragungs-Steuereinheit 105,
die den Befehl empfangen hat, schreibt den empfangenen Befehl in
das Speichermodul 123.
-
Der
Mikroprozessor 101 der Prozessoreinheit 81 erkennt
durch Abfragen des Speichermoduls 123 oder durch einen
Interrupt zum Anzeigen eines Schreibvorgangs von der Übertragungs-Steuereinheit 105,
dass ein Befehl in das Speichermodul 123 geschrieben wurde.
Der Mikroprozessor 101, der das Schreiben des Befehls erkannt
hat, liest diesen Befehl aus dem Speichermodul 123 aus
und führt
eine Befehlsanalyse aus (743). Der Mikroprozessor 101 erfasst
als Ergebnis der Befehlsanalyse (744) die Information,
die den Speicherbereich anzeigt, in dem die durch den Server 3 angeforderten
Daten aufgezeichnet sind (744).
-
Der
Mikroprozessor 101 überprüft aus der durch
die Befehlsanalyse erfassten Information zum Speicherbereich und
der Verzeichnisinformation zum Cachespeichermodul, wie sie im Speichermodul 123 in
der Prozessoreinheit 81 oder im Steuerungsinformation-Speichermodul 127 in
der Speichereinheit 21 gespeichert ist, ob die durch den
Befehl angeforderten Daten (nachfolgend auch als "Anforderungsdaten" bezeichnet) im Cachespeichermodul 126 in
der Speichereinheit 21 aufgezeichnet sind (745).
-
Wenn
die Anforderungsdaten im Cachespeichermodul 126 existieren
(nachfolgend auch als "Cachetreffer" bezeichnet) (746), überträgt der Mikroprozessor 101 die
zur Übertragung
der Anforderungsdaten erforderliche Information vom Cachespeichermodul 126 an
die externe Schnittstelle 100 in der Schnittstelleneinheit 10,
insbesondere die Information der Adresse im Cachespeichermodul 126,
an der die Anforderungsdaten gespeichert sind, sowie die Adresse
im Speichermodul 123, die die Schnittstelleneinheit 10 aufweist,
die das Übertragungsziel
sein soll, über
die Übertragungs-Steuereinheit 105 in
der Prozessoreinheit 81, die Switcheinheit 51 und
die Übertragungs-Steuereinheit 105 in
der Schnittstelleneinheit 10 an das Speichermodul 123 in
der Schnittstelleneinheit 10.
-
Dann
weist der Mikroprozessor 101 die externe Schnittstelle 100 dazu
an, die Daten aus der Speichereinheit 21 zu lesen (752).
-
Die
externe Schnittstelle 100 in der Schnittstelleneinheit 10,
die die Anweisung empfangen hat, liest die zum Übertragen der Anforderungsdaten
aus einem vorbestimmten Bereich des Speichermoduls 123 in
der lokalen Schnittstelleneinheit 10 aus. Auf Grundlage
dieser Information greift die externe Schnittstelle 100 in
der Schnittstelleneinheit 10 auf den Speichercontroller 125 in
der Speichereinheit 21 zu, und er fordert an, die Anforderungsdaten
aus dem Cachespeichermodul 126 auszulesen. Der Speichercontroller 125,
der die Anforderung empfangen hat, liest die Anforderungsdaten aus
dem Cachespeichermodul 126 aus und überträgt sie an die Schnittstelleneinheit 10,
die die Anforderung empfangen hat (753). Die Schnittstelleneinheit 10,
die die Anforderungsdaten empfangen hat, liefert sie an den Server 3 (754).
-
Wenn
die Anforderungsdaten nicht im Cachespeichermodul 126 existieren
(nachfolgend als "Cache-Trefffehler" bezeichnet) (746),
greift der Mikroprozessor 101 auf das Steuerspeichermodul 127 in
der Speichereinheit 21 zu, und er registriert die Information
zum Zuordnen des Bereichs zum Speichern der Anforderungsdaten im
Cachespeichermodul 126 in der Speichereinheit 21,
insbesondere Information zum Spezifizieren eines offenen Cacheschlitzes,
in der Verzeichnisinformation des Cachespeichermoduls (nachfolgend
auch als "Cachebereichszuordnung" bezeichnet) (747).
Nach der Cachebereichszuordnung greift der Mikroprozessor 101 auf
das Steuerungsinformations-Speichermodul 127 in der Speichereinheit 21 zu,
und er erkennt die Schnittstelleneinheit 10, mit der die
Festplatten-Laufwerke 2 zum Speichern der Anforderungsdaten
verbunden sind (nachfolgend auch als "Ziel-Schnittstelleneinheit 10" bezeichnet, aus
der Verwaltungsinformation des Speicherbereichs, wie sie im Steuerungsinformations-Speichermodul 127 gespeichert
ist (748).
-
Dann überträgt der Mikroprozessor 101 die Information,
die dazu erforderlich ist, die Anforderungsdaten von der externen
Schnittstelle 100 in der Ziel-Schnittstelleneinheit 10 an
das Cachespeichermodul 126 zu übertragen, über die Über tragungs-Steuereinheit 105 in
der Prozessoreinheit 81, die Switcheinheit 51 und
die Übertragungs-Steuereinheit 105 in
der Ziel-Schnittstelleneinheit 10 an das Speichermodul 123 in
der Ziel-Schnittstelleneinheit 10. Außerdem weist der Mikroprozessor 101 die
externe Schnittstelle 100 in der Ziel-Schnittstelleneinheit 10 dazu
an, die Anforderungsdaten aus den Festplatten-Laufwerken 2 zu
lesen und sie in die Speichereinheit 21 zu schreiben.
-
Die
externe Schnittstelle 100 in der Zielschnittstelle 10,
die die Anweisung empfangen hat, liest die zum Übertragen von Anforderungsdaten
erforderliche Information auf Grundlage der Anweisungen aus dem
vorbestimmten Bereich des Speichermoduls 123 in der lokalen
Schnittstelleneinheit 10. Auf Grundlage dieser Information
liest die externe Schnittstelle 10 in der Ziel-Schnittstelleneinheit 10 die
Anforderungsdaten aus den Festplatten-Laufwerken 2 (749),
und sie überträgt die ausgelesenen
Daten an den Speichercontroller 125 in der Speichereinheit 21.
Der Speichercontroller 125 schreibt die empfangenen Anforderungsdaten
in das Cachespeichermodul 126 (750). Wenn der
Schreibvorgang für
die Anforderungsdaten endet, informiert der Speichercontroller 125 den
Mikroprozessor 101 über
das Ende.
-
Der
Mikroprozessor 101, der das Ende des Schreibvorgangs in
das Cachespeichermodul 126 erkannt hat, greift auf das
Steuerspeichermodul 127 in der Speichereinheit 21 zu,
und er aktualisiert die Verzeichnisinformation für das Cachespeichermodul. Genauer
gesagt, registriert der Mikroprozessor 101 die Aktualisierung
des Inhalts des Cachespeichermoduls in der Verzeichnisinformation
(751). Auch weist der Mikroprozessor 101 die Schnittstelleneinheit 10, die
den Datenlese-Anforderungsbefehl empfangen hat, an, die Anforderungsdaten
aus der Speichereinheit 21 zu lesen.
-
Die
Schnittstelleneinheit 10, die Anweisungen empfangen hat,
liest die Anforderungsdaten auf dieselbe Weise wie bei der Prozessablauf
bei einem Cachetreffer aus dem Cachespeichermodul 126 aus, und
sie überträgt sie an
den Server 3. So liest das Speichersystem 1 die
Daten aus dem Cachespeichermodul oder den Festplatten-Laufwerken 2 aus, wenn
vom Server 3 eine Datenleseanforderung empfangen wird,
und es liefert sie an den Server 3.
-
Nun
wird ein Beispiel für
den Prozessablauf für
den Fall beschrieben, dass Daten vom Server 3 in das Speichersystem 1 geschrieben
werden. Die 23 ist ein Flussdiagramm, das
ein Prozessablaufsbeispiel für
den Fall zeigt, dass Daten vom Server 3 in das Speichersystem 1 geschrieben
werden.
-
Als
Erstes gibt der Server 3 den Datenlesebefehl an das Speichersystem 1 aus.
Bei der vorliegenden Ausführungsform
nimmt die Beschreibung an, dass der Schreibbefehl die zu schreibenden
Daten enthält
(nachfolgend auch als "Aktualisierungsdaten" bezeichnet). Der
Schreibbefehl muss jedoch die Aktualisierungsdaten nicht enthalten.
In diesem Fall liefert der Server 3 die Aktualisierungsdaten,
nachdem der Status des Speichersystems 1 durch den Schreibbefehl
geklärt
wurde.
-
Wenn
die externe Schnittstelle 100 in der Schnittstelleneinheit 10 den
Befehl empfängt
(762), überträgt sie,
während
sie sich im Befehlswartezustand befindet (761), den empfangenen
Befehl über die Übertragungs-Steuereinheit 105 und
die Switcheinheit 51 an die Übertragungs-Steuereinheit 105 in
der Prozessoreinheit 81. Die Übertragungs-Steuereinheit 105 schreibt
den empfangenen Befehl in das Speichermodul 123 der Prozessoreinheit.
Die Aktualisierungsdaten werden im Speichermodul 123 in
der Schnittstelleneinheit 10 zwischengespeichert.
-
Der
Mikroprozessor 101 der Prozessoreinheit 81 erkennt
durch Abfragen des Speichermoduls 123 oder durch einen
Interrupt, der einen Schreibvorgang von der Übertragungs-Steuereinheit 105 anzeigt,
dass ein Befehl in das Speichermodul 123 geschrieben wurde.
Der Mikroprozessor 101, der das Schreiben des Befehls erkannt
hat, liest diesen Befehl aus dem Speichermodul 123 aus,
und er führt eine
Befehlsanalyse aus (763). Der Mikroprozessor 101 erkennt
als Ergebnis der Befehlsanalyse die Information, die den Speicherbereich
anzeigt, in dem die Aktualisierungsdaten, für die der Server 3 einen Schreibvorgang
anfordert, aufgezeichnet sind (764). Der Mikroprozessor 101 entscheidet
auf Grundlage der Information, die den Speicherbereich zum Schreiben
der Aktualisierungsdaten anzeigt, und der Verzeichnisinformation
zum Cachespeichermodul, wie sie im Speichermodul 123 in
der Prozessoreinheit 81 oder im Steuerungsinformation-Speichermodul 127 in
der Speichereinheit 21 gespeichert ist, ob das Schreibanforderungsziel,
d. h. die Daten, die das Aktualisierungsziel bilden sollen (nachfolgend
als "Aktualisierungszieldaten" bezeichnet) im Cachespeichermodul 126 in
der Speichereinheit 21 aufgezeichnet sind (765).
-
Wenn
die Aktualisierungszieldaten im Cachespeichermodul 126 existieren
(nachfolgend auch als "Schreibtreffer" bezeichnet) (766), überträgt der Mikroprozessor 101 die
Information, die dazu erforderlich ist, Aktualisierungsdaten von
der externen Schnittstelle 100 in der Schnittstelleneinheit 10 an das
Cachespeichermodul 126 zu übertragen, über die Übertragungs-Steuereinheit 105 in
der Prozessoreinheit 81, die Switcheinheit 51 und
die Übertragungs-Steuereinheit 105 in
der Schnittstelleneinheit 10 an das Speichermodul 123 in
der Schnittstelleneinheit 10.
-
Außerdem weist
der Mikroprozessor 101 die externe Schnitt stelle 100 an,
die vom Server 3 übertragenen
Aktualisierungsdaten in das Cachespeichermodul 126 in der
Speichereinheit zu schreiben (768).
-
Die
externe Schnittstelle 100 in der Schnittstelleneinheit 10,
die die Anweisung empfangen hat, liest die zum Übertragen der Aktualisierungsdaten
erforderliche Information aus einem vorbestimmten Bereich des Speichermoduls 123 in
der lokalen Schnittstelleneinheit 10. Auf Grundlage dieser
gelesenen Information überträgt die externe
Schnittstelle 100 in der Schnittstelleneinheit 10 die
Aktualisierungsdaten über
die Übertragungs-Steuereinheit 105 und
die Switcheinheit 51 an den Speichercontroller 125 in
der Speichereinheit 21. Der Speichercontroller 125,
der die Aktualisierungsdaten empfangen hat, überschreibt die im Cachespeichermodul 126 gespeicherten
Aktualisierungszieldaten mit den Anforderungsdaten (769).
Nach dem Ende des Schreibvorgangs informiert der Speichercontroller 125 den
Mikroprozessor 101, der die Anweisungen geliefert hat, über das
Ende des Schreibvorgangs für
die Aktualisierungsdaten.
-
Der
Mikroprozessor 101, der das Ende des Schreibvorgangs der
Aktualisierungsdaten in den Cachespeichermodul 126 erkannt
hat, greift auf das Steuerungsinformations-Speichermodul 127 in
der Speichereinheit 21 zu, und er aktualisiert die Verzeichnisinformation
für den
Cachespeicher (770). Genauer gesagt, registriert der Mikroprozessor 101 die
Aktualisierung des Inhalts des Cachespeichermoduls in der Verzeichnisinformation.
Einhergehend damit weist der Mikroprozessor 101 die externe
Schnittstelle 100, die die Schreibanforderung vom Server 3 empfangen
hat, an, die Mitteilung zum Abschluss des Datenschreibvorgangs an
den Server 3 zu liefern (771). Die externe Schnittstelle 100,
die diese Anweisung empfangen hat, liefert die Mitteilung zum Abschluss
des Datenschreibvorgangs an den Server 3 (772).
-
Wenn
die Aktualisierungszieldaten nicht im Cachespeichermodul 126 existieren
(nachfolgend auch als "Schreib-Fehltreffer" bezeichnet) (766), greift
der Mikroprozessor 101 auf das Cachespeichermodul 127 in
der Schnittstelleneinheit 21 zu, und er registriert die
Information zum Zuordnen eines Bereichs zum Speichern der Aktualisierungsdaten
im Cachespeichermodul 126 in der Schnittstelleneinheit 21,
genauer gesagt, die Information zum Spezifizieren eines offenen
Cacheschlitzes in der Verzeichnisinformation zum Cachespeicher (Cachebereichszuordnung)
(767). Nach der Cachebereichszuordnung führt das
Speichersystem 1 dieselbe Steuerung wie im Fall eines Schreibtreffers
aus. Im Fall eines Schreib-Fehltreffers
existieren die Aktualisierungszieldaten jedoch nicht im Cachespeichermodul 126, so
dass der Speichercontroller 125 die Aktualisierungsdaten
im Speicherbereich speichert, der als Bereich zum Speichern von
Aktualisierungsdaten zugeordnet wurde.
-
Dann
beurteilt der Mikroprozessor 101 die freie Kapazität des Cachespeichermoduls 126 (781) asynchron
zur Schreibanforderung zum Server 3, und er führt den
Prozess zum Aufzeichnen der in das Cachespeichermodul 126 geschriebenen
Aktualisierungsdaten in der Speichereinheit 21 in den Festplatten-Laufwerken 2 aus.
Genauer gesagt, greift der Mikroprozessor 101 auf das Steuerungsinformations-Speichermodul 127 in
der Speichereinheit 21 zu, und er erkennt aus der Verwaltungsinformation
des Speicherbereichs die Schnittstelleneinheit 10, mit
der die Festplatten-Laufwerken 2 zum Speichern der Aktualisierungsdaten
verbunden sind (nachfolgend auch als "Aktualisierungsziel-Schnittstelleneinheit 10" bezeichnet) (782).
Dann überträgt der Mikroprozessor 101 die
Information, die dazu erforderlich ist, die Aktualisierungsdaten
vom Cachespeichermodul 126 an die externe Schnittstelle 100 in
der Aktualisierungsziel-Schnittstelleneinheit 10 zu übertragen, über die Übertragungs-Steuereinheit 105 der
Prozessoreinheit 81, die Switcheinheit 51 und
die Übertragungs-Steuereinheit 105 in
der Schnittstelleneinheit 10 an das Speichermodul 123 in
der Aktualisierungsziel-Schnittstelleneinheit 10.
-
Dann
weist der Mikroprozessor 101 die Aktualisierungsziel-Schnittstelleneinheit 10 dazu
an, die Aktualisierungsdaten aus dem Cachespeichermodul 126 zu
lesen, und er überträgt sie an
die externe Schnittstelle 100 in der Aktualisierungsziel-Schnittstelleneinheit 10.
Die externe Schnittstelle 100 in der Aktualisierungsziel-Schnittstelleneinheit 10,
die die Anweisung empfangen hat, liest die zum Übertragen der Aktualisierungsdaten
erforderliche Information aus einem vorbestimmten Bereich des Speichermoduls 123 in
der lokalen Schnittstelleneinheit 10. Auf Grundlage dieser
gelesenen Information weist die externe Schnittstelle 100 in
der Aktualisierungsziel-Schnittstelleneinheit 10 den Speichercontroller 125 in
der Speichereinheit 21 dazu an, die Aktualisierungsdaten
aus dem Cachespeichermodul 126 zu lesen, und sie überträgt diese
Aktualisierungsdaten über
die Übertragungs-Steuereinheit 105 in
der Aktualisierungsziel-Schnittstelleneinheit 10 vom
Speichercontroller 125 an die externe Schnittstelle 100.
-
Der
Speichercontroller 125, der die Anweisung empfangen hat, überträgt die Aktualisierungsdaten
an die externe Schnittstelle 100 der Aktualisierungsziel-Schnittstelleneinheit 10 (783).
Die externe Schnittstelle 100, die die Aktualisierungsdaten
empfangen hat, schreibt diese in die Festplatten-Laufwerke 2 (784).
Auf diese Weise schreibt das Speichersystem 1 auf die Datenschreibanforderung
vom Server 3 hin Daten in das Cachespeichermodul, und es schreibt
auch Daten in die Festplatten-Laufwerke 2.
-
Im
Speichersystem 1 gemäß der vorliegenden
Ausführungsform
ist die Verwaltungskonsole 65 mit ihm verbunden, und von
dieser Verwaltungskonsole 65 aus wird die Systemkonfigurationsinformation
eingestellt, das Hochfahren/Herunterfahren des Systems wird gesteuert,
die Nutzung, der Betriebsstatus und Fehlerinformation in jeder Einheit
des Systems werden korrigiert, ein Sperr/Austausch-Prozess für einen
fehlerhaften Teil wird ausgeführt,
wenn Fehler auftreten, und das Steuerprogramm wird aktualisiert.
Hierbei sind die Systemkonfigurationsinformation, die Nutzungs-,
Betriebsstatus- und
Fehlerinformation im Steuerungsinformations-Speichermodul 127 in
der Speichereinheit 21 gespeichert. Im Speichersystem 1 ist
ein internes LAN (Local Area Network) 91 installiert. Jede
Prozessoreinheit 81 verfügt über eine LAN-Schnittstelle, und
die Verwaltungskonsole 65 und jede Prozessoreinheit 81 sind über das
interne LAN 91 verbunden. Die Verwaltungskonsole 65 greift über das
interne LAN auf jede Prozessoreinheit 81 zu, und sie führt die
oben genannten verschiedenen Prozesse aus.
-
Die 14 und 15 sind
Diagramme, die Konfigurationsbeispiele zur Montage des Speichersystems 1 mit
der Konfiguration gemäß der vorliegenden
Ausführungsform
in einem Einschubgestell veranschaulichen.
-
Im
Einschubgestell, das einen Rahmen des Speichersystems 1 bildet,
sind ein Spannungsversorgungseinheit-Chassis 823, ein Steuerungseinheit-Chassis 821 und
ein Platteneinheit-Chassis 822 montiert.
In diesen Chassis sind jeweils die oben genannten Einheiten eingeschlossen.
An einer Fläche des
Steuereinheit-Chassis 821 ist eine Rückwandplatine 831 angebracht,
auf die Signalleitungen zum Verbinden der Schnittstelleneinheit 10,
der Switcheinheit 51, der Prozessoreinheit 81 und
der Speichereinheit 81 gedruckt sind (15).
Die Rückwandplatine 831 besteht
aus mehreren Leiterplatten schichten, wobei in jeder Schicht Signalleitungen
aufgedruckt sind. Die Rückwandplatine 831 verfügt über einen
Verbinder 911, an den ein Schnittstellen-Platinenteil 801,
ein SW-Platinenteil 802 und ein Speicher-Platinenteil 803 oder
ein Prozessor-Platinenteil 804 angeschlossen sind. Die
Signalleitungen auf der Rückwandplatine 831 sind
so aufgedruckt, dass sie mit vorbestimmten Anschlüssen im
Verbinder 911 verbunden sind, mit denen jedes Platinenteil
verbunden ist. Signalleitungen zur Spannungsversorgung zum Zuführen von
Spannung an jedes Platinenteil sind ebenfalls auf die Rückwandplatine 831 gedruckt.
-
Das
Schnittstellen-Platinenteil 801 besteht aus mehreren Leiterplattenschichten,
wobei in jeder Schicht Signalleitungen aufgedruckt sind. Das Schnittstellen-Platinenteil 801 verfügt über einen
Verbinder 912, der mit der Rückwandplatine 831 zu
verbinden ist. Auf die Leiterplatte des Schnittstellen-Platinenteils 801 sind
Signalleitungen zum Verbinden einer Signalleitung zwischen der externen
Schnittstelle 100 und der Übertragungs-Steuereinheit 105 bei
der in der 8 dargestellten Konfiguration
der Schnittstelleneinheit 10, eine Signalleitung zwischen
dem Speichermodul 123 und der Übertragungs-Steuereinheit 105 sowie
eine Signalleitung zum Verbinden der Übertragungs-Steuereinheit 105 mit
der Switcheinheit 51 gedruckt. Auch sind auf die Leiterplatte
des Schnittstellen-Platinenteils 801, entsprechend den
Leiterbahnen auf der Leiterplatte, ein LSI 901 für eine externe
Schnittstelle, die die Rolle der externen Schnittstelle 100 spielt,
ein Übertragungssteuerungs-LSI
zum Spielen der Rolle der Übertragungs-Steuereinheit 105 sowie
mehrere Speicher-LSIs 903,
die das Speichermodul 123 bilden, aufgebaut.
-
Auf
die Leiterplatte des Schnittstellen-Platinenteils 801 sind
auch eine Spannungsversorgung zum Ansteuern des LSI 901 für eine externe
Schnittstelle, des Übertragungssteuerungs- LSI 902 und
des Speicher-LSI 903 sowie eine Signalleitung für ein Taktsignal
aufgedruckt. Das Schnittstellen-Platinenteil 801 verfügt auch über einen
Verbinder 913 zum Anschließen des Kabels 920,
das den Server 3 oder die Festplatten-Laufwerke 2 und den LSI 901 für eine externe
Schnittstelle verbindet, an das Schnittstellen-Platinenteil 801 anzuschließen. Die
Signalleitung zwischen dem Verbinder 913 und dem LSI 901 für eine externe
Schnittstelle ist auf die Leiterplatte gedruckt.
-
Das
SW-Platinenteil 802, das Speicher-Platinenteil 803 und
das Prozessor-Platinenteil 804 verfügen über Konfigurationen, die im
Wesentlichen gleich wie die des Schnittstellen-Platinenteils 801 sind. Anders
gesagt, sind die oben genannten LSIs, die die Rolle einer jeweiligen
Einheit spielen, auf der Leiterplatte montiert, und Signalleitungen,
die sie verbinden, sind auf die Leiterplatte gedruckt. Die anderen Platinenteile
verfügen
jedoch nicht über
die Verbinder 913 und die mit ihnen verbundenen Signalleitungen, über die
das Schnittstellen-Platinenteil 801 verfügt.
-
Auf
dem Steuereinheit-Chassis 821 ist das Platteneinheit-Chassis 822 angebracht,
das dazu dient, die Festplatten-Laufwerkseinheit 811 aufzunehmen,
in der ein Festplatten-Laufwerk 2 montiert ist.
Das Platteneinheit-Chassis 822 verfügt über eine Rückwandplatine 832 zum
Verbinden der Festplatten-Laufwerkseinheit 811 und des
Platteneinheit-Chassis. Die Festplatten-Laufwerkseinheit 811 und
die Rückwandplatine 832 verfügen über Verbinder
für wechselseitige
Verbindung. Genau wie die Rückwandplatine 831 besteht
die Rückwandplatine 832 aus
mehreren Leiterplattenschichten, wobei auf jede Schicht Signalleitungen
aufgedruckt sind. Die Rückwandplatine 832 verfügt über einen
Verbinder, mit dem Kabel 920 verbunden ist, das mit dem Schnittstellen-Platinenteil 801 zu
verbinden ist. Die Signalleitung zwischen diesem Verbinder und dem Verbinder
zum Verbinden der Platteneinheit 811 sowie die Signalleitung
zum Zuführen
von Spannung sind auf die Rückwandplatine 832 aufgedruckt.
-
Es
kann ein spezielles Platinenteil zum Anschließen des Kabels 920 vorhanden
sein, um dieses Platinenteil mit dem auf der Rückwandplatine 832 angebrachten
Verbinder zu verbinden.
-
Unter
dem Steuereinheit-Chassis 821 ist ein Spannungsversorgungseinheit-Chassis 823 angeordnet,
in das eine Spannungsversorgungseinheit zum Zuführen von Spannung zum gesamten
Speichersystem 1 und eine Batterieeinheit eingebaut sind.
-
Diese
Chassis sind in einem 19-Zoll-Einschubgestell (nicht dargestellt)
untergebracht. Für die
Positionsbeziehung des Chassis besteht keine Beschränkung auf
das dargestellte Beispiel, sondern das Spannungsversorgungseinheit-Chassis
kann z. B. oben montiert sein.
-
Das
Speichersystem 1 kann ohne Festplatten-Laufwerke 2 aufgebaut
sein. In diesem Fall werden Festplatten-Laufwerke 2, die
gesondert vom Speichersystem 1 existieren, sowie ein anderes Speichersystem 1 und
das Speichersystem 1, über das
Verbindungskabel 920 verbunden, das sich im Schnittstellen-Platinenteil 801 befindet.
Auch in diesem Fall sind die Festplatten-Laufwerke 2 in
das Platteneinheit-Chassis 822 eingebaut, und dieses ist
in das 19-Zoll-Einschubgestell eingebaut, das speziell für das Platteneinheit-Chassis
vorhanden ist. Das Speichersystem 1, das über Festplatten-Laufwerke 2 verfügt, kann
mit einem anderen Speichersystem 1 verbunden sein. Auch
in diesem Fall sind das Speichersystem 1 und das andere
Speichersystem 1 über das
Verbindungskabel 920 verbunden, das im Schnittstellen-Platinenteil 801 vorhanden
ist.
-
Gemäß der obigen
Beschreibung sind die Schnittstelleneinheit 10, die Prozessoreinheit 81,
die Speichereinheit 21 und die Switcheinheit in jeweils gesonderten
Platinenteilen untergebracht, jedoch ist es auch möglich, die
Switcheinheit 51, die Prozessoreinheit 81 und
die Speichereinheit 21 z. B. gemeinsam in einem Platinenteil
zu montieren. Es ist auch möglich,
alle Einheiten in einem Platinenteil zu montieren, also die Schnittstelleneinheit 10,
die Switcheinheit 51, die Prozessoreinheit 81 und
die Speichereinheit 21. In diesem Fall sind die Größen der
Platinenteile verschieden, und die Breite und die Höhe des in
der 18 dargestellten Steuereinheit-Chassis 821 müssen entsprechend
geändert werden.
In der 14 ist das Platinenteil im Steuereinheit-Chassis 821 in
einem Format vertikal zur Bodenfläche montiert, jedoch ist es
auch möglich,
das Platinenteil im Steuereinheit-Chassis 821 in einem Format
horizontal zur Bodenfläche
zu montieren. Es ist wahlfrei, welche Kombination der oben genannten Einheiten,
also der Schnittstelleneinheit 10, der Prozessoreinheit 81,
der Speichereinheit 21 und der Switcheinheit 51,
in einem Platinenteil montiert wird, und die oben genannte Montagekombination
ist ein Beispiel.
-
Die
Anzahl der Platinenteile, die im Steuereinheit-Chassis 821 montiert
werden können,
ist physikalisch durch die Breite des Steuereinheit-Chassis 821 und
die Dicke jedes Platinenteils bestimmt. Andererseits verfügt bei der
in der 2 dargestellten Konfiguration das Speichersystem 1 über eine
Konfiguration, bei der die Schnittstelleneinheit 10, die
Prozessoreinheit 81 und die Speichereinheit 21 über die Switcheinheit 51 miteinander
verbunden sind, so dass die Anzahlen jeder Einheit abhängig vom
Systemumfang, der Anzahl angeschlossener Server, der Anzahl angeschlossener
Festplatten-Laufwerke und dem erforderlichen Funktionsvermögen frei
eingestellt werden kann. Daher können
die Anzahlen der Schnittstellen-Platinenteil 801, der Speicher-Platinenteil 803 und
der Prozessor-Platinenteil 804 frei ausgewählt werden,
und sie können
montiert werden, wobei die Obergrenze diejenige Anzahl ist, wenn
die Anzahl der SW-Platinenteile von der Anzahl derjenigen Platinenteile
abgezogen wird, die im Steuereinheit-Chassis 821 montiert
werden können,
wobei der Verbinder zur Rückwandplatine 831,
mit Anbringung am Schnittstellen-Platinenteil 801, am Speicher-Platinenteil 803 und
am Prozessor-Platinenteil 804, wie in der 14 dargestellt,
gemeinsam genutzt wird, und durch vorab erfolgendes Bestimmen der
Anzahl der anzubringenden SW-Platinenteile 802 und des
Verbinders an der Rückwandplatine 831 zum Anschließen des
SW-Platinenteils 802. Dies ermöglicht es, ein Speichersystem 1 abhängig vom
Systemumfang, der Anzahl angeschlossener Server, der Anzahl angeschlossener
Festplatten-Laufwerke und dem vom Benutzer geforderten Funktionsvermögen flexibel
zu konstruieren.
-
Die
vorliegende Ausführungsform
ist dadurch gekennzeichnet, dass der Mikroprozessor 103 von
der Kanal-Schnittstelleneinheit 11 und der Platten-Schnittstelleneinheit 16 bei
der in der 20 dargestellten bekannten Technik
getrennt ist und er als Prozessoreinheit 81 unabhängig gemacht
ist. Dies ermöglicht
es, die Anzahl der Mikroprozessoren unabhängig von einer Erhöhung/Verringerung
der Anzahl von mit dem Server 3 oder Festplatten-Laufwerken 2 verbundenen
Schnittstellen zu erhöhen/zu
verringern und für
ein Speichersystem mit flexibler Konfiguration zu sorgen, das die
Erfordernisse des Benutzers flexibel unterstützen kann, wie die Anzahl der angeschlossenen
Server und Festplatten-Laufwerke 2, und das Funktionsvermögen des
Systems.
-
Auch
werden gemäß der vorliegenden
Ausführungsform
der Prozess, den der Prozessor 103 in der Kanal-Schnittstelleneinheit 11 während Lese- oder
Schreibvorgängen
von Daten üblicherweise ausführte, und
der Prozess, den der Mikroprozessor 103 in der Platten-Schnittstelleneinheit 16 dabei üblicherweise
ausführte,
integriert von einem Mikroprozessor 101 in der in der 1 dargestellten
Prozessoreinheit 81 ausgeführt. Dies ermöglicht es,
den Overhead bei der Übertragungsverarbeitung
zwischen den jeweiligen Mikroprozessoren 103 der Kanal-Schnittstelleneinheit
und der Platten-Schnittstelleneinheit, die beim Stand der Technik
erforderlich war, zu verringern.
-
Bei
zwei Mikroprozessoren 101 der Prozessoreinheit 81 oder
zwei Mikroprozessoren 101, von denen jeder von anderen
Prozessoreinheiten 81 ausgewählt wird, kann einer der zwei
Mikroprozessoren 101 eine Verarbeitung hinsichtlich der
Schnittstelleneinheit 10 seitens des Servers 3 ausführen, und
der andere kann eine Verarbeitung hinsichtlich der Schnittstelleneinheit 10 seitens
der Festplatten-Laufwerke 2 ausführen.
-
Wenn
die Verarbeitungsbelastung an der Schnittstelle zum Server 3 hin
größer als
die Verarbeitungsbelastung an der Schnittstelle zu den Festplatten-Laufwerken 2 ist,
kann der ersteren Verarbeitung mehr Verarbeitungsleistung des Mikroprozessors 101 zugewiesen
werden (z. B. Anzahl von Prozessoren, Nutzung eines Prozessors).
Wenn sich das Ausmaß der
Belastung umkehrt, kann der letzteren Verarbeitung mehr Verarbeitungsleistung
des Mikroprozessors 101 zugewiesen werden. Daher kann die
Verarbeitungsleistung (Ressource) des Mikroprozessors abhängig vom
Ausmaß der
Belastung jeder Verarbeitung im Speichersystem flexibel zugewiesen werden.
-
Die 5 ist
ein Diagramm, das ein Konfigurationsbeispiel der zweiten Ausführungsform
zeigt.
-
Das
Speichersystem 1 verfügt über eine Konfiguration,
bei der mehrere Cluster 70-1 bis 70-n mit der
Verbindungsein richtung 31 verbunden sind. Ein Cluster 70 verfügt über eine
vorbestimmte Anzahl von Schnittstelleneinheiten 10, mit
denen der Server 3 und Festplatten-Laufwerken 2 verbunden
sind, Speichereinheiten 21 sowie Prozessoreinheiten 81, und
einen Teil der Verbindungseinrichtung. Die Anzahl der jeweiligen
Einheiten, über
die ein Cluster 70 verfügt,
ist wahlfrei. Die Schnittstelleneinheiten 10, die Speichereinheiten 21 und
die Prozessoreinheiten 81 jedes Clusters 70 sind
mit der Verbindungseinrichtung 31 verbunden. Daher kann
jede Einheit jedes Clusters 70 Pakete mit jeder Einheit
eines anderen Clusters 70 über die Verbindungseinrichtung 31 austauschen.
Jeder Cluster 70 kann über
Festplatten-Laufwerke 2 verfügen. So können in einem Speichersystem 1 Cluster 70 mit
Festplatten-Laufwerken 2 und Cluster 70 ohne solche
gemeinsam existieren. Andernfalls können alle Cluster 70 über Festplatten-Laufwerke
verfügen.
-
Die 6 ist
ein Diagramm, das ein konkretes Konfigurationsbeispiel der Verbindungseinrichtung 31 zeigt.
-
Die
Verbindungseinrichtung 31 besteht aus vier Switcheinheiten 51 und
einem Kommunikationspfad zum Verbinden derselben. Diese Switches 51 sind
innerhalb jedes Clusters 70 installiert. Das Speichersystem 1 verfügt über zwei
Cluster 70. Ein Cluster 70 besteht aus vier Schnittstelleneinheiten 10, zwei
Prozessoreinheiten 81 und Speichereinheiten 21.
Wie oben angegeben, verfügt
ein Cluster 70 über zwei
der Switches 51 der Verbindungseinrichtung 31.
-
Die
Schnittstelleneinheiten 10, die Prozessoreinheiten 81 und
die Speichereinheiten 21 sind durch jeweils einen Kommunikationspfad
mit zwei Switcheinheiten 51 im Cluster 70 verbunden.
Dies ermöglicht
es, zwischen der Schnittstelleneinheit 10, der Prozessoreinheit 81 und
dem Speicher 21 zwei Kommunikationspfade bereitzustellen
und die Zuverlässigkeit zu
erhöhen.
-
Um
den Cluster 70-1 und den Cluster 70-2 zu verbinden,
wird eine Switcheinheit 51 in einem Cluster 70 mit
zwei Switcheinheiten 51 im anderen Cluster 70 über jeweils
einen Kommunikationspfad verbunden. Dies ermöglicht einen sich über Cluster
erstreckenden Zugriff selbst dann, wenn eine Switcheinheit 51 ausfällt oder
wenn ein Kommunikationspfad zwischen den Switcheinheiten 51 ausfällt, was
die Zuverlässigkeit
erhöht.
-
Die 7 ist
ein Diagramm, das ein Beispiel verschiedener Formate für die Verbindung
zwischen Clustern im Speichersystem 1 zeigt. Wie es die 7 zeigt,
ist jeder Cluster 70 mit einer Switcheinheit 55 verbunden,
die speziell zur Verbindung zwischen Clustern vorhanden ist. In
diesem Fall ist jede Switcheinheit 51 der Cluster 70-1 bis
3 über
jeweils einen Kommunikationspfad mit zwei Switcheinheiten 55 verbunden.
Dies ermöglicht
es, den Zugriff selbst dann über
Cluster zu erstrecken, wenn eine Switcheinheit 55 ausfällt, oder
wenn der Kommunikationspfad zwischen der Switcheinheit 51 und
der Switcheinheit 55 ausfällt, was die Zuverlässigkeit
erhöht.
-
Auch
in diesem Fall kann die Anzahl angeschlossener Cluster im Vergleich
zur Konfiguration in der 6 erhöht werden. Anders gesagt, ist
die Anzahl der Kommunikationspfade, die mit der Switcheinheit 51 verbunden
werden können,
physikalisch begrenzt. Jedoch kann unter Verwendung des speziellen
Switchs 55 für
Verbindung zwischen Clustern die Anzahl verbundener Cluster im Vergleich
zur Konfiguration in der 6 erhöht werden.
-
Auch
bei der Konfiguration gemäß der vorliegenden
Ausführungsform
ist der Mikroprozessor 103 von der Kanal-Schnitt stelleneinheit 11 und
der Platten-Schnittstelleneinheit 16 beim in der 20 dargestellten
Stand der Technik getrennt, und er ist in der Prozessoreinheit 81 unabhängig gemacht.
Dies ermöglicht
es, die Anzahl der Mikroprozessoren unabhängig von einer Vergrößerung/Verringerung
der Anzahl angeschlossener Schnittstellen zum Server 3 oder
zu Festplatten-Laufwerken Festplatten-Laufwerk zu erhöhen/zu verringern,
und es kann ein Speichersystem mit flexibler Konfiguration geschaffen werden,
das auf flexible Weise Forderungen von Benutzern hinsichtlich der
Anzahl angeschlossener Server 3 und Festplatten-Laufwerke 2 sowie
hinsichtlich des Funktionsvermögens
des Systems unterstützen kann.
-
Auch
bei der vorliegenden Ausführungsform werden,
wie bei der ersten Ausführungsform,
Datenlese- und Datenschreib-Verarbeitungsvorgänge ausgeführt. Dies bedeutet, dass auch
bei der vorliegenden Ausführungsform,
eine Verarbeitung, die herkömmlicherweise
vom Mikroprozessor 103 in der Kanal-Schnittstelleneinheit 11 ausgeführt wurde,
und eine Verarbeitung, die herkömmlicherweise
vom Mikroprozessor 103 in der Platten-Schnittstelleneinheit 16 ausgeführt wurde,
während
Datenlese- oder Datenschreibvorgänge
ausgeführt
werden, in einem Mikroprozessor 101 in der Prozessoreinheit 81 in
der 1 integriert sind und sie gemeinsam ausgeführt werden.
Dies ermöglicht
es, den Overhead bei der Übertragung
betreffend die Verarbeitung zwischen jedem Mikroprozessor 103 der
Kanal-Schnittstelleneinheit und der Platten-Schnittstelleneinheit,
was beim Stand der Technik erforderlich ist, zu verringern.
-
Wenn
gemäß der vorliegenden
Ausführungsform
Daten gelesen oder geschrieben werden, kann dieses Schreiben oder
Lesen von Daten vom mit einem Cluster 70 verbundenen Server 3 in
die Festplatten-Laufwerke 2 eines anderen Clusters 70 (oder
eines mit einem anderen Cluster 70 verbundenen Speichersys tems)
erfolgen. Auch in diesem Fall werden Lese- und Schreibvorgänge ausgeführt, wie sie
bei der ersten Ausführungsform
beschrieben sind. In diesem Fall kann die Prozessoreinheit 81 eines
Clusters Information für
den Zugriff auf die Speichereinheit 21 eines anderen Clusters 70 dadurch
erfassen, dass sie den Speicherraum der Speichereinheit 71 eines
individuellen Clusters 70 zu einem logischen Speicherraum
im gesamten Speichersystem 1 macht. Die Prozessoreinheit 81 eines
Clusters kann die Schnittstelleneinheit 10 eines anderen
Clusters dazu anweisen, Daten zu übertragen.
-
Das
Speichersystem 1 verwaltet den Datenträgerbereich, der aus mit jedem
Cluster verbundenen Festplatten-Laufwerken 2 besteht, in
einem Speicherraum, der gemeinsam von allen Prozessoreinheiten zu
verwenden ist.
-
Bei
der vorliegenden Ausführungsform
ist, genau wie bei der ersten Ausführungsform, die Verwaltungskonsole 65 mit
dem Speichersystem 1 verbunden, und von der Verwaltungskonsole 65 wird
die Systemkonfigurationsinformation eingestellt, es wird das Hochfahren/Herunterfahren
des Systems gesteuert, es werden die Nutzung jeder Einheit im System,
der Betriebsstatus und Fehlerinformation kontrolliert, es wird eine
Sperr/Austausch-Verarbeitung für
einen fehlerhaften Teil ausgeführt,
wenn ein Fehler auftritt, und das Steuerungsprogramm wird aktualisiert.
Hierbei sind die Konfigurationsinformation, die Nutzung, der Betriebsstatus
und Fehlerinformation des Systems im Steuerungsinformations-Speichermodul 127 in
der Speichereinheit 21 gespeichert. Im Fall der vorliegenden
Ausführungsform
besteht das Speichersystem 1 aus mehreren Clustern 70,
so dass für
jeden Cluster 70 eine Leiterplatte mit einem Unterstützungsprozessor
(Unterstützungsprozessoreinheit 85)
vorhanden ist. Die Unterstützungsprozessoreinheit 85 spielt
die Rolle des Übertragens
von Anweisungen von der Verwaltungskonsole 65 an jede Prozessoreinheit 81 oder des Übertragens
von durch jede Prozessoreinheit 81 gesammelter Information
an die Verwaltungskonsole 65. Die Verwaltungskonsole 65 und
die Unterstützungsprozessoreinheit 85 sind über das
interne LAN 92 angeschlossen. Im Cluster 70 ist
das interne LAN 91 installiert, und jede Prozessoreinheit 81 verfügt über eine LAN-Schnittstelle,
und die Unterstützungsprozessoreinheit 85 und
jede Prozessoreinheit 81 sind über das interne LAN 91 verbunden.
Die Verwaltungskonsole 65 greift über die Unterstützungsprozessoreinheit 85 auf
jede Prozessoreinheit 81 zu, und sie führt die oben genannten verschiedenen
Prozesse aus. Die Prozessoreinheit 81 und die Verwaltungskonsole 65 können über das
LAN direkt, ohne den Unterstützungsprozessor,
verbunden sein.
-
Die 17 ist
eine Variantenform der vorliegenden Ausführungsform des Speichersystems 1. Wie
es die 17 zeigt, ist mit der Schnittstelleneinheit 10 zum
Anschließen
des Servers 3 oder von Festplatten-Laufwerken 2 ein
anderes Speichersystem 4 verbunden. In diesem Fall speichert
das Speichersystem 1 die Information zum Speicherbereich (nachfolgend
auch als "Datenbereich" bezeichnet), der
durch das andere Speichersystem 4 bereitgestellt wird,
sowie Daten, die in das andere Speichersystem einzuspeichern sind
(oder aus ihm zu lesen sind) im Cachespeichermodul 126 und
im Cachespeichermodul 127 im Cluster 70, wo die
Schnittstelleneinheit 10, mit der das andere Speichersystem 4 verbunden
ist, existiert.
-
Der
Mikroprozessor 101 im Cluster 70, mit dem das
andere Speichersystem 4 verbunden ist, verwaltet den durch
das andere Speichersystem 4 bereitgestellten Datenbereich
auf Grundlage der im Steuerungsinformations-Speichermodul 127 gespeicherten
Information. Z. B. ordnet der Mikroprozessor 101 den durch
das andere Speichersystem 4 bereitgestellten Datenbereich
dem Server 4 als solchen Datenbereich zu, der durch das
Speichersystem 1 bereitgestellt wird. Dies ermöglicht es,
dass der Server 3 über
das Speichersystem 1 auf den Datenbereich des anderen Speichersystems 4 zugreift.
-
In
diesem Fall verwaltet das Speichersystem 1 den aus den
lokalen Festplatten-Laufwerken 2 bestehenden Datenbereich
und den durch das andere Speichersystem 4 bereitgestellten
Datenbereich gemeinsam.
-
In
der 17 speichert das Speichersystem 1 eine
Tabelle, die die Verbindungsbeziehung zwischen den Schnittstelleneinheiten 10 und
Servern 3 anzeigt, im Steuerspeichermodul 127 in
der Speichereinheit 21. Außerdem verwaltet der Mikroprozessor 101 im
selben Cluster 70 die Tabelle. Genauer gesagt, ändert (aktualisiert,
fügt hinzu
oder löscht)
der Mikroprozessor 101, wenn eine Verbindungsbeziehung
zwischen den Servern 3 und den Hostschnittstellen 100 hinzugefügt oder
geändert
wird, den Inhalt der oben genannten Tabelle. Dies ermöglicht eine
Kommunikation sowie Datenübertragung über das
Speichersystem 1 zwischen mehreren mit diesem verbundenen
Servern 3. Dies kann auch bei der ersten Ausführungsform
implementiert werden.
-
In
der 17 überträgt das Speichersystem 1,
wenn der mit der Schnittstelleneinheit 10 verbundene Server 3 Daten
mit dem Speichersystem 4 überträgt, Daten zwischen der Schnittstelleneinheit 10,
mit der der Server 3 verbunden ist, und der Schnittstelleneinheit 10,
mit der das Speichersystem 4 verbunden ist, über die
Verbindungseinrichtung 31. Dabei kann das Speichersystem 1 für die zu übertragenden
Daten im Cachespeichermodul 126 in der Speichereinheit 21 einen
Cachevorgang ausführen. Dies
verbessert das Funktionsvermögen
der Datenübertragung
zwischen dem Server 3 und dem Speichersystem 4.
-
Bei
der vorliegenden Ausführungsform
ist die in der 18 dargestellte Konfiguration
der Verbindung des Speichersystems 1 und des Servers 3 sowie
des anderen Speichersystems 4 über den Switch 65 möglich. In
diesem Fall greift der Server 3 auf den Server 3 und
das andere Speichersystem 4 über die externe Schnittstelle 100 in
der Schnittstelleneinheit 10 und den Switch 65 zu.
Dies ermöglicht
es, vom mit dem Speichersystem 1 verbundenen Server 3 auf den
Server 3 und das andere Speichersystem 4 zuzugreifen,
die mit einem Switch 65 oder einem Netzwerk aus mehreren
Switches 65 verbunden sind.
-
Die 19 ist
ein Diagramm, das ein Konfigurationsbeispiel für den Fall zeigt, dass das
Speichersystem 1 mit der in der 6 dargestellten
Konfiguration in einem Einschubgestell montiert ist.
-
Die
Montagekonfiguration ist im Wesentlichen dieselbe wie diejenige
in der 14. Anders gesagt, sind die
Schnittstelleneinheit 10, die Prozessoreinheit 81,
die Speichereinheit 21 und die Switcheinheit 51 im
Platinenteil montiert und mit der Rückwandplatine 831 im
Steuereinheit-Chassis 821 verbunden.
-
Bei
der Konfiguration in der 6 sind die Schnittstelleneinheiten 10,
die Prozessoreinheiten 81, die Speichereinheit 21 und
die Switcheinheiten 51 als Cluster 70 gruppiert.
So existiert ein Steuereinheit-Chassis 821 für jeden
Cluster 70. Jede Einheit eines Clusters 70 ist
in einem Steuereinheit-Chassis 821 montiert. Anders gesagt,
sind Platinenteile verschiedener Cluster 70 in verschiedenen
Steuereinheit-Chassis 821 montiert.
Auch sind hinsichtlich der Verbindung zwischen Clustern 70 die
in verschiedenen Steuereinheit-Chassis
montierten SW-Platinenteile 802 mit dem Kabel 921 verbunden,
wie es in der 19 dargestellt ist. In diesem
Fall ist der Verbinder zum Anschließen des Kabels 921 im
SW- Gehäuse 802 montiert,
genau wie beim in der 19 dargestellten Schnittstellengehäuse 801.
-
Die
Anzahl der in einem Steuereinheit-Chassis 821 montierten
Cluster kann eins oder null sein. Außerdem kann die Anzahl der
in einem Steuereinheit-Chassis 821 zu montierenden Cluster
zwei sein.
-
Beim
Speichersystem 1 mit der Konfiguration der Ausführungsformen
1 und 2 werden durch die Schnittstelleneinheit 10 empfangene
Befehle durch die Prozessoreinheit 81 decodiert. Jedoch
existieren viele Protokolle, denen die Befehle folgen, wie sie zwischen
dem Server 3 und dem Speichersystem 1 ausgetauscht
werden, so dass es nicht praxisgerecht ist, den gesamten Protokollanalysierprozess
durch einen üblichen
Prozessor auszuführen.
Zu hier angesprochenen Protokollen gehören z. B. das File-I/O(Input/Output)-Protokoll
unter Verwendung eines Dateinamens, das iSCSI(internet Small Computer
System interface)-Protokoll und das Protokoll, wie es verwendet
wird, wenn ein Großcomputer
(Großrechner)
als Server dient (Kanalbefehlswort: CCW (channel command Word)).
-
So
ist bei der vorliegenden Ausführungsform ein
spezieller Prozessor zur Verarbeitung dieser Protokolle mit hoher
Geschwindigkeit zu allen Schnittstelleneinheiten 10, oder
einem Teil derselben, bei den Ausführungsformen 1 und 2 hinzugefügt. Die 13 ist
ein Diagramm, das ein Beispiel der Schnittstelleneinheit 10 für den Fall
zeigt, dass der Mikroprozessor 102 mit der Übertragungs-Steuereinheit 105 verbunden
ist (nachfolgend wird diese Schnittstelleneinheit 10 als "Anwendungssteuereinheit 19" bezeichnet).
-
Das
Speichersystem 1 der vorliegenden Ausführungsform verfügt über die
Anwendungssteuereinheit 19 anstatt alle oder einen Teil
der Schnittstelleneinheiten 10 des Speichersys tems 1 bei
den Ausführungsformen
1 und 2. Die Anwendungssteuereinheit 19 ist mit der Verbindungseinrichtung 31 verbunden.
Hierbei ist angenommen, dass die externen Schnittstellen 100 der
Anwendungssteuereinheit 19 solche externe Schnittstellen
sind, die nur solche Befehle empfangen, die dem Protokoll folgen,
das durch den Mikroprozessor 102 der Anwendungssteuereinheit 19 zu
verarbeiten ist. Eine externe Schnittstelle 100 kann mehrere
Befehle empfangen, die verschiedenen Protokollen folgen.
-
Der
Mikroprozessor 102 führt
den Protokollwandlungsprozess gemeinsam mit der externen Schnittstelle 100 aus.
Genauer gesagt, führt
der Mikroprozessor 102, wenn die Anwendungssteuereinheit 19 eine
Zugriffsanforderung vom Server 3 empfängt, den Prozess zum Wandeln
des Protokolls des durch die externe Schnittstelle empfangenen Befehls in
das Protokoll für
die interne Datenübertragung
aus.
-
Es
ist auch möglich,
die Schnittstelleneinheit 10 als solche zu verwenden, anstatt
eine spezielle Anwendungssteuereinheit 19 anzubringen,
wobei einer der Mikroprozessoren 101 in der Prozessoreinheit 81 speziell
zur Protokollverarbeitung verwendet wird.
-
Der
Datenlese- und der Datenschreibprozess bei der vorliegenden Ausführungsform
werden auf dieselbe Weise wie bei der ersten Ausführungsform
ausgeführt.
Bei der ersten Ausführungsform überträgt die Schnittstelleneinheit 10,
die den Befehl empfangen hat, denselben jedoch zur Prozessoreinheit 81,
ohne eine Befehlsanalyse auszuführen,
jedoch wird bei der vorliegenden Ausführungsform der Befehlsanalysierprozess
in der Anwendungssteuereinheit 19 ausgeführt. Außerdem überträgt die Anwendungssteuereinheit 19 das
Analyseergebnis (z. B. den Inhalt des Befehls, das Ziel der Daten)
an die Prozessoreinheit 81. Die Prozessoreinheit 81 steuert die Datenübertragung
im Speichersystem 1 auf Grundlage der analysierten Information.
-
Als
andere Ausführungsform
der Erfindung ist auch die folgende Konfiguration möglich. Genauer gesagt,
handelt es sich um ein Speichersystem mit mehreren Schnittstelleneinheiten,
von denen jede über
eine Schnittstelle zu einem Computer oder einem Festplatten-Laufwerk
verfügt,
mehrere Speichereinheiten, von denen jede über einen Cachespeicher zum
Speichern von Daten verfügt,
die aus dem Computer oder dem Festplatten-Laufwerk zu lesen/dorthin
zu schreiben sind, und einen Steuerspeicher zum Speichern von Steuerungsinformation
für das
System, sowie mehrere Prozessoreinheiten, von denen jede über einen
Mikroprozessor zum Steuern des Lesens/-Schreibens von Daten zwischen dem Computer
und dem Festplatten-Laufwerk verfügt, wobei die mehreren Schnittstelleneinheiten,
die mehreren Speichereinheiten und die mehreren Prozessoreinheiten
durch eine Verbindungseinrichtung verbunden sind, die ferner über mindestens
eine Switcheinheit verfügt,
und wobei Daten oder Steuerungsinformation zwischen den mehreren
Schnittstelleneinheiten, den mehreren Speichereinheiten und den
mehreren Prozessoreinheiten über
die Verbindungseinrichtung gesendet/empfangen wird.
-
Bei
dieser Konfiguration verfügen
die Schnittstelleneinheit, die Speichereinheit oder die Prozessoreinheit über eine Übertragungs-Steuereinheit
zum Steuern des Sendens/Empfangens von Daten oder Steuerungsinformation.
Bei dieser Konfiguration sind die Schnittstelleneinheiten auf einer
ersten Leiterplatte montiert, die Speichereinheiten sind auf einer
zweiten Leiterplatte montiert, die Prozessoreinheiten sind auf einer
dritten Leiterplatte montiert und mindestens eine Switcheinheit
ist auf einer vierten Leiterplatte montiert. Auch verfügt diese
Konfiguration über
mindestens eine Rückwandplatine,
auf die Signalleitungen aufgedruckt sind, die eine Verbindung zwischen
der ersten bis vierten Leiterplatte herstellen, und die über einen
ersten Verbinder zum Verbinden der ersten bis vierten Leiterplatte
mit den aufgedruckten Signalleitungen verfügt. Auch verfügen bei
der vorliegenden Konfiguration die erste bis vierte Leiterplatte über einen
zweiten Verbinder, der mit dem ersten Verbinder der Rückwandplatine
zu verbinden ist.
-
Bei
der oben genannten Erscheinungsform kann die Gesamtanzahl der Leiterplatten,
die mit der Rückwandplatine
verbunden werden können,
n sein, und die Anzahl der vierten Leiterplatten und deren Verbindungsstellen
können
vorab so bestimmt werden, dass die jeweiligen Anzahlen der ersten,
zweiten und dritten Leiterplatten, die mit der Rückwandplatine verbindbar sind,
frei in einem Bereich gewählt werden
können,
in dem die Gesamtanzahl der ersten bis vierten Leiterplatten den
Wert n nicht überschreitet.
-
Eine
andere Erscheinungsform der Erfindung kann die folgende Konfiguration
aufweisen. Genauer gesagt, handelt es sich um ein Speichersystem mit
mehreren Clustern, ferner mehreren Schnittstelleneinheiten, von
denen jede über
eine Schnittstelle zu einem Computer oder einem Festplatten-Laufwerk
verfügt,
mehreren Speichereinheiten, von denen jedes über einen Cachespeicher zum
Speichern von Daten verfügt,
die aus dem Computer oder dem Festplatten-Laufwerk zu lesen/dorthin
zu schreiben sind, und einem Steuerspeicher zum Speichern der Steuerungsinformation
des Systems, und mit mehreren Prozessoreinheiten, von denen jeder über einen Mikroprozessor
zum Steuern des Lesens/Schreibens von Daten zwischen dem Computer
und dem Festplatten-Laufwerk verfügt.
-
Bei
dieser Konfiguration sind die mehreren Schnittstelleneinheiten,
die mehreren Speichereinheiten und die mehreren Prozessoreinheiten, über die
jeder Cluster verfügt,
durch eine Verbindungseinrichtung, die aus mehreren Switcheinheiten
besteht, so verbunden, dass sie sich über mehrere Cluster erstrecken.
Dadurch werden Daten oder Steuerungsinformation zwischen den mehreren
Schnittstelleneinheiten, den mehreren Speichereinheiten und den mehreren
Prozessoreinheiten in jedem Cluster über die Verbindungseinrichtung
gesendet/-empfangen. Auch
bei dieser Konfiguration sind die Schnittstelleneinheit, die Speichereinheit
und die Prozessoreinheit jeweils mit dem Switch verbunden, und sie
verfügen ferner über eine Übertragungs-Steuereinheit
zum Steuern des Sendens/Empfangens von Daten oder Steuerungsinformation.
-
Auch
bei dieser Konfiguration sind die Schnittstelleneinheiten auf einer
ersten Leiterplatte montiert, die Speichereinheiten sind auf einer
zweiten Leiterplatte montiert, die Prozessoreinheiten sind auf einer
dritten Leiterplatte montiert und mindestens eine der Switcheinheiten
ist auf einer vierten Leiterplatte montiert. Außerdem verfügt diese Konfiguration über mehrere
Rückwandplatinen,
auf die Signalleitungen zum Verbinden der ersten bis vierten Leiterplatte
aufgedruckt sind, und die über
einen ersten Verbinder zum Verbinden der ersten bis vierten Leiterplatte
mit der aufgedruckten Signalleitung verfügen, wobei die erste bis vierte
Leiterplatte ferner einen zweiten Verbinder für Verbindung der Rückwandplatinen
mit dem ersten Verbinder aufweisen. Bei dieser Konfiguration besteht
der Cluster aus einer Rückwandplatine,
mit der die erste bis vierte Leiterplatte verbunden sind. Die Anzahl
der Cluster und die Anzahl der Rückwandplatinen
können
bei dieser Konfiguration gleich sein.
-
Bei
dieser Konfiguration verfügt
die vierte Leiterplatte ferner über
einen dritten Verbinder zum Anschließen eines Kabels, und auf dieser
vierten Platte sind Signalleitungen zum Anschließen des dritten Verbinders
und von Switcheinheiten verlegt. Dies erlaubt ein Verbinden der
Cluster dadurch, dass die dritten Verbinder durch ein Kabel miteinander
verbunden werden.
-
Gemäß einer
anderen Erscheinungsform der Erfindung ist auch die folgende Konfiguration
möglich.
Genauer gesagt, handelt es sich um ein Speichersystem mit einer
Schnittstelleneinheit mit einer Schnittstelle zum Computer oder
zum Festplatten-Laufwerk, einer Speichereinheit mit einem Cachespeicher
zum Speichern von Daten, die aus dem Computer oder dem Festplatten-Laufwerk
zu lesen/dorthin zu schreiben sind, und einem Steuerspeicher zum
Speichern von Steuerungsinformation des Systems, und mit einer Prozessoreinheit
mit einem Mikroprozessor zum Steuern des Lesens/Schreibens von Daten
zwischen einem Computer und einem Festplatten-Laufwerk, wobei die
Schnittstelleneinheit, die Speichereinheit und die Prozessoreinheit durch
eine Verbindungseinrichtung miteinander verbunden sind, die ferner über mindestens
eine Switcheinheit verfügt.
Bei dieser Konfiguration werden Daten oder Steuerungsinformation
zwischen der Schnittstelleneinheit, der Speichereinheit und der Prozessoreinheit über die
Verbindungseinrichtung gesendet/empfangen.
-
Bei
dieser Konfiguration ist die Schnittstelleneinheit auf einer ersten
Leiterplatte montiert, und die Speichereinheit, die Prozessoreinheit
und die Switcheinheit sind auf einer fünften Leiterplatte montiert.
Diese Konfiguration verfügt
ferner über
mindestens eine Rückwandplatine,
auf die Signalleitungen zum Verbinden der ersten und der fünften Leiterplatte aufgedruckt
sind, und die über
einen vierten Verbinder zum Verbinden der ersten und der fünften Leiterplatte
mit den aufgedruckten Signalleitungen verfügt, wobei die erste und die
fünfte
Leiterplatte ferner einen fünften
Verbinder für
Verbindung zum vierten Verbinder der Rückwandplatine aufweisen.
-
Gemäß einer
anderen Erscheinungsform der Erfindung ist die folgende Konfiguration
möglich.
Genauer gesagt, handelt es sich um ein Speichersystem mit einer
Schnittstelleneinheit mit einer Schnittstelle zu einem Computer
oder einem Festplatten-Laufwerk, einer Speichereinheit mit einem
Cachespeicher zum Speichern von Daten, die aus dem Computer oder
dem Festplatten-Laufwerk zu Lesen/dorthin zu schreiben sind, und
einem Steuerspeicher zum Speichern von Steuerungsinformation des
Systems, und mit einer Schnittstelleneinheit mit einem Mikroprozessor
zum Steuern des Lesens/Schreibens von Daten zwischen dem Computer
und dem Festplatten-Laufwerk, wobei die Schnittstelleneinheit, die Speichereinheit
und die Prozessoreinheit durch eine Verbindungseinrichtung miteinander
verbunden sind, die ferner über
mindestens eine Switcheinheit verfügt. Bei dieser Konfiguration
sind die Schnittstelleneinheit, die Speichereinheit, die Prozessoreinheit
und die Switcheinheit auf einer sechsten Leiterplatte montiert.
-
Gemäß der Erfindung
kann ein Speichersystem mit flexibler Konfiguration geschaffen werden, das
Forderungen der Benutzer hinsichtlich der Anzahl angeschlossener
Server, der Anzahl angeschlossener Festplatten-Laufwerke und des
Funktionsvermögens
des Systems unterstützen
kann. Der Flaschenhals eines gemeinsamen Speichers des Speichersystems
ist überwunden,
es kann eine kleine Konfiguration billig bereitgestellt werden,
und es kann ein Speichersystem geschaffen werden, das für Skalierbarkeit
der Kosten und des Funktionsvermögens,
von kleinem bis zu großem
Umfang, sorgen kann.