DE102004024130B4 - Speichersystem und Verfahren zum Betrieb eines Speichersystems - Google Patents

Speichersystem und Verfahren zum Betrieb eines Speichersystems Download PDF

Info

Publication number
DE102004024130B4
DE102004024130B4 DE102004024130A DE102004024130A DE102004024130B4 DE 102004024130 B4 DE102004024130 B4 DE 102004024130B4 DE 102004024130 A DE102004024130 A DE 102004024130A DE 102004024130 A DE102004024130 A DE 102004024130A DE 102004024130 B4 DE102004024130 B4 DE 102004024130B4
Authority
DE
Germany
Prior art keywords
unit
data
interface
storage
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.)
Expired - Fee Related
Application number
DE102004024130A
Other languages
English (en)
Other versions
DE102004024130A1 (de
Inventor
Kazuhisa Fujimoto
Yasuo Inoue
Mutsumi Hosoya
Kentaro Shimada
Naoki Watanabe
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 DE102004024130A1 publication Critical patent/DE102004024130A1/de
Application granted granted Critical
Publication of DE102004024130B4 publication Critical patent/DE102004024130B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Abstract

Speichersystem zur Verbindung mit einem Computer (3), aufweisend:
ein Festplatten-Laufwerk (2),
eine Speichereinheit (21) zum vorübergehenden Speichern von Daten, die zwischen dem Computer (3) und dem Festplatten-Laufwerk (2) zu übertragen sind,
eine erste Schnittstelleneinheit (10) zur Verbindung des Speichersystems mit dem Computer (3),
eine zweite Schnittstelleneinheit (10), die mit dem Festplatten-Laufwerk (2) verbunden ist,
eine unabhängig von den Schnittstelleneinheiten (10) vorgesehene Prozessoreinheit (81) zur Steuerung des Betriebs der ersten und der zweiten Schnittstelleneinheit (10) sowie der Speichereinheit (21), und
eine Verbindungseinrichtung (31), die die erste Schnittstelleneinheit (10), die zweite Schnittstelleneinheit (10), die Speichereinheit (21) und die Prozessoreinheit (81) miteinander verbindet,
wobei die Verbindungseinrichtung (31) eine Switcheinheit (51) enthält, und die Prozessoreinheit (81) eingerichtet ist, bei einer Zugriffsanforderung zum Lesen oder Schreiben von Daten, die vom Computer (3) her bei der ersten Schnittstelleneinheit (10) eingeht, über die Switcheinheit (51) Steuerungsinformationen zur Steuerung der...

Description

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

Claims (20)

  1. Speichersystem zur Verbindung mit einem Computer (3), aufweisend: ein Festplatten-Laufwerk (2), eine Speichereinheit (21) zum vorübergehenden Speichern von Daten, die zwischen dem Computer (3) und dem Festplatten-Laufwerk (2) zu übertragen sind, eine erste Schnittstelleneinheit (10) zur Verbindung des Speichersystems mit dem Computer (3), eine zweite Schnittstelleneinheit (10), die mit dem Festplatten-Laufwerk (2) verbunden ist, eine unabhängig von den Schnittstelleneinheiten (10) vorgesehene Prozessoreinheit (81) zur Steuerung des Betriebs der ersten und der zweiten Schnittstelleneinheit (10) sowie der Speichereinheit (21), und eine Verbindungseinrichtung (31), die die erste Schnittstelleneinheit (10), die zweite Schnittstelleneinheit (10), die Speichereinheit (21) und die Prozessoreinheit (81) miteinander verbindet, wobei die Verbindungseinrichtung (31) eine Switcheinheit (51) enthält, und die Prozessoreinheit (81) eingerichtet ist, bei einer Zugriffsanforderung zum Lesen oder Schreiben von Daten, die vom Computer (3) her bei der ersten Schnittstelleneinheit (10) eingeht, über die Switcheinheit (51) Steuerungsinformationen zur Steuerung der Datenübertragung zwischen der ersten Schnittstelleneinheit (10) und der Speichereinheit (21) sowie zwischen der zweiten Schnittstelleneinheit (10) und der Speichereinheit (21) an die Schnittstelleneinheiten (10) und die Speichereinheit (21) zu senden.
  2. Speichersystem nach Anspruch 1, bei dem – die Speichereinheit ferner einen Cachespeicher (126) zum Speichern von Daten, die aus dem Computer oder dem Festplatten-Laufwerk zu lesen sind oder dorthin zu schreiben sind, und einen Speicher (127) zum Speichern der Steuerungsinformationen aufweist; und – die Prozessoreinheit (81) ferner mehrere Mikroprozessoren (101) zum Steuern der Übertragung der Daten zwischen dem Computer und dem Festplatten-Laufwerk im Speichersystem aufweist.
  3. Speichersystem nach Anspruch 2, bei dem die mehreren Mikroprozessoren (101) die Steuerungsinformationen über die Verbindungseinrichtung (31) an die Schnittstelleneinheiten (10) oder die Speichereinheit (21) als Steuerziel übertragen.
  4. Speichersystem nach Anspruch 3, bei dem die Verbindungseinrichtung (31) über eine Verbindungseinrichtung (31, 41) zum Übertragen der Daten und eine Verbindungseinrichtung (31, 42) zum Übertragen der Steuerungsinformationen verfügt.
  5. Speichersystem nach Anspruch 4, bei dem die Verbindungseinrichtung (31, 41) zum Übertragen der Daten und die Verbindungseinrichtung (31, 42) zum Übertragen der Steuerungsinformationen jeweils über eine Switcheinheit (51, 52, 56) verfügt.
  6. Speichersystem nach Anspruch 2, bei dem ein erster der Mikroprozessoren (101) nur eine Steuerung der Datenübertragung zwischen der Speichereinheit (21) und der ersten Schnittstelleneinheit (10) ausführt und ein zweiter der Mikroprozessoren nur eine Steuerung der Datenübertragung zwischen der Speichereinheit (21) und der zweiten Schnittstelleneinheit (10) ausführt.
  7. Speichersystem nach einem der vorhergehenden Ansprüche, mit mehreren Clustern, von denen jeder über die genannte erste und zweite Schnittstelleneinheit (10), die Speichereinheit (21), die Prozessoreinheit (81) und die Switcheinheit (51) verfügt, wobei die Cluster dadurch miteinander verbunden sind, dass ihre Switcheinheiten (51) miteinander verbunden sind.
  8. Speichersystem nach Anspruch 7, bei dem die Switcheinheiten (51) unter Verwendung eines anderen Switches (55) miteinander verbunden sind.
  9. Speichersystem nach Anspruch 7, wobei die Prozessoreinheit (81) eines ersten der Cluster, mit dem der Computer verbunden ist, eingerichtet ist, Datenübertragungsanweisungen über die Switcheinheit (51, 55) an die zweite Schnittstelleneinheit (10) eines vom ersten verschiedenen zweiten Clusters zu übertragen, so dass vom Computer angeforderte Daten auf einem Festplatten-Laufwerk des zweiten Clusters gespeichert werden.
  10. Speichersystem nach Anspruch 1, bei dem – eine Schnittstelleneinheit (10) auf einer ersten Leiterplatte (801) montiert ist, die Speichereinheit (21) auf einer zweiten Leiterplatte (803) montiert ist, die Prozessoreinheit (81) auf einer dritten Leiterplatte (804) montiert ist und die Switcheinheit (51, 55) auf einer vierten Leiterplatte (802) montiert ist; – das Speichersystem ferner eine Rückwandplatine (831) aufweist, auf die Signalleitungen zum Verbinden der ersten, zweiten, dritten und vierten Leiterplatte aufgedruckt sind, und die über einen ersten Verbinder zum Verbinden der ersten, zweiten, dritten und vierten Leiterplatte mit den aufgedruckten Signalleitungen verfügt; und – die erste, zweite, dritte und vierte Leiterplatte jeweils einen zweiten Verbinder für Verbindung mit dem ersten Verbinder der Rückwandplatine aufweisen.
  11. Speichersystem nach Anspruch 10, bei dem die Gesamtanzahl der Leiterplatten, die mit der Rückwandplatine verbindbar ist, n ist, die Anzahl der vierten Leiterplatten und die Verbindungsstellen derselben vorbestimmt sind und die Anzahl der ersten, zweiten und dritten Leiterplatten, die mit der Rückwandplatine verbunden werden können, frei jeweils innerhalb eines Bereichs gewählt werden kann, in dem die Gesamtanzahl der ersten, zweiten, dritten und vierten Leiterplatten n nicht überschreitet.
  12. Speichersystem nach Anspruch 7, bei dem – jeder der Cluster ferner eine erste Leiterplatte (801), auf der eine seiner Schnittstelleneinheiten (10) montiert ist, eine zweite Leiterplatte (803), auf der seine Speichereinheit (21) montiert ist, eine dritte Leiterplatte (804), auf der seine Prozessoreinheit (81) montiert ist, eine vierte Leiterplatte (802), auf der seine Switcheinheit (51) montiert ist und eine Rückwandplatine (831) aufweist, auf die Signalleitungen zum Verbinden der ersten, zweiten, dritten und vierten Leiterplatte aufgedruckt sind, und die über einen ersten Verbinder zum Verbinden der ersten, zweiten, dritten und vierten Leiterplatte mit den aufgedruckten Signalleitungen verfügt; und – die erste, zweite, dritte und vierte Leiterplatte jeweils einen zweiten Verbinder für Verbindung mit dem ersten Verbinder der Rückwandplatine aufweisen.
  13. Speichersystem nach Anspruch 12, bei dem die Anzahl der Cluster und die Anzahl der Rückwandplatinen gleich sind.
  14. Speichersystem nach Anspruch 13, bei dem – die vierte Leiterplatte (802) einen dritten Verbinder zum Anschließen eines Kabels (921) aufweist und Signalleitungen zum Verbinden des dritten Verbinders und der Switcheinheit (51, 55) auf die Leiterplatte aufgedruckt sind; und – die Cluster dadurch miteinander verbunden sind, dass die dritten Verbinder durch das Kabel verbunden sind.
  15. Speichersystem nach Anspruch 1, bei dem – die Schnittstelleneinheit auf einer ersten Leiterplatte montiert ist; – die Speichereinheit, die Prozessoreinheit und die Switcheinheit auf einer fünften Leiterplatte montiert sind; – das Speichersystem ferner eine Rückwandplatine aufweist, auf die Signalleitungen zum Verbinden der ersten und der fünften Leiterplatte aufgedruckt sind, und die über einen vierten Verbinder zum Verbinden der ersten und der fünften Leiterplatte mit den aufgedruckten Signalleitungen verfügt; und – die erste und die fünfte Leiterplatte einen fünften Verbinder für Verbindung mit dem vierten Verbinder der Rückwandplatine aufweisen.
  16. Speichersystem nach Anspruch 1, bei dem die Schnittstelleneinheit, die Speichereinheit, die Prozessoreinheit und die Switcheinheit auf einer sechsten Leiterplatte montiert sind.
  17. Speichersystem nach einem der vorhergehenden Ansprüche, wobei die Prozessoreinheit (81) eingerichtet ist, Speicherbereiche der Speichereinheit (21) zum vorübergehenden Speichern der genannten Daten auf Grundlage der Steuerungsinformationen zu verwalten.
  18. Speichersystem nach einem der vorhergehenden Ansprüche, wobei die Prozessoreinheit (81) eingerichtet ist, einen RAID-Prozess für die genannten Daten auszuführen.
  19. Speichersystem nach einem der vorhergehenden Ansprüche, wobei die Prozessoreinheit (81) eingerichtet ist, ihre Verarbeitungsleistung abhängig von der Arbeitsbelastung an der ersten und der an der zweiten Schnittstelleneinheit (10) zwischen einem Prozess zur Steuerung der ersten und einem zur Steuerung der zweiten Schnittstelleneinheit (10) aufzuteilen.
  20. Verfahren zum Betrieb eines Speichersystems nach einem der vorhergehenden Ansprüche, wobei: – die erste Schnittstelleneinheit (10), wenn sie einen Datenlesebefehl vom Computer empfangen hat, diesen Befehl an die Prozessoreinheit (81) überträgt; – die Prozessoreinheit (81) den Befehl decodiert, einen Speicherort der durch den Befehl angeforderten Daten spezifiziert, auf die Speichereinheit (21) zugreift, und klärt, ob die durch den Befehl angeforderten Daten in der Speichereinheit gespeichert sind; – die Prozessoreinheit (81), wenn die durch den Befehl angeforderten Daten in der Speichereinheit gespeichert sind, die erste Schnittstelleneinheit (10) dazu anweist, die angeforderten Daten über die Verbindungseinrichtung (31) aus der Speichereinheit (21) auszulesen; – die erste Schnittstelleneinheit (10) die angeforderten Daten entsprechend den Anweisungen der Prozessoreinheit (81) über die Verbindungseinrichtung (31) aus der Speichereinheit ausliest und die Daten an den Computer überträgt; – die Prozessoreinheit (81), wenn die durch den Befehl angeforderten Daten nicht in der Speichereinheit (21) gespeichert sind, die zweite Schnittstelleneinheit (10), an die das Festplatten-Laufwerk (2) angeschlossen ist, in dem die angeforderten Daten gespeichert sind, dazu anweist, diese angeforderten Daten von diesem Festplatten-Laufwerk zu lesen und die Daten über die Verbindungseinrichtung (31) in die Speichereinheit (21) einzuspeichern; – die zweite Schnittstelleneinheit (10), mit der das Festplatten-Laufwerk (2) verbunden ist, die angeforderten Daten aus dem Festplatten-Laufwerk auf Grundlage der Anweisungen von der Prozessoreinheit (81) ausliest und die Daten über die Verbindungseinrichtung (31) an die Speichereinheit (21) überträgt, und sie die Prozessoreinheit über das Ende der Übertragung informiert; – die Prozessoreinheit (81), nachdem sie das Übertragungsende empfangen hat, die erste Schnittstelleneinheit (10), mit der der Computer verbunden ist, dazu anweist, die angeforderten Daten aus der Speichereinheit (21) auszulesen und diese Daten über die Verbindungseinrichtung (31) an den Computer zu übertragen; und – die erste Schnittstelleneinheit (10), mit der der Computer verbunden ist, die angeforderten Daten über die Verbindungseinrichtung (31) auf Grundlage der Anweisungen der Prozessoreinheit (81) aus der Speichereinheit (21) ausliest und diese Daten an den Computer überträgt.
DE102004024130A 2004-02-10 2004-05-14 Speichersystem und Verfahren zum Betrieb eines Speichersystems Expired - Fee Related DE102004024130B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-032810 2004-02-10
JP2004032810A JP4441286B2 (ja) 2004-02-10 2004-02-10 ストレージシステム

Publications (2)

Publication Number Publication Date
DE102004024130A1 DE102004024130A1 (de) 2005-09-01
DE102004024130B4 true DE102004024130B4 (de) 2009-02-26

Family

ID=32653075

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004024130A Expired - Fee Related DE102004024130B4 (de) 2004-02-10 2004-05-14 Speichersystem und Verfahren zum Betrieb eines Speichersystems

Country Status (6)

Country Link
US (3) US20050177670A1 (de)
JP (1) JP4441286B2 (de)
CN (1) CN1312569C (de)
DE (1) DE102004024130B4 (de)
FR (2) FR2866132B1 (de)
GB (1) GB2411021B (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US7958292B2 (en) * 2004-06-23 2011-06-07 Marvell World Trade Ltd. Disk drive system on chip with integrated buffer memory and support for host memory access
CN101479677B (zh) * 2006-06-23 2011-09-21 三菱电机株式会社 控制装置
US20080101395A1 (en) * 2006-10-30 2008-05-01 Raytheon Company System and Method for Networking Computer Clusters
JP2008204041A (ja) 2007-02-19 2008-09-04 Hitachi Ltd ストレージ装置及びデータ配置制御方法
US7904582B2 (en) * 2007-08-27 2011-03-08 Alaxala Networks Corporation Network relay apparatus
JP5445138B2 (ja) * 2007-12-28 2014-03-19 日本電気株式会社 データ分散格納方法およびデータ分散格納システム
US8375395B2 (en) * 2008-01-03 2013-02-12 L3 Communications Integrated Systems, L.P. Switch-based parallel distributed cache architecture for memory access on reconfigurable computing platforms
EP2083532B1 (de) 2008-01-23 2013-12-25 Comptel Corporation Konvergentes Vermittlungssystem mit verbesserter Datenübertragung
EP2107464A1 (de) * 2008-01-23 2009-10-07 Comptel Corporation Konvergentes Vermittlungssystem mit dynamischer Ressourcenzuweisung
US7921228B2 (en) * 2008-09-08 2011-04-05 Broadrack Technology Corp. Modularized electronic switching controller assembly for computer
JP2010092243A (ja) 2008-10-07 2010-04-22 Hitachi Ltd 複数のストレージモジュールで構成されたストレージシステム
JP5035230B2 (ja) * 2008-12-22 2012-09-26 富士通株式会社 ディスク搭載機構及びストレージ装置
US20130212210A1 (en) * 2012-02-10 2013-08-15 General Electric Company Rule engine manager in memory data transfers
CN104348889B (zh) * 2013-08-09 2019-04-16 鸿富锦精密工业(深圳)有限公司 切换开关及电子装置
US20190042511A1 (en) * 2018-06-29 2019-02-07 Intel Corporation Non volatile memory module for rack implementations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5201053A (en) * 1990-08-31 1993-04-06 International Business Machines Corporation Dynamic polling of devices for nonsynchronous channel connection
US6385681B1 (en) * 1998-09-18 2002-05-07 Hitachi, Ltd. Disk array control device with two different internal connection systems
WO2002046888A2 (en) * 2000-11-06 2002-06-13 Broadcom Corporation Shared resource architecture for multichannel processing system
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
DE102004013112A1 (de) * 2003-11-14 2005-06-23 Hitachi, Ltd. Speichersteuerungsvorrichtung und Verfahren für diese

Family Cites Families (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
NL8004884A (nl) * 1979-10-18 1981-04-22 Storage Technology Corp Virtueel stelsel en werkwijze voor het opslaan van gegevens.
GB8626642D0 (en) * 1986-11-07 1986-12-10 Nighthawk Electronics Ltd Data buffer/switch
US5206943A (en) * 1989-11-03 1993-04-27 Compaq Computer Corporation Disk array controller with parity capabilities
US5249279A (en) * 1989-11-03 1993-09-28 Compaq Computer Corporation Method for controlling disk array operations by receiving logical disk requests and translating the requests to multiple physical disk specific commands
US5680574A (en) * 1990-02-26 1997-10-21 Hitachi, Ltd. Data distribution utilizing a master disk unit for fetching and for writing to remaining disk units
US6728832B2 (en) * 1990-02-26 2004-04-27 Hitachi, Ltd. Distribution of I/O requests across multiple disk units
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
US5257391A (en) * 1991-08-16 1993-10-26 Ncr Corporation Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals
US5740465A (en) * 1992-04-08 1998-04-14 Hitachi, Ltd. Array disk controller for grouping host commands into a single virtual host command
JP3264465B2 (ja) * 1993-06-30 2002-03-11 株式会社日立製作所 記憶システム
US5511227A (en) * 1993-09-30 1996-04-23 Dell Usa, L.P. Method for configuring a composite drive for a disk drive array controller
US5574950A (en) * 1994-03-01 1996-11-12 International Business Machines Corporation Remote data shadowing using a multimode interface to dynamically reconfigure control link-level and communication link-level
US5548788A (en) * 1994-10-27 1996-08-20 Emc Corporation Disk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory
US5729763A (en) * 1995-08-15 1998-03-17 Emc Corporation Data storage system
US5809224A (en) * 1995-10-13 1998-09-15 Compaq Computer Corporation On-line disk array reconfiguration
US5761534A (en) * 1996-05-20 1998-06-02 Cray Research, Inc. System for arbitrating packetized data from the network to the peripheral resources and prioritizing the dispatching of packets onto the network
US5949982A (en) * 1997-06-09 1999-09-07 International Business Machines Corporation Data processing system and method for implementing a switch protocol in a communication system
US6112276A (en) * 1997-10-10 2000-08-29 Signatec, Inc. Modular disk memory apparatus with high transfer rate
US6148349A (en) * 1998-02-06 2000-11-14 Ncr Corporation Dynamic and consistent naming of fabric attached storage by a file system on a compute node storing information mapping API system I/O calls for data objects with a globally unique identification
US5974058A (en) * 1998-03-16 1999-10-26 Storage Technology Corporation System and method for multiplexing serial links
US6108732A (en) * 1998-03-30 2000-08-22 Micron Electronics, Inc. Method for swapping, adding or removing a processor in an operating computer system
JP3657428B2 (ja) * 1998-04-27 2005-06-08 株式会社日立製作所 記憶制御装置
US6014319A (en) * 1998-05-21 2000-01-11 International Business Machines Corporation Multi-part concurrently maintainable electronic circuit card assembly
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6424659B2 (en) * 1998-07-17 2002-07-23 Network Equipment Technologies, Inc. Multi-layer switching apparatus and method
US6711632B1 (en) * 1998-08-11 2004-03-23 Ncr Corporation Method and apparatus for write-back caching with minimal interrupts
JP4400895B2 (ja) * 1999-01-07 2010-01-20 株式会社日立製作所 ディスクアレイ制御装置
JP4294142B2 (ja) * 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
US6370605B1 (en) * 1999-03-04 2002-04-09 Sun Microsystems, Inc. Switch based scalable performance storage architecture
US6363452B1 (en) * 1999-03-29 2002-03-26 Sun Microsystems, Inc. Method and apparatus for adding and removing components without powering down computer system
US6330626B1 (en) * 1999-05-05 2001-12-11 Qlogic Corporation Systems and methods for a disk controller memory architecture
US6401149B1 (en) * 1999-05-05 2002-06-04 Qlogic Corporation Methods for context switching within a disk controller
US6542951B1 (en) * 1999-08-04 2003-04-01 Gateway, Inc. Information handling system having integrated internal scalable storage system
US6343324B1 (en) * 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
JP4061563B2 (ja) * 1999-09-16 2008-03-19 松下電器産業株式会社 磁気ディスク装置、磁気ディスク装置のディスクアクセス方法、及び磁気ディスク装置用ディスクアクセス制御プログラム記録媒体
US6772108B1 (en) * 1999-09-22 2004-08-03 Netcell Corp. Raid controller system and method with ATA emulation host interface
US6581137B1 (en) * 1999-09-29 2003-06-17 Emc Corporation Data storage system
CN1129072C (zh) * 1999-10-27 2003-11-26 盖内蒂克瓦尔有限公司 具有可配置数据/地址通道结构的数据处理系统
US6604155B1 (en) * 1999-11-09 2003-08-05 Sun Microsystems, Inc. Storage architecture employing a transfer node to achieve scalable performance
US6834326B1 (en) * 2000-02-04 2004-12-21 3Com Corporation RAID method and device with network protocol between controller and storage devices
JP3696515B2 (ja) * 2000-03-02 2005-09-21 株式会社ソニー・コンピュータエンタテインメント カーネル機能実現構造及びそれを備えたエンタテインメント装置、カーネルによる周辺ディバイスの制御方法
US6877061B2 (en) * 2000-03-31 2005-04-05 Emc Corporation Data storage system having dummy printed circuit boards
US6611879B1 (en) * 2000-04-28 2003-08-26 Emc Corporation Data storage system having separate data transfer section and message network with trace buffer
US6779071B1 (en) * 2000-04-28 2004-08-17 Emc Corporation Data storage system having separate data transfer section and message network with status register
US6651130B1 (en) * 2000-04-28 2003-11-18 Emc Corporation Data storage system having separate data transfer section and message network with bus arbitration
US6816916B1 (en) * 2000-06-29 2004-11-09 Emc Corporation Data storage system having multi-cast/unicast
US6820171B1 (en) * 2000-06-30 2004-11-16 Lsi Logic Corporation Methods and structures for an extensible RAID storage architecture
US6684268B1 (en) * 2000-09-27 2004-01-27 Emc Corporation Data storage system having separate data transfer section and message network having CPU bus selector
US6901468B1 (en) * 2000-09-27 2005-05-31 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US6631433B1 (en) * 2000-09-27 2003-10-07 Emc Corporation Bus arbiter for a data storage system
US6609164B1 (en) * 2000-10-05 2003-08-19 Emc Corporation Data storage system having separate data transfer section and message network with data pipe DMA
JP4068798B2 (ja) * 2000-10-31 2008-03-26 株式会社日立製作所 記憶サブシステム及びi/oインタフェースの制御方法ならびに情報処理システム
US20040204269A1 (en) * 2000-12-05 2004-10-14 Miro Juan Carlos Heatball
US6636933B1 (en) * 2000-12-21 2003-10-21 Emc Corporation Data storage system having crossbar switch with multi-staged routing
US7107337B2 (en) * 2001-06-07 2006-09-12 Emc Corporation Data storage system with integrated switching
US7082502B2 (en) * 2001-05-15 2006-07-25 Cloudshield Technologies, Inc. Apparatus and method for interfacing with a high speed bi-directional network using a shared memory to store packet data
KR20040038985A (ko) * 2001-07-18 2004-05-08 시몬 게리 무어 자체 잠금 설계를 가진 길이 조절이 가능한 골프 퍼터
JP2003084919A (ja) * 2001-09-06 2003-03-20 Hitachi Ltd ディスクアレイ装置の制御方法およびディスクアレイ装置
US7178147B2 (en) * 2001-09-21 2007-02-13 International Business Machines Corporation Method, system, and program for allocating processor resources to a first and second types of tasks
JP4721379B2 (ja) * 2001-09-26 2011-07-13 株式会社日立製作所 ストレージシステム、ディスク制御クラスタおよびディスク制御クラスタの増設方法
JP2003131818A (ja) * 2001-10-25 2003-05-09 Hitachi Ltd クラスタ構成ストレージにおけるクラスタ間raid構成
JP2003140837A (ja) * 2001-10-30 2003-05-16 Hitachi Ltd ディスクアレイ制御装置
WO2003043254A2 (en) * 2001-11-09 2003-05-22 Chaparral Network Storage, Inc. Transferring data using direct memory access
JP4188602B2 (ja) * 2002-01-10 2008-11-26 株式会社日立製作所 クラスタ型ディスク制御装置及びその制御方法
US7266823B2 (en) * 2002-02-21 2007-09-04 International Business Machines Corporation Apparatus and method of dynamically repartitioning a computer system in response to partition workloads
JP4338068B2 (ja) * 2002-03-20 2009-09-30 株式会社日立製作所 ストレージシステム
US7200715B2 (en) * 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US6868479B1 (en) * 2002-03-28 2005-03-15 Emc Corporation Data storage system having redundant service processors
US6792506B2 (en) * 2002-03-29 2004-09-14 Emc Corporation Memory architecture for a high throughput storage processor
US6865643B2 (en) * 2002-03-29 2005-03-08 Emc Corporation Communications architecture for a high throughput storage processor providing user data priority on shared channels
US6877059B2 (en) * 2002-03-29 2005-04-05 Emc Corporation Communications architecture for a high throughput storage processor
US7209979B2 (en) * 2002-03-29 2007-04-24 Emc Corporation Storage processor architecture for high throughput applications providing efficient user data channel loading
US6813689B2 (en) * 2002-03-29 2004-11-02 Emc Corporation Communications architecture for a high throughput storage processor employing extensive I/O parallelization
JP2003323261A (ja) * 2002-04-26 2003-11-14 Hitachi Ltd ディスク制御システム、ディスク制御装置、ディスクシステム、及びその制御方法
JP4189171B2 (ja) * 2002-05-24 2008-12-03 株式会社日立製作所 ディスク制御装置
US6889301B1 (en) * 2002-06-18 2005-05-03 Emc Corporation Data storage system
JP2004110503A (ja) * 2002-09-19 2004-04-08 Hitachi Ltd 記憶制御装置、記憶システム、記憶制御装置の制御方法、チャネル制御部、及びプログラム
US6957303B2 (en) * 2002-11-26 2005-10-18 Hitachi, Ltd. System and managing method for cluster-type storage
JP2004192105A (ja) * 2002-12-09 2004-07-08 Hitachi Ltd 記憶装置の接続装置およびそれを含むコンピュータシステム
JP4352693B2 (ja) * 2002-12-10 2009-10-28 株式会社日立製作所 ディスクアレイ制御装置及びその制御方法
JP4107083B2 (ja) * 2002-12-27 2008-06-25 株式会社日立製作所 高可用ディスク制御装置とその障害処理方法及び高可用ディスクサブシステム
US7353321B2 (en) * 2003-01-13 2008-04-01 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays
US6957288B2 (en) * 2003-02-19 2005-10-18 Dell Products L.P. Embedded control and monitoring of hard disk drives in an information handling system
JP4322031B2 (ja) * 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
US7143306B2 (en) * 2003-03-31 2006-11-28 Emc Corporation Data storage system
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
WO2004092942A2 (en) * 2003-04-09 2004-10-28 Netcell Corp. Method and apparatus for synchronizing data from asynchronous disk drive data transfers
US7334064B2 (en) * 2003-04-23 2008-02-19 Dot Hill Systems Corporation Application server blade for embedded storage appliance
JP4462852B2 (ja) * 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
US7114014B2 (en) * 2003-06-27 2006-09-26 Sun Microsystems, Inc. Method and system for data movement in data storage systems employing parcel-based data mapping
US7389364B2 (en) * 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US7200695B2 (en) * 2003-09-15 2007-04-03 Intel Corporation Method, system, and program for processing packets utilizing descriptors
US7231492B2 (en) * 2003-09-30 2007-06-12 Emc Corporation Data transfer method wherein a sequence of messages update tag structures during a read data transfer
US7437425B2 (en) * 2003-09-30 2008-10-14 Emc Corporation Data storage system having shared resource
JP2005115603A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd 記憶デバイス制御装置及びその制御方法
JP4275504B2 (ja) * 2003-10-14 2009-06-10 株式会社日立製作所 データ転送方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5201053A (en) * 1990-08-31 1993-04-06 International Business Machines Corporation Dynamic polling of devices for nonsynchronous channel connection
US6385681B1 (en) * 1998-09-18 2002-05-07 Hitachi, Ltd. Disk array control device with two different internal connection systems
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
WO2002046888A2 (en) * 2000-11-06 2002-06-13 Broadcom Corporation Shared resource architecture for multichannel processing system
DE102004013112A1 (de) * 2003-11-14 2005-06-23 Hitachi, Ltd. Speichersteuerungsvorrichtung und Verfahren für diese

Also Published As

Publication number Publication date
JP2005227807A (ja) 2005-08-25
GB0411105D0 (en) 2004-06-23
DE102004024130A1 (de) 2005-09-01
US20050177681A1 (en) 2005-08-11
FR2915594A1 (fr) 2008-10-31
US20050177670A1 (en) 2005-08-11
GB2411021A (en) 2005-08-17
FR2866132B1 (fr) 2008-07-18
FR2866132A1 (fr) 2005-08-12
US20100153961A1 (en) 2010-06-17
CN1312569C (zh) 2007-04-25
CN1655111A (zh) 2005-08-17
JP4441286B2 (ja) 2010-03-31
GB2411021B (en) 2006-04-19

Similar Documents

Publication Publication Date Title
DE102004024130B4 (de) Speichersystem und Verfahren zum Betrieb eines Speichersystems
DE69636663T2 (de) System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
DE102004028808B4 (de) Speichersystem, das mit einem externen Speichersystem verbunden ist und Verfahren zum Verbinden derartiger Systeme
DE102017113576B4 (de) Auf PCI Express basierender Speichereinsatz mit Zweifachport, der Einzelport-Speichercontroller enthält
DE69724355T2 (de) Erweiterte symmetrische Multiprozessorarchitektur
DE102004013112B4 (de) Speichersteuerung
DE69915243T2 (de) Speicherplattenanordnung-Steuerungsvorrichtung
DE112014006605B4 (de) Speichersystem
DE112013006549T5 (de) Computersystem und Datensteuerverfahren
DE10197179T5 (de) Fern-Spiegelung in einer geschalteten Umgebung
DE102005006176A1 (de) Transaktionsverarbeitungs-Systeme und -Verfahren, die einen Nicht-Platten-Dauerspeicher verwenden
DE2917441A1 (de) Multiprozessoranlage
DE112006001167T5 (de) Simulieren mehrerer virtueller Kanäle in Switching-Fabric-Netzwerken
DE102014112943B4 (de) Modulares Computersystem und Servermodul
EP2880534B1 (de) Hochverfügbares rechnersystem, arbeitsverfahren und dessen verwendung
DE10220886A1 (de) Datenspeichersysteme mit verbesserten Netzwerkschnittstellen
DE60123134T2 (de) Verfahren und vorrichtung für einen rekonfigurierbaren prozessor
DE112013006634T5 (de) Computersystem und Computersystemsteuerverfahren
DE112004002043B4 (de) Verfahren, System und Programm zum Aufbau eines Pakets
DE19882975B4 (de) Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus
DE602004009274T2 (de) Speichersteuerungsvorrichtung und Steuerungsverfahren dafür
DE69724879T2 (de) Verfahren und Vorrichtung für einen Kohärenzumwandler zur Verbindung von Rechnersystemkohärenzdomänen
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
EP2825968B1 (de) Modulares serversystem, i/o-modul und switching-verfahren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee