DE69632424T2 - Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe - Google Patents

Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe Download PDF

Info

Publication number
DE69632424T2
DE69632424T2 DE69632424T DE69632424T DE69632424T2 DE 69632424 T2 DE69632424 T2 DE 69632424T2 DE 69632424 T DE69632424 T DE 69632424T DE 69632424 T DE69632424 T DE 69632424T DE 69632424 T2 DE69632424 T2 DE 69632424T2
Authority
DE
Germany
Prior art keywords
data
data storage
buffer
units
buffer 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
DE69632424T
Other languages
English (en)
Other versions
DE69632424D1 (de
Inventor
Tatsunori Yokohama-shi Kanai
Shigehiro Yokosuka-shi Asano
Takeshi Choufu-shi Aikawa
Shinya Yokohama-shi Amano
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.)
Toshiba Corp
Original Assignee
Toshiba 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
Priority claimed from JP25329395A external-priority patent/JP3570798B2/ja
Priority claimed from JP31557895A external-priority patent/JP3600334B2/ja
Application filed by Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE69632424D1 publication Critical patent/DE69632424D1/de
Publication of DE69632424T2 publication Critical patent/DE69632424T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9021Plurality of buffers per packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Servervorrichtung für fortlaufende Daten und ein Datenübertragungsverfahren zur Realisierung von Diensten für fortlaufende Daten, wie beispielsweise Videodaten und Sprachdaten, mit gleichzeitigem Ansprechen auf eine Vielzahl von Zugriffsanfragen hinsichtlich der fortlaufenden Daten, und mit Tätigen eines Parallelzugriffs auf eine Vielzahl von Plattenvorrichtungen.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Eine Servervorrichtung für fortlaufende Daten zum Handhaben von beispielsweise Videodaten und Sprachdaten weist eine Funktion zum Auslesen der in Speichervorrichtungen gespeicherten fortlaufenden Daten auf, und zum fortlaufenden Übertragen der Daten in Echtzeit, während eine Synchronisation hinsichtlich der Zeit mit Endgerätevorrichtungen vorgenommen wird. Solch eine Servervorrichtung für fortlaufende Daten wird in Bereichen wie beispielsweise Video-on-demand verwendet, wobei Videodaten für eine Vielzahl von Filmen, etc., gespeichert sind und ein beliebiger Film in Übereinstimmung mit einer Anfrage von einem Endgerät übertragen wird, und bei Online-Shopping, wobei Information bezüglich kommerzieller Produkte mittels Videodaten über ein Netzwerk bereitgestellt wird.
  • Bei solchen Anwendungen wird die Servervorrichtung für fortlaufende Daten Anfragen von einer Vielzahl von Nutzern zufällig erhalten, und daher ist es für die Servervorrichtung für fortlaufende Daten erforderlich, dass sie jeweilig unterschiedliche fortlaufende Daten an viele verschiedene Nutzer gleichzeitig übermitteln kann.
  • Nunmehr werden verschiedene Beispiele solch einer konventionellen Servervorrichtung für fortlaufende Daten detailliert erläutert.
  • Eine beispielhafte herkömmliche Datenservervorrichtung für fortlaufende Daten weist eine in 1 gezeigte Konfiguration auf.
  • Bei dieser herkömmlichen Servervorrichtung für fortlaufende Daten von 1 wird eine durch einen Nutzer oder ein Anwendungsprogramm ausgegebene Zugriffsanfrage für die fortlaufenden Daten durch eine Interprozesskommunikation und eine Kommunikation über ein Netzwerk, etc. gesendet. Diese Zugriffsanfrage wird dann von einer der Kommunikations-Steuervorrichtungen 706 über einen Bus 720 einer Zentralsteuervorrichtung 710 berichtet, und durch die Zentralsteuervorrichtung 710 zugelassen. Die Zentralsteuervorrichtung 710 teilt dann das Lesen der angefragten fortlaufenden Daten den entsprechenden Datenspeicher-Steuervorrichtungen 704 mit, und diese Datenspeicher-Steuervorrichtungen 704 lesen die spezifizierten fortlaufenden Daten aus den Datenspeichervorrichtungen 702 aus und schreiben diese in eine Pufferspeichervorrichtung 708. Die Zentralsteuervorrichtung 710 weist dann die Übertragung der Daten auf der Pufferspeichervorrichtung 708 zu einer der Kommunikations-Steuervorrichtungen 706 an, und diese Kommunikations-Steuervorrichtung 706 überträgt die fortlaufenden Daten in Richtung eines in der Zugriffsanfrage spezifizierten Übertragungsziels.
  • Die Zentralsteuervorrichtung 710 umfasst im wesentlichen eine CPU und eine Speichervorrichtung, ähnlich einem elektronischen Computer. Die Zentralsteuervorrichtung 710 kann mit einer Kommunikations-Steuerfunktion zum Zwecke eines Mitteilens der Zugriffsanfrage ausgestattet sein, so dass die Zugriffsanfrage von einem Nutzer oder einem Anwendungsprogramm durch die Kommunikations-Steuerfunktion der Zentralsteuervorrichtung 710 statt durch die Kommunikations-Steuervorrichtung 706 mitgeteilt wird.
  • Die Datenspeichervorrichtungen 702 zum Speichern der fortlaufenden Daten werden normalerweise in Form von Plattenvorrichtungen bereitgestellt. Für diese Plattenvorrichtung wird eine magnetische Plattenvorrichtung in den meisten Fällen verwendet, es gibt jedoch auch Fälle einer Verwendung einer optischen Platte oder optomagnetischen Plattenvorrichtung, etc. Neben der Plattenvorrichtung gibt es auch Fälle einer Verwendung einer Halbleiterspeichervorrichtung wie beispielsweise eines RAM oder EEPROM für die Datenspeichervorrichtungen 702.
  • Nunmehr gibt es bei dieser herkömmlichen Servervorrichtung für fortlaufende Daten von 1, die Plattenvorrichtungen wie beispielsweise die Datenspeichervorrichtungen 702 verwendet, beispielsweise Fälle, bei denen Zugriffe von vielen Nutzern gleichzeitig auf unterschiedliche Abschnitte der in einer bestimmten Plattenvorrichtung gespeicherten fortlaufenden Daten konzentriert sind. Beispielsweise entspricht dies einer Situation, bei der bestimmte Videodaten in einer bestimmten magnetischen Platte als die fortlaufenden Daten enthalten sind, und diese bestimmten Videodaten von vielen Nutzern zu Zeitpunkten betrachtet werden wollen, die voneinander durch 1 Minute beabstandet sind.
  • In solch einem Fall wird bei dieser herkömmlichen Servervorrichtung für fortlaufende Daten von 1 die Zugriffsgeschwindigkeit der Platte zu einer Begrenzung beziehungsweise Schwachstelle, und es ergibt sich ein Nachteil darin, dass es unmöglich wird, die Daten in Echtzeit zu allen Nutzern zu übertragen. Beispielsweise wäre es im Falle eines Verwendens von Videodaten, unter der Annahme dass die fortlaufenden Daten zu einem Endgerät eines Nutzers mit einer Rate von 1,5 Mbit/sec im Mittel zu übertragen sind, und dass eine magnetische Plattenvorrichtung, die diese Videodaten speichert, mit einer Rate von höchstens 2 Mbit/sec auslesen kann, nur möglich, eine Übertragung von Daten von einer magnetischen Plattenvorrichtung zu gleichzeitig höchstens 10 Nutzern bereitzustellen.
  • Als ein Verfahren zur Lösung solch eines Problems in Verbindung mit der Plattenvorrichtung ist ein Verfahren mit dem Namen "Striping" bzw. Streifenbildung bekannt. Die Streifenbildung ist ein Verfahren zur Erhöhung einer Gesamtdatenübertragungskapazität (gesamte Bandbreite) durch Verwenden einer Vielzahl von Plattenvorrichtungen, wodurch es einer größeren Anzahl von Nutzern ermöglicht wird, gleichzeitig Zugriffe auf identische fortlaufende Daten zu tätigen, indem fortlaufenden Daten jeweils unterteilt in einer Vielzahl von Plattenvorrichtungen gespeichert werden. Durch Ausführung des Streifenbildens wird es möglich, eine Speichervorrichtung aufzubauen, die eine große Bandbreite aufweist, und die auch den schlimmsten anzunehmenden Fall handhaben kann, bei dem eine Vielzahl von Nutzern Zugriffe auf unterschiedliche Abschnitte der identischen fortlaufenden Daten fast gleichzeitig tätigt.
  • Im Falle einer Verwendung des Streifenbildungsverfahrens mit Bezug auf n Sätze von Plattenvorrichtungen ist es möglich, ein exklusiv ODER der in diesen n Sätzen von Plattenvorrichtungen gespeicherten Daten als eine Parität anzunehmen, und diese Parität in einer (n – 1)-ten Plattenvorrichtung zu speichern, sodass irgendwelche Daten, die durch eine Fehlfunktion eine der Plattenvorrichtungen unter diesen (n – 1) Plattenvorrichtungen verloren gehen, wiedergewonnen werden können, indem das exklusiv ODER der Daten in den verbleibenden Plattenvorrichtungen berechnet wird. Dies ist ein Verfahren, das als RAID (Redundant Arrays of Inexpensive Disks, Redundante Anordnung kostengünstiger Platten) bekannt ist.
  • Auch wenn jedoch eine Zentralsteuervorrichtung 710 mit einer Vielzahl von Plattenvorrichtungen, in 1 gezeigt, verbunden ist, um so die Bandbreite mittels der Streifenbildung zu erhöhen, wird eine Anzahl von Nutzern, die gleichzeitig Zugriffe tätigen kann, durch die Übertragungsrate des Busses 720 in Verbindung mit der Zentralsteuervorrichtung 710 begrenzt sein.
  • Beispielsweise wird im Falle einer Verwendung eines PCI (Peripheral Component Interconnect) Bus mit einer Übertragungsleistung von 133 Mbit/sec, wenn die Zugriffsgeschwindigkeit für einen Abschnitt der fortlaufenden Daten als 1,5 Mbit/sec angenommen wird, die Datenübertragung insgesamt 3 Mbit/sec der Datenübertragungsleistung (Bandbreite) des Busses 720 belegen, einschließlich 1,5 Mbit/sec, die bei einer Übertragung von den Plattenvorrichtungen 702 zu den Pufferspeichervorrichtungen 708 pro Datenabschnitt verwendet wird, und der 1,5 Mbit/sec, die bei einer Übertragung von den Pufferspeichervorrichtungen 708 zu der Kommunikationssteuervorrichtung 706 pro Abschnitt von fortlaufenden Daten verwendet wird. Daher wird er nur in der Lage sein, Zugriffe bis maximal 354 Abschnitten von fortlaufenden Daten gleichzeitig durchzuführen, auch wenn angenommen wird, dass der Bus mit einer 100% Effizienz betrieben wird. In der Praxis wird der Bus niemals mit einer 100% Effizienz betrieben werden, so dass eine Anzahl von Nutzern, die Zugriffe gleichzeitig tätigen kann, weiter reduziert sein wird.
  • Somit besteht bei dieser Art von herkömmlicher Servervorrichtung für fortlaufende Daten ein Problem darin, dass eine Anzahl von Nutzern, die gleichzeitig Zugriffe auf die fortlaufenden Daten in einer einzelnen Servervorrichtung für fortlaufende Daten durchführen kann, durch die Bandbreite des Datenpfades wie beispielsweise des Busses, den die Servervorrichtung für fortlaufende Daten bereitstellt, begrenzt ist.
  • Aus diesem Grund ist es möglich, um die gleichzeitigen Zugriffe für so viele Nutzer bereitzustellen, wie dies durch ein einzelnes System einer herkömmlichen Servervorrichtung für fortlaufende Daten nicht realisiert werden kann, eine Konfiguration zu betrachten, die in 2 gezeigt ist, bei der eine Vielzahl von Computern, die jeweils als die Servervorrichtung für fortlaufende Daten, in 1 gezeigt, arbeiten, parallel bereitgestellt sind. Bei dieser Konfiguration von 2 werden die fortlaufenden Daten durch ein Anwenden des Streifenbildens unter den Datenspeichervorrichtungen 802, die mit einem Servercomputer für fortlaufende Daten 800 verbunden sind, gespeichert (jedoch wird die Streifenbildung nicht für die Datenspeichervorrichtungen 802, die mit unterschiedlichen Servercomputern für fortlaufende Daten 800 verbunden sind, in diesem Beispiel verwendet).
  • Bei dieser Konfiguration von 2 empfängt ein Computer für die Gesamtsteuerung 801 die Zugriffsanfrage für alle fortlaufenden Daten, teilt jede Zugriffsanfrage dem relevanten Servercomputer für fortlaufende Daten 800 mit den angefragten fortlaufenden Daten mit. Dann wird die Zentralsteuervorrichtung (nicht gezeigt), die in dem Servercomputer für fortlaufende Daten 800 bereitgestellt ist, an den die Zugriffsanfrage benachrichtigt wird, eine Übertragung der fortlaufenden Daten steuern. In Übereinstimmung mit diesem System von 2 ist es möglich, auf einfache Weise eine Anzahl von Nutzern zu erhöhen, die gleichzeitig Zugriffe auf die fortlaufenden Daten tätigen können, indem zusätzliche Servercomputer für fortlaufende Daten 800 bereitgestellt werden.
  • Außer wenn eine Kopie jeder fortlaufenden Daten in jeder Gruppe der Datenspeichervorrichtungen 802 in Verbindung mit einer jeden der Vielzahl von Servercomputern für fortlaufende Daten 800 bereitgestellt ist, wird es unmöglich sein, einen Fall zu behandeln, bei dem alle Nutzer einen Zugriff auf die unterschiedlichen Abschnitte identischer fortlaufender Daten tätigen. Demzufolge gab es einen Nachteil darin, dass es beträchtliche Kosten für eine Bereitstellung von Kopien aller fortlaufender Daten in allen Gruppen der Datenspeichervorrichtungen 802 in Verbindung mit vielen Servercomputern für fortlaufende Daten 800 erfordert.
  • Somit gab es bei dieser Art von Servervorrichtung für fortlaufende Daten ein Problem darin, dass große Kosten für die Datenspeichervorrichtungen anfielen.
  • Als ein weiteres Verfahren zur Erhöhung einer Anzahl von Nutzern, die gleichzeitig Zugriffe tätigen können, und welches keine Kopien von allen fortlaufenden Daten in vielen Datenservervorrichtungen erfordert, gibt es ein Verfahren mit einer Verwendung einer in 3 gezeigten Konfiguration, bei der ein Datenpfad von den Datenspeichervorrichtungen 902 zu den Kommunikations-Steuervorrichtungen 806 gemultiplext ist, durch Nutzung eines stark parallelisierten Computers, wobei eine Vielzahl von Zentralsteuervorrichtungen (CPU) 910 und 911 mit einer Vermittlung (Kopplungspfad) 921 mit einer großen Datenübertragungsleistung (Bandbreite) verbunden sind.
  • Bei dieser Konfiguration von 3 werden Speichervorrichtungen 908 und 909 in Verbindung mit den jeweiligen Zentralsteuervorrichtungen 910 und 911 als die Pufferspeichervorrichtungen verwendet. Dabei ist es notwendig, dass die Vermittlung 921, die zwischen den Zentralsteuervorrichtungen 910 und 911 verbunden ist, dazu in der Lage ist, die Datenübertragung zwischen der Zentralsteuervorrichtung 910 mit einer beliebigen Datenspeicher-Steuervorrichtung 904 und der Zentralsteuervorrichtung 911 mit einer beliebigen Kommunikations-Steuervorrichtung 906 zu handhaben. Deshalb wird ein Mehrfachstufennetz wie beispielsweise die Crossbar-Vermittlung, der Hypercube, oder das ATM (Asynchronous Transfer Mode, Asynchroner Übertragungsmodus) Netz für diese Vermittlung 921 verwendet.
  • Jedoch können bei dieser Servervorrichtung von 3 für fortlaufende Daten die Daten von einer Vielzahl von Zentral-Steuervorrichtungen 910 mit den Datenspeicher-Steuervorrichtungen 904 zu einer einzelnen Zentralsteuervorrichtung 911 mit einer einzelnen Kommunikations-Steuervorrichtung 906 übertragen werden, so dass eine Notwendigkeit einer Bereitstellung einer Verhandlungsfunktion besteht. Demzufolge ergab sich ein Nachteil darin, dass die Hardware der Crossbar-Vermittlung oder des ATM-Netzes, etc., den Kopplungspfad 921 darstellend, kompliziert wird, und dieses bewirkt ebenso beträchtliche Kosten.
  • Somit bestand in dieser Art von Serversystem für fortlaufende Daten ein Problem darin, dass die Hardware der Vermittlung kompliziert werde, und hohe Kosten für diese Vermittlung anfielen.
  • Auf der anderen Seite gibt es eine weitere Serversystem für fortlaufende Daten, die eine in 4 gezeigte Konfiguration aufweist.
  • Bei dieser bekannten Serversystem für fortlaufende Daten von 4 wird eine Zugriffsanfrage für die fortlaufenden Daten, ausgegeben durch einen Nutzer oder ein Anwendungsprogramm, mittels einer Interprozesskommunikation, einer Kommunikation über ein Netzwerk, etc. zu einer Zentralsteuervorrichtung 610 geleitet. Die Zentralsteuervorrichtung 610 teilt dann das Lesen der angeforderten fortlaufenden Daten den relevanten Datenspeicher-Steuervorrichtungen 611 mit, und diese Datenspeicher-Steuervorrichtungen 611 lesen die spezifizierten fortlaufenden Daten aus den Datenspeichervorrichtungen 612 aus, und schreiben diese in eine Hauptsteuervorrichtung 613. Die Zentralsteuervorrichtung 610 weist dann die Übertragung der Daten auf der Hauptspeichervorrichtung 613 zu einer der Kommunikations-Steuervorrichtungen 614 an, und diese Kommunikations-Steuervorrichtung 614 überträgt die fortlaufenden Daten in Richtung eines in der Zugriffsanfrage spezifizierten Übertragungsziels. Falls die spezifizierten fortlaufenden Daten auf den Datenspeichervorrichtungen 612 nicht vorhanden sind, werden die spezifizierten fortlaufenden Daten von einer Archivvorrichtung 615 ausgelesen.
  • Ähnlich wie im Fall von 1 sind die Datenspeichervorrichtungen 612 zum Speichern der fortlaufenden Daten normalerweise in der Form von Plattenvorrichtungen bereitgestellt. Für diese Plattenvorrichtung wird in den meisten Fällen eine magnetische Plattenvorrichtung verwendet, es gibt jedoch auch Fälle einer Verwendung einer optischen Platte oder eine optomagnetischen Plattenvorrichtung, etc. Neben der Plattenvorrichtung gibt es auch Fälle einer Verwendung einer Halbleiterspeichervorrichtung für die Datenspeichervorrichtung 612, wie beispielsweise einem RAM oder EEPROM.
  • Diese herkömmliche Servervorrichtung für fortlaufende Daten von 4 basiert auf der bekannten Tatsache, dass es durch Speichern der fortlaufenden Daten in verschiedenen Arten von Speichervorrichtungen in Übereinstimmung mit deren Nutzungsfrequenzen möglich ist, ein System mit gutem Kostenverhalten aufzubauen.
  • Dabei werden die Daten mit höheren Nutzungsfrequenzen in Datenspeichervorrichtungen wie beispielsweise magnetischen Plattenvorrichtungen gespeichert, die pro Kapazität relativ hohe Aufzeichnungskosten aufweisen, die jedoch einen Hochgeschwindigkeitszugriff ermöglichen. Dabei bezeichnet die Zugriffsgeschwindigkeit eine Zeit, die für eine Datenaufrufsuche erforderlich ist, da die Datenanfrage empfangen wird, bevor die Übertragung der Daten beginnt. Mittels der Online-Verbindung dieser Datenspeichervorrichtungen kann die Datenaufrufsuchzeit gekürzt werden.
  • Es ist weiter möglich, Datenspeichervorrichtungen wie beispielsweise Halbleiterspeicher zu verwenden, die noch höhere Aufzeichnungskosten bewirken, die jedoch einen noch schnelleren Zugriff für solche Daten ermöglichen, die besonders hohe Nutzungsfrequenzen aufweisen.
  • Auf der anderen Seite werden die Daten mit niedrigeren Nutzungsfrequenzen durch eine Archivierungsvorrichtung aufgezeichnet und verwaltet. Diese Archivierungsvorrichtung wird durch Speichervorrichtungen wie beispielsweise Magnetbänder, optische Platten oder magnetische Platten gebildet, die relativ niedrige Aufzeichnungskosten pro Kapazität bewirken, die aber auf der anderen Seite einen lediglich ziemlich langsamen Zugriff ermöglichen. Diese Art von Speichervorrichtung verwendet normalerweise ein Band oder eine Platte zur Aufzeichnung der Daten, die von einer Ansteuervorrichtung abgenommen werden kann. Dabei weist diese eine Struktur auf, bei der das Aufzeichnungsmedium von einer Ansteuervorrichtung zum Lesen oder Schreiben der Daten entnommen werden kann. Aus diesem Grund sind die Aufzeichnungskosten pro Kapazität, die bei dieser Art von Speichervorrichtung bewirkt werden, lediglich Kosten für das Aufzeichnungsmedium selbst, was im Vergleich zur magnetischen Plattenvorrichtung, etc., bei denen das Aufzeichnungsmedium nicht entnehmbar ist, niedrig ist. In dieser Art von Speichervorrichtung ist es jedoch, wenn die Datenanfrage empfangen wird, notwendig, ein geeignetes Aufzeichnungsmedium mit den geforderten Daten in einer Ansteuervorrichtung zu laden, sodass die Zugriffsgeschwindigkeit für diese Art von Speichervorrichtung niedrig ist.
  • Somit werden in dieser Servervorrichtung für fortlaufende Daten von 4 die fortlaufenden Daten mit hohen Zugriffsfrequenzen in den Datenspeichervorrichtung 612 wie beispielsweise den magnetischen Plattenvorrichtungen gespeichert, während die fortlaufenden Daten mit niedrigen Zugriffsfrequenzen in der Archivierungsvorrichtung 615 wie beispielsweise den optischen Platten gespeichert werden. Wenn eine Anfrage für die fortlaufenden Daten, die nicht in den magnetischen Plattenvorrichtungen gespeichert sind, empfangen wird, werden die geforderten fortlaufenden Daten von der Archivierungsvorrichtung 615 in die Datenspeichervorrichtung 612 ausgelesen.
  • Dabei können die von der Archivierungsvorrichtung 615 in die Datenspeichervorrichtung 612 ausgelesenen fortlaufenden Daten zum Nutzer übertragen werden, entweder während das Lesen fortdauert, oder nach einem Beenden des Lesens. Im ersteren Verfahren ist eine erforderliche Zeit nach einem Empfang der Anfrage vom Nutzer bis zum Beginn der Übertragung der fortlaufenden Daten kürzer, jedoch ist die Nutzung des visuellen Suchmodus wie beispielsweise des schnell-vorwärts Modus beschränkt. Im Gegensatz dazu ist beim letzteren Verfahren die von einem Empfang der Anfrage vom Nutzer bis zum Beginn der Übertragung der fortlaufenden Daten erforderliche Zeit länger, jedoch kann der optische Suchmodus wie beispielsweise der schnell-vorwärts Modus frei verwendet werden, die fortlaufenden Daten vollständig in die Datenspeichervorrichtung 612 zum Zeitpunkt der Datenübertragung eingebracht sind.
  • Jedoch werden bei dieser bekannten Servervorrichtung für fortlaufende Daten von 4 im Falle einer Übertragung der fortlaufenden Daten zwischen der Archivierungsvorrichtung 615 und der Datenspeichervorrichtung 612 die fortlaufenden Daten temporär in die Hauptspeichervorrichtung 613 eingeschrieben, so dass es ein Problem darin gibt, dass ein Speicherbereich der Hauptspeichervorrichtung 613, der anderweitig für die Übertragung der fortlaufenden Daten verfügbar ist, in solch einem Fall reduziert wird.
  • Weiter wird im Falle einer Übertragung der fortlaufenden Daten zwischen der Archivierungsvorrichtung 615 und der Datenspeichervorrichtung 612 der Bus zum Zeitpunkt einer Übertragung der fortlaufenden Daten zwischen der Archivierungsvorrichtung 615 und der Hauptspeichervorrichtung 613 belegt sein, wie auch zu einem Zeitpunkt einer Übertragung der fortlaufenden Daten zwischen der Hauptspeichervorrichtung 613 und der Datenspeichervorrichtung 612, sodass es ein Problem darin gibt, dass ein Zeitraum, in dem der Bus anderweitig für die Übertragung der fortlaufenden Daten verfügbar ist, reduziert sein wird.
  • Als eine Folge ergibt sich ein Problem darin, dass die Menge von fortlaufenden Daten (eine Anzahl von Strömen), die übertragen werden kann, vermindert ist, während die fortlaufenden Daten zwischen der Archivierungsvorrichtung 615 und der Datenspeichervorrichtung 612 übertragen werden.
  • Aus dem gleichen Grund gibt es weiter ein Problem darin dass, wenn die von der Archivierungsvorrichtung 615 ausgelesenen fortlaufenden Daten in eine bestimmte Datenspeichervorrichtung 612 einzuschreiben sind, eine Anzahl beziehungsweise Menge von fortlaufenden Daten, die von anderen Datenspeichervorrichtungen 612 ausgelesen und übertragen werden kann, beschränkt sein wird.
  • Insbesondere gibt es im Falle eines Anwendens des RAID-Verfahrens auf die Datenspeichervorrichtung 612 ein Problem darin, dass eine Anzahl von Strömen, die übertragen werden kann, nach Auftreten einer Fehlfunktion der Datenspeichervorrichtung reduziert sein wird, da es notwendig wird, den Reparaturbetrieb der fehlerhaften Datenspeichervorrichtung auszuführen, und die in dieser Datenspeichervorrichtung zu speichernden Daten von der Archivierungsvorrichtung zu schreiben, während der Betrieb zur Wiederherstellung der fortlaufenden Daten, die in der fehlerhaften Speichervorrichtung gespeichert sind, ausgeführt wird, unter Verwendung der Parität des RAID-Verfahrens und einer Übertragung der wiedergewonnenen fortlaufenden Daten.
  • Die EP 057813982 beschreibt einen programmierbaren Plattensatzcontroller zum Verteilen von aneinanderhängenden Daten von einem Hostprozessor über eine Vielzahl von Plattenvorrichtungen und einem Controller einschließlich eines Vorrichtungsports mit einer Vielzahl von angeschlossenen Plattenvorrichtungen, und ein Dualportpufferspeicher empfängt Daten vom Hostprozessor für eine Speicherung auf den Plattenvorrichtungen. Der programmierbare Controller greift auf Daten von dem Pufferspeicher zu und bewirkt, dass diese zu dem Vorrichtungsport zur Speicherung in den Plattenvorrichtungen geführt werden. Ein Mikroprozessor ist mit einem jeden der Module im Controller verbunden und steuert Betriebsvorgänge. In Reaktion auf eine Plattenschreibanfrage vom Hostcomputer wird eine Unterbrechung erzeugt und in Reaktion darauf gestattet der Mikroprozessor einen Hostport mit einer Erlaubnis aus, Daten zu empfangen, und der Hostport weist den Hostcomputer für eine Übertragung der Daten an.
  • Die WO 93/14455 beschreibt einen Computerspeichercontroller, der mit einem Hostcomputer mit einem Pufferspeicher verbunden ist, verbunden mit einer Vielzahl von Speichereinheiten und zum Halten von darin eingelesenen und ausgelesenen Daten. Ein Zentralcontroller dient einer Steuerung der Übertragung von Daten zu und von dem Hostcomputer zu den Speichereinheiten. Der Controller weist auch ein Puffersegment für eine Lese- oder Schreibanfrage von dem Hostcomputer zu, und in Antwort auf Datenanfragen von dem Hostcomputer steuert der Zentralcontroller die Speichereinheiten, dass diese gleichzeitig in unterschiedlichen Speichereinheiten gespeicherte Daten suchen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Servervorrichtung für fortlaufende Daten und ein Übertragungsverfahren für fortlaufende Daten bereitzustellen, die auf gleichzeitige Zugriffe auf die fortlaufenden Daten von so vielen Nutzern reagieren können, die die Fähigkeit einer einzelnen bekannten Servervorrichtung für fortlaufende Daten überschreitet, ohne eine Kostenerhöhung zu bewirken.
  • Es ist weiter eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung mit Verbindungsports für eine Vielzahl von Plattenvorrichtungen bereitzustellen, welche eine Wiederherstellung verlorener Daten aufgrund einer Fehlfunktion einer angeschlossenen Plattenvorrichtung mittels einer kompakten Hardwarekonfiguration realisieren kann.
  • Es ist weiter eine Aufgabe der vorliegenden Erfindung, eine Servervorrichtung für fortlaufende Daten und ein Übertragungsverfahren für fortlaufende Daten bereitzustellen, womit die fortlaufenden Daten ohne eine Reduktion einer Anzahl von fortlaufenden Daten, die gleichzeitig übertragen werden können, auch im Falle eines Durchführens des Lesens oder Schreibens mit Bezug auf die Archivierungsvorrichtung, übertragen werden können.
  • Diese Aufgabe der Erfindung wird durch eine Servervorrichtung für fortlaufende Daten mit den Merkmalen des angefügten Anspruchs 1 gelöst. Ausführungsformen sind in den angefügten abhängigen Ansprüchen 2 bis 28 definiert.
  • Andere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich aus der folgenden Beschreibung in Verbindung mit den begleitenden Zeichnungen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Blockdiagramm einer bekannten Servervorrichtung für fortlaufende Daten.
  • 2 zeigt ein Blockdiagramm einer weiteren bekannten Servervorrichtung für fortlaufende Daten.
  • 3 zeigt ein Blockdiagramm einer weiteren bekannten Servervorrichtung für fortlaufende Daten.
  • 4 zeigt ein Blockdiagramm einer weiteren bekannten Servervorrichtung für fortlaufende Daten.
  • 5 zeigt ein Blockdiagramm des ersten Ausführungsbeispiels einer Servervorrichtung für fortlaufende Daten in Übereinstimmung mit der vorliegenden Erfindung.
  • 6 zeigt ein Blockdiagramm der Servervorrichtung für fortlaufende Daten von 5 in einem beispielhaften Fall.
  • 7 zeigt in einem Diagram eine Struktur der fortlaufenden Daten, die in der Servervorrichtung für fortlaufende Daten von 5 verwendet wird.
  • 8 zeigt ein Flussdiagramm des Betriebs einer Zentralsteuervorrichtung der Servervorrichtung für fortlaufende Daten von 6.
  • 9 zeigt ein Blockdiagramm der Servervorrichtung für fortlaufende Daten von 6, und zeigt einen Zustand zu einer Stufe eines Betriebs in Übereinstimmung mit 8.
  • 10 zeigt ein Blockdiagramm der Servervorrichtung für fortlaufende Daten von 6, und zeigt einen Zustand auf einer weiteren Stufe des Betriebs in Übereinstimmung mit 8.
  • 11 zeigt ein Blockdiagramm der Servervorrichtung für fortlaufende Daten von 6, und zeigt einen Zustand auf einer weiteren Stufe des Betriebs nach 8.
  • 12 zeigt ein partielles Blockdiagramm der Servervorrichtung für fortlaufende Daten von 6, und zeigt ein Puffermanagementverfahren, das im ersten Ausführungsbeispiel verwendet wird.
  • 13 zeigt ein partielles Blockdiagramm der Servervorrichtung für fortlaufende Daten von 6 mit einem einfacheren Puffermanagementverfahren, das im ersten Ausführungsbeispiel verwendet werden kann.
  • 14 zeigt ein partielles Blockdiagramm der Servervorrichtung für fortlaufende Daten von 6, mit einem weiteren Puffermanagementverfahren, das im ersten Ausführungsbeispiel verwendet werden kann.
  • 15 zeigt ein Blockdiagramm einer erweiterten Konfiguration für das erste Ausführungsbeispiel einer Servervorrichtung für fortlaufende Daten gemäss der Erfindung.
  • 16 zeigt ein Blockdiagramm einer weiter erweiterten Konfiguration für das erste Ausführungsbeispiel einer Servervorrichtung für fortlaufende Daten gemäß der vorliegenden Erfindung.
  • 17 zeigt ein schematisches Diagramm eines Zweiportspeichers, der für eine Pufferspeichervorrichtung in der Speichervorrichtung für fortlaufende Daten des ersten Ausführungsbeispiels verwendet werden kann.
  • 18 zeigt ein schematisches Diagramm eines Verfahrens zum Aufbau des Zweiportspeichers von 17.
  • 19 zeigt ein schematisches Diagramm eines weiteren Verfahrens zum Aufbau des Zweitportspeichers von 17.
  • 20 zeigt ein partielles Blockdiagramm der Servervorrichtung für fortlaufende Daten von 5 und zeigt eine beispielhafte Konfiguration im Falle einer Anwendung des Zweiportspeichers von 17.
  • 21 zeigt in einem Diagramm einen Adressraum, gesehen von einer Datenspeichervorrichtung in der beispielhaften Ausführung von 20.
  • 22 zeigt in einem Diagramm einen Adressraum vom Standpunkt einer Kommunikationssteuervorrichtung in der beispielhaften Konfiguration von 20.
  • 23 zeigt ein schematisches Diagramm eines weiteren Zweiportspeichers, der für eine Pufferspeichervorrichtung in der Servervorrichtung für fortlaufende Daten des ersten Ausführungsbeispiels verwendet werden kann.
  • 24 zeigt ein partielles Blockdiagramm der Servervorrichtung für fortlaufende Daten von 5 und zeigt eine beispielhafte Verbindung einer Datenspeichersteuervorrichtung und Pufferspeichervorrichtungen im Fall einer Verwendung des Zweiportspeichers von 23.
  • 25 zeigt ein partielles Blockdiagramm der Servervorrichtung für fortlaufende Daten von 5 und zeigt eine beispielhafte Verbindung einer Kommunikationssteuervorrichtung und Pufferspeichervorrichtungen im Fall einer Verwendung des Zweiportspeichers von 23.
  • 26 zeigt ein partielles Blockdiagramm der Servervorrichtung für fortlaufende Daten von 5 mit einer weiteren beispielhaften Verbindung einer Kommunikationssteuervorrichtung und Pufferspeichervorrichtungen im Fall einer Verwendung des Zweiportspeichers von 23.
  • 27 zeigt ein schematisches Diagramm eines VRAM, das für eine Pufferspeichervorrichtung in der Servervorrichtung für fortlaufende Daten des ersten Ausführungsbeispiels verwendet werden kann.
  • 28 zeigt ein partielles Blockdiagramm der Servervorrichtung für fortlaufende Daten von 5 mit einer beispielhaften Konfiguration im Falle einer Verwendung des VRAM von 27.
  • 29 zeigt ein partielles Blockdiagramm der Servervorrichtung für fortlaufende Daten von 5 mit einer beispielhaften Konfiguration im Falle einer Verwendung einer Vielzahl von existierenden Computern.
  • 30 zeigt ein Blockdiagramm des zweiten Ausführungsbeispiels eines Datenserversystems in Übereinstimmung mit der vorliegenden Erfindung.
  • 31 zeigt ein Flussdiagramm des Betriebs einer Zentralsteuereinheit in dem Datenserversystem von 30.
  • 32 zeigt ein Diagramm einer Schaltung zur Erzeugung eines HITANY-Signals in dem Datenserversystem von 30.
  • 33 zeigt ein Blockdiagramm einer internen Konfiguration einer Berechnungseinheit in dem Datenserversystem von 30.
  • 34 zeigt eine Logiktabelle, die durch eine Decodiereinheit in dem Datenserversystem von 30 verwendet wird.
  • 35 zeigt ein schematisches Blockdiagramm des Datenserversystems des zweiten Ausführungsbeispiels bei einer Anwendung auf den Multimediadatenserver.
  • 36 zeigt ein schematisches Blockdiagramm des Datenserversystems des zweiten Ausführungsbeispiels in einer Anwendung auf den Datenbankserver.
  • 37 zeigt ein schematisches Blockdiagramm des Datenserversystems des zweiten Ausführungsbeispiels, angepasst an das erste Ausführungsbeispiel.
  • 38 zeigt ein Blockdiagramm des dritten Ausführungsbeispiels eines Datenserversystems in Übereinstimmung mit der vorliegenden Erfindung.
  • 39 zeigt ein Blockdiagramm einer internen Konfiguration einer Berechnungseinheit in dem Datenserversystem von 38.
  • 40 zeigt eine Tabelle von Signalwerten, gegeben an Rechnungseinheiten auf einer Stufe des Betriebs des Datenserversystems von 38.
  • 41 zeigt ein partielles Blockdiagramm des Datenserversystems von 38 mit einer Ausführung einer Stufe des Betriebs des Datenserversystems von 38.
  • 42 zeigt eine Tabelle von Signalwerten, gegeben an Berechnungseinheiten auf einer weiteren Stufe des Betriebs des Datenserversystems von 38.
  • 43 zeigt ein partielles Blockdiagramm des Datenserversystems von 38 mit einer Ausführung zu einer weiteren Stufe des Betriebs des Datenserversystems von 38.
  • 44 zeigt eine Tabelle von Signalwerten, gegeben an Berechnungseinheiten auf einer weiteren Stufe des Betriebs des Datenserversystems von 38.
  • 45 zeigt ein partielles Blockdiagramm des Datenserversystems von 38 mit einer Ausführung zu einer weiteren Stufe des Betriebs des Datenserversystems von 38.
  • 46 zeigt eine Tabelle von Signalwerten, gegeben an Berechnungseinheiten auf einer weiteren Stufe des Betriebs des Datenserversystems von 38.
  • 47 zeigt ein partielles Blockdiagramm des Datenserversystems von 38 und zeigt eine Ausführung einer weiteren Stufe des Betriebs des Datenserversystems von 38.
  • 48 zeigt eine Tabelle von Signalwerten, gegeben an Berechnungseinheiten auf einer weiteren Stufe des Betriebs des Datenserversystems von 38.
  • 49 zeigt ein partielles Blockdiagramm des Datenserversystems von 38 und zeigt eine Ausführung zu einer weiteren Stufe des Betriebs des Datenserversystems von 38.
  • 50 zeigt ein schematisches Blockdiagramm des Datenserversystems des dritten Ausführungsbeispiels, angepasst an das erste Ausführungsbeispiel.
  • 51 zeigt ein Blockdiagramm des vierten Ausführungsbeispiels eines Serversystems für fortlaufende Daten in Übereinstimmung mit der vorliegenden Erfindung.
  • 52 zeigt ein schematisches Blockdiagramm des Serversystems für fortlaufende Daten von 51 und zeigt die Anordnung der Daten in Plattenvorrichtungen, im vierten Ausführungsbeispiel verwendet.
  • 53 zeigt ein partielles Blockdiagramm des Serversystems für fortlaufende Daten von 51 und zeigt den Betrieb im Falle einer Korrektur der Fehlfunktion einer Plattenvorrichtung.
  • 54 zeigt ein Zeitdiagramm für den Betrieb im Falle einer Korrektur der Fehlfunktion einer Plattenvorrichtung, in 53 gezeigt.
  • 55 zeigt ein partielles Blockdiagramm des Serversystems für fortlaufende Daten von 51 und zeigt den Betrieb im Falle eines Schreibens der Daten in eine Plattenvorrichtung.
  • 56 zeigt ein Zeitdiagramm des Betriebs im Falle eines Schreibens der Daten auf eine in 55 gezeigte Plattenvorrichtung.
  • 57 zeigt ein partielles Blockdiagramm des Serversystems für fortlaufende Daten von 51 und zeigt den Betrieb im Falle eines Wiederherstellens aus einer Fehlfunktion einer Plattenvorrichtung.
  • 58 zeigt ein Zeitdiagramm für den Betrieb im Falle eines Wiederherstellens aus der Fehlfunktion einer in 57 gezeigten Plattenvorrichtung.
  • 59 zeigt ein Blockdiagramm einer internen Konfiguration eines RAID-Controllers im Serversystem für fortlaufende Daten von 51.
  • 60 zeigt ein schematisches Blockdiagramm des Serversystems für fortlaufende Daten des vierten Ausführungsbeispiels, angepasst auf das erste Ausführungsbeispiel.
  • 61 zeigt ein Blockdiagramm des fünften Ausführungsbeispiels eines Serversystems für fortlaufende Daten in Übereinstimmung mit der vorliegenden Erfindung.
  • 62 zeigt ein Flussdiagramm für den Betrieb einer Zentralsteuervorrichtung des Serversystems für fortlaufende Daten von 61.
  • 63 zeigt ein schematisches Blockdiagramm einer Datenspeichersteuervorrichtung, die bei dem Serversystem für fortlaufende Daten von 61 angewendet werden kann.
  • 64 zeigt ein schematisches Blockdiagramm einer Archivierungsvorrichtung, die in dem Serversystem für fortlaufende Daten von 61 verwendet wird.
  • 65 zeigt ein schematisches Blockdiagramm des Serversystems für fortlaufende Daten des fünften Ausführungsbeispiels, angepasst an das erste Ausführungsbeispiel.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Unter Bezugnahme auf die 5 bis 29 wird nunmehr das erste Ausführungsbeispiel des Serversystem für fortlaufende Daten, das das Übertragungsverfahren für fortlaufende Daten in Übereinstimmung mit der vorliegenden Erfindung realisiert, detailliert beschrieben.
  • In diesem ersten Ausführungsbeispiel weist das Serversystem für fortlaufende Daten eine Konfiguration auf, wie sie in 5 gezeigt ist, und die umfasst: n (n ist eine ganze Zahl größer oder gleich 1) Sätze von Datenspeichersteuervorrichtungen 4 (4-1 bis 4-n in der Figur); eine Vielzahl von Datenspeichervorrichtungen 2, von denen eine vorgegebene Zahl jeweils mit einer der Datenspeichersteuervorrichtungen 4 verbunden ist; m (m ist eine ganze Zahl größer oder gleich 1) Sätze von Kommunikationssteuervorrichtungen 6 (6-1 bis 6-m in der Figur); n × m Sätze von Pufferspeichervorrichtungen 8, von denen jede mit einer Datenspeichersteuervorrichtung 4 über einen Bus 20 und mit einer Kommunikationssteuervorrichtung 6 über einen Bus 21 verbunden ist, sodass m Sätze von Pufferspeichervorrichtungen 8 mit jeder Datenspeichervorrichtung 4 und n Sätze von Speichervorrichtungen 8 mit jeder Kommunikationssteuervorrichtung 6 verbunden sind; und eine Zentralsteuervorrichtung 10, die mit allen Datenspeichervorrichtungen 4 und den Kommunikationssteuervorrichtungen 6 verbunden ist.
  • Es wird darauf hingewiesen, dass die Datenspeichervorrichtungen 2 nicht notwendiger Weise integrale Bestandteile des Serversystem für fortlaufende Daten sind, und dass sie durch einen Nutzer nach Bedarf bereitgestellt werden können.
  • Die Datenspeichervorrichtungen 2 sind Speichervorrichtungen zum Speichern der fortlaufenden Daten wie beispielsweise Videodaten und Sprachdaten, wobei dafür Plattenvorrichtungen wie beispielsweise magnetische Plattenvorrichtungen, optische Plattenvorrichtungen oder optomagnetische Plattenvorrichtungen verwendet werden können. Neben diesen Plattenvorrichtungen können auch verschiedene Speichervorrichtungen einschließlich der Halbleiterspeichervorrichtungen wie beispielsweise RAM, EEPROM, etc. für die Datenspeichervorrichtungen 2 verwendet werden. Im folgenden betreffen allgemein die Datenspeichervorrichtungen irgendwelche dieser verschiedenen Datenspeichermedien.
  • Die in den Datenspeichervorrichtungen 2 gespeicherten fortlaufenden Daten weisen eine Struktur auf, in der fortlaufende Bits oder Bytes angeordnet sind. Die fortlaufenden Daten werden vorzugsweise in Einheiten von Gruppen wie beispielsweise Blöcken gespeichert und gehandhabt.
  • Jede der Datenspeichervorrichtungen 4 ist mit einer vorgegebenen Anzahl von Datenspeichervorrichtungen 2 verbunden, und in Übereinstimmung mit der Steuerung der Zentralsteuervorrichtung 10 liest diese die in den Datenspeichervorrichtungen 2 gespeicherten fortlaufenden Daten aus und schreibt sie an den vorgegebenen Adressen der vorgegebenen Pufferspeichervorrichtungen 8.
  • Im Falle einer Verwendung magnetischer Plattenvorrichtungen als die Datenspeichervorrichtungen 2 können die Datenspeicher-Steuervorrichtungen 4 als Plattencontroller verwirklicht sein. Falls die magnetischen Plattenvorrichtungen ein SCSI (Small Computer System Interface) aufweisen, können die Daten auf den Platten durch Bereitstellen von SCSI-Controllern in den Datenspeichervorrichtungen 4 ausgelesen werden.
  • Allgemein kann eine Vielzahl von durch die magnetischen Plattenvorrichtungen gebildeten Datenspeichervorrichtungen 2 mit den durch die Plattencontroller etc. gebildeten Datenspeicher-Steuervorrichtungen 4 verbunden sein. Im Falle einer Verwendung von SCSI-Schnittstellen können beispielsweise 7 Sätze von Plattenvorrichtungen mit einem SCSI-Kabelelement verbunden sein. Weiter kann eine Vielzahl von Datenspeichervorrichtungen 4 mit der Zentralsteuervorrichtung 10 verbunden sein. Indem eine Vielzahl von durch die Plattencontroller etc. gebildete Datenspeichervorrichtungen 4 vorliegt, können viele Datenspeichervorrichtungen 2, die nicht mittels einer einzelnen Datenspeicher-Steuervorrichtung 4 allein angeschlossen werden können, mit einer einzelnen Zentralsteuervorrichtung 10 verbunden werden.
  • Dabei ist es nicht notwendig, eine Anzahl von mit jeder Datenspeichervorrichtung 4 verbundenen Datenspeichervorrichtungen auszugleichen, sondern es kann eine Anzahl der Datenspeichervorrichtungen 2, die mit jeder Datenspeicher-Steuervorrichtung 4 verbunden ist, geeignet ausgewählt werden.
  • In diesem ersten Ausführungsbeispiel ist das wohlbekannte Verfahren zur Streifenbildung anwendbar. Im Falle einer Anwendung des Streifenbildens können die fortlaufenden Daten über alle Datenspeicher-Steuervorrichtungen 4 verteilt werden, wie in 5 gezeigt, oder es können die fortlaufenden Daten über einen Teil der Datenspeicher-Steuervorrichtungen 4 verteilt werden.
  • Jede Pufferspeichervorrichtung 8 ist eine Speichervorrichtung zum temporären Speichern der von der Datenspeicher-Steuervorrichtung 4 übertragenen fortlaufenden Daten, und diese kann aus einem Zweiportspeicher, einem VRAM, etc. aufgebaut sein, wie dies detailliert später erläutert wird.
  • Eine (oder möglicher Weise mehrere) der Pufferspeichervorrichtungen 8 wird für jede Kombination der Datenspeicher-Steuervorrichtung 4 und der Kommunikations-Steuervorrichtung 6 bereitgestellt und daran angeschlossen, wie in 5 in Übereinstimmung mit der vorliegenden Erfindung gezeigt.
  • In dieser Konfiguration von 5 kann die speziell bereitgestellte Pufferspeichervorrichtung 8 zur Verwendung beim Austauschen von Daten unter jeder Datenspeicher-Steuervorrichtung 4 und jeder Kommunikations-Steuervorrichtung 6 exklusiv für jede Kombination bereitgestellt sein, und sowohl der Datenpfad zwischen der Datenspeicher-Steuervorrichtung 4 und der Pufferspeichervorrichtung 8 als auch der Datenpfad zwischen der Pufferspeichervorrichtung 8 und der Kommunikations-Steuervorrichtung 6 sind gemultiplext, so dass die Datenübertragungsleistung dieser Datenpfade erhöht werden kann.
  • Zusätzlich, auch wenn die Busse mit der Datenübertragungsleistung (Bandbreite), die ähnlich zu den bekannten ist, als die Busse 20 und 21 verwendet werden und die jeweiligen Datenpfade definieren, kann die Datenübertragungsleistung zwischen der Datenspeicher-Steuervorrichtung 4 und der Kommunikations-Steuervorrichtung 6 stark erhöht werden, so dass sich keine Kostenerhöhung zum Zwecke einer Verbesserung der Datenübertragungsleistung unter Verwendung teurer Busse oder Vermittlungen mit einer größeren Datenübertragungsleistung (Bandbreite) im Vergleich zum herkömmlichen Fall einstellt.
  • Es wird darauf hingewiesen dass in 5 ein jeder der Busse 20 und 21 unabhängig von den anderen Bussen bereitgestellt ist, gesondert für jede der Datenspeichervorrichtungen 4 und der Kommunikations-Steuervorrichtungen 6, dass jedoch auch eine Vielzahl von Bussen 20 und 21, in 5 gezeigt, in vereinheitlichter Form bereitgestellt sein kann.
  • Die Kommunikations-Steuervorrichtung 6 liest die fortlaufenden Daten von den angegebenen Adressen der angegebenen Pufferspeichervorrichtungen 8 aus und überträgt diese auf einen Kommunikationspfad wie beispielsweise ein Netz oder ein Koaxialkabel eines CATV (Kabelfernsehen). Als die Kommunikations-Steuervorrichtung 6 kann das ATM (Asynchronous Transfer Mode, Asynchroner Übertragungsmodus)-Netz, das Ethernet, das FDDI (Fiber Distributed Data Interface, Faserverteilte Datenschnittstelle) etc. verwendet werden.
  • Die Zentralsteuervorrichtung 10 ist eine Vorrichtung zur Koordinierung der Steuerung des Systems insgesamt, und besteht aus einer CPU und einer Speichervorrichtung, ähnlich einem elektronischen Computer, als Beispiel, wobei dessen Funktionen durch ein Ausführen eines die Steuerung des Systems insgesamt beschreibenden Programms auf der CPU realisiert werden können. Sie kann mit einer Kommunikationsvorrichtung wie beispielsweise einer Netzschnittstelle ausgestattet sein, um die Zugriffsanfrage in Übereinstimmung mit Notwendigkeiten mitzuteilen. Somit kann die Zentralsteuervorrichtung die Zugriffsanfrage entweder direkt von außerhalb der Vorrichtung empfangen, oder über die Kommunikations-Steuervorrichtung 6.
  • Die Zentralsteuervorrichtung 10 verwaltet oder ist in Kenntnis aller Information im System wie beispielsweise der Spezifikation jeder in dem System gespeicherter fortlaufender Daten, des Anordnungszustands der fortlaufenden Daten auf den Speichervorrichtungen 2, des Kommunikationspfades, der mit jeder Kommunikations-Steuervorrichtung 6 verbunden werden kann, etc., um das System insgesamt zu steuern. Als Spezifikation der fortlaufenden Daten kann neben der Information zur Identifikation jedes fortlaufenden Datensatzes wie beispielsweise der Name oder ID-Code der fortlaufenden Daten eine Gesamtdatenmenge jedes fortlaufenden Datensatzes, eine Gesamtanzahl von Blöcken, falls die fortlaufenden Daten eine Vielzahl von Blöcken umfasst, etc. spezifiziert werden.
  • Grob gesagt lässt die Zentralsteuervorrichtung 10 die Zugriffsanfrage für die fortlaufenden Daten von einem Nutzer oder einem Anwendungsprogramm zu, mitgeteilt durch eine Kommunikation über ein Netz, eine Zwischenprozesskommunikation, oder einen Prozeduraufruf etc., überprüft die Datenspeicher-Steuervorrichtung 4 und die Kommunikations-Steuervorrichtung 8, die für eine Antwort auf diese Anfrage zu verwenden sind, und gibt an diese Befehle für die notwendigen Operationen zur Übertragung der angeforderten fortlaufenden Daten vom Kommunikationspfad in Richtung des angegebenen Übertragungsziels aus. Die Zentralsteuervorrichtung 10 weist die Datenspeicher-Steuervorrichtung 4 an, in welcher Datenspeichervorrichtung 2 gespeicherten fortlaufenden Daten zu welchen Adressen welcher Pufferspeichervorrichtung 8 zu übertragen sind, und die Zentralsteuervorrichtung 10 weist die Kommunikations-Steuervorrichtung 6 an, welche an welchen Adressen welcher Pufferspeichervorrichtung 8 angeordneten fortlaufenden Daten über den Kommunikationspfad wohin zu übertragen sind.
  • Als nächstes wird der Ablauf der Betriebsvorgänge der Servervorrichtung für fortlaufende Daten dieses ersten Ausführungsbeispiels beschrieben. Um die Erläuterung zu vereinfachen wird eine konkrete beispielhafte Konfiguration beschrieben, wie in 6 gezeigt, wobei 8 Sätze der Datenspeichervorrichtungen 2-1 bis 2-8, 4 Sätze der Datenspeicher-Steuervorrichtungen 4-1 bis 4-4, 8 Sätze der Pufferspeichervorrichtungen 8-1 bis 8-8 und 2 Sätze der Kommunikations-Steuervorrichtungen 6-1 bis 6-2 bereitgestellt sind.
  • Die in den Datenspeichervorrichtungen 2 gespeicherten fortlaufenden Daten sind Daten mit einer Struktur, bei der fortlaufende Bits oder Bytes angeordnet sind. Die fortlaufenden Daten werden in mehrere Blöcke unterteilt, wie beispielsweise 16 Blöcke B1 bis B16, wie beispielsweise in 7 gezeigt, und in den jeweiligen Datenspeichervorrichtungen 2-1 bis 2-8 in einer wie in 6 gezeigten Anordnung gespeichert. Dabei werden die 16 Blöcke B1 bis B16 auf solche Weise gespeichert, dass B1 und B9 in der Datenspeichervorrichtung 2-1 liegen, B2 und B10 in der Datenspeichervorrichtung 2-2 liegen, ... und B8 und B16 in der Datenspeichervorrichtung 2-8 liegen. Dieses Verfahren zum Speichern der fortlaufenden Daten wird als Streifenbildung bezeichnet, wie bereits oben erwähnt, und was als Verfahren bekannt ist, um es einer Vielzahl von Nutzern zu ermöglichen, gleichzeitig auf identische Daten Zugriff zu ermöglichen.
  • Im Falle eines Aufteilens der fortlaufenden Daten in eine Vielzahl von Blöcken zur Durchführung des Streifenbildens, gibt es verschiedene Verfahren bezüglich einer Auswahl einer Unterteilungseinheit, wie beispielsweise ein Verfahren zum Unterteilen der fortlaufenden Daten in einer Einheit einer bestimmten Größe, ein Verfahren, bei dem eine Einheit einer bestimmten Größe zum Unterteilen der fortlaufenden Daten eingestellt ist als eine Größe gleich einer Einheit zum Lesen der Plattenvorrichtung, die für die Datenspeichervorrichtung 2 verwendet wird, ein Verfahren, bei dem die fortlaufenden Daten wie beispielsweise Sprachdaten oder Videodaten in einer Einheit entsprechend einer bestimmten Abspielzeit von Sprachdaten und Videodaten unterteilt sind, und ein Verfahren, bei dem die fortlaufenden Daten in einer Datenstruktur des MPEG (Motion Picture Experts Group) bereitgestellt sind und an einer Begrenzung geteilt sind, die für die Datenstruktur von MPEG bedeutsam ist, wie beispielsweise an einer GOP (Group of Pictures, Gruppe von Bildern).
  • Es wird darauf hingewiesen, dass 6 einen beispielhaften Fall zur Speicherung eines fortlaufenden Datensatzes, in 7 gezeigt, zeigt, durch Ausführen des Streifenbildens mit der Datenspeichervorrichtung 2, dass jedoch in der Praxis eine Vielzahl von fortlaufenden Daten (Sätzen) in Blockeinheiten in den Datenspeichervorrichtungen 2 des Serversystems für fortlaufende Daten auf ähnliche Weise zu der in 6 gezeigten gespeichert werden kann.
  • Nunmehr wird der Betrieb in einem beispielhaften Fall beschrieben, in dem eine Zugriffsanfrage für die fortlaufenden Daten von 7 an das Serversystem für fortlaufende Daten in einer Konfiguration von 6 über das Netzwerk etc. ausgegeben wird, und diese Anfrage der Zentralsteuervorrichtung 10 mitgeteilt wird, in Zusammenhang mit der Zugriffsanfrage für einen Satz fortlaufender Daten. Der Betrieb der Zentralsteuervorrichtung 10 in diesem Fall wird in Übereinstimmung mit dem Flussdiagramm von 8 wie folgt ausgeführt.
  • Es wird darauf hingewiesen, dass hier eine Gruppe von gleichzeitig zu handhabenden Blöcken, wie beispielsweise Blöcke B1, B2, B3 und B4 als Blockgruppe bezeichnet wird.
  • Weiter werden zwei Pufferbereiche, in den Pufferspeichervorrichtungen 8-1 bis 8-8 bereitgestellt, die als Doppelpuffer zu verwenden sind, als ein Puffer A und ein Puffer B bezeichnet, wie in 6 gezeigt.
  • Zuerst weist die Zentralsteuervorrichtung 10 die Datenspeicher-Steuervorrichtung 4-1 bis 4-4 an, die oberste Blockgruppe der fortlaufenden Daten, angefordert durch eine Zugriffsanfrage, in den Puffer A der Pufferspeichervorrichtungen 8-1 bis 8-4 auszulesen (Schritt S1). Dabei weist die Zentralsteuervorrichtung 10 die Datenspeichervorrichtungen 4-1 bis 4-4 an, die jeweiligen obersten Blöcke B1, B2, B3 und B4 auszulesen, und diese an die vorgegebenen Adressen (Puffer A) der Pufferspeichervorrichtung 8-1 bis 8-4 zu schreiben.
  • Wenn dieses Lesen der Blöcke B1 bis B4 in dem Puffer A durch die jeweiligen Datenspeichervorrichtungen 4-1 bis 4-4 beendet ist (Schritt S2 JA), werden die Blöcke B1, B2, B3 und B4 der fortlaufenden Daten in die Pufferspeichervorrichtungen 8-1 bis 8-4 jeweilig eingeschrieben, wie in 9 gezeigt.
  • Wenn die Blöcke B1, B2, B3 und B4 in die Pufferspeichervorrichtungen 8-1 bis 8-4 eingeschrieben sind, gibt die Zentralsteuervorrichtung 10 einen Befehl zur Übertragung der Blöcke B1 bis B4, eingeschrieben in die Pufferspeichervorrichtung 8-1 bis 8-4 in einer Reihe an die Kommunikations-Steuervorrichtung 6-1 (Schritt S3) aus.
  • Die Kommunikations-Steuervorrichtung 6-1 überträgt dann die in die spezifizierten Pufferspeichervorrichtungen 8-1 bis 8-4 eingeschriebenen Daten an das angegebene Übertragungsziel. Falls die Kommunikations-Steuervorrichtung 6 ein Netzwerk ist, wie beispielsweise das Ethernet, wird der Inhalt des Blockes an die angegebene Adresse in Form eines Pakets übertragen. Falls die Kommunikations-Steuervorrichtung 6 ähnlich einem Kabelfernseh-Koaxialkabel ist, werden die angegebenen Daten in einer Abfolge mit einer vorgegebenen Übertragungsrate übertragen.
  • Als nächstes, während die Kommunikations-Steuervorrichtung 6-1 die Blöcke B1, B2, B3 und B4 in einer Abfolge überträgt, weist die Zentralsteuervorrichtung 10 die Datenspeicher-Steuervorrichtungen 4-1 bis 4-4 an, die jeweiligen nächsten Blöcke B5, B6, B7 und B8 auszulesen, und diese an die angegebene Adresse (Puffer B) der Pufferspeichervorrichtungen 8-1 bis 8-4 zu schreiben, wobei sich diese von den vorhergehend angegebenen unterscheiden (Schritt S4).
  • Wenn dieses Lesen der Blöcke B5 bis B8 in den Puffer B der jeweiligen Datenspeicher-Steuervorrichtungen 4-1 bis 4-4 beendet ist (Schritt S6 JA), werden die Inhalte der jeweiligen Pufferspeichervorrichtungen 8-1 bis 8-4 zu dem, was in 10 angegeben ist.
  • Wenn auf der anderen Seite die Übertragung der Blöcke B1, B2, B3 und B4 vom Puffer A durch die Kommunikations-Steuervorrichtung 6-1 beendet ist (Schritt S5 JA), gibt die Zentralsteuervorrichtung 10 einen Befehl zur Übertragung der nächsten Blockgruppe, Blöcke B5 bis B8, aus, in einer Abfolge von dem Puffer B der Pufferspeichervorrichtungen 8-1 bis 8-4, an die Kommunikations-Steuervorrichtung 6-1 (Schritt S7).
  • Während die Kommunikations-Steuervorrichtung 6-1 die Blöcke B5, B6, B7 und B8 überträgt, weist die Zentralsteuervorrichtung 10 die Datenspeicher-Steuervorrichtungen 4-1 bis 4-4 and, die jeweiligen nächsten Blöcke B9, B10, B11 und B12 in den Puffer A der Pufferspeichervorrichtungen 8-1 bis 8-4 zu lesen (Schritt S8).
  • Wenn das Lesen der Blöcke B9 bis B12 in den Puffer A der jeweiligen Datenspeichervorrichtungen 4-1 bis 4-4 beendet ist, werden die Inhalte der Pufferspeichervorrichtungen 8-1 bis 8-4 zu dem, was in 11 gezeigt ist.
  • Dann wird, nachdem die Übertragung der Blöcke B5, B6, B7 und B8 vom Puffer B durch die Kommunikations-Steuervorrichtung 6-1 beendet ist (Schritt S9 JA), der oben beschriebene Betrieb wiederholt ausgeführt, bis die Übertragung der fortlaufenden Daten beendet ist.
  • Es wird darauf hingewiesen, dass im Flussdiagramm von 8, oben erläutert, die Schritte S5 und S6 ausgetauscht werden können.
  • Zur Vereinfachung der Erläuterung wurde im Obigen der Ablauf für einen vereinfachten Fall einer Antwort auf eine Anfrage von einem Nutzer beschrieben, wobei eine Datenspeicher-Steuervorrichtung 4 nur das Auslesen eines fortlaufenden Datensatzes ausführt, eine Pufferspeichervorrichtung 8 nur Blöcke eines fortlaufenden Datensatzes speichert, und eine Kommunikations-Steuervorrichtung 6 nur die Übertragung eines fortlaufenden Datensatzes ausführt. Das Serversystem für fortlaufende Daten des ersten Ausführungsbeispiels ist jedoch dazu in der Lage, auf die Anfragen von einer Vielzahl von Nutzern gleichzeitig einzugehen, und solch ein generalisierter Betrieb kann einfach dadurch realisiert werden, dass die Zentralsteuervorrichtung 10 veranlasst wird, den Gesamtdatenfluss zu steuern, so dass eine Datenspeichersteuervorrichtung 4 das Lesen einer Vielzahl von fortlaufenden Datensätzen gleichzeitig ausführen kann, eine Kommunikations-Steuervorrichtung 6 kann für die Übertragung der Blöcke einer Vielzahl von fortlaufenden Datensätzen auf gleichzeitige Art und Weise verantwortlich sein, oder eine jede Pufferspeichervorrichtung 8 kann die Blöcke einer Vielzahl von fortlaufenden Datensätzen gleichzeitig speichern.
  • Als nächstes wird das Pufferverwaltungsverfahren in diesem ersten Ausführungsbeispiel erläutert.
  • Bei dem Serversystem für fortlaufende Daten von 6 wird für die Pufferspeichervorrichtung 8 zwischen der Datenspeicher-Steuervorrichtung 4 und der Kommunikations-Steuervorrichtung 6 das in 12 gezeigte Verwaltungsverfahren verwendet. Dabei schreiben in 12, während die Kommunikations-Steuervorrichtung 6-1 Daten von Bereichen R1, R2, R3 und R4 auf der A-Seite der Pufferspeichervorrichtungen 8-1 bis 8-4 ausliest und überträgt, die Datenspeicher-Steuervorrichtungen 4-1 bis 4-4 Daten in Bereichen R5, R6, R7 und R8 auf der B-Seite der Pufferspeichervorrichtungen 8-1 bis 8-4. Wenn die Kommunikations-Steuervorrichtung 6-1 die Übertragung von Daten in Bereichen R1, R2, R3 und R4 auf der A-Seite der Pufferspeichervorrichtungen 8-1 bis 8-4 beendet, werden die Rollen der Bereiche R1, R2, R3 und R4 und der Bereiche R5, R6, R7 und R8 auf den Pufferspeichervorrichtungen 8-1 bis 8-4 gewechselt, sodass die Datenspeicher-Steuervorrichtung 4-1 bis 4-4 Daten in die Bereiche R1, R2, R3 und R4 auf der A-Seite der Pufferspeichervorrichtungen 8-1 bis 8-4 schreibt, und die Kommunikations-Steuervorrichtung 6-1 Daten von den Bereichen R5, R6, R7 und R8 auf der B-Seite der Pufferspeichervorrichtungen 8-1 bis 8-4 ausliest und überträgt.
  • Dieses Pufferverwaltungsverfahren ist im Falle eines Verwendens des RAID-Verfahrens bei den Datenspeicher-Steuervorrichtungen 4-1 bis 4-4 effektiv. Das RAID-Verfahren ist ein Verfahren zur Handhabung einer Fehlfunktion der Plattenvorrichtung unter Verwendung des Streifenbildungsverfahrens. Dabei wird beim RAID-Verfahren, wenn die Streifenbildung auf n Sätze von Plattenvorrichtungen angewendet wird, ein exklusiv ODER der in diesen n-Sätzen von Platten gespeicherten Daten erlangt und als Parität in der (n + 1)-ten Platte gespeichert. Auf diese Weise wird es auch dann, wenn eine dieser n + 1 Sätze von Plattenvorrichtungen fehlerhaft wird, möglich, die aufgrund der fehlerhaften Plattenvorrichtungen verlorenen Daten durch eine Berechnung des exklusiv ODER der Daten der anderen Plattenvorrichtungen wiederzugewinnen.
  • Auf der anderen Seite, falls das RAID-Verfahren mit der Vielzahl von Datenspeichervorrichtungen 4 nicht verwendet wird, ist es auch möglich, ein einfacheres Pufferverwaltungsverfahren zu verwenden, wie in 13 gezeigt. Dabei führt, während die Kommunikations-Steuervorrichtung 6-1 die Übertragung von Daten von dem Bereich R1 auf der Pufferspeichervorrichtung 8-1 ausführt, die Datenspeicher-Steuervorrichtung 4-2 das Lesen von Daten auf den Bereich R2 der Pufferspeichervorrichtung 8-2 aus. Weiter, während die Kommunikations-Steuervorrichtung 6-1 die Übertragung von Daten vom Bereich R2 auf der Pufferspeichervorrichtung 8-2 ausführt, führt die Datenspeicher-Steuervorrichtung 4-1 das Lesen von Daten auf den Bereichen R3 der Pufferspeichervorrichtung 8-3 durch. Ähnlich führt die Datenspeicher-Steuervorrichtung 4-4 das Lesen von Daten auf dem Bereich R4 der Pufferspeichervorrichtung 8-4 aus, während die Kommunikations-Steuervorrichtung 6-1 die Übertragung von Daten von dem Bereich R3 auf der Pufferspeichervorrichtung 8-3 ausführt. Solch ein Betrieb wird nachfolgend in Übereinstimmung mit diesem Pufferverwaltungsverfahren wiederholt ausgeführt.
  • Weiter ist es im Falle eines Verwendens des RAID auch möglich, das in 14 gezeigte Pufferverwaltungsverfahren zu verwenden. In 14 wird angenommen, dass die Datenspeichersteuervorrichtungen 4-1 bis 4-4 eine Gruppe für das RAID bilden, und dass zusätzlich die Datenspeichervorrichtungen 4-5 bis 4-8 eine weitere Gruppe für das RAID bilden. In diesem Fall, während die Kommunikations-Steuervorrichtung 6-1 Daten von den Bereichen R1, R2, R3 und R4 der Pufferspeichervorrichtungen 8-1 bis 8-4 überträgt, führen die Datenspeicher-Steuervorrichtungen 4-5 bis 4-8 das Lesen von Daten in die Bereiche R5, R6, R7 und R8 der Pufferspeichervorrichtungen 8-5 bis 8-8 durch. Wenn die Übertragung der Daten von den Bereichen R1, R2, R3 und R4 beendet ist, führen andererseits, während die Kommunikations-Steuervorrichtung 6-1 Daten von den Bereichen R5, R6, R7 und R8 der Pufferspeichervorrichtungen 8-5 bis 8-8 überträgt, die Datenspeichervorrichtungen 4-1 bis 4-4 das Lesen von Daten in die Bereiche R1, R2, R3 und R4 der Pufferspeichervorrichtungen 8-1 bis 8-4 durch.
  • Wie oben beschrieben ist bei der Servervorrichtung für fortlaufende Daten des ersten Ausführungsbeispiels für jedes Paar der Datenspeichersteuervorrichtung und der Kommunikationssteuervorrichtung die für den Datenaustausch dazwischen zugeordnete Pufferspeichervorrichtung bereitgestellt, sodass es möglich ist, ein Multiplexniveau für den Datenpfad zwischen der Datenspeicher-Steuervorrichtung und der Pufferspeichervorrichtung wie auch für den Datenpfad zwischen der Pufferspeichervorrichtung und der Kommunikationssteuervorrichtung zu erhöhen, und es wird möglich, eine Anzahl von Nutzern zu erhöhen, die gleichzeitig Zugriffe auf die fortlaufenden Daten tätigen kann.
  • Es ist effizienter, jede Datenspeicher-Steuervorrichtung und jede Kommunikations-Steuervorrichtung nur mit den Pufferspeichervorrichtungen zu verbinden, bei denen eine Notwendigkeit für Zugriffe von diesen besteht, da es jedem Datenpfad möglich wird, den Bus exklusiv zu verwenden.
  • Herkömmlicher Weise war es in Fällen, bei den versucht wurde, eine ähnliche Datenübertragungsleistung wie im ersten Ausführungsbeispiel zu erreichen, notwendig, identische fortlaufende Daten in vielen Datenspeichervorrichtungen zu speichern, oder die teure Vermittlung beziehungsweise das teure Netzwerk zu nutzen, wie beispielsweise die Crossbar- Vermittlung oder ATM, sodass dies sehr kostenintensiv war. Dagegen müssen in Übereinstimmung mit diesem Ausführungsbeispiel nur die Pufferspeichervorrichtungen in Matrixform mit Bezug auf die Datenspeicher-Steuervorrichtungen und die Kommunikations-Steuervorrichtungen angeschlossen werden, sodass es keine Notwendigkeit für eine spezialisierte Vermittlung oder Netzwerk besteht, und es gibt weiter keine Notwendigkeit dafür, dass Kopien der fortlaufenden Daten in vielen Datenspeichervorrichtungen bereitgestellt sind.
  • Weiter bestand im Falle eines Anschließens einer Vielzahl von Datenspeicher-Steuervorrichtungen und den Pufferspeichervorrichtungen unter Verwendung der Crossbar-Vermittlung, wie im herkömmlichen Fall, eine Notwendigkeit einer Schaltung, um die gleichzeitigen Schreibvorgänge zu der Pufferspeichervorrichtung von einer Vielzahl von Datenspeicher-Steuervorrichtungen zu verhandeln, wobei dagegen in diesem ersten Ausführungsbeispiel die Pufferspeichervorrichtungen diese Funktion wahrnehmen, so dass keine Notwendigkeit für eine Bereitstellung einer Verhandlungsschaltung besteht.
  • Aus diesen Gründen ist es in Übereinstimmung mit diesem ersten Ausführungsbeispiel möglich, die Servervorrichtung für fortlaufende Daten zum Durchführen der gleichzeitigen Übertragung vieler fortlaufender Datensätze bei geringeren Kosten im Vergleich mit dem herkömmlichen Fall aufzubauen.
  • Zusätzlich ist jede Pufferspeichervorrichtung mit einer Datenspeicher-Steuervorrichtung und einer Kommunikations-Steuervorrichtung verbunden, sodass ein Vorteil darin besteht, dass die Verhandlung für die Zugriffe auf die Pufferspeichervorrichtung sehr einfach wird.
  • Darüber hinaus besteht in einem Fall eines Speicherns der fortlaufenden Daten durch ein Steifenbilden mit diesen über den durch eine Vielzahl von Datenspeicher-Steuervorrichtungen verwalteten Datenspeichervorrichtungen eine Notwendigkeit dafür, die mit der Streifenbildung verbundenen fortlaufenden Daten an einer Kommunikations-Steuervorrichtung über die Pufferspeichervorrichtungen zusammenzuführen. In dieser Hinsicht dient bei der Servervorrichtung für fortlaufende Daten dieses ersten Ausführungsbeispiels die Pufferspeichervorrichtung nicht nur als einfacher Pufferspeicher, sondern auch als die Crossbar-Vermittlung zum Verbinden der Datenspeicher-Steuervorrichtung und der Kommunikations-Steuervorrichtung.
  • Als nächstes wird eine beispielhafte Konfiguration mit Bezug auf 15 erläutert, bei der die Servervorrichtung für fortlaufende Daten von 5 erweitert ist.
  • Die oben beschriebene Konfiguration von 5 ist eine Konfiguration, bei der nur ein Satz einer Datenspeicher-Steuervorrichtung 4 mit dem Bus 20 verbunden ist, m Sätze von Pufferspeichervorrichtungen 8 und die Datenspeicher-Steuervorrichtung 4 verbindend, und nur ein Satz von einer Kommunikations-Steuervorrichtung 6 ist mit dem Bus 21 verbunden, n Sätze von Pufferspeichervorrichtungen 8 und die Kommunikations-Steuervorrichtung 6 verbindend, es ist jedoch die vorliegende Erfindung auch auf einen Fall anwendbar, bei dem der Bus 20 durch eine Vielzahl von Datenspeicher-Steuervorrichtungen 4 gemeinsam genutzt wird, oder auf einen Fall, in dem der Bus 21 durch eine Vielzahl von Kommunikations-Steuervorrichtungen 6 gemeinsam genutzt wird. Es ist weiter möglich, eine in 15 gezeigte Konfiguration zu verwenden, bei der der Bus 20 durch eine Vielzahl von Datenspeichervorrichtungen 4 gemeinsam genutzt wird, während der Bus 21 durch eine Vielzahl von Kommunikations-Steuervorrichtungen 6 gemeinsam genutzt wird. Mit anderen Worten bilden in dieser Konfiguration von 15 eine Vielzahl von Datenspeicher-Steuervorrichtungen 4 eine Datenspeicher-Steuereinheit 4A, und jede Datenspeicher- Steuereinheit 4A ist mit dem Bus 20 verbunden, m Sätze von Pufferspeichervorrichtungen 8 und die Datenspeicher-Steuervorrichtungen 4 dieser Datenspeicher-Steuereinheit 4A verbindend, sodass die m Sätze von Pufferspeichervorrichtungen 8 in Entsprechung zu jeder Datenspeicher-Steuereinheit 4A analog zur Konfiguration von 5 bereitgestellt sind.
  • Es wird darauf hingewiesen dass in 15 die gleiche Art und Weise eines gemeinsam Nutzens für alle Busse verwendet wird, es jedoch auch möglich ist, geeignet eine Anzahl von Datenspeicher-Steuervorrichtungen 4 oder Kommunikations-Steuervorrichtungen 6 vorzusehen, die für jeden Bus anzuschließen sind. Weiter können die Pufferspeichervorrichtungen 8, exklusiv zur Verwendung durch n-Sätze von Speichersteuervorrichtungen 4 und m Sätze von Kommunikations-Steuervorrichtungen 6, und die Pufferspeichervorrichtung 8, exklusiv zu nutzen durch l-Sätze von Speichersteuervorrichtungen 4 (l ≠ n) und k-Sätze von Kommunikations-Steuervorrichtungen 6 (k ≠ m) gemischt vorhanden sein können.
  • Bei dieser beispielhaften Konfiguration von 15 weist die Zentralsteuervorrichtung 10a eine ähnliche Funktion wie die Zentralsteuervorrichtung 10 in der Konfiguration von 5, oben beschrieben, auf. Der Bus 20 weist eine Funktion auf zum Durchführen der Verhandlung in einem Fall eines Auftretens eines Konflikts von Zugriffen unter den Datenspeicher-Steuervorrichtungen 4, die mit diesem Bus 20 verbunden sind. Der Bus 21 weist eine Funktion zur Durchführung der Verhandlung in einem Fall eines Auftretens eines Konflikts von Zugriffen unter den Kommunikations-Steuervorrichtungen 6 auf, die mit diesem Bus 21 verbunden sind.
  • Als nächstes wird eine weitere beispielhafte Konfiguration mit Bezug auf 16 beschrieben, bei der die Servervorrichtung für fortlaufende Daten von 15 weiter erweitert ist.
  • Bei dieser Servervorrichtung für fortlaufende Daten von 16 sind eine Vielzahl von Bussen 20 zum Verbinden der Datenspeicher-Steuervorrichtungen 4 und der Pufferspeichervorrichtungen 8 zusammengebündelt, und diese Busse 20 sind mit jeder Pufferspeicher-Steuervorrichtung 8 über einen Selektor 23 verbunden. Der Selektor 23 dient einem selektiven Verbinden eines Busses 20 mit der Pufferspeichervorrichtung 8 zu einem gegebenen Zeitpunkt, um die Zugriffsanfragen für die Pufferspeichervorrichtung 8 von einer Vielzahl von Bussen 20, die mit der Datenspeicher-Steuervorrichtung 4 verbunden sind, zu verhandeln. Damit ist es einer Vielzahl von mit den Datenspeicher-Steuervorrichtungen 4 verbundenen Bussen 20 möglich, eine Pufferspeichervorrichtung 8 gemeinsam zu nutzen. Mit anderen Worten bilden bei dieser Konfiguration von 16 eine Vielzahl von Datenspeicher-Steuervorrichtungen 4 eine Datenspeicher-Steuereinheits-Untergruppe 4B, während eine Vielzahl von Datenspeicher-Steuereinheits-Untergruppen 4B eine Datenspeicher-Steuereinheitsgruppe 4C bilden, und wobei jede Datenspeicher-Steuereinheits-Untergruppe 4B mit einem jeden Bus 20 verbunden ist, der m-Sätze von Pufferspeichervorrichtungen 8 und die Datenspeicher-Steuervorrichtungen 4 einer jeden Datenspeicher-Steuereinheits-Untergruppe 4B verbindet, so dass die m-Sätze von Pufferspeichervorrichtungen 8 in Entsprechung zu jeder Datenspeicher-Steuereinheitsgruppe 4C analog zur Konfiguration von 5 bereitgestellt sind.
  • Der Pufferbereich auf der Pufferspeichervorrichtung 8 kann zirkulierend durch ein gemeinsames Nutzen für eine Vielzahl von Strömen verwendet werden, oder kann dadurch genutzt werden, dass der Pufferbereich einem jeden Strom fest zugeordnet wird. Im Falle einer zirkulierenden Verwendung des Pufferbereichs von unterschiedlichen Strömen besteht eine Notwendigkeit einer Planung, damit sich eine Zeitspanne von einem Beginn zu einem Ende der Verwendung des Pufferbereichs durch jeden Strom der Ströme nicht überlappt, jedoch wird diese Planung in dem Fall sehr einfach, wenn ein Strom den gleichen Pufferbereich belegen kann. Aus diesem Grund ist es vom Standpunkt der Pufferverwaltung aus gesehen vorzuziehen, den Pufferbereich auf der Pufferspeichervorrichtung 8 zirkulierend unter den gleichen Strömen zu verwenden. Um dieses zu realisieren ist es jedoch nötig, wann immer eine Anzahl der Busse 20, die die Datenspeicher-Steuervorrichtungen 4 und die Pufferspeichervorrichtungen 8 verbinden, erhöht wird, eine Kapazität der Pufferspeichervorrichtung 8 proportional zu erhöhen. In Hinblick auf diese Tatsache ist es möglich, eine Erhöhung einer Kapazität der Pufferspeichervorrichtung 8 zu verhindern, indem die Pufferspeichervorrichtung 8 von einer Vielzahl von Bussen 20 gemeinsam genutzt wird, wie in 16 gezeigt.
  • Es wird darauf hingewiesen, dass nur ein Satz der Kommunikations-Steuervorrichtung 6 mit dem Datenpfad 21 verbunden sein kann, oder dass der Datenpfad 21 durch eine Vielzahl von Kommunikations-Steuervorrichtungen 6 gemeinsam genutzt wird, wie in 16 gezeigt. Auf ähnliche Weise könnte nur ein Satz der Datenspeicher-Steuervorrichtung 4 mit dem Datenpfad 20 verbunden sein, oder es könnte der Datensatz 20 durch eine Vielzahl von Datenspeicher-Steuervorrichtungen 4 gemeinsam genutzt werden, wie in 16 gezeigt. Weiter kann die Pufferspeichervorrichtung 8 zur exklusiven Verwendung durch n-Sätze von Datenspeicher-Steuervorrichtungen 4 und m-Sätze von Kommunikations-Steuervorrichtungen 6, und die Pufferspeichervorrichtung 8 zur exklusiven Verwendung durch l-Sätze von Speichervorrichtungen 4 (l ≠ n) und k-Sätze von Kommunikations-Steuervorrichtungen 6 (k ≠ m), gemischt vorhanden sein.
  • Bei dieser beispielhaften Konfiguration von 16 weist die Zentralsteuervorrichtung 10b eine ähnliche Funktion wie die Zentralsteuervorrichtung 10 in der Konfiguration von 5, oben beschrieben, auf.
  • Als nächstes wird eine detaillierte Konfiguration der Pufferspeichervorrichtung 8 beschrieben, geeignet für die Servervorrichtung für fortlaufende Daten dieses ersten Ausführungsbeispiels.
  • Die Pufferspeichervorrichtung 8 ist ein Speicher, der einen Port aufweist, zur Verwendung für das Datenschreiben durch die Datenspeicher-Steuervorrichtung 4, und einen Port, zur Verwendung für das Datenlesen durch die Kommunikations-Steuervorrichtung 6.
  • Für diese Pufferspeichervorrichtung 8 kann ein Zweiportspeicher (Speicher mit zwei Eingängen bzw. Anschlüssen) verwendet werden. Beispielsweise, wie in 17 gezeigt, weist der Zweiportspeicher 30 Anschlüsse zur Angabe von Adressen und Daten für das Schreiben durch die Datenspeicher-Steuervorrichtung 4 und einen Steueranschluss zum Schreiben, zur Chipauswahl, etc., falls notwendig, auf, wie auch Anschlüsse zum Angeben von Adressen und Daten für das Lesen durch die Kommunikations-Steuervorrichtung 6 und einen Steueranschluss für eine Chipauswahl, etc., falls notwendig.
  • Dieser Zweiportspeicher 30 ist ein Speicher, der einen Schreibport und einen Leseport aufweist, sodass der weitverbreitet verwendete Zweiportspeicher mit zwei Lese- und Schreibports genutzt werden kann, unter Verwendung eines Ports für ausschließliches Schreiben und eines weiteren Ports für ausschließliches Lesen, sodass die Funktion äquivalent zu dem Zweiportspeicher 30 von 17 einfach realisiert werden kann. Daneben sind eine Anzahl anderer Verfahren zum Aufbau dieses Zweiportspeichers 30 verfügbar.
  • Beispielsweise zeigt 18 ein Verfahren zum Aufbau des Zweiportspeichers 30 unter Verwendung eines gewöhnlichen Einportspeichers. Entweder die Schreibanfrage von der Datenspeicher-Steuervorrichtung oder die Leseanfrage von der Kommunikations-Steuervorrichtung wird einem Speicher 71 durch Verhandlung mittels eines Speichercontrollers 70 wie beispielsweise einer FPGA (Field Programmable Gate Array) spezifiziert. Falls zwei Zugriffsanfragen in Konflikt zueinander stehen, wird einer von ihnen in Warteposition gehalten.
  • 19 zeigt ein Verfahren zum Aufbau des Zweiportspeichers unter Verwendung von zwei gewöhnlichen Einportspeichern, wobei im wesentlichen ähnlich wie im Beispiel von 18 entweder die Schreibanfrage von der Datenspeicher-Steuervorrichtung oder die Leseanfrage von der Kommunikations-Steuervorrichtung einem Speicher 81 und einem Speicher 82 durch Verhandlung mittels eines Speichercontrollers 80 wie beispielsweise einem FPGA vorgegeben wird. Dieses Verfahren ist zu dem vorhergehenden Verfahren auch darin ähnlich, dass, falls zwei Zugriffsanfragen in Konflikt stehen, eine von diesen in Warteposition gehalten wird. Es werden jedoch in diesem Verfahren zwei Speicher 81 und 82 verwendet, sodass auch dann, wenn einer von ihnen in Benutzung ist, eine Zugriffsanfrage zu einem weiteren akzeptiert wird und der Zugriff gleichzeitig ausgeführt werden kann, sodass es möglich ist, eine Wahrscheinlichkeit zu reduzieren, dass eine dieser aufgrund des Konflikts zwischen zwei gleichzeitig auftretenden Zugriffsanfragen in Warteposition gehalten wird.
  • Es sollte sich ergeben, dass im Zweiportspeicher 30 von 17, 18 oder 19 die Geschwindigkeit des Lesens oder Schreibens verbessert werden kann, indem eine Struktur mit multiplen Bänken und ein Verschachteln der Daten verwendet wird, genauso wie im Falle des gewöhnlichen Speichers.
  • Nunmehr wird eine beispielhafte Konfiguration unter Verwendung des oben beschriebenen Zweiportspeichers 30 als Pufferspeichervorrichtung der Servervorrichtung für fortlaufende Daten mit Bezug auf 20 beschrieben. In 20 sind jedoch die Datenspeichervorrichtungen 2 und die Zentralsteuervorrichtung 10 ausgelassen. Ein Symbol Mi, j (i = 1 bis n, j = 1 bis m), eingeschrieben in einem Block des Zweiportspeichers 30 in 20, zeigt an, dass dieser Zweiportspeicher 30 exklusiv mit der Datenspeicher-Steuervorrichtung 4-i und der Kommunikations-Steuervorrichtung 6-j verbunden ist.
  • Von der Datenspeicher-Steuervorrichtung 4-i kann das Schreiben mit Bezug die Pufferspeichervorrichtungen Mi,1, Mi,2, ..., Mi,m getätigt werden. An dieser Stelle kann der von der Datenspeichervorrichtung 4-i aus gesehene Adressraum konfiguriert sein, wie in 21 gezeigt, beispielsweise sodass Mi,1, Mi,2, ..., Mi,m der passenden Adresse zugeordnet wird.
  • Auf der anderen Seite kann von der Kommunikations-Steuervorrichtung 6-j das Lesen mit Bezug auf die Pufferspeichervorrichtungen M1,j, M2,j, ..., Mn,j getätigt werden. An dieser Stelle kann der von der Kommunikations-Steuervorrichtung j aus gesehene Adressraum konfiguriert sein, wie dies in 22 gezeigt ist, beispielsweise derart, dass M1,j, M2,j, ..., Mn,j auf die passenden Adressen abgebildet werden.
  • Als nächstes wird ein Verfahren zum Aufbau der Pufferspeichervorrichtung im Falle einer Verwendung des Zweiportspeichers 30a, wie in 23 gezeigt, detailliert erläutert.
  • Der Zweiportspeicher 30a von 23 weist einen Adressanschluss Ain auf, einen Datenanschluss Din und einen Schreibsignalanschluss W zum Schreiben von der Datenspeicher-Steuervorrichtung 4, und auch einen Adressanschluss Aout und einen Datenanschluss Dout zum Lesen von der Kommunikations-Steuervorrichtung 6. Jeder der Anschlüsse Ain, Din, Aout und Dout weist in der Praxis eine Breite einer Vielzahl von Bits auf.
  • Eine beispielhafte Verbindung der Datenspeicher-Steuervorrichtung der Pufferspeichervorrichtungen für diesen Fall ist in 24 gezeigt, der im wesentlichen ein Auszug eines Abschnitts der Konfiguration von 20, oben beschrieben, ist.
  • In 24 wird die durch den Zweiportspeicher 30a von 23 gebildete Pufferspeichervorrichtung verwendet, und die Zweiportspeicher Mi,1, Mi,2, und Mi,3, sind die, die mit Bezug auf die jeweiligen Paare der Datenspeicher-Steuervorrichtung 4-i (nicht gezeigt und drei Kommunikations-Steuervorrichtungen 6-1, 6-2 und 6-3 (nicht gezeigt) bereitgestellt sind. In 24 sind weiter ein Decoder 32 und drei UND Schaltungen 36, 37 und 38 in Entsprechung zu drei Zweiportspeichern 30a bereitgestellt.
  • In dieser Konfiguration von 24 wird die obere Adresse durch den Decoder 32 decodiert, während die Zweiportspeicher Mi,1, Mi,2 und Mi,3 entsprechend auf unterschiedliche Adressen eingestellt sind, und nur dann, wenn ein Schreibsignal für eine Adresse aktiv gestellt ist, auf die die Zweiportspeicher Mi,1, Mi,2 und Mi,3 abgebildet sind, wird der W-Anschluss des entsprechenden Zweiportspeichers 30a aktiv, und das Schreiben wird an diesem Zweiportspeicher 30a durchgeführt.
  • Auf der anderen Seite ist eine beispielhafte Verbindung der Kommunikations-Steuervorrichtung und der Pufferspeichervorrichtungen für diesen Fall in 25 gezeigt, der auch im wesentlichen ein Auszug eines Abschnitts der Konfiguration von 20, oben beschrieben, ist.
  • In 25 wird die durch den Zweiportspeicher 30a von 23 gebildete Pufferspeichervorrichtung verwendet, und die Zweiportspeicher M1,j, M2,j, M3,j und M4,j sind die, die mit Bezug auf die jeweiligen Paare von vier Datenspeicher-Steuervorrichtungen 4-1, 4-2, 4-3 und 4-4 (nicht gezeigt) und die Kommunikations-Steuervorrichtungen 6-j (nicht gezeigt) bereitgestellt sind. In 25 sind weiter ein Decoder 40 und vier Torschaltungen 45, 46, 47 und 48 entsprechend vier Zweiportspeichern 30a bereitgestellt.
  • In dieser Konfiguration von 25 wird die obere Adresse durch den Decoder 40 decodiert, und wenn eine Adresse ausgewählt wird, auf die ein jeder der Zweiportspeicher M1,j, M2,j, M3,j, und M4,j abgebildet ist, werden die Daten von diesem Zweiportspeicher 30a zur Kommunikations-Steuervorrichtung 6-j gesendet.
  • Im Falle eines Anwendens des RAID-Verfahrens auf die Servervorrichtung für fortlaufende Daten mit der oben beschriebenen Konfiguration kann die Berechnung der Parität automatisch ausgeführt werden, indem die Verbindung der Kommunikations-Steuervorrichtung und der Pufferspeichervorrichtungen vorgegeben wird. Ein Beispiel eines Verbindungsschemas zur Realisierung solch einer automatischen Paritätsberechnung wird nunmehr mit Bezug auf 26 erläutert.
  • Dieses Verbindungsverfahren von 26 verwendet eine sehr einfache Konfiguration, bei der nur exklusiv ODER Schaltungen 50 bis 53 mit zwei Eingängen, UND Schaltungen 54 bis 576 und eine exklusiv ODER Schaltung 58 mit vier Eingängen zusätzlich in der Konfiguration von 25 bereitgestellt sind. Dabei werden Blöcke B1, B2, B3 und B4 in die Zweiportspeicher M1,j M2,j, M3,j, und M4,j geschrieben, und die Daten in einem derselben wird als Parität angesehen. Beispielsweise wird angenommen, dass die Daten in dem Block B4 die Parität darstellen, sodass der Inhalt von B4 das exklusiv ODER der Daten in den anderen Blöcken B1, B2 und B3 ist.
  • Nunmehr wird angenommen, dass Signale E1, E2, E3 und E4 Problemauftritts-Erfassungssignale sind, die anzeigen, dass Daten inkorrekt sind, aufgrund der Fehlfunktion der jeweiligen Datenspeicher-Steuervorrichtung 4-1 bis 4-4 oder der damit verbunden Datenspeichervorrichtungen 2. Diese Problemauftritts-Erfassungssignale E1, E2, E3 und E4 können auf mehrere Arten realisiert werden, einschließlich einem Verfahren, bei dem ein entsprechendes Signal aktiv gesetzt wird, wenn die Zentralsteuervorrichtung 10 ein Auftreten des Problems in irgendeiner der Datenspeichervorrichtungen 2 oder den Datenspeichervorrichtungen 4 erfasst, einem Verfahren, bei dem jede Datenspeicher-Steuervorrichtung 4 selbst das Problemauftritts-Erfassungssignal aktiv setzt, wenn geurteilt wird, dass sie nicht richtig betrieben werden kann und eines Verfahrens, bei dem das Schreiben von der Datenspeicher-Steuervorrichtung 4 zur Pufferspeichervorrichtung 8 überwacht wird, und wann immer ein Schreiben seit dem vorhergehenden Lesen vorliegt, oder über einer bestimmten Zeitperiode geurteilt wird, dass das Problem aufgetreten ist, sodass das Problemauftritts-Erfassungssignal aktiv gesetzt wird.
  • In der Konfiguration von 26, falls keines der Fehlerauftritts-Erfassungssignale E1, E2, E3 und E4 aktiv ist, werden die Ausgabedaten von den Zweiportspeichern ausgegeben, wie sie sind (d. h. in einer Abfolge von B1 bis B3 unter Auslassung von B4, was die Parität darstellt), an die Kommunikations-Steuervorrichtung 6-j, genauso wie im Fall von 25. Falls jedoch das Problemauftritts-Erfassungssignal entsprechend einem zu lesenden Zweiportspeicher (M1,j beispielsweise) aktiv ist, wird das exklusiv ODER der Daten aller anderen Zweiportspeicher (M2,j, M3,j, und M4,j zum Beispiel) an die Kommunikations-Steuervorrichtung 6-j als die Daten des zu lesenden Zweiportspeichers ausgegeben. Mit anderen Worten werden an dieser Stelle die fehlerhaften Daten unter Verwendung der Parität wiedergewonnen.
  • Es wird darauf hingewiesen, dass diese einfache Parität nur einen Fall behandeln kann, bei dem ein Problem zu einem Zeitpunkt aufgetreten ist, es sollte jedoch offensichtlich sein, dass unter Verwendung des Codierungsverfahrens mit einer Fehlerkorrekturfähigkeit höherer Ebene es auch möglich ist, einen Fall zu behandeln, in dem eine Vielzahl von Fehlern gleichzeitig vorliegt.
  • Als nächstes wird ein beispielhafter Aufbau mit Bezug auf die 27 und 28 beschrieben, bei dem ein VRAM als Pufferspeichervorrichtung verwendet wird.
  • Es ist nämlich möglich, dass bei der in der Servervorrichtung für fortlaufende Daten des ersten Ausführungsbeispiels zu verwendenden Pufferspeichervorrichtung ein Speicherelement verwendet wird, das VRAM genannt wird, wie in 27 gezeigt. Dieses VRAM 90 ist ein Zweiportspeicher mit einem parallelen Schreibport und einem seriellen Leseport. Es gibt auch eine Art von VRAM, bei dem das Lesen auch durch den parallelen Port getätigt werden kann. Wie in 27 gezeigt, wird das VRAM 90 auf solche Art und Weise verwendet, dass der Parallelport für das Schreiben von der Datenspeicher-Steuervorrichtung 4 verwendet wird, und der serielle Port für das Lesen von der Kommunikations-Steuervorrichtung 6 verwendet wird.
  • Der serielle Ausgang von jedem VRAM 90 ist mit der Kommunikations-Steuervorrichtung 6 verbunden, wie in 28 gezeigt, und es wird die Kommunikations-Steuervorrichtung 6 veranlasst, selektiv die Daten von dem erforderlichen VRAM 90 zu übertragen. Auf diese Weise ist es möglich, die Servervorrichtung für fortlaufende Daten ähnlich zu der aufzubauen, die den Zweiportspeicher für die Pufferspeichervorrichtung verwendet, wie oben beschrieben.
  • Als nächstes wird ein beispielhafter Aufbau mit Bezug auf 29 beschrieben, bei dem die Servervorrichtung für fortlaufende Daten des ersten Ausführungsbeispiels unter Verwendung einer Vielzahl von existierenden Computern realisiert wird.
  • In diesem beispielhaften Aufbau von 29 dient ein Computer A als Zentralsteuervorrichtung 10, Computer B1, B2, ..., Bn dienen als die Datenspeichervorrichtungen 4-1 bis 4-n, mit den Computern B1, B2, ..., Bn über die Schnittstellen wie beispielsweise SCSI-Busse 100 verbundene Magnetplatten dienen als die Datenspeichervorrichtungen 2, Computer C1, C2, ..., Cm dienen als die Kommunikations-Steuervorrichtungen 6-1 bis 6-n, und die Übertragung der fortlaufenden Daten wird durch an den Computern C1, C2, ..., Cm bereitgestellte ATM-Schnittstellen bereitgestellt.
  • Für die Pufferspeichervorrichtungen 8 werden Zweiportspeicher verwendet, und jeder Zweiportspeicher ist auf den Bussen 20 und 21 des entsprechenden Computers Bi und Computer Cj platziert. Der als die Zentralsteuervorrichtung 10 dienende Computer A weist die Betriebsvorgänge für die Computer B1, B2, ..., Bn, C1, C2, ..., Cm über einen Bus 101 wie beispielsweise das Ethernet an.
  • Das oben beschriebene erste Ausführungsbeispiel ist in einem Fall wirksam, in dem fortlaufende Daten in einer Vielzahl von Datenspeichervorrichtungen 2 gespeichert sind, durch Verwendung des Streifenbildens oder zusätzlich des RAID, es ist jedoch das erste Ausführungsbeispiel auch in einem Fall anwendbar, in dem das Streifenbilden nicht verwendet wird, da es möglich ist, die Datenübertragungsleistung des Datenpfads von den Datenspeicher-Steuervorrichtungen 4, der die Kommunikations-Steuervorrichtungen 6 erreicht, zu erhöhen.
  • Insbesondere wird darauf hingewiesen, dass im Falle einer Verwendung von VRAM für die Pufferspeichervorrichtungen 8 es ausreicht, den seriellen Ausgang von jedem VRAM mit der Kommunikations-Steuervorrichtung 6 zu verbinden, wie in 28 gezeigt, oben beschrieben, und zu bewirken, dass die Kommunikations-Steuervorrichtung 6 selektiv die Daten von dem erforderlichen VRAM überträgt.
  • Es wird auch darauf hingewiesen, dass, indem bewirkt wird, dass sowohl die Datenspeicher-Steuervorrichtung 4 als auch die Kommunikations-Steuervorrichtung 6 mit Bezug auf die Pufferspeichervorrichtung 8 schreibfähig und auch lesefähig ist, die von dem Netzwerk ankommenden Daten durch die Kommunikations-Steuervorrichtung 6 empfangen werden können, und in die Pufferspeichervorrichtung 2 geschrieben werden können, und dann diese Daten von der Datenspeicher-Steuervorrichtung 4 ausgelesen und in die Datenspeichervorrichtung 2 geschrieben werden können.
  • Bezugnehmend nunmehr auf 30 bis 37 wird detailliert das zweite Ausführungsbeispiel des Datenserversystems beschrieben, dass das Datenübertragungsverfahren in Übereinstimmung mit der vorliegenden Erfindung realisiert. In diesem zweiten Ausführungsbeispiel sind die durch das Datenserversystem zu handhabenden Daten nicht notwendiger Weise auf die fortlaufenden Daten beschränkt.
  • Dieses zweite Ausführungsbeispiel betrifft einen Fall der Verwendung des RAID zum Zwecke eines Behandelns eines an der Plattenvorrichtung in dem System auftretenden Fehlers, in der die Daten verteilt in vorgegebenen Einheiten wie beispielsweise Blockeinheiten über einer Vielzahl von Plattenvorrichtungen verteilt gespeichert sind, und bei dem Daten von den Plattenvorrichtungen in vorgegebenen Einheiten ausgelesen werden, wann immer erforderlich.
  • Wie bereits oben erwähnt ist das RAID-Verfahren ein bekanntes Verfahren zum Korrigieren eines Fehlers der Plattenvorrichtung (siehe beispielsweise "A Case for Redundant Arrays of Inexpensive Disks (RAID)"). Das RAID ist ein Verfahren zum verteilten Anordnen von mit einem redundanten Code codierten Daten über einer Vielzahl von Plattenvorrichtungen, um so die ursprünglichen Daten im Falle einer Fehlfunktion der Plattenvorrichtung wiederzugewinnen. Die ursprünglichen Daten können unter Verwendung der codierten Daten wiedergewonnen werden, indem das exklusiv ODER und exklusiv UND der Inhalte der jeweiligen Platten verwendet wird.
  • Als ein Verfahren zum Erlangen des exklusiv ODER zum Zwecke eines Implementierens des RAID gibt es (1) ein Verfahren zum Gewinnen des exklusiv ODER unter Verwendung eines Prozessors und (2) ein Verfahren zum Erlangen einer richtigen Lösung bei hoher Geschwindigkeit, wenn ein Fehler oder eine Fehlfunktion erfasst wird, durch Eingeben von Daten parallel in die exklusiv ODER Schaltung.
  • Dieses zweite Ausführungsbeispiel verwendet die bestimmte Hardwarestruktur zur Realisierung des RAID, was mit der Arbeit des ausführenden Prozessors nicht interferiert, anders als beim obigen Verfahren (1), und dass keine Konzentration von Verdrahtungen oder eine Verkomplizierung der Schaltungen bewirkt, anders als beim obigen Verfahren (2). Dieses zweite Ausführungsbeispiel realisiert eine Vorrichtung zur Durchführung der Korrektur mit Bezug auf die Fehlfunktion der Platte bei hoher Geschwindigkeit mittels einer kompakten Hardwarestruktur.
  • Im folgenden wird ein beispielhafter Fall einer Verwendung des exklusiv ODER als Parität beschrieben, es sollte jedoch offensichtlich sein, dass eine Verwendung des exklusiv UND als Parität auf einfache Weise auf die gleiche Art realisiert werden kann.
  • In Übereinstimmung mit dem zweiten Ausführungsbeispiel werden zu speichernde Daten in n-Gruppen aufgeteilt, wobei (n + 1) Verbindungsports für die Plattenvorrichtungen bei einer Anwendung des RAID auf bestimmte Daten zu verwenden sind. Diese Anzahl (n + 1) entspricht einer Anzahl von Datenspeicher-Steuervorrichtungen 4 in der Konfiguration von 5 oder 6, oder Plattensteuereinheiten 104 in der Konfiguration von 30, was in 64 ist, wie oben beschrieben, und in 305, wie unterhalb beschrieben werden wird. Zu einem Zeitpunkt dieser Gruppierung werden die Daten in Blöcke einer jeweilig festen Datenlänge aufgeteilt.
  • Dann werden die gleichzeitig von n-Gruppen auszulesenden Blöcke herausgenommen, ein Block für jede Gruppe, und ein Satz von Blöcken wird gebildet. Als nächstes wird ein Ergebnis eines Abnehmens des exklusiv ODER der n-Blöcke des gleichen Satzes addiert um einen Satz von (n + 1) Blöcken zu bilden. Dann werden diese (n + 1) Blöcke in jeweiligen von (n + 1) Sätzen von Plattenvorrichtungen gespeichert, verbunden mit den (n + 1) Verbindungsports zur Bildung einer RAID Gruppe.
  • Die Verbindungsports, mit denen die (n + 1) Sätze von Plattenvorrichtungen verbunden sind, entsprechen den Pufferspeichern, und eine in Form einer Berechnungseinheit bereitgestellte bestimmte Hardware ist zwischen den entsprechenden Anschlussports und dem Pufferspeicher angeschlossen, während (n + 1) Sätze der Rechnungseinheiten in Serie verbunden sind.
  • Wenn dabei eine Fehlfunktion oder ein Fehler in irgendeiner Plattenvorrichtung erfasst wird, können die von dieser Plattenvorrichtung durch den Verbindungsport eingetretenen und in dem entsprechenden Pufferspeicher gespeicherten Daten als fehlerbehaftet betrachten werden. Demzufolge kann im Falle eines Lesens des Pufferspeichers entsprechend dieser Plattenvorrichtung der Inhalt des Pufferspeichers als fehlerhaft betrachtet werden, und daher gibt die entsprechende Berechnungseinheit eine Ausgabe der Berechnungseinheit der vorhergehenden Stufe aus, wie sie ist, anstelle eines Lesens der Daten von diesem Pufferspeicher, und jede verbleibende Berechnungseinheit gibt das exklusiv ODER der Ausgabe der Berechnungseinheit der vorhergehenden Stufe und des von dem jeweiligen entsprechenden Pufferspeicher ausgelesenen Wertes aus. Die Inhalte der jeweiligen Pufferspeicher bilden eine RAID-Gruppe, sodass das exklusiv ODER der Inhalte dieser Pufferspeicher außer dem Pufferspeicher entsprechend der erfassten Fehlfunktion beziehungsweise Fehler, berechnet durch die Berechnungseinheiten, als der richtige Wert ausgegeben wird.
  • Im Falle eines Lesens des Pufferspeichers entsprechend der normalen Plattenvorrichtung ohne Fehlfunktion oder Fehler liest die entsprechende Berechnungseinheit die Daten von diesem Pufferspeicher aus und übergibt sie der nächsten Stufe, und jede verbleibende Berechnungseinheit gibt die Ausgabe der Berechnungseinheit der vorhergehenden Stufe aus, wie sie ist. Auf diese Weise kann, wenn die Daten entsprechend der Fehlfunktion oder Fehler von dem Verbindungsanschluss, der mit dieser Plattenvorrichtung verbunden ist, nicht eingegeben werden, der von dem erwünschten Pufferspeicher ausgelesene Wert ausgegeben werden.
  • Wie oben erläutert werden, wenn ein Fehler in den Daten vorliegt, die richtigen Daten mittels der Berechnungseinheit ausgegeben, und wenn kein Fehler in den Daten vorliegt, werden die richtigen Daten durch Umgehen der Berechnungseinheit ausgegeben.
  • Im folgenden wird dieses zweite Ausführungsbeispiel des Datenserversystems detaillierter erläutert.
  • In diesem zweiten Ausführungsbeispiel weist das System eine in 30 gezeigte Gesamtkonfiguration auf, und eine Zentralsteuereinheit 110 in dieser Konfiguration von 30, die das System insgesamt steuert, arbeitet in Übereinstimmung mit dem Flussdiagramm von 31.
  • Dieses System von 30 umfasst: Plattenvorrichtungen 102 zum Speichern der Daten, die RAID bilden; eine Vielzahl von Plattensteuereinheiten 104 zum Auslesen der erwünschten Daten von den Plattenvorrichtungen 102; eine Vielzahl von Pufferspeichern 108, bereitgestellt in Entsprechung zu den Plattensteuereinheiten 104, um die durch die jeweiligen Plattensteuereinheiten 104 ausgelesenen Daten zu halten; einen Speichercontroller 107 für jeden Pufferspeicher 108; eine Berechnungseinheit 103, die zwischen einer jeden Plattensteuereinheit 104 und einem jeden Satz von Speichercontroller 107 und dem Pufferspeicher 108 angeschlossen ist; und eine Zentralsteuereinheit 110 zum Steuern des Systems insgesamt. Die Berechnungseinheiten 103 sind ihrerseits in Serie verbunden, und jede Berechnungseinheit 103 umfasst eine exklusiv ODER Berechnungsschaltung 131, einen Multiplexer 132, und eine Decodiereinheit 133.
  • Es wird darauf hingewiesen, dass die Plattenvorrichtungen 102 nicht notwendiger Weise integrierte Komponenten des Datenserversystems sind, sondern dass sie durch den Nutzer nach Bedarf hinzugefügt werden können.
  • Diese 30 zeigt ein System mit einer Paritätsplatte mit Bezug auf vier Platten, jedoch kann ein Verhältnis der Parität zur Anzahl von Platten frei eingestellt werden, sodass verschiedene andere Konfigurationen möglich sind, wie beispielsweise eine Konfiguration mit einer Parität mit Bezug auf acht Platten, als Beispiel.
  • Es ist möglich, eine Vielzahl von Plattenvorrichtungen 102 mit dem Verbindungsport der Plattensteuereinheit 104 zu verbinden. Wenn beispielsweise die SCSI als die Plattenschnittstelle verwendet wird, ist es möglich, bis zu sieben Vorrichtungen mit einem einzigen SCSI zu verbinden. Weiter ist es auch möglich, eine größere Anzahl von Plattenvorrichtungen 102 anzuschließen, indem eine Vielzahl von SCSI mit der Plattensteuereinheit 104 verbunden werden.
  • Der Speichercontroller 107 speichert die Daten von der Berechnungseinheit 103 an einer bestimmten Adresse des Pufferspeichers 108 und gibt die von einer bestimmten Adresse des Pufferspeichers 108 ausgelesenen Daten an die Berechnungseinheit 103.
  • Die Plattensteuereinheit 104 überträgt die Daten an den Pufferspeicher 108 über den Speichercontroller 107.
  • Die Zentralsteuereinheit 110 sendet einen Befehl an die Plattensteuereinheit 104, die mit der Plattenvorrichtung 102 verbunden ist, in der die angeforderten Daten vorliegen, während Befehle an die entsprechenden Plattensteuereinheiten 104 gesendet werden, um die RAID-Gruppe bildende Daten von den Plattenvorrichtungen 102 auszulesen, die die Daten zur Bildung der RAID-Gruppe speichern.
  • Zusätzlich wartet die Zentralsteuereinheit 110, bis alle Daten zur Bildung der RAID-Gruppe in den Pufferspeicher 108 fertig eingestellt sind und beginnt den Betrieb zum Auslesen von den Pufferspeichern 108, wenn alle Daten zur Bildung der RAID-Gruppe fertig sind.
  • Zu einem Zeitpunkt eines Auslesens von den Pufferspeichern 108 setzt die Zentralsteuereinheit 110 DECODE_X Signale aktiv, eins nach dem anderen, synchron zu den Lesezeitvorgaben der Pufferspeicher 108 entsprechend den Verbindungscodes, die mit den jeweiligen Plattenvorrichtungen 102 verbunden sind, die die notwendigen Daten speichern, in Übereinstimmung mit der Anfrage.
  • Die Plattensteuereinheit 104 steuert die Plattenvorrichtung 102 in Übereinstimmung mit dem von der Zentralsteuereinheit 110 ausgegebenen Befehl, und wenn eine Fehlfunktion oder Fehler der Plattenvorrichtung 102 erfasst wird, gibt sie ein ERROR_X Signal an die Zentralsteuereinheit 110 aus.
  • Dabei ist es auch möglich, das System auf solche Weise aufzubauen, dass, wenn die Leseantwort von der Plattenvorrichtung 102 innerhalb einer vorgegebenen Zeitperiode nicht beendet ist, dies als ein Fehler der Plattenvorrichtung 102 betrachtet wird und das ERROR_X Signal zur Zentralsteuereinheit 110 auf ähnliche Weise gesendet wird, sodass der Inhalt der Plattenvorrichtung 102, der ein Lesen innerhalb der vorgegebenen Zeitperiode nicht beendet hat, von den Daten der anderen Platten wiedergewonnen werden kann.
  • Es ist auch möglich, das System auf solch eine Art und Weise aufzubauen, dass, wenn die Plattensteuereinheit 104 ihre eigene Fehlfunktion erfasst, dies als ein Fehler der Plattenvorrichtung 102 betrachtet wird und das ERROR_X Signal der Zentralsteuereinheit 110 auf ähnliche Weise mitgeteilt wird.
  • Das ERROR_X Signal wird separat mit Bezug auf jede Plattensteuereinheit 104 bereitgestellt (ERROR_0 bis ERROR_4 in 30), so dass es möglich ist, einen Verbindungsport für die Platte zu identifizieren, an welcher eine Fehlfunktion oder Fehler aufgetreten ist.
  • 32 zeigt eine Schaltung zur Erzeugung eines HITANY Signals aus den ERROR_X Signalen und DECODE_X Signalen. Wie in 32 gezeigt, umfasst diese Schaltung UND-Schaltungen 181 bis 185, von denen jede das entsprechende ERROR_X Signal und DECODE_X Signal als die Eingabe aufweist, und eine ODER-Schaltung 186, die Ausgaben aller UND-Schaltungen 181 bis 185 als seine Eingaben aufweist.
  • Das HITANY Signal ist ein Signal, das aktiv eingestellt wird, wann immer auf einen Pufferspeicher 108 mit einen Fehler enthaltenden Daten zugegriffen wird, und dass eine Notwendigkeit einer Wiedergewinnung der Daten durch das RAID anzeigt.
  • Die Berechnungseinheit 103 weist eine in 33 gezeigte Detailkonfiguration auf.
  • Die exklusiv ODER Berechnungsschaltung 131 wird mit einer Ausgabe der in Serie verbundenen Berechnungseinheit 103 der vorhergehenden Stufe und einer Ausgabe von dem Multiplexer 132 belegt.
  • Ein A-Eingang des Multiplexers 132 wird mit einem Wert 0 belegt, während ein weiterer Eingang des Multiplexers 132 mit einem Ausgang des Pufferspeichers 108 über den Speichercontroller 107 belegt wird, und eine Ausgabe des Multiplexers 132 wird zwischen den Eingängen A und B in Übereinstimmung mit einem Steuersignal gewechselt, das von der Decodiereinheit 133 geliefert wird.
  • Wenn die Ausgabe zum Eingang A geschaltet wird, werden die Daten von der Berechnungseinheit der 103 der vorhergehenden Stufe an die nächste Stufe übergeben, wie sie sind. Auf der anderen Seite, wenn der Ausgang zum Eingang B gewechselt wird, wird ein Berechnungsergebnis des exklusiv ODER der Daten von der Rechnungseinheit 103 der vorhergehenden Stufe und der von dem Pufferspeicher 108 ausgelesenen Daten an die nächste Stufe übergeben.
  • Die Decodiereinheit 133 ist eine Schaltung zur Erzeugung eines Steuersignals, um den Ausgang des Multiplexers 132 in Übereinstimmung mit den Werten des ERROR_X, DECODE_X und HITANY Signals zu schalten, und arbeitet in Übereinstimmung mit der in 34 gezeigten Logik.
  • Ein Fall (1) von 34 ist ein Fall, bei dem die Daten von dem entsprechenden Pufferspeicher 108 ausgelesen werden sollten, und eine Fehlfunktion oder ein Fehler in der entsprechenden Plattenvorrichtung 102 erfasst wird, wobei in diesem Fall die Ausgabe von dem Multiplexer 132 an den Eingang A geschaltet wird.
  • Ein Fall (2) von 34 ist ein Fall, bei dem die Daten von einem weiteren Pufferspeicher 108 ausgelesen werden sollen, nicht in Entsprechung dazu, und keine Fehlfunktion oder Fehler in der Plattenvorrichtung 102 entsprechend sich selbst erfasst wird, wie auch in der Plattenvorrichtung 102 entsprechend diesem anderen Pufferspeicher 108, wobei in diesem Fall die Ausgabe des Multiplexers 132 zum A-Eingang geschaltet wird.
  • Ein Fall (3) von 34 ist ein Fall, bei dem Daten von einem weiteren Pufferspeicher 108 nicht in Entsprechung dazu ausgelesen werden sollen, und keine Fehlfunktion oder Fehler in der Plattenvorrichtung 2 entsprechend sich selbst erfasst wird, jedoch eine Fehlfunktion oder Fehler in der Plattenvorrichtung 102 entsprechend diesem anderen Pufferspeicher 108 festgestellt wird, wobei in diesem Fall die Ausgabe des Multiplexers 132 zum B-Eingang geschaltet wird.
  • Ein Fall (4) von 34 ist ein Fall, bei dem die Daten von dem entsprechenden Pufferspeicher 108 ausgelesen werden sollen, und keine Fehlfunktion oder Fehler in der entsprechenden Plattenvorrichtung 102 erfasst wird, wobei in diesem Fall die Ausgabe des Multiplexers 132 zum B-Eingang geschaltet wird.
  • Ein Fall (5) von 34 ist ein Fall, bei dem die Daten von einem weiteren Pufferspeicher 108 ausgelesen werden sollen, der diesem nicht entspricht, und eine Fehlfunktion oder Fehler in der Plattenvorrichtung 102 sich selbst entsprechend festgestellt wird, jedoch keine Fehlfunktion oder Fehler in der Plattenvorrichtung 102 entsprechend diesem anderen Pufferspeicher 108 festgestellt wird, wobei in diesem Fall die Ausgabe des Multiplexers 132 zu dem Eingang A geschaltet wird.
  • Wie in 30 gezeigt, weist die Berechnungseinheit 103 der ersten Stufe in dieser Serienschaltung einen Eingangswert auf, der auf 0 festgelegt ist. Auf der anderen Seite wird die Berechnungseinheit 103 der letzten Stufe in der Serienschaltung zu einem Ausgangsanschluss zum Ausgeben entweder der Daten, die von dem entsprechenden Pufferspeicher 108 ausgelesen sind, oder der Daten, die durch das RAID wiedergewonnen sind.
  • Bei der obig beschriebenen Konfiguration arbeitet die Zentralsteuereinheit 110 in Übereinstimmung mit dem Flussdiagramm von 31 wie folgt.
  • Wenn die Datenausleseanfrage von außen empfangen wird (Schritt S11), wird ein Übertragungsbefehl zur Übertragung der Daten zum Pufferspeicher 108 an jede Plattensteuereinheit 104, verbunden mit jeder Plattenvorrichtung 102, in der die Daten der RAID-Gruppe für die angeforderten Daten vorliegen, gesendet (Schritt S12). Die Plattensteuereinheit 104, die den Übertragungsbefehl empfangen hat, liest die Daten von der RAID-Gruppe für die angeforderten Daten von der Plattenvorrichtung 102 aus, und speichert diese in dem entsprechenden Pufferspeicher 108.
  • Wenn die Datenübertragung in den Pufferspeicher 108 beendet ist (Schritt S13 JA), wird das Datenlesen von dem Pufferspeicher 108 ausgeführt (Schritt S14).
  • Im folgenden wird das Datenlesen von dem Pufferspeicher 108 im Schritt S14 detaillierter beschrieben. Dabei wird angenommen, dass #0 bis #3 Ebenen in 3 für die ursprünglichen Daten vorhanden sind und die #4 Ebene für die Parität.
  • Die Zentralsteuereinheit 110 steuert das Datenlesen von den Pufferspeichern 108 in einer Abfolge, beginnend mit dem Pufferspeicher 108 von #0, und fährt dann fort mit #1, #2 und #3, beispielsweise in dieser Reihenfolge.
  • Beim Datenlesen von jedem Pufferspeicher 108 wird der Multiplexer 132 jeder Berechnungseinheit 103 durch den Befehl von der Zentralsteuereinheit 110 geschaltet, und das Berechnungsergebnis bei jeder Berechnungseinheit 103 wird sequentiell zur nächsten Stufe übergeben, sodass das finale Ergebnis von der letzten Stufe ausgegeben wird.
  • Es wird beispielsweise ein Fall des Datenlesens von dem Pufferspeicher 108 der #0 Ebene betrachtet. In diesem Fall wird das DECODE_0 Signal auf 1 gesetzt, und die anderen DECODE_X Signale sind auf 0 gesetzt. Dabei überwacht die Zentralsteuereinheit 110 das ERROR_X Signal, übersendet von jeder Plattensteuereinheit 104, und diese Information wird beim Schalten des Betriebs in jeder Berechnungseinheit 103 verwendet.
  • Falls keine Fehlfunktion oder Fehler in der Plattenvorrichtung 102 der #0 Ebene erfasst wird, wird das ERROR_0 Signal 0 sein, sodass das HITANY Signal auch zu 0 wird.
  • Demzufolge werden die Eingaben an die Decodiereinheit 133 in der Berechnungseinheit 103 der #0 Ebene das ERROR_0 Signal = 0 sein, das HITANY Signal = 0, und das DECODE_0 = 1, sodass diese Berechnungseinheit 103 der #0 Ebene so arbeitet, wie im oben beschriebenen Fall (4), und das exklusiv ODER von 0 und die Daten von dem Pufferspeicher 108 ausgibt, d. h., die Daten von dem Pufferspeicher 108 so wie sie sind.
  • Auf der anderen Seite werden die Eingänge in die Decodiereinheit 133 in jeder Berechnungseinheit 103 der anderen Ebenen, das ERROR_X Signal = 0 sein, das HITANY Signal = 0, und das DECODE_X Signal = 0, sodass jede Berechnungseinheit 103 so arbeitet, wie im oben beschriebenen Fall (2), und den Eingang weitergibt, so wie er ist.
  • Auf diese Weise werden die Daten von den Pufferspeicher 108 der #0 Ebene in diesem Fall ausgegeben.
  • Im Gegensatz dazu, falls eine Fehlfunktion oder ein Fehler in der Plattenvorrichtung 102 der # 0 Ebene erfasst wird, wird das ERROR_0 Signal_1 sein, sodass das HITANY Signal auch 1 sein wird.
  • Demzufolge werden die Eingänge in die Decodiereinheit 133 in der Berechnungseinheit 103 der #0 Ebene das ERROR_0 Signal = 1 sein, das HITANY Signal = 1 und das DECODE_0 Signal = 1, sodass diese Berechnungseinheit 103 der #0 Ebene wie im oben beschriebenen Fall (1) arbeitet, und den festen Wert 0 ausgibt. Auf der anderen Seite werden die Eingänge in die Decodiereinheit 133 in jeder Berechnungseinheit 103 der anderen Ebenen das ERROR_X Signal = 0 sein, das HITANY Signal = 1 und das DECODE_X Signal = 0, sodass jede Berechnungseinheit 103 so arbeitet wie im oben beschriebenen Fall (3), und das exklusiv ODER der Eingabe von der vorhergehenden Stufe und der Daten von dem entsprechenden Pufferspeicher 108 an die nächste Stufe ausgibt.
  • Als eine Folge wird das exklusiv ODER der Daten von den Pufferspeichern 108 der #1 bis #4 Ebenen erlangt, und dieser Wert wird als die richtigen Daten für die #0 Ebene ausgegeben.
  • Auf die oben beschriebene Weise werden die Daten der #0 Ebene bis #3 Ebene nacheinander ausgelesen.
  • Dabei wird die Berechnung des exklusiv ODER verwendet, jedoch sollte im Falle einer Verwendung der Berechnung des exklusiv UND (d. h. eine Negation des exklusiv ODER) der feste Wert 1 in die Berechnungseinheit 103 der ersten Stufe und an den Eingang A des Multiplexers 132 jeder Berechnungseinheit 103 eingegeben werden, statt des festen Wertes 0 in der obigen Beschreibung.
  • In der obigen Beschreibung ist die Berechnungseinheit 103 als eine kombinatorische Logik beschrieben, jedoch wird durch eine Anordnung von Pipeline-Registern zwischen den Berechnungseinheiten 103 der Betrieb bei einem Hochgeschwindigkeitstakt für die Berechnungseinheit 103 möglich.
  • Oben wurde ein Verfahren zum Durchführen der Übertragung von den Plattenvorrichtungen 102 zu den Pufferspeichern 108 und das sequentielle Lesen von den Pufferspeichern 108 beschrieben, es ist jedoch auch möglich, dass jeder Pufferspeicher 108 den Doppelpuffer bildet, sodass die Übertragung von der Plattenvorrichtung 102 und das Lesen von dem Pufferspeicher 108 parallel durchgeführt werden kann.
  • Zusätzlich, falls die Plattenvorrichtung 102 den Wiederholungsversuch aufgrund eines temporären Fehlers beim Plattenlesen ausführt, und der Zugriff nicht in einer vorgegebenen Zeitperiode beendet ist, ist es auch möglich, dass die Plattensteuereinheit 104 diesen Fall genauso behandelt wie den Fall der Fehlfunktion der Plattenvorrichtung 102, indem das ERROR_X Signal mitgeteilt wird, um einen Fehler in der Plattenvorrichtung 102 anzuzeigen.
  • Nunmehr wird als eine bevorzugte Anwendung dieses zweiten Ausführungsbeispiels ein beispielhafter Fall einer Verwendung des Systems des zweiten Ausführungsbeispiels als Server für die Multimediadaten einschließlich dynamischer Bilder mit Bezug auf 35 beschrieben.
  • Als ein Verfahren zum Aufzeichnen der dynamischen Bilder als die digitalen Daten in den Plattenvorrichtungen 102 ist ein Verfahren wie beispielsweise MPEG bekannt, was die dynamischen Bilder durch eine Kompression derselben speichert. Wie bei den in den Plattenvorrichtungen 102 aufzuzeichnenden Daten, solange diese in Form der RAID-Gruppen dieses zweiten Ausführungsbeispiels mittels des Streifenbildens aufgezeichnet werden, können die ausgelesenen Daten auf dem Pufferspeicher 108 ohne Fehler ausgelesen werden, vorausgesetzt, dass die Reproduktion der dynamischen Bilder fortlaufend ist, sodass dies ohne Verschwendung sein wird, solange das Plattenlesen betrachtet wird.
  • Im folgenden wird die Reproduktion der gestreiften Multimediadaten mit Bezug auf 35 beschrieben.
  • Es wird angenommen, dass die ursprünglichen Daten in 35 MPEG-Videostreams beziehungsweise -Ströme sind, das diese Daten in Einheiten von Blöcken zum Lesen derselben von den Plattenvorrichtungen 102 aufgeteilt sind, wie beispielsweise in 128 KB-Einheiten, und dass die RAID-Gruppe gebildet ist. In diesem Beispiel sind diese in vier aufgeteilt, und die RAID-Gruppe wird durch diese gebildet. Für diese Blöcke sind die jeweiligen Nummern 0 bis 3 für eine Gruppe in einem Fall einer Unterteilung in vier in Entsprechung eingestellt.
  • Um die RAID-Gruppe zu bilden, wird der Paritätsblock gebildet, in dem das exklusiv ODER der Blöcke 0 bis 3 gebildet wird und als Block 4 eingestellt wird.
  • Wenn die Daten von den Plattenvorrichtungen 102 zu den Pufferspeichern 108 übertragen werden, werden die Daten von Block 0 in den Pufferspeicher der #0 eingegeben, die Daten von Block 1 werden in den Pufferspeicher der #1 eingegeben, die Daten des Blocks 2 werden in den Pufferspeicher der #2 eingegeben, und die Daten des Blocks 3 werden in den Pufferspeicher #3 eingegeben, und die Paritätsdaten werden in den Pufferspeicher der #4 eingegeben.
  • Wenn diese Daten beginnend mit Pufferspeicher der #0 ausgelesen werden, arbeiten die Berechnungseinheiten 103 so wie dies oben beschrieben ist, und die ausgelesenen Daten werden als ein Strom reproduziert, indem die Daten der Blöcke 0, 1, 2 und 3 in dieser Reihenfolge angeordnet sind, wie in 35 gezeigt.
  • Als nächstes wird eine weitere bevorzugte Anwendung dieses zweiten Ausführungsbeispiels als ein beispielhafter Fall einer Verwendung des Systems dieses zweiten Ausführungsbeispiels als Datenbankserver unter Verwendung von Platten mit Bezug auf 36 beschrieben. Dabei entspricht eine in 36 gezeigte Plattenanordnungs-Steuervorrichtung 120 einer Konfiguration von 30, wobei die Plattenvorrichtungen 102 ausgelassen sind.
  • Wie in 36 gezeigt ist eine Datenbank verteilt über den Platten angeordnet, indem diese in Einheiten von Datensätzen aufgeteilt ist. Allgemein ist die Übertragungsgeschwindigkeit der Platte langsamer als die Verarbeitungsgeschwindigkeit der CPU, sodass in einem Fall eines Lesens der Plattenvorrichtungen 102 durch die Plattenanordnungs-Steuervorrichtung 120 es effektiver ist, die Daten parallel zu lesen, da es möglich wird, einen schnelleren Zugriff auf die Datenbank zu tätigen.
  • Durch Bereitstellen einer Datenbankverarbeitungsvorrichtung 121 zum Durchführen der Datenbankverarbeitung an einem Ausgang der Plattenanordnungs-Steuervorrichtung 120 wird es möglich, die Datenbankverarbeitung auszuführen, wie beispielsweise das Suchen und die Auswahl.
  • Wie erläutert ist es in Übereinstimmung mit diesem zweiten Ausführungsbeispiel möglich, die Vorrichtung zum Korrigieren einer Fehlfunktion der Platte mittels einer kompakten Hardwarestruktur zu realisieren. Zusätzlich wird die Hochgeschwindigkeitsverarbeitung aufgrund der Verwendung der Hardwareverarbeitung möglich.
  • Es wird darauf hingewiesen, dass dieses zweite Ausführungsbeispiel auf das oben beschriebene erste Ausführungsbeispiel anwendbar ist. Falls das zweite Ausführungsbeispiel auf das System von 5 angewendet wird, entsprechen die Plattenvorrichtungen 102 von 30 den Plattenspeichervorrichtungen 2 von 5, die Plattensteuereinheiten 104 von 30 entsprechen den Datenspeicher-Steuervorrichtungen 4 von 5, und die Zentralsteuereinheit 110 von 30 entspricht der Zentralsteuervorrichtung 10 von 5. Zusätzlich entsprechen die Pufferspeicher 108 von 30 den Pufferspeichervorrichtungen 8, verbunden mit einer Kommunikations-Steuervorrichtung 6 in 5. Die Berechnungseinheit 103 muss zwischen der Datenspeicher-Steuervorrichtung 4 und einer oder mehrerer der Pufferspeichervorrichtungen 8 entsprechend dieser Datenspeicher-Steuervorrichtung 4 angeschlossen werden. Eine beispielhafte Konfiguration, in der dieses zweite Ausführungsbeispiel auf das erste oben beschriebene Ausführungsbeispiel auf diese Weise angepasst ist, ist in 37 gezeigt.
  • Es wird auch darauf hingewiesen, dass im Falle einer Anwendung dieses zweiten Ausführungsbeispiels auf das System von 15 oder 16 die Berechnungseinheit 103 zwischen einer Gruppe der Datenspeicher-Steuereinheiten 4, die den gleichen Bus 20 gemeinsam nutzen, und einer oder mehrerer Pufferspeichervorrichtungen 8 entsprechend dieser Gruppe von Datenspeicher-Steuereinheiten 4 anzuschließen ist.
  • Unter Bezugnahme nunmehr auf die 38 bis 50 wird das dritte Ausführungsbeispiel des Datenserversystems detailliert beschrieben, dass das Datenübertragungsverfahren in Übereinstimmung mit der vorliegenden Erfindung realisiert. In diesem dritten Ausführungsbeispiel sind die durch das Datenserversystem zu handhabenden Daten nicht notwendiger Weise auf die fortlaufenden Daten beschränkt.
  • Dieses dritte Ausführungsbeispiel betrifft auch einen das RAID verwendenden Fall, und realisiert eine Vorrichtung zum Durchführen der Erzeugung der auf die Platte zu schreibenden Parität und der Erzeugung der Information, die bei einem Wiedergewinnen der Fehlfunktionsplatte mit einer hohen Geschwindigkeit mittels einer kompakten Hardwarestruktur notwendig ist. Es wird darauf hingewiesen, dass dieses dritte Ausführungsbeispiel in sich die gleichen Betriebsvorgänge und Effekte des oben beschriebenen zweiten Ausführungsbeispiels verwirklicht.
  • Es wird hier wiederum ein beispielhafter Fall einer Verwendung des exklusiv ODER als Parität beschrieben, es sollte jedoch offensichtlich sein, dass ein Fall einer Verwendung des exklusiv UND als Parität auf die gleiche Weise ebenso realisiert werden kann.
  • In Übereinstimmung mit diesem dritten Ausführungsbeispiel sind die zu speichernden Daten in n Gruppen aufgeteilt, wenn (n + 1) Verbindungsports für die Plattenvorrichtungen beim Anwenden des RAID auf bestimmte Daten zu verwenden sind. Diese Anzahl (n + 1) entspricht einer Anzahl von Datenspeicher-Steuervorrichtungen 4 in der Konfiguration von 5 oder 6, oder Plattensteuereinheiten 204 in der Konfiguration von 38, was in 6 vier ist, wie oben beschrieben, und fünf in 38, wie dies unterhalb beschrieben wird. Zum Zeitpunkt dieser Gruppierungsbildung werden die Daten in einer jeweiligen festen Datenlänge unterteilt.
  • Dann werden die gleichzeitig von n Gruppen auszulesenden Blöcke herausgenommen, ein Block von jeder Gruppe, und ein Satz von Blöcken wird gebildet.
  • Dabei wird, wie dies später detailliert beschrieben wird, das exklusiv ODER von n Blöcken des gleichen Satzes durch den Betrieb der bestimmten Hardware in Übereinstimmung mit diesem dritten Ausführungsbeispiel gebildet. Das Ergebnis des Bildens des exklusiv ODER wird als ein neuer Block hinzugefügt, um einen Satz von (n + 1) Blöcken zu bilden. Dann werden diese (n + 1) Blöcke in jeweiligen von (n + 1) Sätzen von Plattenvorrichtungen gespeichert, die mit den (n + 1) Verbindungsports verbunden sind, um eine RAID-Gruppe zu bilden.
  • Die Verbindungsports, mit denen die (n + 1) Sätze von Plattenvorrichtungen verbunden sind, entsprechen den Pufferspeichern, und eine bestimmte Hardware, bereitgestellt in Form einer Berechnungseinheit, ist zwischen dem entsprechenden Verbindungsport und Pufferspeicher angeschlossen, während (n + 1) Sätze der Berechnungseinheiten in Serie angeschlossen sind.
  • Jede in Serie zu verbindende Berechnungseinheit weist die folgenden Funktionen zum Zwecke der Paritätsbildung, des Datenlesens und des Datenwiedergewinnens unter Verwendung der Parität auf.
    • (1) Eine Funktion zum Schreiben der Daten von den in Serie verbundenen Nachbarberechnungseinheiten in den Pufferspeicher, unter Bildung des exklusiv ODER.
    • (2) Eine Funktion zum Schreiben der Daten von der niedrigeren Stufe in den Pufferspeicher, während diese zu der oberen Stufe gesendet werden.
    • (3) Eine Funktion zum Senden der von dem Pufferspeicher ausgelesenen Daten und der Daten der Berechnungseinheit der oberen Stufe zu der Berechnungseinheit der niedrigeren Stufe, unter Bildung des exklusiv ODER derselben.
    • (4) Eine Funktion zum Senden der von dem Pufferspeicher ausgelesenen Daten und der Daten der Berechnungseinheit der niedrigeren Stufe zur Berechnungseinheit der oberen Stufe, unter Bildung des exklusiv ODER derselben.
    • (5) Eine Funktion zum Senden der Daten der Berechnungseinheit der oberen Stufe zur unteren Stufe, unter Umgehung derselben.
    • (6) Eine Funktion zum Senden der Daten der Berechnungseinheit der unteren Stufe zur oberen Stufe, unter Umgehung derselben.
    • (7) Eine Funktion zum Schreiben der Daten von dem Verbindungsanschluss der Plattenvorrichtung in den Pufferspeicher.
    • (8) Eine Funktion zum Lesen der Daten von dem Pufferspeicher und zum Senden derselben zu dem Verbindungsport für die Plattenvorrichtung.
  • Jede Berechnungseinheit kann irgendeine dieser Funktionen je nach Notwendigkeit ausführen.
  • Zum Zeitpunkt eines Schreibens der n Blöcke für Daten in die Plattenvorrichtungen werden die ersten (n – 1) Blöcke für Daten in jeweilig entsprechende Pufferspeicher in einer Abfolge von der höchsten Stufe eingeschrieben.
  • Dann wird der n-te Block Daten in die unterste Stufe eingeschrieben. Zu diesem Zeitpunkt wird die Berechnungseinheit jeder Stufe von der obersten Stufe zur (n – 1-ten Stufe umgeschaltet, um das exklusiv ODER der von dem entsprechenden Pufferspeicher ausgelesenen Daten und der von der unmittelbar oberen Stufe ausgegebenen Daten zu bilden, und um das erlangte exklusiv ODER zur unmittelbar niedrigeren Stufe auszugeben.
  • Auf der anderen Seite wird die Berechnungseinheit der untersten Stufe geschaltet, um den n-ten Block Daten in den entsprechenden Pufferspeicher einzuschreiben, während dieser n-te Block von Daten zur unmittelbar darüber liegenden Stufe gesendet wird, d. h. zur n-ten Stufe. Die Berechnungseinheit der n-ten Stufe wird eingestellt, um das exklusiv ODER der Daten von der unmittelbar darüber liegenden Stufe und der Daten von der unmittelbar darunter liegenden Stufe in den entsprechenden Pufferspeicher einzuschreiben. Auf diese Weise wird die Parität in den Pufferspeicher der n-ten Stufe gebildet.
  • Als nächstes werden die in den n-ten Pufferspeichern erzeugten Datenblöcke zu den Plattenvorrichtungen gesendet.
  • Wenn eine der Plattenvorrichtungen eine Fehlfunktion aufweist, besteht eine Notwendigkeit, diese fehlerhafte Plattenvorrichtung auszutauschen, während die in dieser fehlerhaft funktionierenden Plattenvorrichtung gespeicherten Daten wiedergewonnen werden.
  • In diesem dritten Ausführungsbeispiel wird die RAID-Gruppe durch die (n + 1) Datenblöcke gebildet, sodass das exklusiv ODER dieser (n + 1) Datenblöcke zu 0 wird, sodass der Inhalt des Datenblocks in der fehlerhaften Plattenvorrichtung von den Inhalten der anderen n Datenblöcke wiedergewonnen werden kann.
  • Nachdem die fehlerhafte Plattenvorrichtung ausgetauscht wurde, werden n Sätze von Daten, die die RAID-Gruppe mit dem in der fehlerhaften Plattenvorrichtung gespeicherten Datenblock bilden, jeweilig von den Verbindungsports, außer dem, der mit der fehlerhaften Plattenvorrichtung verbunden ist, in die entsprechenden Pufferspeicher ausgelesen.
  • Dann wird jede Berechnung an der Stufe oberhalb des Verbindungsports, der mit der fehlerhaften Plattenvorrichtung verbunden ist veranlasst, das exklusiv ODER des von dem entsprechenden Pufferspeicher ausgelesenen Wertes und der Ausgabe der Berechnungseinheit der unmittelbar darüber liegenden Stufe abzunehmen, und dieses exklusiv ODER zu der unmittelbar darunter liegenden Stufe zu senden, wohingegen jede Berechnung an der Stufe unterhalb des mit der Fehlfunktionsplattenvorrichtung verbundenen Verbindungsport veranlasst wird, das exklusiv ODER des von dem entsprechenden Pufferspeicher ausgelesenen Wertes und der Ausgabe der Berechnungseinheit der unmittelbar darunter liegenden Stufe abzunehmen, und dieses exklusiv ODER zur unmittelbar darüber liegenden Stufe zu senden, während die Berechnungseinheit entsprechend dem mit der Fehlfunktionsplattenvorrichtung verbundenen Verbindungsport veranlasst wird, das exklusiv ODER der Ausgabe der Berechnungseinheit ihrer unmittelbar darüber liegenden Stufe und der Ausgabe der Berechnungseinheit ihrer unmittelbar darunter liegenden Stufe zu nehmen, und dieses exklusiv ODER in den entsprechenden Pufferspeicher zu schreiben.
  • Als ein Ergebnis dieser Operation werden Inhalte der (n + 1) Blöcke so eingestellt, dass deren exklusiv ODER zu 0 wird, sodass der Block der Fehlfunktionsplattenvorrichtung wiedergewonnen werden kann.
  • Im folgenden wird dieses dritte Ausführungsbeispiel des Datenserversystems detaillierter erläutert.
  • In diesem dritten Ausführungsbeispiel weist das System eine in 38 gezeigte Gesamtkonfiguration auf.
  • Dieses System von 38 umfasst: Plattenvorrichtungen 202 zum Speichern der RAID-Gruppen bildenden Daten; eine Vielzahl von Plattensteuereinheiten 204 zum Auslesen der erwünschten Daten von den Plattenvorrichtungen 202; und eine Vielzahl von Pufferspeichern 208, bereitgestellt in Entsprechung zu den Plattensteuereinheiten 204, um die durch die jeweiligen Plattensteuereinheiten 204 ausgelesenen Daten zu erhalten; einen Speichercontroller 207 für jeden Pufferspeicher 208; eine Berechnungseinheit 203, die zwischen jeder Plattensteuereinheit 204 und jedem Satz Speichercontroller 207 und Pufferspeicher 208 angeschlossen ist; und eine Zentralsteuereinheit 210 zum Steuern des Systems in seiner Gesamtheit. Die Berechnungseinheiten 203 sind ihrerseits in Serie verbunden.
  • Es wird darauf hingewiesen, dass die Plattenvorrichtungen 202 nicht notwendiger Weise integrierte Komponenten des Datenserversystems sind, und dass sie durch den Nutzer je nach Bedarf bereitgestellt werden können.
  • Diese 38 zeigt ein System mit einer Paritätsplatt mit Bezug auf vier Platten, jedoch kann ein Verhältnis der Parität zu der Anzahl von Platten frei eingestellt werden, sodass verschiedene andere Konfigurationen möglich sind, wie beispielsweise eine Konfiguration mit einer Parität mit Bezug auf acht Platten, als Beispiel.
  • Es ist möglich, an dem Verbindungsport der Plattensteuereinheit 204 eine Vielzahl von Plattenvorrichtungen 202 anzuschließen. Wenn beispielsweise die SCSI als die Plattenschnittstelle verwendet wird, ist es möglich, bis zu sieben Vorrichtungen mit einer einzelnen SCSI zu verbinden. Weiter ist es möglich, eine größere Anzahl von Plattenvorrichtungen 202 anzuschließen, indem eine Vielzahl von SCSIs mit der Plattensteuereinheit 204 verbunden wird.
  • Die Berechnungseinheit 203 weist vier Anschlüsse auf, einschließlich einem U-Anschluss, einem D-Anschluss, einem L-Anschluss und einem R-Anschluss, und die in Serie mit der oberen und unteren Berechnungseinheit 203 mittels dem U-Anschluss und dem D-Anschluss verbunden sind.
  • Die Plattensteuereinheit 204 ist mit der entsprechenden Berechnungseinheit 203 mittels des L-Anschluss verbunden, während der Pufferspeicher 208 mit der entsprechenden Berechnungseinheit 203 über den Speichercontroller 207 mittels des R-Anschluss verbunden ist.
  • Der U-Anschluss der Berechnungseinheit 203 an der obersten Stufe ist auf 0 festgelegt, während der D-Anschluss der Berechnungseinheit 203 auf der untersten Stufe ein Dateneingangs/Datenausgangsanschluss ist.
  • Der Speichercontroller 207 speichert die Daten von der Berechnungseinheit 203 an einer vorgegebenen Adresse des Pufferspeichers 208 und übergibt die von einer bestimmten Adresse des Pufferspeichers 208 ausgelesenen Daten an die Berechnungseinheit 203.
  • Die Plattensteuereinheit 204 überträgt die Daten zum Pufferspeicher 208 über die Berechnungseinheit 203 und den Speichercontroller 207.
  • Die Zentralsteuereinheit 210 empfängt eine Dateneingabeanfrage, ein Fehlfunktionssignal von der Platte, und ein Signal zur Anzeige einer Beendigung des Plattenaustauschs, und führt die Steuerung des Datenschreibens und des Datenlesens mit Bezug auf einen jeden Pufferspeicher 208 aus, die Schaltsteuerung der Funktion jeder Berechnung 203, und die Ausgabe eines Befehls zu jeder Plattensteuereinheit 204. Zusätzlich benachrichtigt im Falle der permanenten Fehlfunktion der Platte die Zentralsteuereinheit 210 diese Tatsache nach außen.
  • 39 zeigt eine beispielhafte interne Konfiguration der Berechnungseinheit 203, die die Funktionen (1) bis (8) wie oben beschrieben verwirklicht.
  • Wie in 39 gezeigt, umfasst die Berechnungseinheit 203 Torschaltungen 290 bis 293, UND-Schaltungen 294 und 299, und exklusiv ODER (EXOR) Schaltungen 295 bis 297, und einen Multiplexer 298.
  • Die Torschaltung 290 weist einen durch ein UPOE_X Signal gesteuerten Leitungszustand auf, die Torschaltung 291 weist einen durch ein DISKOE_X Signal gesteuerten Leitungszustand auf, die Torschaltung 292 weist einen durch ein DNOE_X Signal gesteuerten Leitungszustand auf, und die Torschaltung 293 weist einen durch ein MEMOE_X Signal gesteuerten Leitungszustand auf.
  • Die UND-Schaltung 294 weist zwei Eingänge auf, und ein MEMEN_X Signal wird an einen von diesen eingegeben.
  • Die UND-Schaltung 299 weist zwei Eingänge auf, und ein UPDIS_X Signal wird an einen von diesen eingegeben.
  • Der Multiplexer 298 weist zwei Eingänge A und B auf, und sein Eingang wird zu einem dieser geschaltet in Übereinstimmung mit einem BUFINSEL_X Signal.
  • Jede Berechnungseinheit 203 führt die folgenden Betriebsvorgänge in Übereinstimmung mit den Werten der verschiedenen Signale aus, um die Paritätserzeugung zu realisieren, das Lesen der richtigen Daten, und das Wiedergewinnen der Daten unter Verwendung der Parität.
    • (1) Das exklusiv ODER der Eingänge von dem U-Anschluss und dem D-Anschluss wird abgenommen, und von dem R-Anschluss ausgegeben (d. h. es wird an den Pufferspeicher 208 übergeben). Falls die von dem U-Anschluss eingegebenen Daten 0 sind, werden die von dem D-Anschluss eingegebenen Daten in den Pufferspeicher 208 geschrieben, so wie sie sind.
    • (2) Die Eingabe von dem D-Anschluss wird von dem R-Anschluss ausgegeben (d. h. sie wird zum Pufferspeicher 208 übergeben), und wird auch vom U-Anschluss ausgegeben.
    • (3) Das exklusiv ODER der von dem R-Anschluss eingegebenen Daten (d. h. der von dem Pufferspeicher 208 ausgelesenen Daten) und der Daten von dem U-Anschluss wird erlangt, und vom D-Anschluss ausgegeben. Falls die Daten von dem U-Anschluss 0 sind, werden die von dem Pufferspeicher 208 ausgelesenen Daten zum D-Anschluss ausgegeben wie sie sind.
    • (4) Das exklusiv ODER der von dem R-Anschluss (d. h. der von dem Pufferspeicher 208 ausgelesenen Daten) und der Daten von dem D-Anschluss wird genommen, und vom U-Anschluss ausgegeben. Falls die von dem D-Anschluss eingegebenen Daten 0 sind, werden die von dem Pufferspeicher 208 ausgelesenen Daten zum U-Anschluss ausgegeben wie sie sind.
    • (5) Die von dem U-Anschluss eingegebenen Daten werden vom D-Anschluss unter Umgehung seiner selbst ausgegeben.
    • (6) Die von dem D-Anschluss eingegebenen Daten werden vom U-Anschluss unter Umgehung seiner selbst ausgegeben.
    • (7) Die vom L-Anschluss eingegebenen Daten werden vom R-Anschluss unter Umgehung seiner selbst ausgegeben. Dieser Betrieb wird zu einem Zeitpunkt eines Schreibens der Daten von dem mit der Plattenvorrichtung 202 verbundenen Verbindungsanschluss in dem Pufferspeicher 208 verwendet.
    • (8) Die von dem R-Anschluss eingegebenen Daten werden vom L-Anschluss unter Umgehung seiner selbst ausgegeben. Dieser Betrieb wird zum Zeitpunkt eines Sendens der von dem Pufferspeicher 208 ausgelesenen Daten an den mit der Plattenvorrichtung 202 verbundenen Verbindungsport verwendet.
    • (9) Alle Anschlüsse sind in den nicht Nichtleitungszustand eingestellt.
  • Als nächstes wird der Betrieb dieses dritten Ausführungsbeispiels detaillierter mit Bezug auf die 40 bis 49 beschrieben. Dabei zeigen die 46 und 48 die Werte der der jeder Berechnungseinheit 203 zu den verschiedenen Betriebsstufen übergebenen verschiedenen Signale, während 41, 43, 45, 47 und 49 die Grundzüge des Betriebs an den verschiedenen Betriebsstufen zeigen, zusammen mit einer Anzeige eines Zustands jeder Berechnungseinheit 203 als einen (1) bis (9), oben beschrieben, zu den verschiedenen Betriebsstufen.
  • (1) Zuerst wird das Schreiben auf die Plattenvorrichtung 202 detailliert erläutert.
  • Im Falle eines Schreibens neuer Daten auf die Plattenvorrichtung 202 werden die Daten zuerst in n Blöcke unterteilt. Dann wird der erste bis (n – 1)-te Block sequentiell in die Pufferspeicher 208 geschrieben (Operation A), und der n-te Block wird in den (n + 1)-ten Pufferspeicher 208 geschrieben, während das exklusiv ODER des vorhergehend geschriebenen ersten bis (n – 1)-ten Blocks und des n-ten Blocks genommen wird, und das exklusiv ODER wird in den n-ten Pufferspeicher 208 geschrieben (Operation B).
  • Im folgenden werden diese Operationen A und B detaillierter erläutert.
  • Operation A
  • Die zu schreibenden Daten werden in vier Blöcke gleicher Länge aufgeteilt.
  • Die Funktionen der Berechnungseinheiten 203 werden durch die Zentralsteuereinheit 210 geschaltet, sodass der Block 0 in den Pufferspeicher 208 an der #0 Ebene geschrieben wird, der Block 1 in den Pufferspeicher 208 an der #1 Ebene geschrieben wird und der Block 2 folgend in den Pufferspeicher 208 an der #2 Ebene geschrieben wird.
  • 40 zeigt die an die Berechnungseinheiten 203 im Falle eines Schreibens in den Pufferspeicher 208 an der #1 Ebene gegebenen Signale, und 41 zeigt den Datenpfad zum Schreiben in den Pufferspeicher 208 an der #1 Ebene.
  • Operation B
  • Hier wird der Block 3 in den Pufferspeicher 208 an der #4 Ebene geschrieben, während die Parität erzeugt wird und in den Pufferspeicher 208 an der #3 Ebene geschrieben wird.
  • Die an die Berechnungseinheiten 203 an dieser Stelle gegebenen Signale sind, wie dies in 42 gezeigt ist, und der Datenfluss und der Betrieb jeder Berechnungseinheit 203 an dieser Stelle ist, wie in 43 gezeigt.
  • Der Block 3 wird in den Pufferspeicher 208 an der #4 Ebene geschrieben, wenn die Berechnungseinheit 203 auf der #4 Ebene den oben beschriebenen Betrieb von (2) ausführt.
  • Weiter wird an dieser Stelle das exklusiv ODER der Blöcke 0 bis 2, bereits in den Pufferspeichern 208 an der #0 bis #2 Ebene gespeichert, vom D-Anschluss der Berechnungseinheit 203 auf der #2 Ebene ausgegeben, und das exklusiv ODER dieser Ausgabe und des Blocks 3, ausgegeben von dem U-Anschluss der Berechnungseinheit 203 auf der #4 Ebene, wird als Parität in den Pufferspeicher 208 an der #3 Ebene geschrieben.
  • Dabei werden die in die Pufferspeicher 208 an der #0 bis #4 Ebene geschriebenen Daten, d. h. der Block 0. der Block 1, der Block 2, die Parität beziehungsweise der Block 3 in die entsprechenden Plattenvorrichtungen 202 auf der #0 bis #4 Ebene geschrieben. In diesem Fall führen alle fünf Berechnungseinheiten 203 den oben beschriebenen Betrieb von (8) aus.
  • Als nächstes wird der Reparaturbetrieb im Falle der permanenten Fehlfunktion der Plattenvorrichtung 202 detailliert beschrieben.
  • Zu einem Zeitpunkt eines Lesens von der Plattenvorrichtung 202 zum Pufferspeicher 208, wenn ein die Fehlfunktion der Plattenvorrichtung 202 anzeigendes Signals an dem mit einer Plattenvorrichtung 202 verbundenen Verbindungsport eingegeben wird, zeichnet die Zentralsteuereinheit 210 die Plattenvorrichtung 202 mit der Fehlfunktion auf, und teilt das Auftreten der Fehlfunktion an dieser Plattenvorrichtung 202 nach außen mit. Dann werden nach dem Austausch der fehlerhaften Plattenvorrichtung die anderen Daten in Entsprechung zur fehlerhaften Plattenvorrichtung 202 von den Verbindungsports, mit Ausnahme dem, der mit der fehlerhaften Plattenvorrichtung 202 verbunden ist, zu den n Sätzen von Pufferspeichern 208 ausgelesen, Operation C, und das exklusiv ODER der Inhalte dieser n Sätze von Pufferspeichern wird abgenommen und in den verbleibenden einen Pufferspeicher 208 geschrieben (Operation D). Dann wird der Befehl zum Schreiben von diesem Pufferspeicher 208 zur Plattenvorrichtung 202, die nach der Fehlfunktion ausgetauscht wurde, ausgegebenen (Operation E).
  • Im folgenden werden die Operationen C bis E mit weiteren Details erläutert.
  • Operation C
  • Hier wird angenommen, dass die fehlerhafte Plattenvorrichtung 202 mit der Plattensteuereinheit 204 an der #1 Ebene verbunden war.
  • Wenn das die Fehlfunktion der Plattenvorrichtung 202 anzeigende Signal von der Plattensteuereinheit 204 an der #1 Ebene für mehr als eine vorgegebene Anzahl von Malen mitgeteilt wurde, urteilt die Zentralsteuereinheit 210, dass diese Plattenvorrichtung 202 permanent fehlerhaft ist. Dann gibt die Zentralsteuereinheit 210 das Signal nach außen aus, um die Notwendigkeit des Austauschs der fehlerhaften Plattenvorrichtung 202 mitzuteilen.
  • Nach einem Austausch der Plattenvorrichtung 202 steuert die Zentralsteuereinheit 210 das Schreiben der Daten von den mit den Plattenvorrichtungen 202 verbundenen Verbindungsports in die entsprechenden Pufferspeicher 208, zum Zwecke einer Wiedergewinnung der ursprünglich in der fehlerhaften Plattenvorrichtung 202 gespeicherten Daten. An dieser Stelle werden die Befehle zum Lesen an die Plattensteuereinheiten 204 ausgegeben, sodass die von den Plattenvorrichtungen 202 zu lesenden Blöcke solche Blöcke sind, für die das exklusiv ODER aller (n + 1) Blöcke zu 0 wird.
  • Beispielsweise werden in diesem Beispiel die Befehle zum Lesen der Datenblöcke, die mit den ursprünglich in der fehlerhaften Plattenvorrichtung 202 gespeicherten Daten die RAID-Blöcke bilden, an die Plattensteuereinheiten 204 an der #0, #2, #3 und #4 Ebene ausgeben.
  • Die Plattensteuereinheiten 204 auf der #0, #2, #3 und #4 Ebene, die diese Befehle empfangen haben, lesen dann die Datenblöcke von den jeweiligen Plattenvorrichtungen 202 aus, und schreiben diese in die entsprechenden Pufferspeicher 208 an der #0, #2, #3 und #4 Ebene.
  • An dieser Stelle werden die Funktionen der Berechnungseinheiten 203 durch die in 44 gezeigten Signale geschaltet, und der Datenpfad ist wie, wie in 45 gezeigt. In diesem Fall wird jedoch der von dem Pufferspeicher 208 auf der #1 Ebene ausgelesene Datenblock nicht verwendet.
  • Operation D
  • Wenn die Datenblöcke ausgelesen werden, werden die Wiedergewinnungsdaten in dem Pufferspeicher 208 auf der #1 Ebene erzeugt. Dabei wird das exklusiv ODER der Datenblöcke in den Pufferspeichern 208 auf der #0, #2, #3 und #4 Ebene abgenommen, und in den Pufferspeicher 208 an der #1 Ebene eingeschrieben.
  • Die an die Berechnungseinheiten 203 an dieser Stelle gegebenen Signale sind, wie in 46 gezeigt. Dabei wird der Berechnungseinheit 203 auf der #0 Ebene die Eingabe 0 übergeben. Der Fluss von Daten und der Betrieb jeder Berechnungseinheit 203 an dieser Stelle ist, wie in 47 gezeigt.
  • Operation E
  • Wenn die Wiedergewinnungsdaten in den Pufferspeicher 208 auf der #1 Ebene geschrieben werden, wird dieser Datenblock in die ausgetauschte Plattenvorrichtung 202 geschrieben, und der Reparaturbetrieb ist beendet.
  • An dieser Stelle werden die Funktionen der Berechnungseinheiten 203 durch die in 48 gezeigten Signale geschaltet, und der Datenpfad ist, wie in 49 gezeigt.
  • Es wird darauf hingewiesen, dass die Kapazität der Plattenvorrichtung 202 normalerweise größer als die des Pufferspeichers 208 ist, sodass bei dem Reparaturbetrieb zum Zeitpunkt des Plattenaustauschs die Kapazität der Plattenvorrichtung 202 insgesamt in eine Vielzahl von Datenblöcke aufgeteilt ist, um einen Datenblock durch einen Reparaturbetrieb zu reparieren, und dass die Plattenvorrichtung 202 insgesamt durch eine Wiederholung dieses Reparaturbetriebs für eine Vielzahl von Malen mit Bezug auf jeden der Vielzahl von Datenblöcken repariert wird.
  • Wie erläutert, ist es in Übereinstimmung mit diesem dritten Ausführungsbeispiel möglich, die Erzeugung der auf die Platte zu schreibenden Parität und die Erzeugung der für ein Wiedergewinnen der fehlfunktionierenden Platte notwendige Information mit einer hohen Geschwindigkeit mittels einer kompakten Hardwarestruktur zu realisieren.
  • Es sollte offensichtlich sein, dass, obwohl ein Fall unter Verwendung eines exklusiv ODER in diesem dritten Ausführungsbeispiel beschrieben wurde, ein Fall eines Verwendens eines exklusiv UND ebenso einfach durch einfache Schaltungsmodifikationen realisiert werden kann.
  • Zusätzlich sind die Berechnungseinheiten 203 in diesem dritten Ausführungsbeispiel in Serie verbunden, es ist jedoch auch möglich, Pipelineregister an Verbindungsabschnitten der Berechnungseinheit 203 bereitzustellen, um die Zeitbegrenzung zu erfüllen.
  • Darüber hinaus wurde in diesem dritten Ausführungsbeispiel ein Verfahren zum Durchführen der Übertragung von der Plattenvorrichtung 202 zu dem Pufferspeicher 208 und des sequentiellen Lesens von dem Pufferspeicher 208 beschrieben, es ist jedoch bei jedem Pufferspeicher 208 auch möglich, den doppelten Puffer zu bilden, sodass die Übertragung von der Plattenvorrichtung 202 und das Lesen von dem Pufferspeicher 208 parallel ausgeführt werden kann.
  • Zusätzlich ist es in einem Fall, in dem die Plattenvorrichtung 202 den Wiederholungsversuchsbetrieb aufgrund eines temporären Fehlers beim Plattenlesen ausführt, und der Zugriff nicht in einer vorgegebenen Zeitperiode beendet ist, auch möglich, dass die Plattensteuereinheit 204 diesen Fall äquivalent zum Fall der Fehlfunktion der Plattenvorrichtung 202 behandelt, durch Mitteilen des aktiven ERROR_X Signals, um einen Fehler in der Plattenvorrichtung 202 mitzuteilen.
  • Es wird auch darauf hingewiesen, dass dieses dritte Ausführungsbeispiel auf das oben beschriebene erste Ausführungsbeispiel anwendbar ist. Im Falle eines Anwendens des dritten Ausführungsbeispiels auf das System von 5 entsprechen die Plattenvorrichtungen 202 von 38 den Datenspeichervorrichtungen 2 von 5, die Plattensteuereinheiten 204 von 38 entsprechen den Datenspeicher-Steuereinheiten 4 von 5, und die Zentralsteuereinheit 210 von 38 entspricht der Zentralsteuervorrichtung 10 von 5. Zusätzlich entsprechen die Pufferspeicher 208 von 38 den Pufferspeichervorrichtungen 8, die in 5 mit einer Kommunikations-Steuervorrichtung 6 verbunden sind. Die Berechnungseinheit 203 ist zwischen der Datenspeicher-Steuervorrichtung 4 und einem oder mehreren Pufferspeichervorrichtungen 8 entsprechend dieser Datenspeicher-Steuervorrichtung 4 anzuschließen. Eine beispielhafte Konfiguration, in der dieses dritte Ausführungsbeispiel auf diese Weise an das oben beschriebene erste Ausführungsbeispiel angepasst ist, ist in 50 gezeigt.
  • Es wird weiter darauf hingewiesen, dass im Falle eines Anwendens dieses Ausführungsbeispiels auf das System von 15 oder 16 die Berechnungseinheit 203 zwischen einer Gruppe der Datenspeicher-Steuereinheiten 4, die den gleichen Bus 20 gemeinsam nutzen, und einer oder mehreren Pufferspeichervorrichtungen 8 entsprechend dieser Gruppe der Datenspeicher-Steuereinheiten 4 anzuschließen ist.
  • In Übereinstimmung mit der durch das oben beschriebene zweite und dritte Ausführungsbeispiel bereitgestellten Datenservervorrichtung können durch ein geeignetes Betreiben der Berechnungseinheiten die folgenden Operationen realisiert werden.
  • (i) Es wird angenommen, dass eine Gruppe bildende (n – 1) Daten in den mit den Plattensteuereinheiten verbundenen Plattenvorrichtungen gespeichert sind. Dann ist es möglich, die Daten jeder Plattenvorrichtung in der entsprechenden Pufferspeichereinheit zu speichern.
  • Dieser Betrieb kann durch ein Betreiben der Berechnungseinheit zur Ausgabe der von der Seite der Plattensteuereinheit eingegebenen Daten direkt zur Seite der Pufferspeichereinheit realisiert werden.
  • Es ist weiter möglich, die Daten der erwünschten Plattenvorrichtungen alleine in den entsprechenden Pufferspeichereinheiten zu speichern.
  • (ii) Es ist möglich, die in der erwünschten Pufferspeichereinheit gespeicherten Daten von der Berechnungseinheit der untersten Stufe zu gewinnen.
  • Dieser Betrieb kann realisiert werden, indem die mit der erwünschten Pufferspeichereinheit verbundene Berechnungseinheit derart betrieben wird, dass sie die von dem Anschluss auf der Seite der Pufferspeichereinheit eingegebenen Daten an den Anschluss der Seite der niedrigeren Stufe ausgibt, und indem jede Berechnungseinheit der niedrigeren Stufe so betrieben wird, dass sie die von dem Anschluss der Seite der oberen Stufe eingegebenen Daten an den Anschluss der Seite der unteren Stufe ausgibt.
  • (iii) Es ist möglich, dass exklusiv ODER oder das exklusiv UND der in den Pufferspeichereinheiten, mit Ausnahme der erwünschten Pufferspeichereinheit, gespeicherten Daten von der Berechnungseinheit der untersten Stufe zu gewinnen.
  • Dieser Betrieb kann realisiert werden, indem die mit der erwünschten Pufferspeichereinheit verbundene Berechnungseinheit so betrieben wird, dass sie die von dem Anschluss der Seite der oberen Stufe eingegebenen Daten an den Anschluss der Seite der unteren Stufe ausgibt, und in dem jede andere Berechnungseinheit so betrieben wird, dass sie das exklusiv ODER oder das exklusiv UND der von dem Anschluss der Seite der Pufferspeichereinheit eingegebenen Daten und der von dem Anschluss der Seite der oberen Stufe eingegebenen Daten an den Anschluss der unteren Stufe ausgibt.
  • Wenn die in den (n + 1) Pufferspeichereinheiten gespeicherten Daten, die die RAID-Gruppe bildenden Daten sind, d. h., wenn n ursprüngliche Daten und deren Parität mit Ausnahme eines Daten(-Satzes) verfügbar sind, können die fehlenden Daten wiedergewonnen werden, und von der Berechnungseinheit der untersten Stufe gewonnen werden.
  • (iv) Die von der Berechnungseinheit der untersten Stufe eingegebenen Daten können an der erwünschten Pufferspeichereinheit gespeichert werden.
  • Der Betrieb kann realisiert werden, indem die mit der erwünschten Pufferspeichereinheit verbundenen Berechnungseinheit derart betrieben wird, dass sie die von dem Anschluss der Seite der unteren Stufe eingegebenen Daten an den Anschluss der Seite der Pufferspeichereinheit ausgibt, und in dem jede Berechnungseinheit einer jeder unteren Stufe so betrieben wird, dass sie die von dem Anschluss der Seite der unteren Stufe eingegebenen Daten an den Anschluss der Seite der oberen Stufe ausgibt.
  • (v) Es wird angenommen, dass eine Gruppe bildende (n + 1) Daten in den Pufferspeichereinheiten gespeichert sind. Dann ist es möglich, die Daten einer jeden Pufferspeichereinheit in der entsprechenden Datenvorrichtung zu speichern.
  • Dieser Betrieb kann realisiert werden, indem die Berechnungseinheit derart betrieben wird, dass sie die von der Seite der Pufferspeichereinheit eingegebenen Daten direkt an die Seite der Datensteuereinheit ausgibt.
  • Es ist weiter möglich, die Daten der erwünschten Pufferspeichereinheiten alleine in entsprechenden Plattenvorrichtungen zu speichern.
  • (vi) Es ist möglich, die an der mit der erwünschten Pufferspeichereinheit verbundenen Berechnungseinheit eingegebenen Daten in der Pufferspeichereinheit entsprechend der Berechnungseinheit der untersten Stufe zu speichern, während das exklusiv ODER oder das exklusiv UND der eingegebenen Daten und der in den Pufferspeichereinheiten mit Ausnahme der erwünschten Pufferspeichereinheit und der Pufferspeichereinheit entsprechend der Berechnungseinheit der untersten Stufe gespeicherten Daten, d. h. die Parität dieser Daten, in der erwünschten Pufferspeichereinheit gespeichert werden.
  • Dieser Betrieb kann realisiert werden, indem die mit der erwünschten Pufferspeichereinheit verbundene bestimmte Berechnungseinheit derart betrieben wird, dass sie das exklusiv ODER oder das exklusiv UND der von dem Anschluss der Seite der oberen Stufe eingegebenen Daten und der von dem Anschluss der Seite der unteren Stufe eingegebenen Daten an den Anschluss der Seite der Pufferspeichereinheit ausgibt, indem jede existierende Berechnungseinheit an der oberen Stufe im Vergleich zur bestimmten Berechnungseinheit derart betrieben wird, dass sie das exklusiv ODER oder das exklusiv UND der von dem Anschluss der Seite der Pufferspeichereinheit eingegebenen Daten und der von dem Anschluss der Seite der oberen Stufe eingegebenen Daten an den Anschluss der Seite der unteren Stufe ausgibt, indem die Berechnungseinheit der untersten Stufe so betrieben wird, dass sie die von dem Anschluss der Seite der unteren Stufe eingegebenen Daten an den Anschluss der Seite der oberen Stufe und den Anschluss der Seite der Pufferspeichereinheit ausgibt, indem alle anderen existierenden Berechnungseinheiten so betrieben werden, dass sie das exklusiv ODER oder das exklusiv UND der von dem Anschluss der Seite der Pufferspeichereinheit eingegebenen Daten und der von dem Anschluss der Seite der unteren Stufe eingegebenen Daten an den Anschluss der Seite der oberen Stufe ausgeben, und indem 0 für einen Fall einer Verwendung des exklusiv ODER oder 1 für einen Fall einer Verwendung des exklusiv UND von dem Anschluss der Seite der oberen Stufe der Berechnungseinheit der obersten Stufe eingegeben wird.
  • (vii) Es ist möglich, das exklusiv ODER oder das exklusiv UND der in den Pufferspeichereinheiten mit Ausnahme der erwünschten Pufferspeichereinheit gespeicherten Daten an der erwünschten Pufferspeichereinheit zu speichern.
  • Dieser Betrieb kann realisiert werden, indem die mit der erwünschten Pufferspeichereinheit verbundene bestimmte Berechnungseinheit so betrieben wird, dass sie das exklusiv ODER oder das exklusiv UND der von dem Anschluss der Seite der oberen Stufe eingegebenen Daten und der von dem Anschluss der Seite der unteren Stufe eingegebenen Daten an den Anschluss der Seite der Pufferspeichereinheit ausgibt, indem jede verbleibende Berechnungseinheit an der oberen Stufe zur bestimmten Berechnungseinheit so betrieben wird, dass sie das exklusiv ODER oder das exklusiv UND der von dem Anschluss der Seite der Pufferspeichereinheit eingegebenen Daten und der von dem Anschluss der Seite der oberen Stufe eingegebenen Daten zum Anschluss der Seite der unteren Stufe ausgibt, indem jede existierende Berechnungseinheit an der unteren Stufe zur bestimmten Berechnungseinheit so betrieben wird, dass sie das exklusiv ODER oder das exklusiv UND der von dem Anschluss der Seite der Pufferspeichereinheit eingegebenen Daten und der von dem Anschluss der Seite der unteren Stufe eingegebenen Daten an den Anschluss der Seite der oberen Stufe ausgibt, und in dem 0 für einen Fall einer Verwendung des exklusiv ODER oder 1 für einen Fall einer Verwendung des exklusiv UND von dem Anschluss der Seite der oberen Stufe der Berechnungseinheit der obersten Stufe und den Anschluss der unteren Stufe der Berechnungseinheit der untersten Stufe eingegeben wird.
  • Wenn die in (n + 1) Pufferspeichereinheiten gespeicherten Daten die RAID-Gruppe bilden, d. h. wenn n ursprüngliche Daten und deren Parität verfügbar sind, mit Ausnahme eines Daten(-Satzes), können die Daten der erwünschten Pufferspeichereinheit, die die fehlenden Daten sein sollten, wiedergewonnen werden, und in die Plattenvorrichtung geschrieben werden.
  • Unter Bezugnahme nunmehr auf die 51 bis 60 wird das vierte Ausführungsbeispiel des Serversystems für fortlaufende Daten, das das Übertragungsverfahren für fortlaufende Daten in Übereinstimmung mit der vorliegenden Erfindung realisiert, detailliert beschrieben.
  • Das oben beschriebene zweite und dritte Ausführungsbeispiel ist auf einen Fall mit RAID 4 oder RAID 5 gerichtet. In diesem zweiten und dritten Ausführungsbeispiel sind die Daten in Einheiten von einigen Blöcken über einer Vielzahl von Plattensteuervorrichtungen angeordnet.
  • Im Gegensatz dazu wird in diesem vierten Ausführungsbeispiel ein Fall einer Verwendung von RAID 3 für die fortlaufenden Daten als eine alternative Ausführungsform beschrieben.
  • In diesem vierten Ausführungsbeispiel weist das System eine in 51 gezeigte Gesamtkonfiguration auf, in der eine Vielzahl von Plattensteuereinheiten 304, die mit jeweiligen Plattenvorrichtungen 302 verbunden sind, mit jeweilig entsprechenden Speichercontrollern 307 verbunden ist, und diese Speichercontroller 307 sind mit den entsprechenden Pufferspeichern 308 verbunden. Die Speichercontroller 307 sind mit einem gemeinsamen Bus Vbus verbunden, und dieser Vbus ist mit einem RAID-Controller 303 verbunden. Der RAID-Controller 303 weist auch einen Eingabe/Ausgabe (I/O) Bus auf einer dem Vbus gegenüberliegenden Seite auf, an dem die Dateneingabe/Datenausgabe ausgeführt wird. Eine Zentralsteuereinheit 310 ist mit den Plattensteuervorrichtungen 304 verbunden, den Speichercontrollern 307, und dem RAID-Controller 303, um deren Operationen zu steuern.
  • Es wird darauf hingewiesen, dass die Plattenvorrichtungen 302 nicht notwendiger Weise integrierte Komponenten des Serversystems für fortlaufende Daten sind, und dass sie durch den Nutzer je nach Notwendigkeit bereitgestellt werden können.
  • Es wird auch darauf hingewiesen, dass in 51 das entsprechende Paar von Speichercontroller 307 und Pufferspeicher 308 als gemeinsam eine Pufferspeichereinheit bildend betrachtet werden kann.
  • Vor einer Beschreibung des Betriebs des Systems von 51 wird die Anordnung der bei RAID 3 verwendeten Daten in den Plattenvorrichtungen in Bezug auf 52 beschrieben.
  • Zuerst werden die fortlaufenden Daten durch ein Aufteilen in Blöcke einer vorgegebenen Länge jeweilig gehandhabt (wie beispielsweise 128 KB). Der Zugriff auf die Platte wird in einer Einheit dieses Blockes ausgeführt, innerhalb einer vorgegebenen Zeitperiode (wie beispielsweise 100 msec). Diese vorgegebene Zeitperiode wird ein Zeitschlitz genannt. Die Plattenvorrichtungen 202 sind in Gruppen aufgeteilt, als RAID-Gruppen bezeichnet. Die Plattenvorrichtungen 302 einer RAID-Gruppe werden parallel zu einem Zeitschlitz ausgelesen.
  • In einem in 52 gezeigten Beispiel sind 2 RAID-Gruppen gezeigt, auf die alternierend zugegriffen wird. Die ursprünglichen Daten werden zuerst in die RAID-Gruppen aufgeteilt und weiter wird jede RAID-Gruppe über den Plattensteuereinheiten 304 in Einheiten von Worten angeordnet. Wenn beispielsweise die ursprünglichen Daten die fortlaufenden Daten darstellen, gebildet durch Daten in Einheiten von Worten wie beispielsweise 0-1, 1-1, 2-1, 3-1, 0-2, 1-2, 2-2, 3-2, ..., werden die Daten 0-1 bis 3-100, 0-201 bis 3-300, ... der RAID-Gruppe 1 zugeordnet, während die Daten 0-101 bis 3-200, 0-301 bis 3-400, ... der RAID-Gruppe 2 zugeordnet werden. Dann werden die Daten 0-1 als die ersten Daten der Plattenvorrichtung 302 auf der #0 Zeile gespeichert, die Daten 1-1 werden als die ersten Daten der Plattenvorrichtung 302 auf der #1 Zeile gespeichert, ..., und die Daten 0-2 werden als die zweiten Daten auf der Plattenvorrichtung 302 als die #0 Zeile gespeichert, .... Mit anderen Worten werden die Daten m-n als die n-ten Daten der Plattenvorrichtung 302 auf der #m Zeile gespeichert.
  • Darüber hinaus wird in dem Beispiel von 52 ein Paritätswort vier Worten hinzugefügt, sodass das exklusiv ODER der Daten 0-x, 1-x, 2-x und 3-x als die x-ten Daten der Plattenvorrichtung 302 auf der #4 Zeile eingegeben wird.
  • Die in einem Zeitschlitz auszulesenden Daten der RAID-Gruppe werden in die Pufferspeicher 308 in Blockeinheiten geschrieben. Dabei werden die Daten m-1, m-2, ..., m-100 in den Pufferspeicher 308 auf der #m Zeile als die Daten eines Blocks beschrieben.
  • Dann, wenn die Daten sequentiell in Worteinheiten von den Pufferspeichern 308 auf der #0, #1, #2, ... Zeile ausgelesen werden, können die ursprünglichen Daten 0-1, 1-1, 2-1, ... ausgelesen werden. Um die Daten sequentiell in Worteinheiten auszulesen ist es nützlich, den Vbus mit Zeitunterteilungen zu verwenden.
  • Somit sind in diesem vierten Ausführungsbeispiel die in den Plattenvorrichtungen 302 gespeicherten fortlaufenden Daten über einer Vielzahl von Plattensteuereinheiten 304 in Worteinheiten angeordnet, und die Plattensteuereinheiten 304 lesen die erwünschten fortlaufenden Daten in Blockeinheiten aus. Dann speichern die Pufferspeicher 308 die erwünschten fortlaufenden Daten in Blockeinheiten, und die erwünschten fortlaufenden Daten werden durch sequentielles Auslesen von Daten von den Pufferspeichern 308 in Worteinheiten gewonnen.
  • Im folgenden wird der Betrieb des Systems von 51 detailliert beschrieben, während auch die detaillierte Konfiguration des RAID-Controllers 303 beschrieben wird.
  • Zuerst wird der Betrieb zur Korrektur der Fehlfunktion zum Zeitpunkt des Plattenlesens mit Bezug auf 53 beschrieben. Dabei werden hauptsächlich die Operationen der Pufferspeicher 308 und des RAID-Controllers 303 beschrieben.
  • Wenn die Fehlfunktion der Plattenvorrichtung 302 auftritt, wird das Signal von der Plattensteuereinheit 304 zur Zentralsteuereinheit 310 gesendet, und in Antwort darauf bestimmt die Zentralsteuereinheit 310 eine Art zur Steuerung des RAID-Controllers 303.
  • In 53 wird angenommen, dass die Fehlfunktion in der Plattenvorrichtung 302 auf der #2 Ebene aufgetreten ist. In diesem Fall weist der Pufferspeicher 308 auf der #2 Ebene den fehlerhaften Wert auf. Zum Zeitpunkt eines Auslesens der Daten von den Pufferspeichern 308 zu dem Ausgang gibt die Zentralsteuereinheit 310 das Steuersignal zur Verwendung des Vbus in Zeitunterteilung von den Pufferspeichern 308 aus, um so die Daten in einer Reihenfolge "a", "b", "d" und in "e" in den RAID-Controller 303 einzugeben. Ein innerhalb des RAID-Controllers 303 bereitgestelltes FIFO 349 dient einer Speicherung von den "a", "b" und "d" von diesen Daten entsprechend dem Befehl von der Zentralsteuereinheit 310.
  • Auf der anderen Seite speichert ein Akkumulator 347 den Wert des exklusiv ODER von "a", "b", "d" und "e", was durch eine exklusiv ODER Einheit 345 berechnet wird, d. h. den in der fehlerhaften Plattenvorrichtung 302 gespeicherten Wert "c". Zum Schalten der Ausgabe eines Multiplexers 341 zu geeigneten Zeitvorgaben zwischen den Werten in dem FIFO 349 und dem Wert in dem Akkumulator 347 entsprechend dem Befehl von der Zentralsteuereinheit 310 können die Daten "a", "b", "c" und "d" in dieser Reihenfolge als die Ausgabe ausgegeben werden.
  • 54 zeigt den in 53 angezeigten Betrieb in Form eines Zeitablaufdiagramms. Bei den Zyklen 1, 2, 4 und 5 werden die Werte "a", "b", "d" und "e" auf den Vbus ausgelesen, und ein FIFO Schreibsignal zum Schreiben nur der Werte "a", "b" und "d" wird an das FIFO 349 in Übereinstimmung mit dem Befehl von der Zentralsteuereinheit 310 ausgegeben. Zusätzlich wird ein FIFO Lesesignal von der Zentralsteuereinheit 310 zu Zeitvorgaben ausgegeben, die sich von denen für ein Ausgeben des Wertes "c" vom Akkumulator 347 unterscheiden, um so die Daten "a", "b" und "d" vom FIFO 349 auszulesen.
  • Im obigen Beispiel wurde ein Fall der in der Plattenvorrichtung 302 auf der #2 Ebene 3 auftretenden Fehlfunktion beschrieben, wenn jedoch keine Fehlfunktion vorliegt, reicht es aus, den RAID-Controller 303 so zu steuern, dass die Daten von dem Vbus einfach durch das FIFO 349 hindurchtreten. Anderweitig, sogar im Falle ohne Fehlfunktion, ist es möglich, die Steuerung basierend auf einer Annahme auszuführen, dass eine einer Vielzahl von Pufferspeichern 308 einen fehlerhaften Wert aufweist.
  • Als nächstes wird der Betrieb zum Schreiben der Daten in die Plattenvorrichtung 302 in Bezug auf 55 beschrieben. Das Datenschreiben tritt in einem Fall eines Ladens der Inhalte der Filme, etc. in die Plattenvorrichtungen 302 in beispielsweise einer Anwendung auf einem Videoserver auf. Für dieses Datenschreiben kann man einen Fall betrachten, bei dem die Daten an den RAID-Controller 303 von einem Netz über eine Kommunikations-Steuereinheit gegeben werden, und einen Fall, bei dem eine Vorrichtung wie beispielsweise ein Bandlaufwerk oder ein Videocodierer direkt mit dem RAID-Controller 303 verbunden ist.
  • Als Eingang des RAID-Controllers 303 werden die zeitseriellen Daten in Worteinheiten in einer Reihenfolge "a", "b", "c" und "d" eingegeben. Diese Daten werden sequentiell an den Vbus übergeben, während das exklusiv ODER "e" dieser Daten "a", "b", "c" und "d" durch eine exklusiv ODER Einheit 335 und einen Akkumulator 337, bereitgestellt im RAID-Controller 303, berechnet wird. Dann wird die Ausgabe eines Multiplexers 331 zur Ausgabe der Daten "e" auf den Vbus geschaltet.
  • 56 zeigt ein Zeitablaufdiagramm für diesen Fall. An den Vbus werden die Daten "a", "b", "c", "d" und "e" in dieser Reihenfolge ausgegeben, und diese Daten werden in den Pufferspeichern "1" des Pufferspeichers (5) sequentiell eingeschrieben. Wenn ein Zeitschlitz-Teildatensatz in den Pufferspeicher 308 gespeichert ist, werden die Daten in die Plattenvorrichtung 302 von der Plattensteuereinheit 304 in Übereinstimmung mit dem Befehl von der Zentralsteuereinheit 310 geschrieben. Mittels des in Verbindung mit 55 beschriebenen Betriebs wird es möglich, die Parität mittels der Hardware zu einem Zeitpunkt eines Schreibens der Daten in die Datenvorrichtung 302 zu erzeugen.
  • Wenn nun die Fehlfunktion der Plattenvorrichtung in der RAID-Konfiguration auftritt, gibt es eine Notwendigkeit zum Austauschen der fehlerhaften Plattenvorrichtung, und zur Wiedergewinnung der in der fehlerhaften Plattenvorrichtung gespeicherten Daten in der neu eingesetzten Plattenvorrichtung. Dieser Betrieb wird realisiert, indem zuerst die fehlerhafte Plattenvorrichtung ausgetauscht wird, und das exklusiv ODER der zu den gleichen RAID-Gruppen wie die fehlerhafte Plattenvorrichtung gehörenden Plattenvorrichtungen in die neue Plattenvorrichtung geschrieben wird. Dabei ist die Kapazität der Plattenvorrichtung so groß, dass sie nicht innerhalb eines Zeitschlitzes gehandhabt werden kann, sodass die fehlerhafte Plattenvorrichtung über einer Vielzahl von Zeitschlitzen wiedergewonnen wird.
  • 57 zeigt diesen Wiedergewinnungsbetrieb, bei dem angenommen wird, dass die auf der #2 Ebene angeschlossene Plattenvorrichtung 302 die Fehlfunktion bewirkt hat und dann ausgetauscht wurde. Zuerst werden in den Pufferspeicher (1), den Pufferspeicher (2), den Pufferspeicher (4) und den Pufferspeicher (5) die ein Zeitschlitz Teildaten von den zur gleichen RAID-Gruppe wie die fehlerhafte Plattenvorrichtung 302 gehörenden Datenvorrichtungen 302 kopiert.
  • Als nächstes werden diese Daten zum Vbus in Worteinheiten in einer Reihenfolge von "a", "b", "d" und "e" übertragen. Der diese Werte vom Vbus empfangende RAID-Controller 303 berechnet das exklusiv ODER "c" dieser Werte an der exklusiv ODER Einheit 345, und speichert diesen Wert "c" im Akkumulator 347. Dann wird bei einer geeigneten Zeitvorgabe dieser Wert "c" zum Vbus ausgegeben.
  • 58 zeigt ein Zeitablaufdiagramm für diesen Fall. Bei den Zyklen 1, 2, 4 und 5 werden die Werte "a", "b", d" und "e" ausgelesen, und das im Zyklus 5 erlangte exklusiv ODER "c" wird in den Pufferspeicher (3) zum Zyklus 7 geschrieben. Wenn diese Operation pro Wort für die gesamten ein Zeitschlitz Teildaten ausgeführt wird, werden die Daten für alle Worte in einem Zeitschlitzteil in die Plattenvorrichtung 302 vom Pufferspeicher 308 über den Speichercontroller 307 und die Plattensteuereinheit 304 in Übereinstimmung mit dem Befehl von der Zentralsteuereinheit 310 geschrieben. Durch Wiederholung dieses Betriebs für alle notwendigen Abschnitte in der ausgetauschten Plattenvorrichtung 302 können die in der fehlerhaften Plattenvorrichtung 302 gespeicherten Daten in der ausgetauschten Plattenvorrichtung 302 wiedergewonnen werden.
  • 59 zeigt den Datenpfad im RAID-Controller 303. Die Entsprechungen zwischen der Konfiguration von 59 und der in 53, 55 und 57 Gezeigten, oben beschrieben, sind wie folgt. Der Multiplexer 341 von 53 entspricht dem Multiplexer (2) 341, in 59 gezeigt, und der Puffer (2) 343, in 59 gezeigt, wurden in 53 ausgelassen. Die exklusiv ODER Einheit 345 von 53 entspricht der exklusiv ODER Einheit (2) 345, in 59 gezeigt, und der Akkumulator 347 von 53 entspricht dem Akkumulator (2) 347, in 59 gezeigt.
  • Der Multiplexer 331 von 55 entspricht dem Multiplexer (1) 331, in 59 gezeigt, und der Puffer (1) 333, in 59 gezeigt, ist in 55 ausgelassen. Der Akkumulator 337 von 55 entspricht dem Akkumulator (1) 337, in 59 gezeigt, und die exklusiv ODER Einheit 335 von 55 entspricht der exklusiv ODER Einheit (1) 335, in 59 gezeigt.
  • Der Akkumulator 347 und die exklusiv ODER Einheit 345 von 57 sind die gleichen, wie sie zu einem Zeitpunkt eines Lesens vom Pufferspeicher 308 verwendet werden, und entsprechen dem Akkumulator (2) 347 und der exklusiv ODER Einheit (2) 345, in 59 gezeigt. Der Multiplexer (1) 331, in 59 gezeigt, ist in 57 ausgelassen. Der Wert wird an den Vbus von diesem Multiplexer (1) 331 über den Puffer (1) 333 wie in 59 gezeigt gegeben.
  • 60 zeigt eine beispielhafte Konfiguration im Falle eines Anwendens dieses vierten Ausführungsbeispiels auf den Server für fortlaufende Daten, wie beispielsweise den Videoserver, was effektiv einem Fall einer Anwendung dieses dritten Ausführungsbeispiels auf das oben beschriebene erste Ausführungsbeispiel entspricht. In dieser beispielhaften Konfiguration von 60 ist der Vbus auf eine Vielzahl von Bussen aufgeteilt, sodass es möglich ist, eine große Bandbreite für die Dateneingabe/Datenausgabe sicherzustellen.
  • Das oben beschriebene dritte Ausführungsbeispiel realisiert das Serversystem für fortlaufende Daten, in dem ein Vielzahl von Pufferspeichereinheiten entsprechend einer Vielzahl von Plattensteuereinheiten bereitgestellt sind, während die fortlaufenden Daten in den Plattenvorrichtungen in Worteinheiten gespeichert sind, sodass die fortlaufenden Daten über einer Vielzahl von Plattensteuereinheiten angeordnet sind, und die Daten in Blockeinheiten, gespeichert durch eine Vielzahl von Pufferspeichereinheiten, sequentiell von einer Vielzahl von Pufferspeichereinheiten in Worteinheiten ausgelesen werden.
  • Aus diesem Grund ist es möglich, ein Multiplexniveau für den Datenpfad zwischen den Plattensteuereinheiten und die Pufferspeichereinheiten zu erhöhen, und die fortlaufenden Daten bereitstellenden Daten können in Blockeinheiten ausgetauscht werden. Dabei sind in den Daten jeden Blocks die fortlaufenden Daten über einer Vielzahl von Plattensteuereinheiten in Worteinheiten angeordnet. Demzufolge bilden sie nicht die fortlaufenden Daten, wenn sie in die Pufferspeichereinheiten eingelesen werden, jedoch wenn sie sequentielle Worteinheiten zu einem Zeitpunkt eines Auslesens von einer Vielzahl von Pufferspeichereinheiten ausgelesen werden, können die ausgelesenen Daten wieder in die fortlaufenden Daten übergeführt werden. Auf diese Weise dienen eine Vielzahl von Pufferspeichereinheiten einer Umordnung der von den Plattenvorrichtungen ausgelesenen nicht fortlaufenden Daten in die fortlaufenden Daten, wie auch einem Ermöglichen von Zugriffen mit konstanter Rate mit Bezug auf die stoßartigen Zugriffsmuster der Plattenvorrichtungen.
  • Demzufolge können, auch wenn die fortlaufenden Daten bei einer Vielzahl von Plattensteuereinheiten in Worteinheiten angeordnet sind, die fortlaufenden Daten letztlich nach außen geliefert werden. Zusätzlich wird es weiter möglich, da die fortlaufenden Daten über einer Vielzahl von Plattenvorrichtungen in Worteinheiten angeordnet sind, das Folgende zu realisieren.
  • Die sequentiell von einer Vielzahl von Pufferspeichereinheiten in Worteinheiten ausgelesenen Daten können in die Berechnungseinheit eingegeben werden, und an dieser Berechnungseinheit kann ein Teil der angegebenen Daten gespeichert werden, während das exklusiv ODER der Daten gebildet wird, die um einen Daten(-Satz) geringer sind als die die RAID-Gruppe bildenden Daten(-Sätze) (ein Daten(-Satz) entsprechend der fehlerhaften Plattenvorrichtung wird im Falle der Fehlfunktion der Plattenvorrichtung fehlen), und dieses Berechnungsergebnis und ein Teil der eingegebenen Daten, gespeichert in der Berechnungseinheit, kann in einer erwünschten Reihenfolge ausgegeben werden (einer Reihenfolge zu Bildung der fortlaufenden Daten). Auf diese Weise ist es zu einem Zeitpunkt der Fehlfunktion der Plattenvorrichtung möglich, auch wenn ein Teil der sequentiell von einer Vielzahl von Pufferspeichereinheiten ausgelesene Teil ein fehlerhafter ist, die richtigen fortlaufenden Daten auszugeben. Es wird darauf hingewiesen, dass in diesem Fall eine Vielzahl von die fortlaufenden Daten darstellenden Daten(-Sätze) und deren Parität über einer Vielzahl von Plattensteuereinheiten in Worteinheiten angeordnet sein werden.
  • Dabei sind die Daten über einer Vielzahl von Plattenvorrichtungen in Worteinheiten angeordnet, sodass eine erforderliche Datenmenge, die in der Berechnungseinheit gespeichert ist, auf einige Worte reduziert werden kann.
  • Weiter kann bewirkt werden, dass die Berechnungseinheit die Parität erzeugt, indem das exklusiv ODER der von außerhalb der Vorrichtung eingegebenen Daten berechnet wird, und indem die Daten die Parität sequentiell zu einer Vielzahl von Pufferspeichereinheiten in einer gewünschten Reihenfolge übertragen werden (einer Reihenfolge, in der eine Vielzahl von die fortlaufenden Daten darstellende Daten(-Sätze) und deren Parität über einer Vielzahl von Plattensteuereinheiten in Worteinheiten angeordnet sind). Auf diese Weise wird es möglich, die Daten von außerhalb einzugeben, und die Parität zu erzeugen, und diese dann auf die Plattenvorrichtung zu schreiben. In diesem Fall reicht es aus, dass die Speicherkapazität in der Berechnungseinheit nur ein Wort für die berechnete Parität ist.
  • Zusätzlich kann die Berechnungseinheit veranlasst werden, das exklusiv ODER der Daten, die um einen Datensatz (ein Datensatz entsprechend der fehlerhaften Plattenvorrichtung fehlt) weniger als die sequenziell von einer Vielzahl von Pufferspeichereinheiten ausgelesenen Daten sind (der die RAID-Gruppe bildenden Daten), und dieses Ergebnis zum Schreiben in die Pufferspeichereinheit entsprechend der fehlerhaften Plattenvorrichtung zu übertragen. Auf diese Weise wird es möglich, die Daten vor dem Auftreten der Fehlfunktion in der Pufferspeichereinheit entsprechend der fehlerhaften und nachfolgend ausgetauschten Plattenvorrichtung wiederzugewinnen.
  • Darüber hinaus wird es durch ein Schreiben der in der Pufferspeichereinheit wiedergewonnenen Daten in die fehlerhafte und nachfolgend ausgetauschte Plattenvorrichtung mittels der entsprechenden Plattensteuereinheit wiedergewonnenen Daten möglich, den Inhalt der Plattenvorrichtung wiederzugewinnen. In diesem Fall reicht es ebenso für die Speicherkapazität in der Berechnungseinheit aus, dass diese nur ein Wort für die berechnete Parität ist.
  • Weiter können die Daten sequentiell von einer Vielzahl von Pufferspeichereinheiten in Worteinheiten ausgelesen werden, unter Verwendung des Busses zum Lesen der Daten von einer Vielzahl von Pufferspeichereinheiten in Zeitunterteilung. Auf diese Weise wird es möglich, die effiziente Verwendung der Verdrahtungen und die Reduktion einer Hardwaremenge zu realisieren.
  • Es sollte offensichtlich sein, dass, obwohl ein Fall unter Verwendung des exklusiv ODER in diesem vierten Ausführungsbeispiel beschrieben wurde, ein Fall unter Verwendung des exklusiv UND ebenso einfach mittels einfacher Schaltungsmodifikationen realisiert werden kann.
  • Unter Bezugnahme auf die 61 bis 65 wird nunmehr das fünfte Ausführungsbeispiel der Servervorrichtung für fortlaufende Daten detailliert beschrieben, die das Übertragungsverfahren für fortlaufende Daten in Übereinstimmung mit der vorliegenden Erfindung realisiert.
  • In diesem fünften Ausführungsbeispiel ist mindestens eine bestimmte Pufferspeichervorrichtung mit Bezug auf eine Kombination jeder einer Vielzahl von Datenspeicher-Steuervorrichtungen und der Archivierungsvorrichtung bereitgestellt. Dabei wird in einem Fall einer Übertragung der fortlaufenden Daten von der Archivierungsvorrichtung über die Datenspeicher-Steuervorrichtung zu entsprechenden Datenspeichervorrichtung oder in einem Fall einer Übertragung der fortlaufenden Daten von einer Datenspeichervorrichtung über die entsprechende Datenspeicher-Steuervorrichtung zur Archivierungsvorrichtung die bestimmte Pufferspeichervorrichtung zwischen dieser Datenspeicher-Steuervorrichtung und der Archivierungsvorrichtung verwendet.
  • Auf diese Weise ist es möglich, die fortlaufenden Daten zwischen der Archivierungsvorrichtung und der Datenspeicher-Steuervorrichtung zu übertragen, ohne die Hauptspeichervorrichtung, die Pufferspeichervorrichtung oder den durch die anderen Datenspeicher-Steuervorrichtungen zu verwendenden Bus zu nutzen, sodass es möglich ist, den unerwünschten Einfluss der anderen Übertragungsverarbeitung der fortlaufenden Daten zu vermeiden, wie beispielsweise die Reduktion einer Anzahl von fortlaufenden Daten (einer Anzahl von Strömen), die gleichzeitig übertragen werden kann. Dabei wird es möglich, die Übertragung der fortlaufenden Daten zwischen der Archivierungsvorrichtung und der Datenspeichervorrichtung zu realisieren, wobei der Einfluss der anderen Übertragungsverarbeitung minimiert wird.
  • Bei dem Serversystem für fortlaufende Daten dieses fünften Ausführungsbeispiels können die Datenspeichervorrichtungen zum Speichern der fortlaufenden Daten Datenvorrichtungen sein, um dies konkret zu nennen. Als Plattenvorrichtungen werden oft magnetische Plattenvorrichtungen verwendet, es gibt jedoch auch Fälle einer Verwendung optischer Plattenvorrichtungen, oder optomagnetischer Plattenvorrichtungen anstatt. Neben den Plattenvorrichtungen können auch Halbleiter-Speichervorrichtungen wie beispielsweise RAM, EEPROM, etc. auch für die Datenspeichervorrichtungen verwendet werden.
  • Als Datenspeichervorrichtung kann ein SCSI-Controller verwendet werden, um dies konkret zu nennen. Mit einem SCSI-Controller kann eine Vielzahl von Plattenvorrichtungen mit einer SCSI als Schnittstelle verbunden sein. Daneben können auch verschiedene andere Typen von Schnittstellenvorrichtungen zum Verbinden der Plattenvorrichtungen für die Datenspeicher-Steuervorrichtung verwendet werden, wie beispielsweise FIBER CHANNEL.
  • Als Archivierungsvorrichtung kann eine Speichervorrichtung wie konkret beispielsweise magnetische Bänder, optische Platten, oder optomagnetische Platten verwendet werden, bei denen die Aufzeichnungskosten pro Kapazität gering sind, bei denen jedoch die Zugriffsgeschwindigkeit langsam ist. Solch eine Speichervorrichtung hat normalerweise herausnehmbare Bänder oder Platten zur Aufzeichnung der Daten. Dabei hat sie eine Struktur, bei der das Aufzeichnungsmedium frei von einem Laufwerk zum Durchführen des Datenlesens und Schreibens oder nur des Datenlesens abgenommen werden kann. Aus diesem Grund sind die erforderlichen Aufzeichnungskosten pro Kapazität nur die Kosten des Aufzeichnungsmediums, sodass die Aufzeichnungskosten im Vergleich mit einer Speichervorrichtung wie beispielsweise der magnetischen Plattenvorrichtung, bei der das Aufzeichnungsmedium nicht entfernbar ist, niedriger werden. Wenn jedoch die Anfrage für die Daten empfangen wird, können die auf dem Aufzeichnungsmedium aufgezeichneten angeforderten Daten nicht ausgelesen werden, es sei denn das Aufzeichnungsmedium wird in eine Plattenvorrichtung geladen, sodass die Zugriffsgeschwindigkeit langsam ist.
  • Als Pufferspeichervorrichtungen können konkret Halbleiterspeicher verwendet werden.
  • Es wird darauf hingewiesen, das parallel zur fortlaufenden Datenübertragung zwischen der Archivierungsvorrichtung und der Datenspeicher-Steuervorrichtung die fortlaufenden Daten, die durch eine durch einen Nutzer oder ein Anwendungsprogramm ausgegebenen Zugriffsanfrage für die fortlaufenden Daten angefordert werden, von der Datenspeichervorrichtung durch die Datenspeicher-Steuervorrichtung ausgelesen werden, und nachdem sie temporär in der Hauptspeichervorrichtung gespeichert sind, diese zum Kommunikationspfad durch eine Kommunikations-Steuervorrichtung ausgegeben werden, sodass es vorzuziehen ist, unabhängig einen Pfad bereitzustellen, der die Archivierungsvorrichtung und die Pufferspeichervorrichtung verbindet, und einem Pfad, der die Datenspeicher-Steuervorrichtung, die Hauptspeichervorrichtung, und die Kommunikations-Steuervorrichtung voneinander verbindet. Zusätzlich ist es vorzuziehen, einen Pfad zur Verbindung zwischen jeder Datenspeichervorrichtung und der entsprechenden Pufferspeichervorrichtung unabhängig voneinander bereitzustellen. In diesem Fall ist es vorzuziehen, eine Pufferspeichervorrichtung mittels eines Speichers zu bilden, der funktional zwei Ports aufweist, sodass er sowohl mit einem Pfad mit Bezug auf die entsprechende Datenspeicher- Steuervorrichtung als auch einen Pfad mit Bezug auf die Aktivierungsvorrichtung verbunden ist.
  • In diesem fünften Ausführungsbeispiel weist das Serversystem für fortlaufende Daten eine in 61 gezeigte Gesamtkonfiguration auf, die umfasst: n (n ist eine Ganzzahl größer oder gleich 1) Sätze von Datenspeicher-Steuervorrichtungen 411, eine Vielzahl von Datenspeicher-Steuervorrichtungen 412, wobei eine vorgegebene Anzahl dieser mit einer jeweiligen der Datenspeicher-Steuervorrichtungen 411 verbunden ist; eine Hauptspeichervorrichtung 413; eine Vielzahl von Kommunikations-Steuervorrichtungen 414; eine Archivierungsvorrichtung 415; n Sätze von Pufferspeichervorrichtungen 417, von denen jede mit einer Datenspeicher-Steuervorrichtung 411 über einen Bus 419 und mit der Archivierungsvorrichtung 415 über einen Bus 421 verbunden ist; und eine Zentralsteuervorrichtung 416, die mit allen obigen Elementen über einen Bus 420 verbunden ist.
  • Es wird darauf hingewiesen, dass die Datenspeichervorrichtungen 412 nicht notwendiger Weise integrale Komponenten des Serversystems für fortlaufende Daten sind, und dass sie je nach Notwendigkeit durch einen Nutzer bereitgestellt werden können.
  • Es wird auch darauf hingewiesen, dass auch die Archivierungsvorrichtung 415 nicht notwendiger Weise ein integraler Bestandteil des Serversystems für fortlaufende Daten ist, und dass sie je nach Notwendigkeit durch den Nutzer bereitgestellt werden kann.
  • Hier arbeitet die Zentralsteuervorrichtung 416 in Übereinstimmung mit dem Flussdiagramm von 62 wie folgt.
  • Wenn die Zugriffsanfrage empfangen wird (Schritt S20), falls die empfangene Zugriffsanfrage nicht einen Zugriff auf die Archivierungsvorrichtung 415 (Schritt S21 NEIN) betrifft, weist die Zentralsteuervorrichtung 416 die Datenübertragung zwischen der Datenspeicher-Steuervorrichtung 411 und der Kommunikations-Steuervorrichtung 414 über die Hauptspeichervorrichtung 413 an (Schritt S22).
  • Wenn die angeforderten fortlaufenden Daten nicht auf den Datenspeichervorrichtungen 412 vorhanden sind, d. h., wenn die empfangene Zugriffsanfrage für einen Zugriff auf die Archivierungsvorrichtung 415 (Schritt S21 JA) vorliegt, und die empfangene Zugriffsanfrage die Leseanfrage ist (Schritt S23 JA), sind die angeforderten fortlaufenden Daten von der Archivierungsvorrichtung 415 auszulesen, sodass die Zentralsteuervorrichtung 416 die Archivierungsvorrichtung 415 anweist, welcher Abschnitt welcher fortlaufender Daten in welche Pufferspeichervorrichtung 417 zu schreiben ist, indem die dem Schreibziel der ausgelesenen Daten entsprechende Pufferspeichervorrichtung 417 (Schritt S24) ausgewählt wird, und die Archivierungsvorrichtung 415 (Schritt S25) angewiesen wird, in die ausgewählte Pufferspeichervorrichtung 417 zu schreiben. In Antwort darauf liest die Archivierungsvorrichtung 415 die angegebenen fortlaufenden Daten aus, und schreibt diese in die angegebene Pufferspeichervorrichtung 417. Wenn das Schreiben beendet ist, teilt die Archivierungsvorrichtung 415 diese Tatsache der Zentralsteuervorrichtung 416 mit.
  • Dann weist die Zentralsteuervorrichtung 416 die Datenspeicher-Steuervorrichtung 411 entsprechend der Schreibziel-Datenspeichervorrichtung 412, zu der die ausgelesenen fortlaufenden Daten zu schreiben sind, an (Schritt S26), den Dateninhalt auf der Pufferspeichervorrichtung 417 in den angegebenen Ort in der Datenspeichervorrichtung 412 zu schreiben. Diese Schritte S25 und S26 werden wiederholt, bis die Verarbeitung für die angeforderten fortlaufenden Daten bis zum letzten der angeforderten Daten (Sätze) beendet ist (Schritt S30).
  • Dabei werden, falls die fortlaufenden Daten in Übereinstimmung mit der Zugriffsanfrage von dem Nutzer bestimmt sind, die von der Archivierungsvorrichtung 415 ausgelesenen fortlaufenden Daten in die Pufferspeichervorrichtung 417 mittels der Schritte S24 und S25 geschrieben, wie auch in die Hauptspeichervorrichtung 413, und werden zum Nutzer über die Kommunikations-Steuervorrichtung 414 übertragen.
  • Wenn die empfangene Zugriffsanfrage einen Zugriff auf die Archivierungsvorrichtung 415 betrifft (Schritt S21 JA), und die empfangene Zugriffsanfrage nicht eine Leseanfrage ist (Schritt S32 NEIN), liegt ein Fall eines Schreibens der in der Datenspeichervorrichtung 412 gespeicherten fortlaufenden Daten in die Archivierungsvorrichtung 415 vor.
  • In diesem Fall wählt die Zentralsteuervorrichtung 416 die Datenspeicher-Steuervorrichtung 411 zum Auslesen der von der Datenspeicher-Steuervorrichtung 412 zu schreibenden Daten aus (Schritt S27), und weist die ausgewählte Datenspeicher-Steuervorrichtung 411 an (Schritt S28), die Daten in die entsprechende Pufferspeichervorrichtung 417 zu schreiben. Dann weist die Zentralsteuervorrichtung 416 die Archivierungsvorrichtung 415 an, den Dateninhalt auf der Pufferspeichervorrichtung 417 (Schritt S29) einzugeben. Diese Schritte S28 und S29 werden wiederholt, bis die Verarbeitung für die angeforderten fortlaufenden Daten bis zum letzten der angeforderten Daten (Sätze) (Schritte S31) beendet ist.
  • Es wird darauf hingewiesen, dass jede Datenspeicher-Steuervorrichtung 411 in der Konfiguration von 61 eine in 63 gezeigte Konfiguration aufweisen kann, bei der eine Datenspeicher-Steuervorrichtung 411 durch eine Vielzahl von Datenspeicher-Steuereinheiten 430 zum Durchführen des Lesens und des Schreibens mit Bezug auf die entsprechenden Datenvorrichtungen 412 gebildet ist.
  • Die Archivierungsvorrichtung 415 weist eine in 64 gezeigte Detailkonfiguration auf, die einen Speicherraum 426 zum Speichern einer großen Anzahl von Aufzeichnungsmedien 427 umfasst, eine Vielzahl von Plattenvorrichtungen 424 zum Durchführen des Lesens (und des Schreibens falls notwendig) der auf den Aufzeichnungsmedien 427 aufgezeichneten fortlaufenden Daten, eine Roboterarmvorrichtung 423 zum Laden der erforderlichen Aufzeichnungsmedien 427 von dem Speicherraum 426 in die Laufvorrichtungen 424, und eine Steuervorrichtung 425 zum Steuern der Betriebsvorgänge der Laufvorrichtungen 424 und der Roboterarmvorrichtung 423. Die Aufzeichnungsmedien 427 können optische Platten, optomagnetische Platten oder magnetische Bänder sein, um dies konkret zu nennen.
  • Die Steuervorrichtung 425 handhabt, welche fortlaufenden Daten in welchem Aufzeichnungsmedium 427 gespeichert sind, bestimmt, welches Aufzeichnungsmedium 427 durch welche Laufvorrichtung 424 zu lesen oder zu beschreiben ist, in Übereinstimmung mit der Zugriffsanfrage, und weist die Roboterarmvorrichtung 423 an, die notwendigen Aufzeichnungsmedien 427 in die Laufvorrichtungen 424 zu laden. Zusätzlich dient die Steuervorrichtung 425 auch einer Übertragung der durch die Plattenvorrichtungen 424 ausgelesenen fortlaufenden Daten zu dem anfordernden Computer über die Busse 420 und 421, und einer Steuerung der Laufvorrichtungen 424 zum Schreiben der fortlaufenden Daten, die von dem anfordernden Computer über den Bus 421 ankommen.
  • Es wird auch darauf hingewiesen, dass dieses fünfte Ausführungsbeispiel auf das oben beschriebene erste Ausführungsbeispiel angepasst werden kann, mittels einer in 65 gezeigten Konfiguration.
  • In dieser Konfiguration von 65 sind die Datenspeicher-Steuervorrichtungen 411 und die Kommunikations-Steuervorrichtungen 414 mit den Pufferspeichervorrichtungen 418 auf solche Art und Weise verbunden, dass für jede Kombination der Datenspeicher-Steuervorrichtung 411 und der Kommunikations-Steuervorrichtung 414 eine Pufferspeichervorrichtung 418 bereitgestellt ist, verbunden mit dieser Datenspeicher-Steuervorrichtung 411 und der Kommunikations-Steuervorrichtung 414. Eine Gruppe von Pufferspeichervorrichtungen 418 dient als die Hauptspeichervorrichtung 413 in der Konfiguration von 61, jedoch ist mit dieser Konfiguration von 65 die bestimmte Pufferspeichervorrichtung 418 zum Austausch der fortlaufenden Daten zwischen jeder Datenspeicher-Steuervorrichtung 411 und jeder Kommunikations-Steuervorrichtung 414 verfügbar, sodass sowohl der Datenpfad 419 zwischen den Datenspeicher-Steuervorrichtungen 411 und den Pufferspeichervorrichtungen 418 wie auch der Datenpfad 422 zwischen den Pufferspeichervorrichtungen 418 und den Kommunikations-Steuervorrichtungen 414 gemultiplext ist. Demzufolge ist es möglich, die Datenübertragungsleistung dieser Datenpfade 419 und 422 genauso wie im oben beschriebenen ersten Ausführungsbeispiel zu erhöhen.
  • Zusätzlich enthält diese Konfiguration von 65 auch die Pufferspeichervorrichtungen 417 dieses fünften Ausführungsbeispiels, die in solcher Art und Weise verbunden sind, dass für jede Kombination der Archivierungsvorrichtung 415 und der Datenspeicher-Steuervorrichtung 411 eine Pufferspeichervorrichtung 417 mit dieser Archivierungsvorrichtung 415 und Datenspeicher-Steuervorrichtung 411 verbunden ist. Mit dieser Konfiguration von 65 ist die bestimmte Pufferspeichervorrichtung 417 für den Austausch der fortlaufenden Daten zwischen der Archivierungsvorrichtung 415 und jeder Datenspeicher-Steuervorrichtung 411 verfügbar, sodass der Datenpfad 419 zwischen der Archivierungsvorrichtung 415 und den Datenspeicher-Steuervorrichtungen 411 gemultiplext werden kann, und demzufolge es möglich ist, die Datenübertragungsleistung dieses Datenpfades 419 zu erhöhen.
  • Zusätzlich wird es möglich, die fortlaufenden Daten zwischen der Archivierungsvorrichtung 415 und der Datenspeicher-Steuervorrichtung 411 ohne den unerwünschten Einfluss der anderen Übertragungsverarbeitung der fortlaufenden Daten von den Kommunikations-Steuervorrichtungen 414 zu übertragen.
  • Die Pufferspeichervorrichtungen 417 in dieser Konfiguration von 65 werden auf ähnliche Weise wie im oben beschriebenen Flussdiagramm von 62 verwendet. Dabei gibt die Zentralsteuervorrichtung 416 der Archivierungsvorrichtung 415 vor, welcher Abschnitt welcher fortlaufender Daten in welcher Pufferspeichervorrichtung 417 zu schreiben sind. In Antwort darauf liest die Archivierungsvorrichtung 415 die angegebenen fortlaufenden Daten aus, und schreibt diese in die angegebene Pufferspeichervorrichtung 417. Wenn das Schreiben beendet ist, benachrichtigt die Archivierungsvorrichtung 415 die Zentralsteuervorrichtung 416 hinsichtlich dieser Tatsache. Dann weist die Zentralsteuervorrichtung 416 die Datenspeicher-Steuervorrichtung 411, verbunden mit der Schreibziel-Datenspeichervorrichtung 412 zum Speichern der gelesenen fortlaufenden Daten, an, den Dateninhalt auf der Pufferspeichervorrichtung 417, geschrieben durch die Archivierungsvorrichtung 415, an den angegebenen Ort in der Schreibziel-Datenspeichervorrichtung 412 zu schreiben.
  • Im Falle eines Schreibens der in der Datenspeichervorrichtung 412 gespeicherten Daten in die Archivierungsvorrichtung 415 ist der Fluss der fortlaufenden Daten dem oben Beschriebenen entgegengesetzt.
  • Die Konfiguration der Archivierungsvorrichtung 415 in dieser Konfiguration von 65 ist auch die gleiche wie die in 64 gezeigte.
  • Wie erläutert wird in Übereinstimmung mit dem Serversystem für fortlaufende Daten der vorliegenden Erfindung für jeden Satz Datenspeicher-Steuereinheit und Kommunikations-Steuereinheit oder für jeden Satz einer Gruppe mit einigen Datenspeichersteuereinheiten und einer Gruppe mit einigen Kommunikations-Steuereinheiten eine Pufferspeichereinheit für einen Datenaustausch zwischen diesen gesondert vorgesehen, und jede Datenspeicher-Steuereinheit und jede Kommunikations-Steuereinheit sind nur mit einem Teil der Pufferspeichereinheiten verbunden, eine Pufferspeichereinheit umfassend, von der ein Zugriff zu tätigen ist.
  • Aus diesem Grund kann ein Multiplexgrad für die Datenpfade zwischen den Datenspeicher-Steuereinheiten und den Pufferspeichereinheiten und die Datenpfade zwischen den Pufferspeichereinheiten und den Kommunikations-Steuereinheiten erhöht werden, und es wird möglich, eine Anzahl von Nutzern zu erhöhen, die gleichzeitig Zugriffe auf die fortlaufenden Daten tätigen können.
  • Dabei kann, wenn jede Datenspeicher-Steuereinheit und jede Kommunikations-Steuereinheit nur mit den Pufferspeichereinheiten verbunden sind, bei denen eine Notwendigkeit besteht, Zugriffe von diesen alleine zu tätigen, der Multiplexgrad für die Datenpfade effektiver erhöht werden, und eine Anzahl von Nutzern, die gleichzeitige Zugriffe auf die fortlaufenden Daten machen können, kann weiter erhöht werden. Darüber hinaus ist jede Pufferspeichereinheit mit einem Datenpfad verbunden, der mit einer oder mehreren Datenspeicher-Steuereinheiten verbunden ist, und einem weiteren Datenpfad, der mit einer oder mehreren Kommunikations-Steuereinheiten verbunden ist, sodass die Verhandlung mit Bezug auf die Zugriffe auf die Pufferspeichereinheit sehr einfach gestaltet werden kann.
  • Zusätzlich besteht keine Notwendigkeit einen Bus oder eine Vermittlung mit einer großen Übertragungsrate zu verwenden, welcher hohe Kosten wie im herkömmlichen Fall bewirkt, sodass es möglich wird, eine Anzahl von Nutzern zu erhöhen, die gleichzeitig Zugriffe auf die fortlaufenden Daten tätigen können, ohne eine Kostenerhöhung zu bewirken.
  • Wenn darüber hinaus ein Bus, der die Datenspeicher-Steuereinheiten und die Pufferspeichereinheiten verbindet, und ein Bus, der die Kommunikations-Steuereinheiten und die Pufferspeichereinheiten verbindet, unabhängig voneinander bereitgestellt werden, kann die Last auf dem Bus auf eine Vielzahl von Bussen verteilt werden, und es wird ausreichen, dass jeder Bus eine kleine Bandbreite aufweist. Darüber hinaus, wenn Busse, die Datenspeicher-Steuereinheiten und die Pufferspeichereinheiten verbinden, unabhängig für jede Datenspeicher-Steuereinheit bereitgestellt werden, und/oder Busse, die die Kommunikationssteuereinheiten und die Pufferspeichereinheiten verbinden, unabhängig für jede Kommunikations-Steuereinheit bereitgestellt werden, kann die Last auf dem Bus weiter über eine größere Anzahl von Bussen verteilt werden, und die für jeden Bus erforderliche Bandbreite kann noch kleiner gemacht werden.
  • Weiter liest bei dem Übertragungsverfahren für fortlaufende Daten der vorliegenden Erfindung die Datenspeicher-Steuereinheit, die mit der die angeforderten fortlaufenden Daten speichernden Datenspeichereinheit verbunden ist, die fortlaufenden Daten aus, und schreibt diese in die gesondert vorgesehene Pufferspeichereinheit, die mit dieser Datenspeicher-Steuereinheit und der Kommunikations-Steuereinheit, die einen Kommunikationspfad enthält, der mit dem Übertragungsziel dieser fortlaufenden Daten verbunden ist, und die Kommunikations-Steuereinheit liest die in diese Pufferspeichereinheit eingeschriebenen fortlaufenden Daten aus und überträgt diese zu einem vorgegebenen Kommunikationspfad.
  • Aus diesem Grund kann der Multiplexgrad für die Datenpfade zwischen den Datenspeicher-Steuereinheiten und den Pufferspeichereinheiten und die Datenpfade zwischen den Pufferspeichereinheiten und den Kommunikations-Steuereinheiten erhöht werden, und es wird möglich, eine Anzahl von Nutzern zu erhöhen, die gleichzeitig Zugriffe auf die fortlaufenden Daten tätigen können.
  • Darüber hinaus ist jede Pufferspeichereinheit mit einem Datenpfad verbunden, der mit einer oder mehreren Datenspeicher-Steuereinheiten verbunden ist, und einem anderen Datenpfad, der mit einer oder mehreren Kommunikations-Steuereinheiten verbunden ist, sodass die Verhandlung mit Bezug auf die Zugriffe auf die Pufferspeichereinheit sehr einfach gestaltet werden kann.
  • Zusätzlich besteht keine Notwendigkeit, die Übertragungskapazität der Datenpfade mittels eines Busses mit einer großen Übertragungsrate, was hohe Kosten bewirkt, zu erhöhen, sodass es möglich wird, eine Anzahl von Nutzern zu erhöhen, die gleichzeitig Zugriffe auf die fortlaufenden Daten tätigen können, ohne eine Kostenerhöhung zu bewirken.
  • Weiter ist in Übereinstimmung mit dem Datenserversystem der vorliegenden Erfindung die Berechnungseinheit mit verschiedenen Funktionen gesondert für jede anzuschließende Plattenvorrichtung und Pufferspeichereinheit bereitgestellt, und die Berechnungseinheiten sind seriell verbunden, sodass es möglich wird, die Datenwiedergewinnungsverarbeitung und die Paritätserzeugung zum Zwecke einer Handhabung der Fehlfunktion der Plattenvorrichtung mittels einer kompakten Hardwarestruktur zu realisieren. Zusätzlich ist es möglich, die Verarbeitung mit hoher Geschwindigkeit auszuführen, da die Verarbeitung durch die Hardware ausgeführt wird.
  • Weiter kann in Übereinstimmung mit dem Serversystem für fortlaufende Daten der vorliegenden Erfindung die Übertragung der fortlaufenden Daten realisiert werden, ohne eine Anzahl von fortlaufenden Daten zu reduzieren, die gleichzeitig übertragen werden können, auch bei einem Lesen von der Archivierungsvorrichtung oder einem Schreiben in die Archivierungsvorrichtung.
  • Es wird darauf hingewiesen, dass neben dem bereits oben Erwähnten viele Modifikationen und Veränderungen der obigen Ausführungsbeispiele getätigt werden können. Der Umfang der beanspruchten Erfindung ist einzig und allein durch die Definitionen der angefügten Ansprüche beschränkt.

Claims (28)

  1. Eine Servervorrichtung für fortlaufende Daten zur Übertragung fortlaufender Daten, die auf Datenspeichermedien (2; 412) gespeichert sind, umfassend: eine Vielzahl von Datenspeicher-Steuereinheitsgruppen (4C), wobei jede Datenspeicher-Steuereinheitsgruppe mindestens eine Datenspeicher-Steuereinheits-Untergruppe (4B) enthält, wobei jede Datenspeicher-Steuereinheits-Untergruppe aus mindestens einer Datenspeicher-Steuereinheit (4; 411) gebildet ist, zum Auslesen erwünschter fortlaufender Daten aus den Datenspeicher-Medien (2; 412); eine Vielzahl von Kommunikations-Steuereinheits-Gruppen, oder mindestens eine Kommunikations-Steuereinheits-Gruppe und eine Archiviervorrichtung (415), wobei jede Kommunikations-Steuereinheits-Gruppe aus mindestens einer Kommunikations-Steuereinheit (6; 414) gebildet ist, zum Übertragen der erwünschten fortlaufenden Daten zu einem Kommunikationspfad; eine Vielzahl von Pufferspeichereinheiten (8; 417) zum Speichern der durch die Datenspeicher-Steuereinheiten (4; 411) ausgelesenen und durch die Kommunikations-Steuereinheit (6; 414) zu übertragenden erwünschten fortlaufenden Daten, oder zum temporären Speichern der zwischen der Archiviervorrichtung (415) und den Datenspeicher-Steuereinheiten (411) zu übertragenden fortlaufenden Daten; mindestens eine Pufferspeichereinheit (8; 417), die gesondert in Entsprechung einer jeden Kombination einer Datenspeicher-Steuereinheits-Gruppe der Vielzahl von Datenspeicher-Steuereinheits-Gruppen und einer Kommunikations-Steuereinheits-Gruppe der Vielzahl von Kommunikations-Steuereinheits-Gruppen bereitgestellt ist, oder, wobei jeweilig mindestens eine Pufferspeichereinheit gesondert bereitgestellt ist, in Übereinstimmung mit jeder Kombination einer Datenspeicher-Steuereinheits-Gruppe der Vielzahl von Datenspeicher-Steuereinheitsgruppen und der mindestens einen Kommunikations-Steuereinheits-Gruppe, und jeder Kombination einer Datenspeicher-Steuereinheitsgruppe der Vielzahl von Datenspeicher-Steuereinheitsgruppen und der Archiviervorrichtung (415).
  2. Die Vorrichtung nach Anspruch 1, weiter umfassend: eine zentrale Steuereinheit (10) zum Steuern eines Auslesens der erwünschten fortlaufenden Daten von den Datenspeichermedien (2) zu den Pufferspeichereinheiten (8) durch die Datenspeicher-Steuereinheiten (4), und zum Übertragen der erwünschten fortlaufenden Daten von den Pufferspeichereinheiten (8) durch die Kommunikations-Steuereinheit (6).
  3. Die Vorrichtung nach Anspruch 1, wobei eine Vielzahl von Zugriffsanfragen von außerhalb der Vorrichtung empfangen wird, und wobei die zentrale Steuereinheit (10) Zeitvorgaben für ein Auslesen und Übertragen der erwünschten fortlaufenden Daten entsprechend der Vielzahl von Zugriffsanfragen plant.
  4. Die Vorrichtung nach Anspruch 1, wobei mindestens eine Datenspeichereinheits-Gruppe (4C) eine Vielzahl von Datenspeicher-Steuereinheiten (4) zum Auslesen der fortlaufenden Daten von entsprechenden Datenspeichermedien (2) enthält.
  5. Die Vorrichtung nach Anspruch 1, wobei die Datenspeicher-Steuereinheiten (4) die erwünschten fortlaufenden Daten auslesen, die über eine Vielzahl von Datenspeichermedien (2) gestreift sind.
  6. Die Vorrichtung nach Anspruch 5, wobei die zentrale Steuereinheit (10) ein Auslesen der erwünschten fortlaufenden Daten so steuert, dass jeder gestreifte Abschnitt der erwünschten fortlaufenden Daten von einem Datenspeichermedium (2) zu einer entsprechenden Pufferspeichereinheit (8) über eine entsprechende Datenspeicher-Steuereinheit (4) ausgelesen wird, und eine Übertragung der erwünschten fortlaufenden Daten von den Pufferspeichereinheiten (8) zu der Kommunikationssteuereinheit (6) so steuert, dass gestreifte Abschnitte der erwünschten fortlaufenden Daten in einer Streifenreihenfolge sequentiell übertragen werden.
  7. Die Vorrichtung nach Anspruch 1, wobei ein Datenpfad, der eine jede Datenspeicher-Steuereinheit (4) und eine entsprechende Pufferspeichereinheit (8) verbindet, und ein Datenpfad, der eine jede Kommunikationssteuereinheit (6) und eine entsprechende Pufferspeichereinheit (8) verbindet, unabhängig voneinander bereitgestellt sind.
  8. Die Vorrichtung nach Anspruch 1, wobei ein Datenpfad, der eine jede Datenspeicher-Steuereinheit (4) und eine entsprechende Pufferspeichereinheit (8) verbindet, unabhängig bereitgestellt ist.
  9. Die Vorrichtung nach Anspruch 1, wobei ein Datenpfad, der eine jede Kommunikations-Steuereinheit (6) und eine entsprechende Pufferspeichereinheit (8) verbindet, unabhängig bereitgestellt ist.
  10. Die Vorrichtung nach Anspruch 1, wobei jede Pufferspeichereinheit (8) verbunden ist mit einem ersten Datenpfad, verbunden mit einer entsprechenden Datenspeicher-Steuereinheit (4), und einem zweiten Datenpfad, verbunden mit einer entsprechenden Kommunikationssteuereinheit (6).
  11. Die Vorrichtung nach Anspruch 10, wobei jede Pufferspeichereinheit (8) einen Speicher-Controller zum Verhandeln von Lese-/Schreib-Anfragen von dem ersten und zweiten Datenpfad, und einen Speicher zum Speichern von Daten enthält.
  12. Die Vorrichtung nach Anspruch 1, weiter umfassend: eine Vielzahl von in Serie verbundenen Berechnungseinheiten (103), wobei jede Berechnungseinheit (103) vier Anschlüsse aufweist, die zwischen einer jeden Datenspeicher-Steuereinheit (4) und einer entsprechenden Pufferspeichereinheit (8) verbunden sind, und die eine vorgegebene Berechnungsverarbeitung in Übereinstimmung mit einer Eingabe von einem vorgegebenen einen oder mehreren der vier Anschlüsse durchführt, und eine Berechnungsergebnis zu einem oder mehreren verbleibenden Anschlüssen ausgibt.
  13. Die Vorrichtung nach Anschluss 1, weiter umfassend: eine Vielzahl von Berechnungseinheiten (103), wobei jede Berechnungseinheit (103) zwischen einer jeden Datenspeicher-Steuereinheit (4) und einer entsprechenden Pufferspeichereinheit (8) angeschlossen ist, zum Wiedergewinnen von durch eine Datenspeicher-Steuereinheit (4) auszulesenden Daten, aus Daten, die durch eine verbleibende Datenspeicher-Steuereinheit (4), die sich von der einen Datenspeicher-Steuereinheit (4) unterscheidet, ausgelesen sind.
  14. Die Vorrichtung nach Anspruch 1, wobei die in den Datenspeichermedien (2) gespeicherten fortlaufenden Daten über der Vielzahl von Datenspeicher-Steuereinheiten (4) in Worteinheiten angeordnet sind, die Datenspeicher-Steuereinheiten (4) die erwünschten fortlaufenden Daten in Blockeinheiten auslesen, die Pufferspeichereinheiten (8) die erwünschten fortlaufenden Daten in Blockeinheiten speichern, und die Kommunikationssteuereinheit (6) die erwünschten fortlaufenden Daten, erlangt durch ein sequentielles Auslesen in Worteinheiten von Daten von den Pufferspeichereinheiten (8), überträgt.
  15. Die Vorrichtung nach Anspruch 14, weiter umfassend: eine Berechnungseinheit (303), die mit der Vielzahl von Pufferspeichereinheiten (8) entsprechend der Vielzahl von Datenspeicher-Steuereinheiten (4) verbunden ist, zum Wiedergewinnen von durch eine Datenspeicher-Steuereinheit (4) auszulesenden Daten, aus durch eine verbleibende Datenspeicher-Steuereinheit (4), die sich von der einen Datenspeicher-Steuereinheit (4) unterscheidet, ausgelesenen Daten.
  16. Die Vorrichtung nach Anspruch 14, weiter umfassend: eine Berechnungseinheit (303), die mit der Vielzahl von Pufferspeichereinheiten (8) verbunden ist, mit: einer ersten Funktion zum Speichern eines Teils einer Vielzahl von Daten in Worteinheiten, sequentiell von der Vielzahl von Pufferspeichereinheiten (8) ausgelesen; einer zweiten Funktion zum Berechnen eines vorgegebenen eines Exklusiv-ODER und eines Exklusiv-UND eines Teils der Vielzahl von Daten in Worteinheiten; und einer dritten Funktion zum Ausgeben eines Berechnungsergebnisses des vorgegebenen einen eines Exklusiv-ODER und eines Exklusiv-UND, erhalten durch die zweite Funktion, und den Teil der Vielzahl in Worteinheiten, gespeichert durch die erste Funktion, in einer erwünschten Reihenfolge.
  17. Die Vorrichtung nach Anspruch 16, wobei die Berechnungseinheit (303) weiter aufweist: eine vierte Funktion zum Speichern des Berechnungsergebnisses des durch die zweite Funktion erlangten Exklusiv-ODER; und eine fünfte Funktion zum Übertragen des durch die vierte Funktion gespeicherten Berechnungsergebnisses zu einer Pufferspeichereinheit (8) zu einer vorgegebenen Zeitvorgabe; wobei eine Datenspeicher-Steuereinheit (4) entsprechend der einen Pufferspeichereinheit (8) das durch die fünfte Funktion übertragene und in der einen Pufferspeichereinheit (8) gespeicherte Berechnungsergebnis in die Datenspeichermedien (2) schreibt.
  18. Die Vorrichtung nach Anspruch 14, weiter umfassend: eine Berechnungseinheit (303), die mit der Vielzahl von Pufferspeichereinheiten (8) verbunden ist, mit: einer ersten Funktion zum Berechnen eines Exklusiv-ODER einer Vielzahl von Daten in Worteinheiten, eingegeben von außerhalb der Vorrichtung; und einer zweiten Funktion zum Übertragen eines Berechnungsergebnisses des Exklusiv-ODER, erlangt durch die erste Funktion, und der Vielzahl von Daten in Worteinheiten, zu der Vielzahl von Pufferspeichereinheiten (8), sequentiell in einer erwünschten Reihenfolge.
  19. Die Vorrichtung nach Anspruch 14, weiter umfassend: einen in Zeitunterteilung zu verwendenden Bus, zum sequentiellen Auslesen in Worteinheiten von Daten von der Vielzahl von Pufferspeichereinheiten (8).
  20. Die Vorrichtung nach Anspruch 1, weiter umfassend: eine Vielzahl von Dateneinheiten, die die Datenspeichermedien (2) darstellen, wobei die Datenspeichereinheiten mit der Vielzahl von Datenspeicher-Steuereinheiten (4) verbunden sind.
  21. Die Vorrichtung nach Anspruch 1, wobei jede Datenspeicher-Steuereinheits-Gruppe eine Vielzahl von Datenspeicher-Steuereinheits-Untergruppen enthält, und wobei die mindestens eine Pufferspeichereinheit (8), die für jede Datenspeicher-Steuereinheits-Gruppe bereitgestellt ist, eine Auswahleinrichtung (23) aufweist, zum Auswählen einer der Datenspeicher-Steuereinheits-Untergruppen, die die Datenspeicher-Steuereinheit (4) in Entsprechung zu dem einen der Datenspeichermedien (2), das einen Teil der erwünschten fortlaufenden Daten speichert, enthält.
  22. Die Vorrichtung nach Anspruch 1, wobei eine jede Datenspeicher-Steuereinheits-Gruppe eine Vielzahl von Datenspeicher-Steuereinheits-Untergruppen enthält, und wobei ein Datenpfad, der jede Datenspeicher-Steuereinheits-Untergruppe und eine entsprechende Pufferspeichereinheit (8) verbindet, unabhängig für jede Datenspeicher-Steuereinheits-Untergruppe bereitgestellt ist.
  23. Die Vorrichtung nach Anspruch 1, weiter umfassend: eine Vielzahl von Verbindungs-Ports, die mit der Vielzahl von Datenspeichermedien (2) verbunden sind, so dass die Vielzahl von Pufferspeichereinheiten in Entsprechung zu der Vielzahl von Verbindungs-Ports bereitgestellt sind, um die zu/von den Verbindungs-Ports einzugebenden/auszugebenden Daten zu speichern; und eine Vielzahl von in Serie verbundenen Berechnungseinheiten (203), wobei jede Berechnungseinheit (203) vier Anschlüsse aufweist, einen oberen Stufen-Seitenanschluss, einen unteren Stufen-Seitenanschluss, einen Puffer-Speichereinheits-Seitenanschluss, und einen Datenspeichermedien-Seitenanschluss, die zwischen einem entsprechenden Verbindungsanschluss und einer Pufferspeichereinheit (8) verbunden sind, und die ein beliebiges Element der folgenden Gruppe realisieren: eine erste Funktion zum Ausführen einer vorgegebenen einer Exklusiv-ODER-Berechnung und einer Exklusiv-UND-Berechnung in Übereinstimmung mit den von dem Pufferspeichereinheits-Seitenanschluss eingegebenen Daten und den von dem oberen Stufen-Seitenanschluss eingegebenen Daten, und zum Ausgeben eines Berechnungsergebnisses an den unteren Stufen-Seitenanschluss; eine zweite Funktion zum Ausgeben von von dem oberen Stufen-Seitenanschluss eingegebenen Daten zu dem unteren Stufen-Seitenanschluss; und eine dritte Funktion zum Ausgeben von von dem Datenspeichermedien-Seitenanschluss eingegebenen Daten zu dem Puffer-Speichereinheits-Seitenanschluss.
  24. Die Vorrichtung nach Anspruch 1, weiter umfassend: eine Vielzahl von Verbindungsanschlüssen, die mit der Vielzahl von Datenspeichermedien verbunden ist, so dass die Vielzahl von Pufferspeichereinheiten (8) in Entsprechung zu der Vielzahl von Verbindungs-Ports bereitgestellt sind, um die zu/von den Verbindungs-Ports einzugebenden/auszugebenden Daten zu speichern; und eine Vielzahl von in Serie verbundenen Berechnungseinheiten (203), wobei jede Berechnungseinheit (203) vier Anschlüsse aufweist, einen oberen Stufen-Seitenanschluss, einen unteren Stufen-Seitenanschluss, einen Puffer-Speichereinheits-Seitenanschluss und einen Datenspeichermedien-Seitenanschluss, die zwischen einem entsprechenden Verbindungs-Port und einer Pufferspeichereinheit (8) angeschlossen sind, und die ein beliebiges der folgenden Elemente realisieren: eine erste Funktion zum Ausführen eines vorgegebenen einer Exklusiv-ODER-Berechnung und einer Exklusiv-UND-Berechnung in Übereinstimmung mit von dem oberen Stufen-Seitenanschluss eingegebenen Daten und von dem unteren Stufen-Seitenanschluss eingegebenen Daten, und zum Ausgeben eines Berechnungsergebnisses zu dem Puffer-Speichereinheits-Seitenanschluss; eine zweite Funktion zum Ausgeben von von dem unteren Stufen-Seitenanschluss eingegebenen Daten zu dem Puffer-Speichereinheits-Seitenanschluss und dem oberen Stufen-Seitenanschluss; eine dritte Funktion zum Ausführen der vorgegebenen einen einer Exklusiv-ODER-Berechnung und einer Exklusiv-UND-Berechnung in Übereinstimmung mit von dem Puffer-Speichereinheits-Seitenanschluss eingegebenen Daten und den von dem oberen Stufen-Seitenanschluss eingegebenen Daten, und zum Ausgeben eines Berechnungsergebnisses zu dem unteren Stufen-Seitenanschluss; eine vierte Funktion zum Durchführen der vorgegebenen einen einer Exklusiv-ODER-Berechnung und einer Exklusiv-UND-Berechnung in Übereinstimmung mit von dem Puffer-Speichereinheits-Seitenanschluss eingegebenen Daten und den von dem unteren Stufen-Seitenanschluss eingegebenen Daten, und zum Ausgeben eines Berechnungsergebnisses zu dem oberen Stufen-Seitenanschluss; eine fünfte Funktion zum Ausgeben von von dem oberen Stufen-Seitenanschluss eingegebenen Daten zu dem unteren Stufen-Seitenanschluss; eine sechste Funktion zum Ausgeben von von dem unteren Stufen-Seitenanschluss eingegebenen Daten zum dem oberen Stufen-Seitenanschluss; eine siebte Funktion zum Ausgeben von von dem Datenspeichermedien-Seitenanschluss eingegebenen Daten zu dem Puffer-Speichereinheits-Seitenanschluss; und eine achte Funktion zum Ausgeben von von dem Puffer-Speichereinheits-Seitenanschluss eingegebenen Daten zu dem Datenspeichermedien-Seitenanschluss.
  25. Die Vorrichtung nach Anspruch 1, wobei die Datenspeichermedien (412) bereitgestellt sind für ein Speichern erster fortlaufender Daten, und die Archiviervorrichtung (415) bereitgestellt ist für ein Speichern zweiter fortlaufender Daten, von denen die erwünschten fortlaufenden Daten lesbar sind.
  26. Die Vorrichtung nach Anspruch 1, wobei ein Datenpfad, der die Archiviervorrichtung (415) und die Vielzahl von Pufferspeichereinheiten (417) verbindet, und ein Datenpfad, der die mindestens eine Kommunikations-Steuereinheit (414) und den mindestens einen Puffer verbindet, unabhängig voneinander bereitgestellt sind.
  27. Die Vorrichtung nach Anspruch 1, wobei die mindestens eine Pufferspeichereinheit (417) die erwünschten fortlaufenden Daten speichert, ausgelesen von der Archiviervorrichtung (415), während eine entsprechende Datenspeicher-Steuereinheit (411) die in der mindestens einen Pufferspeichereinheit (417) gespeicherten erwünschten fortlaufenden Daten ausliest, und die von der mindestens einen Pufferspeichereinheit (417) ausgelesen erwünschten fortlaufenden Daten in die Datenspeichermedien (412) einschreibt.
  28. Die Vorrichtung nach Anspruch 1, wobei die eine Datenspeicher-Steuereinheit (411) die erwünschten fortlaufenden Daten von den Datenspeichermedien (412) ausliest, während die mindestens eine Pufferspeichereinheit (417), die durch die eine Datenspeicher-Steuereinheit (411) ausgelesenen, erwünschten fortlaufenden Daten speichert, und die Archiviervorrichtung (415), die in der mindestens einen Pufferspeichereinheit (417) gespeicherten erwünschten fortlaufenden Daten ausliest und speichert.
DE69632424T 1995-02-17 1996-02-16 Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe Expired - Lifetime DE69632424T2 (de)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2974995 1995-02-17
JP2974995 1995-02-17
JP23699995 1995-09-14
JP23699995 1995-09-14
JP25329395A JP3570798B2 (ja) 1995-09-29 1995-09-29 連続データサーバ装置
JP25329395 1995-09-29
JP31557895 1995-12-04
JP31557895A JP3600334B2 (ja) 1995-02-17 1995-12-04 連続データサーバ装置、連続データ送出方法及びディスクアレイ装置

Publications (2)

Publication Number Publication Date
DE69632424D1 DE69632424D1 (de) 2004-06-17
DE69632424T2 true DE69632424T2 (de) 2005-05-12

Family

ID=27459117

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69632424T Expired - Lifetime DE69632424T2 (de) 1995-02-17 1996-02-16 Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe

Country Status (3)

Country Link
US (1) US5862403A (de)
EP (1) EP0727750B1 (de)
DE (1) DE69632424T2 (de)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) * 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US6185368B1 (en) * 1996-07-29 2001-02-06 Sony Corporation Redundant disk array with real-time lost data reconstruction
JP3813671B2 (ja) * 1996-10-30 2006-08-23 株式会社東芝 マルチメディアサーバ用ディスクアレイ装置
JPH10134485A (ja) * 1996-10-30 1998-05-22 Toshiba Corp ストレージ共有型分散マルチメディアサーバシステム
US6161165A (en) * 1996-11-14 2000-12-12 Emc Corporation High performance data path with XOR on the fly
JP3526153B2 (ja) * 1996-11-19 2004-05-10 ソニー株式会社 データ記録再生装置
DE19651075A1 (de) * 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
JP3961028B2 (ja) * 1996-12-27 2007-08-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US6134630A (en) * 1997-11-14 2000-10-17 3Ware High-performance bus architecture for disk array system
US6151659A (en) * 1997-12-22 2000-11-21 Emc Corporation Distributed raid storage system
DE19861088A1 (de) * 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
EP0996070A4 (de) * 1998-01-19 2002-10-30 Asahi Glass Co Ltd Verfahren zum speichern von zeitabhängigen daten, datenbanksystem für zeitabhängige daten, verfahren und system zur verarbeitung von zeitabhängigen daten und speichermedium
JP2000048047A (ja) 1998-01-19 2000-02-18 Asahi Glass Co Ltd 時系列デ―タの保存方法及び時系列デ―タベ―スシステム、時系列デ―タの処理方法及び時系列デ―タ処理システム、時系列デ―タ表示システム、並びに記録媒体
JPH11234627A (ja) * 1998-02-17 1999-08-27 Sony Corp データ再生装置及び方法
US6438595B1 (en) * 1998-06-24 2002-08-20 Emc Corporation Load balancing using directory services in a data processing system
US6195703B1 (en) 1998-06-24 2001-02-27 Emc Corporation Dynamic routing for performance partitioning in a data processing network
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
US6502157B1 (en) * 1999-03-24 2002-12-31 International Business Machines Corporation Method and system for perfetching data in a bridge system
US6289376B1 (en) * 1999-03-31 2001-09-11 Diva Systems Corp. Tightly-coupled disk-to-CPU storage server
JP4325817B2 (ja) * 1999-04-05 2009-09-02 株式会社日立製作所 ディスクアレイ装置
US7281199B1 (en) * 1999-04-14 2007-10-09 Verizon Corporate Services Group Inc. Methods and systems for selection of multimedia presentations
CN1378665A (zh) * 1999-06-10 2002-11-06 Pact信息技术有限公司 编程概念
JP2001005614A (ja) * 1999-06-25 2001-01-12 Hitachi Ltd ディスク装置およびサーバ装置
US6557087B1 (en) 2000-02-22 2003-04-29 International Business Machines Corporation Management of PCI read access to a central resource
JP2004506261A (ja) * 2000-06-13 2004-02-26 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト パイプラインctプロトコルおよびct通信
US6928470B1 (en) * 2000-07-31 2005-08-09 Western Digital Ventures, Inc. Transferring scheduling data from a plurality of disk storage devices to a network switch before transferring data associated with scheduled requests between the network switch and a plurality of host initiators
US8058899B2 (en) * 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
ATE437476T1 (de) * 2000-10-06 2009-08-15 Pact Xpp Technologies Ag Zellenanordnung mit segmentierter zwischenzellstruktur
US7213075B2 (en) * 2000-12-15 2007-05-01 International Business Machines Corporation Application server and streaming server streaming multimedia file in a client specific format
WO2005045692A2 (en) * 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US20090300262A1 (en) * 2001-03-05 2009-12-03 Martin Vorbach Methods and devices for treating and/or processing data
US7581076B2 (en) * 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US9037807B2 (en) * 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7444531B2 (en) * 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US20090210653A1 (en) * 2001-03-05 2009-08-20 Pact Xpp Technologies Ag Method and device for treating and processing data
US7844796B2 (en) * 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US20070299993A1 (en) * 2001-03-05 2007-12-27 Pact Xpp Technologies Ag Method and Device for Treating and Processing Data
US6904597B2 (en) * 2001-03-30 2005-06-07 Intel Corporation Inter-thread communications between different components using double buffer
US6754750B2 (en) * 2001-05-17 2004-06-22 Chaparral Network Storage Inc. Method for automatically detecting and correcting duplicate controller SCSI ids
ATE478381T1 (de) * 2001-06-20 2010-09-15 Richter Thomas Verfahren zur bearbeitung von daten
US7996827B2 (en) * 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) * 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US20030084397A1 (en) * 2001-10-31 2003-05-01 Exanet Co. Apparatus and method for a distributed raid
US7644136B2 (en) * 2001-11-28 2010-01-05 Interactive Content Engines, Llc. Virtual file system
US7437472B2 (en) * 2001-11-28 2008-10-14 Interactive Content Engines, Llc. Interactive broadband server system
US7788396B2 (en) * 2001-11-28 2010-08-31 Interactive Content Engines, Llc Synchronized data transfer system
US7577822B2 (en) * 2001-12-14 2009-08-18 Pact Xpp Technologies Ag Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
EP1470478A2 (de) * 2002-01-18 2004-10-27 PACT XPP Technologies AG Verfahren und gerät zum partitionieren von grossen rechnerprogrammen
WO2003060747A2 (de) * 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
WO2003071432A2 (de) * 2002-02-18 2003-08-28 Pact Xpp Technologies Ag Bussysteme und rekonfigurationsverfahren
US8914590B2 (en) * 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
WO2003081454A2 (de) * 2002-03-21 2003-10-02 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US7024492B2 (en) 2002-05-24 2006-04-04 Convedia Corporation Media bus interface arbitration for a data server
US7350012B2 (en) * 2002-07-12 2008-03-25 Tundra Semiconductor Corporation Method and system for providing fault tolerance in a network
US7657861B2 (en) * 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US20110238948A1 (en) * 2002-08-07 2011-09-29 Martin Vorbach Method and device for coupling a data processing unit and a data processing array
WO2004021176A2 (de) * 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
CN100410917C (zh) * 2003-12-02 2008-08-13 交互式内容引擎有限责任公司 同步数据传送系统及方法
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
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
EP1849095B1 (de) * 2005-02-07 2013-01-02 Richter, Thomas Vorrichtung zur verarbeitung massiver paralleldaten mit geringer latenz
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
TW200937190A (en) * 2008-02-22 2009-09-01 Jmicron Technology Corp Raid1 system and reading method for enhancing read performance
JP6005533B2 (ja) * 2013-01-17 2016-10-12 株式会社東芝 記憶装置および記憶方法
KR20210065455A (ko) * 2019-11-27 2021-06-04 에스케이하이닉스 주식회사 메모리 시스템의 라이트 성능을 향상시키는 장치 및 방법
US11139883B1 (en) * 2020-09-11 2021-10-05 Bae Systems Information And Electronic Systems Integration Inc Combined spatial and time multiplexer
CN117176589B (zh) * 2023-11-03 2023-12-29 南京邮电大学 一种低开销的数据中心网络系统及其构建方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58178458A (ja) * 1982-04-14 1983-10-19 Toshiba Corp 磁気記憶装置のバツクアツプ制御装置
JPH029063A (ja) * 1988-06-28 1990-01-12 Nec Corp ディスク制御装置
JP2913840B2 (ja) * 1989-12-25 1999-06-28 株式会社日立製作所 集合ディスク装置
US5402428A (en) * 1989-12-25 1995-03-28 Hitachi, Ltd. Array disk subsystem
US5185876A (en) * 1990-03-14 1993-02-09 Micro Technology, Inc. Buffering system for dynamically providing data to multiple storage elements
US5206939A (en) * 1990-09-24 1993-04-27 Emc Corporation System and method for disk mapping and data retrieval
JP3451099B2 (ja) * 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム
GB9200207D0 (en) * 1992-01-06 1992-02-26 Di Data Ltd Computer memory array control
GB9209573D0 (en) * 1992-05-02 1992-06-17 Int Computers Ltd Disk drive array
US5471640A (en) * 1992-07-06 1995-11-28 Hewlett-Packard Programmable disk array controller having n counters for n disk drives for stripping data where each counter addresses specific memory location by a count n
JP3181398B2 (ja) * 1992-10-06 2001-07-03 三菱電機株式会社 アレイ型記録装置
JP3258117B2 (ja) * 1993-03-08 2002-02-18 株式会社日立製作所 記憶装置サブシステム

