(57)【要約】【課題】データの読み出し速度の速い第２の記憶部の容量を少なくしてもスムーズに処理を行うことができ、第２の記憶部よりデータの読み出し速度の遅い第１の記憶部の駆動を停止する。【解決手段】情報処理装置は、第１の記憶部と、第１の記憶部より読み出し速度の速い第２の記憶部と、第１の記憶部および第２の記憶部へのデータの記録を制御する制御部と、を備え、制御部は、第１の記憶部に記録されたデータの少なくとも一部を第２の記憶部に記録し、第１の記憶部に対して所定時間以上アクセスがない場合、第１の記憶部の駆動を停止するよう制御する。【選択図】図１
2015014881.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶部と、
前記第１の記憶部より読み出し速度の速い第２の記憶部と、
前記第１の記憶部および前記第２の記憶部へのデータの記録を制御する制御部と、
を備え、
前記制御部は、
前記第１の記憶部に記録されたデータの少なくとも一部を前記第２の記憶部に記録し、
前記第１の記憶部に対して所定時間以上アクセスがない場合、前記第１の記憶部の駆動を停止するよう制御する、情報処理装置。
【請求項２】
前記制御部は、データの読み出しを受けたとき、当該データが前記第２の記憶部に格納されている場合には前記第２の記憶部から前記データを読み出し、前記データが前記第２の記憶部に格納されていない場合には前記第１の記憶部から前記データを読み出すよう制御する、請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
読み出しを受けた前記データが前記第２の記憶部に存在する割合であるヒット率を演算し、
前記ヒット率が所定の閾値を超えたとき、前記第１の記憶部の駆動を停止するよう制御する、請求項１に記載の情報処理装置。
【請求項４】
データの読み出しを受けて前記第２の記憶部に記録されたデータの位置及びサイズを記憶する読み出し記憶部を備え、
前記制御部は、データの読み出しを受けたとき、前記読み出し記憶部を参照して要求された前記データの読み出し元を決定するよう制御する、請求項１に記載の情報処理装置。
【請求項５】
前記読み出し記憶部は、データの読み出しを受けて前記第２の記憶部に記録されたデータを、アプリケーション単位で格納する、請求項４に記載の情報処理装置。
【請求項６】
前記制御部は、データの読み出しを受けて実行されるアプリケーションの先頭データを前記第２の記憶部に格納するよう制御する、請求項４に記載の情報処理装置。
【請求項７】
前記第１の記憶部はハードディスクドライブであり、前記第２の記憶部は不揮発性半導体メモリである、請求項１に記載の情報処理装置。
【請求項８】
アプリケーションを実行する演算処理装置と、
前記演算処理装置により実行される前記アプリケーションのデータを記憶する記憶装置と、
を備え、
前記記憶装置は、
第１の記憶部と、
前記第１の記憶部より読み出し速度の速い第２の記憶部と、
前記第１の記憶部および前記第２の記憶部へのデータの記録を制御する制御部と、
を有し、
前記制御部は、
前記第１の記憶部に記録されたデータの少なくとも一部を前記第２の記憶部に記録し、
前記第１の記憶部に対して所定時間以上アクセスがない場合、前記第１の記憶部の駆動を停止するよう制御する、情報処理装置。
【請求項９】
データの読み出しを受けて読み出した第１の記憶部に記録された当該データの少なくとも一部を、前記第１の記憶部より読み出し速度の速い第２の記憶部に記録すること、
前記第１の記憶部に対して所定時間以上アクセスがない場合、前記第１の記憶部の駆動を停止すること、
を含む、情報処理方法。
【請求項１０】
コンピュータに、
データの読み出しを受けて読み出した第１の記憶部に記録された当該データの少なくとも一部を、前記第１の記憶部より読み出し速度の速い第２の記憶部に記録すること、
前記第１の記憶部に対して所定時間以上アクセスがない場合、前記第１の記憶部の駆動を停止すること、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、読み出し速度の異なる２つの記憶部を備える情報処理装置、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ等の情報処理装置は、アプリケーション等のデータを記憶するための記憶装置を備えている。情報処理装置により処理されるデータ量が増加し、データサイズも増大していることから、記憶装置には大容量であること、高速にアクセスできること等が要求されている。
【０００３】
ＨＤＤは、低コストで大容量を実現できる記憶装置として一般的に使用されている。ＨＤＤ１０のデータ読み出し動作の概要を図７に示す。ＨＤＤ１０は、ディスク２に対してデータを読み書きする際、図７左側に示すようにアクチュエータ４のヘッドをディスク２上に位置させる。そして、所定時間ディスク２へのアクセスがない場合には、図７中央に示すように、ＨＤＤ１０は、ヘッドをディスク２上から退避させてディスク２の回転を停止する。その後、ＨＤＤ１０へのアクセスがあった場合には、図７右側に示すように再びディスク２を回転させ、ヘッドをディスク２上に移動させる。
【０００４】
しかし、一度ディスク２を停止させると、当該ディスク２にアクセスできる状態となるまでの待ち時間が発生するため、装置がフリーズしたかのような症状が現れる。
【０００５】
これに対して、例えば特許文献１には、磁気ディスク装置と不揮発性半導体メモリとを有し、予め設定されたアクセス頻度の高いファイルを不揮発性半導体メモリに格納する技術が開示されている。これにより、アクセス頻度の高いファイルには高速にアクセスできるので、データやプログラムを即座に処理できるようになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−６３５５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上記特許文献１では、不揮発性半導体メモリに格納されているファイルは予め設定されたアクセス頻度の高いファイルであり、必ずしもアクセス要求のあったファイルは不揮発性半導体メモリに記録されていない。不揮発性半導体メモリに格納されていないファイルを処理するには、回転が停止されていた磁気ディスクを回転させて読み出し可能な状態とする必要があり、処理を実行するまでに時間を要する。一方、不揮発性半導体メモリに格納するファイル数を増加するには当該メモリの容量も大きくする必要があり、コストを要する。
【０００８】
そこで、不揮発性半導体メモリの容量を少なくしてもスムーズに処理を行うことができ、かつＨＤＤのディスクの回転を停止することが求められていた。
【課題を解決するための手段】
【０００９】
本開示によれば、第１の記憶部と、第１の記憶部より読み出し速度の速い第２の記憶部と、第１の記憶部および第２の記憶部を制御する制御部と、を備え、制御部は、第１の記憶部に記録されたデータの少なくとも一部を第２の記憶部に記録し、第１の記憶部に対して所定時間以上アクセスがない場合、第１の記憶部の駆動を停止する、情報処理装置が提供される。
【００１０】
また、本開示によれば、アプリケーションを実行する演算処理装置と、演算処理装置により実行されるアプリケーションのデータを記憶する記憶装置と、を備え、記憶装置は、第１の記憶部と、第１の記憶部より読み出し速度の速い第２の記憶部と、第１の記憶部および第２の記憶部へのデータの記録を制御する制御部と、を有し、制御部は、第１の記憶部に記録されたデータの少なくとも一部を第２の記憶部に記録し、第１の記憶部に対して所定時間以上アクセスがない場合、第１の記憶部の駆動を停止するよう制御する、情報処理装置が提供される。
【００１１】
さらに、本開示によれば、データの読み出しを受けて読み出した第１の記憶部に記録された当該データの少なくとも一部を、第１の記憶部より読み出し速度の速い第２の記憶部に記録すること、第１の記憶部に対して所定時間以上アクセスがない場合、第１の記憶部の駆動を停止すること、を含む、情報処理方法が提供される。
【００１２】
また、本開示によれば、コンピュータに、データの読み出しを受けて読み出した第１の記憶部に記録された当該データの少なくとも一部を、第１の記憶部より読み出し速度の速い第２の記憶部に記録すること、第１の記憶部に対して所定時間以上アクセスがない場合、第１の記憶部の駆動を停止すること、を実行させるためのコンピュータプログラムが提供される。
【００１３】
本開示によれば、第１の記憶部に記憶されているデータのうち、読み出し要求を受けたデータの少なくとも一部を読み出し速度の速い第２の記憶部に格納する。そして、第１の記憶部に対して所定時間以上アクセスがない場合、制御部は第１の記憶部の駆動を停止するよう制御する。これにより、データの読み出しがあった場合にも第２の記憶部にアクセスすれば当該データの少なくとも一部が格納されているため、データを読み出して実行するアプリケーションの動作をスムーズにすることができる。
【発明の効果】
【００１４】
以上説明したように本開示によれば、不揮発性半導体メモリの容量を少なくしてもスムーズに処理を行うことができ、かつＨＤＤのディスクの回転を停止することができる。
【図面の簡単な説明】
【００１５】
【図１】本開示の第１の実施形態に係るディスクストップ処理を説明する説明図である。
【図２】同実施形態に係るディスクストップ処理の概要を示す説明図である。
【図３】同実施形態に係るハイブリッドＨＤＤのディスクストップ処理を行う機能部の構成を示す機能ブロック図である。
【図４】同実施形態に係るハイブリッドＨＤＤのディスクストップ処理を示すフローチャートである。
【図５】本開示の第２の実施形態に係るハイブリッドＨＤＤのディスクストップ処理を示すフローチャートである。
【図６】情報処理装置のハードウェアの一構成例を示すハードウェア構成図である。
【図７】本開示の関連技術に係るＨＤＤの読み出し動作を説明する説明図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１７】
なお、説明は以下の順序で行うものとする。
１．第１の実施の形態（トリガーデータをアプリケーション単位で管理）
１．１．ハイブリッドＨＤＤの構成
１．２．ディスクストップ処理の概要
１．３．機能構成
１．４．ディスクストップ処理
２．第２の実施の形態（トリガーデータを先頭データで管理）
３．ハードウェア構成例
【００１８】
＜１．第１の実施形態＞
［１．１．ハイブリッドＨＤＤの構成］
まず、図１を参照して、本開示の第１の実施形態に係るハイブリッドハードディスク（以下、「ハイブリッドＨＤＤ」とする。）１００の構成について説明する。なお、図１は、本実施形態に係るハイブリッドＨＤＤ１００の構成を示すブロック図である。
【００１９】
本実施形態に係るハイブリッドＨＤＤ１００は、情報処理装置の一例であるパーソナルコンピュータに内蔵または外付けされているものとする。図１には、ハイブリッドＨＤＤ１００の他に、情報処理装置の構成要素として、ＯＳやアプリケーションプログラム等を制御するホスト２００、情報処理装置の電源３００を記載している。
【００２０】
ハイブリッドＨＤＤ１００は、図１に示すように、ファームウェア１１０と、ＨＤＤ１２０と、フラッシュメモリ１３０とを備える記憶装置である。ハイブリッドＨＤＤ１００は、ＨＤＤ１２０とフラッシュメモリ１３０とを合わせ持つことで、高速、省電力、大容量を実現している。
【００２１】
ファームウェア１１０は、ＨＤＤ１２０およびフラッシュメモリ１３０等のハードウェアを制御する情報処理部である。ファームウェア１１０は、ハイブリッドＨＤＤ１００と接続されたホスト２００からの指示に従い、ＨＤＤ１２０およびフラッシュメモリ１３０の動作を制御する。なお、ファームウェア１１０によるＨＤＤ１１０のディスクを停止させるディスクストップ処理の詳細については後述する。
【００２２】
ＨＤＤ１２０は、記録媒体である磁気ディスク（以下、単に「ディスク」とする。）１２２にデータを読み書きする第１の記憶部であって、補助記憶装置の１つである。ＨＤＤ１２０は、アクチュエータ１２４の先端に設けられたヘッド１２６をディスク１２２上に移動させて、ディスク１２２にデータを書き込んだりデータを読み出したりする。ＨＤＤ１２０は、フラッシュメモリ１３０と比較して低コストで大きな記憶容量を実現できる。
【００２３】
フラッシュメモリ１３０は、データの消去や書き込みを自由に行うことができ、電源を切ってもデータが消去されない第２の記憶部であり、例えば不揮発性の半導体メモリである。本実施形態では、フラッシュメモリ１３０としてＮＡＮＤ型フラッシュメモリを用いている。フラッシュメモリ１３０は、ＨＤＤ１２０と比較して高速処理が可能であり、省電力を実現できる。
【００２４】
［１．２．ディスクストップ処理の概要］
本実施形態に係るハイブリッドＨＤＤ１００は、耐衝撃性能を向上させるため、ＨＤＤ１２０に所定時間アクセスがない場合にはディスク１２２の回転を停止させる。ディスク１２２の回転を停止させることで、ハイブリッドＨＤＤ１００に衝撃が加えられた場合にヘッド１２６とディスク１２２とが接触する可能性が低減され、また、ディスク１２２がランプ等の部品と接触した場合においてもダメージを低減させることができるため、耐衝撃性を向上させることができる。また、ディスク１２２の回転を停止することで、消費電力を低減することもできる。
【００２５】
一方で、ディスク１２２の回転を停止させると、ＨＤＤ１２０からデータを読み出す際にディスク１２２を回転させてヘッド１２６をディスク１２２上の所定の位置に移動させる必要がある。このため、データの読み出しまでに時間がかってしまう。
【００２６】
そこで、本実施形態に係るハイブリッドＨＤＤ１００は、ディスク１２２の回転を停止するディスクストップ処理を、ユーザから要求されたアクションがスムーズに実行されることを考慮したアルゴリズムに基づき実行する。図２に、本実施形態に係るディスクストップ処理の概要を示す。図２左側に示すように、ＨＤＤ１２０のディスク１２２が回転している状態において、所定時間アクセスがない場合、ヘッド１２６がディスク１２２上から退避される。ヘッド１２６が退避された後も、ディスク１２２は継続して回転している。
【００２７】
その後、ハイブリッドＨＤＤ１００に対してデータ読み出しのアクセスがあった場合、ハイブリッドＨＤＤ１００はアクセス履歴を管理する読み出し記憶部であるリードコマンドテーブル１４０を参照し、過去に同一のコマンドが実行されているか否かをチェックする。リードコマンドテーブル１４０には、ホスト２００から受けたコマンドによって読み出されたデータの一部がＨＤＤ１００上に記憶されている位置と、そのデータサイズおよび後述するトリガーデータとが格納されている。このホスト２００から受けたコマンドによって読み出されたデータの一部は、ＨＤＤ１２０をアンロード状態からヘッド１２６をディスク１２２上に移動させロード動作を引き起こすトリガーデータとなる。
【００２８】
リードコマンドテーブル１４０において、トリガーデータのデータ位置は、例えばＨＤＤ１００上のＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）によって示される。トリガーデータのサイズは、リードコマンドテーブル１４０の記憶容量とトリガーデータ数に基づいて適宜設定可能である。例えば、リードコマンドテーブル１４０の記憶容量が３００ＭＢであり、トリガーデータ数が３００個であるとき、１つのコマンドについて記憶可能なトリガーデータのサイズは１ＭＢとなり、この場合トリガーデータのサイズ１ＭＢと共に、１ＭＢ分のトリガーデータが記録される。リードコマンドテーブル１４０は、高速に処理のできる不揮発性半導体メモリに構築され、例えばハイブリッドＨＤＤ１００のフラッシュメモリ１３０に構築してもよい。
【００２９】
リードコマンドテーブル１４０にホスト２００から受けたコマンドのトリガーデータが存在する場合、ハイブリッドＨＤＤ１００は、フラッシュメモリ１３０からトリガーデータを読み出し、要求されたコマンドに基づく処理を開始する。その間にハイブリッドＨＤＤ１００はＨＤＤ１２０のヘッド１２６をディスク１２２上に移動させ、残りのデータをＨＤＤ１２０から読み出す。一方、リードコマンドテーブル１４０にホスト２００から受けたコマンドのトリガーデータが存在しない場合にはＨＤＤ１２０からデータを読み出すため、ＨＤＤ１２０のヘッド１２６をディスク１２２上に移動させる。
【００３０】
すなわち、トリガーデータがフラッシュメモリ１３０に格納されている場合にはフラッシュメモリ１３０からデータの一部を読み出し、格納されていない場合にはＨＤＤ１２０からデータを読み出す。このような処理を繰り返す間に、フラッシュメモリ１３０からデータの一部を読み出す確率（以下、「ヒット率」ともいう。）が所定の閾値を超え、高い確率でフラッシュメモリ１３０を参照するようになる。このとき、ハイブリッドＨＤＤ１００は初めてＨＤＤ１２０のディスク１２２の回転を停止させる。一方、ヒット率が所定の閾値以下の間は、ＨＤＤ１２０を参照する可能性が高いため、ディスク１２２の回転は継続させる。
【００３１】
このように、本実施形態においてＨＤＤ１２０のディスク１２２の回転を停止させるディスクストップ処理では、フラッシュメモリ１３０のヒット率が高くなった場合にＨＤＤ１２０のディスク１２２の回転を停止させる。これにより、ＨＤＤ１２０からデータを読み出す際にコマンドに基づく処理が実行されるまでの待ち時間が短縮されてスムーズな動作を実現することができる。また、効率よくディスク１２２の回転を停止させることができるので、省電力にも寄与する。以下、図３および図４に基づいて、本実施形態に係るハイブリッドＨＤＤ１００のディスクストップ処理を行う機能部の構成とその処理について詳細に説明する。
【００３２】
［１．３．機能構成］
図３に、本実施形態に係るハイブリッドＨＤＤ１００のディスクストップ処理を行う機能部の構成を示す。ディスクストップ処理は、ハイブリッドＨＤＤ１００のファームウェア１１０において実行される。ファームウェア１１０は、図３に示すように、インタフェース部１１１と、動作制御部１１３と、ヒット率演算部１１５と、ディスク制御部１１７と、メモリ制御部１１９とからなる。なお、図３では、ファームウェア１１０が備える各種機能部のうちディスクストップ処理において機能する機能部のみを示している。
【００３３】
インタフェース部１１１は、ホスト２００と動作制御部１１３との間で情報のやり取りを行う。インタフェース部１１１は、例えばホスト２００からアプリケーションを実行するコマンドの入力を受けて、動作出力部１１３へ当該コマンドを出力する。
【００３４】
動作制御部１１３は、ＨＤＤ１２０を駆動制御するディスク制御部１１７およびフラッシュメモリ１３０を駆動制御するメモリ制御部１１９を制御する。動作制御部１１３は、ホスト２００から入力されたコマンドを受けると、ＨＤＤ１２０およびフラッシュメモリ１３０のうちいずれの記憶部からデータを読み出すかを判定する。そして、動作制御部１１３は、データを格納している記憶部にアクセスしてデータを読み出すよう、ディスク制御部１１７およびメモリ制御部１１９のうち少なくともいずれか一方に対して指示する。
【００３５】
また、動作制御部１１３は、フラッシュメモリ１３０からデータを読み出す確率であるヒット率を演算するヒット率演算部１１５を制御する。動作制御部１１３は、例えばホスト２００からコマンドの入力を受ける度にヒット率演算部１１５にヒット率を演算させる。動作制御部１１３は、ヒット率が所定の閾値を超えると、ディスク制御部１１７に対してＨＤＤ１２０のディスク１２２の回転を停止させるよう指示する。
【００３６】
ヒット率演算部１１５は、フラッシュメモリ１３０からデータを読み出す確率であるヒット率を演算する。ヒット率が高いほど、ホスト２００から入力されるコマンドにより実行するアプリケーションのデータの一部であるトリガーデータがフラッシュメモリ１３０に格納されていることになる。ヒット率演算部１３０は、動作制御部１１３からの指示を受けてヒット率を演算し、演算したヒット率を動作制御部１１３へ出力する。
【００３７】
ディスク制御部１１７は、動作制御部１１３から指示を受けてＨＤＤ１２０を駆動制御する。ディスク制御部１１７は、例えばＨＤＤ１２０のディスク１２２を回転するモータの制御や、ディスク１２２に対してデータを読み書きするヘッド１２６を備えるアクチュエータ１２４の駆動制御等を行う。
【００３８】
メモリ制御部１１９は、動作制御部１１３から指示を受けてフラッシュメモリ１３０を駆動制御する。メモリ制御部１１９は、フラッシュメモリ１３０に対してデータを読み書きするための電圧制御等を行う。
【００３９】
［１．４．ディスクストップ処理］
本実施形態に係るハイブリッドＨＤＤ１００のディスクストップ処理は、図４に示すフローチャートに沿って行われる。図４は、本実施形態に係るハイブリッドＨＤＤ１００のディスクストップ処理を示すフローチャートである。
【００４０】
本実施形態に係るディスクストップ処理では、複数のアプリケーションが実行されている時に、実行中のアプリケーション単位でその使用状況を管理する。継続して使用されているアプリケーションのデータの少なくとも一部をリードコマンドテーブル１４０に格納しておくことで、これらのアプリケーションをスムーズに動作させることができる。例えばドキュメント編集ソフトにおいて編集作業が実行と中断とが繰り替えされる場合、このアプリケーションのトリガーデータをリードコマンドテーブル１４０に格納しておくことで、ユーザが一時的に作業を中断しても作業を再開したときにスムーズに動作できる。
【００４１】
まず、ハイブリッドＨＤＤ１００のＨＤＤ１２０が起動しており、回転しているディスク１２２上にヘッド１２６が位置しているとする。このとき、動作制御部１１３は、図４に示すように、ホスト２００からコマンドが入力されるのを待機している（Ｓ１００）。ホスト２００からのコマンド入力があると、動作制御部１１３はディスク制御部１１７に対してコマンドにより読み出すデータをディスク１２２から取得するように指示する（Ｓ１０１）。ディスク１２２からデータが読み出されると、ステップＳ１００に戻り、ハイブリッドＨＤＤ１００からのコマンド入力を待機する。
【００４２】
ホスト２００からのコマンド入力がない場合、動作制御部１１３はコマンド入力を待機してからの経過時間（以下、「待機時間」とする。）が所定時間経過したか否かを判定する（Ｓ１０２）。待機時間が所定時間以下の間、動作制御部１１３は、ステップＳ１００からの処理を繰り返す。所定時間は、例えばアプリケーションの種類やユーザの設定によって決定されており、例えば数秒程度としてもよい。待機時間が所定時間を超えると、動作制御部１１３は、ディスク制御部１１７に対して、回転するディスク１２２上に位置しているヘッド１２６を退避位置に移動させるよう指示する（Ｓ１０４）。ディスク制御部１１７は、当該指示を受けてアクチュエータ１２４を動かし、ヘッド１２６を退避位置に移動させる。このとき、ディスク１２２は継続して回転している。
【００４３】
ヘッド１２６が移動された後、動作制御部１１３は引き続きホスト２００からのコマンド入力を待機する。このとき、動作制御部１１３は、データのロードを伴うアクセスがあるかを判定する（Ｓ１０６）。データのロードを伴うアクセスがあるまではステップＳ１０６の処理が繰り返し行われる。そして、データのロードを伴うアクセスがあると、動作制御部１１３は、当該データの一部をフラッシュメモリ１３０に割り振る（Ｓ１０８）。これにより、当該コマンドによって読み出すデータの少なくとも一部がトリガーデータとしてリードコマンドテーブル１４０に格納される。
【００４４】
このトリガーデータは、アプリケーション単位で格納される。ステップＳ１０８の処理により、リードコマンドテーブル１４０には頻繁に使用されているアプリケーションのトリガーデータが格納されることになる。格納可能なトリガーデータのサイズは、起動中のアプリケーションの数に応じて変更してもよい。アプリケーションのデータをフラッシュメモリ１３０に多く格納できるほど、ＨＤＤ１２０からデータを読み出す動作を少なくすることができる。
【００４５】
次いで、動作制御部１１３は、ヒット率が所定の閾値を超えたか否かを判定する（Ｓ１１０）。動作制御部１１３は、ヒット率演算部１１５に対し、リードコマンドテーブル１４０に格納されたトリガーデータに基づきアプリケーションが実行された割合をヒット率として算出させる。ヒット率が高いほど、ユーザが頻繁に使用しているアプリケーションのトリガーデータがリードコマンドテーブル１４０に格納されていることになる。ヒット率は、例えばアプリケーションの種類やユーザの設定によって決定されており、例えば９９％としてもよい。
【００４６】
ヒット率が閾値を超えたとき、動作制御部１１３は、ディスク制御部１１７に対してＨＤＤ１２０のディスク１２２の回転を停止するよう指示する（Ｓ１１２）。ステップＳ１１２の処理が実行されることで、ＨＤＤ１２０のディスク１２２の回転は停止する。ディスク１２２の回転が停止されても、頻繁に使用されるアプリケーションのトリガーデータはリードコマンドテーブル１４０に格納されているので、これらのアプリケーションはスムーズに動作させることができる。なお、ヒット率が閾値以下の場合には、ステップＳ１１２の処理は実行されず、ステップＳ１１４の処理が行われる。
【００４７】
その後、動作制御部１１３は、ホスト２００からのアクセスを待機する（Ｓ１１４）。ホスト２００からのアクセスがあるまではステップＳ１１４の処理が繰り返し行われる。そして、ホスト２００からアクセスがあると、動作制御部１１３は、リードコマンドテーブル１４０を参照し、フラッシュメモリ１３０に要求されているアプリケーションのトリガーデータが格納されているか否かを判定する（Ｓ１１６）。
【００４８】
フラッシュメモリ１３０にデータが格納されている場合には、動作制御部１１３はメモリ制御部１１９に対してトリガーデータを取得するよう指示する（Ｓ１１８）。このとき動作制御部１１３は、トリガーデータに基づき処理を開始するとともに、ＨＤＤ１２０に記憶されているデータも読み出す必要がある場合にはＨＤＤ１２０のディスク１２２を回転させて、残りのデータをＨＤＤ１２０から読み出す。したがって、ＨＤＤ１２０のディスク１２２からデータを読み出し可能となるまでに、トリガーデータによって初動することができるので、スムーズにアプリケーションを動作させることができる。
【００４９】
一方、フラッシュメモリ１３０にデータが格納されていない場合には、動作制御部１１３はディスク制御部１１７に対してディスク１２２を回転させ、データを取得するよう指示する（Ｓ１２０）。ハイブリッドＨＤＤ１００は、図４に示す処理が終了するとステップＳ１００から処理を繰り返し実行する。
【００５０】
以上、本実施形態に係るハイブリッドＨＤＤ１００の構成とこれによるディスクストップ処理について説明した。本実施形態に係るディスクストップ処理では、ホスト２００から読み出し要求を受けたアプリケーションのデータの少なくとも一部をアプリケーション単位でリードコマンドテーブル１４０にて管理する。そして、ホスト２００からのコマンドを受けて実行するアプリケーションのデータをフラッシュメモリ１３０から読み出す割合が所定の閾値を超えたとき、動作制御部１１３は、ＨＤＤ１２０のディスク１２２の回転を停止させる。これにより、使用頻度の高いアプリケーションに対する動作をスムーズにすることができる。
【００５１】
また、本実施形態に係るディスクストップ処理では、ホスト２００からのコマンドを受けてヒット率が演算される。すなわち、ユーザのアプリケーションの使用状況に応じて格納するトリガーデータが変更される。したがって、ユーザが頻繁に使用するアプリケーションが変化してもリードコマンドテーブル１４０の記憶内容も変化するため、使用状況が変化してもユーザエクスペリエンスを損なわないアプリケーションの動作を提供できる。
【００５２】
＜２．第２の実施形態＞
次に、図５に基づいて、第２の実施形態に係るハイブリッドＨＤＤ１００のディスクストップ処理について説明する。本実施形態に係るハイブリッドＨＤＤ１００は第１の実施形態と同様の構成であるため、その説明は省略する。本実施形態に係るハイブリッドＨＤＤ１００のディスクストップ処理は、第１の実施形態と比較して、アプリケーションのデータの一部である先頭データをフラッシュメモリ１３０にトリガーデータとして管理する点で相違する。本実施形態に係るディスクストップ処理は、アプリケーション単位で管理される第１の実施形態のディスクストップ処理よりも多くのアプリケーションのトリガーデータを格納することができる。
【００５３】
まず、ハイブリッドＨＤＤ１００のＨＤＤ１２０が起動しており、回転しているディスク１２２上にヘッド１２６が位置しているとする。このとき、動作制御部１１３は、図５に示すように、ホスト２００からコマンドが入力されるのを待機している（Ｓ２００）。ホスト２００からのコマンド入力があると、動作制御部１１３はディスク制御部１１７に対してコマンドにより読み出すデータをディスク１２２から取得するように指示する（Ｓ２０１）。ディスク１２２からデータが読み出されると、ステップＳ２００に戻り、ハイブリッドＨＤＤ１００からのコマンド入力を待機する。
【００５４】
ホスト２００からのコマンド入力がない場合、動作制御部１１３はコマンド入力の待機時間が所定時間経過したか否かを判定する（Ｓ２０２）。待機時間が所定時間以下の間、動作制御部１１３は、ステップＳ２００からの処理を繰り返す。待機時間が所定時間を超えると、動作制御部１１３は、ディスク制御部１１７に対して、回転するディスク１２２上に位置しているヘッド１２６を退避位置に移動させるよう指示する（Ｓ２０４）。ディスク制御部１１７は、当該指示を受けてアクチュエータ１２４を動かし、ヘッド１２６を退避位置に移動させる。このとき、ディスク１２２は回転している。
【００５５】
なお、ステップＳ２００〜Ｓ２０４の処理は、図４に示したＳ１００〜Ｓ１０４の処理と同様に行うことができる。
【００５６】
ヘッド１２６が移動された後、動作制御部１１３は引き続きホスト２００からのコマンド入力を待機する。このとき、動作制御部１１３は、端末が、バッテリによって駆動するＤＣモード、あるいはコンセントから電源を取っているＡＣモードであって省電力で駆動する省電力モードのうちいずれかのモードで駆動されているか否かを判定する（Ｓ２０６）。ＤＣモードまたは省電力モードで駆動されているとき、動作制御部１１３は、ヒット率が所定の閾値を超えたか否かを判定する（Ｓ２０８）。ヒット率が閾値を超えたとき、動作制御部１１３は、ディスク制御部１１７に対してＨＤＤ１２０のディスク１２２の回転を停止するよう指示する（Ｓ２１０）。ステップＳ２１０の処理が実行されることで、ＨＤＤ１２０のディスク１２２の回転は停止する。
【００５７】
一方、ステップＳ２０６で端末の駆動モードがＤＣモードおよび省電力モード以外と判定された場合、ステップＳ２０８でヒット率が閾値以下の場合には、ステップＳ２１０の処理は実行されず、ステップＳ２１４の処理が行われる。なお、ステップＳ２０６の処理は省略してもよい。例えば、ハイブリッドＨＤＤ１００が接続された端末が使用するバッテリに制限のない場合等は省略してもよい。
【００５８】
その後、動作制御部１１３は、ホスト２００からのアクセスを待機する（Ｓ２１２）。ホスト２００からのアクセスがあるまではステップＳ２１２の処理が繰り返し行われる。そして、ホスト２００からアクセスがあると、動作制御部１１３は、リードコマンドテーブル１４０を参照し、フラッシュメモリ１３０に要求されているアプリケーションのトリガーデータが格納されているか否かを判定する（Ｓ２１４）。
【００５９】
フラッシュメモリ１３０にトリガーデータが格納されている場合には、動作制御部１１３はメモリ制御部１１９に対してトリガーデータを取得するよう指示する（Ｓ２１６）。このとき、動作制御部１１３は、実行するアプリケーションの先頭データをトリガーデータとしてフラッシュメモリ１３０に格納し、リードコマンドテーブル１４０を更新する。一方、フラッシュメモリ１３０にデータが格納されていない場合には、動作制御部１１３はディスク制御部１１７に対してディスク１２２を回転させ、データを取得するよう指示するとともに、メモリ制御部１１９に対して取得したトリガーデータ及びこれに関する情報をリードコマンドテーブル１４０に記録するよう制御する（Ｓ２１８）。
【００６０】
その後、動作制御部１１３は、ヒット率演算部１１５にヒット率を演算させる（Ｓ２２０）。ヒット率は、直近のデータ取得回数のうちフラッシュメモリ１３０にトリガーデータが存在した回数の比で表される。ヒット率は、例えば起動される可能性のあるアプリケーションの種類やユーザの設定によって決定されており、例えば９９％としてもよい。ヒット率演算部１１５は、フラッシュメモリ１３０にトリガーデータが存在した場合には、フラッシュメモリ１３０にデータが存在した回数を１増やし、ヒット率を演算する。
【００６１】
一方、フラッシュメモリ１３０にデータが存在しなかった場合のヒット率は、前回と同じとなるか、あるいは低下することになる。例えば、直近のデータ取得回数が上限値に到達するまでは、フラッシュメモリ１３０にデータが存在しないほどヒット率は低下する。直近のデータ取得回数が上限値に到達すると、データの取得が行われる度に最も古いトリガーデータが削除される。このとき、削除されたデータが要求されたことがないミスヒットデータであればヒット率は前回と同じとなる。一方、削除されたデータが要求されたことがあるヒットデータであればヒット率は低下することになる。ステップＳ２２０の処理を終えると、図５に示す処理は終了し、ステップＳ２００から繰り返し実行される。
【００６２】
以上、本実施形態に係るディスクストップ処理について説明した。本実施形態に係るディスクストップ処理では、ホスト２００から読み出し要求を受けたアプリケーションのデータの少なくとも一部をリードコマンドテーブル１４０にて管理する。そして、ホスト２００からのコマンドを受けて実行するアプリケーションのデータをフラッシュメモリ１３０から読み出す割合が所定の閾値を超えたとき、動作制御部１１３は、ＨＤＤ１２０のディスク１２２の回転を停止させる。これにより、使用頻度の高いアプリケーションに対する動作をスムーズにすることができる。
【００６３】
また、本実施形態に係るディスクストップ処理では、ホスト２００からのコマンドを受けてヒット率が演算される。すなわち、ユーザのアプリケーションの使用状況に応じて格納するトリガーデータが変更される。したがって、ユーザが頻繁に使用するアプリケーションが変化してもリードコマンドテーブル１４０の記憶内容も変化するため、使用状況が変化してもユーザエクスペリエンスを損なわないアプリケーションの動作を提供できる。
【００６４】
＜３．ハードウェア構成例＞
本実施形態に係るハイブリッドＨＤＤ１００を備える情報処理装置１は、例えば図６に示すように構成することもできる。以下、図６に基づいて、本実施形態に係る情報処理装置１の一ハードウェア構成例について説明する。
【００６５】
本実施形態に係る情報処理装置１は、上述したように、コンピュータ等の処理装置により実現することができる。情報処理装置１は、図６に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３と、ホストバス９０４ａとを備える。また、情報処理装置１は、ブリッジ９０４と、外部バス９０４ｂと、インタフェース９０５と、入力装置９０６と、出力装置９０７と、ストレージ装置９０８と、ドライブ９０９と、接続ポート９１１と、通信装置９１３とを備える。
【００６６】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置１内の動作全般を制御する。また、ＣＰＵ９０１は、マイクロプロセッサであってもよい。ＲＯＭ９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはＣＰＵバスなどから構成されるホストバス９０４ａにより相互に接続されている。
【００６７】
ホストバス９０４ａは、ブリッジ９０４を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９０４ｂに接続されている。なお、必ずしもホストバス９０４ａ、ブリッジ９０４および外部バス９０４ｂを分離構成する必要はなく、１つのバスにこれらの機能を実装してもよい。
【００６８】
入力装置９０６は、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。出力装置９０７は、例えば、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）装置およびランプなどの表示装置や、スピーカなどの音声出力装置を含む。
【００６９】
ストレージ装置９０８は、情報処理装置１の記憶部の一例であり、データ格納用の装置である。ストレージ装置９０８は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置９０８は、上記実施形態のハイブリッドＨＤＤ１００で構成される。このストレージ装置９０８は、ハードディスクを駆動し、ＣＰＵ９０１が実行するプログラムや各種データを格納する。
【００７０】
ドライブ９０９は、記憶媒体用リーダライタであり、情報処理装置１に内蔵、あるいは外付けされる。ドライブ９０９は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体に記録されている情報を読み出して、ＲＡＭ９０３に出力する。
【００７１】
接続ポート９１１は、外部機器と接続されるインタフェースであって、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などによりデータ伝送可能な外部機器との接続口である。また、通信装置９１３は、例えば、通信網５に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置９１３は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）対応通信装置であっても、ワイヤレスＵＳＢ対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
【００７２】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【００７３】
例えば、上記実施形態では、ディスクストップ処理をＨＤＤ１２０とフラッシュメモリ１３０とを備えるハイブリッドＨＤＤ１００に適用したが、本技術はかかる例に限定されない。例えば、上記実施形態にて説明したディスクストップ処理は、フラッシュメモリ１３０と別体で設けられたＨＤＤ１２０に適用してもよい。この場合、ハイブリッドＨＤＤ１００のファームウェア１１０の動作制御部１１３およびヒット率演算部１１５にて行われていたディスクストップ処理を実行するドライバが、ホスト２００に設けられる。これにより、フラッシュメモリ１３０を参照するヒット率が所定の閾値を超えたときにＨＤＤ１２０のディスク１２２の回転を停止させる処理を行うことができる。
【００７４】
また、上記実施形態では、フラッシュメモリ１３０に格納されるトリガーデータが記憶される領域について制限はないが、例えば、トリガーデータが格納される領域と他のデータとが格納される領域とを分けてもよい。フラッシュメモリ１３０に格納される他のデータとしては、例えば図１に示すように、ハイブリッドＨＤＤ１００のパフォーマンス向上のために記憶されるアクセス頻度の高いデータや、直近でアクセスのあったデータ等がある。
【００７５】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）第１の記憶部と、
前記第１の記憶部より読み出し速度の速い第２の記憶部と、
前記第１の記憶部および前記第２の記憶部へのデータの記録を制御する制御部と、
を備え、
前記制御部は、
前記第１の記憶部に記録されたデータの少なくとも一部を前記第２の記憶部に記録し、
前記第１の記憶部に対して所定時間以上アクセスがない場合、前記第１の記憶部の駆動を停止するよう制御する、情報処理装置。
（２）前記制御部は、データの読み出しを受けたとき、当該データが前記第２の記憶部に格納されている場合には前記第２の記憶部から前記データを読み出し、前記データが前記第２の記憶部に格納されていない場合には前記第１の記憶部から前記データを読み出すよう制御する、前記（１）に記載の情報処理装置。
（３）前記制御部は、
読み出しを受けた前記データが前記第２の記憶部に存在する割合であるヒット率を演算し、
前記ヒット率が所定の閾値を超えたとき、前記第１の記憶部の駆動を停止するよう制御する、前記（１）または（２）に記載の情報処理装置。
（４）データの読み出しを受けて前記第２の記憶部に記録されたデータの位置及びサイズを記憶する読み出し記憶部を備え、
前記制御部は、データの読み出しを受けたとき、前記読み出し記憶部を参照して要求された前記データの読み出し元を決定するよう制御する、前記（１）〜（３）のいずれか１項に記載の情報処理装置。
（５）前記読み出し記憶部は、データの読み出しを受けて前記第２の記憶部に記録されたデータを、アプリケーション単位で格納する、前記（４）に記載の情報処理装置。
（６）前記制御部は、データの読み出しを受けて実行されるアプリケーションの先頭データを前記第２の記憶部に格納するよう制御する、前記（４）に記載の情報処理装置。
（７）前記第１の記憶部はハードディスクドライブであり、前記第２の記憶部は不揮発性半導体メモリである、前記（１）〜（６）のいずれか１項に記載の情報処理装置。
（８）アプリケーションを実行する演算処理装置と、
前記演算処理装置により実行される前記アプリケーションのデータを記憶する記憶装置と、
を備え、
前記記憶装置は、
第１の記憶部と、
前記第１の記憶部より読み出し速度の速い第２の記憶部と、
前記第１の記憶部および前記第２の記憶部へのデータの記録を制御する制御部と、
を有し、
前記制御部は、
前記第１の記憶部に記録されたデータの少なくとも一部を前記第２の記憶部に記録し、
前記第１の記憶部に対して所定時間以上アクセスがない場合、前記第１の記憶部の駆動を停止するよう制御する、情報処理装置。
（９）データの読み出しを受けて読み出した第１の記憶部に記録された当該データの少なくとも一部を、前記第１の記憶部より読み出し速度の速い第２の記憶部に記録すること、
前記第１の記憶部に対して所定時間以上アクセスがない場合、前記第１の記憶部の駆動を停止すること、
を含む、情報処理方法。
（１０）コンピュータに、
データの読み出しを受けて読み出した第１の記憶部に記録された当該データの少なくとも一部を、前記第１の記憶部より読み出し速度の速い第２の記憶部に記録すること、
前記第１の記憶部に対して所定時間以上アクセスがない場合、前記第１の記憶部の駆動を停止すること、
を実行させるためのコンピュータプログラム。
【符号の説明】
【００７６】
１        情報処理装置
１００    ハイブリッドＨＤＤ
１１０    ファームウェア
１１１    インタフェース部
１１３    動作制御部
１１５    ヒット率演算部
１１７    ディスク制御部
１１９    メモリ制御部
１２０    ＨＤＤ
１２２    ディスク
１２４    アクチュエータ
１２６    ヘッド
１３０    フラッシュメモリ
１４０    リードコマンドテーブル
２００    ホスト
３００    ＡＣ／ＤＣ
【図１】
2015014881.tif 000003
【図２】
2015014881.tif 000004
【図３】
2015014881.tif 000005
【図４】
2015014881.tif 000006
【図５】
2015014881.tif 000007
【図６】
2015014881.tif 000008
【図７】
2015014881.tif 000009