-
TECHNISCHES GEBIET
-
Aspekte der Offenbarung betreffen das Gebiet der Datenspeicherung und Arrays von Datenspeicherlaufwerken in Datenspeichersystemen.
-
STAND DER TECHNIK
-
Computer und Netzwerksysteme wie Personalcomputer, Arbeitsstationen, Serversysteme und Cloudspeichersysteme enthalten üblicherweise Datenspeichereinrichtungen zum Speichern und Abrufen von Daten. Diese Datenspeichereinrichtungen können Festplattenlaufwerke (HDDs), Solid-State-Speicherlaufwerke (SSDs), Bandspeichereinrichtungen, optische Speicherlaufwerke, Hybridspeichereinrichtungen, die sowohl rotierende als auch Festkörper-Datenspeicherelemente enthalten, und andere Massenspeichereinrichtungen enthalten.
-
Da Computersysteme und Netzwerke in der Anzahl und in den Fähigkeiten wachsen, gibt es einen Bedarf mehr und mehr Speicherkapazität. Cloudrechensysteme und große Datenverarbeitungssysteme haben den Bedarf an digitalen Datenspeichersystemen weiter erhöht, die fähig sind, gewaltige Datenmengen zu übertragen und zu halten. Rechenzentren können eine große Menge an Datenspeichereinrichtungen in verschiedenen gestellmontierten und hochdichten Speicherkonfigurationen enthalten.
-
Magnetische Speicherlaufwerke wie Festplattenlaufwerke können verschiedene magnetische Speichertechnologien mit hoher Dichte einsetzen. Eine solche Speichertechnologie enthält Datenspeicherlaufwerke mit SMR-Technologie (Shingled Magnetic Recording, geschuppte Magnetaufzeichnung), um Speicherdichten auf assoziierten Speichermedien zu erhöhen. Die SMR-Technologie überlappt benachbarte Datenspuren auf einem magnetischen Speichermedium physisch, um einen Speicher mit hoher Dichte auf den Speichermedien herzustellen, im Gegensatz zu einer nicht überlappenden Aufzeichnungstechnologie wie Senkrechtaufzeichnung (PMR) oder anderen nicht überlappenden Aufzeichnungstechniken.
-
Datenspeichereinrichtungen, die Aufzeichnungstechniken mit hoher Dichte einsetzen, können jedoch aufgrund des engen Abstands von benachbarten Spuren höhere Datenausfallsraten während Schreib- und Lesevorgängen erfahren. Verlangsamungen im Durchsatz können auch teilweise aufgrund langwieriger Schreibverifikationsprozesse nach dem Schreiben auf die Speichermedien auftreten.
-
ÜBERSICHT
-
Um verbesserten Betrieb von Datenspeichereinrichtungen und -systemen bereitzustellen, werden hierin verschiedene Systeme, Vorrichtungen, Verfahren und Software bereitgestellt. In einem ersten Beispiel wird eine Datenspeichereinrichtung präsentiert, die einen Schreibprozess durchführt, um Daten auf einem Speichermedium der Datenspeichereinrichtung als Reaktion auf eine oder mehrere Schreiboperationen zu speichern, die über eine Hostschnittstelle empfangen wurden. Die Datenspeichereinrichtung überwacht eine Qualität des Schreibprozesses und bestimmt, warm die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt. Als Reaktion darauf, dass die Qualität des Schreibprozesses unter den Grenzqualitätswert fällt, zeigt die Datenspeichereinrichtung die Qualität des Schreibprozesses an einen Datenschutzknoten an, der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren. Die Datenspeichereinrichtung empfängt die Datenparitätsinformationen und speichert die Datenparitätsinformationen.
-
In einem anderen Beispiel wird ein Betriebsverfahren einer Datenspeichereinrichtung vorgestellt. Das Verfahren enthält ein Durchführen eines Schreibprozesses, um als Reaktion auf eine oder mehrere Schreiboperationen, die über eine Hostschnittstelle empfangen wurden, Daten auf einem Speichermedium der Datenspeichereinrichtung zu speichern, ein Überwachen einer Qualität des Schreibprozesses und ein Bestimmen, wann die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt. Als Reaktion darauf, dass die Qualität des Schreibprozesses unter den Grenzqualitätswert fällt, enthält das Verfahren ein Anzeigen der Qualität des Schreibprozesses an einen Datenschutzknoten, der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren. Das Verfahren enthält auch ein Empfangen der Datenparitätsinformationen und als Reaktion ein Speichern der Datenparitätsinformationen.
-
In einem anderen Beispiel wird ein Datenspeichersystem dargelegt. Das Datenspeichersystem enthält eine Vielzahl von Datenspeichereinrichtungen, die jeweils konfiguriert sind, Daten auf assoziierten Speichermedien zu speichern und abzurufen. Eine erste Datenspeichereinrichtung ist konfiguriert, einen Schreibprozess durchzuführen, um Daten auf einem Speichermedium der ersten Datenspeichereinrichtung als Reaktion auf eine oder mehrere Schreiboperationen zu speichern, die über eine Hostschnittstelle empfangen wurden. Die erste Datenspeichereinrichtung ist konfiguriert, eine Qualität des Schreibprozesses zu überwachen und zu bestimmen, wann die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt. Als Reaktion darauf, dass die Qualität des Schreibprozesses unter den Grenzqualitätswert fällt, ist die erste Datenspeichereinrichtung konfiguriert, die Qualität des Schreibprozesses an einen Datenschutzknoten anzuzeigen, der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren. Die erste Datenspeichereinrichtung ist konfiguriert, die Datenparitätsinformationen zu empfangen und die Datenparitätsinformationen auf zumindest entweder der ersten Datenspeichereinrichtung oder der zweiten Datenspeichereinrichtung zu speichern.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Viele Aspekte der Offenbarung können besser unter Bezugnahme auf die folgenden Zeichnungen verstanden werden. Die Komponenten in den Zeichnungen sind nicht unbedingt maßstabsgetreu, stattdessen wird eine klare Illustration der Prinzipien der vorliegenden Offenbarung betont. Darüber hinaus bezeichnen in den Zeichnungen gleiche Bezugsziffern entsprechende Teile durch die mehreren Ansichten hinweg. Während mehrere Ausführungsformen in Verbindung mit diesen Zeichnungen beschrieben werden, ist die Offenbarung nicht auf die hierin offenbarten Ausführungsformen beschränkt. Im Gegenteil, es sollen alle Alternativen, Modifikationen und Äquivalente abgedeckt werden.
-
1 ist ein Systemdiagramm, das ein Datensystem illustriert.
-
2 ist ein Ablaufdiagramm, das ein Betriebsverfahren eines Datenspeichersystems illustriert.
-
3 ist ein Systemdiagramm, das ein Datensystem illustriert.
-
4 ist ein Ablaufdiagramm, das ein Betriebsverfahren eines Datenspeichersystems illustriert.
-
5 ist ein Diagramm, das eine Positionsfehlersignalerkennung illustriert.
-
6 ist ein Diagramm, das beispielhafte ECC-Paritätsgrößenberechnungen illustriert.
-
7 ist ein Blockdiagramm, das ein Steuersystem illustriert.
-
DETAILLIERTE BESCHREIBUNG
-
Magnetische Speichereinrichtungen mit hoher Dichte setzen eine Vielfalt von Speichertechnologien ein. Eine solche Speichertechnologie enthält rotierende Datenspeichereinrichtungen mit Shingled-Magnetic-Recording(SMR)-Technologie. SMR-Technologie erlaubt Lese/Schreib-Köpfen benachbarte Datenspuren auf den Speichermedien physisch zu überlappen, im Gegensatz zu einer nicht überlappenden Aufzeichnungstechnologie, wie unter anderem Senkrechtaufzeichnung (PMR). Da die SMR-Technologie in engen Abständen angeordnete und überlappende Datenspuren auf den Speichermedien aufweist, werden sequenzielle oder Burst-Schreiboperationen anstatt zufälliger Schreiboperationen bevorzugt. Die engen Abstände der Spuren können auch zu höheren Fehlerraten für Daten führen, die auf die Medien geschrieben werden. Dies hat zur Verwendung von Schreib-Lese-Verifizieroperationen geführt, die eine Anhäufung von Daten schreiben, die dann von den Medien gelesen wird und als richtig geschrieben verifiziert wird. Die Schreib-Lese-Verifizieroperationen können jedoch den Durchsatz der Datenspeichereinrichtungen beeinflussen und eine langsamere Operation als gewünscht ergeben. Andere Speichermedientypen, wie Festkörpermedien können auch unter Schreib-Lese-Verifizier-Verlangsamungen leiden, wie unter anderem Flashmedien, magnetoresistive Medien oder optische Medien. Hybrid-Datenspeichereinrichtungen, die sowohl rotierende magnetische Medien und Festkörpermedien verwenden, können auch von Schreib-Lese-Verifizier-Verlangsamungen in beiden Medientypen beeinflusst werden.
-
In den Beispielen hierin kann Schreiben-Lesen-Verifizieren durch Verwendung erweiterter Datenschutzprozesse reduziert oder vermieden werden, die beim Generieren zusätzlicher Datenschutzinformationen wie einer Parität oder einer Fehlerkorrekturcode(ECC)-Parität eine Schreibqualität berücksichtigen. Bei normalem Betrieb generiert eine Datenspeichereinrichtung wie ein Festplattenlaufwerk eine „Hardware”-Parität für jede Spur von auf die Medien geschriebenen Daten. Die Daten der Spur werden jedoch weiterhin zurückgelesen und verifiziert, bevor sie in eine andere Spur geschrieben werden. Obwohl manche Beispiele eine Spurverifizierung in Chargen durchführen, findet der Schreib-Lese-Verifizierprozess weiterhin statt.
-
In einem ersten Beispiel eines erweiterten Datenspeichersystems wird 1 gezeigt. 1 ist ein Systemdiagramm, das ein Datensystem 100 illustriert. Das System 100 enthält eine Datenspeichereinrichtung 110 und ein Hostsystem 140. Die Datenspeichereinrichtung 110 und das Hostsystem 140 kommunizieren über eine Speicherverbindung 130. Die Datenspeichereinrichtung 110 kann in einer Baugruppe enthalten sein, die eine oder mehrere Datenspeichereinrichtungen und ein oder mehrere Steuersysteme enthält. In 1 enthält die Datenspeichereinrichtung 110 ein Steuersystem 112 und Speichermedien 111. Das Steuersystem 112 ist kommunikativ an die Speichermedien 111 gekoppelt. Obwohl das Steuersystem 112 in diesem Beispiel als intern zur Datenspeichereinrichtung 110 gezeigt wird, sollte klar sein, dass das Steuersystem 112 in anderen Beispielen in anderen Elementen extern zum Datenspeichersystem 110 enthalten sein kann. In manchen Beispielen umfasst die Datenspeichereinrichtung 110 ein Festplattenlaufwerk (HDD).
-
Im Betrieb empfängt die Datenspeichereinrichtung 110 Lese- oder Schreibtransaktionen über die Speicherverbindung 130, die vom Hostsystem 140 ausgegeben werden. Reagierend auf Lesetransaktionen kann die Datenspeichereinrichtung 110 Daten zur Übertragung zum Hostsystem 140 abrufen, die auf den Speichermedien 111 gespeichert sind. Reagierend auf Schreibtransaktionen speichert die Datenspeichereinrichtung 110 Daten auf den Speichermedien 111. Es sollte klar sein, dass andere Komponenten der Datenspeichereinrichtung 110 aus Gründen der Klarheit in 1 weggelassen sind, wie Transaktionswarteschlangen, Rahmen, Gehäuse, Lüfter, Verschaltung, Lese/Schreib-Köpfe, Anker, Vorverstärker, Sende-Empfänger, Prozessoren, Verstärker, Motoren, Servos, Gehäuse und andere elektrische und mechanische Elemente.
-
Daten werden reagierend auf verschiedene Speicheroperationen gespeichert, wie Speicheroperationen, die vom Datenspeicherarray über die Speicherverbindung 130 empfangen wurden. Die Datenspeichereinrichtung 110 empfängt vom Hostsystem 140 übertragene Speicheroperationen, die Schreiboperationen zur Speicherung von Schreibdaten auf Speichermedien 111 und Leseoperationen zum Abrufen von bereits auf den Speichermedien 111 gespeicherten Daten umfassen. In diesem Beispiel werden die Speicheroperationen vom Steuersystem 112 über die Speicherverbindung 130 empfangen und können in eine Transaktionswarteschlange oder eine Warteschlange mit Eingabe/Ausgabe-Operationen (EAs) zur Handhabung vom Steuersystem 112 empfangen werden.
-
Um den Betrieb des Datensystems 100 weiter zu illustrieren, wird 2 bereitgestellt. 2 ist ein Ablaufdiagramm, das ein Betriebsverfahren einer Datenspeichereinrichtung 110 illustriert. Auf die Operationen von 2 wird unten in Klammern Bezug genommen. In 2 führt das Steuersystem 112 einen Schreibprozess durch (201), um Daten auf dem Speichermedium 111 der Datenspeichereinrichtung 110 als Reaktion auf eine oder mehrere Schreiboperationen zu speichern, die über eine Hostschnittstelle empfangen wurden. In 1 kann die Datenspeichereinrichtung 110 eine Hostschnittstelle zum Kommunizieren über die Verbindung 130 enthalten und diese Hostschnittstelle kann im Steuersystem 112 oder anderen Elementen der Datenspeichereinrichtung 110 enthalten sein. Der Schreibprozess kann eine Schreiboperation 150 von 1 umfassen, die eine oder mehrere Schreibbefehle oder Schreiboperationen 151 enthalten kann, die vom Hostsystem 140 empfangen werden. Dieser Schreibprozess kann der Datenspeichereinrichtung 110 befehlen, eine Anhäufung von Daten auf die Speichermedien 111 zu schreiben, auf denen die Anhäufung von Daten eine oder mehrere Spuren der Speichermedien 111 umspannen kann. In einem ersten Schreibprozess werden Daten 121 auf die Medien 111 geschrieben. In einem zweiten Schreibprozess werden Daten 122 auf die Medien 111 geschrieben. In einem dritten Schreibprozess werden Daten 123 auf die Medien 111 geschrieben.
-
Üblicherweise sind die Medien 111 in viele Teile wie Sektoren unterteilt, die eine feste Größe während der anfänglichen Formatierung der Medien umfassen, wie 4 Kilobytes (KB) oder 4096 Bytes. Diese Sektoren können in konzentrischen Spuren auf den Medien 111 angeordnet werden, wobei jede Spur eine vorbestimmte Anzahl von Sektoren umfasst, wie 63 oder 400 Sektoren pro Spur. Jeder in den 1 und 2 besprochene Schreibprozess umfasst eine oder mehrere Schreiboperationen 151, die von Schreibdaten begleitet sind, wie durch Schreibdaten 152 in 1 angezeigt. Die Schreibdaten können einen Speicherblock oder ein Schreibband von Schreibdaten umfassen, die mehr als eine Spur der Medien 111 umspannt, wie 2 Megabytes (MB), 16 MB, 64 MB, 128 MB oder 256 MB von Daten, unter anderen Datenblockgrößen, die zwischen Schreibbändern variieren kann.
-
Während des Schreibprozesses überwacht (202) das Steuersystem 112 eine Qualität des Schreibprozesses und bestimmt, wann die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt. Die Qualität des Schreibprozesses kann entsprechen, wie gut jede Spur von Daten auf die Medien 111 geschrieben wurde. Wenn zum Beispiel ein Lese/Schreib-Kopf auf einem beweglichen Anker eingesetzt wird, Daten auf die Medien 111 zu schreiben und zu lesen, können die Ausrichtung und die Positionierung der Lese/Schreib-Köpfe über den Medien aufgrund von Vibrationen, Umgebungsbedingungen und Positionierungsgenauigkeit der assoziierten elektromechanischen Komponenten variieren. Wenn die Spuren in engen Abständen auf den Medien 111 angeordnet sind, wie in SMR-Beispielen, kann die Positionierungsgenauigkeit von Spur zu Spur und von Moment zu Moment variieren. Das Steuersystem 112 kann die Positionierungsgenauigkeit überwachen, um zu bestimmen, wie genau jede Spur gegenüber einer idealisierten Position geschrieben wurde.
-
In manchen Beispielen wird die Schreibqualität durch Erkennen von übermäßig verdichteten Sektoren während des Schreibprozesses zumindest auf Basis von Positionsfehlersignal(PES)-Metriken gemessen, die während des Schreibprozesses überwacht werden. Die PES-Metriken können anzeigen, wie genau eine Zielposition während eines Schreibprozesses von einer tatsächlichen Position eines Lese/Schreib-Kopfes über den Medien erreicht wird. Spur-zu-Spur-Unterschiede oder Delta-PES-Metriken können auch überwacht werden, um Schwankungen in den Abständen zwischen benachbarten Spuren zu identifizieren. Die Qualität des Schreibprozesses kann dann zumindest auf Basis einer Menge von übermäßig verdichteten Sektoren für jede Spur bestimmt werden.
-
Verschiedene Schwellenwerte können festgelegt werden, um die Qualität des Schreibprozesses abzuschätzen. Ein erster Schwellenwert kann festgelegt werden, der einen Schwellenwert für die Anzahl von übermäßig verdichteten Sektoren pro Spur anzeigt. Ein anderer Schwellenwert kann festgelegt werden, der einem Abstand zwischen benachbarten Spuren entspricht, wie von den PES-Metriken gemessen. Weitere Schwellenwerte können auf Basis der Genauigkeit des Schreibprozesses in Bezug auf die Medien festgelegt werden. In einem anderen beispielhaften Schwellenwert ist der Schwellenwert auf eine vorbestimmte Anzahl von übermäßig verdichteten Sektoren pro Spur wie 4 gesetzt. Diese vorbestimmte Anzahl kann als größer als eine Anzahl von Sektoren ausgewählt werden, die von Paritätsinformationen geschützt werden, die im Spurschreibprozess eingesetzt werden. Diese vorbestimmte Anzahl kann als größer als eine Anzahl von Sektoren ausgewählt werden, die für die Paritätsinformationen verwendet werden.
-
In nicht rotierenden Medien kann die Schreibqualität durch andere Metriken abgeschätzt werden. Zum Beispiel Schreibspannungsgenauigkeit in einem Flashspeicher, in dem eine Zielschreibspannung von einer tatsächlich während eines Schreibprozesses erreichten Spannung abweichen kann, was die Qualität des Schreibprozesses auf die Medien beeinflussen kann. Optische Medien wie Phasenwechselmedien können eine Genauigkeit in optischer Intensität oder eine Genauigkeit in optischer Frequenz aufweisen, was die Qualität des Schreibprozesses auf die Medien beeinflussen kann. Verschiedene Schwellenwerte können festgelegt werden, die anzeigen, wann die Schreibqualität unter ein Qualitätsziel fällt, und können in einer Anzahl von Datenblöcken, Bits, Zellen oder anderen Abgrenzungen angezeigt werden, die eine Schreibqualität unter einem gewünschten Wert aufweisen könnten.
-
Das Steuersystem 112 zeigt die Qualität des Schreibprozesses einem Datenschutzknoten an (203), der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren. In 1 zeigt das Steuersystem 112 dem Hostsystem 140 eine Schreibqualität 153 über die Verbindung 130 an. In diesem Beispiel umfasst das Hostsystem 140 einen Datenschutzknoten 141. In anderen Beispielen ist der Datenschutzknoten 141 in vom Hostsystem 140 separaten Systemen enthält oder kann in der Datenspeichereinrichtung 110 enthalten sein. Die Schreibqualität 153 kann anzeigen, wenn die vom Steuersystem 112 überwachte Schreibqualität unter das Ziel oder den Grenzschreibqualitätswert fällt. Die Schreibqualität 153 kann anzeigen, wenn die vom Steuersystem 112 überwachte Schreibqualität eine Grenzmenge an Datenteilen schlechter Qualität überschreitet, wie ein Überschreiten einer Grenzmenge an übermäßig verdichteten Sektoren.
-
Das Steuersystem 112 empfängt (204) die Datenschutzinformationen und speichert die Datenschutzinformationen. In 1 empfängt das Steuersystem 112 erweiterte Paritätsinformationen 154 über die Verbindung 130 und speichert die erweiterten Paritätsinformationen 154 auf die Speichermedien 111. Wenn sie auf den Speichermedien 111 gespeichert werden, können die erweiterten Paritätsinformationen mit dem assoziierten Datenblock oder an einer separaten Stelle gespeichert werden, wie einer Stelle, die zum Speichern erweiterter Paritätsinformationen designiert ist. Die erweiterten Paritätsinformationen können auf die Speichermedien 111 oder andere, von den Speichermedien 111 separate Speichermedien gespeichert werden, wobei die separaten Speichermedien in der Datenspeichereinrichtung 110 oder in einer anderen Datenspeichereinrichtung enthalten sein können. Redundanztechniken können für die erweiterten Paritätsinformationen eingesetzt werden, um eine zuverlässige Speicherung der erweiterten Paritätsinformationen 154 sicherzustellen.
-
In 1 werden die erweiterten Paritätsinformationen für die Daten 121 als erweiterte Parität 121P gespeichert. In diesem Beispiel wurden die Daten 122 mit ausreichender Schreibqualität geschrieben und deshalb wird für die Daten 122 keine erweiterte Parität gespeichert. Die erweiterten Paritätsinformationen für die Daten 123 werden als erweiterte Parität 123P gespeichert. Die vom Datenschutzknoten 141 bestimmten und auf die Datenspeichereinrichtung 110 übertragenen erweiterten Paritätsinformationen umfasst Datenschutzinformationen für den gesamten Schreibblock oder das gesamte Band, der bzw. das im Schreibprozess 150 gespeichert wird. Die erweiterten Paritätsinformationen 121P enthalten zum Beispiel Datenschutzinformationen für den gesamten Datenblock 121, der mehrere MB von Daten umfassen kann, wie oben angezeigt. Die Datenschutzinformationen umfassen Datenparitätsbytes oder Sektoren von Paritätsbytes, die verwendet werden, um Fehler in Daten zu erkennen und zu korrigieren.
-
Obwohl der Begriff „Parität” oder „ECC-Parität” in den aktuellen Beispielen verwendet wird, sollte klar sein, dass andere Datenschutzschemata für die erweiterten Datenschutzinformationen eingesetzt werden können, wie Fehlerkorrekturcode(ECC)-Bytes, Vorwärtsfehlerkorrektur(FEC)-Bytes, Reed-Solomon-Fehlerkorrekturcodeinformationen, Low-Density-Parity-Check(LDPC)-Informationen oder andere Datenschutzinformationen. Die erweiterten Paritätsinformationen umfassen Datenschutzinformationen, die zusätzlich zu etwaiger Hardwareparität berechnet wird, die von der Datenspeichereinrichtung 110 während des Schreibprozesses auf die Speichermedien durchgeführt wird, wie Parität pro Spur oder ECC-Parität, die bei HDD-Schreibvorgängen berechnet wird.
-
Zurück zu den Elementen von 1 kehrend enthält die Datenspeichereinrichtung 110 ein oder mehrere computerlesbare Speichermedien 111, auf die über einen oder mehrere Lese/Schreib-Köpfe und assoziierte elektromechanische Elemente zugegriffen werden kann. Die Datenspeichereinrichtung 110 enthält auch Verarbeitungsverschaltung, Kommunikationsschnittstellen, Anker, Vorverstärker, Sende-Empfänger, Prozessoren, Verstärker, Motoren, Servos, Gehäuse und andere elektrische und mechanische Elemente. Die Datenspeichereinrichtung 110 kann auch Zwischenspeichersysteme, Rahmen, Gehäuse, Lüfter, Zwischenanschlüsse, Verkabelung oder andere Verschaltungen und Ausrüstungen umfassen.
-
Die Datenspeichereinrichtung 110 kann ein Festplattenlaufwerk, ein Hybridlaufwerk oder eine andere computerlesbare Speichereinrichtung umfassen. Die Datenspeichereinrichtung 110 kann weitere Elemente enthalten, wie die für Festplattenlaufwerke 320 in 3 besprochenen, obwohl Varianten möglich sind. Die computerlesbaren Speichermedien der Datenspeichereinrichtung 110 können jeweils rotierende magnetische Speichermedien enthalten, aber können zusätzlich andere Medien wie Solid-State-Warteschlangen oder Zwischenspeichersysteme der Datenspeichereinrichtung 110 enthalten. Diese anderen Medien können Festkörperspeichermedien, optische Speichermedien, nicht rotierende magnetische Medien, magnetische Phasenwechsel-Medien, spinbasierte Speichermedien oder andere Speichermedien enthalten, einschließlich Kombinationen, Varianten und Verbesserungen davon. In manchen Beispielen umfasst die Datenspeichereinrichtung 110 ein Hybridplattenlaufwerk, das zusätzlich zu rotierenden magnetischen Speichermedien Festkörperspeicherelemente einsetzt. Die Speichermedien 111 können verschiedene magnetische Speicherschemata einsetzen, wie Shingled Magnetic Recording (SMR), Non-Shingled Magnetic Recording, Senkrechtaufzeichnung (PMR), einschließlich Kombinationen, Varianten und Verbesserungen davon.
-
Das Speichersteuerungssystem 112 enthält Verarbeitungsverschaltung, Kommunikationsschnittstellen und eine oder mehrere nicht-transitorische computerlesbare Speichereinrichtungen. Die Verarbeitungsverschaltung kann einen oder mehrere Mikroprozessoren und andere Verschaltung umfassen, die Firmware aus dem Speicher zum Betrieb wie hierin besprochen abruft und ausführt. Die Verarbeitungsverschaltung kann innerhalb einer einzigen Verarbeitungseinheit implementiert sein, aber kann auch über mehrere Verarbeitungseinheiten oder Teilsysteme verteilt sein, die beim Ausführen von Programmanweisungen zusammenarbeiten. Beispiele der Verarbeitungsverschaltung enthalten Universal-Zentralprozessoreinheiten, anwendungsspezifische Prozessoren und Logikeinrichtungen sowie eine beliebige andere Art von Verarbeitungseinrichtung, Kombinationen oder Varianten davon. Die Kommunikationsschnittstellen können eine oder mehrere Speicherschnittstellen zum Kommunizieren mit Hostsystemen, Netzwerken und Ähnlichem enthalten. Die Kommunikationssysteme können Sende-Empfänger, Schnittstellenverschaltung, Anschlüsse, Puffer, Mikrocontroller und andere Schnittstellenausrüstung enthalten.
-
Das Hostsystem 140 kann Verarbeitungselemente, Datenübertragungselemente und Benutzeroberflächenelemente enthalten. In manchen Beispielen ist das Hostsystem 140 eine Zentralprozessoreinheit einer Recheneinrichtung oder eines Rechensystems. In anderen Beispielen enthält das Hostsystem 140 auch Speicherelemente, Datenspeicher- und Übertragungselemente, Steuerelemente, Logikelemente, Firmware, Ausführungselemente und andere Verarbeitungssystemkomponenten. In noch anderen Beispielen umfasst das Hostsystem 140 einen RAID-Controllerprozessor oder einen Speichersystem-Zentralprozessor, wie einen Mikroprozessor, Mikrocontroller, ein Field Programmable Gate Array (FPGA) oder ein anderes Verarbeitungs- und Logikgerät, einschließlich Kombinationen davon. Das Hostsystem 140 kann Benutzeroberflächenelemente enthalten oder an diese über eine Schnittstelle ankoppeln, was einem Benutzer des Datenspeichersystems 100 erlauben kann, die Operationen des Datenspeichersystems 100 zu steuern oder den Status oder die Operationen des Datenspeichersystems 100 zu überwachen. Diese Benutzeroberflächenelemente können grafische oder Textanzeigen, Indikatorleuchten, Netzwerkschnittstellen, Webschnittstellen, Software-Schnittstellen, Benutzereingabegeräte oder andere Benutzeroberflächenelemente enthalten. Das Hostsystem 140 kann auch Schnittstellenverschaltung und Elemente zur Handhabung von Kommunikationen über die Speicherverbindung 130 enthalten, wie Logik, Verarbeitungsteile, Puffer, Sende-Empfänger und Ähnliches.
-
In 1 umfasst das Hostsystem 140 einen Datenschutzknoten 141. Der Datenschutzknoten 141 kann ein oder mehrere Hardware- oder Softwareelemente umfassen, die das Hostsystem 140 umfassen. Der Datenschutzknoten 141 kann zum Beispiel ein Paritäts- oder ECC-Datengenerierungsmodul umfassen, das Datenschutzinformationen für Blöcke von Daten generieren kann. Diese Datenschutzinformationen können unter Verwendung eines diskreten Verarbeitungsschaltkreises berechnet werden, wie eines Coprozessors, eines FPGA oder einer anderen Verschaltung. Diese Datenschutzinformationen können unter Verwendung eines Verarbeitungssystems des Hostsystems 340 berechnet werden, wie Zentralprozessoreinheiten (CPUs), die verschiedene Software ausführen, die die Datenschutzgenerierungssoftware zusammen mit einem assoziierten Betriebssystem, einer Benutzeroberfläche und anderer Software enthalten kann. Kombinationen von Hardware/Software können eingesetzt werden, um den Datenschutzknoten 141 zu umfassen.
-
Die Speicherverbindung 130 kann einen oder mehrere serielle oder parallele Datenverbindungen enthalten, wie eine PCIe-Schnittstelle (Peripheral Component Interconnect Express), serielle ATA-Schnittstelle, eine SAS-Schnittstelle (Serial Attached Small Computer System), eine IDE-Schnittstelle (Integrated Drive Electronics), eine ATA-Schnittstelle, eine USB-Schnittstelle (Universal Serial Bus), eine drahtlose Schnittstelle, eine Direct Media Interface (DMI), eine Ethernet-Schnittstelle, eine Netzwerkschnittstelle oder eine andere Kommunikations- und Datenschnittstelle, einschließlich Kombinationen, Varianten und Verbesserungen davon. Obwohl ein Bus 130 in 1 gezeigt wird, sollte klar sein, dass ein oder mehrere diskrete Verbindungen zwischen den Elementen des Datenspeichersystems 100 eingesetzt werden können.
-
Als ein weiteres Beispiel wird ein Datenspeichersystem, das ein Datenspeicherarray einsetzt, in 3 gezeigt. 3 ist ein Systemdiagramm, das ein Datenspeichersystem 300 illustriert. Das Datenspeichersystem 300 enthält ein oder mehrere Festplattenlaufwerke (HDDs) wie HDD 320 und enthält auch ein oder mehrere Hostsysteme 340. Das HDD 320 und das Hostsystem 340 kommunizieren über eine Speicherverbindung 330. Verschiedene Elemente des HDD 320 können in der Datenspeichereinrichtung 110 von 1 enthalten sein, obwohl Varianten möglich sind. Obwohl der Schwerpunkt auf ein HDD in 3 gelegt wird, sollte klar sein, dass mehr als ein HDD enthalten sein und mit dem Hostsystem 340 oder anderen Hostsystemen verknüpft sein könnte, wie in einer Datenspeicherumgebung, die viele Festplattenlaufwerke in einem Array einsetzt.
-
Das HDD 320 umfasst ein Festplattenlaufwerk, ein Hybridlaufwerk oder eine andere computerlesbare Speichereinrichtung. Das HDD 320 enthält eine Speichersteuerung 321, Speichermedien 322, Lese/Schreib-Köpfe 323. Die Speichersteuerung 321 enthält ein oder mehrere Untermodule, die eine Schreibqualitätserkennung 328 und ein ECC-Generierungsmodul 329 enthalten. Das HDD 320 kann weitere Elemente, wie Anker, Vorverstärker, Sende-Empfänger, Prozessoren, Verstärker, Motoren, Servos, Gehäuse und andere elektrische und mechanische Elemente enthalten. In 3 unterteilt das HDD 320 auf die Speichermedien 322 in mindestens zwei Zonen, nämlich einen Kaltspeicherbereich 325 und einen ECC-Bereich 326. In weiteren Beispielen werden keine separaten Zonen eingesetzt und eine gemeinsam genutzte Speicherzone wird verwendet.
-
Die Speichersteuerung 321 handhabt Speicheroperationen für das HDD 320, wie Empfangen von Speicheroperationen von Hostsystemen über die Speicherverbindung 330. Schreibdaten 331 können in einer oder mehreren Schreiboperationen empfangen werden und Lesedaten 332 können als Reaktion auf eine oder mehrere Leseoperationen an Hosts bereitgestellt werden. Die Speichersteuerung 321 oder das Hostsystem 340 kann eine beliebige Anzahl von logischen Datenträgern oder logischen Speichereinheiten für das HDD 320 oder unter anderen HDDs einrichten, was Segmentierung, redundante Arrays, Bänderung oder andere Datenspeichertechniken umfassen kann.
-
Die Schreibqualitätserkennung 328 und das ECC-Generierungsmodul 329 können jeweils ein oder mehrere Hardware- oder Softwareelemente umfassen, die im HDD 320 enthalten sind. In manchen Beispielen sind die Schreibqualitätserkennung 328 und das ECC-Generierungsmodul 329 in Elementen der Speichersteuerung 321 enthalten. Das ECC-Generierungsmodul 329 kann zum Beispiel ein Paritäts- oder ECC-Datengenerierungsmodul umfassen, das Datenschutzinformationen für Blöcke von Daten generieren kann und ähnliche Elemente wie das ECC-Generierungsmodul 341 des Hostsystems 340 umfassen kann. Die Schreibqualitätserkennung 328 kann ein Speichermedien-Überwachungsmodul umfassen, das eine Leistung während Schreibvorgängen auf ein assoziiertes Speichermedium überwacht, wie die Medien 322 des HDD 320. Während Schreiboperationen auf die Medien 322 überwacht die Schreibqualitätserkennung 328 die Schreibqualität und bestimmt PES-Daten oder Daten zu übermäßig verdichteten Sektoren für Schreibvorgänge auf jede Spur der Speichermedien 322. Die Schreibqualitätserkennung 328 und das ECC-Generierungsmodul 329 können jeweils eine diskrete Verarbeitungsverschaltung einsetzen, wie einen Coprozessor, ein FPGA oder eine andere Verschaltung, die ein Verarbeitungssystem des HDD 320 wie eine CPU enthalten kann, die verschiedene Software ausführt, die Schreibqualitätserkennungs- und ECC-Generierungssoftware zusammen mit assoziierten Speichersteuerungen, Betriebssystemen, Benutzeroberflächen und anderer Software enthalten kann. Kombinationen von Hardware/Software können eingesetzt werden, um jeweils die Schreibqualitätserkennung 328 und das ECC-Generierungsmodul 329 zu umfassen.
-
Das HDD 320 kann in einem redundanten Array unabhängiger Platten (RAID), einer JBOD-Einrichtung („Just a Bunch of Disks”) oder einer VBOD-Einrichtung (Virtual Box of Disks) enthalten sein, die eine Vielzahl von unabhängigen Platten enthalten, die dem Hostsystem 340 segmentiert und als eine oder mehrere logische Laufwerke präsentiert werden können. Eine VBOD-Einrichtung setzt ein oder mehrere SMR-Festplattenlaufwerke in einem Array ein. SMR-Datenträger weisen jedoch üblicherweise aufgrund der geschuppten Natur benachbarter Datenspuren Ineffizienzen bei zufälligen Schreibvorgängen auf. Die VBOD abstrahiert die SMR-Laufwerke und erlaubt zufällige Schreibvorgänge und zufällige Lesevorgänge, während sie gleichzeitig zugrunde liegende SMR-Medien aufweist, die letztendlich die assoziierten Daten halten.
-
Die Speicherverbindung 330 kann eine oder mehrere Verbindungen enthalten, obwohl in 3 eine einzige Verbindung gezeigt wird. Die Speicherverbindung 330 kann eine Speicher- oder Datenträgerschnittstelle, wie SATA (Serial Attached ATA), SAS (Serial Attached SCSI), FibreChannel, USB (Universal Serial Bus), InfiniBand, PCIe (Peripheral Component Interconnect Express), Ethernet, Internetprotokoll (IP) oder andere parallele oder serielle Speicher- oder Peripherieschnittstellen umfassen, einschließlich Varianten und Kombinationen davon.
-
Das Hostsystem 340 kann ein oder mehrere Rechen- und Netzwerksysteme enthalten, wie Personalcomputer, Server, Cloudspeichersysteme, Paketnetzwerke, Verwaltungssysteme oder andere Computer- und Netzwerksysteme, einschließlich Kombinationen und Varianten davon. Im Betrieb gibt das Hostsystem 340 über die Speicherverbindung 330 unter anderen Befehlen oder Operationen, die Steueranweisungen, Metadatenabfrageoperationen, Konfigurationsanweisungen und Ähnliches enthalten können, Lese- und Schreibbefehle oder Operationen an das HDD 320 aus. Gleichermaßen kann das HDD 320 über die Speicherverbindung 330 Lesedaten unter anderen Informationen wie grafische Benutzeroberflächeninformationen, Statusinformationen, Betriebsinformationen, Ausfallmeldungen, Warnmeldungen und Ähnliches übertragen.
-
Das ECC-Generieiungsmodul 341 kann ein oder mehrere Hardware- oder Softwareelemente umfassen, die im Hostsystem 340 enthalten sind. Das ECC-Generierungsmodul 341 kann zum Beispiel ein ECC-Paritäts- oder ECC-Datengenerierungsmodul umfassen, das Datenschutzinformationen für Blöcke von Daten generieren kann. Diese Datenschutzinformationen können unter Verwendung eines diskreten Verarbeitungsschaltkreises berechnet werden, wie eines Coprozessors, eines FPGA oder einer anderen Verschaltung. Diese Datenschutzinformationen können unter Verwendung eines Verarbeitungssystems des Hostsystems 340 berechnet werden, wie eine CPU, die verschiedene Software ausführt, die die Datenschutzgenerierungssoftware zusammen mit einem assoziierten Betriebssystem, einer Benutzeroberfläche und anderer Software enthalten kann. Kombinationen von Hardware/Software können eingesetzt werden, um das ECC-Generierungsmodul 341 zu umfassen.
-
Um den Betrieb des Systems 300 und des HDD 320 weiter zu illustrieren, wird 4 bereitgestellt. 4 ist ein Ablaufdiagramm, das ein Betriebsverfahren des Systems 300 illustriert. In 4 initiiert das Hostsystem 340 einen Schreibprozess, um ein Band von Daten auf das HDD 320 zu schreiben. Dieses Band von Daten umfasst einen 16-MB-Block von Daten, der mehrere Spuren der Medien 322 des HDD 320 umspannt. Das Hostsystem 340 gibt eine oder mehrere Schreiboperationen aus, um die Schreibdaten an das HDD 320 zum Schreiben auf die Medien 322 zu übertragen. In 3 können die Schreibdaten 331 eine oder mehrere Teile des vom Hostsystem 340 über die Verbindung 330 zur Lieferung an das HDD 320 übertragene Schreibband darstellen.
-
Die Speichersteuerung 321 des HDD 320 empfängt die Schreiboperationen und die assoziierten Schreibdaten und führt einen Burst-Schreibvorgang von Daten in den Kaltspeicherbereich 325 der Medien 322 durch. Der Kaltspeicherbereich 325 umfasst ein SMR-Gebiet der Medien 322, das in engen Abständen angeordnete oder überlappende Spuren von Daten auf den Medien 322 enthält. Aufgrund der engen Abstände werden Schreib-Bursts bevorzugt, um sicherzustellen, dass bestehende Daten nicht überschrieben werden, was eintreten würde, falls stattdessen zufällige Schreibvorgänge eingesetzt würden.
-
Die Speichersteuerung 321 kann die Schreiboperationen und Schreibdaten vor der Übergabe an die Medien 322 in einer Warteschlange oder anderen Datenstruktur bereitstellen, wie einer E/A-Warteschlange, Befehlswarteschlange oder einem anderen temporären Speicher. Dieser temporäre Speicher kann in einen Hostschnittstellenteil des HDD 320 eingebunden sein und diese Hostschnittstelle kann in Teilen der Speichersteuerung 321 oder anderen Elementen des HDD 320 enthalten sein.
-
Während des Schreibprozesses, um Daten auf die Medien 322 zu schreiben, überwacht die Speichersteuerung 321 die Schreibqualität für die Daten, die auf die Medien 322 geschrieben werden. Die Schreibqualität kann ein Überwachen der Positionsfehlersignal(PES)-Metriken während des Schreibprozesses umfassen. Die PES-Metriken können anzeigen, wie genau eine Zielposition während des Schreibprozesses von einer tatsächlichen Position eines Lese/Schreib-Kopfes über den Medien 322 erreicht wird. Spur-zu-Spur-Unterschiede oder Delta-PES-Metriken können auch überwacht werden, um Schwankungen in den Abständen zwischen benachbarten Spuren zu identifizieren.
-
Als ein Beispiel von PES-Überwachung während Schreibvorgängen wird 5 präsentiert. 5 enthält eine Darstellung von zwei benachbarten Spuren eines Speichermediums, wie den Medien 322, obwohl andere Medien repräsentiert werden können. Die Spuren sind in Beispielen von rotierenden magnetischen Medien konzentrische Kreise und die 5 zeigt jede Spur auf eine lineare Illustration expandiert. Jeder Sektor, der auf die assoziierte Spur geschrieben wird, wird durch eine Ziffer darüber von 0 bis ,N' angezeigt, die alle Sektoren der assoziierten Spur repräsentiert.
-
Wenn Daten für eine bestimmte Spur geschrieben werden, wie Spur 1, tritt ein Servomuster aufgrund von Bewegung der Lese/Schreib-Köpfe 323 über die Medien aufgrund des Antriebs von Ankern und assoziierten Servo- oder Schwingspulenkomponenten auf, die die Lese/Schreib-Köpfe 323 über den Medien positionieren. Dieser Prozess weist inhärente Fehler und Ungenauigkeiten auf, die zu Abweichungen in der Spurführung des Lese/Schreib-Kopfes über die assoziierten Medien führen können, wie durch eine gewundene Linie gezeigt, die das Servomuster in 5 repräsentiert. Ein ähnlicher Prozess tritt für Spur 1 und Spur 2 in 5 auf, wobei spezifische Servomuster mit diesen assoziiert sind. Die Bewegung der Lese/Schreib-Köpfe kann von der Speichersteuerung 321 oder anderen Überwachungskomponenten überwacht werden (einschließlich der Schreibqualitätserkennung 328 von 3). Diese Bewegung kann mit einem idealisierten kreisförmigen Muster verglichen werden und Abweichungen davon können für jede Spur überwacht werden.
-
Vergleiche von Spur zu Spur der Servomuster können für Sektoren verglichen werden, die einander benachbart auf den benachbarten Spuren liegen. Dieser Vergleich von Spur zu Spur kann als eine Delta-PES-Messung bezeichnet werden. Sektor 0 von Spur 1 kann zum Beispiel mit Sektor 0 von Spur 2 verglichen werden, und so weiter für die verbleibenden Sektoren jeder Spur. Das Delta-PES würde anzeigen, wie eng benachbarte Spuren gepackt sind, indem die einzelnen Sektoren jeder benachbarten Spur überwacht werden. Abweichungen in der Positionierung der Lese/Schreib-Köpfe während des Schreibprozesses können zu „übermäßigem Verdichten” eines bestimmten Sektors führen, was zu Datenkorruption führen kann. Ein Delta-PES-Schwellenwert kann festgelegt werden, der anzeigt, wann bestimmte Sektoren übermäßig verdichtet werden, was ein Indikator der Schreibqualität ist. Der Schwellenwert kann als eine Mitte-zu-Mitte-Messung für Sektoren benachbarter Spuren festgelegt werden oder kann stattdessen als ein Prozentsatz der idealen Spur-zu-Spur-Breite festgelegt werden, die während eines Schreibprozesses erreicht wird, wie 80% oder 90% der idealen Spurbreite, unter anderen Schwellenwerten.
-
Deshalb kann eine laufende Zählung für jede Spur gepflegt werden, um zu überwachen, welche Sektoren Delta-PES-Messungen aufweisen, die kleiner als ein Delta-PES-Schwellenwert ist. In 5 weisen Sektor 0 und 2 Delta-PES-Messungen auf, die größer als der Schwellenwert sind und deshalb nicht übermäßig verdichtet sind. Umgekehrt weisen Sektor 1 und 3 Delta-PES-Messungen auf, die kleiner als der Schwellenwert sind und deshalb als übermäßig verdichtet angesehen werden. Die Qualität des Schreibprozesses kann dann zumindest auf Basis einer Menge von übermäßig verdichteten Sektoren für jede Spur bestimmt werden.
-
6 zeigt Tabelle 600 als eine Illustration mehrerer Tracks, die einen Speicherblock oder ein Schreibband von 16 MB umfassen. Obwohl 10 Spuren in 6 gezeigt werden, sollte klar sein, dass andere Mengen von Spuren möglich sind und auf Basis der Menge der geschriebenen Daten variieren. Datenschutzinformationen wie die ECC-Parität sind auf den Speichermedien mit den Schreibdaten für jede geschriebene Spur enthalten. Die Speichersteuerung 321 handhabt diese ECC-Paritätsgenerierung und -Einbeziehung und die Menge an enthaltener ECC-Parität ist üblicherweise als eine feste Menge vorbestimmt. In diesem Beispiel wird eine feste Menge von vier (4) ECC-Paritätssektoren für jede Spur eingesetzt. Diese Menge kann jedoch nicht in allen Fällen ausreichen, um die geschriebenen Daten zu schützen, um eine Fehlererkennung und/oder Fehlerkorrektur aufgrund übermäßig verdichteter Sektoren und anderer Datenkorruption zu erlauben.
-
Verschiedene weitere Schwellenwerte können festgelegt werden, um die Qualität des Schreibprozesses abzuschätzen, die verwendet werden kann, um zu bestimmen, wann weiterer Datenschutz gewünscht wird. Ein Qualitätsschwellenwert kann festgelegt werden, der einen Schwellenwert für die Anzahl von übermäßig verdichteten Sektoren pro Spur anzeigt. Weitere Schwellenwerte können auf Basis der Genauigkeit des Schreibprozesses in Bezug auf die Medien festgelegt werden. In einem beispielhaften Qualitätsschwellenwert ist der Schwellenwert auf eine vorbestimmte Anzahl von übermäßig verdichteten Sektoren pro Spur wie 4 gesetzt. Diese vorbestimmte Anzahl kann als größer als eine Anzahl von Sektoren ausgewählt werden, die von ECC-Paritätsinformationen geschützt werden, die im Spurschreibprozess eingesetzt werden. Diese vorbestimmte Anzahl kann als größer als eine Anzahl von Sektoren ausgewählt werden, die für die ECC-Paritätsinformationen verwendet werden.
-
6 illustriert eine Menge von übermäßig verdichteten Sektoren pro Spur auf Basis einer Delta-PES-Messung für jede Spur, wobei einige der Spuren eine größere Anzahl von übermäßig verdichteten Sektoren als andere aufweisen. Für diejenigen der Spuren mit einer Menge von übermäßig verdichteten Sektoren über einer Grenzmenge kann eine weitere erweiterte ECC-Parität bestimmt werden. Falls zum Beispiel die Grenzmenge von übermäßig verdichteten Sektoren ,4' ist, dann weisen die Spuren 3, 7 und 10 jeweils Anzahlen von übermäßig verdichteten Sektoren über dem Schwellenwert auf. Die letzte Spalte in Tabelle 600 zeigt eine Menge von zusätzlichen gewünschten ECC-Sektoren an, die in diesem Beispiel gleich der Anzahl von übermäßig verdichteten Sektoren für die Spuren ist, die die Grenzmenge von übermäßig verdichteten Sektoren überschreiten. Unter Tabelle 600 befindet sich eine kurze Berechnung der Gesamtanzahl von Datenschutzsektoren. Spezifisch werden 40 ,Hardware'-ECC-Paritätssektoren für den normalen Spur-ECC-Paritätsprozess eingesetzt. Zusätzliche 19 erweiterte ECC-Paritätssektoren werden gewünscht, was eine Gesamtanzahl von insgesamt 59 ECC-Paritätssektoren ausmacht, die Datenschutz für das 16-MB-Datenband bieten, das auf die Speichermedien 322 von 3 geschrieben wurde.
-
Zurück zur Operation von 4 kehrend zeigt die Speichersteuerung 321 eine Menge von zusätzlichen ECC-Paritätssektoren an, die für das bestimmte Schreibband gewünscht werden, wenn die Qualität des Schreibvorgangs anzeigt, dass zusätzliche ECC-Paritätssektoren über die für jede Spur bereitgestellte Hardware-ECC-Parität hinaus benötigt werden. Das HDD 320 gibt deshalb eine Anforderung nach erweiterter ECC-Parität von einem ECC-Generierungsmodul aus.
-
In 3 werden zwei mögliche ECC-Paritätsgenerierungsmodule angezeigt, obwohl andere stattdessen enthalten sein können. Das erste beispielhafte ECC-Paritätsgenerierungsmodul ist im HDD 320 enthalten, wie durch ECC-Generierungsmodul 329 angemerkt. Das zweite beispielhafte ECC-Paritätsgenerierungsmodul ist im Hostsystem 340 enthalten, wie durch ECC-Generierungsmodul 341 angemerkt. Das ECC-Paritätsgenerierungsmodul kann ein oder mehrere Verarbeitungsmodule enthalten, die die ECC-Parität auf Basis der Schreibdaten des Schreibbands berechnet.
-
Obwohl in manchen Beispielen das HDD 320 die ECC-Parität berechnet, enthält das Hostsystem 340 üblicherweise robustere Verarbeitungsressourcen, Speicher und Berechnungsdurchsatzleistungsfähigkeit als das HDD 320. Deshalb fordert in vielen Beispielen das HDD 320 die zusätzliche ECC-Parität vom Hostsystem 340 an. Das Hostsystem 340 pflegt üblicherweise eine Kopie der Schreibdaten des Schreibbands zur Verwendung bei der Berechnung der ECC-Parität auf Basis der Gesamtheit der Schreibdaten des Schreibbands. Die berechnete ECC-Parität kann eine ECC-Parität für das gesamte 16-MB-Datenband umfassen und kann ähnlich wie der Hardware-ECC berechnet werden, der für jede Datenspur vom HDD 320 eingesetzt wird. Zumindest ein Teil der ECC-Parität kann vom Hostsystem 340 vor einer tatsächlichen Übertragung von assoziierten Schreibdaten des Schreibbands an das HDD 320 berechnet werden und etwaige unangeforderte oder nicht verwendete ECC-Parität kann vom Hostsystem 340 verworfen werden. Deshalb kann die ECC-Parität vorweg vom Hostsystem 340 generiert werden und gehalten werden, bis sie vom HDD 320 als Reaktion auf die Schreibqualität angefordert wird. Alternativ kann die ECC-Parität auf Anforderung vom HDD 320 generiert werden.
-
Das Hostsystem 340 überträgt dann die erweiterte ECC-Parität 390 zur Lieferung an das HDD 320 (oder alternativ berechnet das ECC-Generierungsmodul 329 die erweiterte ECC-Parität 390 im HDD 320). Das Hostsystem 340 überträgt die erweiterte ECC-Parität 390 über die Verbindung 330 unter Verwendung einer oder mehrerer spezialisierter Speicherbefehle oder Speicheroperationen, die maßgeschneidert sind, anzuzeigen, dass die übertragenen Daten die erweiterte ECC-Parität 390 und keine gewöhnlichen Schreibdaten sind. Dieser spezialisierte Befehl kann eine Parität oder einen ECC-Schreibbefehl mit einem Opcode oder einem Header umfassen, der die erweiterte ECC-Parität 390 anzeigt. Dieser spezialisierte Befehl kann einen normalen Schreibbefehl mit einer Speicheradresse umfassen, die anzeigt, dass eine assoziierte Nutzlast die erweiterte ECC-Parität 390 ist, wie durch Codieren einer nicht verwendbaren Adresse als ein Hinweis auf die erweiterte ECC-Parität 390. Andere Hinweise oder Befehle können vom Hostsystem 340 ausgegeben werden, um die erweiterte ECC-Parität 390 anzuzeigen und zu übertragen.
-
Die Speichersteuerung 321 empfängt die erweiterte ECC-Parität 390 und speichert die Datenschutzinformationen. In einem ersten Beispiel schreibt die Speichersteuerung 321 diese erweiterte ECC-Parität 390 auf die Speichermedien 322. 3 enthält ein beispielhaftes Speicherformat zum Speichern des Schreibbands und der assoziierten ECC-Parität. In 3 umfasst ein Speicherplatz 370 einen logischen Datenträger des HDD 320, der den gesamten Speicherplatz des HDD 320 oder einen Teil davon umfassen kann. Ein Schreibband 380 wird am Speicherplatz 370 gespeichert und umfasst mehrere Spuren der Medien 322, wie 10 Spuren, die in 6 gezeigt sind. Jede Spur weist einen assoziierten Hardware-ECC auf, durch Element 381 verzeichnet, wobei 10 Hardware-ECC-Teile im Schreibband 380 enthalten sind. Dieser Hardware-ECC wird auf Basis der Daten jeder Spur individuell berechnet und deshalb bietet jeder Hardware-ECC nur für eine entsprechende Spur Datenschutz. Die Menge an ECC ist üblicherweise vorbestimmt, wie oben erwähnt, und kann in einer Anzahl von ECC-Sektoren wie 4 pro Spur in 6 gemessen werden.
-
In diesem ersten Beispiel speichert die Speichersteuerung 321 die erweiterte ECC-Parität 390 an das Schreibband 380 angrenzend auf den Medien 322. Die erweiterte ECC-Parität 390 kann eine Menge an Sektoren von ECC-Parität nach der Qualität des Schreibprozesses für das Schreibband 380 umfassen. Verschiedene Beispiele werden hierin für die Menge an erweiterten ECC-Sektoren angezeigt, wie die in 6 gefundenen. Die erweiterte ECC-Parität 390 wird auf Basis der Daten des gesamten Schreibbands 380 berechnet und bietet deshalb Datenschutz für mehrere Spuren auf einmal, wie für das gesamte 16-MB-Schreibband in 3.
-
In weiteren Beispielen wird der Schreibprozess für die erweiterte ECC-Parität 390 für die Schreibqualität überwacht, wie für den Schreibprozess des Schreibbands durchgeführt. Etwaige zusätzliche ECC-Parität kann weiter generiert/gespeichert werden, wenn der Schreibprozess für die erweiterte ECC-Parität 390 unter den Grenzschreibqualitätswert fällt. Diese zusätzliche ECC-Parität kann zusammen mit der erweiterten ECC-Parität 390 oder an alternativen Stellen wie hierin besprochen gespeichert werden.
-
Die erweiterte ECC-Parität 390 kann von der Speichersteuerung 321 als assoziiert oder anderweitig korreliert mit den Schreibdaten des Schreibbands 380 nachverfolgt werden. Spezialisierte Datenstrukturen können von der Speichersteuerung 321 gepflegt werden, die die erweiterte ECC-Parität nachverfolgen und Entsprechungen zwischen erweiterter ECC-Parität und assoziierten Daten auf den Medien 322 festlegen. Datenspeicherstellen wie logische Blockadressen oder physische Blockadressen können zum Beispiel in einer Datenstruktur oder Tabelle zusammen mit Adressinformationen aufgelistet werden, die die erweiterte ECC-Parität auffindet, die für die in diesen logischen oder physischen Blockadressen gespeicherten Daten generiert wurde. In anderen Beispielen wird ein Header für die erweiterte, auf den Medien 322 gespeicherte ECC-Parität eingesetzt und ein Scan der Medien 322 kann die Headerinformationen zeigen, die anzeigt, mit welchem Schreibband die erweiterte ECC-Parität assoziiert ist. Andere Korrelationen oder Techniken können eingesetzt werden, um sicherzustellen, dass Korrelationen zwischen der erweiterten ECC-Parität und assoziierten Daten richtig gepflegt werden.
-
In weiteren Beispielen wird die erweiterte ECC-Parität 390 nicht mit dem Schreibband 380 gespeichert und wird stattdessen an einer spezialisierten Stelle auf den Medien 322 gespeichert, wie vom ECC-Bereich 326 in den 3 und 4 angezeigt. Der ECC-Bereich 326 kann einen nicht geschuppten Teil der Medien 322 umfassen, um zusätzlich Datenrobustheit für die ECC-Parität bereitzustellen. Dieser nicht geschuppte Teil kann einen PMR-Teil oder eine nicht überlappende SMR-Version enthalten, unter anderen Medienaufzeichnungstypen.
-
In noch weiteren Beispielen wird die erweiterte ECC-Parität 390 nicht auf den Medien 322 gespeichert. Die erweiterte ECC-Parität 390 kann stattdessen auf einem separaten Speichermedium des HDD 320 gespeichert werden, wie einem Flashspeichermedium oder optischen Speichermedium. Die erweiterte ECC-Parität 390 kann stattdessen auf einer separaten Datenspeichereinrichtung wie einem anderen HDD oder einem anderen Datenspeicherlaufwerk gespeichert werden, das separat vom HDD 320 ist. In Speichersystemen in Arrayform kann die erweiterte ECC-Parität 390 gespiegelt, in Striping-Anordnungen oder anderen Datenredundanzschemata eingesetzt werden, um Zuverlässigkeit oder Verfügbarkeit der erweiterten ECC-Parität 390 zu erhöhen. In Beispielen, in denen die erweiterte ECC-Parität 390 auf einer vom HDD 320 separaten Einrichtung gespeichert wird, kann das HDD 320 die erweiterte ECC-Parität 390 auf die anderen Einrichtungen übertragen oder das Hostsystem 340 kann stattdessen anstatt des HDD 320 die erweiterte ECC-Parität 390 auf diese anderen Einrichtungen übertragen.
-
Sobald die erweiterte ECC-Parität geschrieben wurde, ist der Schreibprozess für dieses bestimmte Schreibband abgeschlossen. Es sollte angemerkt werden, dass möglicherweise nicht für jedes Band eine erweiterte ECC-Parität eingesetzt wird und nur dann eingesetzt werden kann, wenn die Schreibqualität für dieses Band anzeigt, dass ein zusätzlicher ECC-Schutz gewünscht wird, wie oben angemerkt. Darüber hinaus können einzelne Schreibverifizierungen für jede Spur des Schreibbands weggelassen oder übersprungen werden. Dies kann vorteilhafterweise zu höheren Durchsätzen für das HDD 320 und einen erweiterten Datenschutz unter Verwendung der erweiterten ECC-Parität für das Schreibband führen. Datenintegrität kann sichergestellt werden, während ein hoher Schreibdurchsatz für das HDD 320 beibehalten wird, wenn die Schreibverifizierung nach jeder Spur und nach dem gesamten Schreibband weggelassen wird. Die Schreibverifizierung kann in diesen Beispielen teilweise aufgrund der Überwachung der Schreibqualität an Ort und Stelle übersprungen werden. Die Schreibqualität, wie sie durch Delta-PES-Messungen oder die Anzahl übermäßig verdichteter Sektoren angezeigt wird, kann anzeigen, wann die mögliche Schreibqualität unter einem gewünschten Schwellenwert ist, was zu Datenkorruption führen kann. Falls die Schreibqualität unter gewünschte Schwellenwerte fällt, dann kann eine zusätzliche erweiterte ECC-Parität für das Schreibband einbezogen werden, um sicherzustellen, dass die Datenintegrität auch ohne eine begleitende Schreibverifizierung wie einem Schreib-Lese-Verifizier-Prozess beibehalten wird.
-
Während eines Leseprozesses, wie dem in 4 angezeigten, können ein oder mehrere Leseoperationen oder Lesebefehle vom Hostsystem 340 über die Verbindung 330 ausgegeben werden. Die Leseoperationen können für das gesamte Schreibband 380 oder für einen Teil davon ausgegeben werden. Wenn die Leseoperationen für das gesamte Schreibband 380 sind, dann kann die erweiterte ECC-Parität 390 eingesetzt werden, um Fehler in den gelesenen Daten zu korrigieren. Wenn stattdessen ein Teil des Schreibbands 380 gelesen wird, dann kann die mit den einzelnen Spuren assoziierte ECC-Parität verwendet werden. Die Speichersteuerung 321 kann die Leseoperationen empfangen und als Reaktion Daten von den Speichermedien 322 abrufen. Wenn die Leseoperationen für Speicherstellen ausgegeben werden, die mit erweiterter ECC-Parität geschützt oder assoziiert sind, wie für das Schreibband 380, dann kann die Speichersteuerung 321 sowohl die von den Leseoperationen angeforderten Daten abrufen als auch die erweiterte ECC-Parität abrufen.
-
In manchen Fällen, wenn zum Beispiel übermäßig verdichtete Sektoren während des assoziierten Schreibprozesses angetroffen werden, kann der Schutz oder die Korrektur verschiedener der gelesenen Sektoren als Reaktion auf die Leseoperationen durch beliebigen assoziierte Hardware oder einen Spur-ECC oder eine Parität aufgehoben werden. In 3 werden sechs (6) Sektoren mit aufgehobener Korrektur illustriert, die unkorrigierten Spur-ECC-Daten 385 entsprechen. In Beispielen, in denen keine erweiterte ECC-Parität eingesetzt wurde, kann Datenkorruption bei den Daten 385 angetroffen werden oder vorher eine Verifikationsoperation gefolgt von einem assoziierten erneuten Schreiben erfordert haben, um sicherzustellen, dass die Daten richtig auf die Speichermedien geschrieben wurden. In diesem Beispiel wurde jedoch die erweiterte ECC-Parität 390 eingesetzt, die etwaige Fehler oder Korruption in den Daten 385 aufgrund des assoziierten Schreibprozesses erkennen und korrigieren kann, wie zum Beispiel aufgrund von übermäßig verdichteten Sektoren oder anderen Datenkorruptionsproblemen. Deshalb kann die erweiterte ECC-Parität 390 mit den von den Leseoperationen angeforderten assoziierten Daten übertragen werden und die erweiterte ECC-Parität 390 kann verwendet werden, um etwaige Datenfehler zu korrigieren.
-
In manchen Beispielen, wie in den in 4 gezeigten, wird die erweiterte ECC-Parität 390 an das Hostsystem 340 übertragen und das Hostsystem 340 kann einen Datenfehlererkennungs- und Korrekturprozess unter Verwendung der erweiterten ECC-Parität 390 und den von den Medien 322 gelesenen assoziierten Daten durchführen. In anderen Beispielen kann das HDD 320 stattdessen einen Datenfehlererkennungs- und Korrekturprozess unter Verwendung der erweiterten ECC-Parität 390 und den von den Medien 322 gelesenen assoziierten Daten durchführen. Wenn die erweiterte ECC-Parität für ein bestimmtes Schreibband nicht eingesetzt wird, wie wenn die erkannte Schreibqualität über einem Grenzqualitätswert ist, dann wird die erweiterte ECC-Parität möglicherweise nicht an das Hostsystem 340 übertragen oder anderweitig eingesetzt, um nach Datenfehlern zu prüfen bzw. diese zu korrigieren.
-
7 ist ein Blockdiagramm, das ein Steuersystem 710 illustriert. Das Steuersystem 710 handhabt Speicheroperationen für eine Speicherbaugruppe. Das Steuersystem 710 kann ein Beispiel des Steuersystems 112 von 1, die Speichersteuerung 321 von 3 oder in Elementen des Hostsystems 340 von 3 enthalten sein, obwohl Varianten möglich sind. Wenn das Steuersystem 710 in einem Datenspeicherlaufwerk enthalten ist, empfängt das Steuersystem 710 über eine Speicherverbindung 760 durch eine Hostschnittstelle 711 Speicheroperationen von Hostsystemen. Schreibdaten können in einer oder mehreren Schreiboperationen empfangen werden und Lesedaten können als Reaktion auf eine oder mehrere Leseoperationen an Hosts bereitgestellt werden.
-
Das Steuersystem 710 enthält eine Hostschnittstelle (I/F) 711, eine Verarbeitungsschaltung 712, eine Laufwerkssteuerung 713 und ein Speichersystem 714. Ferner enthält das Steuersystem 710 Firmware 715, die eine Schreibqualitätserkennung 716, ein ECC-Nachverfolgungsmodul 717 und einen ECC-Generator 718 enthält, der wie unten beschrieben arbeitet, wenn es von zumindest einer Verarbeitungsverschaltung 712 ausgeführt wird.
-
Die Hostschnittstelle 711 enthält eine oder mehrere Speicherschnittstellen zum Kommunizieren mit Hostsystemen, Netzwerken und Ähnlichem über zumindest eine Verbindung 760. Die Hostschnittstelle 711 kann Sende-Empfänger, Schnittstellenverschaltung, Anschlüsse, Puffer, Mikrocontroller und andere Schnittstellenausrüstung umfassen. Die Hostschnittstelle 711 kann auch eine oder mehrere E/A-Warteschlangen enthalten, die Speicheroperationen über die Verbindung 760 empfangen und diese Speicheroperationen zur Handhabung durch die Verarbeitungsverschaltung 712 puffern. Die Verbindung 760 kann eine oder mehrere Ethernet-Schnittstellen, SATA-Schnittstellen, SAS-Schnittstellen, FibreChannel-Schnittstellen, USB-Schnittstellen, SCSI-Schnittstellen, InfiniBand-Schnittstellen, NVMe-Schnittstellen oder IP-Schnittstellen, die dem Hostsystem erlauben, auf die Speicherkapazität der HDD-Baugruppe zuzugreifen.
-
Die Verarbeitungsverschaltung 712 kann einen oder mehrere Mikroprozessoren und andere Verschaltung umfassen, die Firmware 715 aus dem Speichersystem 714 abruft und ausführt. Die Verarbeitungsverschaltung 712 kann innerhalb einer einzigen Verarbeitungseinheit implementiert sein, aber kann auch über mehrere Verarbeitungseinheiten oder Teilsysteme verteilt sein, die beim Ausführen von Programmanweisungen zusammenarbeiten. Beispiele der Verarbeitungsverschaltung 712 enthalten Universal-Zentralprozessoreinheiten, anwendungsspezifische Prozessoren und Logikeinrichtungen sowie eine beliebige andere Art von Verarbeitungseinrichtung, Kombinationen oder Varianten davon. In manchen Beispielen enthält die Verarbeitungsverschaltung 712 eine Ein-Chip-Systemeinrichtung oder eine Mikroprozessoreinrichtung, wie einen Intel Atom-Prozessor, MIPS-Mikroprozessor und Ähnliches.
-
Die Laufwerksteuerung 713 kann eine oder mehrere Laufwerksteuerkreise und Prozessoren enthalten, die verschiedene Datenmedienhandhabungsaktionen unter den verschiedenen Speichermedien einer Speichereinrichtung steuern kann. Die Laufwerksteuerung 713 enthält auch Speicherschnittstellen 761, um an die verschiedenen Datenspeichermedien anzukoppeln. In manchen Beispielen handhabt die Laufwerksteuerung 713 eine Verwaltung einer bestimmten Aufzeichnungstechnologie, wie Flash-, optische, SMR-, PMR- oder andere Aufzeichnungstechnologien. Wie hierin erwähnt, können Elemente und Funktionen der Laufwerksteuerung 713 mit der Verarbeitungsverschaltung 313 integriert werden.
-
Das Speichersystem 714 kann beliebige nicht-transitorische computerlesbare Speichermedien umfassen, die von der Verarbeitungsverschaltung 712 oder der Laufwerksteuerung 713 gelesen werden können und die Firmware 715 speichern können. Das Speichersystem 714 kann flüchtige und nichtflüchtige, entfernbare und nicht entfernbare Medien enthalten, die in irgendeinem Verfahren oder irgendeiner Technologie zur Speicherung von Informationen wie computerlesbare Anweisungen, Datenstrukturen, Programmmodule und andere Daten implementiert sind. Zusätzlich zu Speichermedien kann das Speichersystem 714 in manchen Implementierungen auch Kommunikationsmedien enthalten, über die die Firmware 715 kommuniziert werden kann. Das Speichersystem 714 kann als einzelne Speichereinrichtung implementiert werden, aber kann auch über mehrere Speichereinrichtungen oder Teilsysteme implementiert werden, die gemeinsam angeordnet oder relativ zueinander verteilt angeordnet sind. Das Speichersystem 714 kann zusätzliche Elemente umfassen, wie eine Steuerung, die mit der Verarbeitungsverschaltung 712 kommunizieren kann. Beispiele von Speichermedien des Speichersystems 714 enthalten Speicher mit wahlfreiem Zugriff, schreibgeschützten Speicher, Magnetplatten, optische Platten, Flash-Speicher, SSDs, Phasenwechselspeicher, Magnetkassetten, Magnetband, magnetische Plattenspeicher oder andere magnetische Speichereinrichtungen oder ein beliebiges anderes Medium, das verwendet werden kann, um die gewünschten Informationen zu speichern, und auf das von einem Anweisungsausführungssystem zugegriffen werden kann, sowie eine beliebige Kombination oder Variante davon, oder einen beliebigen anderen Typ von Speichermedien.
-
Die Firmware 715 kann in Programmanweisungen implementiert werden und kann, wenn sie vom Steuersystem 710 im Allgemeinen oder von der Verarbeitungsverschaltung 712 im Besonderen ausgeführt wird, unter anderen Funktionen das Steuersystem 710 oder die Verarbeitungsverschaltung 712 anleiten, Datenspeichersysteme wie hierin beschrieben zu betreiben. Die Firmware 715 kann zusätzliche Prozesse, Programme oder Komponenten wie Betriebssystemsoftware, Datenbanksoftware oder Anwendungssoftware enthalten. Die Firmware 715 kann auch Software oder eine andere Form von maschinenlesbaren Verarbeitungsanweisungen umfassen, die von der Verarbeitungsverschaltung 712 ausführbar sind.
-
In zumindest einer Implementierung können die Programmanweisungen erste Programmanweisungen enthalten, die das Steuersystem 710 anleiten, Lese- und Schreiboperationen zu handhaben, die Schreibqualität während Schreiboperationen oder Schreibprozessen zu erkennen (Schreibqualitätserkennung 716), eine Anzahl von möglichen fehleranfälligen Sektoren auf Basis einer Delta-PES-Messung von übermäßig verdichteten Sektoren zu identifizieren (Schreibqualitätserkennung 716) und eine Schreibqualität an ein ECC-Generierungsmodul wie ein Hostsystem oder an den ECC-Generator 718 zu melden. Sobald die erweiterte ECC-Parität generiert oder anderweitig empfangen wurde, dann kann das ECC-Nachverfolgungsmodul 717 verfolgen, wo die erweiterte ECC-Parität geschrieben oder gespeichert wurde, wie auf ein Speichermedium zusammen mit den assoziierten Schreibdaten, an einer anderen spezialisierten Stelle auf den Speichermedien oder auf einer separaten Speichereinrichtung. Während Leseoperationen kann das ECC-Nachverfolgungsmodul 717 identifizieren, wenn eine erweiterte ECC-Parität für assoziierte, von der Leseoperation angeforderte Daten gespeichert wird, und das Steuersystem 710 anweisen, die erweiterte ECC-Parität zur Lieferung an ein Modul oder System abzurufen, das die Daten eines Schreibbands auf Fehler prüfen bzw. diese korrigieren kann.
-
Im Allgemeinen kann die Firmware 715, wenn sie in die Verarbeitungsverschaltung 712 geladen und ausgeführt wird, die Verarbeitungsverschaltung 712 insgesamt von einem Universal-Rechensystem in ein Sonder-Rechensystem transformieren, das angepasst ist, wie hierin beschrieben zu arbeiten. Das Codieren von Firmware 715 auf dem Speichersystem 714 kann die physische Struktur des Speichersystems 714 transformieren. Die spezifische Transformation der physischen Struktur kann in verschiedenen Implementierungen dieser Beschreibung von diversen Faktoren abhängen. Beispiele solcher Faktoren können die zum Implementieren der Speichermedien des Speichersystems 714 verwendete Technologie enthalten, sind jedoch nicht darauf beschränkt, und ob die Computer-Speichermedien als primärer oder sekundärer Speicher gekennzeichnet sind. Wenn die Computer-Speichermedien zum Beispiel als halbleiterbasierter Speicher implementiert sind, kann die Firmware 715 den physischen Zustand des Halbleiterspeichers transformieren, wenn das Programm darin codiert ist. Die Firmware 715 kann zum Beispiel den Zustand von Transistoren, Kondensatoren oder anderen diskreten Schaltkreiselementen transformieren, die den Halbleiterspeicher bilden. Eine ähnliche Transformation kann in Bezug auf magnetische oder optische Medien auftreten. Andere Transformationen von physischen Medien sind möglich, ohne vom Umfang der vorliegenden Beschreibung abzuweichen, wobei die vorangehenden Beispiele nur bereitgestellt wurden, um diese Diskussion zu ermöglichen.
-
Die enthaltenen Beschreibungen und Figuren zeigen spezifische Ausführungsformen, um Fachleute auf dem Gebiet zu lehren, wie die beste Art und Weise durchzuführen und zu verwenden ist. Zum Zweck des Lehrens erfinderischer Prinzipien wurden einige herkömmliche Aspekte vereinfacht oder weggelassen. Fachleuten auf dem Gebiet werden Abweichungen von diesen Ausführungsformen klar sein, die in den Umfang der Erfindung fallen. Fachleuten auf dem Gebiet wird auch klar sein, dass die oben beschriebenen Merkmale auf verschiedene Arten kombiniert werden können, um mehrere Ausführungsformen zu bilden. Als Ergebnis ist die Erfindung nicht auf die spezifischen oben beschriebenen Ausführungsformen beschränkt, sondern nur durch die Ansprüche und deren Äquivalente.