(57)【要約】【課題】更新ページデータの書き込みに要する時間の短縮及び不揮発性メモリの長寿命化を実現する。【解決手段】論理ページ−物理ブロックアドレス変換テーブル４０６は、論理ページアドレスを物理ブロックアドレスに変換する。論理ページ−物理ページオフセットアドレス変換テーブル４０７は、論理ページアドレスを物理ページオフセットアドレスに変換する。ホストからの論理ページアドレスが予め決められた特定の論理ページアドレスである場合、論理ページ−物理ブロックアドレス変換テーブル４０６と論理ページ−物理ページオフセットアドレス変換テーブル４０７とを用いたアドレス変換が実行される。これにより、特定の論理ページアドレスについてはそれに対応する所定の物理ブロックに対応付けされ、その物理ブロック内の複数の物理ページに対して追記処理される。【選択図】    図３
2004326165.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリを制御するメモリ制御装置において、
ホストからの論理ページアドレスが予め決められた所定の論理ページアドレスであるか否かを判別する手段と、
前記判別結果に基づいて、前記所定の論理ページアドレス以外の他の論理ページアドレスについては論理ブロックと前記不揮発性メモリの物理ブロックとの対応関係を示すアドレス変換情報に従って前記不揮発性メモリの物理ページに対応付け、前記所定の論理ページアドレスについては前記不揮発性メモリの所定の物理ブロックに対応付ける手段と、
前記ホストから前記所定の論理ページアドレスに対する書き込みが要求される度に前記論理ページアドレスに対する更新データが前記所定の論理ページアドレスに対応付けられた前記所定の物理ブロック内の複数の物理ページに追記されていくように、前記所定の論理ページアドレスに対する書き込み要求に応答して、前記所定の論理ページアドレスを対応付けるべき、前記所定の物理ブロック内の物理ページアドレスの値を更新する手段とを具備することを特徴とするメモリ制御装置。
【請求項２】
前記所定の論理ページアドレスに対する書き込み要求に応答して、前記所定の論理ページアドレスを対応付けるべき、前記所定の物理ブロック内の現在の物理ページアドレスの値が当該物理ブロックの最終物理ページアドレスであるか否かを判別する手段と、
前記最終物理ページアドレスである場合、前記所定の論理ページアドレスに対する更新データが前記不揮発性メモリの消去済みの新たな物理ブロックに書き込まれるように、前記所定の論理ページアドレスを対応付けるべき物理ブロックを前記不揮発性メモリの前記消去済みの新たな物理ブロックに変更する手段とをさらに具備することを特徴とする請求項１記載のメモリ制御装置。
【請求項３】
前記所定の論理ページアドレス以外の他の論理ページアドレスに対する前記ホストからの書き込み要求に応答して、その書き込み要求された論理ページアドレスに対応する物理ブロック内の他の全ての物理ページの内容と前記書き込み要求された論理ページアドレスに対する更新データを、前記不揮発性メモリの消去済みの新たな物理ブロックに書き込む手段と、
前記書き込み要求された論理ページアドレスを含む論理ブロック内の論理ページアドレスが前記新たな物理ブロックに対応付けられるように、前記アドレス変換情報を更新する手段とをさらに具備することを特徴とする請求項１記載のメモリ制御装置。
【請求項４】
不揮発性メモリを制御するメモリ制御装置において、
論理ブロックと前記不揮発性メモリの物理ブロックとの対応関係を示すアドレス変換情報に従って、ホストからの論理ページアドレスを前記不揮発性メモリの物理ページアドレスに変換する第１のアドレス変換手段と、
予め決められた所定の複数の論理ページアドレスを前記不揮発性メモリの所定の複数の物理ブロックアドレスにそれぞれ変換する第２のアドレス変換手段と、
前記所定の各論理ページアドレス毎にそれに対応する物理ブロック内の物理ページオフセットアドレスを示すオフセットアドレス情報に従って、前記所定の各論理ページアドレスを物理ページオフセットアドレスに変換する第３のアドレス変換手段と、
前記ホストからの論理ページアドレスが前記所定の複数の論理ページアドレスのいずれか一つに該当するかどうかを判別する手段と、
前記ホストからの論理ページアドレスが前記所定の複数の論理ページアドレス以外の他の論理ページアドレスである場合、その論理ページアドレスを前記第１のアドレス変換手段によって前記不揮発性メモリの所定の物理ページに対応付ける手段と、
前記ホストからの論理ページアドレスが前記所定の複数の論理ページアドレスのいずれか一つに該当する場合、前記所定の論理ページアドレスを前記第２および第３のアドレス変換手段によって前記不揮発性メモリの所定の物理ブロック内の所定の物理ページに対応付ける手段と、
前記ホストから前記所定の複数の論理ページアドレスのいずれか一つに対する書き込みが要求される度に当該論理ページアドレスに対する更新データがその論理ページアドレスに対応する所定の物理ブロック内の複数の物理ページに追記されていくように、前記所定の複数の論理ページアドレスのいずれか一つに対する書き込み要求に応答して、その書き込み要求された論理ページアドレスに対応する前記オフセットアドレス情報を更新する手段とを具備することを特徴とするメモリ制御装置。
【請求項５】
不揮発性メモリを制御するメモリ制御方法において、
ホストからの論理ページアドレスが予め決められた所定の論理ページアドレスであるか否かを判別するステップと、
前記判別結果に基づいて、前記所定の論理ページアドレス以外の他の論理ページアドレスについては論理ブロックと前記不揮発性メモリの物理ブロックとの対応関係を示すアドレス変換情報に従って前記不揮発性メモリの物理ページに対応付け、前記所定の論理ページアドレスについては前記不揮発性メモリの所定の物理ブロックに対応付けるステップと、
前記ホストから前記所定の論理ページアドレスに対する書き込みが要求される度に前記論理ページアドレスに対する更新データが前記所定の論理ページアドレスに対応付けられた前記所定の物理ブロック内の複数の物理ページに追記されていくように、前記所定の論理ページアドレスに対する書き込み要求に応答して、前記所定の論理ページアドレスを対応付けるべき、前記所定の物理ブロック内の物理ページアドレスの値を更新するステップとを具備することを特徴とするメモリ制御方法。
【請求項６】
前記所定の論理ページアドレスに対する書き込み要求に応答して、前記所定の論理ページアドレスを対応付けるべき、前記所定の物理ブロック内の現在の物理ページアドレスの値が当該物理ブロックの最終物理ページアドレスであるか否かを判別するステップと、
前記最終物理ページアドレスである場合、前記所定の論理ページアドレスに対する更新データが前記不揮発性メモリの消去済みの新たな物理ブロックに書き込まれるように、前記所定の論理ページアドレスを対応付けるべき物理ブロックを前記不揮発性メモリの前記消去済みの新たな物理ブロックに変更するステップとをさらに具備することを特徴とする請求項５記載のメモリ制御補方法。
【請求項７】
前記所定の論理ページアドレス以外の他の論理ページアドレスに対する前記ホストからの書き込み要求に応答して、その書き込み要求された論理ページアドレスに対応する物理ブロック内の他の全ての物理ページの内容と前記書き込み要求された論理ページアドレスに対する更新データを、前記不揮発性メモリの消去済みの新たな物理ブロックに書き込むステップと、
前記書き込み要求された論理ページアドレスを含む論理ブロック内の論理ページアドレスが前記新たな物理ブロックに対応付けられるように、前記アドレス変換情報を更新するステップとをさらに具備することを特徴とする請求項５記載のメモリ制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は不揮発性メモリを制御するメモリ制御装置およびメモリ制御方法に関する。
【０００２】
【従来の技術】
近年、ＰＤＡ、携帯電話、デジタルカメラ等の各種携帯型電子機器が開発されている。この種の携帯型電子機器においては、フラッシュＥＥＰＲＯＭから構成される不揮発性メモリが記憶装置として用いられている。不揮発性メモリにデータをファイルとして書き込むことにより、パーソナルコンピュータなどの他の機器との間の互換性を維持することが出来る。
【０００３】
不揮発性メモリの記憶領域は複数の物理ブロック（消去ブロック）から構成されており、データの消去は物理ブロック単位で行われる。各物理ブックは複数の物理ページから構成されている。データ書き込みは、ページ単位で行われる。このような不揮発性メモリを制御するための装置としては、論理ブロックと物理ブックとの対応関係を管理するためのアドレス変換テーブルを使用して論理アドレスを物理アドレスに変換する装置が知られている（例えば、特許文献１参照。）。
【０００４】
【特許文献１】
特開平１１−１１０２８３号公報
【０００５】
【発明が解決しようとする課題】
しかし、上記のようなアドレス変換では、論理ページと不揮発性メモリの物理ページとの関係が全てブロック単位で管理されることとなるため、ある特定の論理ページに対する更新が頻繁に行われるような環境においては、ページ書き込みの度に消去済みの新たな物理ブロックを用意し、その新たな物理ブロックに対して更新ページを書き込む処理と、更新前ページデータが存在していた物理ブロック内から他のページそれぞれのデータを読み出して新たな物理ブロックに書き込む処理（コピー処理）とを行うことが必要となる。
【０００６】
このため、ページ更新に伴って発生する処理量が増え、結果的に更新ページデータの書き込みに要する時間の増大を招くことになる。また物理ブロックに対する消去処理の回数も増えるため、不揮発性メモリの寿命にも影響を及ぼす。
【０００７】
本発明は上述の事情を考慮してなされたものであり、更新ページデータの書き込みに要する時間の短縮及び不揮発性メモリの長寿命化を実現することが可能なメモリ制御装置およびメモリ制御方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、不揮発性メモリを制御するメモリ制御装置において、ホストからの論理ページアドレスが予め決められた所定の論理ページアドレスであるか否かを判別する手段と、前記判別結果に基づいて、前記所定の論理ページアドレス以外の他の論理ページアドレスについては論理ブロックと前記不揮発性メモリの物理ブロックとの対応関係を示すアドレス変換情報に従って前記不揮発性メモリの物理ページに対応付け、前記所定の論理ページアドレスについては前記不揮発性メモリの所定の物理ブロックに対応付ける手段と、前記ホストから前記所定の論理ページアドレスに対する書き込みが要求される度に前記論理ページアドレスに対する更新データが前記所定の論理ページアドレスに対応付けられた前記所定の物理ブロック内の複数の物理ページに追記されていくように、前記所定の論理ページアドレスに対する書き込み要求に応答して、前記所定の論理ページアドレスを対応付けるべき、前記所定の物理ブロック内の物理ページアドレスの値を更新する手段とを具備することを特徴とする。
【０００９】
このメモリ制御装置においては、ある所定の論理ページアドレス以外の論理ページアドレスについては論理ブロックと不揮発性メモリの物理ブロックとの対応関係を示すアドレス変換情報に従って不揮発性メモリの物理ページに対応付けられるが、所定の論理ページアドレスについてはそれに対応する所定の物理ブロックに対応付けされ、その物理ブロック内の複数の物理ページに対して追記処理される。よって、更新頻度の高い論理ページアドレスを前記所定の論理ページアドレスとして定義することにより、更新頻度の高い論理ページアドレスについてはその更新ページデータの書き込みがページ書き込みだけで完了するので、ページデータの書き込みに要する時間の短縮及び不揮発性メモリの長寿命化を実現することが可能となる。
【００１０】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図１には、本発明の一実施形態に係るメモリ制御装置を備えた携帯型電子機器の構成が示されている。この携帯型電子機器は例えばＰＤＡとして機能するものであり、図示のように、ＣＰＵ１０１、ホストブリッジ１０２、主メモリ１０３、表示コントローラ１０４、表示装置を構成するＬＣＤ１０５、フラッシュコントローラ１０６、各種Ｉ／Ｏデバイス１０７、および不揮発性メモリ１０８が設けられている。
【００１１】
不揮発性メモリ１０８は各種プログラムおよびデータをファイルとして格納するための２次記憶装置として使用される。この不揮発性メモリ１０８は、ＣＰＵ１０１及びそれ以外の他のコンポーネントと同様にして、システムボード上に実装されている。不揮発性メモリ１０８としては、例えばＮＡＮＤ型のフラッシュＥＥＰＲＯＭが用いられる。
【００１２】
ＣＰＵ１０１は本ＰＤＡの動作を制御するためのプロセッサであり、不揮発性メモリ１０８から主メモリ１０３にロードされるオペレーティングシステムおよび各種アプリケーションプログラムを実行する。主メモリ１０３はＤＲＡＭから構成されている。ホストブリッジ１０２はＣＰＵ１０１のプロセッサバスとＰＣＩなどのシステムバス１との間を接続するブリッジデバイスであり、ここには主メモリ１０３を制御するためのＤＲＡＭコントローラも内蔵されている。表示コントローラ１０４は、ＬＣＤ１０５を制御し、ＣＰＵ１０１からの表示データをＬＣＤ１０５の画面上に表示する。
【００１３】
フラッシュコントローラ１０６は不揮発性メモリ１０８を制御するメモリ制御装置である。このフラッシュコントローラ１０６は、そのホストとして機能するＣＰＵ１１１からのアクセス要求に応じて、不揮発性メモリ１０８に対するアクセスを実行する。ＣＰＵ１１１はオペレーティングシステムのファイル管理システム、さらには不揮発性メモリ１０８を制御するためのドライバプログラム等を実行することにより、フラッシュコントローラ１０６に対してアクセス要求を発行する。ＣＰＵ１１１からフラッシュコントローラ１０６に発行されるアクセス要求には、論理ページアドレスが含まれる。論理ページアドレスは、ディスクアクセスのために使用されるセクタアドレスに対応する。
【００１４】
不揮発性メモリ１０８は、図示のように、ページバッファ３０１と、メモリセルアレイから構成されるデータ記憶領域３０２とを備えている。データ記憶領域３０２は複数の物理ブロック（消去ブロック）から構成されている。各物理ブロックは複数の物理ページから構成されている。一つの物理ページは、１セクタ（５１２バイト）分のデータ領域と数バイト分の冗長領域とを有している。データ記憶領域３０２に対するデータ書き込み／読み出しは、ページバッファ３０１を介してページ単位で実行される。またデータ記憶領域３０２のデータ消去は、物理ブロック単位で実行される。
【００１５】
フラッシュコントローラ１０６は、図示のように、ホストインタフェース２０１、ＭＰＵ２０２、ＲＯＭ２０３、ＲＡＭ２０４、およびメモリインタフェース２０５を備えている。ＭＰＵ２０２はフラッシュコントローラ１０６の動作を制御するための制御プロセッサであり、ＲＯＭ２０３に格納された制御プログラムを実行することによって論理ページアドレスを物理ページアドレスに変換するアドレス変換処理、リード／ライトアクセス処理、およびブロック消去処理等を実行する。アドレス変換は、不揮発性メモリ１０８の所定の物理ブックからＲＡＭ２０４に読み出されるアドレス変換情報に基づいて実行される。
【００１６】
本実施形態においては、大別して第１および第２の２種類のアドレス変換テーブルを使用する。第１のアドレス変換テーブルは、論理ブロックと不揮発性メモリ１０８の物理ブロックとの対応関係を示すアドレス変換情報であり、論理アドレス空間内の論理ページと不揮発性メモリ１０８内の物理ページとを一対一に対応付けるために用いられる。連続する複数の論理ページアドレスを含む論理ブロック毎に一つの物理ブロックが対応付けられ、物理ブロックへのアドレス割り当ての変更は、論理ブロック単位、つまり同一の論理ブロック内に属する連続する複数の論理ページアドレス単位で行われる。
【００１７】
第２のアドレス変換テーブルは、論理ページと物理ブロックとの対応関係を示すアドレス変換情報であり、特定の論理ページを不揮発性メモリ１０８内のある任意の物理ブロックに対応付けるために用いられる。
【００１８】
この第２のアドレス変換テーブルは、更新頻度が高いことが予め予測されている特定の幾つかの論理ページアドレスに対するアドレス変換のために用いられる。これにより、更新頻度が高い特定の論理ページアドレスについては、特定の物理ページではなく、その論理ページアドレス用の物理ブロックに対応付けされる。一方、特定の幾つかの論理ページアドレス以外の他の全ての論理ページアドレスのアドレス変換は第１のアドレス変換テーブルを用いて行われ、連続する複数の論理ページアドレスを含む論理ブロック単位で論理ページと物理ページとが一対一で対応付けられる。
【００１９】
第２のアドレス変換テーブルによって特定の論理ページアドレスを物理ブロックに対応付けることにより、その物理ブロック内の全ての物理ページを、当該特定の論理ページアドレスに対する更新データの書き込みに使用することが可能となる。よって、特定の論理ページアドレスに対する更新データを同一物理ブロック内の複数の物理ページに追記していくことで、更新ページデータの書き込みがページ書き込みだけで完了する。
【００２０】
本実施形態における論理ページアドレスと物理ページアドレスとの対応関係の一例を図２に示す。
【００２１】
いま、ある論理ブロックＬＢ１内の論理ページアドレスＰ１０，Ｐ１１それぞれが更新頻度の高い特定論理ページアドレスであるとする。論理ブロックＬＢ１内の他の論理ページアドレスは、論理ブロックＬＢ１に対応する物理ブロックＰＢ１内の物理ページアドレスにそれぞれ対応付けされるが、論理ページアドレスＰ１０について物理ブロックＰＢ２に、論理ページアドレスＰ１０について物理ブロックＰＢ３に対応付けされる。論理ページアドレスＰ１０に対する更新ページデータＡ１，Ａ２，…は、その更新の度に、物理ブロックＰＢ２内の先頭の物理ページから順に追記されていく。同様に、論理ページアドレスＰ１１に対する更新ページデータＢ１，Ｂ２，…は、その更新の度に、物理ブロックＰＢ３内の先頭の物理ページから順に追記されていく。
【００２２】
次に、図３を参照して、フラッシュコントローラ１０６によって実行されるアドレス変換動作を説明する。
【００２３】
フラッシュコントローラ１０６には、アドレス変換処理を実行するための機能部として、図３に示すように、論理ページアドレス変換制御部４０１、論理ページアドレス指定テーブル４０２、論理ページアドレス分解処理部４０３、論理ブロック−物理ブロックアドレス変換テーブル４０４、論理ページ−物理ブロックアドレス変換テーブル４０６、論理ページ−物理ページオフセットアドレス変換テーブル４０７、物理ページアドレス合成部４０８、およびメモリアクセス制御部４０９が設けられている。
【００２４】
論理ページアドレス変換制御部４０１、論理ページアドレス分解処理部４０３、物理ページアドレス合成部４０８、およびメモリアクセス制御部４０９はそれぞれＭＰＵ２０２によって実行される制御プログラム、または専用のハードウェアによって実現されている。
【００２５】
フラッシュコントローラ１０６においては、ホストからの論理ページアドレス信号１−１は論理ページアドレス変換制御部４０１に送られる。論理ページアドレス変換制御部４０１は、ホストからの論理ページアドレスが論理ページアドレス指定テーブル４０２に登録されているかどうかを調べることにより、ホストからの論理ページアドレスが予め決められた特定の論理ページアドレスであるかどうかを判別する。論理ページアドレス指定テーブル４０２には、更新頻度数高いことが判っている特定の論理ページアドレスが予め複数登録されている。例えば、ファイル管理情報を記憶するための論理ページアドレスや、アクセス中のページやブロックに関する現在のステータス情報を管理するために使用される論理ページアドレスなどが、論理ページアドレス指定テーブル４０２に登録される。もちろん、通常のデータ記憶領域として使用される特定の論理ページアドレスを登録しても良い。
【００２６】
ホストからの論理ページアドレスが論理ページアドレス指定テーブル４０２に登録されていない場合には、論理ページアドレス分解処理部４０３、および論理ブロック−物理ブロックアドレス変換テーブル４０４を用いてアドレス変換処理が実行され、登録されている場合には、論理ページ−物理ブロックアドレス変換テーブル４０６、および論理ページ−物理ページオフセットアドレス変換テーブル４０７を用いてアドレス変換処理が実行される。
【００２７】
論理ページアドレス分解処理部４０３は、論理ページアドレスを論理ブロックアドレスと物理ページオフセットアドレスに分解する。論理ブロックアドレスは論理ブロック−物理ブロックアドレス変換テーブル４０４に送られ、物理ページオフセットアドレスは物理ページアドレス合成部４０８に送られる。
【００２８】
論理ブロック−物理ブロックアドレス変換テーブル４０４は、論理ブロックアドレスと物理ブロックアドレスとの対応関係を示すアドレス変換情報を保持するテーブルであり、そのアドレス変換情報に従って論理ブロックアドレスを物理ブロックアドレスに変換する。この論理ブロック−物理ブロックアドレス変換テーブル４０４は上述の第１のアドレス変換テーブルに対応するものである。
【００２９】
論理ページ−物理ブロックアドレス変換テーブル４０６は、論理ページアドレス指定テーブル４０２に登録された特定の幾つかの論理ページアドレスについてその論理ページアドレスと物理ブロックアドレスとの対応関係を示すアドレス変換情報を保持するテーブルであり、そのアドレス変換情報に従って特定の論理ページアドレスを物理ブロックアドレスに変換する。この論理ページ−物理ブロックアドレス変換テーブル４０６は、上述の第２のアドレス変換テーブルに対応するものである。
【００３０】
論理ページ−物理ページオフセットアドレス変換テーブル４０７は、論理ページアドレス指定テーブル４０２に登録された特定の幾つかの論理ページアドレスについてその論理ページアドレスと物理ページオフセットアドレスとの対応関係を示すオフセットアドレス情報を保持するテーブルであり、そのオフセットアドレス情報に従って論理ページアドレスを物理ページオフセットアドレスに変換する。物理ページオフセットアドレスは、物理ブロック内における先頭物理ページからのオフセットアドレスである。このオフセットアドレスの値は、該当する論理ページアドレスに対する更新ページデータの書き込みの度に自動的に更新される。
【００３１】
物理ページアドレス合成部４０８は、論理ブロック−物理ブロックアドレス変換テーブル４０４からの出力と論理ページアドレス分解処理部４０３からの物理ページオフセットアドレスとの組み合わせを合成することにより、あるいは論理ページ−物理ブロックアドレス変換テーブル４０６の出力と論理ページ−物理ページオフセットアドレス変換テーブル４０７との組み合わせを合成することによって、不揮発性メモリ１０８をアクセスするための物理ページアドレスを生成する生成する。
【００３２】
メモリアクセス制御部４０９は、物理ページアドレス合成部４０８によって得られた物理ページアドレス、データ信号１−２、およびアクセス制御信号１−３に応じて、不揮発性メモリ１０８に対するメモリアクセス制御を実行する。
【００３３】
次に、図４乃至図６のフローチャートを参照して、不揮発性メモリ１０８を制御するために実行される一連の処理手順について説明する。
【００３４】
不揮発性メモリ１０８に対するホストからのアクセス要求を受けると、ＭＰＵ２０２は、まず、論理ページアドレス指定テーブル４０２を参照して、ホストからの論理ページアドレスが予め決められた特定の幾つかの論理ページアドレスのいずれか一つに該当するか否かを判別する（ステップＳ１０１）。予め決められた特定の幾つかの論理ページアドレスのいずれにも該当しない場合、つまり更新頻度の高い論理ページアドレス以外の論理ページアドレスに対するアクセス要求であれば（ステップＳ１０１のＮＯ）、論理ブロック−物理ブロックアドレス変換テーブル４０４からの出力と論理ページアドレス分解処理部４０３からの物理ページオフセットアドレスとの組み合わせを用いたアドレス変換処理を含む通常処理が実行される（ステップＳ１０２）。この通常処理における処理手順については図６で後述する。
【００３５】
予め決められた特定の幾つかの論理ページアドレスのいずれかに該当した場合、つまり更新頻度の高い論理ページアドレスに対するアクセス要求であれば（ステップＳ１０１のＹＥＳ）、ＭＰＵ２０２は、論理ページ−物理ブロックアドレス変換テーブル４０６と論理ページ−物理ページオフセットアドレス変換テーブル４０７とを用いたアドレス変換処理によって、ホストからの論理ページアドレスに対応する物理ページアドレスを生成する（ステップＳ１０３）。
【００３６】
いま、ホストからの論理ページアドレスがＡで、論理ページ−物理ブロックアドレス変換テーブル４０６には論理ページアドレスＡに対応する物理ブロックアドレスとしてｘが、また論理ページ−物理ページオフセットアドレス変換テーブル４０７には論理ページアドレスＡに対応する物理ページオフセットアドレスとしてｙが登録されているとする。この場合、論理ページアドレスＡに対応する物理ページアドレスは、物理ブロックアドレスｘの下位ビット側に物理ページオフセットアドレスｙを付加する合成処理によって生成される。この合成処理を（ｘ，ｙ）と表記することとする。
【００３７】
次に、ＭＰＵ２０２は、ホストからのアクセス要求がライトアクセス／リードアクセスのいずれであるかを判別する（ステップＳ１０４）。リードアクセスであれば、ＭＰＵ２０２は、ステップＳ１０３で生成した物理ページアドレスを用いて不揮発性メモリ１０８をリードアクセスする（ステップＳ１０５）。
【００３８】
ライトアクセスであれば、ＭＰＵ２０２は、論理ページアドレスＡを対応付けるべき、物理ブロックｘ内の現在の物理ページアドレスの値ｙが、物理ブロックｘ内の最終物理ページアドレスであるかどうかを判別する（ステップＳ１０６）。一つの物理ブロック内に含まれている総物理ページ数は予め判っているので、ステップＳ１０６の判定は、物理ページオフセットアドレスの値ｙが最大ページオフセットアドレスであるかどうかを調べることによって行われる。
【００３９】
物理ページオフセットアドレスの値ｙが最大ページオフセットアドレスではない場合には（ステップＳ１０６のＮＯ）、ＭＰＵ２０２は、論理ページ−物理ページオフセットアドレス変換テーブル４０７に登録されている論理ページアドレスＡに対応する物理ページオフセットアドレスｙの値をｙ＋１に更新した後（ステップＳ１０７）、（ｘ，ｙ＋１）の合成処理によって書き込み先の物理ページアドレスを生成する（ステップＳ１０８）。そして、ＭＰＵ２０２は、書き込み先の物理ページアドレスをライトアクセスして、ホストからの論理ページアドレスＡに対する更新ページデータを不揮発性メモリ１０８の書き込み先物理ページに書き込むページライト処理を実行する（ステップＳ１０９）。
【００４０】
一方、物理ページオフセットアドレスの値ｙが最大ページオフセットアドレスである場合には（ステップＳ１０６のＹＥＳ）、ＭＰＵ２０２は、不揮発性メモリ１０８内の空き物理ブロック（消去済みで未書き込みの新たなブロック）を検出する（図５のステップＳ２０１）。空き物理ブロックの管理は、不揮発性メモリ１０８内の各物理ブロック毎にそれが消去済みで未書き込みのブロックであるか否かを示す情報を、例えば、不揮発性メモリ１０８内のある特定の物理ブロック内に保持しておくことによって実現される。
【００４１】
空き物理ブロックβが検出されると、ＭＰＵ２０２は、論理ページ−物理ブロックアドレス変換テーブル４０６を更新して論理ページアドレスＡに対応付けるべき物理ブロックをｘからβに変更すると共に、論理ページ−物理ページオフセットアドレス変換テーブル４０７を更新して論理ページアドレスＡに対応する物理ページオフセットアドレスを先頭ページを示す値０に変更する（ステップＳ２０２）。
【００４２】
次いで、ＭＰＵ２０２は、（β，０）の合成処理によって書き込み先の物理ページアドレスを生成する（ステップＳ２０３）。そして、ＭＰＵ２０２は、書き込み先の物理ページアドレスをライトアクセスして、ホストからの論理ページアドレスＡに対する更新ページデータを不揮発性メモリ１０８の書き込み先物理ページに書き込むページライト処理を実行する（ステップＳ２０４）。
【００４３】
次に、図６のフローチャートを参照して、図５のステップＳ１０２で実行される通常処理の処理手順を説明する。
【００４４】
ＭＰＵ２０２は、ホストからのアクセス要求がライトアクセス／リードアクセスのいずれであるかを判別する（ステップＳ３０１）。リードアクセスであれば、ＭＰＵ２０２は、論理ブロック−物理ブロックアドレス変換テーブル４０４と論理ページアドレス分解処理部４０３からの物理ページオフセットアドレスとを用いたアドレス変換処理によって、物理ページアドレスを生成する（ステップＳ３０２）。
【００４５】
いま、ホストからの論理ブロックアドレスがａで、論理ブロック−物理ブロックアドレス変換テーブル４０４には論理ブロックアドレスａに対応する物理ブロックアドレスとしてｘが登録されているとする。論理ブロックアドレスａは、ホストからの論理ブロックアドレスの上位ビット部である。この場合、ホストからの論理ページアドレスに対応する物理ページアドレスは、物理ブロックアドレスｘの下位ビット側に論理ページアドレス分解処理部４０３によって得られた物理ページオフセットアドレスを付加する合成処理によって生成される。論理ページアドレス分解処理部４０３からの物理ページオフセットアドレスは、ホストからの論理ページアドレスの下位ビット部である。そして、ＭＰＵ２０２は、ステップＳ３０２で生成した物理ページアドレスを用いて不揮発性メモリ１０８をリードアクセスする（ステップＳ３０３）。
【００４６】
一方、ライトアクセスであれば、ＭＰＵ２０２は、ステップＳ３０２と同じ手順で、論理ブロック−物理ブロックアドレス変換テーブル４０４と論理ページアドレス分解処理部４０３からの物理ページオフセットアドレスとから物理ページアドレスを生成する（ステップＳ３０４）。次いで、ＭＰＵ２０２は、空き物理ブロックを検出する（ステップＳ３０５）。空き物理ブロックβが検出されると、ＭＰＵ２０２は、論理ブロックアドレスａに対応する物理ブロックｘ内の他の全てのページの内容と論理ページアドレスに対するホストからの更新ページデータを空き物理ブロックβに書き込む（ステップＳ３０６〜Ｓ３０８）。
【００４７】
いま、図７に示されているように、ステップＳ３０４で生成された物理ページアドレスがＰｘで、その物理ページＰｘの上位側のページ群をＳ、下位側のページ群をＴとする。この場合、ＭＰＵ２０２は、最初にページ群Ｓの内容を物理ブロックｘから読み出して物理ブロックβにコピーし、次いで物理ページＰｘに対する更新ページデータを物理ブロックβ内の対応するページに書き込んだ後、ページ群Ｔの内容を物理ブロックｘから読み出して物理ブロックβにコピーする。
【００４８】
この後、ＭＰＵ２０２は、論理ブロック−物理ブロックアドレス変換テーブル４０４を更新して、論理ブロックアドレスａに対応する物理ブロックアドレスをβに変更する（ステップＳ３０９）。物理ブロックｘについては消去処理されることにより、空きブロックとなる。
【００４９】
以上のように、本実施形態によれば、更新頻度の高い論理ページアドレスに対してはそれを物理ブロックに対応付けて更新ページデータの追記処理が行われるので、ページ更新処理の高速化および消去処理回数の低減を図ることが出来、またそれ以外の論理ページアドレスに対しては論理ブロックと物理ブロックとの対応付けに従って論理ページと物理ページとを一対一で対応付けているので不揮発性メモリ１０８の記憶領域を有効利用することが出来る。
【００５０】
なお、本実施形態ではオンボード上の不揮発性メモリを制御する場合を例示して説明したが、不揮発性メモリを内蔵したメモリカードが取り外し自在に装着可能な電子機器においては、そのメモリカードの制御に本実施形態のメモリ制御装置を使用することも出来る。また、メモリカード内のコントローラに本実施形態のメモリ制御装置の機能を搭載することも出来る。
【００５１】
また、本実施形態では、特定の複数の論理ページを互いに異なる物理ブロックに対応付けたが、不揮発性メモリの大容量化に伴い１物理ブロック内に含まれる物理ページ数は増大する傾向にあるので、このような場合には、特定の複数の論理ページアドレスを同一の物理ブロックに対応付けてもよい。例えば、２つの論理ページアドレスをある一つの物理ブロックに対応付ける場合には、一方の論理ページアドレスについてはその物理ブロック内の前半の物理ページ群を使用し、他方の論理ページアドレスについてはその物理ブロック内の後半の物理ページ群を使用するように、物理オフセットアドレスの値を管理すればよい。
【００５２】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００５３】
【発明の効果】
以上説明したように、本発明によれば、更新ページデータの書き込みに要する時間の短縮及び不揮発性メモリの長寿命化を実現することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るメモリ制御装置を備えた電子機器の構成を示すブロック図。
【図２】同実施形態における論理アドレスと物理アドレスとの対応関係の例を示す図。
【図３】同実施形態におけるアドレス変換の動作とそのアドレス変換のための構成を示すブロック図。
【図４】同実施形態における不揮発性メモリ制御処理の手順の一部を示すフローチャート。
【図５】同実施形態における不揮発性メモリ制御処理の手順の残りの一部を示すフローチャート。
【図６】同実施形態における不揮発性メモリ制御処理の手順のさらに残りの一部を示すフローチャート。
【図７】同実施形態において更新対象ページを含む物理ブロックの内容を他の物理ブロックに書き込む様子を示す図。
【符号の説明】
１０１…ＣＰＵ、１０６…フラッシュコントローラ、２０２…ＭＰＵ、１０８…不揮発性メモリ、４０１…論理ページアドレス変換制御部、４０２…論理ページアドレス指定テーブル、４０３…論理ページアドレス分解処理部、４０４…論理ブロック−物理ブロックアドレス変換テーブル、４０６…論理ページ−物理ブロックアドレス変換テーブル、４０７…論理ページ−物理ページオフセットアドレス変換テーブル、４０８…物理ページアドレス合成部、４０９…メモリアクセス制御部。
【図１】
2004326165.tif 000003
【図２】
2004326165.tif 000004
【図３】
2004326165.tif 000005
【図４】
2004326165.tif 000006
【図５】
2004326165.tif 000007
【図６】
2004326165.tif 000008
【図７】
2004326165.tif 000009