(57)【要約】【課題】オペレーティングシステムの動作の停止、オペレーティングシステムの動作が重くなることを防止こと。【解決手段】  オペレーティングシステムが指定するアドレスのメモリブロックに前記不揮発性メモリに情報を書き込み（ステップＳ１３）、前記書込み指定アドレスに前記データを書き込んだ後、前記書込み指定アドレスのメモリブロックからデータを読み出し（ステップＳ１４）、前記読み出されたデータが正常に書き込まれたか否かを判別し（ステップＳ１６）、前記正常に書き込まれていないと判別した場合に前記代替ブロックの使用状況を示す代替ブロック管理情報を参照することによって未使用の代替ブロックがあるか否かを判別し（ステップＳ２１）、未使用の代替ブロックが無いと判別した場合に前記書込み指定アドレスにデータを書き込むことができないことを前記システムに通知する（ステップＳ２４）。【選択図】    図４
2008090477.tif 000002
【特許請求の範囲】
【請求項１】
ディスク記録媒体と、
複数の代替ブロックを含む複数のメモリブロックを有する不揮発性メモリと、
前記メモリブロックの代わりに使用される前記代替ブロックの管理情報を作成する管理部と、
システムが指定するアドレスのメモリブロックに情報を書き込むデータ書込部と、
前記書込み指定アドレスに前記データを書き込んだ後、前記書込み指定アドレスのメモリブロックからデータを読み出すデータ読出部と、
前記データ読出部によって読み出されたデータが正常に書き込まれたか否かを判別する判別部と、
前記データが正常に書き込まれていないと判別した場合に前記管理情報を参照することによって未使用の代替ブロックがあるか否かを判別し、未使用の代替ブロックが無いと判別した場合に前記書込み指定アドレスにデータを書き込むことができないことを前記システムに通知する制御部とを具備することを特徴とする情報記録装置。
【請求項２】
前記制御部は、未使用の代替ブロックがあると判別した場合に、前記データ書込み部に前記未使用の代替ブロックの一つに前記データを書き込むように命令し、
前記情報記録装置は、前記データが書き込まれた代替ブロックのアドレスと前記書込み指定アドレスとを関連づけたテーブルを作成するテーブル作成部を更に有することを特徴とする請求項１記載の情報記録装置。
【請求項３】
前記データ書込部は、前記データからエラー訂正コードを生成し、前記データと共に前記エラー訂正コードを前記不揮発性メモリに書き込むことを特徴とする請求項１記載の情報記録装置。
【請求項４】
ディスク記録媒体と、複数の代替ブロックを含む複数のメモリブロックを有する不揮発性メモリと、前記メモリブロックの代わりに使用されている前記代替ブロックの管理情報を作成する管理部と、システムが指定するアドレスのメモリブロックに情報を書き込むデータ書込部と、前記書込み指定アドレスに前記データを書き込んだ後、前記書込み指定アドレスのメモリブロックからデータを読み出すデータ読出部と、前記データ読出部によって読み出されたデータが正常に書き込まれたか否かを判別する判別部と、前記正常に書き込まれていないと判別した場合に前記管理情報を参照することによって未使用の代替ブロックがあるか否かを判別し、未使用の代替ブロックが無いと判別した場合に前記書込み指定アドレスにデータを書き込むことができないことを前記システムに通知する制御部とを有する情報記録装置と、
前記通知に対応するメモリブロックのアドレスが登録される不良ブロック管理データを作成する手段とを具備することを特徴とする情報処理装置。
【請求項５】
前記制御部は、未使用の代替ブロックがあると判別した場合に、前記データ書込み部に前記未使用の代替ブロックの一つに前記データを書き込むように命令し、
前記情報記録装置は、前記データが書き込まれた代替ブロックのアドレスと前記書込み指定アドレスとを関連づけたテーブルを作成するテーブル作成部更に有することを特徴とする請求項４記載の情報処理記録装置。
【請求項６】
前記通知に応じて、前記書き込み指定アドレスと異なるアドレスの不揮発性メモリに前記データを書き込むように前記情報記録装置に命令する手段を更に具備することを特徴等とする請求項４記載の情報処理記録装置。
【請求項７】
前記データ書込部は、前記データからエラー訂正コードを生成し、前記データと共に前記エラー訂正コードを前記不揮発性メモリに書き込むことを特徴とする請求項４記載の情報処理記録装置。
【請求項８】
ディスク記録媒体と、データを書き込むための複数のメモリブロックと、複数の代替ブロックとを有する不揮発性メモリとを有する情報記録装置にデータを書き込む書き込み制御方法であって、
システムが指定するアドレスのメモリブロックに情報を書き込み、
前記書込み指定アドレスに前記データを書き込んだ後、前記書込み指定アドレスのメモリブロックからデータを読み出し、
前記読み出されたデータが正常に書き込まれたか否かを判別し、
前記正常に書き込まれていないと判別した場合に前記代替ブロックの使用状況を示す代替ブロック管理情報を参照することによって未使用の代替ブロックがあるか否かを判別し、未使用の代替ブロックが無いと判別した場合に前記書込み指定アドレスにデータを書き込むことができないことを前記システムに通知することを特徴とする書き込み制御方法。
【請求項９】
未使用の代替ブロックがあると判別した場合に、前記データ書込み部に前記未使用の代替ブロックの一つに前記データを書き込むように命令し、前記データが書き込まれた代替ブロックのアドレスと前記書込み指定アドレスとが対応づけられた情報を作成することを特徴とする請求項８記載の書き込み制御方法。
【請求項１０】
前記データからエラー訂正コードを生成し、前記データと共に前記エラー訂正コードを前記不揮発性メモリに書き込むことを特徴とする請求項８記載の書き込み制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばハードディスク等のような大容量のディスク記録媒体と、不揮発性メモリとを組み合わせた情報記録装置、この情報記録装置を有する情報記録装置、及び書込み御方法に関する。
【背景技術】
【０００２】
周知のように、近年、ハードディスクは、大容量で信頼性の高い情報記録媒体であり、例えばコンピュータデータ、映像データ、音声データ等の記録用として多方面に普及している。また、ハードディスクは、その形状も携帯用電子機器に搭載されるほど小型化されてきている。
【０００３】
このため、現在、ハードディスクを用いた小型化志向の磁気ディスク装置においては、情報の高速書き込み及び高速読み出しが可能な不揮発性メモリを、ハードディスクに対するキャッシュメモリとして使用することにより、情報の書き込み及び読み出し速度を高めるとともに、ハードディスクの駆動回数、つまり、ハードディスクに対する情報の書き込み及び読み出し回数を削減して、バッテリの節約を図ることが考えられている。
【０００４】
すなわち、この種の磁気ディスク装置は、外部に対しての情報の書き込み及び読み出しを不揮発性メモリに対して行なわせ、ハードディスクに対しては不揮発性メモリとの間で情報転送を行なわせることにより、外部から見た情報の書き込み及び読み出し動作を高速化するとともに、ハードディスクの駆動回数を削減するようにしているもので、ＮＶ（non volatile）−cache対応ＨＤＤ（hard disk drive）とも称されて、提案されている。
【０００５】
フラッシュメモリの情報を格納するセルには書換回数の制限があり、寿命がある。特許文献１には、フラッシュメモリの使用しているメモリ領域が寿命に達した場合やエラー発生時に、未使用の打替メモリ領域に切り替えて使用する技術が開示されている。
【特許文献１】特開平１０−３２６２２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、オペレーティングシステムは、フラッシュメモリ内の寿命がきてしまったセルの情報を管理していない。従って、代替メモリ領域に使用できるセルが無い場合に、何度もリトライを繰り返し、最終的にはシステムエラーもしくはハイブリッドディスクの不良として、オペレーティングシステムが動作しなくなる。もしくは過分なリトライでオペレーティングシステムの動作が非常に重くなるおそれがある。
【０００７】
本発明の目的は、オペレーティングシステムの動作の停止、オペレーティングシステムの動作が重くなることを防止し得る情報記録装置、および情報処理装置、および書き込み制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一例に係わる情報記録装置は、ディスク記録媒体と、複数の代替ブロックを含む複数のメモリブロックを有する不揮発性メモリと、前記メモリブロックの代わりに使用されている前記代替ブロックの管理情報を作成する管理部と、システムが指定するアドレスのメモリブロックに情報を書き込むデータ書込部と、前記書込み指定アドレスに前記データを書き込んだ後、前記書込み指定アドレスのメモリブロックからデータを読み出すデータ読出部と、前記データ読出部によって読み出されたデータが正常に書き込まれたか否かを判別する判別部と、前記正常に書き込まれていないと判別した場合に前記管理情報を参照することによって未使用の代替ブロックがあるか否かを判別し、未使用の代替ブロックが無いと判別した場合に前記書込み指定アドレスにデータを書き込むことができないことを前記システムに通知する制御部とを具備することを特徴とする。
【発明の効果】
【０００９】
オペレーティングシステムの動作の停止、オペレーティングシステムの動作が重くなることを防止することが可能になる。
【発明を実施するための最良の形態】
【００１０】
本発明の実施の形態を以下に図面を参照して説明する。
【００１１】
図１は本発明の一実施形態に係る情報処理装置としてのノートブック型のパーソナルコンピュータの構成の一例を示す図である。
【００１２】
パーソナルコンピュータ１０は、コンピュータ本体１２と、ディスプレイユニット１４とから構成されている。ディスプレイユニット１４には、表示部であるＬＣＤ（Liquid Crystal Display）１６が組み込まれている。
【００１３】
ディスプレイユニット１４は、コンピュータ本体１２の上面を覆う開放位置とコンピュータ本体１２の上面が露出する閉塞位置との間を回動自在に変化するように、コンピュータ本体１２の奥手側の端部に設けられたヒンジ（支持部）１８に取り付けられている。
【００１４】
コンピュータ本体１２は薄い箱形の筐体を有しており、その筐体上面中央部には、キーボード２０が設けられる。コンピュータ本体１２の手前側の筐体部分上面にはパームレストが形成されている。パームレストのほぼ中央部には、操作手段としてのタッチパッド２２、およびタッチパッドコントロールボタン２６が設けられる。コンピュータ本体１２の奥側の筐体部分上面には、コンピュータ本体１２の電源をオン／オフするためのパワーボタン２８が配置されている。
【００１５】
次に、図２を参照して、本コンピュータのシステム構成の一例について説明する。
【００１６】
本コンピュータは、図２に示されているように、ＣＰＵ１０２、ノースブリッジ１０４、メインメモリ１１４、グラフィクスコントローラ１０８、サウスブリッジ１０６、ＢＩＯＳ−ＲＯＭ１２０、ハイブリッドハードディスクドライブ（ＨＤＤ）１２６、およびエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４等を備えている。
【００１７】
ハイブリッドＨＤＤ１２６は、コントローラ２０１と、磁気ディスク２０２と、不揮発性メモリとしてのＮＡＮＤ型のフラッシュメモリ（ＦＬＡＳＨ）２０３とを具備する。フラッシュメモリ２０３は、コントローラ２０１は、磁気ディスク２０２およびフラッシュメモリ２０３を選択的にアクセスする。
【００１８】
このハイブリッドＨＤＤ１２６では、フラッシュメモリ２０３を、磁気ディスク２０２に対するキャッシュメモリとして使用することにより、情報の書き込み及び読み出し速度を高めるとともに、ハードディスクの駆動回数、つまり、ハードディスクに対する情報の書き込み及び読み出し回数を削減して、電池電力の節約が図られる。
【００１９】
ＣＰＵ１０２は本コンピュータの動作を制御するために設けられたプロセッサであり、ハイブリッドＨＤＤ１２６からメインメモリ１１４にロードされる、オペレーティングシステム（ＯＳ）３００を含む各種アプリケーションプログラムを実行する。
【００２０】
また、ＣＰＵ１０２は、ＢＩＯＳ−ＲＯＭ１２０に格納されたシステムＢＩＯＳ（Basic Input Output System）をメインメモリ１１４にロードした後、実行する。システムＢＩＯＳはハードウェア制御のためのプログラムである。
【００２１】
ノースブリッジ１０４はＣＰＵ１０２のローカルバスとサウスブリッジ１０６との間を接続するブリッジデバイスである。また、ノースブリッジ１０４は、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１０８との通信を実行する機能も有している。
【００２２】
グラフィクスコントローラ１０８は本コンピュータのディスプレイモニタとして使用されるＬＣＤ１６を制御する表示コントローラである。このグラフィクスコントローラ１０８はビデオメモリ（ＶＲＡＭ）を有しており、ＯＳ／アプリケーションプログラムによってビデオメモリに描画された表示データから、ＬＣＤ１６に表示すべき表示イメージを形成する映像信号を生成する。グラフィクスコントローラ１０８によって生成された映像信号はラインに出力される。
【００２３】
サウスブリッジ１０６は、ＰＣＩ（Peripheral Component Interconnect）バスおよびＬＰＣ（Low Pin Count）バスにそれぞれ接続されている。
【００２４】
エンベデッドコントローラ／キーボードコントローラＩＣ１２４は、入力手段としてのタッチパッド２２、およびタッチパッドコントロールボタン２６のコントロールを行う。エンベデッドコントローラ／キーボードコントローラＩＣ１２４は、コンピュータ１０のシステム状態に関わらず、各種のデバイス（周辺装置やセンサ、電源回路等）を監視し制御するワンチップ・マイコンである。
【００２５】
ハイブリッドＨＤＤ１２６の構成およびオペレーティングシステムの関係を図３に示す。
【００２６】
オペレーティングシステム（ＯＳ）３００は、ハイブリッドＨＤＤ１２６に対してライトコマンドを発行するライトコマンド発行部３０１、フラッシュメモリ２０３内の不良ブロックのアドレスが登録された不良ブロック管理データ３０３を管理する不良ブロック管理部３０２を有する。
【００２７】
フラッシュメモリ２０３は、データが格納される複数のメモリブロックを有し、その一部は寿命等でデータが正常に書き込むことができない不良ブロックの代替となる代替ブロック領域３４３が設定されている。また、フラッシュメモリ２０３内には不良ブロックのアドレスの情報を有する管理データ３２３が格納されている。
【００２８】
コントローラ２０１は、統括制御部３１０、磁気ディスク制御部３２０、およびフラッシュメモリ制御部３３０を有する。統括制御部３１０は、オペレーティングシステムからのコマンドを受け付け、フラッシュメモリ制御部３３０および磁気ディスク制御部３２０の制御を行う。磁気ディスク制御部３２０は、磁気ディスク部のデータの書込み、読み込みを制御する。フラッシュメモリ制御部３３０は、フラッシュメモリのデータの書込み、読み込みを制御する。
【００２９】
フラッシュメモリ制御部３３０は、書込部３３１、読出部３３２、エラー判定部３３３、管理部３３４、通知部３３５、および制御部３３６を有する。書込部３３１は、フラッシュメモリ２０３のメモリブロックにデータの書込処理を行う。書込部３３１は、データにエラー訂正コード（ＥＣＣ）を付加してフラッシュメモリ２０３に格納する。読出部３３２は、所定のアドレスのメモリブロックからＥＣＣを含むデータを読み出す。エラー判定部３３３は、読み出したデータとＥＣＣコードを比較して、書込時のエラー判定、あるいはデータの訂正を行う。エラー判定部３３３は、エラーがあると判別すると書込部３３１に書込みのリトライを要求する機能を有する。エラー判定部３３３は、リトライを要求した場合、リトライの回数を記憶するためのカウンタを有する。
【００３０】
管理部３３４は、エラー判定部３３３でエラーと判定されたメモリブロックと、エラー・メモリブロック代わりの代替ブロックとを管理する。管理部３３４が作成した管理データ３４２は、フラッシュメモリ２０３に格納される。管理データ３４２としては、代替ブロックの使用状況、エラー・メモリブロックのアドレスと対応する代替ブロックのアドレスとの関連づけ情報等がある。通知部３３５は、代替ブロックを全て使用している場合に、エラー・メモリブロックが発生した場合に、そのエラー・メモリブロックのアドレスをオペレーティングシステム３００に通知する機能を有する。
【００３１】
次に、このハイブリッドＨＤＤ１２６へのデータの書込処理について説明する。
【００３２】
オペレーティングシステム３００のライトコマンド発行部３０１が、ブロックアドレスを指定して情報をフラッシュメモリ２０３に書き込むことをハイブリッドＨＤＤ１２６に要求する（ステップＳ１１）。ライトコマンド発行部３０１は、不良ブロック管理データ３０３を参照し、登録されていないブロックアドレスを指定する。
【００３３】
ライトコマンド発行部３０１の要求が入力された統括制御部３１０は、フラッシュメモリ制御部３３０に指定されたブロックアドレスへのデータの書込みを指示する（ステップＳ１２）。
【００３４】
書込部３３１はデータからＥＣＣを生成する。そして、書込部３３１は、データにＥＣＣを付加した情報を指定されたフラッシュメモリ２０３内のメモリブロックに書き込む（ステップＳ１３）。読出部３３２は、書き込まれた情報（データ+ＥＣＣ）をメモリブロックから読み出す（ステップＳ１４）。エラー判定部３３３は、読み出された情報内のＥＣＣを復号する。エラー判定部３３３は、読み出した情報内のデータと復号データとの比較・検証を行う（ステップＳ１５）。
【００３５】
比較・検証の結果、読み出した情報にエラーがあるか否かを判別する（ステップＳ１６）。データが正常に書き込まれていると判別した場合（ステップＳ１６のＮｏ）、処理を終了する。
【００３６】
データが正常に書き込まれていないと判別した場合（ステップＳ１６のＹｅｓ）、エラー判定部３３３は、リトライ数が記憶されたカウンタを参照し、リトライを行っているか否かを判別する。リトライを行っていないと判別した場合（ステップＳ１７のＮｏ）、エラー判定部３３３は、書込部３３１に情報の書込のリトライを要求する（ステップＳ１８）。
【００３７】
ステップＳ１７において、リトライを行っていると判別した場合（ステップＳ１７のＹｅｓ）、エラー判定部３３３は制御部３３６にエラーがあることを通知する。制御部３３６は、書込みを行っていたメモリブロックを欠陥メモリブロックとして認識する（ステップＳ１９）。そして、制御部３３６は、管理部３３４に管理データに格納されている不良ブロックの情報の更新を要求し、管理部３３４は管理データ３４２を更新する（ステップＳ２０）。
【００３８】
そして、制御部３３６は、管理データ３４２を参照することによって代替ブロック領域３４３内に使用していない代替ブロックがあるか否かを判別する（ステップＳ２１）。
【００３９】
代替ブロックがあると判別した場合（ステップＳ２１のＹｅｓ）、制御部３３６は、使用されていない代替ブロックのブロックアドレスを指定して、書き込まれなかった情報を代替ブロックに書き込むように書込部３３１に要求する（ステップＳ２２）。制御部３３６は、使用した代替ブロックのブロックアドレスと不良メモリブロックのアドレスとの対応付けの情報を管理データに付加し、管理データを更新するように要求する（ステップＳ２３）。その後ステップＳ１４からの処理実行し、再度データの検証等の処理を実行する。
【００４０】
代替ブロックがないと判別した場合（ステップＳ２１のＮｏ）、制御部３３６は通知部３３５に割り込み通知の発行を要求する。通知部３３５はオペレーティングシステム３００に対して割り込み通知を発行し、指定されたブロックアドレスのメモリブロックが不良であることを通知する（ステップＳ２４）。
【００４１】
不良ブロック管理部３０２は、通知されたブロックアドレスの情報を磁気ディスク部２０２内の不良ブロック管理データ３０３に登録し、不良ブロック管理データ３０３を更新する（ステップＳ２５）。また、ライトコマンド発行部３０１は、前に指定した異なるブロックアドレスを指定して、データを書き込むように指示する（ステップＳ２６）。そして、ステップＳ１３に戻って書込み処理、検証処理等を実行する。
【００４２】
ハイブリッドＨＤＤ１２６が、代替ブロックがない状態で、寿命等がきてデータを正常に書き込むことができない不良ブロックが発生した場合に、オペレーティングシステムに割り込み通知することによって、オペレーティングシステムが不良ブロックのアドレスを認識することができるようになる。また、エラー判別処理をハイブリッドＨＤＤ１２６内で行い、オペレーティングシステムに通知することで、アクセスエラー処理が高速になる。
【００４３】
オペレーティングシステムは認識した不良ブロックのアドレスを管理することで、不良ブロックにアクセスしないようにすることができ、オペレーティングシステムの動作の停止、オペレーティングシステムの動作が重くなることを防止することができる。
【００４４】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態に係る情報処理装置としてのコンピュータの外観を示す斜視図。
【図２】図１に示すコンピュータのシステム構成を示すブロック図。
【図３】図２に示すハイブリッドＨＤＤおよびオペレーティングシステムの構成を示すブロック図。
【図４】コンピュータにおける書込み処理の手順を示すフローチャート。
【符号の説明】
【００４６】
１２６…ハイブリッドＨＤＤ，２０１…コントローラ，２０２…磁気ディスク，２０３…フラッシュメモリ，３００…オペレーティングシステム，３０１…ライトコマンド発行部，３０２…不良ブロック管理部，３０３…不良ブロック管理データ，３１０…統括制御部，３２０…磁気ディスク制御部，３２３…管理データ，３３０…フラッシュメモリ制御部，３３１…書込部，３３２…読出部，３３３…エラー判定部，３３４…管理部，３３５…通知部，３３６…制御部，３４２…管理データ，３４３…代替ブロック領域。
【図１】
2008090477.tif 000003
【図２】
2008090477.tif 000004
【図３】
2008090477.tif 000005
【図４】
2008090477.tif 000006