説明

ストレージ装置、ストレージコントローラ、及び情報処理装置

【課題】情報処理装置からHDD等のストレージ装置に対するデータ記録処理動作における消費電力及び所要時間の削減を実現できる技術を提供する。
【解決手段】情報処理装置(ホスト)からストレージドライブ(SD)であるHDDのディスクに対するデータ記録処理において、そのDMA転送を、SDのメモリ上に用意したライトバッファ(WB)を境にパイプライン化し、この動作のためのコマンドをSDに追加した構成である。HDC(コントローラ)は、情報処理装置のCPUからのコマンドを解釈し、主記憶に対するDMAリードを試みてWBに蓄積し、蓄積した一定量のデータを駆動部のディスクに一気に書き込む。直後、HDCは、ファイル管理情報をディスクのFAT領域に書き込んで、自発的にアクティブ状態からスタンバイ状態に遷移させることにより節電する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録媒体に対する情報データ信号の書き込み及び読み出し(記録及び再生)が可能な、ハードディスクドライブ(HDD)等のストレージドライブないしストレージデバイス(ストレージ装置)の技術に関する。特に、情報処理装置に搭載もしくは接続されるストレージ装置、及び当該ストレージ装置に対し情報データの読み書きを行う情報処理装置、並びにデータ読み書き制御や節電(省電力)制御などに関する。
【背景技術】
【0002】
情報処理装置に接続もしくは搭載されるストレージ装置として、例えばHDDや光ディスクドライブ(CDドライブやDVDドライブ)などが存在し、記録媒体(ディスク)に対してデータの記録及び再生の動作が可能となっている。これらドライブ(駆動装置)では、ディスクをモータ等により回転させ、ヘッドをディスク上のトラック等に位置合わせして、データ・信号の読み取りないし読み書きを行う。上記ドライブは、実際のデータの読み取りないし読み書きのために、事前にモータを始動し、ディスクの回転が安定しトラック上でヘッドの位置合わせに成功して初めて、データの読み取りないし書き込みが可能となる。また、上記ドライブは、読み取りないし書き込み後も、ディスクの回転と、場合によってはヘッドの位置合わせとを、継続する。すなわち、上記ドライブでは、読み取りないし書き込みの前後に、仕事が必要であった。この仕事は、電力と時間の積に対応付けられる。
【0003】
実際、従来技術として例えば特開平6−236241号公報(特許文献1)記載のハードディスク装置では、記録媒体(ハードディスク)のデータについては読み出す度に揮発性のバッファRAMからなるキャッシュメモリに蓄え、また、アクセス頻度の高いデータでキャッシュメモリに保持し続けたいデータについてはホストCPUが不揮発性のフラッシュメモリから成るキャッシュメモリに書き込み保持していた。この構成で、ホストからのアクセスに対し、バッファRAM単体でキャッシュメモリを構成する場合に比べて、アクセス頻度の高いファイルを確実にキャッシュメモリに保持しているので、バッファRAMの容量に左右されること無く、キャッシュヒット率を上げて転送性能を向上できていた。また、この構成で、読み出し時にハードディスク装置のモータを停止させる機会は増え、節電に寄与していた。上記はハードディスクのデータの読み出しの場合に有効な構成である。
【0004】
一方、HDDへのデータの書き込みの場合を考えると、以下のような従来技術がある。情報処理装置にHDDが搭載された構成において、例えば、放送中の音楽の録音や動画の録画、ネットワークからのダウンロードなどの動作(ユーザデータ記録処理)を行う場合が考えられる。この場合、総じて、HDDの記録媒体(ディスク)の読み書き速度であるメディア転送速度(R1:HDD側転送速度)よりも、上記放送や動画データのビットレート、ダウンロード時の転送速度などのいずれの転送速度(R2:情報処理装置側転送速度)の方が低いことが多い(R1>R2)。換言すれば、同じユーザデータ量の記録処理に際し、HDD側のメディア転送時間(T1)よりも情報処理装置側のデータ転送時間(T2)の方が大きいことが多い(T1<T2)。
【0005】
そのため、情報処理装置からHDDのディスクへのデータ書き込み処理において、HDD側のメディア転送時間(T1)よりも大きい情報処理装置側の転送時間(T2)の方が、書き込みの開始から終了までの所要時間(T3)を決めていた。従って、従来の所要時間(T3)は長くなり、HDDで消費する電力量は、所要時間(T3)に比例して多くなっていた。そのため、例えば、情報処理装置のメモリをバッファとして書き込み対象のデータを一時的に蓄えて一定量が蓄えられた時点でHDDに書き出すことにより、全体の転送速度を改善して書き込みの所要時間(T3)を短縮する手法が採られていた。
【0006】
また、別の従来技術として、HDDにおいて、メモリの一部を、ヘッドのシーク等の何らかの待ちが発生した際の書き込みバッファとして利用しているものがある。
【特許文献1】特開平6−236241号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
前記情報処理装置のメモリをバッファとして用いる手法では、HDDへのファイルの書き込み時に、情報処理装置のCPUが当該ファイルを管理しているため、HDD側は当該ファイルの書き込みがいつ終わるのか予測できない。そのため、HDD側が、節電などのために、HDDが具備する動作モード(公知のアクティブ/スタンバイ状態など)を切り換えてモータ等を停止させることを考えた場合、そうしようにも勝手に動作モードを切り換えても問題が無いか等を判断できないため不可能である。
【0008】
また、前述のようにHDD上に搭載されたメモリをリードキャッシュ(データ読み出し時のキャッシュメモリ)として用いることもあったが、録音や録画、ダウンロード時の書き込みの場合に対してあまり効果は無い。
【0009】
また、前記HDDのメモリの一部を書き込みバッファとして利用する構成において、このバッファは、HDDのハードディスクコントローラ(HDC)の管理下にあるもので、HDDの外部のCPU等に対しては公開されていない。仮に公開されていたとしても、このバッファは、1セクタ分512バイトの容量しかなく、複数のセクタにまたがる書き込みを想定したバッファの制御コマンドも無いため、その1セクタ単位のデータの書き込みしかできず、大きいサイズの書き込みデータ(例えば数百kバイトから数Mバイト単位の書き込みデータ)に対応できない。大きい量のデータを1セクタずつ書き込み処理すると、負荷が大きい。
【0010】
データ書き込みの所要時間(T3)あるいはアクティブ状態の持続時間が大きければ、その分HDDでモータ等の動作によって消費する電力も大きくなる問題がある。
【0011】
本発明は、以上のような問題に鑑みてなされたものであり、その目的は、情報処理装置からHDD等のストレージ装置に対するデータ(ユーザデータ)の記録(転送及び書き込み)の処理動作における消費電力及び所要時間の削減を実現できる技術を提供することにある。詳しくは、例えば、情報処理装置における音楽の録音や動画の録画、ネットワーク越しのファイルのダウンロードなどの際に当該データをストレージ装置の記録媒体に書き込みする処理に係わり、消費電力の低減、即ち節電型を実現できるストレージ装置の技術を提供することである。特に、大きいサイズのデータの書き込み処理や、情報処理装置における比較的に転送速度(処理速度)が低いデータを、それよりも転送速度(処理速度)が高いストレージ装置の記録媒体へ記録する処理において、有効に節電を実現できる技術を提供するものである。
【課題を解決するための手段】
【0012】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明は、HDD等のストレージドライブないしストレージデバイス(ストレージ装置)、ストレージ装置を搭載ないし接続する情報処理装置及び情報処理システム等の技術であって、以下に示す技術的手段を備えることを特徴とする。
【0013】
従来技術では、HDDが主体的に自身の動作モードを切り換えることはできず、自発的な動作モードの切り換えによる節電はできなかったが、本発明では、ストレージ装置のメモリ上に設けたライトバッファを用いたデータ書き込みの動作と対応してストレージ装置のコントローラが主体的にストレージ装置の動作状態(モード)を切り替えて節電を行う構成としたものである。また、従来技術では、大きいサイズの書き込みデータに対応できなかったが、本発明では、ストレージ装置に確保したライトバッファに書き込みデータを一旦蓄積して一気に記録媒体に書き込むことで書き込み所要時間(T3)を短縮し節電を実現する手法を用いる。
【0014】
本システムは、ホストとなる情報処理装置からストレージ装置の記録媒体に対しデータを記録(書き込み)する動作を行うシステムにおいて、ストレージ装置のメモリ上に設けるライトバッファの利用によって記録媒体へのデータ書き込みの転送(DMA転送:ダイレクトメモリアクセス転送)を分離ないしパイプライン化した構成である。この構成として、情報処理装置からストレージ装置に対するデータ記録処理は、情報処理装置のメモリ(主記憶装置)からストレージ装置のライトバッファへのデータの第1の転送(DMA転送)と、ストレージ装置のライトバッファから記録媒体へのデータの第2の転送(書き込み)とに分けられる。
【0015】
本システムでは、ストレージ装置に対して新規に追加されたコマンド(DMAコマンド)の処理により上記制御を実現する。即ち、ストレージ装置のコントローラは、ホストからのコマンドを処理して第1及び第2の転送を制御する。ストレージ装置は、自身にとっての外部デバイスである情報処理装置内のメモリから第1の転送(DMA転送)によって読み出したデータを、ライトバッファに格納する。そして、ライトバッファ上に所定量蓄積したデータを、第2の転送によって一気に記録媒体に書き込み処理するものである。
【0016】
また、その制御動作に関連して、ストレージ装置の駆動ハードウェア部に関する節電(省電力)制御動作が行われる。即ち、上記第1の転送の動作の際には、ストレージ装置の動作状態を、駆動ハードウェア部が稼働する第1の状態(アクティブ状態)にする。従来の実質ホストCPU主体のストレージ装置の節電制御を、ストレージ装置側で自動的な節電制御動作として行わせる構成である。
【0017】
また、転送制御におけるコマンドで指定する転送サイズは、情報処理装置側とストレージ装置側とにおける第1と第2の転送の速度(R1,R2)もしくは時間(T1,T2)の大小などに対応して決める。
【0018】
本発明のストレージ装置は、例えば以下の構成である。本ストレージ装置は、装置全体及び各部を制御するコントローラ(ストレージコントローラ)と、コントローラが用いるメモリと、データが記録される記録媒体(ディスク等)と、コントローラにより制御され記録媒体に対する読み書き(記録及び再生)等の動作のための信号処理を行う信号処理手段(信号処理部)と、電力供給で動作し記録媒体に作用するモータ及びヘッドなどを含む駆動ハードウェア部と、コントローラにより制御され駆動ハードウェア部に対する駆動制御手段(駆動制御部)とを備える。本ストレージ装置は、ホストとなる情報処理装置に搭載もしくは接続される。情報処理装置は、少なくともプロセッサ(CPU)及び主記憶装置(メモリ)を備える。本ストレージ装置は、例えばHDDである。本HDDは、HDC(ハードディスクコントローラ)、メモリ、及び上記のような駆動部などを備える。
【0019】
また、本発明の情報処理装置は、本ストレージ装置を搭載もしくは接続するものであり、プロセッサ、主記憶装置、ストレージ装置との通信のためのブリッジ部ないしインタフェース部、入出力装置、並びに、ユーザデータ入出力手段などを備える。ユーザデータ入出力手段は、例えば、カメラやマイク、ディスプレイ等の入出力装置、ベアラ部(無線送受信部)、チューナ(放送受信部)、ネットワーク通信I/F部、及び上位のアプリケーション処理部などである。情報処理装置は、ユーザデータ入出力手段を通じてユーザデータを入出力し、例えば主記憶装置に対し格納する。
【0020】
情報処理装置のプロセッサは、ストレージ装置に対するデータ(ユーザデータ)の記録(書き込み)のための転送の際、前記ストレージ装置に対し、記録及び転送対象のデータに係わる情報、即ちアドレス(データ格納位置)、転送サイズ、属性(ファイル名、ファイルのサイズ(s1)など)を含む、第1のコマンド(DMAコマンド)を発行及び送信する。転送サイズの情報としては、特に、第1及び第2の転送の制御に係わるDMA転送サイズ(s2)を用いる。
【0021】
コントローラは、情報処理装置側からの第1のコマンドを解釈して、情報処理装置の主記憶装置などにおける前記アドレスのデータを、メモリ上に確保されるライトバッファに、第1の転送(DMAリード)の処理によって蓄積する。コントローラは、第1のコマンドで指定されたDMA転送サイズ(s2)に対応した大きさのライトバッファ(ないしその一部領域)を確保する。そして、コントローラは、ライトバッファにDMA転送サイズ(s2)に対応した一定量のデータが蓄積(充満)された時点で、当該一定量のデータを、信号処理手段及び駆動制御手段の制御を介して、記録媒体に対し第2の転送(書き込み)によって書き込みする。この第2の転送の際には、ストレージ装置の動作状態が第1の状態(アクティブ状態)になる。
【0022】
また、コントローラは、第2の転送によってライトバッファ上の一定量のデータを記録媒体に対し書き込みすることが終了した時点で、当該データに関する第1の管理情報を、第1のコマンドに含まれる属性などの情報に基づき作成して、記録媒体の領域(FAT領域)に書き込んで更新する。コントローラは、コマンド処理により、各転送及び書き込みの開始及び終了について把握している。
【0023】
また、コントローラは、記録媒体への第1の管理情報の書き込みが終了した時点で、速やかに駆動制御手段に動作状態の切り換えを指示すること等により、駆動制御手段によって駆動ハードウェア部の動作を制御させる。これにより、当該ストレージ装置の動作状態を、前記第1の状態(アクティブ状態)から、駆動ハードウェア部が停止する第2の状態(スタンバイ状態)へと遷移させる。
【0024】
また、ストレージ装置の動作状態を第2の状態へ遷移させた後に、情報処理装置が前記記録及び転送対象のデータに対応するストレージ装置側の第1の管理情報の読み出しをコマンドなどにより試みると、コントローラは、記録媒体の領域に書き込みされた第1の管理情報に対応した、当該コントローラ内もしくはメモリの一部に保持している第2の管理情報(一部情報)を、情報処理装置へ応答・送信する。情報処理装置は、第2の管理情報を用いて自身で保持している第3の管理情報(管理情報コピー)を更新する。上記ユーザデータ記録処理の全体において、所要時間(T3)が短縮されると共に、必要な消費電力が従来技術よりも低減されて節電が実現される。
【0025】
また、上記第1のコマンドの動作では、情報処理装置からストレージ装置のライトバッファへのDMA転送によるものであるが、本発明の他の構成として、第2のコマンド(PIOコマンド)の動作として、情報処理装置からストレージ装置のライトバッファへのPIO(プロセッサ入出力)転送による構成とする。
【発明の効果】
【0026】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明によれば、主な効果として、情報処理装置からHDD等のストレージ装置に対するデータの記録の処理動作における消費電力及び所要時間の削減を実現できる。特に、大きいサイズのデータの書き込み処理や、情報処理装置における比較的に転送速度(処理速度)が低いデータを、それよりも転送速度(処理速度)が高いストレージ装置の記録媒体へ記録する処理において、節電を実現できる。
【発明を実施するための最良の形態】
【0027】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。図7,図8は、本発明の特徴を従来技術と対比してわかりやすく説明するために従来技術例を示すものである。
【0028】
(実施の形態1)
図1〜図5を用いて実施の形態1を説明する。実施の形態1では、特徴として、新規に追加されたコマンド(例としてDMAコマンドと名付ける)の処理によるDMA転送及び節電制御によるユーザデータ記録処理を実現する。図1は、システムの構成を示す。図2は、DMAコマンドの動作を示す。図3は、DMAコマンドの連続動作を示す。図4は、ファイル書き込みの前後のファイル管理テーブル(FAT)を示す。図5は、ファイル削除の前後のFATを示す。
【0029】
<システム>
図1において、システム及び装置の構成を説明する。本システム(情報処理システム300)は、ホストとなる情報処理装置(第1の情報処理装置)100にSD(ストレージドライブ)200が接続された構成である。また、本システム(300)は、SD200を内部に搭載した情報処理装置(第2の情報処理装置)としても捉えることができる。本例では前者のシステム(300)について説明するが、後者の第2の情報処理装置の場合にも、特徴となる動作は同様である。
【0030】
本例において、情報処理装置100は、ユーザが使用する携帯電話機であり、SD200は、HDDである。SD200は、駆動ハードウェア部を有するものであり、HDD以外にも、例えばCDドライブ、DVDドライブ、UMD、MD等の装置でもよい。SD200は、半導体メモリ、フラッシュメモリ、不揮発性メモリ、カードデバイスなどでは無い。
【0031】
情報処理装置100は、CPU11、主記憶(メモリ)12、フラッシュメモリカード13、ブリッジ(もしくはチップセット)14、ベアラ部(ベアラチップ)15、チューナ16、カメラ及びマイク17、LCD(液晶ディスプレイ)及びスピーカ18、キーバッド19などを有する構成である。
【0032】
情報処理装置100は、CPU11に対し、ブリッジ14を介して、主記憶12、ベアラ部15、チューナ16、及び各種入出力装置などが接続されている。また、情報処理装置100のCPU11に対し、ブリッジ14を介して、所定のインタフェース(例えばATAバス)で、SD200のHDC21が接続されている。本例において、ブリッジ14は、CPUバスとIOバスと主記憶バスとを繋ぐノースブリッジであるが、HDDのATAバスを接続するコンパニオンチップないしバスアダプタや、単純なディスクリート部品のレベル変換チップでも構わない。
【0033】
CPU11は、OSや各種アプリケーション処理の他、SD200に対してユーザデータ記録処理に係わるコマンドを発行することができる。
【0034】
情報処理装置100は、この構成で、携帯電話機としての通話機能の他、音楽や動画などの再生、録音、録画、コピー等が可能である。ベアラ部15による通話やデータのダウンロード、チューナ16による放送受信、カメラによる撮影、マイクによる録音、LCDへの画像表示、スピーカへの音声出力、キーパッドによる文字入力、フラッシュメモリカード13に対するデータの読み書きなどが可能である。
【0035】
情報処理装置100(携帯電話機)は、例えば、チューナ16で受信した地上デジタル放送のワンセグ放送を、主記憶12に適宜バッファし、SD200にファイルとして書き込む(記録する)動作によって、録画機能を実現している。また、情報処理装置100では、主記憶12に格納したデータを、他の記憶装置(例えばフラッシュメモリカード13)に格納保存してもよい。本実施の形態で、上記地上デジタル放送のワンセグ放送のバンド幅は、最大312kbpsであり、SD200のディスク26の書き込みヘッド(28)におけるメディア転送速度(R1)である24Mbps(または3Mbps)よりも低い。
【0036】
また、情報処理装置(携帯電話機)100は、ベアラ部15で、携帯電話網経由でのファイルのダウンロードが可能であり、携帯電話網を介してコンテンツ配信サービスを受けることや、自宅のホームサーバに接続して動画や音声データをダウンロードすること等が可能である。このダウンロードでは、情報処理装置100は、受信データを主記憶12に一旦バッファし、SD200にファイルとして書き込む動作によって、データ保存機能を実現している。本実施の形態で、上記ベアラ部15の通信速度は、14.4Mbpsであり、SD200におけるメディア転送速度(R1)よりも低い。即ち、条件として、前述した、R1>R2、T1<T2、となっている。
【0037】
本実施の形態において、上記条件のため、上記録画やダウンロード等のいずれのユーザデータ入出力処理の場合も、SD200にファイルとして書き込むデータは、一旦主記憶12にバッファリングしている。主記憶12等にバッファリングすることで受信データが一定量蓄積された時点で、SD200側のメディア転送速度(R1)一杯にまとめてSD200側に書き込む(転送する)。これにより全体的な書き込みの所要時間(T3)の最短化を図る。
【0038】
SD200は、コントローラ(HDC)21、メモリ22、信号処理部24、駆動制御部25、記録媒体(ディスク)26、モータ(スピンドルモータ)27、ヘッド28などを有する構成である。メモリ22内にはライトバッファ23が確保される。
【0039】
HDC21は、SD200全体を制御するものであり、IC(半導体集積回路装置)として実装されている。HDC21は、従来のコマンドの処理に加え、新規に追加されたコマンドを処理する。メモリ22には、ライトバッファ23が確保され、ユーザデータ記録処理において使用される。主記憶12やメモリ22は、RAM等の揮発性メモリである。なおフラッシュメモリカード13は、主記憶12に対しての副記憶装置などとして使用されるが、具備は必須ではない。
【0040】
信号処理部24は、HDC21により制御され、駆動制御部25による駆動制御を通じてディスク26に対し信号を読み書きする。信号処理部24は、例えばDSP(デジタルシグナルプロセッサ)などによる回路である。信号処理部24は、HDC21と一体的でもよい。駆動制御部25は、HDC21及び信号処理部24により制御され、モータ27やヘッド28等の駆動ハードウェア部の駆動を制御する。駆動制御部25は、例えばDAC(デジタル/アナログコンバータ)を備えるパルス制御回路などによる回路である。駆動制御部25による駆動制御に従い、モータ27によりディスク26が回転され、ディスク26面に対してヘッド28の移動及び位置合わせなどがなされ、信号処理部24の処理に従い、ディスク26面上の信号の読み書きがなされる。
【0041】
HDC21は、自発的にFATを管理するので、常時、FATの一部情報を持ち、また、情報処理装置100は、SD200側のFAT情報のコピーを持つ。
【0042】
ライトバッファ23は、メモリ22の容量内における可変もしくは固定の容量である。ライトバッファ23の容量は、例えば予め固定に設定されていてもよいし、あるいはコマンドでの転送サイズの指定などその都度の処理に応じて可変に割り当てられるようにしてもよい。
【0043】
本実施の形態における、SD200の状態(モード)の制御の例について説明する。本例では、アクティブ状態とスタンバイ状態との二種類の状態間で遷移させる。アクティブ状態では、SD200のディスク26に対する読み出し/書き込みの動作に対応して、モータ27やヘッド28等の電力必要部である駆動ハードウェア部が稼働する(例えば回転や移動など)。スタンバイ状態では、駆動ハードウェア部が稼働停止する。スタンバイ状態は、駆動ハードウェア部の停止、電力供給低減などにより、省電力状態などとも言い換えられる。いずれの状態でも、HDC21は活性状態である。なお、他の状態として、一般に、アイドル状態(駆動ハードウェア部が稼働で、ディスク26に対する読み書きが無い状態)や、スリープ状態(駆動ハードウェア部が停止で、HDC21が不活性な状態)などを有し、これらと組み合わせて制御してもよい。
【0044】
<処理(1)>
図2,図3に示すシーケンスを用いて、本実施の形態における、SD200に対して新規に追加されたコマンド(DMAコマンド)を用いたユーザデータ記録処理の動作として、情報処理装置100の主記憶12からSD200のディスク26へのデータ転送及び書き込みの第1の処理を説明する。なお図中、「WB」はライトバッファ23に対応し、「駆動部」は、駆動制御部25、駆動ハードウェア部(27,28)、及びディスク26などに対応する。S201等は処理ステップを示す。図2の第1の処理は、情報処理装置100−SD200間で一度に転送処理させる単位となるDMA転送サイズ(s2)に対応した1回の転送制御ないし動作(U1)でユーザデータの転送が完了する場合である。図3の第2の処理は、2回の転送制御(U1,U2)でユーザデータの転送が完了する場合である。
【0045】
図2において、ユーザデータ記録処理における第1の処理を説明する。情報処理装置100のCPU11は、DMAコマンドで、アドレス(DMA転送開始アドレス)、サイズ(s2:DMA転送サイズ)、属性(ファイル名やユーザデータ全体のサイズ(s1)などを含む)などを指定・記述し、SD200(HDC21)に対し発行・送信する(S201)。例としてDMA転送サイズ(s2)は、データ単位のn個分とする。コマンドで指定するDMA転送サイズ(s2)は、SD200側の転送速度(R1)ないし時間(T1)に応じて決める。
【0046】
CPU11側からのDMAコマンドは、SD200で受信され、HDC21で解釈される。HDC21は、メモリ22上に、ライトバッファ23を用意・確保する。HDC21は、DMAコマンドの受信に応じてそのDMA転送サイズ(s2)の指定に応じた容量のライトバッファ23を確保するか、もしくは予め所定の容量のライトバッファ23を確保しておく。
【0047】
HDC21は、受信したDMAコマンドを解釈し、それにより、主記憶12上の対象データ(ユーザデータ)をDMA転送によって読み出して、メモリ22上に確保されたライトバッファ23上に一旦格納する。即ち、HDC21は、主記憶12に対してDMAリードを要求し(「DMA Read」,S202)、1番目のデータ(DATA#1)から順にDMA転送を開始して、ライトバッファ23に蓄積してゆく。そして、データ単位の連続的なDMA転送により、n番目のデータ(DATA#n)までの転送が終わって、ライトバッファ23上の蓄積データ量が、当該DMAコマンドで指定されているDMA転送サイズ(S2)分に達する。
【0048】
このDMA転送サイズ(s2)分のDMA転送の処理を終えると、HDC21は、メモリ22のライトバッファ23上の当該データ(DATA#1〜#n)を、信号処理部24及び駆動制御部25の制御を通じて、一気にディスク26に書き込む(S203)。このディスク26への書き込み時において、駆動部はアクティブ状態(「ACTIVE」)である。
【0049】
このディスク26への書き込みが終わると、即ちn番目のデータ(DATA#n)の書き込みが終わると、HDC21は、FAT情報を更新し、ディスク26のFAT領域に書き込む(「FAT」,S204)。その後すぐに、HDC21は、駆動制御部25にスタンバイ状態(「STANBY」)への遷移を命じる(「Stand By」,S206)。これにより駆動制御部25が、ディスク26に対するモータ27やヘッド28等の駆動ハードウェア部の稼働を停止(一時停止)させることで、アクティブ状態からスタンバイ状態へ遷移する。
【0050】
また一方、HDC21は、上記FAT領域の更新が済むと、直後、DMAコマンドに対するアクノリッジ(ACK)をCPU11に返す(S205)。ここで図2では、DMAコマンドにおけるDMA転送サイズ(s2)分の1回目の処理(S202,S203)によって対象ユーザデータのファイルの転送が終了できた場合である。CPU11は、HDC21からACKを受信すると、ユーザデータの転送終了を通知し、データ転送が完了したこと(「END」)をHDC21側へ通知する(S207)。HDC21は、CPU11側からそのデータ転送完了通知を受けると、ACKを返す。
【0051】
CPU11は、HDC21側からACKを受けると、CPU11が管理するファイル管理テーブル(FAT情報コピー)の更新のために、HDC21が更新したFAT領域のデータ(FAT情報)を読み出そうとする(「Read−FAT−entry」,S208)。これに対し、HDC21は、ディスク26の該当FAT領域のデータ(FAT情報)を読み出さずに、HDC21が管理しているFATの該当データ(FAT一部情報)を、CPU11に返す(「Reply」)。CPU11は、返されたFAT一部情報により、FAT情報コピーを更新する。以上で一連の処理が完了する。
【0052】
なお、HDC21は、DMAコマンドの処理によってFAT情報を把握しているため、上記FAT一部情報を返すことができる。これはディスク26から読み出して返す場合よりも効率的である。上記FAT一部情報は、HDC21内部メモリに格納・管理されている。あるいは、メモリ22内の一部領域などに格納されてもよい。
【0053】
以上の通り、CPU11は、SD200に対して新規追加されたコマンド(DMAコマンド)と、FAT(FAT情報コピー)の更新のためのSD200のFAT領域の読み出しコマンド(「Read−FAT−entry」)との2つのコマンドを用いることにより、主記憶12上の例えば動画ファイル等のデータを、SD200のディスク26に書き出して保存することができる。そして、この処理において、SD200の駆動部は、ライトバッファ23からディスク26へのデータの書き込み処理の時のみ、アクティブ状態となる。
【0054】
<処理(2)>
次に、図3において、ユーザデータ記録処理における第2の処理を説明する。前記図2の第1の処理の場合では、DMA転送サイズ(s2)分の1番目からn番目までのデータ(DATA#1〜#n)の書き込み(1回目の転送制御:U1)によって対象ユーザデータの転送及び書き込みが終了したが、図3の第2の処理の場合では、その1回目の転送制御(U1)だけでは終了しないため処理を続行して複数回例えば2回目の転送制御(U2)まで実行することで終了する場合である。1回目の転送制御(U1)の処理(S301〜S306)は、図2で示した処理と同様である。
【0055】
1回目の転送制御(U1)でn番目のデータ(DATA#n)までのディスク26への書き込み後(S303)、HDC21は、FAT領域を更新(S304)した直後、DMAコマンドに対するACKをCPU11に返し(S305)、また駆動ハードウェア部をスタンバイ状態へ遷移させる(S306)。CPU11は、HDC21側からACKを受信すると、対象ユーザデータの転送が終了していないこと、ないしは続きのデータであるn+1番目以後のデータ(DATA#n+1〜)のDMAリードを、HDC21に指示する(S311)。ここでは、このことを、コマンド「Continue」を用いて指示している。
【0056】
HDC21は、受信したコマンド(「Continue」)を解釈し、それにより1回目の転送制御(U1)の場合と同様に、主記憶12に対してDMAリードを要求し(S312)、n+1番目のデータ(DATA#n+1)からDMA転送を開始してメモリ22のライトバッファ23に蓄積してゆく。DMA転送サイズ(s2)分の2n番目のデータ(DATA#2n)まで転送が終わってライトバッファ23上の蓄積データ量がDMA転送サイズ(s2)分に達すると、HDC21は、メモリ22上のライトバッファ23の当該データ(DATA#n+1〜#2n)を、一気にディスク26に書き込む(S313)。そして、2n番目のデータ(DATA#2n)の書き込みが終わると、HDC21は、管理しているFAT情報を更新してディスク26のFAT領域に書き込む(S314)。その後すぐに、HDC21は、駆動制御部25にスタンバイ状態への遷移を命じ、駆動ハードウェア部を停止させる(S316)。
【0057】
また一方、HDC21は、上記FAT領域の更新が済むと、直後、DMAコマンドに対するACKをCPU11に返す(S315)。ここで図3では、DMAコマンドにおけるDMA転送サイズ(s2)分の2回目の処理(S312,S313)によって対象ユーザデータのファイルの転送が終了できた場合である。即ち、対象ユーザデータのファイル全体のサイズ(s1)が、1番目から2n(もしくはn+1以上2n未満)番目のデータ単位分の場合である。CPU11は、HDC21からACKを受信すると、ユーザデータの転送終了を通知し、データ転送が完了したこと(「END」)をHDC21側へ通知する(S321)。HDC21は、CPU11側からそのデータ転送完了通知を受けると、ACKを返す。
【0058】
CPU11は、HDC21側からACKを受けると、CPU11が管理するFAT情報コピーの更新のために、HDC21側で更新されたFAT情報を読み出そうとする(「Read−FAT−entry」,S322)。これに対し、HDC21は、ディスク26の該当FAT情報を読み出さずに、HDC21が管理している該当FAT一部情報を、CPU11に返す(「Reply」)。
【0059】
上記一連の動作で、SD200のディスク26は、1回目の転送制御(U1)における1番目のデータ(DATA#1)の書き込み開始(S303)からスタンバイ状態への遷移(S306)までの期間と、2回目の転送制御(U1)におけるn+1番目のデータ(DATA#n+1)の書き込み開始(S313)からスタンバイ状態への遷移(S316)までの期間とでは、SD200はアクティブ状態であり、駆動ハードウェア部が稼働、例えばモータ27が回転している。また、1回目の転送制御(U1)におけるスタンバイ状態への遷移(S306)後から次の2回目の転送制御(U2)におけるn+1番目のデータ(DATA#n+1)の書き込み開始(S316)までの期間と、2回目の転送制御(U2)におけるスタンバイ状態への遷移(S316)後の期間とでは、SD200はスタンバイ状態である。この間、CPU11および主記憶12と、HDC21及びメモリ22との間でDMAリードの処理は行われているが、SD200側はスタンバイ状態によって節電している。
【0060】
なお、S311のコマンド「Continue」では、次の転送制御(U2)におけるDMA転送サイズ(s2)を指定する。即ち、対象ユーザデータのファイル全体のサイズ(s1)分の転送が完了する最後の回(本例では2回目)の転送制御(U2)では、データ余り分に対応して、当初(1回目)指定のnよりも小さい値を指定して転送を実行する。DMA転送サイズ(s2)の指定無しの場合には当初の転送制御(U1)での指定を引き継ぐ形として処理してもよい。
【0061】
上記は、3回以上の転送制御が必要となる場合も同様である。即ち、DMA転送サイズ(s2)をnとして1回目からの転送制御を繰り返し実行し、最後の回でDMA転送サイズ(s2)をn以下として転送制御を実行して、ユーザデータの記録処理を完了する。
【0062】
<FAT>
図4,図5を用いて、CPU11およびHDC21によるFATの管理、FATの整合性の維持などについて説明する。図4は、ファイル書き込みの前後のFATの状態例を示す。図5は、ファイル削除の前後のFATの状態例を示す。
【0063】
図4(a)において、FATは、SD200のディスク26を、最小記録単位であるセクタではなく、連続する複数のセクタを記録単位とするクラスタで管理する。図4(a)のFATにおいて、ファイル名で示すデータファイルは、ファイル名が指し示す先頭クラスタを先頭に、占有数分の連続するクラスタに書き込まれている。一見して、例えばファイル名が“c1.dat”のデータファイルは、クラスタ‘0000’を頭に合計5クラスタを占有していると分かる。図4(a)のFATには、“c1.dat”,“c2.dat”,“c3.dat”の3ファイルがあり、nullファイルが指し示す先頭クラスタ‘000f’以後のクラスタが、ディスク26の未使用領域である。
【0064】
HDC21は、DMAコマンドに従ってDMAリードしたデータをディスク26に書き込む際、nullファイルが指し示すクラスタ以後の連続するクラスタに対し当該データを書き込み、その書き込みが終了すると自身が管理しているFAT(FAT一部情報)を更新し、これによりディスク26のFAT領域(FAT情報)を更新する。
【0065】
例えば図4(a)の状態から、図4(b)のように、新たな“c4.dat”の書き込みを行う場合、HDC21は、nullファイルが指し示す先頭クラスタ‘000f’から順に当該ファイルのデータの書き込みを行い、その書き込みが終了した時点で、nullファイルが指し示す先頭クラスタを更新する。
【0066】
図4(c)の通り、“c4.dat”書き込み後のFATには、ファイル名“c4.dat”が追加され、先頭クラスタが‘000f’で6クラスタ占有していると分かる。また、nullファイルが指し示す未使用領域は、先頭クラスタ‘0015’を指し示すように更新されている。
【0067】
次に、図5において、ファイルを削除した時のnullファイルの扱いについて説明する。前記図4(c)と同様の状態の図5(a)のFATにおいて、例えば、図5(b)のように、クラスタ‘000b’〜‘000e’の4つのクラスタを占有していた“c3.dat”が削除される場合、FATの“c3.dat”が占有していたエントリは、図5(c)のように、ファイル名がnullになる。
【0068】
この削除の後、CPU11が、占有クラスタ数が4以下のファイルを書き込む場合に、上記“c3.dat”が占有していたクラスタが再利用される。また、CPU11が、占有クラスタ数が5以上のファイルを書き込む場合に、上記再利用は行わずに、先頭クラスタ‘0015’以後の連続するクラスタに書き込む。
【0069】
上記のようにSD200のHDC21がFAT情報を管理し、情報処理装置100のCPU11側も、SD200(HDC21)側のFAT情報(FAT一部情報)を読み出すことによりFAT情報(FAT情報コピー)を管理する。
【0070】
<従来技術との対比>
前記図2,図3,図6を用いてSD200に対して新規追加されたコマンド(DMAコマンド)の動作を説明したが、SD200がアクティブ状態となる期間を、図2等に示す実施の形態1の動作の場合と、図7に示す従来技術で動作させた場合とで比較して説明する。図7は、従来のDMAコマンドの第1の動作例を示す。図8は、従来のDMAコマンドの第2の動作例を示す。従来技術のシステムでは、SD(HDD)にライトバッファは設けていない。
【0071】
図7において、情報処理装置のCPUは、SD(HDD)に対して在来のDMA転送による主記憶からSDのディスクへのDMA転送を、「WRITE DMA」コマンドによって指示する(S701)。SDのHDCは、受信した「WRITE DMA」コマンドを解釈し、情報処理装置の主記憶にDMAリードを試みる(S702)。HDCは、主記憶から1番目のデータ(DATA#1)を受信すると、メモリ上に蓄えることなくディスクに書き込む(S703)。そして、以後n番目のデータ(DATA#n)まで同様の動作を繰り返す。なお、ここでのメモリとは、従来のSD(HDD)がローカルに持っていたメモリであり、従来リードバッファとして用いられることはあったが、ライトバッファとしては用いられていない。
【0072】
HDCは、ディスクにn番目のデータ(DATA#n)を書き込み終えると、CPUに対してACKを返す(S704)。ACKを受信したCPUは、SDのディスクのFAT領域のデータ(FAT情報)を、「PIO WRITE」コマンド及びFAT情報の送信によって書き換え、これによりファイル管理情報(FAT情報)を更新する(S705)。ここでは、「PIO WRITE」コマンドに続けて更新FAT情報(「FAT」)を転送することにより更新している。
【0073】
上記FAT領域の書き換え(更新)が完了すると、HDCは、CPUにACKを返す(S706)。ここで、上記PIO転送処理(S703)によって対象ユーザデータの転送が終了している場合とする。CPUは、ACKを受信すると、この後、SDのディスクを読み書きするタスクが無いので、スタンバイ状態への遷移を命じるための「Stand By」コマンドをSDに送信し、SDは、それに従ってアクティブ状態からスタンドバイ状態に遷移する。
【0074】
図7と図2の右端の駆動部において、いずれも、1番目のデータ(DATA#1)の書き込みからスタンバイ状態を指示されるまでの期間では、駆動ハードウェア部のモータ等が回転しているアクティブ状態にある。このアクティブ状態の期間は、図7の場合では、主記憶ないしCPUとSDとの間のターンアラウンドタイム(t1で示す)に依存している。なおここで、ターンアラウンドタイムは、コマンドを出してからACKが返ってくるまでの時間である。
【0075】
一方、アクティブ状態の期間は、図2の場合では、SD200のHDC21の処理時間(T2)、特にライトバッファ23からディスク26への書き込み処理(S203,S204)の速度及び時間、に依存している。図7と図2とを比較すると、図2の方が、アクティブ状態の期間が短いことがわかる。電力量は動作時の電力と動作時間の積であるから、アクティブ状態の期間が短いと自ずと消費電力量は少なくなる。そのため、図2の本実施の形態における新規追加のDMAコマンドで動作させたSD200の方が、図7の従来技術で動作させたSD(HDD)よりも消費電力量が少なくなり、また消費電力量を時間平均して算出する平均消費電力も低くなる。
【0076】
また、図8において、消費電力の低減に関しては、「WRITE DMA」コマンドを連発した場合(対象ユーザデータのサイズが大きく複数回の転送制御を要する場合)に顕著に現れる。従来技術による図8に示す「WRITE DMA」コマンドの連発(例えば2回)による動作に対して、本実施の形態での実現例が図3に示す複数回(2回)の転送制御(U1,U2)による動作である。
【0077】
図8の従来技術の動作では、CPUによる、n番目のデータ(DATA#n)の書き込み後から、n+1番目のデータ(DATA#n+1)の書き込みまでの間、SDはアクティブ状態を保っている。この間、CPUは、ACK(S804)を受信した後、「WRITE DMA」コマンドを送信し(S811)、それを受信したHDCは、主記憶にDMAリードを試みる。この間、CPUは、SDに対してスタンバイ状態に遷移するよう指示することは無い。また、HDCは、次にCPUから指示されるコマンドが予測できないので、駆動部に対しスタンバイ状態への遷移を指示するようなことは不可能である。結果、この期間、SDの駆動部のモータ等は停止することなくアクティブ状態を維持し続ける。
【0078】
一方、図3の本実施の形態のSD200の動作の場合、DMAコマンドの動作により、図8の従来技術の動作の場合と比較して、SDがアクティブ状態にある期間は短くなり、消費電力量及び平均消費電力が低くなる。
【0079】
以上、本実施の形態1のシステムは、SD200のメモリ22の一部をライトバッファ23として利用し、情報処理装置100の主記憶12上のデータをSD200のディスク26へ書き込む処理(ユーザデータ記録処理)におけるDMA転送をパイプライン化した構成である。即ち、主記憶12−ライトバッファ23間の第1の転送(DMAリード)と、ライトバッファ23−ディスク26間の第2の転送(書き込み)とに分離した構成である。これによって、ディスク26への書き込み所要時間を最短化でき、第2の転送時のみSD200がアクティブ状態になることで書き込み時の仕事量/電力量を低減でき、結果、SD200の平均消費電力を低減できる。
【0080】
(実施の形態2)
次に、図6を用いて実施の形態2を説明する。実施の形態2では、特徴として、新規に追加されたコマンド(例としてPIOコマンドと名付ける)の処理によるPIO転送及び節電制御によるユーザデータ記録処理を実現する。図6は、PIOコマンドの動作を示す。実施の形態2のシステム構成は、実施の形態1と同様であり、制御動作などが異なる。
【0081】
前記実施の形態1のSD200に追加されたコマンド(DMAコマンド)では、主記憶12とメモリ22上のライトバッファ23との間でのDMA転送を試みるものである。一方、実施の形態2における図6の構成及び処理では、新規追加されたPIOコマンドを用いて、前記図2の主記憶12−ライトバッファ23間のDMA転送の制御動作を、CPU11からライトバッファ23へのPIO転送の制御動作に置き換えているものである。
【0082】
図6において、ユーザデータ記録処理を説明する。情報処理装置100のCPU11は、PIOコマンドで、アドレス(PIO転送開始アドレス)、サイズ(s3:PIO転送サイズ)、属性(ファイル名やユーザデータ全体のサイズ(s1)などを含む)などを指定・記述し、SD200に対し発行・送信する(S601)。例としてPIO転送サイズ(s3)は、データ単位のn個分とする。なおPIOコマンドと記録対象データの送信は、コマンドとデータに分けて続けて送信する形でもよいし、コマンド内にデータを格納する形での送信でもよい。
【0083】
HDC21は、CPU11側から受信したPIOコマンドを解釈し、メモリ22上にライトバッファ23を用意・確保する。この後、CPU11からHDC21のライトバッファ23に対して、PIOコマンドでの転送サイズ(s3)などの指定に従って、まず1番目のデータ(DATA#1)が送信され、続いて順次n番目のデータ(DATA#n)までが送信される。そして、PIO転送サイズ(s3)分のn番目のデータ(DATA#n)までの転送が終わると、CPU11は、HDC21に対して、ATAで規定されている「FLUSH CACHE」コマンドを送信する(S602)。このコマンドは、蓄積したデータ(DATA#1〜#n)を一度に書き込み処理させるものである。
【0084】
このコマンドを受信したSD200のHDC21は、メモリ22のライトバッファ23上の該当データ(DATA#1〜#n)を、信号処理部24及び駆動制御部25の制御を通じて、一気にディスク26に書き込む(S603)。ディスク26への書き込み時においては、駆動部はアクティブ状態(「ACTIVE」)である。このn番目のデータ(DATA#n)の書き込みが終わると、HDC21は、FATの情報(FAT一部情報)を更新し、ディスク26のFAT領域に書き込む(S604)。その後すぐに、HDC21は、駆動制御部25にスタンバイ状態(「STANBY」)への遷移を命じ、これにより駆動ハードウェア部のモータ27等を停止させてスタンバイ状態へ遷移する(S606)。
【0085】
また一方、HDC21は、上記FAT領域の更新が済むと、直後、PIOコマンドに対するACKをCPU11に返す(S605)。ここで図6では、PIOコマンドにおけるPIO転送サイズ(s3)分の1回目の処理(S601〜S603)によって対象ユーザデータのファイルの転送が終了できた場合である。
【0086】
CPU11は、HDC21からACKを受信すると、ユーザデータの転送終了を通知し、データ転送が完了したこと(「END」)をHDC21側へ通知する(S607)。HDC21は、CPU11側からそのデータ転送完了通知を受けると、ACKを返す。
【0087】
CPU11は、HDC21側からACKを受けると、CPU11が管理するFAT(FAT情報コピー)の更新のために、HDC21が更新したFAT領域のデータ(FAT情報)を読み出そうとする(「Read−FAT−entry」,S608)。これに対し、HDC21は、ディスク26の該当FAT領域のデータ(FAT情報)を読み出さずに、HDC21が管理しているFATの該当データ(FAT一部情報)を、CPU11に返す(「Reply」)。なお、HDC21は、PIOコマンドの処理によってFAT情報を把握しているため、上記FAT一部情報を返すことができ、これはディスク26から読み出して返す場合よりも効率的である。
【0088】
以上の通り、CPU11は、追加されたコマンド(PIOコマンド)と、FATの更新のためのFAT領域の読み出しコマンド(「Read−FAT−entry」)との2つのコマンドを用いることにより、主記憶12上の動画ファイル等のデータを、SD200のディスク26に書き出して保存することができる。そして、この処理において、SD200の駆動部は、ライトバッファ23からディスク26へのデータの書き込み処理の時のみ、アクティブ状態となる。
【0089】
実施の形態2に対応する従来技術は、CPU及び主記憶から、SDのディスクへのデータ転送による処理動作を行う構成であり、アクティブ状態の期間は、ターンアラウンドタイムに依存している。一方、実施の形態2の場合では、実施の形態1と同様に、アクティブ状態の期間は、SD200のHDC21の処理時間(T1)、特にディスク26への書き込み処理(S603,S604)の速度及び時間、に依存している。従って、従来技術よりも実施の形態2のPIOコマンドで動作させたSD200の方が、アクティブ状態の期間が短く、消費電力量及び平均消費電力も低くなる。
【0090】
以上、実施の形態2のシステムは、ユーザデータ記録処理におけるデータ転送を、情報処理装置100のCPU11及び主記憶12とSD200のライトバッファ23との間での第1の転送(PIO転送)と、ライトバッファ23とディスク26との間での第2の転送(書き込み)とに分離した構成である。これによって、外部デバイス(情報処理装置100)とSD200との間の転送速度に無関係に、ライトバッファ23とディスク26との間の転送速度をほぼ一定としてディスク26にデータを書き込む際の所要時間(T2)を一様化・最小化でき、第2の転送時のみSD200がアクティブ状態になることで書き込み時の仕事量/電力量を低減でき、結果、SD200の平均消費電力を低減できる。
【0091】
(実施の形態3)
次に、図9,図10を用いて実施の形態3を説明する。実施の形態3では、特徴として、前記実施の形態1の新規追加されたコマンド(DMAコマンド)の処理によるユーザデータ記録処理と共に、ホスト(情報処理装置100)からの読み出しコマンドに応じて、ディスクからのデータ読み出し処理を、ディスクへのデータ書き込みに優先して行うものである。換言すれば、ホストへのユーザデータの先読み処理を行うものである。実施の形態3のシステム構成は、実施の形態1と同様であり、制御動作などが異なる。
【0092】
図9のシーケンスにおいて、前述同様のDMAコマンド及びそれを用いた動作(ユーザデータ記録処理)と、そのDMAコマンドに続く在来の読み出しコマンド(「READ DMA」)及びそれによる動作とを示している。本構成及び処理では、DMAコマンドに続く読み出しコマンド(「READ DMA」)を用いて、HDC21−主記憶12間のDMA転送(データ書き込みの転送)と、HDC21−主記憶12間の「READ DMA」転送(データ読み出しの転送)との制御動作を行う。最初のDMAコマンドによるデータ書き込み処理の途中で読み出しコマンドが発行(受領)され、それによるデータ読み出し処理(先読み処理)が優先して行われ、その後に先のDMAコマンドによるデータ書き込み処理が再開される場合である。
【0093】
DMAコマンドを用いた、S901,S902,S9031,S9032,S904〜S908等の処理は、実施の形態1の図2のS201〜S203の処理と同様なユーザデータ記録処理である。また、図9の処理は、DMA転送サイズ(s2)に対応した1回の転送制御・動作(U1)で、ユーザデータの転送が完了する場合である。
【0094】
まず、情報処理装置100のCPU11は、前記DMAコマンドで、アドレス、サイズ(s2:DMA転送サイズ)、属性などを指定・記述し、SD200に対し発行・送信する(S901)。
【0095】
CPU11側からのDMAコマンドは、SD200で受信され、HDC21で解釈される。HDC21は、メモリ22上に、ライトバッファ23を用意・確保する。HDC21は、受信したDMAコマンドを解釈し、それにより、主記憶12上の対象データ(ユーザデータ)をDMA転送によって読み出して、メモリ22上に確保されたライトバッファ23上に一旦格納する。即ち、HDC21は、主記憶12に対してDMAリードを要求し(「DMA Read」,S902)、1番目のデータ(DATA#1)から順にDMA転送を開始して、ライトバッファ23に蓄積してゆく。そして、n番目のデータ(DATA#n)までの転送が終わって、ライトバッファ23上の蓄積データ量が、DMA転送サイズ(S2)分に達する。
【0096】
次に、HDC21は、ライトバッファ23上の当該データ(DATA#1〜#n)を、信号処理部24及び駆動制御部25の制御を通じて、一気にディスク26に書き込む(S9031,S9032)。このディスク26への書き込み時において、駆動部はアクティブ状態(「ACTIVE」)である。DMA転送サイズ(s2)分のDMA転送の処理を終えると、HDC21は、ライトバッファ23上のデータ(DATA#1〜#n)を、一気にディスク26に書き込む(S9031,S9032)。
【0097】
ここで、このディスク26への書き込み(S9031)の前後に、CPU11は、ATAバスで定義された在来の「READ DMA」コマンドを、SD200(HDC21)に対し発行・送信する(S911)。
【0098】
その「READ DMA」コマンドを受けたHDC21は、ライトバッファ23上のデータ(DATA#1〜#n)のディスク26への書き込み(S9031,S9032)を、その途中(本例ではS9031とS9032の間)で中断する。そして、HDC21は、「READ DMA」コマンドの解釈に従い、そのコマンドで指定された読み出し対象のデータ(なおDATA#1〜#n等とは異なる)を、ディスク26からメモリ22へ読み出す(S912)。
【0099】
HDC21は、ディスク26からの対象データの読み出し(S912)が完了した時点で、先ほど中断したディスク26への該当データ(DATA#1〜#n)の書き込みを再開する(S9032)。
【0100】
上記ディスク26からの読み出し(S912)で読み出された対象データは、HDC21及びメモリ22から主記憶12上の領域(先読みバッファ)に対し、DMAライト(「DMA Write」)により転送される(S913)。
【0101】
そして、その対象データの単位データ群のDMAライト(S913)の動作が終了すると、HDC21は、CPU11に対し、対象データを転送完了した旨を、先の読み出しコマンド(「READ DMA」)に対するACKで返す(S914)。このACK(S914)により、一連の読み出しコマンド(「READ DMA」)に伴う転送制御の動作(UR)が完了する。
【0102】
一方、前記S9032から再開されたディスク26へのデータの書き込みが終わると、即ちn番目のデータ(DATA#n)の書き込みが終わると、前述同様に、HDC21は、FAT情報を更新し、ディスク26のFAT領域に書き込む(「FAT」,S904)。その後すぐに、HDC21は、駆動制御部25にスタンバイ状態(「STANBY」)への遷移を命じる(「Stand By」,S906)。これにより駆動制御部25が、駆動ハードウェア部の稼働を停止(一時停止)させることで、アクティブ状態からスタンバイ状態へ遷移する。
【0103】
また一方、HDC21は、前述同様に、上記FAT領域の更新が済むと、直後、DMAコマンドに対するACKをCPU11に返す(S905)。このACK(S905)により、一連のDMAコマンドに伴う転送制御の動作(U1)が完了する。
【0104】
上記DMAコマンドに伴う動作(U1)と、在来の読み出しコマンド(「READ DMA」)に伴う動作(UR)とを比較すると、DMAコマンドによる動作(U1)の期間中に、データ読み出しの動作(U2)が実行されている(含まれている)。
【0105】
ここで、前述同様に、DMAコマンドのDMA転送サイズ(s2)分の処理(S902,S9031,S9032)によって対象ユーザデータのファイルの転送が終了できた場合である。CPU11は、HDC21からACKを受信すると(S905)、ユーザデータの転送終了をHDC21側へ通知し、HDC21は、その通知を受けると、ACKを返す(S907)。以降、前述同様に、CPU11は、FAT更新のために、HDC21が更新したFAT領域のデータを読み出そうとし(「Read−FAT−entry」,S908)、HDC21は、該当データ(FAT一部情報)をCPU11に返し(「Reply」)、CPU11は、返された情報によりFAT更新する。以上で一連の処理が完了する。
【0106】
以上の通り、CPU11は、前記DMAコマンドと前記FAT更新のためのコマンドとの2つのコマンドを用いることにより、主記憶12上の例えば動画ファイル等のデータを、SD200のディスク26に書き出して保存することができる。それと共に、SD200がディスク26にデータを書き出して保存する間にCPU11から読み出しコマンド(「READ DMA」)が発行されると(DMAコマンドと読み出しコマンドが連続した場合)、書き出しを中断してデータ読み出しを優先し、その読み出しの完了後に、中断していた書き出しを再開する。即ち、「READ DMA」のデータ読み出し及びDMA転送の優先制御が実現される。そして、この一連の処理において、SD200の駆動部は、ライトバッファ23からディスク26へのデータの書き込み処理とディスク26からの読み出し処理の時のみ、アクティブ状態となる。即ち、DMAコマンドによるスタンバイ状態への遷移による平均消費電力の低減が実現される。以上のように、本実施の形態3のシステムは、ユーザデータ記録処理と共にデータ先読み処理を効率的に行うことができる。
【0107】
また、実施の形態3に関する他の構成例として以下も同様に可能である。図9において、DMAコマンドに「READ DMA」即ちDMA転送によるデータ読み出しコマンドが連続した場合を示したが、前記DMAコマンドに、在来の「PIO READ」即ちPIO転送によるデータ読み出しコマンドが連続した場合においても、同様に処理可能である。具体的には、HDC21は、S911で「READ DMA」の代わりに「PIO READ」を受領した場合、DMAコマンドによるディスク26への書き込み(S9031,S9032)を中断し、「PIO READ」コマンドの処理を優先し、その「PIO READ」コマンドの処理が終了した時点で、前記中断していた書き込み(S9031,S9032)を再開する。再開した書き込みが終了すると、スタンバイ状態に遷移させる。
【0108】
また、図9において前記DMAコマンドの代わりに前記実施の形態2で説明したPIOコマンドであった場合においても、同様に処理可能である。具体的には、PIOコマンドによりSD200に書き込まれるデータは、一旦HDC21が管理するライトバッファ23に蓄積される。この状態で、CPU11が前記「READ DMA」や「PIO READ」のコマンドでデータ読み出しを指示すると、HDC21は、上記データのディスク26への書き出しが完了していなくても、一旦ディスク26への書き出しを中断し、上記コマンドで指示されたデータ読み出しを優先して実行し、その読み出しの完了後に、上記中断していたディスク26への書き出しを再開する。再開した書き込みが終了すると、スタンバイ状態に遷移させる。
【0109】
次に、実施の形態3と従来技術との対比として、前記DMAコマンドと読み出しコマンドによる、SD200がアクティブ状態となる期間を、図9の実施の形態3の動作の場合と、図10に示す従来技術で動作させた場合とで比較して説明する。
【0110】
図10において、まずS1001〜S1006の処理は、図7のS701〜S706と同様である。即ち、情報処理装置のCPUは、「WRITE DMA」コマンドにより、SD(HDD)のディスクへデータを書き込み、「PIO WRITE」コマンドによりディスクへFAT情報を書き込みする。FAT領域の書き換え(更新)が完了すると、SDのHDCは、CPUにACKを返す(S1006)。ここで、上記PIO転送処理(S1003)によって対象ユーザデータの転送が終了している場合とする。
【0111】
CPUは、ACK(S1006)を受信すると、次にディスクからのデータ読み出しの動作に遷る。CPUは、SDに対して在来のDMA転送によるSDのディスクから主記憶へのDMA転送を、在来の「READ DMA」コマンドによって指示する(S1011)。
【0112】
SDのHDCは、受信した「READ DMA」コマンドを解釈し、HDCは、ディスクから、指示された読み出し対象データにおける1番目のデータを読み出し、情報処理装置の主記憶へのDMAライトを試みる(S1012)。「READ DMA」コマンド(S1011)で指示された量のデータの転送が終了するまで、このDMAライトの動作を繰り返す。この動作が終了すると、HDCは、CPUにACKを返す(S1013)。
【0113】
CPUは、ACKを受信すると、この後、SDのディスクを読み書きするタスクが無いので、スタンバイ状態への遷移を命じるための「Stand By」コマンドをSDに送信し、SDは、それに従ってアクティブ状態からスタンドバイ状態に遷移する(S1014)。
【0114】
図10と図9の右端の駆動部において、いずれも、1番目のデータ(DATA#1)の書き込みからスタンバイ状態を指示されるまでの期間では、アクティブ状態にある。このアクティブ状態の期間は、図10の従来動作の場合では、主記憶ないしCPUとSDとの間のターンアラウンドタイムの総和(t1とtrの合計で示す)に依存している。trは、「READ DMA」コマンドの処理に対応したターンアラウンドタイムを示す。
【0115】
一方、図9の実施の形態3の動作の場合では、アクティブ状態の期間は、SD200のHDC21の処理時間(T2)、特にライトバッファ23とディスク26との間の書き込み及び読み出しの処理(S9031,S912,S9032,S913,S904等)の速度及び時間、に依存している。図10と図9とを比較すると、図9の方が、アクティブ状態の期間が短いことがわかる。そのため、図9の実施の形態3のSD200の方が、図10の従来技術で動作させたSD(HDD)よりも消費電力量が少なくなり、また平均消費電力も低くなる。
【0116】
以上説明したように、各実施の形態によれば、情報処理装置100からSD200に対するユーザデータ記録処理を効率化して、節電型のSD200を実現・提供できる。以下、本実施の形態によるその他の効果及び動作を説明する。
【0117】
ホスト(CPU11)に代わりHDC21がFAT領域の更新を行うことで、ディスク26へのデータの書き込み後にFAT領域を更新するまでの負荷が短縮でき、FAT領域の更新までに要する電力量も最小化できる。新規追加されたコマンドの動作により、SD200のライトバッファ23からディスク26にデータを書き込んだ後、SD200のHDC21が自発的にファイル管理情報をFAT領域に書き込んで更新でき、自発的にSD200をスタンバイ状態に遷移させることができる。SD200が情報処理装置100のCPU11からのコマンドを頼らずに自発的にファイル管理に係わる動作ができるので、FATの更新でもスタンバイ状態への遷移でも、所要時間を最短化でき、仕事量/電力量を低減できる。ホスト(CPU11)の指示を待たずにFAT領域の更新後に即座にSD200の動作状態を切り換えてモータ27等を停止させることで、最適な節電が可能となる。ホスト(CPU11)からの次のコマンドを受信するまでSD200は確実にモータ27等が停止した低消費電力の状態を維持でき、平均消費電力を低減できる。
【0118】
また実施の形態3で示したように、ホスト(CPU11)に代わりHDC21がSD200のライトバッファ23を管理するので、ホスト(主記憶12)からライトバッファ23に対しディスク26へ書き込むデータを転送し終えた時点で、ホスト(CPU11)が読み出しを行うと、自発的にディスク26への書き込みを中断できる。そして、HDC21は、自発的にこの読み出しを優先して実行できる。読み出しを優先することで、ホスト(CPU11)において読み出し時のアクセス時間を見かけ上短縮することができ、ホスト(CPU11)における演算処理が中断する時間を短縮でき、性能が向上する。HDC21は、前述のディスク26からの読み出しの終了後にライトバッファ23に蓄えておいたデータをディスク26に書き込める。その書き込み終了後は、SD200のHDC21が自発的にファイル管理情報をFAT領域に書き込んで更新でき、自発的にSD200をスタンバイ状態に遷移させることができる。HDC21は、書き込みと読み出しをスケジューリングすることができ、書き込み終了後にスタンバイ状態に遷移させることで平均消費電力を低減できる。
【0119】
また、本節電型のSD(HDD等)200は、スタンバイ状態に遷移することで、ディスク26の読み書きヘッド(28)は不活性となり、公知技術に従い衝撃の影響を受けにくい退避ゾーン(シッピングゾーン)に移動する。よって、SD200(ディスク26)に衝撃が与えられても、円盤(26)の記録面を叩いてその記録面やヘッド(28)自身を傷つけたり、ヘッド(28)が円盤(26)に吸着して動作不能になったりする確率を減らすことができ、製品の信頼性を高めて寿命を伸ばすことができる。
【0120】
また、SD200がスタンバイ状態に遷移することで、積算稼働時間の伸びを抑制でき、平均故障間隔(MTBF:Mean Time By Fault)で表される製品寿命の到達時期を先送りでき、製品の信頼性が高まる。また、SD200をスタンバイ状態に遷移させた結果、SD200の消費電力は下がるのでSD200の電力消費に伴う発熱が抑制され動作時の温度が低減でき、MTBFが改善し、放熱のための機構が省略できコスト削減できるだけでなく、構造が単純化できて保守性も向上し軽量化にも寄与する。また、低消費電力化によりバッテリ寿命が延び、またバッテリ寿命を一定とした場合にはバッテリのセル数が削減でき軽量化も可能となる。
【0121】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【図面の簡単な説明】
【0122】
【図1】本発明の実施の形態1の情報処理システム(情報処理装置及びストレージドライブ)のブロック構成を示す図である。
【図2】本発明の実施の形態1の情報処理システムにおける、新規追加された第1のコマンド(DMAコマンド)の動作によるユーザデータ記録処理の第1の処理を示すシーケンス図である。
【図3】本発明の実施の形態1の情報処理システムにおける、新規追加された第1のコマンド(DMAコマンド)の連続動作によるユーザデータ記録処理の第2の処理を示すシーケンス図である。
【図4】本発明の実施の形態1の情報処理システムにおける、ファイル書き込みの前後のファイル管理テーブル(FAT)の状態例を示す図である。
【図5】本発明の実施の形態1の情報処理システムにおける、ファイル削除前後のファイル管理テーブル(FAT)の状態例を示す図である。
【図6】本発明の実施の形態1の情報処理システムにおける、新規追加された第2のコマンド(PIOコマンド)の動作によるユーザデータ記録処理を示すシーケンス図である。
【図7】従来技術の情報処理システムにおけるDMA転送のためのコマンドの動作による第1の処理例を示すシーケンス図である。
【図8】従来技術の情報処理システムにおけるDMA転送のためのコマンドの連続動作による第2の処理例を示すシーケンス図である。
【図9】本発明の実施の形態3の情報処理システムにおける、第1のコマンド(DMAコマンド)とDMAリードコマンドとの連続動作によるユーザデータ記録処理及び読み出し処理の例を示すシーケンス図である。
【図10】従来技術の情報処理システムにおけるDMAライトコマンドとDMAリードコマンドとの連続動作による処理例を示すシーケンス図である。
【符号の説明】
【0123】
11…CPU、12…主記憶(メモリ)、13…フラッシュメモリカード、14…ブリッジ、15…ベアラ部、16…チューナ、17…カメラ及びマイク、18…LCD及びスピーカ、19…キーバッド、21…コントローラ(HDC)、22…メモリ、23…ライトバッファ、24…信号処理部、25…駆動制御部、26…記録媒体(ハードディスク)、27…モータ、28…ヘッド、100…情報処理装置(第1の情報処理装置)、200…SD(ストレージドライブ)、300…情報処理システム。

【特許請求の範囲】
【請求項1】
コントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、モータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備え、ホストとなる情報処理装置に搭載もしくは接続されるストレージ装置であって、
前記情報処理装置から前記ストレージ装置に対し、記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第1のコマンドが発行及び送信され、
前記コントローラは、前記情報処理装置側からの前記第1のコマンドを解釈して、前記情報処理装置における前記アドレスのデータを、前記メモリ上に確保されるライトバッファに、第1の転送の処理によって蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第2の転送によって書き込みし、前記第2の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第1の状態にすることを特徴とするストレージ装置。
【請求項2】
請求項1記載のストレージ装置であって、
前記コントローラは、前記第2の転送によって前記ライトバッファ上の前記一定量のデータを前記記録媒体に対し書き込みすることが終了した時点で、当該データに関する第1の管理情報を、前記第1のコマンドに含まれる情報に基づき作成して、前記記録媒体の領域に書き込みすることを特徴とするストレージ装置。
【請求項3】
請求項2記載のストレージ装置であって、
前記コントローラは、前記記録媒体への前記第1の管理情報の書き込みが終了した時点で、前記駆動制御手段を通じて前記駆動ハードウェア部を制御することにより、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第1の状態から前記駆動ハードウェア部が停止する第2の状態へと遷移させることを特徴とするストレージ装置。
【請求項4】
請求項3記載のストレージ装置であって、
前記ストレージ装置の動作状態を前記第2の状態へ遷移させた後に、前記情報処理装置が前記記録及び転送対象のデータに対応する前記第1の管理情報の読み出しを試みると、
前記コントローラは、前記第1の管理情報に対応した、当該コントローラ内もしくは前記メモリの一部に保持している第2の管理情報を、前記情報処理装置へ応答することを特徴とするストレージ装置。
【請求項5】
コントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、前記記録媒体に対するモータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備え、ホストとなる情報処理装置に搭載もしくは接続されるストレージ装置であって、
前記情報処理装置から前記ストレージ装置に対し、記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第2のコマンドと、前記記録及び転送対象のデータとを、第1の転送の処理によって送信し、
前記コントローラは、前記情報処理装置側からの前記第2のコマンドを解釈し、前記記録及び転送対象のデータを受信して、前記メモリ上に確保されるライトバッファに蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第2の転送によって書き込みし、前記第2の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第1の状態にすることを特徴とするストレージ装置。
【請求項6】
請求項5記載のストレージ装置であって、
前記コントローラは、前記第2の転送によって前記ライトバッファ上の前記一定量のデータを前記記録媒体に対し書き込みすることが終了した時点で、当該データに関する第1の管理情報を、前記第2のコマンドに含まれる情報に基づき作成して、前記記録媒体の領域に書き込みすることを特徴とするストレージ装置。
【請求項7】
請求項6記載のストレージ装置であって、
前記コントローラは、前記記録媒体への前記第1の管理情報の書き込みが終了した時点で、前記駆動制御手段を通じて前記駆動ハードウェア部を制御することにより、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第1の状態から前記駆動ハードウェア部が停止する第2の状態へと遷移させることを特徴とするストレージ装置。
【請求項8】
請求項7記載のストレージ装置であって、
前記ストレージ装置の動作状態を前記第2の状態へ遷移させた後に、前記情報処理装置が前記記録及び転送対象のデータに対応する前記第1の管理情報の読み出しを試みると、
前記コントローラは、前記第1の管理情報に対応した、当該コントローラ内もしくは前記メモリの一部に保持している第2の管理情報を、前記情報処理装置へ応答することを特徴とするストレージ装置。
【請求項9】
ストレージコントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、モータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備え、ホストとなる情報処理装置に搭載もしくは接続されるストレージ装置における前記ストレージコントローラであって、
前記ストレージコントローラは、前記記録媒体に対する読み書きを含む動作のために、前記メモリ、前記信号処理手段、及び前記駆動制御手段を制御し、前記情報処理装置のプロセッサ及び主記憶装置と所定のインタフェースで接続され、
前記情報処理装置は、前記ストレージ装置に対し、記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第1のコマンドを発行及び送信し、
前記ストレージコントローラは、前記情報処理装置側からの前記第1のコマンドを解釈して、前記情報処理装置における前記アドレスのデータを、前記メモリ上に確保されるライトバッファに、第1の転送の処理によって蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第2の転送によって書き込みし、前記第2の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第1の状態にすることを特徴とするストレージコントローラ。
【請求項10】
ストレージコントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、前記記録媒体に対するモータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備え、ホストとなる情報処理装置に搭載もしくは接続されるストレージ装置における前記ストレージコントローラであって、
前記ストレージコントローラは、前記記録媒体に対する読み書きを含む動作のために、前記メモリ、前記信号処理手段、及び前記駆動制御手段を制御し、前記情報処理装置のプロセッサ及び主記憶装置と所定のインタフェースで接続され、
前記情報処理装置は、前記ストレージ装置に対し、記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第2のコマンドと、前記記録及び転送対象のデータとを、第1の転送の処理によって送信し、
前記ストレージコントローラは、前記情報処理装置側からの前記第2のコマンドを解釈し、前記記録及び転送対象のデータを受信して、前記メモリ上に確保されるライトバッファに蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第2の転送によって書き込みし、前記第2の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第1の状態にすることを特徴とするストレージコントローラ。
【請求項11】
ストレージコントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、モータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備えるストレージ装置と、少なくともプロセッサ及び主記憶装置とを備える情報処理装置であって、
前記プロセッサは、前記ストレージ装置に対するデータの記録のための転送の際、前記ストレージ装置に対し、前記記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第1のコマンドを発行及び送信し、
前記ストレージコントローラは、前記プロセッサ側からの前記第1のコマンドを解釈して、前記アドレスのデータを、前記メモリ上に確保されるライトバッファに、第1の転送の処理によって蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第2の転送によって書き込みし、前記第2の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第1の状態にすることを特徴とする情報処理装置。
【請求項12】
ストレージコントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、前記記録媒体に対するモータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備えるストレージ装置と、少なくともプロセッサ及び主記憶装置とを備える情報処理装置であって、
前記プロセッサは、ストレージ装置に対するデータの記録のための転送の際、前記ストレージ装置に対し、前記記録及び転送対象のデータに係わる情報としてアドレス、転送サイズ、及び属性を含む、第2のコマンドと、前記記録及び転送対象のデータとを、第1の転送の処理によって送信し、
前記ストレージコントローラは、前記プロセッサ側からの前記第2のコマンドを解釈し、前記記録及び転送対象のデータを受信して、前記メモリ上に確保されるライトバッファに蓄積し、前記ライトバッファに前記転送サイズに対応した一定量のデータが蓄積された時点で、当該一定量のデータを、前記信号処理手段及び駆動制御手段の制御を介して、前記記録媒体に対し第2の転送によって書き込みし、前記第2の転送の際には、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働する第1の状態にすることを特徴とする情報処理装置。
【請求項13】
請求項11または12に記載の情報処理装置において、
無線を通じて送受信処理を行う無線送受信部を備え、前記無線送受信部の処理を通じて外部から受信ないしダウンロードするユーザデータを、前記主記憶装置に一旦格納しつつ、前記コマンドを用いて前記ストレージ装置へ記録する処理を行うことを特徴とする情報処理装置。
【請求項14】
請求項11または12に記載の情報処理装置において、
無線を通じて放送を受信する放送受信部を備え、前記放送受信部の処理を通じて外部から受信するユーザデータを、前記主記憶装置に一旦格納しつつ、前記コマンドを用いて前記ストレージ装置へ記録する処理を行うことを特徴とする情報処理装置。
【請求項15】
請求項11または12に記載の情報処理装置において、
カメラ及びマイクを備え、前記カメラ及びマイクを通じて外部から撮像及び録音により入力するユーザデータを、前記主記憶装置に一旦格納しつつ、前記コマンドを用いて前記ストレージ装置へ記録する処理を行うことを特徴とする情報処理装置。
【請求項16】
請求項11または12に記載の情報処理装置において、
前記ストレージコントローラにおいて、前記ライトバッファから前記記録媒体に対する前記第2の転送による書き込みの途中に、前記プロセッサからデータの読み出しの指示を受けると、前記第2の転送による書き込みを中断し前記読み出しを優先して前記記録媒体から前記プロセッサに指示されたデータを読み出すことを特徴とする情報処理装置。
【請求項17】
請求項16記載の情報処理装置において、
前記ストレージコントローラにおいて、前記プロセッサに指示されたデータの読み出しが完了すると、前記中断した前記第2の転送による書き込みを再開し、前記再開した書き込みが完了すると、当該ストレージ装置の動作状態を、前記駆動ハードウェア部が稼働しない第2の状態にすることを特徴とする情報処理装置。
【請求項18】
ストレージコントローラと、メモリと、記録媒体と、前記記録媒体に対する読み書きを含む動作のための信号処理手段と、モータ及びヘッドを含む駆動ハードウェア部と、前記駆動ハードウェア部に対する駆動制御手段とを備えるストレージ装置と、少なくともプロセッサ及び主記憶装置とを備える情報処理装置であって、
前記ストレージ装置は、
データの読み書きができる動作状態とデータの読み書きができない動作状態とを備え、
前記記録媒体に対するデータの記録のための転送の際、前記記録のデータを保持するライトバッファを前記メモリに確保し、前記データの記録のための転送で受信したデータを前記ライトバッファに保持し、前記データの記録のための転送が終了した時点で、当該データを前記ライトバッファから前記記録媒体に書き込むものであり、
前記データの記録のための転送に続き、新たなデータの読み出しの指示を受けると、前記記録媒体への書き込みを中断し、前記記録媒体から前記指示されたデータを読み出して前記新たなデータの読み出しのための転送を行い、
前記記録媒体からの読み出しが完了すると、前記中断していた前記記録媒体への書き込みを再開し、
前記再開した書き込みが完了すると、前記ストレージコントローラは、当該ストレージ装置を、前記データの読み書きができない状態に遷移させることを特徴とする情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−21290(P2008−21290A)
【公開日】平成20年1月31日(2008.1.31)
【国際特許分類】
【出願番号】特願2007−30981(P2007−30981)
【出願日】平成19年2月9日(2007.2.9)
【出願人】(000233169)株式会社日立超エル・エス・アイ・システムズ (327)
【Fターム(参考)】