DE102005012448A1 - System und Verfahren zur Wiederherstellung eines Laufwerks nach einem Ausfall eines Laufwerks - Google Patents

System und Verfahren zur Wiederherstellung eines Laufwerks nach einem Ausfall eines Laufwerks Download PDF

Info

Publication number
DE102005012448A1
DE102005012448A1 DE102005012448A DE102005012448A DE102005012448A1 DE 102005012448 A1 DE102005012448 A1 DE 102005012448A1 DE 102005012448 A DE102005012448 A DE 102005012448A DE 102005012448 A DE102005012448 A DE 102005012448A DE 102005012448 A1 DE102005012448 A1 DE 102005012448A1
Authority
DE
Germany
Prior art keywords
drive
commands
memory
write buffer
data
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.)
Granted
Application number
DE102005012448A
Other languages
English (en)
Other versions
DE102005012448B4 (de
Inventor
Kevin T. Round Rock Marks
Ahmad A. J. Austin Ali
Robert Austin Clausen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dell Products LP
Original Assignee
Dell Products LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dell Products LP filed Critical Dell Products LP
Publication of DE102005012448A1 publication Critical patent/DE102005012448A1/de
Application granted granted Critical
Publication of DE102005012448B4 publication Critical patent/DE102005012448B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D83/00Containers or packages with special means for dispensing contents
    • B65D83/08Containers or packages with special means for dispensing contents for dispensing thin flat articles in succession
    • B65D83/0805Containers or packages with special means for dispensing contents for dispensing thin flat articles in succession through an aperture in a wall
    • B65D83/0811Containers or packages with special means for dispensing contents for dispensing thin flat articles in succession through an aperture in a wall with means for assisting dispensing
    • B65D83/0841Containers or packages with special means for dispensing contents for dispensing thin flat articles in succession through an aperture in a wall with means for assisting dispensing and for cutting interconnected articles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H35/00Delivering articles from cutting or line-perforating machines; Article or web delivery apparatus incorporating cutting or line-perforating devices, e.g. adhesive tape dispensers
    • B65H35/0006Article or web delivery apparatus incorporating cutting or line-perforating devices
    • B65H35/002Hand-held or table apparatus
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H35/00Delivering articles from cutting or line-perforating machines; Article or web delivery apparatus incorporating cutting or line-perforating devices, e.g. adhesive tape dispensers
    • B65H35/0006Article or web delivery apparatus incorporating cutting or line-perforating devices
    • B65H35/0073Details
    • B65H35/008Arrangements or adaptations of cutting devices
    • B65H35/0086Arrangements or adaptations of cutting devices using movable cutting elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H2301/00Handling processes for sheets or webs
    • B65H2301/50Auxiliary process performed during handling process
    • B65H2301/51Modifying a characteristic of handled material
    • B65H2301/515Cutting handled material
    • B65H2301/5151Cutting handled material transversally to feeding direction
    • B65H2301/51512Cutting handled material transversally to feeding direction using a cutting member moving linearly in a plane parallel to the surface of the web and along a direction crossing the handled material
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H2301/00Handling processes for sheets or webs
    • B65H2301/50Auxiliary process performed during handling process
    • B65H2301/51Modifying a characteristic of handled material
    • B65H2301/515Cutting handled material
    • B65H2301/5153Details of cutting means
    • B65H2301/51532Blade cutter, e.g. single blade cutter
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H2301/00Handling processes for sheets or webs
    • B65H2301/50Auxiliary process performed during handling process
    • B65H2301/51Modifying a characteristic of handled material
    • B65H2301/515Cutting handled material
    • B65H2301/5154Cutting handled material from hand-held or table dispenser
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H2701/00Handled material; Storage means
    • B65H2701/10Handled articles or webs
    • B65H2701/19Specific article or web
    • B65H2701/1944Wrapping or packing material
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Abstract

Ein System und ein Verfahren zum Wiederherstellen eines Laufwerks wird offenbart, indem der Schreibzwischenspeicher eines Laufwerks aktiviert ist und ein separater Eintrag der an das Laufwerk übertragenen Befehle aufgehoben wird. Das Laufwerk überträgt periodisch Daten in seinen Zwischenspeicher und die Historie der Befehle wird gelöscht. Wenn das Laufwerk erfolgreich wiederhergestellt worden ist, wird der Zwischenspeicher des Laufwerks deaktiviert.

Description

  • Die vorliegende Offenbarung betrifft im Allgemeinen den Bereich von Datenspeichersystemen und insbesondere ein System und ein Verfahren zur Wiederherstellung eines Laufwerks mit einem aktivierten Schreibzwischenspeicher.
  • Hintergrund
  • In dem Maße, wie der Wert und die Verwendung von Information weiter zunimmt, suchen Einzelpersonen und Unternehmen nach zusätzlichen Wegen, Information zu verarbeiten und zu speichern. Eine den Anwendern zur Verfügung stehende Möglichkeit sind informationsverarbeitende Systeme. Ein informationsverarbeitendes System verarbeitet im Allgemeinen, kompiliert und speichert und/oder kommuniziert Information oder Daten für Unternehmenszwecke, persönliche oder andere Zwecke und ermöglicht dadurch Anwendern, aus dem Wert der Information einen Vorteil zu ziehen. Da die Bedürfnisse und Anforderungen an die Technologie und die Informationsverarbeitung sich zwischen verschiedenen Anwendern oder Anwendungen unterscheiden, können informationsverarbeitende Systeme ebenfalls variieren im Hinblick darauf, welche Information verarbeitet wird, wie die Information verarbeitet wird, und wie viel Information verarbeitet, gespeichert oder kommuniziert wird, und wie schnell und effektiv die Information verarbeitet, gespeichert, oder kommuniziert werden kann. Die Unterschiede in den informationsverarbeitenden Systemen ermöglichen, dass informationsverarbeitende Systeme allgemein konfiguriert sind oder für einen speziellen Anwender oder eine spezielle Anwendung konfiguriert werden, beispielsweise die Verarbeitung von Finanztransaktionen, die Reservierungen von einer Fluggesellschaft, die Speicherung von Unternehmensdaten oder globale Kommunikation. Zusätzlich können informationsverarbeitende Systeme eine Vielzahl von Hardware- und Software-Komponenten umfassen, die konfiguriert werden können, um Information zu verarbeiten, zu speichern und zu kommunizieren, und kann ein oder mehrere Computersysteme, Datenspeichersysteme und Netzwerksysteme umfassen, beispielsweise Computer, Arbeitsstationen eines Personalcomputers, tragbare Computer, Computerserver, Druckerserver, Netzwerkrouter, Netzwerkhubs, Netzwerkswitches, Laufwerksfelder für ein Speicherbereichsnetzwerk, ein System mit einem redundanten Feld von unabhängigen Laufwerken (redundant array of independent disks, RAID) und einen Switch für die Telekommunikation.
  • Informationsverarbeitende Systeme umfassen häufig ein oder mehrere Laufwerke, die in Laufwerkfeldern gruppiert werden. Viele Laufwerke umfassen einen zugeordneten Schreibzwischenspeicher (Write Cache), der selektiv aktiviert oder deaktiviert werden kann. In Bezug auf Laufwerke, die einen aktivierten Schreibzwischenspeicher umfassen, gibt es manchmal eine Verzögerung zwischen dem Zeitpunkt, an dem das Laufwerk dem Laufwerkscontroller mitteilt, dass ein Schreibvorgang erfolgreich war, und dem Zeitpunkt, an dem die Daten auf das Speichermedium des Laufwerks geschrieben werden. Ein Laufwerk mit einem aktivierten Schreibzwischenspeicher wird häufig zu schreibende Daten an den Schreibzwischenspeicher des Laufwerks richten oder dort speichern. Sobald die zu schreibenden Daten erfolgreich an den Zwischenspeicher transferiert worden sind, wird das Laufwerk eine Mitteilung an den Laufwerkscontroller übertragen, um anzuzeigen, dass der Schreibvorgang erfolgreich ausgeführt worden ist. Diese Mitteilung wird von dem Laufwerk an den Laufwerkscontroller übertragen, selbst wenn die Daten des Schreibbefehls noch nicht auf das permanente und nichtflüchtige Medium des Laufwerks geschrieben worden sind. Die Anordnung der Daten des Schreibbefehls in dem Schreibzwischenspeicher ermöglicht den Steuerschaltkreisen des Schreibcontrollers die Reihenfolge zu optimieren, in der Information auf das Medium in dem Laufwerk geschrieben wird.
  • Diese Vorgehensweise ist jedoch für den Fall problematisch, in dem ein Schreibbefehl erfolgreich in den Zwischenspeicher des Laufwerks geschrieben worden ist, aber nicht erfolgreich auf das nichtflüchtige Medium des Laufwerks geschrieben worden ist. In diesem Fall hat das Laufwerk dem Laufwerkscontroller mitgeteilt, dass der Schreibbefehl erfolgreich war. Wenn das Laufwerk ausfällt (beispielsweise, wenn in dem Laufwerk der Strom ausfällt oder das Laufwerk zurückgesetzt wird oder der Schreibzwischenspeicher beschädigt wird), können unter Umständen die in dem Schreibzwischenspeicher gespeicherten Daten verloren gehen und niemals auf das Laufwerk geschrieben werden. Der Laufwerkscontroller nimmt diesen Datenverlust jedoch nicht wahr, da die Steuerschaltkreise des Laufwerks angezeigt haben, dass der Schreibbefehl ausgeführt worden ist. Der Laufwerkscontroller und das Laufwerk sind nicht synchronisiert und die Daten in dem Schreibzwischenspeicher, die nicht auf das Laufwerk geschrieben worden sind, sind verloren. Um zu verhindern, dass dieses Ausfallereignis auftritt, werden die Schreibzwischenspeicher von Laufwerken in einem RAID-System häufig deaktiviert. Wenn der Schreibzwischenspeicher eines Laufwerks deaktiviert worden ist, kann das Laufwerk nicht für einen bestimmten Zeitraum zu schreibende Daten in einem Zwischenspeicher speichern, wodurch das Laufwerk gezwungen wird, die Daten direkt auf das nichtflüchtige Speichermedium des Laufwerks zu schreiben. In diesem Szenario teilt das Laufwerk dem Laufwerkscontroller ein erfolgreiches Schreiben erst dann mit, wenn das Laufwerk die zu schreibenden Daten auf sein nichtflüchtiges Speichermedium geschrieben hat. Wenn der Schreibzwischenspeicher eines Laufwerks deaktiviert ist, kann seine Leistungsfähigkeit jedoch nachhaltig beeinflusst werden, da die Steuerschaltkreise des Laufwerks den Transfer von Daten von dem Zwischenspeicher an das permanente Medium des Laufwerks nicht optimieren können.
  • RAID-Speicherfelder zeichnen sich durch die Fähigkeit aus, Information auf einem Laufwerk nach einem Ausfall wieder herzustellen oder erneut aufzubauen. Beispielsweise wird in einem RAID-5-Array Paritätsinformation auf den Lauf werken in dem Array gespeichert. Wenn eines der Laufwerke ausfällt, wird es erneut aufgebaut, basierend auf der Paritätsinformation, die auf den anderen Laufwerken in dem Array gespeichert ist. In dem Maße, wie die Kapazität der Medien in den Laufwerken zunimmt, dauert die Wiederherstellung eines Laufwerks länger aufgrund der zunehmenden Menge an Information, die wiederhergestellt werden muss. Wiederherstellungszeiten in Stunden oder sogar einigen Tagen sind für Laufwerke mit Medien, die in der Lage sind, zig oder hunderte von Gigabytes an Daten zu speichern, nicht ungewöhnlich. Wenn ein Laufwerk in dem Array erneut aufgebaut wird, laufen viele RAID-Arrays in einem verschlechterten Mode. In dem verschlechterten Mode kann die Leistungsfähigkeit des Arrays verschlechtert sein, da die Leistungsfähigkeit für die Ressourcen für die Wiederherstellung des Laufwerks verwendet werden. Wenn der Zwischenspeicher des gerade wiederhergestellten Laufwerks während der Wiederherstellungszeit deaktiviert ist, kann zusätzlich die Zeit, die für das Wiederherstellen des Laufwerks benötigt wird, länger sein als die Zeit, die benötigt wird, um ein Laufwerk wiederherzustellen, das einen aktivierten Schreibzwischenspeicher aufweist. Zusätzlich wird bei vielen RAID-Levels das Array verloren gehen, wenn ein zweites Laufwerk ausfällt, während das Array sich in dem verschlechterten Mode befindet.
  • Zusammenfassung der Erfindung
  • Gemäß der vorliegenden Offenbarung wird ein System und ein Verfahren zum Wiederherstellen eines Laufwerks in einem Laufwerksaray offenbart. Der Schreibzwischenspeicher des wiederhergestellten Laufwerks ist aktiviert. Während des Wiederherstellungsprozesses werden Befehle an das Laufwerk ebenfalls in einem Journal, das dem Laufwerkscontroller zugeordnet ist, aufgenommen. Ein Synchronisierungsbefehl wird periodisch an das Laufwerk gesandt. In Antwort auf den Synchronisierungsbefehl schreibt das Laufwerk alle Daten in den Schreibzwischenspeicher, die noch nicht auf das nichtflüchtige Medium geschrieben worden sind, auf das Medium. Nach der Synchronisation wird das Journal gelöscht, da die Schreibbefehle auf dem nichtflüchtigen Speicher des Laufwerksarrays ausgeführt worden sind.
  • Ein Vorteil des offenbarten Systems und Verfahrens sind kürzere Wiederherstellungszeiten für ausgefallene Laufwerke. Die Aktivierung des Schreibzwischenspeichers für das wiederherzustellende Laufwerk ermöglicht der Steuerlogik des Laufwerks die Reihenfolge zu optimieren, in der Befehle auf das Medium geschrieben werden. Das Aktivieren des Schreibzwischenspeichers für das Laufwerk, das gerade wiederhergestellt wird, ermöglicht ferner, dass mehrere Schreibbefehle an das Laufwerk gesandt werden, bevor die zugeordneten Daten mit den Schreibbefehlen auf das Medium in dem Laufwerk geschrieben werden. Da der Schreibzwischenspeicher aktiviert ist, kann das Laufwerk schneller wiederhergestellt werden, als ein Laufwerk, dessen Schreibzwischenspeicher während des Wiederherstellungsprozesses deaktiviert worden ist.
  • Ein weiterer Vorteil des offenbarten Systems und Verfahrens besteht darin, dass die erläuterten Techniken für die Möglichkeit ausgelegt sind, dass ein Laufwerk, das gerade wiederhergestellt wird, einen Systemausfall erleidet, während der Schreibzwischenspeicher aktiviert ist, und während des Wiederherstellungsprozesses. Um diese Möglichkeit zu berücksichtigen werden Befehle in ein Journal geschrieben und periodisch mit dem Laufwerk synchronisiert. Der Synchronisationsvorgang bringt es zwingend mit sich, dass alle Daten in dem Schreibzwischenspeicher, die Schreibbefehlen zugeordnet sind, auf das Speichermedium des Laufwerks geschrieben werden. Das Speichern einer Untermenge von möglicherweise nicht synchronisierten Befehlen in dem Journal des Laufwerks-Controllers schließt die Möglichkeit aus, dass der Wiederherstellungsprozess von Beginn an neu gestartet werden muss. Stattdessen kann der Wiederherstellungsprozess erneut gestartet werden, ausgehend von denjenigen Befehlen, die in dem Journal gespeichert werden bei einem Ausfalls während des Wiederherstellungsprozesses (beispielsweise eines Stromausfalls). Im Ergebnis umfasst der hier erläuterte Wiederherstellungsprozess einen Sicherheitsmechanismus, der vor einem nachfolgen den Ausfall schützt, ohne die Leistungsfähigkeit des Wiederherstellungsprozesses negativ zu beeinflussen. Weitere technische Vorteile erkennt der Fachmann bei Betrachtung der nachfolgenden Beschreibung, der Ansprüche und der Zeichnungen.
  • Kurze Beschreibung der Zeichnungen
  • Ein vollständiges Verständnis der vorliegenden Offenbarung und ihrer Vorteile erhält man durch Bezugnahme auf die folgende Beschreibung in Verbindung mit den begleitenden Zeichnungen, in denen übereinstimmende Bezugszeichen ähnliche Merkmale bezeichnen und wobei:
  • 1 ist ein Diagramm eines redundanten Speicherarrays;
  • 2 ist ein Laufwerk eines Speicherarrays und eines zugeordneten Laufwerkscontrollers; und
  • 3 ist ein Flussdiagramm eines Verfahrens zur Wiederherstellung eines Laufwerks eines Laufwerksarrays.
  • Detaillierte Beschreibung
  • Für die Zwecke dieser Offenbarung kann ein informationsverarbeitendes System irgendeine Vorrichtung oder eine Ansammlung von Vorrichtungen umfassen, die in der Lage sind, zu berechnen, zu klassifizieren, zu verarbeiten, zu übertragen, zu empfangen, abzurufen, zu erzeugen, zu schalten, zu speichern, anzuzeigen, darzustellen, zu detektieren, zu speichern, wiederherzustellen, zu verarbeiten oder irgendeine Art von Information, Intelligenz oder Daten für Unternehmenszwecke, wissenschaftliche Zwecke, Steuerfunktionen oder andere Zwecke zu verwenden.
  • Beispielsweise kann ein informationsverarbeitendes System ein Personalcomputer sein, ein Netzwerkspeichergerät oder irgendein anderes geeignetes Gerät und kann in Größe, Form, Leistungsfähigkeit, Funktionalität und Preis variieren. Das informationsverarbeitende System kann einen Direktzugriffsspeicher (RAM), eine oder mehrere Verarbeitungsressourcen, wie z.B. eine zentrale Verarbeitungseinheit (CPU) oder Hardware- oder Software-Steuerlogik (ROM) und/oder andere Arten von nicht-flüchtigem Speicher umfassen. Zusätzliche Komponenten des informationsverarbeitenden Systems können eine oder mehrere Laufwerke umfassen, einen oder mehrere Netzwerkports zur Kommunikation mit externen Geräten, ebenso wie zahlreiche Eingabe- und Ausgabegeräte (L/O), wie z.B. eine Tastatur, eine Maus und eine Graphikanzeige. Das informationsverarbeitende System kann ferner einen oder mehrere Busse umfassen, die in der Lage sind, Kommunikationen zwischen den verschiedenen Hardware-Komponenten zu übertragen.
  • 1 ist ein Diagramm eines Level-5-RAID-Speicherarrays, das im Allgemeinen mit dem Bezugszeichen 10 bezeichnet wird. Das Speicherarray 10 umfasst fünf Laufwerke, auf die manchmal als Laufwerke oder Volumina Bezug genommen wird. Jedes der vier Laufwerke in dem Beispiel aus 1 umfasst acht Streifen oder Reihen von Daten, die als Streifen 0 bis Streifen 7 bezeichnet sind. Man erkennt, dass die Konfiguration des RAID-Arrays aus 1 einfach eine Darstellung eines RAID-Array ist und dass ein RAID-Array mit mehr oder weniger Laufwerken mit mehr oder weniger Streifen oder Reihen konfiguriert werden kann. Unter Bezugnahme auf den Streifen 0 werden Daten im Laufwerk A, im Laufwerk B und im Laufwerk C gespeichert. Die Paritätsbits im Streifen 0, die das Ergebnis eines exclusive-OR-Vorgangs sind, der auf dem Inhalt des Streifens 0 im Laufwerk A, im Laufwerk B und im Laufwerk C durchgeführt worden ist, werden im Laufwerk D gespeichert und mit dem Buchstaben P0 bezeichnet. Als ein zweites Beispiel der Datenstruktur des RAID-Arrays 10 werden unter Bezugnahme auf den Streifen 7 Daten im Laufwerk B, Laufwerk C und im Laufwerk D gespeichert. Die Paritätsbits für den Streifen 7, die das Ergebnis eines exclusive-OR-Vorgangs sind, der auf dem Inhalt des Streifens 7 im Laufwerk B, im Laufwerk C und im Laufwerk D durchgeführt worden ist, werden im Laufwerk A gespeichert und mit dem Buchstaben P7 bezeichnet. Wenn beispielsweise das Laufwerk C ausfallen sollte oder ansonsten als ein verschlechtertes Laufwerk identifiziert werden sollte, werden die Daten in jedem Streifen des Laufwerks C wiederhergestellt mit den Daten in den anderen drei Laufwerken des RAID-Arrays 10. Wie in 1 gezeigt, ist jedes der Laufwerke in dem Speicherarray mit einem Host verbunden. Das RAID-5-Array 10 ist ein Beispiel eines fehlertoleranten RAID-Levels, wobei ein einziger Laufwerksausfall kompensiert werden kann und wobei das ausgefallene Laufwerk wiederhergestellt wird. Andere fehlertolerante RAID-Levels umfassen 1, 4, 5, 6, 10 und 0+1.
  • Jedes Laufwerk eines Speicherarrays kommuniziert mit und wird gesteuert durch einen Laufwerkscontroller. 2 ist ein Diagramm eines Laufwerks 20 und eines Laufwerkcontrollers 22. Das Laufwerk 20 und der Laufwerkscontroller 22 werden miteinander über einen Kanal 24 verbunden. Der Kanal 24 kann gemäß irgendeinem einer Anzahl von Kommunikationsprotokollen funktionieren, einschließlich einem parallelen oder seriellen SCSI-Kommunikationsbus oder -Verbindung, oder einem parallelen oder seriellen ATA-Kommunikationsbus oder -Verbindung, einer Faserkanalkommunikationsverbindung oder einer drahtlosen Kommunikationsverbindung. Das Laufwerk 20 umfasst ein Medienspeicherelement 26, Steuerlogik 21 und einen Schreibzwischenspeicher 27. Der Medienspeicher 26 kann sämtliche Medien umfassen, die geeignet sind zum Speichern von Information, einschließlich magnetischer Medien oder optischer Medien. In ähnlicher Weise kann der Schreibzwischenspeicher 27 jeglichen üblichen Speichermechanismus zum Speichern von Information umfassen. Der Schreibzwischenspeicher 27 ist üblicherweise ein flüchtiger Speicher und in der Lage, einen schnelleren Zugriff auf seinen Inhalt zu ermöglichen, verglichen mit dem Speichermedium 26, das typischerweise nicht-flüchtig ist.
  • Die Steuerlogik 21 des Laufwerks 20 antwortet auf und verarbeitet Befehle vom Laufwerkscontroller 22 einschließlich von Befehlen zum Lesen von Daten oder zum Schreiben von Daten auf das Laufwerk 20 zum Aktivieren oder zum Deaktivieren des Schreibzwischenspeichers 27 und zum Erzwingen, dass alle Information im Schreibzwischenspeicher 27 auf das Speichermedium 26 geschrieben wird. Die Steuerlogik 21 überträgt ferner Daten und Benachrichtigungsinformation an den Laufwerkscontroller 22. Zusätzlich steuert die Steuerlogik 21 das Speichermedium 26 und den Schreibzwischenspeicher 27. Der Laufwerkscontroller 22 umfasst ein Steuerlogikelement 23, das mit einem Journal 28 kommuniziert und es anweist und einem Speicherort 29 des Laufwerkscontrollers. Beispiele des Laufwerkscontrollers 22 gemäß der vorliegenden Offenbarung umfassen einen RAID-Controller, einen Lower-Level-ATA/SATA-Controller oder einen SCSCI-Controller oder beides.
  • Das Journal 28 ist ein Informationsspeicherort, der erfolgte Schreibbefehle, die an das Laufwerk 20 gerichtet sind, speichert. Der Inhalt des Journals 28 kann durch eine Steuerlogik 23 gesteuert werden. Die Steuerlogik 23 kann einen Befehl ausgeben, um zu verursachen, dass das Journal 28 seine Inhalte löscht. Das Journal 28 ist vorzugsweise nichtflüchtiger Natur, so dass die Inhalte des Journals 28 bei einem plötzlichen Stromausfall am Laufwerk oder dem umgebenden Netzwerk erhalten bleiben. Der Inhalt des Journals 28 ist eine Auflistung der jüngsten Befehle, die an das Laufwerk 20 gesandt worden sind, zusammen mit einer Befehlszählung, die jedem der aufgelisteten Befehle zugeordnet ist. Der Speicherort 29 kann irgendein Speicherort sein, auf den die Steuerlogik 23 zugreifen kann. Eine fortlaufende Befehlszählung ist in dem Speicherort 29 gespeichert. Der Wert der Befehlszählung entspricht dem jüngsten Schreibbefehl, der an das Laufwerk 20 gesandt worden ist. Die Befehlszählung in dem Speicherort 29 kann durch die Steuerlogik 23 manipuliert werden. Insbesondere kann die Steuerlogik 23 eine neue Befehlszählung im Speicherort 29 speichern, die gespeicherte Befehlszählung abrufen oder die Befehlszählung löschen oder zurücksetzen. Der Speicherort 29 kann nichtflüchtigen Speicher umfassen, so dass die Befehlszählung bei einem Stromausfall am Laufwerk oder dem Netzwerk erhalten bleiben wird.
  • 3 ist ein Flussdiagramm eines Verfahrens zum Wiederherstellen eines Laufwerks eines Laufwerksarrays. Die Schritte aus 3 werden durchgeführt, wenn ein Laufwerk des Laufwerksarrays wiederhergestellt werden muss. Die Notwendigkeit zur Wiederherstellung eines Laufwerks kann aus einer Vielzahl von Gründen entstehen. Die Daten auf dem Laufwerk können beschädigt sein oder das Laufwerk kann ein Laufwerk sein, das zu dem Laufwerksarray hinzugefügt worden ist. Das Laufwerk kann wiederhergestellt werden gemäß einer automatisierten Wiederherstellung, die Bedingungen identifiziert, die nach einer Wiederherstellung des Laufwerks verlangen. Alternativ kann ein Laufwerk wiederhergestellt werden nach der manuellen Anweisung des Systemadministrators. Im Schritt 30 wird der Schreibzwischenspeicher des Laufwerks aktiviert, wodurch ermöglicht wird, dass das Laufwerk seinen Schreibzwischenspeicher verwendet, um bei der Optimierung der Schreibvorgänge auf dem Medium des Laufwerks zu unterstützen. Der Schreibzwischenspeicher des Laufwerks 20 wird typischerweise durch einen Befehl aktiviert, der vom Laufwerkscontroller 22 an das Laufwerk 20 versandt wird. Wenn beispielsweise das Laufwerk 20 ein SCSI-Laufwerk ist, überträgt der Laufwerkscontroller einen MODE-SELECT-Befehl an eine Zwischenspeichermodesseite (bzw. Cache-Mode-Page) in der Steuerlogik 21 des Laufwerks 22 und setzt das Schreibzwischenspeicheraktivierungsbit in dem Laufwerk auf 1. In einer ATA- oder SATA-Umgebung sendet der Laufwerkscontroller einen Befehl zum Setzen von Merkmalen bzw. einen SET FEATURES-Befehl mit einem Unterbefehlscode um den Schreibzwischenspeicher zu aktivieren. Im Schritt 32 werden die an das Laufwerk gerichteten Befehle beim Laufwerkscontroller 22 empfangen. Diese Befehle umfassen die Schreibbefehle, die für das Wiederherstellen des Laufwerks erforderlich sind. Wenn Bereiche des Laufwerks wiederhergestellt werden, können die Befehle aktive Ladebefehle umfassen, um neue Daten auf die wiederhergestellten Bereiche des Laufwerks zu schreiben. Im Schritt 32 wird der empfangene Befehl im Journal 28 gespeichert.
  • In dem Maße wie jeder Befehl empfangen wird, wird eine fortlaufende Liste von Schreibbefehlen in dem Journal 28 aufgenommen. Nach dem Speichern des Befehls im Journal 28 wird die Befehlszählung im Speicher 29 erhöht. Im Schritt 38 werden die empfangenen Befehle an das Laufwerk übertragen. Wie man an der Reihenfolge der Schritte 32 bis 38 erkennen kann, wird der Befehl bei dem Journal gespeichert, bevor der Befehl an das Laufwerk übertragen worden ist. Auf diese Art und Weise wird ein Speichereintrag von jedem Befehl erzeugt, bevor der Befehl an das Laufwerk übertragen wird. Wenn der Befehl beim Laufwerk empfangen worden ist, können der Befehl und seine Inhalte in dem Zwischenspeicher gespeichert werden oder auf dem Speichermedium des Laufwerks gespeichert werden. Da der Schreibzwischenspeicher auf dem Laufwerk aktiviert ist, kann das Laufwerk ein Verfahren auswählen zum Verarbeiten des Befehls, das den Zwischenspeicher des Laufwerks in der effizientesten Weise verwendet. Sobald das Laufwerk den Befehle erfolgreich verarbeitet hat, sei es durch die Anordnung des Befehls im Zwischenspeicher oder auf seinem Speichermedium wird das Laufwerk einen Benachrichtigungsbefehl an den Controller ausgeben, um anzuzeigen, dass der Befehl von dem Laufwerk erfolgreich bearbeitet worden ist. Nach der Übertragung durch das Laufwerk und der Benachrichtigung, um einen erfolgreichen Empfang des Befehls anzuzeigen, wird im Schritt 40 festgestellt, ob der Wiederherstellungsvorgang abgeschlossen ist. Wenn der Wiederherstellungsvorgang für das Laufwerk nicht abgeschlossen ist, wird im Schritt 42 festgestellt, ob die Befehlszählung einen vorbestimmten Maximalwert erreicht hat. Sobald die Befehlszählung den vorbestimmten Maximalwert erreicht hat, d.h. sobald eine vorbestimmte Maximalanzahl an Befehlen in dem Journal gespeichert worden ist, wird eine Serie von Schritten unternommen, um das Journal mit dem Inhalt der Speichermedien auf dem Laufwerk zu synchronisieren. Der vorbestimmte Maximalwert kann irgendeine Anzahl sein, die nicht größer ist, als die Anzahl von Befehlen, die in dem Journal gespeichert werden können. Der vorbestimmte Maximalwert sollte nicht so niedrig gesetzt werden, dass das Journal und das Speichermedium so oft synchronisiert werden, dass die Synchronisationsschritte mit dem effizienten Abschluss des Wiederherstellungsprozess interferieren. Der vorbestimmte Wert sollte nicht so hoch gesetzt werden, dass eine zu große Anzahl von Befehlen in dem Journal gespeichert wird. Eine zu große Anzahl von Befehlen in dem Journal widerspricht dem Ziel eine begrenzten Anzahl von Befehlen nachzuverfolgen zur erneuten Ausführung für den Fall eines Ausfalls des Laufwerks, das gerade wiederhergestellt wird. Wenn der vorbestimmte Wert der Befehlszählung nicht erreicht worden ist, fährt das Flussdiagramm beim Schritt 32 fort mit dem Empfang des nächsten Befehls beim Laufwerkscontroller. Wenn im Schritt 42 festgestellt wird, dass der vorbestimmte Befehlszählungswert erreicht worden ist, werden die in dem Journal gespeicherten Befehle mit dem Inhalt des Speichermediums des Laufwerks synchronisiert. Der Laufwerkscontroller gibt bei Schritt 44 einen Befehl aus, um zu erzwingen, dass alle Daten, die in dem Zwischenspeicher gespeichert sind, die den Schreibbefehlen zugeordnet sind, auf das Medium geschrieben werden. Der Befehl wird ein Befehl sein, der von der Steuerlogik des Laufwerks erkannt wird. In einer SCSI-Umgebung gibt der Laufwerkscontroller einen Befehl SYNCHRONIZE aus. In einer ATA- oder SATA-Umgebung gibt der Laufwerkscontroller einen Befehl „FLUSH" aus. Dieser Befehl verursacht, dass alle Daten, die den Schreibbefehlen in dem Zwischenspeicher zugeordnet sind, an das Speichermedium im Laufwerk übertragen werden. Nach diesem Schritt enthält der Zwischenspeicher des Laufwerks keine Schreibbefehle, die nicht auf das Speichermedium des Laufwerks geschrieben worden sind. Im Schritt 46 wird, nachdem der Schritt 44 erfolgreich ausgeführt worden ist, das Journal gelöscht und die Befehlszählung wird auf 0 gesetzt. Das Flussdiagramm fährt beim Schritt 32 fort, indem beim Laufwerkscontroller weitere Befehle, die an das Laufwerk gerichtet sind, empfangen werden.
  • Wenn im Schritt 40 festgestellt wird, dass die Wiederherstellung vollständig ist, fährt das Flussdiagramm beim Schritt 48 fort, mit der Ausgabe eines Befehls, um zu erzwingen, dass alle Schreibbefehle von dem Zwischenspeicher im Hinblick auf das Speichermedium des Laufwerks ausgeführt werden können. Es versteht sich, dass der Schritt 48 identisch zum Schritt 44 ist. Beim Schritt 50, der einem erfolgreichen Abschluss des Schrittes 48 folgt, wird das Journal gelöscht und die Befehlszählung wird auf 0 gesetzt. Es versteht sich, dass der Schritt 50 identisch zum Schritt 46 ist. Im Schritt 52 wird der Schreibzwischenspeicher des Laufwerks deaktiviert. In einer SCSI-Umgebung sendet der Laufwerkscontroller einen MODE-SELECT-Befehl an die Cache-Mode-Page in der Steuerlogik 21 des Laufwerks 22 und setzt das Schreibzwischenspeicheraktivierungsbit in dem Laufwerk auf 0. In einer ATA- oder SATA-Umgebung sendet der Laufwerkscontroller einen Befehl SET FEATURES mit einem Unterbefehlscode, um den Schreibzwischenspeicher zu deaktivieren. Das Deaktivieren des Schreibzwischenspeichers bringt das Laufwerk in einen Zustand, in dem Schreibbefehle, die an das Speicherlaufwerk gerichtet sind, in dem Speicherlaufwerk nicht zwischengespeichert werden können, wodurch sichergestellt wird, dass alle Schreibvorgänge für das Laufwerk auf das nichtflüchtige Speichermedium geschrieben werden.
  • Das offenbarte System und Verfahren ermöglicht die optimierte Wiederherstellung eines Laufwerks mit einem aktivierten Schreibzwischenspeicher und schützt gleichzeitig gegen einen nachfolgenden Ausfall des Laufwerks während des Wiederherstellungsvorgangs. Das Speichern des Schreibbefehls in dem Journal stellt eine Quelle zum Auflisten der jüngst ausgegebenen Schreibbefehle bereit. Wenn während einer Wiederherstellung des Laufwerks der Strom für den Schreibzwischenspeicher eines Laufwerks ausfällt, wird das Journal eine Liste derjenigen Befehle umfassen, die möglicherweise noch nicht auf den nicht-flüchtigen Speicher des Laufwerks geschrieben worden sind. Daher können die Inhalte des Journals als eine Quelle verwendet werden, um die Notwendigkeit des erneuten Startens des Wiederherstellungsprozesses zu verhindern für den Fall eines Stromausfalls an dem Zwischenspeicher des Laufwerks, das gerade wiederhergestellt wird.
  • Es versteht sich, dass das hier offenbarte System und Verfahren nicht auf die genaue Architektur, wie sie in den Figuren der vorliegenden Offenbarung gezeigt ist, begrenzt ist. Stattdessen könnte das System und das Verfahren der vorliegenden Offenbarung in jeder geeigneten Computersystemarchitektur verwendet werden, die die Verwendung von redundanter Stromversorgung mit sich bringt. Es versteht sich ferner, dass das hier offenbarte System und Verfahren in seiner Anwendung nicht auf einen speziellen Prozessor oder eine Prozessorfamilie oder auf die Anwendung eines spezifischen Befehls an den Prozessor begrenzt ist. Statt dessen kann das hier offenbarte System und Verfahren mit irgendeinem Prozessor verwendet werden, der in der Lage ist, seine Stromversorgung über die Modulation von einer oder mehrerer interner Taktgeneratoren zu modulieren. Obwohl die vorliegende Offenbarung im Detail beschrieben worden ist, versteht es sich, dass zahlreiche Veränderungen, Ersetzungen und Abweichungen daran durchgeführt werden können, ohne den Geist und den Bereich der Erfindung zu verlassen, so wie sie in den nachfolgenden Ansprüchen definiert ist.

Claims (20)

  1. Verfahren zum Verwalten der Wiederherstellungsbefehle, die an ein Laufwerk gerichtet sind, wobei das Laufwerk einen nichtflüchtigen Speicher und einen Zwischenspeicher umfasst; Aktivieren des Zwischenspeichers des Laufwerks; Speichern der Wiederherstellungsbefehle, die an das Laufwerk gerichtet sind an einem ersten Speicherort; und periodisches Verursachen, dass das Laufwerk die zwischengespeicherten Daten, die den Wiederherstellungsbefehlen zugeordnet sind, an seinen nichtflüchtigen Speicher überträgt; wobei jeder Befehl, der an das Laufwerk gerichtet wird, zumindest temporär in dem Speicherort gespeichert wird während der Periode, in der der Zwischenspeicher des Laufwerks aktiviert ist.
  2. Verfahren zum Verwalten von Wiederherstellungsbefehlen, die an ein Laufwerk gerichtet sind, nach Anspruch 1, aufweisend den Schritt des Deaktivierens des Zwischenspeichers des Laufwerks nach der erfolgreichen Wiederherstellung des Laufwerks.
  3. Verfahren zum Verwalten von Wiederherstellungsbefehlen, die an ein Laufwerk gerichtet sind, nach Anspruch 2, wobei der Schritt des Verursachens, dass das Laufwerk die zwischengespeicherten Daten auf seinen nicht-flüchtigen Speicher überträgt, folgende Schritte umfasst: Durchführen einer Zählung der Anzahl von Befehlen, die an dem ersten Speicherort gespeichert sind; und Verursachen, dass das Laufwerk die Daten an seinen nicht-flüchtigen Speicher überträgt, wenn die Zählung der Anzahl von Befehlen, die an dem ersten Speicherort gespeichert sind, eine vorbestimmte Schwelle erreicht.
  4. Verfahren zum Verwalten von Wiederherstellungsbefehlen, die an ein Laufwerk gerichtet sind, nach Anspruch 3, ferner aufweisend den Schritt des Löschens des ersten Speicherorts und der Zählung nach der erfolgreichen Übertragung von Daten von dem Zwischenspeicher an den nichtflüchtigen Speicher.
  5. Ein Speicherarray, aufweisend. mehrere Laufwerke, wobei jedes Laufwerk umfasst: ein nicht-flüchtiges Speichermedium zum Speichern von Daten; und einen Schreibzwischenspeicher zum Zwischenspeichern von Daten, die den Schreibbefehlen zugeordnet sind, die von dem Laufwerk empfangen worden sind, und Laufwerkscontroller, wobei jeder Laufwerkscontroller einem Laufwerk des Speicherarrays zugeordnet ist und mit ihm verbunden ist, wobei jeder Laufwerkscontroller einen ersten Speicher umfasst, wobei der erste Speicher in der Lage ist, eine Historie der Schreibbefehle, die von jedem Laufwerkscontroller an sein zugeordnetes Laufwerk übertragen worden sind, zu speichern; und wobei jeder Laufwerkscontroller in der Lage ist, die Wiederherstellung seines zugeordneten Laufwerks zu verwalten durch die folgenden Schritte: Aktivieren des Schreibzwischenspeichers für das Laufwerk; Speichern von jedem Schreibbefehl, der an das Laufwerk gesandt wird, in dem ersten Speicher; periodisches Verursachen, dass das Laufwerk die Daten in den Schreibzwischenspeicher des Laufwerks überträgt; und Deaktivieren des Schreibzwischenspeichers für das Laufwerk nach erfolgreichem Abschluss der Wiederherstellung des Laufwerks.
  6. Speicherarray nach Anspruch 5, wobei jeder Laufwerkscontroller in der Lage ist, seinen ersten Speicher zu löschen nach der Anzeige der erfolgreichen Übertragung der Daten in den Schreibzwischenspeicher des zugeordneten Laufwerks.
  7. Speicherarray nach Anspruch 5, wobei jeder Laufwerkscontroller einen zweiten Speicher umfasst zum Speichern der Anzahl von Befehlen, die in dem ersten Speicher gespeichert sind.
  8. Speicherarray nach Anspruch 7, wobei jeder Laufwerkscontroller in der Lage ist, zu verursachen, dass sein zugeordnetes Laufwerk die Daten in den Schreibzwischenspeicher überträgt, wenn die Anzahl von Befehlen, die in dem ersten Speicher gespeichert sind, eine vorbestimmte Schwelle erreicht.
  9. Speicherarray nach Anspruch 5, wobei der erste Speicher nicht-flüchtig ist.
  10. Verfahren zum Wiederherstellen des Speichermediums eines Laufwerks, wobei das Laufwerk in Kommunikation mit einem Schreibzwischenspeicher ist, der selektiv aktiviert werden kann, wobei das Verfahren umfasst: Aktivieren des Schreibzwischenspeichers für das Laufwerk; Übertragen eines oder mehrerer Befehle an das Laufwerk; Schreiben eines oder mehrerer Befehle an ein Journal; und Erzwingen, dass das Laufwerk die Daten in dem Schreibzwischenspeicher an das Speichermedium überträgt.
  11. Verfahren zum Wiederherstellen des Speichermediums eines Laufwerks nach Anspruch 10, ferner aufweisend den Schritt des Löschens des Journals.
  12. Verfahren zum Wiederherstellen des Speichermediums eines Laufwerks nach Anspruch 11, ferner aufweisend den Schritt des Deaktivierens des Schreibzwischenspeichers für das Laufwerk nach der erfolgreichen Wiederherstellung des Speichermediums des Laufwerks.
  13. Verfahren zum Wiederherstellen des Speichermediums eines Laufwerks nach Anspruch 10, ferner aufweisend die folgenden Schritte: Bereitstellen einer Zählung von Befehlen, die an das Laufwerk gesandt worden sind; und wobei der Schritt des Erzwingens, dass das Laufwerk die Daten in dem Schreibzwischenspeicher überträgt, durchgeführt wird, sobald die Zählung der Befehle, die an das Laufwerk gesandt worden sind, einen vorbestimmten Wert erreicht.
  14. Verfahren nach Anspruch 13, ferner aufweisend den Schritt des Löschens des Journals nach dem erfolgreichen Übertragen der Daten in den Schreibzwischenspeicher.
  15. Verfahren nach Anspruch 13, ferner aufweisend den Schritt des Deaktivierens des Schreibzwischenspeichers nach dem erfolgreichen Wiederherstellen des Mediums des Laufwerks.
  16. Verfahren nach Anspruch 10, ferner aufweisend den Schritt des Löschens des Journals nachdem das Laufwerk alle Daten in den Schreibzwischenspeicher übertragen hat und des Übertragens einer Nachricht, dass die gespeicherten Daten auf das Medium geschrieben worden sind.
  17. Verfahren nach Anspruch 10, wobei das Journal einen nicht-flüchtigen Speicher umfasst, der einem Laufwerkscontroller zugeordnet ist.
  18. Ein Laufwerkscontroller, der in der Lage ist, mit einem Laufwerk über Kommunikationskanäle zu kommunizieren, aufweisend: einen ersten Speicher zum Speichern von Befehlen, die von dem Laufwerkscontroller an das Laufwerk während der Periode übertragen werden, in der das Laufwerk wiederhergestellt wird; einen zweiten Speicher zum Speichern einer Zählung von Befehlen, die in dem ersten Speicher gespeichert sind; wobei während der Periode, während der das Laufwerk wiederhergestellt wird, der Laufwerkscontroller in der Lage ist, den Schreibzwischenspei cher des Laufwerks zu aktivieren und zu verursachen, dass das Laufwerk die Daten in dem Schreibzwischenspeicher an das Laufwerk überträgt, wenn die Zählung der Befehle eine vorbestimmte Schwelle erreicht.
  19. Laufwerkscontroller nach Anspruch 18, wobei der Laufwerkscontroller in der Lage ist, den Schreibzwischenspeicher des Laufwerks nach einer erfolgreichen Wiederherstellung des Laufwerks zu deaktivieren.
  20. Laufwerkscontroller nach Anspruch 19, wobei der erste Speicher einen nicht-flüchtigen Speicher umfasst.
DE200510012448 2004-03-22 2005-03-17 System und Verfahren zur Wiederherstellung eines Laufwerks nach einem Ausfall eines Laufwerks Active DE102005012448B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/805,811 2004-03-22
US10/805,811 US20050210318A1 (en) 2004-03-22 2004-03-22 System and method for drive recovery following a drive failure

Publications (2)

Publication Number Publication Date
DE102005012448A1 true DE102005012448A1 (de) 2005-11-03
DE102005012448B4 DE102005012448B4 (de) 2015-05-07

Family

ID=34552926

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510012448 Active DE102005012448B4 (de) 2004-03-22 2005-03-17 System und Verfahren zur Wiederherstellung eines Laufwerks nach einem Ausfall eines Laufwerks

Country Status (10)

Country Link
US (1) US20050210318A1 (de)
JP (1) JP2005276196A (de)
KR (1) KR20060043873A (de)
CN (2) CN101324864A (de)
DE (1) DE102005012448B4 (de)
FR (1) FR2870367B1 (de)
GB (1) GB2412482B (de)
MY (1) MY139233A (de)
SG (2) SG135206A1 (de)
TW (1) TWI366097B (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523272B2 (en) * 2004-07-12 2009-04-21 Dell Products L.P. System and method for identifying a storage drive in a storage network
US7143308B2 (en) * 2005-01-14 2006-11-28 Charlie Tseng Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk
JP4754852B2 (ja) * 2005-03-15 2011-08-24 富士通株式会社 ストレージ制御装置および方法
JP2007004343A (ja) * 2005-06-22 2007-01-11 Fujitsu Ltd 書き込み制御方法及び記憶装置
US7721143B2 (en) * 2005-12-06 2010-05-18 Lsi Corporation Method for reducing rebuild time on a RAID device
US20070180292A1 (en) * 2006-01-31 2007-08-02 Bhugra Kern S Differential rebuild in a storage environment
US7500070B2 (en) * 2006-08-23 2009-03-03 Lsi Corporation Methods and apparatus for improved RAID 1 mirror re-synchronization
US8127099B2 (en) * 2006-12-26 2012-02-28 International Business Machines Corporation Resource recovery using borrowed blocks of memory
US7814361B2 (en) * 2007-10-12 2010-10-12 Dell Products L.P. System and method for synchronizing redundant data in a storage array
US8499120B2 (en) * 2008-10-17 2013-07-30 Seagate Technology Llc User selectable caching management
US8909983B2 (en) * 2012-03-08 2014-12-09 Synology Incorporated Method of operating a storage device
US9483352B2 (en) * 2013-09-27 2016-11-01 Fisher-Rosemont Systems, Inc. Process control systems and methods
CN104750622B (zh) * 2013-12-30 2018-02-02 光宝科技股份有限公司 储存装置及其资料传输控制方法
CN111104046B (zh) * 2018-10-25 2023-08-25 伊姆西Ip控股有限责任公司 管理冗余磁盘阵列的方法、设备和计算机可读存储介质
US11531470B2 (en) * 2020-10-21 2022-12-20 EMC IP Holding Company LLC Offload of storage system data recovery to storage devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572660A (en) * 1993-10-27 1996-11-05 Dell Usa, L.P. System and method for selective write-back caching within a disk array subsystem
JP3180063B2 (ja) * 1997-08-26 2001-06-25 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ディスク・ドライブ装置及びこれの制御方法
GB2343265A (en) * 1998-10-28 2000-05-03 Ibm Data storage array rebuild
EP1090348B1 (de) * 1999-04-23 2004-12-22 Symantec Corporation Verfahren und vorrichtung zur behandlung von datenverfälschung und gemeinsam genutzte platten im kontext von datensicherung, -benützung und wiederherstellung
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
US6901481B2 (en) * 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US20020029354A1 (en) * 2000-08-23 2002-03-07 Seagate Technology Llc Non-volatile write cache, in a disc drive, using an alternate power source
US6658533B1 (en) * 2000-09-21 2003-12-02 Intel Corporation Method and apparatus for write cache flush and fill mechanisms
US6567892B1 (en) * 2001-05-23 2003-05-20 3Ware, Inc. Use of activity bins to increase the performance of disk arrays
US6549977B1 (en) * 2001-05-23 2003-04-15 3Ware, Inc. Use of deferred write completion interrupts to increase the performance of disk operations
US6957302B2 (en) * 2001-09-20 2005-10-18 Hewlett-Packard Development Company, L.P. System and method for performing write operations in a disk drive using a write stack drive
US20030120869A1 (en) * 2001-12-26 2003-06-26 Lee Edward K. Write-back disk cache management
US6917967B2 (en) * 2002-12-13 2005-07-12 Sun Microsystems, Inc. System and method for implementing shared memory regions in distributed shared memory systems
US7010645B2 (en) * 2002-12-27 2006-03-07 International Business Machines Corporation System and method for sequentially staging received data to a write cache in advance of storing the received data

Also Published As

Publication number Publication date
KR20060043873A (ko) 2006-05-15
US20050210318A1 (en) 2005-09-22
DE102005012448B4 (de) 2015-05-07
CN1690979A (zh) 2005-11-02
GB2412482B (en) 2007-12-27
IE20050081A1 (en) 2005-10-19
TW200540623A (en) 2005-12-16
GB2412482A (en) 2005-09-28
MY139233A (en) 2009-09-30
JP2005276196A (ja) 2005-10-06
TWI366097B (en) 2012-06-11
SG115830A1 (en) 2005-10-28
SG135206A1 (en) 2007-09-28
CN101324864A (zh) 2008-12-17
GB0505767D0 (en) 2005-04-27
FR2870367B1 (fr) 2007-10-12
FR2870367A1 (fr) 2005-11-18
CN100418069C (zh) 2008-09-10

Similar Documents

Publication Publication Date Title
DE102005012448B4 (de) System und Verfahren zur Wiederherstellung eines Laufwerks nach einem Ausfall eines Laufwerks
DE60318687T2 (de) Herstellen einer gespiegelten kopie unter verwendung inkrementeller divergenz
DE112011100534B4 (de) Mehrstufiger Sicherungsprozess
DE60210211T2 (de) Redundante Datensicherungsvorrichtung und -Verfahren
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE112011100112T5 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE112010003794B4 (de) Datenspeicherung unter Verwendung von Bitmaps
DE112012000953B4 (de) Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit
DE602004011181T2 (de) Speicherplattenanordnungsgerät
DE602005005610T2 (de) Planungs- und Implementierungssystem für eine externe Disaster-Recovery mit einem virtuellen Band eines Datenzentrums
US7797358B1 (en) Methods and apparatus for continuous data protection system having journal compression
DE602004005344T2 (de) Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort
DE102013210642B4 (de) Vorrichtung zum Wiederherstellen von Redundanz
CN101667181B (zh) 一种数据容灾的方法、装置及系统
CN101539873B (zh) 数据恢复的方法、数据节点及分布式文件系统
DE102010013263A1 (de) Techniken, um ein energieausfallsicheres Caching ohne atomare Metadaten durchzuführen
DE102013101863A1 (de) Hochverfügbares Hauptspeicher-Datenbanksystem, Arbeitsverfahren und deren Verwendungen
DE10348326A1 (de) Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist
DE112013007279T5 (de) Ereignisausgelöstes speichern von Daten in einem nicht flüchtigen Speicher
CN101515296A (zh) 数据更新方法和装置
DE102009031125A1 (de) Nand-Fehlerbehandlung
DE112012000282B4 (de) Anwendungswiederherstellung in einem Dateisystem
DE112017000167B4 (de) Verteilte Datendeduplizierung in einem Prozessorraster
DE112012001660T5 (de) Speicher-Checkpointing in einem System gespiegelter virtueller Maschinen
DE112018005768B4 (de) Copy-source-to-target-verwaltung in einem datenspeichersystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final