DE602005002490T2 - Fehlertolerantes Datenspeicherungsverfahren - Google Patents

Fehlertolerantes Datenspeicherungsverfahren Download PDF

Info

Publication number
DE602005002490T2
DE602005002490T2 DE200560002490 DE602005002490T DE602005002490T2 DE 602005002490 T2 DE602005002490 T2 DE 602005002490T2 DE 200560002490 DE200560002490 DE 200560002490 DE 602005002490 T DE602005002490 T DE 602005002490T DE 602005002490 T2 DE602005002490 T2 DE 602005002490T2
Authority
DE
Germany
Prior art keywords
data
data storage
nas
pool
drives
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.)
Active
Application number
DE200560002490
Other languages
English (en)
Other versions
DE602005002490D1 (de
Inventor
Christopher S. Wilson
Viresh Rustagi
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.)
Broadcom Corp
Original Assignee
Broadcom Corp
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
Priority claimed from US11/087,136 external-priority patent/US7395402B2/en
Priority claimed from US11/096,167 external-priority patent/US7500135B2/en
Application filed by Broadcom Corp filed Critical Broadcom Corp
Publication of DE602005002490D1 publication Critical patent/DE602005002490D1/de
Application granted granted Critical
Publication of DE602005002490T2 publication Critical patent/DE602005002490T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2084Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring on the same storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Wenn irgendein Abschnitt einer Datenspeicherungsvorrichtung aktualisiert wird, kann jede Unterbrechung, die während der Aktualisierungsprozedur auftritt, ernsthafte Konsequenzen haben, vor allen dann, wenn eine Aktualisierungsprozedur bei Metadaten durchgeführt wird. Die Metadaten können mit Hilfe einer Aktualisierungsprozedur aktualisiert werden, die in der Datenspeicherungsvorrichtung durchgeführt wird. Unglücklicherweise kann in einigen Fällen eine solche Aktualisierungsprozedur unterbrochen werden, und die Daten, die in der Datenspeicherungsvorrichtung gespeichert sind, können beschädigte bzw. verfälschte Daten enthalten. Eine Unterbrechung kann durch elektrische oder physische Vorkommnisse während der Durchführung der Aktualisierungsprozedur verursacht werden. So kann zum Beispiel ein Stromausfall Daten beschädigen, die in ein oder mehrere Datenspeicherlaufwerk(e) der Datenspeicherungsvorrichtung während der Aktualisierungsprozedur geschrieben werden. Außerdem können ein oder mehrere Datenspeicherlaufwerke, die physisch von der Datenspeicherungsvorrichtung entfernt werden, die Aktualisierungsprozedur unterbrechen, was zu einem oder mehreren Fehlern bei den Metadaten führt. Wenn solche Metadatenfehler auftreten, kann die Fähigkeit, auf die gespeicherten Daten zugreifen zu können, die auf der Verwendung solcher Metadaten beruht, negativ beeinträchtigt werden.
  • Die Beschränkungen und Nachteile herkömmlicher und traditioneller Lösungswege werden einem Fachmann auf dem Gebiet durch den Vergleich solcher Systeme mit einigen Ausführungsformen der vorliegenden Erfindung, wie sie in dem Rest der vorliegenden Anmeldung unter Bezugnahme auf die Zeichnungen dargelegt ist, offensichtlich werden.
  • Die US 2003/0023811 A betrifft ein Verfahren zum Verwalten eines logischen Datenvolumens zum Zwecke der Minimierung der Größe entsprechender Metadaten.
  • Die EP 0 986 014 A betrifft eine Datei-Management-Vorrichtung und ein Verfahren zum Verwalten von Dateien von Audio- und/oder Videodaten, die von einem Aufzeichnungsmedium wiedergegeben werden sollen.
  • Es ist eine Aufgabe der vorliegenden Erfindung, die Fehlertoleranz zu verbessern, die in einer Datenspeicherungsvorrichtung implementiert wird.
  • Dieses Problem wird von dem Verfahren von Anspruch 1 gelöst. Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung sind in den Unteransprüchen bestimmt.
  • Ausführungsformen der Erfindung umfassen ein Verfahren und ein System zum Bereitstellen einer Fehlertoleranz, wenn ein Datenspeicherungssystem unter Verwendung einer Datenspeicherungsvorrichtung implementiert wird. Ausführungsformen der Erfindung stellen eine Redundanzcodierung eines Teils eines oder mehrerer Abschnitte oder Partitionen eines oder mehrerer Datenspeicherlaufwerke bereit. Die Redundanzcodierung kann eingesetzt werden, wenn das Auftreten eines Fehlers Daten beschädigt, die in dem einen oder den mehreren Datenspeicherlaufwerken gespeichert sind. Die oben genannten Ausführungsformen, die in den Ansprüchen noch vollständiger dargelegt sind, sind im Wesentlichen in Verbindung mit wenigstens einer der nachfolgenden Figuren gezeigt und beschrieben.
  • Gemäß einer Ausführungsform der Erfindung ist ein Verfahren zur Implementierung einer Fehlertoleranz in einer Datenspeicherungsvorrichtung bereitgestellt, wobei die Datenspeicherungsvorrichtung ein oder mehrere Datenspeicherlaufwerke umfasst, wobei das Verfahren Folgendes umfasst:
    zuerst das Speichern von Informationen, die mit der Implementierung von einem oder mehreren Datenpools verbunden sind, in einen oder mehrere erste Poolinformationsblöcke von einer oder mehreren Partitionen des einen oder der mehreren Datenspeicherlaufwerke; und
    als nächstes das Speichern der Informationen, die mit der Implementierung des einen oder der mehreren Datenpools verbunden sind, in einen oder mehrere zweite Poolinformationsblöcken der einen oder mehreren Partitionen des einen oder der mehreren Datenspeicherlaufwerke.
  • Vorteilhafterweise wird die Redundanz, die von den einen oder mehreren ersten Poolinformationsblöcken und den einen oder mehreren zweiten Poolinformationsblöcken bereitgestellt wird, dazu verwendet, Datenfehler zu verhindern, die bei den einen oder mehreren ersten Poolinformationsblöcken und den einen oder mehreren zweiten Poolinformationsblöcken auftreten können, wenn eine Datenaktualisierung bei den einen oder mehreren ersten Poolinformationsblöcken und den zweiten Poolinformationsblöcken durchgeführt wird.
  • Vorteilhafterweise resultieren diese Datenfehler aus einer Stromzufuhrunterbrechung.
  • Vorteilhafterweise resultieren die Datenfehler aus dem Entfernen eines oder mehrerer Datenspeicherlaufwerke, während die Datenaktualisierung bei den einen oder mehreren ersten und/oder zweiten Poolinformationsblöcken durchgeführt wird.
  • Vorteilhafterweise umfasst das Verfahren das Durchführen einer Aktualisierung bei den einen oder mehreren ersten Poolinformationsblöcken oder bei den einen oder mehreren zweiten Poolinformationsblöcken der einen oder mehreren ersten und zweiten Poolinformationsblöcke.
  • Vorteilhafterweise befindet sich der aktualisierte eine oder die aktualisierten mehreren ersten Poolinformationsblöcke oder der aktualisierte eine oder die aktualisierten mehreren zweiten Poolinformationsblöcke in einem inaktiven Zustand.
  • Gemäß einer Ausführungsform der Erfindung ist ein Verfahren zur Aktualisierung von zwei oder mehr Partitionstabellen eines Datenspeicherlaufwerks bereitgestellt, wobei die zwei oder mehr Partitionstabellen eine oder mehrere inaktiv Partitionstabellen und eine oder mehrere aktive Partitionstabellen umfassen, wobei das Verfahren Folgendes umfasst:
    Zugreifen auf die eine oder mehreren inaktiven Partitionstabellen der zwei oder mehr Partitionstabellen;
    Schreiben neuer Daten in die eine oder mehreren inaktiven Partitionstabellen; und
    Schreiben dieser neuen Daten in die eine oder mehreren aktiven Partitionstabellen der zwei oder mehr Partitionstabellen unter Verwendung der neuen Daten aus der einen oder den mehreren inaktiven Partitionstabellen, nachdem die eine oder mehreren aktiven Partitionstabellen inaktiv werden.
  • Als ein Beispiel ist ein Verfahren zum Bereitstellen einer fehlertoleranten Umbenennung eines Festplattenlaufwerks in einer Datenspeicherungsvorrichtung bereitgestellt, wobei die Datenspeicherungsvorrichtung ein oder mehrere Festplattenlaufwerke umfasst, wobei das Verfahren Folgendes umfasst:
    Ausführen eines Satzes von Software-Instruktionen, die in einem Speicher der Datenspeicherungsvorrichtung resident sind, wenn ein Plattennamenfeld eines Plattenkopfes eines der einen oder mehreren Festplattenlaufwerke einen Fehler enthält, wobei der Fehler während der Umbenennung auftritt;
    zuerst das Lokalisieren eines ersten Feldes in einem ersten Poolinformationsblock einer Partition des Festplattenlaufwerks;
    als nächstes das Lokalisieren eines zweiten Feldes in einem zweiten Poolinformationsblock der Partition des Festplattenlaufwerks;
    zuerst das Identifizieren eines ersten Plattennamens in dem ersten Feld;
    als nächstes das Identifizieren eines zweiten Plattennamens in dem zweiten Feld;
    Vergleichen des ersten Plattennamens mit dem zweiten Plattennamen; und
    Schreiben des ersten Plattennamens in das Plattennamenfeld des Plattenkopfes des Festplattenlaufwerks, wenn der ersten Plattenname derselbe wie der zweite Plattenname ist.
  • Vorteilhafterweise umfassen das erste Feld und das zweite Feld Partitions-Spezifikations-Felder für 'Panes' (Pane-Partitions-Spezifikations-Felder).
  • Als ein weiteres Beispiel ist ein Verfahren zum Bereitstellen einer fehlertoleranten Umbenennung eines Datenpools einer Datenspeicherungsvorrichtung bereitgestellt, wobei die Datenspeicherungsvorrichtung ein oder mehrere Festplattenlaufwerke umfasst, wobei das Verfahren Folgendes umfasst:
    Erzeugen einer ersten Variablen in einem Speicher, der dazu verwendet wird, einen neuen Namen des Datenpools zu speichern, wobei die erste Variable von einer oder mehreren Datenverarbeitungsvorrichtungen verwendet wird, wobei die erste Variable komplementär zu einer zweiten Variablen ist, wobei die zweite Variable einen alten Namen des Datenpools speichert; und
    Aktualisieren der zweiten Variablen unter Verwendung des neuen Namens des Datenpools, der in der ersten Variablen gespeichert ist.
  • Vorteilhafterweise umfassen die eine oder mehreren Datenverarbeitungsvorrichtungen einen Printer-Server.
  • Vorteilhafterweise umfassen die eine oder mehreren Datenverarbeitungsvorrichtungen einen Controller für die primäre Domäne (Primary Domain Controller).
  • Als ein weiteres Beispiel ist ein Verfahren zur Implementierung einer Fehlertolerant in einer Datenspeicherungsvorrichtung bereitgestellt, wobei die Datenspeicherungsvorrichtung ein oder mehrere Datenspeicherlaufwerke umfasst, wobei das Verfahren Folgendes umfasst:
    zuerst das Speichern von Informationen, die sich auf die Größe und die Position einer oder mehrerer Partitionen beziehen, in einer oder mehreren ersten Partitionstabellen der einen oder mehreren Datenspeicherlaufwerke; und
    als nächstes das Speichern von Informationen, die sich auf die Größe und die Position einer oder mehrerer Partitionen beziehen, in einer oder mehreren zweiten Partitionstabellen der einen oder mehreren Datenspeicherlaufwerke.
  • Vorteilhafterweise wird die Redundanz, die von den einen oder mehreren ersten Partitionstabellen und den einen oder mehreren zweiten Partitionstabellen bereitgestellt wird, dazu verwendet, Datenfehler zu verhindern, die auftreten können, wenn eine Datenaktualisierung bei den einen oder mehreren ersten und zweiten Partitionstabellen durchgeführt wird.
  • Vorteilhafterweise resultieren diese Datenfehler aus einer unterbrochenen Energiezufuhr.
  • Vorteilhafterweise resultieren diese Datenfehler aus dem Entfernen eines oder mehrerer Datenspeicherlaufwerke, während die Datenaktualisierung bei den einen oder mehreren ersten Partitionstabellen oder den einen oder mehreren zweiten Partitionstabellen durchgeführt wird.
  • Vorteilhafterweise umfasst das Verfahren das Durchführen einer Aktualisierung bei einer Partitionstabelle, wenn sich die Partitionstabelle der einen oder mehreren ersten Partitionstabellen oder der einen oder mehreren zweiten Partitionstabellen in einem inaktiven Zustand befindet.
  • Als noch ein weiteres Beispiel ist ein System zur Bereitstellung einer fehlertoleranten Implementierung eines oder mehrerer Datenpools, die ein oder mehrere Datenspeicherlaufwerke verwenden, bereitgestellt, wobei das System Folgendes umfasst:
    einen Speicher;
    eine Software, die in dem Speicher resident ist; und
    einen Prozessor, der in der Lage ist, die Software auszuführen, wobei das Ausführen in der Lage ist, eine erste Partitionstabelle und eine zweite Partitionstabelle zu erzeugen, wobei die erste Partitionstabelle ein Spiegelbild der zweiten Partitionstabelle ist, wobei die erste oder die zweite Partitionstabelle die Position und die Größe einer oder mehrerer Partitionen in den einen oder mehreren Datenspeicherlaufwerken bereitstellt; wobei das Ausführen in der Lage ist, einen ersten Poolinformationsblock und einen zweiten Poolinformationsblock in jeder der einen oder mehreren Partitionen zu erzeugen, wobei der erste Poolinformationsblock ein Spiegelbild des zweiten Poolinformationsblocks ist, wobei die ersten und zweiten Poolinformationsblöcke Informationen in Bezug auf das Verketten einer oder mehrerer Partitionen bereitstellen, wobei dieses Verketten die einen oder mehreren Datenpools unter Verwendung der einen oder mehreren Datenspeicherlaufwerke erzeugt.
  • Vorteilhafterweise umfassen die Datenspeicherlaufwerke Festplattenlaufwerke.
  • Diese und weitere Vorteile, Ausführungsformen und neuartigen Merkmale der vorliegenden Erfindung sowie auch Einzelheiten von veranschaulichten Ausführungsbeispielen davon werden aus der nachfolgenden Beschreibung und den nachfolgenden Zeichnungen besser verständlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 veranschaulicht ein Blockdiagramm eines typischen Systems, das die Verwendung einer an das Netzwerk angeschlossenen Speichervorrichtung (NAS; network attached storage device) in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung umfasst.
  • 2 ist ein Blockdiagramm einer NAS in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung.
  • 3 ist ein Blockdiagramm eines NAS-Chips (NASoC) in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung.
  • 4 ist ein Operationsablaufdiagramm, das den Prozess des erfolgreichen Zugreifens auf Daten aus einer NAS, wenn ein Fehler auftritt, in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung veranschaulicht.
  • 5 ist ein Operationsablaufdiagramm, das eine fehlertolerante Prozedur in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung implementiert, wenn eine oder mehrere Probleme ein Plattennamenfeld in einem Plattenkopf während einer Plattenumbenennungsoperation beschädigt.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Ausführungsformen der Erfindung integrieren ein Verfahren und ein System zur Bereitstellung einer Fehlertoleranz, wenn ein Datenspeicherungssys tem unter Verwendung einer Datenspeicherungsvorrichtung implementiert wird. In einem Ausführungsbeispiel umfasst die Datenspeicherungsvorrichtung ein oder mehrere Datenspeicherlaufwerke. Zusätzliche Datenspeicherlaufwerke können sukzessive hinzugefügt werden, um die Kapazität der Datenspeicherungsvorrichtung zu erweitern. Die Datenspeicherlaufwerke können Festplattenlaufwerke umfassen.
  • Ausführungsformen der Erfindung stellen eine Redundanzcodierung eines Teils von einem oder mehreren Abschnitten oder Partitionen eines oder mehrerer Festplattenlaufwerke derart bereit, dass die Partitionen kollektiv verwendet werden können, um einen oder mehrere Datenpools zu erzeugen. Die codierten Teile umfassen Daten, die in einem oder mehreren Kopfteilen (Headers) der einen oder mehreren Abschnitte oder Partitionen residieren können. Die Informationen, die in einem oder mehreren Datenfeldern innerhalb der Kopfteile gespeichert sind, können dazu verwendet werden, gewisse Daten aus einer oder mehreren Partitionen zu mappen und auf diese zuzugreifen, und zwar derart, dass auf einen oder mehrere Datenpools, die von einem Benutzer benötigt werden, erfolgreich zugegriffen werden kann und diese erfolgreich abgerufen werden können. Die Kopfteile können Poolinformationsblöcke (PIBs) genannt werden und befinden sich in jeder Partition. Die Redundanzcodierung kann Daten umfassen, die in einem oder mehreren Felder einer oder mehrerer Partitionen in den einen oder mehreren Datenspeicherlaufwerken gespeichert sind. Die einen oder mehreren Felder können zum Beispiel ein Pane-Partitions-Spezifikations-Feld in einem PIB umfassen. Ein Datenpool entspricht natürlich einem Verknüpfen (Pooling) einer oder mehrerer Partitionen über ein oder mehrere Festplattenlaufwerke, um so ein "logisches Laufwerk" zu erzeugen. In einem repräsentativen Ausführungsbeispiel wird der Kopfteil (oder der PIB) derart repliziert, dass ein zweiter Kopfteil erzeugt wird. Auf diese Weise werden als eine Redundanzmaßnahme zwei PIBs in jeder Partition integriert, wodurch doppelte oder gespiegelte PIBs hervorgebracht werden. Die Datenspeicherlaufwerke können dazu verwendet werden, Video- oder Multimediadaten zu speichern, die von einem Kabelnetzbetreiber oder einem Telekommunikations-Provider bereitgestellt werden. Die Datenspeicherungsvorrichtung kann kommunikativ mit einer oder mehreren Datenverarbeitungsvorrichtungen (wie zum Beispiel persönliche Videorekorder (PVRs), PVR-geeignete Set-Top-Boxen (Decoder), Computer, PDAs, digitale Geräte und der gleichen) gekoppelt sein, so dass die Daten, die in der Datenspeicherungsvorrichtung gespeichert sind, von der einen oder den mehreren Datenverarbeitungsvorrichtungen übertragen oder von diesen empfangen werden können. Zum Beispiel kann die Speicherungsvorrichtung mit einem Netzwerk derart verbunden oder daran angeschlossen sein, dass die eine oder die mehreren Datenverarbeitungsvorrichtungen in die Datenspeicherungsvorrichtung schreiben oder aus dieser auslesen können. Aufgrund dieser Funktionalität kann die oben genannte Datenspeicherungsvorrichtung als eine an einem Netzwerk angeschlossene Speichervorrichtung (NAS) bezeichnet werden. Ausführliche Informationen bezüglich der Verwendung von Poolinformationsblöcken (PIBs) können in der US-Patentanmeldung mit dem Titel "METHOD AND SYSTEM OF DATA STORAGE CAPACITY ALLOCATION AND MANAGEMENT USING ONE OR MORE DATA STORAGE DRIVES", eingereicht am 22. März 2005 (Anwaltsregisternummer 15675US03), Veröffentlichungsnummer 2005 0235 337, veröffentlicht am 20. Oktober 2005 gefunden werden.
  • Wie hier beschrieben ist, kann eine Datenspeicherungsvorrichtung ein oder mehrere Datenspeicherlaufwerke wie zum Beispiel Festplattenlaufwerke oder irgendeinen anderen Typ von Laufwerk umfassen. Die Datenspeicherungsvorrichtung kann eine Kombination aus unterschiedlichen Arten von Datenspeicherlaufwerken umfassen. Ein Datenspeicherlaufwerk kann jeglichen Typ von Medium umfassen, das in der Lage ist, Daten zu speichern. Im Folgenden kann sich der Begriff "Festplattenlaufwerk" alternativ auf ein Datenspeicherlaufwerk oder auf irgendein Laufwerk oder irgendeine Komponente beziehen, das bzw. die ein Medium umfasst, das zur Speicherung von Daten verwendet wird. In einem repräsentativen Ausführungsbeispiel können ein oder mehrere Datenspeicherlaufwerke oder Festplattenlaufwerke in einer Datenspeicherungsvorrichtung integriert sein. Die Datenspeicherungsvorrichtung umfasst das eine oder die mehreren Datenspeicherlaufwerke oder Festplattenlaufwerke. In einem repräsentativen Ausführungsbeispiel ermöglicht die Datenspeicherungsvorrichtung das Integrieren der einen oder mehreren zusätzlichen Datenspeicherlaufwerke oder Festplattenlaufwerke. Die Datenspeicherlaufwerke oder Festplattenlaufwerke können mit Hilfe von Konnektoren erweitert werden, die ein Datenspeicherlaufwerk mit einem anderen Datenspeicherlaufwerk verbinden.
  • 1 veranschaulicht ein Blockdiagramm eines typischen Systems, das die Verwendung einer NAS 100 in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung umfasst. Die NAS 100 stellt eine Datenspeicherung für eine oder mehrere Datenverarbeitungsvorrichtungen bereit. Wie veranschaulicht ist, stellt eine beispielhafte Vermittlungsvorrichtung eine Konnektivität der NAS 100 mit der einen oder den mehreren Datenverarbeitungsvorrichtung(en) bereit. Die Vermittlungsvorrichtung ist in der Lage, eine Konnektivität unter Verwendung von drahtlosen sowie auch drahtgebundenen Kommunikationen bereitzustellen. Zum Beispiel kann ein Drahtlos-Router jedes der nachfolgenden Protokolle für drahtlose oder drahtgebundene Datenkommunikationen benutzen: 10/100 Ethernet, Gigabit Ethernet, 802.11x, Bluetooth, und so weiter. Die einen oder mehreren Datenverarbeitungsvorrichtungen umfassen Vorrichtungen wie etwa eine digitale Cyber-Kamera, eine digitale Kamera, einen MP3 Player, einen PDA und einen oder mehrere persönliche Videorekorder (PVRs). Wie veranschaulicht ist, kann ein PVR mit einem Festplattenlaufwerk ausgerüstet sein oder auch nicht. In einem Ausführungsbeispiel kann der PVR als eine Set Top Box (STB) bezeichnet werden, die persönliche Videorekorder-Fähigkeiten integriert. In einem Ausführungsbeispiel kann ein PVR als ein PVR-STB bezeichnet werden. Die veranschaulichten PVRs sind mit einem Fernseher oder einem Monitor verbunden, der in der Lage ist, Multimedia-Inhalte für einen Einzelkunden zuhause abzuspielen. Die Verwendung der NAS 100 stellt eine zentralisierte Speichervorrichtung für Multimedia-Inhalte bereit, die von dem einen oder den mehreren PVRs empfangen werden. Als eine Konsequenz der Speicherung von Inhalten in einer NAS 100 können PVRs, die keine Speicherungseinrichtung wie z.B. ein Festplattenlaufwerk aufweisen, jegliche Daten, die sie empfangen, in der NAS 100 speichern. Außerdem kann auf alle Daten, die von anderen Datenverarbeitungsvorrichtungen einschließlich den PVRs gespeichert werden, leichter zugegriffen werden und sie können leichter von der einen oder den mehreren Datenverarbeitungsvorrichtung(en) betrachtet werden. Zum Beispiel kann ein PVR ohne Festplattenlaufwerk auf Multimedia-Inhalte zugreifen, die ursprünglich in der NAS 100 von einem PVR mit Festplattenlaufwerk gespeichert wurden, und umgekehrt. Als Folge davon ermöglicht die NAS 100 die gemeinsame Nutzung von Daten quer durch die einen oder mehreren Datenverarbeitungsvorrichtungen. Da sie einen Fernspeicherungsmechanismus bereitstellt, kann die NAS 100 von den einen oder mehreren Datenverarbeitungsvorrichtungen als eine "virtuelle Spei cherungsvorrichtung" betrachtet werden. Die NAS 100 ist so konfiguriert, dass ihre Speicherkapazität auf einfache Weise erweitert werden kann. In einem Ausführungsbeispiel kann die NAS 100 zusätzliche Festplattenlaufwerke annehmen. Die Speicherkapazität der NAS wird problemlos erweitert, indem ein Festplattenlaufwerk in einen "Laufwerkschlitten" eingeführt wird, der mühelos in das Chassis der NAS 100 eingeschoben werden kann. Der "Laufwerkschlitten" kann als eine Vorrichtung betrachtet werden, die mit einem oder mit mehreren Arten von Festplattenlaufwerken verbunden ist oder mit diesen zusammenpasst, so dass das Einführen in die NAS 100 ohne Anstrengung durchzuführen ist. In einem Ausführungsbeispiel kann ein bestehendes Festplattenlaufwerk durch eines ersetzt werden, das eine höhere Kapazität aufweist. Eine NAS 100 kann mehrere zusätzliche, leere "Laufwerkschlitten" umfassen, die in der Lage sind, eine Anzahl von Laufwerken zu halten, und die für ein zukünftiges Wachstum und eine zukünftige Expansion geeignet sind.
  • Wenn eine NAS zum ersten Mal mit der beispielhaften Vermittlungsvorrichtung verbunden wird, die in 1 gezeigt ist, kann einer oder können mehrere ihrer Parameter als ein Teil eines Initialisierungsprozesses installiert werden. In einem Ausführungsbeispiel umfassen die Parameter, die während des Initialisierungsprozesses installiert werden, die Zeit, das Datum und die Zeitzone der NAS. Die NAS kann zum Beispiel den Computer, der in 1 veranschaulicht ist, als eine Referenzquelle bei der Installation ihrer Zeit, ihres Datums und ihrer Zeitzone benutzen. Es wird in Betracht gezogen, dass die NAS jede der anderen Datenverarbeitungsvorrichtungen (z.B. die digitale Cyber-Kamera, die digitale Kamera, den PVR ohne Festplattenlaufwerk, den PVR mit Festplattenlaufwerk, den MP3 Player oder den PDA), die in 1 gezeigt sind, in dem Installationsprozess als eine Referenzquelle benutzen kann.
  • 2 ist ein Blockdiagramm einer am Netzwerk angeschlossenen Speichervorrichtung (NAS) 200 in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung. Die NAS 200 umfasst eine gedruckte Leiterplatte (NAS PCB) 202, die eine oder mehrere Komponenten enthält. Die einen oder mehreren Komponenten sind mittels der gedruckten Leiterplatte (PCB) 202 elektrisch angeschlossen. Die einen oder mehreren Komponenten umfassen einen NAS-Chip (NASoC) 204, einen Direktzugriffsspeicher 208, einen Flash-Speicher 212, eine Wechselstrom-Schnittstelle 216, eine Stromversorgung 220, einen Block von Schnittstellen 224, ein Drahtlos-Transceiver-/Antennen-Modul 228, ein oder mehrere Festplattenlaufwerke 232 und einen Controller 326. Der Schnittstellenblock 224 kann eine oder mehrere der folgenden Schnittstellen umfassen; IEEE 1394, USB, 10/100 Ethernet, Gigabit Ethernet, PCI, SATA, ATA, IDE, SCSI, GPIO, usw.. Das Drahtlos-Transceiver-/Antennen-Modul 228 kann ein anschließbares Modul oder eine Mini-PCI-Karte umfassen, das bzw. die optional mit der gedruckten Leiterplatte 202 der NAS verbunden werden kann oder an diese angeschlossen werden kann. Wie veranschaulicht ist, kann die NAS 200 bis zu N Festplattenlaufwerke benutzen. Die NAS 200 kann so konfiguriert sein, dass sie basierend auf ihrer geplanten Verwendung jegliche Anzahl von Festplattenlaufwerken umfassen kann. Die Anzahl an verwendeten Festplattenlaufwerken kann zum Beispiel von der Anzahl an Benutzern, die auf die NAS 200 zugreifen, oder von den verwendeten Arten von Anwendungen abhängen. Die Anzahl an verwendeten Festplattenlaufwerken kann zum Beispiel auch von dem Ausmaß der gewünschten Datenspiegelung (Data Mirroring) oder der gewünschten Datenverteilung (Data Striping) (d.h., des RAID-Systems) abhängig sein. Ausführungsformen der vorliegenden Erfindung erlauben eine Speicherkapazitätserweiterung, da die NAS so konstruiert ist, dass sie zusätzliche Laufwerke unterbringen kann. Ein oder mehrere zusätzliche Laufwerke werden integriert, indem mühelos eine oder mehrere Arten von Laufwerken (unterschiedlicher Größen und Geschwindigkeiten) in einen Festplattenlaufwerkträger oder in einen "Laufwerkschlitten", der mühelos in das NAS-Chassis gleitet, eingeschaltet werden. In einem Ausführungsbeispiel stellt der Controller 236 eine Steuerung für jede einzelne der mehreren Vorrichtungen (wie etwa Festplattenlaufwerke) bereit, die mit dem NASoC 204 verbunden sind. Der NASoC 204 kann einen integrierten Schaltkreis-Chip umfassen, der einen Prozessor oder eine Zentraleinheit (CPU) 240 enthält.
  • 3 ist ein Blockdiagramm eines NAS-Chips (NASoC) 300 in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung. Der NASoC 300 ist ein integrierter Schaltkreis, der auf die vorher beschriebene NAS PCB aufgesetzt ist. Der NASoC 300 stellt eine oder mehrere Funktionen bereit, die es der NAS erlauben, korrekt zu arbeiten. Der NASoC 300 umfasst eine Zentraleinheit (CPU) 304, einen chipinternen Direktzugriffsspeicher 308, einen Ethernet-/MAC-Controller 312, einen Verschlüsselungsbeschleuniger 316, einen Sicherheits-/Authentifizierungs-, Schlüsselaustausch-DRM-Chip 320 und eine Anzahl von Schnittstellen 324, 328, 332, 336, 340. Es können zum Beispiel die folgenden Schnittstellen verwendet werden: eine USB-Geräte-Schnittstelle 324, eine PCI-Host-Schnittstelle 332, eine GPIO-/LCD-/Flash-Medien-Schnittstelle 328, eine ATA-Schnittstelle 336 und eine USB-Host-Schnittstelle 340. Der NAS-Chip 300 kann mit der einen oder den mehreren Komponente(n), die unter Bezugnahme auf 5 beschrieben wird/werden, kommunizieren und/oder mit diesen verbunden sein.
  • Unter Bezugnahme auf 2 kann die NAS 200 variierende Anzahlen von Festplattenlaufwerken enthalten, und zwar in Abhängigkeit von ihren Speicherungs- und RAID-(Spiegelungs- und/oder Verteilungs-)-Anforderungen. Zum Beispiel kann die NAS 200 4 Festplattenlaufwerke für die Implementierung von RAID 0 + 1 (sowohl Datenspiegelung als auch Datenverteilung) verwenden, was für die Verwendung in einer kleinen Büroumgebung/in einem kleinen Unternehmensumfeld geeignet ist. Andererseits kann die NAS 200 in einer häuslichen Umgebung (oder Privathaushaltsumgebung) nur 1 oder 2 Festplattenlaufwerke verwenden, da die ausgenutzte Speicherkapazität typischerweise geringer ist als diejenige, die in einer Büroumgebung oder in einem Unternehmensumfeld genutzt wird. In anderen repräsentativen Ausführungsbeispielen kann die NAS 200 jegliche Anzahl von Festplattenlaufwerken (d.h., ein oder mehrere Festplattenlaufwerke) verwenden. In ähnlicher Weise können die Speicherkomponenten, die in der NAS 200 verwendet werden, in Abhängigkeit von der Art der Verwendung variiert werden. Da de Datenspeicherungsanforderungen ansteigen und da die Frequenz der datenspeicherungsbezogenen Anfragen ansteigt, kann die Leistung der NAS 200 verbessert werden, um diese operativen Erfordernisse zu erfüllen, indem die Speichergröße der NAS 200 vergrößert wird. Zum Beispiel können die Flash- oder DRAM-Speicherkapazitäten vergrößert werden, um die Verarbeitungsleistung der NAS 200 zu verbessern. In ähnlicher Weise können die Chassis-Größe, die Stromschaltungen und andere Komponenten so eingestellt werden, dass sie die Verarbeitungsanforderungen erfüllen, wenn die Speicherkapazität der NAS erweitert wird.
  • In einem Ausführungsbeispiel führt der Prozessor 240 in dem NASoC (204 bzw. 300) eine Software oder Firmware aus, die in dem RAM 208 und/oder dem Flash-Speicher 212 residiert, wenn die NAS 200 gestartet oder einge schaltet wird. In einem Ausführungsbeispiel erzeugt die Ausführung der Software einen oder mehrere fehlertolerante Algorithmen, die verwendet werden, wenn ein oder mehrere Fehler während der Datenmanipulation durch die NAS 200 auftreten. In einem Ausführungsbeispiel ist die Software oder die Firmware in dem RAM 208 oder dem Flash-Speicher 212 der NAS 200 gespeichert, wie vorher unter Bezugnahme auf 2 erwähnt wurde. Der Flash-Speicher kann einen nichtflüchtigen Direktzugriffsspeicher (NVRAM; non-volatile random access memory) umfassen.
  • 4 ist ein Operationsablaufdiagramm, das den Prozess des Erfassens und Korrigierens von beschädigten Daten in einem oder mehreren Datenspeicherlaufwerken einer NAS in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung veranschaulicht. Das Auftreten eines Fehlers kann zu einer Beschädigung von Daten führen, die in einer oder mehreren Partitionen des einen oder der mehreren Datenspeicherlaufwerke gespeichert sind. Die beschädigten Daten können einen oder mehrere Poolinformationsblöcke (PIBs) umfassen, die bei der Verbindung oder Verkettung von einer oder mehreren Partitionen verwendet werden, die dazu verwendet werden, einen Datenpool zu erzeugen oder zu bilden. Das Auftreten eines Fehlers kann zum Beispiel einen Stromausfall während einer Datenverarbeitung oder einer Datenmanipulation der PIBs umfassen. Zum Beispiel kann ein Stromausfall oder eine Stromzufuhrunterbrechung während einer Operation in einem PIB die Beschädigung von Daten verursachen. Die Operation kann zum Beispiel die Aktualisierung von Daten umfassen, die in einem PIB gespeichert sind. Des Weiteren kann eine Unterbrechung eines elektrischen Signals, das zu den einen oder mehreren Datenspeicherlaufwerken in der NAS geliefert wird, ein Auftreten eines Fehlers begründen. Dies kann auftreten, wenn ein Benutzer ein Datenspeicherlaufwerk entfernt oder abrupt abkoppelt. Ein Auftreten eines Fehlers kann jeden physischen oder elektrischen Stimulus umfassen, der eine Beschädigung von Daten in dem einen oder den mehreren Datenspeicherlaufwerken der NAS verursacht. Beim Schritt 404 tritt ein beispielhafter Stromausfall auf, während die Daten von der NAS manipuliert werden. Der Stromausfall kann zum Beispiel auftreten, während ein Poolinformationsblock (PIB) modifiziert oder aktualisiert wird. Der Stromausfall kann dazu führen, dass beschädigte Daten in einer oder mehreren Partitionen eines oder mehrerer Festplattenlaufwerke gefunden werden. Die einen oder mehreren Partitionen können den PIB umfassen, der modi fiziert wird. Jede der einen oder mehreren Partitionen können gespiegelte (oder doppelte) Poolinformationsblöcke (PIBs) umfassen. Als eine Folge davon kann es sein, dass nur einer der beiden PIBs (z.B. der aktive oder erste PIB) von dem Auftreten des Fehlers oder dem beispielhaften Stromausfall betroffen ist. Beim Schritt 408 entdeckt die NAS beschädigte Daten zum Beispiel dann, wenn sie einen oder mehrere Datenpools liest. Die NAS kann beschädigte Daten entdecken, wenn ein Datenpool gelesen wird, nachdem eine oder mehrere Partitionen verkettet worden sind. Beim Schritt 412 werden ein oder mehrere Algorithmen verwendet, um die beschädigten Daten in dem beschädigten PIB (z.B. dem aktiven PIB oder dem ersten PIB oder dem ersten Kopfteil) wiederherzustellen, indem sein Spiegel-PIB (z.B. der inaktive PIB oder der zweite PIB oder der zweite Kopfteil) verwendet werden. In einem repräsentativen Ausführungsbeispiel kann der assoziierte Datenpool abgesetzt werden, wenn die beschädigten Daten in dem betroffenen PIB wiederhergestellt werden. Wie in der US-Patentanmeldung mit dem Titel "METHOD AND SYSTEM OF DATA STORAGE CAPACITY ALLOCATION AND MANAGEMENT USING ONE OR MORE DATA STORAGE DRIVES", eingereicht am 22. März 2005 (Anwaltsregisternummer 15675US03), Veröffentlichungsnummer 2005 0235 337, veröffentlicht am 20. Oktober 2005 erwähnt wird, können die ersten und zweiten Kopfteile (der gespiegelten PIBs) Informationen enthalten, die die verschiedenen Partitionen betreffen, die kollektiv einen Datenpool bilden. Jeder der ersten und zweiten Kopfteile kann Informationen enthalten, die sich auf die organisatorische Struktur und/oder die Identifikation seiner Partition in seinem assoziierten Datenpool beziehen. Dieser Erfassungs- und Korrekturprozess kann durch zum Beispiel das Lesen, das Verifizieren und das Testen einer oder mehrerer assoziierten Datenpools stattfinden. Nachdem die Daten in dem ersten PIB wiederhergestellt worden sind, wird der Prozess mit dem Schritt 416 fortgesetzt, bei dem auf die korrigierten Daten erfolgreich zugegriffen wird oder bei dem sie erfolgreich gelesen werden und bei dem seine assoziierten Partitionen korrekt verbunden werden, um den erwarteten Datenpool zu bilden. Der Datenpool kann unter Verwendung einer oder mehrerer Anwendungen als einem endgültigen Verifizierungsschritt getestet werden. Danach kann der assoziierte Datenpool erneut aufgesetzt werden. Die Daten aus dem Datenpool können von einem oder mehreren Datenverarbeitungsvorrichtungen oder Datenberechnungsvorrichtungen, die kommunikativ mit der NAS gekoppelt sind, angefordert und abgerufen werden. Eine oder mehrere Anwendungen können nun die Daten verwenden, die in dem Datenpool gespeichert sind.
  • In einem repräsentativen Ausführungsbeispiel kann die NAS beschädigte Daten dadurch erfassen, dass sie ein oder mehrere entsprechende Felder jedes der beiden PIBs überprüft. Zum Beispiel kann die NAS eine Abweichung von Daten zwischen zwei entsprechenden Feldern entdecken. In einem repräsentativen Ausführungsbeispiel werden ein oder mehrere Algorithmen an die doppelten PIBs jeder der einen oder mehreren Partitionen angelegt, um jegliche beschädigten Daten zu erfassen und zu korrigieren, die in jedem der PIBs in den einen oder mehreren Partitionen des Datenpools gefunden werden. Zum Beispiel können der eine oder die mehreren Algorithmen jegliche Abweichung zwischen entsprechenden Feldern der doppelten PIBs erfassen und korrigieren. Wenn eine Diskrepanz einmal entdeckt ist, dann kann der eine oder die mehreren Algorithmen die weitere Prüfung anderer Felder in den PIBs bewirken. Die Algorithmen können das Vergleichen der gespeicherten Daten von entsprechenden PIBs jeder der einen oder mehreren Partitionen eines Datenpools umfassen. In einem repräsentativen Ausführungsbeispiel kann die NAS das Zeit- und Datenfeld des PIB verwenden, um festzustellen, welcher der beiden PIBs früher erzeugt worden war. In einem repräsentativen Ausführungsbeispiel kann der PIB, der früher erzeugt wurde, als eine Referenz für das neue Schreiben von Daten in das beschädigte Feld des anderen PIB verwendet werden.
  • 5 ist ein Operationsablaufdiagramm, das eine fehlertolerante Prozedur in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung implementiert, wenn ein oder mehrere Probleme ein Plattenfeld in einem Plattenkopf während einer Plattenumbenennungsoperation beschädigen. Die einen oder mehreren Probleme können Datenfehler umfassen, die sich aus einem Stromausfall der NAS ergeben oder sich dadurch ergeben, dass ein Festplattenlaufwerk von der NAS zu dem Zeitpunkt entfernt wird, an dem eine Umbenennungsoperation durchgeführt wird. Beim Schritt 504 treten ein oder mehrere Probleme auf, die Fehler beim Schreiben eines Plattennamens in ein Plattennamenfeld eines Plattenkopfes eines Festplattenlaufwerks verursachen. Zum Beispiel kann ein Stromausfall während einer Plattenumbenennungsoperation bewirken, dass sich die NAS selbst neu startet. Während des Neustartzyklus kann die NAS automatisch Instruktionen während der Startsequenz ausführen, um ein oder mehrere Felder zu verifizieren oder zu prüfen, die mit der Plattenumbenennungsoperation assoziiert sind. Die einen oder mehreren Felder können die Pane-Partitions-Spezifikations-Felder umfassen, die sich in einem oder mehreren Poolinformationsblöcken (PIBs) befinden. (Siehe dazu US-Patentanmeldung mit dem Titel "METHOD AND SYSTEM OF DATA STORAGE CAPACITY ALLOCATION AND MANAGEMENT USING ONE OR MORE DATA STORAGE DRIVES", eingereicht am 22. März 2005 (Anwaltsregisternummer 15675US03), Veröffentlichungsnummer 2005 0235 337, veröffentlicht am 20. Oktober 2005). Beim Schritt 508 lokalisiert die NAS das Pane-Partitions-Spezifikations-Feld in einem PIB einer Partition innerhalb des Festplattenlaufwerks. Die Pane-Partitions-Spezifikation kann den Plattennamen umfassen, in dem die Partition residiert. Beim Schritt 512 kann die NAS verifizieren, dass die Plattennamen innerhalb der Pane-Partitions-Spezifikations-Felder beider PIBs äquivalent sind. Die NAS kann ferner die eindeutige Platten-ID, die NAS-ID und den Zeit-/Datumsstempel verifizieren, um die Integrität der Daten zu gewährleisten, die von den PIBs bereitgestellt werden. Als nächstes schreibt die NAS im Schritt 516 den Plattennamen neu (unter Verwendung des Plattennamens, der von einem PIB erhalten wurde) in das Plattennamenfeld in dem Plattenkopf des Festplattenlaufwerks, wenn die Plattennamen in den Pane-Partitions-Spezifikations-Feldern äquivalent sind.
  • Ausführliche Informationen bezüglich der Struktur eines Plattenkopfes können in der US-Patentanmeldung mit dem Titel "METHOD AND SYSTEM OF DATA STORAGE CAPACITY ALLOCATION AND MANAGEMENT USING ONE OR MORE DATA STORAGE DRIVES", eingereicht am 22. März 2005 (Anwaltsregisternummer 15675US03), Veröffentlichungsnummer 2005 0235 337, veröffentlicht am 20. Oktober 2005 gefunden werden. Der Plattenkopf umfasst in diesem repräsentativen Ausführungsbeispiel jeweils 2.560 Bytes. Der Plattenkopf umfasst eine Anzahl von Feldern. Die Offsets und die Bytelänge der Felder in dem Plattenkopf können variieren. Es wird in Betracht gezogen, dass andere Ausführungsbeispiele in Übereinstimmung mit verschiedenen Ausführungsformen der vorliegenden Erfindung verwendet werden können.
  • Verschiedene Ausführungsformen der Erfindung stellen bereit, dass der Plattenkopf zwei identische Partitionstabellen verwendet. Die Verwendung von zwei identischen Partitionstabellen stellt eine Redundanzmaßnahme bereit. Die erste Partitionstabelle oder die zweiten Partitionstabellen können 1024 Bytes umfassen. Der Plattenkopf ist so strukturiert, dass zu jedem gegebenen Zeitpunkt nur eine der beiden Partitionstabellen aktiv ist, wie dies von einem Ein-Byte-Flag-Feld angezeigt wird, das in dem Plattenkopf bereitgestellt wird. Wenn eine Änderung oder Modifikation bei einer Partitionstabelle durchgeführt werden soll, wird die neue Information in die inaktive Partitionstabelle geschrieben, die hiermit als eine erste Partitionstabelle identifiziert wird, und das Ein-Byte-Flag wird so umgeschaltet, dass die inaktive Partitionstabelle (die erste Partitionstabelle) aktiv gemacht wird. Nun kann auf die erste Partitionstabelle zugegriffen werden, oder sie kann von einer oder mehreren Anwendungen verwendet werden, während die zweite Partitionstabelle nun die aktualisierten Daten aus der ersten Partitionstabelle kopieren kann. Redundante Partitionstabellen stellen eine Sicherheitsmaßnahme bereit, wenn eine oder die beiden Partitionstabellen aufgrund eines Auftretens eines Fehlers beschädigt werden. Das Auftreten eines Fehlers bewirkt eine Beschädigung von Daten und/oder Datenfehler bei einer oder mehreren Partitionstabellen eines betroffenen Datenspeicherlaufwerks. Das Auftreten eines Fehlers kann eine Unterbrechung des Stromes umfassen, die zum Beispiel während der Datenverarbeitung oder der Datenmanipulation einer der beiden identischen Partitionstabellen auftritt. Das Auftreten eines Fehlers kann das Entfernen eines Datenspeicherlaufwerks umfassen, wenn gerade eine Aktualisierung bei der Partitionstabelle des Datenspeicherlaufwerks durchgeführt wird. Die Partitionstabellen stellen natürlich die Position und die Größen der einen oder mehreren Partitionen in dem Datenspeicherlaufwerk bereit. Ausführliche Information bezüglich des Plattenkopfes können in der US-Patentanmeldung mit dem Titel "METHOD AND SYSTEM OF DATA STORAGE CAPACITY ALLOCATION AND MANAGEMENT USING ONE OR MORE DATA STORAGE DRIVES", eingereicht am 22. März 2005 (Anwaltsregisternummer 15675US03), Veröffentlichungsnummer 2005 0235 337, veröffentlicht am 20. Oktober 2005 gefunden werden.
  • Verschiedene Ausführungsformen der vorliegenden Erfindung stellen eine Fehlertoleranz während einer Poolumbenennungsoperation bereit. Ein oder mehrere Verfahren und Systeme der Fehlertoleranz während der Poolumbenennung ist/sind implementiert. In einem repräsentativen Ausführungsbeispiel verhindert das verwendete Verfahren das Schreiben eines Datenpoolna mens in einen zweiten PIB, bis der erste PIB vollständig geschrieben ist. Das verwendete Verfahren kann die Umbenennung eines Datenpools verhindern, wenn wenigstens ein Datenspeicherlaufwerk fehlt. Bevor der Pool umbenannt wird, muss das fehlende Datenspeicherlaufwerk erneut in die Datenspeicherungsvorrichtung installiert werden.
  • Außerdem können eine oder mehrere neue Variable in einem Speicher wie zum Beispiel einem nichtflüchtigen Direktzugriffsspeicher (NVRAM) erzeugt werden, so dass der neue Datenpoolname in einer oder mehreren neuen Variablen gespeichert werden kann, während der alte Name mittels einer existierenden Variablen verwendet wird. Der Datenpoolname kann in diesem Fall für eine normale Operation von einem Printer-Server und/oder einem Controller für die primäre Domäne (PDC) benötigt werden. Wenn die existierende Variable von den Funktionen und Operationen, die von dem Printer-Server und/oder dem PDC benötigt werden, nicht verwendet wird, kann die existierende Variable unter Verwendung der gespeicherten Daten in der neuen Variablen aktualisiert werden. Danach kann die neue Variable gelöscht werden.
  • Obwohl die Erfindung unter Bezugnahme auf bestimmte Ausführungsbeispiele beschrieben worden ist, wird es den Fachleuten auf dem Gebiet klar sein, dass verschiedene Änderungen durchgeführt werden können und dass Äquivalente ersetzt werden können, ohne dass vom Schutzumfang der Erfindung abgewichen wird. Außerdem können viele Modifikationen durchgeführt werden, um eine bestimmte Situation oder ein bestimmtes Material an die Lehren der Erfindung anzupassen, ohne dass von dem Schutzumfang der Erfindung abgewichen wird. Deshalb ist es beabsichtigt, dass die Erfindung nicht auf die speziellen offenbarten Ausführungsbeispiele beschränkt ist, sondern dass die Erfindung alle Ausführungsbeispiele umfassen wird, die in den Schutzbereich der angehängten Ansprüche fallen.

