(57)【要約】【課題】  ファイル・データ・ブロックのデータとキャッシュ・ブロックの最新のデータとのマージ処理を高速化することのできるデータ記憶装置およびその制御方法を提供する。【解決手段】  キャッシュ・ブロックの設定後、ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、キャッシュ・ブロックに書き換えデータを書き込むための論理ページが存在せず、かつ、キャッシュ・ブロックに書き込まれている有効な書き換えデータの数が、論理ブロックの論理ページ数未満の予め決められた数以下の場合に、新たな論理ブロックを取得し、この新たな論理ブロックにキャッシュ・ブロック内の有効な書き換えデータをコピーして、この新たな論理ブロックを新たなキャッシュ・ブロックとして割り当てるように制御を行う。【選択図】  図７
2008299511.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性半導体メモリの消去単位を物理ブロックとして、複数の物理ブロックを論理ブロックとして管理し、前記論理ブロックは所定数のセクタを組み合わせた論理ページの単位で分割されたデータ記憶装置であって、
第１の論理ブロックをファイル・データ・ブロックとして設定してデータを書き込み、
前記ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、別の第２の論理ブロックをキャッシュ・ブロックとして設定して書き換えデータを書き込み、
前記キャッシュ・ブロックの設定後、前記ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、前記キャッシュ・ブロックに前記書き換えデータを書き込むための論理ページが存在せず、かつ、前記キャッシュ・ブロックに書き込まれている有効な書き換えデータの数が、前記論理ブロックの前記論理ページ数未満の予め決められた数以下の場合に、新たな第３の論理ブロックを取得し、この第３の論理ブロックに前記キャッシュ・ブロック内の有効な書き換えデータをコピーして、前記第３の論理ブロックを新たな前記キャッシュ・ブロックとして割り当てるように制御を行う制御部を有することを特徴とするデータ記憶装置。
【請求項２】
請求項１記載のデータ記憶装置であって、
前記制御部は、新たなキャッシュ・ブロックを割り当てた後、前記第２の論理ブロックのデータを消去するように制御を行うことを特徴とするデータ記憶装置。
【請求項３】
請求項１記載のデータ記憶装置であって、
前記制御部は、前記キャッシュ・ブロックの設定後、前記ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、前記キャッシュ・ブロックに前記書き換えデータを書き込むための論理ページが存在せず、かつ、前記キャッシュ・ブロックに書き込まれている有効な書き換えデータの数が、前記論理ブロックの前記論理ページ数未満の予め決められた数以上の場合に、新たな第４の論理ブロックを取得し、この第４の論理ブロックに、前記キャッシュ・ブロック内の有効な書き換えデータをコピーするとともに、前記ファイル・データ・ブロックに書き込まれた、前記書き換えデータのアドレス範囲以外のデータをコピーして、前記第４の論理ブロックを新たな前記ファイル・データ・ブロックとして割り当てるように制御を行うことを特徴とするデータ記憶装置。
【請求項４】
請求項３記載のデータ記憶装置であって、
前記制御部は、新たなファイル・データ・ブロックを割り当てた後、前記第１の論理ブロックおよび前記第２の論理ブロックのデータを消去することを特徴とするデータ記憶装置。
【請求項５】
不揮発性半導体メモリの消去単位を物理ブロックとして、複数の物理ブロックを論理ブロックとして管理し、前記論理ブロックは所定数のセクタを組み合わせた論理ページの単位で分割されたデータ記憶装置の制御方法であって、
第１の論理ブロックをファイル・データ・ブロックとして設定してデータを書き込むステップと、
前記ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、別の第２の論理ブロックをキャッシュ・ブロックとして設定して書き換えデータを書き込むステップと、
前記キャッシュ・ブロックの設定後、前記ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、前記キャッシュ・ブロックに前記書き換えデータを書き込むための論理ページが存在せず、かつ、前記キャッシュ・ブロックに書き込まれている有効な書き換えデータの数が、前記論理ブロックの前記論理ページ数未満の予め決められた数以下の場合に、新たな第３の論理ブロックを取得し、この第３の論理ブロックに前記キャッシュ・ブロック内の有効な書き換えデータをコピーして、前記第３の論理ブロックを新たな前記キャッシュ・ブロックとして割り当てるステップと
を具備することを特徴とするデータ記憶装置の制御方法。
【請求項６】
請求項５記載のデータ記憶装置の制御方法であって、
前記新たなキャッシュ・ブロックを割り当てた後、前記第２の論理ブロックのデータを消去することを特徴とするデータ記憶装置の制御方法。
【請求項７】
請求項５記載のデータ記憶装置の制御方法であって、
前記キャッシュ・ブロックの設定後、前記ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、前記キャッシュ・ブロックに前記書き換えデータを書き込むための論理ページが存在せず、かつ、前記キャッシュ・ブロックに書き込まれている有効な書き換えデータの数が、前記論理ブロックの前記論理ページ数未満の予め決められた数以上の場合に、新たな第４の論理ブロックを取得し、この第４の論理ブロックに、前記キャッシュ・ブロック内の有効な書き換えデータをコピーするとともに、前記ファイル・データ・ブロックに書き込まれた、前記書き換えデータのアドレス範囲以外のデータをコピーして、前記第４の論理ブロックを新たな前記ファイル・データ・ブロックとして割り当てるステップをさらに具備することを特徴とするデータ記憶装置の制御方法。
【請求項８】
請求項７記載のデータ記憶装置の制御方法であって、
前記新たなファイル・データ・ブロックを割り当てた後、前記第１の論理ブロックおよび前記第２の論理ブロックのデータを消去することを特徴とするデータ記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶装置およびその制御方法に関するものである。
【背景技術】
【０００２】
従来から、ＮＡＮＤ型の不揮発性半導体メモリ（フラッシュメモリ）を主たる記憶媒体とし、例えばＰＣ（Ｐｅｒｓｏｎａｌ Ｃｏｍｐｕｔｅｒ）や携帯電話機、携帯型ＡＶ（Ａｕｄｉｏ／Ｖｉｄｅｏ）機器等のホスト装置に着脱自在な可搬性のデータ記憶装置（いわゆるデータ記憶装置）が知られている。このデータ記憶装置においては、例えばＦＡＴ（Ｆｉｌｅ Ａｌｌｏｃａｔｉｏｎ Ｔａｂｌｅｓ）ファイルシステム等のホスト装置側のファイル管理システムによってデータの書き込み及び読み出しの管理が行われる。また、データ記憶装置内部では、不揮発性半導体メモリ内の物理領域は複数の物理ブロックに分割され、当該物理ブロックがデータの消去単位となっている。また、物理ブロックはさらに複数の物理ページに分割され、当該ページがデータの書き込み及び読み出し単位となっている（特許文献１参照）。
【特許文献１】特開２００３−３０８２４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
データ記憶装置内で複数の物理ブロックを論理ブロックとして管理してデータの読み出しおよび書き込みを行うとき、論理ブロックはホストデータを書き込むためにファイル・データ・ブロックとして使用される場合と、ファイル・データ・ブロックに対して書き込みが行えない場合の、書き換え用のデータの一時書き込み用領域であるキャッシュ・ブロックとして使用される場合とがある。
【０００４】
キャッシュ・ブロックは、ファイル・データ・ブロックに書き込まれたデータの一部を書き換える場合に、新規の書き換え用のデータが書き込まれる。キャッシュ・ブロックの空き領域のサイズが新規に書き込むデータのサイズより小さくなった時、新たな論理ブロックを設定して、この新たな論理ブロックに、ファイル・データ・ブロックとキャッシュ・ブロックからそれぞれ読み出したデータをコピーしてマージ処理を行う。これにより、ファイル・データ・ブロックとキャッシュ・ブロックはともに不要になり、それぞれのデータを消去する。
【０００５】
ファイル・データ・ブロックに書き込まれるアドレス範囲は論理ページ単位で分割してＦＤ Ｉｎｄｅｘと呼ばれるアドレッシングで管理される。ファイル・データ・ブロックには同じＦＤ Ｉｎｄｅｘが複数存在することは許されず、もし同じＦＤ Ｉｎｄｅｘを書き込む必要がある場合はキャッシュ・ブロックを取得して、キャッシュ・ブロックへの書き込みが行われる。
【０００６】
しかしながら、この方式では、ファイル・データ・ブロックのデータとキャッシュ・ブロックの最新のデータとをマージする際に、論理ブロック内の論理ページの数だけ新規の論理ブロックへのコピー処理が発生してしまい、マージ処理の速度が非常に遅くなってしまう。
【０００７】
本発明は、かかる実情に鑑み、ファイル・データ・ブロックのデータとキャッシュ・ブロックの最新のデータとのマージ処理を高速化することのできるデータ記憶装置およびその制御方法を提供しようとするものである。
【課題を解決するための手段】
【０００８】
本発明のデータ記憶装置は、不揮発性半導体メモリの消去単位を物理ブロックとして、複数の物理ブロックを論理ブロックとして管理し、前記論理ブロックは所定数のセクタを組み合わせた論理ページの単位で分割されたデータ記憶装置であって、第１の論理ブロックをファイル・データ・ブロックとして設定してデータを書き込み、前記ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、別の第２の論理ブロックをキャッシュ・ブロックとして設定して書き換えデータを書き込み、前記キャッシュ・ブロックの設定後、前記ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、前記キャッシュ・ブロックに前記書き換えデータを書き込むための論理ページが存在せず、かつ、前記キャッシュ・ブロックに書き込まれている有効な書き換えデータの数が、前記論理ブロックの前記論理ページ数未満の予め決められた数以下の場合に、新たな第３の論理ブロックを取得し、この第３の論理ブロックに前記キャッシュ・ブロック内の有効な書き換えデータをコピーして、前記第３の論理ブロックを新たな前記キャッシュ・ブロックとして割り当てるように制御を行う制御部を有する。
【０００９】
本発明のデータ記憶装置によれば、キャッシュ・ブロックの設定後、ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、キャッシュ・ブロックに書き換えデータを書き込むための論理ページが存在せず、かつ、キャッシュ・ブロックに書き込まれている有効な書き換えデータの数が、論理ブロックの論理ページ数未満の予め決められた数以下ならば、その決められた数以下の回数のコピー処理だけでマージ処理を行うことができ、処理速度を大幅に向上させることができる。
【００１０】
また、本発明のデータ記憶装置において、前記制御部は、前記キャッシュ・ブロックの設定後、前記ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、前記キャッシュ・ブロックに前記書き換えデータを書き込むための論理ページが存在せず、かつ、前記キャッシュ・ブロックに書き込まれている有効な書き換えデータの数が、前記論理ブロックの前記論理ページ数未満の予め決められた数以上の場合に、新たな第４の論理ブロックを取得し、この第４の論理ブロックに、前記キャッシュ・ブロック内の有効な書き換えデータをコピーするとともに、前記ファイル・データ・ブロックに書き込まれた、前記書き換えデータのアドレス範囲以外のデータをコピーして、前記第４の論理ブロックを新たな前記ファイル・データ・ブロックとして割り当てるように制御を行う。
【００１１】
本発明によれば、キャッシュ・ブロックの設定後、ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、キャッシュ・ブロックに書き換えデータを書き込むための論理ページが存在せず、かつ、キャッシュ・ブロックに書き込まれている有効な書き換えデータの数が、論理ブロックの論理ページ数未満の予め決められた数以下ならば、キャッシュ・ブロック内の有効な書き換えデータのコピーと、ファイル・データ・ブロックに書き込まれた、書き換えデータのアドレス範囲以外のデータをコピーするだけでマージ処理を行うことができ、論理ブロック内の論理ページ数より少ない回数でマージ処理を行うことができる。
【発明の効果】
【００１２】
本発明のデータ記憶装置およびその制御方法によれば、ファイル・データ・ブロックのデータとキャッシュ・ブロックの最新のデータとのマージ処理を高速化することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面に基づき説明する。  
【００１４】
図１は本発明の一実施形態に係るデータ記憶装置の構成を示すブロック図である。
【００１５】
同図に示すように、データ記憶装置１０は、不揮発性半導体メモリ１、制御部としてのプロセッサ２、内部ＲＡＭ３、バッファＲＡＭ４、及びインターフェース部５を有する。データ記憶装置１０は、例えばカード状の形態のいわゆるデータ記憶装置であり、ＰＣやディジタルカメラ等のホスト装置（図示を省略）に対して抜き差し可能なリムーバブルメモリとして用いられる。
【００１６】
不揮発性半導体メモリ１は、複数のマルチレベルセルにより構成され、例えば各セルが４値（２ビット）を記憶するＮＡＮＤフラッシュメモリである。
【００１７】
プロセッサ２は、データ記憶装置１０の各ブロックを統括的に制御しながら、内部ＲＡＭ３またはバッファＲＡＭ４と不揮発性半導体メモリ１との間でデータ転送を行い、データの読み出し、書き込み及び消去を行う。
【００１８】
内部ＲＡＭ３は、プロセッサ２の作業用の記憶領域として用いられ、例えば、ホスト装置から転送されるプロセッサ２に対する動作制御コマンドや、当該コントロールコマンドを実行する際に必要な諸処のパラメータ、データ記憶装置１０内の内部状態等を一時的に記憶する。また内部ＲＡＭ３は、不揮発性半導体メモリ１から読み出されたデータを再度不揮発性半導体メモリ１へ書き込む際に、当該書き込みデータを一旦蓄える。
【００１９】
バッファＲＡＭ４は、いわゆるページバッファとして機能し、インターフェース部５を介してホスト装置側から転送された書き込みデータを一旦蓄えると共に、不揮発性半導体メモリ１から読み出されインターフェース部５を介してホスト装置側に転送されるデータを一旦蓄える。
【００２０】
インターフェース部５は、ホスト装置のホストインターフェース部１１との間のインターフェースを取るためのものである。インターフェース部５は、例えば、シリアルプロトコルにより３本の信号線を用いてデータ転送を行うシリアルインターフェースと、パラレルプロトコルにより６本の信号線を用いてデータ転送を行うパラレルインターフェースとを有する。
【００２１】
図２は不揮発性半導体メモリ１における物理ブロック、論理ブロック、および論理ページ及び、ＦＤ Ｉｎｄｅｘの関係を説明する図である。
【００２２】
不揮発性半導体メモリ１の記憶領域は消去単位である複数の物理ブロック２１からなる。物理ブロック２１は、データの読み出し単位である複数の物理ページ２２からなる。論理ブロック３１は複数の物理ページ３２を論理的に１つのブロックとして管理する単位である。不揮発性半導体メモリ１のメモリ領域を５１２バイトに区切った単位をセクタを呼び、論理ページ３２は論理ブロック３１を複数のセクタ単位で分割した単位である。ＦＤ Ｉｎｄｅｘは、論理ブロック３１が持つ、ホスト装置から見たときのアドレス範囲を論理ページ３１単位に分割してそれぞれのアドレス範囲に順番に番号を付けたものである。論理ブロック３１をファイル・データ・ブロックとして使用する場合、論理ブロック３１には一つのファイルのみのデータが書き込まれる。
【００２３】
図３は論理ブロックに割り当てられるホスト装置から見たときのアドレス範囲を０〜２０４７とし、論理ページのセクタ数を４としたこの場合の、ＦＤ Ｉｎｄｅｘとホストから見たアドレス範囲との関係の例を示している。この例では、ＦＤ Ｉｎｄｅｘ １はホストから見たときのアドレス０〜３の範囲に相当し、ＦＤ Ｉｎｄｅｘ １はホストから見たときのアドレス４〜７の範囲に相当し、ＦＤ Ｉｎｄｅｘ ２はホストから見たときのアドレス８〜１１の範囲に相当する。
【００２４】
次に、このデータ記憶装置においてファイル・データ・ブロックにファイルのデータを書き込む時の動作を説明する。
【００２５】
図４はホスト装置から見て８〜１５のアドレスについてのデータをファイル・データ・ブロックに書き込みときの動作の例を示す図である。ファイル・データ・ブロックとして設けられた論理ブロックＭに対して、ホスト装置から見て８〜１５のアドレスについて書き込み命令が発行された場合、プロセッサ２は、論理ブロックＭの先頭の論理ページにＦＤ Ｉｎｄｅｘ ２のデータを書き込み、次の論理ページにＦＤ Ｉｎｄｅｘ ３のデータを書き込むように制御を行う。
【００２６】
図５はホスト装置から再度８〜１５のアドレスについてデータを書き込むときの動作を示す図である。この場合、プロセッサ２は、ファイル・データ・ブロックとして設定された論理ブロックＭの８〜１５のアドレスに既にデータが書き込まれていることを判断して、別の論理ブロックＰを論理ブロックＭに対するキャッシュ・ブロックとして割り当てる。そして、プロセッサ２は、このキャッシュ・ブロックの先頭の論理ページから順に、ホスト装置からのＦＤ Ｉｎｄｅｘ ２、ＦＤ Ｉｎｄｅｘ ３のデータを書き込むように制御を行う。
【００２７】
次に、ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、キャッシュ・ブロックに書き換えデータを書き込むための論理ページが存在しない場合の動作を説明する。
【００２８】
図６はこの場合の書き込み動作を示すフローチャートである。図７および図８はこの書き込み動作の例を示す図である。なお、図８の例は、ホスト装置から見たときのアドレス２１〜２３に対して書き込み命令が発生した場合の例である。
【００２９】
まず、プロセッサ２は、キャッシュ・ブロックとして設定されている論理ブロックＰに書き込まれているＦＤ Ｉｎｄｅｘの数を確認する（ステップＳ１０１）。ここで、ＦＤ Ｉｎｄｅｘの数とは、異なるＦＤ Ｉｎｄｅｘの数のことである。例えば、図７の例では、キャッシュ・ブロックとして使用されている論理ブロックＰに書き込まれているＦＤ Ｉｎｄｅｘの数は、ＦＤ Ｉｎｄｅｘ ２とＦＤ Ｉｎｄｅｘ ３の２つである。一方、図８の例では、キャッシュ・ブロックとして使用されている論理ブロックＰに書き込まれているＦＤ Ｉｎｄｅｘの数は、ＦＤ Ｉｎｄｅｘ ２、ＦＤ Ｉｎｄｅｘ ３、ＦＤ Ｉｎｄｅｘ ４の３つである。
【００３０】
次に、プロセッサ２は、ステップＳ１０１で確認したＦＤ Ｉｎｄｅｘの数が、論理ブロックの論理ページ数未満のあらかじめ規定された数より少ないかどうかを判断する（ステップＳ１０２）。ここで、あらかじめ規定された数を仮に３とする。図７の例では、キャッシュ・ブロックとして使用されている論理ブロックＰに書き込まれているＦＤ Ｉｎｄｅｘの数は２であるから、ステップＳ１０２でＹＥＳが判断される。一方、図８の例では、ＦＤ Ｉｎｄｅｘの数は３であるからＮＯが判断される。
【００３１】
ステップＳ１０２でＹＥＳが判断された場合、図７に示すように、プロセッサ２は、新規に論理ブロックＱを取得し、キャッシュ・ブロックとして設定されている論理ブロックＰに書き込まれているデータのうち、書き換えに有効なデータを新規の論理ブロックＱの先頭の論理ページから順にコピーする（ステップＳ１０３）。ここで、論理ブロックＰに書き込まれているデータのうちの書き換えに有効なデータとは、異なるＦＤ Ｉｎｄｅｘごとに論理ブロックＰに最後に書き込まれたデータである。すなわち、複数の論理ページに同じＦＤ Ｉｎｄｅｘが書き込まれている場合には、ページ番号が大きい方の論理ページに書き込まれているデータのことである。図７の例では、ＦＤ Ｉｎｄｅｘ ２とＦＤ Ｉｎｄｅｘ ３のデータが新規の論理ブロックＱの先頭の論理ページから順にコピーされることになる。次に、プロセッサ２は、新規の論理ブロックＱを新たなキャッシュ・ブロックとして割り当てて、ホスト装置からの新たなデータをここに書き込み、この後、論理ブロックＰのデータを消去して元のキャッシュ・ブロックを破棄する（ステップＳ１０４）。
【００３２】
一方、ステップＳ１０２でＮＯが判断された場合、図８に示すように、プロセッサ２は、新規に論理ブロックＱを取得し、ホスト装置からのデータが書き込まれようとしているアドレスを含むＦＤ Ｉｎｄｅｘ以下のＦＤ Ｉｎｄｅｘのデータを、キャッシュ・ブロックとして設定されている論理ブロックＰまたはファイル・データ・ブロックとして設定された論理ブロックＭから、新規に取得した論理ブロックＱにコピーする。この際、キャッシュ・ブロックとして設定されている論理ブロックＰからデータを読み出して新規に取得した論理ブロックＱへのコピーを先に行い、このキャッシュ・ブロックとして設定されている論理ブロックＰに書き込まれていないＦＤ Ｉｎｄｅｘのデータについては、ファイル・データ・ブロックとして設定された論理ブロックＭからデータを読み出して新規に取得した論理ブロックＱへのコピーを行う。続いて、プロセッサ２は、ホスト装置が書き込みを行おうとしているデータを新規に取得した論理ブロックＱにコピーする。最後に、プロセッサ２は、ホスト装置が書き込みを行おうとしているアドレスを含むＦＤ Ｉｎｄｅｘ以上のＦＤ Ｉｎｄｅｘのデータを、キャッシュ・ブロックとして設定されている論理ブロックＰまたはファイル・データ・ブロックとして設定された論理ブロックＭから新規に取得した論理ブロックＱにコピーする。このときもキャッシュ・ブロックとして設定されている論理ブロックＰからのコピーを先に行い、このキャッシュ・ブロックとして設定されている論理ブロックＰに書き込まれていないＦＤ Ｉｎｄｅｘのデータについては、ファイル・データ・ブロックとして設定された論理ブロックＭからのデータのコピーを行う（ステップＳ１０５）。この後、プロセッサ２は、論理ブロックＰおよび論理ブロックＭのデータを消去して、元のキャッシュ・ブロックおよびファイル・データ・ブロックを破棄する（ステップＳ１０６）。
【００３３】
従来のマージ処理方式では、ファイル・データ・ブロックのデータとキャッシュ・ブロックの最新のデータとをマージする際に、論理ブロック内の論理ページの数だけ新規の論理ブロックへのコピー処理が発生してしまうためにマージ処理に時間がかかってしまうのに対し、この実施の形態のデータ記憶装置によれば、キャッシュ・ブロックに書き込まれているＦＤ Ｉｎｄｅｘの数が論理ブロックの論理ページ数未満の予め決められた数以下の場合に、その決められた回数以下のコピー処理だけでマージ処理を行うことができ、処理速度を大幅に向上させることができる。すなわち、図６の例では、３回のコピー処理でマージ処理を完了させることができる。
【００３４】
特に、ＦＡＴファイルシステムによって不揮発性半導体メモリ１に対するデータの書き込み及び読み出しの管理が行われる場合、サブディレクトリエントリが書き込まれる論理ブロックには同じＦＤ Ｉｎｄｅｘが複数回書き込まれることが予想される。この場合、本実施形態で説明したマージ処理方式を採用することによって、格段にマージ処理にかかる時間を短縮することができる。具体的な例として、論理ブロック内のＦＤ Ｉｎｄｅｘの数が５１２であるとき、サブディレクトリエントリに使用するＦＤ Ｉｎｄｅｘの数が４つだったとすると、一般的なマージ処理方式では５１２回のコピー処理が発生するが、本実施形態で説明したマージ処理方式によると４回のコピー処理を行うことでマージ処理が終了する。
【００３５】
また、この実施の形態のデータ記憶装置によれば、キャッシュ・ブロックに書き込まれているＦＤ Ｉｎｄｅｘの数が論理ブロックの論理ページ数未満の予め決められた数以上の場合には、キャッシュ・ブロック内の有効な書き換えデータのコピーと、ファイル・データ・ブロックに書き込まれた、キャッシュ・ブロック内の有効な書き換えデータのＦＤ Ｉｎｄｅｘ以外のデータをコピーするだけでマージ処理を行うことができ、論理ブロック内の論理ページ数より少ない回数でマージ処理を行うことができる。
【００３６】
尚、本発明のデータ記憶装置およびその制御方法は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施形態に係るデータ記憶装置の構成を示すブロック図である。
【図２】不揮発性半導体メモリにおける物理ブロック、論理ブロック、および論理ページ及び、ＦＤ Ｉｎｄｅｘの関係を説明する図である。
【図３】ＦＤ Ｉｎｄｅｘとホストから見たアドレス範囲との関係の例を示す図である。
【図４】ファイル・データ・ブロックへのデータの書き込み動作の例を示す図である。
【図５】ファイル・データ・ブロックのデータを書き換える動作の例を示す図である。
【図６】ファイル・データ・ブロックに書き込まれたデータを書き換えるとき、キャッシュ・ブロックに書き換えデータを書き込むための論理ページが存在しない場合の動作を示すフローチャートである。
【図７】図６の具体的な書き込み動作の例を示す図である。
【図８】図６の他の具体的な書き込み動作の例を示す図である。
【符号の説明】
【００３８】
１    不揮発性半導体メモリ
２    プロセッサ
３    内部ＲＡＭ
４    バッファＲＡＭ
５    インターフェース部
１０    データ記憶装置
２１    物理ブロック
２２    物理ページ
３１    論理ブロック
３２    論理ページ
【図１】
2008299511.tif 000003
【図２】
2008299511.tif 000004
【図３】
2008299511.tif 000005
【図４】
2008299511.tif 000006
【図５】
2008299511.tif 000007
【図６】
2008299511.tif 000008
【図７】
2008299511.tif 000009
【図８】
2008299511.tif 000010