DE102016004276A1 - Gebietspartitionierung in festplatten - Google Patents

Gebietspartitionierung in festplatten Download PDF

Info

Publication number
DE102016004276A1
DE102016004276A1 DE102016004276.1A DE102016004276A DE102016004276A1 DE 102016004276 A1 DE102016004276 A1 DE 102016004276A1 DE 102016004276 A DE102016004276 A DE 102016004276A DE 102016004276 A1 DE102016004276 A1 DE 102016004276A1
Authority
DE
Germany
Prior art keywords
area
physical
data
areas
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102016004276.1A
Other languages
English (en)
Inventor
David R. Hall
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.)
HGST Netherlands BV
Original Assignee
HGST Netherlands BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HGST Netherlands BV filed Critical HGST Netherlands BV
Publication of DE102016004276A1 publication Critical patent/DE102016004276A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • G11B2020/1267Address data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • G11B2020/1277Control data, system data or management information, i.e. data used to access or process user data for managing gaps between two recordings, e.g. control data in linking areas, run-in or run-out fields, guard or buffer zones
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1291Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
    • G11B2020/1294Increase of the access speed

Abstract

Im Allgemeinen werden Techniken zum Partitionieren eines Speichermediums in Gebiete beschrieben. Das Speichermedium kann in eine Vielzahl von physischen Bereichen aufgeteilt sein, wobei jeder physische Bereich aus der Vielzahl der physischen Bereiche mit einer oder mehreren logischen Blockadressen (LBAs) assoziiert ist. Ein Controller, der konfiguriert ist, hierin beschriebene Techniken durchzuführen, kann eine Vielzahl von Gebieten im Speichermedium ermitteln. Jedes Gebiet der Vielzahl der Gebiete kann ein individuelles Intervall der Vielzahl der LBAs umfassen. Jeder physische Bereich der Vielzahl der physischen Bereiche, der mit einer jeweiligen logischen Blockadresse innerhalb des jeweiligen Intervalls der logischen Blockadressen für das jeweilige Gebiet assoziiert ist, ist ferner mit dem jeweiligen Gebiet assoziiert. Der Controller kann ferner ein oder mehrere Merkmale jedes physischen Bereichs dynamisch definieren, das mit jedem Gebiet der Vielzahl der Gebiete assoziiert ist.