Also Published As

Publication number Publication date
US5862403A (en) 1999-01-19
EP0727750B1 (de) 2004-05-12
EP0727750A2 (de) 1996-08-21
EP0727750A3 (de) 1997-07-23
DE69632424D1 (de) 2004-06-17

Similar Documents

Publication Publication Date Title
DE69632424T2 (de) Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe
DE69731822T2 (de) Datenpuffersystem für mehrere datenspeicheranordnungen
DE60034327T2 (de) Verfahren und systeme zur implementierung von verwaltungsfunktionen für gemeinsam genutzte plattenanordnungen
DE69737904T2 (de) System und Verfahren zur Bearbeitung von Multimedia-Datenströmen in gemeinsamen Ringarchitektur-Multimedia-Teilsystemclustern
DE2617408C3 (de) Speichermodul fur ein Datenverarbeitungsgerät mit Speicherhierarchie
DE2209282C3 (de) Datenverarbeitungsanlage
DE3508291C2 (de) Datenverarbeitungssystem
DE69915243T2 (de) Speicherplattenanordnung-Steuerungsvorrichtung
DE4134192A1 (de) Integrierter schaltkreis mit verarbeitung im speicher
DE2806045A1 (de) Dv-system mit pufferspeicher
DE112013006549T5 (de) Computersystem und Datensteuerverfahren
DE602004004063T2 (de) Informationsverarbeitungssystem und -verfahren
DE19515661C2 (de) Halbleiter-Plattenvorrichtung
DE2755608A1 (de) Wartungseinrichtung in einem dv-system
DE2350884A1 (de) Datenverarbeitungssystem
DE60028793T2 (de) Skalierbarer dateiserver mit hochverfügbaren paaren
DE2404146A1 (de) Digitales, hierarchisch in wenigstens drei hierarchie-stufen aufgebautes speichersystem
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE3932474A1 (de) Platten-steuervorrichtung und plattenzugriff-steuerverfahren
DE69734551T2 (de) Verfahren und Gerät zur Erzeugung von Paritätsblöcken
DE4429969A1 (de) Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
DE69730399T2 (de) Schnittstellengerät zur Anpassung von Datenbreite an Systembusbreite
EP1234226B1 (de) Backup- und archivierungssystem mittels bandkassetten für datenverarbeitungsanlagen
DE19903963A1 (de) Vorrichtung und Verfahren zur Datenübertragung
DE112017007865T5 (de) Netzgebundener shuffle-datenspeicher

Legal Events

Date Code Title Description
8364 No opposition during term of opposition