(57)【要約】【課題】多値データを確実に書き込むことが困難であった。【解決手段】メモリセルは、第１ページのデータを書き込んだ後、第２ページのデータが書き込まれる。保持回路７は、第２ページのデータを書き込むとき、前記メモリセルから読み出された前記第１ページのデータを保持する。【選択図】      図２
2007094921.tif 000002
【特許請求の範囲】
【請求項１】
第１ページのデータを書き込んだ後、第２ページのデータが書き込まれるメモリセルと、
前記第２ページのデータを書き込むとき、前記メモリセルから読み出された前記第１ページのデータを保持する保持回路と
を具備することを特徴とするメモリカード。
【請求項２】
前記保持回路は、電源投入直後に第２のページのデータを書き込むとき、前記メモリセルから読み出された前記第１ページのデータを保持することを特徴とする請求項１記載のメモリカード。
【請求項３】
少なくとも第１ページ、第２ページのデータを１つのメモリセルに記憶するメモリカードの制御方法であって、
前記メモリセルに第２ページのデータを書き込むとき、前記メモリセルから前記第１ページのデータを読み出し保持することを特徴とするメモリカードの制御方法。
【請求項４】
前記第１ページのアドレスと前記第２ページのアドレスは離れていることを特徴とする請求項１記載のメモリカード又は請求項３記載のメモリカードの制御方法。
【請求項５】
前記メモリセルから前記第１ページのデータを読み出し保持することは、電源投入直後に前記第２ページのデータを書き込むときに行なわれることを特徴とする請求項３記載のメモリカードの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＮＡＮＤ型フラッシュメモリを含むメモリカードに係り、特に、１つのメモリセルに複数ビットのデータを記憶することが可能なメモリカードとその制御方法に関する。
【背景技術】
【０００２】
メモリカード等に適用されているＮＡＮＤ型フラッシュメモリは、例えば直列接続された複数のＥＥＰＲＯＭセルと選択トランジスタにより構成され、書き込まれたデータを不揮発的に記憶する。このＮＡＮＤ型フラッシュメモリにおいて、データの書き込みと読み出しは、複数のメモリセルが集合した「ページ」と呼ばれる単位で行われ、データの消去は、複数のページが集合した「ブロック」と呼ばれる単位で行われる。つまり、ＮＡＮＤ型フラッシュメモリは、「メモリセル」→「ページ」→「ブロック」と言う階層構造の集合体と見ることができる。
【０００３】
また、ＮＡＮＤ型フラッシュメモリは、２値メモリと、多値メモリとに区別することができる。２値メモリは、１つのメモリセルに、論理“０”と論理“１”の２つの値（１ビット）しか記憶できないが、多値メモリは、３つ以上の値（複数ビット）を記憶できる。
【０００４】
現状の多値メモリは、１つのメモリセルに、２ビットの値を記憶するものを指している。この２ビットの値には、通常、２つの異なるページアドレスが割り当てられている。下位ビットに割り当てられたページはロアーページ（lower page）と呼ばれ、上位ビットに割り当てられたページはアッパーページ（upper page）と呼ばれる。１つのメモリセルに２ビットのデータを書き込む場合、２回の書き込みが行なわれる。すなわち、ロアーページアドレスに相当する値の書き込みと、アッパーページアドレスに相当する値の書き込みが行なわれる。
【０００５】
現在の多値メモリの書き込み規則によれば、ロアーページを書き込んだ後に、アッパーページを書き込むことは可能であるが、アッパーページを書き込んだ後に、ロアーページを書き込むことは禁止されている。この規則に従った場合、ロアーページの書き込み時に、何らかの異常事態が発生し、メモリセルの記憶状態を破壊した場合、そのロアーページの書き込み失敗で済む。しかし、アッパーページの書き込みに失敗し、メモリセルの記憶状態を破壊した場合、ロアーページのデータも一緒に破壊してしまう。つまり、あるページの書き込みの失敗が、他のページのデータも破壊する事になる。このように書き込みに失敗した場合、再書き込みを行ない破壊されたデータを修復する必要がある。
【０００６】
従来、多値メモリではないが、データの書き込み時に電源断が発生した場合においてもデータの消失を防止したフラッシュメモリが開発されている（例えば特許文献１）。しかし、この特許文献１の技術を多値メモリに適用することは困難である。
【特許文献１】特開２００１−１５４９２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、多値データを確実に書き込むことが可能なメモリカードとその制御方法を提供しようとするものである。
【課題を解決するための手段】
【０００８】
本発明のメモリカードの態様は、第１ページのデータを書き込んだ後、第２ページのデータが書き込まれるメモリセルと、前記第２ページのデータを書き込むとき、前記メモリセルから読み出された前記第１ページのデータを保持する保持回路とを具備することを特徴とする。
【０００９】
本発明のメモリカードの制御方法の態様は、少なくとも第１ページ、第２ページのデータを１つのメモリセルに記憶するメモリカードの制御方法であって、前記メモリセルに第２ページのデータを書き込むとき、前記メモリセルから前記第１ページのデータを読み出し保持することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、多値データを確実に書き込むことが可能なメモリカードとその制御方法を提供できる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１２】
（第１の実施形態）
図２は、ホストとメモリカードとを含む構成を示すブロック図である。
【００１３】
ホスト機器（以下、ホストと称す）２０は、接続されるメモリカードをアクセスするためのハードウェア及びソフトウェア（システム）を備えている。
【００１４】
メモリカード１は、ホスト２０に接続されたときに電源供給を受けて動作し、ホスト２０からのアクセスに応じた処理を行う。このメモリカード１は、前述したようにＮＡＮＤ型フラッシュメモリ３及びコントローラ４を有している。このコントローラ４は、ＮＡＮＤ型フラッシュメモリ３内部の物理状態（何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、或いは、何処のブロックが消去状態であるか）を管理する。
【００１５】
ＮＡＮＤ型フラッシュメモリ３は、消去時のブロックサイズ（消去ブロックサイズ）が例えば２５６ｋＢｙｔｅに定められた不揮発性メモリであり、例えば２ｋＢｙｔｅ単位でデータの書き込み・読み出しを行うようになっている。このＮＡＮＤ型フラッシュメモリ３は、例えば０．０９μｍプロセス技術を用いて製作される。即ち、ＮＡＮＤ型フラッシュメモリ３のデザインルールは、０．１μｍ未満となっている。
【００１６】
コントローラ４は、前述したＣＰＵ８及びＲＯＭ９のほかに、メモリインターフェース部５、ホストインタフェース部６、バッファ７、及びＲＡＭ（Random Access Memory）１０を搭載している。
【００１７】
メモリインターフェース部５は、コントローラ４とＮＡＮＤ型フラッシュメモリ３との間のインタフェース処理を行う。ホストインタフェース部６は、コントローラ４とホスト２０との間のインタフェース処理を行う。
【００１８】
バッファ７は、ホスト２０から送られてくるデータをＮＡＮＤ型フラッシュメモリ３へ書き込む際に、一定量のデータ（例えば１ページ分）を一時的に記憶したり、ＮＡＮＤ型フラッシュメモリ３から読み出されるデータをホスト２０へ送り出す際に、一定量のデータを一時的に記憶したりする。
【００１９】
ＣＰＵ８は、メモリカード１全体の動作を司るものである。このＣＰＵ８は、例えばメモリカード１が電源供給を受けた際に、ＲＯＭ９の中に格納されているファームウェア（制御プログラム）をＲＡＭ１０上にロードして所定の処理を実行する。すなわち、ＣＰＵ８は、各種のテーブルをＲＡＭ１０上に作成したり、ホスト２０から書き込みコマンド、読み出しコマンド、消去コマンドを受けてＮＡＮＤ型フラッシュメモリ３上の該当領域をアクセスしたり、バッファ７を通じてデータ転送処理を制御したりする。
【００２０】
ＲＯＭ９は、ＣＰＵ８により使用される制御プログラムなどを格納するメモリである。ＲＡＭ１０は、ＣＰＵ８の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する揮発性メモリである。
【００２１】
バッファ７は、例えば１ページ分のデータを記憶する容量を有しており、例えばデータの書き込み時、ロアーページから読み出されたデータを保持する。
【００２２】
図３は、ＮＡＮＤ型フラッシュメモリ３の概略構成を示している。ＮＡＮＤ型フラッシュメモリ３は、複数のブロックが配列されたメモリセルアレイを有している。各ブロックはデータの消去単位であり、各ブロックには複数のメモリセルＭＣが行列状に配置されている。このＮＡＮＤ型フラッシュメモリ３のメモリセルＭＣは、多値データ例えば２ビットのデータを記憶する。図示せぬワード線に共通に接続された複数のメモリセルＭＣの集合は、複数のページを構成している。具体的には、１つのメモリセルＭＣに記憶された２ビットのデータのうち、下位ビットにロアーページ（lower page）が割り当てられ、上位ビットにアッパーページ（upper page）割り当てられている。データの書き込みおいて、先ずロアーページにデータが書き込まれ、この後、アッパーページにデータが書き込まれる。
【００２３】
ところで、近時、データの書き込み時において、隣接セル間のカップリング容量の影響により、メモリセルの閾値電圧が変動することが知られている。このため、隣接セルのカップリング容量の影響を軽減するため、ロアーページアドレスとアッパーページアドレスを離した書き込み方法が開発されている。
【００２４】
図４は、その一例を示している。例えばロアーページ“０”に対して、アッパーページ“４”が設定され、ロアーページ“１”に対して、アッパーページ“５”が設定されている。また、ロアーページ“２”に対して、アッパーページ“８”が設定され、ロアーページ“３”に対して、アッパーページ“９”が設定されている。このようにページアドレスが設定されたメモリセルの書き込み動作は次のようである。先ず、ロアーページ“０”“１”“２”“３”が書き込まれ、この後、アッパーページ“４”“５”が書き込まれる。次いで、ロアーページ“６”“７”が書き込まれ、この後、アッパーページ“８”“９”が書き込まれる。この書き込み動作は次のように定義される。すなわち、隣接するセル相互において、あるメモリセルのアッパーページを書き込む前に、このメモリセルと隣接するメモリセルのロアーページが書き込まれている。具体的には、例えばメモリセルのアッパーページ“４”を書き込む前に隣接するメモリセルのロアーページ“１”が書き込まれており、メモリセルのアッパーページ“５”を書き込む前に隣接するメモリセルのロアーページ“２”が書き込まれている。
【００２５】
第１の実施形態は、あるメモリセルのアッパーページにデータを書き込むとき、そのメモリセルのロアーページのデータを読み出して保持することにより、ロアーページデータの破壊を防止する。このため、コントローラ１の内部の例えばＲＯＭ９内に、同一のメモリセルに割り当てられたロアーページアドレスとアッパーページアドレスの対応テーブルを作成しておく。すなわち、メモリセルに対する書き込み順序を示す書き込みアドレスは、隣接セル容量を考慮して予め定められている。この予め定められたロアーページアドレスとアッパーページアドレスの対応テーブルをＲＯＭ９に記憶しておく。
【００２６】
図５は、前記テーブルＴＢの一例を示している。コントローラ１は、このテーブルＴＢに従い、アッパーページへの書き込みを行う直前に、対応するロアーページのデータをメモリセルから読み出し、バッファ７に記憶させる。このバッファ７に記憶されたデータは、アッパーページに対するデータの書き込みが完了まで保持される。
【００２７】
図１は、コントローラ１の動作を示している。図１に示すように、コントローラは、書き込みアドレスがロアーページアドレスかどうかを判別する（Ｓ１１）。この結果、ロアーページアドレスである場合、ロアーページのデータが書き込まれる（Ｓ１２）。このロアーページの書き込みにおいて、エラーが発生したかどうかが判別され（Ｓ１３）、エラーが発生した場合、エラー処理が行なわれる（Ｓ１４）。すなわち、ロアーページのデータが再度書き込まれる。ロアーページのデータは、例えばＮＡＮＤ型フラッシュメモリ３に設けられた図示せぬデータキャッシュに保持されている。このため、ロアーページのデータを確実に再書き込みすることができる。
【００２８】
一方、ステップＳ１１において、書き込みアドレスがアッパーページアドレスであると判別された場合、図５に示すテーブルを参照して、このアッパーページアドレスに対応するロアーページアドレスにより、書き込み対象のメモリセルから既に書き込まれているロアーページのデータが読み出される。この読み出されたデータは、コントローラ１内のバッファ７に記憶される（Ｓ１５）。この状態において、アッパーページのデータが書き込み対象のメモリセルに書き込まれる（Ｓ１６）。このアッパーページの書き込みにおいて、エラーが発生したかどうかが判別される（Ｓ１７）。書き込みエラーが発生しない場合、書き込みが正常終了される。
【００２９】
一方、アッパーページの書き込みにおいてエラーが発生した場合、ロアーページのデータも破壊されている。このため、先ず、バッファ１７に記憶されたロアーページのデータがメモリセルに書き込まれ（Ｓ１８）、この後、アッパーページのデータがメモリセルに書き込まれる（Ｓ１９）。アッパーページのデータは、例えばＮＡＮＤ型フラッシュメモリ３に設けられた図示せぬデータキャッシュに保持されている。このため、アッパーページのデータを確実に再書き込みすることができる。
【００３０】
上記第１の実施形態によれば、アッパーページのデータを書き込む場合、先ず、このアッパーページに対応するロアーページのデータを読み出してバッファ７にバックアップし、この後、アッパーページのデータを書き込んでいる。このため、アッパーページのデータを書き込む場合、ロアーページデータの破壊を防止することができ、多値データを確実に書き込むことができる。
【００３１】
また、バッファ７の記憶容量は、書き込み対象のメモリセルのロアーページのデータを記憶できればよい。すなわち、ロアーページアドレスとアッパーページアドレスが離れている場合においても、バッファ７は、１ページ分の記憶容量を有していればよい。したがって、チップに対するコントローラ１の占有面積を抑制することができる。
【００３２】
第１の実施形態の場合、アッパーページの書き込み時間にロアーページデータの読み出し、及び記憶時間が加算される。しかし、ロアーページデータの読み出しに、例えば１ページのデータをクロック信号に同期して高速に読み出すことが可能なシンクロナス・バースト・リード（Synchronous Burst Read）を用いることにより、読み出し時間を短縮することができ、書き込み時間全体を短縮することができる。
【００３３】
（第２の実施形態）
上記第１の実施形態は、アッパーページのデータを書き込む毎に、ロアーページのデータを読み出し、バッファ７に記憶させていた。これに対して、第２の実施形態は、例えば電源投入後、最初の書き込み時に上記動作を実行する。
【００３４】
例えばロアーページのデータを書き込み、この書き込み動作が正常終了した後、電源が切られ、その後、電源を投入した際、前記ロアーページのデータの書き込まれたメモリセルに引き続きアッパーページのデータを書き込むことがある。この場合、メモリセルに書き込まれたロアーページのデータとアッパーページのデータは、殆ど関連性のないデータである。このような書き込み形態において、アッパーページの書き込みに失敗した場合、従来は、ロアーページのデータを復旧することが困難であった。
【００３５】
そこで、第２の実施形態は、電源投入直後にアッパーページにデータを書き込むとき、上記動作を実行する。
【００３６】
図６は、第２の実施形態の動作を示している。例えばメモリカード１がホスト２０に接続され、電源が投入されると、先ず、電源投入直後の書き込みか否かが判別される（Ｓ２１）。この判別は、例えばフラグのデータに従って行なわれる。このフラグは、例えば電源投入時にセットされ、アッパーページが書き込まれた場合、リセットされるようにすればよい。最初の書き込みの場合、書き込みアドレスがロアーページか否かが判別される（Ｓ１１）。この結果、アッパーページアドレスである場合、第１の実施形態と同様にして、書き込み対象メモリセルからロアーページのデータが読み出され、バッファ７に記憶される（Ｓ１５）。この後、アッパーページのデータが書き込まれる（Ｓ１６−Ｓ１９）。
【００３７】
また、電源投入直後の書き込みであって、ロアーページのデータを書き込む場合、制御がステップＳ１１からＳ２３に移行される。
【００３８】
また、前記フラグがリセットされ、電源投入直後の書き込みではない場合、制御がステップＳ２１からＳ２２に移行される。この後、ロアーページのデータ、又はアッパーページのデータがメモリセルに書き込まれる（Ｓ２３−Ｓ２８）。この場合、アッパーページのデータを書き込む際、ロアーページのデータを読み出さない。
【００３９】
上記第２の実施形態によれば、ロアーページが書き込まれたメモリセルに対して、電源投入直後に、アッパーページのデータを書き込む場合のみ、先ずロアーページのデータを読み出してバッファ７に記憶させ、この後、アッパーページのデータを書き込んでいる。このため、電源遮断前に書き込まれたロアーページのデータを確実に保護することができる。
【００４０】
しかも、バッファ７は、１ページ分の記憶容量を有していればよいため、コントローラ１のチップ占有面積の増大を抑制することができる。
【００４１】
さらに、電源投入直後にアッパーページのデータを書き込む場合のみ、ロアーページのデータを読み出し、その後、アッパーページのデータを書き込む場合はロアーページのデータを読み出さないため、書き込み動作を高速化することが可能である。
【００４２】
（変形例１）
上記第１、第２の実施形態において、メモリセルから読み出されたロアーページのデータはバッファ７に記憶した。しかし、これに限定されるものではなく、図２に示すＣＰＵ８を介してＲＡＭ１０に記憶させるようにしてもよい。
【００４３】
（変形例２）
また、上記第１、第２の実施形態において、テーブルＴＢをＲＯＭ９内に形成したが、これに限定されるものではない。例えば、ロアーページアドレス、アッパーページアドレスを算出するための計算式をＲＯＭ９に記憶させ、この計算式を用いて計算したロアーページアドレス、アッパーページアドレスをＲＡＭ１０に記憶させてもよい。
【００４４】
（変形例３）
或いは、図２に示すように、メモリインターフェース５内に、例えばロアーページアドレスとアッパーページアドレスを変換する変換式に対応したアドレス変換回路（ＡＣ）５−１を配置し、このアドレス変換回路５−１によりアドレス算出するように構成してもよい。
【００４５】
（変形例４）
さらに、上記第１、第２の実施形態において、ロアーページアドレスとアッパーページアドレスの関係は、図３乃至図５に示したが、これに限定されるものではない。
【００４６】
例えば、図７に示すように、行及び列方向に隣接するメモリセルのカップリング容量をよるメモリセルの閾値電圧の変動を抑制するため、１つの行に配置されたメモリセルを１つおきに選択し、１つの行に２つのロアーページアドレスと、２つのアッパーページアドレスを設定した書き込み方式が開発されている。図７に示す例の場合、メモリセルＭＣ００，ＭＣ０２…がロアーページ“０”、アッパーページ“４”に設定され、メモリセルＭＣ０１、ＭＣ０３…がロアーページ“１”、アッパーページ“５”に設定されている。以下図示のように、ページアドレスが設定されている。このようにページアドレスが設定されたメモリセルの書き込み動作は次のように行なわれる。すなわち、あるメモリセルのアッパーページを書き込む前に、このメモリセルと隣接するメモリセルのロアーページを書き込む。具体的には、例えばメモリセルＭＣ００，ＭＣ０２…のアッパーページ“４”を書き込む前に隣接するメモリセルＭＣ１０、ＭＣ１２…のロアーページ“２”が書き込まれる。また、メモリセルＭＣ０１，ＭＣ０３…のアッパーページ“５”を書き込む前に隣接するメモリセルＭＣ１１、ＭＣ１３…のロアーページ“３”が書き込まれる。
【００４７】
このようにページアドレスが設定されたメモリセルに対しても、第１、第２の実施形態を適用することが可能である。すなわち、例えばメモリセルＭＣ００，ＭＣ０２…のアッパーページ“４”にデータを書き込む場合、メモリセルＭＣ００，ＭＣ０２…のロアーページ“０”に書き込まれているデータを読み出しバッファ７に記憶される。
【００４８】
この変形例によっても、第１、第２の実施形態と同様の効果を得ることができる。
【００４９】
（変形例５）
また、上記第１、第２の実施形態は１つのメモリセルに２ビット、２ページのデータを記憶する場合について説明した。しかし、これに限定されるものではなく、１つのメモリセルに３ビット、３ページ以上のデータを記憶させることも可能である。この場合、バッファ７の記憶容量をページ数-１の記憶容量に設定すればよい。
【００５０】
（変形例６）
さらに、上記第１、第２の実施形態は、アッパーページのデータを書き込む際、ロアーページのデータを読み出したが、これに限定されるものではない。
【００５１】
例えば多値メモリにおいて、アッパーページの書き込みに失敗した場合、ロアーページの情報を復元するために、ロアーページからアッパーページまでの、数ページ分のデータをバッファ７に保持してもよい。アッパーページの書き込みに失敗した場合、先ず、バッファ７に記憶された書き込みに失敗したアッパーページ対応するロアーページのデータを書き込み、この後、アッパーページのデータを書き込む。この方法によれば、アッパーページの書き込みの際にロアーページのデータを読み出す必要がない。
【００５２】
図４、図７に示すように、１つのメモリセルについて、ロアーページアドレスとアッパーページアドレスとが連続せずに離れている書き込み方式において、バッファ７の記憶容量を、例えばロアーページアドレスからアッパーページアドレスの最大間隔内に含まれるロアーページの数分のデータを記憶するための容量と、書き込むべきアッパーページのデータを保持するに必要な容量に設定する。
【００５３】
具体的には、図４に示す例の場合、ロアーページアドレス“２”とアッパーページアドレス“８”を含みこれらの間に存在するロアーページアドレスは“２”“３”“６”“７”“８”の５ページである。このため、バッファ７の記憶容量を５ページ分とする。このようにバッファ７の記憶容量を設定することにより、アッパーページアドレスに対応する書き込みが終了するまで、そのアッパーページアドレスに対応するメモリセルのロアーページアドレスのデータをバッファ７に保持することができる。したがって、バッファ７の記憶容量を大幅に増加することなく、且つ、アッパーページの書き込み時にロアーページのデータを読み出すことなく多値データを確実、且つ、高速に書き込むことが可能である。
【００５４】
（変形例７）
上記第１、第２の実施形態及び各変形例はＮＡＮＤ型フラッシュメモリについて説明したが、本発明はこれに限らず、多値データを記憶するＮＯＲ型フラッシュメモリ等に適用することも可能である。
【００５５】
また、上記第１、第２の実施形態及び各変形例は、４値（２ビット）の場合について説明した。しかし、４値に限らず、８値（３ビット）以上のデータを記憶するＮＡＮＤ型フラッシュメモリに本発明を適用することも可能である。
【００５６】
その他、本発明の要旨を変えない範囲において種々変形実施可能なことは勿論である。
【図面の簡単な説明】
【００５７】
【図１】第１の実施形態の動作を示すフローチャート。
【図２】第１の実施形態が適用されるメモリカードの一例を示す図。
【図３】第１の実施形態が適用されるメモリカードの一例を示す図。
【図４】第１の実施形態が適用されるメモリカードの他の例を示す図。
【図５】第１の実施形態が適用されるテーブルの一例を示す図。
【図６】第２の実施形態の動作を示すフローチャート。
【図７】メモリカードの変形例を示す図。
【符号の説明】
【００５８】
１…メモリカード、３…ＮＡＮＤ型フラッシュメモリ、４…コントローラ、７…バッファ、８…ＣＰＵ、ＴＢ…テーブル。
【図１】
2007094921.tif 000003
【図２】
2007094921.tif 000004
【図３】
2007094921.tif 000005
【図４】
2007094921.tif 000006
【図５】
2007094921.tif 000007
【図６】
2007094921.tif 000008
【図７】
2007094921.tif 000009