-
Die
Erfindung betrifft ein Festplattenlaufwerk mit einer Festplatte,
eine Datenverarbeitungsvorrichtung mit einem Festplattenlaufwerk
und ein zugehöriges
Datenlese-/Datenschreibverfahren.
-
Mit
dem Aufkommen der Informationsgesellschaft ist die Datenmenge, welche
Personen speichern und tragen können
sollen, dramatisch angestiegen. Dieser Bedarf treibt eine kontinuierliche
Nachfrage nach Datenspeichermedien. Verschiedene persönliche Datenspeichergeräte sind
entwickelt worden, um diesen Bedarf zu befriedigen. Ein Beispiel
für ein
Datenspeichergerät
ist das Festplattenlaufwerk (HDD). Das HDD ist aufgrund seiner hohen
Speicherdichte, hohen Datenübertragungsrate,
schnellen Datenzugriffszeit und seines niedrigen Preises weit verbreitet.
Technisch gesehen ist ein HDD ein Bauelement, welches die Position
auf einer Speicherplatte, d.h. der aktuellen Festplatte, während Lese-
und Schreibvorgängen
steuert, die sich auf Daten beziehen, die auf der Festplatte gespeichert
sind. Da das HDD und die Festplatte in einer Einheit integriert
sind, umfasst der Begriff „HDD" allgemein die Festplatte
und ihren Antrieb.
-
Die
in der herkömmlichen
HDD enthaltene Festplatte vom Aufnahmetyp wird in einem internen
Vakuumbereich gehalten, welcher von der externen Umgebung isoliert
ist. Ein Lese-/Schreibkopf (R/W-Kopf) schreibt Daten auf die Festplatte
und liest Daten von ihr. Ein Aufbau mit einem mechanischen Arm bewegt
den R/W-Kopf über
die Oberfläche
der Platte. Die herkömmliche
Platte umfasst wenigstens eine Aluminiumplatte, welche mit magnetischem
Material überzogen
ist. Diese Kombination dient als Hauptdatenspeichermedium Die Aluminiumplatte
wird auch als eine „Speicherplatte" bezeichnet. Die
Struktur eines herkömmlichen
HDD ist beispielsweise in der Patentschrift
US 4.638.383 offenbart, deren Gegenstand
hiermit durch Bezugnahme hierin aufgenommen wird.
-
HDDs
können
gemäß ihren
jeweiligen Schnittstellentypen in HDDs vom Typ mit integrierter
Treiberelektronik (IDE) und in HDDs vom Typ mit kleiner Rechnersystemschnittstelle
(SCSI) klassifiziert werden. Das HDD vom IDE-Typ umfasst eine installierte
Steuerung. Entsprechend erfordert das HDD vom IDE-Typ im Gegensatz
zum HDD vom SCSI-Typ keine getrennte Erweiterungskarte. Das HDD
vom IDE-Typ wird auch als „Advanced
Technology Attachment" (ATA)
bezeichnet. Das ATA ist ein formaler Schnittstellenname, welcher vom
SFF-Komitee („Small
Form Factor Committee")
definiert ist. Neuerdings wurde eine serielle ATA-Schnittstelle,
welche serielle Datenübertragungen
definiert, in HDD-Geräten eingebaut.
-
Moderne
HDDs werden nicht nur in Tischrechnern, sondern auch in tragbaren
Geräten
mit verschiedenen Datenverarbeitungsfunktionen eingebaut, wie Notebook-Rechnern,
MP3-Abspielgeräten,
Mobiltelefonen, persönlichen
digitalen Assistenten (PDAs) und GPS- Navigationsgeräten. Solche mobilen Geräte beziehen
ihre Energie aus einer begrenzten Energiequelle, wie einer Batterie.
Entsprechend kann das mobile Gerät nicht
arbeiten, wenn die gespeicherte Energie der Batterie verbraucht
ist. Daher ist der Energieverbrauch für solche mobilen Geräte ein immer
vorhandener Auslegungsgesichtspunkt.
-
Eine
Energieverbrauchsabsenkung bei einem mobilen Gerät ist eine schwierige Aufgabe,
da Gesamtverarbeitungsgeschwindigkeiten zunehmen und die mobilen
Geräte
eine immer weiter ansteigende Anzahl von Aufgaben ausführen sollen.
Eine Miniaturisierung von Komponenten hat geholfen, den Energieverbrauch
zu reduzieren. Die Entwicklung der System-auf-Chip(SOS)-Technologie
hat den Gesamtenergieverbrauch reduziert, aber das Verhältnis des
gesamten Energieverbrauchs durch das mobile Gerät zum Energieverbrauch durch
das enthaltene HDD hat in Wirklichkeit zugenommen. Entsprechend
sind weitere Anstrengungen erforderlich, um den Energieverbrauch
von in mobilen Geräten
eingebauten Datenspeicherbauelementen wie HDDs zu minimieren.
-
Als
technisches Problem liegt der Erfindung die Bereitstellung eines
Festplattenlaufwerks, einer damit ausgerüsteten Datenverarbeitungsvorrichtung
und eines zugehörigen
Datenlese-/Datenschreibverfahrens zugrunde, welche in der Lage sind,
die oben genannten Unzulänglichkeiten
des Standes der Technik zu reduzieren oder zu vermeiden und insbesondere
einen geringeren Energieverbrauch zu ermöglichen.
-
Die
Erfindung löst
dieses Problem durch die Bereitstellung eines Festplattenlaufwerks
mit den Merkmalen des Patentanspruchs 1, einer Datenverarbeitungsvorrichtung
mit den Merkmalen des Patentanspruchs 10 und eines Verfahrens zum
Lesen/Schreiben von Daten innerhalb der Datenverarbeitungsvorrichtung
mit einem Festplattenlaufwerk mit den Merkmalen des Patentanspruchs
12 oder 19.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
-
Die
Erfindung stellt daher ein Festplattenlaufwerk, eine Datenverarbeitungsvorrichtung
mit einem Festplattenlaufwerk und ein zugehöriges Lese-/Schreibverfahren
zur Verfügung,
welche angepasst sind, den Energieverbrauch insbesondere eines Datenspeicherbauelements
wie dem Festplattenlaufwerk weiter zu reduzieren und dadurch die
Lebensdauer der Batterie eines tragbaren Gerätes zu verlängern. In einem zugehörigen Aspekt
stellt die Erfindung ein Festplattenlaufwerk, eine korrespondierende
Datenverarbeitungsvorrichtung und ein zugehöriges Lese-/Schreibverfahren
zur Verfügung,
welche angepasst sind, um einen effizienten Dateneingabe-/Datenausgabepfad
gemäß verschiedenen
Betriebszuständen
für das
Datenspeicherbauelement zu definieren.
-
Vorteilhafte
Ausführungsformen
der Erfindung und ein herkömmliches
Ausführungsbeispiel,
das für Vergleichszwecke
aufgenommen wurde, sind in den Zeichnungen dargestellt und werden
nachfolgend beschrieben. Es zeigen:
-
1 ein
Blockdiagramm einer erfindungsgemäßen Datenverarbeitungsvorrichtung
mit einem HDD,
-
2 ein
Zustandsdiagramm zur Darstellung der Funktionsweise des in 1 dargestellten
HDDs,
-
3 und 4 Diagramme
zum Vergleichen einer Zustandsänderung
für ein
herkömmliches
HDD, bei dem eine Datenschreib-/Datenleseanforderung wiederholt
von einem Host erzeugt wird, mit einer analogen Zustandsänderung
für ein
erfindungsgemäßes HDD,
-
5 eine
grafische Darstellung des Energieverbrauchs für das in 3 dargestellte
HDD,
-
6 eine
grafische Darstellung des Energieverbrauchs für das in 4 dargestellte
HDD,
-
7 ein
Blockdiagramm eines erfindungsgemäßen HDDs,
-
8 ein
Blockdiagramm zur weiteren Darstellung einer HDD-Steuerung, welche im HDD von 7 verwendbar
ist, und
-
9 ein
Flussdiagramm zur Darstellung eines Prozesses zum Eingeben von Daten
in und zum Ausgeben von Daten aus einem HDD gemäß der Erfindung.
-
Gemäß einer
Ausführungsform
der Erfindung umfasst ein HDD eine Platte, welche als Hauptspeichermedium
dient, einen ersten und zweiten Puffer, welche angepasst sind, um
temporär
auf der Platte zu speichernde Daten zu speichern, und eine Steuerung,
welche angepasst ist, um der Platte und/oder dem zweiten Puffer
in den ersten Puffer eingegebene Daten gemäß dem Betriebszustand der Platte
zur Verfügung
zu stellen. In diesem Zusammenhang speichert der zweite Puffer Teile
der auf der Platte zu speichernden Daten und stellt gleichzeitig
die gespeicherten Daten der Platte zur Verfügung. Entsprechend ist es möglich, das
Auftretungsverhältnis
eines aktiven Zustands relativ zum Gesamtbetriebszustand für das HDD
zu reduzieren, wobei das HDD eine relativ große Energiemenge während des
so genannten „aktiven
Zustands" verbraucht.
Durch Reduzieren des Auftretungsverhältnisses kann der Energieverbrauch
des HDDs für
Datenverarbeitungsvorrichtungen, in die das HDD eingebaut ist, signifikant
reduziert werden. In einer oder mehreren besonderen Ausführungsformen
wird der zweite Puffer unter Verwendung eines nichtflüchtigen
Speichers implementiert, wodurch eine gute Datenwiedergewinnungsfähigkeit
zur Verfügung
gestellt wird.
-
1 zeigt
eine erfindungsgemäße Datenverarbeitungsvorrichtung 300 und
insbesondere eine tragbare oder mobile Datenverarbeitungsvorrichtung 300 mit
einem Festplattenlaufwerk (HDD) 200. Unter Bezugnahme auf 1 kann
die Datenverarbeitungsvorrichtung 300 in zwei Teile aufgeteilt
sein, d.h. in einen Host 100 und das HDD 200.
Der Host 100 umfasst im Wesentlichen eine zentrale Verarbeitungseinheit
(CPU) 110, eine Anzeigeeinheit 120, eine Batterie 130 und
eine Schlüsseleingabeeinheit 140.
Der Host 100 und das HDD 200 sind in herkömmlicher
Weise über
einen Bus 10 verbunden. Beispiele einer Schnittstelle zwischen
dem Host 100 und dem HDD 200 umfassen eine IDE-Schnittstelle,
eine SCSI-Schnittstelle, eine ATA-Schnittstelle und eine serielle ATA-Schnittstelle.
-
Unter
kurzzeitiger Bezugnahme auf 7 umfasst
das HDD 200 in diesem speziellen Ausführungsbeispiel eine Platte 270,
welche angepasst ist, um Daten zu speichern, und einen Flashspeicher 250,
welcher angepasst ist, um als Zwischendatenspeichermedium zu wirken.
Der Flashspeicher 250 speichert einen Teil der im HDD 200 zu
speichernden Daten und stellt gleichzeitig die gespeicherten Daten
dem HDD 200 zur Verfügung.
Der Flashspeicher 250 kann unter Verwendung herkömmlicher
nichtflüchtiger
Speicherbauelemente implementiert werden, welche geschriebene oder
programmierte Daten innerhalb einer internen Speicherzelle beibehalten,
auch wenn Leistung für
den Speicher abgeschaltet wird. Entsprechend weist der Flashspeicher 250 eine
bessere Datenwiedergewinnungsfähigkeit
als andere Formen von flüchtigen
Speichern auf. Es können
jedoch auch andere nichtflüchtige
Speicher anstelle des Flashspeichers als Zwischendatenspeichermedium
innerhalb des HDDs 200 verwendet werden.
-
In
einer Ausführungsform
der Erfindung umfasst der Flashspeicher 250 jedoch einen NAND-Typ-Flashspeicher,
welcher in der Lage ist, einen Programmier-/Löschvorgang mit hoher Geschwindigkeit
auszuführen.
Diese Ausführungsform
ermöglicht
es dem HDD 200, gemeinsam und gleichzeitig Datenanfragen
vom Host 100 zu verarbeiten. Beispielsweise können ein
Datenschreibvorgang und ein Datenlesevorgang gleichzeitig verarbeitet
werden, wodurch die vom HDD 200 und somit auch von der
Datenverarbeitungsvorrichtung 300 verbrauchte Energie reduziert
wird.
-
2 zeigt
ein Zustandsdiagramm eines beispielhaften Satzes von Betriebszuständen für das HDD 200.
Die Betriebszustände
sind in Bezug auf Energiemanagementzustände und optional auf zugehörige Energiemanagementstandards
für das
HDD 200 definiert. Der fortgeschrittene Energiemanagementstandard (APM-Standard)
und der fortgeschrittene Konfigurations- und Schnittstellenstandard
(ACPI-Standard)
sind zwei fertige Beispiele.
-
Die
beispielhaften Betriebszustände
für das
HDD 200 und der Energieverbrauch, welcher mit jedem der
Betriebszustände
assoziiert ist, werden nun unter Bezugnahme auf 2 beschrieben.
Unter Bezugnahme auf 2 sind vier Betriebszustände für das HDD 200 definiert,
welche einen aktiven Zustand, einen Bereitschaftszustand, einen
Leerlaufzustand und einen Schlafzustand umfassen. In großem Maßstab können die Betriebszustände für das HDD 200 als
Betriebszustände
für die
Platte 270 betrachtet werden.
-
Im
aktiven Zustand kann das HDD 200 einen Datenschreibvorgang,
einen Datenlesevorgang und einen Datensuchvorgang in Reaktion auf Befehle
durchführen,
welche vom Host 100 empfangen werden. Der aktive Zustand
verbraucht typischerweise die „volle
Energie" im Bereich
von 2W bis 2,5W.
-
Das
HDD 200 tritt nach ungefähr fünf Sekunden, welche dem Abschluss
von einem oder mehreren Datenschreibvorgängen, Datenlesevorgängen und
Datensuchvorgängen
folgen, die während
eines aktiven Zustands ausgeführt
werden, in den Leerlaufzustand ein. Im Leerlaufzustand wartet das
HDD 200 nach der Ausführung
aller empfangenen Befehle auf einen neuen Befehl vom Host 100.
Während
des Leerlaufzustands wird ein nicht dargestellter Plattenarm in
eine Parkposition bewegt und eine Servo-Verfolgungsfunktion wird abgeschaltet.
Unter diesen Bedingungen kann, da ein Schnittstellenprogramm zwischen
dem Host 100 und dem HDD 200 in einem Bereitzustand
bleibt, das HDD 200 innerhalb einer sehr kurzen Zeitperiode
von z.B. ungefähr
40ms in den aktiven Zustand zurückkehren.
Der Energieverbrauch im Leerlaufzustand ist allgemein kleiner als
1W.
-
Im
Bereitschaftszustand sind die meisten Komponenten innerhalb des
HDD 200 einschließlich
seines Spindelmotors abgeschaltet. Unter diesen Bedingungen sind
typischerweise zwischen 1,5 und 5 Sekunden für das HDD 200 erforderlich,
um in den aktiven Zustand zurückzukehren.
Im Bereitschaftszustand wird Energie von ungefähr 0,3W verbraucht.
-
Im
Schlafzustand sind alle Komponenten innerhalb des HDDs 200 abgeschaltet,
außer
den Komponenten, welche einen vom Host 100 empfangbaren
Aufwachbefehl verarbeiten. Entsprechend ist eine relativ lange Zeitspanne
von beispielsweise mehr als 5 Sekunden für das HDD 200 erforderlich,
um vom Schlafzustand zum aktiven Zustand zurückzukehren. Im Schlafzustand
wird Energie von ungefähr
0,1W verbraucht.
-
Der
typische Energieverbrauch des HDDs 200 in jedem der vorgenannten
Betriebszustände
ist unten in Tabelle 1 zusammengefasst. Die Energieverbrauchsangaben
in Tabelle 1 sind durch Untersuchen eines HDD mit 2,5'', Modell MHT20AH, hergestellt von Fujitsu,
ermittelt worden.
-
-
Aus
den bisherigen Ausführungen
ergibt sich, dass mit der Zunahme des Auftretungsverhältnisses
des aktiven Zustands zum Gesamtbetriebszustand des HDDs 200 die
Gesamtenergie zunimmt, die von der Datenverarbeitungsvorrichtung 200 verbraucht
wird, die das HDD 200 enthält. Außerdem nimmt mit der Zunahme der
entsprechenden Auftretungsverhältnisse
des Bereitschaftszustands oder des Schlafzustands zum Gesamtbetriebszustand
des HDDs 200 die Gesamtenergie ab, die von der Datenverarbeitungsvorrichtung 200 verbraucht
wird.
-
Daher
steht der Energieverbrauch des HDDs 200 im engen Zusammenhang
mit der Auftretungsfrequenzen der entsprechenden Betriebszustände. Durch
Reduzieren der Auftretungsfrequenz des aktiven Zustands kann der
Energieverbrauch des HDDs 200 reduziert werden. Der Zusammenhang
zwischen der Auftretungsfrequenz des aktiven Zustands und dem Energieverbrauch
des HDDs 200 wird nun detaillierter beschrieben.
-
3 zeigt
eine Zustandsänderung
für ein
herkömmliches
HDD, wenn eine Datenschreib-/Datenleseanforderung wiederholt vom
Host 100 erzeugt wird. 4 zeigt
eine Zustandsänderung
für ein
HDD, das gemäß der Erfindung
ausgelegt ist und in Reaktion auf eine analoge Schreib-/Leseanforderung
vom Host 100 betrieben wird. 5 zeigt
grafisch den Energieverbrauch des herkömmlichen HDDs. 6 zeigt
grafisch den Energieverbrauch des gemäß der Erfindung ausgelegten
HDDs.
-
Unter
Bezugnahme auf die 3 und 5 wird deutlich,
dass der Energieverbrauch für
die entsprechenden HDDs tatsächlich
gemäß den Betriebszuständen der
Platte bestimmt wird. Wann immer eine Datenschreib-/Datenleseanforderung
vom Host 100 erzeugt wird, nimmt das herkömmliche
HDD den aktiven Zustand ein. Wann immer das HDD den aktiven Zustand
einnimmt, verbraucht ein Zyklus mit voller Energie ungefähr 2,5W über eine
vorbestimmte Betriebszeitperiode. Entsprechend verbraucht das HDD
die volle Energie über
die gesamte vorbestimmte Zeitperiode, auch wenn es nur eine geringe
Datenmenge verarbeitet. Während
eines vollständigen
Zyklus, durch welchen der herkömmliche
HDD vom aktiven Zustand zum Leerlaufzustand zum Bereitschaftszustand
wechselt, wird eine Durchschnittsenergiemenge von 2,0W verbraucht.
-
Unter
Bezugnahme nun auf die 4 und 6 führt das
HDD 200 den korrespondierenden Schreib-/Lesevorgang unter
Verwendung des Flashspeichers 250 aus, wann immer eine
Datenschreib-/Datenleseanforderung
vom Host 100 erzeugt wird, anstatt Daten auf die Platte 270 zu
schreiben oder von dieser zu lesen. Wenn der Flashspeicher 250 jedoch
voll ist, werden die im Flashspeicher 250 gespeicherten
Daten zur Platte 270 übertragen,
welche als „Hauptspeicher" wirkt, während der
Flashspeicher 250 als „temporärer Speicher" wirkt.
-
Bis
der Flashspeicher 250 jedoch voll ist, werden aktuelle
Schreib-/Lesevorgänge in das/aus
dem HDD 200 nur unter Verwendung des Flashspeichers 250 ausgeführt. Im
Gegensatz dazu kann die Platte 270 des HDDs 200 im
Bereitschaftsmodus bleiben. Das bedeutet, dass nach dem Empfang
eines Rücksetzbefehls CMD
das HDD 200 in den Bereitschaftszustand übergeht
und der Flashspeicher 250 die Eingabe-/Ausgabevorgänge ausführt. Entsprechend ist es möglich, das
Auftretungsverhältnis
des aktiven Zustands zu reduzieren und dadurch den Energieverbrauch
der Datenverarbeitungsvorrichtung mit dem HDD 200 zu reduzieren.
Experimentale Resultate zeigen, dass unter den oben beschriebenen
Annahmen das HDD 200 im Durchschnitt etwa einmal in 10
Minuten in den aktiven Zustand eintritt. Unter diesen Bedingungen
fällt der
Durchschnittsenergieverbrauch für
das HDD 200 auf nur 0,3W oder ungefähr 6,67% des Energieverbrauchs
des herkömmlichen
HDD.
-
Daher
schlägt
ein aus dem Vorgenannten erhaltenes Prinzip vor, dass eine Datenschreibanforderung des
Hosts 100 zuerst unter Verwendung des Flashspeichers 250 anstatt
der Platte 270 ausgeführt
werden sollte. Es ist jedoch häufig
effizienter, Daten direkt auf die Platte 270 anstatt in
den Flashspeicher 250 zu schreiben. Beispielsweise wenn
das HDD 200 schon im aktiven Zustand ist und der Host 100 eine
Schreibanforderung macht, können
Daten effizient direkt auf die Platte 270 geschrieben werden.
Zusätzlich
kann es nach einem direkten Schreibvorgang auf die Platte 270 angemessen
sein, alle im Flashspeicher 250 gesammelten Daten auf der
Platte 270 zu speichern. Andere Beispiele von Umständen, in
welchen es effizienter sein kann, die Daten direkt auf die Platte 270 zu
schreiben, umfassen eine Anforderung vom Host 100, z.B.
einen Cache-Flushbefehl, im Flashspeicher 250 gespeicherte
Daten auf die Festplatte 270 zu „flushen", oder eine Datenschreibanforderung
für einen
Datenblock, dessen Umfang größer als
die verbliebene Kapazität des
Flashspeichers 250 ist. Nachfolgend wird ein direkter Datenschreibvorgang
auf die Platte 270 in Reaktion auf eine Hostgeräteanforderung
als „Umgehungsschreibvorgang" bezeichnet. Zur
Unterscheidung wird ein Datenschreibvorgang auf die Platte 270 über den
Flashspeicher 250 als „normaler Schreibvorgang" bezeichnet.
-
Analog
schlägt
ein anderes aus dem oben Genannten erhaltenes Prinzip vor, dass
eine Leseanforderung vom Host 100 zuerst durch einen Zugriff
auf den Flashspeicher 250 anstatt auf die Platte 270 ausgeführt wird.
Wenn jedoch das HDD 200 schon im aktiven Zustand ist oder
wenn die angeforderten Lesedaten nicht im Flashspeicher 250 gespeichert
sind, wird die Datenanforderung direkt unter Verwendung der Platte 270 ausgeführt. Ein
Vorgang, welcher angeforderte Daten direkt von der Platte 270 liest,
wird als „Umgehungslesevorgang" bezeichnet. Ein
Vorgang, welcher angeforderte Daten aus dem Flashspeicher 250 liest,
wird als „normaler
Lesevorgang" bezeichnet.
-
7 zeigt
eine vorteilhafte Realisierung eines erfindungsgemäßen HDDs 200.
Unter Bezugnahme auf 7 umfasst das HDD 200 eine
HDD-Steuereinheit 210, einen ersten Puffer 230,
einen zweiten Puffer in Form eines Flashspeichers 250 und
eine Platte 270. Der Puffer 230 wirkt als Festplattencache,
welcher Daten speichert, die vom Host 100 empfangen werden.
Im Wesentlichen umfasst das HDD 200 den Puffer 230 zur Ausführung einer
Cachefunktion, um eine Differenz zwischen der Rotationsgeschwindigkeit
der Platte 270 und der Geschwindigkeit der Datenschnittstelle
mit dem Host 100 zu reduzieren. Der Puffer 230 kann
unter Verwendung eines synchronen dynamischen Speichers mit direktem
Zugriff (SDRAM) implementiert werden, welcher an Dateneingabe-/Datenausgabevorgänge mit
hoher Geschwindigkeit angepasst ist.
-
Wann
immer Daten vom Host 100 empfangen werden, speichert das
HDD 200 die Daten im Flashspeicher 250. Nachfolgend
werden, wenn der Flashspeicher 250 voll ist, die gespeicherten
Daten gleichzeitig zur Platte 270 übertragen. Wenn das HDD 200 jedoch
im aktiven Zustand ist oder wenn der Umfang der Daten im Puffer 230 größer als
die verbliebene Kapazität
des Flashspeichers 250 ist, werden die Daten vom Host 100 direkt
auf der Platte 270 gespeichert. Die HDD-Steuerschaltung 210 steuert
einen „normalen
Datenpfad", welcher
sich auf normale Schreibvorgänge
bezieht, und einen „Umgehungsdatenpfad", welcher sich auf
Umgehungsschreibvorgänge
bezieht. Eine beispielhafte Struktur für die HDD-Steuerschaltung 210 wird
nun in weiteren Details beschrieben.
-
8 zeigt
eine weitergehende Darstellung der HDD-Steuerschaltung 210.
In diesem Beispiel umfasst die HDD-Steuereinheit 210 eine
Flashsteuereinheit 215, einen Datenmanager 250,
eine Plattensteuereinheit 217, eine ECC 218 und
eine Servosteuereinheit 219.
-
Die
Flashsteuerschaltung 215 steuert die Datenschreib-/Datenlesevorgänge in den/vom
Flashspeicher 250. Es ist dem Fachmann allgemein bekannt,
dass ein Datenlöschvorgang
einem Datenschreibvorgang in den Flashspeicher 250 vorausgehen
muss und dass Daten, die in den Flashspeicher 250 geschrieben
werden, eine höhere
Einheitsgröße aufweisen
als aus dem Flashspeicher 250 gelöschte Daten. Dies macht es nicht
nur schwierig, den Flashspeicher 250 als Hauptspeicher
zu verwenden, sondern auch ein Dateisystem für eine allgemeine Festplatte
einzusetzen, bei dem der Flashspeicher 250 als zusätzlicher
oder temporärer Speicher
verwendet wird. Entsprechend wird die Flashsteuerschaltung 215 mit
einer Flashtranslationsschicht (FTL) bereitgestellt, um den für den Flashspeicher 250 erforderlichen
Löschvorgang
zu verbergen.
-
Während des
Schreibvorgangs in den Flashspeicher
250 wirkt die FTL
zum Abbilden von logischen, vom Dateisystem erzeugten Adressen relativ
auf die physikalischen Adressen des Flashspeichers
250,
mit denen der aktuelle Löschvorgang
ausgeführt
wird. Der Adressenabbildungsvorgang der FTL wird beispielsweise in
den Patentschriften
US 5.404.485 ,
US 5.937425 und
US 6.381.176 beschrieben,
deren Gegenstand hiermit durch Bezugnahme hierin aufgenommen wird.
Allgemein gesprochen benutzt die FTL eine Adressenabbildungstabelle
für einen
Adressenabbildungsvorgang mit hoher Geschwindigkeit. Die Adressenabbildungstabelle
wird unter Verwendung eines nicht dargestellten, relativ teuren
SRAMs implementiert. Die FTL kann in Form einer vom Host
100 unabhängigen Hardware
implementiert werden, oder sie kann in Form einer Software implementiert
werden, wie einem Gerätetreiber,
welcher mit einem Betriebssystem im Host
100 assoziiert
ist. Alternativ kann die Funktionalität der Flashsteuerschaltung
215 als
Software implementiert werden, welche mit der Festplattensteuerschaltung
217 assoziiert
ist. Obwohl speziell implementiert, kann der Flashspeicher
250 funktionell
als ein allgemeiner Puffer betrachtet werden. Wenn die Funktionalität der Flashsteuerschaltung
215 als
Software implementiert ist, kann jedoch Last zur Datenverifizierungsanforderung
ansteigen. Entsprechend kann eine separate Hardware, wie die ECC
218,
bereitgestellt werden, um auf eine dezidierte Weise die ECC-Erzeugungsfunktion
zu implementieren.
-
Der
Datenmanager 216 detektiert den Typ eines Befehls, welcher
vom Host 100 empfangen wird, den Betriebszustand der Platte 270,
den Umfang der im Puffer 230 gespeicherten Daten und die
verbliebene Speicherkapazität
des Flashspeichers 250. Nachfolgend bestimmt der Datenmanager 216 auf
Basis der Detektionsergebnisse, ob eine Datenschreib-/Datenleseanforderung
verarbeitet wird, welche vom Host 100 über den normalen Datenpfad
oder über
den Umgehungsdatenpfad empfangen wird. In einer Ausgestaltung wird
angenommen, dass der Datenmanager 216 Daten und/oder Nachrichten über eine
ATA-Schnittstelle
oder eine serielle ATA-Schnittstelle mit dem Host 100 austauscht.
-
Die
Plattensteuerung 217 steuert die Dateneingabe-/Datenausgabevorgänge mit
dem Puffer 230 und der Flashsteuerschaltung 215 gemäß dem festgestellten
Datenpfad. Wenn keine Flashsteuerschaltung 215 in Form
seperater Hardware innerhalb des HDDs 200 bereitgestellt
ist, kann die Funktion der Flashsteuerschaltung 215 in
Form einer in der Plattensteuerung 217 angesiedelten Software
implementiert sein. In einem solchen Fall steuert die Festplattensteuerschaltung 217 die
Dateneingabe-/Datenausgabevorgänge
des Flashspeichers 250 über
Software.
-
Die
Servosteuerung 219 steuert den physikalischen Vorgang des
HDDs 200, wie die Funktion eines Motors, z.B. eines Spindelmotors.
Obwohl in 7 nicht dargestellt, wird ein
Motor wie ein Servomotor 290 innerhalb des HDDs 200 bereitgestellt,
um die Platte 270 während
Lese-/Schreibvorgängen zu
drehen.
-
9 zeigt
ein erfindungsgemäßes Verfahren
zum Eingeben von Daten in das HDD 200 und zum Ausgeben
von Daten daraus. Insbesondere zeigt 9 beispielhaft
einen Datenverarbeitungsvorgang relativ zu einem beispielhaften
Befehl und ist indikativ für
andere Befehle.
-
Unter
Bezugnahme auf 9 empfängt das HDD 200 im
Schritt 3100 zuerst einen Befehl vom Host 100 und
bestimmt im Schritt 3200 den Befehlstyp. Wenn der Befehl
als Schreibbefehl WRITE_CMD bestimmt wird, bestimmt das HDD 200 als
nächstes
im Schritt 3300, ob die Platte 270 im aktiven
Zustand ist oder nicht.
-
Wenn
die Platte 270 nicht im aktiven Zustand ist, bestimmt das
HDD 200 im Schritt 3400, ob der Umfang DATA_W
der Schreibdaten kleiner als die verbliebene Speicherkapazität FLASH_FR
des Flashspeichers 250 ist oder nicht. Wenn der Umfang
DATA_W kleiner als die verbliebene Speicherkapazität FLASH_FR
ist, schreibt das HDD 200 die korrespondierenden Daten
im Schritt 3510 in den Flashspeicher 250. Nachfolgend bestimmt
das HDD 200 im Schritt 3530, ob der Flashspeicher 250 voll
ist oder nicht. Wenn der Flashspeicher 250 voll ist, überträgt das HDD 200 die
im Flashspeicher 250 gespeicherten Daten im Schritt 3550 zur
Platte 270. Wie oben beschrieben, wird der ausgeführte Datenschreibvorgang
als normaler Schreibvorgang bezeichnet, wenn die Platte 270 nicht
im aktiven Zustand ist. Während
des normalen Schreibvorgangs speichert der Flashspeicher 250 einen
Teil der vom Host 100 empfangenen Daten und speichert gleichzeitig
die gespeicherten Daten auf der Platte 270.
-
Nunmehr
zu den Verfahrensschritten 3300 und 3400 im Flussdiagramm
zurückkehrend,
werden, wenn die Festplatte 270 im aktiven Zustand oder
wenn der Umfang DATA_W größer als
die verbliebene Speicherkapazität
FLASH_FR des Flashspeichers 250 ist, die vom Host 100 empfangenen
Daten im Schritt 3600 direkt auf die Platte 270 geschrieben.
-
Alternativ
bestimmt das HDD 200 im Schritt 3700, ob die angeforderten
Daten im Flashspeicher 250 gespeichert sind oder nicht,
wenn der Befehl im Schritt 3200 als Lesebefehl READ_CMD
bestimmt wird. Wenn die angeforderten Daten im Flashspeicher gespeichert
sind, liest das HDD 200 im Schritt 3800 die korrespondierenden
Daten aus dem Flashspeicher 250. Wie oben ausgeführt, wird
der Datenlesevorgang aus dem Flashspeicher 250 als normaler
Lesevorgang bezeichnet.
-
Wenn
die angeforderten Daten jedoch nicht im Flashspeicher 250 gespeichert
sind, liest das HDD 200 im Schritt 3900 die korrespondierenden
Daten von der Platte 270. Wie oben ausgeführt, wird
der direkte Lesevorgang von Daten von der Platte 270 als
Umgehungslesevorgang bezeichnet.
-
Wie
oben ausgeführt,
verarbeitet eine Datenverarbeitungsvorrichtung 300, die
das HDD 200 enthält, mit
einem Befehl vom Host 100 verbundene Daten und speichert
die verarbeiteten Daten gesammelt und gleichzeitig auf der Platte 270.
Entsprechend ist es möglich,
ein Auftretungsverhältnis
des aktiven Zustands, der eine große Energiemenge verbraucht,
relativ zum Gesamtbetriebszustand des HDDs 200 zu reduzieren, wodurch
der Energieverbrauch des HDDs 200 während des Betriebs der Datenverarbeitungsvorrichtung 300 reduziert
wird. Da der Flashspeicher 250 geschriebene Daten in seinen
Speicherzellen beibehält,
auch wenn externe Leistung abgeschaltet wird, ist die Datenwiedergewinnungsfähigkeit
exzellent. Da der Energieverbrauch reduziert ist, kann die Batterielebensdauer
eines mobilen Gerätes,
welches das HDD 200 enthält, verlängert werden. Diese Vorteile
und andere entstehen durch die effiziente Bereitstellung von Dateneingabe-/Datenausgabepfaden
mittels Ausführungsformen
der Erfindung gemäß dem Betriebszustand
des Datenspeichergerätes.