DE69636663T2 - System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen - Google Patents

System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen Download PDF

Info

Publication number
DE69636663T2
DE69636663T2 DE69636663T DE69636663T DE69636663T2 DE 69636663 T2 DE69636663 T2 DE 69636663T2 DE 69636663 T DE69636663 T DE 69636663T DE 69636663 T DE69636663 T DE 69636663T DE 69636663 T2 DE69636663 T2 DE 69636663T2
Authority
DE
Germany
Prior art keywords
adapter
data
controls
arrangement
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 - Lifetime
Application number
DE69636663T
Other languages
English (en)
Other versions
DE69636663D1 (de
Inventor
Ian David Winchester Judd
Nik Southampton Shaylor
Alistair Leask San Jose Symon
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69636663D1 publication Critical patent/DE69636663D1/de
Application granted granted Critical
Publication of DE69636663T2 publication Critical patent/DE69636663T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Datenspeichersysteme und insbesondere Mehrfachspeichersysteme, die von mehreren Hostrechnersystemen gemeinsam genutzt werden.
  • HINTERGRUND DER ERFINDUNG
  • Der zunehmende Einsatz von Computern hat zu einem wachsenden Bedarf an flexiblen Systemen mit hoher Verfügbarkeit zur Datenspeicherung von Computersystemen geführt. Viele Unternehmen verfügen über eine Vielzahl von Hostrechnersystemen mit Personal Computern und Arbeitsplatzrechnern, die entweder unabhängig arbeiten oder in einem Netz zusammengeschlossen sind. Es ist wünschenswert, den zahlreichen Hostrechnersysteme den Zugriff auf ein gemeinsames Reservoir von Mehrfachspeichersystemen zu ermöglichen, damit alle Hostrechnersysteme auf die Daten zugreifen können. Eine solche Anordnung vergrößert die Gesamtmenge an Daten, die jedem einzelnen der Hostrechnersysteme zur Verfügung stehen. Außerdem kann die Auslastung der Hostrechner ausgeglichen und das gesamte System gegen den Ausfall eines einzelnen Hostrechners geschützt werden.
  • Wichtig ist auch, dass die Verfügbarkeit der in dem Speichersystem gespeicherten Daten erhalten bleibt. Ein Ansatz zum Schutz der Daten besteht in der Einbeziehung von RAID-Funktionen (Redundant Array of Independent Disks, redundante Reihe unabhängiger Platten). Die Konzepte und Varianten der RAID-Technologie sind in der Datenspeicherindustrie allgemein bekannt. Die Stufen (levels) von RAID werden von Patterson et al. in „A Case for Redundant Arrays of Inexpensive Disks (RAID)", Tagungsband der „1988 ACM SIGMOND Conference on Management of Data", Chicago, Illinois, Juni 1988, beschrieben. Ein typisches RAID-System beinhaltet eine RAID-Steuereinheit und eine Vielzahl von Speichereinheiten, zum Beispiel Speichereinheiten mit Direktzugriff (Direct Access Storage Device, DASD), die auch als Festplattenlaufwerke bezeichnet werden, die zu einer Speicheranordnung (Matrix) zusammengeschlossen sind. Die Daten werden im System mit Hilfe von Paritätsdaten geschützt, die auch als Teil der Speicheranordnung gespeichert werden. Eine Speicheranordnung mit RAID Level 0 betrifft normalerweise eine Speicheranordnung, bei der die Daten auf alle DASDs verteilt werden (striping), die jedoch keinen Paritätsschutz bietet. Ein System mit RAID Level 1 spiegelt die Daten einer DASD auf einer zweiten DASD, um Redundanz zu erzeugen. Bei einer Architektur mit RAID Level 5 laufen die RAID-Operationen noch sicherer und schneller ab, indem ein logisches Paritätslaufwerk eingerichtet wird. Dieses logische Paritätslaufwerk ist physisch auf alle Laufwerke der Matrix verteilt, sodass kein Laufwerk die Parität für die gesamte Matrix enthält. Ein JBOD (Just a Bunch Of Disks, nur ein Haufen Platten) bezeichnet üblicherweise eine DASD-Matrix ohne Striping oder Redundanz. Es gibt bestimmte Operationen, bei denen jede Stufe, RAID Level 0, RAID Level 1, RAID Level 3 oder RAID Level 5 stärker bevorzugt sein kann. Zum Beispiel wird RAID Level 5 bei Systemen bevorzugt, bei denen eine große Anzahl gleichzeitiger Zugriffe auf die Daten erforderlich ist.
  • Ferner ist es wünschenswert, dass Speichersysteme auch einen Cachespeicher beinhalten, entweder einen Lese- oder einen Schreib-Cachespeicher. Ferner ist in der Industrie ein nichtflüchtiger Cachespeicher bekannt, bei dem das Einspeichern der Daten so betrachtet wird, als würden sie auf die Festplatte geschrieben, ohne jedoch auf die Plattenzugriffe und den eigentlichen Vorgang des Schreibens der Daten auf die Festplatte selbst warten zu müssen.
  • Ferner ist es wünschenswert, redundante Pfade bereitzustellen, um vor dem Ausfall von Hardware zu schützen, damit bei den Datenzugriffen die Geschwindigkeit und die hohe Verfügbarkeit garantiert werden kann.
  • Frühere Lösungen für den Zugriff mehrerer Hostrechner auf mehrere Computersysteme haben sich einer Kombination von Hostadapterkarten, externen Festplatten-Steuereinheiten und standardmäßigen vernetzten Datenübertragungssystemen bedient.
  • Beispiele von vernetzten Konfigurationen von Computerspeichersystemen nach dem Stand der Technik für den Zugriff mehrerer Hostrechner auf Mehrfachspeicheranordnungen sind in 1 und 2 dargestellt. Jedes Hostrechnersystem verfügt über seine eigene Schnittstelle 11 zur Festplattenanordnung 12. Die Hostrechnersysteme stehen über ein Netzwerk 13 und ein Netzdateisystem in Verbindung miteinander, zum Beispiel über das Network File System (NFS) von Sun Microsystems. Wenn ein Hostrechner auf Daten zugreifen will, die zu einem anderen Hostrechnersystem gehören und unter dessen Kontrolle stehen, wird die Anforderung für den Datenzugriff durch den Netzserver an den Hostrechner weitergeleitet, unter dessen Kontrolle die Speicheranordnung mit den gewünschten Daten steht. Diese Lösung stößt insofern auf Grenzen, als das Senden der Anforderung Zeit in Anspruch nimmt. Ferner wird für solche Operationen Netzzeit in Anspruch genommen, die eigentlich für andere Datenübertragungen zwischen den Hostrechnern benötigt wird. Außerdem ist das Netzwerk für derartige Datenzugriffe nicht optimiert.
  • 2 zeigt ein System, bei dem eine Vielzahl von Hostrechnern 16 auf ein separates Steuereinheiten-Teilsystem 15 zugreifen können. Das Steuereinheiten-Teilsystem stellt die Steuerungsfunktionen für die Speicheranordnungen bereit, die mit dem Teilsystem verbunden sind. Zu diesen Funktionen gehören die Paritätsverwaltung und das Striping (laufwerkübergreifendes Lesen und Schreiben von Daten) des RAID, das Lesen des Cachespeichers und das nichtflüchtige Schreiben in den Cachespeicher. Ein Hostrechner 16 kann über die gemeinsame Steuereinheit auf die Daten zugreifen. Ein Hostrechner sendet eine Anforderung an eine der Steuereinheit, die dann auf die Speicheranordnung zugreift und die angeforderten Daten zum Hostrechner zurücksendet. Allerdings weist das in 2 gezeigte System zahlreiche Einschränkungen auf. Die Anzahl der Hostrechner, die mit einem Teilsystem verbunden werden kann, sowie die Anzahl der durch das Teilsystem zu steuernden Speicheranordnungen sind begrenzt. Außerdem gibt es bei dem System nach dem Stand der Technik in 2 zwischen dem Hostrechner und den Speicheranordnungen eine extra Ebene für die Steuerungsvorrichtung, sodass der Hostrechner nicht selbstständig agieren kann, da er über keine eigene Steuereinheit für seine Gruppe von DASDs verfügt.
  • Ferner benötigen die externen Steuereinheiten zusätzliche Elektronik, Stromversorgung und Einbauraum, welche den Kostenaufwand steigern und die Zuverlässigkeit des Gesamtsystems verringern.
  • In WO 93/18 456 wird ein System mit einer redundanten Speicheranordnung mit Speichereinheiten beschrieben, die in zwei logische Speicheranordnungen aufgeteilt sind. Das System mit der redundanten Speicheranordnung beinhaltet ferner eine Vielzahl von Steuereinheiten zur Steuerung der Speicheranordnung, die ausschließlich mit der Steuerung der Datenübertragungen zwischen den logischen Speicheranordnungen und einer Zentraleinheit beschäftigt sind, wobei jede Steuereinheit in der Lage ist, die Aufgabe einer ausgefallenen Steuereinheit zu übernehmen.
  • R.W. Horst beschreibt in „TNET: A Reliable System Area Network", IEEE Micro, IEE Inc., New York, USA, Bd. 15, Nr. 1, vom 1. Februar 1995 eine erweiterbare Hardware-Software-Schicht, die durch logische und physische Trennung der Prozessorbusse von den E/A-Bussen sehr große Konfigurationen ermöglicht.
  • Deshalb besteht ein Bedarf an einer weniger aufwändigen und besser skalierbaren Lösung, die eine bessere Verbindungsmöglichkeit zwischen den Hostrechnern und den Speicheranordnungen gestattet. Wünschenswert sind eine hohe Verfügbarkeit und Leistung eines solchen Systems.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Die vorliegende Erfindung, die in den beiliegenden Hauptansprüchen genau definiert ist, löst eines oder mehrere der obigen Probleme in Systemen nach dem Stand der Technik und stellt gleichzeitig eine weniger aufwändige und besser skalierbare Lösung bereit. Die vorliegende Erfindung stellt eine Architektur mit Hostadapterkarten bereit, die in den Hostrechner eingebaut sind und zahlreiche Speicheranordnungen steuern können.
  • Es wird ein System zur Steuerung von Daten für eine Vielzahl von Hostrechnern auf einer Vielzahl von Speicheranordnungen derart bereitgestellt, dass jeder Hostrechner auf die Daten in jeder Speicheranordnung zugreifen kann. Es wird eine Vielzahl von Adapterkarten verwendet. Jeder Adapter übt Steuerungsfunktionen für eine bestimmte Speicheranordnung aus. Für den Datenaustausch zwischen allen Adaptern des Systems gibt es eine Adapterschnittstelle (Adapterverbindungseinheit). Zwischen einem im Hostrechner laufenden Anwendungsprogramm und einem Adapter gibt es eine Hostrechner-Anwendungsschnittstelle. Wenn ein Anwendungsprogramm über eine Hostrechner-Anwendungsschnittstelle an einen ersten Adapter eine Anforderung nach Daten richtet, die in einer nicht in erster Linie durch den ersten Adapter gesteuerten Speicheranordnung gespeichert sind, wird die Datenanforderung über den Adapterverbund an denjenigen Adapter weitergeleitet, der die Speicheranordnung mit den darin gespeicherten angeforderten Daten in erster Linie steuert.
  • Bei einer bevorzugten Ausführungsart weist jeder Hostrechner einen oder mehrere Adapter auf, wobei jeder Adapter eine RAID-Steuereinheit, eine oder mehrere externe Schnittstellen und einen Lese- und einen Schreib-Cachespeicher enthält. Die Festplattenlaufwerke sind nach einem RAID-Schema, zum Beispiel RAID Level 0, RAID Level 1, RAID Level 3 oder RAID Level 5, in einer oder mehreren Anordnungen zusammengeschaltet. Jede Anordnung wird zu jedem Zeitpunkt durch einen einzigen Adapter gesteuert, und alle Zugriffe auf die Speicheranordnung laufen über diesen Adapter. Dadurch können mögliche Konflikte aufgrund überlappender Paritätsaktualisierungen einfach gelöst werden. Die Ausführungsart verhindert auch Kohärenzprobleme, die sich aus der Speicherung mehrerer Exemplare derselben Daten in mehreren Cachespeichern ergeben können. Durch die Adapterverbund können Daten sowohl zwischen den Adaptern (peer-to-peer) als auch zwischen Adaptern und Festplatten übertragen werden.
  • Bei einer bevorzugten Ausführungsart gibt es auch eine Vielzahl von sekundären Adaptern, welche jede Speicheranordnung nachrangig steuern können. Ein sekundärer Adapter steuert eine bestimmte Speicheranordnung, wenn ein Adapter, der diese bestimmte Speicheranordnung erstrangig steuert, nicht verfügbar ist. Der Adapterverbund verbindet alle Adapter einschließlich der sekundären Adapter miteinander.
  • Eine Aufgabe der Erfindung besteht darin, ein System mit hoher Verfügbarkeit zu erstellen, damit mehrere Hostrechner auf Mehrfachspeicheranordnungen zugreifen können. Eine Ausführungsform, die sich der Schleifentechnik der seriellen Speicherarchitektur (Serial Storage Architecture, SSA) bedient, kann 128 Hostrechnersysteme miteinander verknüpfen.
  • Die Hostadapterkarten können mit vielen Hostrechnerbussen kompatibel sein, zum Beispiel mit einem Microchannel- oder PCI-Bus für Personal Computer und Arbeitsplatzrechner, der eine weniger aufwändige und besser skalierbare Lösung ermöglicht. Außer der SSA-Schnittstelle kann in Verbindung mit bereits vorhandenen parallelen Schnittstellen wie SCSI2 auch die Fibre-Channel-Schnittstelle FC-AL (Fibre Channel-Arbitrated Loop) verwendet werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockschaltbild eines System nach dem Stand der Technik für den Zugriff mehrerer Hostrechner auf Mehrfachspeicheranordnungen;
  • 2 ist ein Blockschaltbild eines zweiten Systems nach dem Stand der Technik für den Zugriff mehrerer Hostrechner auf Mehrfachspeicheranordnungen;
  • 3 ist ein Blockschaltbild einer logischen Darstellung der Funktionen und Arbeitsschritte der Erfindung;
  • 4 ist ein Flussdiagramm zur Darstellung des Verfahrens zum Umsetzen der Erfindung;
  • 5 ist ein Blockschaltbild der Hardware für die Adapterkarte zum Umsetzen der Erfindung;
  • 6 ist ein Schaubild der Software zum Umsetzen der Erfindung;
  • 7 ist ein Blockschaltbild einer ersten Umsetzung der Erfindung;
  • 8 ist ein Blockschaltbild einer zweiten Umsetzung der Erfindung; und
  • 9 ist eine Darstellung von Tabellen, die in den Registern der Adapter und in den Speichereinheiten gespeichert sind.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • 3 zeigt eine logische Darstellung der Hauptelemente der Funktionen und Arbeitsschritte der Erfindung. Jeder Hostrechner 20 weist einen oder mehrere Adapter 22 auf. Jeder Adapter enthält eine RAID-Steuereinheit, eine oder mehrere externe Schnittstellen und einen Lese- und Schreib-Cachespeicher. Die Hostrechner nutzen ein gemeinsames Reservoir von Festplattenanordnungen. Die Festplattenlaufwerke sind in Form einer oder mehrerer Anordnungen zusammengeschaltet, zum Beispiel als RAID Level 0, RAID Level 1, RAID Level 3, RAID Level 5 oder als JBOD, wobei diese Systeme dem Fachmann bestens bekannt sind. Jede Anordnung wird zu jedem Zeitpunkt durch einen einzigen Adapter gesteuert und alle Zugriffe auf die Speicheranordnung werden durch den Adapter vermittelt. Dadurch können mögliche Konflikte infolge gleichzeitig überlappender Paritätsaktualisierungen einfach gelöst werden. Ferner werden dadurch Kohärenzprobleme vermieden, die sich aus der Speicherung mehrerer Exemplare derselben Daten in mehreren Cachespeichern ergeben können. Da jede Speicheranordnung nur durch einen Adapter gesteuert wird, müssen alle Anforderungen nach einer Speicheranordnung, die nicht von dem Steuerungsadapter dieser Speicheranordnung stammen, zuerst zu diesem Steuerungsadapter weitergeleitet werden, der dann auf die Speicheranordnung zugreift und die Ergebnisse an die ursprünglich anfordernde Einheit zurückgibt.
  • Die Adapter 22 sind durch eine Verbindungseinheit 23 miteinander verbunden, um den Datenaustausch sowohl zwischen den Adaptern als auch zwischen Adaptern und Festplatten zu ermöglichen.
  • Ein Beispiel für ein Hostrechnersystem stellt die Maschine IBM Risc System/6000 dar, auf der das Betriebssystem IBM AIX läuft. Auch viele andere dem Fachmann bestens bekannte Hostrechnersysteme können verwendet werden.
  • Wenn ein Hostrechner gemäß 3 und 4 Daten von einer Speicheranordnung 2 lesen möchte, die durch den Adapter B 22 gesteuert wird, gibt der Hostrechner eine E/A-Anforderung an den Adapter A 22 aus. Der Adapter A durchsucht das Verzeichnis und stellt fest, dass die Speicheranordnung 2 durch einen Adapter B 22 gesteuert wird. Der erste Adapter leitet die E/A-Anforderung an den Adapter B 27 weiter. Der Adapter B führt die E/A-Anforderung aus, indem er seine Cachespeicher durchsucht und im Bedarfsfalle auf die Festplatten zugreift. Dann gibt der Adapter B die gelesenen Daten an den Adapter A 22 zurück. Der Adapter A speichert die gelesenen Daten im Speicher des Hostrechners und unterbricht den Hostrechner, um die vollständige Bearbeitung der E/A-Anforderung anzuzeigen.
  • Dem Fachmann ist bekannt, dass zur Herstellung der Verbindungsmöglichkeit (Verbindungseinheit 23) je nach Bandbreite, Verzweigungsgrad und Verfügbarkeit viele Ausführungsformen verwendet werden können. Zum Beispiel kann das System über einen oder mehrere parallele Busse, serielle Schleifen oder serielle Schalter verfügen. Die bevorzugte Ausführungsart der vorliegenden Erfindung wird unter Bezug auf die serielle Speicherarchitektur (SSA) als Verknüpfungsarchitektur beschrieben, jedoch sind auch andere Architekturen einsetzbar.
  • Die SSA wurde nach dem ANSI-Standard X3T10.1 des amerikanischen Standardisierungsinstituts (American National Standards Institute, ANSI) entwickelt. SSA ist eine serielle Schnittstelle, die speziell zum Anschließen von E/A-Einheiten wie beispielsweise Festplattenlaufwerken, Bandspeicherlaufwerken, CD-ROM-Laufwerken, optischen Laufwerken, Druckern, Scannern und anderen Peripherieeinheiten an Arbeitsplatzserver (Hostrechnersysteme) und Speicher-Teilsysteme entwickelt wurde. Da dem Fachmann die Ausführungsformen von SSA-Architekturen vertraut ist, werden die Architektur und ihre Funktionsweise im Folgenden nicht näher beschrieben. Nähere Erläuterungen zu SSA sind in „Information Technology – Serial Storage Architecture – Transport Layer 1 (SSA-TL1), ANSI X3T10.1/0989D", „Information Technology – Serial Storage Architecture – Physical 1 (SSA-PH1), ANSI X3T10.1/xxxD) und „Information Technology – Serial Storage Architecture – SCSI-2 Protocal (SSA-S2P), ANSI X3T10.1/1121D" zu finden.
  • Unter einer Leitung oder einem Bus sind Leitungselemente zu verstehen, die zur Übertragung von Daten in Form von Signalen über ein Übertragungsmedium wie zum Beispiel einen Kupferdraht genutzt werden. Eine serielle Leitung kann ein Kabel für die Übertragung von Einzelsignalen verwenden, bei der die Dateneinheiten in serieller Folge über den Datenübertragungspfad übertragen werden. Ein serieller Anschluss weist normalerweise eine Zweiwegeübertragung (Vollduplex) auf. Im Zusammenhang mit einer Schleifenkonfiguration (wie bei den Plattenanordnungen) kann der zweite Pfad zur Verdoppelung der Bandbreite jedes Laufwerks in der Schleife oder zur Bereitstellung eines Ersatzzugangs zu einem Laufwerk verwendet werden, wenn eine Leitung ausgefallen ist. Die SSA stellt eine Zweisignalverbindung (Senden und Empfangen) für eine Vollduplex-Übertragung zur Verfügung.
  • Die SSA nutzt die logischen Aspekte der SCSI-Kennwerte (Small Computer System Interface, Schnittstelle für kleine Computersysteme) zur Versorgung der serielle angeschlossenen Peripherieeinheiten. Diese SCSI-Kennwerte sind in den Festelegungen der physischen Eigenschaften der SSA niedergelegt. Das heißt, die SSA kann als Transportschicht für verschiedene höhere Protokolle verwendet werden, insbesondere das Protokoll SCSI-2 für Speicheranwendungen. SCSI-2 gebraucht auf der SSA ein ähnliches Adressschema, wie es im SCSI-Standard definiert ist, wo es Initiatoren, Ziele und logische Einheiten gibt.
  • Das einfachste SSA-Netzwerk besteht aus einem Hostadapter mit Einzelanschluss, der mit einer Peripherieeinheit mit Einzelanschluss verbunden ist. Die serielle Verbindung besteht aus vier Drähten zur Übertragung von Datenpaketen. Vier Leitungen bestehen aus einem Plus/Minus-Ausgangsanschluss (Senden) und einem Plus/Minus-Eingangsanschluss (Empfangen). Ein „Anschluss" (Port) bezieht sich auf einen Gateway, der aus Hardware und Firmware besteht, zur Unterstützung eines Leitungsendes (eines Sende- und eines Empfangspfades). Ein Anschluss in einem Knoten stellt über eine Leitung eine Verbindung zu einem Anschluss eines anderen Knotens her.
  • In der SSA ist ein Anschluss in der Lage, gleichzeitig zwei 20-MB/s-Verbindungen zu betreiben, eine Eingangsleitung und eine Ausgangsleitung. Jede Leitung in der Schleife funktioniert unabhängig, sodass die Gesamtbandbreite der Schleife größer als die der Einzelleitung sein kann. Die Schleife verträgt auch den Ausfall einer Einzelleitung, da die Daten entweder im Uhrzeigersinne oder entgegengesetzt laufen können. Ein SSA-Knoten mit Doppelanschluss kann gleichzeitig vier Verbindungen mit einer Gesamtbandbreite von 80 MB/s betreiben.
  • Ein Knoten entspricht einer Systemsteuereinheit, einem Hostrechner oder einer Peripherieeinheit mit einem oder mehreren seriellen Anschlüssen. Jeder Knoten hat eine Funktion auszuführen, die spezielle Zuständigkeit oder Aufgabe eine für ihn darstellt. Bei einem Initiator handelt es sich um die Funktion innerhalb des Knotens, die festlegt, welche Task ausgeführt werden soll und welches Ziel die gewünschte Task ausführen wird. An einem Knoten sind ein oder mehrere Anschlüsse vorhanden.
  • Ein Rahmen ist eine Grundeinheit bei der Datenübertragung zwischen zwei Anschlüssen in einem SSA-Netz. Ein Rahmen hat ein bestimmte Format, das aus einem Steuerbyte, bis zu sechs Adressbytes, bis zu 128 Datenbytes und vier Bytes zur Fehlererkennung besteht. Ein Knoten kann Rahmen zwischen Anschlüssen leiten. Eine Knotenfunktion ist in der Lage, Rahmen zu erzeugen oder zu übertragen. Das SSA-Protokoll bedient sich spezieller Zeichen, um den Fluss der zwischen den Knoten übertragenen Rahmen zu steuern und die Rahmen zu bestätigen. Unter einer Rahmenmultiplexeinrichtung ist zu verstehen, dass mit dem Telegrafiesystem über dasselbe Kabel gleichzeitig zwei oder mehr Nachrichten in jeder Richtung übertragen werden können.
  • Die SSA kann mit mehreren Topologien realisiert werden, darunter Zeichenketten-, Schleifen- und Schalterkonfigurationen. Bei einer typischen Einzelschleifenanordnung können 128 Knoten mit Doppelanschluss (Peripherieeinheiten oder Hostrechner) unterstützt werden. Bei einer komplexen Schalterkonfiguration kann die maximale Anzahl der Knoten theoretisch über zwei Millionen betragen. Die Schleifentopologie ermöglicht die Wahl alternativer Pfade zu jedem Knoten im Netz und verhindert, dass Netz bereits bei einem Fehler ausfällt.
  • Zwischen zwei Knoten wird ein Gateway geschaltet, um eine Vollduplexübertragung über das SSA-Netz vorzusehen. Ein Knoten sendet eine Transaktion an einen anderen Knoten, damit dieser eine Funktion ausführt, zum Beispiel auf Festplatten zuzugreifen. Ein Gateway besteht aus zwei Verbindungen, jeweils einer in jede Richtung. Der Master (der Knoten, der die Transaktion gesendet hat) erzeugt einen Mastersteuerblock. Der Gateway senden die Transaktion in Form von Rahmen über das Netz. Die Slave-Seite des Gateway empfängt Transaktionsrahmen und erzeugt einen Taststeuerblock, der den angegebenen Dienst aufruft.
  • 5 zeigt ein Blockschaltbild der Hardware der Adapterkarte. Der Adapter hat einen Mikroprozessor 30, der über einen Mikroprozessorbus 32 mit einem RAM 33, der den erforderlichen Code und die Steuerblöcke (nähere Beschreibung siehe 6) enthält, und einem nichtflüchtigen RAM 34 und einem ROM 35 für das Bootprogramm verbunden ist. Eine Mikroprozessorbrücke 36 verbindet den Mikroprozessor 30 über einen lokalen Bus 37 mit einem nichtflüchtigen Cachespeicher 38 und einem Lese-Cachespeicher 40. Ferner wird zur Durchführung von RAID-Paritätsberechnungen eine XOR-Hardware 42 bereitgestellt. Eine Hostrechnerbrücke 44 stellt über eine Hostrechnerschnittstelle wie zum Beispiel einen Microchannel oder PCI-Bus 45 eine Verbindung zu einer Haupt-Hostrechnerhardware her. Es gibt zwei SSA-Chips 46 und 47 mit Doppelanschluss, je einen für die Verbindung mit anderen Adaptern und einen für die Verbindung mit einer Anordnung von Speichereinheiten. Jeder Block kann aus einer separaten ASIC (Application Specific Integrated circuit, anwendungsspezifische integrierte Schaltung) bestehen. Die XOR-Funktion kann mit der Steuerung des Lese-Cachespeichers in einer ASIC verknüpft werden.
  • 6 zeigt ein Schaubild der im Hostrechner und der Adapterkarte laufenden Software zur Realisierung der Erfindung. Ein Hostrechnersystem weist eine (nicht gezeigte) Zentraleinheit (Central Processing Unit, CPU) und einen (nicht gezeigten) RAM auf, in welchem die Software während der Ausführung gespeichert ist. Ein im RAM laufendes Anwendungsprogramm 56 sendet über ein Betriebssystem 60 eine E/A-Anforderung an das Dateisystem 57 oder direkt an einen Einheitentreiber 58. Der Einheitentreiber besitzt eine Schnittstelle 61 zum Betriebssystem, einen Softwarebus 62 und einen Gateway 63 zur Adapterkarte.
  • Die Adapterkarte 64 hat einen eigenen Mikroprozessor und einen eigenen RAM, der während der Ausführung die zur Realisierung der Erfindung verwendete Software enthält (nähere Einzelheiten zur Hardware im Adapter siehe 5). Die Adapterkarte hat einen Gateway 66 zur Zusammenarbeit mit dem Einheitentreiber und einen Softwarebus 67, der mit einer Cachespeicher-Steuereinheit 68 und einer RAID-Steuereinheit 70 kommuniziert. Der Adapter besitzt auch ein Register 72, welches die durch die Adapterkarte erstrangig gesteuerte Speicheranordnung und die über andere Adapterkarten erreichbaren Speicheranordnungen kennzeichnet. Der Softwarebus arbeitet auch mit einem Gateway 74 zusammen, der über einen Schnittstellen-Chip die Peer-to-Peer-Verbindung 75 zu den anderen Adapterkarten herstellt. Die Festplattenschnittstelle 76 arbeitet mit der Festplattenanordnung 77 zusammen.
  • Zur Verbesserung der Verbindungsmöglichkeiten zu den Speicheranordnungen ist jede Anordnung mit einem primären und einem sekundären (als Reserve) Steueradapter ausgestattet. Da alle Festplatten in einer Schleife mit beiden Adaptern verbunden sind, wird, wenn beide Adapter intakt sind, eine Anforderung nach Zugriff auf eine durch den anderen Adapter erstrangig gesteuerte Speicheranordnung zuerst zu dem anderen Adapter geleitet, um die Verarbeitung über die Peer-to-Peer-Verbindung 75 abzuwickeln. Die Ergebnisse werden dann wieder über die Peer-to-Peer-Verbindung 75 zurück zum anfordernden Adapter und weiter zum Hostrechner übertragen.
  • Bei einer Konfiguration kann ein Adapter eine Speicheranordnung erstrangig und eine andere Speicher zweitrangig steuern, wenn sich beide in derselben SSA-Schleife der Plattenanordnung befinden. 7 zeigt, dass jeder Hostrechner 80 bis 85 eine Adapterkarte 86 bis 91 hat, die entweder als primärer oder als sekundärer Adapter für eine Plattenanordnung 92 bis 97 funktioniert. Zwar sind wie oben erwähnt nur sechs Hostrechner dargestellt, jedoch können viel mehr Hostrechner angeschlossen sein. Jede Speicheranordnung 92 bis 97 verfügt über einen primären und einen sekundären Adapter als Steuereinheit für diese Speicheranordnung. Zum Beispiel ist der Adapter A1 (86) die primäre Steuereinheit für die Speicheranordnung A (92) und gleichzeitig der sekundäre Adapter für die Speicheranordnung B (93). Der Adapter A2 (87) ist die primäre Steuereinheit für die Speicheranordnung B und gleichzeitig der sekundäre Adapter für die Speicheranordnung A (92). Sämtliche Adapter sind über eine SSA-Schleife 98 miteinander verbunden. Paare von Speicheranordnungen, zum Beispiel die Speicheranordnung A und die Speicheranordnung B, sind über eine SSA-Einheitenschleife 99 miteinander verbunden. Wenn der primäre Adapter aktiv ist, werden die E/A-Anforderungen über den primären Adapter weitergeleitet. Wenn die primäre Adapterkarte jedoch ausfällt, können die anderen Hostrechner immer noch über den sekundären Adapter auf die Festplattenanordnung zugreifen.
  • Das System kann fehlerfrei konfiguriert werden, indem in jedem Hostrechner mehrere Adapter und in der Verbindungseinheit alternative Pfade vorgesehen werden, zum Beispiel eine Schleife oder Doppelschalter. 8 veranschaulicht eine Konfiguration mit hoher Verfügbarkeit, bei der drei SSA-Schleifen vorgesehen sind. Jede Adapterkarte 110 enthält zwei SSA-Knoten 112, 113 mit Doppelanschluss. Ein Knoten 112 ist in die äußere Schleife, die Hostrechnerschleife 114, eingebunden. Diese Schleife dient nur der Datenübertragung zwischen dem auslösenden und dem primären Adapter. Der andere Knoten 113 ist in eine der beiden inneren Schleifen, die Einheitenschleifen 116, eingebunden. Jede Einheitenschleife wickelt die Datenübertragung zwischen dem primären Adapter und den Platten in den entsprechenden Speicheranordnungen ab.
  • Ferner dient sie für die Datenübertragung zwischen dem primären und dem sekundären Adapter.
  • 8 zeigt, dass der Adapter A die Speicheranordnung 1 erstrangig und der Adapter D die Speicheranordnung 1 zweitrangig steuert und dass der Adapter B die Speicheranordnung 2 erstrangig und der Adapter C Speicheranordnung 2 zweitrangig steuert. Die vom Hostrechner 1 für die Speicheranordnung 1 erzeugten E/A-Anforderungen werden direkt an den Adapter A ausgegeben. Der Adapter A wandelt diese Anforderungen dann in Plattenlese-/-schreibbefehle um. Die vom Hostrechner 1 erzeugten E/A-Anforderungen für die Speicheranordnung 2 werden über den Adapter B und die Leitung 2 an den Adapter C ausgegeben. Der Adapter C wandelt diese Anforderungen dann in Plattenlese-/-schreibbefehle um. Desgleichen werden die vom Hostrechner 2 für die Speicheranordnung 2 erzeugten E/A-Anforderungen direkt an den Adapter C ausgegeben. Der Adapter C wandelt diese Anforderungen in die Plattenlese-/-schreibbefehle um. Die vom Hostrechner 2 für die Speicheranordnung 1 erzeugten E/A-Anforderungen werden über den Adapter D und die Leitung 4 an den Adapter A ausgegeben. Der Adapter A wandelt diese Anforderungen dann in Plattenlese-/-schreibbefehle um. Bei dem oben gezeigten Beispiel sind die Platten in Form von zwei Speicheranordnungen nach RAID Level 5 konfiguriert, zum Beispiel in einer Konfiguration 7 + P (7 Datenplatten und eine Paritätsplatte) mit verteilter Parität. Die Platten sind von einem Gehäuse mit fehlertoleranter Stromversorgung und Kühlung umgeben.
  • Alternativ können die Platten in Form von acht Speicheranordnungen nach RAID Level 1 konfiguriert sein. In diesem Falle kann eine Platte jeder Speicheranordnung in jedem Hostrechner untergebracht sein. Ferner können die Adapter als primäre Steueradapter für eine Speicheranordnung und als sekundäre Steueradapter für eine zweite Speicheranordnung eingeteilt sein, wenn sich die Speicheranordnungen in derselben Einheitenschleife befinden. Zum Beispiel können in der Einheitenschleife zwei Speicheranordnungen 3 + P nach RAID Level 5 zwischen den Adapter A und den Adapter D geschaltet sein. Der Adapter A steuert die obersten Laufwerke 120 der einen Speicheranordnung 3 + P erstrangig und die untere Gruppe der Laufwerke 122 der zweiten Speicheranordnung 3 + P nach RAID Level 5 zweitrangig, während der Adapter D die untere Gruppe 122 erstrangig und die obere Gruppe 120 zweitrangig steuert. Ein Hostrechner kann auch über mehr als zwei Adapter verfügen.
  • Wenn ein Adapter ausfällt, wird seine Funktion von einem sekundären Adapter übernommen. Der Hostrechner kann dann immer noch über seinen anderen Adapter auf die Speicheranordnungen zugreifen.
  • Wenn ein Adapter ausfällt, werden durch den SSA-Gateway in der sendenden Adapterkarte alle fernen E/A-Anforderungen mit einem Fehler beendet, die gerade im Adapter bearbeitet werden. Das Modul, dass die Transaktion weitergegeben hat, wartet dann noch einige Sekunden in der Hoffung, dass der sekundäre Adapter die Speicheranordnung übernommen hat und senden wird. Die fehlgeschlagene Transaktion kann dann noch einmal an den sekundären Adapter gesendet werden.
  • Die SSA-Adressierungsmöglichkeiten gestatten, dass die Hostrechnerschleife auf bis zu 128 Adaptern erweitert werden kann. Bei einer großen Anzahl von Adaptern stößt die Hostrechnerschleife an die Grenzen ihrer verfügbaren Bandbreite, da diese auf fast alle E/A-Anforderungen aufgeteilt wird. Unter der Annahme einer Zufallsverteilung der Anforderung muss im Durchschnitt jede Anforderung fast die halbe Schleife durchlaufen, sodass die gesamte verfügbare Bandbreite im Vollduplexbetrieb 2 × 20 oder 40 MB/s beträgt. Um eine gegenseitige Sperrung zu verhindern, dürfen die SSA-Rahmen nicht durch eine Leitung oder durch einen Knoten der Schleife geleitet werden. Wenn das Verhältnis der Leseoperationen zu den Schreiboperationen gleich eins zu eins ist, beträgt die gesamte E/A-Bandbreite 80 MB/s, wenn vom Aufwand für die Systemverwaltung abgesehen wird. Größere Bandbreiteen lassen sich erreichen, wenn die Hostrechnerschleife durch einen SSA-Schalter mit mehreren Anschlüssen ersetzt wird.
  • Bei der in 8 gezeigten Konfiguration werden nur einige der durch eine der Adapterkarten empfangenen Transaktionen durch die auf dieser Karte befindliche RAID-Software verarbeitet. Für eine ferne Ressource vorgesehene Transaktionen werden durch den SSA-Gateway weitergeleitet. Der SSA-Gateway stellt eine Knotennummer bereit, um jeden auffindbaren fernen Adapter zu adressieren.
  • Jeder Festplatte, die Bestandteil einer Speicheranordnung ist, wird ein Steueradapter zugeordnet. Dieser Adapter ist als primärer Adapter der Festplatte bekannt. Jede Festplatte bildet mit nur zwei Adaptern eine Schleife. Jedem Adapter wird eine Knotennummer zugeordnet. Diese Nummer wird vom Hostrechner vergeben und kann als eindeutige Kennung angesehen werden. Wenn eine Speicheranordnung erzeugt wird, werden die Platten automatisch mit der Knotennummer desjenigen Adapters markiert, der zum Erzeugen der Speicheranordnung verwendet wird. Die Platten werden auch mit der Knotennummer des anderen Adapters in der Schleife markiert. Der andere Adapter in den Speicheranordnungen dient als Reserveadapter und wird als sekundärer Adapter bezeichnet. Im Normalbetrieb arbeitet der primäre Adapter den RAID-Code ab, der die Platten in der Speicheranordnung steuert. Der sekundäre Adapter verwaltet auf Anweisung durch den primären Adapter nur Zweitexemplare des Schreib-Cachespeichers und des nichtflüchtigen Speichers (siehe folgende Beschreibung). Wenn der sekundäre Adapter einen Fehler erkennt, übernimmt er die Steuerungsaufgaben des primären Adapters.
  • Jede Adapterkarte enthält eine Registrierung, die einen zentralen, über den Softwarebus erreichbaren Dienst darstellt. Die Registrierung verwaltet eine Liste aller Adapter und eine Liste aller Speicheranordnungen im System. Gemäß 9 enthält jeder Eintrag in der Adapterliste 130 eine Knotennummer 131.
  • Jeder Eintrag in der Liste 133 der Speicheranordnungen enthält eine Ressourcenkennung 134 und die Knotennummer 135 des Adapters, der gerade die Speicheranordnung (primär oder sekundär) steuert. Die Ressourcenkennung dient dem Einheitentreiber zum Öffnen der Speicheranordnung zum Lesen und Schreiben. Sie besteht aus einem Typfeld 137 und einer Ressourcennummer 138. Das Typfeld bezeichnet den Typ der Speicheranordnung, z.B. RAID Level 0, Level 1, Level 3 oder Level 5. Die Ressourcennummer ist eine eindeutige Kennung, die beim Konfigurieren der Speicheranordnung der Ressource zugeordnet wird.
  • Jede DASD speichert einen Konfigurationsdatensatz 140, der während der Konfigurierung der Eltern-Speicheranordnung erzeugt wird. Der Konfigurationsdatensatz speichert die Ressourcenkennung 141, die Speicheranordnungsparameter 142 (z.B. Größe der Speicheranordnung), die Seriennummern der anderen DASDs in der Speicheranordnung 143, den primären Adapterknoten 144 und den sekundären Adapterknoten 145. Alle diese Werte werden mit Hilfe eines Konfigurierungswerkzeugs des Hostrechners manuell zugeordnet. Der Konfigurationsdatensatz enthält auch eine Markierung 146 zur Kennzeichnung, ob die Speicheranordnung gerade durch den primären oder den sekundären Adapter gesteuert wird. Diese Markierung wird wie oben beschrieben durch Registrierungen im primären und im sekundären Adapter verwaltet.
  • Während der Erstellung der Registrierung prüft der Adapter die Nummer des primären Knoten jeder Platte, die Bestandteil einer Speicheranordnung ist, und übergibt die Platte der RAID-Firmware, wenn die Platte zu diesem Adapter gehört. Wenn der Adapter nicht der primäre Controller dieser Platte ist, sendet er ein Pingsignal an den anderen Adapter, um zu ermitteln, ob dieser gerade aktiv ist. Wenn der andere Adapter nicht aktiv ist, übernimmt der erste Adapter die Steuerung dieser Platte in der Speicheranordnung. Dieser Vorgang wird als Übernahme bezeichnet. Die Registrierung führt die Übernahme der Platte systemübergreifend durch. Zur Übernahme kommt es, wenn ein Adapter feststellt, dass der andere Adapter vom aktiven in einen Fehlerzustand gewechselt ist. Wenn das passiert, erfolgt die Übernahme. Alle Platten, die für den Wechsel infrage kommen, werden gesperrt, zum Beispiel durch SCSI-Befehl „Reservieren". Dann wird eine Markierung von jeder Platte geändert, um anzuzeigen, dass die Platte nicht durch den primären, sondern durch den sekundären Adapter gesteuert werden soll. Dann können alle Platten wieder freigegeben werden. Wenn eine der Platten nicht reserviert werden kann, werden die Reservierungen aller bis dahin reservierten Platten wieder aufgehoben. Der Prozess wird abgebrochen und nach einer zufällig gewählten Zeitspannen wiederholt. Wenn auch nach der Reservierungsperiode immer noch ein Fehler auftritt, werden alle Markierungen wieder in ihren vorigen Zustand zurück versetzt und der Prozess abgebrochen und wiederholt. Wenn es während dieses Prozesses zum Stromausfall kommt und der Stromausfall behoben wurde, erkennen beide Adapter, dass die Konsistenz verloren gegangen ist, und ordnen alle Platten standardmäßig dem primären Adapter zu.
  • Das Gegenteil der obigen Übernahmeprozedur stellt das Zurücksetzen dar. Hierzu kommt es, wenn beide Adapterkarten aktiv sind. Der Prozess wird durch den sekundären Adapter durch periodische Senden von Pingsignalen an den primären Adapter ausgelöst, um festzustellen, ob dieser wieder einsatzbereit ist. Wenn das Senden der Pingsignale erfolgreich ist, teilt die Registrierung des sekundären Adapters dessen RAID-Steuereinheit jede Platte mit, die er an den primären Adapter zurückgeben möchte, indem er die freizugebende Platte angibt. Die RAID-Steuereinheit im sekundären Adapter schließt zuerst die Speicheranordnung mit den darin enthaltenen angegebenen Platten und anschließend die Platten selbst. Wenn alle Platten in einer Speicheranordnung geschlossen sind, sperrt die Registrierung im sekundären Adapter die Platten in der oben beschriebenen Weise und setzt die Markierung zurück, sodass die Platten wieder durch den primären Adapter gesteuert werden. Dann gibt der sekundäre Adapter die Platten frei und teilt der Registrierung im primären Adapter mit, dass das Zurücksetzen abgeschlossen ist.
  • Damit es beim Ausschalten des Systems nicht zu einer nicht erwünschten Übernahme kommt, schließt das System zuerst alle offenen Speicheranordnungen und teilt der Registrierung der Adapterkarten mit, dass das System heruntergefahren wird. Dann teilt die Registrierung im primären Adapter der Registrierung im sekundären Adapter mit, dass sie gerade heruntergefahren wird. Daraufhin setzt die Registrierung des sekundären Adapters die Markierung zurück, die anzeigt, dass der primäre Adapter aktiv ist. Da eine Übernahme nur dann stattfinden kann, wenn der sekundäre Adapter erkennt, dass der primäre Adapter vom aktiven in den Fehlerzustand wechselt, führt das anschließende Ausschalten des primären Adapters nicht zur Übernahme.
  • Die Speicheranordnungen sind in einer SSA-Schleife zwischen einen primären und einen sekundären Adapter geschaltet. Wenn eine Leitung zu einer Platte oder zwischen einer Platte und einem Adapter ausfällt, können beide Adapter immer noch auf alle Platten zugreifen, da die Datenübertragungen in beiden Richtungen durch die Schleife geleitet werden können. Wenn also die Leitung 101 gemäß 7 ausfällt, kann der Adapter A1 (86) immer noch auf die Speicheranordnung A (92) zugreifen, indem er die Daten auf der Leitung 102 zur Leitung 104 und über die Schnittstellen-Chip der Adapterkarte A2 zur Leitung 103 sendet. Diese Datenübertragung zur Adapterkarte A2 wird durch die Software in der Adapterkarte A2 überhaupt nicht verarbeitet. Der SSA-Chip erkennt, dass die Nachricht lautet, dass Rahmen für die andere Speicheranordnung in der Schleife weitergeleitet werden sollen und die Anforderung zu dieser Speicheranordnung sendet wird. Dasselbe gilt auch für die SSA-Chips in der Speicheranordnung B (93).
  • Der obige Prozess wird als Durchleitungs-Routing bezeichnet und stellt eine Standardfunktion in der SSA-Transportschicht dar. Die Durchleitung dient auch zur Übertragung einer Anforderung auf Datenzugriff von einem Ursprungsadapter an den für die Speicheranordnung zuständigen Steueradapter. Jeder Knoten mit Doppelanschluss (Adapter oder Plattenlaufwerk) weist im SSA-Chip einen Hardware-Router auf. Der Router prüft das erste Byte im Adressfeld und ermittelt, ob der Rahmen zum nächsten Knoten in der Schleife weitergeleitet werden soll. Der Ursprungsadapter braucht nur noch die Pfadadresse des primären Adapters in das Adressfeld des Rahmens einzutragen, wenn er die Anforderung über die Schleife senden will.
  • Der Pfad wird beim Einschalten des Systems festgelegt. Ein Initiatoradapter durchsucht das Netz, um die Konfiguration zu ermitteln und die Konfigurationstabelle zu erstellen, die für jeden Knoten einen Eintrag enthält. Jeder Eintrag enthält auch die Pfadadresse dieses Knotens. Wenn es noch alternative Pfade gibt, wählt der Initiator im Allgemeinen den Pfad aus, der die wenigsten Leitungen nutzt. Das kann sich ändern, wenn eine Leitung getrennt wird.
  • Der Einheitentreiber ermittelt die Speicheranordnung, welche die angeforderten Daten enthält. Dann fragt die Einheit in der Registrierung eines Adapters nach, welche Speicheranordnungen lokal gesteuert werden. Wenn ein Hostrechner über mehr als einen Adapter verfügt, sendet der Einheitentreiber die Anforderung an den Adapter, der die Speicheranordnung mit den angeforderten Daten erstrangig steuert (wenn diese also lokal gesteuert wird). Ansonsten versucht der Einheitentreiber bei fernen Speicheranordnungen die Auslastung zwischen den Adaptern auszugleichen, indem er entweder die Hälfte der Speicheranordnungen über jeden Adapter adressiert oder Anforderungen abwechselnd über jeden Adapter sendet.
  • Der Inhalt des nichtflüchtigen RAM wird durch den primären Adapter in den nichtflüchtigen RAM des sekundären Adapters gespiegelt. Die RAID-Module erledigen dies über den SSA-Gateway und den nichtflüchtigen RAM-Manager in der sekundären Adapterkarte.
  • Im Normalbetrieb nutzt der primäre Adapter die Einheitenschleife zum Aufbewahren eines Zweitexemplars seines Schreib-Cachespeichers im sekundären Adapter sowie der Metadaten, welche den gerade aktualisierten Bereich in der Speicheranordnung anzeigen. Dadurch kann die Übernahme vom primären zum sekundären Adapter ohne Datenverluste im Schreib-Cachespeicher oder Beschädigung der Speicheranordnung durchgeführt werden.
  • Wenn der primäre Adapter einen Schreibbefehl ausführt, sendet er auch eine Kopie der Daten an den Schreib-Cachespeicher im sekundären Adapter. Wenn der primäre Adapter Daten vom Schreib-Cachespeicher zur Platte übertragen soll, sendet er eine Nachricht an den sekundären Adapter, um anzuzeigen, welcher Bereich der Speicheranordnung gerade aktualisiert wird. Die beiden Adapter speichern diese Daten normalerweise im nichtflüchtigen Speicher, damit sie so lange vor Stromausfall geschützt sind, bis das Auslagern beendet ist. Wenn der primäre Adapter die Daten ausgelagert und die Parität aktualisiert hat, sendet er eine zweite Nachricht an den sekundären Adapter. Der sekundäre Adapter löscht dann die entsprechenden Datensätze aus seinem Schreib-Cachespeicher und dem nichtflüchtigen Speicher.

Claims (15)

  1. System zum Speichern von Daten für eine Vielzahl von Hostcomputern (20) in einer Vielzahl von Anordnungen (1, 2) von Speichereinheiten (24) dergestalt, dass ein beliebiger Hostcomputer (20) auf eine beliebige Speichereinheit (24) zugreifen kann, wobei das System Folgendes umfasst: eine Vielzahl von Adaptern (A, B, C, D), wobei jeder Adapter einem Hostcomputer zugeordnet ist und jeder Adapter eine ihm zugewiesene Anordnung erstrangig steuert; und eine Verbindungseinheit (23) zwischen den Adaptern zum Herstellen eines Datenaustauschs unter Gleichen (peer-to-peer-communication) zwischen zwei beliebigen Adaptern; wobei eine Zugriffsanforderung von einem Hostcomputer (20) an einen zugeordneten Adapter für eine nicht erstrangig von dem Adapter gesteuerte Anordnung über die Verbindungseinheit (23) an den Adapter gesendet wird, der die Anordnung erstrangig steuert.
  2. System nach Anspruch 1, das ferner eine in jedem Adapter (A, B, C, D) gespeicherte Kennung zum Kennzeichnen der durch den Adapter erstrangig gesteuerten Speichereinheiten (24) umfasst.
  3. System nach Anspruch 1 oder Anspruch 2, das ferner eine in jeder Speicheranordnung (24) gespeicherte Kennung zum Kennzeichnen eines Adapters (A) umfasst, der die Speicheranordnung (1, 2) erstrangig steuert.
  4. System nach einem der Ansprüche 1 bis 3, bei dem sich jeder Adapter (A, B, C, D) in einem Hostcomputer (20) befindet.
  5. System nach einem der vorangehenden Ansprüche, das ferner Folgendes umfasst: eine Vielzahl sekundärer Adapter (B, D), wobei jeder sekundäre Adapter einem Hostcomputer (20) zugeordnet ist und jeder sekundäre Adapter eine zugewiesene Anordnung steuert, wobei ein sekundärer Adapter eine zugewiesene Anordnung (1, 2) zweitrangig steuert, wenn ein Adapter, der die zugewiesene Anordnung erstrangig steuert, nicht verfügbar ist.
  6. System nach Anspruch 5, bei dem sich ein Adapter (A, C), der eine zugewiesene Anordnung (1, 2) erstrangig steuert, und ein Adapter (B, D), der die zugewiesene Anordnung (1, 2) zweitrangig steuert, in verschiedenen Hostcomputern (20) befinden.
  7. System nach Anspruch 6, bei dem ein erster Hostcomputer einen ersten Adapter, der eine erste Anordnung erstrangig steuert, und einen zweiten Adapter, der eine zweite Anordnung zweitrangig steuert, aufweist; und bei dem ein zweiter Hostcomputer einen dritten Adapter, der die erste Anordnung zweitrangig steuert, und einen vierten Adapter, der die zweite Anordnung erstrangig steuert, aufweist.
  8. System nach einem der Ansprüche 5 bis 7, bei dem ein erster Adapter eine erste Anordnung erstrangig und eine zweite Anordnung zweitrangig steuert; und bei dem ein zweiter Adapter die zweite Anordnung erstrangig und die erste Anordnung zweitrangig steuert.
  9. System nach Anspruch 8, bei dem sich der erste und der zweite Adapter in demselben Hostcomputer (20) befinden.
  10. System nach einem der vorangehenden Ansprüche, das ferner Folgendes umfasst: im Adapter enthaltene RAID-Steuereinheitfunktionen zum Verteilen der in einer Anordnung (1, 2) gespeicherten Daten nach einem RAID-Schema.
  11. System nach einem der vorangehenden Ansprüche, bei dem die Verbindungseinheit (23) eine SSA-Schnittstelle ist.
  12. Verfahren zum Zugreifen einer Vielzahl von Hostcomputern (20) auf Daten von einer Vielzahl von Speicheranordnungen (24), wobei das Verfahren die folgenden Schritte umfasst: a) Zuordnen mindestens eines Adapters (A, B, C, D) zu jedem Hostcomputer (20); b) Zuordnen eines Adapters (A, B, C, D) als erstrangige Steuereinheit für eine Speicheranordnung; c) Zuordnen einer Verbindungseinheit (23) zwischen den Adaptern (A, B, C, D), wobei die Verbindungseinheit (23) eine Verbindung unter Gleichen zwischen zwei beliebigen Adaptern ermöglicht; d) Senden einer Datenzugriffsanforderung an einen Adapter (A, B, C, D), der einem der Hostcomputer zugeordnet ist; e) Ermitteln, ob die angeforderten Daten in der Speicheranordnung gespeichert sind, die durch den zugeordneten Adapter erstrangig gesteuert wird; und f) Senden einer Datenzugriffsanforderung über die Verbindungseinheit (23), wobei sich die Anforderung auf Daten bezieht, die nicht in einer Anordnung gespeichert sind, die durch den zugeordneten Adapter erstrangig gesteuert wird, an einen Adapter, der die Speicheranordnung erstrangig steuert, in der sich die angeforderten Daten befinden.
  13. Verfahren nach Anspruch 12, das ferner die folgenden Schritte beinhaltet: g) Zuordnen eines Adapters (B, D) als zweitrangige Steuereinheit für eine Speicheranordnung (24); h) Ermitteln, ob ein Adapter (A, C), der die Speicheranordnung erstrangig steuert, nicht verfügbar ist; und i) Verwenden eines Adapters, der eine Speicheranordnung zweitrangig steuert, als Steuereinheit für die Speicheranordnung, wenn der Adapter, der die Speicheranordnung erstrangig steuert, nicht verfügbar ist.
  14. Computerprogrammprodukt zum Ausführen in einem vernetzten Computersystem, das eine Vielzahl von Hostcomputern (20) und eine Vielzahl von Speicheranordnungen (1, 2) umfasst, wobei sich in jedem Hostcomputer eine Adapterkarte (A, B, C, D) befindet und jede Adapterkarte eine Speicheranordnung erstrangig steuert, wobei das Computersystem eine Verbindungseinheit (23) zwischen allen Adapterkarten im System zum Ermöglichen eines Datenaustauschs unter Gleichen zwischen zwei beliebigen Adaptern aufweist und das Computerprogrammprodukt zur Verwendung in Verbindung mit den Adapterkarten und zum Steuern des Zugriffs der Vielzahl von Hostcomputern (20) auf Daten von der Vielzahl von Speicheranordnungen (24) Folgendes umfasst: ein computerlesbares Medium mit einem darin aufgezeichneten computerlesbaren Programmcode zur Steuerung des Zugriffs aller Hostcomputer auf die in der Vielzahl von Speicheranordnungen gespeicherten Daten, wobei das Computerprogrammprodukt Folgendes beinhaltet: ein computerlesbares Programmcodemittel für eine einem Hostcomputer zugeordnete Adapterkarte, die eine Datenzugriffsanforderung empfängt; ein computerlesbares Programmcodemittel zum Ermitteln, ob die angeforderten Daten in der Speicheranordnung gespeichert sind, die durch einen Adapter erstrangig gesteuert wird; und ein computerlesbares Programmcodemittel zum Senden einer Datenzugriffsanforderung für Daten, die in einer durch einen Adapter nicht erstrangig gesteuerten Speicheranordnung gespeichert sind, über die Verbindungseinheit (23) an die Adapterkarte, welche die Speicheranordnung erstrangig steuert, in der die angeforderten Daten gespeichert sind.
  15. System nach Anspruch 14, das ferner ein computerlesbares Programmcodemittel umfasst, welches einen zweitrangigen Adapter in die Lage versetzt, die Steuerung einer einem erstrangigen Adapter zugewiesenen Anordnung zu übernehmen, wenn der erstrangige Adapter ausfällt.
