(57)【要約】【課題】この発明は、ディスク状記録媒体に不揮発性メモリをキャッシュとして情報の記録を行なうものにおいて、省電力化を図り、高速でかつ信頼性の高い情報の書き込み及び読み出し動作を実現することができ、しかも、ユーザにとっての取り扱いを便利にし得るようにした情報記録装置及びその制御方法を提供することを目的としている。【解決手段】アドレスを指定してピンドの属性情報を解除することを要求するコマンドが入力されたとき、そのコマンドで指定されたアドレスのうち、ピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する。これにより、キャッシュメモリ（１５）のアンピンドのアドレスに対応する領域のデータをディスク状記録媒体（１４）に書き込む機能が実行される際、上記コマンドで指定されたアドレスに対応する領域の情報をディスク状記録媒体（１４）に書き込むことができる。【選択図】    図１
2008027383.tif 000002
【特許請求の範囲】
【請求項１】
コマンドが入力される入力手段と、
ディスク状記録媒体と、
前記ディスク状記録媒体に対するキャッシュメモリとなる不揮発性メモリと、
前記不揮発性メモリに対して読み出しまたは書き込みすることをホストにより指示されたアドレスに前記不揮発性メモリ上の領域を割り当て、その割り当てた前記不揮発性メモリ上の領域に、前記ホストにより指示されたアドレスとピンドの属性情報とを対応付け、前記ホストから発行される読み出しまたは書き込みを要求するコマンドのうち、読み出しまたは書き込みすることを指示されたアドレスが前記ピンドの属性情報に対応付けられていないコマンドの一部または全部に対し、前記ピンドの属性情報に対応付けられていないアドレスに前記不揮発性メモリ上の領域を割り当て、その割り当てた前記不揮発性メモリ上の領域に、前記ホストから発行される読み出しまたは書き込みを要求するコマンドで指示されたアドレスとアンピンドの属性情報とを対応付けた管理テーブルを作成する作成手段と、
前記不揮発性メモリの中でアンピンドの属性情報が対応付けられた領域の一部または全部のデータを、所定のタイミングで前記ディスク状記録媒体に記録する記録手段と、
前記ホストからアドレスを指定して前記ピンドの属性情報を解除することを要求するコマンドに基づいて、前記管理テーブルの中で、前記指定されたアドレスのうちピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する制御手段とを具備することを特徴とする情報記録装置。
【請求項２】
前記制御手段は、ピンドからアンピンドの属性情報に変更されたアドレスに対して、前記管理テーブルの中で、その旨を示す属性情報を対応付け、
前記記録手段は、ピンドからアンピンドの属性情報に変更された旨の属性情報が対応付けられたアドレスに対応する前記不揮発性メモリ上の領域内のデータを、優先的に前記ディスク状記録媒体に記録することを特徴とする請求項１記載の情報記録装置。
【請求項３】
前記制御手段は、ピンドからアンピンドの属性情報に変更されたアドレスに対して、前記管理テーブルの中で、アクセスされた日時が最も古い旨を示す属性情報を対応付け、
前記記録手段は、アンピンドの属性情報が付加されたアドレスのうち、アクセスされた日時が最も古い旨を示す属性情報が対応付けられたアドレスに対応する前記不揮発性メモリ上の領域内のデータを、優先的に前記ディスク状記録媒体に記録することを特徴とする請求項１記載の情報記録装置。
【請求項４】
前記制御手段は、前記ディスク状記録媒体が回転していない状態か、または、回転停止しようとしている場合に、ピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する機能を実行することを特徴とする請求項１記載の情報記録装置。
【請求項５】
前記制御手段は、前記ホストからアドレスを指定して前記ピンドの属性情報を解除することを要求するコマンドに基づいて、前記ディスク状記録媒体が回転している場合には、前記管理テーブルの中で、前記指定されたアドレスのうちピンドの属性情報が対応付けられているアドレスに対応付けられた前記不揮発性メモリ上の領域内のデータを前記ディスク状記録媒体に記録させることを特徴とする請求項１記載の情報記録装置。
【請求項６】
前記記録手段は、前記不揮発性メモリの空き領域が予め設定された所定の容量に達したとき、前記不揮発性メモリの中でアンピンドの属性情報が対応付けられたアドレスに対応する前記不揮発性メモリ上の領域内のデータを、前記ディスク状記録媒体に記録することを特徴とする請求項１記載の情報記録装置。
【請求項７】
前記ディスク状記録媒体はハードディスクであり、前記不揮発性メモリはフラッシュメモリであることを特徴とする請求項１記載の情報記録装置。
【請求項８】
コマンドが入力される入力手段と、ディスク状記録媒体と、前記ディスク状記録媒体に対するキャッシュメモリとなる不揮発性メモリとを備えた情報記録装置を制御する方法であって、
前記不揮発性メモリに対して読み出しまたは書き込みすることをホストにより指示されたアドレスに前記不揮発性メモリ上の領域を割り当て、その割り当てた前記不揮発性メモリ上の領域に、前記ホストにより指示されたアドレスとピンドの属性情報とを対応付け、前記ホストから発行される読み出しまたは書き込みを要求するコマンドのうち、読み出しまたは書き込みすることを指示されたアドレスが前記ピンドの属性情報に対応付けられていないコマンドの一部または全部に対し、前記ピンドの属性情報に対応付けられていないアドレスに前記不揮発性メモリ上の領域を割り当て、その割り当てた前記不揮発性メモリ上の領域に、前記ホストから発行される読み出しまたは書き込みを要求するコマンドで指示されたアドレスとアンピンドの属性情報とを対応付けた管理テーブルを作成する第１の工程と、
前記不揮発性メモリの中でアンピンドの属性情報が対応付けられた領域の一部または全部のデータを、所定のタイミングで前記ディスク状記録媒体に記録する第２の工程と、
前記ホストからアドレスを指定して前記ピンドの属性情報を解除することを要求するコマンドに基づいて、前記管理テーブルの中で、前記指定されたアドレスのうちピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する第３の工程とを具備することを特徴とする情報記録装置の制御方法。
【請求項９】
前記第３の工程は、ピンドからアンピンドの属性情報に変更されたアドレスに対して、前記管理テーブルの中で、その旨を示す属性情報を対応付け、
前記第２の工程は、ピンドからアンピンドの属性情報に変更された旨の属性情報が対応付けられたアドレスに対応する前記不揮発性メモリ上の領域内のデータを、優先的に前記ディスク状記録媒体に記録することを特徴とする請求項８記載の情報記録装置の制御方法。
【請求項１０】
前記第３の工程は、ピンドからアンピンドの属性情報に変更されたアドレスに対して、前記管理テーブルの中で、アクセスされた日時が最も古い旨を示す属性情報を対応付け、
前記第２の工程は、アンピンドの属性情報が付加されたアドレスのうち、アクセスされた日時が最も古い旨を示す属性情報が対応付けられたアドレスに対応する前記不揮発性メモリ上の領域内のデータを、優先的に前記ディスク状記録媒体に記録することを特徴とする請求項８記載の情報記録装置の制御方法。
【請求項１１】
前記第３の工程は、前記ディスク状記録媒体が回転していない状態か、または、回転停止しようとしている場合に、ピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する機能を実行することを特徴とする請求項８記載の情報記録装置の制御方法。
【請求項１２】
前記第３の工程は、前記ホストからアドレスを指定して前記ピンドの属性情報を解除することを要求するコマンドに基づいて、前記ディスク状記録媒体が回転している場合には、前記管理テーブルの中で、前記指定されたアドレスのうちピンドの属性情報が対応付けられているアドレスに対応付けられた前記不揮発性メモリ上の領域内のデータを、前記ディスク状記録媒体に記録させることを特徴とする請求項８記載の情報記録装置の制御方法。
【請求項１３】
前記第２の工程は、前記不揮発性メモリの空き領域が予め設定された所定の容量に達したとき、前記不揮発性メモリの中でアンピンドの属性情報が対応付けられたアドレスに対応する前記不揮発性メモリ上の領域内のデータを、前記ディスク状記録媒体に記録することを特徴とする請求項８記載の情報記録装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばハードディスク等のような大容量のディスク状記録媒体に、不揮発性の半導体メモリをキャッシュとして情報（データ）の書き込みを行なう情報記録装置及びその制御方法に関する。
【背景技術】
【０００２】
周知のように、ハードディスクは、大容量で信頼性の高い情報記録媒体であり、近年、例えばコンピュータデータ、映像データ、音声データ等の記録用として多方面に普及している。また、ハードディスクは、その形状も携帯用電子機器に搭載されるほど小型化されてきている。
【０００３】
このため、現在、ハードディスクを用いた小型化志向の情報記録装置においては、情報の高速書き込み及び高速読み出しが可能な不揮発性メモリを、ハードディスクに対するキャッシュメモリとして使用することにより、情報の書き込み及び読み出し速度を高めるとともに、ハードディスクの駆動回数、つまり、ハードディスクに対する情報の書き込み及び読み出し回数を削減して、電池電力の節約を図ることが考えられている。
【０００４】
すなわち、この種の情報記録装置は、外部に対しての情報の書き込み及び読み出しを不揮発性メモリに対して行なわせ、ハードディスクに対しては不揮発性メモリとの間で情報転送を行なわせることにより、外部から見た情報の書き込み及び読み出し動作を高速化するとともに、ハードディスクの駆動回数を削減するようにしているもので、ＮＶ（non volatile）−cache対応ＨＤＤ（hard disk drive）とも称されて、規格化されている。
【０００５】
ここで、上記のように情報の書き込み及び読み出し動作の高速化、ハードディスクの駆動回数の削減を図った情報記録装置では、キャッシュとなる不揮発性メモリとしてフラッシュ（flash）メモリを用いることが考えられている。ところで、フラッシュメモリは、書き替えが可能な回数に制限（例えば約１０万回）があり、それを超えると極度にエラーが生じ易くなり信頼性が低くなるという性質を有している。
【０００６】
このため、ハードディスクに不揮発性メモリをキャッシュとして情報の記録を行なうようにした情報記録装置にあっては、ハードディスクの駆動回数を削減して省電力化を図るだけでなく、不揮発性メモリの書き替え回数に制限があることや、ユーザの使い易さ等をも考慮して、情報の書き込み及び読み出し動作を効率的に制御するように改良を施すことが強く要望されている。
【０００７】
特許文献１には、メモリカードとＨＤＤとの両方を搭載した大容量ストレージ媒体が開示されている。この大容量ストレージ媒体は、例えば外部より取得したメモリカードのデータを、磁気記録媒体であるハードディスクにバックアップすることができるとともに、ハードディスクのデータをメモリカードに転送して取り出すことができる。
【０００８】
また、特許文献２には、フラッシュメモリを使用した携帯用の記憶装置が開示されている。この特許文献２では、フラッシュメモリの書き替え回数（例えば１０万回）が多くなるとエラーが発生し易くなるという問題を解決するために、例えば特定領域のみの書き替え回数が多くなるのを抑制するようなデータ管理方法を提供している。
【特許文献１】特開２００４−５５１０２
【特許文献２】特許第３４０７３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
そこで、この発明は上記事情を考慮してなされたもので、ディスク状記録媒体に不揮発性メモリをキャッシュとして情報の記録を行なうものにおいて、省電力化を図り、高速でかつ信頼性の高い情報の書き込み及び読み出し動作を実現することができ、しかも、ユーザにとっての取り扱いを便利にし得るようにした情報記録装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係る情報記録装置は、コマンドが入力される入力手段と、ディスク状記録媒体と、ディスク状記録媒体に対するキャッシュメモリとなる不揮発性メモリと、不揮発性メモリに対して読み出しまたは書き込みすることをホストにより指示されたアドレスに不揮発性メモリ上の領域を割り当て、その割り当てた不揮発性メモリ上の領域に、ホストにより指示されたアドレスとピンドの属性情報とを対応付け、ホストから発行される読み出しまたは書き込みを要求するコマンドのうち、読み出しまたは書き込みすることを指示されたアドレスがピンドの属性情報に対応付けられていないようなコマンドの一部または全部について、ピンドの属性情報に対応付けられていないアドレスに不揮発性メモリ上の領域を割り当て、その割り当てた不揮発性メモリ上の領域に、ホストから発行される読み出しまたは書き込みを要求するコマンドで指示されたアドレスとアンピンドの属性情報とを対応付けた管理テーブルを作成する作成手段と、不揮発性メモリの中でアンピンドの属性情報が対応付けられた領域の一部または全部のデータを、所定のタイミングでディスク状記録媒体に記録する記録手段と、ホストからアドレスを指定してピンドの属性情報を解除することを要求するコマンドに基づいて、管理テーブルの中で、指定されたアドレスのうちピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する制御手段とを備えるようにしたものである。
【００１１】
また、この発明に係る情報記録装置の制御方法は、コマンドが入力される入力手段と、ディスク状記録媒体と、ディスク状記録媒体に対するキャッシュメモリとなる不揮発性メモリとを備えた情報記録装置を制御する方法を対象としている。そして、不揮発性メモリに対して読み出しまたは書き込みすることをホストにより指示されたアドレスに不揮発性メモリ上の領域を割り当て、その割り当てた不揮発性メモリ上の領域に、ホストにより指示されたアドレスとピンドの属性情報とを対応付け、ホストから発行される読み出しまたは書き込みを要求するコマンドのうち、読み出しまたは書き込みすることを指示されたアドレスがピンドの属性情報に対応付けられていないコマンドの一部または全部について、ピンドの属性情報に対応付けられていないアドレスに不揮発性メモリ上の領域を割り当て、その割り当てた不揮発性メモリ上の領域に、ホストから発行される読み出しまたは書き込みを要求するコマンドで指示されたアドレスとアンピンドの属性情報とを対応付けた管理テーブルを作成する第１の工程と、不揮発性メモリの中でアンピンドの属性情報が対応付けられた領域の一部または全部のデータを、所定のタイミングでディスク状記録媒体に記録する第２の工程と、ホストからアドレスを指定してピンドの属性情報を解除することを要求するコマンドに基づいて、管理テーブルの中で、指定されたアドレスのうちピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する第３の工程とを備えるようにしたものである。
【発明の効果】
【００１２】
上記した発明によれば、アドレスを指定してピンドの属性情報を解除することを要求するコマンドが入力されたとき、そのコマンドで指定されたアドレスのうち、ピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更するようにしたので、ディスク状記録媒体に不揮発性メモリをキャッシュとして情報の記録を行なうものにおいて、省電力化を図り、高速でかつ信頼性の高い情報の書き込み及び読み出し動作を実現することができ、しかも、ユーザにとっての取り扱いを便利にすることが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、この発明の実施の形態について図面を参照して詳細に説明する。図１は、この実施の形態で説明する情報記録装置１１の概略を示している。ここで説明する情報記録装置１１としては、Non Volatile Cache Command Proposal for ATA8−ACS Revision5等で規格化されたＮＶ−cache対応ＨＤＤを対象としている。
【００１４】
すなわち、この情報記録装置１１は、バッファとして機能するＳＤＲＡＭ１２、各種の回路ブロックが内蔵された１チップのＬＳＩ１３、大容量のディスク状記録媒体であるハードディスク１４、ハードディスク１４に対するキャッシュとして機能する不揮発性メモリであるフラッシュメモリ１５等を備えている。
【００１５】
このうち、上記ＬＳＩ１３には、情報記録装置１１が各種の処理動作を実行する場合に、その統括的な制御を行なうための制御部となるコントローラ１６が内蔵されている。そして、このＬＳＩ１３には、コントローラ１６と上記ＳＤＲＡＭ１２とを情報転送可能に接続するＳＤＲＡＭ Ｉ／Ｆ（interface）１７、コントローラ１６と上記ハードディスク１４とを情報転送可能に接続するディスクＩ／Ｆ１８、コントローラ１６と上記フラッシュメモリ１５とを情報転送可能に接続するフラッシュメモリＩ／Ｆ１９、コントローラ１６と外部のホスト装置２０とを情報転送可能に接続するホストＩ／Ｆ２１等が内蔵されている。
【００１６】
ここで、上記ホスト装置２０は、例えばＰＣ（personal computer）等である。このホスト装置２０は、例えば所定のアプリケーションソフトウエアを実行する際に、情報記録装置１１を利用して情報（データ）の書き込み及び読み出しを実行するとともに、最終的に得られた情報の保存先としても情報記録装置１１を利用することができる。
【００１７】
この場合、ホスト装置２０は、情報記録装置１１に対して情報の書き込みを要求するコマンドや、情報の読み出しを要求するコマンドを発生している。これらのコマンドは、ホストＩ／Ｆ２１を介してコントローラ１６に供給され解析される。
【００１８】
これにより、コントローラ１６は、ＳＤＲＡＭ１２、フラッシュメモリ１５、ハードディスク１４等に対して、ホスト装置２０から供給された情報の書き込みや、ホスト装置２０への情報の読み出し等を、選択的に実行するように制御する。なお、コントローラ１６としては、ＳＤＲＡＭ１２、フラッシュメモリ１５、ハードディスク１４相互間における情報の転送も可能とする機能を有する。
【００１９】
基本的に、コントローラ１６は、ホスト装置２０からの情報の書き込み要求を受けた場合、書き込む情報をフラッシュメモリ１５に記録させる。そして、コントローラ１６は、例えばフラッシュメモリ１５の記録領域がある程度以上使用された場合等、所定のタイミングで、フラッシュメモリ１５に記録された情報をハードディスク１４に転送し保存させる。
【００２０】
また、コントローラ１６は、ホスト装置２０からの情報の読み出し要求を受けた場合、要求された情報をハードディスク１４から読み出してホスト装置２０に出力させる。この場合、要求された情報がフラッシュメモリ１５上に存在していれば、フラッシュメモリ１５から情報を読み出してホスト装置２０に出力させる。
【００２１】
ここにおいて、上記フラッシュメモリ１５に書き込まれる情報（データ）には、エラー訂正コードが付加される。そして、フラッシュメモリ１５から読み出されるデータには、そのエラー訂正コードに基づいたエラー訂正処理が施されることになる。
【００２２】
また、ハードディスク１４に記録されるデータにも、エラー訂正コードが付加される。そして、ハードディスク１４から読み出されるデータには、そのエラー訂正コードに基づいたエラー訂正処理が施されることになる。
【００２３】
この実施の形態では、一例として、上記フラッシュメモリ１５は、その情報の書き込み及び読み出しの単位が２Ｋバイトに規定されている。さらに、このフラッシュメモリ１５は、その消去単位が１２８Ｋバイトに規定されている。また、このフラッシュメモリ１５は、その書き込み及び読み出し回数が多くなると素子が劣化し、エラー発生率が高くなる。このため、素子の性能を保証する情報として、書き替え回数を１０万回程度に規定している。
【００２４】
ここで、上記した規格により設定されている、情報記録装置１１の実行可能な各種のコマンドのうち、この実施の形態を説明する上で必要となるものについて説明する。まず、第１のコマンドは、ハードディスク１４上の論理ブロックアドレス（ＬＢＡ）のうち、情報をフラッシュメモリ１５に書き込むＬＢＡを指定するものである。
【００２５】
また、第２のコマンドは、第１のコマンドと同様に、フラッシュメモリ１５に書き込むＬＢＡを指定するものであるが、それと同時に、ハードディスク１４から当該ＬＢＡに記録されている情報を読み出し、その読み出した情報をフラッシュメモリ１５に書き込むことを要求するものである。
【００２６】
上記した第１及び第２のコマンドは、上記の規格ではAdd LBA(s) to NV Cache Pinned SetのＰＩ＝０及びＰＩ＝１に対応しており、フラッシュメモリ１５に情報を格納することをホスト装置２０から指示されたＬＢＡには、ピンド（pinned）と称される属性情報が付される。
【００２７】
すなわち、これら第１及び第２のコマンドでは、フラッシュメモリ１５に対して読み出しまたは書き込みすることをホスト装置２０により指示されたＬＢＡにフラッシュメモリ１５上の領域を割り当て、その割り当てたフラッシュメモリ１５上の領域に、ホスト装置２０により指示されたＬＢＡとピンドの属性情報とが対応付けられる。
【００２８】
第３のコマンドは、ハードディスク１４上のＬＢＡを指定して情報の書き込みを要求するものである。この第３のコマンドがホスト装置２０から発生された場合、コントローラ１６は、書き込み要求されたＬＢＡにピンドの属性情報が対応付けられているか否かを調べ、対応付けられていた場合にはフラッシュメモリ１５の対応する領域に書き込みを行なうが、書き込み要求されたＬＢＡにピンドの属性情報が対応付けられていない場合には、フラッシュメモリ１５に情報を書き込むか、ハードディスク１４の指定されたＬＢＡに情報を書き込むかを、自己の判断で決定し実行する。
【００２９】
第４のコマンドは、ハードディスク１４上のＬＢＡを指定して情報の読み出しを要求するものである。この第４のコマンドがホスト装置２０から発生された場合、コントローラ１６は、フラッシュメモリ１５上に、該当するＬＢＡに対応する領域が既に割り当てられ、ハードディスク１４上よりも新しい情報がフラッシュメモリ１５上に保存されていると判断される場合にはフラッシュメモリ１５から該当情報を読み出す必要があるが、ハードディスク１４上とフラッシュメモリ１５上とで同じ情報がある場合には、フラッシュメモリ１５から該当情報を読み出しても良いし、ハードディスク１４の指定されたＬＢＡから情報を読み出しても良い。また、フラッシュメモリ１５上に、該当するＬＢＡに対応する領域が既に割り当てられているが、ハードディスク１４上に最新のデータが存在している場合には、ハードディスク１４から該当情報を読み出す必要がある。そして、ハードディスク１４から情報を読み出した場合には、その情報をフラッシュメモリ１５にキャッシュするか否かもコントローラ１６が判断する。
【００３０】
上記した第３及び第４のコマンドのように、情報の書き込みまたは読み出しが要求されたＬＢＡの中の、ピンドの属性情報が対応付けられていないＬＢＡのうち、フラッシュメモリ１５上に領域が割り当てられて、その割り当てられたフラッシュメモリ１５上の領域に情報が書き込まれたＬＢＡには、アンピンド（unpinned）と称される属性情報が付される。
【００３１】
すなわち、これら第３及び第４のコマンドでは、ホスト装置２０から発行される読み出しまたは書き込みを要求するコマンドのうち、読み出しまたは書き込みすることを指示されたＬＢＡがピンドの属性情報に対応付けられていないコマンドの一部または全部に対し、ピンドの属性情報に対応付けられていないＬＢＡにフラッシュメモリ１５上の領域を割り当て、その割り当てたフラッシュメモリ１５上の領域に、ホスト装置２０から発行される読み出しまたは書き込みを要求するコマンドで指示されたＬＢＡとアンピンドの属性情報とが対応付けられる。
【００３２】
第５のコマンドは、指定したサイズ分だけフラッシュメモリ１５内に空き領域を作成することを要求するものである。この第５のコマンドがホスト装置２０から発生された場合、コントローラ１６は、現在の空き領域が、要求された空き領域よりも小さい場合には、フラッシュメモリ１５の中のアンピンドの属性情報が付されたＬＢＡに対応する領域の中から、指定されたサイズ分またはそれ以上の情報をハードディスク１４に移動させることにより、指定されたサイズ分の空き領域をフラッシュメモリ１５内に確保する。この場合、フラッシュメモリ１５の中の、アンピンドの属性情報が付されたＬＢＡに対応する領域の中で、どの領域の情報がハードディスク１４に移動されるのか、すなわち、フラッシュメモリ１５のどの領域に空き領域が形成されるのかは、コントローラ１６の判断により決定される。
【００３３】
第６のコマンドは、ＬＢＡを指定してピンドの属性情報を解除する（属性情報をピンドでなくする）ことを要求するもので、上記した規格では、Remove LBA(s) From NV Cache Pinned Setと称される。この第６のコマンドがホスト装置２０から発生された場合、コントローラ１６は、フラッシュメモリ１５の中の第６のコマンドで指定されたＬＢＡに対応する領域に格納されている情報を、ハードディスク１４に転送して書き込ませるようにする必要があるが、そのタイミングについては、上記した規格では規定されていない。
【００３４】
この場合、第６のコマンドが発生されたとき、即時に、フラッシュメモリ１５に格納されている情報をハードディスク１４に書き込むようにタイミングを設定すると、その時点でハードディスク１４が回転していない場合には、その都度、モータを起動させてハードディスク１４を回転させる必要が生じ、ハードディスク１４の駆動回数が増えて消費電力の増大を招くことになる。
【００３５】
一方、コントローラ１６には、フラッシュメモリ１５が満杯になったとき、または、フラッシュメモリ１５の空き容量が予め設定された所定の容量に達した場合に、フラッシュメモリ１５の中のアンピンドの属性情報が付されたＬＢＡに対応する領域に格納されている情報を、自動的にハードディスク１４に転送して書き込ませるようにする機能が備えられている。これにより、フラッシュメモリ１５内に常時空き領域を確保して、外部からの情報記録装置１１に対する情報の書き込み要求に対処できるようにしている。
【００３６】
そこで、この実施の形態では、第６のコマンドが発生されたとき、その時点でハードディスク１４が回転していない場合、コントローラ１６は、指定されたＬＢＡのうち、ピンドの属性情報が付されたＬＢＡを、ピンドからアンピンドの属性情報が対応付けられるように変更するように制御する。これは、ＬＢＡを管理するための後述する管理テーブルを書き替えることで容易に実現可能である。
【００３７】
これにより、コントローラ１６が、フラッシュメモリ１５の空き容量の確保のために、フラッシュメモリ１５の中のアンピンドの属性情報が付されたＬＢＡに対応する領域に格納されている情報を、ハードディスク１４に転送して書き込ませる動作時に、一緒に、第６のコマンドによって指定されたＬＢＡに対応するフラッシュメモリ１５の領域に格納されていた情報が、ハードディスク１４に転送して書き込まれるようになる。これにより、ハードディスク１４の駆動回数を少なく抑えることができ、省電力化を図ることが可能となる。
【００３８】
また、コントローラ１６は、上記のようにフラッシュメモリ１５の空き容量を確保する際に、フラッシュメモリ１５の中のアンピンドの属性情報が付されたＬＢＡに対応する領域のうち、アクセスされた日時の最も古いＬＢＡに対応する領域に格納されている情報から、順次ハードディスク１４に転送して書き込ませるように制御している。
【００３９】
このため、第６のコマンドが発生されたとき、コントローラ１６が、指定されたＬＢＡのうちピンドの属性情報が付されたＬＢＡをアンピンドの属性情報に変更するとともに、そのアンピンドの属性情報に変更されたＬＢＡに対してアクセスされた日時が最も古いものである旨の属性情報を付す（これもＬＢＡの管理テーブルを書き替えることで可能）ようにすれば、第６のコマンドによってアンピンドの属性情報に変更されたＬＢＡに対応するフラッシュメモリ１５の領域に格納されている情報を、優先的にハードディスク１４に転送して書き込むことが可能となる。
【００４０】
図２は、ＬＢＡにそれぞれ付加される属性情報を管理するための管理テーブルの一例を示している。この管理テーブルは、例えば上記ＳＤＲＡＭ１２に格納されているものとする。そして、この管理テーブルには、各ＬＢＡに対して、それぞれＬＲＵ（least recently used）を示す項目とピンド／アンピンドを示す項目とが対応付けられている。
【００４１】
このうち、ＬＲＵは、アクセスされた日時の最も古いＬＢＡを示す情報である。また、ピンド／アンピンドは、そのＬＢＡが現在ピンドの属性情報が付されているかアンピンドの属性情報が付されているかを示す情報である。
【００４２】
そして、第６のコマンドが発生されたとき、その時点でハードディスク１４が回転していない場合には、コントローラ１６が、第６のコマンドで指定されたＬＢＡのうち、属性情報がピンドとなっているＬＢＡのピンド／アンピンドをアンピンドに書き替えるように制御する。
【００４３】
すると、コントローラ１６が、フラッシュメモリ１５の空き容量を確保するために、フラッシュメモリ１５の中のアンピンドの属性情報が付されたＬＢＡに対応する領域に格納されている情報をハードディスク１４に移動させる際、一緒に、第６のコマンドによって指定されたＬＢＡに対応するフラッシュメモリ１５の領域に格納されている情報が、ハードディスク１４に転送して書き込まれるようになる。これにより、ハードディスク１４の駆動回数を少なく抑えることができ、省電力化を図ることが可能となる。
【００４４】
また、上記管理テーブルのピンド／アンピンドに、アンピンドの場合、ピンドからアンピンドに変更されたものであるか否かということも示す情報も含めることができる。
【００４５】
そして、第６のコマンドが発生されたとき、その時点でハードディスク１４が回転していない場合には、コントローラ１６が、第６のコマンドで指定されたＬＢＡのうち、属性情報がピンドとなっているＬＢＡのピンド／アンピンドを、ピンドからアンピンドに変更されたことを示す情報に書き替えるように制御する。
【００４６】
すると、コントローラ１６は、フラッシュメモリ１５の空き容量を確保するために、フラッシュメモリ１５の中のアンピンドの属性情報が付されたＬＢＡに対応する領域に格納されている情報をハードディスク１４に移動させる際、ピンド／アンピンドがアンピンドになっているＬＢＡのうち、ピンドからアンピンドに変更されたＬＢＡに対応する領域の情報から、優先的にハードディスク１４に転送して書き込ませるように制御する。これにより、第６のコマンドによって指定されたＬＢＡに対応するフラッシュメモリ１５の領域に格納されている情報を、優先的にハードディスク１４に転送して書き込むことが可能となる。
【００４７】
図３は、上記コントローラ１６の一例を示している。このコントローラ１６は、ホスト装置２０から供給されたコマンドをデコード処理し解析するコマンド解析部１６ａを有する。このコマンド解析部１６ａの解析結果により、アーキテクチャメモリ１６ｂ内のソフトウエアが特定され、シーケンスコントローラ１６ｃに動作手順が設定される。
【００４８】
このシーケンスコントローラ１６ｃは、Ｉ／Ｆ及びバスコントローラ１６ｄを介して、情報の流れを制御する。例えば、情報の書き込みまたは読み出しが行なわれるときは、メディア選択部１６ｅがフラッシュメモリ１５またはハードディスク１４を特定し、アドレス制御部１６ｆが書き込みアドレスまたは読み出しアドレスを特定する。
【００４９】
そして、情報の書き込み時には、書き込み処理部１６ｇが書き込み情報の転送処理等を実行する。また、情報の読み出し時には、読み出し処理部１６ｈが読み出し情報の転送処理等を実行する。
【００５０】
さらに、コントローラ１６には、消去処理部１６ｉが設けられている。この消去処理部１６ｉは、フラッシュメモリ１５に記録された情報の消去処理を実行する。また、この消去処理部１６ｉは、ハードディスク１４に記録された情報の消去処理も実行することができる。
【００５１】
また、コントローラ１６には、アドレス管理部１６ｊが設けられている。このアドレス管理部１６ｊは、フラッシュメモリ１５及びハードディスク１４の記録済み領域や未記録領域等のアドレスを一括して管理している。さらに、コントローラ１６には、ハードディスク１４の駆動状態を監視するための状態判定部１６ｋが設けられている。
【００５２】
さらに、コントローラ１６には、属性制御部１６ｌが設けられている。この属性制御部１６ｌは、上記管理テーブルに記述するＬＲＵ及びピンド／アンピンド等の情報を作成している。
【００５３】
図４は、上記ホスト装置２０の一例を示している。このホスト装置２０は、ユーザが操作するための操作部２０ａと、この操作部２０ａの操作に基づいて外部ネットワークや所定の情報記録媒体から情報の取得を行なうための入力部２０ｂとを有する。
【００５４】
また、このホスト装置２０は、入力部２０ｂで取得した情報に所定の信号処理を施すとともに、情報記録装置１１に対するコマンドを生成する処理部２０ｃと、この処理部２０ｃの処理結果を表示するための表示部２０ｄとを有する。
【００５５】
さらに、このホスト装置２０は、処理部２０ｃの処理結果である情報やコマンドを、接続端子２０ｅを介して外部（情報記録装置１１）に出力するとともに、外部（情報記録装置１１）から接続端子２０ｅを介して入力された情報を処理部２０ｃに供給するＩ／Ｆ２０ｆを備えている。
【００５６】
図５は、上記第６のコマンドが発生された場合に、コントローラ１６が管理テーブルの属性情報を自動的に書き替える処理動作の一例を示している。すなわち、処理が開始（ステップＳ１）されると、コントローラ１６は、ステップＳ２で、第６のコマンドが入力されたか否かを判別する。
【００５７】
そして、第６のコマンドが入力された場合（ＹＥＳ）、コントローラ１６は、ステップＳ３で、ハードディスク１４が回転中であるか否かを判別し、回転中である場合（ＹＥＳ）、ステップＳ４で、フラッシュメモリ１５の中で、第６のコマンドにより指定されたＬＢＡに対応する領域に格納されている情報を、ハードディスク１４に転送して書き込ませ、処理を終了（ステップＳ６）する。
【００５８】
また、上記ステップＳ３でハードディスク１４が回転中でないと判断された場合（ＮＯ）、コントローラ１６は、ステップＳ５で、管理テーブルに対して、第６のコマンドで指定されたＬＢＡのうち、属性情報がピンドとなっているＬＢＡのピンド／アンピンドをアンピンドに書き替えて、処理を終了（ステップＳ６）する。
【００５９】
これにより、先にも述べたように、コントローラ１６が、フラッシュメモリ１５の空き容量を確保するために、フラッシュメモリ１５の中のアンピンドの属性情報が付されたＬＢＡに対応する領域に格納されている情報をハードディスク１４に移動させる際、一緒に、第６のコマンドで指定されたＬＢＡに対応するフラッシュメモリ１５の領域に格納されている情報が、ハードディスク１４に転送して書き込まれるようになり、ハードディスク１４の駆動回数を少なく抑えることができ、省電力化を図ることが可能となる。
【００６０】
また、上記ステップＳ５で、第６のコマンドで指定されたＬＢＡのうち、属性情報がピンドとなっているＬＢＡのピンド／アンピンドをアンピンドに変更する際、ピンドからアンピンドに変更されたことを示す情報に書き替えるようにすれば、第６のコマンドで指定されたＬＢＡに対応するフラッシュメモリ１５の領域に格納されている情報を、優先的にハードディスク１４に転送して書き込むことが可能となる。
【００６１】
さらに、上記ステップＳ５で、第６のコマンドで指定されたＬＢＡのうち、属性情報がピンドとなっているＬＢＡのピンド／アンピンドを、アンピンド、または、ピンドからアンピンドに変更されたことを示す情報に書き替えるとともに、その指定されたＬＢＡに対応するＬＲＵを、アクセスされた日時が最も古いことを示す情報に書き替えるようにすれば、第６のコマンドによって指定されたＬＢＡに対応するフラッシュメモリ１５の領域に格納されている情報を、より優先的にハードディスク１４に転送して書き込むことが可能となる。
【００６２】
なお、上記した動作では、ハードディスク１４が回転中でない場合に、第６のコマンドで指定されたＬＢＡのうち、属性情報がピンドとなっているＬＢＡのピンド／アンピンドをアンピンドに書き替えるようにしたが、これは、ハードディスク１４が回転停止しようとしている場合も含むものとする。
【００６３】
ここで、上記した実施の形態では、第６のコマンドが入力されたとき、コントローラ１６が、管理テーブルのＬＲＵ及びピンド／アンピンドを書き替えることについて説明したが、これに限らず、図６に示すように、管理テーブルに各ＬＢＡにそれぞれ対応させてフラグを新設する。このフラグは、第６のコマンドによって指定されたＬＢＡであるか否かを示すものである。
【００６４】
そして、コントローラ１６は、フラッシュメモリ１５の空き容量を確保するために、フラッシュメモリ１５の中のアンピンドの属性情報が付されたＬＢＡに対応する領域に格納されている情報をハードディスク１４に移動させる際、一緒に、フラグが第６のコマンドによって指定されたＬＢＡであることを示しているＬＢＡに対応する領域の情報も、ハードディスク１４に転送して書き込ませるように動作する。このような構成によっても、ハードディスク１４の駆動回数を少なく抑えることができ、省電力化を図ることが可能となる。
【００６５】
また、上記した実施の形態では、管理テーブルをフラッシュメモリ１５とは別のＳＤＲＡＭ１２に形成するようにしたが、これに限らず、図７に示すように、フラッシュメモリ１５内に、各ＬＢＡにそれぞれ対応させて、ＬＲＵを示す情報とピンド／アンピンドを示す情報（上記フラグを含めても良い）とが記述されるように形成してもよいものである。
【００６６】
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
【図面の簡単な説明】
【００６７】
【図１】この発明の実施の形態を示すもので、情報記録装置の概略を説明するために示すブロック構成図。
【図２】同実施の形態における情報記録装置に用いられたフラッシュメモリの管理テーブルの一例を説明するために示す図。
【図３】同実施の形態における情報記録装置に用いられたコントローラの一例を説明するために示すブロック構成図。
【図４】同実施の形態における情報記録装置に接続されたホスト装置の一例を説明するために示すブロック構成図。
【図５】同実施の形態におけるコントローラの処理動作の一例を説明するために示すフローチャート。
【図６】同実施の形態における情報記録装置に用いられたＬＢＡの管理テーブルの他の例を説明するために示す図。
【図７】同実施の形態における情報記録装置に用いられたＬＢＡの管理テーブルのさらに他の例を説明するために示す図。
【符号の説明】
【００６８】
１１…情報記録装置、１２…ＳＤＲＡＭ、１３…ＬＳＩ、１４…ハードディスク、１５…フラッシュメモリ、１６…コントローラ、１７…ＳＤＲＡＭ Ｉ／Ｆ、１８…ディスクＩ／Ｆ、１９…フラッシュメモリＩ／Ｆ、２０…ホスト装置、２１…ホストＩ／Ｆ。
【図１】
2008027383.tif 000003
【図２】
2008027383.tif 000004
【図３】
2008027383.tif 000005
【図４】
2008027383.tif 000006
【図５】
2008027383.tif 000007
【図６】
2008027383.tif 000008
【図７】
2008027383.tif 000009