-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
Erfindung betrifft allgemein Computermassenspeicher, und spezieller
betrifft sie Plattenarraysysteme zur Verwendung in Computern und
elektronischen Anlagen mit Plattenarrays und einer Plattenlaufwerk-Steuerungsschaltung
in ihnen.
-
2. Beschreibung des Stands
der Technik
-
Herkömmlicherweise
existiert, wenn eine Anzahl von Platten oder Plattenlaufwerken in
einem Plattenarray miteinander verbunden werden, ein Verfahren zur
zugehörigen
Verbindung unter Verwendung von Kreuzschienenschaltern. Diesbezüglich wird
typischerweise als Eingabe/Ausgabe(I/O)-Schnittstelle derartiger
Plattenlaufwerke eine Small Computer System Interface (SCSI) verwendet. Dieses
System verwendet für
die Parallelübertragung
von Daten im Zeitmultiplex ein spezielles Schema. Bei diesem Schema
wird jeder Zugriff auf eine Auslöseeinrichtung
einfach durch Eins-zu-Eins-Kommunikationsvorgänge über einen Übertragungsleitungspfad zu
einem jeweiligen Zeitpunkt erzielt, was unter einem Problem dahingehend
leidet, dass Plattenlaufwerke nicht gleichzeitig mit einer Anzahl
auslösender
Einrichtungen kommunizieren können.
Außerdem
erfordert dieses Schema die strikte Verwendung einer eingeschränkten Anzahl
von Plattenlaufwerken, die mit einem einzelnen Leitungspfad verbunden
werden können,
wobei die Obergrenze auf dem kleinen Wert der Größenordnung einiger zehn oder
weniger verbleibt; demgemäß besteht
eine Vorgehensweise im Verwenden eines Verfahrens zur Nutzung assoziativer
Kreuzschienenschalter, was es einer verringerten Anzahl von Steuerungsschaltungen
ermöglicht,
eine praktisch erhöhte
Anzahl von Plattenlaufwerken zu steuern.
-
Um
die Transaktionsleistungsfähigkeit
beim Plattenzugriff zu verbessern, ist auch eine andere Vorgehensweise
bekannt, die versucht, dies dadurch zu bewerkstelligen, dass eine
Anzahl von Plattenlaufwerken bereitgestellt wird.
-
Bei
einer derartigen Technik wird es, da Niedergeschwindigkeitsoperationen
von Suchmechanismen oder dergleichen auf parallele Weise ausgeführt werden
können,
praktisch möglich,
eine Anzahl von Verarbeitungsprozeduren innerhalb einer bestimmten
Zeitperiode auszuführen.
Ferner kann auch aufgrund der Verkleinerung von Plattenlaufwerken
in der nahen Zukunft davon ausgegangen werden, dass eine weiter
erhöhte
Anzahl von Plattenlaufwerken verwendet werden kann. Hinsichtlich
der Verbindung zwischen Plattensteuerungsvorrichtungen und Plattenlaufwerken
verwenden die meisten Systeme derzeit eine Schnittstelle unter Verwendung
von SCSI; wenn jedoch diese Schnittstelle angewandt wird, die dafür sorgt,
dass eine einzelne Schnittstelle eine Eins-zu-Eins-Verbindung zu einem
eingefügten
Laufwerk (eingefügten
Laufwerken) erstellt, sollte eine Anzahl von Schnittstelleneinheiten
benötigt
werden, was zu Schwierigkeiten beim Zusammenstellen derselben führt.
-
Ferner
wird die Anzahl der Plattenlaufwerke, die unter Verwendung eines
Controllers verbunden werden können,
niedrig gehalten. Um diese Grenze zu durchbrechen, ist eine entsprechend
erhöhte
Anzahl von Controllern zu verwenden; alternativ ist ein Verzweigungsaustauschmodul
erforderlich, um eine derartige Einschränkung zu kompensieren. Dies
erfordert die Verwendung mindestens eines zusätzlichen Controllers zur Steuerung
des Verzweigungsaustauschmoduls, mit dem Ergebnis, dass die Anzahl
wesentlicher Teile oder Komponenten erhöht ist, was bei dynamischer
Steuerung zu Kompliziertheit führen
kann, wodurch dies erschwert ist.
-
Das
Dokument US-A-4701904 gibt ein optisches Kommunikationssystem an,
bei dem die gesamte Mikrowellenfrequenz-Bandbreite in mehrere nicht überlappende
Frequenzbänder
unterteilt ist.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Daher
ist es eine Aufgabe der Erfindung, ein neues und verbessertes Schema
zur Plattenarraysteuerung zu schaffen, das Probleme vermeiden kann,
denen sich der Stand der Technik gegenüber sieht.
-
Es
ist eine andere Aufgabe der Erfindung, ein verbessertes Plattenarraysystem
zu schaffen, dessen Größe verringert
werden kann und das dennoch verbesserte Leistungsfähigkeit
erzielt.
-
Es
ist eine weitere Aufgabe der Erfindung, ein verbessertes Plattenarraysystem
zu schaffen, das zur Verwendung in Computersystemen anpassbar ist
und das eine gleichzeitige Übertragung
mehrerer Datenpakete über
eine einzelne Schnittstellenleitung ausführen kann, damit eine verringerte
Anzahl von Controllern eine erhöhte
Anzahl von Plattenlaufwerken, wie in ihm installiert, steuern kann.
-
Die
oben genannten Aufgaben sind durch die Erfindung gelöst, wie
sie im beigefügten
unabhängigen
Anspruch 1 detailliert definiert ist.
-
Gemäß einer
Erscheinungsform der Erfindung wird es möglich, da das Plattenarraysystem speziell
so aufgebaut ist, dass es eine Übertragung einer
erhöhten
Datenmenge über
eine einzelne Schnittstellenleitung ermöglicht, unter Verwendung des
Frequenzmultiplex(FDM)-Übertragungsschema einen
Frequenzmultiplex innerhalb derselben Zeitperiode auszuführen und
mehrere Daten gleichzeitig zu übertragen,
so dass eine Anzahl von Plattenlaufwerken unter Verwendung einer
verringerten Anzahl von Controllern für sie angeschlossen werden
kann.
-
Gemäß einer
anderen Erscheinungsform der Erfindung kann eine erhöhte Anzahl
von Plattenlaufwerken praktisch unter Verwendung einer kleineren Anzahl
von ihnen zugeordneten Plattenlaufwerk-Steuerungsschaltungen dadurch
gesteuert werden, dass die Datenübertragungsfrequenz
in Bezug auf eine jeweilige der Plattenlaufwerkgruppen dynamisch
umgeschaltet werden kann.
-
Aufgrund
der Möglichkeit
des gleichzeitigen Übertragens
mehrerer Daten über
eine einzelne Schnittstellenleitung, die sich aus der Verwendung des
FDM-Übertragungsschemas
ergibt, werden keine zusätzlichen
Schnittstellenleitungen für
viele Plattenlaufwerke mehr benötigt,
was es ermöglicht,
im praktischen Gebrauch jedes Zusammenstellproblem zu vermeiden,
wie es andernfalls im Stand der Technik auftreten kann, wenn eine
erhöhte
Anzahl von Plattenlaufwerken zu verwenden ist.
-
Gemäß noch einer
anderen Erscheinungsform der Erfindung kann das dynamische Umschalten
der Übertragungsfrequenz
in Bezug auf jeden Plattenlaufwerkcontroller und jede Plattenlaufwerkgruppe
in vorteilhafter Weise als Alternative zur Verwendung von Kreuzschienenschaltern
dienen, während
der Steuerungsvorgang für
derartige spezielle, unabhängige
Kreuzschienenschalter nicht mehr erforderlich ist. Als Ergebnis
der obigen Anordnungen wird es möglich,
ein kleines Plattenarraysystem hoher Leistungsfähigkeit zu konstruieren.
-
Diese
und andere Aufgaben, Merkmale und Vorteile der Erfindung werden
aus der folgenden, spezielleren Beschreibung bevorzugter Ausführungsformen
der Erfindung, wie sie in den beigefügten Zeichnungen dargestellt
sind, ersichtlich werden.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Diagramm, das eine Systemkonfiguration eines Plattenarraysystems
gemäß einer
bevorzugten Ausführungsform
der Erfindung zeigt.
-
2 ist
ein Blockdiagramm einer Kanalschnittstelle-Steuerungsschaltung im
Plattenarraysystem.
-
3 ist
ein Blockdiagramm einer Plattenlaufwerk-Steuerungsschaltung im System.
-
4 ist
eine schematische Darstellung des Datenablaufs während einer All-Stripe-Datenschreibperiode
unter Verwendung zweier Pfade.
-
5 ist
eine schematische Darstellung des Datenablaufs während einer All-Stripe-Datenschreibperiode
unter Verwendung eines Pfads.
-
6 ist
eine schematische Darstellung des Datenablaufs während einer Schreibperiode
mit einem Plattenlaufwerk.
-
7 ist
eine schematische Darstellung des Datenablaufs während einer Schreibperiode
für zwei Plattenlaufwerke
unter Verwendung zweier Pfade.
-
8 ist
eine schematische Darstellung des Datenablaufs während einer Schreibperiode
für zwei Plattenlaufwerke
unter Verwendung eines Pfads.
-
9 ist
eine schematische Darstellung des Datenablaufs während einer Schreibperiode
für drei Plattenlaufwerke
unter Verwendung eines Pfads.
-
10 ist
eine schematische Darstellung des Datenablaufs während einer Schreibperiode
für drei
Plattenlaufwerke unter Verwendung zweier Pfade.
-
11 ist
eine schematische Darstellung des Datenablaufs während einer Leseperiode unter Verwendung
zweier Durchläufe.
-
12 ist
eine schematische Darstellung des Datenablaufs während einer Leseperiode beim Auftreten
eines Fehlers oder einer Fehlfunktion.
-
13 ist
eine schematische Darstellung des Datenablaufs während des Stadiums der Erholung
von einer Fehlfunktion.
-
14 ist
ein Diagramm, das eine Gruppierungskonfiguration zeigt, wenn eine
Anzahl von Plattenlaufwerken angeschlossen ist.
-
15 ist
ein Diagramm, das das Prinzip eines Frequenzmultiplex(FDM)-Übertragungsschemas zeigt.
-
16 ist
ein Blockdiagramm eines FDM-Schnittstellencontrollers.
-
17 ist
ein Blockdiagramm eines Plattenlaufwerk-Schnittstellencontrollers.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Gemäß der 1 verwendet
ein Plattenarraysystem gemäß einer
veranschaulichenden Ausführungsform
der Erfindung das Frequenzmultiplex(FDM)-Übertragungsschema
für eine
Plattenlaufwerk-Schnittstelle, die für wechselseitige Verbindungen
zwischen Plattenlaufwerk-Schnittstellencontrollerschaltungen und
einem Plattenlaufwerkarray sorgt.
-
Das
Plattenarraysystem der 1 verfügt über Kanal-Schnittstellencontroller 1,
Cachespeicher 2, Plattenlaufwerk-Schnittstellencontroller 5,
einen internen Datenbus 4 für wechselseitige Verbindung zwischen
diesen, eine FDM-Übertragungsschnittstelle 6 und
ein Array von Magnetplattenlaufwerken 7. Diese Plattenlaufwerke 7 können magnetische
Festplatten-Laufwerkseinheiten sein, die zu mehreren Gruppen organisiert
sind, einschließlich
Plattenlaufwerkgruppen 3A, 3B, 3C, 3D, 3E,
..., die eine Frequenzzuweisung zur Datenübertragung ausführen. Eine
Identifizierung jeder Plattenlaufwerkgruppe erfolgt auf Grundlage
einer Adressierung jeweiliger Plattenlaufwerke. Hierbei folgt die
veranschaulichende Konfiguration von Plattenarrays aus einer Anzahl von
Plattenlaufwerken 7 den Standards des Niveaus fünf (5) des
Redundant Array of Inexpensive Disks (RAID), wobei darin vier Daten-Plattenlaufwerke
(in den 4 bis 13 mit
der Zahl 24 gekennzeichnet) und ein Paritäts-Plattenlaufwerk
(25 in den 4 bis 13) darin
angeordnet sind.
-
Wie
es aus den 4 bis 13 erkennbar ist,
verfügt
ein einzelner Plattenlaufwerk-Schnittstellencontroller 5 über vier
Plattenlaufwerk-Schnittstellenports P1 bis P4 sowie zwei Schnittstellenverbindungspfade
C1, C2 für
Verbindung mit den Plattenlaufwerken 7, während die
Frequenzwerte für
jede Plattenlaufwerk-Schnittstelle auf solche Weise geeignet eingestellt
werden, dass verhindert ist, dass beliebige zugewiesene Frequenzen
miteinander überlappen.
Es sei hier darauf hingewiesen, dass die Bezugszeichen für die Ports
P1-P4 und die Verbindungsbusse C1, C2 der Vereinfachung der Darstellungen
der 4 bis 13 halber nur für einen Plattenlaufwerk-Schnittstellencontroller 5c dargestellt
sind.
-
Die
wechselseitigen Verbindungen zwischen den Plattenlaufwerk-Schnittstellencontrollern 5 und den
Plattenlaufwerken 7 werden auch unter Verwendung zweier
Leitungspfade 6-1, 6-2 bewerkstelligt, die beim
Auftreten irgendeines möglichen
Fehlers oder einer Fehlfunktion als alternative Busleitungen wirken,
wobei jede derselben körperlich
mit allen Plattenlaufwerken verbunden ist. Typischerweise ist es
bevorzugt, dass diese zwei Busse verwendet werden, um die Ausführung irgendwelcher
Zugriffsprozeduren zu ermöglichen,
die auf dieselbe Plattenlaufwerkgruppe ausgerichtet sind, um dadurch
für eine effiziente
Nutzung derselben zu sorgen. Einzelheiten werden später in dieser
Beschreibung beschrieben.
-
Die 2 ist
ein Diagramm, das die interne Konfiguration eines Kanal-Schnittstellencontrollers 1 zeigt.
Wie es in dieser Zeichnung dargestellt ist, besteht der Kanal-Schnittstellencontroller 1 aus
einem Kanalschnittstellenprotokoll-Controller 8, einem
Datenübertragungscontroller 9,
einem Datenformatwandler 10, einem Controller 11 für die Datenübertragung
auf dem internen Bus, einem Pufferspeicher 12 und einem
Mikroprozessor 13.
-
Die 3 ist
ein Diagramm, das die interne Konfiguration eines Plattenlaufwerk-Schnittstellencontrollers 5 zeigt.
-
Wie
dargestellt, besteht dieser Schnittstellencontroller 5 im
Wesentlichen aus einem FDM-Schnittstellencontroller 14,
einem Controller 15 zur Datenübertragung über den internen Bus, einem Pufferspeicher 16,
einem Paritätsdatengenerator 17, einem
internen Bus 18 des Plattenlaufwerk-Schnittstellencontrollers
sowie einem Mikroprozessor 19.
-
Nun
erfolgt eine Beschreibung zu einem Datenablauf zwischen einem nicht
dargestellten Hostcomputer und den Plattenlaufwerken 7.
-
Zunächst wird
ein Fall erörtert,
bei dem Daten vom Hostcomputer in ein spezifiziertes Plattenlaufwerk
geschrieben werden.
-
Die
in der 1 dargestellten Kanal-Schnittstellencontroller 1 sind
auf solche Weise mit einem Computer verbunden, dass der Kanalschnittstellenprotokollcontroller 8 der 2 eine
Protokollsteuerung der Kanalschnittstelle sowie eine Befehlsanalyse
ausführt,
während
es dem Datenübertragungscontroller 9 erlaubt
wird, Daten vom Hostcomputer zum Datenformatwandler 10 zu übertragen,
der dann eine erforderliche Datenformatwandlung von einem Zählschlüsseldaten(CKD
= Count Key Data)-Format in ein Format mit fester Blockarchitektur
(FBA = Fixed Block Architecture) ausführt. Danach führt der
Controller 11 für
die Datenübertragung über den
internen Bus eine Datenübertragung
in Bezug auf die Cachespeicher 2 aus. In dieser Situation
sorgen die Cachespeicher 2 vorübergehend für eine Pufferfunktion bei einer
derartigen Datenübertragung.
Eine anschließende
Operation kann abhängig
von der tatsächlichen
Schreibdatenmenge abhängen,
für die
eine Einteilung in sieben mögliche
Fälle (1)
bis (7) erfolgt, wie es unten auf fallbezogene Weise beschrieben wird.
-
(1) Fall des Ausführens eines
Gesamtstripe-Schreibvorgangs unter Verwendung zweier Pfade
-
Es
erfolgt eine Erläuterung
unter Bezugnahme auf die 4. Die Kanal-Schnittstellencontroller 1 informieren
die Plattenlaufwerk-Schnittstellencontroller 5 über das
Auftreten eines Schreibereignisses, was dafür sorgt, dass aus diesen zwei
Schnittstellencontroller – beispielsweise 5a, 5b – ausgewählt werden.
Die jeweiligen Plattenlaufwerk-Schnittstellencontroller 5a, 5b koope rieren
miteinander, um Daten von den Cachespeichern 2 an die Daten-Plattenlaufwerke 7a-7d zu übertragen.
Dabei versucht der Plattenlaufwerk-Schnittstellencontroller 5a,
Schreibdaten unter Verwendung von vier Ports P1-P4 und zwei Schnittstellenverbindungspfaden
C1, C2 gleichzeitig an die Daten-Plattenlaufwerke 7a, 7b zu übertragen. Die
vier Ports des Plattenlaufwerk-Schnittstellencontrollers 5a werden
dabei auf eine Frequenz eingestellt, die identisch mit der jedes
der Daten-Plattenlaufwerke 7a-7d ist. Der restliche
Plattenlaufwerk-Schnittstellencontroller 5b erzeugt Paritätsdaten
in Reaktion auf die von den Cachespeichern 2 übertragenen
Daten hin, und gibt sie aus, wobei dafür gesorgt wird, dass Schreibdaten
zum Paritäts-Plattenlaufwerk 7e übertragen
werden. Auf diese Weise wird eine Reihe von Schreiboperationen eines
Gesamtstripe-Schreibvorgangs über
zwei Pfade abgeschlossen.
-
(2) Fall des Ausführens eines
Gesamtstripe-Schreibvorgangs mit einem Pfad
-
Nun
erfolgt eine Erläuterung
unter Bezugnahme auf die 5. Wenn ein Pfad verwendet wird, werden
drei Plattenlaufwerk-Schnittstellencontroller verwendet. Dies wirkt
als Maßnahme,
die zur Verwendung für
den Fall anwendbar ist, dass auf einem Pfad von den Plattenlaufwerk-Schnittstellencontrollern
zu den Plattenlaufwerken irgendein Fehler oder eine Fehlfunktion
auftritt. Die Kanal-Schnittstellencontroller informieren die Plattenlaufwerk-Schnittstellencontroller über das
Auftreten eines Schreibereignisses, was dafür sorgt, dass drei Plattenlaufwerk-Schnittstellencontroller 5a, 5b, 5c,
die eine derartige Mitteilung empfangen haben, ausgewählt werden
und jeweils zur Datenübertragung
verwendet werden.
-
Zu
allererst erfolgt ein Übertragen
der in den Daten-Plattenlaufwerken 7a, 7b gespeicherten Schreibdaten
von den Cachespeichern 2 zum Plattenlaufwerk-Schnittstellencontroller 5a.
Danach werden die auf die Daten-Plattenlaufwerke 7c, 7d abzielenden
Schreibdaten von den Cachespeichern 2 an die Plattenlaufwerk-Schnittstellencontroller 5b übertragen.
Wenn diese Schnittstellencontroller 5a, 5b derartige
Daten empfangen, führen
sie eine Schreibdatenübertragung
zu den Daten-Plattenlaufwerken 7a-7d aus. In diesem
Fall wird die Übertragungsfrequenz
variabel gemacht, was es ermöglicht,
eine gleichzeitige Datenübertragung
zu erzielen.
-
Andererseits
erstellt der Plattenlaufwerk-Schnittstellencontroller 5c auf
Grundlage der von den Daten-Plattenlaufwerken 7a-7d herrührenden
und von den Cachespeichern 2 empfangenen Daten Paritätsdaten,
um dadurch dafür
zu sorgen, dass Schreibdaten an das Paritäts-Plattenlaufwerk 7e übertragen
werden. Die Frequenz wird bei dieser Übertragung so geändert, dass
sie sich von denen der Daten-Plattenlaufwerke 7a-7d unterscheidet, was
eine gleichzeitige übertragung
ermöglicht.
Auf diese Weise wird eine Reihe von Schreiboperationen gemäß einem
All-Stripe-Schreibvorgang über
einen Pfad abgeschlossen.
-
(3) Fall des Ausführens eines
Einstripe-Vorgangs
-
Nun
erfolgt eine Erläuterung
unter Bezugnahme auf die 6. In diesem Fall wird ein Plattenlaufwerk-Schnittstellencontroller
zum Ausführen
von Operationen verwendet. Die Kanal-Schnittstellencontroller 1 informieren
die Plattenlaufwerk-Schnittstellencontroller 5 über das
Auftreten eines Datenschreibereignisses. Bei Empfang dieser Mitteilung wird
ein Plattenlaufwerk-Schnittstellencontroller 5a ausgewählt, so
dass eine Datenübertragung
von den Cachespeichern 2 aus ausgeführt wird. Der aktuell ausgewählte Plattenlaufwerk-Schnittstellencontroller 5a verwendet
zwei Ports zum Ausführen
einer Datenleseübertragung
für das
Daten-Plattenlaufwerk 7a, wo ein Schreibereignis auftrat,
und das Paritäts-Plattenlaufwerk 7e.
Auf Grundlage von Daten, wie sie von diesen Plattenlaufwerken 7a, 7e übertragen
werden, und Daten von den Cachespeichern 2, können neue
Paritätsdaten
erzeugt werden und als Schreibdaten für das Paritäts-Plattenlaufwerk 7e ausgegeben
werden. Die Paritätsdaten
und Daten von den Cachespeichern 2 werden dann als Schreibdaten
zum Paritäts-Plattenlaufwerk 7e und
zum Daten-Plattenlaufwerk 7a übertragen. Auf diese Weise wird
eine Reihe von Schreiboperationen eines 1-Stripe-Schreibvorgangs
abgeschlossen.
-
(4) Fall des Ausführens eines
2-Stripe-Schreibvorgangs mit zwei Pfaden
-
Es
erfolgt eine Erläuterung
der Bezugnahme auf die 7. In diesem Fall erfolgt eine
Schreiboperation unter Verwendung eines Plattenlaufwerk-Schnittstellencontrollers.
Die Kanal-Schnittstellencontroller 1 informieren die Plattenlaufwerk-Schnittstellencontroller über die
Tatsache, dass ein Schreibereignis aufgetreten ist. Bei Empfang
einer derartigen Mitteilung wird ein Plattenlaufwerk-Schnittstellencontroller 5a zur
Datenübertragung
von den Cachespeichern 2 her ausgewählt. Andererseits wird eine
Datenleseübertragung
von zwei Daten-Plattenlaufwerken 7a, 7b, an denen
das Schreibereignis auf trat, und vom Paritäts-Plattenlaufwerk 7e her
ausgeführt.
Während
einer derartigen Datenübertragung
wird die Übertragungsfrequenz hinsichtlich
jedes dieser Plattenlaufwerke variiert. Danach können, auf Grundlage zweier
alter Daten und einer alten Parität jedes Plattenlaufwerks sowie der
von den Cachespeichern 2 übertragenen Daten neue Paritätsdaten
als Schreibdaten für
das. Paritäts-Plattenlaufwerk 7e entwickelt
werden. Die aktuellen Daten und die von den Cachespeichern 2 übertragenen
Daten werden dann als Schreibdaten an das Paritäts-Plattenlaufwerk 7e und
die Daten-Plattenlaufwerke 7a, 7b übertragen.
Auf diese Weise wird eine Reihe von Zweistripe-Schreibvorgängen über zwei
Pfade abgeschlossen.
-
(5) Fall des Ausführens eines
2-Stripe-Schreibvorgangs unter Verwendung eines Pfads
-
Es
erfolgt eine Erläuterung
unter Bezugnahme auf die 8. In diesem Fall wird die Schreiboperation
unter Verwendung eines Plattenlaufwerk-Schnittstellencontrollers
ausgeführt.
Wenn die Kanal-Schnittstellencontroller die Plattenlaufwerk-Schnittstellencontroller über das
Auftreten eines Schreibereignisses informieren, werden zwei Plattenlaufwerk-Schnittstellencontroller 5a, 5b,
die eine derartige Mitteilung empfangen haben, ausgewählt, was
dafür sorgt,
dass eine Datenübertragung von
den Cachespeichern 2 zum Plattenlaufwerk-Schnittstellencontroller 5a erfolgt.
Andererseits führt
der Plattenlaufwerk-Schnittstellencontroller 5d eine Lesedatenübertragung
alter Daten des Paritäts-Plattenlaufwerks 7e aus.
Gleichzeitig wird auch eine Lesedatenübertragung für die alten
Daten des Daten-Plattenlaufwerks 7a ausgeführt, an
dem das Schreibereignis auftrat. Danach erfolgt eine Datenübertragung
vom Plattenlaufwerk-Schnittstellencontroller 5d über den
internen Bus 4 zum Plattenlaufwerk-Schnittstellencontroller 5a.
Diese Daten, nämlich
die alten Daten des Daten-Plattenlaufwerks 7a sowie die
von den Cachespeichern übertragenen
Daten, werden dann dazu verwendet, neue Paritätsdaten zu erzeugen und auszugeben,
die als Schreibdaten für
das Paritäts-Plattenlaufwerk 7e dienen
können.
Während
einer derartigen Paritätserzeugungsperiode
erfolgt eine Schreibdatenübertragung
für das Daten-Plattenlaufwerk 7a.
Anschließend
wird die Portfrequenz umgeschaltet, was dafür sorgt, dass eine Datenübertragung
der neuen Parität
in Bezug auf das Paritäts-Plattenlaufwerk 7e ausgeführt wird. Auf
diese Weise wird eine Reihe von Zweistripe-Schreibvorgängen über einen
Pfad abgeschlossen.
-
(6) Fall des Ausführens eines
3-Stripe-Schreibvorgangs unter Verwendung eines Pfads
-
Es
erfolgt eine Erläuterung
unter Bezugnahme auf die 9. Es handelt sich um eine Maßnahme,
die zur Verwendung für
den Fall anpassbar ist, dass in einem Pfad von den Plattenlaufwerk-Schnittstellencontrollern
zu Plattenlaufwerken ein Fehler oder eine Fehlfunktion auftritt.
Wenn die Kanal-Schnittstellencontroller die Plattenlaufwerk-Schnittstellencontroller über die
Tatsache informieren, dass ein Schreibereignis aufgetreten ist,
werden anschließend
zwei Plattenlaufwerk-Schnittstellencontroller 5a, 5b,
die eine derartige Mitteilung empfangen haben, ausgewählt, was
es ermöglicht, eine
gleichzeitige Datenübertragung
von den Cachespeichern 2 zu den Plattenlaufwerk-Schnittstellencontrollern
auszuführen.
Andererseits erfolgt eine Lesedatenübertragung von den drei Daten-Plattenlaufwerken 7a-7c und
dem Paritäts-Plattenlaufwerk 7e. Danach
werden, im Plattenlaufwerk-Schnittstellencontroller 5a,
Zwischenparitätsdaten
auf Grundlage der von den Cachespeichern 2 übertragenen
Daten und der Lesedaten der Daten-Plattenlaufwerke entwickelt und
dann über
den internen Bus 4 zum Plattenlaufwerk-Schnittstellencontroller 5b übertragen. Auf
Grundlage dieser Daten, der Daten von den Cachespeichern 2 und
der aus den Plattenlaufwerken gelesenen alten Daten können dann
neue Paritätsdaten
erzeugt werden, die als Schreibdaten für das Paritäts-Plattenlaufwerk verwendet
werden. Außerdem
erfolgt eine Schreibdatenübertragung
vom Plattenlaufwerk-Schnittstellencontroller 5a zu den
zwei Daten-Plattenlaufwerken 7a, 7b sowie vom
Plattenlaufwerk-Schnittstellencontroller 5b zum einen Daten-Plattenlaufwerk 7c.
Auf diese Weise wird eine Reihe von Dreistripe-Schreibvorgängen über einen Pfad abgeschlossen.
-
(7) Fall des Ausführens eines
3-Stripe-Schreibvorgangs unter Verwendung zweier Pfade.
-
Eine
Erläuterung
erfolgt unter Bezugnahme auf die 10. Die
Kanal-Schnittstellencontroller informieren die Plattenlaufwerk-Schnittstellencontroller über das
Auftreten eines Schreibereignisses; beim Empfangen einer derartigen
Mitteilung wird ein Plattenlaufwerk-Schnittstellencontroller 5a ausgewählt, was
es ermöglicht,
Daten von den Cachespeichern 2 zu übertragen. Gleichzeitig verwenden
die Plattenlaufwerk-Schnittstellencontroller vier Ports zum Ausführen einer
Lesedatenübertragung
alter Daten von den Daten-Plattenlaufwerken 7a-7c,
wo das Schreibereignis auftrat, und vom Paritäts-Plattenlaufwerk 7e.
Danach werden, auf Grundlage der von diesen Plattenlaufwerken gelesenen
Daten und der von den Cachespeichern 2 übertragenen Daten neue Paritätsdaten
erzeugt und als Schreibdaten für
das Paritäts-Plattenlaufwerk 7e ausgegeben.
Als Nächstes werden
die obigen Daten und die von den Cachespeichern 2 übertragenen
Daten als Schreibdaten an das Paritäts-Plattenlaufwerk 7e und
die Daten-Plattenlaufwerke 7a-7c übertragen.
Auf diese Weise wird eine Reihe von Dreistripe-Schreibvorgängen über zwei
Pfade abgeschlossen.
-
Aus
den obigen Erörterungen
ist es ersichtlich, dass, da Schreiboperationen in jedem Fall zwischen
Stripegruppen gleichzeitig ausgeführt werden, die Daten-Plattenlaufwerke
dieser Stripegruppen eine direkte Kommunikationsbeziehung zu den
Plattenlaufwerkgruppen zeigen, wodurch ein gleichzeitiges Schreiben
dadurch ermöglicht
wird, dass die Übertragungsfrequenz
für jeden
Plattenlaufwerk-Schnittstellencontroller geändert wird.
-
Nun
erfolgt eine Erläuterung
für den
Fall, dass ein Hostcomputer auf die Plattenlaufwerke zugreift, um
aus ihnen Daten zu lesen. In den in der 1 dargestellten
Kanal-Schnittstellencontrollern 1 wird ein Befehl vom Hostcomputer
analysiert, um zu verifizieren, ob als Nächstes zu lesende Daten in
den Cachespeichern 2 vorhanden sind oder nicht. Wenn derartige
Daten darin aufgefunden werden, werden die Plattenlaufwerke 7 keinem
Datenlesevorgang unterzogen; alternativ werden die Daten in den
Cachespeichern 2 verwendet, um Hochgeschwindigkeitsoperationen
zu erzielen. In diesem Fall wird, in Antwort auf eine Anfrage von
den Kanal-Schnittstellencontrollern 1 hin, eine Übertragung
der Daten aus Cachespeichern 2 unter Steuerung durch den
Controller 11 für
die Datenübertragung über den
internen Bus ausgeführt.
Nach einer Wandlung der empfangenen Daten aus dem FBA-Datenformat
in das CKD-Datenformat im Datenformatwandler 10 wird eine
Datenübertragung über den
Kanalschnittstellenprotokoll-Controller 8 zum Hostcomputer
ausgeführt.
-
Nun
erfolgt unter Bezugnahme auf die 11 eine
Erläuterung
für den
Fall, dass die Cachespeicher 2 keine Daten enthalten. Wenn
von den Kanal-Schnittstellencontrollern eine Leseanfrage an die Plattenlaufwerk-Schnittstellencontroller
ausgegeben wird, wird anschließend
ein Plattenlaufwerk-Schnittstellencontroller 5a, der eine
derartige Anfrage empfangen hat, ausgewählt, um eine Leseübertragung von
Daten von einem beliebigen mindestens einen Plattenlaufwerk, das
die Daten speichert, auf Anfrage hin auszuführen. In dieser Situation kann
die gleichzeitige Übertragung
von Lesedaten aus den Plattenlaufwerken 7a und 7e dadurch
ermöglicht
werden, dass die Übertragungsfrequenz
hinsichtlich der Ports geändert
wird, die funktionsmäßig mit
dem Plattenlaufwerk-Schnittstellencontroller 5a verbunden
sind. Möglicherweise
tritt es auf, dass die Pfade zwischen den Plattenlaufwerk-Schnittstellencontrollern
und Plattenlaufwerken aufgrund des Auftretens eines Fehlers in einem
der Pfade 6-1 und 6-2 in
beeinträchtigtem
Zustand vorliegen; wenn dies der Fall ist, kann die Datenübertragung
unter Verwendung zweier Plattenlaufwerk-Schnittstellencontroller
ausgeführt
werden.
-
Nun
erfolgt unter Bezugnahme auf die 12 eine
Erläuterung
für den
Fall eines Lesens von Daten in einer Situation, in der in den Plattenlaufwerken
ein Fehler aufgetreten ist. Wenn von den Kanal-Schnittstellencontrollern
eine Leseanfrage an die Plattenlaufwerk-Schnittstellencontroller
erfolgt, wird anschließend
der Plattenlaufwerk-Schnittstellencontroller 5a, der diese
Anfrage empfangen hat, ausgewählt,
was es ermöglicht,
eine Datenübertragung
von den Daten-Plattenlaufwerken 7a-7c, die frei
von jeglichen Fehlern oder Fehlfunktionen sind, und vom Paritäts-Plattenlaufwerk 7e her
auszuführen.
Auf Grundlage dieser Daten können
die Daten des Daten-Plattenlaufwerks 7d, bei dem ein Fehler
aufgetreten ist, repariert werden, um die gesamte zugehörige Datenstruktur
wieder herzustellen. Wenn die Pfade zwischen den Plattenlaufwerk-Schnittstellencontrollern
und Plattenlaufwerken aufgrund des Auftretens eines Fehlers oder
einer Fehlfunktion in einem Pfad in beeinträchtigtem Zustand vorliegen,
kann die Datenübertragung
unter Verwendung zweier Plattenlaufwerk-Schnittstellencontroller ausgeführt werden. Auf
diese Weise wird eine Reihe von Leseoperationen ausgeführt.
-
Als
Nächstes
wird unter Bezugnahme auf die 13 ein
Verfahren zum Wiederherstellen der Datenstruktur nach dem Auftreten
eines Fehlers in mindestens einem Plattenlaufwerk erläutert. Einer
ersatzweisen Plattenlaufwerkgruppe 7f ist eine anfänglich eingestellte Übertragungsfrequenz
zugewiesen, die sich von denen der restlichen Gruppen von Daten-Plattenlaufwerken
und der Gruppe von Paritäts-Plattenlaufwerken
unterscheidet. Beim Auftreten eines Fehlers oder einer Fehlfunktion
wird die Datenstruktur eines derartigen fehlerhaften Plattenlaufwerks 7d unter
Verwendung des Plattenlaufwerk-Schnittstellencontrollers 5a rekonstruiert.
Die sich ergebende, so rekonstruierte Datenstruktur wird einem Plattenlaufwerk 7f der
ersatzweisen Plattenlaufwerkgruppe 7f zugewiesen. Dann
wird dieses Plattenlaufwerk 7f einem Schreibvorgang unterzo gen.
Während
einer derartigen Reparaturprozedur werden, bis sie in Bezug auf
alle Daten des Plattenlaufwerks ausgeführt ist, alle Dienste vom Hostcomputer
ausgeführt,
während
eine Ausführung
der Datenreparaturabläufe
zulässig
ist. Danach, wenn die Datenreparatur abgeschlossen ist, wird die Übertragungsfrequenz
eines derartigen fehlerhaften Plattenlaufwerks 7d, in dem
ein Fehler auftrat, auf die Frequenz eingestellt, die für fehlerhafte
Plattenlaufwerke reserviert ist, und es wird eine Neuzuordnung oder ein
Schließen
der Adresse ausgeführt.
Auch wird das ersatzweise Plattenlaufwerk 7f, das nun die
reparierten Daten enthält,
auf die Frequenz und die Adresse des Plattenlaufwerks 7d zurückgesetzt,
in dem der Fehler auftrat. Durch eine derartige Anordnung wird es
möglich,
unter Verwendung derselben Pfade, wie sie vor dem Auftreten des
Fehlers verwendet wurden, auf beliebige Plattenlaufwerke zuzugreifen,
ohne dass irgendeine Änderung
im Plattenlaufwerk-Abbildungssystem erforderlich wäre, um dadurch
zu gewährleisten,
dass dieselbe Operation wie vor dem Auftreten des Fehlers ohne jede
Unterbrechung fortgesetzt wird.
-
Nun
erfolgt unter Bezugnahme auf die 14 eine
Erläuterung
zu einem Umschaltverfahren, wie es zur Verwendung dann anpassbar
ist, wenn eine Anzahl von Plattenlaufwerken miteinander verbunden
wird. Jeweilige Plattenlaufwerkgruppen 3 werden auf voneinander
unabhängige
Frequenzen eingestellt. Der zugehörige Verbindungszustand kann
dadurch dynamisch geändert
oder modifiziert werden, dass dafür gesorgt wird, dass die Plattenlaufwerk-Schnittstellencontroller
eine unter diesen eingestellten Frequenzen auswählen. Dies kann jeden Plattenlaufwerk-Schnittstellencontroller
in die Lage versetzen, frei jede geeignete der Plattenlaufwerkgruppen 3 auszuwählen, was
es wiederum ermöglicht,
eine praktisch erhöhte
Anzahl von Plattenlaufwerken 7 zu steuern. In dieser Situation
ist es auch möglich,
eine gleichzeitige Datenübertragung über eine
einzelne Datenleitung dadurch auszuführen, dass zwangsweise dafür gesorgt
wird, dass die für
Stripegruppen 30 verwendeten Frequenzen voneinander verschieden
sind, wobei jede derselben als Einheit erscheint. Ferner ermöglicht es
dies, auf Plattenlaufwerken, die nicht zur selben Stripegruppe 30 gehören, gleichzeitig
zuzugreifen, wodurch die Vielzahl von Übertragungsvorgängen für jeweilige
Plattenlaufwerke 7 verbessert werden kann, um den Zugriff
auf Plattenlaufwerke zu beschleunigen. Noch weiter kann der Vielfachbetrieb
dadurch verbessert werden, dass zwischen den Plattenlaufwerk-Schnittstellencontrollern
und den Plattenlaufwerken zu einem Zeitpunkt zwei Pfade 6-1, 6-2 verwendet
werden.
-
Nun
erfolgt eine Erläuterung
zum FDM-Übertragungsschema.
Die 15 ist ein Diagramm, das das Grundkonzept der
FDM-Übertragung
zeigt. Es ist für
jede beliebige Schnittstelle, die eine Datenübertragung ausführt, erforderlich,
dass die zugehörige Bandbreite
zur ausschließlichen
Belegung entsprechend der Zuweisung von Übertragungsfrequenzen eingeengt
ist. Dies aufgrund der Tatsache, dass eine effektive Zuweisung extensiver
Kanalnummern nicht mehr erforderlich ist, wenn eine größere Breite
des exklusiv belegten Bands erforderlich ist. Andererseits werden,
da es erforderlich ist, dass die Datenübertragungsrate so hoch wie
möglich
ist, Phasenmodulationstechniken als zugehöriges Modulationsschema verwendet,
das für
eine Datenübertragung
hoher Geschwindigkeit bei verkleinerter Breite des Bands zur ausschließlichen
Nutzung sorgt, während
dafür gesorgt
ist, dass die zugehörige
Frequenz in der Größenordnung
einiger Gigahertz (GHz) liegt. Bei einem derartigen Frequenzband
kann die Größe von Filtern oder
dergleichen verringert werden, während
es möglich
ist, dass sich Steuerungslogikschaltungen frequenzmäßig von
Störsignalen
unterscheiden, so dass jede mögliche
Störinterferenz
verringert werden kann. Als Medium zum Ausführen einer Datenübertragung
können
abweichend von herkömmlichen
Kabeln auch optische Fasern verwendet werden.
-
Die 16 ist
ein Blockdiagramm, das Einzelheiten der internen Konfiguration eines FDM-Schnittstellencontrollers 19 zeigt,
wie er innerhalb eines Plattenlaufwerk-Schnittstellencontrollers 5 der 3 vorhanden
ist. Dieser dargestellte FDM-Schnittstellencontroller besteht aus
einem Mikroprozessor 31, einer Schaltung 32 zum
Einstellen der Sende-/Empfangsfrequenz, einer Oszillatorfrequenz-Steuerungseinrichtung 33,
einem Sendeoszillator 34, einem Empfangsoszillator 35,
einem Modulator 36, einem Sendeverstärker 37, einem Controller 38 für interne Übertragung,
einem Plattenlaufwerk-Schnittstellenprotokollcontroller 39,
einem Demodulator 40, einem Frequenzwandler 41,
einem Bandverstärker 42,
einem Pufferspeicher 43 und einem Paritätsdatengenerator 44.
-
Um
eine Zuweisung der Arbeitsfrequenz bei FDM-Datenübertragung auszuführen, stellt
der Mikroprozessor 31 irgendeine gewünschte Frequenz für die Einstelleinrichtung 32 für die Sende-/Empfangsfrequenz
ein. Wenn die Arbeitsfrequenz bestimmt ist, erfolgt eine Schwingungserzeugung
mit dem selben Wert (den selben Werten), wie von der Oszillatorfrequenz-Steuerungseinrichtung 33,
dem Sendeoszillator 34 und dem Empfangsoszillator 35 eingestellt.
-
Als
Nächstes
wird der Betrieb hinsichtlich der Übertragung von Daten zu den
Plattenlaufwerken erläutert.
Bei Empfang einer Anfrage vom Controller 38 für interne
Datenübertragung
werden Daten von den Cachespeichern 2 der 1 über den
internen Bus 4 an den Controller 38 zur internen Übertragung übertragen.
Derartige Daten werden dann im Plattenlaufwerk-Schnittstellenprotokollcontroller 39 mehreren Datenwandlungsarten
unterzogen, zu denen eine Plattenlaufwerk-auf-Protokoll-Wandlung,
eine Codewandlung, eine Serielldatenwandlung usw. gehören. Die
sich ergebenden, gewandelten Daten werden dann durch den Modulator 36 auf
Grundlage der o.g. Oszillatorfrequenz moduliert, um durch den Sendeverstärker 37 verstärkt zu werden.
Die sich ergebenden verstärkten
Daten werden dann durch einen FDM-Schnittstellenport 45 an
die Plattenlaufwerke weiter geliefert.
-
Als
Nächstes
erfolgt eine Erläuterung
für den Fall
des Datenempfangs. Zunächst
wird ein (werden) von den Plattenlaufwerken übertragenes Signal (übertragene
Signale) an den Bandverstärker 42 geliefert,
der dafür
sorgt, dass nur ein Signal mit der gewünschten Frequenz durch ihn
läuft.
Danach wird das Signal durch den Empfangsoszillator 35 und
den Frequenzwandler 41 in ein bestimmtes Signal mit einer
Zwischenfrequenz von festem Wert gewandelt, das dann zur Demodulation
und zur Analog-Digital-Wandlung in den Demodulator 40 eingegeben wird.
Diese Frequenzauswahl wird ebenfalls unter Steuerung durch den Mikroprozessor 31 ausgeführt, der
versucht, für
die Einstelleinrichtung 32 für die Sende-/Empfangsfrequenz
eine Frequenz einzustellen.
-
Anschließend wird
das sich ergebende digitale Signal an den Plattenlaufwerk-Schnittstellenprotokollcontroller 39 weitergeleitet,
der eine Codewandlung und eine Paralleldatenwandlung ausführt. Die im
Code gewandelten, parallelen Daten werden dann an den Controller 38 für interne Übertragung übertragen.
Bei Empfang der Daten überträgt dieser
Controller 38 Daten an den internen Bus 4, was
dafür sorgt, dass
die Daten in die Cachespeicher 2 der 1 geschrieben
werden. Auf diese Weise wird die Datenübertragung zu den Plattenlaufwerken 7 ausgeführt.
-
Die 17 ist
ein Diagramm, das die Konfiguration eines Schnittstellenabschnitts
innerhalb der Plattenlaufwerke zeigt. Dieser Schnittstellenabschnitt verfügt über einen
Mikroprozessor 46, eine Einstelleinrichtung 47 für die Sende-/Empfangsfrequenz, eine
Oszillatorfrequenz-Steuerungseinrichtung 48, einen Sendeoszillator 49,
einen Empfangsoszillator 50, einen Modulator 51, einen
Sendeverstärker 52, einen
Plattenlaufwerk-Schnittstelleprotokollcontroller 53, einen
Demodulator 54, einen Frequenzwandler 55, einen
Bandverstärker 56 und
eine Plattenlaufwerk-Lese/Schreib-Prozessorschaltung 57.
-
Der
Betrieb seitens der Plattenlaufwerke ist dahingehend demjenigen
zur Schnittstellensteuerung der Plattenlaufwerke ähnlich,
dass die zugehörige
Frequenz zur Verwendung beim Ausführen der Datenübertragung
nach dem Anlegen der Spannungsversorgung voreingestellt wird. Ein
Wert, der diese voreingestellte Frequenz angibt, kann in einem nicht
flüchtigen
Speicher wie einem elektrisch programmierbaren Festwertspeicher
gespeichert werden, wozu ein Flashspeicher oder dergleichen gehören. Danach,
wenn die Frequenz zu ändern
ist, wird jede Plattenlaufwerkgruppe bei Empfang eines entsprechenden
Frequenzeinstellbefehls von den Plattenlaufwerk-Schnittstellencontrollern 5 auf
jede beliebige benötigte
Frequenz umgeschaltet. Es sei hier darauf hingewiesen, dass die
Auswahl eines jeweiligen der Plattenlaufwerke innerhalb von Plattenlaufwerkgruppen 3 dadurch
ausgeführt
wird, dass jedem derselben eine geeignete Adresse zugewiesen wird.
-
Auf
die oben beschriebene Weise ist es möglich, dass jeder Plattenlaufwerk-Schnittstellencontroller 5 ein
beliebiges der Plattenlaufwerke 7 auswählt, während eine extensive Anzahl
von Plattenlaufwerken anschließbar
bleibt, was unter Verwendung einer einzelnen Schnittstelleleitung
während
der gesamten Verarbeitungszeitperiode erfolgt.
-
Mit
einer derartigen Anordnung wird es, selbst wenn in ihr eine erhöhte Anzahl
von Plattenlaufwerken verwendet wird, möglich, die Anzahl der Schnittstellenleitungen
zwischen den Plattenlaufwerk-Schnittstellencontrollern 5 und
den Daten-Plattenlaufwerken 7 zu verringern, wodurch die
zusätzliche
Installation eines Plattenlaufwerks (von Plattenlaufwerken) erleichtert
werden kann.
-
Während spezielle
Ausführungsformen
der Erfindung beschrieben wurden, ist es zu erwarten, dass der Fachmann
alternative Ausführungsformen der
Erfindung konzipieren kann und konzipieren wird, die in den Schutzumfang
der beigefügten
Ansprüche fallen.