DE69636663T 1995-09-19 1996-09-19 System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen Expired - Lifetime DE69636663T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US531239 1995-09-19
US08/531,239 US5768623A (en) 1995-09-19 1995-09-19 System and method for sharing multiple storage arrays by dedicating adapters as primary controller and secondary controller for arrays reside in different host computers

Publications (2)

Publication Number Publication Date
DE69636663D1 DE69636663D1 (de) 2006-12-14
DE69636663T2 true DE69636663T2 (de) 2007-08-16

Family

ID=24116835

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69636663T Expired - Lifetime DE69636663T2 (de) 1995-09-19 1996-09-19 System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen

Country Status (5)

Country Link
US (1) US5768623A (de)
EP (1) EP0769744B1 (de)
JP (1) JPH0981527A (de)
KR (1) KR100261378B1 (de)
DE (1) DE69636663T2 (de)

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3456018B2 (ja) * 1993-07-26 2003-10-14 ソニー株式会社 情報送出システム
GB2312319B (en) 1996-04-15 1998-12-09 Discreet Logic Inc Video storage
CA2201679A1 (en) 1996-04-15 1997-10-15 Raju C. Bopardikar Video data storage
US6118931A (en) * 1996-04-15 2000-09-12 Discreet Logic Inc. Video data storage
JPH1078852A (ja) * 1996-09-04 1998-03-24 Nec Corp マルチアレイディスク装置
US6173376B1 (en) * 1996-10-03 2001-01-09 International Business Machines Corp. Data backup and restore method and system in a multisystem environment
JPH10134485A (ja) * 1996-10-30 1998-05-22 Toshiba Corp ストレージ共有型分散マルチメディアサーバシステム
US6029231A (en) * 1996-12-03 2000-02-22 Emc Corporation Retrieval of data stored on redundant disks across a network using remote procedure calls
JPH10198526A (ja) * 1997-01-14 1998-07-31 Fujitsu Ltd Raid装置及びそのアクセス制御方法
JP3563907B2 (ja) * 1997-01-30 2004-09-08 富士通株式会社 並列計算機
US6014383A (en) * 1997-02-10 2000-01-11 Compaq Computer Corporation System and method for controlling multiple initiators in a fibre channel environment
US6118776A (en) 1997-02-18 2000-09-12 Vixel Corporation Methods and apparatus for fiber channel interconnection of private loop devices
US6185203B1 (en) 1997-02-18 2001-02-06 Vixel Corporation Fibre channel switching fabric
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
KR100551191B1 (ko) * 1997-05-16 2006-05-25 매그나칩 반도체 유한회사 컴퓨터 시스템에서의 논리 유니트 유일 식별 방법
JP3228182B2 (ja) 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
US5948075A (en) * 1997-06-04 1999-09-07 International Business Machines Corporation System for identifying operating parameters in a storage enclosure having each of first connector only for specifying a physical location associated with each of backplane interfaces
US5986880A (en) * 1997-06-16 1999-11-16 Compaq Computer Corporation Electronic apparatus having I/O board with cable-free redundant adapter cards thereon
US6145006A (en) * 1997-06-25 2000-11-07 Emc Corporation Method and apparatus for coordinating locking operations of heterogeneous host computers accessing a storage subsystem
US6009535A (en) * 1997-06-30 1999-12-28 Emc Corporation SCSI adaptor failover for a disk drive system
US5937428A (en) * 1997-08-06 1999-08-10 Lsi Logic Corporation Method for host-based I/O workload balancing on redundant array controllers
US6088330A (en) * 1997-09-09 2000-07-11 Bruck; Joshua Reliable array of distributed computing nodes
KR100564665B1 (ko) 1997-11-17 2006-03-29 시게이트 테크놀로지 엘엘씨 온-칩 메모리에서 데이터 보전을 위해 crc를 사용하는방법 및 장치
US6006342A (en) * 1997-12-11 1999-12-21 International Business Machines Corporation Failover and failback system for a direct access storage device
US6151659A (en) * 1997-12-22 2000-11-21 Emc Corporation Distributed raid storage system
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6601138B2 (en) 1998-06-05 2003-07-29 International Business Machines Corporation Apparatus system and method for N-way RAID controller having improved performance and fault tolerance
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
US6032269A (en) * 1998-06-30 2000-02-29 Digi-Data Corporation Firmware recovery from hanging channels by buffer analysis
US6446237B1 (en) * 1998-08-04 2002-09-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system
US6282584B1 (en) * 1998-08-18 2001-08-28 International Business Machines Corporation Structure and method for reading/writing signature commands from/to a plurality of controller pairs
US6412079B1 (en) * 1998-10-09 2002-06-25 Openwave Systems Inc. Server pool for clustered system
US6397345B1 (en) * 1998-10-09 2002-05-28 Openwave Systems Inc. Fault tolerant bus for clustered system
US6330687B1 (en) * 1998-11-13 2001-12-11 Digi-Data Corporation System and method to maintain performance among N single raid systems during non-fault conditions while sharing multiple storage devices during conditions of a faulty host computer or faulty storage array controller
US6542961B1 (en) 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
JP4400895B2 (ja) 1999-01-07 2010-01-20 株式会社日立製作所 ディスクアレイ制御装置
US6317839B1 (en) 1999-01-19 2001-11-13 International Business Machines Corporation Method of and apparatus for controlling supply of power to a peripheral device in a computer system
US6449731B1 (en) * 1999-03-03 2002-09-10 Tricord Systems, Inc. Self-healing computer system storage
US6341356B1 (en) 1999-03-25 2002-01-22 International Business Machines Corporation System for I/O path load balancing and failure which can be ported to a plurality of operating environments
JP2000278290A (ja) * 1999-03-29 2000-10-06 Matsushita Electric Ind Co Ltd ネットワーク管理システム
JP3376316B2 (ja) * 1999-05-19 2003-02-10 日本電気株式会社 ディスクアレイ装置及びそれに用いる高速通信方法並びにその制御プログラムを記録した記録媒体
JP4864210B2 (ja) * 1999-05-20 2012-02-01 イヴァン, チョン−ション ホワン, 作業グループサーバー実施の方法と装置
US6543004B1 (en) * 1999-07-29 2003-04-01 Hewlett-Packard Development Company, L.P. Method and apparatus for archiving and restoring data
JP3987241B2 (ja) * 1999-07-29 2007-10-03 株式会社東芝 系間情報通信システム
US6295587B1 (en) * 1999-09-03 2001-09-25 Emc Corporation Method and apparatus for multiple disk drive access in a multi-processor/multi-disk drive system
JP3952640B2 (ja) * 1999-09-07 2007-08-01 株式会社日立製作所 データバックアップ方法、メインフレーム系ストレージシステムおよびメインフレームホストコンピュータ
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
US6944654B1 (en) * 1999-11-01 2005-09-13 Emc Corporation Multiple storage array control
AU4707001A (en) * 1999-11-12 2001-06-25 Crossroads Systems, Inc. Encapsulation protocol for linking storage area networks over a packet-based network
US6965934B1 (en) 1999-11-12 2005-11-15 Crossroads Systems, Inc. Encapsulation protocol for linking storage area networks over a packet-based network
US6487680B1 (en) * 1999-12-03 2002-11-26 International Business Machines Corporation System, apparatus, and method for managing a data storage system in an n-way active controller configuration
JP2001167040A (ja) 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
JP4651230B2 (ja) 2001-07-13 2011-03-16 株式会社日立製作所 記憶システム及び論理ユニットへのアクセス制御方法
US7657727B2 (en) * 2000-01-14 2010-02-02 Hitachi, Ltd. Security for logical unit in storage subsystem
US6684209B1 (en) * 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
US6615375B1 (en) * 2000-02-03 2003-09-02 International Business Machines Corporation Method and apparatus for tolerating unrecoverable errors in a multi-processor data processing system
US6772270B1 (en) 2000-02-10 2004-08-03 Vicom Systems, Inc. Multi-port fibre channel controller
US6877044B2 (en) * 2000-02-10 2005-04-05 Vicom Systems, Inc. Distributed storage management platform architecture
US6851005B1 (en) * 2000-03-03 2005-02-01 International Business Machines Corporation Apparatus and method for implementing raid devices in a cluster computer system
US6643795B1 (en) * 2000-03-30 2003-11-04 Hewlett-Packard Development Company, L.P. Controller-based bi-directional remote copy system with storage site failover capability
US6601187B1 (en) 2000-03-31 2003-07-29 Hewlett-Packard Development Company, L. P. System for data replication using redundant pairs of storage controllers, fibre channel fabrics and links therebetween
JP4462711B2 (ja) * 2000-04-18 2010-05-12 株式会社日立製作所 記憶システム
JP4719957B2 (ja) * 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
US7080133B1 (en) 2000-07-17 2006-07-18 International Business Machines Corporation Method and system for configuring a computer network
US6505307B1 (en) * 2000-09-06 2003-01-07 Unisys Corporation Method and apparatus for ensuring data integrity
US6977927B1 (en) 2000-09-18 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system of allocating storage resources in a storage area network
US7386610B1 (en) 2000-09-18 2008-06-10 Hewlett-Packard Development Company, L.P. Internet protocol data mirroring
US6804819B1 (en) 2000-09-18 2004-10-12 Hewlett-Packard Development Company, L.P. Method, system, and computer program product for a data propagation platform and applications of same
US6678768B1 (en) * 2000-10-06 2004-01-13 International Business Machines Corporation Method and apparatus for configuring redundant array of independent disks (RAID)
US6954881B1 (en) 2000-10-13 2005-10-11 International Business Machines Corporation Method and apparatus for providing multi-path I/O in non-concurrent clustering environment using SCSI-3 persistent reserve
JP2002123479A (ja) * 2000-10-17 2002-04-26 Hitachi Ltd ディスク制御装置およびそのキャッシュ制御方法
KR20020032136A (ko) 2000-10-25 2002-05-03 박성훈 메모리를 이용한 대용량 보조기억장치
US6845467B1 (en) 2001-02-13 2005-01-18 Cisco Systems Canada Co. System and method of operation of dual redundant controllers
US7418620B1 (en) 2001-02-16 2008-08-26 Swsoft Holdings, Ltd. Fault tolerant distributed storage method and controller using (N,K) algorithms
US6961868B2 (en) * 2001-02-16 2005-11-01 Swsoft Holdings, Ltd. Fault tolerant storage system and method using a network of servers
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US6941252B2 (en) 2001-03-14 2005-09-06 Mcdata Corporation Striping data frames across parallel fibre channel links
US6675242B2 (en) * 2001-03-17 2004-01-06 Hewlett-Packard Development Company, L.P. Communication bus controller including designation of primary and secondary status according to slot position
US7209973B2 (en) 2001-04-09 2007-04-24 Swsoft Holdings, Ltd. Distributed network data storage system and method
GB2374749B (en) * 2001-04-20 2005-04-06 Discreet Logic Inc Image data processing
US6996674B2 (en) * 2001-05-07 2006-02-07 International Business Machines Corporation Method and apparatus for a global cache directory in a storage cluster
US7023869B2 (en) * 2001-05-10 2006-04-04 Emc Corporation Data storage system with one or more integrated server-like behaviors
JP2003044230A (ja) * 2001-05-23 2003-02-14 Hitachi Ltd 記憶装置システム
US7543100B2 (en) * 2001-06-18 2009-06-02 3Par, Inc. Node controller for a data storage system
JP4156817B2 (ja) * 2001-07-27 2008-09-24 株式会社日立製作所 記憶装置システム
US7055056B2 (en) * 2001-11-21 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for ensuring the availability of a storage system
US6892167B2 (en) * 2001-11-28 2005-05-10 Sypris Data Systems, Inc. Real-time data acquisition and storage network
US6643735B2 (en) * 2001-12-03 2003-11-04 International Business Machines Corporation Integrated RAID system with the capability of selecting between software and hardware RAID
KR100445425B1 (ko) * 2001-12-24 2004-08-25 한국전자통신연구원 분산 레이드 제어기 환경에서의 부하 분산 방법
US7552289B2 (en) * 2002-01-18 2009-06-23 Rasilient, Inc. Method and apparatus for arbitrating access of a serial ATA storage device by multiple hosts with separate host adapters
US7290277B1 (en) * 2002-01-24 2007-10-30 Avago Technologies General Ip Pte Ltd Control of authentication data residing in a network device
US6820172B2 (en) * 2002-03-25 2004-11-16 International Business Machines Corporation Method, system, and program for processing input/output (I/O) requests to a storage space having a plurality of storage devices
US7013364B2 (en) * 2002-05-27 2006-03-14 Hitachi, Ltd. Storage subsystem having plural storage systems and storage selector for selecting one of the storage systems to process an access request
US7213158B2 (en) 2002-06-28 2007-05-01 Lenovo (Singapore) Pte. Ltd. Distributed autonomic backup
US7672226B2 (en) * 2002-09-09 2010-03-02 Xiotech Corporation Method, apparatus and program storage device for verifying existence of a redundant fibre channel path
US20040123027A1 (en) * 2002-10-03 2004-06-24 Workman Michael Lee Systems and methods of multiple access paths to single ported storage devices
US20040068591A1 (en) * 2002-10-03 2004-04-08 Workman Michael Lee Systems and methods of multiple access paths to single ported storage devices
US6879526B2 (en) * 2002-10-31 2005-04-12 Ring Technology Enterprises Llc Methods and apparatus for improved memory access
US7707351B2 (en) * 2002-10-31 2010-04-27 Ring Technology Enterprises Of Texas, Llc Methods and systems for an identifier-based memory section
US7197662B2 (en) * 2002-10-31 2007-03-27 Ring Technology Enterprises, Llc Methods and systems for a storage system
US7415565B2 (en) * 2002-10-31 2008-08-19 Ring Technology Enterprises, Llc Methods and systems for a storage system with a program-controlled switch for routing data
JP2004164072A (ja) * 2002-11-11 2004-06-10 Hitachi Ltd ディスク制御装置およびディスク制御装置の制御方法
JP4352693B2 (ja) * 2002-12-10 2009-10-28 株式会社日立製作所 ディスクアレイ制御装置及びその制御方法
US7480657B1 (en) * 2003-01-06 2009-01-20 Cisco Technology, Inc. Caching information for multiple service applications
US7089357B1 (en) * 2003-09-22 2006-08-08 Emc Corporation Locally buffered cache extensions having associated control parameters to determine use for cache allocation on subsequent requests
US7058758B2 (en) * 2003-10-16 2006-06-06 International Business Machines Corporation Load balancing to support tape and disk subsystems on shared fibre channel adapters
US7619974B2 (en) 2003-10-31 2009-11-17 Brocade Communication Systems, Inc. Frame traffic balancing across trunk groups
US7593336B2 (en) 2003-10-31 2009-09-22 Brocade Communications Systems, Inc. Logical ports in trunking
US7296117B2 (en) * 2004-02-12 2007-11-13 International Business Machines Corporation Method and apparatus for aggregating storage devices
US7296116B2 (en) * 2004-02-12 2007-11-13 International Business Machines Corporation Method and apparatus for providing high density storage
US7702757B2 (en) * 2004-04-07 2010-04-20 Xiotech Corporation Method, apparatus and program storage device for providing control to a networked storage architecture
US7814293B2 (en) * 2004-07-19 2010-10-12 Infotrend Technology Inc. Redundant controller host-side IO rerouting
US20060020720A1 (en) * 2004-07-23 2006-01-26 Lsi Logic Corporation Multi-controller IO shipping
US7681104B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
US7493370B2 (en) 2004-10-29 2009-02-17 International Business Machines Corporation Two stage method for dynamically determining primary adapter in a heterogeneous N-way adapter configuration
US7568121B2 (en) * 2004-11-16 2009-07-28 International Business Machines Corporation Recovery from failure in data storage systems
JP2006195759A (ja) * 2005-01-14 2006-07-27 Fujitsu Ltd ディスク接続ユニット、ディスクパッケージ、ディスク装置、ディスク接続方法
US20060218436A1 (en) * 2005-03-25 2006-09-28 Dell Products L.P. System, method and software using a RAID device driver as backup for a RAID adapter
US7797394B2 (en) * 2005-04-18 2010-09-14 Dell Products L.P. System and method for processing commands in a storage enclosure
JP4327130B2 (ja) * 2005-06-24 2009-09-09 富士通株式会社 ディスクアレイアクセス動的制御装置、及び方法
US20070038749A1 (en) * 2005-07-29 2007-02-15 Broadcom Corporation Combined local and network storage interface
US8433770B2 (en) * 2005-07-29 2013-04-30 Broadcom Corporation Combined local and network storage interface
US11340988B2 (en) 2005-09-30 2022-05-24 Pure Storage, Inc. Generating integrity information in a vast storage system
US10154034B2 (en) * 2010-04-26 2018-12-11 International Business Machines Corporation Cooperative data access request authorization in a dispersed storage network
US10866754B2 (en) 2010-04-26 2020-12-15 Pure Storage, Inc. Content archiving in a distributed storage network
US11080138B1 (en) 2010-04-26 2021-08-03 Pure Storage, Inc. Storing integrity information in a vast storage system
JP4413184B2 (ja) * 2005-11-28 2010-02-10 富士通株式会社 データストレージシステム及びデータストレージ制御装置
TWI315475B (en) * 2006-09-01 2009-10-01 Via Tech Inc Control method and control system for multiple host bus adapters
GB2446177A (en) * 2007-02-03 2008-08-06 Katherine Bean Data storage system
US20100011176A1 (en) * 2008-07-11 2010-01-14 Burkey Todd R Performance of binary bulk IO operations on virtual disks by interleaving
US8255476B2 (en) * 2009-03-30 2012-08-28 International Business Machines Corporation Automated tape drive sharing in a heterogeneous server and application environment
US10956292B1 (en) 2010-04-26 2021-03-23 Pure Storage, Inc. Utilizing integrity information for data retrieval in a vast storage system
US20110276746A1 (en) * 2010-05-05 2011-11-10 Arvind Pruthi Caching storage adapter architecture
US9015519B2 (en) * 2012-01-31 2015-04-21 Symantec Corporation Method and system for cluster wide adaptive I/O scheduling by a multipathing driver
WO2015063859A1 (ja) * 2013-10-29 2015-05-07 株式会社日立製作所 計算機システム及び制御方法
WO2016013116A1 (ja) * 2014-07-25 2016-01-28 株式会社日立製作所 ストレージ装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3693161A (en) * 1970-07-09 1972-09-19 Burroughs Corp Apparatus for interrogating the availability of a communication path to a peripheral device
CH608902A5 (de) * 1975-04-21 1979-01-31 Siemens Ag
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4396984A (en) * 1981-03-06 1983-08-02 International Business Machines Corporation Peripheral systems employing multipathing, path and access grouping
US4455605A (en) * 1981-07-23 1984-06-19 International Business Machines Corporation Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices
US4777595A (en) * 1982-05-07 1988-10-11 Digital Equipment Corporation Apparatus for transferring blocks of information from one node to a second node in a computer network
US4747047A (en) * 1985-12-06 1988-05-24 Unisys Corporation Data transfer system using two peripheral controllers to access dual-ported data storage units
JPH0827705B2 (ja) * 1990-07-25 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション アダプタ
US5237658A (en) * 1991-10-01 1993-08-17 Tandem Computers Incorporated Linear and orthogonal expansion of array storage in multiprocessor computing systems
US5280586A (en) * 1991-10-03 1994-01-18 Compaq Computer Corp. Expandable communication system using data concentration
JPH05252228A (ja) * 1992-03-02 1993-09-28 Mitsubishi Electric Corp データ伝送装置及びその通信路管理方法
WO1993018456A1 (en) * 1992-03-13 1993-09-16 Emc Corporation Multiple controller sharing in a redundant storage array
US5337414A (en) * 1992-09-22 1994-08-09 Unisys Corporation Mass data storage and retrieval system
US5386517A (en) * 1993-01-26 1995-01-31 Unisys Corporation Dual bus communication system connecting multiple processors to multiple I/O subsystems having a plurality of I/O devices with varying transfer speeds
US5553230A (en) * 1995-01-18 1996-09-03 Hewlett-Packard Company Identifying controller pairs in a dual controller disk array

