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