DE102004013129A1 - Plattensystem und Verfahren zum Steuern eines Plattenarraysystems - Google Patents
Plattensystem und Verfahren zum Steuern eines Plattenarraysystems Download PDFInfo
- Publication number
- DE102004013129A1 DE102004013129A1 DE102004013129A DE102004013129A DE102004013129A1 DE 102004013129 A1 DE102004013129 A1 DE 102004013129A1 DE 102004013129 A DE102004013129 A DE 102004013129A DE 102004013129 A DE102004013129 A DE 102004013129A DE 102004013129 A1 DE102004013129 A1 DE 102004013129A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- hard disk
- drives
- hard
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1816—Testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1879—Direct read-after-write methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
Abstract
Ein Plattenarraysystem verfügt über ein erstes und ein zweites Gehäuse sowie einen Controller zum Steuern des ersten und des zweiten Gehäuses. Im ersten Gehäuse sind Faserkanal-Festplattenlaufwerke untergebracht, und im zweiten Gehäuse sind Seriell-ATA-Festplattenlaufwerke untergebracht. Wenn in einem Seriell-ATA-Festplattenlaufwerk im zweiten Gehäuse gespeicherte Daten gelesen werden, liest der Controller mehrere Datenstücke, die die zu lesenden Daten enthalten, und Paritätsdaten für die mehreren Datenstücke von allen Festplattenlaufwerken einer RAID-Gruppe, zu der das Festplattenlaufwerk gehört, das die zu lesenden Daten speichert. So untersucht der Controller, ob die mehreren Datenstücke, die die zu lesenden Daten enthalten, mit fehlerhaftem Inhalt oder nicht in die Festplattenlaufwerke geschrieben sind.
Description
- Die Erfindung betrifft ein Plattenarraysystem und ein Verfahren zum Steuern eines solchen.
- In den letzten Jahren wird einhergehend mit der Zunahme von Speicherkapazität in Plattenarraysystemen deren Bedeutung in Informationsverarbeitungssystemen immer größer. Daher ist es wesentlich, Daten korrekt an einer angeforderten Position einzuschreiben und eine Inkorrektheit gelesener Daten auf eine Daten-Eingabe/Ausgabe-Anforderung von einer Informationsverarbeitungsvorrichtung oder dergleichen zu erkennen.
- JP-A-5-150909 offenbart ein Verfahren, bei dem in einer Magnetplatteneinheit zwei Köpfe vorhanden sind und von den zwei Köpfen gelesene identische Daten miteinander verglichen werden, um die Zuverlässigkeit beim Schreiben und Lesen in der Magnetplatteneinheit zu verbessern.
- Wenn das in JP-A-5-150909 offenbarte Verfahren bei einem Plattenarraysystem angewandt wird, müssen in jeder Magnetplatteneinheit zwei Köpfe angebracht werden. Demgemäß steigen die Einheitskosten zum Herstellen jedes Festplattenlaufwerks an. Daher ist ein Verfahren zum Verbessern der Zuverlässigkeit bei einem Festplattenlaufwerk ohne Änderung des körperlichen Aufbaus desselben, z.B. ohne Hinzufügens irgendeines Kopfs zu ihm, gefordert.
- Außerdem wurden bei Plattenarraysystemen Festplattenlaufwerke gemäß seriell-ATA oder parallel-ATA sowie Faserkanal-Festplattenlaufwerke in Betrieb genommen. Dies, da Festplattenlaufwerke gemäß seriell-ATA oder parallel-ATA hinsichtlich der Zuverlässigkeit tatsächlich Faserkanal-Festplattenlaufwerken unterlegen sind, sie jedoch billiger sind. Daher besteht Bedarf an der Entwicklung eines Verfahrens zum Verbessern der Zuverlässigkeit bei anderen Festplattenlaufwerken als solchen mit Faserkanal innerhalb eines Plattenarraysystems, das aus einer Kombination von Faserkanal-Festplattenlaufwerken und anderen Festplattenlaufwerken, die dem Seriell-ATA-Standard oder dergleichen genügen, besteht.
- ZUSAMMENFASSUNG DER ERFINDUNG
- Die Erfindung wurde unter Berücksichtigung der vorigen Probleme entwickelt. Es ist eine Aufgabe der Erfindung, ein Plattenarraysystem und ein Verfahren zum Steuern eines solchen zu schaffen.
- Um die vorstehende Aufgabe zu lösen, verfügt ein Plattenarraysystem gemäß einer Hauptkonfiguration der Erfindung über ein erstes Gehäuse, ein zweites Gehäuse und einen Controller. Das erste Gehäuse beherbergt eine oder mehrere RAID-Gruppen. Jede RAID-Gruppe besteht aus mehreren Festplattenlaufwerken zum Senden/Empfangen von Daten entsprechend einem ersten Schnittstellenstandard. Die Festplattenlaufwerke sind über einen Kommunikationspfad miteinander verbunden. Das zweite Gehäuse beherbergt eine oder mehrere RAID-Gruppen. Jede RAID-Gruppe besteht aus mehreren Festplattenlaufwerken zum Senden/Empfangen von Daten entsprechend einem zweiten Schnittstellenstandard. Die Festplattenlaufwerke sind über den Kommunikationspfad mittels mehrerer Wandeleinheiten zum Wandeln des ersten und des zweiten Schnittstellenstandards ineinander verbunden. Die dem zweiten Schnittstellenstandard genügenden Festplattenlaufwerke verfügen über geringere Zuverlässigkeit als die dem ersten Schnittstellenstandard genügenden Festplattenlaufwerke. Der Controller verfügt über einen Kanal-Steuerabschnitt, einen Platten-Steuerabschnitt, einen Cachespeicher und eine CPU. Der Kanal-Steuerabschnitt ist mit einer Informationsverarbeitungsvorrichtung verbunden, um mit dieser in Kommunikation treten zu können. Der Kanal-Steuerabschnitt empfängt Anforderungen von der Informationsverarbeitungsvorrichtung. Die Anforderung beinhaltet eine Leseanforderung zum Lesen von Daten von den Festplattenlaufwerken im ersten oder zweiten Gehäuse sowie eine Schreibanforderung zum Schreiben von Daten in die Festplattenlaufwerke im ersten oder zweiten Gehäuse. Der Platten-Steuerabschnitt ist über den Kommunikationspfad mit den mehreren Festplattenlaufwerken im ersten und zweiten Gehäuse verbunden, um mit den mehreren Festplattenlaufwerken im ersten und zweiten Gehäuse in Kommunikation treten zu können. Der Platten-Steuerabschnitt führt eine Eingabe/Ausgabe von Daten und Paritätsdaten von/in die mehreren Festplattenlaufwerke im ersten und zweiten Gehäuse entsprechend der vom Kanal-Steuerabschnitt empfangenen Leseanforderung oder Schreibanforderung aus. Die Paritätsdaten sind Daten zum Erkennen von Fehlern über mehrere Datenstücke hinweg, einschließlich der Daten von/an die mehreren Festplattenlaufwerke im ersten und zweiten Gehäuse. Der Cachespeicher führt eine Zwischenspeicherung von Daten aus, die in die mehreren Festplattenlaufwerke zu schreiben sind. Die CPU überwacht die Steuerung über dem Kanal-Steuerabschnitt und den Platten-Steuerabschnitt. Der Controller liest mehrere Datenstücke einschließlich Daten, wie sie in den mehreren Festplattenlaufwerken im zweiten Gehäuse gespeichert sind, und Paritätsdaten für die mehreren Datenstücke aus allen Festplattenlaufwerken der RAID-Gruppe, zu der die die Daten speichernden Festplattenlaufwerk gehören, und er untersucht, ob die die Daten enthaltenden mehreren Datenstücke mit fehlerhaftem Inhalt oder nicht in die Festplattenlaufwerke geschrieben wurden.
- Außerdem verstellt der Controller beim Schreiben von Daten in eines der Festplattenlaufwerke im zweiten Gehäuse entsprechend der Schreibanforderung von der Informationsverarbeitungsvorrichtung einen zum Festplattenlaufwerk gehörenden Kopf ausgehend von einer Position, an der die Daten abgespeichert wurden. Danach liest der Controller die Daten von einer zum Festplattenlaufwerk gehörenden Magnetplatte sowie aus dem Cachespeicher, und er vergleicht die zwei ausgelesenen Datenstücke.
- Außerdem bildet der Controller beim Empfangen der Schreibanforderung von der Informationsverarbeitungsvorrichtung zum Einschreiben von Daten in eines der Festplattenlaufwerke im zweiten Gehäuse aus den aus mehreren Sektoren bestehenden Daten eine Dateneinheit auf Grundlage der zu schreibenden Daten sowie Paritätsdaten zum Erkennen von Datenfehlern in den mehreren Sektoren, und er schreibt die Dateneinheit in das Festplattenlaufwerk. Wenn die Steuerung die Leseanforderung zum Lesen der Daten von der Informationsverarbeitungsvorrichtung empfängt, liest sie die Dateneinheit, und sie untersucht, ob die Daten mit fehlerhaftem Inhalt oder nicht im Festplattenlaufwerk gespeichert sind. Hierbei ist der erste Schnittstellenstandard z.B. ein Faserkanalstandard.
- Der zweite Schnittstellenstandard ist z.B. ein Seriell-ATA-Standard. Der Kommunikationspfad ist z.B. ein FC-AL (Fiber Channel-Arbitrated Loop). Außerdem ist jede Wandlungseinheit z.B. ein Wandler zum Wandeln eines Faserkanalprotokolls und eines Seriell-ATA-Protokolls ineinander. Außerdem dient jede RAID-Gruppe zum Verwalten mehrerer Festplattenlaufwerke als eine Gruppe, wenn die Festplattenlaufwerke über RAID-Konfiguration verfügen. Für jede RAID-Gruppe werden logische Datenbereiche gebildet, die als Zugriffseinheiten ausgehend von der Informationsverarbeitungsvorrichtung dienen. Jedem logischen Datenbereich wird eine als LUN bezeichnete Kennung zugewiesen. Wenn von der Informationsverarbeitungsvorrichtung eine Schreibanforderung zum Schreiben von Daten in einen logischen Datenbereich empfangen wird, schreibt der Platten-Steuerabschnitt die Daten und Paritätsdaten zum Erkennen von Fehlern in den Daten in die die RAID-Gruppe bildenden Festplattenlaufwerke.
- Demgemäß können gemäß der Erfindung ein Plattenarraysystem und ein Verfahren zum Steuern eines solchen geschaffen werden.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Die in dieser Beschreibung offenbarten Probleme und Lösungen für diese werden aus der folgenden detaillierten Beschreibung bevorzugter Ausführungsformen in Verbindung mit den beigefügten Zeichnungen besser ersichtlich werden.
-
1A und1B sind Diagramme, die das Aussehen eines Plattenarraysystems gemäß einer Ausführungsform der Erfindung zeigen; -
2A und2B sind Diagramme, die die Konfiguration eines Mastergehäuses des Plattenarraysystems gemäß der Ausfüh rungsform zeigen; -
3A und3B sind Diagramme, die die Konfiguration eines Erweiterungsgehäuses des Plattenarraysystems gemäß der Ausführungsform zeigen; -
4 ist ein Diagramm, das die Konfiguration eines Festplattenlaufwerks gemäß der Ausführungsform zeigt; -
5 ist ein Diagramm, das die Konfiguration des Plattenarraysystems gemäß der Ausführungsform zeigt; -
6 ist ein Diagramm, das den Zustand zeigt, gemäß dem durch eine CPU eines Controllers auszuführende Mikroprogramme in einen Speicher gemäß der Ausführungsform eingespeichert wurden; -
7 ist ein Diagramm, das einen Modus zum Verbinden von. Faserkanal-Festplattenlaufwerken mit einem Platten-Steuerabschnitt des Controllers gemäß der Ausführungsform zeigt; -
8 ist ein Diagramm, das einen ersten Modus zum Verbinden von Seriell-ATA-Festplattenlaufwerken mit dem Platten-Steuerabschnitt des Controllers gemäß der Ausführungsform zeigt; -
9 ist ein Diagramm, das einen zweiten Modus zum Verbinden von Seriell-ATA-Festplattenlaufwerken mit dem Platten-Steuerabschnitt des Controllers gemäß der Ausführungsform zeigt; -
10 ist ein Diagramm, das ein Beispiel zeigt, bei dem Daten in Festplattenlaufwerke geschrieben werden, die eine RAID-Gruppe gemäß der Ausführungsform bilden; -
11 ist ein Diagramm, das eine Aktualisierungskontrolltabelle gemäß der Ausführungsform zeigt; -
12 ist ein Flussdiagramm zum Vergleichen von in einem Cachespeicher abgespeicherten Daten mit in einer Magnetplatte abgespeicherten Daten, wenn Daten gemäß der Ausführungsform geschrieben werden; -
13 ist ein Flussdiagramm zum Vergleichen von in einem Cachespeicher abgespeicherten Daten mit in einer Magnetplatte abgespeicherten Daten unter Berücksichtigung der Datengröße, wenn Daten gemäß der Ausführungsform geschrieben werden; -
14 ist ein Flussdiagramm zum Vergleichen von in einem Cachespeicher abgespeicherten Daten mit in einer Magnetplatte abgespeicherten Daten, wenn im Cachespeicher abgespeicherte Daten in die Magnetplatte gemäß der Ausführungsform geschrieben werden; -
15 ist ein Diagramm, das eine Kopfprüf-Kontrolltabelle gemäß der Ausführungsform zeigt; -
16 ist ein Flussdiagramm für eine Kopfprüfung, wie sie gemäß der Ausführungsform periodisch auszuführen ist; -
17 ist ein Flussdiagramm zum Ausführen der Kopfprüfung, wenn Daten gemäß der Ausführungsform gelesen werden; -
18 ist ein Diagramm, das ein Beispiel zeigt, bei dem eine Dateneinheit in ein Festplattenlaufwerk gemäß der Ausführungsform geschrieben wurde; -
19 ist ein Diagramm, das ein Beispiel zeigt, bei dem jede Dateneinheit über mehrere Plattenlaufwerke gemäß der Ausführungsform eingeschrieben und verteilt wurde; -
20 ist ein Diagramm, das eine Dateneinheit-Kontrolltabelle gemäß der Ausführungsform zeigt; und -
21 ist ein Diagramm, das die Konfiguration eines Plattenarraysystems zeigt, bei dem Faserkanal-Festplattenlaufwerke in einem ersten Gehäuse untergebracht sind und Seriell-ATA-Festplattenlaufwerke in einem zweiten Gehäuse gemäß der Ausführungsform untergebracht sind. - DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
- Systemkonfiguration
- Die
1A ist eine Vorderansicht eines Plattenarraysystems10 , das als eine Ausführungsform der Erfindung beschrieben wird. Die1B ist eine Rückansicht des Plattenarraysystems10 . Die2A ist eine perspektivische Ansicht eines Mastergehäuses20 , das am Plattenarraysystem10 anzubringen ist, das am Plattenarraysystem10 anzubringen ist, wobei man das Mastergehäuse20 von seiner Vorderseite her sieht. Die2B ist eine perspektivische Ansicht des Mastergehäuses20 von seiner Rückseite her gesehen. Die3A ist eine perspektivische Ansicht eines Erweiterungsgehäuses30 , das am Plattenarraysystem10 anzubringen ist, wobei man das Erweiterungsgehäuse30 von seiner Vorderseite her sieht. Die3B ist eine perspektivische Ansicht des Erweiterungsgehäuses30 von seiner Rückseite her gesehen. - Wie es in den
1A und1B dargestellt ist, wird das Plattenarraysystem10 unter Verwendung eines Rackrahmens11 als Basis hergestellt. Montagerahmen12 sind in mehreren Etagen ausgebildet, die oben und unten an der linken und rechten Innenseitenfläche des Rackrahmens11 so angeordnet sind, dass sie sich in den Richtungen nach vorne/nach hinten erstrecken. Das Mastergehäuse20 und das Erweiterungsgehäuse30 sind ausziehbar entlang den Montagerahmen12 montiert. Wie es in den2A und2B dargestellt ist, sind Platten oder Einheiten zum Bereitstellen verschiedener Funktionen für das Plattenarraysystem10 am Mastergehäuse20 und am Erweiterungsgehäuse30 angebracht. - Wie es in der
2A dargestellt ist, sind mehrere Plattenlaufwerkeinheiten52 , in die jeweils ein Festplattenlaufwerk51 eingebracht ist, parallel in die vordere, obere Etage des Mastergehäuses20 eingesetzt. Jedes Festplattenlaufwerk21 ist ein Festplattenlaufwerk mit einer Kommunikationsschnittstelle zum Bereitstellen einer Kommunikationsfunktion entsprechend einem FC-AL-Standard, einem SCSI1(Small Computer System Interface 1)-Standard, einem SCSI2-Standard, einem SCSI3-Standard, einem Parallel-ATA(AT Attachment)-Standard, einem Seriell-ATA-Standard, oder dergleichen. - In die vordere, untere Etage des Mastergehäuses
20 sind eine Batterieeinheit53 , eine Anzeigetafel54 zum Anzeigen von Betriebszuständen usw. der Festplattenlaufwerke51 sowie ein Diskettenlaufwerk55 eingesetzt. Die Batterieeinheit53 verfügt über eine Sekundärbatterie. Die Batterieeinheit53 hat eine Funktion als Ersatzspannungsversorgung zum Liefern von Spannung an Leiterplatten oder Einheiten, wenn die Spannungsversorgung von einer AC/DC-Spannungsversorgung57 aufgrund eines Netzausfalls oder dergleichen stoppt. Die Anzeigetafel54 ist mit Anzeigevorrichtungen wie LED-Lampen oder dergleichen zum Anzeigen der Betriebszustände usw. der Festplattenlaufwerke51 versehen. Das Diskettenlaufwerk55 wird z.B. zum Laden eines Wartungsprogramms verwendet. - Wie es in der
2B dargestellt ist, sind Spannungsversorger-Controllerplatten56 an den entgegengesetzten Seitenflä chen in der hinteren, oberen Etage des Mastergehäuses20 einzeln eingesetzt. Jede Spannungsversorgungs-Controllerplatte56 ist mit mehreren Festplattenlaufwerken51 so verbunden, dass sie mit diesen Kommunikationsvorgänge errichten kann. Z.B. sind die Spannungsversorgung-Controllerplatte56 und die mehreren Festplattenlaufwerke51 so verbunden, dass für Kommunikationsvorgänge über einen schleifenartigen Kommunikationspfad wie einen solchen, der für Kommunikation in einem FC/AL-System (Topologie) sorgt, gesorgt werden kann. - Jede Spannungsversorgung-Controllerplatte
56 ist mit Schaltkreisen zum Überwachen des Zustands der AC/DC-Spannungsversorgung57 , zum Überwachen der Zustände der Festplattenlaufwerke51 , zum Steuern der Spannungsversorgung der Festplattenlaufwerke51 , zum Steuern der Kühlkapazität einer Kühleinheit, zum Steuern der Anzeigevorrichtungen auf der Anzeigetafel54 , zum Überwachen der Temperatur jedes Abschnitts des Gehäuses, usw. versehen. Übrigens ist die Kühleinheit eine Einheit zum Kühlen des inneren des Plattenarraysystems10 oder des Inneren des Gehäuses20 oder30 . Z.B. ist die Kühleinheit ein Interkühler, eine Wärmesenke, ein Kühllüfter vom Luftkühltyp oder dergleichen. Die Spannungsversorgung-Controllerplatte56 ist mit einem Faserkanalkabel-Verbinder67 versehen, mit dem ein Faserkanalkabel91 verbunden ist. - Wie es in der
2B dargestellt ist, sind zwei AC/DC-Spannungsversorgungen57 parallel in einem Raum zwischen den zwei Spannungsversorgung-Controllerplatten56 in der hinteren, oberen Etage des Mastergehäuses20 angebracht. Jede AC/DC-Spannungsversorgung57 liefert Spannung an die Festplattenlaufwerke51 , die Leiterplatten, die Einheiten usw. Die AC/DC-Spannungsversorgung57 ist mit der Spannungsversorgung-Controllerplatte56 verbunden, und sie ist so aufgebaut, dass sie Spannung entsprechend einem Signal von der Spannungsversorgung-Controllerplatte56 an jedes Festplat tenlaufwerk51 liefern kann. - Übrigens ist diese Ausführungsform so konzipiert, dass zwei Spannungsversorgung-Controllerplatten
56 und zwei AC/DC-Spannungsversorgungen57 redundant sowohl im Mastergehäuse20 als auch im Erweiterungsgehäuse30 vorhanden sind, um für Sicherheit hinsichtlich der Spannungsversorgung an jedes Gehäuse20 ,30 zu sorgen. Jedoch können in jedem Gehäuse20 ,30 eine Spannungsversorgung-Controllerplatte56 und eine AC/DC-Spannungsversorgung57 montiert sein. - Jede AC/DC-Spannungsversorgung
57 ist mit einem Unterbrechungsschalter64 zum Ein-/Ausschalten des Ausgangssignals der AC/DC-Spannungsversorgung57 versehen. - Wie es in der
2B dargestellt ist, sind zwei Luftkühlungs-Lüftereinheiten58 parallel unter den AC/DC-Spannungsversorgungen57 angebracht. Jede Kühlungslüftereinheit58 ist mit einem oder mehreren Kühllüftern66 versehen. Die Kühllüfter66 ermöglichen es, dass Luft in das Gehäuse einströmt/aus ihm ausströmt, um dadurch Wärme, wie sie von den Festplattenlaufwerken51 , den AC/DC-Spannungsversorgungen57 usw. erzeugt wird, zur Außenseite des Gehäuses auszugeben. Übrigens sind im Gehäuse20 ,30 Belüftungspfade oder Belüftungslöcher zum Umwälzen der Luft durch jedes Mastergehäuse20 /Erweiterungsgehäuse30 und daran montierte Leiterplatten oder Einheiten ausgebildet, um einen Mechanismus zum effizienten Ausgeben von Wärme im Gehäuse20 ,30 nach außen mittels der Kühllüfter66 zu bilden. Obwohl Kühllüfter66 für jedes Festplattenlaufwerk51 vorhanden sein können, ist es bevorzugt, dass für jedes Gehäuse größere Kühllüfter66 vorhanden sind, so dass die Anzahl der Chips oder Einheiten verringert werden kann. - Jede Kühllüftereinheit
58 ist mit einer Controllerplatte59 oder der Spannungsversorgung-Controllerplatte56 über eine Steuerleitung verbunden. Die Drehzahl jedes Kühllüfters66 der Kühllüftereinheit58 wird durch die Controllerplatte59 oder die Spannungsversorgung-Controllerplatte56 über die Steuerleitung gesteuert. - Wie es in der
6B dargestellt ist, ist eine Controllerplatte59 in die hintere, untere Etage des Mastergehäuses20 eingesetzt. Die Controllerplatte59 ist mit einer Kommunikationsschnittstelle zu den im Mastergehäuse20 und den Erweiterungsgehäusen30 angebrachten Festplattenlaufwerken51 , Schaltkreisen zum Steuern der Betriebsabläufe der Festplattenlaufwerke51 (z.B. zum Steuern derselben in einem RAID-System) oder zum Überwachen der Zustände der Festplattenlaufwerke51 , usw., versehen. - Übrigens steuern zwar bei dieser Ausführungsform die Spannungsversorgung-Controllerplatten
56 die Spannungsversorgung für die Festplattenlaufwerke51 oder die Kühlkapazität der Kühleinheiten, jedoch kann die Controllerplatte59 eine derartige Steuerung ausführen. - Diese Ausführungsform verwendet einen Modus, bei dem die Controllerplatte
59 mit einer Kommunikations-Schnittstellenkarte51 zum Bereitstellen einer Funktion einer Kommunikationsschnittstelle zu einer Informationsverarbeitungsvorrichtung300 , z.B. einer Kommunikationsfunktion entsprechend einem SCIS-Standard oder einem Faserkanalstandard, einem Cachespeicher62 zum Speichern von in die Festplattenlaufwerke51 zu speichernden Daten oder von aus ihnen auszulesenden Daten, usw., versehen ist. Jedoch können diese Funktionen auf einer anderen Leiterplatte untergebracht sein. - Die an der Controllerplatte
59 angebrachte Kommunikations-Schnittstellenplatte61 ist mit einem externen Verbinder63 zum Herstellen einer Verbindung zur Informationsverarbeitungsvorrichtung300 versehen. Der externe Verbinder63 genügt einem vorbestimmten Schnittstellenstandard wie SAN (Storage Area Network), LAN (Local Area Network) oder SCSI, der durch ein Protokoll wie Faserkanal, Ethernet (registrierte Handelsbezeichnung) oder dergleichen gebildet ist. Das Plattenarraysystem10 ist über ein mit dem Verbinder63 verbundenes Kommunikationskabel92 mit der Informationsverarbeitungsvorrichtung300 verbunden. - Übrigens können zwei Controllerplatten
59 redundant im Mastergehäuse20 angebracht sein, um für Sicherheit hinsichtlich der Steuerung der Festplattenlaufwerke51 zu sorgen. - Wie es in der
3A dargestellt ist, sind mehrere Plattenlaufwerkseinheiten52 , die Festplattenlaufwerke51 aufnehmen, parallel an der Vorderseite jedes Erweiterungsgehäuses30 angebracht. Wie es in der3B dargestellt ist, sind Spannungsversorgung-Controllerplatten56 einzeln an den hinteren, entgegengesetzten Seitenflächen des Erweiterungsgehäuses30 eingesetzt. Außerdem sind zwei AC/DC-Spannungsversorgungen57 parallel in einem Raum zwischen den zwei Spannungsversorgung-Controllerplatten56 angebracht. Zusätzlich sind zwei Kühllüftereinheiten58 parallel unter den AC/DC-Spannungsversorgungen57 angebracht. Jede AC/DC-Spannungsversorgung57 ist mit einem Unterbrechungsschalter64 zum Ein-/Ausschalten der Spannung der AC/DC-Spannungsversorgung57 versehen. - Diese Ausführungsform ist so konzipiert, dass zwei Spannungsversorgung-Controllerplatten
56 und zwei AC/DC-Spannungsversorgungen57 redundant in jedem Erweiterungsgehäuse30 vorhanden sind, um, wie oben beschrieben, für Sicherheit hinsichtlich der Spannungsversorgung zum Erweiterungsgehäuse30 zu sorgen. Jedoch können eine Spannungsversorgung-Con trollerplatte56 und eine AC/DC-Spannungsversorgung57 im Erweiterungsgehäuse30 angebracht sein. Übrigens können die Funktionen der Spannungsversorgung-Controllerplatten56 zum Steuern der Spannungsversorgung für die Festplattenlaufwerke51 , zum Steuern der Kühlkapazität der Kühleinheiten usw. auf der Controllerplatte59 vorhanden sein. - Die
4 zeigt ein Beispiel für die Konfiguration jedes Festplattenlaufwerks51 , wie es in jeder Plattenlaufwerkeinheit52 aufgenommen ist. Das Festplattenlaufwerk51 verfügt über ein Gehäuse sowie Magnetplatten73 , Stellglieder71 , einen Spindelmotor72 , Köpfe74 zum Lesen/Schreiben von Daten, eine Mechanismussteuerschaltung75 zum Steuern von Mechanismusteilen wie den Köpfen74 und dergleichen, eine Signalverarbeitungsschaltung76 zum Steuern eines Lese/Schreib-Signals für Daten von/in jede Magnetplatte73 , eine Kommunikations-Schnittstellenschaltung77 , einen Schnittstellenverbinder79 zum Eingeben/Ausgeben verschiedener Befehle oder Daten über ihn sowie einen Spannungsversorgungsverbinder80 , die alle im Gehäuse70 angeordnet sind. Übrigens ist in der Kommunikations-Schnittstellenschaltung77 ein Cachespeicher zum Zwischenspeichern von Daten enthalten. Übrigens wird der zum Festplattenlaufwerk51 gehörende Cachespeicher als Plattencache bezeichnet, um ihn von einem Cachespeicher62 in einem Controller500 , der später beschrieben wird, zu unterscheiden. - Jedes Festplattenlaufwerk
51 ist z.B. eine Speichereinheit, die mit 3,5-Zoll-Magnetplatten vom Contact-Start-Stop(CSS)-Typ, 2,5-Zoll-Magnetplatten vom Lade/Entlade-Typ oder dergleichen versehen ist. Z.B. verfügt jede 3,5-Zoll-Magnetplatte über eine Kommunikationsschnittstelle gemäß SCSI1, SCSI2, SCSI3, FC-AL oder dergleichen. Andererseits verfügt z.B. jede 2,5-Zoll-Magnetplatte über eine Kommunikationsschnittstelle gemäß parallel-ATA, seriell-ATA oder derglei chen. - Wenn jede 2,5-Zoll-Magnetplatte im Gehäuse
20 ,30 des Plattenarraysystems10 aufgenommen wird, kann sie in einem Behälter mit 3,5-Zoll-Form aufgenommen werden. So kann die Stoßfestigkeitsfunktion der Magnetplatten verbessert werden. Übrigens unterscheiden sich eine 2,5-Zoll-Magnetplatte und eine 3,5-Zoll-Magnetplatte nicht nur hinsichtlich der Kommunikationsschnittstelle voneinander, sondern auch hinsichtlich der I/O-Funktion, des Energieverbrauchs, der Lebensdauer usw. Eine 2,5-Zoll-Magnetplatte ist hinsichtlich der I/O-Funktion einer 3,5-Zoll-Magnetplatte unterlegen, und die Lebensdauer der ersteren ist kürzer als die der letzteren. Jedoch ist eine 2,5-Zoll-Magnetplatte einer 3,5-Zoll-Magnetplatte dahingehend überlegen, dass der Energieverbrauch der ersteren kleiner als der der letzteren ist. - Hardwarekonfiguration des Plattenarraysystems
- Die
5 ist ein Blockdiagramm, das die Hardwarekonfiguration des Plattenarraysystems10 zeigt, das als eine Ausführungsform der Erfindung beschrieben wird. - Wie es in der
5 dargestellt ist, sind Informationsverarbeitungsvorrichtungen300 über ein SAN mit dem Plattenarraysystem10 verbunden. Die Informationsverarbeitungsvorrichtungen300 sind z.B. PCs, Workstations, Großrechner oder dergleichen. - Das Plattenarraysystem
10 verfügt über ein Mastergehäuse20 und eines oder mehrere Erweiterungsgehäuse30 , wie bereits beschrieben. Bei dieser Ausführungsform verfügt das Mastergehäuse20 über Controller500 , Festplattenlaufwerke51 usw. Jeder Controller500 verfügt über Kanal-Steuerabschnitte501 , Platten-Steuerabschnitte502 , eine CPU503 , einen Spei cher504 , einen Cachespeicher62 , einen Datencontroller505 usw. Der Controller500 ist an der oben genannten Steuerplatte59 angebracht. Andererseits verfügt jedes Erweiterungsgehäuse30 über Festplattenlaufwerke51 usw. Die Festplattenlaufwerke51 im Mastergehäuse und in den Erweiterungsgehäusen sind über eine FC-AL506 mit den Platten-Steuerabschnitte502 verbunden, um für Kommunikation mit diesen sorgen zu können. Übrigens wird der Verbindungsmodus zwischen jedem Platten-Steuerabschnitt502 und jedem Festplattenlaufwerk51 später detailliert beschrieben. - Jeder Kanal-Steuerabschnitt
501 ist eine Schnittstelle zum Errichten von Kommunikation mit den Informationsverarbeitungsvorrichtungen300 . Der Kanal-Steuerabschnitt501 verfügt über eine Funktion zum Aufnehmen einer Blockzugriffsanforderung entsprechend einem Faserkanalprotokoll. - Jeder Platten-Steuerabschnitt
502 ist eine Schnittstelle zum Austauschen von Daten mit den Festplattenlaufwerken51 entsprechend einer Anweisung von der CPU503 . Der Platten-Steuerabschnitt502 verfügt über eine Funktion zum Senden einer Daten-Eingabe/Ausgabe-Anforderung an die Festplattenlaufwerke51 entsprechend einem Protokoll, in dem Befehle usw. zum Steuern der Festplattenlaufwerke51 festgelegt sind. - Die CPU
503 verwaltet die Steuerung des Plattenarraysystems10 insgesamt. Die CPU503 führt im Speicher504 abgespeicherte Mikroprogramme aus, um die Kanal-Steuerabschnitte501 , die Platten-Steuerabschnitte502 , den Datencontroller505 usw. zu steuern. Zu den Mikroprogrammen gehören ein Datenleseprozess601 , ein Datenschreibprozess602 und dergleichen, wie es in der6 dargestellt ist. - Der Cachespeicher
62 dient zum zeitweiligen Abspeichern von Daten, wie sie zwischen jedem Kanal-Steuerabschnitt501 und jedem Platten-Steuerabschnitt502 auszutauschen sind. - Der Datencontroller
505 führt eine Datenübertragung zwischen jedem Kanal-Steuerabschnitt501 und dem Cachespeicher62 oder zwischen diesem und jedem Platten-Steuerabschnitt502 unter Steuerung durch die CPU503 aus. - Jeder Controller
500 verfügt über eine Funktion des Steuerns der Festplattenlaufwerke51 auf RAID-Ebene (z.B. 0, 1 oder 5), entsprechend eine sogenannten RAID(Redundant Array of Inexpensive Disks)-System. Beim RAID-System werden mehrere Festplattenlaufwerke51 als eine Gruppe verwaltet (nachfolgend als RAID-Gruppe bezeichnet). Logische Datenbereiche, die als Zugriffseinheiten von den Informationsverarbeitungsvorrichtungen300 dienen, sind in jeder RAID-Gruppe ausgebildet. Eine als LUN (Logical Unit Number) bezeichnete Kennung ist jedem logischen Datenbereich zugewiesen. Im Speicher504 ist Information zur RAID-Konfiguration in Form einer RAID-Konfigurationstabelle603 abgespeichert, wie es in der6 dargestellt ist. Die CPU503 nimmt auf die RAID-Konfigurationstabelle603 Bezug, wennsie den Datenleseprozess601 oder den Datenschreibprozess602 ausführt. - Übrigens muss das Plattenarraysystem z.B. nicht ein System sein, das auf die oben beschriebene Weise konzipiert ist, sondern es kann ein als NAS (Network Attached Storage) dienendes System sein, das so konzipiert ist, dass es eine Daten-Eingabe/Ausgabe-Anforderung auf Grundlage einer Datennamensspezifizierung von irgendeiner der Informationsverarbeitungsvorrichtungen
300 entsprechend einem Protokoll wie NFS (Network File System) akzeptiert. - Verbindungsmodus von Festplattenlaufwerken
- Als Nächstes erfolgt eine Beschreibung zum Verbindungsmodus zwischen jedem Controller
500 und jedem Festplattenlaufwerk51 . - Die
7 zeigt einen Verbindungsmodus zwischen jedem Platten-Steuerabschnitt502 und jedem Faserkanal-Festplattenlaufwerk51 , wie es im Mastergehäuse20 untergebracht ist. - Jeder Platten-Steuerabschnitt
502 ist über eine FC-AL mit mehreren Festplattenlaufwerken51 verbunden. Die FC-AL506 verfügt über mehrere PBCs (Port Bypass Circuits)701 . Die FaserkanalFestplattenlaufwerken51 sind jeweils über die PBCs701 mit der FC-AL506 verbunden. Jede PBC701 ist ein als Chip ausgebildeter elektronischer Schalter. Die PBCs701 verfügen auch über eine Funktion des Umgehens der Platten-Steuerabschnitte502 oder der Festplattenlaufwerke51 , um sie dadurch elektrisch von der FC-AL506 auszuschließen. Genauer gesagt, trennen die PBCs701 , wenn in irgendwelchen Festplattenlaufwerke51 Fehler auftreten, die Festplattenlaufwerke51 von der FC-AL506 , so dass für Kommunikationsvorgänge zwischen einem beliebigen anderen Festplattenlaufwerk51 und jedem Platten-Steuerabschnitt502 gesorgt werden kann. - Außerdem ermöglichen es die PBCs
701 , die Festplattenlaufwerke51 zu entnehmen und einzusetzen, während der Betrieb der FC-AL506 erhalten bleibt. Wenn z.B, ein neues Festplattenlaufwerk51 eingesetzt wird, wird es in die FC-AL506 eingebaut, damit zwischen dem Festplattenlaufwerk51 und dem Platten-Steuerabschnitt502 für Kommunikation gesorgt werden kann. Übrigens kann eine Leiterplatte der PBCs701 am Rackrahmen11 des Plattenarraysystems10 vorhanden sein, oder sie kann teilweise oder ganz an der Controllerplatte59 oder der Spannungsversorgung-Controllerplatte56 angebracht sein. - Die
8 zeigt einen Verbindungsmodus zwischen jedem Plat ten-Steuerabschnitt502 und jedem im Mastergehäuse20 untergebrachten Seriell-ATA-Festplattenlaufwerk51 . - Jedes Festplattenlaufwerk
51 ist über einen Wandler801 mit PBCs602 der FC-AL506 verbunden. Der Wandler801 ist eine Schaltung zum Wandeln eines Faserkanalprotokolls und eines Seriell-ATA-Protokolls ineinander. Der Wandler801 besteht aus einem Chip, in den eine Protokollwandelfunktion eingebaut ist. Der Wandler801 ist in jeder Plattenlaufwerkeinheit52 enthalten. - Die
9 entspricht einem anderen Verbindungsmodus, bei dem Seriell-ATA-Festplattenlaufwerke51 im Mastergehäuse20 untergebracht sind. - Jeder Wandler
901 ist eine Schaltung zum Wandeln eines Faserkanalprotokolls und eines Seriell-ATA-Protokolls ineinander, auf dieselbe Weise wie beim Wandler801 in der8 Der Wandler901 ist mit einer PBC602 einer FC-AL506 verbunden. Mehrere Festplattenlaufwerke51 sind über jeweilige Schalter902 mit jedem Wandler901 verbunden. Die Schalter902 sind Schaltungen zum Auswählen eines Festplattenlaufwerks51 , mit dem für Kommunikation gesorgt werden soll, wenn die Festplattenlaufwerke51 mit mehreren Wandlern901 verbunden sind. Jeder Schalter902 ist jeder Plattenlaufwerkseinheit52 vorhanden. Jeder Wandler901 besteht aus einem Chip oder mehreren Schaltkreisen, in die eine Protokollwandelfunktion eingebaut ist. Z.B. kann der Wandler901 durch die Konfiguration einer SATA-Mastervorrichtung implementiert sein, wie sie in der "US-Patentanmeldung mit der Veröffentlichungs-Nr. 2003/0135577" offenbart ist. Der Wandler901 ist auf der Controllerplatte59 , der Spannungsversorgung-Controllerplatte56 oder dergleichen angebracht. - Steuerung zum Verbessern der Zuverlässigkeit
- Nun erfolgt eine Beschreibung zu einem Verfahren zum Verbessern der Zuverlässigkeit beim Lesen von den Festplattenlaufwerken oder beim Schreiben auf diese im oben beschriebenen Plattenarraysystem
10 . - Paritätsprüfung bei RAID-Ronfiguration
- Als Erstes erfolgt eine Beschreibung zu einem Verfahren zum Untersuchen, ob in einem Festplattenlaufwerk
51 von RAID-Konfiguration abgespeicherte Daten in einem falschen Zustand vorliegen oder nicht. Hierbei bedeutet der falsche Zustand einen solchen, bei dem Daten nicht an einen Ort geschrieben sind, wie er durch den Platten-Steuerabschnitt502 spezifiziert wurde, und nicht mit entsprechend spezifiziertem Inhalt. - Die
10 zeigt einen Zustand, bei dem Daten in Festplattenlaufwerke51 gemäß RAID-5 gespeichert sind. Bei RAID-5 besteht eine RAID-Gruppe1001 aus mehreren Festplattenlaufwerken51 . Beim Beispiel der10 sind Daten A-D und Paritätsdaten P (A - D) zum Erkennen von Fehlern in den Daten A - D in den Festplattenlaufwerken51 gespeichert. Auf dieselbe Weise sind Daten E - H und Paritätsdaten P (E - H) für die Daten E - H abgespeichert. Eine derartige Kombination von Daten und Paritätsdaten wird als Streifengruppe1002 bezeichnet. Bei einer RAID-Konfiguration mit derartigen darin ausgebildeten Streifengruppen1002 kann der alle Daten und Paritätsdaten der Streifengruppe1002 lesende Controller500 untersuchen, ob sich die Daten in einem falschen Zustand befinden oder nicht. Als Erstes liest der Platten-Steuerabschnitt502 , entsprechend einer Anweisung von der CPU503 , die Daten A - D und die Paritätsdaten P (A - D). Als Nächstes führt die CPU503 eine Paritätsprüfung unter Verwendung der Daten A - D und der Parität P (A - D) aus. So kann untersucht werden, ob irgendein Stück der Daten A - D in einem falschen Zustand vorliegt oder nicht. - Wenn eine Datenleseanforderung von irgendeiner der Informationsverarbeitungsvorrichtungen
300 empfangen wird, kann der Controller500 alle Daten und Paritätsdaten in einer Streifengruppe einschließlich der zu lesenden Daten lesen. So kann verhindert werden, dass der Controller500 falsche Daten von den Festplattenlaufwerken51 liest und solche falsche Daten an die Informationsverarbeitungsvorrichtung300 sendet. Übrigens kann die Prüfung auf falsche Daten nicht nur beim Empfangen einer Datenleseanforderung sondern zu jedem beliebigen gewünschten Zeitpunkt erfolgen. Auf solche Weise kann die Erkennung falscher Daten ausgeführt werden, ohne dass sich irgendein Einfluss auf die Datenlesefunktion ergäbe. - Außerdem ist es unter Verwendung einer Aktualisierungskontrolltabelle
1101 , wie sie in der11 dargestellt ist, möglich, zu untersuchen, ob sich die in die Festplattenlaufwerke51 eingeschriebenen Daten in einem falschen Zustand befinden oder nicht. Die Aktualisierungskontrolltabelle1101 besteht aus Laufwerksnummern und Sektornummern, und sie ist im Speicher504 abgespeichert. Bei dieser Ausführungsform sind die Sektornummern durch die LBA (Logical Block Address) definiert, und sie werden mit Einheiten von 128 LBA verwaltet, wie es durch LBA #1-128 veranschaulicht ist. Übrigens besteht für die Packungseinheit der Sektornummern keine Beschränkung auf 128, sondern es kann sich um jede beliebige gewünschte Einheit handeln. Wenn Daten über den Platten-Steuerabschnitt502 in ein Festplattenlaufwerk51 eingeschrieben werden, ändert die CPU503 den Sektorwert des dem Schreibvorgang unterliegenden Festplattenlaufwerks51 in der Aktualisierungskontrolltabelle1101 auf "1". Die CPU503 liest, über den Platten-Steuerabschnitt502 , alle Daten und Paritätsdaten einer Streifengruppe einschließlich des Zielsektors des Festplattenlaufwerks51 , wie als "1" in der Aktualisierungskontrolltabelle1101 abgespeichert, und sie führt eine Paritätsprüfung aus. Wenn die gelesenen Daten nicht falsch sind, ändert die CPU503 den Wert des Sektors in der Aktualisierungskontrolltabelle1101 auf "0". Wenn die CPU503 eine Datenleseanforderung von irgendeiner der Informationsverarbeitungsvorrichtungen300 über den Kanal-Steuerabschnitt501 empfängt, nimmt sie auf die Aktualisierungskontrolltabelle1101 Bezug, und sie klärt, ob ein die zu lesenden Daten speichernder Sektor untersucht wurde oder nicht. Wenn der die Daten speichernde Sektor nicht untersucht wurde, untersucht die CPU503 Daten einer die zu lesenden Daten enthaltenden Streifengruppe entsprechend der oben genannten Prozedur. Auf solche Weise wird eine Untersuchung an den in jedes Festplattenlaufwerk51 eingeschriebenen Daten vor dem Empfang einer Leseanforderung zum Lesen der Daten ausgeführt. So kann verhindert werden, dass sich die Datenlesefunktion verschlechtert. Außerdem wird der noch fehlende Abschluss der Prüfung in der Aktualisierungskontrolltabelle1101 abgespeichert, und es wird eine Paritätsprüfung ausgeführt, wenn nicht untersuchte Daten gelesen werden. So kann verhindert werden, dass falsche Daten gelesen werden. - Untersuchung von Schreibdaten
- Als Nächstes erfolgt eine Beschreibung zu einem Verfahren zum Untersuchen, ob Daten korrekt geschrieben werden oder nicht, wenn sie in ein Festplattenlaufwerk
51 geschrieben werden. - Die
12 ist ein Flussdiagramm, das die Kontrolle durch die CPU503 zeigt, wenn der Controller500 Daten in ein Festplattenlaufwerk51 schreibt. Wenn die CPU503 eine Datenschreibanforderung von irgendeiner der Informationsverarbeitungsvorrichtungen300 über den Kanal-Steuerabschnitt501 empfängt, sendet sie eine Anweisung zum Schreiben der Daten in ein Festplattenlaufwerk51 an den Platten-Steuerabschnitt502 (S1201). Dann sendet die CPU503 eine Anweisung zum Ausführen eines Suchprozesses zum Verstellen der Position eines Kopfs einer Magnetplatte, wenn die Daten geschrieben wurden, an den Platten-Steuerabschnitt (S1202). Als Nächstes liest die CPU503 die Daten aus dem Cachespeicher62 (S1203), und sie liest die Daten von der Magnetplatte (S1204). Die CPU503 vergleicht die Daten vom Cachespeicher62 und diejenigen von der Magnetplatte, um zu untersuchen, ob sie miteinander übereinstimmen (S1205). Wenn die zwei Datenstücke nicht miteinander übereinstimmen, informiert die CPU503 die Informationsverarbeitungsvorrichtung300 über die Tatsache, dass der Schreibvorgang nicht normal ausgeführt wurde (S1206). - Wenn die in der Magnetplatte abgespeicherten Daten auf diese Weise mit den im Cachespeicher
62 abgespeicherten Daten verglichen werden, ist es möglich, zu klären, ob die Daten korrekt in die Magnetplatte geschrieben wurden oder nicht. Außerdem überleben die Daten selbst dann, wenn sich die geschriebenen Daten in einem falschen Zustand befinden, im Cachespeicher62 . So besteht keine Gefahr, dass die Daten verloren gehen. Übrigens ist es dann, wenn ein zu einem Festplattenlaufwerk mit einer Magnetplatte gehörender Kopf durch einen Suchprozess oder dergleichen verstellt wird, bevor zu vergleichende Daten von der Magnetplatte und aus dem Cachespeicher62 gelesen wurden, möglich, zu verhindern, dass der Kopf zweimal an ein und derselben Position liest, wenn die Position beim Schreiben falsch ist. - Bei der Verarbeitung gemäß der
12 werden alle geschriebenen Daten aus dem Cachespeicher62 und von der Magnetplat te gelesen, und die zwei Datenstücke werden zum Untersuchen der Daten verglichen. Jedoch müssen nicht alle Daten gelesen und verglichen werden, sondern es reicht, einen Teil der Daten, z.B. ein Segment am Kopf der Daten und ein Segment am Ende derselben zu lesen und zu vergleichen. Z.B. werden umfangreiche Daten (sequenzielle Daten) häufig in Seriell-ATA-Festplattenlaufwerke eingeschrieben, da sie für Anwendungen wie Datenbackup verwendet werden. In einem derartigen Fall wird das Funktionsvermögen bei der Schreibverarbeitung auffällig beeinträchtigt, wenn in einer Magnetplatte gespeicherte Daten für alle geschriebenen Daten mit im Cachespeicher62 gespeicherten Daten verglichen werden. Außerdem ist es dann, wenn hinsichtlich der Schreibposition oder dergleichen ein Fehler auftritt, wenn sequenzielle Daten geschrieben werden, hoch wahrscheinlich, dass alle Daten falsch sind. Daher kann in den meisten Fällen die Beurteilung dahingehend, ob die Daten falsch sind oder nicht, dadurch erfolgen, dass ein Teil der Daten untersucht wird. D.h., dass dann, wenn für einen Teil geschriebener Daten, z.B. ein Segment am Kopf der Daten und ein Segment am Ende der Daten, ein Vergleich ausgeführt wird, die Möglichkeit besteht, falsche Daten zu prüfen, während verhindert wird, dass das Funktionsvermögen bei der Schreibverarbeitung beeinträchtigt wird. - Alternativ kann das Verfahren zum Untersuchen von in das Festplattenlaufwerk
51 geschriebenen Daten entsprechend der Größe der Daten geändert werden. Die13 ist ein Flussdiagramm, das die Verarbeitung zum Ändern des Untersuchungsverfahrens abhängig davon, ob geschriebene Daten sequenzielle Daten sind oder nicht, zeigt. Die CPU503 sendet eine Anweisung zum Schreiben von Daten in ein Festplattenlaufwerk51 an den Platten-Steuerabschnitt502 (S1301). Dann sendet die CPU503 eine Anweisung zum Ausführen eines Suchprozesses zum Verstellen der Position des Kopfs der Magnetplatte, wo die Daten geschrieben wurden, an den Platten-Steuerabschnitt (S1302). Die CPU503 beurteilt, ob die Daten sequenzielle Daten sind oder nicht (S1303). Übrigens wird die Beurteilung dahingehend, ob die Daten sequenzielle Daten sind oder nicht, auf Grundlage davon ausgeführt, ob die Größe der geschriebenen Daten eine vorbestimmte Größe erreicht oder nicht. - Wenn die Daten sequenzielle Daten sind, liest die CPU
503 ein Segment am Kopf derselben sowie ein Segment am Ende derselben vom Cachespeicher62 und der Magnetplatte. Wenn die Daten dagegen keine sequenziellen Daten sind, liest die CPU503 alle Daten vom Cachespeicher62 und der Magnetplatte (S1306 und S1307). Danach vergleicht die CPU503 die zwei Stücke gelesener Daten miteinander, und sie untersucht, ob sie miteinander übereinstimmen (S1308). Wenn sie nicht übereinstimmen, informiert die CPU503 die Informationsverarbeitungsvorrichtung300 über die Tatsache, dass der Schreibvorgang nicht normal ausgeführt wurde (S1309). - Wenn die geschriebene Daten sequenzielle Daten sind, erfolgt zwischen in der Magnetplatte gespeicherten Daten und im Cachespeicher
62 gespeicherten Daten auf solche Weise ein Vergleich hinsichtlich eines Teils der Daten. So ist es möglich, die Inkorrektheit von Daten zu erkennen, während ein Absinken des Funktionsvermögens bei der Schreibverarbeitung unterdrückt ist. Wenn dagegen die geschriebenen Daten keine sequenziellen Daten sind, erfolgt zwischen in der Magnetplatte gespeicherten Daten und im Cachespeicher62 gespeicherten Daten ein Vergleich hinsichtlich aller geschriebenen Daten. So ist es möglich, eine Inkorrektheit von Daten perfekt zu erkennen, ohne dass das Funktionsvermögen bei der Schreibverarbeitung so auffällig abnimmt, wie im Fall sequenzieller Daten. - Um das Funktionsvermögen beim Schreiben von Daten zu verbessern, kann jedes Festplattenlaufwerk
51 über eine Funktion wie folgt verfügen. Wenn nämlich das Festplattenlaufwerk51 eine Datenschreibanforderung vom Controller500 empfängt, schreibt es die Daten nur in den Plattencache, und es informiert den Controller500 über den Abschluss des Schreibvorgangs. In diesem Fall können beim mittels der12 und13 beschriebenen Verfahren die geschriebenen Daten nicht untersucht werden. Die14 ist ein Flussdiagramm zur Verarbeitung zur Untersuchung geschriebener Daten, wenn das Festplattenlaufwerk51 über eine derartige Funktion verfügt. Die CPU503 überwacht das Festplattenlaufwerk51 dahingehend, ob die Anzahl der Schreibvorgänge in das Festplattenlaufwerk51 eine vorbestimmte Anzahl überschritten hat oder nicht (S1401). Wenn die vorbestimmte Anzahl überschritten ist, gibt die CPU503 über den Platten-Steuerabschnitt502 eine Anweisung zum Schreiben der im Plattencache abgespeicherten Daten in eine Magnetplatte an das Festplattenlaufwerk (S1402). Dann liest die CPU503 die Daten vom Cachespeicher62 und von der Magnetplatte (S1403 und S1404). Die CPU503 klärt, ob die Daten vom Cachespeicher62 und diejenigen von der Magnetplatte übereinstimmen oder nicht (S1405). Wenn sie nicht übereinstimmen, informiert die CPU503 die Informationsverarbeitungsvorrichtung300 über die Tatsache, dass der Schreibvorgang nicht normal ausgeführt wurde (S1406). So kann Inkorrektheit von Daten trotz der Verwendung der oben genannten Funktion des Verbesserns des Funktionsvermögens bei der Schreibverarbeitung erkannt werden. Übrigens werden bei der Verarbeitung gemäß der14 in die Magnetplatte geschriebene Daten und in den Cachespeicher geschriebene Daten verglichen, wenn die Anzahl der Schreibvorgänge eine vorbestimmte Anzahl überschreitet. Jedoch kann die Untersuchung immer dann vorgenommen werden, wenn eine vorbestimmte Zeit verstrichen ist, oder immer dann, wenn der Plattencache über keinen freien Raum verfügt. - Im Fall eines Seriell-ATA-Festplattenlaufwerks
51 werden Daten häufig aufgrund eines Ausfalls seines Kopfs inkorrekt geschrieben. Daher erfolgt eine Beschreibung zu einem Verfahren zum Erkennen des Ausfalls eines Kopfs oder eines Festplattenlaufwerks51 , wenn Daten aus diesem gelesen werden. - Die
15 ist ein Diagramm, das eine Kopfprüf-Kontrolltabelle1501 zeigt. Die Kopfprüf-Kontrolltabelle1501 besteht aus Laufwerksnummern, Kopfnummern und Sektornummern, und sie ist im Speicher504 abgespeichert. Jede Sektornummer ist auf dieselbe Weise wie in der Aktualisierungskontrolltabelle1101 durch eine LBA definiert. Wenn Daten über den Platten-Steuerabschnitt502 in das Festplattenlaufwerk51 eingeschrieben werden, ändert die CPU503 den Wert "Vorliegen von Aktualisierung" des Sektors des Kopfs, mit dem die Daten geschrieben wurden, in der Kopfprüf-Kontrolltabelle1501 auf "1". - Die
16 ist ein Flussdiagramm der durch die CPU503 auszuführenden Kopfprüfverarbeitung. Die CPU503 stellt 1 als Anfangswert einer Untersuchungskopfnummer ein (S1601). Die CPU503 wartet eine vorbestimmte Zeit (S1602), und sie schreibt unter Verwendung eines durch die Untersuchungskopfnummer spezifizierten Kopfs Untersuchungsdaten in einen Steuerblock einer Magnetplatte (1603 ). Übrigens ist der Steuerblock ein vorbestimmter Speicherbereich auf der Magnetplatte. Als Nächstes liest die CPU503 die in den Steuerblock geschriebenen Daten (S1604), und sie klärt, ob die gelesenen Daten und die Untersuchungsdaten miteinander übereinstimmen oder nicht (S1605). - Wenn die zwei Datenstücke miteinander übereinstimmen, schließt die CPU
503 , dass keine Anormalität im Kopf be steht, und sie ändert den Wert von "Vorliegen einer Aktualisierung" für den Kopf in der Kopfprüf-Kontrolltabelle1501 auf "0" (S1606). Die CPU503 addiert 1 zur Untersuchungskopfnummer (S1607). Die CPU503 klärt, ob die Untersuchungskopfnummer größer als ein Maximalwert für die Kopfnummer ist oder nicht (S1608). Wenn die Untersuchungskopfnummer größer ist, stellt die CPU503 1 als Untersuchungskopfnummer ein. Die CPU503 führt die Kopfprüfverarbeitung wiederholt auf die eingestellte Kopfnummer hin aus. - Wenn die aus dem Steuerblock gelesenen Daten nicht mit den Untersuchungsdaten übereinstimmen, informiert die CPU
503 die Informationsverarbeitungsvorrichtung300 über die Tatsache, dass im fraglichen Festplattenlaufwerk51 eine Anormalität auftritt, und dann beendet sie die Verarbeitung. - Die
17 ist ein Flussdiagramm einer Verarbeitung, wenn die CPU503 eine Datenleseanforderung von irgendeiner der Informationsverarbeitungsvorrichtungen300 empfängt. Die CPU503 empfängt die Datenleseanforderung von der Informationsverarbeitungsvorrichtung300 über den Kanal-Steuerabschnitt501 (S1701). Die CPU503 klärt den Wert von "Vorliegen einer Aktualisierung" eines Zielsektors eines Festplattenlaufwerks51 , wo die Daten in der Kopfprüf-Kontrolltabelle1501 gespeichert sind (S1702 und S1703). Ein "Vorliegen einer Aktualisierung" vom Wert "1" zeigt den Zustand an, bei dem die oben genannte Kopfprüfverarbeitung nicht ausgeführt wurde, obwohl ein Datenschreibvorgang an der LBA des fraglichen Festplattenlaufwerks51 ausgeführt wurde. Wenn der Wert von "Vorliegen einer Aktualisierung" "0" ist, liest die CPU503 die Daten vom Festplattenlaufwerk51 (S1708). - Wenn der Wert von "Vorliegen einer Aktualisierung" "1" ist, schreibt die CPU
503 Untersuchungsdaten unter Verwendung des fraglichen Kopfs auf dieselbe Weise wie bei der oben genann ten Kopfprüfverarbeitung in einen Steuerblock einer Magnetplatte (S1704). Übrigens ist der Steuerblock ein vorbestimmter Speicherbereich auf der Magnetplatte. Als Nächstes liest die CPU503 die in den Steuerblock geschriebenen Daten (S1705), und sie klärt, ob die gelesenen Daten mit den Untersuchungsdaten übereinstimmen oder nicht (S1706). - Wenn die zwei Datenstücke miteinander übereinstimmen, schließt die CPU
503 , dass im Kopf keine Anormalität existiert, und sie ändert den Wert von "Vorliegen einer Aktualisierung" für den Kopf in der Kopfprüf-Kontrolltabelle1501 auf "0" (S1707). Dann liest die CPU503 die angeforderten Daten entsprechend der Leseanforderung vom Festplattenlaufwerk51 (S1708). - Wenn die vom Steuerblock gelesenen Daten nicht mit den Untersuchungsdaten übereinstimmen, informiert die CPU
503 die Informationsverarbeitungsvorrichtung300 über die Tatsache, dass im fraglichen Festplattenlaufwerk51 eine Anormalität vorliegt (S1709), und dann beendet die CPU503 die Verarbeitung ohne die Daten vom Festplattenlaufwerk51 zu lesen. - Auf solche Weise ist es möglich, wenn in das Festplattenlaufwerk
51 geschriebene Daten gelesen werden, zu klären, ob der Kopf, mit dem die Daten geschrieben wurden, normal arbeitet oder nicht. Wenn der Kopf anormal ist, besteht die Möglichkeit, dass die Daten nicht korrekt geschrieben wurden, oder es besteht die Möglichkeit, dass die Daten nicht korrekt gelesen werden können. Durch Erkennen einer Anormalität im Kopf beim Lesen von Daten ist es möglich, zu verhindern, dass falsche Daten gelesen werden. - Untersuchung auf Grundlage einer Paritätszuweisung
- Gemäß dem oben genannten Verfahren, bei dem alle Daten einer Streifengruppe in der RAID-Konfiguration gelesen und einer Paritätsprüfung unterzogen werden, ist es nicht möglich, zu ermitteln, welche Daten der Streifengruppe in einem falschen Zustand vorliegen. Es ist tatsächlich möglich, zu verhindern, dass falsche Daten gelesen werden, jedoch ist es nicht möglich, falsche Daten wiederherzustellen. Demgemäß können Daten verloren gehen. Daher erfolgt eine Beschreibung zu einem Verfahren zum Zuweisen von Paritätsdaten zu jedem Datenstück gesondert von Paritätsdaten innerhalb der Streifengruppe.
- Die CPU
503 erzeugt Paritätsdaten zum Erkennen von Fehlern für mehrere Sektoren, die als Minimaleinheit dienen, gemäß der Daten in jedes Festplattenlaufwerk51 geschrieben werden. Bei dieser Ausführungsform wird eine Kombination von Daten und Paritätsdaten für derartige mehrere Sektoren als Dateneinheit bezeichnet. Wenn die CPU503 eine Datenschreibanforderung von irgendeiner der Informationsverarbeitungsvorrichtungen300 über den Kanal-Steuerabschnitt501 empfängt, erzeugt sie aus den zu schreibenden Daten eine Dateneinheit. Die CPU503 schreibt die Dateneinheit über die Platten-Steuereinheit502 in das Festplattenlaufwerk51 . - Die
18 ist ein Diagramm, das den Zustand zeigt, wenn ein Datenstück1801 in ein Festplattenlaufwerk geschrieben wird. Die Daten1801 bestehen aus mehreren Sektoren S#1 bis S#4, und aus den Daten1801 und Paritätsdaten1802 für die Daten1801 der mehreren Sektoren wird eine Dateneinheit1803 gebildet. Wenn die CPU503 eine Datenleseanforderung von irgendeiner der Informationsverarbeitungsvorrichtungen300 über den Kanal-Steuerabschnitt501 empfängt, liest sie die Dateneinheit1803 der angeforderten Daten über den Platten-Steuerabschnitt502 , und sie führt an den Daten eine Paritätsprüfung aus, um zu untersuchen, ob sie sich in einem falschen Zustand befinden oder nicht. Auf diese Weise ist es nur durch Lesen der zu lesenden Daten auf die Leseanforderung hin möglich, zu beurteilen, ob sich die Daten in einem falschen Zustand befinden oder nicht. Außerdem können, wenn die Festplattenlaufwerke51 über eine redundante RAID-Konfiguration, wie RAID5 , verfügen, die Daten unter Verwendung anderer Daten und Paritätsdaten in der Streifengruppe wiederhergestellt werden. So besteht keine Gefahr, dass die Daten verloren gehen. - Wenn ein Ausfall eines Kopfs oder dergleichen in einem Festplattenlaufwerk
51 auftritt, ist es hoch wahrscheinlich, dass mehrere falsche Sektoren auftreten. Es sei angenommen, dass mehrere Sektoren der Dateneinheit1803 falsch werden, wenn die Dateneinheit1803 in ein Festplattenlaufwerk51 eingeschrieben wird. Bei einem derartigen Ereignis besteht der Fall, dass Inkorrektheit nicht durch eine Paritätsprüfung erkannt werden kann. - Daher kann, wie es in der
19 dargestellt ist, die CPU503 die Dateneinheit1803 zwischen mehreren Festplattenlaufwerken51 innerhalb der RAID-Gruppe mittels des Platten-Steuerabschnitts502 schreiben und verteilen. Die20 ist ein Diagramm, das eine Dateneinheit-Kontrolltabelle2001 zeigt. Die Dateneinheits-Kontrolltabelle2001 zeigt die Entsprechung von Dateneinheiten1803 aus jeweils mehreren Sektoren mit LBAs von Festplattenlaufwerken51 . Das Beispiel der20 zeigt, dass eine aus130 Sektoren 000 - 129 bestehende Dateneinheit1803 durch LBAs 000 - 064 von Festplattenlaufwerken51 gebildet wird, deren Laufwerksnummern #0 und #1 sind. Wenn die CPU503 die Datenschreibanforderung von irgendeiner der Informationsverarbeitungsvorrichtungen300 empfängt, nimmt sie auf die Dateneinheits-Kontrolltabelle2001 Bezug, und sie schreibt und verteilt jede Dateneinheit1803 der angeforderten Daten über mehrere Festplattenlaufwerke51 . - Demgemäß ist es selbst dann, wenn in einem Festplattenlaufwerk ein Fehler auftritt, möglich, die Wahrscheinlichkeit zu erhöhen, dass Inkorrektheit der Daten erkannt werden kann.
- Umgebung mit einer Mischung eines Faserkanals und seriell-ATA
- Als Nächstes erfolgt eine Beschreibung zu einem Plattenarraysystem
10 , bei dem Faserkanal-Festplattenlaufwerke51 und Seriell-ATA-Festplattenlaufwerke51 gemischt sind. - Die
21 ist ein Blockdiagramm, das ein Plattenarraysystem zeigt, bei dem Faserkanal-Festplattenlaufwerke51 in einem ersten Gehäuse2101 aufgenommen sind und Seriell-ATA-Festplattenlaufwerke51 in einem zweiten Gehäuse2102 aufgenommen sind. Übrigens entsprechen das erste und das zweite Gehäuse2101 und2102 dem Mastergehäuse20 bzw. dem Erweiterungsgehäuse30 . Jedes Festplattenlaufwerk51 ist im oben beschriebenen Modus mit dem Platten-Steuerabschnitt502 verbunden. Außerdem zeigt die19 einen Modus, bei dem mehrere Seriell-ATA-Festplattenlaufwerke mit einem Wandler901 verbunden sind. Jedoch kann jedes Seriell-ATA-Festplattenlaufwerk mit einem Wandler801 verbunden sein, der, wie oben beschrieben, für jede Plattenlaufwerkseinheit vorhanden ist. - Beim auf diese Weise konfigurierten Plattenarraysystem
10 ist es erforderlich, die Zuverlässigkeit der Seriell-ATA-Festplattenlaufwerke51 zu erhöhen, deren Zuverlässigkeit niedriger als die der Faserkanal-Festplattenlaufwerke51 ist. Daher wendet der Controller500 das oben genannte Verfahren zum Verbessern der Zuverlässigkeit nur der Seriell-ATA-Festplattenlaufwerke51 an. Demgemäß kann die Zuverlässigkeit beim Lesen/Schreiben von Daten von den/in die Seriell-ATA-Festplattenlaufwerke51 verbessert werden, ohne dass das Funktionsvermögen beim Lesen/Schreiben von Daten aus den/in die Seriell-ATA-Festplattenlaufwerke51 verbessert werden, ohne dass das Funktionsvermögen beim Lesen/Schreiben von Daten von den/in die Faserkanal-Festplattenlaufwerke51 , die zur Verarbeitung wie einer wesentlichen Arbeit, die über hohes Zugriffsfunktionsvermögen verfügen muss, gesenkt würde. Außerdem ist es nicht erforderlich, den körperlichen Aufbau zu ändern, z.B. zwei Köpfe für jede Magnetplatte jedes Seriell-ATA-Festplattenlaufwerks51 anzubringen. Daher ist es möglich, die Herstellkosten der Seriell-ATA-Festplattenlaufwerke51 niedrig zu halten. - Übrigens sind bei dieser Ausführungsform die Faserkanal-Festplattenlaufwerke
51 und die Seriell-ATA-Festplattenlaufwerke51 gemischt vorhanden. Jedoch können andere Festplattenlaufwerke51 verwendet werden, wenn sie zu Schnittstellenstandards mit verschiedenen Zuverlässigkeiten gehören.. Z.B. können die Seriell-ATA-Festplattenlaufwerke51 durch Parallel-ATA-Festplattenlaufwerke51 ersetzt werden. - Die Ausführungsformen wurden oben beschrieben, um die Erfindung leicht verständlich zu machen. Die Erfindung soll nicht als auf die Ausführungsformen beschränkt interpretiert werden. Die Erfindung kann geändert oder modifiziert werden, ohne dass von ihrem Schutzumfang und Grundgedanken abgewichen würde. Jedes Äquivalent zur Erfindung ist ebenfalls in dieser enthalten. Außerdem wird die beim japanischen Patentamt am 28. November 2003 eingereichte japanische Patentanmeldung Nr. 2003-400517 zum Stützen der Erfindung genannt, und deren Offenbarung wird hier durch Bezugnahme eingeschlossen.
Claims (20)
- Plattenarraysystem mit: – einem ersten Gehäuse zum Aufnehmen einer oder mehrerer RAID-Gruppen aus jeweils mehreren Festplattenlaufwerken zum Senden/Empfangen von Daten entsprechend einem ersten Schnittstellenstandard, wobei die Festplattenlaufwerken über einen Kommunikationspfad miteinander verbunden sind; – einem zweiten Gehäuse zum Aufnehmen einer oder mehrerer RAID-Gruppen aus jeweils mehreren Festplattenlaufwerken zum Senden/Empfangen von Daten entsprechend einem zweiten Schnittstellenstandard, wobei die Festplattenlaufwerken über den Kommunikationspfad mittels mehrerer Wandlungseinheiten zum Wandeln des ersten und des zweiten Schnittstellenstandards ineinander verbunden sind, wobei diese Festplattenlaufwerke über geringere Zuverlässigkeit als die im ersten Gehäuse untergebrachten Festplattenlaufwerke verfügen; und – einem Controller mit einem Kanal-Steuerabschnitt, einem Platten-Steuerabschnitt, einem Cachespeicher und einer CPU, wobei der Kanal-Steuerabschnitt so mit einer Informationsverarbeitungsvorrichtung verbunden ist, dass er mit dieser in Kommunikation treten kann und Anforderungen von ihr empfangen kann, zu denen eine Leseanforderung zum Lesen von Daten von den Festplattenlaufwerken im ersten oder zweiten Gehäuse und eine Schreibanforderung zum Schreiben von Daten in die Festplattenlaufwerke im ersten oder zweiten Gehäuse gehören, wobei der Platten-Steuerabschnitt mit den mehreren Festplattenlaufwerken im ersten und zweiten Gehäuse über den Kommunikationspfad so verbunden ist, dass er für Kommunikation mit den mehreren Festplattenlaufwerken im ersten und zweiten Gehäuse sorgen kann und eine Eingabe/Ausgabe von Daten und Paritätsdaten aus den/in die mehreren Festplattenlaufwerke im ersten und zweiten Gehäuse entsprechend der vom Kanal-Steuerabschnitt empfangenen Leseanforderung oder Schreibanforderung ausführen kann, wobei die Paritätsdaten Daten zum Erkennen von Fehlern über mehrere Datenstücke einschließlich der Daten von den/an die mehreren Festplattenlaufwerke im ersten und zweiten Gehäuse sind, wobei der Cachespeicher eine Zwischenspeicherung von in die mehreren Festplattenlaufwerke einzuschreibenden Daten ausführt und wobei die CPU die Steuerung über den Kanal-Steuerabschnitt und den Platten-Steuerabschnitt verwaltet; – wobei der Controller mehrere Datenstücke einschließlich in den mehreren Festplattenlaufwerken im zweiten Gehäuse gespeicherten Daten und Paritätsdaten für die mehreren Datenstücke von allen Festplattenlaufwerken der genannten RAID-Gruppe, zu der die die Daten speichernden Festplattenlaufwerke gehören, liest und untersucht, ob die mehreren Datenstücke, die diese Daten enthalten, mit fehlerhaftem Inhalt oder nicht in die Festplattenlaufwerke geschrieben wurden.
- Plattenarraysystem nach Anspruch 1, bei dem der Controller von der Informationsverarbeitungsvorrichtung die Leseanforderung zum Lesen von in einem der Festplattenlaufwerke im zweiten Gehäuse gespeicherten Daten empfängt und dann die Untersuchung an diesen Daten ausführt.
- Plattenarraysystem nach Anspruch 1, bei dem der Controller die Prüfung an den in den mehreren Festplattenlaufwerken im zweiten Gehäuse gespeicherten Daten unabhängig von der genannten Leseanforderung von der Informationsverarbeitungsvorrichtung ausführt.
- Plattenarraysystem nach Anspruch 1, bei dem: – der Controller in einer Aktualisierungskontrolltabelle eine Position speichert, an der in eines der Festplattenlaufwerke im zweiten Gehäuse entsprechend der genannten Schreibanforderung von der Informationsverarbeitungsvorrichtung eingeschriebene Daten in das Festplattenlaufwerk geschrieben wurden; – der Controller die Untersuchung an den an der genannten, in der Aktualisierungskontrolltabelle gespeicherten Position gespeicherten Daten ausführt und in der Aktualisierungskontrolltabelle Information speichert, die den Abschluss der genannten Untersuchung anzeigt, die an den an dieser Position gespeicherten Daten ausgeführt wurde; und – der Controller von der Informationsverarbeitungsvorrichtung die genannte Leseanforderung zum Lesen von in einem der Festplattenlaufwerke im zweiten Gehäuse gespeicherten Daten empfängt, dann auf die Aktualisierungskontrolltabelle Bezug nimmt und die genannte Untersuchung an den Daten ausführt, wenn diese Untersuchung noch nicht an diesen Daten ausgeführt wurde.
- Plattenarraysystem nach Anspruch 1, bei dem der Controller Daten entsprechend der genannten Schreibanforderung von der Informationsverarbeitungsvorrichtung in eines der Festplattenlaufwerke im zweiten Gehäuse schreibt, dann einen zu diesem Festplattenlaufwerk gehörenden Kopf von einer Position, an der die Daten gespeichert wurden, bewegt, danach die Daten von einer zu diesem Festplattenlaufwerk gehörenden Magnetplatte und vom Cachespeicher liest und die zwei ausgelesenen Datenstücke vergleicht.
- Plattenarraysystem nach Anspruch 1, bei dem der Controller Daten entsprechend der Schreibanforderung von der Informationsverarbeitungsvorrichtung in eines der Festplattenlaufwerke im zweiten Gehäuse schreibt, dann einen zu diesem Festplattenlaufwerk gehörenden Kopf von einer Position, an der die Daten gespeichert wurden, bewegt, danach einen Teil der Daten von einer zu diesem Festplattenlaufwerk gehörenden Magnetplatte und vom Cachespeicher liest und die zwei ausgelesenen Datenstücke vergleicht.
- Plattenarraysystem nach Anspruch 1, bei dem: – der Controller Daten in eines der Festplattenlaufwerke im zweiten Gehäuse entsprechend der Schreibanforderung von der Informationsverarbeitungsvorrichtung schreibt und dann einen zu diesem Festplattenlaufwerk gehörenden Kopf von einer Position, an der die Daten gespeichert wurden, bewegt; und – der Controller danach die Daten von einer zu diesem Festplattenlaufwerk gehörenden Magnetplatte und vom Cachespeicher liest und die zwei ausgelesenen Datenstücke vergleicht, wenn die Größe der Daten kleiner als ein vorbestimmter Wert ist, oder er einen Teil der Daten von der Magnetplatte und vom Cachespeicher liest und die zwei ausgelesenen Datenstücke vergleicht, wenn die Größe der genannten Daten nicht kleiner als ein vorbestimmter Wert ist.
- Plattenarraysystem nach Anspruch 1, bei dem dann, wenn die Anzahl von Schreibanforderungen von der Informationsverarbeitungsvorrichtung für eines der Festplattenlaufwerke im zweiten Gehäuse eine vorbestimmte Anzahl überschreitet, der Controller in einem zu diesem Festplattenlaufwerk gehörenden Plattencache abgespeicherte Daten in eine zu diesem Festplattenlaufwerk gehörende Magnetplatte schreibt, die genannten Daten von der Magnetplatte und vom zum Controller gehörenden Cachespeicher liest und die zwei ausgelesenen Datenstücke vergleicht.
- Plattenarraysystem nach Anspruch 1, bei dem der Controller in einem zu jedem der genannten Festplattenlaufwerke im zweiten Gehäuse gehörenden Plattencache gespeicherte Daten in eine zum genannten Festplattenlaufwerk gehörende Magnetplatte schreibt, die Daten von der genannten Magnetplatte und vom zum Controller gehörenden Cachespeicher liest und die zwei ausgelesenen Datenstücke vergleicht, was immer dann erfolgt, wenn eine vorbestimmte Zeit verstrichen ist.
- Plattenarraysystem nach Anspruch 1, bei dem dann, wenn in einem zu jedem der Festplattenlaufwerke im zweiten Gehäuse gehörenden Plattencache kein freier Raum existiert, der Controller im genannten, zum genannten Festplattenlaufwerk gehörenden Plattencache gespeicherte Daten in eine zum genannten Festplattenlaufwerk gehörende Magnetplatte schreibt, die Daten von der genannten Magnetplatte und vom zum genannten Controller gehörenden Cachespeicher liest und die zwei ausgelesenen Datenstücke vergleicht.
- Plattenarraysystem nach Anspruch 1, bei dem: – jedes der genannten Festplattenlaufwerke über mehrere Köpfe zum Lesen/Schreiben von Daten verfügt; – der Controller in einer Kopfprüf-Kontrolltabelle einen der genannten Köpfe speichert, der entsprechend der genannten Schreibanforderung von der Informationsverarbeitungsvorrichtung Daten in das genannte Festplattenlaufwerk geschrieben hat; und – der Controller die genannte Leseanforderung von der genannten Informationsverarbeitungsvorrichtung empfängt, dann auf die genannte Kopfprüf-Kontrolltabelle Bezug nimmt, dann Untersuchungsdaten in eine zum genannten Festplattenlaufwerk gehörende Magnetplatte unter Verwendung eines der Köpfe schreibt, die zum Lesen der genannten Daten zu verwenden sind, er die genannten Untersuchungsdaten von der Magnetplatte liest und die gelesenen Daten mit den Untersuchungsdaten vergleicht, wenn der genannte Kopf, der zum Lesen der genannten Daten verwendet wird, in der Kopfprüf-Kontrolltabelle gespeichert wurde.
- Plattenarraysystem nach Anspruch 1, bei dem: – der Controller von der Informationsverarbeitungsvorrichtung die Schreibanforderung zum Schreiben von Daten in eines der Festplattenlaufwerke im zweiten Gehäuse empfängt, er dann aus den Daten eine Dateneinheit aus mehreren Sektoren auf Grundlage der genannten zu schreibenden Daten sowie Paritätsdaten zum Erkennen von Datenfehlern in den mehreren Sektoren erzeugt und er die genannte Dateneinheit in das genannte Festplattenlaufwerk schreibt; und – der Controller von der Informationsverarbeitungsvorrichtung die Leseanforderung zum Lesen der Daten empfängt, er dann die genannte Dateneinheit liest und er untersucht, ob die genannten Daten mit fehlerhaftem Inhalt oder nicht im genannten Festplattenlaufwerk gespeichert sind.
- Plattenarraysystem nach Anspruch 12, bei dem der Controller die genannte Dateneinheit in mehrere Stücke unterteilt und er diese Stücke der Dateneinheit jeweils in mehrere Festplattenlaufwerke schreibt, die zu den genannten RAID-Gruppen im zweiten Gehäuse gehören.
- Plattenarraysystem nach Anspruch 1, bei dem: – der erste Schnittstellenstandard ein Faserkanalstandard ist, der zweite Schnittstellenstandard ein Seriell-ATA-Standard ist und der Kommunikationspfad ein FC-AL ist.
- Plattenarraysystem nach Anspruch 1, bei dem: – der erste Schnittstellenstandard ein Faserkanalstandard ist, der zweite Schnittstellenstandard ein Parallel-ATA-Standard ist und der Kommunikationspfad ein FC-AL ist.
- Verfahren zum Steuern eines Plattenarraysystems mit: – einem ersten Gehäuse zum Aufnehmen einer oder mehrerer RAID-Gruppen aus jeweils mehreren Festplattenlaufwerken zum Senden/Empfangen von Daten entsprechend einem ersten Schnittstellenstandard, wobei die Festplattenlaufwerken über einen Kommunikationspfad miteinander verbunden sind; – einem zweiten Gehäuse zum Aufnehmen einer oder mehrerer RAID-Gruppen aus jeweils mehreren Festplattenlaufwerken zum Senden/Empfangen von Daten entsprechend einem zweiten Schnittstellenstandard, wobei die Festplattenlaufwerken über den Kommunikationspfad mittels mehrerer Wandlungseinheiten zum Wandeln des ersten und des zweiten Schnittstellenstandards ineinander verbunden sind, wobei diese Festplattenlaufwerke über geringere Zuverlässigkeit als die im ersten Gehäuse untergebrachten Festplattenlaufwerke verfügen; und – einem Controller mit einem Kanal-Steuerabschnitt, einem Platten-Steuerabschnitt, einem Cachespeicher und einer CPU, wobei der Kanal-Steuerabschnitt so mit einer Informationsverarbeitungsvorrichtung verbunden ist, dass er mit dieser in Kommunikation treten kann und Anforderungen von ihr empfangen kann, zu denen eine Leseanforderung zum Lesen von Daten von den Festplattenlaufwerken im ersten oder zweiten Gehäuse und eine Schreibanforderung zum Schreiben von Daten in die Festplattenlaufwerke im ersten oder zweiten Gehäuse gehören, wobei der Platten-Steuerabschnitt mit den mehreren Festplattenlaufwerken im ersten und zweiten Gehäuse über den Kommunikationspfad so verbunden ist, dass er für Kommunikation mit den mehreren Festplattenlaufwerken im ersten und zweiten Gehäuse sorgen kann und eine Eingabe/Ausgabe von Daten und Paritätsdaten aus den/in die mehreren Festplattenlaufwerke im ersten und zweiten Gehäuse entsprechend der vom Kanal-Steuerabschnitt empfangenen Leseanforderung oder Schreibanforderung ausführen kann, wobei die Paritätsdaten Daten zum Erkennen von Fehlern über mehrere Datenstücke einschließlich der Daten von den/an die mehreren Festplattenlaufwerke im ersten und zweiten Gehäuse sind, wobei der Cachespeicher eine Zwischenspeicherung von in die mehreren Festplattenlaufwerke einzuschreibenden Daten ausführt und wobei die CPU die Steuerung über den Kanal-Steuerabschnitt und den Platten-Steuerabschnitt verwaltet; wobei dieses Verfahren die folgenden Schritte aufweist: – Lesen mehrerer Datenstücke, die in den mehreren Festplattenlaufwerken im zweiten Gehäuse gespeicherte Daten enthalten, und von Paritätsdaten für diese mehreren Datenstücke von allen genannten Festplattenlaufwerken der genannten RAID-Gruppe, zu der die die genannten Daten speichernden Festplattenlaufwerke gehören; und – Untersuchen, ob die genannten mehreren Datenstücke, die die Daten enthalten, mit fehlerhaftem Inhalt oder nicht in die Festplattenlaufwerke geschrieben wurden; – wobei die genannten Schritte durch den genannten Controller ausgeführt werden.
- Verfahren zum Steuern eines Plattenarraysystems nach Anspruch 16, ferner mit den folgenden Schritten: – Schreiben von Daten in eines der Festplattenlaufwerke im zweiten Gehäuse entsprechen der Schreibanforderung von der Informationsverarbeitungsvorrichtung und anschließendes Verstellen eines zum genannten Festplattenlaufwerk gehörenden Kopfs von einer Position, an der die Daten gespeichert wurden; – anschließendes Lesen der genannten Daten von einer zum genannten Festplattenlaufwerk gehörenden Magnetplatte und vom Cachespeicher; und – Vergleichen der zwei ausgelesenen Datenstücke; – wobei die genannten Schritte durch den genannten Controller ausgeführt werden.
- Verfahren zum Steuern eines Plattenarraysystems nach Anspruch 16, ferner mit den folgenden Schritten: – Empfangen der genannten Schreibanforderung von der Informationsverarbeitungsvorrichtung, um Daten in eines der Festplattenlaufwerke im zweiten Gehäuse zu schreiben, und anschließendes Erzeugen einer Dateneinheit aus Daten, die aus mehreren Sektoren bestehen, auf Grundlage der zu schreibenden Daten und Paritätsdaten zum Erkennen von Datenfehlern in den mehreren Sektoren; – Schreiben der genannten Dateneinheit in das genannte Festplattenlaufwerk; – Empfangen der Leseanforderung von der Informationsverarbeitungsvorrichtung zum Lesen der genannten Daten, und anschließendes Lesen der genannten Dateneinheit; und – Untersuchen, ob die Daten im genannten Festplattenlaufwerk mit fehlerhaftem Inhalt abgespeichert sind oder nicht; – wobei die genannten Schritte durch den genannten Controller ausgeführt werden.
- Verfahren zum Steuern eines Plattenarraysystems nach Anspruch 16, bei dem: – der erste Schnittstellenstandard ein Faserkanalstandard ist, der zweite Schnittstellenstandard ein Seriell-ATA-Standard ist und der Kommunikationspfad ein FC-AL ist.
- Verfahren zum Steuern eines Plattenarraysystems nach Anspruch 16, bei dem: – der erste Schnittstellenstandard ein Faserkanalstandard ist, der zweite Schnittstellenstandard ein Parallel-ATA-Standard ist und der Kommunikationspfad ein FC-AL ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE202004021442U DE202004021442U1 (de) | 2003-11-28 | 2004-03-17 | Plattensystem |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003/400517 | 2003-11-28 | ||
JP2003400517A JP4156499B2 (ja) | 2003-11-28 | 2003-11-28 | ディスクアレイ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102004013129A1 true DE102004013129A1 (de) | 2005-06-30 |
Family
ID=32212195
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102004064056A Expired - Fee Related DE102004064056B4 (de) | 2003-11-28 | 2004-03-17 | Plattenarraysystem |
DE102004013129A Ceased DE102004013129A1 (de) | 2003-11-28 | 2004-03-17 | Plattensystem und Verfahren zum Steuern eines Plattenarraysystems |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102004064056A Expired - Fee Related DE102004064056B4 (de) | 2003-11-28 | 2004-03-17 | Plattenarraysystem |
Country Status (5)
Country | Link |
---|---|
US (7) | US7057981B2 (de) |
JP (1) | JP4156499B2 (de) |
DE (2) | DE102004064056B4 (de) |
FR (2) | FR2863096B1 (de) |
GB (5) | GB2415082B (de) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7346135B1 (en) | 2002-02-13 | 2008-03-18 | Marvell International, Ltd. | Compensation for residual frequency offset, phase noise and sampling phase offset in wireless networks |
US7263153B2 (en) | 2002-10-09 | 2007-08-28 | Marvell International, Ltd. | Clock offset compensator |
US7319705B1 (en) | 2002-10-22 | 2008-01-15 | Marvell International Ltd. | Programmable pre-emphasis circuit for serial ATA |
US7246192B1 (en) | 2003-01-10 | 2007-07-17 | Marvell International Ltd. | Serial/parallel ATA controller and converter |
JP4651913B2 (ja) | 2003-02-17 | 2011-03-16 | 株式会社日立製作所 | 記憶装置システム |
JP4060235B2 (ja) | 2003-05-22 | 2008-03-12 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置の制御方法 |
JP2004348464A (ja) * | 2003-05-22 | 2004-12-09 | Hitachi Ltd | ストレージ装置、及び通信信号の整形回路 |
US8930583B1 (en) | 2003-09-18 | 2015-01-06 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for controlling data transfer in a serial-ATA system |
JP4863605B2 (ja) * | 2004-04-09 | 2012-01-25 | 株式会社日立製作所 | 記憶制御システム及び方法 |
JP4156499B2 (ja) * | 2003-11-28 | 2008-09-24 | 株式会社日立製作所 | ディスクアレイ装置 |
JP4480386B2 (ja) * | 2003-11-28 | 2010-06-16 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置のデータ中継方法 |
JP4497918B2 (ja) * | 2003-12-25 | 2010-07-07 | 株式会社日立製作所 | ストレージシステム |
JP4634049B2 (ja) | 2004-02-04 | 2011-02-16 | 株式会社日立製作所 | ディスクアレイ装置における異常通知制御 |
JP2005316861A (ja) | 2004-04-30 | 2005-11-10 | Hitachi Ltd | ディスクアレイ装置 |
US7958292B2 (en) * | 2004-06-23 | 2011-06-07 | Marvell World Trade Ltd. | Disk drive system on chip with integrated buffer memory and support for host memory access |
US7350102B2 (en) * | 2004-08-26 | 2008-03-25 | International Business Machine Corporation | Cost reduction schema for advanced raid algorithms |
US20060112303A1 (en) * | 2004-11-09 | 2006-05-25 | Arco Computer Products, Llc. | Local backup device with remote management capability and method for remote backup management |
US7949806B2 (en) * | 2004-11-18 | 2011-05-24 | International Business Machines Corporation | Apparatus and method to provide an operation to an information storage device including protocol conversion and assigning priority levels to the operation |
US7360112B2 (en) * | 2005-02-07 | 2008-04-15 | International Business Machines Corporation | Detection and recovery of dropped writes in storage devices |
JP4585325B2 (ja) * | 2005-02-08 | 2010-11-24 | 株式会社日立製作所 | ディスクアレイ装置 |
JP4606233B2 (ja) * | 2005-04-14 | 2011-01-05 | 株式会社日立製作所 | ストレージ装置、ストレージ装置のファン制御方法およびファン制御プログラム |
US7523319B2 (en) * | 2005-11-16 | 2009-04-21 | Lenovo (Singapore) Pte. Ltd. | System and method for tracking changed LBAs on disk drive |
JP2007206766A (ja) * | 2006-01-31 | 2007-08-16 | Fujitsu Ltd | データストレージシステム、データストレージ制御装置及びその障害箇所診断方法。 |
JP4775846B2 (ja) * | 2006-03-20 | 2011-09-21 | 株式会社日立製作所 | 物理リンクの割当てを制御するコンピュータシステム及び方法 |
US7761657B2 (en) * | 2006-07-10 | 2010-07-20 | Hitachi, Ltd. | Storage control system, control method for storage control system, port selector, and controller |
JP4919752B2 (ja) * | 2006-09-29 | 2012-04-18 | 株式会社日立製作所 | 記憶制御装置 |
KR100845527B1 (ko) * | 2006-12-06 | 2008-07-10 | 삼성전자주식회사 | 메모리 장치 및 메모리 컨트롤러의 클럭 싸이클 제어방법 |
US7958263B2 (en) * | 2007-02-20 | 2011-06-07 | International Business Machines Corporation | Address reduction for data storage enclosures |
US8140787B2 (en) | 2007-10-05 | 2012-03-20 | Imation Corp. | Methods for implementation of an active archive in an archiving system and managing the data in the active archive |
US8930651B2 (en) | 2007-10-05 | 2015-01-06 | Imation Corp. | Archiving system with partitions of individual archives |
US20090094423A1 (en) * | 2007-10-05 | 2009-04-09 | Prostor Systems, Inc. | Methods for implementation of an archiving system which uses removable disk storage system |
US7849263B1 (en) | 2007-12-24 | 2010-12-07 | Emc Corporation | Techniques for controlling storage capacity of a data storage system |
JP2010033287A (ja) * | 2008-07-28 | 2010-02-12 | Hitachi Ltd | ストレージサブシステム及びこれを用いたデータ検証方法 |
US8429514B1 (en) * | 2008-09-24 | 2013-04-23 | Network Appliance, Inc. | Dynamic load balancing of distributed parity in a RAID array |
JP4809413B2 (ja) | 2008-10-08 | 2011-11-09 | 株式会社日立製作所 | ストレージシステム |
JP5279634B2 (ja) * | 2009-06-30 | 2013-09-04 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及び制御プログラム |
US8164936B2 (en) * | 2009-10-14 | 2012-04-24 | Seagate Technology Llc | Switched memory devices |
US20110162570A1 (en) * | 2010-01-06 | 2011-07-07 | Robert Moser | Boat Hull Washing Apparatus |
US8255737B1 (en) * | 2010-04-29 | 2012-08-28 | Netapp, Inc. | System and method for a redundant communication fabric in a network storage system |
US8639872B1 (en) * | 2010-08-13 | 2014-01-28 | Western Digital Technologies, Inc. | Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk |
US9251097B1 (en) | 2011-03-22 | 2016-02-02 | Amazon Technologies, Inc. | Redundant key management |
US8743549B2 (en) | 2011-03-22 | 2014-06-03 | Amazon Technologies, Inc. | Modular mass storage system |
TWI453737B (zh) * | 2011-04-21 | 2014-09-21 | Promise Tecnnology Inc | 資料儲存系統之管理方法 |
CN102262882B (zh) * | 2011-06-20 | 2013-12-04 | 华为数字技术(成都)有限公司 | 硬盘阵列的读/写方法及装置、网络设备 |
US8908326B1 (en) | 2012-03-26 | 2014-12-09 | Amazon Technologies, Inc. | Hard disk drive mechanical modules with common controller |
US8929024B1 (en) * | 2012-03-26 | 2015-01-06 | Amazon Technologies, Inc. | Hard disk drive assembly with field-separable mechanical module and drive control |
US9904788B2 (en) | 2012-08-08 | 2018-02-27 | Amazon Technologies, Inc. | Redundant key management |
US9141156B2 (en) | 2013-08-02 | 2015-09-22 | Amazon Technologies, Inc. | Compute node cooling with air fed through backplane |
US10222842B2 (en) | 2013-08-02 | 2019-03-05 | Amazon Technologies, Inc. | System for compute node maintenance with continuous cooling |
US10398060B1 (en) | 2014-03-17 | 2019-08-27 | Amazon Technologies, Inc. | Discrete cooling module |
CN105718331A (zh) * | 2015-06-27 | 2016-06-29 | 巫立斌 | 一种存储系统 |
JP6224186B1 (ja) | 2016-08-01 | 2017-11-01 | 株式会社東芝 | Raidストレージシステム、ストレージコントローラ及びraidアレイパトロール方法 |
CN106775456B (zh) | 2016-11-22 | 2019-11-26 | 华为技术有限公司 | 一种数据处理方法、装置及系统 |
US10481828B2 (en) * | 2017-10-10 | 2019-11-19 | Seagate Technology, Llc | Slow drive detection |
CN109210733B (zh) * | 2018-08-30 | 2021-02-23 | 青岛海信日立空调系统有限公司 | 线控器以及空调器 |
Family Cites Families (196)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US149840A (en) * | 1874-04-21 | Improvement in wrenches | ||
US135577A (en) * | 1873-02-04 | Improvement in devices for pressing hats | ||
US182502A (en) * | 1876-09-19 | Improvement in water-closet valves | ||
US243386A (en) * | 1881-06-28 | Steam-boiler | ||
US163639A (en) * | 1875-05-25 | Improvement in sewing-machines | ||
US147945A (en) * | 1874-02-24 | Improvement in magazine fire-arms | ||
US204671A (en) * | 1878-06-11 | Improvement in cotton-seed drills | ||
US629753A (en) * | 1899-01-07 | 1899-07-25 | Charles Herbert Ocumpaugh | Door-holder. |
JPS53106110A (en) * | 1977-02-28 | 1978-09-14 | Nec Corp | Magnetic memory controller |
WO1985001382A1 (en) * | 1983-09-19 | 1985-03-28 | Storage Technology Partners Ii | Optically storing digital data |
DE3704898A1 (de) * | 1986-02-20 | 1987-08-27 | Sharp Kk | Diskettenaufzeichnungs-pruefverfahren |
JPH05150909A (ja) * | 1991-11-30 | 1993-06-18 | Nec Corp | データコンペアモード付き磁気デイスク装置 |
US5335119A (en) * | 1992-02-28 | 1994-08-02 | Ampex Corporation | Data recording system having unique nonrecording detection |
GB2264798A (en) * | 1992-03-04 | 1993-09-08 | Hitachi Ltd | High speed access control |
JP2868141B2 (ja) * | 1992-03-16 | 1999-03-10 | 株式会社日立製作所 | ディスクアレイ装置 |
JPH05303539A (ja) | 1992-04-24 | 1993-11-16 | Nec Corp | ディスク制御装置 |
US5423046A (en) * | 1992-12-17 | 1995-06-06 | International Business Machines Corporation | High capacity data storage system using disk array |
JP3258117B2 (ja) * | 1993-03-08 | 2002-02-18 | 株式会社日立製作所 | 記憶装置サブシステム |
JP3264465B2 (ja) | 1993-06-30 | 2002-03-11 | 株式会社日立製作所 | 記憶システム |
US6154850A (en) | 1993-11-01 | 2000-11-28 | Beaufort River, Inc. | Data storage system and method |
US5546558A (en) * | 1994-06-07 | 1996-08-13 | Hewlett-Packard Company | Memory system with hierarchic disk array and memory map store for persistent storage of virtual mapping information |
JP2831602B2 (ja) * | 1995-01-13 | 1998-12-02 | 富士通株式会社 | 圧縮データ管理装置及び圧縮データ管理方法 |
JPH08263225A (ja) | 1995-03-22 | 1996-10-11 | Mitsubishi Electric Corp | データストレージシステム及びストレージ管理方法 |
US5845319A (en) | 1995-08-23 | 1998-12-01 | Fujitsu Limited | Disk array device which separates local and physical disks using striping and operation mode selection |
US5680640A (en) * | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
US5822782A (en) | 1995-10-27 | 1998-10-13 | Symbios, Inc. | Methods and structure to maintain raid configuration information on disks of the array |
US6484269B1 (en) | 1995-11-09 | 2002-11-19 | Emc Corporation | Data storage system and method with improved data integrity value calculation |
KR100260380B1 (ko) | 1996-01-26 | 2000-07-01 | 윤종용 | 마이크로 프로세서칩의 냉각팬 제어장치 및 그 제어방법 |
US5832244A (en) | 1996-02-20 | 1998-11-03 | Iomega Corporation | Multiple interface input/output port for a peripheral device |
US5717850A (en) | 1996-03-12 | 1998-02-10 | International Business Machines Corporation | Efficient system for predicting and processing storage subsystem failure |
US5867736A (en) * | 1996-03-29 | 1999-02-02 | Lsi Logic Corporation | Methods for simplified integration of host based storage array control functions using read and write operations on a storage array control port |
US5884098A (en) * | 1996-04-18 | 1999-03-16 | Emc Corporation | RAID controller system utilizing front end and back end caching systems including communication path connecting two caching systems and synchronizing allocation of blocks in caching systems |
US5805788A (en) * | 1996-05-20 | 1998-09-08 | Cray Research, Inc. | Raid-5 parity generation and data reconstruction |
JP3245364B2 (ja) * | 1996-09-02 | 2002-01-15 | 株式会社日立製作所 | 互いに異なるインタフェースを介して記憶装置を共用する方法及びシステム |
US5812754A (en) * | 1996-09-18 | 1998-09-22 | Silicon Graphics, Inc. | Raid system with fibre channel arbitrated loop |
EP0834878A2 (de) * | 1996-10-04 | 1998-04-08 | Sony Corporation | Verfahren und Vorrichtung zur Steuerung des Zugriffs auf einen Plattenspeicherungsvorrichtung |
JP3133004B2 (ja) | 1996-11-21 | 2001-02-05 | 株式会社日立製作所 | ディスクアレイ装置およびその制御方法 |
JPH10326107A (ja) | 1997-03-25 | 1998-12-08 | Mitsubishi Electric Corp | サーボ制御方法およびサーボ制御システム |
US6504817B2 (en) * | 1997-03-31 | 2003-01-07 | Hewlett-Packard Company | Fiber channel arbitrated loop dynamic loop sizing |
US5951691A (en) * | 1997-05-16 | 1999-09-14 | International Business Machines Corporation | Method and system for detection and reconstruction of corrupted data in a data storage subsystem |
JPH1153235A (ja) * | 1997-08-08 | 1999-02-26 | Toshiba Corp | ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム |
JP3618529B2 (ja) * | 1997-11-04 | 2005-02-09 | 富士通株式会社 | ディスクアレイ装置 |
US6338110B1 (en) | 1997-11-14 | 2002-01-08 | Sun Microsystems, Inc. | Partitioning of storage channels using programmable switches |
US6173360B1 (en) * | 1998-01-09 | 2001-01-09 | International Business Machines Corporation | Apparatus and method for allowing existing ECKD MVS DASD using an ESCON interface to be used by an open storage using SCSI-type interface |
US6061750A (en) * | 1998-02-20 | 2000-05-09 | International Business Machines Corporation | Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure |
US6170063B1 (en) * | 1998-03-07 | 2001-01-02 | Hewlett-Packard Company | Method for performing atomic, concurrent read and write operations on multiple storage devices |
JPH11272427A (ja) | 1998-03-24 | 1999-10-08 | Hitachi Ltd | データ退避方法および外部記憶装置 |
US6415355B1 (en) * | 1998-05-11 | 2002-07-02 | Kabushiki Kaisha Toshiba | Combined disk array controller and cache control method for parity generation mode and data restoration mode |
US6449709B1 (en) * | 1998-06-02 | 2002-09-10 | Adaptec, Inc. | Fast stack save and restore system and method |
US6137679A (en) | 1998-06-04 | 2000-10-24 | Chang; Cheng-Chun | Multi-bus mobile hard disk drive rack |
JP3946873B2 (ja) | 1998-06-19 | 2007-07-18 | 株式会社日立製作所 | ディスクアレイ制御装置 |
US6865642B2 (en) * | 1998-06-24 | 2005-03-08 | International Business Machines Corporation | Method and apparatus for disk caching for an intermediary controller |
US6282602B1 (en) | 1998-06-30 | 2001-08-28 | Emc Corporation | Method and apparatus for manipulating logical objects in a data storage system |
JP4392877B2 (ja) * | 1998-09-18 | 2010-01-06 | 株式会社日立製作所 | ディスクアレイ制御装置 |
JP2000148604A (ja) | 1998-11-12 | 2000-05-30 | Hitachi Ltd | 記憶装置の制御方法 |
US6477139B1 (en) | 1998-11-15 | 2002-11-05 | Hewlett-Packard Company | Peer controller management in a dual controller fibre channel storage enclosure |
JP2000187561A (ja) * | 1998-12-24 | 2000-07-04 | Hitachi Ltd | 記憶装置システム |
JP4400895B2 (ja) * | 1999-01-07 | 2010-01-20 | 株式会社日立製作所 | ディスクアレイ制御装置 |
US6351375B1 (en) * | 1999-01-26 | 2002-02-26 | Dell Usa, L.P. | Dual-purpose backplane design for multiple types of hard disks |
JP4294142B2 (ja) * | 1999-02-02 | 2009-07-08 | 株式会社日立製作所 | ディスクサブシステム |
US6400730B1 (en) * | 1999-03-10 | 2002-06-04 | Nishan Systems, Inc. | Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network |
US6640278B1 (en) | 1999-03-25 | 2003-10-28 | Dell Products L.P. | Method for configuration and management of storage resources in a storage network |
US6553408B1 (en) * | 1999-03-25 | 2003-04-22 | Dell Products L.P. | Virtual device architecture having memory for storing lists of driver modules |
US6201692B1 (en) * | 1999-03-31 | 2001-03-13 | International Business Machines Corporation | Disk drive enclosure optimized for mixed slim and half high drive size |
US6219753B1 (en) | 1999-06-04 | 2001-04-17 | International Business Machines Corporation | Fiber channel topological structure and method including structure and method for raid devices and controllers |
US6636934B1 (en) | 1999-06-30 | 2003-10-21 | Emc Corporation | Fiber channel port by-pass selector section for dual ported disk drives |
JP2001035096A (ja) * | 1999-07-19 | 2001-02-09 | Hitachi Ltd | 書き込みデータのチェック方法及びこれを用いたデータ記憶装置 |
JP3952640B2 (ja) * | 1999-09-07 | 2007-08-01 | 株式会社日立製作所 | データバックアップ方法、メインフレーム系ストレージシステムおよびメインフレームホストコンピュータ |
US6772108B1 (en) | 1999-09-22 | 2004-08-03 | Netcell Corp. | Raid controller system and method with ATA emulation host interface |
EP1149380A1 (de) * | 1999-10-07 | 2001-10-31 | Iomega Corporation | Verfahren zur erkennung von vorübergehenden schreibfehlern in einem plattenlaufwerk und zur unterscheidung zwischen vorübergehenden schreibfehlern von permanenten medienschaden |
US6502108B1 (en) | 1999-10-25 | 2002-12-31 | International Business Machines Corporation | Cache-failure-tolerant data storage system storing data objects with version code equipped metadata tokens |
JP2001142650A (ja) | 1999-11-18 | 2001-05-25 | Nec Corp | アレイディスク制御方法及び装置 |
JP2001167040A (ja) | 1999-12-14 | 2001-06-22 | Hitachi Ltd | 記憶サブシステム及び記憶制御装置 |
US6510491B1 (en) * | 1999-12-16 | 2003-01-21 | Adaptec, Inc. | System and method for accomplishing data storage migration between raid levels |
GB2357602A (en) * | 1999-12-22 | 2001-06-27 | Nokia Mobile Phones Ltd | Memory controller for a memory array comprising different memory types |
JP2001216206A (ja) | 2000-02-01 | 2001-08-10 | Nec Corp | ループ状インターフェースの障害解析方法及び障害解析機能を有するシステム |
US6834326B1 (en) | 2000-02-04 | 2004-12-21 | 3Com Corporation | RAID method and device with network protocol between controller and storage devices |
JP2001222385A (ja) | 2000-02-10 | 2001-08-17 | Hitachi Ltd | 記憶装置および情報処理システム |
JP2001337868A (ja) | 2000-05-24 | 2001-12-07 | Hitachi Ltd | Fc−al用ディスク装置 |
JP2001338486A (ja) | 2000-05-25 | 2001-12-07 | Hitachi Ltd | 情報記憶装置 |
JP2002007077A (ja) * | 2000-06-21 | 2002-01-11 | Nec Corp | ディスクアレイ装置のループ診断システム及びその方法 |
JP2002014777A (ja) * | 2000-06-29 | 2002-01-18 | Hitachi Ltd | データ移行方法並びにプロトコル変換装置及びそれを用いたスイッチング装置 |
JP2002023966A (ja) | 2000-06-30 | 2002-01-25 | Toshiba Corp | 転送データを冗長化したディスクシステム |
US6658592B1 (en) | 2000-07-20 | 2003-12-02 | Emc Corporation | Error detection in disk storage systems |
US6728922B1 (en) * | 2000-08-18 | 2004-04-27 | Network Appliance, Inc. | Dynamic data space |
US6496900B1 (en) * | 2000-09-12 | 2002-12-17 | 3Ware, Inc. | Disk array system, controller, and method for verifying command data written to disk drives |
EP1191442A2 (de) * | 2000-09-19 | 2002-03-27 | Matsushita Electric Industrial Co., Ltd. | Datenspeicherungsmatrize und Betriebsverfahren um Fehlerdaten ohne Datenzugriffsverzögerung zu speichern |
US7032119B2 (en) * | 2000-09-27 | 2006-04-18 | Amphus, Inc. | Dynamic power and workload management for multi-server system |
US6862648B2 (en) * | 2000-10-30 | 2005-03-01 | Sun Microsystems, Inc. | Interface emulation for storage devices |
JP2002150746A (ja) | 2000-11-14 | 2002-05-24 | Hitachi Ltd | 磁気ディスク装置 |
US20020069317A1 (en) * | 2000-12-01 | 2002-06-06 | Chow Yan Chiew | E-RAID system and method of operating the same |
US6349056B1 (en) * | 2000-12-28 | 2002-02-19 | Sandisk Corporation | Method and structure for efficient data verification operation for non-volatile memories |
KR100388498B1 (ko) | 2000-12-30 | 2003-06-25 | 한국전자통신연구원 | 복수 개의 레이드를 구비한 계층적 레이드 시스템 |
DE60206478T3 (de) * | 2001-01-03 | 2018-11-29 | Nice Systems Ltd. | Auf inhalt basierende speicherungsverwaltung |
US6549978B2 (en) * | 2001-01-17 | 2003-04-15 | International Business Machines Corporation | Method for storage controllers with different data formats to access common storage configuration information |
US6684282B1 (en) * | 2001-01-26 | 2004-01-27 | Dell Products L.P. | System and method for adding an internal RAID controller |
US7007141B2 (en) | 2001-01-30 | 2006-02-28 | Data Domain, Inc. | Archival data storage system and method |
US6763409B1 (en) * | 2001-01-31 | 2004-07-13 | Hewlett-Packard Development Company, L.P. | Switch-on-the-fly GBIC disk channel adapter and disk channel system |
EP1370945B1 (de) | 2001-02-13 | 2010-09-08 | Candera, Inc. | Failover-verarbeitung in einem speicherungssystem |
US6606690B2 (en) * | 2001-02-20 | 2003-08-12 | Hewlett-Packard Development Company, L.P. | System and method for accessing a storage area network as network attached storage |
US6986075B2 (en) | 2001-02-23 | 2006-01-10 | Hewlett-Packard Development Company, L.P. | Storage-device activation control for a high-availability storage system |
JP2002259062A (ja) * | 2001-02-28 | 2002-09-13 | Hitachi Ltd | 記憶装置システム及び記憶装置システムにおけるデータの複写方法 |
US6766412B2 (en) | 2001-03-31 | 2004-07-20 | Quantum Corporation | Data storage media library with scalable throughput rate for data routing and protocol conversion |
US20020147945A1 (en) | 2001-04-06 | 2002-10-10 | Seagate Technology Llc | Automated analysis of interface timing measurements |
US6934904B2 (en) * | 2001-04-30 | 2005-08-23 | Sun Microsystems, Inc. | Data integrity error handling in a redundant storage array |
US6955921B2 (en) * | 2001-04-30 | 2005-10-18 | Bayer Corporation | Trypsin substrate and diagnostic device, and method of using same |
US6886108B2 (en) | 2001-04-30 | 2005-04-26 | Sun Microsystems, Inc. | Threshold adjustment following forced failure of storage device |
US6628513B1 (en) * | 2001-06-07 | 2003-09-30 | Emc Corporation | Mass storage device mounting system |
US20020188592A1 (en) * | 2001-06-11 | 2002-12-12 | Storage Technology Corporation | Outboard data storage management system and method |
US6850410B2 (en) | 2001-06-29 | 2005-02-01 | Emc Corporation | Advanced technology attachment disk drive module with fibre channel system characteristics |
US6874100B2 (en) * | 2001-07-12 | 2005-03-29 | Digi-Data Corporation | Raid system with multiple controllers and proof against any single point of failure |
JP2003036146A (ja) | 2001-07-23 | 2003-02-07 | Hitachi Ltd | ディスクアレイ制御方式 |
US20030033463A1 (en) * | 2001-08-10 | 2003-02-13 | Garnett Paul J. | Computer system storage |
TW579503B (en) * | 2001-08-24 | 2004-03-11 | Icp Electronics Inc | Disk array control apparatus |
JP2003084919A (ja) * | 2001-09-06 | 2003-03-20 | Hitachi Ltd | ディスクアレイ装置の制御方法およびディスクアレイ装置 |
US20030061491A1 (en) * | 2001-09-21 | 2003-03-27 | Sun Microsystems, Inc. | System and method for the allocation of network storage |
JP2003108508A (ja) | 2001-09-27 | 2003-04-11 | Matsushita Electric Ind Co Ltd | コンピュータ周辺機器システム |
JP2003108510A (ja) | 2001-09-28 | 2003-04-11 | I-O Data Device Inc | インタフェース変換機構及び外付用ストレージ機器 |
US6904482B2 (en) * | 2001-11-20 | 2005-06-07 | Intel Corporation | Common boot environment for a modular server system |
US7055056B2 (en) * | 2001-11-21 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | System and method for ensuring the availability of a storage system |
JP2003162439A (ja) | 2001-11-22 | 2003-06-06 | Hitachi Ltd | ストレージシステム及びその制御方法 |
JP3714613B2 (ja) * | 2001-12-12 | 2005-11-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記憶装置、該記憶装置を含む情報処理装置および情報記憶システムのリカバリ方法 |
US20030115204A1 (en) * | 2001-12-14 | 2003-06-19 | Arkivio, Inc. | Structure of policy information for storage, network and data management applications |
JP3590381B2 (ja) * | 2001-12-18 | 2004-11-17 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるデータ更新方法 |
US20030135577A1 (en) * | 2001-12-19 | 2003-07-17 | Weber Bret S. | Dual porting serial ATA disk drives for fault tolerant applications |
US6931576B2 (en) * | 2002-01-07 | 2005-08-16 | Sun Microsystems, Inc. | Data integrity device providing heightened error protection in a data processing system |
US20030135609A1 (en) * | 2002-01-16 | 2003-07-17 | Sun Microsystems, Inc. | Method, system, and program for determining a modification of a system resource configuration |
US6763436B2 (en) * | 2002-01-29 | 2004-07-13 | Lucent Technologies Inc. | Redundant data storage and data recovery system |
JP3702231B2 (ja) * | 2002-01-31 | 2005-10-05 | 株式会社東芝 | ディスクアレイ装置及び同装置における動的記憶容量拡張方法 |
US6892275B2 (en) | 2002-02-05 | 2005-05-10 | Quantum Corporation | Storage system utilizing an active subset of drives during data storage and retrieval operations |
US20030163639A1 (en) | 2002-02-25 | 2003-08-28 | Seagate Technology Llc | Sequential command processing mode in a disc drive using command queuing |
US6871244B1 (en) | 2002-02-28 | 2005-03-22 | Microsoft Corp. | System and method to facilitate native use of small form factor devices |
US6831839B2 (en) | 2002-02-28 | 2004-12-14 | Netezza Corporation | Adjustable sled module for mass storage devices |
US7426554B2 (en) * | 2002-03-06 | 2008-09-16 | Sun Microsystems, Inc. | System and method for determining availability of an arbitrary network configuration |
US7000077B2 (en) * | 2002-03-14 | 2006-02-14 | Intel Corporation | Device/host coordinated prefetching storage system |
US6880051B2 (en) | 2002-03-14 | 2005-04-12 | International Business Machines Corporation | Method, system, and program for maintaining backup copies of files in a backup storage device |
US7200715B2 (en) | 2002-03-21 | 2007-04-03 | Network Appliance, Inc. | Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes |
US6886051B2 (en) | 2002-03-28 | 2005-04-26 | Seagate Technology Llc | Device discovery method and apparatus |
US6996642B2 (en) | 2002-04-02 | 2006-02-07 | International Business Machines Corporation | Adapter, converted data storage device and method of operation of a converted data storage device |
US6859896B2 (en) * | 2002-04-02 | 2005-02-22 | International Business Machines Corporation | Adapter and method for handling errors in a data storage device converted to be accessible to multiple hosts |
DE10214700B4 (de) | 2002-04-03 | 2006-02-23 | Advanced Micro Devices, Inc., Sunnyvale | Kombinierter ATA/SATA-Controller als integrierter Schaltkreischip und dazugehöriges Verfahren zum Betreiben |
JP2003303055A (ja) | 2002-04-09 | 2003-10-24 | Hitachi Ltd | ディスクアダプタとディスクアレイをスイッチを介して接続したディスク装置 |
JP2003316713A (ja) | 2002-04-26 | 2003-11-07 | Hitachi Ltd | 記憶装置システム |
JP4704659B2 (ja) * | 2002-04-26 | 2011-06-15 | 株式会社日立製作所 | 記憶装置システムの制御方法および記憶制御装置 |
US6792486B1 (en) | 2002-04-30 | 2004-09-14 | Western Digital Ventures, Inc. | System and method for managing information storage among plural disk drives |
US20030212859A1 (en) | 2002-05-08 | 2003-11-13 | Ellis Robert W. | Arrayed data storage architecture with simultaneous command of multiple storage media |
JP4454204B2 (ja) | 2002-05-16 | 2010-04-21 | 日本電気株式会社 | ディスクアレイ制御装置及び方法並びにディスクアレイ制御プログラム |
US7073022B2 (en) | 2002-05-23 | 2006-07-04 | International Business Machines Corporation | Serial interface for a data storage array |
US7080190B2 (en) | 2002-05-30 | 2006-07-18 | Lsi Logic Corporation | Apparatus and method for providing transparent sharing of channel resources by multiple host machines |
JP4166516B2 (ja) | 2002-06-14 | 2008-10-15 | 株式会社日立製作所 | ディスクアレイ装置 |
US6925531B2 (en) * | 2002-07-11 | 2005-08-02 | Storage Technology Corporation | Multi-element storage array |
US6862173B1 (en) | 2002-07-11 | 2005-03-01 | Storage Technology Corporation | Modular multiple disk drive apparatus |
US6769765B2 (en) * | 2002-07-22 | 2004-08-03 | Xerox Corporation | Filter with integral heating element |
US6925519B2 (en) | 2002-07-25 | 2005-08-02 | Lsi Logic Corporation | Automatic translation from SCSI command protocol to ATA command protocol |
US6934769B2 (en) | 2002-07-29 | 2005-08-23 | Lsi Logic Corporation | Methods and structure for SCSI/IDE translation in a storage subsystem |
US7487283B2 (en) * | 2002-08-16 | 2009-02-03 | American Megatrends, Inc. | Apparatus for bridging two or more data communications interfaces |
CN1190735C (zh) * | 2002-09-26 | 2005-02-23 | 深圳市朗科科技有限公司 | 数据交换及存储方法与装置 |
US6807605B2 (en) * | 2002-10-03 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | Managing a data storage array, a data storage system, and a raid controller |
US6952794B2 (en) * | 2002-10-10 | 2005-10-04 | Ching-Hung Lu | Method, system and apparatus for scanning newly added disk drives and automatically updating RAID configuration and rebuilding RAID data |
JP4318902B2 (ja) * | 2002-10-15 | 2009-08-26 | 株式会社日立製作所 | 記憶装置システムの制御方法、記憶装置システム、およびプログラム |
US6886059B2 (en) | 2002-10-31 | 2005-04-26 | Lsi Logic Corporation | Methods and structure for SCSI/IDE translation for non-SCSI enclosures in a storage subsystem |
US6925526B2 (en) * | 2002-10-31 | 2005-08-02 | International Business Machines Corporation | Method and apparatus for servicing mixed block size data access operations in a disk drive data storage device |
US20040088482A1 (en) * | 2002-11-04 | 2004-05-06 | Tanzer Herbert J. | Systems for storing data |
US20040177218A1 (en) * | 2002-11-06 | 2004-09-09 | Meehan Thomas F. | Multiple level raid architecture |
JP4334966B2 (ja) | 2002-11-13 | 2009-09-30 | 株式会社日立製作所 | ディスクモジュール、及びディスクアレイ装置 |
US7543085B2 (en) | 2002-11-20 | 2009-06-02 | Intel Corporation | Integrated circuit having multiple modes of operation |
JP2004192105A (ja) * | 2002-12-09 | 2004-07-08 | Hitachi Ltd | 記憶装置の接続装置およびそれを含むコンピュータシステム |
JP4352693B2 (ja) * | 2002-12-10 | 2009-10-28 | 株式会社日立製作所 | ディスクアレイ制御装置及びその制御方法 |
US20040117522A1 (en) * | 2002-12-11 | 2004-06-17 | Dell Products L.P. | System and method for addressing protocol translation in a storage environment |
US7054972B2 (en) * | 2002-12-13 | 2006-05-30 | Lsi Logic Corporation | Apparatus and method for dynamically enabling and disabling interrupt coalescing in data processing system |
US7028147B2 (en) * | 2002-12-13 | 2006-04-11 | Sun Microsystems, Inc. | System and method for efficiently and reliably performing write cache mirroring |
US6829658B2 (en) * | 2002-12-16 | 2004-12-07 | Emc Corporation | Compatible signal-to-pin connector assignments for usage with fibre channel and advanced technology attachment disk drives |
WO2004059485A1 (en) | 2002-12-18 | 2004-07-15 | Emc Corporation | Automated media management |
US20040128627A1 (en) * | 2002-12-27 | 2004-07-01 | Zayas Fernando A. | Methods implementing multiple interfaces for a storage device using a single ASIC |
US20040138705A1 (en) * | 2003-01-09 | 2004-07-15 | Harri Heino | Surgical staple for tissue treatment |
US7167929B2 (en) * | 2003-01-13 | 2007-01-23 | Sierra Logic | Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays, and a storage-shelf-interface tunneling method and system |
US7634614B2 (en) * | 2003-01-13 | 2009-12-15 | Sierra Logic | Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves and that support virtual disk formatting |
US7353321B2 (en) * | 2003-01-13 | 2008-04-01 | Sierra Logic | Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays |
US7664909B2 (en) * | 2003-04-18 | 2010-02-16 | Nextio, Inc. | Method and apparatus for a shared I/O serial ATA controller |
JP4274523B2 (ja) * | 2003-01-24 | 2009-06-10 | 株式会社日立製作所 | 記憶装置システム、及び記憶装置システムの起動方法 |
US20040153614A1 (en) * | 2003-02-05 | 2004-08-05 | Haim Bitner | Tape storage emulation for open systems environments |
JP4651913B2 (ja) * | 2003-02-17 | 2011-03-16 | 株式会社日立製作所 | 記憶装置システム |
US6882525B2 (en) * | 2003-02-27 | 2005-04-19 | Storcase Technology, Inc. | Universal receptacles for interchangeably receiving different removable computer drive carriers |
JP4322031B2 (ja) * | 2003-03-27 | 2009-08-26 | 株式会社日立製作所 | 記憶装置 |
US7516272B2 (en) * | 2003-03-28 | 2009-04-07 | Emc Corporation | Midplane-independent implementations of data storage system enclosures |
US7237021B2 (en) | 2003-04-04 | 2007-06-26 | Bluearc Uk Limited | Network-attached storage system, device, and method supporting multiple storage device types |
JP4060235B2 (ja) * | 2003-05-22 | 2008-03-12 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置の制御方法 |
US20040243699A1 (en) | 2003-05-29 | 2004-12-02 | Mike Koclanes | Policy based management of storage resources |
JP2005018185A (ja) | 2003-06-24 | 2005-01-20 | Hitachi Ltd | 記憶装置システム |
US7213102B2 (en) | 2003-06-26 | 2007-05-01 | International Business Machines Corporation | Apparatus method and system for alternate control of a RAID array |
US7308397B2 (en) | 2003-06-30 | 2007-12-11 | Lsi Corporation | Method for controlling and emulating functional and logical behaviors of an array of storage devices for different protocols |
US7146461B1 (en) * | 2003-07-01 | 2006-12-05 | Veritas Operating Corporation | Automated recovery from data corruption of data volumes in parity RAID storage systems |
US20050050261A1 (en) * | 2003-08-27 | 2005-03-03 | Thomas Roehr | High density flash memory with high speed cache data interface |
US20050097132A1 (en) * | 2003-10-29 | 2005-05-05 | Hewlett-Packard Development Company, L.P. | Hierarchical storage system |
JP4156499B2 (ja) * | 2003-11-28 | 2008-09-24 | 株式会社日立製作所 | ディスクアレイ装置 |
US20050138154A1 (en) * | 2003-12-18 | 2005-06-23 | Intel Corporation | Enclosure management device |
-
2003
- 2003-11-28 JP JP2003400517A patent/JP4156499B2/ja not_active Expired - Lifetime
-
2004
- 2004-01-29 US US10/766,015 patent/US7057981B2/en not_active Expired - Fee Related
- 2004-03-17 DE DE102004064056A patent/DE102004064056B4/de not_active Expired - Fee Related
- 2004-03-17 DE DE102004013129A patent/DE102004013129A1/de not_active Ceased
- 2004-03-24 GB GB0511860A patent/GB2415082B/en not_active Expired - Fee Related
- 2004-03-24 GB GB0511865A patent/GB2415084B/en not_active Expired - Fee Related
- 2004-03-24 GB GB0406621A patent/GB2408624B/en not_active Expired - Fee Related
- 2004-03-24 GB GB0511856A patent/GB2415081B/en not_active Expired - Fee Related
- 2004-03-24 GB GB0511862A patent/GB2415083B/en not_active Expired - Fee Related
- 2004-04-16 FR FR0404018A patent/FR2863096B1/fr not_active Expired - Fee Related
- 2004-12-30 US US11/024,644 patent/US7203135B2/en not_active Expired - Fee Related
- 2004-12-30 US US11/025,075 patent/US7865665B2/en not_active Expired - Fee Related
- 2004-12-30 US US11/024,627 patent/US7200074B2/en not_active Expired - Fee Related
- 2004-12-30 US US11/024,626 patent/US7453774B2/en not_active Expired - Fee Related
-
2007
- 2007-01-08 FR FR0752557A patent/FR2898198A1/fr not_active Withdrawn
- 2007-03-20 US US11/723,443 patent/US7447121B2/en not_active Expired - Fee Related
-
2010
- 2010-12-09 US US12/964,337 patent/US8468300B2/en not_active Expired - Lifetime
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102004064056B4 (de) | Plattenarraysystem | |
US8365013B2 (en) | Anomaly notification control in disk array | |
JP3078972B2 (ja) | ディスクアレイ装置 | |
DE602004007878T2 (de) | Speicherplattenanordnung mit einer Mehrzahl von austauschbaren Magnetplatteneinheiten | |
DE69632219T2 (de) | Speicherplattenanordnungssystem | |
DE202004021459U1 (de) | Diskarrayvorrichtung | |
DE4422786A1 (de) | Speichersystem | |
DE20321583U1 (de) | Speichersteuervorrichtung | |
DE69635713T2 (de) | Diskarray-Teilsystem | |
DE102014112943B4 (de) | Modulares Computersystem und Servermodul | |
DE10317925A1 (de) | Steuerungskommunikation über eine ständig eingeschaltete Steuerungsverbindung | |
EP2645250A2 (de) | Speichersystem, Speichervorrichtung und Datenwiederherstellungsverfahren | |
DE112020003062T5 (de) | Dynamische anpassung einer logischen speicherkapazität für speicherlaufwerke | |
JP2002297322A (ja) | 冗長性を有するディスク記憶装置 | |
DE202004021442U1 (de) | Plattensystem | |
DE69635879T2 (de) | E/A-Bus in einem Mehrfachlaufwerkbibliothekrechnersystem | |
DE69636805T2 (de) | Massenspeicherplattenanordnung zur Verwendung in Rechnersystemen | |
DE602004006747T2 (de) | Speichersystem mit Speichern, deren Schnittstellen und Zuverlässigkeit variieren | |
DE10327955A1 (de) | Massenspeichereinrichtung und Verfahren zum Betrieb einer Massenspeichereinrichtung | |
DE112020003059T5 (de) | Dynamische anpassung von schreibvorgängen pro tag für speicherlaufwerke | |
DE19536232C1 (de) | Festplatten-Speichersystem mit gekoppelten Platten | |
DE112019005459T5 (de) | Verwendung des wiederherstellungsverhaltens zum prognostizieren und in-situ-reparieren von datenspeichervorrichtungen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8172 | Supplementary division/partition in: |
Ref document number: 102004064056 Country of ref document: DE Kind code of ref document: P |
|
Q171 | Divided out to: |
Ref document number: 102004064056 Country of ref document: DE Kind code of ref document: P |
|
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |
Effective date: 20131112 |