-
Die
Erfindung betrifft ein Speichersteuerungssystem, wie beispielsweise
ein RAID-System.
-
Ein
Datenbanksystem, das Daten in großem Umfang handhabt, wie beispielsweise
ein Datenzentrum, verwaltet Daten unter Verwendung eines Speichersteuerungssystems,
das getrennt von einem Hostcomputer aufgebaut ist. Dieses Speichersteuerungssystem
ist ein Plattenarraysystem wie ein RAID (Redundant Array of Independent
Inexpensive Disks), das beispielsweise dadurch aufgebaut wird, dass
mehrere Speichervorrichtungen in Form eines Arrays angeordnet werden.
-
Wie
es beispielsweise in der Offenlegung Nr. 2003-316713 zu einer japanischen
Patentanmeldung offenbart ist, verfügt ein Speichersteuerungssystem dieser
Art über
einen Netzwerk-Kanaladapter (nachfolgend 'CHN'),
der eine I/O-Anforderung
für eine
Dateieinheit verarbeitet, weswegen es sich um einen NAS (Network
Area Storage) handeln kann.
-
Das
oben angegebene Speichersteuerungssystem kann durch Anbringen eines
CHN als Dateiserver arbeiten. Jedoch wird es als nützlicher
angesehen, wenn das Speichersteuerungssystem außer als Dateiserver als anderer
Servertyp arbeiten kann. Genauer gesagt, wird beispielsweise die
Implementierung eines sogenannten Server-Dreiebenenmodells mit einem
einzelnen Speichersteuerungssystem als wünschenswert angesehen.
-
Als
Verfahren zum Implementieren des Betriebs als anderer Servertyp
zusätzlich
zu einem Dateiserver mit einem einzelnen Speichersteuerungssystem,
kann beispielsweise ein Verfahren betrachtet werden, bei dem die
individuelle CHN-Leistungsfähigkeit
erhöht
wird. Jedoch ist es schwierig, dieses Verfahren tatsächlich auszuführen. Dies,
da für
das Speichersteuerungssystem normalerweise ein vorbestimmter Formfaktor
existiert.
-
Genauer
gesagt, kann der CHN beispielsweise insgesamt aus einer flachen
Platine bestehen, wie es in der 3 der obigen
Veröffentlichung
dargestellt ist. Aus diesem Grund können mehrere Adaptersteckplätze, in
die ein CHN ein gesteckt wird, mit enger Schrittweite angeordnet
sein, wie es in der 2 der obigen Veröffentlichung
dargestellt ist. Jeder Adaptersteckplatz ist so aufgebaut, dass
der Benutzer nicht nur einen CHN sondern auch eine andere optionale
Adapterkarte (beispielsweise einen Plattenadapter) einstecken kann,
wie es in der 2 und dem Absatz 27
der obigen Veröffentlichung
angegeben ist. In diesem Fall muss, wenn ein CHN einfach hohe Leistungsfähigkeit
bringt, derselbe mehr Wärme
als eine andere Adapterkarte erzeugen, und es ist viel elektrische
Energie erforderlich, was bedeutet, dass man sich nicht mehr an
Einschränkungen
hinsichtlich des Formfaktors betreffend den Adaptersteckplatz halten
kann.
-
Außerdem kann
als anderes Verfahren zum Implementieren des obigen ein solches
in Betracht gezogen werden, bei dem ein Speichersteuerungssystem
neu aufgebaut wird, dessen Formfaktor insgesamt weniger streng ist.
Wenn jedoch dieses Verfahren auf einfache Weise beispielsweise in
Fällen angewandt
wird, in denen der Formfaktor eines Speichersteuerungssystems für ein SAN
(Storage Area Network) spezifiziert ist, besteht das Problem, dass dann
ein Design für
den neuen Formfaktor auf CHN-Basis (d.h. einen Formfaktor für den NAS)
erforderlich ist.
-
Ferner
können,
wenn ein NAS-Formfaktor verwendet wird, beispielsweise nicht mehrere SAN-Adapterkarten
im Speichersteuerungssystem installiert werden, und es besteht das
Problem, dass dann die Montageeffizienz abnimmt.
-
Daher
ist es ein Ziel der Erfindung, die Leistungsfähigkeit eines Speichersteuerungssystems
mit minimalen Änderungen
am Formfaktor zu erhöhen. Vorzugsweise
wird die NAS-bezogene Leistungsfähigkeit
selbst dann, wenn das Speichersteuerungssystem beispielsweise für einen
SAN-Formfaktor konzipiert ist, erhöht, ohne dass große Änderungen am
Formfaktor zu implementieren wären.
-
Weitere
Ziele der Erfindung werden aus der folgenden Beschreibung ersichtlich.
-
Das
Speichersteuerungssystem gemäß einer
ersten Erscheinungsform der Erfindung weist, im selben Gehäuse, Folgendes
auf: eine Daten speichernde Speichervorrichtung; eine Speichervorrichtungs-Steuerungseinheit,
die Daten in Bezug auf die Speichervorrichtung liest oder schreibt;
mehrere Kanalsteuerungseinheiten, die als Server arbeiten; einen
oder mehrere Speicher zum Speichern der Daten, wie sie zwischen
der Speichervorrichtungs-Steuerungseinheit und einer aus den mehreren
Kanalsteuerungseinheiten ausgewählten
Kanalsteuerungseinheit ausgetauscht werden; ein Datenkommunikationsmedium
und ein Zwischenserver-Kommunikationsmedium. Das Datenkommunikationsmedium
ist mit der Speichervorrichtungs-Steuerungseinheit, den mehreren
Kanalsteuerungseinheiten und dem einen oder den mehreren Speichern
verbunden, und es bildet ein Kommunikationsmedium für den Datenaustausch
zwischen der Speichervorrichtungs-Steuerungseinheit, der ausgewählten Kanalsteuerungseinheit
und dem einen oder den mehreren Speichern. Das Zwischenserver-Kommunikationsmedium
ist getrennt vom Datenkommunikationsmedium vorhanden, und es ist
mit den mehreren Kanalsteuerungseinheiten verbunden und bildet ein
Medium für
Kommunikationsvorgänge
zwischen jeder der mehreren Kanalsteuerungseinheiten und den anderen
Kanalsteuerungseinheiten. Die mehreren Kanalsteuerungseinheiten
sind im selben Gehäuse
montiert, und sie beinhalten zwei oder mehr NAS-Kopfelemente, die
eine Scale-Out-NAS-Kopfgruppe bilden, und einen Scale-Up-NAS-Kopf
mit höherer
Leistungsfähigkeit
als der des NAS-Kopfelements. Das Gehäuse verfügt über mehrere Universalsteckplätze, in
die das NAS-Kopfelement und ein anderer Typ einer Kanalsteuerungseinheit,
die vom NAS-Kopfelement verschieden ist, eingesetzt werden. Jedes
der zwei oder mehr NAS-Kopfelemente wird montiert in die Universalsteckplätze eingesetzt.
Der Scale-Up-NAS-Kopf wird im Gehäuse an einer anderen Stelle
als der der mehreren Universalsteckplätze montiert.
-
Bei
einer ersten Ausführungsform
des Speichersteuerungssystems gemäß der ersten Erscheinungsform
der Erfindung verfügen
vom NAS-Kopfelement, vom Scale-Up-NAS-Kopf
und von der Speichervorrichtungs-Steuerungseinheit mindestens eines über einen
ersten Prozessor, der Daten blockbasiert verarbeitet. Das NAS-Kopfelement verfügt über einen
oder mehrere erste Speicher, die von dem einen oder den mehreren
Speichern verschieden sind, und einen oder mehrere zweite Prozessoren
mit höherer
Leistungsfähigkeit
als der des ersten Prozessors, wobei der eine oder die mehreren
ersten Speicher von einem zweiten Prozessor unter dem einen oder
den mehreren zweiten Prozessoren verwendet werden, anstatt dass
sie gemeinsam vom einen oder den mehreren zweiten Prozessoren genutzt
würden.
-
Eine
Scale-Out-NAS-Kopfgruppe ist dadurch geschaffen, dass unter Verwendung
mehrerer dieser NAS-Kopfelemente eine serielle oder parallele Verarbeitung
ausgeführt
wird. Der Scale-Up-NAS-Kopf verfügt über einen
zweiten Speicher, der vom einen oder den mehreren Speichern verschieden
ist, und mehrere dritte Prozessoren mit höherer Leistungsfähigkeit
als der des ersten Prozessors, wobei der zweite Speicher von den
mehreren dritten Prozessoren gemeinsam genutzt wird. Die zweiten
und die dritten Prozessoren können
vom selben Prozessortyp sein (beispielsweise Prozessoren mit derselben Arbeitsfrequenz).
-
Bei
einer zweiten Ausführungsform
des Speichersteuerungssystems gemäß der ersten Erscheinungsform
der Erfindung existiert in der Speichervorrichtung der ersten Ausführungsform
eine Datenbank. Der zweite Prozessor des NAS-Kopfelements arbeitet
dadurch als Web-Server, dass ein Computerprogramm für den Betrieb
als Web-Server gelesen wird. Die mehreren dritten Prozessoren des Scale-Out-NAS-Kopfs
arbeiten dadurch als Datenbankserver, dass ein Computerprogramm
für den
Betrieb als Datenbankserver, der die Datenbank bearbeitet, gelesen
wird.
-
Bei
einer dritten Ausführungsform
des Speichersteuerungssystems gemäß der ersten Erscheinungsform
der Erfindung schickt der zweite Prozessor des NAS-Kopfelements der
zweiten Ausführungsform
entsprechend einem Zugriff durch eine externe Vorrichtung, die mit
einem externen Kommunikationsnetzwerk des Speichersteuerungssystems verbunden
ist, über
das Zwischenserver-Kommunikationsmedium eine Abfrage an den Scale-Up-NAS-Kopf.
Die so gelieferte Abfrage wird beispielsweise im zweiten Speicher
des Scale-Up-NAS-Kopfs gespeichert. Mindestens einer der mehreren
dritten Prozessoren bearbeitet die Datenbank entsprechend der Abfrage über die
Speichervorrichtungs-Steuerungseinheit, und so liest er Antwortdaten,
bei denen es sich um Daten für
die Abfrage handelt, über
das Datenkommunikationsmedium hinsichtlich des einen oder der mehreren
Speicher, und er liefert eine Antwortmeldung zur Abfrage über das
Zwischenserver-Kommunikationsmedium an den zweiten Prozessor des
NAS-Kopfelements. Der zweite Prozessor empfängt die Abfragemeldung, er erfasst
die im einen oder den mehreren Speichern gespeicherten Antwortdaten über das
Datenkommunikationsmedium, und er versorgt die externe Vorrichtung
mit den erfassten Antwortdaten oder mit Daten, die durch Verarbeiten
derselben erhalten werden.
-
Bei
einer vierten Ausführungsform
des Speichersteuerungssystems gemäß der ersten Erscheinungsform
der Erfindung werden, wenn zwischen dem NAS-Kopfelement und dem
Scale-Up-NAS-Kopf Daten und Zwischenserver-Mitteilungen ausgetauscht
werden, diese über
das Zwischenserver-Kommunikationsmedium ausgetauscht; und die Daten
werden über
den einen oder die mehreren Speicher und das Datenkommunikationsmedium
ausgetauscht.
-
Bei
einer fünften
Ausführungsform
des Speichersteuerungssystems gemäß der ersten Erscheinungsform
der Erfindung verfügt
das Datenkommunikationsmedium über
eine größere Datenübertragungsbandbreite
als das Zwischenserver-Kommunikationsmedium; und das Zwischenserver-Kommunikationsmedium
verfügt über eine
größere Anzahl
von Kommunikationspfaden als das Datenkommunikationsmedium. Genauer
gesagt, ist beispielsweise das Datenkommunikationsmedium ein Hochgeschwindigkeits-Kreuzschienenschalter
oder ein SAN (Storage Area Network), und das Zwischenserver-Kommunikationsmedium
ist ein LAN (Local Area Network).
-
Bei
einer sechsten Erfindung des Speichersteuerungssystems gemäß der ersten
Erscheinungsform der Erfindung verfügt der Scale-Up-NAS-Kopf über einen
zweiten Speicher, der von dem einen oder den mehreren Speichersteuerungssystemen
verschieden ist; mehrere dritte Prozessoren, die den zweiten Speicher
gemeinsam nutzen, wobei sie höhere
Leistungsfähigkeit
als der erste Prozessor aufweisen; eine Kommunikationssteuerung
(beispielsweise einen LAN-Controller), die über mehrere Kommunikationsports
verfügt,
die mit mehreren im Zwischenserver-Kommunikationsmedium enthaltenen Übertragungspfaden
verbunden sind; und eine Speichersteuerung, die, von der Kommunikationssteuerung,
eine vom NAS-Kopfelement empfangene Zwischenserver-Mitteilung empfängt, was
durch den Kommunikationsport erfolgt. Die Speichersteuerung wählt einen
dritten Prozessor zum Verarbeiten der empfangenen Zwischenserver-Mitteilungen
aus den mehreren dritten Prozessoren auf Grundlage dessen aus, welcher
Kommunikationsport unter den mehreren Kommunikationsports die Zwischenserver-Mitteilungen
empfangen hat, und sie sorgt dafür,
dass der ausgewählte
dritte Prozessor die empfangene Zwischenserver-Mitteilung verarbeitet.
-
Bei
einer siebten Ausführungsform
des Speichersteuerungssystems gemäß der ersten Erscheinungsform
der Erfindung verfügen
sowohl der Scale-Up-NAS-Kopf als auch das NAS-Kopfelement über eine
Kommunikationsschnittstelle, die mit einem externen Kommunikationsnetzwerk
des Speichersteuerungssystems verbunden ist.
-
Bei
einer achten Ausführungsform
des Speichersteuerungssystems gemäß der ersten Erscheinungsform
der Erfindung schreibt der zweite Prozessor der ersten Kanalsteuerungseinheit
der siebten Ausführungsform
Fehlererzeugungsinformation dahingehend, dass ein Fehler im gemeinsamen
Speicher aufgetreten ist. Der vierte Prozessor jeder der mehreren
zweiten Kanalsteuerungseinheiten sowie der sechste Prozessor jeder
der einen oder der mehreren dritten Kanalsteuerungseinheiten greift
auf den gemeinsamen Speicher zu, und wenn der vierte Prozessor vor
dem sechsten Prozessor die Fehlererzeugungsinformation erkennt,
verwirft der vierte Prozessor dieselbe.
-
Bei
einer neunten Ausführungsform
des Speichersteuerungssystems gemäß der ersten Erscheinungsform
der Erfindung verfügt
von den NAS-Kopfelementen und den Scale-Up-NAS-Köpfen jeder über einen NAS-Prozessor, der
Daten auf Dateibasis in Daten auf Blockbasis wandelt; und die Speichervorrichtungs-Steuerungseinheit
verfügt über einen
Eingangs/Ausgangs-Prozessor, der die so durch den NAS-Prozessor
gewandelten Daten auf Blockbasis erfasst und verarbeitet. In diesem
Fall ist beispielsweise eine spezielle Interruptleitung zwischen
dem NAS-Prozessor und dem Eingangs/Ausgangs-Prozessor vorhanden,
und der NAS-Prozessor überträgt die Daten
auf Blockbasis über
diese spezielle Interruptleitung an den Eingangs/Ausgangs-Prozessor.
Alternativ ist beispielsweise eine Warteschlange zum Zwischenspeichern
der Daten auf Blockbasis vorhanden, und der Eingangs/Ausgangs-Prozessor
führt eine
Abfrage derselben aus. Demgemäß führt der
Eingangs/Ausgangs-Prozessor, wenn der NAS-Prozessor die Daten auf
Blockbasis in der Warteschlange gespeichert hat, eine Erfassung und
Verarbeitung derselben aus der Warteschlange aus.
-
Das
Speichersteuerungssystem gemäß der Erfindung
kann beispielsweise abstrakter wie folgt implementiert werden.
-
Das
Speichersteuerungssystem verfügt nämlich, im
selben Gehäuse, über eine
Speichervorrichtungs-Steuerungseinheit, die Daten in Bezug auf eine
Daten speichernde Speichervorrichtung liest oder schreibt; mehrere
Kanalsteuerungseinheiten, die als Server arbeiten; einen oder mehrere
Speicher, in denen Daten abgespeichert werden, wie sie zwischen
der Speichervorrichtungs-Steuerungseinheit und einer aus den mehreren
Kanalsteuerungseinheiten ausgewählten
Kanalsteuerungseinheit ausgetauscht werden; und ein Datenkommunikationsmedium,
das mit der Speichervorrichtungs-Steuerungseinheit, den mehreren
Kanalsteuerungseinheiten und dem einen oder den mehreren Speichern
verbunden ist und das ein Kommunikationsmedium für die Daten bildet, die zwischen
der Speichervorrichtungs-Steuerungseinheit, der ausgewählten Kanalsteuerungseinheit
und dem einen oder den mehreren Speichern ausgetauscht werden. Zu
den mehreren Kanalsteuerungseinheiten gehören zwei oder mehr Scale-Out-Kanalelemente,
die eine Scale-Out-Kanalsteuerungseinheitsgruppe bilden, sowie ein Scale-Up-Kanal,
der eine Kanalsteuerungseinheit mit höherer Leistungsfähigkeit
als der der Scale-Out-Kanalelemente bildet. Das Speichersteuerungssystem
verfügt
ferner über
ein Zwischenserver-Kommunikationsmedium, das ein Medium für Kommunikationsvorgänge zwischen
dem Scale-Out-Kanalelement und dem Scale-Up-Kanal bildet, und getrennt vom Datenkommunikationsmedium
vorhanden ist. Zwei oder mehr Scale-Out-Kanalelemente, die eine
Scale-Out-Kanalsteuerungseinheitsgruppe bilden, können eine
Verarbeitung ausführen,
die eine Parallelverarbeitung erlaubt, wie beispielsweise als Web-Server
oder dergleichen. Andererseits kann der Scale-Up-Kanal eine Verarbeitung
ausführen,
die schwierig parallel auszuführen
ist, wie als Datenbankserver oder dergleichen (Verarbeitung, die
bevorzugter beispielsweise durch serielle Verarbeitung ausgeführt wird).
-
Ein
Verfahren betreffend die Erfindung ist ein Datenverarbeitungsverfahren
für das
Speichersteuerungssystem, das über
einen ersten bis fünften Schritt
verfügt.
Im ersten Schritt empfängt
ein Scale-Out-Kanalelement, das aus den zwei oder mehr Scale-Out-Kanalelementen
ausgewählt
wird, die eine Scale-Out-Kanalsteuerungseinheitsgruppe
bilden, über
ein Kommunikationsnetzwerk einen Zugriff von einer externen Vorrichtung
(beispielsweise einer Hostvorrichtung). Im zweiten Schritt liefert
das ausgewählte
Scale-Out-Kanalelement eine Abfrage auf Grundlage dieses Zugriffs über ein
Zwischenserver-Kommunikationsmedium an eine Scale-Up-Kanalsteuerungseinheit.
Im dritten Schritt kommuniziert die Scale-Up-Kanalsteuerungseinheit über ein
Datenkommunikationsmedium mit einer Speichervorrichtungs-Steuerungseinheit,
die erlaubten Zugriff auf eine Speichervorrichtung hat, und so liest
sie Daten entsprechend der Abfrage für einen oder mehrere Speicher,
die mit dem Datenkommunikationsmedium verbunden sind. Im vierten
Schritt liefert die Scale-Up-Kanalsteuerungseinheit eine Antwortmeldung über das
Zwischenserver-Kommunikationsmedium an das ausgewählte Scale-Out-Kanalelement.
Im fünften
Schritt empfängt
das ausgewählte
Scale-Out-Kanalelement die Antwortmeldung, es liest über das
Datenkommunikationsmedium Daten, wie sie in dem einen oder mehreren
Speichern gespeichert sind, und dann liefert es die so gelesenen
Daten an die externe Vorrichtung.
-
In
den Zeichnungen ist Folgendes dargestellt.
-
1 ist
eine schematische Außenansicht eines
Speichersteuerungssystems gemäß einer
Ausführungsform
der Erfindung;
-
2 ist eine schematische Außenansicht eines
Scale-up-NAS 110H und eines Scale-Out-NAS-Elements 110L;
-
3 ist
ein Blockdiagramm, das den Aufbau eines Computersystems zeigt, das über ein
Speichersteuerungssystem gemäß dieser
Ausführungsform
verfügt;
-
4 ist
ein Blockdiagramm, das ein Beispiel des Aufbaus des Scale-Out-NAS-Elements 110L zeigt;
-
5 ist
ein Blockdiagramm, das ein Beispiel des Aufbaus des Scale-Up-NAS 110H zeigt;
-
6 ist
ein Blockdiagramm, das ein Beispiel des Aufbaus eines DKA 140 zeigt;
-
7 zeigt
schematisch den Ablauf einer Verarbeitung, wie sie in einem Computersystem 1 gemäß dieser
Ausführungsform
ausgeführt
wird;
-
8 zeigt
ein spezielles Beispiel der Verarbeitung von S1 bis S2 in der 7;
-
9 zeigt
ein spezielles Beispiel der Verarbeitung von S3 bis S4 in der 7;
-
10 zeigt
ein spezielles Beispiel der Verarbeitung von S5 bis S7 in der 7;
-
11 ist
ein Beispiel des Aufbaus des Scale-Up-NAS einer ersten Modifizierung
der Erfindung;
-
12 zeigt ein Beispiel für Datenkommunikationsvorgänge zwischen
einem DKA 22 und dem Scale-Up-NAS 110H und/oder
dem Scale-Out-NAS-Element 110L der zweiten Modifizierung der
Erfindung;
-
13 zeigt
ein Beispiel des Aufbaus eines Cachespeichers 130 in einem
Speichersteuerungssystem 600 einer dritten Modifizierung
der Erfindung;
-
14 zeigt
eine Außenansicht
des Speichersteuerungssystems 600 einer vierten Modifizierung
der Erfindung;
-
15 zeigt
schematisch den Ablauf eines Prozesses, wie er im Computersystem 1 gemäß einer
fünften
Modifizierung der Erfindung ausgeführt wird; und
-
16 zeigt
einen Prozess, der durch den Scale-Up-NAS 110H bei der
fünften
Modifizierung der Erfindung ausgeführt wird.
-
Nachfolgend
wird eine Ausführungsform
der Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.
-
Die 1 zeigt
eine schematische Außenansicht
des Speichersteuerungssystems gemäß einer Ausführungsform
der Erfindung.
-
Das
Speichersteuerungssystem 600 kann beispielsweise innerhalb
eines Gehäuses 10 aufgebaut
sein. Ferner ist, um das Verständnis
des Aufbaus innerhalb des Gehäuses 10 zu
erleichtern, dasselbe durch gedachte Linien (gestrichelte Linien
in der 1) dargestellt.
-
Das
Gehäuse 10 ist
beispielsweise so bemessen, dass seine Länge in der vertikalen und der horizontalen
Richtung ungefähr
einen Meter beträgt und
die Höhe
ungefähr
zwei Meter beträgt.
Das Gehäuse 10 verfügt beispielsweise
an der Vorderseite 107F und der Rückseite 107B über ein
Speichervorrichtungs-Aufnahmegehäuse 301,
in das mehrere Speichervorrichtungen 300 eingesetzt sind,
ein Scale-Up-NRS-Aufnahmegehäuse 302,
in das ein oder mehrere (beispielsweise zwei Scale-Up-NAS-Köpfe (nachfolgend
als 'Scale-Up-NAS' abgekürzt) 110H eingesetzt
sind, und eine Bladegehäuseeinheit 103, in
die mehrere Typen von Adapterblades eingesetzt sind.
-
Das
Gehäuse 10 verfügt ferner über mehrere Spannungsversorgungseinheiten 400 und
mehrere Batterieeinheiten 500, die jeweils herausnehmbar
in ihm vorhanden sind. Ferner sind im Gehäuse 10 mehrere Lüfter 13 vorhanden.
-
Mehrere
Speichervorrichtungen 300 sind in Form eines Arrays im
Speichervorrichtungs-Aufnahmegehäuse 301 angeordnet.
Bei dieser Ausführungsform
ist die Speichervorrichtung 300 ein Festplattenblaufwerk,
jedoch besteht bei den Modifizierungen keine Einschränkung auf
ein solches. Es können
optionale Spei chervorrichtungen verwendet werden, wie ein optisches
Plattenlaufwerk (beispielsweise ein DVD-Laufwerk), ein Magnetband-Laufwerk usw.
-
In
das Scale-Up-NAS-Aufnahmegehäuse 302 ist
ein kastenförmiger
Scale-Up-NAS 110H (wobei ein sogenannter 1U-Server ein
spezielles Beispiel bildet) mit beispielsweise einem Lufteinlass 107 an
seiner Vorderseite, wie es in der 2(A) dargestellt
ist, eingesetzt. Das Scale-Up-NAS-Aufnahmegehäuse 302 ist an einer
anderen Stelle als die Bladegehäuseeinheit 303 vorhanden.
-
In
der Bladegehäuseeinheit 303 sind
mehrere lateral ausgerichtete Bladesteckplätze 104 vorhanden.
Das Intervall zwischen einem Bladesteckplatz 104 und einem
benachbarten Bladesteckplatz 104 ist schmaler als die Weite
der Bladesteckplätze 104.
In die Bladesteckplätze 104 kann
jeweils ein optionales Adapterblade unter mehreren Typen von Adapterblades
eingesetzt werden. Anders gesagt, werden mehrere Typen von Adapterblades
entsprechend dem Formfaktor betreffend die jeweiligen Bladesteckplätze 104 geschaffen.
Zu den mehreren Typen von Adapterblades gehören beispielsweise ein Faserkanal-Adapterblade,
das über
einen Faserkanal eine I/O-Anforderung (Eingangs/Ausgangs-Anforderung) auf
Blockbasis empfängt,
ein integriertes NAS-Blade 110L, das eine I/O-Anforderung
auf Dateibasis über
das Internet oder ähnliches
empfängt, ein
Plattenadapterblade, das das Lesen oder Schreiben von Daten in Bezug
auf die Speichervorrichtungen 300 steuert, und ein Cachespeicher-Adapterblade, das
anschließend
beschrieben wird. Das integrierte NAS-Blade 110L ist ein
bladeförmiger NAS-Kopf,
wie er beispielsweise in der 2(B) dargestellt
ist, und es verfügt über einen
Verbinder 509A, der eine Verbindung zu einem Speicherverbindungsabschnitt
(wird nachfolgend beschrieben) herstellt, und einen Verbinder 509B,
der eine Verbindung zu einem Serververbindungsabschnitt (wird nachfolgend
beschrieben) herstellt. Da ein Prozessor hoher Leistungsfähigkeit
(beispielsweise ein Prozessor mit höherer Arbeitsfrequenz als der
anschließend
beschriebene I/O-Prozessor, der I/O-Anforderungen auf Blockbasis verarbeitet)
im integrierten NAS-Blade 110L montiert ist, so dass dieses
zumindest als Dateiserver arbeitet, sind dadurch, allgemein gesagt,
die durch es integrierte Wärmemenge
und die durch es verbrauchte elektrische Energiemenge im Vergleich zu
anderen Typen von Adapterblades hoch. Aus diesem Grund können, auf
Grundlage der Beziehung mindestens eines Formfaktors betreffend
Formfaktoren beispielsweise zur Wärme, zur Kühlung und zur elektrischen
Leistung, bis zu N integrierte NAS-Blades (K > N, N ≥ 2,
wobei beispielsweise K = 32 und N = 8 gelten) in K Bladesteckplätzen 108 in der
Bladegehäuseeinheit 303 montiert
werden. Eine Scale-Out-NAS-Kopfgruppe besteht aus zwei oder mehr integrierten
NAS-Blades unter den N integrierten NAS-Blades. Nachfolgend wird
ein integriertes NAS-Blade, das eine Scale-Out-NAS-Kopfgruppe bildet, als 'Scale-Out-NAS-Element' abgekürzt.
-
Im
Speichersteuerungssystem 600 werden sowohl der Scale-Up-NAS 110H als
auch das Scale-Out-NAS-Element 110L beispielsweise durch
ein Kühlsystem
gekühlt.
Ferner werden, beim Speichersteuerungssystem 600, Luft
mit vom Scale-Up-NAS 110H aufgenommener Wärme sowie
Luft mit vom Scale-Out-NAS-Element 110L aufgenommener Wärme in derselben
Richtung ausgeblasen. Genauer gesagt, wird beispielsweise, wie es
in der 1 dargestellt ist, Luft, die über den Lufteinlass 107 von
der Außenseite
des Scale-Up-NAS 110H her aufgenommen wird (beispielsweise
der Vorderseite 107F oder der Rückseite 107B her)
zum Zentrum des Gehäuses 10 geliefert,
bevor sie zur Oberseite desselben geliefert wird und über Lüfter 13 zur
Außenseite
desselben ausgeblasen wird. Luft, die von der Außenseite des Scale-Out-NAS-Elements 110L her
aufgenommen wird (beispielsweise unter der Vorderseite 107F und
am Boden des Gehäuses 10),
wird ebenfalls vom Zentrum des Gehäuses 10 nach oben
geliefert und über
die Lüfter 13 zur
Außenseite
desselben ausgeblasen.
-
Die 3 ist
ein Blockdiagramm, das den Aufbau eines Computersystems zeigt, das
das Speichersteuerungssystem gemäß dieser
Ausführungsform
zeigt.
-
Im
Computersystem 1 sind ein oder mehrere Hostterminals 200 sowie
ein Speichersteuerungssystem 600 mit einem Kommunikationsnetzwerk
(beispielsweise einem LAN oder dem Internet) 820 verbunden.
Das Kommunikationsnetzwerk 820 ist ein Kommunikationsnetzwerk
zum Austauschen von Daten auf Dateibasis. Fallabhängig können beispielsweise
ein LAN, das Internet, eine spezielle Leitung oder eine öffentliche
Leitung oder dergleichen geeignet verwendet werden.
-
Von
den einen oder den mehreren Hostvorrichtungen 200 ist eine
eine Computervorrichtung mit Informationsverarbeitungsressourcen
wie beispielsweise einer CPU (Zentrale Verarbeitungseinheit), einem
Speicher usw., und sie ist beispielsweise als PC, Workstation, Großrechner
oder dergleichen aufgebaut. Das Hostterminal 200 verfügt über Informationseingabevorrichtungen
(nicht dargestellt), wie beispielsweise einen Tastaturschalter,
eine Zeigevorrichtung, ein Mikrofon, sowie Informationsausgabevorrichtungen
(nicht dargestellt), wie beispielsweise ein Monitordisplay oder
einen Lautsprecher. Außerdem
verfügt das
Hostterminal 200 über
einen WWW-Browser 200A, NAS-Nutzungssoftware 200B zum
Verwenden eines NAS, und ein OS (Betriebssystem) wie beispielsweise
das Betriebssystem Windows (registrierte Handelsbezeichnung) oder
UNIX (registrierte Handelsbezeichnung). Das Hostterminal 200 gibt
eine Anfrage zur Daten-Eingabe/Ausgabe
in Dateieinheiten durch Spezifizieren beispielsweise eines Dateinamens
an das Speichersteuerungssystem 600 aus. Was die NAS-Nutzungssoftware 200B betrifft,
ist beispielsweise, wenn das OS 200C UNIX (registrierte
Handelsbezeichnung) ist, dieselbe ein NFS (Network File System),
und wenn das OS 200C Windows (registrierte Handelsbezeichnung)
ist, ist es ein CIFS (Common Interface File System).
-
Das
Speichersteuerungssystem 600 ist ein RAID-System mit mehreren
Speichervorrichtungen 300, die beispielsweise in Form eines
Arrays angeordnet sind. Das Speichersteuerungssystem 600 verfügt beispielsweise über mehrere
(duplizierte) Speichersteuerungs-Untersysteme 600A. Die
Speichersteuerungs-Untersysteme 600A können grob
in eine Speichersteuerungsvorrichtung 100 und eine Speichervorrichtungseinheit 101 eingeteilt
werden. Die Speichersteuerungsvorichtung 100 verfügt beispielsweise über mehrere
Kanalsteuerungseinheiten 112, mehrere Plattenadapter (nachfolgend 'DKA') 140, einen
Cachespeicher 130, einen gemeinsamen Speicher 120,
einen Speicherverbindungsabschnitt 150 sowie einen Serververbindungsabschnitt 151.
Die mehreren Kanalsteuerungseinheiten 112 verfügen über zwei
oder mehr Scale-Out-NAS-Elemente 110L, die eine Scale-Out-NAS-Kopfgruppe
(nachfolgend 'Scale-Out-Gruppe-NAS') 111 bilden,
und einen Scale-up-NAS 110H (nachfolgend als 'NAS-Adapter' bezeichnet, wenn
für Scale-Out-NAS-Elemente
und Scale-Up-NAS 110H ein allgemeiner Begriff verwendet
wird).
-
Die
NAS-Adapter 110L und 110H führen Datenkommunikationsvorgänge mit
dem Hostterminal 200 aus. Die NAS-Adapter 110L und 110H sind
beispielsweise als Mikrocomputersystem aufgebaut, das über eine
CPU, einen Speicher usw. verfügt,
und sie führen
eine Analyse und Ausführung
einer Anzahl von Befehlen aus, die vom Hostterminal 200 empfangen
werden. Den NAS-Adaptern 110L und 110H ist jeweils
eine Netzwerkadresse (beispielsweise eine IP-Adresse oder eine WWN)
zugeordnet, damit sie identifiziert werden können. Jeder der NAS-Adapter 110L und 110H kann
als NAS (Network Attached Storage) wirken, der einen I/O-Befehl
in Dateieinheiten (beispielsweise ein Befehl mit einem Dateinamen und
einer Anweisung zum Lesen oder Schreiben einer Datei mit diesem
Dateinamen, nachfolgend als 'Datei-I/O-Befehl' bezeichnet) über das
Kommunika tionsnetzwerk 820 vom Hostterminal 200 empfängt und
dann diesen Datei-I/O-Befehl
verarbeitet. Jedes einen Scale-Out-NAS 111 bildende Scale-Out-NAS-Element 110L erfasst
beispielsweise ein Computerprogramm zum Betrieb als Breitbandserver gemäß dem sogenannten
Server-Dreiebenenmodell, wie beispielsweise als Web-Server (nachfolgend 'Web-Serverprogramm') 470, und
es arbeitet gemäß dem Programm 470.
Der Scale-Up-NAS 110H erfasst ein Computerprogramm zum
Betrieb als Backendserver gemäß dem sogenannten
Server-Dreiebenenmodell, wie beispielsweise als Datenbankserver
(nachfolgend 'DB-Serverprogramm') 450, und
er arbeitet entsprechend diesem Programm 450. Ferner kann
ein Computerprogramm für
den Betrieb als Mid-Tier-Server gemäß dem Server-Dreiebenenmodell,
wie beispielsweise als Anwendungsserver (nachfolgend 'AP-Serverprogramm') 460 vom
Scale-Out-NAS 110L und vom Scale-Up-NAS 110H erfasst
werden. Genauer gesagt, kann beispielsweise das Scale-Out-NAS-Element 110L das
Web-Serverprogramm 470 und das AP-Serverprogramm 460 erfassen
und so als Web-Anwendungsserver arbeiten.
-
Jeder
DKA 140 tauscht Daten mit einer Logikspeichereinheit (nachfolgend 'LU') 310 innerhalb der
Speichervorrichtungseinheit 101 aus. Jeder DKA 140 verfügt über einen
Kommunikationsport (nicht dargestellt) für Verbindung mit der die LU 310 enthaltenden
Speichervorrichtung 300. Ferner ist jeder DKA 140 als
Mikrocomputersystem mit einer CPU, einem Speicher oder dergleichen
aufgebaut. Jeder DKA 190 erfasst Daten, die vom Scale-Out-NAS-Element 110L oder
vom Scale-Up-NAS 110H in den Cachespeicher 130 geschrieben
wurden, und er schreibt diese Daten in die LU 310, wobei
aus dieser gelesene Daten im Cachespeicher 130 gespeichert werden.
Jeder DKA 140 wandelt eine logische Adresse in eine physikalische
Adresse, wenn Daten in die LU 310 eingegeben oder aus ihr
ausgegeben werden.
-
Der
Cachespeicher (nachfolgend manchmal als 'CM' abgekürzt) 130 ist
beispielsweise ein flüchtiger
oder ein nichtflüchtiger
Speicher, und er führt
eine Zwischenspeicherung von vom Hostterminal 200 empfangenen
Daten, von aus der LU 310 gelesenen Daten (wird nachfolgend
beschrieben) usw. aus.
-
Der
gemeinsame Speicher (nachfolgend manchmal als 'SM' abgekürzt) 120 ist
beispielsweise ein nichtflüchtiger
Speicher, und er speichert Steuerungsinformation betreffend Daten,
die mit den Hostvorrichtungen ausgetauscht werden (beispielsweise Information,
die anzeigt, welche Daten in welchem im CM 130 bereit gestellten
Cachebereich zu speichern sind). Ferner wird ein Arbeitsbe reich
(ein Bereich zum Zwischenspeichern von Meldungen, wie sie zwischen
beispielsweise jeder Kanalsteuerungseinheit 112 und der
CPU des DKA 140 ausgetauscht werden) errichtet, beispielsweise
im gemeinsamen Speicher 120. Beim veranschaulichten Beispiel
sind der CM 130 und der SM 120 körperlich
getrennt, jedoch kann es sich auch um einen Speicher handeln. In
diesem Fall kann der Speicherraum im Speicher logisch in einen CM-Raum
und einen SM-Raum unterteilt sein.
-
Der
Speicherverbindungsabschnitt 150 führt eine wechselseitige Verbindung
jeder Kanalsteuerungseinheit 112, jedes DKA 140,
des Cachespeichers 130 und des gemeinsamen Speichers 120 aus. Der
Speicherverbindungsabschnitt 150 kann als Hochgeschwindigkeitsbus
aufgebaut sein, wie beispielsweise als ultraschneller Kreuzschienenschalter oder Ähnliches,
der eine Datenübertragung
durch einen Hochgeschwindigkeits-Vermittlungsvorgang ausführt. Der
Speicherverbindungsabschnitt 150 ist ein Kommunikationsmedium
für Daten,
wie sie über den
Cachespeicher 130 zwischen jeder Kanalsteuerungseinheit 112 und
jedem DKA 140 ausgetauscht werden. Beispielsweise ist die
Datenübertragungsbandbreite
jedes Übertragungspfads
im Speicherverbindungsabschnitt 150 wünschenswerterweise größer als
die des Serververbindungsabschnitts 151.
-
Jede
Kanalsteuerungseinheit 112 und eine oder mehrere andere
Kanalsteuerungseinheiten 112 sind mit dem Serververbindungsabschnitt 151 verbunden.
Der Serververbindungsabschnitt 151 ist ein Kommunikationsmedium
für Zwischenserver-Mitteilungen, wie
sie zwischen jeder Kanalsteuerungseinheit 112 und anderen
Kanalsteuerungseinheiten 112 ausgetauscht werden. Ferner
kann der Serververbindungsabschnitt 151 über jeden
beliebigen Aufbau verfügen,
solange es sich um ein reserviertes Netzwerk zwischen NAS-Adaptern
handelt. Beispielsweise kann der NAS-Adapter 151 ein LAN
oder eine Faser sein. Beispielsweise ist die Anzahl der Übertragungspfade
im Serververbindungsabschnitt 151 wünschenswerterweise größer als
die des Speicherverbindungsabschnitts 150. Genauer gesagt,
existiert beispielsweise eine größere Anzahl
von Kommunikationsports, die mit dem in jedem der NAS-Adapter angebrachten
Serververbindungsabschnitt 151 verbunden sind, als Kommunikationsports
existieren, die mit dem Speicherverbindungsabschnitt 150 verbunden
sind, und jeder der mehreren Kommunikationsports ist mit dem Serververbindungsabschnitt 151 verbunden.
-
In
der Speichervorrichtungseinheit 101 sind mehrere in Form
eines Arrays angeordnete Speichervorrichtungen 300 enthalten.
Als Speichervorrichtungen 300 können beispielsweise Vorrichtungen wie
Festplatten, Disketten, Magnetbänder,
Halbleiterspeicher und optische Platten verwendet werden. Im Speicherbereich
der Speichervorrichtung 300 sind mehrere logische Einheiten
(nachfolgend als 'LU' bezeichnet) 310 vorhanden,
die logische Speichervorrichtungen bilden. In einer bestimmten LU 310 sind eine
Datenbank (beispielsweise eine relationale Datenbank oder eine Objektdatenbank) 103 und
eine oder mehrere Datendateien 104 gespeichert. In jeder LU 310 können Dateimetadaten
gespeichert werden, die in der LU gespeicherte Daten betreffen.
Als Dateimetadaten jeder LU 310 wird Attributinformation
(wie Dateinamen und Speicherzieladressen) betreffend jede in der
LU 310 gespeicherte Datei registriert.
-
Die 4 ist
ein Blockdiagramm, das ein Beispiel des Aufbaus des Scale-Out-NAS-Elements 110L zeigt.
-
Das
Scale-Out-NAS-Element 110L verfügt über einen Kommunikationsport 207A,
eine I/F (Schnittstelle) 503 zu einem externen Netzwerk,
Datenübertragungs-LSIs 501A und 501B,
einen Brücken-LSI 502,
eine oder mehrere Eingangs/Ausgangs-Steuerungseinheiten 869 mit
einem Eingangs/Ausgangs-Prozessor 509 und einem I/O-Speicher 507,
einen Speichercontroller 505, einen NRS-Prozessor 506,
einen NAS-Speicher 508, einen Speicherverbinder 509A und
einen Serververbinder 509B.
-
Die
I/F 503 für
ein externes Netzwerk führt eine
Steuerung des Kommunikationsports 207A entsprechend Anweisungen
aus, wie sie vom NAS-Prozessor 506 über den Speichercontroller 505 und
den Brücken-LSI 502 empfangen
werden. Die I/F 503 für ein
externes Netzwerk ist beispielsweise ein LAN-Controller.
-
Der
Brücken-LSI 502 ist
ein LSI (Large-Scale Integrated circuit), der wechselseitige Kommunikation
zwischen beispielsweise dem LAN-Controller 503, dem Speichercontroller 505 und
dem Datenübertragungs-LSI 501 ermöglicht.
-
Der
Speichercontroller 505 ist ein LSI zum Steuern von Kommunikationsvorgängen zwischen dem
NAS-Prozessor 506 und dem NAS-Speicher 508. Der
Speichercontroller 505 ist mit dem NAS-Prozessor 506,
dem NAS-Speicher 508 und dem Brücken-LSI 502 verbunden.
-
Der
NAS-Speicher 508 kann Programme speichern, die die Steuerung
des NAS-Prozessors 506 bestimmen, Daten, wie sie zwischen
dem CM 130 und dem Hosttermi nal 200 ausgetauscht
werden und dergleichen. Der NAS-Speicher 508 kann beispielsweise
ein Dateisystemprogramm 817, ein Netzwerksteuerungsprogramm 818,
das Web-Serverprogramm 470, das AP-Serverprogramm 960 und
ein HTTP(Hyper Text Transfer Protocol)-Dämonprogramm 865 für Betrieb
als HTTP-Dämon,
usw. speichern. Das Dateisystemprogramm 817 verwaltet beispielsweise
die Zuordnung zwischen einem in einem Datei-I/O-Befehl enthaltenen
Dateinamen und Adresseninformation (beispielsweise LUN und logische Startblockadresse)
für die
Stelle, an der die Datei mit diesem Dateinamen gespeichert ist,
und sie wandelt den Datei-I/O-Befehl auf Grundlage dieser Zuordnung
in einen Block-I/O-Befehl.
Das Netzwerksteuerungsprogramm 818 ist aus zwei Dateisystemprotokollen
aufgebaut, die beispielsweise NFS (Network File System) und Samba
sind. Das NFS empfängt
einen Datei-I/O-Befehl von einer Hostvorrichtung, auf der ein durch
es betriebenes UNIX(registrierte Handelsbezeichnung)-Betriebssystem
installiert ist. Andererseits empfängt Samba einen Datei I/O-Befehl von
einem Hostterminal, auf dem ein durch ein CIFS (Common Interface
File System) betriebenes Windows (registrierte Handelsbezeichnung)-Betriebssystem
installiert ist.
-
Der
NAS-Prozessor 506 ist eine CPU (beispielsweise eine 64-Bit-CPU)
oder ein Mikroprozessor. Der NAS-Prozessor 506 ist ein
Prozessor mit höherer
Leistungsfähigkeit
als beispielsweise der Eingangs/Ausgangs-Prozessor 504 (mit
beispielsweise hoher Verarbeitungsgeschwindigkeit und hoher Betriebstaktfrequenz).
Der NAS-Prozessor 506 ist mit dem Speichercontroller 505 verbunden.
Der NAS-Prozessor 506 kann das Dateisystemprogramm 817 und
das Netzwerksteuerungsprogramm 818 usw., wie sie im NAS-Speicherprogramm 508 gespeichert
sind, lesen, und er kann eine Verarbeitung entsprechend den so gelesenen
Computerprogrammen ausführen.
Beispielsweise empfängt
der NAS-Prozessor 506 vom Hostterminal 200 über das
Netzwerksteuerungsprogramm 518 Datei-I/O-Befehle. Außerdem kann
der NAS-Prozessor 506 die im NAS-Speicher 508 gespeicherten
und vom Hostterminal 200 empfangenen Datei-I/O-Befehle
durch das Dateisystemprogramm 817 in Block-I/O-Befehle wandeln
und diese Datei-I/O-Befehle an den Eingangs/Ausgangs-Prozessor 504 ausgeben.
Ferner kann der NAS-Prozessor 506 beispielsweise, durch Lesen
des Web-Server-Programms 470, als Web-Server arbeiten,
und er kann durch Lesen des AP-Serverprogramms 460 als
AP-Server arbeiten.
-
Der
Eingangs/Ausgangs-Prozessor 504 ist eine CPU (beispielsweise
eine 32-Bit-CPU)
oder ein Mikroprozessor, der verschiedene Prozesse (nachfolgend
be schrieben) ausführen
kann, zu denen ein Datenaustausch mit dem Speicherverbindungsabschnitt 150 und
die Weiterleitung von Datenkommunikationsvorgängen zwischen dem NAS-Prozessor 506 und
dem Speicherverbindungsabschnitt 150 und andere Prozesse
gehören,
was durch ein Steuerungsprogramm 864 erfolgt, das aus dem
I/O-Speicher 507 gelesen wird.
-
Der
I/O-Speicher 507 speichert Computerprogramme, die die Steuerung
des Eingangs/Ausgangs-Prozessors 504 bestimmen.
-
Der
Datenübertragungs-LSI 501A ist
mit dem Speicherverbinder 509A, dem Eingangs/Ausgangs-Prozessor 504 und
dem Brücken-LSI 502 verbunden,
und er steuert die Übertragung
von Daten (Antwortdaten, die beispielsweise durch die nachfolgend
beschriebene DB-Verarbeitung entnommen werden). Der Datenübertragungs-LSI 501B ist
mit dem Serververbinder 509B und dem Brücken-LSI 502 verbunden,
und er steuert die Übertragung
der Zwischenserver-Mitteilungen (beispielsweise Abfragen und Antworten
auf diese), wie sie zwischen NAS-Köpfen ausgetauscht werden. Der
Datenübertragungs-LSI 501A und
der Datenübertraqungs-LSI 501B können körperlich
voneinander getrennt angeordnet sein, wie es in der Figur dargestellt
ist, oder sie können
integriert sein.
-
Der
Speicherverbinder 509A ist mit dem Speicherverbindungsabschnitt 150 verbunden.
Genauer gesagt, ist der Speicherverbinder 509A beispielsweise
mit dem CM-Übertragungspfad
(mit dem CM 130 verbundener Pfad), der im Speicherverbindungsabschnitt 150 (mit
dem CM 130 verbundener Übertragungspfad)
enthalten ist, und einem SM-Übertragungspfad
(mit dem SM 120 verbundener Übertragungspfad) verbunden.
Ferner muss in einem einzelnen Speicherverbinder 509A keine
Mischung eines CM-Übertragungspfads
und eines SM-Übertragungspfads
vorhanden sein. Beispielsweise können,
anstelle des Speicherverbinders 509A, ein erster Speicherverbinder,
der mit dem CM-Übertragungspfad
verbunden ist, und ein zweiter Speicherverbinder, der mit dem SM-Übertragungspfad
verbunden ist, vorhanden sein.
-
Der
Serververbinder 509B ist mit dem Serververbindungsabschnitt 151 verbunden.
Genauer gesagt, ist beispielsweise der Serververbinder 509B mit
einem im Serververbindungsabschnitt 151 enthaltenen Übertragungspfad
verbunden.
-
Die 5 ist
ein Blockdiagramm, das ein Beispiel des Aufbaus des Scale-Up-NAS 110H zeigt.
-
In
der 5 sind Bezugszahlen für Bauelemente, die dieselben
wie beim Scale-Out-NAS-Element 110L sind, verschieden,
jedoch ist ihnen derselbe Name zugewiesen. Bauelemente mit demselben Namen
verfügen über dieselbe
Funktion. Um nachfolgend eine Wiederholung der Beschreibung zu vermeiden,
werden hauptsächlich
Unterschiedspunkte gegenüber
dem Scale-Out-NAS-Element 110L beschrieben, während Beschreibungen
zu wieder auftretenden Teilen vereinfacht oder weggelassen sind.
-
Der
größte Unterschied
des Scale-Up-NAS 110H zum Scale-Out-NAS-Element 110L besteht
darin, dass mehrere (beispielsweise 4) NAS-Prozessoren 1506 über einen
Speichercontroller 1505 denselben NAS-Speicher 1508 gemeinsam
haben. Beispielsweise lesen mehrere NAS-Prozessoren 1506 jede
der DB-Serverprogramme 450, wobei die DB-Verarbeitung durch
die mehreren NAS-Prozessoren 1506 gemeinsam und parallel
ausgeführt
wird, wodurch eine Hochgeschwindigkeits-DB-Verarbeitungen implementiert wird. Anders
gesagt, ist ein NAS-Kopf hoher Leistungsfähigkeit vorhanden. Ferner können die
mehreren NAS-Prozessoren 1506 symmetrische Multiprozessoren
(SMP) oder asymmetrische Multiprozessoren (AMSP) sein.
-
Im
NAS-Speicher 1508 ist ein DB-Serverprogramm 1508 gespeichert.
-
Oben
sind Beispiele zum Aufbau des Scale-Out-NAS-Elements 110L und
des Scale-Up-NAS 110H angegeben.
Bei dieser Ausführungsform
kommunizieren der Scale-Up-NAS 110H und
der DKA 140 gemäß dem sogenannten
Server-Dreiebenenmodell innerhalb des Speichersteuerungssystems 600,
und so werden aus der LU 310 gelesene Daten (beispielsweise
alle Daten in Zusammenhang mit der DB 103 oder durch DB-Verarbeitung
erzeugte Antwortdaten) im NAS-Speicher 1508 abgespeichert.
Da jedoch das Scale-Out-NAS-Element 110L und der DKA 140 nicht
kommunizieren, werden keine Daten im NAS-Speicher 508 des
Scale-Out-NAS-Elements 110L gespeichert. Aus diesem Grund
kann dem NAS-Speicher 508 des Scale-Out-NAS-Elements 110L eine
kleinere Speicherkapazität
als dem NAS-Speicher 1508 des Scale-Up-NAS 110H zugewiesen
werden.
-
Die 6 ist
ein Blockdiagramm, das ein Beispiel des Aufbaus des DKA 140 zeigt.
-
Der
DKA 190 verfügt über einen
Kommunikationsport 22A, einen FC-Controller 602,
einen Datenübertragungs-LSI 601,
eine oder mehrere Eingangs/Ausgangs-Steuerungseinheiten 807 mit
einem Eingangs/Ausgangs-Prozessor 603 und einem Speicher 604,
sowie einen Verbinder 607.
-
Der
Kommunikationsport 22A ist ein Port für Kommunikation über das
Kommunikationsnetzwerk (beispielsweise ein Faserkanal) (nicht dargestellt)
mit der Speichervorrichtung 300.
-
Der
FC-Controller 602 ist zwischen den Kommunikationsport 22A und
den Datenübertragungs-LSI 601 eingefügt. Der
FC-Controller 602 steuert den Austausch von Daten auf Blockbasis
entsprechend beispielsweise dem Faserkanalprotokoll.
-
Der
I/O-Speicher 604 ist ein Speicher für ein Programm, das die Steuerung
des Eingangs/Ausgangs-Prozessors 603 bestimmt.
-
Der
Eingangs/Ausgangs-Prozessor 603 ist eine CPU oder ein Mikroprozessor.
Der Eingangs/Ausgangs-Prozessor 603 ist mit einem Datenübertragungs-LSI 610,
einem I/O-Speicher 604 und einem SVP 23 verbunden,
und er steuert den Austausch von Daten, Befehlen und dergleichen
durch Lesen einer Anzahl von Computerprogrammen im I/O-Speicher 604.
-
Der
Datenübertragungs-LSI 601 ist
mit einem Verbinder 605 verbunden, der mit dem Speicherverbindungsabschnitt 150,
einem Eingangs/Ausgangs-Prozessor 603 und einem FC-Controller 602 verbunden
ist, und es handelt sich um einen LSI, der die Datenübertragung
steuert.
-
Bei
dieser Ausführungsform
ist das sogenannte Server-Dreiebenenmodell durch ein einzelnes Speichersteuerungssystem 600 aufgebaut.
Daher werden im Speichersteuerungssystem 600 verschiedene
Prozessabläufe
entsprechend dem Server-Dreiebenenmodell
ausgeführt.
Nachfolgend wird ein Beispiel eines Falls beschrieben, bei dem eine Datenverarbeitung
zwischen dem Web-Serverprogramm 470 und dem DB-Serverprogramm 450 ausgeführt wird.
Ferner kann in der folgenden Beschreibung das Web-Serverprogramm 470 ein
Web-Anwendungsserverprogramm sein, das mit einem AP-Serverprogramm 460 integriert
ist.
-
Die 7 zeigt
schematisch den Ablauf eines Prozesses, wie er in einem Computersystem 1 gemäß dieser
Erfindung ausgeführt
wird.
-
Wenn
beispielsweise ein Benutzer eine Web-Seitenanforderungsbedienung
(Bedienung, zu der das Betätigen
einer Suchausführungstaste
durch beispielsweise Eingeben des gewünschten Schlüsselworts
gehört)
in Bezug auf einen bestimmten Web-Schirm (Web-Seite, die beispielsweise HTML-geschrieben
ist) ausführt,
wie er auf dem Hostterminal 200 angezeigt wird, wird von
diesem die Web-Seitenanforderung
(Web-Seite mit beispielsweise dem gewünschten Schlüsselwort) über das Kommunikationsnetzwerk 820 an
das aus den Scale-Out-NAS 111 ausgewählte Scale-Out-NAS-Element 110L geliefert
(Schritt S1).
-
Die
durch das Scale-Out-NAS-Element 110L empfangene Web-Seitenanforderung
wird durch das in den NAS-Prozessor 506 gelesene Web-Serverprogramm 470 analysiert.
Das Web-Serverprogramm 470 erzeugt auf Grundlage dieser
Web-Seitenanforderung
eine DB-Serverabfragemeldung (SQL (Structured Query Language) mit
beispielsweise der Syntax 'SELECT:
column name FROM: table name WHE-RE:
condition') und
es liefert diese über
den Serververbindungsabschnitt 151 an den Scale-Up-NAS 110H (S2).
Die DB-Serverfragemeldung kann beispielsweise auf Grundlage der
vom Dateisystem des Scale-Out-NAS-Elements 110L verwalteten
Dateiinformation erzeugt werden.
-
Die
vom Scale-Up-NAS 110H empfangene DB-Serverabfragemeldung
wird vom in die mehreren NAS-Prozessoren 1506 eingelesenen
DB-Serverprogramm 450 (d.h. einem aus mehreren NAS-Prozessoren 1506 ausgewählten NAS-Prozessor)
analysiert. Das DB-Serverprogramm 450 führt auf Grundlage der Analyse
der DB-Serverabfragemeldung
eine DB-Verarbeitung aus (S3). Diese DB-Verarbeitung kann durch
einen NAS-Prozessor unter den mehreren NAS-Prozessoren 1506 oder
durch eine serielle oder parallele Verarbeitung zweier oder von
mehr NAS-Prozessoren ausgeführt
werden. Ferner tauscht, bei der DB-Verarbeitung, mindestens ein NAS-Prozessor
unter den mehreren NAS-Prozessoren 1506 Daten mit beispielsweise
dem Eingangs/Ausgangs-Prozessor 603 des DKA 140 aus, und
so werden die durch die DB-Serverabfragemeldung angeforderten Daten
(nachfolgend 'Abfrageantwortdaten') aus der DB (beispielsweise
relationale Datenbank) 103 in der LU 310 erfasst.
-
Der
Scale-Up-NAS 110H, der die Abfrageantwortdaten empfangen
hat, schreibt sie über den
Speicherverbindungsabschnitt 150 in den Cachespeicher 130 ein
(S4). Als Nächstes
liefert der Scale-Up-NAS 110H eine Abfrageantwortmeldung, die
eine Antwort auf die DB-Serverabfragemeldung in S2 ist (eine Zwischen server-Mitteilung,
die beispielsweise einen Zeiger beinhaltet, der die Stelle anzeigt,
an der die Abfrageantwortdaten gespeichert sind (nachfolgend 'Cachezeiger')) über den
Serververbindungsabschnitt 151 an das Scale-Out-NAS-Element 110L,
das die Sendequelle der DB-Serverabfragemeldung bildet. (S5). Demgemäß fließt anstatt
der Abfrageantwortdaten selbst durch den Serververbindungsabschnitt 151 eine
Antwortmeldung von kleinerer Datengröße hindurch. Demgemäß kann die Übertragungsbandbreite
des Serververbindungsabschnitts 151 kleiner als die des Speicherverbindungsabschnitts 150 sein.
Ferner führt,
bei der DB-Verarbeitung in S3, wenn bereits Abfrageantwortdaten
in den Cachespeicher 130 geschrieben sind, der Scale-Up-NAS 110H den
Schritt S4 nicht aus, sondern er überträgt stattdessen über den
Serververbindungsabschnitt 151 einen Zeiger, der dem Scale-Out-NAS-Element 110L den
Speicherort der Abfrageantwortdaten anzeigt.
-
Die
vom Scale-Out-NAS-Element 110L empfangene Abfrageantwortmeldung
wird beispielsweise durch das in den NAS-Prozessor 506 gelesene Web-Serverprogramm 470 analysiert.
In Reaktion auf diese Abfrageantwortmeldung erfasst das Web-Serverprogramm 470 Abfrageantwortdaten über den
Speicherverbindungsabschnitt 150 vom Cachespeicher 130 (S6).
Als Nächstes
erzeugt das Web-Serverprogramm 470 eine Web-Seite 490,
auf der die so erfassten Abfrageantwortdaten (oder aus einer Verarbeitung
dieser Daten erzeugte Daten) platziert werden, und es liefert die
Web-Seite 990 an das Hostterminal 200, das die
Sendequelle der Web-Seitenanforderung im S1 ist (S7).
-
Nachfolgend
wird ein spezielles Beispiel zum Ablauf bei der Verarbeitung von
S1 bis S7 beschrieben. In der folgenden Beschreibung ist Schritten,
die zu einem jeweiligen Schritt gehören, ein Verzweigungscode zugewiesen.
Beispielsweise sind als Verzweigungscode an Schritte, die zu S2
gehören,
nach 'S2' große Buchstaben
angehängt,
wie bei 'S2A'.
-
Die 8 zeigt
ein spezielles Beispiel der Verarbeitung von S1 bis S2 in der 7.
-
Hinsichtlich
des Scale-Out-NAS-Elements 110L, das unter zwei oder mehr
Scale-Out-NAS-Elementen 110L ausgewählt wurde,
die den Scale-Out-NAS 111 bilden, erfasst das in den NAS-Prozessor
gelesene Web-Serverprogramm 470 die vom Hostterminal 200 empfangene
Web-Seitenanforderung (S1). Als Nächstes erzeugt das Web-Serverprogramm 470 auf
Grundlage des Inhalts der Web- Seitenanforderung
eine DB-Serverabfragemeldung (S2A), und es liefert die so erzeugte
DB-Serverabfragemeldung über
den Serververbindungsabschnitt 151 an den Scale-Up-NAS 110H (S2B).
Die so gelieferte DB-Serverabfragemeldung wird dann im NAS-Speicher 1508 des
Scale-Up-NAS 110H zwischengespeichert (S2C).
-
Die 9 zeigt
ein spezielles Beispiel der Verarbeitung von S3 bis S9 in der 7.
-
Der
Speichercontroller 1505 im Scale-Up-NAS 110H erfasst
eine im NAS-Speicher 1508 gespeicherte DB-Serverabfragemeldung 108 (S3A), und
er verteilt die erfasste DB-Serverabfragemeldung 108 an
einen aus den mehreren NAS-Prozessoren 1506 ausgewählten NAS-Prozessor 1506 (S3B).
-
Der
NAS-Prozessor 1506, an den die DB-Serverabfragemeldung
verteilt wurde, ermittelt den Ort der DB 103 (beispielsweise
die ID, die logische Startblockadresse und die Datengröße der LU 310)
auf Grundlage des von ihm verwalteten Dateisystems, und dann liefert
er eine I/O-Anforderung auf Blockbasis an den Eingangs/Ausgangs-Prozessor 1504,
um auf die DB 103 zuzugreifen (S3C).
-
Der
Eingangs/Ausgangs-Prozessor 1504 des Scale-Up-NAS 110H führt über den
Speicherverbindungsabschnitt 150 und den SM 120 Interprozessor-Kommunikationsvorgänge mit
dem Eingangs/Ausgangs-Prozessor 603 des DKA 140 aus (S3D),
und er liefert die I/O-Anforderung über den Speicherverbindungsabschnitt 150 und
den CM 130 an den Eingangs/Ausgangs-Prozessor 603 der
DKA 190 (S3E).
-
Der
Eingangs/Ausgangs-Prozessor 603 des DKA 140 liest über den
Speicherverbindungsabschnitt 150 eine I/O-Anforderung aus
einem durch die Interprozessor-Kommunikationsvorgänge bestimmten
Cachebereich (Bereich im CM 130) aus (S3F). Als Nächstes erfasst
der Eingangs/Ausgangs-Prozessor 603 entsprechend der I/O-Anforderung
die DB 103 aus der LU 310, und er speichert sie über den Speicherverbindungsabschnitt 150 im
Cachespeicher 130 ein (S3G). Als Nächstes führt der Eingangs/Ausgangs-Prozessor 603 des
DKA 140 mit dem Eingangs/Ausgangs-Prozessor 1504 des
Scale-Up-NAS 110H über
den Speicherverbindungsabschnitt 150 und den SM 120 Interprozessor-Kommunikationsvorgänge aus
(S3H).
-
Der
Eingangs/Ausgangs-Prozessor 1504 des Scale-Up-NAS 110H liest
die DB 103 über
den Speicherverbindungsabschnitt 115 aus dem durch die
Interprozessor-Kommunikationsvorgänge bestimmten
Cachebereiche (Bereich im CM 130) aus, und er speichert
die DB 103 in den NAS-Speicher 1508 ein. Ein NAS-Prozessor 1506 oder
mehrere verarbeiten die im NAS-Speicher 1508 abgespeicherte
DB 103 auf Grundlage des Inhalts der in S3B verteilten
DB-Serverabfragemeldung (S3K). Beispielsweise entnehmen ein oder
mehrere NAS-Prozessoren 1506 Daten mit dem vom Benutzer
gewünschten
Schlüsselwort
aus der im NAS-Speicher 1508 gespeicherten DB 103.
-
Durch
die DB-Verarbeitung in S3K werden Abfrageantwortdaten 105 erzeugt
und dann im NAS-Speicher 1508 abgespeichert.
-
Der
aus den mehreren NAS-Prozessoren 1506 ausgewählte NAS-Prozessor 1506 liefert
eine I/O-Anforderung, die das Einspeichern der Abfrageantwortdaten 105 in
den Cachespeicher 130 anfordert, an den Eingangs/Ausgangs-Prozessor 1504 (S4A).
Auf diese I/O-Anforderung hin erfasst der Eingangs/Ausgangs-Prozessor 1504 die
Abfrageantwortdaten 105 im NAS-Speicher 1508,
und er speichert diese Daten 105 in den Cachespeicher 130 ein (S4B).
-
Die 10 zeigt
ein spezielles Beispiel der Verarbeitung von S5 bis S7 in der 7.
-
Der
NAS-Prozessor 1506 des Scale-Up-NAS 110H (d.h.
das DB-Serverprogramm 450) liefert eine Abfrageantwortmeldung,
die Information zum Ort enthält,
an dem die Abfrageantwortdaten 105 gespeichert sind, über den
Serververbindungsabschnitt 151 an das Scale-Out-NAS-Element 110L, das
die Sendequelle der DB-Serverabfragemeldung bildet
(S5).
-
Der
NAS-Prozessor 506 (d.h. das Web-Serverprogramm 470)
des Scale-Out-NAS-Elements 110L gibt
die I/O-Anforderung, die dazu dient, Abfrageantwortdaten 105 aus
der durch die in der Abfrageantwortmeldung enthaltene Information
gekennzeichneten Stelle abzurufen, an den Eingangs/Ausgangs-Prozessor 504 (S6A).
Der Eingangs/Ausgangs-Prozessor 504 erfasst die Abfrageantwortdaten 105 entsprechend
dieser I/O-Anforderung über den
Speicherverbindungsabschnitt 150 aus dem Cachespeicher 130,
und er speichert die erfassten Abfrageantwortdaten 105 in
den NAS-Speicher 508 ein (S68).
-
Der
NAS-Prozessor 506 erzeugt die Web-Seite 490, auf
der die im NAS-Speicher 508 gespeicherten Abfrageantwortdaten 105 (oder
durch Verarbeiten dieser Daten erhaltene Daten) platziert werden
(S7A), und er liefert die erzeugte Web- Seite 490 an das Hostterminal 200,
das die Sendequelle der Web-Seitenanforderung
ist (S7B).
-
Gemäß der obigen
Ausführungsform
sind sowohl der Scale-Out-NAS 111 als auch der Scale-Up-NAS 110H in
einem einzelnen Speichersteuerungssystem 600 montiert.
Im Ergebnis ist das Speichersteuerungssystem 600 zu einem
System 600 hoher Leistungsfähigkeit gemacht.
-
Ferner
arbeiten, gemäß der obigen
Ausführungsform,
jedes der zwei oder mehr Scale-Out-NAS-Elemente 110L, die
den Scale-Out-NAS 111 bilden, und der Scale-Up-NAS 110H als
Server. Zusätzlich
zum Speicherverbindungsabschnitt 150, durch den in der
LU 310 gespeicherte oder aus ihr gelesene Daten (beispielsweise
Benutzerdaten) fließen,
ist das Speichersteuerungssystem 600 mit dem Serververbindungsabschnitt 151 zum
Austauschen von Zwischenserver-Mitteilungen (anderen Daten als den
oben angegebenen Daten, beispielsweise Abfragemeldungen und Antwortmeldungen)
versehen. Demgemäß werden
mehrere Verbindungsabschnitte innerhalb des Speichersteuerungssystems 600 abhängig davon,
ob der zwischen dem Scale-Out-NAS-Element 110L und dem
Scale-Up-NAS 110H ausgetauschte Einzelwert ein Datenwert
oder eine Zwischenserver-Mitteilung ist, selektiv verwendet. Im
Ergebnis kann innerhalb des Speichersteuerungssystems 600 eine
effiziente Datenverarbeitung ausgeführt werden.
-
Ferner
führt,
gemäß der obigen
Ausführungsform,
das Scale-Out-NAS 111 eine Verarbeitung aus, die wie bei
einem Web-Server oder dergleichen parallel ausgeführt werden
kann, und der Scale-Up-NAS 110H führt eine Verarbeitung aus,
die schwierig parallel auszuführen
ist, wie als DB-Server oder dergleichen. Im Ergebnis kann innerhalb
des Speichersteuerungssystems 600 eine effizientere Datenverarbeitung
ausgeführt
werden.
-
Für diese
Ausführungsform
können
mehrere Modifizierungen in Betracht gezogen werden.
-
Die 11 ist
ein Beispiel des Aufbaus des Scale-Up-NAS bei einer ersten Modifizierung
der Erfindung.
-
Im
mit einem Serververbinder 1509B verbundenen Datenübertragungs-LSI
sind mehrere Eingangs/Ausgangs-Ports 501A bis 501D vorhanden. Mehrere
im Serververbindungsabschnitt 151 vorhandene Übertragungspfade
sind jeweils mit den mehreren Eingangs/Ausgangs-Ports 501A bis 501D verbunden.
Den mehreren Eingangs/Ausgangs-Ports 501A bis 501D sind
jeweils mehrere Port-Ids (beispielsweise MAC- oder IP-Adressen)
zugeordnet.
-
Im
NAS-Speicher 1508 sind eine Meldungsverteilungstabelle 503 und
ein Meldungspuffer 502 vorhanden. Die Meldungsverteilungstabelle 503 ist eine
Tabelle, die dazu verwendet wird, zu bestimmen, an welchen NAS-Prozessor
der mehreren NAS-Prozessoren 1506 vom Scale-Out-NAS-Element 110L empfangene
Meldungen zu verteilen sind. Beispielsweise sind in der Meldungsverteilungstabelle 503 mehrere
Verteilungsziele gespeichert, die jeweils mehreren Port-Ids (beispielsweise
MAC-Adressen) entsprechen.
-
Gemäß der ersten
Modifizierung bestimmt die Speichersteuerung 1505, wenn
beispielsweise eine Zwischenserver-Mitteilung (beispielsweise eine Abfragemeldung)
vom Scale-Out-NAS-Element 110L im Meldungspuffer 502 über den
ersten Eingangs/Ausgangs-Port 501 gespeichert wird (S11), das
Verteilungsziel entsprechend der Port-ID des Eingangs/Ausgangs-Ports 501A, über den
die Meldung von der Meldungsverteilungstabelle 503 läuft (S12).
Dann sorgt die Speichersteuerung 1505 dafür, dass
ein erster NAS-Prozessor 1506, der dem so bestimmten Verteilungsziel
entspricht, die im Meldungspuffer 502 gespeicherte Meldung
verarbeitet (S13).
-
Die 12 zeigt ein Beispiel für Datenkommunikationsvorgänge zwischen
einem DKA 22 und dem Scale-Up-NAS 110H und/oder
dem Scale-Out-NAS-Element 110L gemäß einer zweiten Modifizierung
der Erfindung.
-
Gemäß der zweiten
Modifizierung ist im Scale-Up-NAS 110H und/oder im Scale-Out-NAS-Element 110L (nachfolgend
allgemein als 'NAS-Kopf 110' bezeichnet) kein
Eingangs/Ausgangs-Prozessor installiert, und es wird dafür gesorgt,
dass der Eingangs/Ausgangs-Prozessor 603 des DKA 22 eine Verarbeitung
ausführt,
die vom Eingangs/Ausgangs-Prozessor im NAS-Kopf ausgeführt wird.
-
Beispielsweise
ist, wie es in der 12(A) dargestellt
ist, zwischen dem NAS-Kopf 110 und dem DKA 22 eine
spezielle Interruptleitung 510 vorhanden. In diesem Fall
wird eine vom NAS-Prozessor 506 (oder 1506) ausgegebene
I/O-Anforderung
auf Blockbasis über
die spezielle Interruptleitung 510 an den Eingangs/Ausgangs-Prozessor 603 des
DKA 22 geschickt.
-
Ferner
ist, wie es in der 12(B) dargestellt ist,
beispielsweise eine Befehlsschlange 512 im NAS-Speicher 508 (oder 1508)
im NAS-Kopf 110 vorhanden. Eine vom NAS-Prozessor 506 (oder 1506) ausgegebene
I/O-Anforderung auf Blockbasis wird in der Befehlsschlange 511 gespeichert
(S21). Der Eingangs/Ausgangs-Prozessor 603 des DKA 22 führt eine
Abfrage der Befehlsschlange aus (S22), und beim Erkennen des Vorliegens
einer I/O-Anforderung erfasst er diese aus der Befehlsschlange (S23).
-
Die 13 zeigt
ein Beispiel für
den Aufbau eines Cachespeichers 130 in einem Speichersteuerungssystem 600 gemäß einer
dritten Modifizierung der Erfindung.
-
Bei
der dritten Modifizierung sind im Cachespeicher 130 ein
während
einer Zwischenserver-Verarbeitung verwendeter Nutzungsbereich (nachfolgend 'Servernutzungsbereich') 130A und
ein Nutzungsbereich für
eine normale Schreib/Lese-Verarbeitung
(nachfolgend 'normaler
Nutzungsbereich') 130B vorhanden.
Eine 'Zwischenserververarbeitung' ist eine Verarbeitung,
wie sie dann ausgeführt
wird, wenn ein Server nicht nur als Dateiserver sondern auch als
anderer Servertyp verwendet wird (beispielsweise als Web-Server,
AP-Server und/oder DB-Server,
wie oben). 'Normale
Lese/Schreibverarbeitung' ist
eine Verarbeitung, bei der ein Lese- oder ein Schreibbefehl vom
Hostterminal 200 empfangen wird und in Reaktion auf diesen
Befehl Daten aus der LU 310 gelesen oder in sie geschrieben
werden.
-
Gemäß der dritten
Modifizierung wird ein beliebiger von mehreren Nutzungsbereichen
im Cachespeicher 130 abhängig davon ausgewählt, ob
die Verarbeitung eine Zwischenserververarbeitung oder eine normale
Lese/Schreib-Verarbeitung ist.
-
Genauer
gesagt, werden, wenn zwischen dem Scale-Up-NAS 110H und
dem DKA 22 beispielsweise eine DB-Verarbeitung ausgeführt wird,
im Servernutzungsbereich 130A Abfrageantwortdaten gespeichert.
Wenn andererseits Daten über
den DKA 22 als Ergebnis des Scale-Up-NAS 110H,
des Scale-Out-NAS-Elements 110L usw., die beispielsweise als
einfacher Dateiserver arbeiten, mit der LU 310 ausgetauscht
werden, oder wenn ein anderer Typ eines Kanaladapters (CHA, wie
ein Faserkanaladapter (CHF), der beispielsweise eine I/O-Anforderung
auf Blockbasis über
den Faserkanal empfängt) 110 Daten über den
DKA 22 mit der LU 310 austauscht, werden die Daten
im normalen Nutzungsbereich 130B abgespeichert.
-
Die 14 zeigt
eine äußere Ansicht
des Speichersteuerungssystems 600 gemäß einer vierten Modifizierung
der Erfindung.
-
Das
Speichersteuerungssystem 600 kann beispielsweise aus einem
Grundgehäuse 10 und mehreren
Zusatzgehäusen 12 bestehen.
Die Zusatzgehäuse 12 bilden
eine Option für
das Speichersteuerungssystem 600 wobei es möglich ist,
beispielsweise maximal vier Zusatzgehäuse 12 mit einem Grundgehäuse 10 zu
verbinden. In jedem Zusatzgehäuse 12 sind
mehrere Kühllüfter 13 vorhanden.
Ferner ist jedes Zusatzgehäuse 12 trennbar
mit mehreren Speichervorrichtungen 300, mehreren Spannungsversorgungseinheiten 400 sowie
mehreren Batterieeinheiten 300 versehen, von denen jede durch
eine Steuerungsfunktion gesteuert wird, mit der beispielsweise eine
in einen Steckplatz 104 des Grundgehäuses 10 eingesteckte
Adapterkarte versehen ist.
-
Die 15 zeigt
schematisch den Ablauf eines Prozesses, wie er im Computersystem 1 gemäß einer
fünften
Modifizierung dieser Ausführungsform ausgeführt wird.
-
Der
Scale-Up-NAS 110H, der als Ergebnis der DB-Verarbeitung
gemäß S3 Abfrageantwortdaten
erfasst hat, schickt diese über
den Serververbindungsabschnitt 151 gemeinsam mit einer
Abfrageantwortmeldung an das Scale-Out-NAS-Element 110L (S54).
In diesem Fall erzeugt das Scale-Out-NAS-Element 110L die
Web-Seite 490 auf Grundlage
der Abfrageantwortdaten, und es liefert diese Web-Seite 490 an
das Hostterminal 200 (S6).
-
Außerdem kann,
bei der fünften
Modifizierung, der Scale-Up-NAS 110H auf Grundlage der
Datengröße der zu übertragenden
Abfrageantwortdaten auswählen,
ob die Abfrageantwortdaten über
den Serververbindungsabschnitt 151 oder den Speicherverbindungsabschnitt 150 übertragen
werden sollen. Ein spezielles Beispiel ist in der 16 dargestellt.
-
Die 16 veranschaulicht
einen Prozess, wie er durch den Scale-Up-NAS 110H bei der
fünften Modifizierung
dieser Ausführungsform
ausgeführt wird.
-
Beispielsweise
ist im NAS-Speicher 1508 des Scale-Up-NAS 110H ein
Schwellenwert für
die Datenübertragungsgröße (wobei
dieser Wert beispielsweise 200MB beträgt) aufgezeichnet.
-
Wenn
durch die DB-Verarbeitung gemäß S3 Abfrageantwortdaten
erfasst werden, vergleicht der Scale-Up-NAS 110H die Datengröße derselben
mit dem Schwellenwert für
die Datenübertragungsgröße für den NAS-Speicher 1508 (S100).
Wenn als Ergebnis des Vergleichs in S100 beurteilt wird, dass die
Datengröße der Abfrageantwortdaten
dem Schwellenwert der Übertragungsdatengröße entspricht
oder größer ist,
führt der
Scale-Up-NAS 110H die Verarbeitung gemäß S4 aus, d.h., er führt eine
Verarbeitung zum Abspeichern der Abfrageantwortdaten über den
Speicherverbindungsabschnitt 150 im Cachespeicher 130 aus.
Wenn andererseits als Ergebnis des Vergleichs in S100 beurteilt
wird, dass die Datengröße der Abfrageantwortdaten
kleiner als der Schwellenwert für
die Übertragungsdatengröße ist, führt der
Scale-Up-NAS 110H die Verarbeitung gemäß S54 aus, d.h., er führt eine
Verarbeitung zum Liefern der Abfrageantwortdaten über den
Serververbindungsabschnitt 151 an das Scale-Out-NAS-Element 110L aus.
-
Vorstehend
wurden eine Ausführungsform der
Erfindung und zugehörige
Modifizierungen als bloße
Beispiele beschrieben, die dazu dienen, die Erfindung zu veranschaulichen,
wobei nicht die Absicht besteht, den Schutzumfang der Erfindung
auf diese Ausführungsform
und die Modifizierungen einzuschränken. Die Erfindung kann durch
eine Vielfalt anderer Ausführungsformen
realisiert werden. Beispielsweise müssen der Web-Server, der AP-Server und
der DB-Server nicht voneinander getrennt sein. Genauer gesagt, kann
beispielsweise das Web-Serverprogramm 470 mit
allen oder einigen der Funktionen eines AB-Servers versehen sein,
und das DB-Serverprogramm 450 kann mit allen oder einigen der
Funktionen eines AP-Servers versehen sein. Darüber hinaus können beispielsweise
der Scale-Up-NAS 110H und/oder das Scale-Out-NAS-Element 110L auswählen, ob
Daten über
den Speicherverbindungsabschnitt 150 oder den Serververbindungsabschnitt 151 zu
liefern sind, und sie können Daten über den
so ausgewählten
Verbindungsabschnitt auf Grundlage nicht nur der Datengröße der Daten
sondern auch aufgrund vorbestimmter Bedingungen (beispielsweise
Attribute usw. der Übertragungszieldaten)
liefern.