Also Published As

Publication number Publication date
US5768623A (en) 1998-06-16
DE69636663D1 (de) 2006-12-14
EP0769744B1 (de) 2006-11-02
KR100261378B1 (ko) 2000-07-01
KR970016918A (ko) 1997-04-28
JPH0981527A (ja) 1997-03-28
EP0769744A3 (de) 2004-03-03
EP0769744A2 (de) 1997-04-23

Similar Documents

Publication Publication Date Title
DE69636663T2 (de) System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen
DE102004028808B4 (de) Speichersystem, das mit einem externen Speichersystem verbunden ist und Verfahren zum Verbinden derartiger Systeme
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE10014448B4 (de) Speicherverwaltungssystem
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
DE10297278B4 (de) Netzwerkspeicher-Vorrichtung für das Verbinden eines Host-Rechners mit mindestens einer Speichervorrichtung und Verfahren für die Verzonung (zoning) eines Speichercontrollermoduls (CMM) zu einem Kanal-Schnittstellenmodul (CIM) innerhalb einer Netzwerkspeicher-Vorrichtung (100)
DE602004009410T2 (de) Bandspeicheremulation für offensystem-umgebungen
DE60031499T2 (de) Verfahren zur Übertragung von Signalen der Typen "fibre-channel" und "non-fibre-channel" über ein gemeinsames Kabel
DE60316776T2 (de) Auf netzwerkdatenspeicherung bezogene operationen
DE69922693T2 (de) Systemem und verfahren für netzwerkvorrichtung und ein-ausgabegerätetreiber
DE69827693T2 (de) Geschlichtete "Fibre-Channel"-Schleife mit dynamischer Schleifenausdehnung
DE112011100822B4 (de) Aufrechterhalten der Durchlässigkeit eines Datenübertragungspfades in einem Datenspeichernetzwerk
DE69632424T2 (de) Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe
DE112014006605B4 (de) Speichersystem
DE69915243T2 (de) Speicherplattenanordnung-Steuerungsvorrichtung
DE60032357T2 (de) Verbindungsarchitektur um minderbandbreitige verbindungen über eine hoch-bandbreitige verkettung zu verwalten
DE69736872T2 (de) Datenverarbeitungssystem
DE10197179T5 (de) Fern-Spiegelung in einer geschalteten Umgebung
DE112013006643B4 (de) Speichersystem und steuerungsverfahren für speichersystem
DE60224369T2 (de) Speichersteuerungssystem und Verfahren dazu
DE102004027672A1 (de) Speicherplattenarraysystem
DE602005001851T2 (de) Speicherplattenanordnungsgerät und Steuerverfahren dafür
CH637229A5 (de) Verfahren zur datenwegunabhaengigen reservierung und wiederverbindung von geraeten in einem datenverarbeitenden system.
DE10297283T5 (de) Controller-Daten-Sharing mittels einer DMA-Architektur
DE10236179A1 (de) Speichersystem und Verfahren zur Verwendung desselben

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)