(57)【要約】【課題】記憶媒体へのデータの書き込みの信頼性等を確保しつつ、データの書き込み等の処理のパフォーマンス低下を抑制できる方法を提案する。【解決手段】記憶装置の一時格納メモリに一時的に格納されたデータが前記記憶装置の主メモリに書き込まれた後に、前記一時格納メモリに格納されたデータと前記主メモリに書き込まれたデータとの一致判断を行い、データが一致しない場合には前記一時格納メモリに格納された前記データを前記主メモリに再度書き込むベリファイ処理を行うベリファイ処理部と、データが一致せずに前記主メモリにデータを再度書き込んだリライト状態に関する情報を取得するリライト状態取得部と、取得した前記リライト状態に基づいて、前記ベリファイ処理の実行に関する設定情報を変更する制御部と、を備える、情報処理装置。【選択図】図３
2013186619.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置の一時格納メモリに一時的に格納されたデータが前記記憶装置の主メモリに書き込まれた後に、前記一時格納メモリに格納されたデータと前記主メモリに書き込まれたデータとの一致判断を行い、データが一致しない場合には前記一時格納メモリに格納された前記データを前記主メモリに再度書き込むベリファイ処理を行うベリファイ処理部と、
データが一致せずに前記主メモリにデータを再度書き込んだリライト状態に関する情報を取得するリライト状態取得部と、
取得した前記リライト状態に関する情報に基づいて、前記ベリファイ処理の実行に関する設定情報を変更する制御部と、
を備える、情報処理装置。
【請求項２】
前記一時格納メモリには、一時的に格納されるデータに関する処理命令も格納され、
前記設定情報は、前記ベリファイ処理を行うことが可能な前記処理命令の格納数を規定する情報を含む、請求項１に記載の情報処理装置。
【請求項３】
前記主メモリは、それぞれ異なる種類のデータを記憶する複数の領域を有し、
前記設定情報は、前記複数の領域のうちの前記ベリファイ処理を行う対象のデータが書き込まれる領域を規定する情報を含む、請求項１に記載の情報処理装置。
【請求項４】
前記設定情報は、前記記憶装置の動作期間において前記ベリファイ処理を行うタイミングを規定する情報を含む、請求項１に記載の情報処理装置。
【請求項５】
前記リライト状態取得部は、前記リライト状態に関する情報としてリライト回数を取得し、
前記制御部は、取得したリライト回数が所定数以上である場合には、前記設定情報を変更する、請求項１に記載の情報処理装置。
【請求項６】
前記リライト状態取得部は、前記リライト状態に関する情報としてリライト回数を取得し、
前記制御部は、取得したリライト回数が所定数以上である場合には、前記主メモリへのデータの書き込みに関する情報を表示部に表示させる、請求項１に記載の情報処理装置。
【請求項７】
前記制御部は、前記表示部に、前記ベリファイ処理の頻度を変更する設定画面を表示させる、請求項６に記載の情報処理装置。
【請求項８】
前記制御部は、前記表示部に、前記データのバックアップを促す情報を含む画面を表示させる、請求項６に記載の情報処理装置。
【請求項９】
前記主メモリには、前記リライト回数に関する情報が格納されている、請求項５に記載の情報処理装置。
【請求項１０】
記憶装置の一時格納メモリに一時的に格納されたデータが前記記憶装置の主メモリに書き込まれた後に、前記一時格納メモリに格納されたデータと前記主メモリに書き込まれたデータとの一致判断を行い、データが一致しない場合には前記一時格納メモリに格納された前記データを前記主メモリに再度書き込むベリファイ処理を行うことと、
データが一致せずに前記主メモリにデータを再度書き込んだリライト状態に関する情報を取得することと、
取得した前記リライト状態に関する情報に基づいて、前記ベリファイ処理の実行に関する設定情報を変更することと、
を含む情報処理方法。
【請求項１１】
コンピュータに、
記憶装置の一時格納メモリに一時的に格納されたデータが前記記憶装置の主メモリに書き込まれた後に、前記一時格納メモリに格納されたデータと前記主メモリに書き込まれたデータとの一致判断を行い、データが一致しない場合には前記一時格納メモリに格納された前記データを前記主メモリに再度書き込むベリファイ処理を行うことと、
データが一致せずに前記主メモリにデータを再度書き込んだリライト状態に関する情報を取得することと、
取得した前記リライト状態に関する情報に基づいて、前記ベリファイ処理の実行に関する設定情報を変更することと、
を実行させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
情報処理装置として、例えば、大容量の記憶容量を有するハードディスク等の記憶媒体を含む記憶装置を搭載したノート型のパーソナルコンピュータ等の電子機器が用いられている。この情報処理装置は、例えばホストＣＰＵで処理したデータを、記憶装置の記憶媒体に書き込む。この際、データは、記憶装置のキャッシュメモリに一時格納された後に、記憶媒体に書き込まれる。
【０００３】
上記の情報処理装置では、記憶媒体へのデータの書き込みの正確性や信頼性を確保するために、記憶媒体への書き込みエラーをチェックするベリファイ処理が行われる。ベリファイ処理においては、キャッシュメモリに一時格納されたデータと、記憶媒体に書き込まれたデータとを読み出して、一致判定が行われる。次に、一致判定においてデータが異なる場合には、記憶媒体に再度データを書き込む（リライト）処理が行われる。そして、ベリファイ処理は、キャッシュメモリと記憶媒体のデータが一致するまで、上記の処理が繰り返される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１３４８３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記のベリファイ処理を実行すると、データの書き込みの信頼性等を確保できる一方で、記憶媒体へのデータの書き込み等の処理のパフォーマンスを低下させるという問題がある。
【０００６】
本開示は、記憶媒体へのデータの書き込みの信頼性等を確保しつつ、データの書き込み等の処理のパフォーマンス低下を抑制できる方法を提案する。
【課題を解決するための手段】
【０００７】
本開示によれば、記憶装置の一時格納メモリに一時的に格納されたデータが前記記憶装置の主メモリに書き込まれた後に、前記一時格納メモリに格納されたデータと前記主メモリに書き込まれたデータとの一致判断を行い、データが一致しない場合には前記一時格納メモリに格納された前記データを前記主メモリに再度書き込むベリファイ処理を行うベリファイ処理部と、データが一致せずに前記主メモリにデータを再度書き込んだリライト状態に関する情報を取得するリライト状態取得部と、取得した前記リライト状態に関する情報に基づいて、前記ベリファイ処理の実行に関する設定情報を変更する制御部と、を備える、情報処理装置が提供される。
【０００８】
かかる構成によれば、リライト状態取得部は、データが一致せずに前記主メモリにデータを再度書き込んだリライト状態に関する情報を取得し、制御部は、取得した前記リライト状態に関する情報に基づいて、前記ベリファイ処理の実行に関する設定情報を変更する。これにより、リライト状態に応じて変更した設定情報に基づいてベリファイ処理を行うことでき、例えばリライト状態からデータの信頼性が確保される場合にはベリファイ処理の頻度を下げることで、過剰にベリファイ処理を実行させることを防止できる。この結果、記憶媒体へのデータの書き込みの信頼性等を確保しつつ、データの書き込み等の処理のパフォーマンス低下を抑制することが可能となる。
【０００９】
また、本開示によれば、記憶装置の一時格納メモリに一時的に格納されたデータが前記記憶装置の主メモリに書き込まれた後に、前記一時格納メモリに格納されたデータと前記主メモリに書き込まれたデータとの一致判断を行い、データが一致しない場合には前記一時格納メモリに格納された前記データを前記主メモリに再度書き込むベリファイ処理を行うことと、データが一致せずに前記主メモリにデータを再度書き込んだリライト状態に関する情報を取得することと、取得した前記リライト状態に関する情報に基づいて、前記ベリファイ処理の実行に関する設定情報を変更することと、を含む情報処理方法が提供される。
【００１０】
また、本開示によれば、コンピュータに、記憶装置の一時格納メモリに一時的に格納されたデータが前記記憶装置の主メモリに書き込まれた後に、前記一時格納メモリに格納されたデータと前記主メモリに書き込まれたデータとの一致判断を行い、データが一致しない場合には前記一時格納メモリに格納された前記データを前記主メモリに再度書き込むベリファイ処理を行うことと、データが一致せずに前記主メモリにデータを再度書き込んだリライト状態に関する情報を取得することと、取得した前記リライト状態に関する情報に基づいて、前記ベリファイ処理の実行に関する設定情報を変更することと、を実行させるための、プログラムが提供される。
【発明の効果】
【００１１】
以上説明したように本開示によれば、記憶媒体へのデータの書き込みの信頼性等を確保しつつ、データの書き込み等の処理のパフォーマンス低下を抑制することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本開示の一実施形態に係る情報処理装置の外観構成の一例を示す斜視図である。
【図２】一実施形態に係る情報処理装置のシステム構成の一例を示すブロック図である。
【図３】一実施形態に係るハードディスク装置の論理的機能の構成の一例を示すブロック図である。
【図４】一実施形態に係るハードディスクの記憶領域の一例を示す模式図である。
【図５】一実施形態に係るＳＭＡＲＴに含まれる各種の検査項目の一例を示す図である。
【図６】一実施形態に係るキャッシュメモリに格納されたコマンドの一例を示す模式図である。
【図７】一実施形態に係るハードディスク装置の動作時間と、ベリファイ処理との関係を示す模式図である。
【図８】一実施形態に係る情報処理装置の動作例を示すフローチャートである。
【図９】一実施形態に係る情報処理装置の動作例を示すフローチャートである。
【図１０】一実施形態に係る表示部による表示画面例を示す図である。
【図１１】一実施形態に係る表示部による表示画面例を示す図である。
【図１２】一実施形態に係るベリファイ処理の処理時間と、ハードディスク装置のリスクと、ハードディスク装置の処理負荷の関係を示す模式図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
１．情報処理装置の構成
１−１．情報処理装置の外観構成
１−２．情報処理装置のシステム構成
１−３．ハードディスク装置の機能構成
２．情報処理装置の動作例
３．まとめ
【００１５】
＜１．情報処理装置の構成＞
本開示の一実施形態に係る情報処理装置１００の構成について説明する。一実施形態に係る情報処理装置１００は、例えば、ノート型のパーソナルコンピュータ等の電子機器である。
【００１６】
（１−１．情報処理装置の外観構成）
図１を参照しながら、情報処理装置１００の外観構成について説明する。図１は、本開示の一実施形態に係る情報処理装置１００の外観構成の一例を示す斜視図である。
【００１７】
図１に示すように、情報処理装置１００は、本体側筐体１１０と、表示側筐体１２０と、ヒンジ部１３０とを有する。本体側筐体１１０及び表示側筐体１２０は、例えばそれぞれ平板形状となっており、同一サイズに形成されている。
【００１８】
本体側筐体１１０は、ユーザの入力操作を受け付ける入力部１１２を有する。入力部１１２は、ユーザの入力操作を検出し、入力操作に対応する電気信号を出力する。入力部１１２は、図１に示すようにキーボードやタッチパッド等を含む。入力部１１２は、これに限定されず、例えばタッチパネルを含んでも良い。
【００１９】
表示側筐体１２０は、各種の情報を表示する表示部１２２を有する。表示部１２２は、例えば液晶ディスプレイ等の表示装置により構成される。表示側筐体１２０及び本体側筐体１１０は、開閉可能に連結されている。
【００２０】
ヒンジ部１３０は、本体側筐体１１０と表示側筐体１２０とを開閉自在に連結している。本体側筐体１１０及び表示側筐体１２０は、図１に示す本体側筐体１１０及び表示側筐体１２０が開いた開状態と、本体側筐体１１０及び表示側筐体１２０が閉じた閉状態との間で、相対的に回動する。
【００２１】
（１−２．情報処理装置のシステム構成）
図２を参照しながら、情報処理装置１００のシステム構成の一例について説明する。図２は、一実施形態に係る情報処理装置１００のシステム構成の一例を示すブロック図である。
【００２２】
図２に示すように、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１４０と、チップセット１４２と、Ｉ／Ｏコントローラ１４４と、メインメモリ１４６と、ＢＩＯＳＲＯＭ１４８と、を有する。さらに、情報処理装置１００は、電源コントローラ１５２と、電源装置１５４と、記憶装置の一例であるハードディスク装置１６０と、を有する。
【００２３】
ＣＰＵ１４０は、情報処理装置１００のシステム全体の制御を行う制御部である。例えば、ＣＰＵ１４０は、メインメモリ１４６に記憶されたＯＳ（Ｏｐｅｒｅｔｉｎｇ  Ｓｙｓｔｅｍ）や、ＯＳ上で動作するアプリケーション・プログラムなどを実行するための各種の演算処理を行う。
【００２４】
チップセット１４２は、ＣＰＵ１４０、メインメモリ１４６、ＢＩＯＳＲＯＭ１４８、Ｉ／Ｏコントローラ１４４、入力部１１２、表示部１２２等のデバイス間のデータの授受を制御する回路である。Ｉ／Ｏコントローラ１４４は、ハードディスク装置１６０に対するデータの授受等を制御する。
【００２５】
メインメモリ１４６は、ＣＰＵ１４０が処理するプログラムやデータを記憶する。また、メインメモリ１４６は、ＣＰＵ１４０のワークエリアとしても機能する。ＢＩＯＳＲＯＭ１４８は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）を記憶する。
【００２６】
電源コントローラ１５２は、電源装置１５４による電源供給を制御する。電源装置１５４は、電源を各種内部構成品に供給する。
【００２７】
ハードディスク装置１６０は、情報処理装置１００の外部記憶装置として用いられる。ハードディスク装置１６０は、ＣＰＵ１４０の制御の下、Ｉ／Ｏコントローラ１４４及びチップセット１４２を介して、主にメインメモリ１４６との間でデータの授受を行なっている。
【００２８】
ハードディスク装置１６０は、磁気記憶媒体であるディスクと、ディスクを駆動するスピンドルモータとスピンドルモータを駆動する駆動回路を含むディスク駆動部と、を有する。また、ハードディスク装置１６０は、ディスクに対して信号を磁気的に読み書きするためのヘッドと、ヘッドを支持してディスクの径方向に移動させるヘッドアクチュエータと、を有する。
【００２９】
ハードディスク装置１６０には、ＯＳや各種アプリケーション・プログラムが記憶されているほか、各種アプリケーション・プログラムで生成される文書データファイルや画像データファイル等が記憶されている。これらのデータファイルは、ユーザの操作によって、或いは自動的に読出し、変更、書込み等が行われる。また、ＯＳであっても、その一部のデータファイルには、起動時刻やハードウェア情報等を含むものがあり、その内容は自動的に更新（読出し、変更、書込み）されている。
【００３０】
ハードディスク装置１６０に対するデータの読出し、書込みは、主に、プログラムの一種であるソフトウェアドライバをＣＰＵ１４０が実行することによって行われる。ソフトウェアドライバは、ハードディスク装置１６０を操作するコマンドを生成し、Ｉ／Ｏコントローラ１４４に対してこのコマンドを発行することによって、ハードディスク装置１６０に対してデータの書込み、読出しを行う。また、ソフトウェアドライバは、ハードディスク装置１６０のエラーステータスの確認も行う。
【００３１】
（１−３．ハードディスク装置の機能構成）
図３を参照しながら、ハードディスク装置１６０の機能構成の一例について説明する。図３は、一実施形態に係るハードディスク装置１６０の論理的機能の構成の一例を示すブロック図である。
【００３２】
図３に示すように、ハードディスク装置１６０は、主メモリの一例であるハードディスク２０２と、一時格納メモリの一例であるキャシュメモリ２０４と、ＳＭＡＲＴ（Ｓｅｌｆ−Ｍｏｎｉｔｏｒｒｉｎｇ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ）２０６と、制御回路２１０と、有する。また、制御回路２１０は、図３に示すように、データ転送部２１２と、ベリファイ処理部２１４と、パラメータ設定部２１８と、設定変更部２２０と、を有する。
【００３３】
（ハードディスク２０２）
ハードディスク２０２は、ＯＳや各種アプリケーション・プログラムが記憶されているほか、各種アプリケーション・プログラムで生成される文書データファイルや画像データファイル等を記憶する。ハードディスク２０２は、複数の領域に分割された記憶領域を有する。分割された各領域は、異なる種類のデータを記憶する。
【００３４】
図４は、一実施形態に係るハードディスク２０２の記憶領域の一例を示す模式図である。ハードディスク２０２の記憶領域は、円形状のディスクの外周から内周に向かって配列されている。そして、図４に示すように、ハードディスク２０２の記憶領域は、起動領域Ｐａ１、リカバリ領域Ｐａ２、Ｓｙｓｔｅｍ領域Ｐａ３、データ領域Ｐａ４を含む。
【００３５】
起動領域Ｐａ１は、ハードディスク２０２の記憶領域の先頭に置かれ、情報処理装置１００の起動時に最初に読み込まれる部分（セクタ）である。起動領域Ｐａ１には、データを記憶するセクタを指定するロジカルブロックアドレス（ＬＢＡ）に関する情報も含まれている。
【００３６】
リカバリ領域Ｐａ２は、ＯＳのリカバリのための領域であり、リカバリ用のデータやプログラムが格納されている。Ｓｙｓｔｅｍ領域Ｐａ３は、起動時にＯＳにアクセスに行くための領域である。
【００３７】
データ領域Ｐａ４は、ハードディスク２０２の領域の中で最も大きな領域であり、ＯＳ、アプリケーション・プログラム、ファイル等のデータなどを記憶する。データ領域Ｐａ４は、ＯＳを記憶する領域、アプリケーション・プログラムを記憶する領域のように、更に複数の領域に分割される。
【００３８】
（キャシュメモリ２０４）
キャシュメモリ２０４は、メインメモリ１４６から書き込まれたデータを一時的に格納する。キャッシュメモリ２０４内のデータは、順次上書きされる。キャッシュメモリ２０４は、格納するデータと共に、前記データに関するコマンド（処理命令）も格納する。キャッシュメモリ２０４としては、例えば、ＤＲＡＭ等が用いられる。
【００３９】
キャッシュメモリ２０４に一時的に格納されたデータは、ハードディスク２０２に書き込まれる。なお、キャッシュメモリ２０４のデータは、ハードディスク２０２に書き込まれた後も、上書きがされる迄は格納された状態が維持される。
【００４０】
（ＳＭＡＲＴ２０６）
ＳＭＡＲＴ２０６は、ハードディスク２０２内に設けられ、ハードディスク装置１６０の障害の発見・故障の予測を目的とした機能である。ＳＭＡＲＴ２０６は、各種の検査項目をリアルタイムに自己診断し、状態を数値化する。
【００４１】
図５は、一実施形態に係るＳＭＡＲＴ２０６に含まれる各種の検査項目の一例を示す図である。図５に示すように、各検査項目にはＩＤ（ＩＤ（イ）等）が付与されている。検査項目としては、例えば、エラーレート、リライト回数、ハードディスク装置１６０の温度等が含まれる。
【００４２】
本実施形態では、情報処理装置１００のＣＰＵ１４０は、ＳＭＡＲＴ２０６にアクセスし、検査項目の情報を取得する。例えば、ＣＰＵ１４０は、ＳＭＡＲＴ２０６内のリライト回数を定期的に取得し、リライト回数が所定数以上であるか否かを判定する。すなわち、ＣＰＵ１４０は、ハードディスク２０２へのデータのリライト状態を取得するリライト状態取得部の機能を有する。
【００４３】
そして、リライト回数が所定数以上である場合には、ＣＰＵ１４０は、ベリファイ処理の設定情報であるパラメータ（後述）の設定条件を変更する。これにより、ハードディスク２０２へのデータの書き込みエラーを反映した設定条件に変更できる。また、ＣＰＵ１４０は、リライト回数が所定数以上である場合には、ハードディスク２０２へのデータの書き込みに関する情報を、表示部１２２に表示させても良い。これにより、ユーザが表示部１２２に表示された情報を見ることで、ハードディスク２０２のデータの書き込みエラー等の状態を知覚しやすくなる。
【００４４】
（制御回路２１０）
制御回路２１０は、例えばＣＰＵ等により構成されるマイクロコンピュータであり、ハードディスク装置１６０全体の動作を制御する。例えば、制御回路２１０は、ハードディスク２０２へのデータの書き込みの正確性や信頼性を確保するために、ハードディスク２０２の書き込みエラーをチェックするベリファイ処理（詳細は後述する）を行う。
【００４５】
（データ転送部２１２）
データ転送部２１２は、メインメモリ１４６に記憶されたデータをキャッシュメモリ２０４に書き込む。また、データ転送部２１２は、キャッシュメモリ２０４に格納されたデータを、ハードディスク２０２に書き込む。すなわち、データ転送部２１２は、メインメモリ１４６のデータを、キャッシュメモリ２０４に一時的に格納した後に、ハードディスク２０２に書き込む。
【００４６】
データ転送部２１２がキャッシュメモリ２０４にデータを書き込むことで、キャッシュメモリ２０４内のデータが上書きされる。
【００４７】
（ベリファイ処理部２１４）
ベリファイ処理部２１４は、キャッシュメモリ２０４のデータと、ハードディスク２０２のデータとを用いて、ベリファイ処理を行う。
【００４８】
ここで、ベリファイ処理の流れを説明する。ベリファイ処理部２１４は、キャッシュメモリ２０４からハードディスク２０２にデータが書き込まれた後に、キャッシュメモリ２０４とハードディスク２０２のデータとを読み出して、データ内容の一致判定を行う。次に、ベリファイ処理部２１４は、データが異なると判定した場合には、再度、キャッシュメモリ２０４からハードディスク２０２にデータを書き込む。そして、ベリファイ処理部２１４は、キャッシュメモリ２０４とハードディスク２０２のデータが一致するまで、データの書込と読出しを繰り返す。上記のベリファイ処理を行うことにより、ハードディスク２０２に書込みエラーが発生しても、エラーを排除できる。
【００４９】
ベリファイ処理部２１４は、ハードディスク２０２の記憶領域において所定範囲に書き込まれたデータに対して、ベリファイ処理を行う。これは、ハードディスク２０２の記憶領域の全範囲を対象に行うと、ハードディスク２０２のデータの書込み時間が長くなり、処理パフォーマンスが低下するためである。上記の所定範囲は、後述するパラメータ設定部２１８により設定されている。
【００５０】
例えば、ベリファイ処理部２１４は、ハードディスク装置１６０の動作において重要なデータを格納する所定範囲（例えば、図４に示す起動領域Ｐａ１と、データ領域Ｐａ４のうちＯＳを格納する領域）を対象にして、当該所定範囲に格納されたデータについてベリファイ処理を行う。これにより、ハードディスク装置１６０の動作において重要なデータの信頼性を確保すると共に、ハードディスク装置１６０へのデータ書込の処理パフォーマンスの低下を抑制できる。また、ＯＳが起動しない等の致命的なエラーの発生確立を下げることが可能となる。
【００５１】
ベリファイ処理部２１４は、キャッシュメモリ２０４に格納されたコマンド数に応じて、ベリファイ処理を制御する。具体的には、ベリファイ処理部２１４は、キャッシュメモリ２０４に格納されたコマンド数が所定数よりも大きい場合には、ベリファイ処理を実行せず、コマンド数が所定数よりも小さい場合には、ベリファイ処理を実行する。コマンド数が多い場合には、ハードディスク装置１６０の負荷が大きいので、負荷を軽減する観点から、ベリファイ処理を実行させない。
【００５２】
例えば、ベリファイ処理部２１４は、ハードディスク２０２へのデータの書き始めには、コマンド数が少ないので、ベリファイ処理を積極的に実行する。データの書き始めには、ハードディスク２０２へのゴミの付着に起因してハードディスク２０２の動作不良が発生し易いが、仮にハードディスク２０２の動作不良が発生しても、ベリファイ処理を行うことでハードディスク２０２の書き込みエラーを排除できる。
【００５３】
図６は、一実施形態に係るキャッシュメモリ２０４に格納されたコマンドの一例を示す模式図である。なお、キャッシュメモリ２０４には、コマンドとデータが両方格納されるが、説明の便宜上、図６にはコマンドのみが示されている。図６には、４つのコマンドＣｏ１〜Ｃｏ４が格納されている。上述した所定数が３個と設定されている場合には、コマンド数が所定数よりも多いので、ベリファイ処理部２１４は、ベリファイ処理を実行しないことになる。なお、上記の所定数は、後述するパラメータ設定部２１８により設定されている。
【００５４】
ベリファイ処理部２１４は、ハードディスク装置１６０の動作時間に応じて、ベリファイ処理を制御する。例えば、ベリファイ処理部２１４は、図７（ａ）に示すように、ハードディスク装置１６０の動作開始毎に、起動開始から所定時間（図７（ａ）に示す時間ｔ１）が経過するまではベリファイ処理を行わないこととしても良い。ハードディスク装置１６０の動作開始時は、起動処理を行うので、上記の所定時間ｔ１（起動処理に要する時間）を経過するまでベリファイ処理を行わないことにより、起動に要する時間が長くなることを抑制できる。なお、図７は、ハードディスク装置１６０の動作時間と、ベリファイ処理との関係を示す模式図である。
【００５５】
また、ベリファイ処理部２１４は、図７（ｂ）に示すように、ハードディスク装置１６０のトータルの動作時間が所定時間（図７（ｂ）に示す時間ｔ２）を経過すると、ベリファイ処理を行わないこととしても良い。長期間リライト動作が無ければ、ベリファイが必要な不良モードに陥る可能性が低いので、ベリファイ処理を行わないことによりパフォーマンス低下を抑制できる。
【００５６】
（パラメータ設定部２１８）
パラメータ設定部２１８は、ハードディスク２０２の状態や動作に基づいて、ベリファイ処理の実行に関する設定情報であるパラメータを設定する。パラメータ設定部２１８は、設定したパラメータ情報をベリファイ処理部２１４に出力する。このようにパラメータを設定することにより、ハードディスク２０２の状態や動作に適したタイミングでベリファイ処理を実行することが可能となる。
【００５７】
設定情報であるパラメータは、ハードディスク２０２の記憶領域においてベリファイ処理の対象のデータが書き込まれる所定範囲（例えば、図４に示すリカバリ領域Ｐａ１と、データ領域Ｐａ４のうちＯＳを格納する領域）を規定する情報を含む。また、パラメータは、ベリファイ処理を行うことが可能な、キャッシュメモリ２０４のコマンド数の格納数を規定する情報を含む。また、パラメータは、ハードディスク装置１６０の動作期間においてベリファイ処理を行うタイミングを規定する情報を含む。例えば、パラメータには、ベリファイ処理を実行させないハードディスクの動作時間ｔ１（図７（ａ））、ベリファイ処理を実行させる動作時間ｔ２（図７（ｂ））が規定される。
【００５８】
（設定変更部２２０）
設定変更部２２０は、リライト回数が所定数以上になってＣＰＵ１４０からパラメータの変更の命令を受けると、パラメータ設定部２１８により設定されたパラメータの条件を変更する。これにより、ハードディスク２０２のデータの書き込み状態を参照して、より最適なパラメータの条件に変更できる。
【００５９】
例えば、設定変更部２２０は、ハードディスク２０２の記憶領域（図４参照）においてベリファイ処理の対象とする所定範囲を広くし、又は狭くする。また、設定変更部２２０は、リファイ処理を実行する、キャッシュメモリ２０４のコマンド数の格納数を変更する。また、設定変更部２２０は、ベリファイ処理を実行させないハードディスクの動作時間ｔ１（図７（ａ））や、ベリファイ処理を実行させる動作時間ｔ２（図７（ｂ））の時間を変更する。
【００６０】
上記においては、情報処置装置として、ハードディスク装置１６０を内蔵するノート型のパーソナルコンピュータを例に挙げて説明したが、これに限定されない。例えば、情報処理装置は、ＨＤＤを内蔵していれば、携帯電話機、ＰＤＡ、ゲーム機、電子辞書、タブレット等であっても良い。
【００６１】
＜２．情報処理装置の動作例＞
次に、上述した構成を有する情報処理装置１００の動作例について説明する。
【００６２】
図８は、一実施形態に係る情報処理装置１００の動作例を示すフローチャートである。図８に示すフローチャートは、メインメモリ１４６に記憶されたデータがキャッシュメモリ２０４を介してハードディスク２０２に書き込まれる際に、実行される。
【００６３】
まず、ベリファイ処理部２１４は、キャッシュメモリ２０４からハードディスク２０２に書き込まれたデータが、ハードディスク２０２の記憶領域において所定範囲（例えば、図４に示す起動領域Ｐａ１と、データ領域Ｐａ４のうちＯＳを格納する領域）に書き込まれたか否かを判定する（ステップＳ１０２）。例えば、ベリファイ処理部２１４は、前記データのロジカルブロックアドレスを参照することで、データが記憶領域の所定範囲内に書き込まれたか否かを判定する。
【００６４】
ステップＳ１０２でデータが所定範囲内に書き込まれた場合には（Ｙｅｓ）、ベリファイ処理部２１４は、キャッシュメモリ２０４に格納されたコマンド数が所定数以下か否かを判定する（ステップＳ１０４）。一方で、ステップＳ１０２でデータが所定範囲外に書き込まれた場合には（Ｎｏ）、ベリファイ処理部２１４は、ベリファイ処理をＯＦＦにする（ステップＳ１１０）。
【００６５】
ステップＳ１０４でコマンド数が所定数以下である場合には（Ｙｅｓ）、ベリファイ処理部２１４は、ハードディスク装置１６０の動作時間が所定条件を満たすか否かを判定する（ステップＳ１０６）。ここで、所定条件とは、ハードディスク装置１６０の起動開始からの経過時間が、所定時間ｔ１（図７）を経過している場合や、ハードディスク装置１６０のトータルの動作時間が所定時間ｔ２（図７）を経過していない場合である。一方で、ステップＳ１０４でコマンド数が所定数より多い場合には（Ｎｏ）、ベリファイ処理部２１４は、ベリファイ処理をＯＦＦにする（ステップＳ１１０）。
【００６６】
ステップＳ１０６で動作時間が所定条件を満たす場合には（Ｙｅｓ）、ベリファイ処理部２１４は、ベリファイ処理を実行する（ステップＳ１０８）。すなわち、ベリファイ処理部２１４は、ハードディスク２０２とキャッシュメモリ２０４のデータを読み出して、一致判定を行う。一方で、ステップＳ１０６で動作時間が所定条件を満たさない場合には（Ｎｏ）、ベリファイ処理部２１４は、ベリファイ処理をＯＦＦにする（ステップＳ１１０）。
【００６７】
なお、上記では、３つの判定（ステップＳ１０２、Ｓ１０４、Ｓ１０６）を行うこととしたが、これに限定されない。例えば、３つの判定のうちの１つ又は２つの判定のみが行われても良い。
【００６８】
図９は、一実施形態に係る情報処理装置１００の動作例を示すフローチャートである。図９のフローチャートは、ハードディスク装置１６０の動作中において所定期間毎に実行される。
【００６９】
まず、ＣＰＵ１４０は、ハードディスク２０２のＳＭＡＲＴ２０６内のリライト回数が、所定数以下か否かを判定する（ステップＳ２０２）。ステップＳ２０２でリライト回数が所定数以下である場合には（Ｙｅｓ）、以下に説明する処理は実行されない。
【００７０】
ステップＳ２０２でリライト回数が所定数より多いと判定された場合には（Ｎｏ）、ＣＰＵ１４０は、図１０に示すように、表示部１２２にユーザにベリファイ処理のパラメータの設定条件の変更を促すメッセージを表示させる（ステップＳ２０４）。
【００７１】
図１０は、一実施形態に係る表示部１２２による表示画面例を示す図である。図１０の表示画面Ｓ１には、ハードディスク装置１６０の書き込みエラーが発生し、ユーザにパラメータの設定条件の変更を促すメッセージを示すウィンドウＷｉ１が含まれている。ユーザがウィンドウＷｉ１でＯＫボタンＢ１をクリックすると、ベリファイ処理の頻度を変更する設定画面としてのウィンドウＷｉ２を含む表示画面Ｓ２が表示される。
【００７２】
ウィンドウＷｉ２では、ユーザが、処理パフォーマンスを重視するか、書き込まれるデータの信頼性を重視するかを調整する調整バーＢ２が示される。ユーザが調整バーＢ２を操作することで、ベリファイ処理のパラメータが変更される。ユーザによってパラメータの設定条件が変更された場合には、ＣＰＵ１４０は、変更情報をハードディスク装置１６０の設定変更部２２０に出力する。
【００７３】
図９に戻って説明を続ける。ユーザによってベリファイ処理のパラメータの設定条件が変更された場合には、設定変更部２２０は、パラメータ設定部２１８により設定されたパラメータの条件を変更する（ステップＳ２０６）。これにより、ハードディスク２０２のデータの書き込み状態を参照して、ハードディスク２０２へのデータの書き込みの信頼性等を確保しつつ、データの書き込み等の処理のパフォーマンス低下を抑制できる、最適なパラメータの設定条件に変更できる。
【００７４】
なお、上記では、ステップＳ２０４で表示される表示画面として図１０に示す例を説明したが、これに限定されない。例えば、図１１に示す表示例であっても良い。図１１に示す表示画面Ｓ３には、ハードディスク装置１６０の書き込みエラーが発生し、ユーザにデータのバックアップを促す（勧める）メッセージを含む画面としてのウィンドウＷｉ３が含まれている。なお、図１１は、一実施形態に係る表示部１２２による表示画面例を示す図である。
【００７５】
＜３．まとめ＞
一実施形態に係る情報処理装置１００は、データが一致せずにハードディスク装置１６０にデータを再度書き込んだリライト状態に関する情報を取得し、取得したリライト状態に関する情報に基づいて、ベリファイ処理の実行に関する設定情報を変更する。これにより、リライト状態に応じて変更した設定情報に基づいてベリファイ処理を行うことができ、例えばリライト状態からデータの信頼性が確保される場合にはベリファイ処理の頻度を下げることで、過剰にベリファイ処理を実行させることを防止できる。この結果、ハードディスク装置１６０へのデータの書き込みの信頼性等を確保しつつ、データの書き込み等の処理のパフォーマンス低下を抑制することが可能となる。
【００７６】
図１２は、一実施形態に係るベリファイ処理の処理時間と、ハードディスク装置１６０のリスクと、ハードディスク装置１６０の処理負荷の関係を示す模式図である。図１２に示すように、一実施形態に係る情報処理装置１００では、ハードディスク装置１６０へのデータの書き始め直後は、ベリファイ処理を行う。データの書き始め直後は、ハードディスク装置１６０のリスクが高いので、ベリファイ処理を行うことで、ハードディスク装置１６０へのデータの書き込みの信頼性等を確保できる。一方で、データの書き始め直後は、ハードディスク装置１６０の処理負荷が小さいので、ベリファイ処理を行なっても、ハードディスク装置１６０のパフォーマンスが低下する可能性が低い。
【００７７】
また、データの書き始めから時間が経過すると、ハードディスク装置１６０のリスクが低下する一方で、ハードディスク装置１６０の処理負荷が大きいので、ベリファイ処理が行われない。更に、データの書き終わりに近づくと、処理コマンドが少なくなりハードディスク装置１６０の処理負荷が小さくなるので、ベリファイ処理が実行される。図１２に示すようにベリファイ処理の実行を制御することで、ハードディスク装置１６０のリスクと処理負荷のピークの時間のずれを利用して、効率的に、ハードディスク装置１６０へのデータの書き込みの信頼性等を確保しつつ、データの書き込み等の処理のパフォーマンス低下を抑制することが可能となる。
【００７８】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【００７９】
なお、上記の実施形態では、記憶装置としてハードディスク装置１６０を例に挙げて説明したが、これに限定されない。例えば、記憶装置は、ＣＤ−ＲＯＭ装置や、ＤＶＤ装置であっても良い。
【００８０】
また、上記の実施形態のフローチャートに示されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。
【００８１】
本明細書において説明した情報処理装置による処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体に予め格納される。そして、各プログラムは、例えば、実行時にＲＡＭ（Random  Access  Memory）に読み込まれ、ＣＰＵなどのプロセッサにより実行される。
【００８２】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
記憶装置の一時格納メモリに一時的に格納されたデータを前記記憶装置の主メモリに書き込んだ後に、前記一時格納メモリに格納されたデータと前記主メモリに書き込まれたデータとの一致判断を行い、データが一致しない場合には前記一時格納メモリに格納された前記データを前記主メモリに再度書き込むベリファイ処理を行うベリファイ処理部と、
データが一致せずに前記主メモリにデータを再度書き込んだリライト状態に関する情報を取得するリライト状態取得部と、
取得した前記リライト状態に関する情報に基づいて、前記ベリファイ処理の実行に関する設定情報を変更する制御部と、
を備える、情報処理装置。
（２）
前記一時格納メモリには、一時的に格納されるデータに関する処理命令も格納され、
前記設定情報は、前記ベリファイ処理を行うことが可能な前記処理命令の格納数を規定する情報を含む、前記（１）に記載の情報処理装置。
（３）
前記主メモリは、それぞれ異なる種類のデータを記憶する複数の領域を有し、
前記設定情報は、前記複数の領域のうちの前記ベリファイ処理を行う対象のデータが書き込まれる領域を規定する情報を含む、前記（１）又は（２）に記載の情報処理装置。
（４）
前記設定情報は、前記記憶装置の動作期間において前記ベリファイ処理を行うタイミングを規定する情報を含む、前記（１）〜（３）のいずれか１項に記載の情報処理装置。
（５）
前記リライト状態取得部は、前記リライト状態に関する情報としてリライト回数を取得し、
前記制御部は、取得したリライト回数が所定数以上である場合には、前記設定情報を変更する、前記（１）〜（４）のいずれか１項に記載の情報処理装置。
（６）
前記リライト状態取得部は、前記リライト状態に関する情報としてリライト回数を取得し、
前記制御部は、取得したリライト回数が所定数以上である場合には、前記主メモリへのデータの書き込みに関する情報を表示部に表示させる、前記（１）〜（５）のいずれか１項に記載の情報処理装置。
（７）
前記制御部は、前記表示部に、前記ベリファイ処理の頻度を変更する設定画面を表示させる、前記（６）に記載の情報処理装置。
（８）
前記制御部は、前記表示部に、前記データのバックアップを促す情報を含む画面を表示させる、前記（６）に記載の情報処理装置。
（９）
前記主メモリには、前記リライト回数に関する情報が格納されている、前記（５）〜（８）のいずれか１項に記載の情報処理装置。
（１０）
記憶装置の一時格納メモリに一時的に格納されたデータを前記記憶装置の主メモリに書き込んだ後に、前記一時格納メモリに格納されたデータと前記主メモリに書き込まれたデータとの一致判断を行い、データが一致しない場合には前記一時格納メモリに格納された前記データを前記主メモリに再度書き込むベリファイ処理を行うことと、
データが一致せずに前記主メモリにデータを再度書き込んだリライト状態に関する情報を取得することと、
取得した前記リライト状態に関する情報に基づいて、前記ベリファイ処理の実行に関する設定情報を変更することと、
を含む情報処理方法。
（１１）
コンピュータに、
記憶装置の一時格納メモリに一時的に格納されたデータを前記記憶装置の主メモリに書き込んだ後に、前記一時格納メモリに格納されたデータと前記主メモリに書き込まれたデータとの一致判断を行い、データが一致しない場合には前記一時格納メモリに格納された前記データを前記主メモリに再度書き込むベリファイ処理を行うことと、
データが一致せずに前記主メモリにデータを再度書き込んだリライト状態に関する情報を取得することと、
取得した前記リライト状態に関する情報に基づいて、前記ベリファイ処理の実行に関する設定情報を変更することと、
を実行させるための、プログラム。
【符号の説明】
【００８３】
１００    情報処理装置
１１２    入力部
１２２    表示部
１４０    ＣＰＵ
１４６    メインメモリ
１６０    ハードディスク装置
２０２    ハードディスク
２０４    キャッシュメモリ
２０６    ＳＭＡＲＴ
２１０    制御回路
２１２    データ転送部
２１４    ベリファイ処理部
２１８    パラメータ設定部
２２０    設定変更部
【図１】
2013186619.tif 000003
【図２】
2013186619.tif 000004
【図３】
2013186619.tif 000005
【図４】
2013186619.tif 000006
【図５】
2013186619.tif 000007
【図６】
2013186619.tif 000008
【図７】
2013186619.tif 000009
【図８】
2013186619.tif 000010
【図９】
2013186619.tif 000011
【図１０】
2013186619.tif 000012
【図１１】
2013186619.tif 000013
【図１２】
2013186619.tif 000014