(57)【特許請求の範囲】
【請求項１】
ｎビットの物理ブロックを消去単位とし、３ビット／セルの８値データ記憶を行う、電気的書き換え可能な不揮発性メモリを、前記物理ブロックの容量より大きい２のべき乗で表されるｍビットの論理ブロック単位でアドレス管理を行う半導体メモリの制御方法であって、
前記論理ブロックを、先頭アドレスから連続するｎビット部分を第１の管理単位として前記不揮発性メモリの物理ブロックに対応させ、残りの端数部分を第２の管理単位として複数個まとめて一つの物理ブロックに対応させる、というアドレス管理を行う
ことを特徴とする半導体メモリの制御方法。
【請求項２】
前記不揮発性メモリは、直列接続された複数の不揮発性メモリセルを含むＮＡＮＤストリングを配列してメモリセルアレイが構成されたフラッシュメモリである
ことを特徴とする請求項１記載の制御方法。
【請求項３】
前記不揮発性メモリの物理ブロックが３Ｍバイト、前記論理ブロックが４Ｍバイトであって、前記第１の管理単位を３Ｍバイトとし、前記第２の管理単位１Ｍバイトを３個まとめて一つの物理ブロックに対応させる
ことを特徴とする請求項１記載の制御方法。
【請求項４】
前記不揮発性メモリは、メモリコントローラと共に搭載されてメモリカードを構成する
ことを特徴とする請求項１記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体メモリの制御方法に係り、特に８値データ記憶を行うフラッシュメモリのアドレス管理システムに関する。
【背景技術】
【０００２】
電気的書き換え可能な不揮発性半導体記憶装置（ＥＥＰＲＯＭ）の一つとして、ＮＡＮＤ型フラッシュメモリが知られている。近年、ＮＡＮＤ型フラッシュメモリの微細化・大容量化が進み、ビデオカメラや携帯電話等における動画等の記録用途での需要が増えている。
【０００３】
ＮＡＮＤ型フラッシュメモリは、ブロック単位でしかデータ消去できない。通常ＮＡＮＤ型フラッシュメモリを使用した制御システムでは、１乃至複数の物理ブロックを単位論理ブロックとして、論理アドレスと物理アドレスの対応をとるのが一般的である。
【０００４】
有効データのない、大きな論理空間に対してシーケンシャルに動画記録等を行うためには、ホスト機器側では例えば４ＭＢといったアロケーションユニット（Ａｌｏｃａｔｉｏｎ  Ｕｎｉｔ：ＡＵ）なる論理ブロック単位を用いることが行われる（例えば特許文献１参照）。ＡＵは、制御のしやすさから、２のべき乗の容量サイズとするのが一般的である。
【０００５】
ＮＡＮＤ型フラッシュメモリは、２値記憶（１ビット／セル）或いは４値記憶（２ビット／セル）の場合は、消去単位である物理ブロックのサイズが２のべき乗で表される。しかし８値記憶（３ビット／セル）になると、物理ブロックサイズが２のべき乗とはならず、ホスト機器の論理ブロックサイズとのミスマッチが生じる。
【０００６】
この結果、動画の連続記録等を行う場合に、フラッシュメモリ内でしばしばコピー動作が必要となるケースが生じ、書き込み性能が低下する可能性がある。
【特許文献１】特開２００６−１７８９２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明は、物理ブロックと論理ブロックのミスマッチに起因する書き込み性能低下を防止することを可能とした半導体メモリの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の一態様による半導体メモリの制御方法は、ｎビットの物理ブロックを消去単位とする半導体メモリを、前記物理ブロックの容量より大きい２のべき乗で表されるｍビットの論理ブロック単位でアドレス管理を行うものであって、
前記論理ブロックを、先頭アドレスから連続するｎビット部分を第１の管理単位として前記半導体メモリの物理ブロックに対応させ、残りの端数部分を第２の管理単位として複数個まとめて一つの物理ブロックに対応させる、というアドレス管理を行う
ことを特徴とする。
【発明の効果】
【０００９】
この発明によれば、物理ブロックと論理ブロックのミスマッチに起因する書き込み性能低下を防止することを可能とした半導体メモリの制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、この発明の実施の形態を説明する。
【００１１】
［メモリ制御システム］
図１は、一実施の形態によるＮＡＮＤ型フラッシュメモリシステムを示している。ＮＡＮＤ型フラッシュメモリ２とメモリコントローラ３とを一体化してメモリカード１が構成されている。ホスト機器４は、例えばビデオカメラ等の携帯機器であって、メモリカード１を搭載してこれに動画等の記録を行うことを想定している。
【００１２】
図２は、ＮＡＮＤ型フラッシュメモリ２の構成を示している。メモリセルアレイ１１は、図３に示すように、複数の電気的書き換え可能な不揮発性メモリセルＭＣ０−ＭＣ６３を直列接続したＮＡＮＤストリングＮＵを配列して構成されている。ＮＡＮＤストリングＮＵの一端は、選択ゲートトランジスタＳ１を介してビット線ＢＬに、他端は選択ゲートトランジスタＳ２を介して共通ソース線ＣＥＬＳＲＣに接続されている。
【００１３】
メモリセルＭＣ０−ＭＣ６３の制御ゲートはそれぞれ、ワード線ＷＬ０−ＷＬ６３に接続され、選択ゲートトランジスタＳ１，Ｓ２のゲートはそれぞれ、選択ゲート線ＳＧＤ，ＳＧＳに接続されている。ワード線を共有するＮＡＮＤストリングの集合は、データ消去単位となる物理ブロックを構成する。図３に示すように、ビット線方向に複数のブロックＢＬＫ０−ＢＬＫｍ−１が配置される。
【００１４】
メモリセルアレイ１１のワード線や及び選択ゲート線を選択駆動するのが、ロウデコーダ１２であり、メモリセルアレイ１１のビット線に接続されてデータセンスを行い、書き込みデータを保持してビット線制御を行うのが、センスアンプ回路１３である。
【００１５】
センスアンプ回路１３は、図３の例では、各ビット線ごとに設けられたセンスアンプＳＡを有する。即ち、１ワード線により選択されるメモリセルの集合を物理的な１ページとして、センスアンプ回路１３は、ページ単位でのデータ読み出し及び書き込みを行う。
【００１６】
センスアンプ回路１３による１ページの読み出しデータは、カラムデコーダ１４によりカラム単位でデータ線に転送され、Ｉ／Ｏバッファ１５を介してＩ／Ｏパッドに出力される。１ページの書き込みデータは同様に、カラム単位で入力されて、センスアンプ回路１３にロードされる。
【００１７】
コマンドＣＭＤ及びアドレスＡｄｄは、Ｉ／Ｏバッファ１５を介してそれぞれ内部コントローラ１６及びアドレスレジスタ１７に取り込まれる。内部コントローラ１６は、コマンドＣＭＤをデコードし、外部制御信号に従って、読み出し制御、書き込みや消去のシーケンス制御を行う。アドレスＡｄｄは、アドレスレジスタ１７を介してロウデコーダ１２及びカラムデコーダ１４に送られる。
【００１８】
読み出し、書き込み及び消去の各動作モードで必要とされる高電圧を発生するために、高電圧発生回路１８が設けられている。この高電圧発生回路１８もコントローラ１６により制御される。
【００１９】
ＮＡＮＤ型フラッシュメモリ２は、この実施の形態では、例えば図４に示すような８値データ記憶を行う場合を想定している。図４は、２データレベル（２ＬＣ）を得る下位ページ書き込み、中間の４データレベル（４ＬＣ）を得る中間ページ書き込み、及び８データレベル（８ＬＣ）を得る上位ページ書き込みにより、８値データを規定するしきい値分布レベルＥ０，Ａ−Ｇが書かれる例を示している。
【００２０】
下位ページ書き込みは、消去状態（負のしきい値状態）のレベルＥ０のメモリセルに選択的に、所定の正のしきい値レベルＬＭを書き込む。中間ページ書き込みでは、レベルＥ０のセルに選択的に、レベルＭＡを書き込み、レベルＬＭのセルにレベルＭＢ又はＭＣを書き込む。但し、Ｅ０＜ＭＡ＜ＭＢ＜ＭＣである。上位ページ書き込みでは、レベルＭＡのセルをレベルＡ又はＢに、レベルＭＢのセルをレベルＣ又はＤに、レベルＭＣのセルをレベルＥ，Ｆ又はＧに遷移させる。
【００２１】
これにより、上位ページビットをＵＰ、中間ページビットをＭＰ、下位ページビットをＬＰとして、８値データを（ＵＰ，ＭＰ，ＬＰ）で表すものとして、次のような８値データが得られる。Ｅ０＝（１，１，１），Ａ＝（０，１，１），Ｂ＝（０，０，１），Ｃ＝（１，０，１），Ｄ＝（１，０，０），Ｅ＝（０，０，０），Ｆ＝（０，１，０），Ｇ＝（１，１，０）。
【００２２】
但し、上述した８値データビットの割り付け例及び書き込み法は、あくまでも一例であり、この発明はこれに限定されるものではない。
【００２３】
［解決課題］
以上のようなフラッシュメモリ制御システムにおいて、フラッシュメモリが８値データ記憶を行うために、ホスト機器側の論理ブロックとのミスマッチによる問題を具体的に説明する。
【００２４】
例えば、図３で説明した物理ブロック（消去ブロック）ＢＬＫｊが、６４本のワード線ＷＬと３２ｋ＋α本のビット線ＢＬで構成される場合を想定する。ここで、αは、誤り訂正のために付加されるＥＣＣ用カラム、その他の管理カラムである。この場合、ホスト機器４からメモリカード１に書かれるデータを格納するブロックサイズは、２値データ記憶の場合であれば、６４×３２ビット＝２５６キロバイト（ｋＢ）となり、４値記憶では５１２ｋＢであるが、８値記憶では、７６８ｋＢとなる。
【００２５】
通常ＮＡＮＤ型フラッシュメモリを使用した制御システムでは一般に、1つないし複数の物理ブロック単位で論理アドレスと物理アドレスの対応をとるが、その単位を論理ブロックと呼ぶ。上述の８値ＮＡＮＤフラッシュメモリを使用した制御システムでは、1つの物理ブロックを最小単位とした場合、論理ブロックサイズは７６８ｋＢとなり、図５に示すようなホスト機器とフラッシュメモリとの間で論理アドレス／物理アドレス対応となる。
【００２６】
ホスト機器は、直接フラッシュメモリ２の物理アドレス管理を行うことはない。即ちメモリコントローラ３は、データ書き換えのたびに書き換えられる論理アドレス／物理アドレス変換テーブルを持ち、ホスト機器は論理アドレスのみを用いてメモリアクセスを行うことになる。
【００２７】
以上のようなＮＡＮＤ型フラッシュメモリを用いた記憶システムにおいては、概ね、ＦＡＴファイルシステムが用いられる。そのため、必要がなくなったファイルデータは、消去せずにＦＡＴをクリアし、新たなファイルデータを書き込むときはデータ領域に上書きされる。この種のメモリ制御システムでは、書き込まれているデータが有効なのか無効なのかの判断即ち、ＦＡＴを覗き見ての判断は一般的に行わない。
【００２８】
上述のＮＡＮＤ型フラッシュメモリを用いたメモリ制御システムでは、ホスト機器側の論理ブロックサイズとメモリの物理ブロックサイズのミスマッチにより、しばしばコピー動作が必要となる。このようなコピー動作は、ホスト機器からのデータ転送を待機させることになってしまい、ホスト機器側のバッファで待ち時間を吸収できなければ、動画記録等を中断せざるを得ない。
【００２９】
図６は、８値データ記憶のフラッシュメモリの物理ブロックが７６８ｋＢであり、ホスト機器がアロケーションユニット（ＡＵ）サイズが４メガバイト（ＭＢ）であり、使用済みのＡＵ０，２を避けて未使用のＡＵ１，３に順に動画を記憶しようとした例を示している。
【００３０】
この場合、物理ブロック５，１０において、使用済みのＡＵ領域のデータを含むものとすると、これらの物理ブロック５，１０の破線で示す領域の有効データを他の領域に退避させるためのコピーを行う必要がある。即ち書き込みのためには、ブロック５，１０を消去することが必要であり、それらの有効データを消失させないためには、引越しコピーが必要となる。
【００３１】
ホスト側のバッファサイズやＮＡＮＤ型フラッシュメモリシステムの書き込み性能によっては、このようなコピー動作に起因して動画記録を継続的に行うことができなくなる可能性がある。２のべき乗で表記できない単位で論理／物理アドレス対応を取っているＮＡＮＤメモリ制御システムを使用する場合、現実的には書込みを行う動画サイズ分だけ連続したアドレスのＡＵを確保せざるを得ないが、そのような使用方法はユーザーに対して制約を加えるもので、利便性を大きく損なう。
【００３２】
図７は、より悪いケースを示している。これは、８値データ記憶のフラッシュメモリの物理ブロックが３ＭＢであり、ホスト機器の論理ブロックであるＡＵが、４ＭＢの場合である。このとき、３つのＡＵと４つの物理ブロックとが対応して同じ容量が同じになるが、一つのＡＵは必ず２つのＮＡＮＤ物理ブロックにまたがる。
【００３３】
図示のように、最初のＡＵ０を書き込んだ後、一つ飛んだＡＵ２に書き込みを行うものとして、最初のＡＵ０書き込みのためには、二つ目の物理ブロックＢＬＫ１の破線で示す２ＭＢのデータをコピー読み出しで退避させる必要があり、同様に３つ目のＡＵ２の書き込みのためには、物理ブロックＢＬＫ２の破線で示す２ＭＢのデータをコピー読み出しで退避させることが必要になる。即ち二つのＡＵの書き込みのために、４ＭＢのコピー動作が発生する。
【００３４】
一方、８値ＮＡＮＤフラッシュメモリの物理ブロック７６８ｋＢに対して、論理ブロックサイズをその１／３の２５６ｋＢに設定したとする。この場合、アクセス単位が２のべき乗の２５６ｋＢとなるので、上述のような端数データのコピー動作が必要なくなる。
【００３５】
しかし、消去単位は７６８ｋＢであるため、不要となったデータが残されている領域（ガベージ）をどこかで集約して、空き領域を確保するためのするガベージコレクションが必要となる。従って結果として、動画記録中にコピー動作が発生しうる。
【００３６】
その様子を、図８を参照して説明する。ここでは例として、ＮＡＮＤ型フラッシュメモリが各７６８ｋＢの４つの物理ブロックＢＬＫ０−３を有し、論理ブロックサイズが物理ブロックサイズの１／３であって、このメモリに対して８単位の論理ブロックＡ０−Ａ７が割り当てられるものとする簡易モデルである。
【００３７】
この場合、ランダムに書込みが発生すれば、メモリ内の物理ブロックに有効データが分散して、消去済みの物理ブロックが次第に少なくなり、そのままではいずれ消去ブロックがなくなる。これを防ぐため、有効データの少なくなった物理ブロック内の有効データを別の消去済み物理ブロックにコピーし、コピー元の物理ブロックを消去して使用するというガベージコレクションを行う必要がある。
【００３８】
具体的に説明すると、初期状態（ａ）では、物理ブロックＢＬＫ０，ＢＬＫ１の全て、及びＢＬＫ２の２／３までに、Ａ０−Ａ７なる論理ブロックデータが書かれているものとする。Ａ１データ更新（ｂ）では、その更新データを例えばブロックＢＬＫ２の空いている残り１／３の領域に書き込む。同様に、Ａ５データ更新（ｃ）では、その更新データを例えばブロックＢＬＫ３の領域に書き込む。更にＡ０データ更新（ｄ）では、その更新データを例えばブロックＢＬＫ３に書き込む。
【００３９】
以上のデータ更新の結果、それぞれの破線で示す旧データ（Ａ０，Ａ１，Ａ５）は、無用のデータ（ガベージ）となる。ここまでのデータ更新で、メモリの残り容量が少なくなっているので、ガベージコレクションを行う。即ち、コピー動作（ｅ）として、ブロックＢＬＫ０内の有効データ（Ａ２データ）を読み出して、ブロックＢＬＫ３の残り領域にコピー書き込みを行う。これにより、ブロックＢＬＫ０は全て無用なデータとなるので、消去動作（ｆ）でブロックＢＬＫ０を消去する。
【００４０】
以上のようにして、ＮＡＮＤメモリ内の有効データを整理して空き領域を確保することができる。しかしこのガベージコレクションは、メモリの内部コピー動作であるので、やはりホスト機器の動画書込み性能を妨げるものとなる。
【００４１】
［実施態様］
図９は、以上のような難点を解決する実施の形態の論理／物理アドレス対応を示す図である。即ち８値ＮＡＮＤフラッシュメモリが３ＭＢの物理ブロックＢＬＫｊを持ち、ホスト機器側が論理ブロックとして４ＭＢのアロケーションユニット（ＡＵｉ）を持つ場合に、ＡＵｉを４分割して、１ＭＢの管理単位で管理する。
【００４２】
即ち、アロケーションユニットＡＵ０，ＡＵ１，ＡＵ２の各先頭アドレスから連続する３ＭＢは、第１の管理単位として、それぞれＮＡＮＤメモリの物理ブロック（３ＭＢ）ＢＬＫ０，ＢＬＫ１，ＢＬＫ２に割り当てる。一方これら３つのアロケーションユニットの端数１ＭＢは第２の管理単位として、３つをまとめて、一つの物理ブロックＢＬＫ３に対応させる。
【００４３】
このようなアドレス管理を行うと、見かけ上ＡＵｉとＮＡＮＤ物理ブロックＢＬＫｊの境界のミスマッチを隠すことができる。また、ＡＵ単位の書き込みがジャンプしても、ガベージコレクションのためのコピーは１回の２ＭＢコピーで済む。
【００４４】
例えば、図１０は、１つ目のＡＵ０から４つ目のＡＵ３へと更新書き込みが遷移した場合を示している。前提として、ＡＵ０−ＡＵ２には、図９で説明した論理／物理アドレス対応に従って書かれた有効データがあり、これが図９で説明したアドレス対応に従ってブロックＢＬＫ０−ＢＬＫ３に保持されているものとする。
【００４５】
最初のＡＵ０の更新データのうち、先頭アドレスから連続する３ＭＢ（第１の管理単位）については、（１）新たな消去ブロックＢＬＫ４を用意して書き込み、（２）対応する旧データが書かれているブロックＢＬＫ０は消去すればよい。（３）残りの１ＭＢデータ（第２の管理単位）は、やはり新しいブロックＢＬＫ５を用意して書き込む。
【００４６】
この段階でブロックＢＬＫ３には、２つ目と３つ目のＡＵ１，２の端数データ１，２が有効データとして残っている。１つ目のＡＵ０の端数データも残されているが、これはすでに更新されてブロックＢＬＫ５に書かれたので、無用なデータである。そこで、４つ目のＡＵ３の書き込みを行うに先立って、ガベージコレクションを行う。
【００４７】
即ち、（４）ブロックＢＬＫ３に残されている有効な端数データ１，２を、先にＡＵ０の更新の端数データが書かれたブロックＢＬＫ５にコピー書き込みする。ここで、２ＭＢのコピーが発生する。そして、（５）ガベージブロックＢＬＫ３を消去する。
【００４８】
４つ目のＡＵ３のデータ書き込みは、その３ＭＢを例えばガベージコレクションで空けたブロックＢＬＫ３に書き込み、端数データは更に別の空いているブロックに書き込む。
【００４９】
図１１は、最初のユニットＡＵ０から順番にＡＵ１，ＡＵ２へと連続的に更新書き込みを行う場合を示している。このとき、フラッシュメモリ側の物理ブロックＢＬＫ０−２は空いているものとして、（１）ＡＵ０の更新書き込みデータのうち先頭３ＭＢをブロックＢＬＫ０に書き込み、（２）その端数データをブロックＢＬＫ３に書き込み、（３）ＡＵ１の更新書き込みデータのうち先頭３ＭＢをブロックＢＬＫ１に書き込み、（４）その端数データをブロックＢＬＫ３に書き込み、（５）ＡＵ２の更新書き込みデータのうち先頭３ＭＢをブロックＢＬＫ２に書き込み、（６）その端数データをブロックＢＬＫ３に書き込む。
【００５０】
このように連続書き込みを行った後、ＡＵ０−ＡＵ２の旧データが書かれているＮＡＮＤ物理ブロックを消去すれば、コピーは発生しない。つまり連続書き込みにおいてはコピーのオーバーヘッドが生じないので最高性能は落ちない。
【００５１】
上記実施の形態では、フラッシュメモリの物理ブロックサイズが３ＭＢ、ホスト機器側の論理ブロックサイズが４ＭＢの例を挙げた。この発明はより一般的に言えば、ｎビットの物理ブロックを消去単位とする半導体メモリを、物理ブロックの容量より大きい２のべき乗で表されるｍビットの論理ブロック単位でアドレス管理を行う半導体メモリの制御方法であって、論理ブロックを、先頭アドレスから連続するｎビット部分を第１の管理単位として半導体メモリの物理ブロックに対応させ、残りの端数部分を第２の管理単位として複数個まとめて一つの物理ブロックに対応させる、というアドレス管理を行うものであり、これにより上記実施の形態と同様の効果が得られる。
【図面の簡単な説明】
【００５２】
【図１】実施の形態によるＮＡＮＤ型フラッシュメモリ制御システムを示す図である。
【図２】同フラッシュメモリの機能ブロック構成を示す図である。
【図３】同フラッシュメモリのメモリセルアレイ構成を示す図である。
【図４】同フラッシュメモリの８値データ記憶方式のデータしきい値分布を示す図である。
【図５】ホスト機器とフラッシュメモリの論理／物理アドレス対応例を示す図である。
【図６】ホスト機器の論理ブロックサイズとフラッシュメモリの物理ブロックサイズのミスマッチによりコピー動作が必要となる様子を示す図である。
【図７】同様のコピー動作が必要となるより悪いケースを示す図である。
【図８】ガベージコレクションのためのコピー動作を説明するための図である。
【図９】実施の形態による論理／物理アドレス対応を示す図である。
【図１０】論理ブロックジャンプを伴う書き込み例を示す図である。
【図１１】シーケンシャル書き込み例を示す図である。
【符号の説明】
【００５３】
１…メモリカード、２…ＮＡＮＤ型フラッシュ種メモリ、３…メモリコントローラ、４…ホスト機器、１１…メモリセルアレイ、１２…ロウデコーダ、１３…センスアンプ回路、１４…カラムデコーダ、１５…Ｉ／Ｏバッフア、１６…内部コントローラ、１７…アドレスレジスタ、１８…高電圧発生回路。
【図１】
0005166118.tif 000002
【図２】
0005166118.tif 000003
【図３】
0005166118.tif 000004
【図４】
0005166118.tif 000005
【図５】
0005166118.tif 000006
【図６】
0005166118.tif 000007
【図７】
0005166118.tif 000008
【図８】
0005166118.tif 000009
【図９】
0005166118.tif 000010
【図１０】
0005166118.tif 000011
【図１１】
0005166118.tif 000012