(57)【特許請求の範囲】
【請求項１】
外部のアクセス装置から与えられるコマンドと論理アドレスにしたがい不揮発性メモリに対してデータの書き込み、読み出しを行うメモリコントローラであって、
前記不揮発性メモリに対してデータの読み出し、書き込みの制御を行う、読み書き制御手段と、
前記論理アドレス空間全体を複数の論理アドレス範囲に分割し、各論理アドレス範囲毎に個別のアドレス管理を行うとともに、前記不揮発性メモリの記憶領域を物理的に複数の物理領域に分割し、論理アドレス範囲と物理領域とを対応づけて管理するアドレス管理手段とを備え、
前記アドレス管理手段は、少なくとも１つの論理アドレス範囲について物理領域のサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように前記各論理アドレス範囲及び前記各物理領域を割り当てる領域割当て手段を含み、
前記領域割当て手段は、各論理アドレス範囲のサイズが各々均等となるように前記論理アドレス範囲を割り当て、かつ、少なくとも１つの物理領域のサイズが他の物理領域のサイズと異なるように前記物理領域を割り当て、さらに書き換え頻度の高いデータを格納する論理アドレス範囲に対応した物理領域のサイズを、他の物理領域のサイズよりも大きなサイズに設定する、ことを特徴とするメモリコントローラ。
【請求項２】
前記書き換え頻度の高いデータは、ファイル管理に使用される管理情報である、ことを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
前記管理情報はファイルアロケーションテーブル（ＦＡＴ）である、ことを特徴とする請求項２に記載のメモリコントローラ。
【請求項４】
不揮発性メモリと、
前記不揮発性メモリに対してデータの書き込み、読み出しを行う、請求項１、２または３に記載のメモリコントローラと
を含む、ことを特徴とする不揮発性記憶装置。
【請求項５】
請求項４記載の不揮発性装置と、
前記不揮発性装置に対して論理アドレスを指定してアクセスするアクセス装置とを含む、ことを特徴とする不揮発性記憶システム。
【請求項６】
アクセス装置から与えられるコマンドと論理アドレスにしたがいデータの書き込み、読み出しを行い、複数の物理ブロックを含む不揮発性メモリのアドレス管理用法であって、
論理アドレス空間全体を複数の論理アドレス範囲に分割し、各論理アドレス範囲毎に個別のアドレス管理を行い、
前記不揮発性メモリの記憶領域を物理的に複数の物理領域に分割し、論理アドレス範囲と物理領域とを対応づけて管理し、
少なくとも１つの論理アドレス範囲について物理領域のサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように前記論理アドレス範囲及び前記物理領域を割り当て、
前記論理アドレス範囲は、各論理アドレス範囲のサイズが各々均等となるように割り当てられ、前記物理領域は、少なくとも１つの物理領域のサイズが他の物理領域のサイズと異なるように割り当てられ、
書き換え頻度の高いデータを格納する論理アドレス範囲に対応した物理領域のサイズを、他の物理領域のサイズよりも大きなサイズに設定する、ことを特徴とするアドレス管理方法。
【請求項７】
前記書き換え頻度の高いデータは、ファイル管理に使用される管理情報である、ことを特徴とする請求項６に記載のアドレス管理方法。
【請求項８】
前記管理情報はファイルアロケーションテーブル（ＦＡＴ）である、ことを特徴とする請求項７に記載のアドレス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ等の不揮発性メモリを制御するメモリコントローラおよび不揮発性メモリのアドレス管理方法に関する、本発明はまた、不揮発性メモリに対するデータの書き込み、読み出しを行う不揮発性記憶装置及び不揮発性記憶システムに関する。
【背景技術】
【０００２】
書き換え可能な不揮発性メモリを備えた不揮発性記憶装置は、半導体メモリカードを中心に、パーソナルコンピュータ（ＰＣ）に代表されるノンリアルタイム記録用の機器や、デジタルビデオカメラに代表されるリアルタイム記録用の機器に対する外部記録装置として、その需要が広まっている。かかる半導体メモリカードには様々な種類があり、その一つとしてＳＤ（セキュアデジタル（登録商標））メモリカードがある。
【０００３】
このＳＤメモリカードは、不揮発性メモリであるフラッシュメモリと、それを制御するメモリコントローラとを備えている。メモリコントローラは、ＰＣ等のアクセス装置からの読み書き指示に応じてフラッシュメモリに対する読み書き制御を行う。
【０００４】
このようなＳＤメモリカードをＰＣ等のアクセス装置に取り付け、アクセス装置側からリムーバブルディスクと見なして、ＦＡＴファイルシステムで管理し、データのアクセスを行う場合を考える。ＦＡＴファイルシステムでは、記録デバイスへファイルやデータを記録する際にファイル・アローケション・テーブル（ＦＡＴ）を用いて、通常、クラスタ単位ごとにデータの読み書きが指示される。
【０００５】
半導体メモリカードの主記憶メモリとして使用されるフラッシュメモリは、消去単位である複数の物理ブロックから構成され、各物理ブロックは書き込み単位であるページから構成される。このようなフラッシュメモリを使用した半導体メモリカードは、書き換え回数の制限という固有の問題を有しており、新たなメモリ技術の採用によって改良が続けられてはいるものの、外部記憶装置として使用する上では、データ記憶の信頼性の面で完全ではない。このため、半導体メモリカードにおいては、データのリード／ライトだけでなく、データの信頼性についても管理することが必要である。
【０００６】
通常、半導体メモリカードにおいては、代替ブロックが用意されており、リード／ライトエラーなどが発生した不良ブロックを代替ブロックに置換することによって信頼性の向上が図られている。また特定の物理ブロックに書き換えが集中しないようにするために、ウェアレベリングといったアドレス管理方法が導入されている。ウェアレベリングは、アクセス装置が指定した論理アドレスをフラッシュメモリの物理アドレスに変換する、いわゆる論理−物理変換の技術であり、通常、アドレス管理テーブルを用いて実現する。
【０００７】
ウェアレベリングの一つの方法として、従来から分散型アドレス管理方法が使用されている。分散型アドレス管理方法とは、書き込み単位であるページの管理領域にそのブロックの論理アドレスや状態フラグを記憶しておき、初期化時に、それらの情報を読み出し、読み出した情報に基づいてメモリコントローラ内のＲＡＭにアドレス管理テーブルを構成する方法である。
【０００８】
しかし、大容量メモリ空間を有する不揮発性記憶装置においては、初期化時に全メモリ空間の管理領域を読み出すには多大な時間を要してしまう。これでは不揮発性記憶装置の規格上の初期化時間上限値を超えてしまう等の規格違反が生じる。また特に規格が無い不揮発性記憶装置においては、規格違反ではないものの、アクセス可能になるまでの待ち時間が長いというデメリットがあった。更にはアドレス管理テーブルを一時記憶するＲＡＭの容量が膨大となり、コスト面でも問題がある。
【０００９】
この問題を解決するために、例えば特許文献１に示すような記憶装置においては（１）セグメント管理方法と（２）集中型アドレス管理方法の２つの技術を組み合わせて使用している。
【００１０】
セグメント管理方法とは、アクセス装置が管理している論理アドレスの空間全体を複数の論理アドレス範囲に分割し、この複数の論理アドレス範囲を、フラッシュメモリを物理的に区分した複数の物理領域（セグメント）に対応づけて管理する方法である。
【００１１】
一方、集中型アドレス管理方法とは、アドレス管理テーブルそのものをフラッシュメモリに記憶し、アクセス装置からのデータの書き込み命令毎にアドレス管理テーブルをＲＡＭに読み出し、データの書き込み終了後にアドレス管理テーブルをＲＡＭ上で更新してフラッシュメモリに書き戻す方法である。
【特許文献１】特開２００３―３２３３５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来の不揮発性記憶装置においては、図１７に示すように物理空間が各々均等なサイズのセグメント（物理領域）に分割されている。物理空間の各セグメントのサイズは同じであるため、書き換え可能な回数は各セグメントで等しくなる。一方、論理空間も各々均等なサイズに分割されている。
【００１３】
ファイルアロケーションテーブル（ＦＡＴ）は他のデータと比べて書き換え頻度が高く、また、通常アドレス範囲の先頭領域に書き込まれる（例えば、図１７における論理アドレス範囲０）。
【００１４】
ＦＡＴのような書き替え頻度が高いデータが存在する場合、そのようなデータを含む論理アドレス範囲（論理アドレス範囲０）へのアクセス頻度が他の論理アドレス範囲（論理アドレス範囲１〜１５）へのアクセス頻度よりも高くなる。そのため、アドレス範囲０に対応するセグメント（セグメント０）が、他のセグメント（セグメント１〜１５）よりも早く書き換え寿命がきてしまい、有効な記憶領域が存在するにも関わらず、結果的に不揮発性記憶装置はセグメント０の寿命と同時に使用不可能になってしまうといった問題がある。
【００１５】
本発明は、このような従来の問題点に鑑みてなされたものであって、長寿命を実現する不揮発性記憶装置を実現する技術を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明に係るメモリコントローラは、外部のアクセス装置から与えられるコマンドと論理アドレスにしたがい不揮発性メモリに対してデータの書き込み、読み出しを行うメモリコントローラである。メモリコントローラは、不揮発性メモリに対してデータの読み出し、書き込みの制御を行う、読み書き制御手段と、論理アドレス空間全体を複数の論理アドレス範囲に分割し、各論理アドレス範囲毎に個別のアドレス管理を行うとともに、不揮発性メモリの記憶領域を物理的に複数の物理領域に分割し、論理アドレス範囲と物理領域とを対応づけて管理するアドレス管理手段とを備える。アドレス管理手段は、少なくとも１つの論理アドレス範囲について物理領域のサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように、各論理アドレス範囲及び前記各物理領域を割り当てる領域割当て手段を含む。
【００１７】
領域割当て手段は、各論理アドレス範囲のサイズが各々均等となるように論理アドレス範囲を割り当て、かつ、少なくとも１つの物理領域のサイズが他の物理領域のサイズと異なるように物理領域を割り当ててもよい。この場合、書き換え頻度の高いデータを格納する論理アドレス範囲に対応した物理領域のサイズを、他の物理領域のサイズよりも大きなサイズに設定してもよい。
【００１８】
または、領域割当て手段は、各物理領域のサイズが各々均等となるように物理領域を割り当て、かつ、少なくとも１つの論理アドレス範囲のサイズが他の論理アドレス範囲のサイズと異なるように前記論理アドレス範囲を割り当ててもよい。この場合、書き換え頻度の高いデータを格納する論理アドレス範囲のサイズを、他の論理アドレス範囲のサイズよりも小さなサイズに設定してもよい。
【００１９】
書き換え頻度の高いデータは、例えば、ファイルアロケーションテーブル（ＦＡＴ）のようなファイル管理に使用される管理情報である。
【００２０】
本発明に係る不揮発性記憶装置は、不揮発性メモリと、不揮発性メモリに対してデータの書き込み、読み出しを行う上記のメモリコントローラとを含む。
【００２１】
本発明に係る不揮発性記憶システムは、上記の不揮発性装置と、不揮発性装置に対して論理アドレスを指定してアクセスするアクセス装置とを含む。
【００２２】
本発明に係るアドレス管理方法は、アクセス装置から与えられるコマンドと論理アドレスにしたがいデータの書き込み、読み出しを行い、複数の物理ブロックを含む不揮発性メモリのアドレス管理方法である。そのアドレス管理方法は、論理アドレス空間全体を複数の論理アドレス範囲に分割し、各論理アドレス範囲毎に個別のアドレス管理を行い、不揮発性メモリの記憶領域を物理的に複数の物理領域に分割し、論理アドレス範囲と物理領域とを対応づけて管理し、少なくとも１つの論理アドレス範囲について物理領域のサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように論理アドレス範囲及び物理領域を割り当てる。
【発明の効果】
【００２３】
本発明によれば、データの書き換え頻度が高い論理アドレス範囲について、セグメントのサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように論理アドレス範囲及びセグメントの割り当てを行う。これにより、各セグメントにおいてデータ書き換え頻度が均一化され、不揮発性記憶装置の長寿命化が図れる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態による不揮発性記憶システムについて、添付の図面を用いて説明する。
【００２５】
（実施の形態１）
１．１  システム構成
図１は本発明の実施の形態１における不揮発性記憶システムの構成を示した図である。不揮発性記憶システムは、アクセス装置２００と、アクセス装置２００によりデータの書き込み、読み出しが行われる不揮発性記憶装置２４０とを含む。
【００２６】
不揮発性記憶装置２４０は、アクセス装置２００からのデータ書き込み命令にしたがい、データを記憶し、データ読み出し命令にしたがい、記憶されたデータが読み出される。不揮発性記憶装置２４０はメモリコントローラ２２０及び不揮発性メモリ２３０を含む。メモリコントローラ２２０は、ホストインタフェース２０１、バッファメモリ２０２、ＣＰＵ２０３、ＲＡＭ２０４、ＲＯＭ２０５、領域割当て部２０６、アドレス変換部２０８、読み書き制御部２１１を有する。領域割当て部２０６とアドレス変換部２０８はアドレス管理部２１５を構成する。
【００２７】
領域割当て部２０６は領域割当てテーブル２０７を含み、アドレス変換部２０８は物理領域管理テーブル２０９と論理物理変換テーブル２１０を含む。
【００２８】
領域割当て部２０６は、論理アドレス空間の論理アドレス範囲と物理アドレス空間のセグメントとの対応づけを行う。以下、論理アドレス範囲とセグメントについて説明する。
【００２９】
図２は、本実施の形態における論理アドレス空間と物理アドレス空間の対応を表すメモリマップである。論理アドレス空間は、アクセス装置２００が書き込み、読み出し時に指定するアドレスの空間であり、物理アドレス空間はフラッシュメモリなどの不揮発性メモリ２３０内の物理的なアドレス空間である。本実施形態では、論理アドレス空間は論理アドレス範囲０〜１５の１６の範囲に分割され、物理アドレス空間はセグメント０〜１５までの１６セグメントに分割される。各セグメントは複数の物理ブロックから構成され、１物理ブロックのサイズは１６ｋＢｙｔｅとする。同図において、ＰＢｔｎ（Ｓ）は、セグメントＳに含まれる物理ブロックの総数を表す。ＰＢｓｎ（Ｓ）は、セグメントＳにおける物理ブロックの開始番号を表す。Ｓは０〜１５までの整数である。領域割当て部２０６は図２に示す論理アドレス範囲とセグメントとの対応づけを行う。
【００３０】
図１に戻り、アドレス変換部２０８は、領域割当て部２０６の領域割当て処理に基づいてデータの書き込み先などのアドレスを決定する。読み書き制御部２１１はアドレス変換部２０８が指定した物理アドレスに対してデータの書き込みや読み出しを行う。
【００３１】
領域割当てテーブル２０７は、領域割当て部２０６に内蔵の不揮発性ＲＡＭ（図示せず）に記憶させてもよいし、または、不揮発性メモリ２３０に記憶しておき、不揮発性記憶装置２４０の初期化時に揮発性ＲＡＭに読み出すようにしてもよい。本実施の形態においては、説明の簡単化の為に領域割当てテーブル２０７は不揮発性ＲＡＭに記憶するものとする。
【００３２】
物理領域管理テーブル２０９と論理物理変換テーブル２１０は、不揮発性メモリ２３０のセグメント毎に一組ずつ記憶されており、一組の物理領域管理テーブル２０９と論理物理変換テーブル２１０は、一つのセグメント範囲内のアドレスを管理する。なお、物理領域管理テーブル２０９と論理物理変換テーブル２１０の全ての組をまとめて、以降「アドレス管理テーブル」と称する。
【００３３】
不揮発性メモリ２３０は１ＧＢｙｔｅ（１，０７３，７４１，８２４Ｂｙｔｅ）の記憶容量を有する。アクセス装置２００からみたアドレス空間すなわち論理アドレス空間は図２に示すとおり１，０４０，１８７，３９２Ｂｙｔｅである。
【００３４】
図３は不揮発性メモリ２３０の物理ブロックの構成を示した図である。１つの物理ブロックは３２ページで構成され、各ページは５１２Ｂｙｔｅのデータ領域と１６Ｂｙｔｅの管理領域とから構成される。１物理ブロックにおいて１６ｋＢｙｔｅ（５１２Ｂｙｔｅ×３２ページ）のデータを記憶することができる。１クラスタ（１論理ブロックに相当）の書き込みに対して、１物理ブロックのページ０〜ページ３１の領域に順番に書き込まれる。ページ０の管理領域には、その物理ブロックに関する分散管理情報が格納される。分散管理情報は、アクセス装置２００が指定する論理ブロック番号と物理ブロックのステータスを示すブロックステータスとを含む。不揮発性メモリ２４０の初期化時に、セグメント番号Ｓに対応する不揮発性メモリ２３０の領域に含まれる物理ブロックのそれぞれから分散管理情報が読み出されて、セグメントＳに関するアドレス管理テーブルが作成され、セグメントＳの領域に格納される。
【００３５】
図４は物理領域管理テーブル２０９を説明した図である。図４において、物理領域管理テーブル２０９の各エントリのアドレスは、不揮発性メモリ２３０のセグメントＳ内の物理ブロック番号ＰＢＮ（Ｓ）に対応する。物理領域管理テーブル２０９は、物理ブロック毎に、その状態（ブロックステータス）に関する情報として「有効」、「無効」、「不良」等を格納する。具体的には、２進数で「００」が有効ブロックを示し、既に有効なデータが書き込まれているブロックを表す。２進数で「１１」が無効ブロックを示し、消去済みブロック、又は既にデータは書き込まれているが不要なブロックを示す。２進数で「１０」が不良ブロックを示し、メモリセル上のソリッドエラー等により使用できなくなったブロックである。２進数で「０１」は、その物理ブロックが、アドレス管理テーブルを記憶している物理ブロックであることを示す。このように少なくとも４つの状態が存在する。
【００３６】
図５は論理物理変換テーブル２１０を説明した図である。図５において、論理物理変換テーブル２１０の各エントリのアドレスは、セグメントＳ内の論理ブロック番号ＬＢＮ（Ｓ）に対応する。そのアドレスの領域に、論理ブロック番号ＬＢＮ（Ｓ）に対応する物理ブロック番号ＰＢＮ（Ｓ）が記憶されている。
【００３７】
図６は領域割当てテーブル２０７のメモリマップである。領域割当てテーブル２０７の各エントリのアドレスはセグメント番号Ｓに対応し、当該アドレスの領域に各セグメントＳの物理ブロック開始番号ＰＢｓｎ（Ｓ）と物理ブロック総数ＰＢｔｎ（Ｓ）が記憶されている。すなわち、領域割当てテーブル２０７は、物理ブロック開始番号ＰＢｓｎ（Ｓ）を記憶した部分と、物理ブロック総数ＰＢｔｎ（Ｓ）を記憶した部分とを含む。前者は各セグメントの開始番地に対応し、後者は各セグメントを構成する物理ブロックの総数を表す。
【００３８】
図７は論理セクタ番号ＬＳＮ（論理セクタアドレス）と、物理セクタ番号ＰＳＮ（物理セクタアドレス）との対応を示したアドレスフォーマットである。論理セクタ番号ＬＳＮのビット０〜ビット４（ＬＳＮ［４：０］）は物理ブロックのページ番号（ＰＳＮ［４：０］）に対応する。論理セクタ番号ＬＳＮのビット２０〜ビット５は論理ブロック番号ＬＢＮである。論理ブロック番号ＬＢＮはクラスタ番号に対応する。領域割当て部２０６は、この論理ブロック番号ＬＢＮに基づいて図６に示す領域割当て処理を実行する。
【００３９】
１．２  動作
以上のように構成された不揮発性記憶装置２４０について、以下その動作を説明する。
【００４０】
１．２．１  基本動作
まず、本不揮発性記憶装置２４０が出荷された後、最初に使用される際は、不揮発性メモリ２３０の良ブロックは全て消去された状態となっている。但し、各セグメント内に、そのセグメントのアドレス管理を行うためのアドレス管理テーブルがそのセグメントの最終アドレスの１物理ブロックにまとめて記憶されるものとする。この時、物理領域管理テーブル２０９において、当該物理領域管理テーブル２０９を含むアドレス管理テーブルが記憶された物理ブロック、すなわち最終アドレスの物理ブロックに対応するステータスフラグは「０１」に設定され、不良ブロックである物理ブロックに対応するステータスフラグは「１０」に設定される。なお、実際にはシステム情報が記憶されたシステム領域が存在するが、本発明の思想とは直接関係ないのでその説明は省略する。
【００４１】
不揮発性記憶装置２４０の電源がＯＮされた後、ＣＰＵ２０３はＲＯＭ２０５に記憶されたプログラムに基づいて初期化処理を行った後、アクセス装置２００からの読み書き等のコマンドの受信待ち状態に入る。
【００４２】
その後アクセス装置２００が所望の論理アドレス範囲内への書き込み指示を行う。画像データなどのいわゆるコンテンツデータ（以降単に「データ」と称す。）は全ての論理アドレス範囲に対して書き込みがなされるが、ＦＡＴは論理アドレス範囲０に対してのみ書き込まれる。データやＦＡＴの書き込み毎に、書き込み先の論理アドレス範囲に対応する不揮発性メモリ２３０のセグメント内に記憶されたアドレス管理テーブルが、当該セグメントの最終アドレスの１物理ブロックから読み出される。読み出されたアドレス管理テーブルに基づき物理領域管理テーブル２０９と論理物理変換テーブル２１０が構成され、アドレス変換部２０８内のＲＡＭに格納される。
【００４３】
データやＦＡＴの書き込みに際しては、物理領域管理テーブル２０９と論理物理変換テーブル２１０に基づいて書き込み先の物理ブロックを決定し、その物理ブロックに対して書き込みがなされる。データやＦＡＴの書き込み後、物理領域管理テーブル２０９と論理物理変換テーブル２１０は、アドレス変換部２０８によってＲＡＭ上で更新され、再び不揮発性メモリ２３０に書き戻される。アドレス管理テーブルを記憶する物理ブロックもウェアレベリングの対象であるので、後述する通り、書き戻し先の物理ブロックは、データやＦＡＴの書き込み毎に変更される。
【００４４】
ここで、書き込みは、説明の簡単化のために下記の前提条件にてなされるものとする。
＜書き込みの前提条件＞
（１）不揮発性記憶装置の書き込みレートは２ＭＢ／秒とする。
（２）データ１秒分の書き込みにおいて１回のＦＡＴ書き込みがなされる。
（３）データは１回のライトコマンドにおいて１クラスタ（１６ｋＢｙｔｅ）分が書き込まれるものとする。
（４）ＦＡＴはＦＡＴ１とＦＡＴ２に２重化されており、それぞれ１６ｋＢｙｔｅの容量、合計３２ｋＢｙｔｅの容量を有する。ＦＡＴは１回のライトコマンドにおいて３２ｋＢｙｔｅ分が書き込まれるものとする。
（５）物理ブロックサイズは１６ｋＢｙｔｅとする（図３参照）。
（６）不揮発性メモリ２３０の不良ブロック発生率は２％であり、セグメント毎においてもそれぞれ２％の不良ブロック発生率とする。
（７）物理領域管理テーブル２０９（約１ｋＢｙｔｅ）と論理物理変換テーブル２１０（約８ｋＢｙｔｅ）は、対応するセグメント内の１つの物理ブロックにまとめて記憶される。このまとめたものをアドレス管理テーブルと呼ぶ。
（８）不揮発性メモリ２３０の各セグメント内の１物理ブロックに１つのアドレス管理テーブルが記憶されており、アクセス装置２００からのアクセスがある毎に、アドレス変換部２０８内のＲＡＭに読み出され物理領域管理テーブル２０９と論理物理変換テーブル２１０が構成される。データやＦＡＴの書き込みが実行された後にＲＡＭ上においての物理領域管理テーブル２０９と論理物理変換テーブル２１０が更新され、更新後アドレス管理テーブルとして前記物理ブロックとは別の物理ブロックに書き戻される。
【００４５】
１．２．２  書き換え頻度の検討
以上の前提条件に従って書き込みがなされる場合において、従来の不揮発性記憶装置と対比しながら本発明の実施の形態１の不揮発性記憶装置の各セグメントの書き換え頻度について検討する。
【００４６】
＜従来の不揮発性記憶装置＞
従来の不揮発性記憶装置は、図１９に示すように各セグメントサイズは同じサイズであるので、全論理空間すなわち約１ＧＢｙｔｅ分の領域を書き換える場合においては、ＦＡＴを格納するセグメント０が他のセグメントよりも書き換え頻度が高くなる。
【００４７】
具体的に説明すると、まず全論理空間すなわち約１ＧＢｙｔｅ分の領域に記憶していたデータを一通り書き換えることにより、各セグメントにおいてデータが書き換えられた物理ブロック数は、対応する論理アドレス範囲を構成するクラスタ数に等しい３９６８個となる。この書き換えに要する時間は、前提条件（１）及び式（１）により５１２秒となる。
１ＧＢｙｔｅ÷２ＭＢ／秒＝５１２秒  ・・・（１）
【００４８】
前提条件（２）、（４）、（５）により、５１２秒の間にＦＡＴ（３２ｋＢｙｔｅ分）は５１２回書き換わることになる。ＦＡＴはセグメント０のみに割当てられるので、このＦＡＴの書き換えによりセグメント０においてＦＡＴが書き換えられた物理ブロック数は式（２）により１０２４個となる。
（３２ｋＢｙｔｅ／１６ｋＢｙｔｅ）個×５１２回＝１０２４個  ・・・（２）
【００４９】
セグメント１〜セグメント１５まではデータのみを記憶するセグメントであるので、各物理ブロックが書き換えられる頻度は、式（３）により０．９７回となる。
３９６８個／４０９６個≒０．９７回  ・・・（３）
【００５０】
これに対して、セグメント０はデータとＦＡＴを含むので、セグメント０において各物理ブロックが書き換えられる頻度は式（４）により１．２２回となる。なお、式（４）の左辺の「−２個」は、ＦＡＴ１、２の２クラスタ分を除く事に対応する。
（３９６８個−２個＋１０２４個）／４０９６個≒１．２２回  ・・・（４）
【００５１】
式（３）、（４）により、セグメント０が他のセグメントよりも書き換え頻度が高く、比較的早く書き換え保証回数（例えば１０万回）に到達してしまうことがわかる。すなわち、従来の不揮発性記憶装置の寿命は、セグメント０の書き換え保証回数への到達速度と等しくなってしまう。
【００５２】
＜本発明の第１の実施の形態における不揮発性記憶装置＞
本発明の実施の形態１における不揮発性記憶装置２４０においては、書き換え頻度の高いセグメント０に含まれる物理ブロック数が、他のセグメントに含まれる物理ブロック数よりも多くなるように領域割当てを調整している。これにより、各セグメントの書き換え保証回数への到達速度を平均化し、長寿命化を図る。
【００５３】
すなわち、本実施の形態における不揮発性記憶装置２４０は、図２に示すように書き換え頻度の高いセグメント０のサイズを他のセグメント１〜１５のサイズよりも大きくした。セグメントサイズの算出は、不揮発性メモリ２３０の不良ブロック発生率やメモリコントローラのアーキテクチャ等によって異なるが、本実施の形態においては、以下のようにして各論理アドレス範囲を決定した。決定に際しての基本的な考え方は、セグメント０のサイズをできるだけ大きく確保するために、それ以外のセグメント１〜１５のサイズを可能な限り小さくすることである。
【００５４】
具体的には、まず式（５）によりセグメント１〜１５の各々のセグメントの物理ブロック数を決定する。式（５）における係数０．０２は不揮発性メモリ２３０の不良ブロック発生率（例えば２％）に対応する係数であり、左辺の１個はアドレス管理テーブルを格納する物理ブロック１個分に対応する。
｛（３９６８個＋１個）／（１−０．０２）｝＝４０５０個  ・・・（５）
すなわち、セグメント１〜１５の大きさを、不良ブロック発生率を考慮した最小限必要なサイズとして求める。
【００５５】
次にセグメント０の物理ブロック数は式（６）により決定する。
６５５３６個−（４０５０個×１５セグメント）＝４７８６個  ・・・（６）
ここで６５５３６個は不揮発性メモリ２３０の総物理ブロック数である。なお、本実施の形態においては、簡単のためにシステム領域など発明と直接関係のない領域については省略した。
【００５６】
よって、セグメント１〜セグメント１５において各物理ブロックが書き換えられる頻度は、次式により０．９８回となる。
３９６８個／４０５０個≒０．９８回  ・・・（７）
【００５７】
セグメント０において各物理ブロックが書き換えられる頻度は次式により１．０４回となる。
（３９６８個−２個＋１０２４個）／４７８６個≒１．０４回  ・・・（８）
【００５８】
上記の算出結果を参照すると、本実施形態によれば、従来技術に比してセグメント０の書き換え頻度が大幅に低減され、セグメント０とそれ以外のセグメント１〜１５との間の書き換え頻度の差が従来技術に比してより小さくなっていることが分かる。よって、本実施形態により、書き換え頻度の均一化が図れ、不揮発性メモリ２３０の超寿命化が可能となる。
【００５９】
式（５）、（６）により、各セグメントの物理的な境界が決まるが、この情報は図６に示すような領域割当てテーブル２０７として、領域割当て部２０６内の不揮発性ＲＡＭに記憶される。なお領域割当てテーブル２０７は不揮発性メモリ２３０のどこかの物理ブロックに記憶させておき、初期化時においてＲＡＭに読み出すようにしても構わない。ＲＡＭは領域割当て部２０６内に設けても良いし、ＲＡＭ２０４の一部の領域を使用してもよい。
【００６０】
１．２．３  アドレス管理部の処理
以下、アクセス装置２００から、１クラスタ分のデータについて書き換え指示がなされた場合について、アドレス管理部２１５（領域割当て部２０６及びアドレス変換部２０８）の処理を説明する。
【００６１】
メモリコントローラ２２０がアクセス装置２００から書き込みコマンドを受信すると、ＣＰＵ２０３は制御をアドレス管理部２１５に移す。アドレス管理部２１５において領域割当て部２０６は、領域割当てテーブル２０７を参照しながら、アクセス装置２００が指定した論理アドレスに対するセグメント番号Ｓやセグメント内論理ブロック番号ＬＢＮ（Ｓ）を決定する。具体的には、領域割当て部２０６は図８に示すフローチャート通りに処理を行う。
【００６２】
まず、領域割当て部２０６は、アクセス装置２００から論理セクタ番号ＬＳＮを受信し（Ｓ１１）、受信した論理セクタ番号ＬＳＮに基づいて論理ブロック番号ＬＢＮを式（９）に従って算出する（Ｓ１２）。式（７）において、＞＞は右シフトを表す演算子であり、論理セクタ番号ＬＳＮを５ビット分右にシフトすることにより、図７に示したビットフォーマットにしたがい論理ブロック番号ＬＢＮが求まる。
ＬＢＮ＝ＬＳＮ＞＞５  ・・・（９）
【００６３】
次に、式（１０）、（１１）に基づき、論理ブロック番号ＬＢＮから、セグメント番号Ｓとセグメント内の論理ブロック番号ＬＢＮ（Ｓ）を算出する（Ｓ１３）。なお、式（１０）において、ｉｎｔ（）は整数を求める演算子である。また式（１１）において、％は剰余を求める演算子である。
Ｓ＝ｉｎｔ（ＬＢＮ／３９６８）  ・・・（１０）
ＬＢＮ（Ｓ）＝ＬＢＮ％３９６８  ・・・（１１）
【００６４】
式（１０）で求めたセグメント番号Ｓに基づき領域割当てテーブル２０７を参照し、各セグメントの物理ブロック開始番号ＰＢｓｎ（Ｓ）と物理ブロック総数ＰＢｔｎ（Ｓ）を決定する（Ｓ１４）。最後に、セグメント番号Ｓと、セグメント内論理ブロック番号ＬＢＮ（Ｓ）と、物理ブロック開始番号ＰＢｓｎ（Ｓ）と、物理ブロック総数ＰＢｔｎ（Ｓ）とを、アドレス変換部２０８に転送し（Ｓ１５）、処理を終了する。
【００６５】
その後、アドレス変換部２０８は図９に示すフローチャートに従ってデータ書き換え先の物理アドレスを決定する。
【００６６】
まず、アドレス変換部２０８は、領域割当て部２０６から、セグメント番号Ｓと、セグメント内論理ブロック番号ＬＢＮ（Ｓ）と、物理ブロック開始番号ＰＢｓｎ（Ｓ）と、物理ブロック総数ＰＢｔｎ（Ｓ）とを受信する（Ｓ２１）。アドレス変換部２０８は、セグメント番号Ｓに対応する不揮発性メモリ２３０の領域からアドレス管理テーブルを読み出し、読み出したアドレス管理テーブルから物理領域管理テーブル２０９と論理物理変換テーブル２１０を生成する（Ｓ２２）。
【００６７】
アドレス変換部２０８は、物理領域管理テーブル２０９内の無効ブロックをサーチし、書込み先であるＰＢＮ（Ｓ）を決定する（Ｓ２３）。但し、サーチ範囲は０〜ＰＢｔｎ（Ｓ）−１である。
【００６８】
そして、物理領域管理テーブル２０９においてＰＢＮ（Ｓ）の位置にあるビットを有効にし（Ｓ２４）、論理物理変換テーブル２１０のＬＢＮ（Ｓ）の位置に、ＰＢＮ（Ｓ）を書き込む（Ｓ２５）。
【００６９】
その後、不揮発性メモリ２３０への書き込みにおいて、書込み先の物理ブロック番号ＰＢＮを式（１２）に基づき決定し（Ｓ２６）、更に式（１３）に基づき、セクタ単位での物理アドレス、すなわち物理セクタ番号ＰＳＮを決定する（Ｓ２７）。なお、式（１３）において、「｜」は論理和を示す演算子であり、ＬＳＮ［４：０］は図７の論理セクタ番号ＬＳＮのビット０〜ビット４のビット列を示す。
ＰＢＮ＝ＰＢｓｎ（Ｓ）＋ＰＢＮ（Ｓ）        ・・・（１２）
ＰＳＮ＝（ＰＢＮ＜＜５）｜ＬＳＮ［４：０］  ・・・（１３）
【００７０】
書き込み先の物理ブロックを消去した後、その物理ブロックのページ０からページ３１へ順にアクセス装置２００が転送したデータを書き込む（Ｓ２８）。なお、書き込みデータはＦＡＴである場合もある。
【００７１】
１．３  まとめ
以上のように、本実施の形態においては、アドレス管理部２１５は、論理アドレス範囲の大きさを均一にするとともに、データの書き換え頻度が高いセグメント０の大きさが他のセグメント１〜１５より大きくなるように、論理アドレス範囲及びセグメントの割り当てを行う。これにより、セグメント０が他のセグメント１〜１５よりも多くの物理ブロック数を確保することとなり、セグメント０内の各物理ブロックあたりの書き換え頻度を他のセグメント内の物理ブロックあたりの書き換え頻度と同等にすることができる。よって、各セグメントにおいてデータ書き換え頻度が均一化され、不揮発性メモリ２３０の長寿命化を実現している。また、不揮発性メモリ２３０を複数のセグメントに分割し、各セグメント毎にアドレス管理を行うことでアドレス管理テーブルのサイズを小さくすることが可能となる。その結果、不揮発性記憶装置のコストを低減できる。
【００７２】
（実施の形態２）
本実施形態の不揮発性システムは、不揮発性記憶装置の構成が実施の形態１のものと異なる。それ以外の構成、及び動作は実施の形態１のものと同様である。以下、本実施形態において、実施の形態１と相違する構成、動作について説明する。
【００７３】
本実施の形態における不揮発性記憶装置においては、書き換え頻度の高いセグメントに対応した論理アドレス範囲に含まれる論理ブロック数が、他の論理アドレス範囲に含まれる論理ブロック数よりも少なくなるように領域割当てすることにより、物理アドレス空間における各セグメントの書き換え保証回数への到達速度を平均化し、長寿命化を図っている。
【００７４】
２．１  システム構成
図１０は本発明の実施の形態２における不揮発性記憶システムの構成を示した図である。
【００７５】
不揮発性記憶装置２４０ｂは、実施の形態１の不揮発性記憶装置２４０と基本的に同様の構成を有するが、領域割当て部２０６ｂとアドレス変換部２０８ｂの構成が実施の形態１のものとは異なる。
【００７６】
図１１は、本実施の形態における論理アドレス空間と物理アドレス空間の対応を表すメモリマップである。論理空間は論理アドレス範囲０〜１５までの１６の範囲に分割される。物理空間はセグメント０〜１５までの１６セグメントに分割される。論理アドレス範囲とセグメントは一対一に対応する。各セグメントは複数の物理ブロックから構成され、物理ブロックサイズは１６ｋＢｙｔｅとする。同図において、ＬＢｔｎ（Ｓ）は、論理アドレス範囲Ｓにおける論理ブロックの総数を表す。またＬＢｓｎ（Ｓ）は、論理アドレス範囲Ｓにおける論理ブロックの開始番号を表す。但しＳは０〜１５までの整数値である。
【００７７】
図１１に示すように、本実施形態では、書き換え頻度の高いセグメントに対応した論理アドレス範囲（論理アドレス範囲０）のサイズは、５１，４５３，１２５ＭＢｙｔｅであり、それ以外の論理アドレス範囲（論理アドレス範囲１〜１５）のサイズは、６２，７０３，１２５ＭＢｙｔｅである。このように、書き換え頻度の高いセグメントに対応した論理アドレス範囲のサイズを他の論理アドレス範囲のサイズよりも小さくし、かつ、各セグメントの大きさが均等になるように、領域割当てを調整している。このように、書き換え頻度の高いセグメントに関する、セグメントと論理アドレス範囲のサイズの比率を、他のセグメントについてのサイズの比率と異ならせることで、各セグメントの書き換え保証回数への到達速度を平均化し、長寿命化を図っている。
【００７８】
図１２は実施の形態２における物理領域管理テーブル２０９ｂを説明した図である。図１２において、物理領域管理テーブル２０９ｂのエントリのアドレスは、不揮発性メモリ２３０のセグメント内の物理ブロック番号ＰＢＮ（Ｓ）に対応し、各物理ブロックの状態（ブロックステータス）として、「有効」、「無効」、「不良」等を記憶する。ブロックステータスを示すステータスフラッグの値の意味は実施の形態１で説明したものと同様である。
【００７９】
図１３は実施の形態２における論理物理変換テーブル２１０ｂを示した図である。図１３において、論理物理変換テーブル２１０ｂのエントリのアドレスはセグメント内論理ブロック番号ＬＢＮ（Ｓ）に対応し、そのアドレス位置に、論理ブロック番号ＬＢＮ（Ｓ）の論理ブロックに対応する、物理ブロックの物理ブロック番号ＰＢＮ（Ｓ）が記憶されている。
【００８０】
図１４は本実施形態の領域割当てテーブル２０７ｂのメモリマップである。領域割当てテーブル２０７ｂのエントリのアドレスはセグメント番号Ｓであり、当該アドレスに、セグメントＳの論理ブロック開始番号ＬＢｓｎ（Ｓ）と論理ブロック総数ＬＢｔｎ（Ｓ）とが記憶されている。論理ブロック開始番号ＬＢｓｎ（Ｓ）は、セグメントＳに対応する論理アドレス範囲の開始番地に対応し、論理ブロック総数ＬＢｔｎ（Ｓ）は、セグメントＳに対応する論理アドレス範囲に含まれる論理ブロックの総数を表す。
【００８１】
論理セクタ番号ＬＳＮ（論理セクタアドレス）と物理セクタ番号ＰＳＮ（物理セクタアドレス）との対応は、実施の形態１における図７に示すとおりである。
【００８２】
２．２  動作
本実施形態の不揮発性記憶システムの基本動作は実施の形態１と同様である。
【００８３】
２．２．１  書き換え頻度の検討
本実施の形態における書き換え頻度について検討する。なお、書き込みの前提条件は実施の形態１で示したとおりである。
【００８４】
本実施の形態における不揮発性記憶装置２４０ｂは、図１１に示すように、各セグメントのサイズを均等に設定しつつ、書き換え頻度の高いセグメント０に対応した論理アドレス範囲０のサイズを、それ以外の論理アドレス範囲１〜１５のサイズよりも小さくしている。
【００８５】
論理アドレス範囲の算出は、不揮発性メモリ２３０の不良ブロック発生率やメモリコントローラのアーキテクチャ等によって異なるが、本実施形態では、以下のようにして各論理アドレス範囲を決定した。決定に際しての基本的な考え方は、論理アドレス範囲０のサイズを小さくするために、それ以外の論理アドレス範囲１〜１５のサイズを可能な限り大きくすることである。
【００８６】
具体的には、本実施の形態においては、まず式（１４）により論理アドレス範囲１〜１５の論理ブロック数を決定する。式（１４）における係数０．０２は不揮発性メモリ２３０の不良ブロック発生率（例えば２％）に対応する係数であり、左辺の第２項目の「１」はアドレス管理テーブルを格納する物理ブロック１個分に対応する。
｛４０９６（個）×（１−０．０２）｝−１個≒４０１３個  ・・・（１４）
【００８７】
次に論理アドレス範囲０の論理ブロック数を式（１５）により決定する。
６３４８８個−（４０１３個×１５セグメント）＝３２９３個  ・・・（１５）
ここで６３，４８８個は不揮発性メモリ２３０の総論理ブロック数である。なお、本実施の形態においては、簡単のためにシステム領域など発明と直接関係のない領域については省略した。以上のようにして論理アドレス範囲０の範囲を求めることで、最大限可能な論理アドレス範囲０のサイズが求まる。
【００８８】
よって、セグメント１〜セグメント１５において各物理ブロックが書き換えられる頻度は、次式により０．９８回となる。
４０１３個／４０９６個≒０．９８回  ・・・（１６）
【００８９】
セグメント０において各物理ブロックが書き換えられる頻度は次式により１．０５回となる。
（３２９３個−２個＋１０２４個）／４０９６個≒１．０５回  ・・・（１７）
【００９０】
上記の算出結果を参照すると、本実施形態によれば、従来技術に比してセグメント０の書き換え頻度が大幅に低減され、セグメント０とそれ以外のセグメント１〜１５との間の書き換え頻度の差が従来技術に比してより小さくなっていることが分かる。よって、本実施形態によっても、書き換え頻度の均一化が図れ、不揮発性メモリ２３０の超寿命化が可能となる。
【００９１】
式（１４）、（１５）により各セグメントの論理的な境界が決まるが、境界を決定するための情報は図１４に示すような領域割当てテーブル２０７ｂとして、領域割当て部２０６ｂ内の不揮発性ＲＡＭに記憶される。なお領域割当てテーブル２０７ｂは不揮発性メモリ２３０のどこかの物理ブロックに記憶させておき、初期化時においてＲＡＭに読み出すようにしても構わない。ＲＡＭは領域割当て部２０６ｂ内に設けても良いし、ＲＡＭ２０４の一部の領域を使用してもよい。
【００９２】
２．２．２  アドレス管理部の処理
以下、アクセス装置２００から、１クラスタ分のデータについて書き換え指示がなされた場合について、アドレス管理部２１５ｂ（領域割当て部２０６ｂ及びアドレス変換部２０８ｂ）の処理を説明する。
【００９３】
メモリコントローラ２２０ｂがアクセス装置２００から書き込みコマンドを受信すると、ＣＰＵ２０３は制御をアドレス管理部２１５ｂに移す。アドレス管理部２１５ｂにおいて領域割当て部２０６ｂは、領域割当てテーブル２０７ｂを参照しながら、アクセス装置２００が指定した論理アドレスに対するセグメント番号Ｓやセグメント内論理ブロック番号ＬＢＮ（Ｓ）を決定する。具体的には、領域割当て部２０６ｂは図１５に示すフローチャート通りに処理を行う。
【００９４】
図１５において、領域割当て部２０６ｂはまず、アクセス装置２００から論理セクタ番号ＬＳＮを受信し（Ｓ４１）、受信した論理セクタ番号ＬＳＮに基づいて論理ブロック番号ＬＢＮを式（１８）に従って算出する（Ｓ４２）。式（１８）において、論理セクタ番号ＬＳＮを５ビット分右にシフトすることにより、図７に示したビットフォーマットにしたがい、論理ブロック番号ＬＢＮが求まる。
ＬＢＮ＝ＬＳＮ＞＞５  ・・・（１８）
【００９５】
次に、論理ブロック番号ＬＢＮから、セグメント番号Ｓとセグメント内論理ブロック番号ＬＢＮ（Ｓ）とを算出する（Ｓ４３）。式（１９）を満たす最小のＳがセグメント番号となり、また、式（２０）により論理ブロック番号ＬＢＮ（Ｓ）を求める。
ＬＢＮ−ＬＢｓｎ（Ｓ）＜ＬＢｔｎ（Ｓ）  ・・・（１９）
ＬＢＮ（Ｓ）＝ＬＢＮ−ＬＢｓｎ（Ｓ）    ・・・（２０）
【００９６】
最後に、セグメント番号Ｓとセグメント内論理ブロック番号ＬＢＮ（Ｓ）をアドレス変換部２０８ｂに転送し（Ｓ４４）、処理を終了する。
【００９７】
その後、アドレス変換部２０８ｂは図１６に示すフローチャートに従って、データ書き換え先の物理アドレスを決定する。
【００９８】
図１６において、アドレス変換部２０８ｂはまず、領域割当て部２０６ｂからセグメント番号Ｓとセグメント内論理ブロック番号ＬＢＮ（Ｓ）を受信する（Ｓ５１）。アドレス変換部２０８ｂは、セグメント番号Ｓに対応する不揮発性メモリ２３０の領域からアドレス管理テーブルを読み出し、読み出したアドレス管理テーブルから物理領域管理テーブル２０９ｂと論理物理変換テーブル２１０ｂを生成する（Ｓ５２）。
【００９９】
物理領域管理テーブル２０９ｂ内の無効ブロックをサーチし、書込み先である論理ブロック番号ＰＢＮ（Ｓ）を決定する（Ｓ５３）。サーチ範囲（Ｓ）は０〜４０９５である。そして物理領域管理テーブル２０９ｂにおいて、物理ブロック番号ＰＢＮ（Ｓ）の位置にあるビットを有効にし（Ｓ５４）、論理物理変換テーブル２１０ｂの論理ブロック番号ＬＢＮ（Ｓ）の位置に物理ブロック番号ＰＢＮ（Ｓ）を書き込む（Ｓ５５）。
【０１００】
その後、不揮発性メモリ２３０への書き込みにおいて、書込み先の物理ブロック番号ＰＢＮを式（２１）に基づき決定し（Ｓ５６）、更に式（２２）に基づき、セクタ単位での物理アドレス、すなわち物理セクタ番号ＰＳＮを決定する（Ｓ５７）。
ＰＢＮ＝４０９６×Ｓ＋ＰＢＮ（Ｓ）          ・・・（２１）
ＰＳＮ＝（ＰＢＮ＜＜５）｜ＬＳＮ［４：０］  ・・・（２２）
【０１０１】
書き込み先の物理ブロックを消去した後、その物理ブロックのページ０からページ３１まで順に、アクセス装置２００から転送されたデータを書き込む（Ｓ５８）。なお、書き込みデータはＦＡＴである場合もある。
【０１０２】
２．３  まとめ
以上のように、本実施の形態においては、アドレス管理部２１５ｂは、セグメントの大きさを均一にするとともに、データの書き換え頻度が高い論理アドレス範囲０の大きさが他の論理アドレス範囲１〜１５より小さくなるように、論理アドレス範囲及びセグメントの割り当てを行う。これにより、論理アドレス範囲０に対応するセグメント０に書き込まれるデータの論理アドレス数が減少するため、セグメント０の書き換え頻度が低下し、よって、各セグメントにおいてデータ書き換え頻度が均一化され、不揮発性メモリ２３０の長寿命化が実現される。また、不揮発性メモリ２３０を複数のセグメントに分割し、各セグメント毎にアドレス管理を行うことでアドレス管理テーブルのサイズを小さくすることが可能となる。
【０１０３】
すなわち、本発明の実施形態１、２においては、データの書き換え頻度が高い論理アドレス範囲について、セグメントのサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように論理アドレス範囲及びセグメントの割り当てを行っている。これにより、各セグメントにおいてデータ書き換え頻度が均一化され、不揮発性記憶装置の長寿命化を図っている。
【０１０４】
なお、本発明の実施の形態１及び２においては、論理空間及び物理空間の分割サイズとして、論理空間及び物理空間の一方を各々均等な固定サイズとし、もう一方を可変サイズとすることにより不揮発性記憶装置の長寿命化を実現したが、両空間とも可変サイズとして分割する場合においても、領域サイズを適切に決定することで同様の効果が得られる。
【０１０５】
また、論理アドレス範囲０以外に書き換え頻度の高い論理アドレス範囲が存在する場合は、論理アドレス範囲０に加えて、その論理アドレス範囲についても、論理アドレス範囲とセグメント間のサイズ比を他の論理アドレス範囲のものと異ならせるようにしてもよい。
【０１０６】
また、特定のセグメントの不良ブロック発生率が他のセグメントに比べて高く、使用可能な物理ブロック数に差が出るような場合、前述した書き換え頻度の高いデータが存在する場合と同様に特定のセグメントのみ早く書き換え寿命がきてしまうという問題が起こり得る。このような場合に対しても、実施の形態２と同様の方法で対策が可能となる。すなわち、不良ブロック発生率が高いセグメントに対応した論理アドレス範囲のサイズを他の論理アドレス範囲のサイズよりも小さく割当てて、各セグメントへのデータの書き込み頻度を調整する。これにより、各セグメントの書き換え保証回数への到達速度が平均化され、結果として不揮発性記憶装置の長寿命化が実現できる。
【０１０７】
本発明は、特定の実施形態について説明されてきたが、当業者にとっては他の多くの変形例、修正、他の利用が明らかである。それゆえ、本発明は、ここでの特定の開示に限定されず、添付の請求の範囲によってのみ限定され得る。なお、本出願は日本国特許出願、特願２００５−２１９９５８号（２００５年７月２９日提出）及び特願２００５−３３１０６０号（２００５年１１月１６日提出）に関連し、それらの内容は参照することにより本文中に組み入れられる。
【産業上の利用可能性】
【０１０８】
本発明の不揮発性記憶装置は、不揮発性メモリ（フラッシュメモリ）を用いたメモリカード等の長寿命化を可能とし、特に、パーソナルコンピュータ、静止記録再生装置や動画記録再生装置等のポータブルＡＶ機器、あるいは携帯電話等のポータブル通信機器の記録媒体に有用である。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施の形態１における不揮発性記憶システムの全体構成を示したブロック図
【図２】本発明の実施の形態１による論理アドレス空間と物理アドレス空間の対応を表すメモリマップを示す図
【図３】本発明の不揮発性記憶装置の不揮発性メモリにおける物理ブロックを説明した図
【図４】本発明の実施の形態１の不揮発性記憶装置の物理領域管理テーブルを示す図
【図５】本発明の実施の形態１の不揮発性記憶装置の論理物理変換テーブルを示す図
【図６】本発明の実施の形態１の不揮発性記憶装置の領域割当てテーブルのメモリマップを示す図
【図７】本発明の実施の形態１の不揮発性記憶装置の論理セクタ番号ＬＳＮ（論理セクタアドレス）と物理セクタ番号ＰＳＮ（物理セクタアドレス）との対応を示したアドレスフォーマットを示す図
【図８】本発明の実施の形態１の不揮発性記憶装置の領域割当て部の処理を表すフローチャート
【図９】本発明の実施の形態１の不揮発性記憶装置のアドレス変換部の処理を表すフローチャート
【図１０】本発明の実施の形態２における不揮発性記憶システムの全体構成を示したブロック図
【図１１】本発明の実施の形態２における論理アドレス空間と物理アドレス空間の対応を表すメモリマップを示す図
【図１２】本発明の実施の形態２の不揮発性記憶装置の物理領域管理テーブルを示す図
【図１３】本発明の実施の形態２の不揮発性記憶装置の論理物理変換テーブルを示す図
【図１４】本発明の実施の形態２の不揮発性記憶装置の領域割当てテーブルのメモリマップを示す図
【図１５】本発明の実施の形態２の不揮発性記憶装置の領域割当て部の処理を表すフローチャート
【図１６】本発明の実施の形態２の不揮発性記憶装置のアドレス変換部の処理を表すフローチャート
【図１７】従来の論理アドレス空間と物理アドレス空間の対応を表すメモリマップを示す図
【符号の説明】
【０１１０】
２００    アクセス装置
２０１    ホストインタフェース
２０２    バッファメモリ
２０３    ＣＰＵ
２０４    ＲＡＭ
２０５    ＲＯＭ
２０６、２０６ｂ    領域割当て部
２０７、２０７ｂ    領域割当てテーブル
２０８、２０８ｂ    アドレス変換部
２０９、２０９ｂ    物理領域管理テーブル
２１０、２１０ｂ    論理物理変換テーブル
２１１    読み書き制御部
２１５、２１５ｂ  アドレス管理部
２２０ｂ    メモリコントローラ
２３０    不揮発性メモリ
２４０、２４０ｂ    不揮発性記憶装置
【図１】
0004679581.tif 000002
【図２】
0004679581.tif 000003
【図３】
0004679581.tif 000004
【図４】
0004679581.tif 000005
【図５】
0004679581.tif 000006
【図６】
0004679581.tif 000007
【図７】
0004679581.tif 000008
【図８】
0004679581.tif 000009
【図９】
0004679581.tif 000010
【図１０】
0004679581.tif 000011
【図１１】
0004679581.tif 000012
【図１２】
0004679581.tif 000013
【図１３】
0004679581.tif 000014
【図１４】
0004679581.tif 000015
【図１５】
0004679581.tif 000016
【図１６】
0004679581.tif 000017
【図１７】
0004679581.tif 000018