Claims (4)

  1. Verfahren zur Implementierung einer Fehlertoleranz in einer Datenspeicherungsvorrichtung (200), wobei die Datenspeicherungsvorrichtung (200) ein oder mehrere Datenspeicherlaufwerke (232) umfasst, wobei das Verfahren Folgendes umfasst: zuerst das Speichern von Informationen, die mit der Implementierung von einem oder mehreren Datenpools verbunden sind, in einen oder mehrere erste Poolinformationsblöcke von einer oder mehreren Partitionen des einen oder der mehreren Datenspeicherlaufwerke (232), dadurch gekennzeichnet, dass das Verfahren des Weiteren als nächstes das Speichern der Informationen, die mit der Implementierung des einen oder der mehreren Datenpools verbunden sind, in einen oder mehrere zweite Poolinformationsblöcken der einen oder mehreren Partitionen des einen oder der mehreren Datenspeicherlaufwerke (232) umfasst, wobei die ersten und zweiten Poolinformationsblöcke beim Verbinden oder Verketten der einen oder mehreren Partitionen, die zur Erzeugung oder Bildung eines Datenpools verwendet werden, verwendet werden.
  2. Verfahren nach Anspruch 1, wobei die Redundanz, die von den einen oder mehreren ersten Poolinformationsblöcken und den einen oder mehreren zweiten Poolinformationsblöcken bereitgestellt wird, dazu verwendet wird, Datenfehler zu verhindern, die bei den einen oder mehreren ersten Poolinformationsblöcken und den einen oder mehreren zweiten Poolinformationsblöcken auftreten können, wenn eine Datenaktualisierung bei den einen oder mehreren ersten Poolinformationsblöcken und den zweiten Poolinformationsblöcken durchgeführt wird.
  3. Verfahren nach Anspruch 2, wobei die Datenfehler aus einer Stromzufuhrunterbrechung resultieren.
  4. Verfahren nach Anspruch 2, wobei die Datenfehler aus dem Entfernen eines oder mehrerer Datenspeicherlaufwerke (232) resultieren, während die Datenaktualisierung bei den einen oder mehreren ersten und/oder zweiten Poolinformationsblöcken durchgeführt wird.
