-
TECHNISCHES
GEBIET
-
Die
vorliegende Erfindung bezieht sich auf Speicherplattenanordnungssysteme
und Speicherplattenanordnungs-Controller, die eine Architektur wie
RAID5 haben.
-
TECHNISCHER
HINTERGRUND
-
In
einer Speicherplattenanordnungs-Controller-Architektur des Standes
der Technik wird ein interner Bus verwendet oder zwei Busse, d.h.,
ein Kontrollbus durch eine eingebaute MPU und ein Benutzerdatentransferbus
zwischen einer Host-Schnittstelle
und einer Speicherplattenvorrichtungs-Schnittstelle werden verwendet.
-
Weiterhin
ist, wie in JP-A-6-180623 offenbart, eine dedizierte Schaltung wie
ein FIFO (First-in-First-out) zur Geschwindigkeitskontrolle erforderlich
zwischen der Host-Schnittstelle und der Speicherplattenvorrichtung.
-
Um
im Stand der Technik die Transferleistung der Host-Schnittstelle
und der Speicherplatte vollständig
zu erhalten, ohne einen Leistungsengpass durch einen internen Bus
des Anordnungs-Controllers zu verursachen, ist es notwendig, die
Transferrate des internen Busses auf eine genügend hohe Rate zu erhöhen wenn
verglichen mit der Transferrate der Host-Schnittstelle und der Speicherplatten-Schnittstelle und
eine dedizierte Schaltung wie ein FIFO ist zwischen dem internen
Hochgeschwindigkeitsbus und der Host-Schnittstelle und der Speicherplattenschnittstelle
notwendig, und in einem Speicherplattenanordnungs-Controller, der
eine Vielzahl von Kanälen
von Host-Schnittstelle und Speicherplattenschnittstelle hat, ist
dies ein Faktor hoher Kosten des Speicheranordnungs-Controllers
und des Speicherplattenanordnungssystems.
-
Ein
anderer Stand der Technik ist in WO 94/22082 offenbart, welche einen
fehlertoleranten Festplattenanordnungs-Controller beschreibt, worin in
einer Option von höheren
Kostenhöherer
Leistung ein in dem Controller bereitgestellter Speicher verwendet
wird, um Daten zu puffern. In D1 erzeugt jedoch der Speicherplatten-Controller keine
Paritätsdaten
für Benutzerdaten,
daher müssen
Paritätsdaten
auch über
die Host-Schnittstelle transferiert werden, was die Benutzerdaten-Transferrate beschränkt.
-
OFFENBARUNG
DER ERFINDUNG
-
Es
ist eine Aufgabe der vorliegenden Erfindung, einen Speicherplattenanordnungs-Controller und
ein Speicherplattenanordnungssystem bereitzustellen, welche die
obigen Probleme lösen
und die Datentransferrate bei niedrigen Kosten erhöhen.
-
Es
ist eine andere Aufgabe der vorliegenden Erfindung, einen Speicherplattenanordnungs-Controller
und ein Speicherplattenanordnungssystem bereitzustellen, welche
einen Verkehr zu einem Speicher (Speicherplatten-Cache) reduzieren,
um eine effektive Transferrate zu verbessern.
-
Es
ist eine andere Aufgabe der vorliegenden Erfindung, einen Speicherplattenanordnungs-Controller
und ein Speicherplattenanordnungssystem bereitzustellen, welche
das Scattern/Gathern von Daten und die Paritätsdatenerzeugung erlauben.
-
Diese
und andere Aufgaben werden erfüllt durch
einen Speicherplattenanordnungs-Controller, wie im unabhängigen Anspruch
1 definiert, und ein Speicherplattenanordnungssystem, wie im unabhängigen Anspruch
11 definiert. Weitere bevorzugte Ausführungsformen sind Gegenstand
der abhängigen Ansprüche 2 bis
10.
-
Um
die obigen Aufgaben zu erfüllen,
stellt die vorliegende Erfindung einen Speicherplattenanordnungs-Controller
oder ein Speicherplattenanordnungssystem bereit, dessen Controller
gekennzeichnet ist durch die Bereitstellung einer Speicherplattenanordnungs-Kontrolleinheit,
die eine oder mehrer MPUs hat; und die Bereitstellung einer Benutzerdaten-Transfereinheit,
welche eine Host-Schnittstelle mit einem Host-Computer hat, einen
Speicher (Speicherplatten-Cache) zum temporären Speichern von Daten, redundante
Datenerzeugungsmittel (REDUNDANTE DATEN GENERATOR) zum Erzeugen
redundanter Daten, eine Mehrkanal-Speicherplattenvorrichtungsschnittstelle
und Datentransferkontrollmittel, die einen oder mehrere Kanäle haben
zum Kontrollieren des Datentransfers zwischen der Host-Schnittstelle,
dem Speicher, den redundanten Datenerzeugungsmitteln und der Speicherplattenvorrichtungs-Schnittstelle;
und dass ein Kontrollbus (MPU-Bus) zum Steuern der Speicherplattenvorrichtungs-Schnittstelle,
der redundanten Datenerzeugungsmittel und der Datentransferkontrollmittel
der Benutzerdatentransfer-Kontrolleinheit durch die Speicherplattenanordnungs-Kontrolleinheit,
ein Host-Datenbus zum Ausführen
des Datentransfers zwischen der Host-Schnittstelle und dem Speicher durch
die Datentransfer-Kontrollmittel in der Benutzerdatentransfer-Kontrolleinheit
und ein Speicherplattendatenbus zum Ausführen des Datentransfers zwischen
der Speicherplattenvorrichtungs-Schnittstelle
und dem Speicher durch die Datentransfer-Kontrollmittel in der Benutzerdatentransferkontrolleinheit
bereitgestellt sind.
-
Die
vorliegende Erfindung ist weiter dadurch gekennzeichnet, dass, in
dem Speicherplattenanordnungs-Controller oder in dem Speicherplattenanordnungssystem,
die Host-Schnittstelle und die Speicherplattenvorrichtungs-Schnittstelle
SCSI-(Small Computer
System Interface)-Schnittstellen wie SCSI-2 umfassen.
-
Die
vorliegende Erfindung ist ferner dadurch gekennzeichnet, dass, in
dem Speicherplattenanordnungs-Controller oder dem Speicherplattenanordnungssystem,
die Datentransfer-Kontrollmittel die Benennung einer Vielzahl von
Datentransferpfaden zwischen Bereichen des Speichers und der Speicherplattenvorrichtungs-Schnittstelle erlauben.
-
Die
vorliegende Erfindung ist ferner dadurch gekennzeichnet, dass, in
dem Speicherplattenanordnungs-Controller oder dem Speicherplattenanordnungssystem,
das Datentransfermittel eine Vielzahl von Zählern aufweist zum Benennen
von Adressen des Speichers und eine Vielzahl von Registern zum Benennen
von Kanälen
der Speicherplattenvorrichtungs-Schnittstelle entsprechend den jeweiligen
Zählern.
-
Die
vorliegende Erfindung ist ferner dadurch gekennzeichnet, dass, in
dem Speicherplattenanordnungs-Controller oder dem Speicherplattenanordnungssystem,
das Datentransfermittel Daten zwischen den Bereichen des Speichers
und den redundanten Datenerzeugungsmitteln transferiert unter Verwendung
einer Vielzahl von Transferpfaden.
-
Die
vorliegende Erfindung ist ferner dadurch gekennzeichnet, dass, in
dem Speicherplattenanordnungs-Controller oder dem Speicherplattenanordnungssystem,
das Datentransfer-Kontrollmittel einen DMAC (Direct Memory Access
Controller, Controller für
direkten Speicherzugriff, ein Teil eines kleinen Computers, welcher,
anstelle einer CPU oder eines I/O-Prozessors, den Datentransfer
zwischen Speicher ↔ Speicher
oder zwischen Speicher ↔ I/O.
Es erzeugt eine Quellenadresse und eine Zieladresse, die für den Datentransfer
notwendig sind und treibt einen Lesezyklus der Quelle und einen
Schriebzyklus des Ziels).
-
Die
vorliegende Erfindung ist ferner dadurch gekennzeichnet, dass, in
dem Speicherplattenanordnungs-Controller oder dem Speicherplattenanordnungssystem,
das Datentransfer-Kontrollmittel eine Vielzahl von Zählern aufweist
zum Benen nen von Adressen des Speichers und eine Vielzahl von Registern
zum Benennen von Kanälen
der Speicherplattenvorrichtungs-Schnittstelle entsprechend den Zählern, um
die Benennung einer Vielzahl von Datentransferpfaden zu erlauben
zwischen den Bereichen des Speichers und der Speicherplattenvorrichtungs-Schnittstelle und
die Eingabe der Daten der entsprechenden Datentransferpfade zu den
redundanten Datenerzeugungsmitteln.
-
Die
vorliegende Erfindung ist ferner dadurch gekennzeichnet, dass in
dem Speicherplattenanordnungs-Controller oder in dem Speicherplattenanordnungssystem
die Speicherplattenvorrichtungsschnittstelle mit einem Speicherplattenschnittstellen-Controller
für jeden
Kanal versehen ist.
-
Die
vorliegende Erfindung ist ferner stellt einen Speicherplattenanordnungs-Controller oder ein Speicherplattenanordnungssystem
bereit, welches gekennzeichnet ist durch die Bereitstellung einer Speicherplattenanordnungs-Kontrolleinheit,
die eine oder mehrere MPUs hat; und die Bereitstellung einer Benutzerdatentransfereinheit,
die eine Host-Schnittstelle mit einem Host-Computer hat, einen Speicher zum temporären Speichern
von Daten, redundanten Datenerzeugungsmitteln zum Erzeugen redundanter Daten,
eine Mehr-Kanal-Speicherplattenvorrichtungsschnittstelle
und Datentransferkontrollmittel, die einen oder mehrere Kanäle haben,
zum Kontrollieren des Datentransfers zwischen der Host-Schnittstelle, dem
Speicher, den redundanten Datenerzeugungsmitteln und der Speicherplattenvorrichtungsschnittstelle;
und dass ein Kontrollbus zum Kontrollieren der Mehr-Kanal-Speicherplattenvorrichtungsschnittstelle,
der redundanten Datenerzeugungsmittel und der Datentransferkontrollmittel
der Benutzerdatentransferkontrolleinheit durch die Speicherplattenanordnungskontrolleinheit,
ein Host-Datenbus zum Durchführen
des Datentransfers zwischen der Host-Schnittstelle und dem Speicher durch
die Datentransferkontrollmittel in der Benutzerdatentransferkontrolleinheit
und ein Speicherplattendatenbus zum Durchführen des Datentransfers zwischen
der Speicherplattenvorrichtungsschnittelle und dem Speicher durch
die Datentransferkontrollmittel der Benutzerdatentrans ferkontrolleinheit
bereitgestellt sind, und das redundante Datenerzeugungsmittel ist direkt
an die Datentransferkontrollmittel gekoppelt und zwischen dem Speicher
und dem Speicherplattendatenbus angeordnet, um den Verkehr zum Speicher
während
der Erzeugung der redundanten Daten zu reduzieren.
-
Die
vorliegende Erfindung stellt ferner einen Speicherplattenanordnungs-Controller oder ein
Speicherplattenanordnungssystem bereit, gekennzeichnet durch die
Bereitstellung einer Speicherplattenanordnungskontrolleinheit, die
eine oder mehrere MPUs hat; und die Bereitstellung einer Benutzerdatentransfereinheit,
die eine Host-Schnittstelle mit einem Host-Computer hat, einen Speicher
zum temporären
Speichern von Daten, redundanten Datengenerator zum Erzeugen redundanter
Daten, eine Mehr-Kanal-Speicherplattenvorrichtungsschnittstelle
und Datentransfer-Kontrolleinheit, die einen oder mehrere Kanäle hat zum
Kontrollieren des Datentransfers zwischen der Hostschnittstelle,
dem Speicher, dem redundanten Datengenerator und der Speicherplattenvorrichtungsschnittstelle;
und dass ein Kontrollbus zum Kontrollieren der Speicherplattenvorrichtungsschnittstelle,
des redundanten Datengenerators und der Datentransferkontrolleinheit
der Benutzerdatentransferkontrolleinheit durch die Speicherplattenanordnungskontrolleinheit,
ein Host-Datenbus zum Durchführen
des Datentransfers zwischen der Host-Schnittstelle und dem Speicher durch
die Datentransferkontrolleinheit in der Benutzerdatentransferkontrolleinheit
und ein Speicherplattendatenbus zum Durchführen des Datentransfers zwischen
der Speicherplattenvorrichtungsschnittstelle und dem Speicher durch
die Datentransferkontrollmittel in der Benutzerdatentransferkontrolleinheit
bereitgestellt sind, und die Datentransferkontrolleinheit erlaubt
die Benennung einer Vielzahl von Datenpfaden zwischen den Bereichen
des Speichers und der Speicherplattenvorrichtungsschnittstelle und
die Eingabe der Daten von den entsprechenden Datentransferpfaden
zu dem redundante Daten Generator.
-
Die
vorliegende Erfindung stellt ferner einen Speicherplattenanordnungs-Controller oder ein
Speicherplattenanordnungssystem bereit, gekennzeichnet durch die
Bereitstellung einer Speicherplattenanordnungskontrolleinheit, die
eine oder mehrere MPUs hat; und die Bereitstellung einer Benutzerdatentransfereinheit,
die eine Host-Schnittstelle mit einem Host-Computer hat, einen Speicher
zum temporären
Speichern von Daten, redundanten Datengenerator zum Erzeugen redundanter
Daten, eine Mehr-Kanal-Speicherplattenvorrichtungsschnittstelle
und Datentransfer-Kontrolleinheit, die einen oder mehrere Kanäle hat zum
Kontrollieren des Datentransfers zwischen der Hostschnittstelle,
dem Speicher, dem redundanten Datengenerator und der Speicherplattenvorrichtungsschnittstelle;
und dass ein Kontrollbus zum Kontrollieren der Speicherplattenvorrichtungsschnittstelle,
des redundanten Datengenerators und der Datentransferkontrolleinheit
der Benutzerdatentransferkontrolleinheit durch die Speicherplattenanordnungskontrolleinheit,
ein Host-Datenbus zum Durchführen
des Datentransfers zwischen der Host-Schnittstelle und dem Speicher durch
die Datentransferkontrollmittel in der Benutzerdatentransferkontrolleinheit
und ein Speicherplattendatenbus zum Durchführen des Datentransfers zwischen
der Speicherplattenvorrichtungsschnittstelle und dem Speicher durch
die Datentransferkontrolleinheit in der Benutzerdatentransferkontrolleinheit bereitgestellt
sind, und redundante Daten für
die Benutzerdaten in dem redundanten Datengenerator erzeugt werden
und transferiert werden an die Speicherplattenvorrichtungsschnittstelle.
-
Die
vorliegende Erfindung bezieht sich nämlich auf einen Speicherplattenanordnungs-Controller, der
gekennzeichnet ist durch die Bereitstellung einer Benutzerdatentransferkontrolleinheit,
welche eine einkanalige oder mehrkanalige Host-Schnittstelle aufweist, einen Speicherplatten-Cache,
einen einkanaligen oder mehrkanaligen DMAC, einen redundanten Datengenerator
und eine mehrkanalige Speicherplattenvorrichtungsschnittstelle und
eine Speicherplattenanordnungskontrolleinheit, welche eine oder
mehrere MPUs hat. Sie weist ferner einen Kontrollbus (MPU-Bus) durch
die MPU auf, einen Host-Datenbus zum Durchführen des Datentransfers zwischen
der Host-Schnittstelle und dem Speicherplatten-Cache und einen Speicherplattendatenbus zum
Durchführen
des Datentransfers zwischen der Speicherplattenvorrichtungsschnittstelle
und dem Speicherplatten-Cache.
-
Mit
dieser Anordnung, in dem Speicherplattenanordnungs-Controller, sogar
wenn eine billige SCSI-Schnittstelle für die Host-Schnittstelle und
die Speicherplattenvorrichtungsschnittstelle verwendet wird, ist
der Verwendungsfaktor des internen Busses durch die Anordnung des
Kontrollbusses (MPU-Bus), des Host-Datenbusses und des Speicherplattendatenbusses
reduziert, und die Transferrate des internen Busses ist verbessert,
so dass ein Speicherplattenanordnungssystem, das günstig ist
und eine höhere
Datentransferrate hat, erzielt wird.
-
In
der obigen Anordnung ist weiter das Scattern/Gathern von Daten erzielt
durch den Transfer unter Verwendung einer Vielzahl von Pfaden zwischen
Bereichen auf dem Speicherplatten-Cache und der Speicherplattenvorrichtungsschnittstelle.
-
Durch
die obige Anordnung ist die Erzeugung redundanter Daten (die Erzeugung
von Paritätsdaten)
erzielt durch Verwendung der Daten, die in dem Speieherplatten-Cache
gespeichert sind, durch den Transfer unter Verwendung der Vielzahl
von Pfaden zwischen den Bereichen auf dem Speicherplatten-Cache
und dem Paritätsgenerator.
Der redundante Datengenerator (Paritätsdatengenerator) ist direkt
gekoppelt an die Datentransferkontrollmittel (DMAC) und erlaubt
die Eingabe der Daten auf den entsprechenden Datentransferpfaden
zu dem Paritätsgenerator
zwischen den Bereichen auf dem Speicherplatten-Cache und der Speicherplattenvorrichtungsschnittstelle
und überträgt die Daten
auf dem Speicherplatten-Cache an sowohl die Speicherplattenvorrichtungsschnittstelle
und den Paritätsgenerator,
um den direkten Transfer der erzeugten redundanten Daten (Paritätsdaten)
an die Speicherplattenvorrichtung zu erlauben, ohne sie an den Speicherplatten-Cache
zu transferieren. Daher ist der Verkehr zu dem Speicherplatten-Cache
während
der Erzeugung der redundanten Daten (die Erzeugung der Paritätsdaten)
wesentlich vermindert, und eine effektive Transferrate in dem Speicherplattenanordnungssystem
für einen
Schreibbefehl an eine große
Kapazität und
kontinuierliche Bereiche ist verbessert.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 zeigt
eine Konfiguration einer Ausführungsform
eines Speicherplattenanordnungssysterns, das einen Host-Computer
hat, in Übereinstimmung
mit der vorliegenden Erfindung,
-
2 zeigt
eine Leistung einer Speicherplattenvorrichtung, die in dem Speicherplattenanordnungssystem
der vorliegenden Erfindung verwendet wird,
-
3 zeigt
die Verwendung eines DMAC der vorliegenden Erfindung in dem Datentransfer
zwischen einem Speicherplatten-Cache und einer Speicherplattenvorrichtung,
-
4 zeigt
die Verwendung des DMAC der vorliegenden Erfindung in dem Datentransfer
zwischen dem Speicherplatten-Cache, einem Paritätsgenerator und dem Speicherplatten-Cache,
-
5 zeigt
die Verwendung des DMAC der vorliegenden Erfindung in dem Transfer
zwischen dem Speicherplatten-Cache und der Speicherplattenvorrichtung
und in dem nebeneinanderliegenden Transfer zwischen dem Speicherplatten-Cache,
dem Paritätsgenerator
und dem Speicherplatten-Cache.
-
BESTER MODUS
ZUM AUSFÜHREN
DER ERFINDUNG
-
Mit
Bezug auf die 1 ~ 5 wird eine Ausführungsform
der vorliegenden Erfindung spezifisch beschrieben werden. 1 zeigt
eine Konfiguration eines Systems, welches einen Host-Computer 17 und
ein Speicherplattenanordnungssystem 18 aufweist in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung. Der Host-Computer 17 und das
Speicherplattenanordnungssystem 18 sind durch eine Host-Schnittstelle 3 verbunden.
Die Host-Schnittstelle 3 ist einkanalig und SCSI-2 mit
einer Zwei-Byte-Breite und einer maximalen Transferrate von 20 MB/s.
Die Host-Schnittstelle 3 kann mehrkanalig sein. Der Host-Computer 17 greift
auf das Speicherplattenanordnungssystem 18 zu in Übereinstimmung
mit dem SCSI- (Small Computer System Interface, eine Art periphere Vorrichtungsschnittstelle
kleiner Computer, standardisiert durch ANSI) Protokoll durch die
Host-Schnittstelle 3.
-
Das
Speicherplattenanordnungssystem 18 weist einen Anordnungs-Controller 1 und
eine Vielzahl von Speicherplattenvorrichtungen 2 auf. Die Speicherplattenanordnungsvorrichtung 18 übernimmt
eine Architektur wie RAID5, und eine RAID5-Redundanz ist eine Paritätsspeicherplatte
für vier
Datenspeicherplatten, und fünf
Speicherplattenvorrichtungen sind eine Einheit zum Bilden einer Säule des
RAID5. Der Speicherplattenanordnungs-Controller 1 hat eine
fünfkanalige
Speicherplattenschnittstelle 16 und verbindet eine Vielzahl von
Speicherplattenvorrichtungen 2. Die Speicherplattenschnittstelle 16 ist
von SCSI-2 mit einer Ein-Byte-Busbreite
und einer maximalen Datentransferrate von 10 MB/s.
-
2 zeigt
eine Leistung der in dem Speicherplattenanordnungssystem 18 verwendeten
Speicherplattenvorrichtung 2. Nämlich ist eine Spindelumdrehungsgeschwindigkeit
in der Speicherplattenvorrichtung 5400 Upm, eine mittlere Suchzeit
ist 9 ms, eine aufrechterhaltene Datentransferrate ist 7,2 MB/s
und eine SCSI-Datentransferrate
ist 10 MB/s.
-
Eine
Konfiguration des Speicherplattenanordnungs-Controllers 1 wird
nun beschrieben werden. Der Anordnungs-Controller 1 weist
einen Speicherplattenanordnungs-Controller auf, der eine MPU 8,
einen MPU-Controller 9, ein ROM 9 und einen Arbeitsspeicher
RAM 11, eine Benutzerdatentransferkontrolleinheit, die
einen Hostschnittstellen-Controller 4 hat, einen Speicherplatten-Cache 5,
der durch ein DRAM gebildet ist, zum temporären Speichern von Daten bei
hoher Geschwindigkeit, einen DMAC (Direct Memory Access Controller,
direkter Speicherzugriffs-Controller, ein Teil eines kleinen Computers, der
anstelle einer CPU und eines I/O-Prozessors den Datentransfer zwischen
Speicher ↔ Speicher
oder Speicher ↔ I/O
kontrolliert. Er erzeugt eine Quellenadresse und eine Zieladresse,
die notwendig sind für den
Datentransfer, und treibt einen Lesezyklus der Quelle und einen
Schreibzyklus des Ziels) 6 und einen Paritätsgenerator
(Redundante-Daten-Generator) 7 und
Speicherplattenschnittstellen-Controller 12a ~ 12e,
bereitgestellt eines für
jeden der fünf
Kanäle
von Speicherplattenschnittstellen, und drei Busse, einschließlich eines
Host-Datenbusses 13, eines Speicherplattendatenbusses 14 und
eines MPU-Busses 15. Die MPU 8 schreibt und liest
für den
Arbeitsspeicher RAM 11 in Übereinstimmung mit einem Programm,
das in dem ROM 10 gespeichert ist, um den DMAC 6,
den Paritätsgenerator 7 und
die Speicherplattenschnittstellen-Controller 12a ~ 12e der
Benutzerdatenkontrolleinheit durch den MPU-Bus 15 zu kontrollieren.
Der DMAC 6 kontrolliert den Benutzerdatentransfer über den
Host-Datenbus 13 und den Speicherplattendatenbus 14 und
führt das
Scattern/Gathern von Daten durch, das dem RAID5 inhärent ist.
Der Paritätsgenerator 7 erzeugt
Paritätsdaten,
welche die redundanten Daten sind, zu den Benutzerdaten und führt die
Wiederherstellung der Benutzerdaten durch, wenn eine der Speicherplattenvorrichtungen 2 ausfällt. Der
Paritätsgenerator 7 ist direkt
an den DMAC 6 gekoppelt und ist zwischen dem Speicherplatten-Cache 5 und
dem Speicherplattendatenbus 14 angeordnet.
-
Der
Host-Datenbus 13 ist ein Benutzerdatentransferbus zwischen
dem Host-Schnittstellen-Controller 4 und
dem Speicherplatten-Cache 5. Der Speicherplattendatenbus 14 ist
ein Benutzerdatentransferbus zwischen dem Speicherplatten-Cache 5 und den
Speicherplattenschnittstellen-Controllern 12a ~ 12e.
Der MPU-Bus 15 ist
ein Kontrollbus zum Kontrollieren des DMAC 6, des Paritätsgenerators 7 und der
Speicherplattenschnittstellen-Controller 12a ~ 12e der
Benutzerdatenkontrolleinheit.
-
Durch
Anordnen der drei Busse 13, 14 und 15 können der
Host-Schnittstellen-Controller 4 und der
Speicherplattenschnittstellen-Controller 12 das SCSI-Kontroll-LSI verwenden,
welches kostengünstig
ist und eine maximale Transferrate von 20 MB/s hat. Namentlich können, durch
Anordnen der Busse 13, 14 und 15, der
Datentransfer zwischen dem Host 17 und dem Speicherplatten-Cache 5 und
der Datentransfer zwischen dem Speicherplatten-Cache 5 und den
Speicher plattenvorrichtungen 2a ~ 2e gleichzeitig
ausgeführt
werden, ohne eine dedizierte Schaltung wie FIFO (First-in First-out)
anders als der SCSI-Kontroll-LSI zwischen der Host-Schnittstelle 3 und dem
Host-Datenbus 13 und zwischen der Speicherplattenschnittstelle 16 und
dem Speicherplattendatenbus 14 zu benötigen. Da die maximale Transferrate
des SCSI-2, der einen zwei Byte breiten Bus hat, in der Host-Schnittstelle 3,
das die Schnittstelle mit dem Host 17 oder dem Benutzer
ist, 20 MB/s ist, wie durch den Standard definiert, sind die Transferraten des
Host-Datenbusses 13 und
des Speicherplattendatenbusses 14 jeweils 20 MB/s, und
die Datentransferrate des Speicherplatten-Caches 5 ist
40 MB/s, da der Transfer zwischen dem Host 17 und dem Speicherplatten-Cache 5 und
der Transfer zwischen dem Speicherplatten-Cache 5 und den
Speicherplattenvorrichtungen 2a ~ 2e gleichzeitig
ausgeführt
werden, und der Datentransfer kann genügend ausgeführt werden.
-
Der
DMAC 6 hat drei Kanäle,
Kanal a, Kanal b und Kanal c, so dass der nebeneinanderliegende Transfer
unter Verwendung der drei Kanäle
erzielt werden kann. Namentlich wird der Kanal a verwendet für den Transfer
zwischen dem Speicherplatten-Cache 5 und den Speicherplattenvorrichtungen 2a ~ 2e, den
Transfer zwischen dem Speicherplatten-Cache 5 – Paritätsgenerator 7 – Speicherplatten-Cache 5 und den
Transfer zwischen dem Speicherplatten-Cache 5 – Paritätsgenerator 7 – Speicherplattenvorrichtung 2a ~ 2e.
Der Kanal b und der Kanal c werden ausschließlich für den Datentransfer zwischen
dem Speicherplatten-Cache 5 und den Speicherplattenvorrichtungen 2a ~ 2e und
zwischen dem Host 17 und dem Speicherplatten-Cache 5 verwendet.
-
Die
Funktion des Kanals a in dem DMAC 6 und der Datentransfer
durch den Kanal a in dem DMAC 6 werden nun erläutert. In
dem DMAC 6 sind fünf
Cache-Adresszähler 201 für den Kanal
a, fünf Port-Benennungsregister 202 entsprechend
den fünf Cache-Adresszählern 201 und
fünf nebeneinanderliegender
Transfer Benennungsregister 205 entsprechend den Cache-Adresszählern 201 bereitgestellt. Der
Cache-Adresszähler 201 ist
ein Zähler
zum Benennen einer Adresse eines Bereichs 203 auf dem Speicherplatten-Cache 5.
Das Port-Benennungsregister 202 ist ein Register zum Benennen
eines Kanals der Speicherplattenschnittstellen 16a 16e entsprechend
den Cache-Adresszählern 201 oder
dem Paritätsgenerator 7.
Durch die Cache-Adresszähler 201 und
die entsprechenden Port-Benennungsregister 202 kann
der fünfkanalige
Pfad 204 zwischen dem Speicherplatten-Cache 5 und
den Speicherplattenschnittstellen 16a ~ 16e oder
zwischen dem Speicherplatten-Cache 5 und dem Paritätsgenerator 7 benannt
werden. Der Kanal a in dem DMAC 6 hat eine Funktion, um
sequentiell Daten vorherbestimmter Einheit einer Vielzahl von benannten
Transferpfaden 204 in einer zeitgemultiplexten Weise zu
transferieren. Das nebeneinanderliegende Benennungsregister 205 ist
ein Register zum Benennen des nebeneinanderliegenden Transfers der
Daten der entsprechenden Pfade 204 an den Paritätsgenerator 7.
Der Kanal a in dem DMAC 6 hat eine Funktion, zusätzlich zu
der Transferfunktion durch die Vielzahl von Pfaden 204,
den nebeneinanderliegenden Transfer der Daten der Vielzahl von Pfaden 204 zu
dem Paritätsgenerator 7 auszuführen.
-
3 zeigt
die Verwendung des Kanals a in dem DMAC 6 in dem Datentransfer
zwischen dem Speicherplatten-Cache 5 und den Speicherplattenvorrichtungen 2a ~ 2e.
-
4 zeigt
die Verwendung des Kanals a in dem DMAC 6 in dem Datentransfer
zwischen dem Speicherplatten-Cache 5 – Paritätsgenerator 7 – Speicherplatten-Cache 5.
-
5 zeigt
die Verwendung des Kanals a in dem DMAC 6 in dem nebeneinanderliegenden Transfer
zwischen Speicherplatten-Cache 5 – Paritätsgenerator 7 – Speicherplattenvorrichtung 2e.
-
Wie
in 3 gezeigt, benennt die MPU 8 die Adressen
der Bereiche 203a ~ 203e des Speicherplatten-Caches 5 zu
den Cache-Adressregistern 201a ~ 201e in dem Kanal
a des DMAC 6 durch den MPU-Bus 15 und benennt
die Kanäle
der Spei cherplattenschnittstellen 16a ~ 16e zu
den Port-Benennungsregistern 202a ~ 202e entsprechend
den Cache-Adressregistern 201a ~ 201e, so dass
sie fünf Pfade
zwischen den Bereichen 203a ~ 203e auf dem Speicherplatten-Cache 5 und
den Speicherplattenschnittstellen 16a ~ 16e Benennen
kann. Die Speicherplattenvorrichtung 2 für den Datentransfer
ist vorausgewählt
durch Ausgeben eines SCSI-Befehls, und
die Pfade der Speicherplattenschnittstellen 16a ~ 16e – Speicherplattenvorrichtungen 2a ~ 2e sind
eines für
jeden Kanal der Speicherplattenschnittstellen 16a ~ 16e vorhanden.
-
Dementsprechend,
wenn die Transferfunktion durch die Vielzahl von Pfaden 204a 204e des
Kanals a in dem DMAC 6 verwendet wird, können die Benutzerdaten,
die in dem Speicherplatten-Cache 5 von dem Host über den
Host-Datenbus 13 gespeichert sind, in vorherbestimmte Größen, genannt
Stripe-Größen, geteilt
werden und scatter-transferiert zu einer Vielzahl von Speicherplattenvorrichtungen 2a 2e werden.
Sogar wenn die Benutzerdaten in einer Vielzahl diskontinuierlicher
Bereiche auf dem Speicherplatten-Cache 5 gespeichert sind,
können
die Daten in jeglichen fünf
Bereichen 203 auf dem Speicherplatten-Cache 5 scatter-transferiert
werden zu unterschiedlichen Speicherplattenvorrichtungen 2a ~ 2e.
-
Durch
Verändern
der Datentransferrichtung von der Speicherplattenvorrichtung 2 zu
dem Host 17 können
die Daten von der Vielzahl von Speicherplattenvorrichtungen 2a ~ 2e gather-transferiert
werden zu kontinuierlichen Bereichen auf dem Speicherplatten-Cache 5 durch
die Transferfunktion durch die Vielzahl von Pfaden.
-
Weiter,
wie in der 4 gezeigt, durch Benennen des
Paritätsgenerators 7 zu
den Port-Benennungsregistern 202a ~ 202d und Benennen
einer Vielzahl von Pfaden 204a ~ 204d zwischen
der Vielzahl von Bereichen 203a ~ 203d und dem
Paritätsgenerator 7 in
dem Kanal a des DMAC 6, werden die Paritätsdatenerzeugung
in dem Paritätsgenerator 7 unter
Verwendung der Benutzerdaten in der Vielzahl von Bereichen 203a ~ 203d auf
dem Speicherplatten-Cache 5 durch die Transferfunk tion
basierend auf der Vielzahl von benannten Pfaden 204a ~ 204d und der
Transfer der erzeugten Paritätsdaten
zu dem Bereich 203e des Speicherplatten-Caches 5 durch
das Port-Benennungsregister 202e und das Cache-Adressregister 201e erreicht.
Während
der Ausführung
eines Lesebefehls, in einer fehlerhafte Daten Wiederherstellungsoperation,
werden Daten anders als die fehlerhaften Daten einer Paritätsgruppe,
welche die fehlerhaften Daten enthalten, und Paritätsdaten
zu 203a ~ 203d des Speicherplatten-Caches 5 gelesen,
und die Daten werden wiederhergestellt durch den Paritätsgenerator 7,
wie oben beschrieben, und die wiederhergestellten Daten werden zu dem
Bereich 203e des Speicherplatten-Caches 5 transferiert.
Die Daten in dem Bereich 203e werden transferiert zu dem
Host 17 unter Verwendung eines Kanals c des DMAC 6.
Auf diese Weise, während
der Ausführung
des Lesebefehls, werden die Daten, die durch die fehlerhafte Daten
Wiederherstellungsoperation wiederhergestellt werden, zu dem Host 17 transferiert,
ohne sie zurück
auf die entsprechende Speicherplattenvorrichtung zu schreiben und
sie erneut für
den Transfer zu lesen, so dass eine Speicherplattenzugriffsschaltung
reduziert werden kann und die Leistung der fehlerhafte Daten Wiederherstellungsoperation
während
der Leseoperation verbessert ist. In der vorliegenden Ausführungsform werden
die Daten anders als die fehlerhaften Daten der Paritätsgruppe,
welche die fehlerhaften Daten enthält, und die Paritätsdaten
in 203a 203d des Speicherplatten-Caches 5 gelesen
für die
Wiederherstellung der Daten. Alternativ mögen sie nicht in 203a ~ 203d des
Speicherplatten-Caches 5 durch den Kanal a des DMAC 6 gelesen
werden, sondern sie können direkt
an den Paritätsgenerator 7 transferiert
werden.
-
Weiter,
wie in der 5 gezeigt, hat der Kanal a in
dem DMAC 6 eine Funktion zusätzlich zu dem Datentransfer
durch die Vielzahl von Pfaden 204a ~ 204d, um
die Transferdaten der Pfade 204a ~ 204d nebeneinanderliegend
zu dem Paritätsgenerator 7 einzugeben
durch die nebeneinanderliegender Transfer Benennungsregister 205a ~ 205d entsprechend
den Pfaden 204a ~ 204d. Weiter kann, durch Verwendung
des verbleibenden Pfades 204e der fünf Kanäle, die Ausgabe des Paritätsgenerators 7 in
der Speicherplattenvorrichtung 2e gespeichert werden durch
das Cache-Adressregister 201e, das Port-Benennungsregister 202e und
das nebeneinanderliegender Transfer Benennungsregister 205e,
so dass der Datentransfer zwischen dem Speicherplatten-Cache 5 und
den Speicherplattenvorrichtungen 2a ~ 2d und der
nebeneinanderliegende Datentransfer zwischen Speicherplatten-Cache 5 – Paritätsgenerator 7 – Speicherplattenvorrichtung 2e in
dem Kanal a des DMAC 6 erreicht werden.
-
In
dem Speicherplattenanordnungssystem 18 werden der Kanal
a und der Kanal b in dem DMAC 6 verwendet für einen
Lesebefehl für
große
Kapazität und
kontinuierliche Bereiche von dem Host 17, um gleichzeitig
den Datentransfer zwischen den Speicherplattenvorrichtungen 2a ~ 2e und
dem Speicherplatten-Cache 5 und den Datentransfer zwischen dem
Host 17 und dem Speicherplatten-Cache 5 durchzuführen. Für den Datentransfer
zwischen den Speicherplattenvorrichtungen 2a ~ 2e und
dem Speicherplatten-Cache 5 wird die Transferfunktion durch die
Vielzahl von Pfaden 204a ~ 204e des Kanals a in dem
DMAC 6 verwendet, um die Daten von der Vielzahl von Speicherplattenvorrichtungen 2a ~ 2e zu den
kontinuierlichen Bereichen auf dem Speicherplatten-Cache 5 zu
gather-transferieren.
-
In
dem Speicherplattenanordnungssystem 18, für einen
Schreibbefehl für
große
Kapazität
und kontinuierliche Bereiche von dem Host 17, werden der
Kanal a und der Kanal b in dem DMAC 6 verwendet, um gleichzeitig
den Datentransfer zwischen dem Speicherplatten-Cache 5 und
den Speicherplattenvorrichtungen 2a ~ 2e und den
Datentransfer zwischen dem Host 17 und dem Speicherplatten-Cache 5 durchzuführen. Für den Datentransfer
zwischen dem Speicherplatten-Cache 5 und den Speicherplattenvorrichtungen 2a ~ 2d werden
die Datentransferfunktion durch die Vielzahl von Pfaden 204a ~ 204d des
Kanals a in dem DMAC 6 und die Funktion, die Transferdaten
auf den Pfaden 204a ~ 204d zu dem Paritätsgenerator 7 nebeneinander
einzugeben, verwendet, um gleichzeitig die Daten des Speicherplatten-Caches 5 zu
der Vielzahl von Speicherplattenvorrichtungen 2a ~ 2d und
dem Paritätsgenerator 7 zu transferieren
und die Paritätsdaten,
die durch den Paritätsgenerator 7 erzeugt
werden, zu dem Cache-Adressregister 201e, das Port- Benennungsregister 202d und
das nebeneinanderliegender Transfer Benennungsregister 205e zu
transferieren, nicht durch den Speicherplatten-Cache 5,
sondern direkt durch den Pfad 204e.
-
In
der vorliegenden Ausführungsform
weist der Speicherplattenanordnungs-Controller einen einzigen Prozessor
auf, und der Host-Schnittstellen-Controller 4 und der Speicherplattenschnittstellen-Controller 12 verwenden
kommerziell erhältliche SCSI-Kontroll-LSI,
die kostengünstig
sind und eine maximale Transferrate von 20 MB/s haben, und keine
dedizierte Schaltung wie ein FIFO anders als der SCSI-Kontroll-LSI
ist zwischen der Host-Schnittstelle 3 und dem Host-Datenbus 13 und
zwischen der Speicherplattenschnittstelle 16 und dem Speicherplattendatenbus 14 vorhanden,
so dass die Kosten des Speicherplattenanordnungs-Controllers um einen Faktor von fünf vermindert
sind im Vergleich zu einem Speicherplattenanordnungs-Controller,
der einen Multiprozessor (acht MPUs) und den MPU-Bus 15 und
zwei interne Busse 13 und 14 als Benutzerdatentransferbusse
verwendet, und die Kosten des Speicherplattenanordnungssystems 18 können reduziert
werden.
-
In
dem Speicherplattenanordnungssystem 18 werden die Paritätsdaten,
die durch den Paritätsgenerator
erzeugt werden, direkt zu der Speicherplattenvorrichtung transferiert,
so dass die effektive Transferrate des Schreibbefehls für die große Kapazität und kontinuierliche
Bereiche von dem Host 17 um ungefähr 40 % verbessert werden können verglichen
mit einem System, welches temporär
die Parität in
dem Speicherplatten-Cache 5 speichert.
-
Weiter,
da der SCSI-2, der sich als eine Standardschnittstelle ausbreiten
wird, als Speicherplattenschnittstelle 16 verwendet wird,
kann ein hochperformantes Speicherplattenanordnungssystem konstruiert
werden durch die Verbindung mit einer zukünftigen, hochperformanten Speicherplattenvorrichtung.
-
In Übereinstimmung
mit der vorliegenden Erfindung sind die Benutzerdatenkontrolleinheit
und der Speicherplattenanordnungs-Controller bereitgestellt und
zumindest drei Busse, der Kontrollbus (MPU-Bus), der Host-Datenbus
und der Speicherplattendatenbus sind angeordnet. Daher ist die Verwendung
der kostengünstigen
Schnittstellen-Controller-LSI als der Host-Schnittstellen-Controller
und der Speicherplattenschnittstellen-Controller ermöglicht, und
die Kosten des Speicherplattenanordnungs-Controllers sowie des Speicherplattenanordnungssystems
können
signifikant reduziert werden.
-
Weiter
ist, in Übereinstimmung
mit der vorliegenden Erfindung, die Transferrate des internen Busses
des Speicherplattenanordnungs-Controllers nicht der Leistungsengpass
des Speicherplattenanordnungssystems und die Transferrate des internen Busses
kann erhöht
werden und die Busbreite kann reduziert werden.
-
Weiter,
in Übereinstimmung
mit der vorliegenden Erfindung, ist der Verkehr des Speicherplatten-Caches
während
der Paritätserzeugung
reduziert in dem Speicherplattenanordnungs-Controller und die effektive
Transferrate des Speicherplattenanordnungssystems für den Schreibbefehl
für die
große Kapazität und kontinuierliche
Bereiche von dem Benutzer kann erhöht werden.
-
Weiter,
während
der Ausführung
des Lesebefehls, ist die Anzahl an Malen von Zugriff der Speicherplattenvorrichtung
in der fehlerhafte Daten Wiederherstellungsoperation reduziert,
und die Leistung der fehlerhafte Daten Wiederherstellungsoperation ist
verbessert.