(57)【要約】【課題】無駄なデータの移動や物理ブロックの置き換え回数を削減することができ、システムの書き込みパフォーマンスを向上させ、不揮発性メモリの書き換え寿命の浪費を軽減することができる不揮発性メモリシステムおよび不揮発性メモリの管理方法を提供する。【解決手段】不揮発性メモリ１１０と、不揮発性メモリ１１０のアクセスに関し、論理空間と物理空間の対応付け管理を行うコントローラ１２０と、を有し、コントローラ１２０は、論理空間と物理空間とを対応付けする空間を複数領域に分けて、それぞれの領域に適した対応付け管理を行う。【選択図】図３
2007280139.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリと、
上記不揮発性メモリのアクセスに関し、論理空間と物理空間の対応付け管理を行うコントローラと、を有し、
上記コントローラは、論理空間と物理空間とを対応付けする空間を複数領域に分けて、それぞれの領域に適した対応付け管理を行う
不揮発性メモリシステム。
【請求項２】
上記コントローラは、論理空間と仮想論理空間を対応付けすることで、論理空間の複数領域を論理−物理対応付けの一つの領域に対応させる
請求項１記載の不揮発性メモリシステム。
【請求項３】
上記コントローラは、仮想物理空間と物理空間を対応付けすることで、物理空間の複数領域を論理−物理対応付けの一つの領域に対応させる
請求項１記載の不揮発性メモリシステム。
【請求項４】
上記コントローラは、仮想論理空間と仮想物理空間を複数領域で対応付けて、それぞれの領域で個別の論理−物理対応付けを行う
請求項１記載の不揮発性メモリシステム。
【請求項５】
上記コントローラは、論理空間と物理空間の間に、仮想論理空間および仮想物理空間を設定し、
論理空間と仮想論理空間を対応付けすることで、論理空間の複数領域を論理−物理対応付けの一つの領域に対応させ、
仮想論理空間と仮想物理空間を複数領域で対応付けて、それぞれの領域で個別の論理−物理対応付けし、
仮想物理空間と物理空間を対応付けすることで、物理空間の複数領域を論理−物理対応付けの一つの領域に対応させる
請求項１記載の不揮発性メモリシステム。
【請求項６】
不揮発性メモリと、
上記不揮発性メモリのアクセスに関し、論理ブロックと物理ブロックの対応付け管理を行うコントローラと、を有し、
上記コントローラは、論理ブロックサイズを物理ブロックサイズの（１／Ｎ）：１として、論理ブロックと物理ブロックの対応付けを行う
不揮発性メモリシステム。
【請求項７】
上記コントローラは、対応付けされたブロック内でさらに論理ブロックサイズをＭ分割した論理ページユニットと物理ブロックサイズを（Ｎ×M）分割した物理ページユニットで論理−物理対応付けを行う
請求項６記載の不揮発性メモリシステム。
【請求項８】
不揮発性メモリと、
上記不揮発性メモリのアクセスに関し、論理空間と物理空間の対応付け管理を行うコントローラと、を有し、
上記コントローラは、論理空間と物理空間とを対応付けする空間を複数領域に分けて、それぞれの領域に適した対応付けを行い、かつ、それぞれ個別に論理ブロックサイズを物理ブロックサイズの（１／Ｎ）：１として、論理ブロックと物理ブロックの対応付けを行う管理を行う
不揮発性メモリシステム。
【請求項９】
上記コントローラは、論理空間と仮想論理空間を対応付けすることで、論理空間の複数領域を論理−物理対応付けの一つの領域に対応させる
請求項８記載の不揮発性メモリシステム。
【請求項１０】
上記コントローラは、仮想物理空間と物理空間を対応付けすることで、物理空間の複数領域を論理−物理対応付けの一つの領域に対応させる
請求項８記載の不揮発性メモリシステム。
【請求項１１】
上記コントローラは、仮想論理空間と仮想物理空間を複数領域で対応付けて、それぞれの領域で個別の論理−物理対応付けを行う
請求項８記載の不揮発性メモリシステム。
【請求項１２】
上記コントローラは、論理空間と物理空間の間に、仮想論理空間および仮想物理空間を設定し、
論理空間と仮想論理空間を対応付けすることで、論理空間の複数領域を論理−物理対応付けの一つの領域に対応させ、
仮想論理空間と仮想物理空間を複数領域で対応付けて、それぞれの領域で個別の論理−物理対応付けし、
仮想物理空間と物理空間を対応付けすることで、物理空間の複数領域を論理−物理対応付けの一つの領域に対応させる
請求項８記載の不揮発性メモリシステム。
【請求項１３】
上記コントローラは、対応付けされたブロック内でさらに論理ブロックサイズをＭ分割した論理ページユニットと物理ブロックサイズを（Ｎ×M）分割した物理ページユニットで論理−物理対応付けを行う
請求項８から１２のいずれか一に記載の不揮発性メモリシステム。
【請求項１４】
不揮発性メモリのアクセスの管理を行う不揮発性メモリの管理方法であって、
論理空間と物理空間とを対応付けする空間を複数領域に分けて、それぞれの領域に適した対応付け管理を行い、
上記対応付けに際し、仮想論理空間と仮想物理空間を複数領域で対応付けて、それぞれの領域で個別の論理−物理対応付けを行う
不揮発性メモリの管理方法。
【請求項１５】
不揮発性メモリのアクセスの管理を行う不揮発性メモリの管理方法であって、
論理ブロックと物理ブロックの対応付け管理を行い、
上記対応付けに際し、論理ブロックサイズを物理ブロックサイズの（１／Ｎ）：１として、論理ブロックと物理ブロックの対応付けを行う
不揮発性メモリの管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラとフラッシュメモリ等の不揮発性メモリにより構成される不揮発性メモリシステムおよび不揮発性メモリの管理方法に関するものである。
【背景技術】
【０００２】
一般的に、フラッシュメモリ等の不揮発性メモリシステムにおいては、論理空間と物理空間の対応付け管理を行っている。
この不揮発性メモリシステムの論理空間と物理空間の対応付け管理において、全ての論理空間に対して、不揮発性メモリの消去単位、つまり物理ブロック単位で管理し、物理ブロックサイズと論理ブロックサイズを１対１で対応付けしている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このため、ホストから消去単位よりも小さなデータの書き込みが発生した場合に、必ず物理ブロックの置き換えが発生し、システムの書き込みパフォーマンスの悪化や不揮発性メモリの書き換え寿命を浪費するという不利益があった。
以下に、この不利益について、図１および図２に関連付けてさらに詳細に説明する。
【０００４】
図１は、一般的な不揮発性メモリシステムにおける論理空間と物理空間の対応付けを示している。
【０００５】
この場合、図１に示すように、論理ブロックと物理ブロックは同一サイズで対応付けし、ブロック内のページオフセットを論理と物理で共通にしている。
不揮発性メモリへデータを書き込む場合には、その特性上、物理ブロックを一度消去状態にしてから書き込みを行う必要がある。
このため、ホストからデータの書き込みが発生した場合には、新しく対応付けされる消去済の物理ブロックを準備して、その物理ブロック対して新しいデータの書き込みを行い、それまで対応付けされていた物理ブロックを消去する物理ブロックの置き換えを行う。
ホストから消去単位よりも小さなデータの書き込みが発生した場合には、書き込みデータ以外のデータは、旧物理ブロックから新物理ブロックへコピーを行ったのち旧物理ブロックの消去を行う。
【０００６】
図２は一例として、ある論理ブロックに物理ブロックXが対応している状態で、その論理ブロックのページ３に対して書き込みが発生したときの動作を示している。
まず、消去済の物理ブロックＹを準備し、ページ０からページ２のデータを物理ブロックXから物理ブロックＹにコピーする。次に書き込みデータを物理ブロックＹのページ３へ書き込みを行う。
その後、ページ４からページ６３のデータを物理ブロックＸから物理ブロックＹへコピーを行い、最後に物理ブロックＸを消去する。
ここでコピーとは、ブロックＸのデータ読み出しを行い、読み出したデータを物理ブロックＹへ書き込む動作である。
つまり、ホストから１ページ書き込みであっても、不揮発性メモリに対しては、６３回のページリード動作と、６４回のページライト動作と１回のブロック消去を行う必要がある。
【０００７】
ホストからの書き込みが１ブロックであった場合には、ブロック内の全てのデータが書き換わるため、旧ブロックのデータをコピーする必要はなく、不揮発性メモリに対しては、１ブロックのライト動作、つまり６４回のページライト動作と１回のブロック消去を行えばよい。
【０００８】
このように、ブロック単位の書き込み要求が来たときには、無駄なデータの移動は発生しないが、より小さな単位での書き込みでは無駄なデータの移動が発生する。
これは、小さな単位の書き込みにおいてシステムの書き込みパフォーマンスが著しく低下することを意味するとともに、毎回物理ブロックの置き換えが発生するため、不揮発性メモリの書き換え寿命を浪費していることを意味する。
【０００９】
すなわち、上述した管理技術では、すべての論理空間に対して一様に物理空間を対応付けしていて、その対応付けがブロック単位での書き込みというような大きなサイズの書き込みに適しているため、小さなサイズの書き込みに適応できていないという不利益がある。
【００１０】
本発明は、無駄なデータの移動や物理ブロックの置き換え回数を削減することができ、システムの書き込みパフォーマンスを向上させ、不揮発性メモリの書き換え寿命の浪費を軽減することができる不揮発性メモリシステムおよび不揮発性メモリの管理方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の観点の不揮発性メモリシステムは、不揮発性メモリと、上記不揮発性メモリのアクセスに関し、論理空間と物理空間の対応付け管理を行うコントローラと、を有し、上記コントローラは、論理空間と物理空間とを対応付けする空間を複数領域に分けて、それぞれの領域に適した対応付け管理を行う。
不揮発性メモリシステム。
【００１２】
本発明の第２の観点の不揮発性メモリシステムは、不揮発性メモリと、上記不揮発性メモリのアクセスに関し、論理ブロックと物理ブロックの対応付け管理を行うコントローラと、を有し、上記コントローラは、論理ブロックサイズを物理ブロックサイズの（１／Ｎ）：１として、論理ブロックと物理ブロックの対応付けを行う。
【００１３】
本発明の第３の観点の不揮発性メモリシステムは、不揮発性メモリと、上記不揮発性メモリのアクセスに関し、論理空間と物理空間の対応付け管理を行うコントローラと、を有し、上記コントローラは、論理空間と物理空間とを対応付けする空間を複数領域に分けて、それぞれの領域に適した対応付けを行い、かつ、それぞれ個別に論理ブロックサイズを物理ブロックサイズの（１／Ｎ）：１として、論理ブロックと物理ブロックの対応付けを行う管理を行う。
【００１４】
好適には、上記コントローラは、論理空間と仮想論理空間を対応付けすることで、論理空間の複数領域を論理−物理対応付けの一つの領域に対応させる。
【００１５】
好適には、上記コントローラは、仮想物理空間と物理空間を対応付けすることで、物理空間の複数領域を論理−物理対応付けの一つの領域に対応させる。
【００１６】
好適には、上記コントローラは、仮想論理空間と仮想物理空間を複数領域で対応付けて、それぞれの領域で個別の論理−物理対応付けを行う。
【００１７】
好適には、上記コントローラは、論理空間と物理空間の間に、仮想論理空間および仮想物理空間を設定し、論理空間と仮想論理空間を対応付けすることで、論理空間の複数領域を論理−物理対応付けの一つの領域に対応させ、仮想論理空間と仮想物理空間を複数領域で対応付けて、それぞれの領域で個別の論理−物理対応付けし、仮想物理空間と物理空間を対応付けすることで、物理空間の複数領域を論理−物理対応付けの一つの領域に対応させる。
【００１８】
好適には、上記コントローラは、対応付けされたブロック内でさらに論理ブロックサイズをＭ分割した論理ページユニットと物理ブロックサイズを（Ｎ×M）分割した物理ページユニットで論理−物理対応付けを行う。
【００１９】
本発明の第４の観点は、不揮発性メモリのアクセスの管理を行う不揮発性メモリの管理方法であって、論理空間と物理空間とを対応付けする空間を複数領域に分けて、それぞれの領域に適した対応付け管理を行い、上記対応付けに際し、仮想論理空間と仮想物理空間を複数領域で対応付けて、それぞれの領域で個別の論理−物理対応付けを行う。
【００２０】
本発明の第５の観点は、不揮発性メモリのアクセスの管理を行う不揮発性メモリの管理方法であって、論理ブロックと物理ブロックの対応付け管理を行い、上記対応付けに際し、論理ブロックサイズを物理ブロックサイズの（１／Ｎ）：１として、論理ブロックと物理ブロックの対応付けを行う。
【発明の効果】
【００２１】
本発明によれば、論理空間と物理空間を複数領域で対応させ、それぞれの領域で個別の管理方法を用いることができ、システムの書き込みパフォーマンスを向上させ、不揮発性メモリの書き換え寿命の浪費を軽減することができる。
また、ホストからの小さなデータの書き込みに対しての管理方法を、設計者がシステムに対して最適な選択をできる形で提供することで、システムに合わせた書き込みパフォーマンスの向上、不揮発性メモリの書き換え寿命の浪費軽減を実現することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態を図面に関連付けて説明する。
【００２３】
図３は、本発明の実施形態に係る不揮発性メモリシステムの構成例を示すブロック図である。
【００２４】
本不揮発性メモリシステム１００は、図３に示すように、複数のメモリバンク１１０−１〜１１０−ｎ(図３の例ではｎ＝４)を有する不揮発性メモリユニット（以下、単にメモリユニットという場合もある）１１０と、ホスト装置１３０からの要求に応じてメモリユニット１１０へのアクセスを制御するコントローラ１２０により構成されている。
【００２５】
各メモリバンク１１０−１，１１０−２，１１０−３，１１０−４は、それぞれ同様の構成を有し、図示しないが、メモリセルアレイ、アドレスデコーダ、ページバッファ等を含んで構成されている。
メモリセルアレイは、たとえばＮＡＮＤ型フラッシュメモリセルアレイにより形成される。
【００２６】
コントローラ１２０は、図３に示すように、ＣＰＵ（制御部）１２１、論理アンドレ−物理アドレス（論物）変換テーブル１２２、メモリインタフェース（ＭＩ／Ｆ）１２３、ホストインタフェース（ＨＩ／Ｆ）１２４、データバッファ１２５、およびＤＲＡＭ等のワークメモリ１２６を有している。
ＣＰＵ１２１、論物変換テーブル１２２、メモリインタフェース１２３、ホストインタフェース１２４、データバッファ１２５、およびワークメモリ１２６は、バス１２７により接続されている。
【００２７】
コントローラ１２０は、ＣＰＵ１２１の制御の下、ホストインタフェース２４を通してのホスト装置１３０とのコマンド系信号やデータの授受、およびメモリインタフェース１２３を通してのメモリユニット１１０に対するアクセス制御を行う。
ホスト装置１３０からのメモリユニット１２０への書き込みデータ、あるいは、メモリユニット１２０からの読み出しデータは、データバッファ１２５に一時保持される。
コントローラ１２０は、ＣＰＵ１２１の制御の下、論物変換テーブル１２２に基づく不揮発性メモリユニット１１０のメモリ空間の、論理空間と物理空間の対応付けを、後で詳述するように、論理空間と物理空間とを対応付けする空間を複数領域に分けて、それぞれの領域に適した対応付け管理を行うことで、各領域に最適な管理を実現し、書き込みパフォーマンスの向上、書き換え回数の削減を実現している。
【００２８】
このように、本実施形態の不揮発性メモリシステム１００は、コントローラ１２０の制御により、論理アドレスＬＡ−物理アドレスＰＡの対応付けを複数領域で管理すること、および小さなサイズの書き込みに適した管理方法を実現しており、システムの書き込みパフォーマンスを向上させ、不揮発性メモリの書き換え回数を削減している。
以下、本実施形態におけるコントローラ１２０による不揮発性メモリ１１０のアクセス（書き込み等）時のメモリ領域の管理方法をより具体的に説明する。
【００２９】
本実施形態に係る不揮発性メモリシステム１００は、すべての論理空間に対して一様に物理空間を対応付けすると、その対応付けがブロック単位での書き込みというような大きなサイズの書き込みに適しているため、小さなサイズの書き込みに適応できていないという不利益を解消する管理方法を実現している。
【００３０】
本実施形態では、概念的には、図４に示すような対応付けを行う。
図４の例においては、論理空間ＬＳと物理空間ＰＳ間に、仮想論理空間ＶＬＳおよび仮想物理空間ＶＰＳを設定し、仮想論理空間ＶＬＳと仮想物理空間ＶＰＳを複数領域で対応付けて、それぞれの領域で個別の論理−物理対応付けを行うことで、ホスト装置１３０からの書き込みサイズに依存する無駄なデータ移動を削減する。
図４の例は、個別の論理−物理対応付けを行う領域を２つとしている。
なお、上記対応付けの各仮想論理領域は、ホスト装置１３０からみた場合必ずしも連続した空間である必要はない。
同様に、上記対応付けの各仮想物理空間ＶＰＳは、必ずしも不揮発性メモリ１２０上の連続した空間である必要はない。また、個別の論理−物理対応付けを行う領域は２つである必要はなく３つ以上でも良い。
【００３１】
次に、本実施形態によるホスト装置１３０から小さなデータの書き込みが発生した場合に対する論理−物理対応付けの方法について説明する。
【００３２】
第一の方法として、論理ブロックサイズＬＢＳを物理ブロックサイズＰＢＳの（１／Ｎ）：１として、論理ブロックＬＢと物理ブロックＰＢの対応付けを行う。
これにより、物理容量に対する論理容量は１／Ｎとなるが、物理ブロックＰＢに対して、対応する論理ブロックＬＢをＮ回書き込むことができるので、ホスト装置１３０からの書き込み回数に対する物理ブロックＰＢの置き換え回数を１／Ｎに削減することができる。
また、１／Ｎ物理ブロックＰＢのデータ移動で済むためシステムの書き込みパフォーマンスを向上させ、不揮発性メモリの書き換え寿命の浪費を軽減することができる。
【００３３】
図５は、論理−物理対応付けの第一の方法においてＮ＝２の例を示す図である。
【００３４】
図５の例においては、論理ブロックＬＢ内の３２ページは、物理ブロックＰＢ内のページ０からページ３１、およびページ３２からページ６３に対応付けされている。
論理ブロックＬＢは、ホスト装置１３０から１回目の書き込みで、物理ブロックＰＢのページ０からページ３１に対応付けされ、２回目の書き込みで物理ブロックＰＢのページ３２からページ６３に対応付けされ、次の書き込みで新しい物理ブロックＰＢのページ０からページ３１に対応付けされる。
このように、Ｎ＝２の場合、ホストからの書き込み２回に対して１回物理ブロックＰＢの置き換えをすればよい。また、書き込み時のデータ移動は１／２ブロック（３２ページ）で済む。
ただし、ホスト装置１３０からの１ページ書き込みに対し、不揮発性メモリに対して毎回３１ページの読み出しと３２ページの書き込みが発生し、２回に１回の消去が発生する。
【００３５】
１ページ単位の書き込みに対応するため、第一の方法に加えて、第二の方法として論理−物理対応付けを、ブロック単位の方法に加えて、ブロック内のページ単位で対応付けを行う。
【００３６】
図６は、第一の方法のＮ＝２におけるブロック内ページ単位対応付けの様子を示す図である。
【００３７】
論理ブロックＬＢのページ０は、物理ブロックＰＢのページ０からページ６３のいずれにも対応可能とし、論理ブロックＬＢのページ１からページ３１も同様にそれぞれ物理ブロックＰＢのページ０からページ６３のいずれにも対応可能とする。
このように対応させることで、ホスト装置１３０からの１ページ書き込みが論理ブロックＬＢ内のどのページに対して行われても、物理ページＰＢを１ページずつ順番に使用していくことで、書き込み時のデータ移動は発生しないで済む。
また、一通り論理ページが書き込まれた状態でも、物理ページ３２から６３までの３２ページは空き状態であるため、物理ブロックの置き換えなしで、さらに３２回の１ページ書き込みを行うことが可能となる。
【００３８】
この方法は、１ページ単位の書き込みに対して最適な方法であるが、各論理ページが物理ページのどこにでも格納できるため、最新データがどの物理ページに存在しているのかの情報を保持する必要があり、管理情報が大きくなる傾向にある。
【００３９】
管理情報を小さくするため、第一の方法に加えて、第三の方法として論理−物理対応付けを、ブロック単位の方法に加えて、ブロック内のページユニット単位で対応付けを行う。
論理ページユニット（ＬＰＵ）は、第一の方法における論理ブロックサイズＬＢＳをＭ分割した単位であり、対応する物理ページユニット（ＰＰＵ）は、物理ブロックサイズＰＢＳを（Ｎ×Ｍ）分割した単位である。
【００４０】
図７は、論理−物理対応付けの第３の方法でＮ＝２、Ｍ＝１６におけるブロック内ページユニット単位対応付けの様子を示す図である。
【００４１】
この場合、ページユニットは２ページで構成される。論理ページユニットＬＰＵ０は、物理ページユニットＰＰＵ０から物理ページユニットＰＰＵ３１のいずれにも対応可能とし、論理ページユニットＬＰＵ１〜ＬＰＵ３１も同様にそれぞれ物理ページユニットＰＰＵ０から物理ページユニットＰＰＵ３１のいずれにも対応可能とする。
このように対応させることで、ホスト装置１３０からの１ページ書き込みが論理ブロックＬＢ内のどのページに対して行われても、ページユニットの置き換えで済むため、データ移動は１ページで済む。
また、一通り論理ページユニットＬＰＵが書き込まれた状態でも、物理ページユニットＰＰＵ１６から物理ページユニットＰＰＵ３１までの１６ＰＰＵは空き状態であるため、物理ブロックの置き換えなしで、さらに１６回の１ページ書き込みを行うことが可能となる。
この場合、第二の方法に対してブロック内管理情報はほぼ半分の大きさで済む。また、図６の例は、Ｎ＝２、Ｍ＝３２における対応付けということもできる。
【００４２】
図８（Ａ）〜（Ｅ）に関連付けて、図７の対応付け方法（Ｎ＝２，Ｍ＝１６）における具体的な論理ページユニットＬＰＵと物理ページユニットＰＰＵとの対応付けの移り変わりを説明する。
【００４３】
図８（Ａ）は、消去状態の論理ブロックＬＢに対して、論理ページユニットＬＰＵ２から７ページユニット（７ＰＵ）の書き込みが行われた後の対応付けを示す。
物理ページユニットＰＰＵは不揮発性メモリの特性上、物理ページユニットＰＰＵ０から昇順で使用していく必要があるので、論理ページユニットＬＰＵ２が物理ページユニットＰＰＵ０に割当てられ、論理ページユニットＬＰＵ３から論理ページユニットＬＰＵ８にはそれに続く物理ページユニットＰＰＵ１〜ＰＰＵ６が順次割当てられる。
【００４４】
ここで、論理ページユニットＬＰＵ１１から４ページユニット（４ＰＵ）の書き込みが行われたとき、対応付けは図８（Ｂ）に示すように遷移する。この場合、物理ページユニットＰＰＵ６までが使用されているので、論理ページユニットＬＰＵ１１には物理ページユニットＰＰＵ７が割当てられ、論理ページユニットＬＰＵ１２から論理ページユニットＬＰＵ１４には、物理ページユニットＰＰＵ８から物理ページユニットＰＰＵ１０が順次割当てられる。
【００４５】
次に、論理ページユニットＬＰＵ０から５ページユニット（５ＰＵ）の書き込みが行われると、図８（Ｃ）に示すように、論理ページユニットＬＰＵ０から論理ページユニットＬＰＵ４には、物理ページユニットＰＰＵ１１から物理ページユニットＰＰＵ１５が割当てられる。
このとき、論理ページユニットＬＰＵ２から論理ページユニットＬＰＵ４に割当てられていた古いデータが格納されている物理ページユニットＰＰＵ０から物理ページユニットＰＰＵ２は無効データの扱いとなり、ホスト装置１３０からの読み出しの際には新たに割当てられた物理ページユニットＰＰＵ１３から物理ページユニットＰＰＵ１５が有効データとして扱われる。
【００４６】
次に、論理ページユニットＬＰＵ８から８ページユニット（８ＰＵ）の書き込みが行われると、図８（Ｄ）に示すように、論理ページユニットＬＰＵ８から論理ページユニットＬＰＵ１５には、物理ページユニットＰＰＵ１６から物理ページユニットＰＰＵ２３が割当てられる。
さらに、論理ページユニットＬＰＵ３から１ページユニット（１ＰＵ）の書き込みが行われると、図８（Ｅ）に示すように、論理ページユニットＬＰＵ３の割り当てが物理ページユニットＰＰＵ１４から物理ページユニットＰＰＵ２４へ変更される。
【００４７】
図９（Ａ）は、図８（Ｅ）の状態からさらに論理ページユニットＬＰＵ３への１ページユニット（１ＰＵ）の書き込みが複数回行われて、物理ページユニットＰＰＵを使い切った状態の対応付けを示す図である。
この状態を物理ページユニットＰＰＵの観点から見ると、図９（Ｂ）に示すようになる。図９（Ｂ）において、斜線が引かれている物理ページユニットＰＰＵは無効な論理ページユニットＬＰＵが格納されていることを示している。
【００４８】
この例では、有効な論理ページユニットＬＰＵ０が物理ページユニットＰＰＵ１１に格納され、有効な論理ページユニットＬＰＵ１が物理ページユニットＰＰＵ１２に格納され、有効な論理ページユニットＬＰＵ２が物理ページユニットＰＰＵ１３に格納され、有効な論理ページユニットＬＰＵ３が物理ページユニットＰＰＵ３１に格納され、有効な論理ページユニットＬＰＵ４が物理ページユニットＰＰＵ１５に格納され、有効な論理ページユニットＬＰＵ５が物理ページユニットＰＰＵ３に格納され、有効な論理ページユニットＬＰＵ６が物理ページユニットＰＰＵ４に格納され、有効な論理ページユニットＬＰＵ７が物理ページユニットＰＰＵ５に格納され、有効な論理ページユニットＬＰＵ８が物理ページユニットＰＰＵ１６に格納され、有効な論理ページユニットＬＰＵ９が物理ページユニットＰＰＵ１７に格納され、有効な論理ページユニットＬＰＵ1０が物理ページユニットＰＰＵ１８に格納され、有効な論理ページユニットＬＰＵ１１が物理ページユニットＰＰＵ１９に格納され、有効な論理ページユニットＬＰＵ１２が物理ページユニットＰＰＵ２０に格納され、有効な論理ページユニットＬＰＵ１３が物理ページユニットＰＰＵ２１に格納され、有効な論理ページユニットＬＰＵ１４が物理ページユニットＰＰＵ２２に格納され、有効な論理ページユニットＬＰＵ１５が物理ページユニットＰＰＵ２３に格納されている。
【００４９】
図１０は、図９（Ｂ）の状態からさらに論理ページユニットＬＰＵ３への１ページユニット（１ＰＵ）の書き込みが行われたときの様子を示す図である。物理ブロックＰＢＸの物理ページユニットＰＰＵは使い切っているため、消去済の物理ブロックＰＢＹを準備して、物理ブロックＰＢＸ内の有効な論理ページユニットＬＰＵを物理ブロックＰＢＹへコピーする。その際、今回新たに書き込みされる論理ページユニットＬＰＵ３に対応するデータは当然コピーする必要はない。
その後、物理ブロックＰＢＸは消去しておく。この論理ブロックＬＢに対応する物理ブロックＰＢは、物理ブロックＰＢＹとなり、図１０（Ｂ）に示すような状態となる。
ここで、物理ページユニットＰＰＵをＰＰＵ０から昇順で使うことに変わりはないが、論理ページユニットＬＰＵの格納順は必ずしも図１０（Ｂ）のようになる必要はない。また、物理ページユニットＰＰＵ１６から物理ページユニットＰＰＵ３１は空きの状態であり、新たな書き込みによって使用される。
図１０（Ｂ）のように一通り論理ページユニットＬＰＵに有効データが格納された状態でも１６個の空き物理ページユニットＰＰＵが存在するため、この空き物理ページユニットＰＰＵを使い切るまでは物理ブロックを置き換える必要はない。
【００５０】
図１１は、本実施形態に係る第三の方法を採用した場合の、Ｎ＝２，Ｍ＝１６における論理物理（論物）変換テーブルの構成例を示す図である。
【００５１】
この論物変換テーブル１２２には、論理ブロックアドレスＬＢＡ０，ＬＢＡ１、・・・ごとに、物理ブロック情報ＰＢＩ０，ＰＢＩ１，・・・が格納されている。
【００５２】
図１１に、物理ブロック情報ＰＢＩ０の例を示している。
図１１に示す物理ブロック情報ＰＢＩ０は、「論理ブロック未割り当てフラグ（０／１）」、「物理ブロックアドレス（ＰＢＡ）」、「最終使用済ＰＰＵアドレス（０〜３１）」、「ＬＰＵ０未割り当てフラグ（０／１）」、「ＬＰＵ０割り当てＰＰＵアドレス（０〜３１）」、「ＬＰＵ１未割り当てフラグ（０／１）」、「ＬＰＵ１割り当てＰＰＵアドレス（０〜３１）」、「ＬＰＵ２未割り当てフラグ（０／１）」、「ＬＰＵ２割り当てＰＰＵアドレス（０〜３１）」、・・・、「ＬＰＵ１３未割り当てフラグ（０／１）」、「ＬＰＵ１３割り当てＰＰＵアドレス（０〜３１）」、「ＬＰＵ１４未割り当てフラグ（０／１）」、「ＬＰＵ１４割り当てＰＰＵアドレス（０〜３１）」、「ＬＰＵ１５未割り当てフラグ（０／１）」、「ＬＰＵ１５割り当てＰＰＵアドレス（０〜３１）」を含んでいる。
【００５３】
本実施形態のコントローラ１２０のＣＰＵ１２０は、このような論物変換テーブルを参照して、論理空間と物理空間の対応付けを複数領域に分けた形態で行う。
【００５４】
上記は本発明の論理−物理の対応付けの一例であり、設計者はシステムに最適となるように複数の領域に個別にＮ、Ｍの値を選択して使用することができる。
【００５５】
また、論理空間と物理空間を複数領域で対応付けて、それぞれの領域で個別の論理-物理対応付けを行う方法とホストから小さなデータの書き込みが発生した場合に対する論理-物理対応付けの方法はそれぞれ独立して使用しても有効であり、組み合わせて使用しても有効である。
【００５６】
以上説明したように、本実施形態によれば、コントローラ１２０は、ＣＰＵ１２１の制御の下、論物変換テーブル１２２に基づく不揮発性メモリユニット１１０のメモリ空間の、論理空間と物理空間の対応付けを、後で詳述するように、論理空間と物理空間とを対応付けする空間を複数領域に分けて、それぞれの領域に適した対応付け管理を行うことから、以下の効果を得ることができる。
論理空間と物理空間を複数領域で対応させ、それぞれの領域で個別の管理方法を用いることができ、システムの書き込みパフォーマンスを向上させ、不揮発性メモリの書き換え寿命の浪費を軽減することができる。
また、ホストからの小さなデータの書き込みに対しての管理方法を、設計者がシステムに対して最適な選択をできる形で提供することで、システムに合わせた書き込みパフォーマンスの向上、不揮発性メモリの書き換え寿命の浪費軽減を実現することができる。
【図面の簡単な説明】
【００５７】
【図１】一般的な不揮発性メモリシステムにおける論理空間と物理空間の対応付けを示す図である。
【図２】ある論理ブロックに物理ブロックXが対応している状態で、その論理ブロックのページ３に対して書き込みが発生したときの動作の一例を示す図である。
【図３】本発明の実施形態に係る不揮発性メモリシステムの構成例を示すブロック図である。
【図４】論理空間と物理空間との間に、仮想論理空間および仮想物理空間を設定して対応付けを行う例を概念的に示す図である。
【図５】論理−物理対応付けの第一の方法においてＮ＝２の例を示す図である。
【図６】第一の方法のＮ＝２におけるブロック内ページ単位対応付けの様子を示す図である。
【図７】論理−物理対応付けの第３の方法でＮ＝２、Ｍ＝１６におけるブロック内ページユニット単位対応付けの様子を示す図である。
【図８】図７の対応付け方法（Ｎ＝２，Ｍ＝１６）における具体的な論理ページユニットＬＰＵと物理ページユニットＰＰＵとの対応付けの移り変わりを説明するための図である。
【図９】図８（Ｅ）の状態からさらに論理ページユニットＬＰＵ３への１ページユニット（１ＰＵ）の書き込みが複数回行われて、物理ページユニットＰＰＵを使い切った状態の対応付け、並びにこの状態を物理ページユニットＰＰＵの観点から見た図である。
【図１０】図９（Ｂ）の状態からさらに論理ページユニットＬＰＵ３への１ページユニット（１ＰＵ）の書き込みが行われたときの様子を示す図である。
【図１１】本実施形態に係る第三の方法を採用した場合の、Ｎ＝２，Ｍ＝１６における論理物理変換テーブルの構成例を示す図である。
【符号の説明】
【００５８】
１００・・・不揮発性メモリシステム、１１０・・・不揮発性メモリユニット、１２０・・・コントローラ、１２１・・・ＣＰＵ、１２２・・・論理アンドレ−物理アドレス（論物）変換テーブル、１２３・・・メモリインタフェース（ＭＩ／Ｆ）、１２４・・・ホストインタフェース（ＨＩ／Ｆ）、１２５・・・データバッファ、１２６・・・ワークメモリ、１２７・・・バス。
【図１】
2007280139.tif 000003
【図２】
2007280139.tif 000004
【図３】
2007280139.tif 000005
【図４】
2007280139.tif 000006
【図５】
2007280139.tif 000007
【図６】
2007280139.tif 000008
【図７】
2007280139.tif 000009
【図８】
2007280139.tif 000010
【図９】
2007280139.tif 000011
【図１０】
2007280139.tif 000012
【図１１】
2007280139.tif 000013