(57)【要約】【課題】情報処理装置からＨＤＤ等のストレージ装置に対するデータ記録処理動作における消費電力及び所要時間の削減を実現できる技術を提供する。【解決手段】情報処理装置（ホスト）からストレージドライブ（ＳＤ）であるＨＤＤのディスクに対するデータ記録処理において、そのＤＭＡ転送を、ＳＤのメモリ上に用意したライトバッファ（ＷＢ）を境にパイプライン化し、この動作のためのコマンドをＳＤに追加した構成である。ＨＤＣ（コントローラ）は、情報処理装置のＣＰＵからのコマンドを解釈し、主記憶に対するＤＭＡリードを試みてＷＢに蓄積し、蓄積した一定量のデータを駆動部のディスクに一気に書き込む。直後、ＨＤＣは、ファイル管理情報をディスクのＦＡＴ領域に書き込んで、自発的にアクティブ状態からスタンバイ状態に遷移させることにより節電する。【選択図】図２
2008021290.tif 000002
【特許請求の範囲】
【請求項１】
コントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、モータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備え、ホストとなる情報処理装置に搭載もしくは接続されるストレージ装置であって、
前記情報処理装置から前記ストレージ装置に対し、記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第１のコマンドが発行及び送信され、
前記コントローラは、前記情報処理装置側からの前記第１のコマンドを解釈して、前記情報処理装置における前記アドレスのデータを、前記メモリ上に確保されるライトバッファに、第１の転送の処理によって蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第２の転送によって書き込みし、前記第２の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第１の状態にすることを特徴とするストレージ装置。
【請求項２】
請求項１記載のストレージ装置であって、
前記コントローラは、前記第２の転送によって前記ライトバッファ上の前記一定量のデータを前記記録媒体に対し書き込みすることが終了した時点で、当該データに関する第１の管理情報を、前記第１のコマンドに含まれる情報に基づき作成して、前記記録媒体の領域に書き込みすることを特徴とするストレージ装置。
【請求項３】
請求項２記載のストレージ装置であって、
前記コントローラは、前記記録媒体への前記第１の管理情報の書き込みが終了した時点で、前記駆動制御手段を通じて前記駆動ハードウェア部を制御することにより、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第１の状態から前記駆動ハードウェア部が停止する第２の状態へと遷移させることを特徴とするストレージ装置。
【請求項４】
請求項３記載のストレージ装置であって、
前記ストレージ装置の動作状態を前記第２の状態へ遷移させた後に、前記情報処理装置が前記記録及び転送対象のデータに対応する前記第１の管理情報の読み出しを試みると、
前記コントローラは、前記第１の管理情報に対応した、当該コントローラ内もしくは前記メモリの一部に保持している第２の管理情報を、前記情報処理装置へ応答することを特徴とするストレージ装置。
【請求項５】
コントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、前記記録媒体に対するモータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備え、ホストとなる情報処理装置に搭載もしくは接続されるストレージ装置であって、
前記情報処理装置から前記ストレージ装置に対し、記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第２のコマンドと、前記記録及び転送対象のデータとを、第１の転送の処理によって送信し、
前記コントローラは、前記情報処理装置側からの前記第２のコマンドを解釈し、前記記録及び転送対象のデータを受信して、前記メモリ上に確保されるライトバッファに蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第２の転送によって書き込みし、前記第２の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第１の状態にすることを特徴とするストレージ装置。
【請求項６】
請求項５記載のストレージ装置であって、
前記コントローラは、前記第２の転送によって前記ライトバッファ上の前記一定量のデータを前記記録媒体に対し書き込みすることが終了した時点で、当該データに関する第１の管理情報を、前記第２のコマンドに含まれる情報に基づき作成して、前記記録媒体の領域に書き込みすることを特徴とするストレージ装置。
【請求項７】
請求項６記載のストレージ装置であって、
前記コントローラは、前記記録媒体への前記第１の管理情報の書き込みが終了した時点で、前記駆動制御手段を通じて前記駆動ハードウェア部を制御することにより、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第１の状態から前記駆動ハードウェア部が停止する第２の状態へと遷移させることを特徴とするストレージ装置。
【請求項８】
請求項７記載のストレージ装置であって、
前記ストレージ装置の動作状態を前記第２の状態へ遷移させた後に、前記情報処理装置が前記記録及び転送対象のデータに対応する前記第１の管理情報の読み出しを試みると、
前記コントローラは、前記第１の管理情報に対応した、当該コントローラ内もしくは前記メモリの一部に保持している第２の管理情報を、前記情報処理装置へ応答することを特徴とするストレージ装置。
【請求項９】
ストレージコントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、モータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備え、ホストとなる情報処理装置に搭載もしくは接続されるストレージ装置における前記ストレージコントローラであって、
前記ストレージコントローラは、前記記録媒体に対する読み書きを含む動作のために、前記メモリ、前記信号処理手段、及び前記駆動制御手段を制御し、前記情報処理装置のプロセッサ及び主記憶装置と所定のインタフェースで接続され、
前記情報処理装置は、前記ストレージ装置に対し、記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第１のコマンドを発行及び送信し、
前記ストレージコントローラは、前記情報処理装置側からの前記第１のコマンドを解釈して、前記情報処理装置における前記アドレスのデータを、前記メモリ上に確保されるライトバッファに、第１の転送の処理によって蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第２の転送によって書き込みし、前記第２の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第１の状態にすることを特徴とするストレージコントローラ。
【請求項１０】
ストレージコントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、前記記録媒体に対するモータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備え、ホストとなる情報処理装置に搭載もしくは接続されるストレージ装置における前記ストレージコントローラであって、
前記ストレージコントローラは、前記記録媒体に対する読み書きを含む動作のために、前記メモリ、前記信号処理手段、及び前記駆動制御手段を制御し、前記情報処理装置のプロセッサ及び主記憶装置と所定のインタフェースで接続され、
前記情報処理装置は、前記ストレージ装置に対し、記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第２のコマンドと、前記記録及び転送対象のデータとを、第１の転送の処理によって送信し、
前記ストレージコントローラは、前記情報処理装置側からの前記第２のコマンドを解釈し、前記記録及び転送対象のデータを受信して、前記メモリ上に確保されるライトバッファに蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第２の転送によって書き込みし、前記第２の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第１の状態にすることを特徴とするストレージコントローラ。
【請求項１１】
ストレージコントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、モータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備えるストレージ装置と、少なくともプロセッサ及び主記憶装置とを備える情報処理装置であって、
前記プロセッサは、前記ストレージ装置に対するデータの記録のための転送の際、前記ストレージ装置に対し、前記記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第１のコマンドを発行及び送信し、
前記ストレージコントローラは、前記プロセッサ側からの前記第１のコマンドを解釈して、前記アドレスのデータを、前記メモリ上に確保されるライトバッファに、第１の転送の処理によって蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第２の転送によって書き込みし、前記第２の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第１の状態にすることを特徴とする情報処理装置。
【請求項１２】
ストレージコントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、前記記録媒体に対するモータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備えるストレージ装置と、少なくともプロセッサ及び主記憶装置とを備える情報処理装置であって、
前記プロセッサは、ストレージ装置に対するデータの記録のための転送の際、前記ストレージ装置に対し、前記記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第２のコマンドと、前記記録及び転送対象のデータとを、第１の転送の処理によって送信し、
前記ストレージコントローラは、前記プロセッサ側からの前記第２のコマンドを解釈し、前記記録及び転送対象のデータを受信して、前記メモリ上に確保されるライトバッファに蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第２の転送によって書き込みし、前記第２の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第１の状態にすることを特徴とする情報処理装置。
【請求項１３】
請求項１１または１２に記載の情報処理装置において、
無線を通じて送受信処理を行う無線送受信部を備え、前記無線送受信部の処理を通じて外部から受信ないしダウンロードするユーザデータを、前記主記憶装置に一旦格納しつつ、前記コマンドを用いて前記ストレージ装置へ記録する処理を行うことを特徴とする情報処理装置。
【請求項１４】
請求項１１または１２に記載の情報処理装置において、
無線を通じて放送を受信する放送受信部を備え、前記放送受信部の処理を通じて外部から受信するユーザデータを、前記主記憶装置に一旦格納しつつ、前記コマンドを用いて前記ストレージ装置へ記録する処理を行うことを特徴とする情報処理装置。
【請求項１５】
請求項１１または１２に記載の情報処理装置において、
カメラ及びマイクを備え、前記カメラ及びマイクを通じて外部から撮像及び録音により入力するユーザデータを、前記主記憶装置に一旦格納しつつ、前記コマンドを用いて前記ストレージ装置へ記録する処理を行うことを特徴とする情報処理装置。
【請求項１６】
請求項１１または１２に記載の情報処理装置において、
前記ストレージコントローラにおいて、前記ライトバッファから前記記録媒体に対する前記第２の転送による書き込みの途中に、前記プロセッサからデータの読み出しの指示を受けると、前記第２の転送による書き込みを中断し前記読み出しを優先して前記記録媒体から前記プロセッサに指示されたデータを読み出すことを特徴とする情報処理装置。
【請求項１７】
請求項１６記載の情報処理装置において、
前記ストレージコントローラにおいて、前記プロセッサに指示されたデータの読み出しが完了すると、前記中断した前記第２の転送による書き込みを再開し、前記再開した書き込みが完了すると、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働しない第２の状態にすることを特徴とする情報処理装置。
【請求項１８】
ストレージコントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、モータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備えるストレージ装置と、少なくともプロセッサ及び主記憶装置とを備える情報処理装置であって、
前記ストレージ装置は、
データの読み書きができる動作状態とデータの読み書きができない動作状態とを備え、
前記記録媒体に対するデータの記録のための転送の際、前記記録のデータを保持するライトバッファを前記メモリに確保し、前記データの記録のための転送で受信したデータを前記ライトバッファに保持し、前記データの記録のための転送が終了した時点で、当該データを前記ライトバッファから前記記録媒体に書き込むものであり、
前記データの記録のための転送に続き、新たなデータの読み出しの指示を受けると、前記記録媒体への書き込みを中断し、前記記録媒体から前記指示されたデータを読み出して前記新たなデータの読み出しのための転送を行い、
前記記録媒体からの読み出しが完了すると、前記中断していた前記記録媒体への書き込みを再開し、
前記再開した書き込みが完了すると、前記ストレージコントローラは、当該ストレージ装置を、前記データの読み書きができない状態に遷移させることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体に対する情報データ信号の書き込み及び読み出し（記録及び再生）が可能な、ハードディスクドライブ（ＨＤＤ）等のストレージドライブないしストレージデバイス（ストレージ装置）の技術に関する。特に、情報処理装置に搭載もしくは接続されるストレージ装置、及び当該ストレージ装置に対し情報データの読み書きを行う情報処理装置、並びにデータ読み書き制御や節電（省電力）制御などに関する。
【背景技術】
【０００２】
情報処理装置に接続もしくは搭載されるストレージ装置として、例えばＨＤＤや光ディスクドライブ（ＣＤドライブやＤＶＤドライブ）などが存在し、記録媒体（ディスク）に対してデータの記録及び再生の動作が可能となっている。これらドライブ（駆動装置）では、ディスクをモータ等により回転させ、ヘッドをディスク上のトラック等に位置合わせして、データ・信号の読み取りないし読み書きを行う。上記ドライブは、実際のデータの読み取りないし読み書きのために、事前にモータを始動し、ディスクの回転が安定しトラック上でヘッドの位置合わせに成功して初めて、データの読み取りないし書き込みが可能となる。また、上記ドライブは、読み取りないし書き込み後も、ディスクの回転と、場合によってはヘッドの位置合わせとを、継続する。すなわち、上記ドライブでは、読み取りないし書き込みの前後に、仕事が必要であった。この仕事は、電力と時間の積に対応付けられる。
【０００３】
実際、従来技術として例えば特開平６−２３６２４１号公報（特許文献１）記載のハードディスク装置では、記録媒体（ハードディスク）のデータについては読み出す度に揮発性のバッファＲＡＭからなるキャッシュメモリに蓄え、また、アクセス頻度の高いデータでキャッシュメモリに保持し続けたいデータについてはホストＣＰＵが不揮発性のフラッシュメモリから成るキャッシュメモリに書き込み保持していた。この構成で、ホストからのアクセスに対し、バッファＲＡＭ単体でキャッシュメモリを構成する場合に比べて、アクセス頻度の高いファイルを確実にキャッシュメモリに保持しているので、バッファＲＡＭの容量に左右されること無く、キャッシュヒット率を上げて転送性能を向上できていた。また、この構成で、読み出し時にハードディスク装置のモータを停止させる機会は増え、節電に寄与していた。上記はハードディスクのデータの読み出しの場合に有効な構成である。
【０００４】
一方、ＨＤＤへのデータの書き込みの場合を考えると、以下のような従来技術がある。情報処理装置にＨＤＤが搭載された構成において、例えば、放送中の音楽の録音や動画の録画、ネットワークからのダウンロードなどの動作（ユーザデータ記録処理）を行う場合が考えられる。この場合、総じて、ＨＤＤの記録媒体（ディスク）の読み書き速度であるメディア転送速度（Ｒ１：ＨＤＤ側転送速度）よりも、上記放送や動画データのビットレート、ダウンロード時の転送速度などのいずれの転送速度（Ｒ２：情報処理装置側転送速度）の方が低いことが多い（Ｒ１＞Ｒ２）。換言すれば、同じユーザデータ量の記録処理に際し、ＨＤＤ側のメディア転送時間（Ｔ１）よりも情報処理装置側のデータ転送時間（Ｔ２）の方が大きいことが多い（Ｔ１＜Ｔ２）。
【０００５】
そのため、情報処理装置からＨＤＤのディスクへのデータ書き込み処理において、ＨＤＤ側のメディア転送時間（Ｔ１）よりも大きい情報処理装置側の転送時間（Ｔ２）の方が、書き込みの開始から終了までの所要時間（Ｔ３）を決めていた。従って、従来の所要時間（Ｔ３）は長くなり、ＨＤＤで消費する電力量は、所要時間（Ｔ３）に比例して多くなっていた。そのため、例えば、情報処理装置のメモリをバッファとして書き込み対象のデータを一時的に蓄えて一定量が蓄えられた時点でＨＤＤに書き出すことにより、全体の転送速度を改善して書き込みの所要時間（Ｔ３）を短縮する手法が採られていた。
【０００６】
また、別の従来技術として、ＨＤＤにおいて、メモリの一部を、ヘッドのシーク等の何らかの待ちが発生した際の書き込みバッファとして利用しているものがある。
【特許文献１】特開平６−２３６２４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前記情報処理装置のメモリをバッファとして用いる手法では、ＨＤＤへのファイルの書き込み時に、情報処理装置のＣＰＵが当該ファイルを管理しているため、ＨＤＤ側は当該ファイルの書き込みがいつ終わるのか予測できない。そのため、ＨＤＤ側が、節電などのために、ＨＤＤが具備する動作モード（公知のアクティブ／スタンバイ状態など）を切り換えてモータ等を停止させることを考えた場合、そうしようにも勝手に動作モードを切り換えても問題が無いか等を判断できないため不可能である。
【０００８】
また、前述のようにＨＤＤ上に搭載されたメモリをリードキャッシュ（データ読み出し時のキャッシュメモリ）として用いることもあったが、録音や録画、ダウンロード時の書き込みの場合に対してあまり効果は無い。
【０００９】
また、前記ＨＤＤのメモリの一部を書き込みバッファとして利用する構成において、このバッファは、ＨＤＤのハードディスクコントローラ（ＨＤＣ）の管理下にあるもので、ＨＤＤの外部のＣＰＵ等に対しては公開されていない。仮に公開されていたとしても、このバッファは、１セクタ分５１２バイトの容量しかなく、複数のセクタにまたがる書き込みを想定したバッファの制御コマンドも無いため、その１セクタ単位のデータの書き込みしかできず、大きいサイズの書き込みデータ（例えば数百ｋバイトから数Ｍバイト単位の書き込みデータ）に対応できない。大きい量のデータを１セクタずつ書き込み処理すると、負荷が大きい。
【００１０】
データ書き込みの所要時間（Ｔ３）あるいはアクティブ状態の持続時間が大きければ、その分ＨＤＤでモータ等の動作によって消費する電力も大きくなる問題がある。
【００１１】
本発明は、以上のような問題に鑑みてなされたものであり、その目的は、情報処理装置からＨＤＤ等のストレージ装置に対するデータ（ユーザデータ）の記録（転送及び書き込み）の処理動作における消費電力及び所要時間の削減を実現できる技術を提供することにある。詳しくは、例えば、情報処理装置における音楽の録音や動画の録画、ネットワーク越しのファイルのダウンロードなどの際に当該データをストレージ装置の記録媒体に書き込みする処理に係わり、消費電力の低減、即ち節電型を実現できるストレージ装置の技術を提供することである。特に、大きいサイズのデータの書き込み処理や、情報処理装置における比較的に転送速度（処理速度）が低いデータを、それよりも転送速度（処理速度）が高いストレージ装置の記録媒体へ記録する処理において、有効に節電を実現できる技術を提供するものである。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明は、ＨＤＤ等のストレージドライブないしストレージデバイス（ストレージ装置）、ストレージ装置を搭載ないし接続する情報処理装置及び情報処理システム等の技術であって、以下に示す技術的手段を備えることを特徴とする。
【００１３】
従来技術では、ＨＤＤが主体的に自身の動作モードを切り換えることはできず、自発的な動作モードの切り換えによる節電はできなかったが、本発明では、ストレージ装置のメモリ上に設けたライトバッファを用いたデータ書き込みの動作と対応してストレージ装置のコントローラが主体的にストレージ装置の動作状態（モード）を切り替えて節電を行う構成としたものである。また、従来技術では、大きいサイズの書き込みデータに対応できなかったが、本発明では、ストレージ装置に確保したライトバッファに書き込みデータを一旦蓄積して一気に記録媒体に書き込むことで書き込み所要時間（Ｔ３）を短縮し節電を実現する手法を用いる。
【００１４】
本システムは、ホストとなる情報処理装置からストレージ装置の記録媒体に対しデータを記録（書き込み）する動作を行うシステムにおいて、ストレージ装置のメモリ上に設けるライトバッファの利用によって記録媒体へのデータ書き込みの転送（ＤＭＡ転送：ダイレクトメモリアクセス転送）を分離ないしパイプライン化した構成である。この構成として、情報処理装置からストレージ装置に対するデータ記録処理は、情報処理装置のメモリ（主記憶装置）からストレージ装置のライトバッファへのデータの第１の転送（ＤＭＡ転送）と、ストレージ装置のライトバッファから記録媒体へのデータの第２の転送（書き込み）とに分けられる。
【００１５】
本システムでは、ストレージ装置に対して新規に追加されたコマンド（ＤＭＡコマンド）の処理により上記制御を実現する。即ち、ストレージ装置のコントローラは、ホストからのコマンドを処理して第１及び第２の転送を制御する。ストレージ装置は、自身にとっての外部デバイスである情報処理装置内のメモリから第１の転送（ＤＭＡ転送）によって読み出したデータを、ライトバッファに格納する。そして、ライトバッファ上に所定量蓄積したデータを、第２の転送によって一気に記録媒体に書き込み処理するものである。
【００１６】
また、その制御動作に関連して、ストレージ装置の駆動ハードウェア部に関する節電（省電力）制御動作が行われる。即ち、上記第１の転送の動作の際には、ストレージ装置の動作状態を、駆動ハードウェア部が稼働する第１の状態（アクティブ状態）にする。従来の実質ホストＣＰＵ主体のストレージ装置の節電制御を、ストレージ装置側で自動的な節電制御動作として行わせる構成である。
【００１７】
また、転送制御におけるコマンドで指定する転送サイズは、情報処理装置側とストレージ装置側とにおける第１と第２の転送の速度（Ｒ１，Ｒ２）もしくは時間（Ｔ１，Ｔ２）の大小などに対応して決める。
【００１８】
本発明のストレージ装置は、例えば以下の構成である。本ストレージ装置は、装置全体及び各部を制御するコントローラ（ストレージコントローラ）と、コントローラが用いるメモリと、データが記録される記録媒体（ディスク等）と、コントローラにより制御され記録媒体に対する読み書き（記録及び再生）等の動作のための信号処理を行う信号処理手段（信号処理部）と、電力供給で動作し記録媒体に作用するモータ及びヘッドなどを含む駆動ハードウェア部と、コントローラにより制御され駆動ハードウェア部に対する駆動制御手段（駆動制御部）とを備える。本ストレージ装置は、ホストとなる情報処理装置に搭載もしくは接続される。情報処理装置は、少なくともプロセッサ（ＣＰＵ）及び主記憶装置（メモリ）を備える。本ストレージ装置は、例えばＨＤＤである。本ＨＤＤは、ＨＤＣ（ハードディスクコントローラ)、メモリ、及び上記のような駆動部などを備える。
【００１９】
また、本発明の情報処理装置は、本ストレージ装置を搭載もしくは接続するものであり、プロセッサ、主記憶装置、ストレージ装置との通信のためのブリッジ部ないしインタフェース部、入出力装置、並びに、ユーザデータ入出力手段などを備える。ユーザデータ入出力手段は、例えば、カメラやマイク、ディスプレイ等の入出力装置、ベアラ部（無線送受信部）、チューナ（放送受信部）、ネットワーク通信Ｉ/Ｆ部、及び上位のアプリケーション処理部などである。情報処理装置は、ユーザデータ入出力手段を通じてユーザデータを入出力し、例えば主記憶装置に対し格納する。
【００２０】
情報処理装置のプロセッサは、ストレージ装置に対するデータ（ユーザデータ）の記録（書き込み）のための転送の際、前記ストレージ装置に対し、記録及び転送対象のデータに係わる情報、即ちアドレス（データ格納位置）、転送サイズ、属性（ファイル名、ファイルのサイズ（ｓ１）など）を含む、第１のコマンド（ＤＭＡコマンド）を発行及び送信する。転送サイズの情報としては、特に、第１及び第２の転送の制御に係わるＤＭＡ転送サイズ（ｓ２）を用いる。
【００２１】
コントローラは、情報処理装置側からの第１のコマンドを解釈して、情報処理装置の主記憶装置などにおける前記アドレスのデータを、メモリ上に確保されるライトバッファに、第１の転送（ＤＭＡリード）の処理によって蓄積する。コントローラは、第１のコマンドで指定されたＤＭＡ転送サイズ（ｓ２）に対応した大きさのライトバッファ（ないしその一部領域）を確保する。そして、コントローラは、ライトバッファにＤＭＡ転送サイズ（ｓ２）に対応した一定量のデータが蓄積（充満）された時点で、当該一定量のデータを、信号処理手段及び駆動制御手段の制御を介して、記録媒体に対し第２の転送（書き込み）によって書き込みする。この第２の転送の際には、ストレージ装置の動作状態が第１の状態（アクティブ状態）になる。
【００２２】
また、コントローラは、第２の転送によってライトバッファ上の一定量のデータを記録媒体に対し書き込みすることが終了した時点で、当該データに関する第１の管理情報を、第１のコマンドに含まれる属性などの情報に基づき作成して、記録媒体の領域（ＦＡＴ領域）に書き込んで更新する。コントローラは、コマンド処理により、各転送及び書き込みの開始及び終了について把握している。
【００２３】
また、コントローラは、記録媒体への第１の管理情報の書き込みが終了した時点で、速やかに駆動制御手段に動作状態の切り換えを指示すること等により、駆動制御手段によって駆動ハードウェア部の動作を制御させる。これにより、当該ストレージ装置の動作状態を、前記第１の状態（アクティブ状態）から、駆動ハードウェア部が停止する第２の状態（スタンバイ状態）へと遷移させる。
【００２４】
また、ストレージ装置の動作状態を第２の状態へ遷移させた後に、情報処理装置が前記記録及び転送対象のデータに対応するストレージ装置側の第１の管理情報の読み出しをコマンドなどにより試みると、コントローラは、記録媒体の領域に書き込みされた第１の管理情報に対応した、当該コントローラ内もしくはメモリの一部に保持している第２の管理情報（一部情報）を、情報処理装置へ応答・送信する。情報処理装置は、第２の管理情報を用いて自身で保持している第３の管理情報（管理情報コピー）を更新する。上記ユーザデータ記録処理の全体において、所要時間（Ｔ３）が短縮されると共に、必要な消費電力が従来技術よりも低減されて節電が実現される。
【００２５】
また、上記第１のコマンドの動作では、情報処理装置からストレージ装置のライトバッファへのＤＭＡ転送によるものであるが、本発明の他の構成として、第２のコマンド（ＰＩＯコマンド）の動作として、情報処理装置からストレージ装置のライトバッファへのＰＩＯ（プロセッサ入出力）転送による構成とする。
【発明の効果】
【００２６】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明によれば、主な効果として、情報処理装置からＨＤＤ等のストレージ装置に対するデータの記録の処理動作における消費電力及び所要時間の削減を実現できる。特に、大きいサイズのデータの書き込み処理や、情報処理装置における比較的に転送速度（処理速度）が低いデータを、それよりも転送速度（処理速度）が高いストレージ装置の記録媒体へ記録する処理において、節電を実現できる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。図７，図８は、本発明の特徴を従来技術と対比してわかりやすく説明するために従来技術例を示すものである。
【００２８】
（実施の形態１）
図１〜図５を用いて実施の形態１を説明する。実施の形態１では、特徴として、新規に追加されたコマンド（例としてＤＭＡコマンドと名付ける）の処理によるＤＭＡ転送及び節電制御によるユーザデータ記録処理を実現する。図１は、システムの構成を示す。図２は、ＤＭＡコマンドの動作を示す。図３は、ＤＭＡコマンドの連続動作を示す。図４は、ファイル書き込みの前後のファイル管理テーブル（ＦＡＴ）を示す。図５は、ファイル削除の前後のＦＡＴを示す。
【００２９】
＜システム＞
図１において、システム及び装置の構成を説明する。本システム（情報処理システム３００）は、ホストとなる情報処理装置（第１の情報処理装置）１００にＳＤ（ストレージドライブ）２００が接続された構成である。また、本システム（３００）は、ＳＤ２００を内部に搭載した情報処理装置（第２の情報処理装置）としても捉えることができる。本例では前者のシステム（３００）について説明するが、後者の第２の情報処理装置の場合にも、特徴となる動作は同様である。
【００３０】
本例において、情報処理装置１００は、ユーザが使用する携帯電話機であり、ＳＤ２００は、ＨＤＤである。ＳＤ２００は、駆動ハードウェア部を有するものであり、ＨＤＤ以外にも、例えばＣＤドライブ、ＤＶＤドライブ、ＵＭＤ、ＭＤ等の装置でもよい。ＳＤ２００は、半導体メモリ、フラッシュメモリ、不揮発性メモリ、カードデバイスなどでは無い。
【００３１】
情報処理装置１００は、ＣＰＵ１１、主記憶（メモリ）１２、フラッシュメモリカード１３、ブリッジ（もしくはチップセット）１４、ベアラ部（ベアラチップ）１５、チューナ１６、カメラ及びマイク１７、ＬＣＤ（液晶ディスプレイ）及びスピーカ１８、キーバッド１９などを有する構成である。
【００３２】
情報処理装置１００は、ＣＰＵ１１に対し、ブリッジ１４を介して、主記憶１２、ベアラ部１５、チューナ１６、及び各種入出力装置などが接続されている。また、情報処理装置１００のＣＰＵ１１に対し、ブリッジ１４を介して、所定のインタフェース（例えばＡＴＡバス）で、ＳＤ２００のＨＤＣ２１が接続されている。本例において、ブリッジ１４は、ＣＰＵバスとＩＯバスと主記憶バスとを繋ぐノースブリッジであるが、ＨＤＤのＡＴＡバスを接続するコンパニオンチップないしバスアダプタや、単純なディスクリート部品のレベル変換チップでも構わない。
【００３３】
ＣＰＵ１１は、ＯＳや各種アプリケーション処理の他、ＳＤ２００に対してユーザデータ記録処理に係わるコマンドを発行することができる。
【００３４】
情報処理装置１００は、この構成で、携帯電話機としての通話機能の他、音楽や動画などの再生、録音、録画、コピー等が可能である。ベアラ部１５による通話やデータのダウンロード、チューナ１６による放送受信、カメラによる撮影、マイクによる録音、ＬＣＤへの画像表示、スピーカへの音声出力、キーパッドによる文字入力、フラッシュメモリカード１３に対するデータの読み書きなどが可能である。
【００３５】
情報処理装置１００（携帯電話機）は、例えば、チューナ１６で受信した地上デジタル放送のワンセグ放送を、主記憶１２に適宜バッファし、ＳＤ２００にファイルとして書き込む（記録する）動作によって、録画機能を実現している。また、情報処理装置１００では、主記憶１２に格納したデータを、他の記憶装置（例えばフラッシュメモリカード１３）に格納保存してもよい。本実施の形態で、上記地上デジタル放送のワンセグ放送のバンド幅は、最大３１２ｋｂｐｓであり、ＳＤ２００のディスク２６の書き込みヘッド（２８）におけるメディア転送速度（Ｒ１）である２４Ｍｂｐｓ（または３Ｍｂｐｓ）よりも低い。
【００３６】
また、情報処理装置（携帯電話機）１００は、ベアラ部１５で、携帯電話網経由でのファイルのダウンロードが可能であり、携帯電話網を介してコンテンツ配信サービスを受けることや、自宅のホームサーバに接続して動画や音声データをダウンロードすること等が可能である。このダウンロードでは、情報処理装置１００は、受信データを主記憶１２に一旦バッファし、ＳＤ２００にファイルとして書き込む動作によって、データ保存機能を実現している。本実施の形態で、上記ベアラ部１５の通信速度は、１４．４Ｍｂｐｓであり、ＳＤ２００におけるメディア転送速度（Ｒ１）よりも低い。即ち、条件として、前述した、Ｒ１＞Ｒ２、Ｔ１＜Ｔ２、となっている。
【００３７】
本実施の形態において、上記条件のため、上記録画やダウンロード等のいずれのユーザデータ入出力処理の場合も、ＳＤ２００にファイルとして書き込むデータは、一旦主記憶１２にバッファリングしている。主記憶１２等にバッファリングすることで受信データが一定量蓄積された時点で、ＳＤ２００側のメディア転送速度（Ｒ１）一杯にまとめてＳＤ２００側に書き込む（転送する）。これにより全体的な書き込みの所要時間（Ｔ３）の最短化を図る。
【００３８】
ＳＤ２００は、コントローラ（ＨＤＣ）２１、メモリ２２、信号処理部２４、駆動制御部２５、記録媒体（ディスク）２６、モータ（スピンドルモータ）２７、ヘッド２８などを有する構成である。メモリ２２内にはライトバッファ２３が確保される。
【００３９】
ＨＤＣ２１は、ＳＤ２００全体を制御するものであり、ＩＣ（半導体集積回路装置）として実装されている。ＨＤＣ２１は、従来のコマンドの処理に加え、新規に追加されたコマンドを処理する。メモリ２２には、ライトバッファ２３が確保され、ユーザデータ記録処理において使用される。主記憶１２やメモリ２２は、ＲＡＭ等の揮発性メモリである。なおフラッシュメモリカード１３は、主記憶１２に対しての副記憶装置などとして使用されるが、具備は必須ではない。
【００４０】
信号処理部２４は、ＨＤＣ２１により制御され、駆動制御部２５による駆動制御を通じてディスク２６に対し信号を読み書きする。信号処理部２４は、例えばＤＳＰ（デジタルシグナルプロセッサ）などによる回路である。信号処理部２４は、ＨＤＣ２１と一体的でもよい。駆動制御部２５は、ＨＤＣ２１及び信号処理部２４により制御され、モータ２７やヘッド２８等の駆動ハードウェア部の駆動を制御する。駆動制御部２５は、例えばＤＡＣ（デジタル／アナログコンバータ）を備えるパルス制御回路などによる回路である。駆動制御部２５による駆動制御に従い、モータ２７によりディスク２６が回転され、ディスク２６面に対してヘッド２８の移動及び位置合わせなどがなされ、信号処理部２４の処理に従い、ディスク２６面上の信号の読み書きがなされる。
【００４１】
ＨＤＣ２１は、自発的にＦＡＴを管理するので、常時、ＦＡＴの一部情報を持ち、また、情報処理装置１００は、ＳＤ２００側のＦＡＴ情報のコピーを持つ。
【００４２】
ライトバッファ２３は、メモリ２２の容量内における可変もしくは固定の容量である。ライトバッファ２３の容量は、例えば予め固定に設定されていてもよいし、あるいはコマンドでの転送サイズの指定などその都度の処理に応じて可変に割り当てられるようにしてもよい。
【００４３】
本実施の形態における、ＳＤ２００の状態（モード）の制御の例について説明する。本例では、アクティブ状態とスタンバイ状態との二種類の状態間で遷移させる。アクティブ状態では、ＳＤ２００のディスク２６に対する読み出し／書き込みの動作に対応して、モータ２７やヘッド２８等の電力必要部である駆動ハードウェア部が稼働する(例えば回転や移動など)。スタンバイ状態では、駆動ハードウェア部が稼働停止する。スタンバイ状態は、駆動ハードウェア部の停止、電力供給低減などにより、省電力状態などとも言い換えられる。いずれの状態でも、ＨＤＣ２１は活性状態である。なお、他の状態として、一般に、アイドル状態（駆動ハードウェア部が稼働で、ディスク２６に対する読み書きが無い状態）や、スリープ状態（駆動ハードウェア部が停止で、ＨＤＣ２１が不活性な状態）などを有し、これらと組み合わせて制御してもよい。
【００４４】
＜処理（１）＞
図２，図３に示すシーケンスを用いて、本実施の形態における、ＳＤ２００に対して新規に追加されたコマンド（ＤＭＡコマンド）を用いたユーザデータ記録処理の動作として、情報処理装置１００の主記憶１２からＳＤ２００のディスク２６へのデータ転送及び書き込みの第１の処理を説明する。なお図中、「ＷＢ」はライトバッファ２３に対応し、「駆動部」は、駆動制御部２５、駆動ハードウェア部（２７，２８）、及びディスク２６などに対応する。Ｓ２０１等は処理ステップを示す。図２の第１の処理は、情報処理装置１００−ＳＤ２００間で一度に転送処理させる単位となるＤＭＡ転送サイズ（ｓ２）に対応した１回の転送制御ないし動作（Ｕ１）でユーザデータの転送が完了する場合である。図３の第２の処理は、２回の転送制御（Ｕ１，Ｕ２）でユーザデータの転送が完了する場合である。
【００４５】
図２において、ユーザデータ記録処理における第１の処理を説明する。情報処理装置１００のＣＰＵ１１は、ＤＭＡコマンドで、アドレス（ＤＭＡ転送開始アドレス）、サイズ（ｓ２：ＤＭＡ転送サイズ）、属性（ファイル名やユーザデータ全体のサイズ（ｓ１）などを含む）などを指定・記述し、ＳＤ２００（ＨＤＣ２１）に対し発行・送信する（Ｓ２０１）。例としてＤＭＡ転送サイズ（ｓ２）は、データ単位のｎ個分とする。コマンドで指定するＤＭＡ転送サイズ（ｓ２）は、ＳＤ２００側の転送速度（Ｒ１）ないし時間（Ｔ１）に応じて決める。
【００４６】
ＣＰＵ１１側からのＤＭＡコマンドは、ＳＤ２００で受信され、ＨＤＣ２１で解釈される。ＨＤＣ２１は、メモリ２２上に、ライトバッファ２３を用意・確保する。ＨＤＣ２１は、ＤＭＡコマンドの受信に応じてそのＤＭＡ転送サイズ（ｓ２）の指定に応じた容量のライトバッファ２３を確保するか、もしくは予め所定の容量のライトバッファ２３を確保しておく。
【００４７】
ＨＤＣ２１は、受信したＤＭＡコマンドを解釈し、それにより、主記憶１２上の対象データ（ユーザデータ）をＤＭＡ転送によって読み出して、メモリ２２上に確保されたライトバッファ２３上に一旦格納する。即ち、ＨＤＣ２１は、主記憶１２に対してＤＭＡリードを要求し（「ＤＭＡ  Ｒｅａｄ」，Ｓ２０２）、１番目のデータ（ＤＡＴＡ＃１）から順にＤＭＡ転送を開始して、ライトバッファ２３に蓄積してゆく。そして、データ単位の連続的なＤＭＡ転送により、ｎ番目のデータ（ＤＡＴＡ＃ｎ）までの転送が終わって、ライトバッファ２３上の蓄積データ量が、当該ＤＭＡコマンドで指定されているＤＭＡ転送サイズ（Ｓ２）分に達する。
【００４８】
このＤＭＡ転送サイズ（ｓ２）分のＤＭＡ転送の処理を終えると、ＨＤＣ２１は、メモリ２２のライトバッファ２３上の当該データ（ＤＡＴＡ＃１〜＃ｎ）を、信号処理部２４及び駆動制御部２５の制御を通じて、一気にディスク２６に書き込む（Ｓ２０３）。このディスク２６への書き込み時において、駆動部はアクティブ状態（「ＡＣＴＩＶＥ」）である。
【００４９】
このディスク２６への書き込みが終わると、即ちｎ番目のデータ（ＤＡＴＡ＃ｎ）の書き込みが終わると、ＨＤＣ２１は、ＦＡＴ情報を更新し、ディスク２６のＦＡＴ領域に書き込む（「ＦＡＴ」，Ｓ２０４）。その後すぐに、ＨＤＣ２１は、駆動制御部２５にスタンバイ状態（「ＳＴＡＮＢＹ」）への遷移を命じる（「Ｓｔａｎｄ  Ｂｙ」，Ｓ２０６）。これにより駆動制御部２５が、ディスク２６に対するモータ２７やヘッド２８等の駆動ハードウェア部の稼働を停止（一時停止）させることで、アクティブ状態からスタンバイ状態へ遷移する。
【００５０】
また一方、ＨＤＣ２１は、上記ＦＡＴ領域の更新が済むと、直後、ＤＭＡコマンドに対するアクノリッジ（ＡＣＫ）をＣＰＵ１１に返す（Ｓ２０５）。ここで図２では、ＤＭＡコマンドにおけるＤＭＡ転送サイズ（ｓ２）分の１回目の処理（Ｓ２０２，Ｓ２０３）によって対象ユーザデータのファイルの転送が終了できた場合である。ＣＰＵ１１は、ＨＤＣ２１からＡＣＫを受信すると、ユーザデータの転送終了を通知し、データ転送が完了したこと（「ＥＮＤ」）をＨＤＣ２１側へ通知する（Ｓ２０７）。ＨＤＣ２１は、ＣＰＵ１１側からそのデータ転送完了通知を受けると、ＡＣＫを返す。
【００５１】
ＣＰＵ１１は、ＨＤＣ２１側からＡＣＫを受けると、ＣＰＵ１１が管理するファイル管理テーブル（ＦＡＴ情報コピー）の更新のために、ＨＤＣ２１が更新したＦＡＴ領域のデータ（ＦＡＴ情報）を読み出そうとする（「Ｒｅａｄ−ＦＡＴ−ｅｎｔｒｙ」，Ｓ２０８）。これに対し、ＨＤＣ２１は、ディスク２６の該当ＦＡＴ領域のデータ（ＦＡＴ情報）を読み出さずに、ＨＤＣ２１が管理しているＦＡＴの該当データ（ＦＡＴ一部情報）を、ＣＰＵ１１に返す（「Ｒｅｐｌｙ」）。ＣＰＵ１１は、返されたＦＡＴ一部情報により、ＦＡＴ情報コピーを更新する。以上で一連の処理が完了する。
【００５２】
なお、ＨＤＣ２１は、ＤＭＡコマンドの処理によってＦＡＴ情報を把握しているため、上記ＦＡＴ一部情報を返すことができる。これはディスク２６から読み出して返す場合よりも効率的である。上記ＦＡＴ一部情報は、ＨＤＣ２１内部メモリに格納・管理されている。あるいは、メモリ２２内の一部領域などに格納されてもよい。
【００５３】
以上の通り、ＣＰＵ１１は、ＳＤ２００に対して新規追加されたコマンド（ＤＭＡコマンド）と、ＦＡＴ（ＦＡＴ情報コピー）の更新のためのＳＤ２００のＦＡＴ領域の読み出しコマンド（「Ｒｅａｄ−ＦＡＴ−ｅｎｔｒｙ」）との２つのコマンドを用いることにより、主記憶１２上の例えば動画ファイル等のデータを、ＳＤ２００のディスク２６に書き出して保存することができる。そして、この処理において、ＳＤ２００の駆動部は、ライトバッファ２３からディスク２６へのデータの書き込み処理の時のみ、アクティブ状態となる。
【００５４】
＜処理（２）＞
次に、図３において、ユーザデータ記録処理における第２の処理を説明する。前記図２の第１の処理の場合では、ＤＭＡ転送サイズ（ｓ２）分の１番目からｎ番目までのデータ（ＤＡＴＡ＃１〜＃ｎ）の書き込み（１回目の転送制御：Ｕ１）によって対象ユーザデータの転送及び書き込みが終了したが、図３の第２の処理の場合では、その１回目の転送制御（Ｕ１）だけでは終了しないため処理を続行して複数回例えば２回目の転送制御（Ｕ２）まで実行することで終了する場合である。１回目の転送制御（Ｕ１）の処理（Ｓ３０１〜Ｓ３０６）は、図２で示した処理と同様である。
【００５５】
１回目の転送制御（Ｕ１）でｎ番目のデータ（ＤＡＴＡ#ｎ）までのディスク２６への書き込み後（Ｓ３０３）、ＨＤＣ２１は、ＦＡＴ領域を更新（Ｓ３０４）した直後、ＤＭＡコマンドに対するＡＣＫをＣＰＵ１１に返し（Ｓ３０５）、また駆動ハードウェア部をスタンバイ状態へ遷移させる（Ｓ３０６）。ＣＰＵ１１は、ＨＤＣ２１側からＡＣＫを受信すると、対象ユーザデータの転送が終了していないこと、ないしは続きのデータであるｎ＋１番目以後のデータ（ＤＡＴＡ＃ｎ＋１〜）のＤＭＡリードを、ＨＤＣ２１に指示する（Ｓ３１１）。ここでは、このことを、コマンド「Ｃｏｎｔｉｎｕｅ」を用いて指示している。
【００５６】
ＨＤＣ２１は、受信したコマンド（「Ｃｏｎｔｉｎｕｅ」）を解釈し、それにより１回目の転送制御（Ｕ１）の場合と同様に、主記憶１２に対してＤＭＡリードを要求し（Ｓ３１２）、ｎ＋１番目のデータ（ＤＡＴＡ＃ｎ＋１）からＤＭＡ転送を開始してメモリ２２のライトバッファ２３に蓄積してゆく。ＤＭＡ転送サイズ（ｓ２）分の２ｎ番目のデータ（ＤＡＴＡ＃２ｎ）まで転送が終わってライトバッファ２３上の蓄積データ量がＤＭＡ転送サイズ（ｓ２）分に達すると、ＨＤＣ２１は、メモリ２２上のライトバッファ２３の当該データ（ＤＡＴＡ＃ｎ＋１〜＃２ｎ）を、一気にディスク２６に書き込む（Ｓ３１３）。そして、２ｎ番目のデータ（ＤＡＴＡ＃２ｎ）の書き込みが終わると、ＨＤＣ２１は、管理しているＦＡＴ情報を更新してディスク２６のＦＡＴ領域に書き込む（Ｓ３１４）。その後すぐに、ＨＤＣ２１は、駆動制御部２５にスタンバイ状態への遷移を命じ、駆動ハードウェア部を停止させる（Ｓ３１６）。
【００５７】
また一方、ＨＤＣ２１は、上記ＦＡＴ領域の更新が済むと、直後、ＤＭＡコマンドに対するＡＣＫをＣＰＵ１１に返す（Ｓ３１５）。ここで図３では、ＤＭＡコマンドにおけるＤＭＡ転送サイズ（ｓ２）分の２回目の処理（Ｓ３１２，Ｓ３１３）によって対象ユーザデータのファイルの転送が終了できた場合である。即ち、対象ユーザデータのファイル全体のサイズ（ｓ１）が、１番目から２ｎ（もしくはｎ＋１以上２ｎ未満）番目のデータ単位分の場合である。ＣＰＵ１１は、ＨＤＣ２１からＡＣＫを受信すると、ユーザデータの転送終了を通知し、データ転送が完了したこと（「ＥＮＤ」）をＨＤＣ２１側へ通知する（Ｓ３２１）。ＨＤＣ２１は、ＣＰＵ１１側からそのデータ転送完了通知を受けると、ＡＣＫを返す。
【００５８】
ＣＰＵ１１は、ＨＤＣ２１側からＡＣＫを受けると、ＣＰＵ１１が管理するＦＡＴ情報コピーの更新のために、ＨＤＣ２１側で更新されたＦＡＴ情報を読み出そうとする（「Ｒｅａｄ−ＦＡＴ−ｅｎｔｒｙ」，Ｓ３２２）。これに対し、ＨＤＣ２１は、ディスク２６の該当ＦＡＴ情報を読み出さずに、ＨＤＣ２１が管理している該当ＦＡＴ一部情報を、ＣＰＵ１１に返す（「Ｒｅｐｌｙ」）。
【００５９】
上記一連の動作で、ＳＤ２００のディスク２６は、１回目の転送制御（Ｕ１）における１番目のデータ（ＤＡＴＡ＃１）の書き込み開始（Ｓ３０３）からスタンバイ状態への遷移（Ｓ３０６）までの期間と、２回目の転送制御（Ｕ１）におけるｎ＋１番目のデータ（ＤＡＴＡ＃ｎ＋１）の書き込み開始（Ｓ３１３）からスタンバイ状態への遷移（Ｓ３１６）までの期間とでは、ＳＤ２００はアクティブ状態であり、駆動ハードウェア部が稼働、例えばモータ２７が回転している。また、１回目の転送制御（Ｕ１）におけるスタンバイ状態への遷移（Ｓ３０６）後から次の２回目の転送制御（Ｕ２）におけるｎ＋１番目のデータ（ＤＡＴＡ＃ｎ＋１）の書き込み開始（Ｓ３１６）までの期間と、２回目の転送制御（Ｕ２）におけるスタンバイ状態への遷移（Ｓ３１６）後の期間とでは、ＳＤ２００はスタンバイ状態である。この間、ＣＰＵ１１および主記憶１２と、ＨＤＣ２１及びメモリ２２との間でＤＭＡリードの処理は行われているが、ＳＤ２００側はスタンバイ状態によって節電している。
【００６０】
なお、Ｓ３１１のコマンド「Ｃｏｎｔｉｎｕｅ」では、次の転送制御（Ｕ２）におけるＤＭＡ転送サイズ（ｓ２）を指定する。即ち、対象ユーザデータのファイル全体のサイズ（ｓ１）分の転送が完了する最後の回（本例では２回目）の転送制御（Ｕ２）では、データ余り分に対応して、当初（１回目）指定のｎよりも小さい値を指定して転送を実行する。ＤＭＡ転送サイズ（ｓ２）の指定無しの場合には当初の転送制御（Ｕ１）での指定を引き継ぐ形として処理してもよい。
【００６１】
上記は、３回以上の転送制御が必要となる場合も同様である。即ち、ＤＭＡ転送サイズ（ｓ２）をｎとして１回目からの転送制御を繰り返し実行し、最後の回でＤＭＡ転送サイズ（ｓ２）をｎ以下として転送制御を実行して、ユーザデータの記録処理を完了する。
【００６２】
＜ＦＡＴ＞
図４，図５を用いて、ＣＰＵ１１およびＨＤＣ２１によるＦＡＴの管理、ＦＡＴの整合性の維持などについて説明する。図４は、ファイル書き込みの前後のＦＡＴの状態例を示す。図５は、ファイル削除の前後のＦＡＴの状態例を示す。
【００６３】
図４（ａ）において、ＦＡＴは、ＳＤ２００のディスク２６を、最小記録単位であるセクタではなく、連続する複数のセクタを記録単位とするクラスタで管理する。図４（ａ）のＦＡＴにおいて、ファイル名で示すデータファイルは、ファイル名が指し示す先頭クラスタを先頭に、占有数分の連続するクラスタに書き込まれている。一見して、例えばファイル名が“ｃ１．ｄａｔ”のデータファイルは、クラスタ‘００００’を頭に合計５クラスタを占有していると分かる。図４（ａ）のＦＡＴには、“ｃ１．ｄａｔ”，“ｃ２．ｄａｔ”，“ｃ３．ｄａｔ”の３ファイルがあり、ｎｕｌｌファイルが指し示す先頭クラスタ‘０００ｆ’以後のクラスタが、ディスク２６の未使用領域である。
【００６４】
ＨＤＣ２１は、ＤＭＡコマンドに従ってＤＭＡリードしたデータをディスク２６に書き込む際、ｎｕｌｌファイルが指し示すクラスタ以後の連続するクラスタに対し当該データを書き込み、その書き込みが終了すると自身が管理しているＦＡＴ（ＦＡＴ一部情報）を更新し、これによりディスク２６のＦＡＴ領域（ＦＡＴ情報）を更新する。
【００６５】
例えば図４（ａ）の状態から、図４（ｂ）のように、新たな“ｃ４．ｄａｔ”の書き込みを行う場合、ＨＤＣ２１は、ｎｕｌｌファイルが指し示す先頭クラスタ‘０００ｆ’から順に当該ファイルのデータの書き込みを行い、その書き込みが終了した時点で、ｎｕｌｌファイルが指し示す先頭クラスタを更新する。
【００６６】
図４（ｃ）の通り、“ｃ４.ｄａｔ”書き込み後のＦＡＴには、ファイル名“ｃ４.ｄａｔ”が追加され、先頭クラスタが‘０００ｆ’で６クラスタ占有していると分かる。また、ｎｕｌｌファイルが指し示す未使用領域は、先頭クラスタ‘００１５’を指し示すように更新されている。
【００６７】
次に、図５において、ファイルを削除した時のｎｕｌｌファイルの扱いについて説明する。前記図４（ｃ）と同様の状態の図５（ａ）のＦＡＴにおいて、例えば、図５（ｂ）のように、クラスタ‘０００ｂ’〜‘０００ｅ’の４つのクラスタを占有していた“ｃ３．ｄａｔ”が削除される場合、ＦＡＴの“ｃ３.ｄａｔ”が占有していたエントリは、図５（ｃ）のように、ファイル名がｎｕｌｌになる。
【００６８】
この削除の後、ＣＰＵ１１が、占有クラスタ数が４以下のファイルを書き込む場合に、上記“ｃ３.ｄａｔ”が占有していたクラスタが再利用される。また、ＣＰＵ１１が、占有クラスタ数が５以上のファイルを書き込む場合に、上記再利用は行わずに、先頭クラスタ‘００１５’以後の連続するクラスタに書き込む。
【００６９】
上記のようにＳＤ２００のＨＤＣ２１がＦＡＴ情報を管理し、情報処理装置１００のＣＰＵ１１側も、ＳＤ２００（ＨＤＣ２１）側のＦＡＴ情報（ＦＡＴ一部情報）を読み出すことによりＦＡＴ情報（ＦＡＴ情報コピー）を管理する。
【００７０】
＜従来技術との対比＞
前記図２，図３，図６を用いてＳＤ２００に対して新規追加されたコマンド（ＤＭＡコマンド）の動作を説明したが、ＳＤ２００がアクティブ状態となる期間を、図２等に示す実施の形態１の動作の場合と、図７に示す従来技術で動作させた場合とで比較して説明する。図７は、従来のＤＭＡコマンドの第１の動作例を示す。図８は、従来のＤＭＡコマンドの第２の動作例を示す。従来技術のシステムでは、ＳＤ（ＨＤＤ）にライトバッファは設けていない。
【００７１】
図７において、情報処理装置のＣＰＵは、ＳＤ（ＨＤＤ）に対して在来のＤＭＡ転送による主記憶からＳＤのディスクへのＤＭＡ転送を、「ＷＲＩＴＥ  ＤＭＡ」コマンドによって指示する（Ｓ７０１）。ＳＤのＨＤＣは、受信した「ＷＲＩＴＥ  ＤＭＡ」コマンドを解釈し、情報処理装置の主記憶にＤＭＡリードを試みる（Ｓ７０２）。ＨＤＣは、主記憶から１番目のデータ（ＤＡＴＡ＃１）を受信すると、メモリ上に蓄えることなくディスクに書き込む（Ｓ７０３）。そして、以後ｎ番目のデータ（ＤＡＴＡ＃ｎ）まで同様の動作を繰り返す。なお、ここでのメモリとは、従来のＳＤ（ＨＤＤ）がローカルに持っていたメモリであり、従来リードバッファとして用いられることはあったが、ライトバッファとしては用いられていない。
【００７２】
ＨＤＣは、ディスクにｎ番目のデータ（ＤＡＴＡ＃ｎ）を書き込み終えると、ＣＰＵに対してＡＣＫを返す（Ｓ７０４）。ＡＣＫを受信したＣＰＵは、ＳＤのディスクのＦＡＴ領域のデータ（ＦＡＴ情報）を、「ＰＩＯ  ＷＲＩＴＥ」コマンド及びＦＡＴ情報の送信によって書き換え、これによりファイル管理情報（ＦＡＴ情報）を更新する（Ｓ７０５）。ここでは、「ＰＩＯ  ＷＲＩＴＥ」コマンドに続けて更新ＦＡＴ情報（「ＦＡＴ」）を転送することにより更新している。
【００７３】
上記ＦＡＴ領域の書き換え（更新）が完了すると、ＨＤＣは、ＣＰＵにＡＣＫを返す（Ｓ７０６）。ここで、上記ＰＩＯ転送処理（Ｓ７０３）によって対象ユーザデータの転送が終了している場合とする。ＣＰＵは、ＡＣＫを受信すると、この後、ＳＤのディスクを読み書きするタスクが無いので、スタンバイ状態への遷移を命じるための「Ｓｔａｎｄ  Ｂｙ」コマンドをＳＤに送信し、ＳＤは、それに従ってアクティブ状態からスタンドバイ状態に遷移する。
【００７４】
図７と図２の右端の駆動部において、いずれも、１番目のデータ（ＤＡＴＡ＃１）の書き込みからスタンバイ状態を指示されるまでの期間では、駆動ハードウェア部のモータ等が回転しているアクティブ状態にある。このアクティブ状態の期間は、図７の場合では、主記憶ないしＣＰＵとＳＤとの間のターンアラウンドタイム（ｔ１で示す）に依存している。なおここで、ターンアラウンドタイムは、コマンドを出してからＡＣＫが返ってくるまでの時間である。
【００７５】
一方、アクティブ状態の期間は、図２の場合では、ＳＤ２００のＨＤＣ２１の処理時間（Ｔ２）、特にライトバッファ２３からディスク２６への書き込み処理（Ｓ２０３，Ｓ２０４）の速度及び時間、に依存している。図７と図２とを比較すると、図２の方が、アクティブ状態の期間が短いことがわかる。電力量は動作時の電力と動作時間の積であるから、アクティブ状態の期間が短いと自ずと消費電力量は少なくなる。そのため、図２の本実施の形態における新規追加のＤＭＡコマンドで動作させたＳＤ２００の方が、図７の従来技術で動作させたＳＤ（ＨＤＤ）よりも消費電力量が少なくなり、また消費電力量を時間平均して算出する平均消費電力も低くなる。
【００７６】
また、図８において、消費電力の低減に関しては、「ＷＲＩＴＥ  ＤＭＡ」コマンドを連発した場合（対象ユーザデータのサイズが大きく複数回の転送制御を要する場合）に顕著に現れる。従来技術による図８に示す「ＷＲＩＴＥ  ＤＭＡ」コマンドの連発（例えば２回）による動作に対して、本実施の形態での実現例が図３に示す複数回（２回）の転送制御（Ｕ１，Ｕ２）による動作である。
【００７７】
図８の従来技術の動作では、ＣＰＵによる、ｎ番目のデータ（ＤＡＴＡ＃ｎ）の書き込み後から、ｎ＋１番目のデータ（ＤＡＴＡ＃ｎ＋１）の書き込みまでの間、ＳＤはアクティブ状態を保っている。この間、ＣＰＵは、ＡＣＫ（Ｓ８０４）を受信した後、「ＷＲＩＴＥ  ＤＭＡ」コマンドを送信し（Ｓ８１１）、それを受信したＨＤＣは、主記憶にＤＭＡリードを試みる。この間、ＣＰＵは、ＳＤに対してスタンバイ状態に遷移するよう指示することは無い。また、ＨＤＣは、次にＣＰＵから指示されるコマンドが予測できないので、駆動部に対しスタンバイ状態への遷移を指示するようなことは不可能である。結果、この期間、ＳＤの駆動部のモータ等は停止することなくアクティブ状態を維持し続ける。
【００７８】
一方、図３の本実施の形態のＳＤ２００の動作の場合、ＤＭＡコマンドの動作により、図８の従来技術の動作の場合と比較して、ＳＤがアクティブ状態にある期間は短くなり、消費電力量及び平均消費電力が低くなる。
【００７９】
以上、本実施の形態１のシステムは、ＳＤ２００のメモリ２２の一部をライトバッファ２３として利用し、情報処理装置１００の主記憶１２上のデータをＳＤ２００のディスク２６へ書き込む処理（ユーザデータ記録処理）におけるＤＭＡ転送をパイプライン化した構成である。即ち、主記憶１２−ライトバッファ２３間の第１の転送（ＤＭＡリード）と、ライトバッファ２３−ディスク２６間の第２の転送（書き込み）とに分離した構成である。これによって、ディスク２６への書き込み所要時間を最短化でき、第２の転送時のみＳＤ２００がアクティブ状態になることで書き込み時の仕事量／電力量を低減でき、結果、ＳＤ２００の平均消費電力を低減できる。
【００８０】
（実施の形態２）
次に、図６を用いて実施の形態２を説明する。実施の形態２では、特徴として、新規に追加されたコマンド（例としてＰＩＯコマンドと名付ける）の処理によるＰＩＯ転送及び節電制御によるユーザデータ記録処理を実現する。図６は、ＰＩＯコマンドの動作を示す。実施の形態２のシステム構成は、実施の形態１と同様であり、制御動作などが異なる。
【００８１】
前記実施の形態１のＳＤ２００に追加されたコマンド（ＤＭＡコマンド）では、主記憶１２とメモリ２２上のライトバッファ２３との間でのＤＭＡ転送を試みるものである。一方、実施の形態２における図６の構成及び処理では、新規追加されたＰＩＯコマンドを用いて、前記図２の主記憶１２−ライトバッファ２３間のＤＭＡ転送の制御動作を、ＣＰＵ１１からライトバッファ２３へのＰＩＯ転送の制御動作に置き換えているものである。
【００８２】
図６において、ユーザデータ記録処理を説明する。情報処理装置１００のＣＰＵ１１は、ＰＩＯコマンドで、アドレス（ＰＩＯ転送開始アドレス）、サイズ（ｓ３：ＰＩＯ転送サイズ）、属性（ファイル名やユーザデータ全体のサイズ（ｓ１）などを含む）などを指定・記述し、ＳＤ２００に対し発行・送信する（Ｓ６０１）。例としてＰＩＯ転送サイズ（ｓ３）は、データ単位のｎ個分とする。なおＰＩＯコマンドと記録対象データの送信は、コマンドとデータに分けて続けて送信する形でもよいし、コマンド内にデータを格納する形での送信でもよい。
【００８３】
ＨＤＣ２１は、ＣＰＵ１１側から受信したＰＩＯコマンドを解釈し、メモリ２２上にライトバッファ２３を用意・確保する。この後、ＣＰＵ１１からＨＤＣ２１のライトバッファ２３に対して、ＰＩＯコマンドでの転送サイズ（ｓ３）などの指定に従って、まず１番目のデータ（ＤＡＴＡ＃１）が送信され、続いて順次ｎ番目のデータ（ＤＡＴＡ＃ｎ）までが送信される。そして、ＰＩＯ転送サイズ（ｓ３）分のｎ番目のデータ（ＤＡＴＡ＃ｎ）までの転送が終わると、ＣＰＵ１１は、ＨＤＣ２１に対して、ＡＴＡで規定されている「ＦＬＵＳＨ  ＣＡＣＨＥ」コマンドを送信する（Ｓ６０２）。このコマンドは、蓄積したデータ（ＤＡＴＡ＃１〜＃ｎ）を一度に書き込み処理させるものである。
【００８４】
このコマンドを受信したＳＤ２００のＨＤＣ２１は、メモリ２２のライトバッファ２３上の該当データ（ＤＡＴＡ＃１〜＃ｎ）を、信号処理部２４及び駆動制御部２５の制御を通じて、一気にディスク２６に書き込む（Ｓ６０３）。ディスク２６への書き込み時においては、駆動部はアクティブ状態（「ＡＣＴＩＶＥ」）である。このｎ番目のデータ（ＤＡＴＡ＃ｎ）の書き込みが終わると、ＨＤＣ２１は、ＦＡＴの情報（ＦＡＴ一部情報）を更新し、ディスク２６のＦＡＴ領域に書き込む（Ｓ６０４）。その後すぐに、ＨＤＣ２１は、駆動制御部２５にスタンバイ状態（「ＳＴＡＮＢＹ」）への遷移を命じ、これにより駆動ハードウェア部のモータ２７等を停止させてスタンバイ状態へ遷移する（Ｓ６０６）。
【００８５】
また一方、ＨＤＣ２１は、上記ＦＡＴ領域の更新が済むと、直後、ＰＩＯコマンドに対するＡＣＫをＣＰＵ１１に返す（Ｓ６０５）。ここで図６では、ＰＩＯコマンドにおけるＰＩＯ転送サイズ（ｓ３）分の１回目の処理（Ｓ６０１〜Ｓ６０３）によって対象ユーザデータのファイルの転送が終了できた場合である。
【００８６】
ＣＰＵ１１は、ＨＤＣ２１からＡＣＫを受信すると、ユーザデータの転送終了を通知し、データ転送が完了したこと（「ＥＮＤ」）をＨＤＣ２１側へ通知する（Ｓ６０７）。ＨＤＣ２１は、ＣＰＵ１１側からそのデータ転送完了通知を受けると、ＡＣＫを返す。
【００８７】
ＣＰＵ１１は、ＨＤＣ２１側からＡＣＫを受けると、ＣＰＵ１１が管理するＦＡＴ（ＦＡＴ情報コピー）の更新のために、ＨＤＣ２１が更新したＦＡＴ領域のデータ（ＦＡＴ情報）を読み出そうとする（「Ｒｅａｄ−ＦＡＴ−ｅｎｔｒｙ」，Ｓ６０８）。これに対し、ＨＤＣ２１は、ディスク２６の該当ＦＡＴ領域のデータ（ＦＡＴ情報）を読み出さずに、ＨＤＣ２１が管理しているＦＡＴの該当データ（ＦＡＴ一部情報）を、ＣＰＵ１１に返す（「Ｒｅｐｌｙ」）。なお、ＨＤＣ２１は、ＰＩＯコマンドの処理によってＦＡＴ情報を把握しているため、上記ＦＡＴ一部情報を返すことができ、これはディスク２６から読み出して返す場合よりも効率的である。
【００８８】
以上の通り、ＣＰＵ１１は、追加されたコマンド（ＰＩＯコマンド）と、ＦＡＴの更新のためのＦＡＴ領域の読み出しコマンド（「Ｒｅａｄ−ＦＡＴ−ｅｎｔｒｙ」）との２つのコマンドを用いることにより、主記憶１２上の動画ファイル等のデータを、ＳＤ２００のディスク２６に書き出して保存することができる。そして、この処理において、ＳＤ２００の駆動部は、ライトバッファ２３からディスク２６へのデータの書き込み処理の時のみ、アクティブ状態となる。
【００８９】
実施の形態２に対応する従来技術は、ＣＰＵ及び主記憶から、ＳＤのディスクへのデータ転送による処理動作を行う構成であり、アクティブ状態の期間は、ターンアラウンドタイムに依存している。一方、実施の形態２の場合では、実施の形態１と同様に、アクティブ状態の期間は、ＳＤ２００のＨＤＣ２１の処理時間（Ｔ１）、特にディスク２６への書き込み処理（Ｓ６０３，Ｓ６０４）の速度及び時間、に依存している。従って、従来技術よりも実施の形態２のＰＩＯコマンドで動作させたＳＤ２００の方が、アクティブ状態の期間が短く、消費電力量及び平均消費電力も低くなる。
【００９０】
以上、実施の形態２のシステムは、ユーザデータ記録処理におけるデータ転送を、情報処理装置１００のＣＰＵ１１及び主記憶１２とＳＤ２００のライトバッファ２３との間での第１の転送（ＰＩＯ転送）と、ライトバッファ２３とディスク２６との間での第２の転送（書き込み）とに分離した構成である。これによって、外部デバイス（情報処理装置１００）とＳＤ２００との間の転送速度に無関係に、ライトバッファ２３とディスク２６との間の転送速度をほぼ一定としてディスク２６にデータを書き込む際の所要時間（Ｔ２）を一様化・最小化でき、第２の転送時のみＳＤ２００がアクティブ状態になることで書き込み時の仕事量／電力量を低減でき、結果、ＳＤ２００の平均消費電力を低減できる。
【００９１】
（実施の形態３）
次に、図９，図１０を用いて実施の形態３を説明する。実施の形態３では、特徴として、前記実施の形態１の新規追加されたコマンド（ＤＭＡコマンド）の処理によるユーザデータ記録処理と共に、ホスト（情報処理装置１００）からの読み出しコマンドに応じて、ディスクからのデータ読み出し処理を、ディスクへのデータ書き込みに優先して行うものである。換言すれば、ホストへのユーザデータの先読み処理を行うものである。実施の形態３のシステム構成は、実施の形態１と同様であり、制御動作などが異なる。
【００９２】
図９のシーケンスにおいて、前述同様のＤＭＡコマンド及びそれを用いた動作（ユーザデータ記録処理）と、そのＤＭＡコマンドに続く在来の読み出しコマンド（「ＲＥＡＤ  ＤＭＡ」）及びそれによる動作とを示している。本構成及び処理では、ＤＭＡコマンドに続く読み出しコマンド（「ＲＥＡＤ  ＤＭＡ」）を用いて、ＨＤＣ２１−主記憶１２間のＤＭＡ転送（データ書き込みの転送）と、ＨＤＣ２１−主記憶１２間の「ＲＥＡＤ  ＤＭＡ」転送（データ読み出しの転送）との制御動作を行う。最初のＤＭＡコマンドによるデータ書き込み処理の途中で読み出しコマンドが発行（受領）され、それによるデータ読み出し処理（先読み処理）が優先して行われ、その後に先のＤＭＡコマンドによるデータ書き込み処理が再開される場合である。
【００９３】
ＤＭＡコマンドを用いた、Ｓ９０１，Ｓ９０２，Ｓ９０３１，Ｓ９０３２，Ｓ９０４〜Ｓ９０８等の処理は、実施の形態１の図２のＳ２０１〜Ｓ２０３の処理と同様なユーザデータ記録処理である。また、図９の処理は、ＤＭＡ転送サイズ（ｓ２）に対応した１回の転送制御・動作（Ｕ１）で、ユーザデータの転送が完了する場合である。
【００９４】
まず、情報処理装置１００のＣＰＵ１１は、前記ＤＭＡコマンドで、アドレス、サイズ（ｓ２：ＤＭＡ転送サイズ）、属性などを指定・記述し、ＳＤ２００に対し発行・送信する（Ｓ９０１）。
【００９５】
ＣＰＵ１１側からのＤＭＡコマンドは、ＳＤ２００で受信され、ＨＤＣ２１で解釈される。ＨＤＣ２１は、メモリ２２上に、ライトバッファ２３を用意・確保する。ＨＤＣ２１は、受信したＤＭＡコマンドを解釈し、それにより、主記憶１２上の対象データ（ユーザデータ）をＤＭＡ転送によって読み出して、メモリ２２上に確保されたライトバッファ２３上に一旦格納する。即ち、ＨＤＣ２１は、主記憶１２に対してＤＭＡリードを要求し（「ＤＭＡ  Ｒｅａｄ」，Ｓ９０２）、１番目のデータ（ＤＡＴＡ＃１）から順にＤＭＡ転送を開始して、ライトバッファ２３に蓄積してゆく。そして、ｎ番目のデータ（ＤＡＴＡ＃ｎ）までの転送が終わって、ライトバッファ２３上の蓄積データ量が、ＤＭＡ転送サイズ（Ｓ２）分に達する。
【００９６】
次に、ＨＤＣ２１は、ライトバッファ２３上の当該データ（ＤＡＴＡ＃１〜＃ｎ）を、信号処理部２４及び駆動制御部２５の制御を通じて、一気にディスク２６に書き込む（Ｓ９０３１，Ｓ９０３２）。このディスク２６への書き込み時において、駆動部はアクティブ状態（「ＡＣＴＩＶＥ」）である。ＤＭＡ転送サイズ（ｓ２）分のＤＭＡ転送の処理を終えると、ＨＤＣ２１は、ライトバッファ２３上のデータ（ＤＡＴＡ＃１〜＃ｎ）を、一気にディスク２６に書き込む（Ｓ９０３１，Ｓ９０３２）。
【００９７】
ここで、このディスク２６への書き込み（Ｓ９０３１）の前後に、ＣＰＵ１１は、ＡＴＡバスで定義された在来の「ＲＥＡＤ  ＤＭＡ」コマンドを、ＳＤ２００（ＨＤＣ２１）に対し発行・送信する（Ｓ９１１）。
【００９８】
その「ＲＥＡＤ  ＤＭＡ」コマンドを受けたＨＤＣ２１は、ライトバッファ２３上のデータ（ＤＡＴＡ＃１〜＃ｎ）のディスク２６への書き込み（Ｓ９０３１，Ｓ９０３２）を、その途中（本例ではＳ９０３１とＳ９０３２の間）で中断する。そして、ＨＤＣ２１は、「ＲＥＡＤ  ＤＭＡ」コマンドの解釈に従い、そのコマンドで指定された読み出し対象のデータ（なおＤＡＴＡ＃１〜＃ｎ等とは異なる）を、ディスク２６からメモリ２２へ読み出す（Ｓ９１２）。
【００９９】
ＨＤＣ２１は、ディスク２６からの対象データの読み出し（Ｓ９１２）が完了した時点で、先ほど中断したディスク２６への該当データ（ＤＡＴＡ＃１〜＃ｎ）の書き込みを再開する（Ｓ９０３２）。
【０１００】
上記ディスク２６からの読み出し（Ｓ９１２）で読み出された対象データは、ＨＤＣ２１及びメモリ２２から主記憶１２上の領域（先読みバッファ）に対し、ＤＭＡライト（「ＤＭＡ  Ｗｒｉｔｅ」）により転送される（Ｓ９１３）。
【０１０１】
そして、その対象データの単位データ群のＤＭＡライト（Ｓ９１３）の動作が終了すると、ＨＤＣ２１は、ＣＰＵ１１に対し、対象データを転送完了した旨を、先の読み出しコマンド（「ＲＥＡＤ  ＤＭＡ」）に対するＡＣＫで返す（Ｓ９１４）。このＡＣＫ（Ｓ９１４）により、一連の読み出しコマンド（「ＲＥＡＤ  ＤＭＡ」）に伴う転送制御の動作（ＵＲ）が完了する。
【０１０２】
一方、前記Ｓ９０３２から再開されたディスク２６へのデータの書き込みが終わると、即ちｎ番目のデータ（ＤＡＴＡ＃ｎ）の書き込みが終わると、前述同様に、ＨＤＣ２１は、ＦＡＴ情報を更新し、ディスク２６のＦＡＴ領域に書き込む（「ＦＡＴ」，Ｓ９０４）。その後すぐに、ＨＤＣ２１は、駆動制御部２５にスタンバイ状態（「ＳＴＡＮＢＹ」）への遷移を命じる（「Ｓｔａｎｄ  Ｂｙ」，Ｓ９０６）。これにより駆動制御部２５が、駆動ハードウェア部の稼働を停止（一時停止）させることで、アクティブ状態からスタンバイ状態へ遷移する。
【０１０３】
また一方、ＨＤＣ２１は、前述同様に、上記ＦＡＴ領域の更新が済むと、直後、ＤＭＡコマンドに対するＡＣＫをＣＰＵ１１に返す（Ｓ９０５）。このＡＣＫ（Ｓ９０５）により、一連のＤＭＡコマンドに伴う転送制御の動作（Ｕ１）が完了する。
【０１０４】
上記ＤＭＡコマンドに伴う動作（Ｕ１）と、在来の読み出しコマンド（「ＲＥＡＤ  ＤＭＡ」）に伴う動作（ＵＲ）とを比較すると、ＤＭＡコマンドによる動作（Ｕ１）の期間中に、データ読み出しの動作（Ｕ２）が実行されている（含まれている）。
【０１０５】
ここで、前述同様に、ＤＭＡコマンドのＤＭＡ転送サイズ（ｓ２）分の処理（Ｓ９０２，Ｓ９０３１，Ｓ９０３２）によって対象ユーザデータのファイルの転送が終了できた場合である。ＣＰＵ１１は、ＨＤＣ２１からＡＣＫを受信すると（Ｓ９０５）、ユーザデータの転送終了をＨＤＣ２１側へ通知し、ＨＤＣ２１は、その通知を受けると、ＡＣＫを返す（Ｓ９０７）。以降、前述同様に、ＣＰＵ１１は、ＦＡＴ更新のために、ＨＤＣ２１が更新したＦＡＴ領域のデータを読み出そうとし（「Ｒｅａｄ−ＦＡＴ−ｅｎｔｒｙ」，Ｓ９０８）、ＨＤＣ２１は、該当データ（ＦＡＴ一部情報）をＣＰＵ１１に返し（「Ｒｅｐｌｙ」）、ＣＰＵ１１は、返された情報によりＦＡＴ更新する。以上で一連の処理が完了する。
【０１０６】
以上の通り、ＣＰＵ１１は、前記ＤＭＡコマンドと前記ＦＡＴ更新のためのコマンドとの２つのコマンドを用いることにより、主記憶１２上の例えば動画ファイル等のデータを、ＳＤ２００のディスク２６に書き出して保存することができる。それと共に、ＳＤ２００がディスク２６にデータを書き出して保存する間にＣＰＵ１１から読み出しコマンド（「ＲＥＡＤ  ＤＭＡ」）が発行されると（ＤＭＡコマンドと読み出しコマンドが連続した場合）、書き出しを中断してデータ読み出しを優先し、その読み出しの完了後に、中断していた書き出しを再開する。即ち、「ＲＥＡＤ  ＤＭＡ」のデータ読み出し及びＤＭＡ転送の優先制御が実現される。そして、この一連の処理において、ＳＤ２００の駆動部は、ライトバッファ２３からディスク２６へのデータの書き込み処理とディスク２６からの読み出し処理の時のみ、アクティブ状態となる。即ち、ＤＭＡコマンドによるスタンバイ状態への遷移による平均消費電力の低減が実現される。以上のように、本実施の形態３のシステムは、ユーザデータ記録処理と共にデータ先読み処理を効率的に行うことができる。
【０１０７】
また、実施の形態３に関する他の構成例として以下も同様に可能である。図９において、ＤＭＡコマンドに「ＲＥＡＤ  ＤＭＡ」即ちＤＭＡ転送によるデータ読み出しコマンドが連続した場合を示したが、前記ＤＭＡコマンドに、在来の「ＰＩＯ  ＲＥＡＤ」即ちＰＩＯ転送によるデータ読み出しコマンドが連続した場合においても、同様に処理可能である。具体的には、ＨＤＣ２１は、Ｓ９１１で「ＲＥＡＤ  ＤＭＡ」の代わりに「ＰＩＯ  ＲＥＡＤ」を受領した場合、ＤＭＡコマンドによるディスク２６への書き込み（Ｓ９０３１，Ｓ９０３２）を中断し、「ＰＩＯ  ＲＥＡＤ」コマンドの処理を優先し、その「ＰＩＯ  ＲＥＡＤ」コマンドの処理が終了した時点で、前記中断していた書き込み（Ｓ９０３１，Ｓ９０３２）を再開する。再開した書き込みが終了すると、スタンバイ状態に遷移させる。
【０１０８】
また、図９において前記ＤＭＡコマンドの代わりに前記実施の形態２で説明したＰＩＯコマンドであった場合においても、同様に処理可能である。具体的には、ＰＩＯコマンドによりＳＤ２００に書き込まれるデータは、一旦ＨＤＣ２１が管理するライトバッファ２３に蓄積される。この状態で、ＣＰＵ１１が前記「ＲＥＡＤ  ＤＭＡ」や「ＰＩＯ  ＲＥＡＤ」のコマンドでデータ読み出しを指示すると、ＨＤＣ２１は、上記データのディスク２６への書き出しが完了していなくても、一旦ディスク２６への書き出しを中断し、上記コマンドで指示されたデータ読み出しを優先して実行し、その読み出しの完了後に、上記中断していたディスク２６への書き出しを再開する。再開した書き込みが終了すると、スタンバイ状態に遷移させる。
【０１０９】
次に、実施の形態３と従来技術との対比として、前記ＤＭＡコマンドと読み出しコマンドによる、ＳＤ２００がアクティブ状態となる期間を、図９の実施の形態３の動作の場合と、図１０に示す従来技術で動作させた場合とで比較して説明する。
【０１１０】
図１０において、まずＳ１００１〜Ｓ１００６の処理は、図７のＳ７０１〜Ｓ７０６と同様である。即ち、情報処理装置のＣＰＵは、「ＷＲＩＴＥ  ＤＭＡ」コマンドにより、ＳＤ（ＨＤＤ）のディスクへデータを書き込み、「ＰＩＯ  ＷＲＩＴＥ」コマンドによりディスクへＦＡＴ情報を書き込みする。ＦＡＴ領域の書き換え（更新）が完了すると、ＳＤのＨＤＣは、ＣＰＵにＡＣＫを返す（Ｓ１００６）。ここで、上記ＰＩＯ転送処理（Ｓ１００３）によって対象ユーザデータの転送が終了している場合とする。
【０１１１】
ＣＰＵは、ＡＣＫ（Ｓ１００６）を受信すると、次にディスクからのデータ読み出しの動作に遷る。ＣＰＵは、ＳＤに対して在来のＤＭＡ転送によるＳＤのディスクから主記憶へのＤＭＡ転送を、在来の「ＲＥＡＤ  ＤＭＡ」コマンドによって指示する（Ｓ１０１１）。
【０１１２】
ＳＤのＨＤＣは、受信した「ＲＥＡＤ  ＤＭＡ」コマンドを解釈し、ＨＤＣは、ディスクから、指示された読み出し対象データにおける１番目のデータを読み出し、情報処理装置の主記憶へのＤＭＡライトを試みる（Ｓ１０１２）。「ＲＥＡＤ  ＤＭＡ」コマンド（Ｓ１０１１）で指示された量のデータの転送が終了するまで、このＤＭＡライトの動作を繰り返す。この動作が終了すると、ＨＤＣは、ＣＰＵにＡＣＫを返す（Ｓ１０１３）。
【０１１３】
ＣＰＵは、ＡＣＫを受信すると、この後、ＳＤのディスクを読み書きするタスクが無いので、スタンバイ状態への遷移を命じるための「Ｓｔａｎｄ  Ｂｙ」コマンドをＳＤに送信し、ＳＤは、それに従ってアクティブ状態からスタンドバイ状態に遷移する（Ｓ１０１４）。
【０１１４】
図１０と図９の右端の駆動部において、いずれも、１番目のデータ（ＤＡＴＡ＃１）の書き込みからスタンバイ状態を指示されるまでの期間では、アクティブ状態にある。このアクティブ状態の期間は、図１０の従来動作の場合では、主記憶ないしＣＰＵとＳＤとの間のターンアラウンドタイムの総和（ｔ１とｔｒの合計で示す）に依存している。ｔｒは、「ＲＥＡＤ  ＤＭＡ」コマンドの処理に対応したターンアラウンドタイムを示す。
【０１１５】
一方、図９の実施の形態３の動作の場合では、アクティブ状態の期間は、ＳＤ２００のＨＤＣ２１の処理時間（Ｔ２）、特にライトバッファ２３とディスク２６との間の書き込み及び読み出しの処理（Ｓ９０３１，Ｓ９１２，Ｓ９０３２，Ｓ９１３，Ｓ９０４等）の速度及び時間、に依存している。図１０と図９とを比較すると、図９の方が、アクティブ状態の期間が短いことがわかる。そのため、図９の実施の形態３のＳＤ２００の方が、図１０の従来技術で動作させたＳＤ（ＨＤＤ）よりも消費電力量が少なくなり、また平均消費電力も低くなる。
【０１１６】
以上説明したように、各実施の形態によれば、情報処理装置１００からＳＤ２００に対するユーザデータ記録処理を効率化して、節電型のＳＤ２００を実現・提供できる。以下、本実施の形態によるその他の効果及び動作を説明する。
【０１１７】
ホスト（ＣＰＵ１１）に代わりＨＤＣ２１がＦＡＴ領域の更新を行うことで、ディスク２６へのデータの書き込み後にＦＡＴ領域を更新するまでの負荷が短縮でき、ＦＡＴ領域の更新までに要する電力量も最小化できる。新規追加されたコマンドの動作により、ＳＤ２００のライトバッファ２３からディスク２６にデータを書き込んだ後、ＳＤ２００のＨＤＣ２１が自発的にファイル管理情報をＦＡＴ領域に書き込んで更新でき、自発的にＳＤ２００をスタンバイ状態に遷移させることができる。ＳＤ２００が情報処理装置１００のＣＰＵ１１からのコマンドを頼らずに自発的にファイル管理に係わる動作ができるので、ＦＡＴの更新でもスタンバイ状態への遷移でも、所要時間を最短化でき、仕事量／電力量を低減できる。ホスト（ＣＰＵ１１）の指示を待たずにＦＡＴ領域の更新後に即座にＳＤ２００の動作状態を切り換えてモータ２７等を停止させることで、最適な節電が可能となる。ホスト（ＣＰＵ１１）からの次のコマンドを受信するまでＳＤ２００は確実にモータ２７等が停止した低消費電力の状態を維持でき、平均消費電力を低減できる。
【０１１８】
また実施の形態３で示したように、ホスト（ＣＰＵ１１）に代わりＨＤＣ２１がＳＤ２００のライトバッファ２３を管理するので、ホスト（主記憶１２）からライトバッファ２３に対しディスク２６へ書き込むデータを転送し終えた時点で、ホスト（ＣＰＵ１１）が読み出しを行うと、自発的にディスク２６への書き込みを中断できる。そして、ＨＤＣ２１は、自発的にこの読み出しを優先して実行できる。読み出しを優先することで、ホスト（ＣＰＵ１１）において読み出し時のアクセス時間を見かけ上短縮することができ、ホスト（ＣＰＵ１１）における演算処理が中断する時間を短縮でき、性能が向上する。ＨＤＣ２１は、前述のディスク２６からの読み出しの終了後にライトバッファ２３に蓄えておいたデータをディスク２６に書き込める。その書き込み終了後は、ＳＤ２００のＨＤＣ２１が自発的にファイル管理情報をＦＡＴ領域に書き込んで更新でき、自発的にＳＤ２００をスタンバイ状態に遷移させることができる。ＨＤＣ２１は、書き込みと読み出しをスケジューリングすることができ、書き込み終了後にスタンバイ状態に遷移させることで平均消費電力を低減できる。
【０１１９】
また、本節電型のＳＤ（ＨＤＤ等）２００は、スタンバイ状態に遷移することで、ディスク２６の読み書きヘッド（２８）は不活性となり、公知技術に従い衝撃の影響を受けにくい退避ゾーン（シッピングゾーン）に移動する。よって、ＳＤ２００（ディスク２６）に衝撃が与えられても、円盤（２６）の記録面を叩いてその記録面やヘッド（２８）自身を傷つけたり、ヘッド（２８）が円盤（２６）に吸着して動作不能になったりする確率を減らすことができ、製品の信頼性を高めて寿命を伸ばすことができる。
【０１２０】
また、ＳＤ２００がスタンバイ状態に遷移することで、積算稼働時間の伸びを抑制でき、平均故障間隔（ＭＴＢＦ：Mean Time By Fault）で表される製品寿命の到達時期を先送りでき、製品の信頼性が高まる。また、ＳＤ２００をスタンバイ状態に遷移させた結果、ＳＤ２００の消費電力は下がるのでＳＤ２００の電力消費に伴う発熱が抑制され動作時の温度が低減でき、ＭＴＢＦが改善し、放熱のための機構が省略できコスト削減できるだけでなく、構造が単純化できて保守性も向上し軽量化にも寄与する。また、低消費電力化によりバッテリ寿命が延び、またバッテリ寿命を一定とした場合にはバッテリのセル数が削減でき軽量化も可能となる。
【０１２１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【図面の簡単な説明】
【０１２２】
【図１】本発明の実施の形態１の情報処理システム（情報処理装置及びストレージドライブ）のブロック構成を示す図である。
【図２】本発明の実施の形態１の情報処理システムにおける、新規追加された第１のコマンド（ＤＭＡコマンド）の動作によるユーザデータ記録処理の第１の処理を示すシーケンス図である。
【図３】本発明の実施の形態１の情報処理システムにおける、新規追加された第１のコマンド（ＤＭＡコマンド）の連続動作によるユーザデータ記録処理の第２の処理を示すシーケンス図である。
【図４】本発明の実施の形態１の情報処理システムにおける、ファイル書き込みの前後のファイル管理テーブル（ＦＡＴ）の状態例を示す図である。
【図５】本発明の実施の形態１の情報処理システムにおける、ファイル削除前後のファイル管理テーブル（ＦＡＴ）の状態例を示す図である。
【図６】本発明の実施の形態１の情報処理システムにおける、新規追加された第２のコマンド（ＰＩＯコマンド）の動作によるユーザデータ記録処理を示すシーケンス図である。
【図７】従来技術の情報処理システムにおけるＤＭＡ転送のためのコマンドの動作による第１の処理例を示すシーケンス図である。
【図８】従来技術の情報処理システムにおけるＤＭＡ転送のためのコマンドの連続動作による第２の処理例を示すシーケンス図である。
【図９】本発明の実施の形態３の情報処理システムにおける、第１のコマンド（ＤＭＡコマンド）とＤＭＡリードコマンドとの連続動作によるユーザデータ記録処理及び読み出し処理の例を示すシーケンス図である。
【図１０】従来技術の情報処理システムにおけるＤＭＡライトコマンドとＤＭＡリードコマンドとの連続動作による処理例を示すシーケンス図である。
【符号の説明】
【０１２３】
１１…ＣＰＵ、１２…主記憶（メモリ）、１３…フラッシュメモリカード、１４…ブリッジ、１５…ベアラ部、１６…チューナ、１７…カメラ及びマイク、１８…ＬＣＤ及びスピーカ、１９…キーバッド、２１…コントローラ（ＨＤＣ）、２２…メモリ、２３…ライトバッファ、２４…信号処理部、２５…駆動制御部、２６…記録媒体（ハードディスク）、２７…モータ、２８…ヘッド、１００…情報処理装置（第１の情報処理装置）、２００…ＳＤ（ストレージドライブ）、３００…情報処理システム。
【図１】
2008021290.tif 000003
【図２】
2008021290.tif 000004
【図３】
2008021290.tif 000005
【図４】
2008021290.tif 000006
【図５】
2008021290.tif 000007
【図６】
2008021290.tif 000008
【図７】
2008021290.tif 000009
【図８】
2008021290.tif 000010
【図９】
2008021290.tif 000011
【図１０】
2008021290.tif 000012