DE200560002490 2004-04-15 2005-04-07 Fehlertolerantes Datenspeicherungsverfahren Active DE602005002490T2 (de)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US56285204P 2004-04-15 2004-04-15
US562852P 2004-04-15
US64848805P 2005-01-31 2005-01-31
US648488P 2005-01-31
US87136 2005-03-22
US11/087,136 US7395402B2 (en) 2004-04-15 2005-03-22 Method and system of data storage capacity allocation and management using one or more data storage drives
US96167 2005-03-30
US11/096,167 US7500135B2 (en) 2004-04-15 2005-03-30 Fault tolerant data storage device

Publications (2)

Publication Number Publication Date
DE602005002490D1 DE602005002490D1 (de) 2007-10-31
DE602005002490T2 true DE602005002490T2 (de) 2008-06-12

Family

ID=34934875

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200560002490 Active DE602005002490T2 (de) 2004-04-15 2005-04-07 Fehlertolerantes Datenspeicherungsverfahren

Country Status (2)

Country Link
EP (1) EP1586996B1 (de)
DE (1) DE602005002490T2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370175B2 (en) * 2006-03-31 2008-05-06 Intel Corporation System, method, and apparatus to aggregate heterogeneous RAID sets
US20100146188A1 (en) * 2008-12-09 2010-06-10 Bramante William J Replicated file system for electronic devices
CN103605619B (zh) * 2013-11-20 2017-09-12 邢博 一种基于分区表容错的可信存储方法
US11210173B2 (en) 2018-05-09 2021-12-28 Microsoft Technology Licensing, Llc Fault tolerant device upgrade
CN113905414B (zh) * 2021-10-15 2023-09-29 哲库科技(北京)有限公司 一种nas消息处理方法、装置及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000090645A (ja) * 1998-09-08 2000-03-31 Sony Corp ファイル管理装置および方法、並びに提供媒体
KR100392382B1 (ko) * 2001-07-27 2003-07-23 한국전자통신연구원 동적 크기 변경 및 메타 데이터 양의 최소화를 위한 논리볼륨 관리 방법

