(57)【要約】【課題】コントローラから不揮発性半導体メモリへのデータ転送時間を短縮する。【解決手段】実施形態に係わるメモリシステムは、ｘ（ｘは３以上の整数）ビットを記憶する複数のメモリセルを有し、２ｘ個の閾値分布にビット割り付けが行われるメモリセルアレイ１１を備える不揮発性半導体メモリ１と、書き込み時に不揮発性半導体メモリ１の動作を制御するコントローラ２とを備える。コントローラ２は、第１、第２及び第３ステップにより書き込みを実行し、第１ステップにより２ｙ個（ｙは整数、かつ、ｙ＜ｘ）の閾値分布を生成し、第２及び第３ステップにより２ｘ個の閾値分布を生成し、第１ステップ時にｘビットに基づいて２ｙ個の閾値分布を生成するためのｙビットを生成するデータ変換回路２２を備え、第１ステップ時にｙビットを不揮発性半導体メモリ１に転送する。【選択図】図１
2012048791.tif 000002
【特許請求の範囲】
【請求項１】
ｘ（ｘは３以上の整数）ビットを記憶する複数のメモリセルを有し、２ｘ個の閾値分布にビット割り付けが行われるメモリセルアレイと、前記複数のメモリセルに対する前記ｘビットの書き込みを制御する制御回路とを備える不揮発性半導体メモリと、
前記書き込み時に前記不揮発性半導体メモリの動作を制御するコントローラと、
前記不揮発性半導体メモリと前記コントローラとを接続するデータバスとを具備し、
前記コントローラは、
第１、第２及び第３ステップにより前記書き込みを実行し、
前記第１ステップにより２ｙ個（ｙは整数、かつ、ｙ＜ｘ）の閾値分布を生成し、前記第２及び第３ステップにより前記２ｘ個の閾値分布を生成し、
前記第１ステップ時に、前記ｘビットに基づいて前記２ｙ個の閾値分布を生成するためのｙビットを生成するデータ変換回路を備え、
前記第１ステップ時に、前記ｙビットを前記不揮発性半導体メモリに転送する
ことを特徴とする多値不揮発性半導体メモリシステム。
【請求項２】
ｘ（ｘは３以上の整数）ビットを記憶する複数のメモリセルを有し、２ｘ個の閾値分布にビット割り付けが行われるメモリセルアレイと、前記複数のメモリセルに対する前記ｘビットの書き込みを制御する制御回路とを備える不揮発性半導体メモリと、
前記書き込み時に前記不揮発性半導体メモリの動作を制御するコントローラと、
前記不揮発性半導体メモリと前記コントローラとを接続するデータバスとを具備し、
前記コントローラは、
第１、第２及び第３ステップにより前記書き込みを実行し、
前記第１ステップにより２ｙ個（ｙは整数、かつ、ｙ＜ｘ）の閾値分布を生成し、前記第２ステップにより２ｗ個（ｗは整数、かつ、ｙ＜ｗ＜ｘ）の閾値分布を生成し、前記第３ステップにより前記２ｘ個の閾値分布を生成し、
前記第１ステップ時に、前記ｘビットに基づいて前記２ｙ個の閾値分布を生成するためのｙビットを生成し、前記第２ステップ時に、前記ｘビットに基づいて前記２ｗ個の閾値分布を生成するためのｗビットを生成するデータ変換回路を備え、
前記第１ステップ時に、前記ｙビットを前記不揮発性半導体メモリに転送し、前記第２ステップ時に、前記ｗビットを前記不揮発性半導体メモリに転送する
ことを特徴とする多値不揮発性半導体メモリシステム。
【請求項３】
前記データ変換回路は、前記第１ステップ時に、前記ｘビットのうちのｚビット（ｚは整数、かつ、ｚ＜ｘ）に基づいて前記ｙビットを生成することを特徴とする請求項１又は２に記載の多値不揮発性半導体メモリシステム。
【請求項４】
前記ビット割り付けは、前記２ｘ個の閾値分布のうち、隣接する２つの閾値分布に割り付けられた前記ｘビットのうちの１ビットが異なること、かつ、前記２ｘ個の閾値分布に割り付けられた前記ｘビットのうちの１ビットの群からなるページデータの並びに“０”と“１”の変化点を２箇所以上有すること、を条件に決定されることを特徴とする請求項１乃至３のいずれか１項に記載の多値不揮発性半導体メモリシステム。
【請求項５】
前記２ｘ個の閾値分布は、前記コントローラから前記不揮発性半導体メモリに前記ｘビットを転送することにより生成されることを特徴とする請求項１乃至４のいずれか１項に記載の多値不揮発性半導体メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、多値不揮発性半導体メモリシステムに関する。
【背景技術】
【０００２】
近年の不揮発性半導体メモリは、大容量化を実現するために、１つのメモリセルに複数ビットを記憶する多値化技術を採用する。しかし、この技術は、一定の電圧範囲内の複数の閾値分布のマージンが小さく、誤書き込み／誤読み出しといった問題を併発する。そこで、多値化技術と共に、誤ったデータを正しいデータに訂正する誤り訂正技術を採用し、不揮発性半導体メモリの高信頼性を実現する。
【０００３】
ところが、多値化技術のもう一つの弊害である書き込み時間の増大は、十分な解決策が見出されていない。例えば、１つのメモリセルに記憶するビット数が、３ビット、４ビット、５ビットという具合に増えると、これに比例して、コントローラから不揮発性半導体メモリに書き込みデータを転送する時間も増大する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−６５９３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
実施形態は、書き込み時におけるコントローラから不揮発性半導体メモリへのデータ転送時間を短縮する技術について提案する。
【課題を解決するための手段】
【０００６】
実施形態によれば、多値不揮発性半導体メモリシステムは、ｘ（ｘは３以上の整数）ビットを記憶する複数のメモリセルを有し、２ｘ個の閾値分布にビット割り付けが行われるメモリセルアレイと、前記複数のメモリセルに対する前記ｘビットの書き込みを制御する制御回路とを備える不揮発性半導体メモリと、前記書き込み時に前記不揮発性半導体メモリの動作を制御するコントローラと、前記不揮発性半導体メモリと前記コントローラとを接続するデータバスとを具備し、前記コントローラは、第１、第２及び第３ステップにより前記書き込みを実行し、前記第１ステップにより２ｙ個（ｙは整数、かつ、ｙ＜ｘ）の閾値分布を生成し、前記第２及び第３ステップにより前記２ｘ個の閾値分布を生成し、前記第１ステップ時に、前記ｘビットに基づいて前記２ｙ個の閾値分布を生成するためのｙビットを生成するデータ変換回路を備え、前記第１ステップ時に、前記ｙビットを前記不揮発性半導体メモリに転送する。
【図面の簡単な説明】
【０００７】
【図１】メモリシステムのブロック図。
【図２】ビット割り付けの例を示す図。
【図３】第１実施形態の書き込みステップを示すフローチャート。
【図４】第１乃至第３ステップでの閾値分布を示す図。
【図５】第１ステップを示すフローチャート。
【図６】データ変換回路の例を示す図。
【図７】図６の真理値表を示す図。
【図８】第２ステップを示すフローチャート。
【図９】第３ステップを示すフローチャート。
【図１０】第１乃至第３ステップでの閾値分布を示す図。
【図１１】第１ステップを示すフローチャート。
【図１２】データ変換回路の例を示す図。
【図１３】図１２の真理値表を示す図。
【図１４】第２実施形態の書き込みステップを示すフローチャート。
【図１５】第１乃至第３ステップでの閾値分布を示す図。
【図１６】第１ステップを示すフローチャート。
【図１７】データ変換回路の例を示す図。
【図１８】図１７の真理値表を示す図。
【図１９】第２ステップを示すフローチャート。
【図２０】第３ステップを示すフローチャート。
【図２１】第３実施形態の書き込みステップを示すフローチャート。
【図２２】第１乃至第３ステップでの閾値分布を示す図。
【図２３】第１ステップを示すフローチャート。
【図２４】第２ステップを示すフローチャート。
【図２５】図１７の真理値表を示す図。
【図２６】第３ステップを示すフローチャート。
【図２７】第１乃至第３ステップでの閾値分布を示す図。
【図２８】第１ステップを示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら実施形態を説明する。
【０００９】
１．  多値不揮発性半導体メモリシステム  
(1)   ブロック構成  
図１は、多値不揮発性半導体メモリシステムの例を示している。  
本例のメモリシステムは、不揮発性半導体メモリ（例えば、ＮＡＮＤフラッシュメモリ）１と、不揮発性半導体メモリ１の動作を制御するコントローラ２とを備える。
【００１０】
不揮発性半導体メモリ１の構成は、以下の通りである。
【００１１】
ワード線制御回路１２は、メモリセルアレイ１１の第１方向（複数のワード線が延びる方向）の一端に配置され、複数のワード線を駆動する。ワード線制御回路１２は、ロウデコーダを含み、かつ、選択ゲート線を駆動する選択ゲート線ドライバを含む。
【００１２】
センスアンプ回路１３は、メモリセルアレイ１１の第２方向（複数のビット線が延びる方向）の一端に配置され、セルデータの読み出し／書き込みに使用される。セルデータの読み出し／書き込みは、例えば、ページ単位で行われる。また、センスアンプ回路１３は、多値データの読み出し／書き込みのために、複数のラッチ回路を有する。
【００１３】
カラムデコーダ１４は、センスアンプ回路１３とデータ入出力バッファ１５との間で読み出し／書き込みデータをシリアル転送するために、複数のカラム（ビット線）のうちの１つを選択する。
【００１４】
入出力制御回路１６は、不揮発性半導体メモリ１とデータバス３０との間のデータの入出力を制御する。例えば、書き込みデータは、コントローラ２から、入出力制御回路１６及びデータ入出力バッファ１５を介して、センスアンプ回路１３にロードされる。
【００１５】
コントローラ２からのコマンドは、制御回路１７に入力され、そこでデコードされる。また、外部制御信号は、制御回路１７に入力される。外部制御信号は、チップイネーブル信号／ＣＥ、書き込みイネーブル信号／ＷＥ、読み出しイネーブル信号／ＲＥ、アドレスラッチイネーブル信号ＡＬＥ及びコマンドラッチイネーブル信号ＣＬＥを含む。
【００１６】
制御回路１７は、外部制御信号及びコマンドに基づいて、多値データの読み出し／書き込み／消去を制御する。
【００１７】
アドレス信号は、アドレスデコーダ１８に入力され、ワード線制御回路１２及びカラムデコーダ１４に転送される。制御電圧生成回路１９は、多値データの読み出し／書き込み／消去に必要な電圧を生成する。
【００１８】
コントローラ２の構成は、以下の通りである。
【００１９】
入出力制御回路２３は、コントローラ２とデータバス３０との間のデータの入出力を制御する。ｘページデータキャッシュ２１は、例えば、書き込みデータとしてのｘビット（ｘは３以上の整数）を一時保存する。
【００２０】
データ変換回路２２は、書き込みデータとしてのｘビットを、ｙビット（ｙは整数、かつ、ｙ＜ｘ）に変換する機能を有する。
【００２１】
本例では、１つのメモリセルにｘビットを記憶させるとき、２ｘ個の閾値分布にビット割り付けを行う。そして、例えば、コントローラ２は、第１、第２及び第３ステップにより書き込みを実行し、第１ステップにより２ｙ個の閾値分布を生成し、第２ステップ後の第３ステップにより２ｘ個の閾値分布を生成する。
【００２２】
データ変換回路２２は、第１ステップ時に、書き込みデータとしてのｘビットに基づいて２ｙ個の閾値分布を生成するためのｙビットを生成するために使用される。データ変換回路２２において生成されたｙビットは、データバス３０を介して不揮発性半導体メモリ１に転送される。
【００２３】
(2)   ビット割り付け(Bit assignment)の例  
本例では、１つのメモリセルにｘビット（ｘは３以上の整数）を記憶させる場合のビット割り付けの例を説明する。図２のビット割り付けは、ｘ＝３の場合の例である。
【００２４】
ビット割り付けは、２ｘ個の閾値分布に対して行われ、以下の２つの条件を満たす。
【００２５】
・条件１：  ２ｘ個の閾値分布のうち、隣接する２つの閾値分布に割り付けられたｘビットのうちの１ビットが異なること  
・条件２：  ２ｘ個の閾値分布に割り付けられたｘビットのうちの１ビットの群からなるページデータの並びに“０”と“１”の変化点を２箇所以上有すること
条件１は、誤りビット数を減らし、誤り訂正回路による訂正を確実に行うための条件であり、これにより、不揮発性半導体メモリの高信頼性を確保できる。即ち、正しい閾値分布から１つシフトした誤った閾値分布にデータが書き込まれた場合であっても、条件１を満たしていれば、ｘビットのうち誤りビットは必ず１ビットとなる。
【００２６】
また、条件１は、２ｘ個の閾値分布の間にある（２ｘ−１）個の読み出し電位をそれぞれ１回ずつ用いて、最低回数である（２ｘ−１）回の読み出し動作でｘビットのデータを読み出すための条件でもある。
【００２７】
条件２は、各ページの読み出し回数を平均化して、各ページでのビット誤り率を均一にし、かつ、読み出し速度を向上させるための条件である。
【００２８】
例えば、図２に示すように、ｘ＝３の場合、条件１及び条件２の双方を満たすビット割り付けは、Ｎｏ．１〜Ｎｏ．６の６通りとなる。
【００２９】
Ｎｏ．１のビット割り付けを見ると、隣接する２つの閾値分布に割り付けられた３ビットのうちの１ビットが異なり、８個の閾値分布に割り付けられた３ビットのうちの１ビットの群からなるページデータの並びに“０”と“１”の変化点を２箇所以上有する。
【００３０】
具体的には、第１ページＰ１は、“０”と“１”の変化点がＶｒ１とＶｒ５の２箇所あり、第２ページＰ２は、“０”と“１”の変化点が、Ｖｒ２とＶｒ４とＶｒ６の３箇所あり、第３ページＰ３は、“０”と“１”の変化点が、Ｖｒ３とＶｒ７の２箇所ある。
【００３１】
そして、正しい書き込みが［０１０］のとき、仮に［０１１］に誤ってデータが書き込まれたとしても、誤りビットは、最下位の第１ページＰ１の１ビットのみである。尚、［＊＊＊］内の値（＊は“０”又は“１”）は、左側から順に、第３ページデータ、第２ページデータ、第１ページデータを表している。
【００３２】
また、第１ページＰ１のデータを読み出すとき、読み出し電位として、Ｖｒ１とＶｒ５を用いた２回の読み出しが必要であり、第２ページＰ２のデータを読み出すとき、読み出し電位として、Ｖｒ２とＶｒ４とＶｒ６を用いた３回の読み出しが必要であり、第３ページＰ３のデータを読み出すとき、読み出し電位として、Ｖｒ３とＶｒ７を用いた２回の読み出しが必要であり、各ページの読み出し回数が平均化されている。
【００３３】
以上のビット割り付けによれば、コントローラから不揮発性半導体メモリに書き込みデータを転送する時間の短縮化と共に、不揮発性半導体メモリの高信頼性を図ることができる。
【００３４】
２．  実施形態  
(1)   第１実施形態  
図３及び図４は、第１実施形態の書き込みステップを示している。  
多値データの書き込みは、第１、第２及び第３ステップにより実行される。第１ステップでは、書き込みデータ（３ビット）に基づいて２個の閾値分布Ａ，Ｂを生成する。
【００３５】
この書き込みを行うためには、一般的には、コントローラから不揮発性半導体メモリに書き込みデータ（３ビット）を転送し、不揮発性半導体メモリにおいて、書き込みデータに基づいて書き込みを実行するか否かを決定しなければならない。しかし、この場合、多値化が進行するほど（書き込みデータのビット数が大きくなるほど）、書き込みデータをコントローラから不揮発性半導体メモリに転送する時間が増大する。
【００３６】
そこで、第１実施形態では、第１ステップ時に、コントローラにおいて、書き込みデータ（３ビット）に基づいて、書き込みを実行するか否かを示す１ビットを生成する。具体的には、コントローラ内のデータ変換回路を用いて、書き込みデータ（３ビット）を１ビットに変換する。そして、この１ビットを不揮発性半導体メモリに転送し、２個の閾値分布Ａ，Ｂを生成する。
【００３７】
これにより、第１ステップ時に、コントローラから不揮発性半導体メモリに転送するビット数を減らすことができ、結果として、書き込み時間を短縮することができる。
【００３８】
第２ステップでは、書き込みデータ（３ビット）に基づいて、８個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］を生成する。例えば、閾値分布［１１１］，［１１０］，［１００］，［０００］は、閾値分布Ａから生成され、閾値分布［０１０］，［０１１］，［００１］，［１０１］は、閾値分布Ｂから生成される。
【００３９】
第３ステップでは、書き込みデータ（３ビット）に基づいて、書き込み及びベリファイを繰り返し、８個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］をシャープにする。
【００４０】
以下、具体的に、第１実施形態の書き込みステップを説明する。
【００４１】
図５に示すように、第１ステップでは、書き込みデータ（ｘビット）に基づいて２ｙ個の閾値分布Ａ，Ｂを生成する。但し、本例では、ｘ＝３、ｙ＝１である。
【００４２】
まず、コントローラにおいて、書き込みデータ（ｘビット）に基づいて、書き込みを実行するか否かを示すｙビットを生成する。（ステップＳＴ１１）。
【００４３】
例えば、図６に示すデータ変換回路２２を用いると、第１、第２及び第３ページデータの値に応じて、“０”又は“１”の生成データ（ｙビット）ｄを得ることができる。
【００４４】
即ち、図７に示すように、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［１１１］、［１１０］、［１００］又は［０００］のとき、生成データｄは、“１”である。また、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［０１０］、［０１１］、［００１］又は［１０１］のとき、生成データｄは、“０”である。
【００４５】
次に、この生成データ（ｙビット）ｄを、コントローラから不揮発性半導体メモリに転送する（ステップＳＴ１２）。
【００４６】
そして、不揮発性半導体メモリにおいて、生成データ（ｙビット）ｄに基づいて、書き込みを実行する（ステップＳＴ１３）。
【００４７】
従って、例えば、生成データｄが“１”のとき、書き込み禁止とし、生成データｄが“０”のとき、書き込み許可とすれば、生成データ（ｙビット）ｄに基づいて、２ｙ個の閾値分布Ａ，Ｂを生成することができる。
【００４８】
尚、第１ステップ終了後の状態は、例えば、第１粗書き状態と呼ばれる。
【００４９】
図８に示すように、第２ステップでは、書き込みデータ（３ビット）に基づいて２ｘ個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］を生成する。但し、本例では、ｘ＝３である。
【００５０】
まず、書き込みデータ（ｘビット）を、コントローラから不揮発性半導体メモリに転送する（ステップＳＴ２１）。
【００５１】
そして、不揮発性半導体メモリにおいて、書き込みデータ（ｘビット）に基づいて、書き込みを実行し、２ｘ個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］を生成する（ステップＳＴ２２）。
【００５２】
例えば、閾値分布［１１１］，［１１０］，［１００］，［０００］は、閾値分布Ａから生成され、閾値分布［０１０］，［０１１］，［００１］，［１０１］は、閾値分布Ｂから生成される。
【００５３】
第２ステップでは、書き込みが完了したか否かを検証するためのベリファイレベルを、最終的な閾値分布を得るためのベリファイレベルよりも低く（ベリファイパスの条件を緩く）設定する。
【００５４】
尚、第２ステップ終了後の状態は、例えば、第２粗書き状態と呼ばれる。
【００５５】
図９に示すように、第３ステップでは、書き込みデータ（３ビット）に基づいて、書き込み及びベリファイを繰り返し、２ｘ個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］をシャープにする。但し、本例では、ｘ＝３である（ステップＳＴ３１）。
【００５６】
第３ステップでは、書き込みが完了したか否かを検証するためのベリファイレベルを、最終的な閾値分布を得るためのベリファイレベルに設定する。
【００５７】
第３ステップでは、コントローラから不揮発性半導体メモリに、再び、書き込みデータ（ｘビット）を転送する。
【００５８】
但し、第２ステップ時のベリファイパス後にも不揮発性半導体メモリ内に書き込みデータを記憶しておく手段を設けておけば、第３ステップにおいて、再び、書き込みデータ（ｘビット）の転送を行う必要はない。即ち、第２ステップ時にコントローラから不揮発性半導体メモリに転送した書き込みデータを用いて書き込みを実行できる。
【００５９】
第１実施形態では、以下の変形が可能である。
【００６０】
図１０は、第１実施形態の変形例としての書き込みステップを示している。  
この変形例の特徴は、第１ステップ時に、書き込みデータ（ｘビット）のうちのｚビット（ｚは整数、かつ、ｚ＜ｘ）に基づいてｙビットを生成することにある。
【００６１】
例えば、書き込みデータ（３ビット）のうちの下位２ビット（第１及び第２ページデータ）に基づいて、書き込みを実行するか否かを示す１ビットを生成する。
【００６２】
以下、具体的に、変形例の書き込みステップを説明する。
【００６３】
図１１に示すように、第１ステップでは、書き込みデータ（ｘビット）のうちのｚビットに基づいて２ｙ個の閾値分布Ａ，Ｂを生成する。但し、本例では、ｘ＝３、ｙ＝１、ｚ＝２である。
【００６４】
まず、コントローラにおいて、書き込みデータ（ｘビット）のうちの下位ｚビットに基づいて、書き込みを実行するか否かを示すｙビットを生成する。（ステップＳＴ１１）。
【００６５】
例えば、図１２に示すデータ変換回路２２を用いると、第１及び第２ページデータの値に応じて、“０”又は“１”の生成データ（ｙビット）ｄを得ることができる。
【００６６】
即ち、図１３に示すように、第１及び第２ページデータの値［第２ページデータ，第１ページデータ］が、［０１］のとき、生成データｄは、“０”である。また、第１及び第２ページデータの値がそれ以外のとき、生成データｄは、“１”である。
【００６７】
次に、この生成データ（ｙビット）ｄを、コントローラから不揮発性半導体メモリに転送する（ステップＳＴ１２）。
【００６８】
そして、不揮発性半導体メモリにおいて、生成データ（ｙビット）ｄに基づいて、書き込みを実行する（ステップＳＴ１３）。
【００６９】
従って、例えば、生成データｄが“１”のとき、書き込み禁止とし、生成データｄが“０”のとき、書き込み許可とすれば、生成データ（ｙビット）ｄに基づいて、２ｙ個の閾値分布Ａ，Ｂを生成することができる。
【００７０】
尚、第１ステップ終了後の状態は、第１実施形態と同様に、例えば、第１粗書き状態と呼ばれる。
【００７１】
第２及び第３ステップは、第１実施形態と同じであるため、ここでの詳細な説明は省略する。但し、この変形例では、第２ステップ時に、閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］は、閾値分布Ａから生成され、閾値分布［００１］，［１０１］は、閾値分布Ｂから生成される。
【００７２】
以上、説明したように、第１実施形態及びその変形例によれば、コントローラ側に書き込み禁止／許可を表すビットを生成するデータ変換回路を設けることにより、書き込み時におけるコントローラから不揮発性半導体メモリへのデータ転送時間を短縮することができる。
【００７３】
(2)   第２実施形態  
図１４及び図１５は、第２実施形態の書き込みステップを示している。  
多値データの書き込みは、第１実施形態と同様に、第１、第２及び第３ステップにより実行される。但し、第１ステップでは、書き込みデータ（３ビット）に基づいて４個の閾値分布Ａ，Ｂ，Ｃ，Ｄを生成する。
【００７４】
そのために、コントローラにおいて、書き込みデータ（３ビット）に基づいて、書き込みを実行するか否かを示す２ビットを生成する。具体的には、コントローラ内のデータ変換回路を用いて、書き込みデータ（３ビット）を２ビットに変換する。そして、この２ビットを不揮発性半導体メモリに転送し、４個の閾値分布Ａ，Ｂ，Ｃ，Ｄを生成する。
【００７５】
これにより、第１ステップ時に、コントローラから不揮発性半導体メモリに転送するビット数を減らすことができ、結果として、書き込み時間を短縮することができる。
【００７６】
第２ステップでは、書き込みデータ（３ビット）に基づいて、８個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］を生成する。
【００７７】
例えば、閾値分布［１１１］，［１１０］は、閾値分布Ａから生成され、閾値分布［１００］，［０００］は、閾値分布Ｂから生成され、閾値分布［０１０］，［０１１］は、閾値分布Ｃから生成され、閾値分布［００１］，［１０１］は、閾値分布Ｄから生成される。
【００７８】
第３ステップでは、書き込みデータ（３ビット）に基づいて、書き込み及びベリファイを繰り返し、８個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］をシャープにする。
【００７９】
以下、具体的に、第２実施形態の書き込みステップを説明する。
【００８０】
図１６に示すように、第１ステップでは、書き込みデータ（ｘビット）に基づいて２ｙ個の閾値分布Ａ，Ｂ，Ｃ，Ｄを生成する。但し、本例では、ｘ＝３、ｙ＝２である。
【００８１】
まず、コントローラにおいて、書き込みデータ（ｘビット）に基づいて、書き込みを実行するか否かを示すｙビットを生成する。（ステップＳＴ１１）。
【００８２】
例えば、図１７に示すデータ変換回路２２を用いると、第１、第２及び第３ページデータの値に応じて、“１１”、“０１”、“００”又は“１０”の生成データ（ｙビット）ｄ２，ｄ１を得ることができる。
【００８３】
即ち、図１８に示すように、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［１１１］又は［１１０］のとき、生成データｄ２，ｄ１は、“１１”であり、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［１００］又は［０００］のとき、生成データｄ２，ｄ１は、“０１”である。
【００８４】
また、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［０１０］又は［０１１］のとき、生成データｄ２，ｄ１は、“００”であり、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［００１］又は［１０１］のとき、生成データｄ２，ｄ１は、“１０”である。
【００８５】
次に、この生成データ（ｙビット）ｄ２，ｄ１を、コントローラから不揮発性半導体メモリに転送する（ステップＳＴ１２）。
【００８６】
そして、不揮発性半導体メモリにおいて、生成データ（ｙビット）ｄ２，ｄ１に基づいて、書き込みを実行する（ステップＳＴ１３）。
【００８７】
従って、例えば、生成データｄ２，ｄ１が“１１”のとき、書き込み禁止とし、生成データｄ２，ｄ１が“０１”、“００”及び“１０”のとき、書き込み許可とすれば、生成データ（ｙビット）ｄ２，ｄ１に基づいて、２ｙ個の閾値分布Ａ，Ｂ，Ｃ，Ｄを生成することができる。
【００８８】
但し、書き込み許可において、生成データｄ２，ｄ１の値“０１”，“００”，“１０”に応じてベリファイレベルを互いに異ならせることにより、それぞれ、異なる閾値レベルへの書き込みを可能にする。
【００８９】
尚、第１ステップ終了後の状態は、例えば、第１粗書き状態と呼ばれる。
【００９０】
図１９に示すように、第２ステップでは、書き込みデータ（３ビット）に基づいて２ｘ個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］を生成する。但し、本例では、ｘ＝３である。
【００９１】
まず、書き込みデータ（ｘビット）を、コントローラから不揮発性半導体メモリに転送する（ステップＳＴ２１）。
【００９２】
そして、不揮発性半導体メモリにおいて、書き込みデータ（ｘビット）に基づいて、書き込みを実行し、２ｘ個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］を生成する（ステップＳＴ２２）。
【００９３】
例えば、閾値分布［１１１］，［１１０］は、閾値分布Ａから生成され、閾値分布［１００］，［０００］は、閾値分布Ｂから生成され、閾値分布［０１０］，［０１１］は、閾値分布Ｃから生成され、閾値分布［００１］，［１０１］は、閾値分布Ｄから生成される。
【００９４】
第２ステップでは、書き込みが完了したか否かを検証するためのベリファイレベルを、最終的な閾値分布を得るためのベリファイレベルよりも低く（ベリファイパスの条件を緩く）設定する。
【００９５】
尚、第２ステップ終了後の状態は、例えば、第２粗書き状態と呼ばれる。
【００９６】
図２０に示すように、第３ステップでは、書き込みデータ（３ビット）に基づいて、書き込み及びベリファイを繰り返し、２ｘ個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］をシャープにする。但し、本例では、ｘ＝３である（ステップＳＴ３１）。
【００９７】
第３ステップでは、書き込みが完了したか否かを検証するためのベリファイレベルを、最終的な閾値分布を得るためのベリファイレベルに設定する。
【００９８】
第３ステップでは、コントローラから不揮発性半導体メモリに、再び、書き込みデータ（ｘビット）を転送する。
【００９９】
但し、第２ステップ時のベリファイパス後にも不揮発性半導体メモリ内に書き込みデータを記憶しておく手段を設けておけば、第３ステップにおいて、再び、書き込みデータ（ｘビット）の転送を行う必要はない。即ち、第２ステップ時にコントローラから不揮発性半導体メモリに転送した書き込みデータを用いて書き込みを実行できる。
【０１００】
以上、説明したように、第２実施形態によれば、コントローラ側に書き込み禁止／許可を表すビットを生成するデータ変換回路を設けることにより、書き込み時におけるコントローラから不揮発性半導体メモリへのデータ転送時間を短縮することができる。
【０１０１】
(3)   第３実施形態  
図２１及び図２２は、第３実施形態の書き込みステップを示している。  
多値データの書き込みは、第１実施形態と同様に、第１、第２及び第３ステップにより実行される。
【０１０２】
第１ステップでは、書き込みデータ（３ビット）に基づいて２個の閾値分布Ａ，Ｂを生成する。そのために、コントローラにおいて、書き込みデータ（３ビット）に基づいて、書き込みを実行するか否かを示す１ビットを生成する。具体的には、コントローラ内のデータ変換回路を用いて、書き込みデータ（３ビット）を１ビットに変換する。
【０１０３】
そして、この１ビットを不揮発性半導体メモリに転送し、２個の閾値分布Ａ，Ｂを生成する。
【０１０４】
また、第２ステップでは、書き込みデータ（３ビット）に基づいて４個の閾値分布Ａ１，Ａ２，Ｂ１，Ｂ２を生成する。そのために、コントローラにおいて、書き込みデータ（３ビット）に基づいて、書き込みを実行するか否かを示す２ビットを生成する。具体的には、コントローラ内のデータ変換回路を用いて、書き込みデータ（３ビット）を２ビットに変換する。
【０１０５】
そして、この２ビットを不揮発性半導体メモリに転送し、４個の閾値分布Ａ１，Ａ２，Ｂ１，Ｂ２を生成する。
【０１０６】
これにより、第１及び第２ステップ時に、コントローラから不揮発性半導体メモリに転送するビット数をそれぞれ減らすことができ、結果として、書き込み時間を短縮することができる。
【０１０７】
第３ステップでは、書き込みデータ（３ビット）に基づいて、８個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］を生成する。
【０１０８】
例えば、閾値分布［１１１］，［１１０］は、閾値分布Ａ１から生成され、閾値分布［１００］，［０００］は、閾値分布Ａ２から生成され、閾値分布［０１０］，［０１１］は、閾値分布Ｂ１から生成され、閾値分布［００１］，［１０１］は、閾値分布Ｂ２から生成される。
【０１０９】
以下、具体的に、第３実施形態の書き込みステップを説明する。
【０１１０】
図２３に示すように、第１ステップでは、書き込みデータ（ｘビット）に基づいて２ｙ個の閾値分布Ａ，Ｂを生成する。但し、本例では、ｘ＝３、ｙ＝１である。
【０１１１】
まず、コントローラにおいて、書き込みデータ（ｘビット）に基づいて、書き込みを実行するか否かを示すｙビットを生成する。（ステップＳＴ１１）。
【０１１２】
例えば、図６に示すデータ変換回路２２を用いると、第１、第２及び第３ページデータの値に応じて、“０”又は“１”の生成データ（ｙビット）ｄを得ることができる。
【０１１３】
即ち、図７に示すように、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［１１１］、［１１０］、［１００］又は［０００］のとき、生成データｄは、“１”である。また、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［０１０］、［０１１］、［００１］又は［１０１］のとき、生成データｄは、“０”である。
【０１１４】
次に、この生成データ（ｙビット）ｄを、コントローラから不揮発性半導体メモリに転送する（ステップＳＴ１２）。
【０１１５】
そして、不揮発性半導体メモリにおいて、生成データ（ｙビット）ｄに基づいて、書き込みを実行する（ステップＳＴ１３）。
【０１１６】
従って、例えば、生成データｄが“１”のとき、書き込み禁止とし、生成データｄが“０”のとき、書き込み許可とすれば、生成データ（ｙビット）ｄに基づいて、２ｙ個の閾値分布Ａ，Ｂを生成することができる。
【０１１７】
尚、第１ステップ終了後の状態は、例えば、第１粗書き状態と呼ばれる。
【０１１８】
図２４に示すように、第２ステップでは、書き込みデータ（ｘビット）に基づいて２ｗ個の閾値分布Ａ１，Ａ２，Ｂ１，Ｂ２を生成する。但し、本例では、ｘ＝３、ｙ＝１、ｗ＝２である。また、ｗは、整数、かつ、ｙ＜ｗ＜ｘである。
【０１１９】
まず、コントローラにおいて、書き込みデータ（ｘビット）に基づいて、書き込みを実行するか否かを示すｗビットを生成する。（ステップＳＴ２１）。
【０１２０】
例えば、図１７に示すデータ変換回路２２を用いると、第１、第２及び第３ページデータの値に応じて、“１１”、“０１”、“００”又は“１０”の生成データ（ｗビット）ｄ２，ｄ１を得ることができる。
【０１２１】
即ち、図２５に示すように、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［１１１］又は［１１０］のとき、生成データｄ２，ｄ１は、“１１”であり、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［１００］又は［０００］のとき、生成データｄ２，ｄ１は、“０１”である。
【０１２２】
また、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［０１０］又は［０１１］のとき、生成データｄ２，ｄ１は、“００”であり、第１、第２及び第３ページデータの値［第３ページデータ，第２ページデータ，第１ページデータ］が、［００１］又は［１０１］のとき、生成データｄ２，ｄ１は、“１０”である。
【０１２３】
次に、この生成データ（ｙビット）ｄ２，ｄ１を、コントローラから不揮発性半導体メモリに転送する（ステップＳＴ２２）。
【０１２４】
そして、不揮発性半導体メモリにおいて、生成データ（ｗビット）ｄ２，ｄ１に基づいて、書き込みを実行する（ステップＳＴ２３）。
【０１２５】
従って、例えば、生成データｄ２，ｄ１が“１１”のとき、書き込み禁止とし、生成データｄ２，ｄ１が“０１”、“００”及び“１０”のとき、書き込み許可とすれば、生成データ（ｗビット）ｄ２，ｄ１に基づいて、２ｗ個の閾値分布Ａ１，Ａ２，Ｂ１，Ｂ２を生成することができる。
【０１２６】
但し、書き込み許可において、生成データｄ２，ｄ１の値“０１”，“００”，“１０”に応じてベリファイレベルを互いに異ならせることにより、それぞれ、異なる閾値レベルへの書き込みを可能にする。
【０１２７】
尚、第２ステップ終了後の状態は、例えば、第２粗書き状態と呼ばれる。
【０１２８】
図２６に示すように、第３ステップでは、書き込みデータ（３ビット）に基づいて２ｘ個の閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］を生成する。但し、本例では、ｘ＝３である。
【０１２９】
まず、書き込みデータ（ｘビット）を、コントローラから不揮発性半導体メモリに転送する（ステップＳＴ３１）。
【０１３０】
そして、不揮発性半導体メモリにおいて、書き込みデータ（ｘビット）に基づいて、書き込み及びベリファイを繰り返し、２ｘ個のシャープな閾値分布［１１１］，［１１０］，［１００］，［０００］，［０１０］，［０１１］，［００１］，［１０１］を生成する（ステップＳＴ３２）。
【０１３１】
例えば、閾値分布［１１１］，［１１０］は、閾値分布Ａ１から生成され、閾値分布［１００］，［０００］は、閾値分布Ａ２から生成され、閾値分布［０１０］，［０１１］は、閾値分布Ｂ１から生成され、閾値分布［００１］，［１０１］は、閾値分布Ｂ２から生成される。
【０１３２】
第３実施形態では、以下の変形が可能である。
【０１３３】
図２７は、第３実施形態の変形例としての書き込みステップを示している。  
この変形例の特徴は、第１ステップ時に、書き込みデータ（ｘビット）のうちのｚビット（ｚは整数、かつ、ｚ＜ｘ）に基づいてｙビットを生成することにある。
【０１３４】
例えば、書き込みデータ（３ビット）のうちの下位２ビット（第１及び第２ページデータ）に基づいて、書き込みを実行するか否かを示す１ビットを生成する。
【０１３５】
以下、具体的に、変形例の書き込みステップを説明する。
【０１３６】
図２８に示すように、第１ステップでは、書き込みデータ（ｘビット）のうちのｚビットに基づいて２ｙ個の閾値分布Ａ，Ｂを生成する。但し、本例では、ｘ＝３、ｙ＝１、ｚ＝２である。
【０１３７】
まず、コントローラにおいて、書き込みデータ（ｘビット）のうちの下位ｚビットに基づいて、書き込みを実行するか否かを示すｙビットを生成する。（ステップＳＴ１１）。
【０１３８】
例えば、図１２に示すデータ変換回路２２を用いると、第１及び第２ページデータの値に応じて、“０”又は“１”の生成データ（ｙビット）を得ることができる。
【０１３９】
即ち、図１３に示すように、第１及び第２ページデータの値［第２ページデータ，第１ページデータ］が、［０１］のとき、生成データは、“０”である。また、第１及び第２ページデータの値がそれ以外のとき、生成データは、“１”である。
【０１４０】
次に、この生成データ（ｙビット）を、コントローラから不揮発性半導体メモリに転送する（ステップＳＴ１２）。
【０１４１】
そして、不揮発性半導体メモリにおいて、生成データ（ｙビット）に基づいて、書き込みを実行する（ステップＳＴ１３）。
【０１４２】
従って、例えば、生成データ“１”のとき、書き込み禁止とし、生成データ“０”のとき、書き込み許可とすれば、生成データ（ｙビット）に基づいて、２ｙ個の閾値分布Ａ，Ｂを生成することができる。
【０１４３】
尚、第１ステップ終了後の状態は、第３実施形態と同様に、例えば、第１粗書き状態と呼ばれる。
【０１４４】
第２及び第３ステップは、第３実施形態と同じであるため、ここでの詳細な説明は省略する。但し、この変形例では、第２ステップ時に、閾値分布Ａ１，Ａ２，Ａ３は、閾値分布Ａから生成され、閾値分布Ｂ１は、閾値分布Ｂから生成される。
【０１４５】
以上、説明したように、第３実施形態及びその変形例によれば、コントローラ側に書き込み禁止／許可を表すビットを生成するデータ変換回路を設けることにより、書き込み時におけるコントローラから不揮発性半導体メモリへのデータ転送時間を短縮することができる。
【０１４６】
３．  適用例  
第１乃至第３実施形態は、多値データのビット割り付けが上述の条件１及び２を満たすＮＡＮＤフラッシュメモリに適用するのが効果的である。この場合、誤り訂正効率と読み出し速度の向上を同時に図ることができるためである。
【０１４７】
また、多値ＮＡＮＤフラッシュメモリでは、特許文献１に開示されるように、読み出し速度の向上のため、各ページの読み出し時間を平均化するためのビット割り付けが提案されている。このビット割り付けに従い書き込みを行うに当たって、第１乃至第３実施形態を適用すれば、データ転送時間の短縮により書き込み時間を短くすることができる。
【０１４８】
４．  むすび  
実施形態によれば、書き込み時におけるコントローラから不揮発性半導体メモリへのデータ転送時間を短縮することができる。
【０１４９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１５０】
１：  不揮発性半導体メモリ、  ２：  コントローラ、  １１：  メモリセルアレイ、  １２：  ワード線制御回路、  １３：  センスアンプ回路、  １４：  カラムデコーダ、  １５：  データ入出力バッファ、  １６，２３：  入出力制御回路、  １７：  制御回路、  １８：  アドレスデコーダ、  １９：  制御電圧生成回路、  ２１：  ｘページデータキャッシュ、  ２２：  データ変換回路、  ３０：  データバス。
【図１】
2012048791.tif 000003
【図２】
2012048791.tif 000004
【図３】
2012048791.tif 000005
【図４】
2012048791.tif 000006
【図５】
2012048791.tif 000007
【図６】
2012048791.tif 000008
【図７】
2012048791.tif 000009
【図８】
2012048791.tif 000010
【図９】
2012048791.tif 000011
【図１０】
2012048791.tif 000012
【図１１】
2012048791.tif 000013
【図１２】
2012048791.tif 000014
【図１３】
2012048791.tif 000015
【図１４】
2012048791.tif 000016
【図１５】
2012048791.tif 000017
【図１６】
2012048791.tif 000018
【図１７】
2012048791.tif 000019
【図１８】
2012048791.tif 000020
【図１９】
2012048791.tif 000021
【図２０】
2012048791.tif 000022
【図２１】
2012048791.tif 000023
【図２２】
2012048791.tif 000024
【図２３】
2012048791.tif 000025
【図２４】
2012048791.tif 000026
【図２５】
2012048791.tif 000027
【図２６】
2012048791.tif 000028
【図２７】
2012048791.tif 000029
【図２８】
2012048791.tif 000030