Description

  • TECHNISCHES GEBIET
  • Die Offenbarung betrifft Shingled-Magnetic-Recording-Festplattenlaufwerke.
  • STAND DER TECHNIK
  • Shingled-Magnetic-Recording(SMR)-Festplattenlaufwerke (HDDs) sind unter Verwendung physischer Bereiche organisiert, in die ein Festplattencontroller Daten schreiben kann. Die physischen Bereiche können konfiguriert sein, eine beliebige Größe bis zur Speicherkapazität des SMR-HDD zu sein, und die Größe des physischen Bereichs ist üblicherweise invers proportional zur Anzahl der physischen Bereiche. Wenn diese physischen Bereiche in einem SMR-HDD größer sind, kann ein Controller leicht Daten sequenziell in die Zonen schreiben, aber Neuschreib- und Defragmentierungsoperationen sind aufgrund der großen Datenmenge langsam, die innerhalb jeder Zone herumbewegt werden muss. Ein Konfigurieren eines SMR-HDD, eine größere Anzahl von kleineren physischen Bereichen zu enthalten, ermöglicht bestimmte Vorteile im Vergleich zu einem Enthalten einer kleineren Anzahl von größeren physischen Bereichen. Ein Enthalten einer größeren Anzahl von kleinen physischen Bereichen kann zum Beispiel Flexibilität innerhalb des Laufwerks bieten, wenn der Controller mehrere sequenzielle Schreibvorgänge durchführt, oder beim Neuschreiben von Daten innerhalb des SMR-HDD. Das Enthalten einer größeren Anzahl von kleineren physischen Bereichen führt jedoch mehrere Ineffizienzen ein. Aufgrund der größeren Anzahl von physischen Bereichen kann es länger dauern, bei einem Bewegen von einem physischen Bereich zu einem anderen physischen Bereich eine Suchoperation durchzuführen, und der Controller muss möglicherweise die physischen Bereiche häufiger defragmentieren. Ferner, da jede Spur von physischen Bereichen durch eine Anzahl von leeren Spuren getrennt wird, die Sicherheitsbänder genannt werden, resultiert eine größere Anzahl an physischen Bereichen in zusätzlichen Sicherheitsbändern und in einem erhöhten Prozentanteil des verfügbaren Platzes des SMR-HDD, der zur Datenspeicherung unbrauchbar ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • In einem Beispiel richtet sich die Offenbarung auf ein Gerät, das einen Controller und ein Speichermedium umfasst. Das Speichermedium kann in eine Vielzahl von physischen Bereichen aufgeteilt sein, wobei jeder physische Bereich mit einer oder mehreren logischen Blockadressen assoziiert ist. Der Controller kann konfiguriert sein, eine Vielzahl von Gebieten im Speichermedium zu ermitteln. Jedes Gebiet der Vielzahl der Gebiete kann ein individuelles Intervall der logischen Blockadressen umfassen. Jeder physische Bereich der Vielzahl der physischen Bereiche, der mit einer jeweiligen logischen Blockadresse innerhalb des jeweiligen Intervalls der logischen Blockadressen für das jeweilige Gebiet assoziiert ist, ist ferner mit dem jeweiligen Gebiet assoziiert. Der Controller kann ferner konfiguriert sein, ein oder mehrere Merkmale jedes physischen Bereichs dynamisch zu definieren, das mit jedem Gebiet der Vielzahl der Gebiete assoziiert ist.
  • In einem anderen Beispiel richtet sich die Offenbarung auf ein Verfahren, das ein Ermitteln von einer Vielzahl von Gebieten in einem Speichermedium durch einen Controller umfasst. Jeder physische Bereich ist mit einer oder mehreren logischen Blockadressen assoziiert. Jedes Gebiet der Vielzahl der Gebiete umfasst ein individuelles Intervall der logischen Blockadressen. Jeder physische Bereich der Vielzahl der physischen Bereiche, der mit einer jeweiligen logischen Blockadresse innerhalb des jeweiligen Intervalls der logischen Blockadressen für das jeweilige Gebiet assoziiert ist, ist ferner mit dem jeweiligen Gebiet assoziiert. Der Controller definiert ferner ein oder mehrere Merkmale jedes physischen Bereichs dynamisch, die mit jedem Gebiet der Vielzahl der Gebiete assoziiert ist.
  • In einem anderen Beispiel richtet sich die Offenbarung auf ein System, das Mittel zum Schreiben von Daten in Speichermedien umfasst. Das Speichermedium kann in eine Vielzahl von physischen Bereichen aufgeteilt sein, wobei jeder physische Bereich mit einer oder mehreren logischen Blockadressen assoziiert ist. Das System kann ferner Mittel zum Ermitteln einer Vielzahl von Gebieten in den Speichermedien umfassen. Jedes Gebiet der Vielzahl der Gebiete kann ein individuelles Intervall der logischen Blockadressen umfassen. Jeder physische Bereich der Vielzahl der physischen Bereiche, der mit einer jeweiligen logischen Blockadresse innerhalb des jeweiligen Intervalls der logischen Blockadressen für das jeweilige Gebiet assoziiert ist, ist ferner mit dem jeweiligen Gebiet assoziiert. Das System kann auch Mittel zu einem dynamischen Definieren eines oder mehrerer Merkmale jedes physischen Bereichs umfassen, die mit jedem Gebiet der Vielzahl der Gebiete assoziiert ist.
  • Die Details eines oder mehrerer Beispiele der Offenbarung werden in den beigefügten Zeichnungen und der Beschreibung unten dargelegt. Andere Eigenschaften, Aufgaben und Vorteile der Offenbarung werden aus der Beschreibung und den Zeichnungen und aus den Ansprüchen ersichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein konzeptionelles und schematisches Blockdiagramm, das eine beispielhafte Speicherumgebung illustriert, in der eine Festplatte als ein Speichergerät für ein Hostgerät funktionieren kann, nach einer oder mehreren Techniken dieser Offenbarung.
  • 2 ist ein Blockdiagramm, das den Controller und andere Komponenten der Festplatte von 1 detaillierter illustriert.
  • 3 ist ein konzeptionelles Diagramm, das ein beispielhaftes Festplattenlaufwerk illustriert, das in Gebiete segmentiert ist, nach einer oder mehreren Techniken dieser Offenbarung.
  • 4 ist eine konzeptionelle Tabelle, die eine beispielhafte Reihe von Schreiboperationen auf ein Gebiet illustriert, nach einer oder mehreren Techniken dieser Offenbarung.
  • 5 ist ein Flussdiagramm, das einen Beispielbetrieb eines Speichergeräte-Controllers beim Durchführen diverser Aspekte der in dieser Offenbarung beschriebenen Festplattenpartitionierungstechniken illustriert.
  • DETAILLIERTE BESCHREIBUNG
  • Im Allgemeinen beschreibt diese Offenbarung Techniken zu einen Gruppieren von kleiner bemessenen physischen Bereichen eines Shingled-Magnetic-Recording(SMR)-Festplattenlaufwerks (HDD) in Gebiete, was die Auswirkung eines Enthaltens einer größeren Anzahl von kleiner bemessenen physischen Bereichen reduzieren kann, während dennoch die Suchvorteile eines SMR-HDD mit einer kleineren Anzahl von größer bemessenen physischen Bereichen realisiert werden. Ein SMR-HDD mit kleineren physischen Bereichen kann eine erhöhte Neuschreib- und Defragmentierungsleistung mit größeren Nachteilen beim Suchen und anfänglichen Schreiben aufgrund der Schwierigkeit eines zusammenhängenden Schreibens von großen Datenstücken sehen. Ein SMR-HDD mit größeren physischen Bereichen kann für Schreib- und Suchoperationen eine effizientere Konfiguration sein, da Daten leichter zusammenhängend geschrieben werden können, obwohl dieser Vorteil auf Kosten einer verminderten Effizienz bei erneuten Schreib- und Defragmentierungsoperationen geht. Ein SMR-HDD mit größeren physischen Bereichen erfordert ein Bewegen einer größeren Datenmenge, wenn Neuschreiben und Defragmentierung auftreten, was die Gesamtschreibgeschwindigkeit verlangsamt.
  • Durch die Verwendung von Techniken dieser Offenbarung kann ein SMR-HDD in eine größere Menge von kleiner bemessenen physischen Bereichen organisiert werden, die ferner in Gebiete gruppiert sind. Indem es kleinere physische Bereiche aufweist, kann ein SMR-HDD mit Gebieten die Vorteile einer erhöhten Neuschreib- und Defragmentierungsleistung innerhalb der physischen Bereiche selbst realisieren. Die zusätzliche logische Struktur eines Gebiets fügt ferner eine weitere Ebene hinzu, auf der Defragmentierung auftreten kann, was einem SMR-HDD ermöglichen kann, Defragmentierung innerhalb eines Gebietes zu betreiben, sodass ein Controller des SMR-HDD ein größeres Datenstück zusammenhängend innerhalb eines Gebiets schreiben kann, ohne die Gesamtheit des SMR-HDD zu defragmentieren. Darüber hinaus kann ein SMR-HDD, das die Gruppierungsstruktur eines Gebiets implementiert, verringerte Suchzeiten realisieren, da sich ein Magnetlesekopf des SMR-HDD innerhalb von Gebieten bewegen kann, um nach Ausnahmedaten zu suchen. Auf diese Weise kann ein SMR-HDD mit einer Gebietsstruktur wie hier offenbart die Vorteile von sowohl kleineren physischen Bereichen als auch größeren physischen Bereichen realisieren, während es gleichzeitig in zumindest manchen Beispielen die negative Auswirkung reduziert, die diese Bereiche jeweils auf Leistung und Overhead haben können.
  • 1 ist ein konzeptionelles und schematisches Blockdiagramm, das eine beispielhafte Speicherumgebung 2 illustriert, in der Festplatte 6 als ein Speichergerät für Hostgerät 4 funktioniert, nach einer oder mehreren Techniken dieser Offenbarung. Das Hostgerät 4 kann beispielsweise nichtflüchtige, in der Festplatte 6 enthaltene Speichergeräte einsetzen, um Daten zu speichern und abzurufen. In manchen Beispielen kann die Speicherumgebung 2 eine Vielzahl von Speichergeräten enthalten, wie die Festplatte 6, die als ein Speicherarray arbeiten kann. Die Speicherumgebung 2 kann zum Beispiel eine Vielzahl von Festplatten 6 enthalten, die als ein redundantes Array von billigen/unabhängigen Platten (RAID) konfiguriert sind, die zusammen als ein Massenspeichergerät für das Hostgerät 4 funktionieren. Während sich Techniken dieser Offenbarung im Allgemeinen auf die Speicherumgebung 2 und die Festplatte 6 beziehen, können die hierin beschriebenen Techniken in einer beliebigen Speicherumgebung ausgeführt werden, die Datenspuren einsetzt.
  • Die Speicherumgebung 2 kann das Speichergerät 4 enthalten, das Daten auf und/oder von einem oder mehreren Speichergeräten wie der Festplatte 6 speichern und/oder abrufen kann. Wie in 1 illustriert, kann das Hostgerät 4 mit der Festplatte 6 über eine Schnittstelle 14 kommunizieren. Das Hostgerät 4 kann beliebige aus einem breiten Bereich von Geräten umfassen, einschließlich von Computerservern, NAS-Einheiten (Network Attached Storage), Desktop-Computern, Notebook-Computern (d. h., Laptop-Computern), Tablet-Computern, Set-Top-Boxen, Fernsprechhandapparaten wie sogenannten „Smartphones”, sogenannten „Smartpads”, Fernsehern, Kameras, Anzeigegeräten, digitalen Mediaplayern, Videospielkonsolen, eines Videostreaminggeräts und Ähnlichem. Üblicherweise umfasst das Hostgerät 4 ein beliebiges Gerät mit einer Verarbeitungseinheit, was eine beliebige Form von Hardware bezeichnen kann, die zur Verarbeitung von Daten fähig ist, und kann eine universelle Verarbeitungseinheit (wie eine zentrale Verarbeitungseinheit (CPU)), dedizierte Hardware (wie eine anwendungsspezifische integrierte Schaltung (ASIC)), konfigurierbare Hardware wie ein Field Programmable Gate Array (FPGA) oder eine beliebige andere Form von Verarbeitungseinheit enthalten, die via Softwareanweisungen, Mikrocode, Firmware oder Ähnlichem konfiguriert ist. Für den Zweck einer Ausführung der Techniken dieser Offenbarung kann das Hostgerät 4 Schreibanforderungen über die Schnittstelle 14 an den Controller 8 zum Zweck des Neuschreibens von in einer ersten Gruppe einer oder mehrerer Spuren gespeicherten Daten in einen SMR-Bereich unter Verwendung von hierin beschriebenen Techniken senden.
  • Wie in 1 illustriert, kann die Festplatte 6 einen Controller 8, einen Zwischenspeicher 9, eine Hardwaremaschine 10, ein Datenspeichergerät 12 und eine Schnittstelle 14 enthalten. In manchen Beispielen kann die Festplatte 6 zusätzliche Komponenten enthalten, die aus Gründen der einfacheren Darstellung nicht in 1 gezeigt sind. Die Festplatte 6 kann zum Beispiel Stromzufuhrkomponenten enthalten, einschließlich beispielsweise eines Kondensators, Superkondensators oder einer Batterie; eine Leiterplatte (PB), an der Komponenten der Festplatte 6 mechanisch befestigt sind und die elektrisch leitende Spuren enthält, die Komponenten der Festplatte 6 elektrisch miteinander verbinden und ähnliches. In manchen Beispielen können die physikalischen Abmessungen und Anschlusskonfigurationen der Festplatte 6 einem oder mehreren Standardformfaktoren entsprechen. Einige beispielhafte Standardformfaktoren enthalten ein 3,5-Zoll-Festplattenlaufwerk (HDD), ein 2,5-Zoll-HDD oder 1,8-Zoll-HDD, sind jedoch nicht darauf beschränkt.
  • In manchen Beispielen kann der Zwischenspeicher 9 Informationen zur Verarbeitung während des Betriebs der Festplatte 6 speichern. In manchen Beispielen ist der Zwischenspeicher 9 ein temporärer Speicher, was bedeutet, dass ein primärer Zweck des Zwischenspeichers 9 nicht eine langfristige Speicherung ist. Der Zwischenspeicher 9 auf der Festplatte 6 kann zu einer kurzfristigen Speicherung von Informationen als flüchtiger Speicher konfiguriert sein und deshalb gespeicherte Inhalte nicht aufbewahren, wenn er ausgeschaltet ist. Beispiele von flüchtigen Speichern enthalten Random-Access Memories (RAM), dynamische Random-Access Memories (DRAM), statische Random-Access Memories (SRAM) und andere Formen von in der Technik bekannten flüchtigen Speichern.
  • In manchen Beispielen kann die Festplatte 6 eine Shingled-Magnetic-Recording(SMR)-Festplatte sein. Mit SMR werden relativ breite Spuren auf die Festplatte 6 geschrieben und nacheinander geschriebene Datenspuren überlappen teilweise die vorher geschriebenen Datenspuren. Dies erhöht die Dichte der Festplatte 6, indem es die Spuren enger aneinander packt. Ein von den Polen ausgehendes Magnetfeld, wenn es bestromt wird, schreibt und löscht Daten durch Umkehren der Magnetisierung kleiner Bereiche, Bits genannt, auf sich drehenden Scheiben, wie dem Datenspeicher 12, direkt darunter. SMR-Festplatten können hohe Datendichten ermöglichen und sind besonders für fortlaufendes Schreiben/Löschen geeignet.
  • Der Datenspeicher 12 kann konfiguriert sein, größere Informationsmengen als der Zwischenspeicher 9 zu speichern. Der Datenspeicher 12 kann ferner zur langfristigen Speicherung von Informationen als nichtflüchtiger Speicherraum konfiguriert sein und Informationen nach Strom-Ein-/Ausschaltzyklen aufbewahren. Beispiele nichtflüchtiger Speicher enthalten Magnetfestplatten, optische Platten, Disketten, Flash-Speicher oder Formen von elektrisch programmierbaren Read-Only Memories (EPROMs) oder Electrically Erasable Programmable Read-Only Memories (EEPROMs). Der Datenspeicher 12 kann eine oder mehrere Magnetscheiben in der Festplatte 6 sein, wobei jede Scheibe einen oder mehrere Bereiche von einer oder mehreren Datenspuren beinhaltet.
  • Im Allgemeinen, wo die Festplatte 6 eine SMR-Festplatte ist, kann der Datenspeicherabschnitt 12 der Festplatte 6 eine Vielzahl von physischen Bereichen beinhalten. Ein physischer Bereich ist ein Raum von zusammenhängenden, überlappenden Magnetspuren, die zueinander parallel sind. Jeder physische Bereich kann von einem Sicherheitsband getrennt sein, oder einem Satz von einer oder mehreren Magnetspuren, die keine Daten speichern. Logische Blockadressen können eine logische Interpretation einer Lage eines physischen Bereichs auf der Festplatte 6 sein. Jeder Bereich kann dadurch polymorph sein, dass jeder Bereich beliebige Attribute aufweisen kann. Ein Bereich kann zum Beispiel die gültigen Inhalte von vier logischen Spannweiten (LSpans) halten. Eine logische Spannweite ist eine Spannweite oder ein Intervall von sequenziellen LBAs, die auf benachbarte Abschnitte der überlappenden Magnetspuren innerhalb eines physischen Bereichs abbilden. Der logische Raum in LBAs einer LSpan könnte die Größe eines physischen Bereichs sein, aber da nicht alles davon gültig sein könnte, kann der Controller 8 mehrere Spannweiten in einen einzigen physischen Bereich verdichten. Anders ausgedrückt, eine Reihe von LBAs, die eine LSpan bilden, können auf einen physischen Raum abbilden, die die Größe des Bereichs von zusammenhängenden, überlappenden Magnetspuren im physischen Bereich ist, oder ein kleinerer Abschnitt des Raums der zusammenhängenden, überlappenden Magnetspuren im physischen Bereich. In anderen Beispielen kann eine einzige LSpan eine Größe aufweisen, die größer als ein physischer Bereich ist. Als solche kann eine einzige LSpan über mehrere physische Bereiche gespeichert sein.
  • In manchen Beispielen, in denen die Festplatte 6 eine SMR-Festplatte ist, kann der Datenspeicherabschnitt 12 der Festplatte 6 mindestens zwei spezifische Arten von Bereichen umfassen: I-Bereiche und E-Bereiche. Spuren auf einer Plattenoberfläche können in eine Vielzahl von geschuppten (shingled) Bereichen organisiert sein, I-Bereiche genannt. Die Richtung des geschuppten Schreibens für einen I-Bereich kann von einem Innendurchmesser (ID) zu einem Außendurchmesser (OD) oder von OD zu ID sein. Die Platte kann auch in beiden Richtungen auf der gleichen Oberfläche geschuppt sein, wobei sich die zwei Zonen ungefähr am Punkt des Mittendurchmessers treffen. Die Schreibleistung der Festplatte 6 korreliert so mit der Anzahl der in jedem Bereich zusammen gruppierten Spuren, dass die Schreibleistung der Festplatte 6 mit dem Ansteigen der Anzahl an Spuren abnehmen kann, wenn die Schreibvorgänge zufällig oder kleiner als die Größe der gruppierten Spuren sind. Nach dem Schreiben in der geschuppten Struktur kann eine einzelne Spur möglicherweise nicht mehr in situ aktualisiert werden, da ein Neuschreiben der Spur in situ die Daten in den überlappenden Spuren überschreiben und zerstören kann.
  • In einem Versuch, die Leistung von SMR-Laufwerken zu verbessern, kann ein Abschnitt der magnetischen Medien einem oder mehreren sogenannten „Ausnahmebereichen” (E-Bereichen) zugeordnet werden, die als Bereitstellungsbereich für Daten verwendet werden, die schließlich in einen I-Bereich geschrieben werden. Der E-Bereich wird manchmal als ein E-Zwischenspeicher bezeichnet. Da erwartet wird, dass die meisten der Daten in einem SMR-Laufwerk sequenziell in I-Bereichen gespeichert werden, können die Datensätze, die derzeit nicht in den I-Bereichen gespeichert sind, als „Ausnahmen” zu sequenzieller I-Bereichs-Speicherung betrachtet werden. Jeder E-Bereich konsumiert jedoch einen Abschnitt des Datenspeichers 12, sodass für I-Bereiche weniger Platz verfügbar ist. Wie in Bezug auf 2 besprochen, kann der Controller 8 nach Techniken dieser Offenbarung einen beliebigen physischen Bereich auf der Festplatte 6 dynamisch als einen der folgenden Bereiche kennzeichnen: einen I-Bereich, einen E-Bereich oder in manchen Beispielen einen physischen Ersatzbereich.
  • Die Festplatte 6 kann die Schnittstelle 14 zu einem Ankoppeln mit dem Hostgerät 4 enthalten. Die Schnittstelle 14 kann einen der folgenden Busse oder beide enthalten: einen Datenbus zum Austauschen von Daten mit dem Hostgerät 4 und einen Steuerbus zum Austauschen von Befehlen mit dem Hostgerät 4. Die Schnittstelle 14 kann in Übereinstimmung mit irgendeinem geeigneten Protokoll arbeiten. Die Schnittstelle 14 kann zum Beispiel in Übereinstimmung mit einem oder mehreren der folgenden Protokolle arbeiten: ATA (Advanced Technology Attachment) (z. B. Serial ATA (SATA) und Parallel ATA (PAPA)), Fibre Channel, SCSI (Small Computer System Interface), SAS (Serially Attached SCSI), PCI (Peripheral Component Interconnect) und PCI-Express (PCIe). Die elektrische Verbindung der Schnittstelle 14 (z. B. der Datenbus, der Steuerbus oder beide) ist elektrisch mit dem Controller 8 verbunden und stellt eine elektrische Verbindung zwischen dem Hostgerät 4 und dem Controller 8 bereit, was erlaubt, dass Daten zwischen dem Hostgerät 4 und dem Controller 8 ausgetauscht werden. In manchen Beispielen kann die elektrische Verbindung der Schnittstelle 14 der Festplatte 6 auch erlauben, Strom vom Hostgerät 4 zu empfangen.
  • Im Beispiel von 1 enthält die Festplatte 6 die Hardwaremaschine 10, die die Hardware repräsentieren kann, die für eine Ankopplung an das Speichermedium verantwortlich ist. Die Hardwaremaschine 10 kann im Kontext einer scheibenbasierten Festplatte den Magnet-Lese-/Schreibkopf und die begleitende Hardware repräsentieren, um die vom Magnet-Lese-/Schreibkopf erfassten Signale zu konfigurieren, anzusteuern und zu verarbeiten.
  • Die Festplatte 6 enthält den Controller 8, der eine oder mehr Operationen der Festplatte 6 verwalten kann. Der Controller 8 kann an das Hostgerät 4 über die Schnittstelle 14 ankoppeln und die Speicherung von Daten in den und den Abruf von Daten aus dem Datenspeicher 12 verwalten, der über die Hardwaremaschine 10 zugänglich ist. Der Controller 8 kann als ein Beispiel Schreibvorgänge auf und Lesevorgänge von den Speichergeräten, z. B. NAND-Flashspeicherchips (negiertes AND) oder einer Scheibe eines Festplattenlaufwerks, verwalten. In manchen Beispielen kann der Controller 8 ein Hardwarecontroller sein. In anderen Beispielen kann der Controller 8 als ein Softwarecontroller in der Festplatte 6 implementiert sein. Der Controller 8 kann ferner ein oder mehrere Merkmale enthalten, die Techniken dieser Offenbarung durchführen, wie ein atomares In-situ-Schreibmodul 16.
  • Der Host 4 kann in dieser Hinsicht an diverse Hardwaremaschinen ankoppeln, wie die Hardwaremaschine 10, um mit diversen Sensoren zu interagieren. Der Host 4 kann Software ausführen, wie das obengenannte Betriebssystem, um die Interaktionen zwischen dem Host 4 und der Hardwaremaschine 10 zu verwalten. Das Betriebssystem kann im Kontext von Mehrkern-CPUs Arbitrierung durchführen, wobei jeder Kern effektiv eine andere CPU repräsentiert, um zu ermitteln, welche der CPUs auf die Hardwaremaschine 10 zugreifen kann. Das Betriebssystem kann auch eine Warteschlangenverwaltung im Kontext einer einzigen CPU durchführen, um sich damit zu befassen, wie diverse Ereignisse, wie vom Host 4 erteilte Lese- und Schreibanforderungen im Beispiel der Festplatte 6, von der Hardwaremaschine 10 der Festplatte 6 verarbeitet werden sollen.
  • Physische Bereiche innerhalb eines bestimmten Intervalls von logischen Blockadressen können in ein Gebiet gruppiert werden, das unabhängig von anderen Gebieten des SMR-HDD angeordnet und betrieben werden kann. Die physischen Bereiche in jedem Gebiet können austauschbar als E-Bereiche, I-Bereiche oder Ersatzbereiche verwendet werden. Techniken dieser Offenbarung können Suchnachteile durch Aggregation von Schreibvorgängen in mehrere physische Bereiche auf ein einziges Gebiet reduzieren. Ferner, da jeder physische Bereich innerhalb eines Gebiets als ein E-Bereich, ein I-Bereich oder ein Ersatzbereich verwendet werden kann, können hierin beschriebene Techniken einen flexibleren Mechanismus für erweiterbare E-Bereiche bieten. Durch Aufteilen eines SMR-HDD in mehrere Gebiete können die Vorteile, die durch ein kleines Speichergerät erkannt werden, wie reduzierte Suchnachteile und vereinfachte Defragmentierung, auf einem Speichergerät mit einer höheren Speicherkapazität realisiert werden, während dennoch kleinere geschuppte Bereiche und kleinere Sicherheitsbänder zwischen den geschuppten Bereichen eingesetzt werden.
  • Techniken dieser Offenbarung können dem Controller 8 ermöglichen, die Festplatte 6 unter Verwendung von Gebietsstrukturen zu partitionieren. Zusätzlich zur oben gegebenen Beschreibung in Bezug auf den Datenspeicher 12, kann der Datenspeicher 12 in eine Vielzahl von physischen Bereichen aufgeteilt werden. Jeder physische Bereich der Vielzahl der physischen Bereiche kann mit einer oder mehreren logischen Blockadressen assoziiert werden. Im Allgemeinen ist jeder physische Bereich der Vielzahl der physischen Bereiche von der gleichen Größe, obwohl es Beispiele geben könnte, die Techniken dieser Offenbarung implementieren, in denen unterschiedliche physische Bereiche unterschiedliche Größen aufweisen. In manchen Beispielen ist jeder physische Bereich 256 MB groß. In anderen Beispielen kann ein physischer Bereich jedoch kleiner in der Größe (z. B., 128 MB) oder größer in der Größe (z. B. 8 GB bis Hunderte von GB) als 256 MB sein. Logische Blockadressierung (LBA) ist ein übliches Schema, das zu einer Spezifizierung der Lage von physischen Bereichen auf Computer-Speichergeräten und sekundären Speichersystemen wie Festplatten verwendet wird. LBA ist ein besonders einfaches lineares Adressierungsschema; physische Bereiche werden durch einen ganzzahligen Index örtlich festgelegt, wobei der erste physische Bereich LBA 0 ist, der zweite LBA 1 und so weiter. In manchen Beispielen sind die physischen Bereiche auf dem Datenspeicher 12 so angeordnet, dass die niedrigste LBA auf einem Außendurchmesser ist und die höchste LBA auf dem Innendurchmesser ist, wobei die physischen Bereiche in ansteigender Reihenfolge von LBA angeordnet sind, wenn der physische Bereich näher zum Innendurchmesser kommt. In anderen Beispielen ist diese Anordnung umgekehrt, wobei die niedrigste LBA auf einem Innendurchmesser ist und die höchste LBA auf dem Außendurchmesser ist, wobei die physischen Bereiche in ansteigender Reihenfolge von LBA angeordnet sind, wenn der physische Bereich näher zum Außendurchmesser kommt. Obwohl dieses Beispiel eine 1:1-Abbildung von physischen Bereichen auf LBAs beschreibt, können Beispiele existieren, in denen mehrere LBAs mit dem gleichen physischen Bereich assoziiert sind. In anderen Beispielen kann eine einzige LBA auf Daten verweisen, die über mehrere physische Bereiche gespeichert sind, was bedeutet, dass jeder physische Bereich die gleiche LBA aufweist.
  • Der Controller 8 kann ferner eine Vielzahl von Gebieten im Datenspeicher 12 bestimmen. Jedes Gebiet der Vielzahl der Gebiete kann ein individuelles Intervall der logischen Blockadressen enthalten. Ferner ist jeder physische Bereich der Vielzahl der physischen Bereiche, der mit einer jeweiligen logischen Blockadresse innerhalb des jeweiligen Intervalls der logischen Blockadressen für das jeweilige Gebiet assoziiert ist, ferner mit dem jeweiligen Gebiet assoziiert. Mit anderen Worten, ein Beispielsystem kann vier Millionen physische Bereiche im Datenspeicher 12 einsetzen. Wenn es zwanzig für den Datenspeicher 12 ermittelte Gebiete gibt, dann kann das erste Gebiet physische Bereiche mit logischen Blockadressen zwischen 0 und 199.999 beinhalten, das zweite Gebiet kann physische Bereiche mit logischen Blockadressen zwischen 200.000 und 399.999 beinhalten usw. Es sollte verstanden werden, dass andere Beispiele mehr als vier Millionen physische Bereiche oder weniger als vier Millionen physische Bereiche in Kombination mit mehr als zwanzig Gebieten oder weniger als zwanzig Gebieten aufweisen können. Das Beispiel, das vier Millionen physische Bereiche und zwanzig Gebiete verwendet, dient nur zu Beispielzwecken. Obwohl dieses Beispiel eine 1:1-Abbildung von physischen Bereichen auf LBAs beschreibt, können Beispiele existieren, in denen mehrere LBAs mit dem gleichen physischen Bereich assoziiert sind. In anderen Beispielen kann eine einzige LBA auf Daten verweisen, die über mehrere physische Bereiche gespeichert sind, was bedeutet, dass jeder physische Bereich die gleiche LBA aufweist. In solchen Beispielen, in denen es keine 1:1-Abbildung von physischen Bereichen gibt, beinhaltet jedes Gebiet ein Intervall von LBAs.
  • Der Controller 8 kann konfiguriert sein, ein oder mehrere Merkmale jedes physischen Bereichs dynamisch zu definieren, das mit jedem Gebiet der Vielzahl der Gebiete des Datenspeichers 12 assoziiert ist. Das eine Merkmal oder die mehreren Merkmale können ein beliebiges Merkmal sein, das den Betrieb der Festplatte 6 oder die Handhabung von in den jeweiligen physischen Bereichen gespeicherten Daten beeinflusst, wie unter anderem Speicherdauer, Verschlüsselung oder die Art der Daten, die im jeweiligen physischen Bereich gespeichert werden kann. Mit anderen Worten, die Bereiche, die nach den physischen Bereichen und den logischen Blockadressen abgebildet sind, können polymorph sein, wobei sie beliebige Attribute annehmen, wie vom Rechengerät, das die Festplatte 6 enthält, und den im jeweiligen Bereich gespeichert werdenden Daten erforderlich. In manchen bestimmten Beispielen kann der Controller 8 konfiguriert sein, jeden physischen Bereich dynamisch in jedem Gebiet der Vielzahl der Gebiete zu kennzeichnen, einer der folgenden Bereiche zu sein: ein I-Bereich, ein E-Bereich oder ein physischer Ersatzbereich. Wie oben beschrieben, kann ein E-Bereich zur temporären Speicherung konfiguriert sein. Ferner kann ein I-Bereich konfiguriert sein, Daten permanenter zu speichern, wie langfristige Speicherung. Ein physischer Ersatzbereich kann ein physischer Bereich der Vielzahl der physischen Bereiche sein, der konfiguriert ist, keine Daten zu speichern. Weitere Details in Bezug darauf, wie der Controller 8 die physischen Bereiche kennzeichnet, ein I-Bereich oder ein E-Bereich zu sein, sind in Bezug auf 2 gezeigt.
  • Durch Partitionieren des Datenspeichers 12 in Gebiete können Suchnachteile reduziert werden, indem Schreibvorgänge auf mehrere physische Bereiche innerhalb des gleichen Gebiets gehalten werden, in dem physische Bereiche alle eine ähnliche physische Lage haben. Ferner, indem erlaubt wird, dass die physischen Bereiche in jedem Gebiet austauschbar als ein E-Bereich, ein I-Bereich oder ein Ersatzbereich verwendet werden oder sogar polymorphe Attribute aufweisen, können die hierin beschriebenen Techniken einen flexibleren Mechanismus für erweiterbare E-Bereiche bieten und einen FTI auf eine elegantere Weise handhaben, was ferner ermöglicht, dass kleinere geschuppte Bereiche eingesetzt werden. Ferner, da jedes Gebiet unabhängig von anderen Gebieten als Speicher verwendet werden kann, können die hierin beschriebenen Techniken Defragmentierungsverfahren vereinfachen und FTI-Handhabung verbessern. Größere gestreamte Schreibvorgänge (d. h., > 1 GB gestreamte Schreibvorgänge) mit kleineren physischen Bereichen treten nicht mehr in den gleichen physischen Bereichen auf, was ferner eine sequenzielle Umgehungsleistung verbessert. Durch Aufteilen der Festplatte 6 in mehrere Gebiete können die Vorteile, die durch ein kleines Speichergerät erkannt werden, wie reduzierte Suchnachteile und vereinfachte Defragmentierung, auf einem Speichergerät mit einer höheren Speicherkapazität realisiert werden, während dennoch kleinere geschuppte Bereiche und kleinere Sicherheitsbänder zwischen den geschuppten Bereiche eingesetzt werden.
  • 2 ist ein Blockdiagramm, das den Controller 8 und andere Komponenten der Festplatte 6 von 1 detaillierter illustriert. Im Beispiel von 2 enthält der Controller 8 die Schnittstelle 14, ein Zonenkennzeichnungsmodul 22, ein Datenschreibmodul 24, eine Speicherverwaltungseinheit 32 und eine Hardwaremaschinen-Schnittstelleneinheit 34. Die Speicherverwaltungseinheit 32 und die Hardwaremaschinen-Schnittstelleneinheit 34 können diverse Funktionen durchführen, die für einen Controller auf einer Festplatte typisch sind. Die Hardwaremaschinen-Schnittstelleneinheit 34 kann beispielsweise eine Einheit repräsentieren, die konfiguriert ist, Kommunikationen zwischen dem Hardwarecontroller 8 und der Hardwaremaschine 10 zu ermöglichen. Die Hardwaremaschinen-Schnittstelleneinheit 34 kann einen standardisierten oder einheitlichen Weg darstellen, mit dem an die Hardwaremaschine 10 angekoppelt wird. Die Hardwaremaschinen-Schnittstelle 34 kann der Hardwaremaschine 10 diverse Konfigurationsdaten und Ereignisse bereitstellen, die danach das Ereignis in Übereinstimmung mit den Konfigurationsdaten verarbeiten kann, wobei abhängig vom Ereignis diverse unterschiedliche Informationstypen zurückgegeben werden. Im Kontext eines Ereignisses, das anfordert, dass Daten gelesen werden (z. B. eine Leseanforderung), kann die Hardwaremaschine 10 die Daten an die Hardwaremaschinen-Schnittstelle 34 zurückgeben, die die Daten an die Speicherverwaltungseinheit 32 weitergeben kann. Die Speicherverwaltungseinheit 32 kann die gelesenen Daten im Zwischenspeicher 9 speichern und einen Zeiger oder eine andere Anzeige davon zurückgeben, wo diese gelesenen Daten in Hardwaremaschinen-Schnittstelle 34 gespeichert sind. Im Kontext eines Ereignisses, das eine Anforderung zum Schreiben von Daten involviert (z. B. eine Schreibanforderung), kann die Hardwaremaschine 10 eine Anzeige zurückgeben, dass der Schreibvorgang an Hardwaremaschinen-Schnittstelleneinheit 34 abgeschlossen wurde. In dieser Hinsicht kann die Hardwaremaschinen-Schnittstelleneinheit 34 ein Protokoll und einen Handshake-Mechanismus bereitstellen, mit dem an die Hardwaremaschine 10 angekoppelt wird.
  • Der Controller 8 enthält diverse Module, einschließlich des Zonenkennzeichnungsmoduls 22 und des Datenschreibmoduls 24. Die diversen Module des Controllers 8 können konfiguriert sein, diverse Techniken dieser Offenbarung durchzuführen, einschließlich der oben in Bezug auf 1 beschriebenen Technik. Das Zonenkennzeichnungsmodul 22 und das Datenschreibmodul 24 können hierin beschriebene Operationen unter Verwendung von Software, Hardware, Firmware oder einer Mischung aus Hardware, Software und Firmware durchführen, die sich in der Festplatte 6 befindet und/oder dort ausgeführt wird.
  • Unter Verwendung des Zonenkennzeichnungsmoduls 22 und des Datenschreibmoduls 24 kann der Controller 8 Techniken dieser Offenbarung durchführen, um Daten auf den Datenspeicher 12 der Festplatte 6 zu partitionieren und zu schreiben. Wie oben beschrieben, kann der Datenspeicher 12 in eine Vielzahl von physischen Bereichen aufgeteilt sein. Jeder physische Bereich der Vielzahl der physischen Bereiche kann mit einer oder mehreren logischen Blockadressen assoziiert werden. Im Allgemeinen ist jeder physische Bereich der Vielzahl der physischen Bereiche von der gleichen Größe, obwohl es Beispiele geben könnte, die Techniken dieser Offenbarung implementieren, in denen unterschiedliche physische Bereiche unterschiedliche Größen aufweisen. In manchen Beispielen ist jeder physische Bereich 256 MB groß. In anderen Beispielen kann ein physischer Bereich jedoch kleiner in der Größe (z. B., 128 MB) oder größer in der Größe (z. B. 8 GB bis Hunderte von GB) als 256 MB sein. Logische Blockadressierung (LBA) ist ein übliches Schema, das zu einer Spezifizierung der Lage von physischen Bereichen auf Computer-Speichergeräten und sekundären Speichersystemen wie Festplatten verwendet wird. LBA kann ein besonders einfaches lineares Adressierungsschema sein; physische Bereiche werden durch einen ganzzahligen Index örtlich festgelegt, wobei der erste physische Bereich LBA 0 ist, der zweite LBA 1 und so weiter. In manchen Beispielen sind die physischen Bereiche auf dem Datenspeicher 12 so angeordnet, dass die niedrigste LBA auf einem Außendurchmesser ist und die höchste LBA auf dem Innendurchmesser ist, wobei die physischen Bereiche in ansteigender Reihenfolge von LBA angeordnet sind, wenn der physische Bereich näher zum Innendurchmesser kommt. In anderen Beispielen ist diese Anordnung umgekehrt, wobei die niedrigste LBA auf einem Innendurchmesser ist und die höchste LBA auf dem Außendurchmesser ist, wobei die physischen Bereiche in ansteigender Reihenfolge von LBA angeordnet sind, wenn der physische Bereich näher zum Außendurchmesser kommt. Obwohl dieses Beispiel eine 1:1-Abbildung von physischen Bereichen auf LBAs beschreibt, können Beispiele existieren, in denen mehrere LBAs mit dem gleichen physischen Bereich assoziiert sind. In anderen Beispielen kann eine einzige LBA auf Daten verweisen, die über mehrere physische Bereiche gespeichert sind, was bedeutet, dass jeder physische Bereich die gleiche LBA aufweist. In solchen Beispielen, in denen es keine 1:1-Abbildung von physischen Bereichen gibt, beinhaltet jedes Gebiet ein Intervall von LBAs.
  • Das Zonenkennzeichnungsmodul 22 des Controllers 8 kann ferner eine Vielzahl von Gebieten im Datenspeicher 12 auf Basis der jeweiligen logischen Blockadresse jedes physischen Bereichs aus der Vielzahl der physischen Bereiche im Datenspeicher 12 ermitteln. Jedes Gebiet der Vielzahl der Gebiete kann ein individuelles Intervall der logischen Blockadressen enthalten. Ferner ist jeder physische Bereich der Vielzahl der physischen Bereiche, der mit einer jeweiligen logischen Blockadresse innerhalb des jeweiligen Intervalls der logischen Blockadressen für das jeweilige Gebiet assoziiert ist, ferner mit dem jeweiligen Gebiet assoziiert. Mit anderen Worten, ein Beispielsystem kann zwei Millionen physische Bereiche im Datenspeicher 12 einsetzen. Wenn es fünfundzwanzig für den Datenspeicher 12 ermittelte Gebiete gibt, dann kann das erste Gebiet physische Bereiche mit logischen Blockadressen zwischen 0 und 79.999 beinhalten, das zweite Gebiet kann physische Bereiche mit logischen Blockadressen zwischen 80.000 und 159.999 beinhalten usw. Es sollte verstanden werden, dass andere Beispiele mehr als zwei Millionen physische Bereiche oder weniger als zwei Millionen physische Bereiche in Kombination mit mehr als fünfundzwanzig Gebieten oder weniger als fünfundzwanzig Gebieten aufweisen können. Das Beispiel, das zwei Millionen physische Bereiche und fünfundzwanzig Gebiete verwendet, dient nur zu Beispielzwecken. Obwohl dieses Beispiel eine 1:1-Abbildung von physischen Bereichen auf LBAs beschreibt, können Beispiele existieren, in denen mehrere LBAs mit dem gleichen physischen Bereich assoziiert sind. In anderen Beispielen kann eine einzige LBA auf Daten verweisen, die über mehrere physische Bereiche gespeichert sind, was bedeutet, dass jeder physische Bereich die gleiche LBA aufweist. In solchen Beispielen, in denen es keine 1:1-Abbildung von physischen Bereichen gibt, beinhaltet jedes Gebiet ein Intervall von LBAs.
  • Das Zonenkennzeichnungsmodul 22 des Controllers 8 kann konfiguriert sein, ein Merkmal oder mehrere Merkmale jedes physischen Bereichs innerhalb jedes Gebiets des Datenspeichers 12 dynamisch zu definieren. Das eine Merkmal oder die mehreren Merkmale können ein beliebiges Merkmal sein, das den Betrieb der Festplatte 6 oder die Handhabung von in den jeweiligen physischen Bereichen gespeicherten Daten beeinflusst, wie unter anderem Speicherdauer, Verschlüsselung oder die Art der Daten, die im jeweiligen physischen Bereich gespeichert werden kann. Mit anderen Worten, die Bereiche, die nach den physischen Bereichen und den logischen Blockadressen abgebildet sind, können polymorph sein, wobei sie beliebige Attribute annehmen, wie vom Rechengerät, das die Festplatte 6 enthält, und den im jeweiligen Bereich gespeichert werdenden Daten erforderlich. In manchen bestimmten Beispielen kann das Zonenkennzeichnungsmodul 22 des Controllers 8 konfiguriert sein, jeden physischen Bereich dynamisch in jedem Gebiet der Vielzahl der Gebiete zu kennzeichnen, einer der folgenden Bereiche zu sein: ein I-Bereich, ein E-Bereich oder ein physischer Ersatzbereich. Wie oben beschrieben, kann ein E-Bereich zur temporären Speicherung konfiguriert sein. Ferner kann ein I-Bereich konfiguriert sein, Daten permanenter zu speichern, wie langfristige Speicherung.
  • In manchen Beispielen kann ein gesamter physischer Bereich mit einer einzigen, individuellen logischen Blockadresse assoziiert sein. In anderen Beispielen kann ein gesamter physischer Bereich mit mehreren logischen Blockadressen assoziiert sein. In noch anderen Beispielen können mehrere physische Bereiche mit derselben logischen Blockadresse assoziiert sein. Jedes dieser Beispiele kann im gleichen Datenspeicher 12 der Festplatte 6 existieren. Mit anderen Worten, das Vorhandensein einer Konfiguration im Datenspeicher 12 der Festplatte 6 schließt nicht aus, dass die restlichen Konfigurationen im gleichen Datenspeicher 12 der Festplatte 6 vorhanden sind. Ferner, während ein physischer Bereich zuerst mit einer oder mehreren logischen Blockadressen und einem ersten jeweiligen Gebiet assoziiert sein kann, können physische Bereiche so aktualisiert werden, dass die physischen Bereiche mit verschiedenen logischen Blockadressen und möglicherweise verschiedenen Gebieten assoziiert sind. Zum Beispiel kann ein erster physischer Bereich mit einer ersten, mit einem ersten Gebiet assoziierten logischen Blockadresse assoziiert sein. Das Zonenkennzeichnungsmodul 22 des Controllers 8 kann den ersten physischen Bereich so aktualisieren, dass der erste physische Bereich nicht mit der ersten logischen Blockadresse assoziiert ist, und so, dass der erste physische Bereich mit einer zweiten logischen Blockadresse assoziiert ist, die von der ersten logischen Blockadresse verschieden ist. Als Reaktion auf ein Assoziiertsein der zweiten logischen Blockadresse mit einem zweiten, vom ersten Gebiet verschiedenen Gebiet kann das Zonenkennzeichnungsmodul 22 des Controllers 8 ermitteln, dass der erste physische Bereich mit dem zweiten Gebiet statt mit dem ersten Gebiet assoziiert ist.
  • Ein physischer Ersatzbereich ist ein physischer Bereich, der konfiguriert ist, keine Daten zu speichern. Mit anderen Worten, dies erlaubt eine Überversorgung innerhalb des Datenspeichers 12 der Festplatte 6. Durch das Erlauben einer Überversorgung kann eine Festplatte, die nach Techniken dieser Offenbarung partitioniert ist, diverse wirksame Defragmentierungstechniken durchführen, die der Festplatte erlauben werden, während ihrer aktuellen Konfiguration im effizientestmöglichen Zustand zu sein.
  • Ein beispielhaftes Defragmentierungsverfahren könnte enthalten, dass das Datenschreibmodul 24 des Controllers 8 bewirkt, dass die Speicherverwaltungseinheit 32 geschriebene Daten von einem ersten physischen Bereich, der entweder als I-Bereich oder als E-Bereich gekennzeichnet ist, zu einem ersten physischen Ersatzbereich des einen physischen Ersatzbereichs oder der mehreren physischen Ersatzbereiche bewegt. Da das Zonenkennzeichnungsmodul 22 des Controllers 8 diverse physische Bereiche dynamisch als einen Bereich aus einem I-Bereich, einem E-Bereich oder einem physischen Ersatzbereich kennzeichnen kann, kann der Controller 8 diese Daten bewegen, ohne die gewünschte Überversorgung zu verlieren. Zum Beispiel kann das Zonenkennzeichnungsmodul 22 des Controllers 8 den ersten physischen Bereich (d. h. die ursprüngliche Lage der Daten, die vorher entweder als ein I-Bereich oder als ein E-Bereich gekennzeichnet war) kennzeichnen, der nun keine Daten beinhaltet, ein physischer Ersatzbereich zu sein. Das Zonenkennzeichnungsmodul 22 des Controllers 8 kann ferner den ersten physischen Ersatzbereich (d. h., den physischen Ersatzbereich, der nun die zuvor im ersten physischen Bereich gespeicherten Daten beinhaltet) als entweder einen I-Bereich oder einen E-Bereich kennzeichnen, üblicherweise basierend darauf, ob der erste physische Bereich vorher gekennzeichnet war, ein I-Bereich oder ein E-Bereich zu sein.
  • Wie oben beschrieben kann das Zonenkennzeichnungsmodul 22 des Controllers 8 auch den einen physischen Bereich oder die mehreren physischen Bereiche innerhalb jedes Gebiets dynamisch kennzeichnen, entweder ein I-Bereich oder ein E-Bereich zu sein. Auf diese Weise kennzeichnet das Zonenkennzeichnungsmodul 22 des Controllers 8 einen ersten physischen Bereich, ein E-Bereich zu sein, wenn der erste physische Bereich kein physischer Ersatzbereich ist und keine Daten auf den ersten physischen Bereich geschrieben sind. Das Zonenkennzeichnungsmodul 22 des Controllers 8 kann auch den ersten physischen Bereich kennzeichnen, ein E-Bereich zu sein, wenn der erste physische Bereich kein physischer Ersatzbereich ist und nur temporäre Daten oder Ausnahmedaten auf den ersten physischen Bereich geschrieben sind. Andernfalls kann das Zonenkennzeichnungsmodul 22 den ersten physischen Bereich kennzeichnen, ein I-Bereich zu sein, wenn der erste physische Bereich kein physischer Ersatzbereich ist und unter keine der Kategorien oben für einen E-Bereich fallt. Auf diese Weise kann die Festplatte 6 einen erweiterbaren E-Bereich innerhalb jedes Gebiets des Datenspeichers 12 erlauben, wobei die optimale Speicherumgebung für jede Konfiguration der Festplatte 6 bereitgestellt wird.
  • Das Zonenkennzeichnungsmodul 22 des Controllers 8 kann auch bestehende E-Bereiche modifizieren, I-Bereiche zu werden. Das Datenschreibmodul 24 des Controllers 8 kann zum Beispiel einen ersten Satz von Daten in einen physischen Bereich schreiben, der vorher gekennzeichnet war, ein E-Bereich zu sein. Der erste Satz von Daten sind keine temporären Daten und keine Ausnahmedaten. Sobald diese nicht temporären, Nicht-Ausnahmedaten in den physischen Bereich geschrieben wurden, der vorher gekennzeichnet war, ein E-Bereich zu sein, kann das Zonenkennzeichnungsmodul 22 den physischen Bereich aktualisieren, indem es den physischen Bereich kennzeichnet, ein I-Bereich zu sein. Auf diese Weise kann die Festplatte 6 die Speicherumgebung dynamisch auf Basis der Informationen ändern, die in jedem physischen Bereich gespeichert werden, um dynamisch die optimale Speicherumgebung für jede Konfiguration der Festplatte 6 bereitzustellen.
  • Angesichts der obigen Konfiguration von Gebieten kann es möglich sein, dass manche Gebiete vor anderen Gebieten voll werden. Zum Beispiel können im Allgemeinen beliebige Ausnahmedaten, die zu in einem I-Bereich eines bestimmten Gebiets gespeicherten Daten zugehörig sind, im gleichen Gebiet wie der I-Bereich gespeichert sein. Beispielsweise kann ein physischer Bereich im Gebiet 13 des Beispiels oben einige Ausnahmedaten generieren. Diese Ausnahmedaten können an einen physischen Bereich geschrieben werden, der als ein E-Bereich in Gebiet 13 zu kennzeichnen ist. Manche Daten generieren jedoch mehr Ausnahmedaten als andere. Zum Beispiel kann ein großer, fortlaufender Schreibvorgang, der mehrere physische Bereiche im Gebiet 13 umfasst, mehrere physische Bereiche von Ausnahmedaten generieren, was bewirkt, dass das Gebiet 13 keine freien physischen Bereiche aufweist, an die das Datenschreibmodul 24 Ausnahmedaten schreiben kann. In einem solchen Beispiel kann das Datenschreibmodul 24 des Controllers 8 ein anderes Gebiet des Datenspeichers 12 kennzeichnen, ein Partnergebiet des Gebiets 13 zu sein.
  • Zum Beispiel kann das Datenschreibmodul 24 eine Anforderung empfangen, Ausnahmedaten in Gebiet 13 zu schreiben, das gleiche Gebiet, das den I-Bereich beinhaltet, zu dem die Ausnahmedaten zugehörig sind. Das Datenschreibmodul 24 kann eine Menge von physischen Bereichen im ersten Gebiet ermitteln, die derzeit keine Daten speichern. Das Datenschreibmodul 24 kann dann ermitteln, ob die Menge der physischen Bereiche im ersten Gebiet (d. h., Gebiet 13), die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern. Wenn das Datenschreibmodul 24 ermittelt, dass die Menge der physischen Bereiche im Gebiet 13, die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern, kann das Datenschreibmodul 24 die Ausnahmedaten in einen oder mehrere physische Bereiche im Gebiet 13 schreiben. Wenn zum Beispiel die Ausnahmedaten zwei physische Bereiche erfordern, und das Gebiet 13 drei verfügbare physische Bereiche aufweist, kann das Datenschreibmodul 24 die Ausnahmedaten in das Gebiet 13 schreiben. Wenn das Datenschreibmodul 24 jedoch ermittelt, dass die Menge der physischen Bereiche im Gebiet 13, die derzeit keine Daten speichern, nicht ausreichend ist, um die Ausnahmedaten zu speichern, kann das Datenschreibmodul 24 die Ausnahmedaten in einen oder mehrere physische Bereiche in einem zweiten Gebiet (d. h., dem Partnergebiet) schreiben, das eine Menge von physischen Bereichen aufweist, die derzeit keine Daten speichern, die ausreichend ist, um die Ausnahmedaten zu speichern. Wenn zum Beispiel die Ausnahmedaten zwei physische Bereiche erfordern, und das Gebiet 13 nur einen verfügbaren physischen Bereich aufweist, kann das Datenschreibmodul 24 die Ausnahmedaten in das Gebiet 10 schreiben, das siebenundzwanzig verfügbare physische Bereiche aufweist. Es ist zu beachten, dass das Partnergebiet kein benachbartes Gebiet sein muss.
  • Ein Partnergebiet ist konfiguriert, alle fremden Ausnahmedaten für ein Gebiet zu speichern, das keinen ausreichenden Platz aufweist, um die fremden Ausnahmedaten zu speichern. Wenn jedoch das Partnergebiet voll wird, kann das ursprüngliche Gebiet, das ein Partnergebiet benötigt hat, ein zweites Partnergebiet erhalten. Unter Fortsetzung des vorhergehenden Beispiels kann das Datenschreibmodul 24 eine Anforderung empfangen, Ausnahmedaten in Gebiet 13 zu schreiben, das gleiche Gebiet, das den I-Bereich beinhaltet, zu dem die Ausnahmedaten zugehörig sind. Da das Gebiet 13 keinen ausreichenden Platz für mehr Ausnahmedaten aufweist, kann das Datenschreibmodul 24 dann ermitteln, ob die Menge der physischen Bereiche im Partnergebiet (d. h., Gebiet 10), die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern. Wenn das Datenschreibmodul 24 ermittelt, dass die Menge der physischen Bereiche im Gebiet 10, die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern, kann das Datenschreibmodul 24 die Ausnahmedaten in einen oder mehrere physische Bereiche im Gebiet 10 schreiben. Wenn zum Beispiel die Ausnahmedaten fünf physische Bereiche erfordern, und das Gebiet 10 acht verfügbare physische Bereiche aufweist, kann das Datenschreibmodul 24 die Ausnahmedaten für das Gebiet 13 in das Gebiet 10 schreiben. Wenn das Datenschreibmodul 24 jedoch ermittelt, dass die Menge der physischen Bereiche im Gebiet 10, die derzeit keine Daten speichern, nicht ausreichend ist, um die Ausnahmedaten für das Gebiet 13 zu speichern, kann das Datenschreibmodul 24 die Ausnahmedaten in einen oder mehrere physische Bereiche in einem zweiten Partnergebiet schreiben, das eine Menge von physischen Bereichen aufweist, die derzeit keine Daten speichern, die ausreichend ist, um die Ausnahmedaten zu speichern. Wenn zum Beispiel die Ausnahmedaten fünf physische Bereiche erfordern, und das Gebiet 10 nur drei verfügbare physische Bereiche aufweist, kann das Datenschreibmodul 24 die Ausnahmedaten in das Gebiet 6 schreiben, das zwölf verfügbare physische Bereiche aufweist. Das Gebiet 6 würde dann als ein weiteres Partnergebiet von Gebiet 13 angesehen.
  • Partnergebiete unterstützen ferner die Organisation des Datenspeichers 12. Während die Gebiete mehrere erweiterbare E-Bereiche erlauben, können sich manche Gebiete aufgrund der reduzierten Größen zur Zuordnung früher als andere füllen. Eine Verwendung von Partnergebieten ermöglicht einem Lese-/Schreibkopf, Ausnahmedaten für ein volles Gebiet mit minimalen Suchnachteilen zu finden, was die Effizienz einer Festplatte maximiert, die hierin beschriebene Techniken verwendet.
  • Durch Partitionieren des Datenspeichers 12 in Gebiete können Suchnachteile reduziert werden, indem Schreibvorgänge auf mehrere physische Bereiche innerhalb des gleichen Gebiets gehalten werden, in dem physische Bereiche alle eine ähnliche physische Lage haben. Ferner, indem erlaubt wird, dass die physischen Bereiche in jedem Gebiet austauschbar als ein E-Bereich, ein I-Bereich oder ein Ersatzbereich verwendet werden, können die hierin beschriebenen Techniken einen flexibleren Mechanismus für erweiterbare E-Bereiche bieten und einen FTI auf eine elegantere Weise handhaben, was ferner ermöglicht, dass kleinere geschuppte Bereiche eingesetzt werden. Ferner, da jedes Gebiet unabhängig von anderen Gebieten als Speicher verwendet werden kann, können die hierin beschriebenen Techniken Defragmentierungsverfahren vereinfachen und FTI-Handhabung verbessern. Größere gestreamte Schreibvorgänge (d. h., > 1 GB gestreamte Schreibvorgänge) mit kleineren physischen Bereichen treten nicht mehr in den gleichen physischen Bereichen auf, was ferner eine sequenzielle Umgehungsleistung verbessert. Durch Aufteilen der Festplatte 6 in mehrere Gebiete können die Vorteile, die durch ein kleines Speichergerät erkannt werden, wie reduzierte Suchnachteile und vereinfachte Defragmentierung, auf einem Speichergerät mit einer höheren Speicherkapazität realisiert werden, während dennoch kleinere geschuppte Bereiche und kleinere Sicherheitsbänder zwischen den geschuppten Bereichen eingesetzt werden.
  • 3 ist ein konzeptionelles Diagramm, das ein beispielhaftes Festplattenlaufwerk illustriert, das in Gebiete segmentiert ist, nach einer oder mehreren Techniken dieser Offenbarung. Ein beispielhaftes Datenspeicherarray 40 von 3 zeigt jedes Gebiet mit 1 bis einschließlich N gekennzeichnet. In manchen Beispielen des Datenspeicherarrays 40 kann es weniger als fünfzehn Gebiete geben, während andere Beispiele mehr als fünfundzwanzig verschiedene Gebiete aufweisen können. Ferner ist im beispielhaften Datenspeicherarray 40 das erste Gebiet, Gebiet 1, das die physischen Bereiche mit den kleinsten logischen Blockadressen hält, einem Außendurchmesser der Festplatte am nächsten, während das letzte Gebiet, Gebiet N, das die physischen Bereiche mit den größten Blockadressen hält, dem Innendurchmesser der Festplatte am nächsten ist.
  • In jedem Gebiet gibt es vertikal gezeigte abwechselnde „Kästchen”. In diesem Beispiel wird ein physischer Bereich, egal, ob es ein E-Bereich, ein I-Bereich oder ein physischer Ersatzbereich ist, als ein Kästchen mit einem vertikalen Linienmuster gezeigt. Ferner repräsentieren in diesem Beispiel die leeren Kästchen zwischen jedem physischen Bereich ein Sicherungsband. Ein Sicherungsband repräsentiert eine oder mehrere Datenspuren zwischen physischen Bereichen, die keine Daten irgendeiner Art auf sie geschrieben aufweisen. Sicherungsbänder können Schreibfehler in einer Shingled-Magnetic-Drive reduzieren. In Beispielen, in denen physische Bereiche sehr groß sind, könnten Sicherungsbänder so groß wie 64 Spuren sein. Unter Verwendung von Techniken dieser Offenbarung, um die Festplatte in Gebiete zu partitionieren, können Sicherungsbänder jedoch bei Verwendung mit 256-MB-Zonen auf eine so kleine Größe wie 1,5 Spuren reduziert werden, was bedeutet, dass die Sicherungsbänder nur ungefähr 0,795% des verfügbaren Platzes in einer Festplatte einnehmen. Dadurch wird ermöglicht, dass Festplatten, die die hierin offenbarten Techniken verwenden, kleinere physische Bereiche verwenden, ohne unter Nachteilen von größeren Sicherungsbändern zu leiden.
  • 4 ist eine konzeptionelle Tabelle, die eine beispielhafte Reihe von Schreiboperationen auf ein Gebiet im Datenspeicher 12 der Festplatte 6 illustriert, nach einer oder mehreren Techniken dieser Offenbarung. Während diverser Schreiboperationen kann der Controller 8 dynamisch physische Bereiche entweder als einen I-Bereich oder einen E-Bereich kennzeichnen. Wie oben beschrieben können die physischen Bereiche polymorph mit beliebigen Attributen sein. Im Beispiel von 4 können die physischen Bereiche die Attribute eines I-Bereichs, eines E-Bereichs oder eines physischen Ersatzbereichs annehmen. Die beispielhafte Schreibsequenz von 4 zeigt, wie physische Bereiche dynamisch klassifiziert werden, um eine optimale Speicherumgebung für den Datenspeicher 12 bereitzustellen. Im Beispiel von 4 wird jedes Gebiet der Einfachheit halber nur mit acht physischen Bereichen gezeigt. In anderen Beispielen könnte jeder Bereich Tausende von physischen Bereichen aufweisen.
  • Bei Zeitpunkt T1 enthält Gebiet X sechs I-Bereiche (d. h., physische Bereiche 1, 3, 5, 2, 4 und 6). Gebiet X enthält auch einen physischen Ersatzbereich (d. h., einen physischen Bereich S) und einen E-Bereich (d. h., einen physischen Bereich E). Gebiet Y enthält vier I-Bereiche (d. h., physische Bereiche 1, 3, 2 und 4). Gebiet Y enthält auch einen physischen Ersatzbereich (d. h., einen physischen Bereich S) und drei E-Bereiche (d. h., physische Bereiche E).
  • Bei Zeitpunkt T2 hat das Datenschreibmodul 24 eine Anforderung empfangen, einen Satz von Daten an einen physischen Bereich im Bereich X zu schreiben. Der Satz von Daten sind keine temporären Daten und keine Ausnahmedaten. Das Datenschreibmodul 24 kann diesen Satz von Daten in das Gebiet X in den physischen Bereich schreiben, der vorher als ein E-Bereich im Gebiet X verwendet wurde. Da diese Daten keine temporären Daten und keine Ausnahmedaten sind, kann das Zonenkennzeichnungsmodul 22 des Controllers 8 des vorher gekennzeichneten E-Bereichs in Gebiet X kennzeichnen, ein I-Bereich zu sein (d. h., ein physischer Bereich 7).
  • Bei Zeitpunkt T3 hat das Datenschreibmodul 24 eine Anforderung empfangen, Ausnahmedaten an einen physischen Bereich im Bereich X zu schreiben. Die Ausnahmedaten können mit einem I-Bereich im Gebiet X assoziiert sein, wie der neu geschriebene physische Bereich 7. Das Datenschreibmodul 24 kann eine Menge von physischen Bereichen im Gebiet X ermitteln, die derzeit keine Daten speichern. Das Datenschreibmodul 24 kann dann ermitteln, ob die Menge der physischen Bereiche im Gebiet X, die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern. Im Beispiel von 4 bei Zeitpunkt T3 weist das Gebiet X keine physischen Bereiche auf, die derzeit keine Daten speichern, außerhalb des physischen Ersatzbereichs S, der für Defragmentierungszwecke bleiben muss. Das Gebiet X benötigt jedoch einen verfügbaren physischen Bereich für das Datenschreibmodul 24 des Controllers 8, um die Ausnahmedaten in der Anforderung zu schreiben. Da das Datenschreibmodul 24 ermittelt, dass die Menge der physischen Bereiche im Gebiet X, die derzeit keine Daten speichern, nicht ausreichend ist, um die Ausnahmedaten zu speichern, kann das Datenschreibmodul 24 die Ausnahmedaten in einen oder mehrere physische Bereiche in einem zweiten Gebiet (d. h., dem Partnergebiet) schreiben, Gebiet Y, das eine Menge von physischen Bereichen aufweist, die derzeit keine Daten speichern, die ausreichend ist, um die Ausnahmedaten zu speichern. Wie nun im Zeitpunkt T3 gezeigt, beinhaltet der dritte physische Bereich des Gebiets Y nun Ausnahmedaten für das Gebiet X, durch EX gekennzeichnet. Das Gebiet Y enthält nun vier I-Bereiche (d. h., die physischen Bereiche 1, 3, 2 und 4), einen physischen Ersatzbereich (d. h., den physischen Bereich S) und drei E-Bereiche, von denen einer mit den Daten in Gebiet X (d. h., den physischen Bereichen E und EX) assoziiert ist.
  • Ein Partnergebiet ist konfiguriert, alle fremden Ausnahmedaten für ein Gebiet zu speichern, das keinen ausreichenden Platz aufweist, um die fremden Ausnahmedaten zu speichern. Wenn jedoch das Partnergebiet voll wird, kann das ursprüngliche Gebiet, das ein Partnergebiet benötigt hat, ein zweites Partnergebiet erhalten. Unter Fortsetzung des vorhergehenden Beispiels empfängt das Datenschreibmodul 24 bei Zeitpunkt T4 eine zweite Anforderung, Ausnahmedaten in Gebiet X zu schreiben, das gleiche Gebiet, das den I-Bereich beinhaltet, zu dem die Ausnahmedaten zugehörig sind. Da das Gebiet X keinen ausreichenden Platz für mehr Ausnahmedaten aufweist, kann das Datenschreibmodul 24 dann ermitteln, ob die Menge der physischen Bereiche im Partnergebiet (d. h., Gebiet Y), die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern. Da in Gebiet Y ausreichend Platz ist, kann das Datenschreibmodul 24 die Ausnahmedaten an einen physischen Bereich in Gebiet Y schreiben. Bei Zeitpunkt T4 enthält das Gebiet Y nun vier I-Bereiche (d. h., die physischen Bereiche 1, 3, 2 und 4), einen physischen Ersatzbereich (d. h., den physischen Bereich S) und drei E-Bereiche, von denen zwei mit den Daten in Gebiet X (d. h., den physischen Bereichen E und EX) assoziiert sind. Wenn das Datenschreibmodul 24 jedoch ermittelt hätte, dass die Menge der physischen Bereiche im Gebiet Y, die derzeit keine Daten speichern, nicht ausreichend ist, um die Ausnahmedaten für das Gebiet 13 zu speichern, kann das Datenschreibmodul 24 die Ausnahmedaten in einen oder mehrere physische Bereiche in einem zweiten Partnergebiet schreiben, das eine Menge von physischen Bereichen aufweist, die derzeit keine Daten speichern, die ausreichend ist, um die Ausnahmedaten zu speichern.
  • Partnergebiete unterstützen ferner die Organisation des Datenspeichers 12. Während die Gebiete mehrere erweiterbare E-Bereiche erlauben, können sich manche Gebiete aufgrund der reduzierten Größen zur Zuordnung früher als andere füllen. Eine Verwendung von Partnergebieten ermöglicht einem Lese-/Schreibkopf, Ausnahmedaten für ein volles Gebiet mit minimalen Suchnachteilen zu finden, was die Effizienz einer Festplatte maximiert, die hierin beschriebene Techniken verwendet.
  • 5 ist ein Flussdiagramm, das einen Beispielbetrieb eines Speichergeräte-Controllers beim Durchführen diverser Aspekte der in dieser Offenbarung beschriebenen Festplattenpartitionierungstechniken illustriert. Zum Beispiel kann ein Controller (z. B. der Controller 8) oder ein Modul im Controller (z. B. das Zonenkennzeichnungsmodul 22 des Controllers 8) einer Festplatte (z. B. der Festplatte 6) konfiguriert sein, eine Vielzahl von Gebieten in Speichermedien (z. B. dem Datenspeicher 12) (62) zu ermitteln. Jeder physische Bereich ist mit einer oder mehreren logischen Blockadressen assoziiert. Jedes Gebiet der Vielzahl der Gebiete umfasst ein individuelles Intervall der logischen Blockadressen. Jeder physische Bereich der Vielzahl der physischen Bereiche, die mit einer jeweiligen logischen Blockadresse innerhalb des jeweiligen Intervalls der logischen Blockadressen für das jeweilige Gebiet assoziiert ist, ist ferner mit dem jeweiligen Gebiet assoziiert. Mit anderen Worten, ein Beispielsystem kann eine Million und Fünfhunderttausend physische Bereiche im Datenspeicher 12 einsetzen. Wenn es fünfzehn für den Datenspeicher 12 ermittelte Gebiete gibt, dann kann das erste Gebiet physische Bereiche mit logischen Blockadressen zwischen 0 und 149.999 beinhalten, das zweite Gebiet kann physische Bereiche mit logischen Blockadressen zwischen 150.000 und 299.999 beinhalten usw. Es sollte verstanden werden, dass andere Beispiele mehr als eine Million und Fünfhunderttausend physische Bereiche oder weniger als eine Million und Fünfhunderttausend physische Bereiche in Kombination mit mehr als fünfzehn Gebieten oder weniger als fünfzehn Gebieten aufweisen können. Das Beispiel, das eine Million und Fünfhunderttausend physische Bereiche und fünfzehn Gebiete verwendet, dient nur zu Beispielzwecken. Obwohl dieses Beispiel eine 1:1-Abbildung von physischen Bereichen auf LBAs beschreibt, können Beispiele existieren, in denen mehrere LBAs mit dem gleichen physischen Bereich assoziiert sind. In anderen Beispielen kann eine einzige LBA auf Daten verweisen, die über mehrere physische Bereiche gespeichert sind, was bedeutet, dass jeder physische Bereich die gleiche LBA aufweist. In solchen Beispielen, in denen es keine 1:1-Abbildung von physischen Bereichen gibt, beinhaltet jedes Gebiet ein Intervall von LBAs.
  • Das Zonenkennzeichnungsmodul 22 des Controllers 8 kann ferner konfiguriert sein, ein Merkmal oder mehrere Merkmale jedes physischen Bereichs innerhalb jedes Gebiets des Datenspeichers 12 (60) dynamisch zu definieren. Das eine Merkmal oder die mehreren Merkmale können ein beliebiges Merkmal sein, das den Betrieb der Festplatte 6 oder die Handhabung von in den jeweiligen physischen Bereichen, gespeicherten Daten beeinflusst, wie unter anderem Speicherdauer, Verschlüsselung oder die Art der Daten, die im jeweiligen physischen Bereich gespeichert werden kann. Mit anderen Worten, die Bereiche, die nach den physischen Bereichen und den logischen Blockadressen abgebildet sind, können polymorph sein, wobei sie beliebige Attribute annehmen, wie vom Rechengerät, das die Festplatte 6 enthält, und den im jeweiligen Bereich gespeichert werdenden Daten erforderlich. In manchen bestimmten Beispielen kann der Controller 8 konfiguriert sein, jeden physischen Bereich dynamisch in jedem Gebiet der Vielzahl der Gebiete zu kennzeichnen, einer der folgenden Bereiche zu sein: ein I-Bereich, ein E-Bereich oder ein physischer Ersatzbereich. Wie oben beschrieben, kann ein E-Bereich zur temporären Speicherung konfiguriert sein. Ferner kann ein I-Bereich konfiguriert sein, Daten permanenter zu speichern, wie langfristige Speicherung.
  • In manchen Beispielen kann ein gesamter physischer Bereich mit einer einzigen, individuellen logischen Blockadresse assoziiert sein. In anderen Beispielen kann ein gesamter physischer Bereich mit mehreren logischen Blockadressen assoziiert sein. In noch anderen Beispielen können mehrere physische Bereiche mit mehreren logischen Blockadressen assoziiert sein. Jedes dieser Beispiele kann im gleichen Datenspeicher 12 der Festplatte 6 existieren. Mit anderen Worten, das Vorhandensein einer Konfiguration im Datenspeicher 12 der Festplatte 6 schließt nicht aus, dass die restlichen Konfigurationen im gleichen Datenspeicher 12 der Festplatte 6 vorhanden sind. Ferner, während ein physischer Bereich zuerst mit einer oder mehreren logischen Blockadressen und einem ersten jeweiligen Gebiet assoziiert sein kann, können physische Bereiche so aktualisiert werden, dass die physischen Bereiche mit verschiedenen logischen Blockadressen und möglicherweise verschiedenen Gebieten assoziiert sind. Zum Beispiel kann ein erster physischer Bereich mit einer ersten, mit einem ersten Gebiet assoziierten logischen Blockadresse assoziiert sein. Das Zonenkennzeichnungsmodul 22 des Controllers 8 kann den ersten physischen Bereich so aktualisieren, dass der erste physische Bereich nicht mit der ersten logischen Blockadresse assoziiert ist, und so, dass der erste physische Bereich mit einer zweiten logischen Blockadresse assoziiert ist, die von der ersten logischen Blockadresse verschieden ist. Als Reaktion auf ein Assoziiertsein der zweiten logischen Blockadresse mit einem zweiten, vom ersten Gebiet verschiedenen Gebiet kann das Zonenkennzeichnungsmodul 22 des Controllers 8 ermitteln, dass der erste physische Bereich mit dem zweiten Gebiet statt mit dem ersten Gebiet assoziiert ist.
  • Ein physischer Ersatzbereich ist ein physischer Bereich, der konfiguriert ist, keine Daten zu speichern. Mit anderen Worten, dies erlaubt eine Überversorgung innerhalb des Datenspeichers 12 der Festplatte 6. Durch das Erlauben einer Überversorgung kann eine Festplatte, die nach Techniken dieser Offenbarung partitioniert ist, diverse wirksame Defragmentierungstechniken durchführen, die der Festplatte erlauben werden, während ihrer aktuellen Konfiguration im effizientestmöglichen Zustand zu sein.
  • Ein beispielhaftes Defragmentierungsverfahren könnte enthalten, dass der Controller 8 oder ein zweites Modul des Controllers 8 (z. B. das Datenschreibmodul 24 des Controllers 8) bewirkt, dass eine Speicherverwaltungseinheit (z. B. die Speicherverwaltungseinheit 32) geschriebene Daten von einem ersten physischen Bereich, der entweder als I-Bereich oder E-Bereich gekennzeichnet ist, zu einem ersten physischen Ersatzbereich des einen physischen Ersatzbereich oder der mehreren physischen Ersatzbereiche bewegt. Da das Zonenkennzeichnungsmodul 22 des Controllers 8 diverse physische Bereiche dynamisch als einen Bereich aus einem I-Bereich, einem E-Bereich oder einem physischen Ersatzbereich kennzeichnen kann, kann der Controller 8 diese Daten bewegen, ohne die gewünschte Überversorgung zu verlieren. Zum Beispiel kann das Zonenkennzeichnungsmodul 22 des Controllers 8 den ersten physischen Bereich (d. h. die ursprüngliche Lage der Daten, die vorher entweder als ein I-Bereich oder als ein E-Bereich gekennzeichnet war) kennzeichnen, der nun keine Daten beinhaltet, ein physischer Ersatzbereich zu sein. Das Zonenkennzeichnungsmodul 22 des Controllers 8 kann ferner den ersten physischen Ersatzbereich (d. h., den physischen Ersatzbereich, der nun die zuvor im ersten physischen Bereich gespeicherten Daten beinhaltet) als entweder einen I-Bereich oder einen E-Bereich kennzeichnen, üblicherweise basierend darauf, ob der erste physische Bereich vorher gekennzeichnet war, ein I-Bereich oder ein E-Bereich zu sein.
  • Wie oben beschrieben, kann das Zonenkennzeichnungsmodul 22 des Controllers 8 auch den einen physischen Bereich oder die mehreren physischen Bereiche aus der Vielzahl der physischen Bereiche dynamisch kennzeichnen, entweder ein I-Bereich oder ein E-Bereich zu sein. Auf diese Weise kennzeichnet das Zonenkennzeichnungsmodul 22 des Controllers 8 einen ersten physischen Bereich, ein E-Bereich zu sein, wenn der erste physische Bereich kein physischer Ersatzbereich ist und keine Daten auf den ersten physischen Bereich geschrieben sind. Das Zonenkennzeichnungsmodul 22 des Controllers 8 kann auch den ersten physischen Bereich kennzeichnen, ein E-Bereich zu sein, wenn der erste physische Bereich kein physischer Ersatzbereich ist und nur temporäre Daten oder Ausnahmedaten auf den ersten physischen Bereich geschrieben sind. Andernfalls kann das Zonenkennzeichnungsmodul 22 den ersten physischen Bereich kennzeichnen, ein I-Bereich zu sein, wenn der erste physische Bereich kein physischer Ersatzbereich ist und unter keine der Kategorien oben für einen E-Bereich fällt. Auf diese Weise kann die Festplatte 6 einen erweiterbaren E-Bereich innerhalb jedes Gebiets des Datenspeichers 12 erlauben, wobei die optimale Speicherumgebung für jede Konfiguration der Festplatte 6 bereitgestellt wird.
  • Das Zonenkennzeichnungsmodul 22 des Controllers 8 kann auch bestehende E-Bereiche modifizieren, I-Bereiche zu werden. Das Datenschreibmodul 24 des Controllers 8 kann zum Beispiel einen ersten Satz von Daten in einen physischen Bereich schreiben, der vorher gekennzeichnet war, ein E-Bereich zu sein. Der erste Satz von Daten sind keine temporären Daten und keine Ausnahmedaten. Sobald diese nicht temporären, Nicht-Ausnahmedaten in den physischen Bereich geschrieben wurden, der vorher gekennzeichnet war, ein E-Bereich zu sein, kann das Zonenkennzeichnungsmodul 22 den physischen Bereich aktualisieren, indem es den physischen Bereich kennzeichnet, ein I-Bereich zu sein. Auf diese Weise kann die Festplatte 6 die Speicherumgebung dynamisch auf Basis der Informationen ändern, die in jedem physischen Bereich gespeichert werden, um dynamisch die optimale Speicherumgebung für jede Konfiguration der Festplatte 6 bereitzustellen.
  • Angesichts dieser Konfiguration von Gebieten kann es möglich sein, dass manche Gebiete vor anderen Gebieten voll werden. Zum Beispiel können im Allgemeinen beliebige Ausnahmedaten, die zu in einem I-Bereich eines bestimmten Gebiets gespeicherten Daten zugehörig sind, im gleichen Gebiet wie der I-Bereich gespeichert sein. Beispielsweise kann ein physischer Bereich im Gebiet 3 des Beispiels oben einige Ausnahmedaten generieren. Diese Ausnahmedaten können an einen physischen Bereich geschrieben werden, der als ein E-Bereich in Gebiet 3 zu kennzeichnen ist. Manche Daten generieren jedoch mehr Ausnahmedaten als andere. Zum Beispiel kann ein großer, fortlaufender Schreibvorgang, der mehrere physische Bereiche im Gebiet 3 umfasst, mehrere physische Bereiche von Ausnahmedaten generieren, was bewirkt, dass das Gebiet 3 keine freien physischen Bereiche aufweist, an die das Datenschreibmodul 24 Ausnahmedaten schreiben kann. In einem solchen Beispiel kann das Datenschreibmodul 24 des Controllers 8 ein anderes Gebiet des Datenspeichers 12 kennzeichnen, ein Partnergebiet des Gebiets 3 zu sein.
  • Zum Beispiel kann das Datenschreibmodul 24 eine Anforderung empfangen, Ausnahmedaten in Gebiet 3 zu schreiben, das gleiche Gebiet, das den I-Bereich beinhaltet, zu dem die Ausnahmedaten zugehörig sind. Das Datenschreibmodul 24 kann eine Menge von physischen Bereichen im ersten Gebiet ermitteln, die derzeit keine Daten speichern. Das Datenschreibmodul 24 kann dann ermitteln, ob die Menge der physischen Bereiche im ersten Gebiet (d. h., Gebiet 3), die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern. Wenn das Datenschreibmodul 24 ermittelt, dass die Menge der physischen Bereiche im Gebiet 3, die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern, kann das Datenschreibmodul 24 die Ausnahmedaten in einen oder mehrere physische Bereiche im Gebiet 3 schreiben. Wenn zum Beispiel die Ausnahmedaten zwei physische Bereiche erfordern, und das Gebiet 3 drei verfügbare physische Bereiche aufweist, kann das Datenschreibmodul 24 die Ausnahmedaten in das Gebiet 3 schreiben. Wenn das Datenschreibmodul 24 jedoch ermittelt, dass die Menge der physischen Bereiche im Gebiet 3, die derzeit keine Daten speichern, nicht ausreichend ist, um die Ausnahmedaten zu speichern, kann das Datenschreibmodul 24 die Ausnahmedaten in einen oder mehrere physische Bereiche in einem zweiten Gebiet (d. h., dem Partnergebiet) schreiben, das eine Menge von physischen Bereichen aufweist, die derzeit keine Daten speichern, die ausreichend ist, um die Ausnahmedaten zu speichern. Wenn zum Beispiel die Ausnahmedaten zwei physische Bereiche erfordern, und das Gebiet 3 nur einen verfügbaren physischen Bereich aufweist, kann das Datenschreibmodul 24 die Ausnahmedaten in das Gebiet 6 schreiben, das siebenundzwanzig verfügbare physische Bereiche aufweist. Es ist zu beachten, dass das Partnergebiet kein benachbartes Gebiet sein muss.
  • Ein Partnergebiet ist konfiguriert, alle fremden Ausnahmedaten für ein Gebiet zu speichern, das keinen ausreichenden Platz aufweist, um die fremden Ausnahmedaten zu speichern. Wenn jedoch das Partnergebiet voll wird, kann das ursprüngliche Gebiet, das ein Partnergebiet benötigt hat, ein zweites Partnergebiet erhalten. Unter Fortsetzung des vorhergehenden Beispiels kann das Datenschreibmodul 24 eine Anforderung empfangen, Ausnahmedaten in Gebiet 3 zu schreiben, das gleiche Gebiet, das den I-Bereich beinhaltet, zu dem die Ausnahmedaten zugehörig sind. Da das Gebiet 3 keinen ausreichenden Platz für mehr Ausnahmedaten aufweist, kann das Datenschreibmodul 24 dann ermitteln, ob die Menge der physischen Bereiche im Partnergebiet (d. h., Gebiet 6), die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern. Wenn das Datenschreibmodul 24 ermittelt, dass die Menge der physischen Bereiche im Gebiet 6, die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern, kann das Datenschreibmodul 24 die Ausnahmedaten in einen oder mehrere physische Bereiche im Gebiet 6 schreiben. Wenn zum Beispiel die Ausnahmedaten fünf physische Bereiche erfordern, und das Gebiet 6 acht verfügbare physische Bereiche aufweist, kann das Datenschreibmodul 24 die Ausnahmedaten für das Gebiet 3 in das Gebiet 6 schreiben. Wenn das Datenschreibmodul 24 jedoch ermittelt, dass die Menge der physischen Bereiche im Gebiet 6, die derzeit keine Daten speichern, nicht ausreichend ist, um die Ausnahmedaten für das Gebiet 3 zu speichern, kann das Datenschreibmodul 24 die Ausnahmedaten in einen oder mehrere physische Bereiche in einem zweiten Partnergebiet schreiben, das eine Menge von physischen Bereichen aufweist, die derzeit keine Daten speichern, die ausreichend ist, um die Ausnahmedaten zu speichern. Wenn zum Beispiel die Ausnahmedaten fünf physische Bereiche erfordern, und das Gebiet 6 nur drei verfügbare physische Bereiche aufweist, kann das Datenschreibmodul 24 die Ausnahmedaten in das Gebiet 2 schreiben, das zwölf verfügbare physische Bereiche aufweist. Das Gebiet 2 würde dann als ein weiteres Partnergebiet von Gebiet 3 angesehen.
  • Partnergebiete unterstützen ferner die Organisation des Datenspeichers 12. Während die Gebiete mehrere erweiterbare E-Bereiche erlauben, können sich manche Gebiete aufgrund der reduzierten Größen zur Zuordnung früher als andere füllen. Eine Verwendung von Partnergebieten ermöglicht einem Lese-/Schreibkopf, Ausnahmedaten für ein volles Gebiet mit minimalen Suchnachteilen zu finden, was die Effizienz einer Festplatte maximiert, die hierin beschriebene Techniken verwendet.
  • Durch Partitionieren des Datenspeichers 12 in Gebiete können Suchnachteile reduziert werden, indem Schreibvorgänge auf mehrere physische Bereiche innerhalb des gleichen Gebiets gehalten werden, in dem physische Bereiche alle eine ähnliche physische Lage haben. Ferner, indem erlaubt wird, dass die physischen Bereiche in jedem Gebiet austauschbar als ein E-Bereich, ein I-Bereich oder ein Ersatzbereich verwendet werden, können die hierin beschriebenen Techniken einen flexibleren Mechanismus für erweiterbare E-Bereiche bieten und einen FTI auf eine elegantere Weise handhaben, was ferner ermöglicht, dass kleinere geschuppte Bereiche eingesetzt werden. Ferner, da jedes Gebiet unabhängig von anderen Gebieten als Speicher verwendet werden kann, können die hierin beschriebenen Techniken Defragmentierungsverfahren vereinfachen und FTI-Handhabung verbessern. Größere gestreamte Schreibvorgänge (d. h., > 1 GB gestreamte Schreibvorgänge) mit kleineren physischen Bereichen treten nicht mehr in den gleichen physischen Bereichen auf, was ferner eine sequenzielle Umgehungsleistung verbessert. Durch Aufteilen der Festplatte 6 in mehrere Gebiete können die Vorteile, die durch ein kleines Speichergerät erkannt werden, wie reduzierte Suchnachteile und vereinfachte Defragmentierung, auf einem Speichergerät mit einer höheren Speicherkapazität realisiert werden, während dennoch kleinere geschuppte Bereichen und kleinere Sicherheitsbänder zwischen den geschuppten Bereichen eingesetzt werden.
  • Die in dieser Offenbarung beschriebenen Methoden können zumindest teilweise in Hardware, Software, Firmware oder einer beliebigen Kombination dieser implementiert werden. Verschiedene Aspekte der hier beschriebenen Methoden können zum Beispiel in einer oder mehreren Verarbeitungseinheiten implementiert werden, einschließlich einer oder mehreren Mikroverarbeitungseinheiten, digitalen Signalprozessoren (DSPs), einer anwendungsspezifischen integrierten Schaltung (ASIC), einem Field Programmable Gate Array (FPGA) oder einem anderen gleichwertigen integrierten oder diskreten Logikschaltkreis sowie beliebigen Kombinationen solcher Komponenten. Der Begriff „Verarbeitungseinheit” oder „verarbeitender Schaltkreis” kann sich allgemein auf irgendeinen der vorangehenden Logikschaltkreise, alleine oder in Kombination mit anderen Logikschaltkreisen oder irgendeinen anderen gleichwertigen Schaltkreis beziehen. Eine Steuereinheit, die Hardware enthält, kann auch eine oder mehrere der Methoden dieser Offenbarung durchführen.
  • Diese Hardware, Software oder Firmware kann innerhalb des gleichen Geräts oder innerhalb separater Geräte implementiert werden, um die diversen, in dieser Offenbarung beschriebenen Methoden zu unterstützen. Zusätzlich können beliebige der beschriebenen Einheiten, Module oder Komponenten zusammen oder separat als diskrete, jedoch interoperable Logikgeräte implementiert werden. Die Darstellung unterschiedlicher Merkmale als Module oder Einheiten soll unterschiedliche funktionale Aspekte hervorheben und deutet nicht unbedingt an, dass diese Module oder Einheiten von separaten Hardware-, Firmware- oder Softwarekomponenten realisiert werden müssen. Vielmehr kann die zu einem oder mehr Modulen oder Einheiten gehörige Funktionalität von separaten Hardware-, Firmware- oder Softwarekomponenten durchgeführt oder innerhalb gemeinsamen oder separaten Hardware-, Firmware- oder Softwarekomponenten integriert werden.
  • Die in dieser Offenbarung beschriebenen Methoden können auch in einem Fabrikat einschließlich eines computerlesbaren Speichermediums, das mit Anweisungen codiert ist, ausgeformt oder codiert sein. In einem Fabrikat eingebettete oder codierte Anweisungen, einschließlich die in einem computerlesbaren Speichermedium codierten, können verursachen, dass ein oder mehrere programmierbare Verarbeitungseinheiten oder andere Verarbeitungseinheiten eine oder mehrere der hier beschriebenen Methoden implementieren, wie wenn die im computerlesbaren Speichermedium enthaltenen oder codierten Anweisungen von der einen Verarbeitungseinheit oder den mehreren Verarbeitungseinheiten ausgeführt werden. Computerlesbare Speichermedien können Random-Access Memory (RAM), Read-Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electronically Erasable Programmable Read-Only Memory (EEPROM), Flash-Speicher, eine Festplatte, ein Compact Disc Read-Only Memory (CD-ROM), eine Diskette, eine Kassette, magnetische Medien, optische Medien oder andere computerlesbare Medien enthalten. In manchen Beispielen kann ein Fabrikat ein oder mehrere computerlesbare Speichermedien enthalten.
  • In manchen Beispielen kann ein computerlesbares Speichermedium ein nicht-transitorisches Medium enthalten. Der Begriff „nicht-transitorisch” kann anzeigen, dass das Speichermedium nicht in einer Trägerwelle oder einem verbreiteten Signal ausgeformt ist. In bestimmten Beispielen kann ein nicht-transitorisches Speichermedium Daten speichern, die sich mit der Zeit ändern können (z. B. in einem RAM oder Zwischenspeicher).
  • Es wurden diverse Beispiele der Offenbarung beschrieben. Eine beliebige Kombination der beschriebenen Systeme, Operationen oder Funktionen wird betrachtet. Diese und andere Beispiele sind im Umfang der folgenden Ansprüche.

Claims (20)

  1. Speichergerät, das Folgendes umfasst: einen Controller; und ein Speichermedium, das in eine Vielzahl von physischen Bereichen aufgeteilt ist, wobei jeder physische Bereich mit einer oder mehreren logischen Blockadressen assoziiert ist, wobei der Controller konfiguriert ist: eine Vielzahl von Gebieten im Speichermedium zu ermitteln, wobei jedes Gebiet aus der Vielzahl der Gebiete ein individuelles Intervall der logischen Blockadressen umfasst, und wobei jeder physische Bereich der Vielzahl der physischen Bereiche, der mit einer jeweiligen logischen Blockadresse innerhalb des jeweiligen Intervalls der logischen Blockadressen für das jeweilige Gebiet assoziiert ist, ferner mit dem jeweiligen Gebiet assoziiert ist; und ein oder mehrere Merkmale jedes physischen Bereichs dynamisch zu definieren, das mit jedem Gebiet der Vielzahl der Gebiete assoziiert ist.
  2. Speichergerät nach Anspruch 1, wobei das Konfigurieren des Controllers, das eine Merkmal oder die mehreren Merkmale jedes physischen Bereichs dynamisch zu definieren, umfasst, dass der Controller konfiguriert ist: jeden physischen Bereich, der mit jedem Gebiet der Vielzahl der Gebiete assoziiert ist, dynamisch zu kennzeichnen, einer der folgenden Bereiche zu sein: ein I-Bereich, ein E-Bereich oder ein physischer Ersatzbereich, wobei der E-Bereich für temporäres Speichern konfiguriert ist, und wobei der physische Ersatzbereich ein physischer Bereich der Vielzahl der physischen Bereiche ist, der konfiguriert ist, keine Daten zu speichern.
  3. Speichergerät nach Anspruch 2, wobei der Controller ferner konfiguriert ist: geschriebene Daten von einem ersten physischen Bereich, der entweder als ein I-Bereich oder ein E-Bereich gekennzeichnet ist, zu einem ersten physischen Ersatzbereich des einen oder der mehreren physischen Ersatzbereiche zu bewegen; den ersten physischen Bereich zu kennzeichnen, ein physischer Ersatzbereich zu sein; und den ersten physischen Ersatzbereich zu kennzeichnen, ein I-Bereich oder ein E-Bereich zu sein.
  4. Speichergerät nach Anspruch 2, wobei der Controller konfiguriert ist, dynamisch den einen oder die mehreren physischen Bereiche aus der Vielzahl der physischen Bereiche zu kennzeichnen, entweder ein I-Bereich oder ein E-Bereich zu sein, wobei der Controller zumindest konfiguriert ist: als Reaktion auf ein Ermitteln, dass ein erster physischer Bereich kein physischer Ersatzbereich ist und dass keine Daten in den ersten physischen Bereich geschrieben sind, den ersten physischen Bereich zu kennzeichnen, ein E-Bereich zu sein; als Reaktion auf ein Ermitteln, dass der erste physische Bereich kein physischer Ersatzbereich ist und dass temporäre Daten oder Ausnahmedaten in den ersten physischen Bereich geschrieben sind, den ersten physischen Bereich zu kennzeichnen, ein E-Bereich zu sein; und als Reaktion auf ein Ermitteln, dass der erste physische Bereich weder ein physischer Ersatzbereich noch ein E-Bereich ist, den ersten physischen Bereich zu kennzeichnen, ein I-Bereich zu sein.
  5. Speichergerät nach Anspruch 4, wobei der Controller ferner konfiguriert ist: einen ersten Satz von Daten in einen zweiten physischen Bereich zu schreiben, wobei der erste Satz von Daten nicht temporäre, Nicht-Ausnahmedaten umfasst, und wobei der zweite physische Bereich vorher gekennzeichnet war, ein E-Bereich zu sein; und den zweiten physischen Bereich zu kennzeichnen, ein I-Bereich zu sein.
  6. Speichergerät nach Anspruch 1, wobei jeder physische Bereich die gleiche Größe hat.
  7. Speichergerät nach Anspruch 1, wobei: das Speichermedium ein Festplattenlaufwerk ist, das einen Innendurchmesser und einen Außendurchmesser umfasst, die Vielzahl der Gebiete nach dem jeweiligen Intervall von logischen Blockadressen des jeweiligen Gebiets sortiert sind, das mit der kleinsten logischen Blockadresse assoziierte Gebiet sich physisch auf dem Außendurchmesser des Festplattenlaufwerks befindet und das mit der größten logischen Blockadresse assoziierte Gebiet sich physisch auf dem Innendurchmesser des Festplattenlaufwerks befindet.
  8. Speichergerät nach Anspruch 1, wobei der Controller ferner konfiguriert ist: eine Anforderung zu empfangen, Ausnahmedaten in ein erstes Gebiet der Vielzahl der Gebiete zu schreiben, wobei die Ausnahmedaten mit einem ersten physischen Bereich im ersten Gebiet assoziiert sind; eine Menge von physischen Bereichen im ersten Gebiet zu ermitteln, die derzeit keine gültigen Daten speichern; zu ermitteln, ob die Menge der physischen Bereiche im ersten Gebiet, die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern; als Reaktion auf ein Ermitteln, dass die Menge der physischen Bereiche im ersten Gebiet, die derzeit keine gültigen Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern, die Ausnahmedaten in einen oder mehrere der physischen Bereiche im ersten Gebiet zu schreiben, der bzw. die derzeit keine gültigen Daten speichert bzw. speichern; und als Reaktion auf ein Ermitteln, dass die Menge der physischen Bereiche im ersten Gebiet, die derzeit keine gültigen Daten speichern, nicht ausreichend ist, um die Ausnahmedaten zu speichern, die Ausnahmedaten in ein zweites Gebiet der Vielzahl der Gebiete zu schreiben, wobei das zweite Gebiet eine Menge von physischen Bereichen aufweist, die derzeit keine gültigen Daten speichern, die ausreichend ist, um die Ausnahmedaten zu speichern.
  9. Speichergerät nach Anspruch 8, wobei die Ausnahmedaten erste Ausnahmedaten sind, wobei der Controller ferner konfiguriert ist: eine zweite Anforderung zu empfangen, zweite Ausnahmedaten in das erste Gebiet der Vielzahl von Gebieten zu schreiben; eine Menge von physischen Bereichen im zweiten Gebiet zu ermitteln, die derzeit keine gültigen Daten speichern; zu ermitteln, ob die Menge der physischen Bereiche im zweiten Gebiet, die derzeit keine gültigen Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern; als Reaktion auf ein Ermitteln, dass die Menge der physischen Bereiche im zweiten Gebiet, die derzeit keine gültigen Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern, die Ausnahmedaten in einen oder mehrere der physischen Bereiche im zweiten Gebiet zu schreiben, der bzw. die derzeit keine gültigen Daten speichert bzw. speichern; und als Reaktion auf ein Ermitteln, dass die Menge der physischen Bereiche im zweiten Gebiet, die derzeit keine gültigen Daten speichern, nicht ausreichend ist, um die Ausnahmedaten zu speichern, die Ausnahmedaten in ein drittes Gebiet der Vielzahl der Gebiete zu schreiben, wobei das dritte Gebiet eine Menge von physischen Bereichen aufweist, die derzeit keine gültigen Daten speichern, die ausreichend ist, um die Ausnahmedaten zu speichern.
  10. Speichergerät nach Anspruch 1, wobei ein erster physischer Bereich mit einer ersten logischen, mit einem ersten Gebiet assoziierten Blockadresse assoziiert ist, wobei das Controllergerät ferner konfiguriert ist: den ersten physischen Bereich so zu aktualisieren, dass der erste physische Bereich nicht mit der ersten logischen Blockadresse assoziiert ist, und so, dass der erste physische Bereich mit einer zweiten logischen Blockadresse assoziiert ist, die von der ersten logischen Blockadresse verschieden ist; und als Reaktion auf ein Assoziiertsein der zweiten logischen Blockadresse mit einem zweiten, vom ersten Gebiet verschiedenen Gebiet zu ermitteln, dass der erste physische Bereich mit dem zweiten Gebiet assoziiert ist.
  11. Verfahren, das Folgendes umfasst: Ermitteln einer Vielzahl von Gebieten in einem Speichermedium durch einen Controller eines Speichergeräts, wobei das Speichermedium in eine Vielzahl von physischen Bereichen aufgeteilt ist, wobei jeder physische Bereich mit einer oder mehreren logischen Blockadressen assoziiert ist, wobei jedes Gebiet aus der Vielzahl der Gebiete ein individuelles Intervall der logischen Blockadressen umfasst, und wobei jeder physische Bereich der Vielzahl der physischen Bereiche, der mit einer jeweiligen logischen Blockadresse innerhalb des jeweiligen Intervalls der logischen Blockadressen für das jeweilige Gebiet assoziiert ist, ferner mit dem jeweiligen Gebiet assoziiert ist; und dynamisches Definieren, durch den Controller, eines oder mehrerer Merkmale jedes physischen Bereichs, der mit jedem Gebiet der Vielzahl der Gebiete assoziiert ist.
  12. Verfahren nach Anspruch 11, wobei das dynamische Definieren des einen oder der mehreren Merkmale jedes physischen Bereichs Folgendes umfasst: dynamisches Kennzeichnen, durch den Controller, jedes physischen Bereichs in jedem Gebiet der Vielzahl von Gebieten, einer der folgenden Bereiche zu sein: ein I-Bereich, ein E-Bereich oder ein physischer Ersatzbereich, wobei der E-Bereich für temporäre Speicherung konfiguriert ist, und wobei der physische Ersatzbereich ein physischer Bereich der Vielzahl der physischen Bereiche ist, der konfiguriert ist, keine Daten zu speichern.
  13. Verfahren nach Anspruch 12, das ferner Folgendes umfasst: Bewegen, durch den Controller, von geschriebenen Daten von einem ersten physischen Bereich, der entweder als ein I-Bereich oder ein E-Bereich gekennzeichnet ist, zu einem ersten physischen Ersatzbereich des einen oder der mehreren physischen Ersatzbereiche; Kennzeichnen, durch den Controller, des ersten physischen Bereichs, ein physischer Ersatzbereich zu sein; und Kennzeichnen, durch den Controller, des ersten physischen Ersatzbereichs, ein I-Bereich oder ein E-Bereich zu sein.
  14. Verfahren nach Anspruch 12, wobei das dynamische Kennzeichnen des einen physischen Bereichs oder der mehreren physischen Bereiche aus der Vielzahl der physischen Bereiche, entweder ein I-Bereich oder ein E-Bereich zu sein, Folgendes umfasst: als Reaktion auf ein Ermitteln, dass ein erster physischer Bereich kein physischer Ersatzbereich ist und dass keine Daten in den ersten physischen Bereich geschrieben sind, ein Kennzeichnen, durch den Controller, des ersten physischen Bereichs, ein E-Bereich zu sein; als Reaktion auf ein Ermitteln, dass der erste physische Bereich kein physischer Ersatzbereich ist und dass temporäre Daten oder Ausnahmedaten in den ersten physischen Bereich geschrieben sind, ein Kennzeichnen, durch den Controller, des ersten physischen Bereichs, ein E-Bereich zu sein; und als Reaktion auf ein Ermitteln, dass der erste physische Bereich weder ein physischer Ersatzbereich noch ein E-Bereich ist, ein Kennzeichnen, durch den Controller, des ersten physischen Bereichs, ein I-Bereich zu sein.
  15. Verfahren nach Anspruch 14, das ferner Folgendes umfasst: Schreiben, durch den Controller, eines ersten Satzes von Daten in einen zweiten physischen Bereich, wobei der erste Satz von Daten nicht temporäre, Nicht-Ausnahmedaten umfasst, und wobei der zweite physische Bereich vorher gekennzeichnet war, ein E-Bereich zu sein; und Kennzeichnen, durch den Controller, des zweiten physischen Bereichs, ein I-Bereich zu sein.
  16. Verfahren nach Anspruch 11, wobei jeder physische Bereich die gleiche Größe hat.
  17. Verfahren nach Anspruch 11, wobei: das Speichermedium ein Festplattenlaufwerk ist, das einen Innendurchmesser und einen Außendurchmesser umfasst, die Vielzahl der Gebiete nach dem jeweiligen Intervall von logischen Blockadressen des Gebiets sortiert sind, das mit der kleinsten logischen Blockadresse assoziierte Gebiet sich physisch auf dem Außendurchmesser des Festplattenlaufwerks befindet und das mit der größten logischen Blockadresse assoziierte Gebiet sich physisch auf dem Innendurchmesser des Festplattenlaufwerks befindet.
  18. Verfahren nach Anspruch 11, das ferner Folgendes umfasst: Empfangen, durch den Controller, einer Anforderung, Ausnahmedaten in ein erstes Gebiet der Vielzahl der Gebiete zu schreiben, wobei die Ausnahmedaten mit einem ersten physischen Bereich im ersten Gebiet assoziiert sind; Ermitteln, durch den Controller, einer Menge von physischen Bereichen im ersten Gebiet, die derzeit keine gültigen Daten speichern; Ermitteln, durch den Controller, ob die Menge der physischen Bereiche im ersten Gebiet, die derzeit keine Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern; als Reaktion auf ein Ermitteln, dass die Menge der physischen Bereiche im ersten Gebiet, die derzeit keine gültigen Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern, Schreiben, durch den Controller, der Ausnahmedaten in einen oder mehrere der physischen Bereiche im ersten Gebiet, der bzw. die derzeit keine gültigen Daten speichert bzw. speichern; und als Reaktion auf ein Ermitteln, dass die Menge der physischen Bereiche im ersten Gebiet, die derzeit keine gültigen Daten speichern, nicht ausreichend ist, um die Ausnahmedaten zu speichern, Schreiben, durch den Controller, der Ausnahmedaten in ein zweites Gebiet der Vielzahl der Gebiete, wobei das zweite Gebiet eine Menge von physischen Bereichen aufweist, die derzeit keine gültigen Daten speichern, die ausreichend ist, um die Ausnahmedaten zu speichern.
  19. Verfahren nach Anspruch 18, wobei die Ausnahmedaten erste Ausnahmedaten sind, wobei das Verfahren ferner Folgendes umfasst: Empfangen, durch den Controller, einer zweite Anforderung, zweite Ausnahmedaten in das erste Gebiet der Vielzahl von Gebieten zu schreiben; Ermitteln, durch den Controller, einer Menge von physischen Bereichen im zweiten Gebiet, die derzeit keine gültigen Daten speichern; Ermitteln, durch den Controller, ob die Menge der physischen Bereiche im zweiten Gebiet, die derzeit keine gültigen Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern; als Reaktion auf ein Ermitteln, dass die Menge der physischen Bereiche im zweiten Gebiet, die derzeit keine gültigen Daten speichern, ausreichend ist, um die Ausnahmedaten zu speichern, Schreiben, durch den Controller, der Ausnahmedaten in einen oder mehrere der physischen Bereiche im zweiten Gebiet, der bzw. die derzeit keine gültigen Daten speichert bzw. speichern; und als Reaktion auf ein Ermitteln, dass die Menge der physischen Bereiche im zweiten Gebiet, die derzeit keine gültigen Daten speichern, nicht ausreichend ist, um die Ausnahmedaten zu speichern, Schreiben, durch den Controller, der Ausnahmedaten in ein drittes Gebiet der Vielzahl der Gebiete, wobei das dritte Gebiet eine Menge von physischen Bereichen aufweist, die derzeit keine gültigen Daten speichern, die ausreichend ist, um die Ausnahmedaten zu speichern.
  20. System, das Folgendes umfasst: Mittel zu einem Schreiben von Daten auf ein Speichermedium, wobei das Speichermedium in eine Vielzahl von physischen Bereichen aufgeteilt ist, wobei jeder physische Bereich mit einer oder mehreren logischen Blockadressen assoziiert ist; Mittel zu einem Ermitteln einer Vielzahl von Gebieten im Speichermedium, wobei jedes Gebiet aus der Vielzahl der Gebiete ein individuelles Intervall der logischen Blockadressen umfasst, und wobei jeder physische Bereich der Vielzahl der physischen Bereiche, der mit einer jeweiligen logischen Blockadresse innerhalb des jeweiligen Intervalls der logischen Blockadressen für das jeweilige Gebiet assoziiert ist, ferner mit dem jeweiligen Gebiet assoziiert ist; und Mittel zu einem dynamischen Definieren eines oder mehrerer Merkmale jedes physischen Bereichs in jedem Gebiet der Vielzahl der Gebiete.
DE102016004276.1A 2015-04-10 2016-04-07 Gebietspartitionierung in festplatten Withdrawn DE102016004276A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/683,917 US20160299698A1 (en) 2015-04-10 2015-04-10 Realm partitioning in hard drives
US14/683,917 2015-04-10

Publications (1)

Publication Number Publication Date
DE102016004276A1 true DE102016004276A1 (de) 2016-10-13

Family

ID=56986558

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016004276.1A Withdrawn DE102016004276A1 (de) 2015-04-10 2016-04-07 Gebietspartitionierung in festplatten

Country Status (5)

Country Link
US (1) US20160299698A1 (de)
CN (1) CN106055269A (de)
DE (1) DE102016004276A1 (de)
GB (1) GB2539078A (de)
IE (1) IE20160095A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10120582B1 (en) 2016-03-30 2018-11-06 Amazon Technologies, Inc. Dynamic cache management in storage devices
US20190205041A1 (en) * 2017-12-29 2019-07-04 Seagate Technology Llc Disc drive throughput balancing
US10969965B2 (en) 2018-12-24 2021-04-06 Western Digital Technologies, Inc. Dynamic performance density tuning for data storage device
US10802739B1 (en) * 2019-05-13 2020-10-13 Western Digital Technologies, Inc. Data storage device configuration for accessing data in physical realms

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739577B2 (en) * 2004-06-03 2010-06-15 Inphase Technologies Data protection system
CN102405460B (zh) * 2009-02-11 2016-05-04 艾梵尼达有限公司 虚拟存储系统及其运行方法
US8913335B2 (en) * 2011-05-23 2014-12-16 HGST Netherlands B.V. Storage device with shingled data and unshingled cache regions
US20140254042A1 (en) * 2013-03-07 2014-09-11 Seagate Technology Llc Dynamic allocation of lba to un-shingled media partition
US20140281194A1 (en) * 2013-03-15 2014-09-18 Seagate Technology Llc Dynamically-sizeable granule storage
US8867153B1 (en) * 2013-12-09 2014-10-21 HGST Netherlands B.V. Method and apparatus for dynamic track squeeze in a hard drive
US10379741B2 (en) * 2014-04-17 2019-08-13 Seagate Technology Llc Dynamic storage device region provisioning
US9454990B1 (en) * 2015-03-30 2016-09-27 HGST Netherlands B.V. System and method of conducting in-place write operations in a shingled magnetic recording (SMR) drive