Also Published As

Publication number Publication date
EP1586996B1 (de) 2007-09-19
DE602005002490D1 (de) 2007-10-31
EP1586996A3 (de) 2005-12-21
EP1586996A2 (de) 2005-10-19

Similar Documents

Publication Publication Date Title
DE60111039T2 (de) Speichersystem das aus mehreren speichergeräten besteht, mit verschiedenen fehlertoleranten verfahren
DE69127752T2 (de) System zur freigabe des raumes gelöschter dateien für ein dynamisch abbildendes virtuelles datenspeichersubsystem
DE60210211T2 (de) Redundante Datensicherungsvorrichtung und -Verfahren
DE69821426T2 (de) Speicheranordung, und Datenverarbeitungssystem und -Verfahren
DE69632219T2 (de) Speicherplattenanordnungssystem
US8433686B2 (en) Storage control system and method
US7921258B1 (en) Nonvolatile disk cache for data security
DE60113586T2 (de) Übertragen von miteinander verbundenen Datenobjekten in einer verteilten Datenspeicherumgebung
DE60212125T2 (de) Kopierprozeduren mit verifikation in datennetzwerken
DE112011100112T5 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE102005006176A1 (de) Transaktionsverarbeitungs-Systeme und -Verfahren, die einen Nicht-Platten-Dauerspeicher verwenden
US8572045B1 (en) System and method for efficiently restoring a plurality of deleted files to a file system volume
DE102009031923A1 (de) Verfahren zum Verwalten von Datenobjekten
DE112014005570T5 (de) Deaktivieren von Seiten in einem Nand-Flash-Speicher-System
DE602005002490T2 (de) Fehlertolerantes Datenspeicherungsverfahren
DE19515661C2 (de) Halbleiter-Plattenvorrichtung
DE102005012358A1 (de) Datenschutz unter Verwendung von Daten, die in Schnappschüsse verteilt sind
DE19937423C2 (de) Verfahren zur schnellen Datensicherung und Datenübertragung
DE69127735T2 (de) Dateienverzeichnisse und Verfahren
DE112004001255T5 (de) Speichervorrichtung und Speichersystem
DE112017002940T5 (de) Standard- und Nicht-Standard-Datenzugriff auf verstreute Speichernetzwerke
DE102021127814A1 (de) Ablagespeichersteuerung, operationsverfahren dafür
DE102017126911A1 (de) Verknüpfter Speichersystem- und Hostsystem-Fehlerkorrekturcode
DE69023770T2 (de) Verfahren zum betrieb eines datenverarbeitungssystems.
US7836025B1 (en) Method and apparatus for using pointers within a nonvolatile system memory of a network file computer system

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M