(57)【要約】      （修正有）【課題】動作保証環境外であっても大容量メモリにデータを正常に書き込んで信頼性を向上させることができる情報記憶システムを提供する。【解決手段】大容量メモリ３と、該大容量メモリ３に対するデータの書き込みを制御するホスト装置１とを備えた情報記憶システムであって、ホスト装置１は、大容量メモリ３の書き込み不可能な領域のアドレスが格納されたＮＧテーブル１０と、現在の環境が、大容量メモリ３の動作が保証されない動作保証環境外にあるかどうかを判断する動作保証環境判断手段１１と、動作保証環境判断手段１１で動作保証環境外であることが判断された場合に、ＮＧテーブル１０に格納されていないアドレスによって指定される大容量メモリの領域にデータを書き込む制御手段１２、１３、１４及び１５とを備えている。【選択図】図１
2005166212.tif 000002
【特許請求の範囲】
【請求項１】
大容量メモリと、該大容量メモリに対するデータの書き込みを制御するホスト装置とを備えた情報記憶システムであって、
前記ホスト装置は、
前記大容量メモリの書き込み不可能な領域のアドレスが格納されたＮＧテーブルと、
現在の環境が、前記大容量メモリの動作が保障されない動作保障環境外にあるかどうかを判断する動作保障環境判断手段と、
前記動作保障環境判断手段で動作保障環境外であることが判断された場合に、前記ＮＧテーブルに格納されていないアドレスによって指定される前記大容量メモリの領域にデータを書き込む制御手段
とを備えた情報記憶システム。
【請求項２】
制御手段は、
動作保障環境判断手段で動作保障環境外であることが判断された場合に、ＮＧテーブルに格納されていない大容量メモリのアドレスを取得するアドレス取得手段と、
前記大容量メモリに書き込むべきデータを取得するデータ取得手段と、
前記アドレス取得手段で取得されたアドレスで指定される前記大容量メモリの領域に前記データ取得手段で取得されたデータを書き込むデータ書き込み手段と、
前記データ書き込み手段で書き込まれたデータと前記データ取得手段で取得されたデータとを照合し、一致しないことが判断された場合に、前記アドレス取得手段で取得されたアドレスを前記ＮＧテーブルに書き込むベリファイチェック手段
とを備えたことを特徴とする請求項１記載の情報記憶システム。
【請求項３】
アドレス取得手段は、大容量メモリのファイルを管理するファイルシステムにＮＧテーブルに記憶されていないアドレスの取得を要求することにより前記ファイルシステムから前記大容量メモリのアドレスを取得することを特徴とする請求項２記載の情報記憶システム。
【請求項４】
データ取得手段は、メモリからクラスタ単位でデータを取得することを特徴とする請求項２または請求項３記載の情報記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報記憶システムに関し、特に動作保障環境外でハードディスクのような大容量メモリにデータをアクセスする技術に関する。
【背景技術】
【０００２】
従来、情報記憶媒体としての大容量メモリに欠陥領域が存在する場合は、その欠陥領域に関する情報を大容量メモリ自身の一部に記憶しておき、欠陥領域へのアクセスが発生した場合に、その情報を参照して大容量メモリへのアクセスの可否等を制御することが行われている。
【０００３】
このような欠陥領域を有する大容量メモリにアクセスする技術として、欠陥領域が多数存在しても情報記憶媒体上への安定した連続記録を可能にした情報記憶媒体に対する情報記録方法及び情報記録装置及び再生方法が知られている（例えば、特許文献１参照）。この技術では、情報記憶媒体上にファイル単位で情報を記録すると共に、光学ヘッドのアクセス頻度を低下させ、もって情報記憶媒体への連続記録を可能にするための連続記録領域であるコンティギュアスデータエリア（Contiguous Data Area）が定義される。このコンティギュアスデータエリアは、情報記憶媒体上に既に記録されている別のファイル記録領域または情報記憶媒体上の欠陥領域のいずれか一方をまたがって設定し、別のファイル記録領域または情報記憶媒体上の欠陥領域により分割される領域に対して情報記録場所としてのエクステント（extent）を設定している。
【０００４】
【特許文献１】特許第３３７６３６４号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、従来のハードディスクを代表とする大容量メモリでは、その製造メーカーが動作を保障する温度、湿度、振動などの条件、つまり動作保障環境が定められている。このような大容量メモリは、動作保障環境内でエラーが発生した場合は、エラーに関する情報を大容量メモリの内部に設けられたログ領域に記録する機能（スマート機能と呼ばれる）を有する。従って、大容量メモリに接続されたホスト装置は、ログ領域を参照することにより、エラー発生の有無やエラー発生時の大容量メモリの状態を知ることができる。
【０００６】
しかしながら、従来の大容量メモリでは、動作保障環境外でエラーが発生した場合は、エラーに関する情報はログ領域に記録されない。従って、ホスト装置は、大容量メモリが動作保障環境外で動作中にエラーが発生した場合は、その事実を知ることができない。
【０００７】
一方、近年は、大容量メモリを、例えばカーナビゲーションシステムのような過酷な条件の下で使用されるシステムに採用し、そのシステムの機能及び性能の向上を図ることが行われている。このようなシステムでは、動作保障環境外であっても大容量メモリにデータを書き込む必要がしばしば発生する。通常、大容量メモリは書き込みに対して所定のマージンを有するように設計されており、動作保障環境外であってもデータの書き込みに成功する場合が多い。
【０００８】
しかしながら、動作保障環境外で大容量メモリにデータを書き込む場合は、エラーが発生してもその事実を知ることができないので、ホスト装置は、大容量メモリが正常に動作しているかどうかを把握することができず、信頼性に劣るという問題がある。
【０００９】
この発明は、上述した問題を解消するためになされたものであり、動作保障環境外であっても大容量メモリにデータを正常に書き込んで信頼性を向上させることができる情報記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係る情報記憶システムは、大容量メモリに対するデータの書き込みを制御するホスト装置を備え、このホスト装置は、大容量メモリの書き込み不可能な領域のアドレスが格納されたＮＧテーブルと、現在の環境が、大容量メモリの動作が保障されない動作保障環境外にあるかどうかを判断する動作保障環境判断手段と、動作保障環境外であることが判断された場合に、ＮＧテーブルに格納されていないアドレスによって指定される大容量メモリの領域にデータを書き込む制御手段とを備えている。
【００１１】
また、この発明に係る情報記憶システムの制御手段は、動作保障環境外であることが判断された場合に、ＮＧテーブルに格納されていない大容量メモリのアドレスを取得するアドレス取得手段と、大容量メモリに書き込むべきデータを取得するデータ取得手段と、アドレス取得手段で取得されたアドレスで指定される大容量メモリの領域にデータ取得手段で取得されたデータを書き込むデータ書き込み手段と、データ書き込み手段で書き込まれたデータとデータ取得手段で取得されたデータとを照合し、一致しないことが判断された場合に、アドレス取得手段で取得されたアドレスをＮＧテーブルに書き込むベリファイチェック手段とを備えている。
【発明の効果】
【００１２】
この発明によれば、書き込み不可能な領域のアドレスを格納するＮＧテーブルをホスト装置内に設け、動作保障環境外で大容量メモリにデータ書き込みを行う際は、このＮＧテーブルを参照して、書き込み不可能な領域のアドレス以外のアドレスで指定される領域にデータを書き込むように構成したので、ホスト装置は、動作保障環境外であっても、大容量メモリにデータを正常に書き込むことができ、信頼性を向上させることができる。
【００１３】
また、この発明によれば、制御手段は、大容量メモリに書き込まれたデータと大容量メモリから取得したデータとを照合し、一致しない場合に、データが書き込まれた大容量メモリのアドレスをＮＧテーブルに書き込み、以て更新するようにしたので、常に、大容量メモリにデータを正常に書き込むことができる。
【発明を実施するための最良の形態】
【００１４】
以下、この発明の実施の形態を図面を参照しながら詳細に説明する。
実施の形態１．
図１は、この発明の実施の形態１に係る情報記憶システムの全体構成を示すブロック図である。この情報記憶システムは、ホスト装置１、メモリ２及び大容量メモリ３から構成されている。
【００１５】
ホスト装置１は、例えばマイクロコンピュータから構成されており、情報記憶システムの全体を制御する。このホスト装置１の詳細な構成及び動作は後述する。
【００１６】
メモリ２は、ホスト装置１が各種処理に使用するデータを一時的に記憶するために使用される。図２は、メモリ２に大容量メモリ３へ書き込む対象となる書き込み対象データが記憶されている状態を示している。即ち、書き込み対象データの先頭アドレスＰが００００番地、書き込み対象データ領域サイズＤが１６ｋバイト、最適クラスタサイズＳが４ｋバイトである場合のメモリ２上のデータ配置を示している。なお、この実施の形態１では、１ワードは３２ビット（４バイト）から成り、各バイトに対してアドレスが付されているものとする。また、アドレスは１６進数で表記されるものとする。
【００１７】
書き込み対象データ領域サイズＤが１６ｋバイトの場合、最適クラスタサイズＳが４ｋバイトであれば、書き込み対象データ領域は、００００番地始まる４ｋバイト、１０００番地始まる４ｋバイト、２０００番地始まる４ｋバイト及び３０００番地から始まる４ｋバイトといった４つのクラスタ領域から構成される。
【００１８】
図３は、ホスト装置１の内部に設けられるメモリ参照アドレステーブルＡｋ（ｋ＝０，１，２，・・・，ｎ−１，ｎ）の構成を示す。サフィックスの「ｋ」は、各クラスタに付されたクラスタ番号を示し、「ｎ」は書き込み対象データ領域サイズＤを最適クラスタサイズＳで除算することにより得られる商であり、以下においても同じである。
【００１９】
上記図２及び図３は、ｎ＝１６÷４＝４の場合の例である。最適クラスタサイズＳが４ｋバイトである場合、メモリ参照アドレステーブルＡｋのＡ０にはクラスタ０の先頭アドレス（書き込み対象データの先頭アドレスＰに等しい）である００００番地が、Ａ１にはクラスタ１の先頭アドレスである１０００番地が、Ａ２にはクラスタ２の先頭アドレスである２０００番地が、Ａ３にはクラスタ３の先頭アドレスである３０００番地がそれぞれ格納され、最後のＡｎには、ＥＮＤマークが格納される。
【００２０】
図４は、ホスト装置１の内部に設けられる書き込みデータサイズテーブルＲｋ（ｋ＝０，１，２，・・・，ｎ−１，ｎ）の構成を示す。書き込み対象データ領域サイズＤが１６ｋバイトの場合、ｎが４であれば、Ｒ０，Ｒ１，Ｒ２，Ｒ３に格納される書き込みデータサイズは最適クラスタサイズＳの４ｋバイトである。また、書き込みデータサイズテーブルＲｋの最後のＲｎは、書き込み対象データ領域サイズＤを最適クラスタサイズＳで除算した場合の余りであり、この場合、Ｒｎは０ｋバイトである。
【００２１】
図５は、ホスト装置１の内部に設けられるＮＧテーブル１０の構成を示す。ＮＧテーブル１０は、最適クラスタサイズＳに基づいて決定された大容量メモリ３のクラスタ領域毎に、そのクラスタ領域の書き込み可否を表す情報を格納している。このＮＧテーブル１０は、初期状態では、全てのクラスタ領域に書き込み可能状態を表す○マークが書き込まれており、後述する処理によって書き込み不可能であることが判断された場合に書き込み不可能であることを表す×マークに書き換えられる。図５は、２０００番地から始まるクラスタ領域にのみ書き込み不可能であることを表す×マークが格納されている例を示している。
【００２２】
大容量メモリ３は、例えばハードディスク（ＨＤＤ）、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）等から構成される。図６は、大容量メモリ３の構成を概念的に示す図であり、説明を簡単にするために、構成を簡略化して記載されている。即ち、この大容量メモリ３は、複数のトラックから構成されており、各トラックは８セクタに分割されている。各トラックは、１クラスタ（４ｋバイト）に対応している。
【００２３】
ホスト装置１は、上述したメモリ参照テーブルＡｋ、データサイズテーブルＲｋ及びＮＧテーブル１０の他に、動作保障環境判断手段１１、クラスタリングサイズ計算手段１２、メモリデータ読み込み手段１３、データ書き込み手段１４及びベリファイチェック手段１５を有して構成されている。この発明の制御手段は、クラスタリングサイズ計算手段１２、メモリデータ読み込み手段１３、データ書き込み手段１４及びベリファイチェック手段１５から構成されている。
【００２４】
動作保障環境判断手段１１は、現在の環境が、大容量メモリ３の動作が製造メーカーによって保障されていない動作保障環境外であるかどうかを判断する。具体的には、動作保障環境判断手段１１は、図示しない温度センサ、湿度センサ、Ｇ（加速度）センサといった各種センサからの信号を受信し、これらの信号により示される値が、動作保障環境外を示しているかどうかを判断する。この動作保障環境判断手段１１による判断結果は、クラスタイベントとしてクラスタリングサイズ計算手段１２に伝えられる。
【００２５】
クラスタリングサイズ計算手段１２は、この発明のアドレス取得手段に対応し、クラスタイベントに対応する処理を実行する。このクラスタリングサイズ計算手段１２では、詳細は後述するが、最適クラスタサイズＳの算出、書き込みデータサイズテーブルＲｋの作成、メモリ参照アドレステーブルＡｋの作成が行われ、これらに基づいて、読み込み要求イベントが発生される。このクラスタリングサイズ計算手段１２により発生された読み込み要求イベントは、メモリデータ読み込み手段１３に伝えられる。
【００２６】
メモリデータ読み込み手段１３は、この発明のデータ取得手段に対応し、読み込み要求イベントに対応する処理を実行する。このメモリデータ読み込み手段１３は、詳細は後述するが、クラスタリングサイズ計算手段１２で発生された読み込み要求イベントに応答してメモリ２からデータを読み込み、その後、大容量メモリ３への書き込みを要求する書き込み要求イベントを発生する。このメモリデータ読み込み手段１２により発生された書き込み要求イベントは、データ書き込み手段１４に伝えられる。
【００２７】
データ書き込み手段１４は、書き込み要求イベントに対応する処理を実行する。このデータ書き込み手段１４は、詳細は後述するが、メモリデータ読み出し手段１３で発生された書き込み要求イベントに応答して、メモリデータ読み込み手段１３で読み込まれたデータを大容量メモリ３に書き込み、その後、ベリファイイベントを発生する。このデータ書き込み手段１４で発生されたベリファイイベントは、ベリファイチェック手段１５に伝えられる。
【００２８】
ベリファイチェック手段１５は、ベリファイイベントに対応する処理を実行する。このベリファイチェック手段１５は、詳細は後述するが、データ書き込み手段１４で発生されたベリファイイベントに応答して、データ書き込み手段１４で大容量メモリ３に書き込まれたデータを読み出してベリファイチェックを行う。そして、大容量メモリ３に書き込まれる前のデータと書き込まれた後のデータとが同じでなければ、再度書き込みイベントを発生する。このベリファイチェック手段１５で発生された書き込みイベントは、再度データ書き込み手段１４に伝えられ、データ書き込みが再試行される。そして、再試行がＮＧ書き込み許容回数Ｎを超えるとエラーイベントを発生する。
【００２９】
次に、上記のように構成される、この発明の実施の形態１に係る情報記憶システムの動作を図７〜図１３に示すフローチャートを参照しながら説明する。この情報記憶システムではイベント起動方式が採用されており、各処理はイベントが発生することにより起動されるものとする。
【００３０】
図７は、メモリ２内のデータを大容量メモリ３に書き込むイベントが発生した場合の処理を示すフローチャートである。図示しないアプリケーションプログラムでメモリ２内のデータを大容量メモリ３に書き込むイベントが発生すると、ホスト装置１は、動作保障環境外判断イベントを発生させ（ステップＳＴ１）、処理を終了する。
【００３１】
図８は、動作保障環境外判断イベントが発生した場合の処理を示すフローチャートである。動作保障環境外判断イベントが発生すると、ホスト装置１の動作保障環境判断手段１１は、動作保障環境外であるかどうかを調べる（ステップＳＴ２）。具体的には、動作保障環境判断手段１１は、図示しない温度センサ、湿度センサ、Ｇ（加速度）センサ等からの信号に基づき、現在の環境が、大容量メモリ３の動作が製造メーカーによって保障されていない動作保障環境外であるかどうかを調べる。
【００３２】
このステップＳＴ２で、動作保障環境外でない、つまり動作保障環境内であることが判断されると、従来と同様に、大容量メモリ３のファイルを管理する既存のファイルシステムがメモリ２内のデータを大容量メモリ３に書き込む（ステップＳＴ３）。一方、上記ステップＳＴ２で、動作保障環境外であることが判断されると、動作保障環境判断手段１１は、クラスタリングイベントを発生させる（ステップＳＴ４）。以上により、動作保障環境外判断イベントに対する処理は終了する。
【００３３】
図９は、クラスタリングイベントが発生した場合の処理を示すフローチャートである。クラスタリングイベントが発生すると、ホスト装置１のクラスタリングサイズ計算手段１２は、以下の処理を実行する。即ち、まず、大容量メモリ３の全容量から最適クラスタサイズＳが算出さる（ステップＳＴ５）。次いで、書き込みデータサイズテーブルＲｋが作成される（ステップＳＴ６）。具体的には、書き込み対象データ領域サイズＤを最適クラスタサイズＳで除算することにより得られる商をｎとし、Ｒ０〜Ｒｎ−１に最適クラスタサイズＳが書き込まれ、余りＭＯＤがＲｎに書き込まれる。これにより、書き込みデータサイズテーブルＲｋが作成さる。
【００３４】
次いで、メモリ参照アドレステーブルＡｋが作成される（ステップＳＴ７）。具体的には、書き込み対象データの先頭アドレスＰと書き込みデータサイズテーブルＲｋに基づき、メモリ参照アドレステーブルＡｋ（ｋ＝０，１，３，・・・，ｎ−１，ｎ）が作成される。この場合、Ａ０＝Ｐである。
【００３５】
次いで、変数ｉに初期値として「０」がセットされ（ステップＳＴ８）、ＡｉがＥＮＤマークであるかどうかが調べられる（ステップＳＴ９）。ここで、ＥＮＤマークであることが判断されるとクラスタリングイベントに対する処理は終了する。一方、ＥＮＤマークでないことが判断されると、Ａｉがメモリ参照先アドレスＪに代入され、Ｒｉが書き込み用データサイズＱに代入される（ステップＳＴ１０）。次いで、図示しないＮＧ書き込みループカウンタＬに初期値として「０」がセットされる（ステップＳＴ１１）。次いで、メモリ参照先アドレスＪと書き込み用データサイズＱを引数として、読み込み要求イベントを発生される（ステップＳＴ１２）。次いで、変数ｉに「１」が加算される（ステップＳＴ１３）。その後、シーケンスはステップＳＴ９へ戻り、上述した処理が繰り返される。
【００３６】
図１０は、読み込み要求イベントが発生した場合の処理を示すフローチャートである。読み込み要求イベントが発生すると、ホスト装置１のメモリデータ読み込み手段１３は、以下の処理を実行する。即ち、メモリ２のメモリ参照先アドレスＪで指定される位置から書き込み用データサイズＱで指定されるバイト数のデータが読み込まれる（ステップＳＴ１４）。次いで、メモリ参照先アドレスＪと書き込み用データサイズＱを引数として、書き込み要求イベントが発生される（ステップＳＴ１５）。以上により、読み込み要求イベントに対する処理は終了する。
【００３７】
図１１は、書き込み要求イベントが発生した場合の処理を示すフローチャートである。書き込み要求イベントが発生すると、ホスト装置１のデータ書き込み手段１４は、以下の処理を実行する。まず、書き込み先アドレスＺが取得される（ステップＳＴ１６）。具体的には、データ書き込み手段１４は、既存のファイルシステムを呼び出して、ＮＧテーブル１０を参照させて書き込み可能な大容量メモリ３のアドレスを提供させ、この提供されたアドレスを大容量メモリ３の書き込み先アドレスＺに代入する。
【００３８】
次いで、メモリ参照先アドレスＪと書き込み用データサイズＱを引数とした読み込み要求イベントによって読み込んだデータを、大容量メモリ３の書き込み先アドレスＺで指定される領域に書き込む（ステップＳＴ１７）。次いで、メモリ参照先アドレスＪと書き込み用データサイズＱと大容量メモリ３の書き込み先アドレスＺを引数としてベリファイイベントを発生させる（ステップＳＴ１８）。以上により、書き込み要求イベントに対する処理は終了する。
【００３９】
図１２は、ベリファイイベントが発生した場合の処理を示すフローチャートである。ベリファイイベントが発生すると、ホスト装置１のベリファイチェック手段１５は、以下の処理を実行する。まず、大容量メモリ３の書き込み先アドレスＺから書き込み用データサイズＱで指定されたバイト数のデータが読み込まれる（ステップＳＴ１９）。次いで、ステップＳＴ１９で読み込まれたデータが、上述した読み込み要求イベントに応じてメモリ２から読み出されて大容量メモリ３に書き込まれたデータと同じであるかどうかが調べられる（ステップＳＴ２０）。このステップＳＴ２０で、同じであることが判断されるとベリファイイベントに対する処理は終了する。
【００４０】
一方、ステップＳＴ２０で、同じでないことが判断されると、その書き込み先アドレスＺがＮＧテーブル１０に追加される（ステップＳＴ２１）。具体的には、図６に示すように、ＮＧテーブル１０の該当する位置に、書き込み不可能であることを表す×マークが書き込まれる。次いで、ＮＧ書き込みループカウンタＬに「１」が加算される（ステップＳＴ２２）。次いで、ＮＧ書き込みループカウンタＬがＮＧ書き込み許容回数Ｎを超えたかどうかが調べられ（ステップＳＴ２３）、超えたことが判断された場合は、エラーイベントが発生される（ステップＳＴ２４）。一方、超えていないことが判断された場合は、メモリ参照先アドレスＪ、書き込み用データサイズＱ及びＮＧ書き込みループカウンタＬを引数として、書き込み要求イベントが発生される（ステップＳＴ２５）。以上により、ベリファイイベントに対する処理は終了する。
【００４１】
なお、ステップＳＴ２５で発生された書き込み要求イベントに対する処理では、ＮＧテーブル１０の該当する位置に、書き込み不可能であることを表す×マークが書き込まれているので、大容量メモリ３の他のアドレスで指定される領域に書き込みが行われる。従って、大容量メモリ３のアドレスを順次変えながら書き込みが再試行されることになり、試行回数がＮＧ書き込み許容回数Ｎを超えたときに大容量メモリ３に対する書き込みが不可能であると認識されてエラーイベントが発生される。
【００４２】
図１３は、エラーイベントが発生した場合の処理を示すフローチャートである。エラーイベントが発生すると、ベリファイチェック手段１５は、全ての処理を中断して、ホスト装置１にエラーコードを引き渡し（ステップＳＴ２６）、処理を終了する。これにより、ホスト装置１において、ベリファイチェックにおいてエラーが発生した旨が認識され、エラー処理が実行される。
【００４３】
以上の処理により、例えば図２に示すようにメモリ２に記憶されている書き込み対象データを大容量メモリ３に格納する場合、図５に示すように書き込みの可否が設定されたＮＧテーブル１０が存在するとすれば、図６に示すように、書き込み対象データは、破線で示すトラックを避けて、実線の太線で示されるトラックに書き込まれる。
【００４４】
以上説明したように、この発明の実施の形態１に係る情報記憶システムによれば、書き込み不可能な領域のアドレスを格納するＮＧテーブル１０をホスト装置１内に設け、動作保障環境外で大容量メモリ３にデータ書き込みを行う際は、このＮＧテーブル１０を参照して、書き込み不可能な領域のアドレス以外のアドレスで指定される領域にデータを書き込むように構成したので、ホスト装置１は、動作保障環境外であっても、大容量メモリ３にデータを正常に書き込むことができ、信頼性を向上させることができる。
【００４５】
また、大容量メモリ３に書き込まれたデータと大容量メモリ３から取得したデータとを照合し、一致しない場合に、データが書き込まれた大容量メモリ３のアドレスをＮＧテーブル１０に書き込んで更新するようにしたので、常に、大容量メモリ３にデータを正常に書き込むことができる。
【００４６】
また、メモリ２からのデータの読み出し及び大容量メモリ３へのデータの書き込みは、クラスタ単位で行うように構成したので、書き込み対象データの全ての書き込みを完了する前に書き込みエラーを判断できる。その結果、大容量メモリ３への書き込みの可否を早い時点で知ることができるので、無駄な書き込み動作が長時間にわたって行われることを回避でき、情報記憶システムを効率よく動作させることができる。
【図面の簡単な説明】
【００４７】
【図１】この発明の実施の形態１に係る情報記憶システムの全体構成を示すブロック図である。
【図２】この発明の実施の形態１に係る情報記憶システムのメモリに、大容量メモリへ書き込む対象となる書き込み対象データが記憶されている状態を示す図である。
【図３】この発明の実施の形態１に係る情報記憶システムのホスト装置の内部に設けられるメモリ参照アドレステーブルの構成を示す図である。
【図４】この発明の実施の形態１に係る情報記憶システムのホスト装置の内部に設けられるデータサイズテーブルの構成を示す図である。
【図５】この発明の実施の形態１に係る情報記憶システムのホスト装置の内部に設けられるＮＧテーブルの構成を示す図である。
【図６】この発明の実施の形態１に係る情報記憶システムにおいて書き込み完了後の大容量メモリの構成を概念的に示す図である。
【図７】この発明の実施の形態１に係る情報記憶システムにおいてデータを大容量メモリに書き込むイベントが発生した場合の処理を示すフローチャートである。
【図８】この発明の実施の形態１に係る情報記憶システムにおいて動作保障環境外判断イベントが発生した場合の処理を示すフローチャートである。
【図９】この発明の実施の形態１に係る情報記憶システムにおいてクラスタリングイベントが発生した場合の処理を示すフローチャートである。
【図１０】この発明の実施の形態１に係る情報記憶システムにおいて読み込み要求イベントが発生した場合の処理を示すフローチャートである。
【図１１】この発明の実施の形態１に係る情報記憶システムにおいて書き込み要求イベントが発生した場合の処理を示すフローチャートである。
【図１２】この発明の実施の形態１に係る情報記憶システムにおいてベリファイイベントが発生した場合の処理を示すフローチャートである。
【図１３】この発明の実施の形態１に係る情報記憶システムにおいてエラーイベントが発生した場合の処理を示すフローチャートである。
【符号の説明】
【００４８】
１  ホスト装置、２  メモリ、３  大容量メモリ、１０  ＮＧテーブル、１１  動作保障環境判断手段、１２  クラスタリングサイズ計算手段、１３  メモリデータ読み込み手段、１４  データ書き込み手段、１５  ベリファイチェック手段、Ａｋ  メモリ参照アドレステーブル、Ｒｋ  データサイズテーブル。
【図１】
2005166212.tif 000003
【図２】
2005166212.tif 000004
【図３】
2005166212.tif 000005
【図４】
2005166212.tif 000006
【図５】
2005166212.tif 000007
【図６】
2005166212.tif 000008
【図７】
2005166212.tif 000009
【図８】
2005166212.tif 000010
【図９】
2005166212.tif 000011
【図１０】
2005166212.tif 000012
【図１１】
2005166212.tif 000013
【図１２】
2005166212.tif 000014
【図１３】
2005166212.tif 000015
【手続補正書】
【提出日】平成16年7月21日(2004.7.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
大容量メモリと、該大容量メモリに対するデータの書き込みを制御するホスト装置とを備えた情報記憶システムであって、
前記ホスト装置は、
前記大容量メモリの書き込み不可能な領域のアドレスが格納されたＮＧテーブルと、
現在の環境が、前記大容量メモリの動作が保証されない動作保証環境外にあるかどうかを判断する動作保証環境判断手段と、
前記動作保証環境判断手段で動作保証環境外であることが判断された場合に、前記ＮＧテーブルに格納されていないアドレスによって指定される前記大容量メモリの領域にデータを書き込む制御手段
とを備えた情報記憶システム。
【請求項２】
制御手段は、
動作保証環境判断手段で動作保証環境外であることが判断された場合に、ＮＧテーブルに格納されていない大容量メモリのアドレスを取得するアドレス取得手段と、
前記大容量メモリに書き込むべきデータを取得するデータ取得手段と、
前記アドレス取得手段で取得されたアドレスで指定される前記大容量メモリの領域に前記データ取得手段で取得されたデータを書き込むデータ書き込み手段と、
前記データ書き込み手段で書き込まれたデータと前記データ取得手段で取得されたデータとを照合し、一致しないことが判断された場合に、前記アドレス取得手段で取得されたアドレスを前記ＮＧテーブルに書き込むベリファイチェック手段
とを備えたことを特徴とする請求項１記載の情報記憶システム。
【請求項３】
アドレス取得手段は、大容量メモリのファイルを管理するファイルシステムにＮＧテーブルに記憶されていないアドレスの取得を要求することにより前記ファイルシステムから前記大容量メモリのアドレスを取得することを特徴とする請求項２記載の情報記憶システム。
【請求項４】
データ取得手段は、メモリからクラスタ単位でデータを取得することを特徴とする請求項２または請求項３記載の情報記憶システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報記憶システムに関し、特に動作保証環境外でハードディスクのような大容量メモリにデータをアクセスする技術に関する。
【背景技術】
【０００２】
従来、情報記憶媒体としての大容量メモリに欠陥領域が存在する場合は、その欠陥領域に関する情報を大容量メモリ自身の一部に記憶しておき、欠陥領域へのアクセスが発生した場合に、その情報を参照して大容量メモリへのアクセスの可否等を制御することが行われている。
【０００３】
このような欠陥領域を有する大容量メモリにアクセスする技術として、欠陥領域が多数存在しても情報記憶媒体上への安定した連続記録を可能にした情報記憶媒体に対する情報記録方法及び情報記録装置及び再生方法が知られている（例えば、特許文献１参照）。この技術では、情報記憶媒体上にファイル単位で情報を記録すると共に、光学ヘッドのアクセス頻度を低下させ、もって情報記憶媒体への連続記録を可能にするための連続記録領域であるコンティギュアスデータエリア（Contiguous Data Area）が定義される。このコンティギュアスデータエリアは、情報記憶媒体上に既に記録されている別のファイル記録領域または情報記憶媒体上の欠陥領域のいずれか一方をまたがって設定し、別のファイル記録領域または情報記憶媒体上の欠陥領域により分割される領域に対して情報記録場所としてのエクステント（extent）を設定している。
【０００４】
【特許文献１】特許第３３７６３６４号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、従来のハードディスクを代表とする大容量メモリでは、その製造メーカーが動作を保証する温度、湿度、振動などの条件、つまり動作保証環境が定められている。このような大容量メモリは、動作保証環境内でエラーが発生した場合は、エラーに関する情報を大容量メモリの内部に設けられたログ領域に記録する機能（スマート機能と呼ばれる）を有する。従って、大容量メモリに接続されたホスト装置は、ログ領域を参照することにより、エラー発生の有無やエラー発生時の大容量メモリの状態を知ることができる。
【０００６】
しかしながら、従来の大容量メモリでは、動作保証環境外でエラーが発生した場合は、エラーに関する情報はログ領域に記録されない。従って、ホスト装置は、大容量メモリが動作保証環境外で動作中にエラーが発生した場合は、その事実を知ることができない。
【０００７】
一方、近年は、大容量メモリを、例えばカーナビゲーションシステムのような過酷な条件の下で使用されるシステムに採用し、そのシステムの機能及び性能の向上を図ることが行われている。このようなシステムでは、動作保証環境外であっても大容量メモリにデータを書き込む必要がしばしば発生する。通常、大容量メモリは書き込みに対して所定のマージンを有するように設計されており、動作保証環境外であってもデータの書き込みに成功する場合が多い。
【０００８】
しかしながら、動作保証環境外で大容量メモリにデータを書き込む場合は、エラーが発生してもその事実を知ることができないので、ホスト装置は、大容量メモリが正常に動作しているかどうかを把握することができず、信頼性に劣るという問題がある。
【０００９】
この発明は、上述した問題を解消するためになされたものであり、動作保証環境外であっても大容量メモリにデータを正常に書き込んで信頼性を向上させることができる情報記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係る情報記憶システムは、大容量メモリに対するデータの書き込みを制御するホスト装置を備え、このホスト装置は、大容量メモリの書き込み不可能な領域のアドレスが格納されたＮＧテーブルと、現在の環境が、大容量メモリの動作が保証されない動作保証環境外にあるかどうかを判断する動作保証環境判断手段と、動作保証環境外であることが判断された場合に、ＮＧテーブルに格納されていないアドレスによって指定される大容量メモリの領域にデータを書き込む制御手段とを備えている。
【００１１】
また、この発明に係る情報記憶システムの制御手段は、動作保証環境外であることが判断された場合に、ＮＧテーブルに格納されていない大容量メモリのアドレスを取得するアドレス取得手段と、大容量メモリに書き込むべきデータを取得するデータ取得手段と、アドレス取得手段で取得されたアドレスで指定される大容量メモリの領域にデータ取得手段で取得されたデータを書き込むデータ書き込み手段と、データ書き込み手段で書き込まれたデータとデータ取得手段で取得されたデータとを照合し、一致しないことが判断された場合に、アドレス取得手段で取得されたアドレスをＮＧテーブルに書き込むベリファイチェック手段とを備えている。
【発明の効果】
【００１２】
この発明によれば、書き込み不可能な領域のアドレスを格納するＮＧテーブルをホスト装置内に設け、動作保証環境外で大容量メモリにデータ書き込みを行う際は、このＮＧテーブルを参照して、書き込み不可能な領域のアドレス以外のアドレスで指定される領域にデータを書き込むように構成したので、ホスト装置は、動作保証環境外であっても、大容量メモリにデータを正常に書き込むことができ、信頼性を向上させることができる。
【００１３】
また、この発明によれば、制御手段は、大容量メモリに書き込まれたデータと大容量メモリから取得したデータとを照合し、一致しない場合に、データが書き込まれた大容量メモリのアドレスをＮＧテーブルに書き込み、以て更新するようにしたので、常に、大容量メモリにデータを正常に書き込むことができる。
【発明を実施するための最良の形態】
【００１４】
以下、この発明の実施の形態を図面を参照しながら詳細に説明する。
実施の形態１．
図１は、この発明の実施の形態１に係る情報記憶システムの全体構成を示すブロック図である。この情報記憶システムは、ホスト装置１、メモリ２及び大容量メモリ３から構成されている。
【００１５】
ホスト装置１は、例えばマイクロコンピュータから構成されており、情報記憶システムの全体を制御する。このホスト装置１の詳細な構成及び動作は後述する。
【００１６】
メモリ２は、ホスト装置１が各種処理に使用するデータを一時的に記憶するために使用される。図２は、メモリ２に大容量メモリ３へ書き込む対象となる書き込み対象データが記憶されている状態を示している。即ち、書き込み対象データの先頭アドレスＰが００００番地、書き込み対象データ領域サイズＤが１６ｋバイト、最適クラスタサイズＳが４ｋバイトである場合のメモリ２上のデータ配置を示している。なお、この実施の形態１では、１ワードは３２ビット（４バイト）から成り、各バイトに対してアドレスが付されているものとする。また、アドレスは１６進数で表記されるものとする。
【００１７】
書き込み対象データ領域サイズＤが１６ｋバイトの場合、最適クラスタサイズＳが４ｋバイトであれば、書き込み対象データ領域は、００００番地始まる４ｋバイト、１０００番地始まる４ｋバイト、２０００番地始まる４ｋバイト及び３０００番地から始まる４ｋバイトといった４つのクラスタ領域から構成される。
【００１８】
図３は、ホスト装置１の内部に設けられるメモリ参照アドレステーブルＡｋ（ｋ＝０，１，２，・・・，ｎ−１，ｎ）の構成を示す。サフィックスの「ｋ」は、各クラスタに付されたクラスタ番号を示し、「ｎ」は書き込み対象データ領域サイズＤを最適クラスタサイズＳで除算することにより得られる商であり、以下においても同じである。
【００１９】
上記図２及び図３は、ｎ＝１６÷４＝４の場合の例である。最適クラスタサイズＳが４ｋバイトである場合、メモリ参照アドレステーブルＡｋのＡ０にはクラスタ０の先頭アドレス（書き込み対象データの先頭アドレスＰに等しい）である００００番地が、Ａ１にはクラスタ１の先頭アドレスである１０００番地が、Ａ２にはクラスタ２の先頭アドレスである２０００番地が、Ａ３にはクラスタ３の先頭アドレスである３０００番地がそれぞれ格納され、最後のＡｎには、ＥＮＤマークが格納される。
【００２０】
図４は、ホスト装置１の内部に設けられる書き込みデータサイズテーブルＲｋ（ｋ＝０，１，２，・・・，ｎ−１，ｎ）の構成を示す。書き込み対象データ領域サイズＤが１６ｋバイトの場合、ｎが４であれば、Ｒ０，Ｒ１，Ｒ２，Ｒ３に格納される書き込みデータサイズは最適クラスタサイズＳの４ｋバイトである。また、書き込みデータサイズテーブルＲｋの最後のＲｎは、書き込み対象データ領域サイズＤを最適クラスタサイズＳで除算した場合の余りであり、この場合、Ｒｎは０ｋバイトである。
【００２１】
図５は、ホスト装置１の内部に設けられるＮＧテーブル１０の構成を示す。ＮＧテーブル１０は、最適クラスタサイズＳに基づいて決定された大容量メモリ３のクラスタ領域毎に、そのクラスタ領域の書き込み可否を表す情報を格納している。このＮＧテーブル１０は、初期状態では、全てのクラスタ領域に書き込み可能状態を表す○マークが書き込まれており、後述する処理によって書き込み不可能であることが判断された場合に書き込み不可能であることを表す×マークに書き換えられる。図５は、２０００番地から始まるクラスタ領域にのみ書き込み不可能であることを表す×マークが格納されている例を示している。
【００２２】
大容量メモリ３は、例えばハードディスク（ＨＤＤ）、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）等から構成される。図６は、大容量メモリ３の構成を概念的に示す図であり、説明を簡単にするために、構成を簡略化して記載されている。即ち、この大容量メモリ３は、複数のトラックから構成されており、各トラックは８セクタに分割されている。各トラックは、１クラスタ（４ｋバイト）に対応している。
【００２３】
ホスト装置１は、上述したメモリ参照テーブルＡｋ、データサイズテーブルＲｋ及びＮＧテーブル１０の他に、動作保証環境判断手段１１、クラスタリングサイズ計算手段１２、メモリデータ読み込み手段１３、データ書き込み手段１４及びベリファイチェック手段１５を有して構成されている。この発明の制御手段は、クラスタリングサイズ計算手段１２、メモリデータ読み込み手段１３、データ書き込み手段１４及びベリファイチェック手段１５から構成されている。
【００２４】
動作保証環境判断手段１１は、現在の環境が、大容量メモリ３の動作が製造メーカーによって保証されていない動作保証環境外であるかどうかを判断する。具体的には、動作保証環境判断手段１１は、図示しない温度センサ、湿度センサ、Ｇ（加速度）センサといった各種センサからの信号を受信し、これらの信号により示される値が、動作保証環境外を示しているかどうかを判断する。この動作保証環境判断手段１１による判断結果は、クラスタイベントとしてクラスタリングサイズ計算手段１２に伝えられる。
【００２５】
クラスタリングサイズ計算手段１２は、この発明のアドレス取得手段に対応し、クラスタイベントに対応する処理を実行する。このクラスタリングサイズ計算手段１２では、詳細は後述するが、最適クラスタサイズＳの算出、書き込みデータサイズテーブルＲｋの作成、メモリ参照アドレステーブルＡｋの作成が行われ、これらに基づいて、読み込み要求イベントが発生される。このクラスタリングサイズ計算手段１２により発生された読み込み要求イベントは、メモリデータ読み込み手段１３に伝えられる。
【００２６】
メモリデータ読み込み手段１３は、この発明のデータ取得手段に対応し、読み込み要求イベントに対応する処理を実行する。このメモリデータ読み込み手段１３は、詳細は後述するが、クラスタリングサイズ計算手段１２で発生された読み込み要求イベントに応答してメモリ２からデータを読み込み、その後、大容量メモリ３への書き込みを要求する書き込み要求イベントを発生する。このメモリデータ読み込み手段１２により発生された書き込み要求イベントは、データ書き込み手段１４に伝えられる。
【００２７】
データ書き込み手段１４は、書き込み要求イベントに対応する処理を実行する。このデータ書き込み手段１４は、詳細は後述するが、メモリデータ読み出し手段１３で発生された書き込み要求イベントに応答して、メモリデータ読み込み手段１３で読み込まれたデータを大容量メモリ３に書き込み、その後、ベリファイイベントを発生する。このデータ書き込み手段１４で発生されたベリファイイベントは、ベリファイチェック手段１５に伝えられる。
【００２８】
ベリファイチェック手段１５は、ベリファイイベントに対応する処理を実行する。このベリファイチェック手段１５は、詳細は後述するが、データ書き込み手段１４で発生されたベリファイイベントに応答して、データ書き込み手段１４で大容量メモリ３に書き込まれたデータを読み出してベリファイチェックを行う。そして、大容量メモリ３に書き込まれる前のデータと書き込まれた後のデータとが同じでなければ、再度書き込みイベントを発生する。このベリファイチェック手段１５で発生された書き込みイベントは、再度データ書き込み手段１４に伝えられ、データ書き込みが再試行される。そして、再試行がＮＧ書き込み許容回数Ｎを超えるとエラーイベントを発生する。
【００２９】
次に、上記のように構成される、この発明の実施の形態１に係る情報記憶システムの動作を図７〜図１３に示すフローチャートを参照しながら説明する。この情報記憶システムではイベント起動方式が採用されており、各処理はイベントが発生することにより起動されるものとする。
【００３０】
図７は、メモリ２内のデータを大容量メモリ３に書き込むイベントが発生した場合の処理を示すフローチャートである。図示しないアプリケーションプログラムでメモリ２内のデータを大容量メモリ３に書き込むイベントが発生すると、ホスト装置１は、動作保証環境外判断イベントを発生させ（ステップＳＴ１）、処理を終了する。
【００３１】
図８は、動作保証環境外判断イベントが発生した場合の処理を示すフローチャートである。動作保証環境外判断イベントが発生すると、ホスト装置１の動作保証環境判断手段１１は、動作保証環境外であるかどうかを調べる（ステップＳＴ２）。具体的には、動作保証環境判断手段１１は、図示しない温度センサ、湿度センサ、Ｇ（加速度）センサ等からの信号に基づき、現在の環境が、大容量メモリ３の動作が製造メーカーによって保証されていない動作保証環境外であるかどうかを調べる。
【００３２】
このステップＳＴ２で、動作保証環境外でない、つまり動作保証環境内であることが判断されると、従来と同様に、大容量メモリ３のファイルを管理する既存のファイルシステムがメモリ２内のデータを大容量メモリ３に書き込む（ステップＳＴ３）。一方、上記ステップＳＴ２で、動作保証環境外であることが判断されると、動作保証環境判断手段１１は、クラスタリングイベントを発生させる（ステップＳＴ４）。以上により、動作保証環境外判断イベントに対する処理は終了する。
【００３３】
図９は、クラスタリングイベントが発生した場合の処理を示すフローチャートである。クラスタリングイベントが発生すると、ホスト装置１のクラスタリングサイズ計算手段１２は、以下の処理を実行する。即ち、まず、大容量メモリ３の全容量から最適クラスタサイズＳが算出さる（ステップＳＴ５）。次いで、書き込みデータサイズテーブルＲｋが作成される（ステップＳＴ６）。具体的には、書き込み対象データ領域サイズＤを最適クラスタサイズＳで除算することにより得られる商をｎとし、Ｒ０〜Ｒｎ−１に最適クラスタサイズＳが書き込まれ、余りＭＯＤがＲｎに書き込まれる。これにより、書き込みデータサイズテーブルＲｋが作成さる。
【００３４】
次いで、メモリ参照アドレステーブルＡｋが作成される（ステップＳＴ７）。具体的には、書き込み対象データの先頭アドレスＰと書き込みデータサイズテーブルＲｋに基づき、メモリ参照アドレステーブルＡｋ（ｋ＝０，１，３，・・・，ｎ−１，ｎ）が作成される。この場合、Ａ０＝Ｐである。
【００３５】
次いで、変数ｉに初期値として「０」がセットされ（ステップＳＴ８）、ＡｉがＥＮＤマークであるかどうかが調べられる（ステップＳＴ９）。ここで、ＥＮＤマークであることが判断されるとクラスタリングイベントに対する処理は終了する。一方、ＥＮＤマークでないことが判断されると、Ａｉがメモリ参照先アドレスＪに代入され、Ｒｉが書き込み用データサイズＱに代入される（ステップＳＴ１０）。次いで、図示しないＮＧ書き込みループカウンタＬに初期値として「０」がセットされる（ステップＳＴ１１）。次いで、メモリ参照先アドレスＪと書き込み用データサイズＱを引数として、読み込み要求イベントを発生される（ステップＳＴ１２）。次いで、変数ｉに「１」が加算される（ステップＳＴ１３）。その後、シーケンスはステップＳＴ９へ戻り、上述した処理が繰り返される。
【００３６】
図１０は、読み込み要求イベントが発生した場合の処理を示すフローチャートである。読み込み要求イベントが発生すると、ホスト装置１のメモリデータ読み込み手段１３は、以下の処理を実行する。即ち、メモリ２のメモリ参照先アドレスＪで指定される位置から書き込み用データサイズＱで指定されるバイト数のデータが読み込まれる（ステップＳＴ１４）。次いで、メモリ参照先アドレスＪと書き込み用データサイズＱを引数として、書き込み要求イベントが発生される（ステップＳＴ１５）。以上により、読み込み要求イベントに対する処理は終了する。
【００３７】
図１１は、書き込み要求イベントが発生した場合の処理を示すフローチャートである。書き込み要求イベントが発生すると、ホスト装置１のデータ書き込み手段１４は、以下の処理を実行する。まず、書き込み先アドレスＺが取得される（ステップＳＴ１６）。具体的には、データ書き込み手段１４は、既存のファイルシステムを呼び出して、ＮＧテーブル１０を参照させて書き込み可能な大容量メモリ３のアドレスを提供させ、この提供されたアドレスを大容量メモリ３の書き込み先アドレスＺに代入する。
【００３８】
次いで、メモリ参照先アドレスＪと書き込み用データサイズＱを引数とした読み込み要求イベントによって読み込んだデータを、大容量メモリ３の書き込み先アドレスＺで指定される領域に書き込む（ステップＳＴ１７）。次いで、メモリ参照先アドレスＪと書き込み用データサイズＱと大容量メモリ３の書き込み先アドレスＺを引数としてベリファイイベントを発生させる（ステップＳＴ１８）。以上により、書き込み要求イベントに対する処理は終了する。
【００３９】
図１２は、ベリファイイベントが発生した場合の処理を示すフローチャートである。ベリファイイベントが発生すると、ホスト装置１のベリファイチェック手段１５は、以下の処理を実行する。まず、大容量メモリ３の書き込み先アドレスＺから書き込み用データサイズＱで指定されたバイト数のデータが読み込まれる（ステップＳＴ１９）。次いで、ステップＳＴ１９で読み込まれたデータが、上述した読み込み要求イベントに応じてメモリ２から読み出されて大容量メモリ３に書き込まれたデータと同じであるかどうかが調べられる（ステップＳＴ２０）。このステップＳＴ２０で、同じであることが判断されるとベリファイイベントに対する処理は終了する。
【００４０】
一方、ステップＳＴ２０で、同じでないことが判断されると、その書き込み先アドレスＺがＮＧテーブル１０に追加される（ステップＳＴ２１）。具体的には、図６に示すように、ＮＧテーブル１０の該当する位置に、書き込み不可能であることを表す×マークが書き込まれる。次いで、ＮＧ書き込みループカウンタＬに「１」が加算される（ステップＳＴ２２）。次いで、ＮＧ書き込みループカウンタＬがＮＧ書き込み許容回数Ｎを超えたかどうかが調べられ（ステップＳＴ２３）、超えたことが判断された場合は、エラーイベントが発生される（ステップＳＴ２４）。一方、超えていないことが判断された場合は、メモリ参照先アドレスＪ、書き込み用データサイズＱ及びＮＧ書き込みループカウンタＬを引数として、書き込み要求イベントが発生される（ステップＳＴ２５）。以上により、ベリファイイベントに対する処理は終了する。
【００４１】
なお、ステップＳＴ２５で発生された書き込み要求イベントに対する処理では、ＮＧテーブル１０の該当する位置に、書き込み不可能であることを表す×マークが書き込まれているので、大容量メモリ３の他のアドレスで指定される領域に書き込みが行われる。従って、大容量メモリ３のアドレスを順次変えながら書き込みが再試行されることになり、試行回数がＮＧ書き込み許容回数Ｎを超えたときに大容量メモリ３に対する書き込みが不可能であると認識されてエラーイベントが発生される。
【００４２】
図１３は、エラーイベントが発生した場合の処理を示すフローチャートである。エラーイベントが発生すると、ベリファイチェック手段１５は、全ての処理を中断して、ホスト装置１にエラーコードを引き渡し（ステップＳＴ２６）、処理を終了する。これにより、ホスト装置１において、ベリファイチェックにおいてエラーが発生した旨が認識され、エラー処理が実行される。
【００４３】
以上の処理により、例えば図２に示すようにメモリ２に記憶されている書き込み対象データを大容量メモリ３に格納する場合、図５に示すように書き込みの可否が設定されたＮＧテーブル１０が存在するとすれば、図６に示すように、書き込み対象データは、破線で示すトラックを避けて、実線の太線で示されるトラックに書き込まれる。
【００４４】
以上説明したように、この発明の実施の形態１に係る情報記憶システムによれば、書き込み不可能な領域のアドレスを格納するＮＧテーブル１０をホスト装置１内に設け、動作保証環境外で大容量メモリ３にデータ書き込みを行う際は、このＮＧテーブル１０を参照して、書き込み不可能な領域のアドレス以外のアドレスで指定される領域にデータを書き込むように構成したので、ホスト装置１は、動作保証環境外であっても、大容量メモリ３にデータを正常に書き込むことができ、信頼性を向上させることができる。
【００４５】
また、大容量メモリ３に書き込まれたデータと大容量メモリ３から取得したデータとを照合し、一致しない場合に、データが書き込まれた大容量メモリ３のアドレスをＮＧテーブル１０に書き込んで更新するようにしたので、常に、大容量メモリ３にデータを正常に書き込むことができる。
【００４６】
また、メモリ２からのデータの読み出し及び大容量メモリ３へのデータの書き込みは、クラスタ単位で行うように構成したので、書き込み対象データの全ての書き込みを完了する前に書き込みエラーを判断できる。その結果、大容量メモリ３への書き込みの可否を早い時点で知ることができるので、無駄な書き込み動作が長時間にわたって行われることを回避でき、情報記憶システムを効率よく動作させることができる。
【図面の簡単な説明】
【００４７】
【図１】この発明の実施の形態１に係る情報記憶システムの全体構成を示すブロック図である。
【図２】この発明の実施の形態１に係る情報記憶システムのメモリに、大容量メモリへ書き込む対象となる書き込み対象データが記憶されている状態を示す図である。
【図３】この発明の実施の形態１に係る情報記憶システムのホスト装置の内部に設けられるメモリ参照アドレステーブルの構成を示す図である。
【図４】この発明の実施の形態１に係る情報記憶システムのホスト装置の内部に設けられるデータサイズテーブルの構成を示す図である。
【図５】この発明の実施の形態１に係る情報記憶システムのホスト装置の内部に設けられるＮＧテーブルの構成を示す図である。
【図６】この発明の実施の形態１に係る情報記憶システムにおいて書き込み完了後の大容量メモリの構成を概念的に示す図である。
【図７】この発明の実施の形態１に係る情報記憶システムにおいてデータを大容量メモリに書き込むイベントが発生した場合の処理を示すフローチャートである。
【図８】この発明の実施の形態１に係る情報記憶システムにおいて動作保証環境外判断イベントが発生した場合の処理を示すフローチャートである。
【図９】この発明の実施の形態１に係る情報記憶システムにおいてクラスタリングイベントが発生した場合の処理を示すフローチャートである。
【図１０】この発明の実施の形態１に係る情報記憶システムにおいて読み込み要求イベントが発生した場合の処理を示すフローチャートである。
【図１１】この発明の実施の形態１に係る情報記憶システムにおいて書き込み要求イベントが発生した場合の処理を示すフローチャートである。
【図１２】この発明の実施の形態１に係る情報記憶システムにおいてベリファイイベントが発生した場合の処理を示すフローチャートである。
【図１３】この発明の実施の形態１に係る情報記憶システムにおいてエラーイベントが発生した場合の処理を示すフローチャートである。
【符号の説明】
【００４８】
１  ホスト装置、２  メモリ、３  大容量メモリ、１０  ＮＧテーブル、１１  動作保証環境判断手段、１２  クラスタリングサイズ計算手段、１３  メモリデータ読み込み手段、１４  データ書き込み手段、１５  ベリファイチェック手段、Ａｋ  メモリ参照アドレステーブル、Ｒｋ  データサイズテーブル。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2005166212.tif 000016
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2005166212.tif 000017
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2005166212.tif 000018