Also Published As

Publication number Publication date
GB2539078A (en) 2016-12-07
IE20160095A1 (en) 2016-12-14
US20160299698A1 (en) 2016-10-13
CN106055269A (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
DE102017104150B4 (de) Abnutzungsausgleich in Speichervorrichtungen
DE112010004969B4 (de) Hybrides Speicherteilsystem und Verfahren zum Verwalten eines solchen
DE102020106971A1 (de) Datenschreibverwaltung im nichtflüchtigen speicher
DE102017113439A1 (de) Abbildungstabellen für Speichervorrichtungen
DE102013016609A1 (de) Vorrichtung und Verfahren für ein Storage Class Memory mit niedrigem Energieverbrauch, niedriger Latenz und hoher Kapazität
DE102020107659A1 (de) Zonenbildung für gezonte namensräume
DE102015012566A1 (de) Mehrlagenkonzept für logische speicherungsverwaltung
DE112018002951T5 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
DE112018004256T5 (de) Redundanzcodierstreifen basierend auf internen adressen von speichervorrichtungen
DE102017104125A1 (de) Zonen von Übersetzungstabellen von logischen in physische Datenadressen mit parallelisiertem Log-Listenreplay
DE102016001066A1 (de) Zuordnung der logischen Blockadresse für Festplattenlaufwerke
DE112020000139T5 (de) Nicht sequentiell in zonen aufgeteilte namensräume
DE102018105854A1 (de) Dynamische Größenanpassung logischer Speicherblöcke
DE112016004527T5 (de) Implementieren eines Hardware-Beschleunigers für das Management eines Speicher-Schreibcachespeichers
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE202010017667U1 (de) Datenspeichervorrichtung mit Flash-Speicherchips
CN106339324B (zh) 一种选择垃圾回收块的方法及装置
DE112020002792B4 (de) Verschleissorientierte blockmodusumwandlung in nichtflüchtigen speichern
DE112013003255T5 (de) Managementmechanismus für fehlerhafte Blöcke
DE102016010277A1 (de) Verfahren und systeme zum verbessern von speicher-journaling
DE102018123669A1 (de) Host-Computer-Anordnung, Remote-Server-Anordnung, Speicherungssystem und Verfahren davon
DE102016004276A1 (de) Gebietspartitionierung in festplatten
DE112015003536T5 (de) Host-Verwalter nicht flüchtiger Speicher
DE112020005787T5 (de) Verbesserte dateisystem-unterstützung für zonen-namespace-speicher
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee