JP2006351118A - ディスクドライブ装置、電子機器およびディスク制御方法 - Google Patents
ディスクドライブ装置、電子機器およびディスク制御方法 Download PDFInfo
- Publication number
- JP2006351118A JP2006351118A JP2005176594A JP2005176594A JP2006351118A JP 2006351118 A JP2006351118 A JP 2006351118A JP 2005176594 A JP2005176594 A JP 2005176594A JP 2005176594 A JP2005176594 A JP 2005176594A JP 2006351118 A JP2006351118 A JP 2006351118A
- Authority
- JP
- Japan
- Prior art keywords
- read
- write
- host device
- command
- head
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B21/00—Head arrangements not specific to the method of recording or reproducing
- G11B21/02—Driving or moving of heads
- G11B21/12—Raising and lowering; Back-spacing or forward-spacing along track; Returning to starting position otherwise than during transducing operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】リード/ライト処理を継続しながらホストからの制御でアンロード動作を実行することが可能なディスクドライブ装置を実現する。
【解決手段】リード/ライト処理部182は、ホスト装置2によってレジスタ181に書き込まれるリード/ライトコマンドに従って、ホスト装置2から送信されるライトデータをディスク媒体11に書き込むライト動作、またはディスク媒体11からデータを読み出すリード動作を含むリード/ライト制御処理を実行する。リード/ライト制御動作の実行期間中にホスト装置2によってレジスタ181にアンロードコマンドが書き込まれた場合、MPU19は、ヘッド12をディスク媒体11を退避するアンロード動作を実行し、且つリード/ライト制御処理を継続して実行するために、前記リード/ライトコマンドに従ってキャッシュメモリ20とホスト装置2との間のデータ転送を制御する。
【選択図】図1
【解決手段】リード/ライト処理部182は、ホスト装置2によってレジスタ181に書き込まれるリード/ライトコマンドに従って、ホスト装置2から送信されるライトデータをディスク媒体11に書き込むライト動作、またはディスク媒体11からデータを読み出すリード動作を含むリード/ライト制御処理を実行する。リード/ライト制御動作の実行期間中にホスト装置2によってレジスタ181にアンロードコマンドが書き込まれた場合、MPU19は、ヘッド12をディスク媒体11を退避するアンロード動作を実行し、且つリード/ライト制御処理を継続して実行するために、前記リード/ライトコマンドに従ってキャッシュメモリ20とホスト装置2との間のデータ転送を制御する。
【選択図】図1
Description
本発明は、ディスク媒体へのデータの書き込みおよびディスク媒体からのデータの読み出しを行うためのヘッドを含むディスクドライブ装置、同ディスクドライブ装置を備えた電子機器、および同ディスクドライブ装置を制御するディスク制御方法に関する。
近年、携帯電話、携帯型オーディオプレーヤのような様々な携帯型電子機器が開発されている。最近では、この種の携帯型電子機器においても、ディスクドライブ装置(ハードディスクドライブ:HDD)の搭載が進められている。
しかし、ディスクドライブ装置においては、衝撃等がディスクドライブ装置に加わることによってもしディスク媒体上にヘッドが衝突すると、ディスク媒体表面が傷つけられてしまい、これによってディスク媒体から正常にデータを読み出すことができなくなる可能性がある。
そこで、最近では、ランプと称される退避位置にヘッドを退避するアンロード動作およびヘッドを退避位置からディスク媒体上にロードするロード動作を実行するためのロード・アンロード機能を有するディスクドライブ装置が開発されている。
特許文献1には、電源オフ時にヘッドを確実にアンロードできるようにするための機能を有するディスクドライブ装置が開示されている。このディスクドライブ装置においては、電源オフ直前にホストから発行されるコマンドに対応する処理の実行が完了された後に、アンロード動作が自動的に実行される。
また、特許文献2には、振動検知センサを内蔵したディスクドライブ装置が開示されている。このディスクドライブ装置においては、振動検知センサによって振動が検知されると、アンロード動作が自動的に実行される。
特開平11−25625号公報
特開平7−57416号公報
しかし、携帯型電子機器に搭載されるディスクドライブ装置においては、その小型化、軽量化が要求されるため、ディスクドライブ装置内に振動検知センサを搭載するのは実際上困難である。このため、携帯型電子機器に搭載されるディスクドライブ装置においては、ホストからのコマンドに応答してアンロード動作を実行する機能を搭載することが必要である。
ATA(AT Attachment)/ATAPI(ATA Packet Interface)−7規格においては、アンロード動作の実行を指示するためのコマンドとしてUnload immediatelyコマンドが規定されている。しかし、ホストは、直前のコマンドに対応する処理が完了した後でなければ、Unload immediatelyコマンドを発行することはできない。このため、リード/ライト処理中にアンロード動作を実行することは実際上困難である。
また、アンロード動作を起動するための専用の割り込み信号を外部からディスクドライブ装置を供給することも考えられる。しかし、このようにすると、実行中のリード/ライト処理を強制終了されてしまうので、ホストとディスクドライブ装置との間のデータ転送が途中で途切れてしまうことになる。この場合、残りのデータ転送を実行するためには、ホストは、リード/ライトコマンドを再度発行し直さなければならない。
本発明は上述の事情を考慮してなされたものであり、リード/ライト処理を継続しながらホストからの制御でアンロード動作を実行することが可能なディスクドライブ装置およびディスク制御方法、並びに同ディスクドライブ装置を用いた電子機器を提供することを目的とする。
上述の課題を解決するため、本発明のディスクドライブ装置は、ディスク媒体へのデータの書き込みおよび前記ディスク媒体からのデータの読み出しを行うためのヘッドと、ホスト装置によってアクセス可能に構成され、前記ホスト装置から送信される各種コマンドを格納するレジスタと、前記ホスト装置によって前記レジスタに書き込まれるリード/ライトコマンドに従って、前記ヘッドを制御して前記ホスト装置から送信されるライトデータを前記ディスク媒体に書き込むライト動作、または前記ヘッドを制御して前記ディスク媒体からデータを読み出すリード動作を含むリード/ライト制御処理を実行するリード/ライト処理部と、前記ホスト装置から送信されるライトデータおよび前記ディスク媒体から読み出されるリードデータを格納するキャッシュメモリと、前記リード/ライト制御動作の実行期間中に前記ホスト装置によって前記レジスタにアンロードコマンドが書き込まれた場合、前記ヘッドを前記ディスク媒体よりも外側の所定の退避位置に退避するアンロード動作を実行し、且つ前記リード/ライト制御処理を継続して実行するために、前記リード/ライトコマンドに従って前記キャッシュメモリと前記ホスト装置との間のデータ転送を制御する制御手段とを具備することを特徴とする。
本発明によれば、リード/ライト処理を継続しながらホストからの制御でアンロード動作を実行することが可能となる。
以下、図面を参照して、本発明の実施形態を説明する。
図1には、本発明の一実施形態に係るディスクドライブ装置の構成が示されている。このディスクドライブ装置1はホスト装置2として機能する電子機器にストレージデバイスとして内蔵される装置であり、ディスク媒体11にデータを磁気的に記録する磁気ディスクドライブ装置(ハードディスクドライブ:HDD)として実現されている。
図1には、本発明の一実施形態に係るディスクドライブ装置の構成が示されている。このディスクドライブ装置1はホスト装置2として機能する電子機器にストレージデバイスとして内蔵される装置であり、ディスク媒体11にデータを磁気的に記録する磁気ディスクドライブ装置(ハードディスクドライブ:HDD)として実現されている。
このディスクドライブ装置1は、ディスク媒体11、ヘッド12、スピンドルモータ(SPM)13、アクチュエータ14、ボイスコイルモータ(VCM)15、モータドライバIC16、リード/ライト回路17、ハードディスクコントローラ18、マイクロプロセッサユニット(MPU)19、キャッシュメモリ20、メモリ21、インターフェース回路22、およびランプ機構23を備えている。
ディスク媒体11はデータを磁気的に記録する記憶媒体である。ヘッド12は磁気ヘッドであり、ディスク媒体1へのデータの書き込みおよびディスク媒体1からのデータの読み出しを行う。このヘッド12は、リード動作を実行するためのリードヘッドとライト動作を実行するライトヘッドとを備えている。ヘッド12は、アクチュエータ14の先端部に搭載されている。
ディスク媒体11はスピンドルモータ(SPM)3に固定されている。スピンドルモータ(SPM)13はディスク媒体11を回転させるためのモータである。アクチュエータ14は、ボイスコイルモータ(VCM)15によって駆動され、ヘッド12をディスク媒体11の半径方向に移動する。このアクチュエータ14は、軸141に旋回可能に支持されたヘッドアームから構成されている。
モータドライバIC16は、ボイスコイルモータ(VCM)15を駆動するVCMドライバ161およびスピンドルモータ(SPM)13を駆動するSPMドライバ162を備えている。これらVCMドライバ161およびSPMドライバ162はMPU19によって制御される。
リード/ライト回路17は、プリアンプ回路、およびリード/ライトチャネルから構成されている。プリアンプ回路は、リードヘッドから出力されるリード信号を増幅するリードアンプ、及びライトアンプを有する。ライトアンプは、リード/ライトチャネルから出力されるライトデータ信号をライト電流信号に変換して、ライトヘッドに送出する。
HDC9は、ホスト装置2がアクセス可能なレジスタファイル181を備えている。レジスタファイル181には、ホスト装置2から送信される各種コマンドを格納するコマンドレジスタ群が含まれている。また、HDC9は、リード/ライト処理部182を備えている。リード/ライト処理部182は、MPU19の制御の下、リード/ライト回路17を用いてリード/ライト制御処理を実行する。具体的には、リード/ライト処理部182は、ホスト装置2によってコマンドレジスタに書き込まれるリード/ライトコマンドに従って、ヘッド12を制御してホスト装置1から送信されるライトデータをディスク媒体11に書き込むライト動作、またはヘッド12を制御してディスク媒体11からデータを読み出すリード動作を実行する。なお、リード/ライト処理部182の機能は、MPU19によって実現してもよい。
MPU19はディスクドライブ装置1の動作を制御する制御部であり、メモリ21に格納されたプログラムを実行する。メモリ21は、RAMの他、不揮発性メモリであるフラッシュメモリ211も含む。フラッシュメモリ211には、MPU19によって実行されるプログラムが格納されている。
MPU19は、リード/ライト処理部182によるリード/ライト制御処理を制御する機能、およびロード・アンロード動作を制御するロード・アンロード制御機能等を有している。ロード・アンロード制御機能は、アクチュエータ14を駆動してヘッド11をディスク媒体11よりも外側の所定の退避位置に退避するアンロード動作を実行する機能と、アクチュエータ14を駆動してヘッド11を退避位置からディスク媒体11上にロードするロード動作を実行する機能とを含む。退避位置にはランプ機構23が設けられている。アンロード動作が実行されたとき、ヘッド11はランプ機構23に移動する。ロード動作が実行されたとき、ヘッド11はランプ機構23から取り出され、ディスク媒体11上に移動する。
キャッシュメモリ20は、ホスト装置2から送信されるライトデータおよびディスク媒体11から読み出されるリードデータを格納する。このキャッシュメモリ20は、ライトデータを格納するライトキャッシュと、リードデータを格納するリードキャッシュとから構成されている。
インターフェース回路22は、ホスト装置2とディスクドライブ装置1との間を接続するバス3を介してホスト装置2との通信を実行する。バス3は、例えば、IDE(Integrated Drive Electronics)バス(パラレルATAバス)、シリアルATAバス、またはSD(SECURE DIGITAL)I/Oバス、等から構成されている。
次に、図2を参照して、レジスタファイル181の構成を説明する。
レジスタファイル181には、ATA規格で定義されたコマンドレジスタ群200と、ロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201とが含まれている。
コマンドレジスタ群200には、ライトデータ/リードデータを格納するデータ(Data)レジスタ、特殊コマンドを格納するフィーチャ(Feature)レジスタ、データ転送サイズを指定する値(Sector Count)を格納するセクタカウント(Sector Count)レジスタ、論理ブロックアドレス(LBA)を格納するための3つのレジスタ、デバイス番号を指定する値を格納するデバイス(Device)レジスタ、各種コマンド/ステータスが格納されるコマンド/ステータスレジスタ、リセットなどのデバイス制御用コマンドの格納およびステータスの複製の格納に用いられるデバイスコントロール(Device Control)/オルタネートステータス(Alternate Status)レジスタ等が定義されている。
ロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201は、ホスト装置2によって書き込み・読み出しが可能に構成されたレジスタである。ロード/アンロード制御レジスタ201は、ホスト装置2からのロードコマンド/アンロードコマンドの格納に使用される。また、ロード/アンロード制御レジスタ201は、ロード/アンロードステータス情報の格納にも用いられる。ロード/アンロードステータス情報は、ヘッド12の状態が、ヘッド12がディスク媒体11上にロードされているロード状態とヘッド12がランプ機構23に退避されているアンロード状態のいずれであるかを示す。ホスト装置2は、ロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201をリードすることによって、ヘッド12の状態を確認することができる。なお、ロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201とコマンド/ステータスレジスタとを一つのレジスタによって実現することもできる。
図3は、ロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201の構成例を示している。
ロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201において、ビット0は、ホスト装置2によって書き込まれるロードコマンド“1”/アンロードコマンド“0”を格納するために用いられる。ビット1は、ロード/アンロードステータス情報の格納に用いられる。以下では、ビット0をロードコントロールビット、ビット1をロードステータスビットと称する。
ホスト装置2によってロードコントロールビットにアンロードコマンド“0”が書き込まれた時、MPU19は、VCMドライバ16を制御することによってアンロード動作を実行する。アンロード動作の実行が完了した時、MPU19は、ヘッド12がアンロード状態(ヘッド12がランプ機構23に退避されている状態)であることを示すステータス“0”をロードステータスビットに書き込む。
ホスト装置2によってロードコントロールビットにロードコマンド“1”が書き込まれた時、MPU19は、VCMドライバ16を制御することによってロード動作を実行する。ロード動作の実行が完了した時、MPU19は、ヘッド12がロード状態(ヘッド12がディスク媒体12上に位置する状態)であることを示すステータス“1”をロードステータスビットに書き込む。
コマンド/ステータスレジスタにセットされたリード/ライトコマンドにしたがってリード/ライト制御処理が実行されている期間中に、ホスト装置2によってロードコントロールビットにアンロードコマンド“0”が書き込まれた時、HDC18は、割り込み信号INTを発生する。この割り込み信号INTに応答して、MPU19は、ロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201のロードコントロールビットをリードし、アンロードコマンド“0”が書き込まれたことを認識する。そして、MPU19は、アンロード動作を実行して、ヘッド12をランプ機構23に退避する。ヘッド12がランプ機構23に退避されている期間中もリード/ライト制御処理を継続するために、MPU19は、リード/ライトコマンドに従ってキャッシュメモリ20とホスト装置2との間のデータ転送を制御する。
キャッシュメモリ20は、例えば32Mバイトまたは64Mバイト程度の記憶容量を有している。したがって、ライト動作においては、アンロード動作の実行後においても、キャッシュメモリ20に32Mバイトまたは64Mバイトのライトデータが格納されるまでは、ホスト装置2からのライトデータの転送を継続して受け付けることができる。ヘッド12がランプ機構23に退避されている状態でキャッシュメモリ20に空き領域がなくなった場合、MPU19は、ホスト装置2によってロードコマンド“1”がロードコントロールビットに書き込まれるまで、ホスト装置2にライトデータの送信を一時的に停止させる処理を実行する。例えば、ビジー信号をホスト装置2に送信することによって、ホスト装置2に対してライトデータの送信停止を指示することができる。
ホスト装置2は振動センサを内蔵しており、ディスクドライブ装置1との間のデータ転送中に振動センサによって振動が検知された時、ロードコントロールビットにアンロードコマンド“0”を書き込む。また、アンロードコマンド“0”を送信してからセンサによって振動が所定時間検知されなかった場合は、ホスト装置2は、ロードコマンド“1”をロードコントロールビットに書き込む。このため、通常は、アンロード動作実行後にすぐにロード動作が実行されるので、ヘッド12が退避されている時間は比較的短い時間である。よって、ホスト装置2とのデータ転送を継続して実行しながら、ヘッド12のアンロード・ロードを実行することができる。
リード動作においても、リードコマンドで指定されたデータがキャッシュメモリ20に存在する限り、ホスト装置2へのリードデータの転送を継続して実行することができる。ヘッド12が退避されている状態で、キャッシュメモリ20にリードコマンドで指定されたデータが存在しなくなった場合、MPU19は、ホスト装置2によってロードコマンド“1”がロードコントロールビットに書き込まれるまで待機し、その間はリードデータの送信を停止する。
図4は、ディスクドライブ装置1とホスト装置2との間のインターフェースの例が示されている。
ディスクドライブ装置1とホスト装置2との間に設けられたバス3には、例えば、クロック(CLK)信号線、コマンド(CMD)線、データ(DATA)バス、レディ(READY)/ビジー(BUSY)信号線などが定義されている。
ホスト装置2は、コマンド(CMD)線を介して各種コマンド(CMD)をディスクドライブ装置1のレジスタファイル181に書き込む。ディスクドライブ装置1は、ホスト装置2から送信されるコマンドを受け取ると、レスポンス(RES)をコマンド(CMD)線を介してホスト装置2に送信する。
リード/ライト処理においては、ホスト装置2は、転送サイズ、リード/ライト種別、アドレス等の各種パラメタをコマンドレジスタ群200に書き込むための何回かのコマンド送信を実行した後、データ転送の開始を指示する転送コマンドをコマンドレジスタ群200に書き込む。この転送コマンドに応答して、データ(DATA)バスを介したホスト装置2とディスクドライブ装置1との間のデータ転送(ホスト装置2からディスクドライブ装置1へのライトデータの送信、またはディスクドライブ装置1からホスト装置2へのリードデータの送信)が開始される。
このデータ転送期間中において、もし振動を検知すると、ホスト装置2は、コマンド(CMD)線を介してアンロードコマンドをディスクドライブ装置1のロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201に書き込む。ディスクドライブ装置1のMPU19は、アンロード動作を実行する。アンロード動作の実行後も、ホスト装置2とディスクドライブ装置1との間のデータ転送はキャッシュメモリ20を用いて継続して実行される。ホスト装置2によってロードコマンドがロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201に書き込まれると、MPU19は、ロード動作を実行する。これにより、ディスク媒体11に対するライト動作/リード動作が実行可能となる。
このように、本実施形態においては、リード/ライト処理の実行中においても、そのリード/ライト処理を終了することなく、ヘッド12のアンロード、ロードを実行することが可能である。よって、ヘッド12のアンロードおよびロードが実行された後においても、ホスト装置2は、各種パラメタのセットおよび転送コマンドのセット等の処理を実行することなく、リード/ライト処理を継続して実行することができる。これにより、データ転送効率を大幅に改善することが可能となる。
図5には、ディスクドライブ装置1が搭載される電子機器の例が示されている。
この電子機器は、例えば、携帯電話、携帯型オーディオプレーヤ、携帯型テレビなどとして実現されている。以下では、電子機器を携帯型オーディオプレーヤとして実現した場合を想定する。
携帯型オーディオプレーヤ30の本体には、表示装置としてLCD31が設けられている。また、携帯型オーディオプレーヤ30の本体には、操作ボタン32が設けられている。また、携帯型オーディオプレーヤ30の本体内には、オーディオデータ等を格納するためのストレージデバイスとしてディスクドライブ装置1が内蔵されている。
図6は、携帯型オーディオプレーヤ30のシステム構成を示すブロック図である。
携帯型オーディオプレーヤ30は、ディスクドライブ装置1およびホスト装置2とから構成される。ホスト装置2は、上述のLCD31および操作ボタン32に加え、CPU311、メモリ312、表示コントローラ313、オーディオコントローラ314、センサ315、およびI/Oコントローラ316を備えている。
CPU311は携帯型オーディオプレーヤ30の動作を制御するプロセッサであり、メモリ312に格納されたプログラムを実行する。表示コントローラ312は、LCD31を制御する。オーディオコントローラ314は、ディスクドライブ装置1から読み出されるオーディオデータを再生して、当該オーディオデータをヘッドフォン(またはスピーカ)33から音として出力するための処理を実行する。センサ315は、携帯型オーディオプレーヤ30の振動(急激な動き等)を検知するセンサであり、例えば、2次元または3次元の加速度センサ等から構成されている。
I/Oコントローラ316は、ディスクドライブ装置1を制御してディスクドライブ装置1とのデータ転送を実行するコントローラであり、例えばIDEコントローラ、SDI/Oホストコントローラ等によって実現されている。センサ315によって振動が検知された場合、I/Oコントローラ316は、CPU311の制御の下、上述のアンロードコマンドをディスクドライブ装置1のロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201に書き込む。また、アンロードコマンドをロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201に書き込んだ後、センサ315によって振動が所定時間検知されなかった場合、I/Oコントローラ316は、CPU311の制御の下、上述のロードコマンドをディスクドライブ装置1のロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201に書き込む。
次に、図7のフローチャートを参照して、ホスト装置2の動作を説明する。
操作ボタン32の操作によってオーディオデータの再生がユーザによって指示されると、CPU311は、I/Oコントローラ316にリードコマンドの発行を指示し、これによりディスクドライブ装置1からI/Oコントローラ316へのオーディオデータの転送が開始される。I/Oコントローラ316は、受信したオーディオデータをメモリ312に書き込む。CPU311は、オーディオデータを必要に応じてデコードし、そのデコードしたオーディオデータをオーディオコントローラ314に送信する。オーディオコントローラ314は、オーディオデータを再生し、オーディオデータに対応する音をヘッドフォン(またはスピーカ)33から音として出力する。
このようなオーディオデータの転送中において、もしセンサ315によって基準値よりも大きい振動が検知されたならば(ステップS101のYES)、CPU311は、アンロードコマンドの発行をI/Oコントローラ316に指示する。I/Oコントローラ316は、アンロードコマンドをロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201に書き込む(ステップS102)。
この後、CPU311は、センサ315による振動検知結果に基づいて携帯型オーディオプレーヤ30が安全な状態になったか否かを判別する(ステップS103)。安全な状態になったことが確認されると、CPU311は、ロードコマンドの発行をI/Oコントローラ316に指示する。I/Oコントローラ316は、ロードコマンドをロード/アンロード制御(LOAD/UNLOAD Control)レジスタ201に書き込む(ステップS104)。
ヘッド12がアンロードされている状態においては、リードコマンドで指定されたオーディオデータがキャッシュメモリ20に存在する限り、ディスクドライブ装置1からI/Oコントローラ316へのデータ転送は継続して実行される。これにより、ヘッド12を退避した後も、オーディオデータの再生を継続して実行することが可能となる。
次に、図8のフローチャートを参照して、ディスクドライブ装置1によって実行されるライトデータ転送処理の手順の第1の例について説明する。
MPU19は、ホスト装置2によってコマンドコントロールレジスタ群200にライトコマンドが書き込まれると、HDC18にライト制御処理の実行を指示する。HDC18は、MPU19と共同してヘッド12を制御することにより、ホスト装置2から送信されるライトデータをディスク媒体11に書き込むライト動作を開始する。
このライト制御処理中において、HDC18から割り込み信号INTが発生されると、MPU19は、ホスト装置2によってアンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたか否かをチェックする処理を実行する。具体的には、MPU19は、ロードコントロールビットをリードして(ステップS301)、ホスト装置2によってアンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたか否かを判別する(ステップS302)。アンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたならば(ステップS302のYES)、MPU19は、ドライバIC16を介してアクチュエータ14を制御することにより、ヘッド12をランプ機構23に退避するアンロード動作を実行する(ステップS303)。アンロード動作の実行が完了すると、MPU19は、ヘッド12がアンロード状態(ヘッド12がランプ機構23に退避されている状態)であることを示すステータス“0”をロードステータスビットに書き込む(ステップS304)。
次に、MPU19は、キャッシュメモリ20にライトデータを格納するための空領域が存在するか否かを判別する(ステップS305)。空きがある場合(ステップS305のYES)、MPU19は、HDC18を制御することにより、ホスト装置2から転送されるライトデータをキャッシュメモリ20へ転送する(ステップS313)。
次に、MPU19は、全てのデータ転送が完了したか否か、つまりライトコマンドで指定された転送データサイズ分のライトデータの転送が完了したか否かを判別する(ステップS314)。全てのデータ転送が完了したならば(ステップS314のYES)、MPU19は、データ転送終了処理を行う(ステップS315)。データ転送終了処理においては、転送処理の終了をコマンドコントロールレジスタ群200を介してホスト装置2に通知する処理等が実行される。
全てのデータ転送が完了していないならば(ステップS314のN0)、MPU19は、再びステップS301に戻る。
ステップS305においてキャッシュメモリ20に空きが無いことが検出されたならば、MPU19は、ロードステータスビットをリードして(ステップS306)、ヘッド12がランプ機構23に退避されているアンロード状態であるか否かを判別する(ステップS307)。
ヘッド12がアンロード状態ではないならば、つまりヘッド12がディスク媒体11上に存在するならば(ステップS307のN0)、MPU19は、HDC18に、キャッシュメモリ20に格納されているライトデータをディスク媒体11に転送して書き込むためのライト動作を実行させる(ステップS312)。これにより、キャッシュメモリ20に空き領域を確保することができる。
ヘッド12がアンロード状態であるならば(ステップS307のYES)、MPU19は、ホスト装置2からのロードコマンドを待機する。すなわち、MPU19は、ロードコントロールビットをリードし(ステップS308)、ホスト装置2によってロードコマンドがロード/アンロード制御レジスタ201に書き込まれたか否かをチェックする(ステップS309)。ホスト装置2によってロードコマンドがロード/アンロード制御レジスタ201に書き込まれるまで、ステップS308、S309の処理は繰り返し実行される。この間、ディスクドライブ装置1はホスト装置2からのライトデータを受け付けることができないので、MPU19は、ホスト装置2にライトデータの送信を一時的に停止させる処理を実行する。この処理においては、MPU19は、例えば、HDC18にビジー信号を出力させる等の処理を実行する。
ホスト装置2によってロードコマンドがロード/アンロード制御レジスタ201に書き込まれたならば(ステップS309のYES)、MPU19は、ドライバIC16を介してアクチュエータ14を制御することにより、ヘッド12をランプ機構23からディスク媒体11上にロードするロード動作を実行する(ステップS310)。ロード動作の実行が完了すると、MPU19は、ヘッド12がロード状態(ヘッド12がディスク媒体11上に存在する状態)であることを示すステータス“1”をロードステータスビットに書き込む(ステップS311)。
この後、MPU19は、HDC18に、キャッシュメモリ20に格納されているライトデータをディスク媒体11に転送して書き込むためのライト動作を実行させる(ステップS312)。これにより、キャッシュメモリ20に空き領域を確保することができる。
なお、以上の説明では、キャッシュメモリ20をライトバックキャッシュとして使用する場合を説明したが、ディスク媒体11にヘッド12がロードされている状態においては、キャッシュメモリ20をライトスルーキャッシュとして使用し、ホスト装置2から送信されるライトデータをディスク媒体11に書き込むライト動作と、ライトデータをキャッシュメモリ20に書き込む動作とを並行して実行してもよい。
また、落下衝撃等によってスピンドルモータ(SPM)13が故障するのを未然に防止するために、ステップS303においては、アンロード動作のみならず、ディスク媒体11の回転を停止する処理を実行することが好ましい。
この場合、ステップS303においては、MPU19は、VCMドライバ161を制御することによってアンロード動作を実行すると共に、SPMドライバ162を制御することによってスピンドルモータ(SPM)13の回転を停止させ、これによってディスク媒体11の回転を停止させる。また、ステップS310においては、MPU19は、VCMドライバ161を制御することによってロード動作を実行すると共に、SPMドライバ162を制御することによってスピンドルモータ(SPM)13を回転させ、これによってディスク媒体11の回転を再開させる。
また、割り込み信号に応答して、ホスト装置2によってアンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたか否かをチェックする代わりに、リード制御処理中に、MPU19が、定期的にロードコントロールビットをリードするポーリング処理を実行することによって、ホスト装置2によってアンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたか否かをチェックしてもよい。
次に、図9のフローチャートを参照して、ディスクドライブ装置1によって実行されるリードデータ転送処理の手順の第1の例について説明する。
MPU19は、ホスト装置2によってコマンドコントロールレジスタ群200にリードコマンドが書き込まれると、HDC18にリード制御処理の実行を指示する。HDC18は、MPU19と共同してヘッド12を制御することにより、ホスト装置2からのリードコマンドで指定されたデータをディスク媒体11またはキュッシュメモリ20からリードして、ホスト装置2に転送する処理を開始する。
このリード制御処理中において、HDC18から割り込み信号INTが発生されると、MPU19は、ロードコントロールビットをリードして(ステップS401)、ホスト装置2によってアンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたか否かを判別する(ステップS402)。アンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたならば(ステップS402のYES)、MPU19は、ドライバIC16を介してアクチュエータ14を制御することにより、ヘッド12をランプ機構23に退避するアンロード動作を実行する(ステップS403)。アンロード動作の実行が完了すると、MPU19は、ヘッド12がアンロード状態(ヘッド12がランプ機構23に退避されている状態)であることを示すステータス“0”をロードステータスビットに書き込む(ステップS404)。
次に、MPU19は、キャッシュメモリ20に有効データ(リードコマンドで指定されたデータ)が存在するか否かを判別する(ステップS405)。有効データがある場合(ステップS405のYES)、MPU19は、HDC18を制御することにより、キャッシュメモリ20に格納されている有効データをホスト装置2に転送する(ステップS413)。
次に、MPU19は、全てのデータ転送が完了したか否か、つまりリードコマンドで指定された転送データサイズ分のリードデータの転送が完了したか否かを判別する(ステップS414)。全てのデータ転送が完了したならば(ステップS414のYES)、MPU19は、データ転送終了処理を行う(ステップS415)。データ転送終了処理においては、転送処理の終了をコマンドコントロールレジスタ群200を介してホスト装置2に通知する処理等が実行される。
全てのデータ転送が完了していないならば(ステップS414のN0)、MPU19は、再びステップS401に戻る。
ステップS405においてキャッシュメモリ20に有効データが無いことが検出されたならば、MPU19は、ロードステータスビットをリードして(ステップS406)、ヘッド12がランプ機構23に退避されているアンロード状態であるか否かを判別する(ステップS407)。
ヘッド12がアンロード状態ではないならば、つまりヘッド12がディスク媒体11上に存在するならば(ステップS407のN0)、MPU19は、HDC18に、リードコマンドで指定されたデータをディスク媒体11から読み出すリード動作を実行させる(ステップS412)。ディスク媒体11から読み出されたデータはキャッシュメモリ20に格納される。これにより、キャッシュメモリ20に有効データを格納することができる。
ヘッド12がアンロード状態であるならば(ステップ407のYES)、MPU19は、ホスト装置2からのロードコマンドを待機する。すなわち、MPU19は、ロードコントロールビットをリードし(ステップS408)、ホスト装置2によってロードコマンドがロード/アンロード制御レジスタ201に書き込まれたか否かをチェックする(ステップS409)。ホスト装置2によってロードコマンドがロード/アンロード制御レジスタ201に書き込まれるまで、ステップS408、S409の処理は繰り返し実行される。
ホスト装置2によってロードコマンドがロード/アンロード制御レジスタ201に書き込まれたならば(ステップS409のYES)、MPU19は、ドライバIC16を介してアクチュエータ14を制御することにより、ヘッド12をランプ機構23からディスク媒体11上にロードするロード動作を実行する(ステップS410)。ロード動作の実行が完了すると、MPU19は、ヘッド12がロード状態(ヘッド12がディスク媒体11上に存在する状態)であることを示すステータス“1”をロードステータスビットに書き込む(ステップS411)。
この後、MPU19は、HDC18に、リードコマンドで指定されたデータをディスク媒体11から読み出すリード動作を実行させる(ステップS412)。ディスク媒体11から読み出されたデータはキャッシュメモリ20に格納される。ステップS412においては、通常は、リードコマンドで指定されたデータのみならず、そのデータに後続するデータもディスク媒体11から読み出され、そのリードデータがキャッシュメモリ20に格納される。これにより、ホスト装置2によって要求される可能性の高いデータをキャッシュメモリ20に格納しておくことができる。
なお、以上の説明では、ディスク媒体11から読み出されたリードデータをキャッシュメモリ20を介してホスト装置2に転送する場合を説明したが、ディスク媒体11にヘッド12がロードされている状態においては、ディスク媒体11から読み出されたリードデータをホスト装置2に転送する動作と、リードデータをキャッシュメモリ20に書き込む動作とを並行して実行してもよい。
また、落下衝撃等によってスピンドルモータ(SPM)13が故障するのを未然に防止するために、ステップS403においては、アンロード動作のみならず、ディスク媒体11の回転を停止する処理を実行することが好ましい。
この場合、ステップS403においては、MPU19は、VCMドライバ161を制御することによってアンロード動作を実行すると共に、SPMドライバ162を制御することによってスピンドルモータ(SPM)13の回転を停止させ、これによってディスク媒体11の回転を停止させる。また、ステップS410においては、MPU19は、VCMドライバ161を制御することによってロード動作を実行すると共に、SPMドライバ162を制御することによってスピンドルモータ(SPM)13を回転させ、これによってディスク媒体11の回転を再開させる。
また、割り込み信号に応答してロードコントロールビットをリードする代わりに、リード制御処理中に、MPU19が、定期的にロードコントロールビットをリードするポーリング処理を実行してもよい。
次に、図10のフローチャートを参照して、ディスクドライブ装置1によって実行されるライトデータ転送処理の手順の第2の例について説明する。
MPU19は、ホスト装置2によってコマンドコントロールレジスタ群200にライトコマンドが書き込まれると、HDC18にライト制御処理の実行を指示する。HDC18は、MPU19と共同してヘッド12を制御することにより、ホスト装置2から送信されるライトデータをディスク媒体11に書き込むライト動作を開始する。
このライト制御処理中において、HDC18から割り込み信号INTが発生されると、MPU19は、ロードコントロールビットをリードして(ステップS501)、ホスト装置2によってアンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたか否かを判別する(ステップS502)。アンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたならば(ステップS502のYES)、MPU19は、ドライバIC16を介してアクチュエータ14を制御することにより、ヘッド12をランプ機構23に退避するアンロード動作を実行する(ステップS503)。アンロード動作の実行が完了すると、MPU19は、ヘッド12がアンロード状態(ヘッド12がランプ機構23に退避されている状態)であることを示すステータス“0”をロードステータスビットに書き込む(ステップS504)。
次に、MPU19は、キャッシュメモリ20にライトデータを格納するための空領域が存在するか否かを判別する(ステップS505)。空きがある場合(ステップS505のYES)、MPU19は、HDC18を制御することにより、ホスト装置2から転送されるライトデータをキャッシュメモリ20へ転送する(ステップS509)。
次に、MPU19は、全てのデータ転送が完了したか否か、つまりライトコマンドで指定された転送データサイズ分のライトデータの転送が完了したか否かを判別する(ステップS510)。全てのデータ転送が完了したならば(ステップS510のYES)、MPU19は、データ転送終了処理を行う(ステップS511)。データ転送終了処理においては、転送処理の終了をコマンドコントロールレジスタ群200を介してホスト装置2に通知する処理等が実行される。
全てのデータ転送が完了していないならば(ステップS510のN0)、MPU19は、再びステップS501に戻る。
ステップS505においてキャッシュメモリ20に空きが無いことが検出されたならば、MPU19は、ロードステータスビットをリードして(ステップS506)、ヘッド12がランプ機構23に退避されているアンロード状態であるか否かを判別する(ステップS507)。
ヘッド12がアンロード状態ではないならば、つまりヘッド12がディスク媒体11上に存在するならば(ステップS507のN0)、MPU19は、HDC18に、キャッシュメモリ20に格納されているライトデータをディスク媒体11に転送して書き込むためのライト動作を実行させる(ステップS508)。これにより、キャッシュメモリ20に空き領域を確保することができる。
ヘッド12がアンロード状態であるならば(ステップS507のYES)、MPU19は、ライト制御処理をエラー処理によって中止するために、データ転送終了処理を行う(ステップS511)。データ転送終了処理においては、転送処理のエラー終了をコマンドコントロールレジスタ群200を介してホスト装置2に通知する処理等が実行される。
なお、以上の説明では、キャッシュメモリ20をライトバックキャッシュとして使用する場合を説明したが、ディスク媒体11にヘッド12がロードされている状態においては、キャッシュメモリ20をライトスルーキャッシュとして使用し、ホスト装置2から送信されるライトデータをディスク媒体11に書き込むライト動作と、ライトデータをキャッシュメモリ20に書き込む動作とを並行して実行してもよい。
また、落下衝撃等によってスピンドルモータ(SPM)13が故障するのを未然に防止するために、ステップS503においては、アンロード動作のみならず、ディスク媒体11の回転を停止する処理を実行することが好ましい。
また、割り込み信号に応答してロードコントロールビットをリードする代わりに、リード制御処理中に、MPU19が、定期的にロードコントロールビットをリードするポーリング処理を実行してもよい。
次に、図11のフローチャートを参照して、ディスクドライブ装置1によって実行されるリードデータ転送処理の手順の第2の例について説明する。
MPU19は、ホスト装置2によってコマンドコントロールレジスタ群200にリードコマンドが書き込まれると、HDC18にリード制御処理の実行を指示する。HDC18は、MPU19と共同してヘッド12を制御することにより、ホスト装置2からのリードコマンドで指定されたデータをディスク媒体11またはキュッシュメモリ20からリードして、ホスト装置2に転送する処理を開始する。
このリード制御処理中において、HDC18から割り込み信号INTが発生されると、MPU19は、ロードコントロールビットをリードして(ステップS601)、ホスト装置2によってアンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたか否かを判別する(ステップS602)。アンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたならば(ステップS602のYES)、MPU19は、ドライバIC16を介してアクチュエータ14を制御することにより、ヘッド12をランプ機構23に退避するアンロード動作を実行する(ステップS603)。アンロード動作の実行が完了すると、MPU19は、ヘッド12がアンロード状態(ヘッド12がランプ機構23に退避されている状態)であることを示すステータス“0”をロードステータスビットに書き込む(ステップS604)。
次に、MPU19は、キャッシュメモリ20に有効データ(リードコマンドで指定されたデータ)が存在するか否かを判別する(ステップS605)。有効データがある場合(ステップS605のYES)、MPU19は、HDC18を制御することにより、キャッシュメモリ20に格納されている有効データをホスト装置2に転送する(ステップS609)。
次に、MPU19は、全てのデータ転送が完了したか否か、つまりリードコマンドで指定された転送データサイズ分のリードデータの転送が完了したか否かを判別する(ステップS610)。全てのデータ転送が完了したならば(ステップS610のYES)、MPU19は、データ転送終了処理を行う(ステップS611)。データ転送終了処理においては、転送処理の終了をコマンドコントロールレジスタ群200を介してホスト装置2に通知する処理等が実行される。
全てのデータ転送が完了していないならば(ステップS610のN0)、MPU19は、再びステップS601に戻る。
ステップS605においてキャッシュメモリ20に有効データが無いことが検出されたならば、MPU19は、ロードステータスビットをリードして(ステップS606)、ヘッド12がランプ機構23に退避されているアンロード状態であるか否かを判別する(ステップS607)。
ヘッド12がアンロード状態ではないならば、つまりヘッド12がディスク媒体11上に存在するならば(ステップS607のN0)、MPU19は、HDC18に、リードコマンドで指定されたデータをディスク媒体11から読み出すリード動作を実行させる(ステップS608)。ディスク媒体11から読み出されたデータはキャッシュメモリ20に格納される。これにより、キャッシュメモリ20に有効データを格納することができる。ステップS608においては、通常は、リードコマンドで指定されたデータのみならず、そのデータに後続するデータもディスク媒体11から読み出され、そのリードデータがキャッシュメモリ20に格納される。これにより、ホスト装置2によって要求される可能性の高いデータをキャッシュメモリ20に格納しておくことができる。
ヘッド12がアンロード状態であるならば(ステップ607のYES)、MPU19は、リード制御処理をエラー処理によって中止するために、データ転送終了処理を行う(ステップS611)。データ転送終了処理においては、転送処理のエラー終了をコマンドコントロールレジスタ群200を介してホスト装置2に通知する処理等が実行される。
なお、以上の説明では、ディスク媒体11から読み出されたリードデータをキャッシュメモリ20を介してホスト装置2に転送する場合を説明したが、ディスク媒体11にヘッド12がロードされている状態においては、ディスク媒体11から読み出されたリードデータをホスト装置2に転送する動作と、リードデータをキャッシュメモリ20に書き込む動作とを並行して実行してもよい。
また、落下衝撃等によってスピンドルモータ(SPM)13が故障するのを未然に防止するために、ステップS601においては、アンロード動作のみならず、ディスク媒体11の回転を停止する処理を実行することが好ましい。
また、割り込み信号に応答してロードコントロールビットをリードする代わりに、リード制御処理中に、MPU19が、定期的にロードコントロールビットをリードするポーリング処理を実行してもよい。
以上のように、本実施形態によれば、リード/ライト処理を継続しながらホスト装置2からの制御でアンロード動作を実行することが可能となる。また、MPU19は、リード/ライト処理中に、割り込み信号の発生に応答してまたはポーリングによってロード/アンロード制御レジスタ201をリードすることにより、ホスト装置2によってアンロードコマンドがロード/アンロード制御レジスタ201に書き込まれたか否かを判別しているので、リード/ライト処理中であっても、即座にアンロード動作を実行することができる。
なお、ディスクドライブ装置1がアンロード動作の実行時にスピンドルモータ(SPM)13の回転を停止する構成である場合には、ホスト装置2は、アンロードコマンドをディスクドライブ装置1の低消費電力を図るために利用することができる。また、スピンドルモータ(SPM)13の回転を停止するのではなく、アンロード動作の実行時にスピンドルモータ(SPM)13の回転数を下げ、ロード動作実行時にスピンドルモータ(SPM)13の回転数を元の速度に上げるように制御してもよい。
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1…ディスクドライブ装置、2…ホスト装置、11…ディスク媒体、12…ヘッド、18…HDC、19…MPU、20…キャッシュメモリ、23…ランプ機構、182…リード/ライト処理部、201…ロードコントロールレジスタ、315…センサ、316…I/Oコントローラ。
Claims (12)
- ディスク媒体へのデータの書き込みおよび前記ディスク媒体からのデータの読み出しを行うためのヘッドと、
ホスト装置によってアクセス可能に構成され、前記ホスト装置から送信される各種コマンドを格納するレジスタと、
前記ホスト装置によって前記レジスタに書き込まれるリード/ライトコマンドに従って、前記ヘッドを制御して前記ホスト装置から送信されるライトデータを前記ディスク媒体に書き込むライト動作、または前記ヘッドを制御して前記ディスク媒体からデータを読み出すリード動作を含むリード/ライト制御処理を実行するリード/ライト処理部と、
前記ホスト装置から送信されるライトデータおよび前記ディスク媒体から読み出されるリードデータを格納するキャッシュメモリと、
前記リード/ライト制御動作の実行期間中に前記ホスト装置によって前記レジスタにアンロードコマンドが書き込まれた場合、前記ヘッドを前記ディスク媒体よりも外側の所定の退避位置に退避するアンロード動作を実行し、且つ前記リード/ライト制御処理を継続して実行するために、前記リード/ライトコマンドに従って前記キャッシュメモリと前記ホスト装置との間のデータ転送を制御する制御手段とを具備することを特徴とするディスクドライブ装置。 - 前記制御手段は、前記リード/ライト制御動作の実行期間中に、前記レジスタをリードして前記ホスト装置によって前記レジスタにアンロードコマンドが書き込まれたか否かを判別する処理を実行する手段を含むことを特徴とする請求項1記載のディスクドライブ装置。
- 前記制御手段は、前記ヘッドが前記所定の退避位置に退避されている状態でロードコマンドが前記ホスト装置によって前記レジスタに書き込まれた場合、前記ヘッドを前記ディスク媒体上にロードするロード動作を実行し、且つ前記リード/ライト処理部に前記リード動作またはライト動作を実行させる手段を含むことを特徴とする請求項1記載のディスクドライブ装置。
- 前記リード/ライトコマンドはライトコマンドであり、
前記制御手段は、
前記ヘッドが前記退避位置に退避されている状態でロードコマンドが前記ホスト装置によって前記レジスタに書き込まれた場合、前記ヘッドを前記ディスク媒体上にロードするロード動作を実行し、且つ前記リード/ライト処理部に前記ライト動作を実行させる手段と、
前記ヘッドが前記退避位置に退避されている状態で、前記キャッシュメモリに空き領域がなくなった場合、前記ロードコマンドが前記ホスト装置によって前記レジスタに書き込まれるまで、前記ホスト装置に前記ライトデータの送信を一時的に停止させる処理を実行する手段を含むことを特徴とする請求項1記載のディスクドライブ装置。 - 前記リード/ライトコマンドはリードコマンドであり、
前記制御手段は、
前記ヘッドが前記退避位置に退避されている状態でロードコマンドが前記ホスト装置によって前記レジスタに書き込まれた場合、前記ヘッドを前記ディスク媒体上にロードするロード動作を実行し、且つ前記リード/ライト処理部に前記リード動作を実行させる手段と、
前記ヘッドが前記退避位置に退避されている状態で、前記キャッシュメモリに前記リードコマンドで指定されたデータが存在しなくなった場合、前記ロードコマンドが前記ホスト装置によって前記レジスタに書き込まれるまで待機する手段を含むことを特徴とする請求項1記載のディスクドライブ装置。 - 前記制御手段は、前記アンロード動作を実行した後、前記ヘッドが前記退避位置に退避されていることを示す第1ステータスデータを前記レジスタに書き込む手段と、ロードコマンドが前記ホスト装置によって前記レジスタに書き込まれた場合、前記ヘッドを前記ディスク媒体上にロードするロード動作を実行し、且つ前記リード/ライト処理部に前記リード動作またはライト動作を実行させる手段と、前記ロード動作を実行した後、前記ヘッドが前記ディスク媒体上にロードされていることを示す第2ステータスデータを前記レジスタに書き込む手段とを含むことを特徴とする請求項1記載のディスクドライブ装置。
- 前記制御手段は、前記リード/ライト制御動作の実行期間中に前記ホスト装置によって前記レジスタに前記アンロードコマンドが書き込まれた場合、前記ディスク媒体の回転を停止する処理を実行する手段を含むことを特徴とする請求項1記載のディスクドライブ装置。
- 前記制御手段は、前記リード/ライト制御動作の実行期間中に前記ホスト装置によって前記レジスタに前記アンロードコマンドが書き込まれた場合、前記ディスク媒体の回転を停止する処理を実行する手段と、前記ヘッドが前記所定の退避位置に退避されている状態でロードコマンドが前記ホスト装置によって前記レジスタに書き込まれた場合、前記ディスク媒体の回転を再開する処理と、前記ヘッドを前記ディスク媒体上にロードするロード動作と、前記リード/ライト処理部に前記リード動作またはライト動作を実行させる処理とを実行する手段とを含むことを特徴とする請求項1記載のディスクドライブ装置。
- ディスクドライブ装置と前記ディスクドライブ装置を制御するホスト装置とを含む電子機器において、
前記ディスクドライブ装置は、ディスク媒体へのデータの書き込みおよび前記ディスク媒体からのデータの読み出しを行うためのヘッドと、前記ホスト装置によってアクセス可能に構成され、前記ホスト装置から送信される各種コマンドを格納するレジスタと、前記ホスト装置によって前記レジスタに書き込まれるリード/ライトコマンドに従って、前記ヘッドを制御して前記ホスト装置から送信されるライトデータを前記ディスク媒体に書き込むライト動作、または前記ヘッドを制御して前記ディスク媒体からデータを読み出すリード動作を含むリード/ライト制御処理を実行するリード/ライト処理部と、ホスト装置から送信されるライトデータおよび前記ディスク媒体から読み出されるリードデータを格納するキャッシュメモリと、前記リード/ライト制御動作の実行期間中に前記ホスト装置によって前記レジスタにアンロードコマンドが書き込まれた場合、前記ヘッドを前記ディスク媒体よりも外側の所定の退避位置に退避するアンロード動作を実行し、且つ前記リード/ライト制御処理を継続して実行するために、前記リード/ライトコマンドに従って前記キャッシュメモリと前記ホスト装置との間のデータ転送を制御する制御手段とを具備し、
前記ホスト装置は、振動を検知するセンサと、前記ディスクドライブ装置を制御して前記ディスクドライブ装置とのデータ転送を実行するI/Oコントローラであって、前記センサによって振動が検知された場合、前記アンロードコマンドを前記ディスクドライブ装置の前記レジスタに書き込むI/Oコントローラとを具備することを特徴とする電子機器。 - 前記制御手段は、前記ヘッドが前記退避位置に退避されている状態でロードコマンドが前記ホスト装置によって前記レジスタに書き込まれた場合、前記ヘッドを前記ディスク媒体上にロードするロード動作を実行し、且つ前記リード/ライト処理部に前記リード動作またはライト動作を実行させる手段を含み、
前記I/Oコントローラは、前記アンロードコマンドを前記レジスタに書き込んだ後、前記センサによって振動が所定時間検知されなかった場合、前記ロードコマンドを前記ディスクドライブ装置の前記レジスタに書き込むことを特徴とする請求項9記載の電子機器。 - ディスクドライブ装置の動作を制御する制御方法であって、前記ディスクドライブ装置は、ディスク媒体へのデータの書き込みおよび前記ディスク媒体からのデータの読み出しを行うためのヘッドと、ホスト装置によってアクセス可能に構成され、前記ホスト装置から送信される各種コマンドを格納するレジスタと、前記ホスト装置によって前記レジスタに書き込まれるリード/ライトコマンドに従って、前記ヘッドを制御して前記ホスト装置から送信されるライトデータを前記ディスク媒体に書き込むライト動作、または前記ヘッドを制御して前記ディスク媒体からデータを読み出すリード動作を含むリード/ライト制御処理を実行するリード/ライト処理部と、ホスト装置から送信されるライトデータおよび前記ディスク媒体から読み出されるリードデータを格納するキャッシュメモリとを含み、
前記リード/ライト制御動作の実行期間中に前記ホスト装置によって前記レジスタにアンロードコマンドが書き込まれた場合、前記ヘッドを前記ディスク媒体よりも外側の所定の退避位置に退避するアンロード動作を実行するステップと、
前記リード/ライト制御処理を継続して実行するために、前記リード/ライトコマンドに従って前記キャッシュメモリと前記ホスト装置との間のデータ転送を制御するステップステップとを具備することを特徴とするディスク制御方法。 - 前記ヘッドが前記所定の退避位置に退避されている状態でロードコマンドが前記ホスト装置によって前記レジスタに書き込まれた場合、前記ヘッドを前記ディスク媒体上にロードするロード動作を実行し、且つ前記リード/ライト処理部に前記リード動作またはライト動作を実行させるステップをさらに具備することを特徴とする請求項11記載のディスク制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005176594A JP2006351118A (ja) | 2005-06-16 | 2005-06-16 | ディスクドライブ装置、電子機器およびディスク制御方法 |
US11/440,085 US7404034B2 (en) | 2005-06-16 | 2006-05-25 | Disk drive device, electronic apparatus and disk control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005176594A JP2006351118A (ja) | 2005-06-16 | 2005-06-16 | ディスクドライブ装置、電子機器およびディスク制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006351118A true JP2006351118A (ja) | 2006-12-28 |
Family
ID=37574710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005176594A Pending JP2006351118A (ja) | 2005-06-16 | 2005-06-16 | ディスクドライブ装置、電子機器およびディスク制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7404034B2 (ja) |
JP (1) | JP2006351118A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009140586A (ja) * | 2007-12-07 | 2009-06-25 | Toshiba Corp | 情報記録装置および情報記録装置の制御方法 |
JP2009181686A (ja) * | 2008-02-01 | 2009-08-13 | Denso Corp | 車載記憶装置破壊防止システム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5008955B2 (ja) * | 2006-11-28 | 2012-08-22 | 株式会社日立製作所 | 節電機能を備えたストレージシステム |
US9472222B2 (en) * | 2014-05-16 | 2016-10-18 | Western Digital Technologies, Inc. | Vibration mitigation for a data storage device |
US11288353B2 (en) * | 2017-07-13 | 2022-03-29 | Western Digital Technologies, Inc. | Data storage device with secure access based on motions of the data storage device |
CN109421041B (zh) * | 2017-08-21 | 2021-05-11 | 深圳市优必选科技有限公司 | 机器人运动控制方法、机器人及具有存储功能的装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2679584B2 (ja) | 1993-08-11 | 1997-11-19 | 日本電気株式会社 | ディスク装置のヘッド退避装置 |
US5889629A (en) * | 1996-06-27 | 1999-03-30 | Western Digital Corporation | Method and apparatus for controlling disk drive head parking during power interruption |
JPH1125625A (ja) | 1997-06-27 | 1999-01-29 | Internatl Business Mach Corp <Ibm> | ディスクドライブ装置、ロード・アンロード装置及びその制御方法 |
JP4078010B2 (ja) | 2000-03-03 | 2008-04-23 | 株式会社日立グローバルストレージテクノロジーズ | 磁気ディスク装置及び情報記録方法 |
US6520013B1 (en) * | 2000-10-02 | 2003-02-18 | Apple Computer, Inc. | Method and apparatus for detecting free fall |
TWI245275B (en) * | 2002-12-03 | 2005-12-11 | Via Tech Inc | A storage with shockproof function and access process thereof |
JP3896098B2 (ja) * | 2003-06-27 | 2007-03-22 | 株式会社東芝 | ホログラム記録媒体およびその作製方法 |
JP2005050402A (ja) | 2003-07-30 | 2005-02-24 | Mega Chips Corp | ハードディスク装置 |
JP2005129172A (ja) * | 2003-10-24 | 2005-05-19 | Matsushita Electric Ind Co Ltd | ハードディスクドライブの衝撃保護装置 |
US7430452B2 (en) * | 2006-01-17 | 2008-09-30 | Lenovo (Singapore) Pte. Ltd. | Apparatus, system, and method for selectivity protecting a motion sensitive component in a computerized device |
-
2005
- 2005-06-16 JP JP2005176594A patent/JP2006351118A/ja active Pending
-
2006
- 2006-05-25 US US11/440,085 patent/US7404034B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009140586A (ja) * | 2007-12-07 | 2009-06-25 | Toshiba Corp | 情報記録装置および情報記録装置の制御方法 |
JP2009181686A (ja) * | 2008-02-01 | 2009-08-13 | Denso Corp | 車載記憶装置破壊防止システム |
Also Published As
Publication number | Publication date |
---|---|
US7404034B2 (en) | 2008-07-22 |
US20060288157A1 (en) | 2006-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4679943B2 (ja) | データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法 | |
JP2009020986A (ja) | ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法 | |
JP2006351118A (ja) | ディスクドライブ装置、電子機器およびディスク制御方法 | |
JP2007188624A (ja) | ハイブリッドハードディスクドライブの制御方法、記録媒体、及びハイブリッドハードディスクドライブ | |
JP2010049764A (ja) | 異なるサイズのデータ・セクタによるインターフェースをサポートするディスク・ドライブ装置及びそのデータ・ライト方法 | |
JP4630933B2 (ja) | ディスクコントローラ、ディスクドライブ装置、及びディスク制御方法 | |
JP4913578B2 (ja) | ハードディスクドライブのボイスコイルモータ駆動方法、これに適したヘッドアンロード装置および記録媒体 | |
JP2003167681A (ja) | ディスク記憶装置及び同装置に適用するデータ消去方法 | |
JP3887518B2 (ja) | ナビゲーションシステム | |
CN105304095B (zh) | 磁盘装置和执行写入指令的方法 | |
JP4858926B2 (ja) | 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置 | |
TWM298215U (en) | Storage device with power-cut protection function | |
JP2007122816A (ja) | 記憶装置、制御方法及びプログラム | |
CN115831158A (zh) | 磁盘装置 | |
JP4293948B2 (ja) | ディスク装置およびディスク装置の制御方法 | |
US20080010504A1 (en) | Method and apparatus for storing data in a disk drive with nonvolatile memory | |
JP2007317263A (ja) | シリアル・データ転送方法、そのシステム及びデータ記憶装置 | |
US20140068178A1 (en) | Write performance optimized format for a hybrid drive | |
JP2015135620A (ja) | 記憶装置、及びデータの記憶方法 | |
JP4819591B2 (ja) | ハードディスクドライブ及びハードディスクドライブの磁気ヘッド退避方法並びにハードディスクドライブの磁気ヘッドの退避を遂行するコンピュータプログラムを記録した記録媒体 | |
CN111724821A (zh) | 磁盘装置 | |
JP2009054209A (ja) | 不揮発性半導体メモリ装置を有するディスク・ドライブ装置及びそのディスク・ドライブ装置において不揮発性半導体メモリ装置にデータを格納する方法 | |
US20070297086A1 (en) | Hdd write control method and apparatus | |
US20100262847A1 (en) | Apparatus and methods of controlling a power management mode of a digital procesing device | |
JP2010140575A (ja) | ハードディスク装置及びハードディスク装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090325 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090512 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090929 |