DE602004004068T2 - Speichersteuerungssystem - Google Patents

Speichersteuerungssystem Download PDF

Info

Publication number
DE602004004068T2
DE602004004068T2 DE602004004068T DE602004004068T DE602004004068T2 DE 602004004068 T2 DE602004004068 T2 DE 602004004068T2 DE 602004004068 T DE602004004068 T DE 602004004068T DE 602004004068 T DE602004004068 T DE 602004004068T DE 602004004068 T2 DE602004004068 T2 DE 602004004068T2
Authority
DE
Germany
Prior art keywords
nas
data
scale
server
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE602004004068T
Other languages
English (en)
Other versions
DE602004004068D1 (de
Inventor
c/o Hitachi Ltd. Hiroki Kanai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE602004004068D1 publication Critical patent/DE602004004068D1/de
Application granted granted Critical
Publication of DE602004004068T2 publication Critical patent/DE602004004068T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • 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.

Claims (10)

  1. Speichersteuerungssystem (600), das im gleichen Gehäuse (10) aufweist: eine Speichervorrichtungs-Steuerungseinheit (140) zum Lesen oder Schreiben von Daten von/in eine(r) Speichervorrichtung zum Speichern von Daten; mehrere Kanalsteuerungseinheiten (112), die als Server betrieben werden; mindestens einen Datenspeicher (120, 130) zum Speichern der Daten, die zwischen einer aus den mehreren Kanalsteuerungseinheiten ausgewählten Kanalsteuerungseinheit (112) und der Speichervorrichtungs-Steuerungseinheit (140) ausgetauscht werden; und ein Datenkommunikationsmedium (150), das an die Speichervorrichtungs-Steuerungseinheit (140), die mehreren Kanalsteuerungseinheiten (112) und den mindestens einen Datenspeicher (120, 130) angeschlossen ist, und das ein Kommunikationsmedium für die Daten darstellt, die zwischen der Speichervorrichtungs-Steuerungseinheit (140), der ausgewählten Kanalsteuerungseinheit (112) und dem mindestens einen Datenspeicher (120, 130) ausgetauscht werden, dadurch gekennzeichnet, dass die mehreren Kanalsteuerungseinheiten (112) zwei oder mehrere Scale-Out-Kanalelemente, die eine Scale-Out-Kanalsteuerungseinheitsgruppe (111) bilden, und einen Scale-Up-Kanal (110H) bilden, die eine Kanalsteuerungseinheit höherer Leistungsfähigkeit aufweisen als die Scale-Out-Kanalelemente (110L); und ein Zwischenserver-Kommunikationsmedium (151), das ein Kommunikationsmedium für Zwischenserver-Nachrichten darstellt, die zwischen dem Scale-Out-Kanalelement (110L) und dem Scale-Up-Kanal (110H) ausgetauscht werden, separat von dem Datenkommunikationsmedium vorgesehen ist.
  2. Speichersteuerungssystem nach Anspruch 1, ferner mit: einer Speichervorrichtung (300) zum Speichern von Daten, wobei die Scale-Out-Kanalelemente zwei oder mehrere NAS-Kopfelemente (110L) aufweisen und eine Scale-Out-NAS-Kopfgruppe (111) bilden, und die Scale-Up-Kanäle einen Scale-Up-NAS-Kopf (110H) aufweisen, der einen NAS-Kopf höherer Leistungsfähigkeit darstellt als die NAS-Kopfelemente (110L), das Gehäuse (10) mehrere Allgemeinverwendungs-Einschubstellen (104) aufweist, in die die NAS-Kopfelemente und eine andere Art von Kanalkontrolleinheit, die sich von den NAS-Kopfelementen unterscheidet, einschiebbar sind; jedes der zwei oder mehreren NAS-Kopfelemente (110L) in die Allgemeinverwendungs-Einschubstellen eingeschoben packetiert wird; und der Scale-Up-NAS-Kopf (110H) in dem Gehäuse an einer anderen Stelle als den mehreren Allgemeinverwendungs-Einschubstellen angebracht ist.
  3. Speichersteuerungssystem nach Anspruch 2, wobei die NAS-Kopfelemente (110L), der Scale-Up-NAS-Kopf (110H) und/oder die Speichervorrichtungs-Steuerungseinheit (140) einen ersten Prozessor aufweisen, der Daten blockbasiert verarbeitet; die NAS-Kopfelemente (110L) einen oder mehrere erste Datenspeicher (508) aufweisen, die sich von den einen oder mehreren Datenspeichern unterscheiden, sowie einen oder mehrere zweite Prozessoren (506) einer höheren Leistungsfähigkeit als der erste Prozessor, wobei jeder der einen oder mehreren ersten Datenspeicher (508) von einem zweiten Prozessor aus den einen oder mehreren zweiten Prozessoren verwendet wird, statt von den einen oder mehreren zweiten Prozessoren geteilt zu werden; und der Scale-Up-NAS-Kopf (110H) einen zweiten Datenspeicher (1508) aufweist, der von den einen oder mehreren Datenspeichern verschieden ist, sowie mehrere dritte Prozessoren (1506) einer höheren Leistungsfähigkeit als der erste Prozessor, wobei der zweite Datenspeicher von den mehreren dritten Prozessoren geteilt wird.
  4. Speichersteuerungssystem nach Anspruch 3, wobei: in der Speichervorrichtung eine Datenbank existiert; der zweite Prozessor (506) der NAS-Kopfelemente (110L) dazu ausgelegt ist, als ein WEB-Server betrieben zu werden, indem er ein Computerprogramm (470) zum Betrieb als ein WEB-Server liest; und die mehreren dritten Prozessoren (1506) des Scale-Up-NAS-Kopfs (110H) dazu ausgelegt sind, als ein Datenbank-Server betrieben zu werden, indem sie ein Computerprogramm (450) zum Betrieb als ein Datenbank-Server, der die Datenbank verarbeitet, lesen.
  5. Speichersteuerungssystem nach Anspruch 4, wobei: der zweite Prozessor (506) der NAS-Kopfelemente (110L) dazu ausgelegt ist, gemäß einem Zugriff durch eine externe Vorrichtung, die an ein externes Kommunikationsnetz des Speichersteuerungssystems angeschlossen ist, über das Zwischenserver-Kommunikationsmedium (151) eine Anfrage an den Scale-Up-NAS-Kopf (110H) zu senden; wenigstens einer der mehreren dritten Prozessoren (1506) dazu ausgelegt ist, die Datenbank über die Speichervorrichtungs-Steuerungseinheit (140) gemäß der Anfrage zu bearbeiten, und so Antwortdaten zu lesen, die Daten für die Anfrage über das Datenkommunikationsmedium (150) zu dem mindestens einen Datenspeicher (120, 130) darstellen, und eine Antwortmitteilung für die Anfrage an den zweiten Prozessor (506) der NAS- Kopfelemente (110L) über das Zwischenserver-Kommunikationsmedium (151) zu senden; und der zweite Prozessor (506) dazu ausgelegt ist, die Anfragemitteilung zu empfangen, die in dem mindestens einen mehreren Datenspeicher gespeicherten Antwortdaten über das Datenkommunikationsmedium (150) zu erhalten, und die externe Vorrichtung mit den erhaltenen Antwortdaten oder mit Daten zu versorgen, die durch Verarbeitung der Antwortdaten gewonnen wurden.
  6. Speichersteuerungssystem nach Anspruch 2, wobei, wenn die Daten und Zwischenserver-Mitteilungen zwischen dem NAS-Kopfelement (110L) und dem Scale-Up-NAS-Kopf (110H) ausgetauscht werden, die Zwischenserver-Mitteilungen über das Zwischenserver-Kommunikationsmedium (151) ausgetauscht werden; und die Dateneinheit über den mindestens einen Datenspeicher und das Datenkommunikationsmedium (150) ausgetauscht wird.
  7. Speichersteuerungssystem nach Anspruch 2, wobei: das Datenkommunikationsmedium (150) eine breitere Datentransferbandbreite aufweist als das Zwischenserver-Kommunikationsmedium (151); und das Zwischenserver-Kommunikationsmedium (151) eine größere Anzahl von Kommunikationspfaden aufweist als das Datenkommunikationsmedium (150).
  8. Speichersteuerungssystem nach Anspruch 2, wobei: der Scale-Up-NAS-Kopf (110H) aufweist: einen zweiten Datenspeicher (1508), der sich von dem mindestens einen Datenspeicher unterscheidet; mehrere dritte Prozessoren (1506), die den zweiten Datenspeicher teilen, wobei die Prozessoren eine höhere Leistungsfähigkeit als der erste Prozessor aufweisen; eine Kommunikations-Steuereinheit (1509B), die mehrere Kommunikationsports aufweist, die an mehrere Übertragungspfade angeschlossen sind, die in dem Zwischenserver-Kommunikationsmedium (151) enthalten sind; und eine Speichersteuereinheit (1505), die von der Kommunikationssteuereinheit (1509B) eine Zwischenserver-Nachricht empfängt, die von dem NAS-Kopfelement (110L) durch den Kommunikationsport empfangen wurde, und wobei die Speichersteuereinheit (1505) dazu ausgelegt ist, einen dritten Prozessor (1506) zum Verarbeiten der empfangenen Zwischenserver-Nachricht aus den mehreren dritten Prozessoren auszuwählen, auf dessen Basis ein Kommunikationsport aus den meh reren Kommunikationsports die Zwischenserver-Nachricht empfangen hat, und den ausgewählten dritten Prozessor zum Verarbeiten der empfangenen Zwischenserver-Nachricht zu veranlassen.
  9. Speichersteuerungssystem nach Anspruch 2, wobei: sowohl der Scale-Up-NAS-Kopf (110H) als auch das NAS-Kopfelement (110L) eine Kommunikationsschnittstelle (503, 1503) aufweisen, die an ein externes Kommunikationsnetz des Speichersteuerungssystems angeschlossen ist.
  10. Speichersteuerungssystem nach Anspruch 2, wobei: jedes der NAS-Kopfelemente (110L) und jeder der Scale-Up-NAS-Köpfe (110H) einen NAS-Prozessor (506, 1506) zum Konvertieren von dateibasierten Daten in blockbasierte Daten aufweist; und die Speichervorrichtungs-Steuerungseinheit (140) einen Ein/Ausgangs-Prozessor (603) zum Erhalten und Verarbeiten der blockbasierten Daten aufweist, die durch den NAS-Prozessor konvertiert wurden.
DE602004004068T 2004-04-01 2004-10-19 Speichersteuerungssystem Active DE602004004068T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004109252A JP2005293370A (ja) 2004-04-01 2004-04-01 記憶制御システム
JP2004109252 2004-04-01

Publications (2)

Publication Number Publication Date
DE602004004068D1 DE602004004068D1 (de) 2007-02-15
DE602004004068T2 true DE602004004068T2 (de) 2007-08-30

Family

ID=34880125

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004004068T Active DE602004004068T2 (de) 2004-04-01 2004-10-19 Speichersteuerungssystem

Country Status (4)

Country Link
US (2) US7206901B2 (de)
EP (1) EP1582970B1 (de)
JP (1) JP2005293370A (de)
DE (1) DE602004004068T2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT406690B (de) 1994-12-09 2000-07-25 Donau Chemie Ag Mittel zur behandlung von roheisen- und gusseisenschmelzen zum zweck der entschwefelung
JP2005293370A (ja) * 2004-04-01 2005-10-20 Hitachi Ltd 記憶制御システム
JP4818700B2 (ja) * 2005-12-02 2011-11-16 株式会社日立製作所 記憶制御装置
JP2007188341A (ja) * 2006-01-13 2007-07-26 Hitachi Ltd 記憶デバイス制御装置
US7610418B2 (en) * 2006-08-23 2009-10-27 International Business Machines Corporation Maximizing blade slot utilization in a storage blade enclosure
US7765331B2 (en) * 2006-10-30 2010-07-27 International Business Machines Corporation Integrated RAID controller and SAS switch
US7849263B1 (en) * 2007-12-24 2010-12-07 Emc Corporation Techniques for controlling storage capacity of a data storage system
JP2010211880A (ja) * 2009-03-11 2010-09-24 Sharp Corp ディスクドライブ装置、その制御方法、プログラム、及び、記録媒体
US9571576B2 (en) * 2010-11-30 2017-02-14 International Business Machines Corporation Storage appliance, application server and method thereof
US8825915B2 (en) 2012-03-12 2014-09-02 International Business Machines Corporation Input/output port rotation in a storage area network device
JP5985403B2 (ja) 2013-01-10 2016-09-06 株式会社東芝 ストレージ装置
CN104182010A (zh) * 2014-09-11 2014-12-03 浪潮电子信息产业股份有限公司 一种基于数据switch数据传输的rack机架
US10078614B2 (en) * 2015-08-10 2018-09-18 Sandisk Technologies Llc Systems and methods of data transfer
US10372434B1 (en) * 2016-07-22 2019-08-06 Amdocs Development Limited Apparatus, computer program, and method for communicating an update to a subset of devices

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JP2001256003A (ja) 2000-03-10 2001-09-21 Hitachi Ltd ディスクアレイ制御装置、そのディスクアレイ制御ユニットおよびその増設方法
JP2002123479A (ja) 2000-10-17 2002-04-26 Hitachi Ltd ディスク制御装置およびそのキャッシュ制御方法
US6779063B2 (en) 2001-04-09 2004-08-17 Hitachi, Ltd. Direct access storage system having plural interfaces which permit receipt of block and file I/O requests
JP4039821B2 (ja) 2001-05-09 2008-01-30 株式会社日立製作所 ディスク制御装置を用いた計算機システムおよびその運用サービス
JP4632574B2 (ja) 2001-05-25 2011-02-16 株式会社日立製作所 記憶装置およびファイルデータのバックアップ方法およびファイルデータのコピー方法
US20030033463A1 (en) * 2001-08-10 2003-02-13 Garnett Paul J. Computer system storage
US7065599B2 (en) * 2001-08-10 2006-06-20 Sun Microsystems, Inc. Multiprocessor systems
EP1459157A2 (de) 2001-08-10 2004-09-22 Sun Microsystems, Inc. Schnittstellenbildung von rechnermodulen
JP2003162439A (ja) 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
JP4188602B2 (ja) 2002-01-10 2008-11-26 株式会社日立製作所 クラスタ型ディスク制御装置及びその制御方法
JP2003241905A (ja) 2002-02-15 2003-08-29 Hitachi Ltd 記憶装置、データ記憶方法及び制御装置
JP2003323261A (ja) 2002-04-26 2003-11-14 Hitachi Ltd ディスク制御システム、ディスク制御装置、ディスクシステム、及びその制御方法
JP2003316713A (ja) 2002-04-26 2003-11-07 Hitachi Ltd 記憶装置システム
US7676580B2 (en) * 2003-03-27 2010-03-09 Microsoft Corporation Message delivery with configurable assurances and features between two endpoints
US7693952B2 (en) * 2003-03-27 2010-04-06 Microsoft Corporation Availability and scalability in a messaging system in a manner transparent to the application
US20040199719A1 (en) 2003-04-04 2004-10-07 Network Appliance, Inc. Standalone newtork storage system enclosure including head and multiple disk drives connected to a passive backplane
JP4413518B2 (ja) 2003-04-16 2010-02-10 株式会社日立製作所 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US20050071350A1 (en) * 2003-08-28 2005-03-31 Hewlett-Packard Development Company, L.P. Systems and methods for information technology resource management
JP2005293370A (ja) * 2004-04-01 2005-10-20 Hitachi Ltd 記憶制御システム

Also Published As

Publication number Publication date
US7549019B2 (en) 2009-06-16
JP2005293370A (ja) 2005-10-20
DE602004004068D1 (de) 2007-02-15
US7206901B2 (en) 2007-04-17
US20050223171A1 (en) 2005-10-06
US20070168612A1 (en) 2007-07-19
EP1582970A1 (de) 2005-10-05
EP1582970B1 (de) 2007-01-03

Similar Documents

Publication Publication Date Title
DE602004004068T2 (de) Speichersteuerungssystem
DE102004028808B4 (de) Speichersystem, das mit einem externen Speichersystem verbunden ist und Verfahren zum Verbinden derartiger Systeme
DE69728176T2 (de) Verfahren und gerät das verteilte steuerung von gemeinsamen betriebsmitteln erlaubt
DE112011101109B4 (de) Übertragung von Map/Reduce-Daten auf der Grundlage eines Speichernetzwerkes oder eines Speichernetzwerk-Dateisystems
DE60313567T2 (de) Zugriffsrelayvorrichtung
DE102006054538B4 (de) Verfahren zum Vorabrufen von Datensätzen
DE69938077T2 (de) Verfahren, Vorrichtung und Programmspeichereinrichtung für einen Klienten und ein adaptiver Synchronisierungs- und Transformierungsserver
DE602004006345T2 (de) Verfahren zur Datenanzeige und Analyse von Rechnerleistungsinformation
DE10393771T5 (de) Schnelle Datensicherungsspeicherung und schnelle Datenwiederherstellung (FBSRD)
DE112013001284B4 (de) Adaptive Cachespeicher-Umstufungen in einem Caching-System mit zwei Stufen
DE60111072T2 (de) Verfahren und vorrichtung zur parallelen nachrichtenübermittlung in echtzeit von dateisegmentierten
DE60216602T2 (de) Verfahren und vorrichtung zum zugang zu magnetbandeinrichtungen in einem rechnersystem
DE102004064069B4 (de) Plattenarrayvorrichtung
DE69906585T2 (de) Datenverarbeitungssystem mit nichtuniformen speicherzugriffen (numa) mit spekulativer weiterleitung einer leseanforderung an einen entfernten verarbeitungsknoten
DE602005000972T2 (de) Speichersystem und Datenverarbeitungssystem
DE602004005415T2 (de) Rechnersystem zur Wiedergewinnung von Daten auf Basis von Datenprioritäten
DE112014006605B4 (de) Speichersystem
DE602004007884T2 (de) Speichersteuerungssystem und -Verfahren
DE69733305T2 (de) System/Verfahren zur wirkungsvollen Übermittlung von Datenströmen in einem Multimediasystem
DE102004027672A1 (de) Speicherplattenarraysystem
DE102004013126A1 (de) Vorrichtung und Verfahren zum Ausführen einer Informationsverarbeitung und Verwendung mehrerer Prozessoren
DE202010018481U1 (de) Asynchroner verteilter Objekt-Upload für replizierte Assoziativspeichercluster
DE202014010909U1 (de) Verteilung von Daten in verteilten Speichersystemen
WO2011147580A1 (de) Mehrprozessor -computersystem mit einer mehrzahl von arbeitsprozessoren und einer mehrzahl von überwachungsprozessoren zur überwachung der arbeitsprozessoren
DE102014112943B4 (de) Modulares Computersystem und Servermodul

Legal Events

Date Code Title Description
8364 No opposition during term of opposition