(57)【要約】【課題】不揮発性メモリ装置のプログラム時間のうち検証動作に要される時間を最小化させることができるプログラム方法を提供すること。【解決手段】不揮発性メモリ装置およびその動作に関するものであって、複数のノーマルセルと複数の補助セルを含むページ領域と、ページ領域のプログラム対象セルのうち基準電圧より大きい電圧でプログラムされたセルが発生した場合、１ビットパス信号を出力するビットパス検出部と、ページ領域に対する第１プログラム動作過程で１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を複数の補助セルに保存するプログラムパルス印加回数保存部と、複数の補助セルに保存されたプログラムパルスの印加回数に基づいてページ領域の第２プログラム動作に対するプログラム開始電圧を設定するプログラム開始電圧設定部と、を備える不揮発性メモリ装置を提供する。【選択図】図１１
2012181907.tif 000002
【特許請求の範囲】
【請求項１】
複数のノーマルセルと複数の補助セルを含むページ領域と、
前記ページ領域のプログラム対象セルのうち基準電圧より大きい電圧でプログラムされたセルが発生した場合、１ビットパス信号を出力するビットパス検出部と、
前記ページ領域に対する第１プログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を前記複数の補助セルに保存するプログラムパルス印加回数保存部と、
前記複数の補助セルに保存されたプログラムパルスの印加回数に基づいて前記ページ領域の第２プログラム動作に対するプログラム開始電圧を設定するプログラム開始電圧設定部と、
を備えることを特徴とする不揮発性メモリ装置。
【請求項２】
前記第１プログラム動作過程で前記１ビットパス信号が出力される時点まで前記ページ領域に印加されるプログラムパルスの回数をカウントして前記プログラムパルス印加回数保存部に伝達するプログラムパルスカウント部をさらに備えることを特徴とする請求項１に記載の不揮発性メモリ装置。
【請求項３】
前記複数のノーマルセルに対応するノーマルページバッファリング部と、
前記複数の補助セルに対応する補助ページバッファリング部と、
をさらに備えることを特徴とする請求項１に記載の不揮発性メモリ装置。
【請求項４】
前記プログラムパルス印加回数保存部が、
前記プログラムパルスカウント部から伝達されるプログラムパルスの印加回数を前記補助ページバッファリング部にセッティングし、前記第１プログラム動作中に前記プログラムパルスカウント部から伝達されるプログラムパルスの印加回数が前記複数の補助セルに保存されるようにすることを特徴とする請求項３に記載の不揮発性メモリ装置。
【請求項５】
前記プログラム開始電圧設定部が、
前記複数の補助セルに保存されたプログラムパルスの印加回数をリードした後、リードされたプログラムパルスの印加回数にステップ電圧を乗算し、その値を前記第１プログラム動作の開始電圧値に加算して、前記第２プログラム動作の開始電圧値として設定することを特徴とする請求項１に記載の不揮発性メモリ装置。
【請求項６】
前記プログラム開始電圧設定部が、
前記複数の補助セルに保存されたプログラムパルスの印加回数をリードした後、リードされたプログラムパルスの印加回数が臨界値より大きい場合、前記リードされたプログラムパルス印加回数と臨界値の差異の分だけステップ電圧を乗算し、その値を前記第１プログラム動作の開始電圧値に加算して、前記第２プログラム動作の開始電圧値として設定し、
前記リードされたプログラムパルスの印加回数が臨界値より小さい又は臨界値と同じ場合、前記第１プログラム動作の開始電圧値を前記第２プログラム動作の開始電圧値として設定することを特徴とする請求項１に記載の不揮発性メモリ装置。
【請求項７】
各々のノーマルセルおよび各々の補助セルがマルチレベルセルＭＬＣであり、
前記第１プログラム動作が下位ビットプログラム動作であり、
前記第２プログラム動作が上位ビットプログラム動作であることを特徴とする請求項１に記載の不揮発性メモリ装置。
【請求項８】
複数のノーマルセルと複数の補助セルを各々含み、ワードラインを共有する第１ページ領域および第２ページ領域と、
前記第１ページ領域のプログラム対象セルのうち基準電圧より大きい電圧でプログラムされたセルが発生した場合、１ビットパス信号を出力するビットパス検出部と、
前記第１ページ領域に対するプログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を前記第１ページ領域の複数の補助セルに保存するプログラムパルス印加回数保存部と、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に基づいて前記第１ページ領域または第２ページ領域に対するプログラム開始電圧を設定するプログラム開始電圧設定部と、
を備えることを特徴とする不揮発性メモリ装置。
【請求項９】
前記第１ページ領域に対するプログラム動作過程で前記１ビットパス信号が出力される時点まで前記第１ページ領域に印加されるプログラムパルスの回数をカウントして前記プログラムパルス印加回数保存部に伝達するプログラムパルスカウント部をさらに備えることを特徴とする請求項８に記載の不揮発性メモリ装置。
【請求項１０】
前記第１ページ領域および第２ページ領域の複数のノーマルセルに対応するノーマルページバッファリング部と、
前記第１ページ領域および第２ページ領域の複数の補助セルに対応する補助ページバッファリング部と、
をさらに備えることを特徴とする請求項９に記載の不揮発性メモリ装置。
【請求項１１】
前記第１ページ領域の各々のノーマルセルおよび各々の補助セルと、第２ページ領域の各々のノーマルセルおよび各々の補助セルが、シングルレベルセルＳＬＣであることを特徴とする請求項８に記載の不揮発性メモリ装置。
【請求項１２】
前記プログラムパルス印加回数保存部が、
前記プログラムパルスカウント部から伝達されるプログラムパルスの印加回数を前記補助ページバッファリング部にセッティングし、前記第１ページ領域に対するプログラム動作中に前記プログラムパルスカウント部から伝達されるプログラムパルスの印加回数が前記第１ページ領域の複数の補助セルに保存されるようにすることを特徴とする請求項１０に記載の不揮発性メモリ装置。
【請求項１３】
前記プログラム開始電圧設定部が、
前記第１ページ領域の複数の補助セルに保存された前記プログラムパルスの印加回数をリードした後、リードされたプログラムパルスの印加回数にステップ電圧を乗算し、その値を前記第１ページ領域に対するプログラム動作の開始電圧値に加算して、前記第２ページ領域に対するプログラム動作の開始電圧値として設定することを特徴とする請求項８に記載の不揮発性メモリ装置。
【請求項１４】
前記プログラム開始電圧設定部が、
前記第１ページ領域の複数の補助セルに保存された前記プログラムパルスの印加回数をリードした後、リードされたプログラムパルスの印加回数が臨界値より大きい場合、前記リードされたプログラムパルス印加回数と臨界値の差異の分だけステップ電圧を乗算し、その値を前記第１ページ領域に対するプログラム動作の開始電圧値に加算して、前記第２ページ領域に対するプログラム動作の開始電圧値として設定し、
前記リードされたプログラムパルスの印加回数が臨界値より小さい又は臨界値と同じ場合、前記第１ページ領域に対するプログラム動作の開始電圧値を前記第２ページ領域に対するプログラム動作の開始電圧値として設定することを特徴とする請求項８に記載の不揮発性メモリ装置。
【請求項１５】
前記第１ページ領域の各々のノーマルセルおよび各々の補助セルとおよび第２ページ領域の各々のノーマルセルおよび各々の補助セルはマルチレベルセルＭＬＣであることを特徴とする請求項１０に記載の不揮発性メモリ装置。
【請求項１６】
前記プログラムパルス印加回数保存部が、
前記プログラムパルスカウント部から伝達されるプログラムパルスの印加回数を前記補助ページバッファリング部にセッティングし、前記第１ページ領域に対する第１プログラム動作中に前記プログラムパルスカウント部から伝達されるプログラムパルスの印加回数が前記第１ページ領域の複数の補助セルに保存されるようにすることを特徴とする請求項１５に記載の不揮発性メモリ装置。
【請求項１７】
前記プログラム開始電圧設定部が、
前記第１ページ領域の複数の補助セルに保存された前記プログラムパルスの印加回数をリードした後、リードされたプログラムパルスの印加回数にステップ電圧を乗算し、その値を前記第１ページ領域に対する第１プログラム動作の開始電圧値に加算して、前記第１ページ領域に対する第２プログラム動作と前記第２ページ領域に対する第１および第２プログラム動作の開始電圧値として設定することを特徴とする請求項１５に記載の不揮発性メモリ装置。
【請求項１８】
前記プログラム開始電圧設定部が、
前記第１ページ領域の複数の補助セルに保存された前記プログラムパルスの印加回数をリードした後、リードされたプログラムパルスの印加回数が臨界値より大きい場合、前記リードされたプログラムパルス印加回数と臨界値の差異の分だけステップ電圧を乗算し、その値を前記第１ページ領域に対する第１プログラム動作の開始電圧値に加算して、前記第１ページ領域に対する第２プログラム動作と前記第２ページ領域に対する第１および第２プログラム動作の開始電圧値として設定し、
前記リードされたプログラムパルスの印加回数が臨界値より小さい又は臨界値と同じ場合、前記第１ページ領域に対する第１プログラム動作の開始電圧値を前記第１ページ領域に対する第２プログラム動作および前記第２ページ領域に対する第１および第２プログラム動作の開始電圧値として設定することを特徴とする請求項１５に記載の不揮発性メモリ装置。
【請求項１９】
前記第１ページ領域および第２ページ領域に対する第１プログラム動作が下位ビットプログラム動作であり、
前記第１ページ領域および第２ページ領域に対する第２プログラム動作が上位ビットプログラム動作であることを特徴とする請求項１７に記載の不揮発性メモリ装置。
【請求項２０】
複数のノーマルセルと複数の補助セルを各々含み、ストリングを共有する第１ページ領域および第２ページ領域と、
前記第１ページ領域または第２ページ領域のプログラム対象セルのうち基準電圧より大きい電圧でプログラムされたセルが発生した場合、１ビットパス信号を出力するビットパス検出部と、
第１プログラム開始電圧が適用された前記第１ページ領域の第１プログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を前記第１ページ領域の複数の補助セルに保存した後、保存されたプログラムパルスの回数に応じて前記第１プログラム開始電圧を調節し、前記第１ページ領域の第２プログラム動作に適用する第１プログラム開始電圧調節部と、
前記第１プログラム開始電圧と第２プログラム開始電圧が選択的に適用された前記第２ページ領域の第１プログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を前記第２ページ領域の複数の補助セルに保存した後、保存されたプログラムパルスの回数に応じて前記第２プログラム開始電圧を調節し、前記第２ページ領域の第２プログラム動作に適用する第２プログラム開始電圧調節部と、
を備えることを特徴とする不揮発性メモリ装置。
【請求項２１】
前記第１プログラム開始電圧調節部が、
前記第１プログラム開始電圧が適用された前記第１ページ領域の第１プログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を前記第１ページ領域の複数の補助セルに保存する第１プログラムパルス印加回数保存部と、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記第１プログラム開始電圧を設定して前記第１ページ領域に対する第２プログラム動作に適用する第１プログラム開始電圧設定部を備えることを特徴とする請求項２０に記載の不揮発性メモリ装置。
【請求項２２】
前記第２プログラム開始電圧調節部が、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数を臨界値と比較して電圧選択信号を生成する電圧選択信号生成部と、
前記電圧選択信号に応じて前記第１プログラム開始電圧と第２プログラム開始電圧が選択的に適用された前記第２ページ領域の第１プログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を前記第２ページ領域の複数の補助セルに保存する第２プログラムパルス印加回数保存部と、
前記第２ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記第２プログラム開始電圧を設定して前記第２ページ領域に対する第２プログラム動作に適用する第２プログラム開始電圧設定部と、
を備えることを特徴とする請求項２１に記載の不揮発性メモリ装置。
【請求項２３】
前記第１ページ領域に対する第１プログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数をカウントして前記第１プログラムパルス印加回数保存部に伝達し、前記第２ページ領域に対する第１プログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数をカウントして前記第２プログラムパルス印加回数保存部に伝達するプログラムパルスカウント部をさらに備えることを特徴とする請求項２２に記載の不揮発性メモリ装置。
【請求項２４】
前記第１ページ領域および第２ページ領域の複数のノーマルセルに対応するノーマルページバッファリング部と、
前記第１ページ領域および第２ページ領域の複数の補助セルに対応する補助ページバッファリング部と、
をさらに備えることを特徴とする請求項２０に記載の不揮発性メモリ装置。
【請求項２５】
前記第１プログラムパルス印加回数保存部が、
前記プログラムパルスカウント部から伝達されるプログラムパルスの印加回数を前記補助ページバッファリング部にセッティングし、前記第１ページ領域に対する第１プログラム動作中に前記プログラムパルスカウント部から伝達されるプログラムパルスの印加回数が前記第１ページ領域の複数の補助セルに保存されるようにすることを特徴とする請求項２４に記載の不揮発性メモリ装置。
【請求項２６】
前記第２プログラムパルス印加回数保存部が、
前記プログラムパルスカウント部から伝達されるプログラムパルスの印加回数を前記補助ページバッファリング部にセッティングし、前記第２ページ領域に対する第１プログラム動作中に前記プログラムパルスカウント部から伝達されるプログラムパルスの印加回数が前記第２ページ領域の複数の補助セルに保存されるようにすることを特徴とする請求項２５に記載の不揮発性メモリ装置。
【請求項２７】
前記電圧選択信号生成部が、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数をリードした後、リードされたプログラムパルスの印加回数が臨界値より大きい場合、前記電圧選択信号を活性化させて前記第２ページ領域に対する第１プログラム動作に前記第１プログラム開始電圧が適用されるようにし、
リードされたプログラムパルスの印加回数が臨界値より小さい又は臨界値と同じ場合、前記電圧選択信号を非活性化され前記第２ページ領域に対する第１プログラム動作に前記第２プログラム開始電圧が適用されるようにすることを特徴とする請求項２２に記載の不揮発性メモリ装置。
【請求項２８】
前記第１プログラム開始電圧設定部が、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数をリードした後、リードされたプログラムパルスの印加回数にステップ電圧を乗算し、その値の分だけ前記第１プログラム開始電圧値を増加させて前記第１ページ領域に対する第２プログラム動作に適用することを特徴とする請求項２２に記載の不揮発性メモリ装置。
【請求項２９】
前記第１プログラム開始電圧設定部が、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数をリードした後、リードされたプログラムパルスの印加回数が臨界値より大きい場合、前記リードされたプログラムパルス印加回数と臨界値の差異の分だけステップ電圧を乗算し、その値の分だけ前記第１プログラム開始電圧値を増加させて前記第１ページ領域に対する第２プログラム動作に適用されるようにし、
前記リードされたプログラムパルスの印加回数が臨界値より小さい又は臨界値と同じ場合、前記第１プログラム開始電圧がそのまま前記第１ページ領域に対する第２プログラム動作に適用されるようにすることを特徴とする請求項２２に記載の不揮発性メモリ装置。
【請求項３０】
前記第２プログラム開始電圧設定部が、
前記第２ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数をリードした後、リードされたプログラムパルスの印加回数にステップ電圧を乗算し、その値の分だけ前記第２プログラム開始電圧値を増加させて前記第２ページ領域に対する第２プログラム動作に適用することを特徴とする請求項２２に記載の不揮発性メモリ装置。
【請求項３１】
前記第２プログラム開始電圧設定部が、
前記第２ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数をリードした後、リードされたプログラムパルスの印加回数が臨界値より大きい場合、前記リードされたプログラムパルス印加回数と臨界値の差異の分だけステップ電圧を乗算し、その値の分だけ前記第２プログラム開始電圧値を増加させて前記第２ページ領域に対する第２プログラム動作に適用されるようにして、
前記リードされたプログラムパルスの印加回数が臨界値より小さい又は臨界値と同じ場合、前記第２プログラム開始電圧がそのまま前記第２ページ領域に対する第２プログラム動作に適用されるようにすることを特徴とする請求項２２に記載の不揮発性メモリ装置。
【請求項３２】
前記第１ページ領域の各々のノーマルセルおよび補助セルと、前記第２ページ領域の各々のノーマルセルおよび各々の補助セルがマルチレベルセルＭＬＣであり、
前記第１ページ領域および第２ページ領域に対する第１プログラム動作が下位ビットプログラム動作であり、
前記第１ページ領域および第２ページ領域に対する第２プログラム動作が上位ビットプログラム動作であることを特徴とする請求項２０に記載の不揮発性メモリ装置。
【請求項３３】
初期化されたプログラム開始電圧を適用して複数のノーマルセルおよび複数の補助セルを含むページ領域の第１プログラム動作を行うステップと、
前記第１プログラム動作過程で前記ページ領域のプログラム対象セルのうち検証電圧より大きい電圧でプログラムされたセルが発生する前まで前記ページ領域に印加されるプログラムパルスの回数をカウントするステップと、
前記カウントするステップによって決定されたプログラムパルスの印加回数を前記複数の補助セルに保存するステップと、
前記複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記プログラム開始電圧を設定するステップと、
前記設定するステップによって決定された前記プログラム開始電圧を適用して前記ページ領域の第２プログラム動作を行うステップと、
を含むことを特徴とする不揮発性メモリ装置の動作方法。
【請求項３４】
前記保存するステップが、
前記カウントするステップによって決定されたプログラムパルスの印加回数を前記複数の補助セルに対応する補助ページバッファにセッティングするステップと、
前記セッティングするステップ以後、前記第１プログラム動作を継続して行い、前記補助ページバッファにセッティングされたプログラムパルスの印加回数が前記複数の補助セルに保存されるようにするステップと、
を含むことを特徴とする請求項３３に記載の不揮発性メモリ装置の動作方法。
【請求項３５】
前記設定するステップが、
前記複数の補助セルに保存されたプログラムパルスの印加回数をリードするステップと、
前記リードするステップによって出力されるプログラムパルスの印加回数にステップ電圧を乗算し、その値の分だけ前記プログラム開始電圧を増加させるステップと、
を含むことを特徴とする請求項３３に記載の不揮発性メモリ装置の動作方法。
【請求項３６】
前記設定するステップが、
前記複数の補助セルに保存されたプログラムパルスの印加回数をリードするステップと、
前記リードするステップによって出力されるプログラムパルスの印加回数が臨界値より大きい場合、前記リードするステップによって出力されるプログラムパルスの印加回数と臨界値の差にステップ電圧を乗算し、その値の分だけ前記プログラム開始電圧を増加させるステップと、
前記リードするステップによって出力されるプログラムパルスの印加回数が臨界値より小さい又は臨界値と同じ場合、前記プログラム開始電圧をそのまま維持するステップと、
を含むことを特徴とする請求項３３に記載の不揮発性メモリ装置の動作方法。
【請求項３７】
各々のノーマルセルおよび各々の補助セルがマルチレベルセルＭＬＣであり、
前記第１プログラム動作が下位ビットプログラム動作であり、
前記第２プログラム動作が上位ビットプログラム動作であることを特徴とする請求項３３に記載の不揮発性メモリ装置の動作方法。
【請求項３８】
プログラム開始電圧を適用して複数のノーマルセルと複数の補助セルを含む第１ページ領域のプログラム動作を行うステップと、
前記プログラム開始電圧を適用して複数のノーマルセルと複数の補助セルを含み、前記第１ページ領域とワードラインを共有する第２ページ領域のプログラム動作を行うステップと、
前記第１ページ領域に対するプログラム動作過程で前記第１ページ領域のプログラム対象セルのうち検証電圧より大きい電圧でプログラムされたセルが発生する前まで前記第１ページ領域に印加されるプログラムパルスの回数をカウントするステップと、
前記カウントするステップによって決定されたプログラムパルスの印加回数を前記第１ページ領域の複数の補助セルに保存するステップと、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記プログラム開始電圧を設定するステップと、
を含むことを特徴とする不揮発性メモリ装置の動作方法。
【請求項３９】
前記保存するステップが、
前記カウントするステップによって決定されたプログラムパルスの印加回数を前記第１ページ領域の複数の補助セルに対応する補助ページバッファにセッティングするステップと、
前記セッティングするステップ以後、前記第１ページ領域のプログラム動作を継続して行い、前記補助ページバッファにセッティングされたプログラムパルスの印加回数が前記第１ページ領域の複数の補助セルに保存されるようにするステップと、
を含むことを特徴とする請求項３８に記載の不揮発性メモリ装置の動作方法。
【請求項４０】
前記設定するステップが、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数をリードするステップと、
前記リードするステップによって出力されるプログラムパルスの印加回数にステップ電圧を乗算し、その値の分だけ前記プログラム開始電圧の値を増加させるステップと、
を含むことを特徴とする請求項３８に記載の不揮発性メモリ装置の動作方法。
【請求項４１】
前記設定するステップが、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数をリードするステップと、
前記リードするステップによって出力されるプログラムパルスの印加回数が臨界値より大きい場合、前記リードするステップによって出力されるプログラムパルスの印加回数と臨界値の差異にステップ電圧を乗算し、その値の分だけ前記プログラム開始電圧の値を増加させるステップと、
前記リードするステップによって出力されるプログラムパルスの印加回数が臨界値より小さい又は臨界値と同じ場合、前記プログラム開始電圧の値をそのまま維持するステップと、
を含むことを特徴とする請求項３８に記載の不揮発性メモリ装置の動作方法。
【請求項４２】
前記第１ページ領域の各々のノーマルセルおよび各々の補助セルと、第２ページ領域の各々のノーマルセルおよび各々の補助セルがマルチレベルセルＭＬＣである時、
前記第１ページ領域のプログラム動作が前記第１ページ領域の第１および第２プログラム動作に分けられ、前記第２ページ領域のプログラム動作が前記第２ページ領域の第１および第２プログラム動作に分けられ、
前記第１ページ領域の第１プログラム動作過程で前記カウントするステップと前記保存するステップおよび前記設定するステップが行われ、行われた結果。設定された前記プログラム開始電圧に応じて前記第１ページ領域の第２プログラム動作と前記第２ページ領域の第１および第２プログラム動作が行われることを特徴とする請求項３８に記載の不揮発性メモリ装置の動作方法。
【請求項４３】
前記第１ページ領域および第２ページ領域に対する第１プログラム動作が下位ビットプログラム動作であり、
前記第１ページ領域および第２ページ領域に対する第２プログラム動作が上位ビットプログラム動作であることを特徴とする請求項４２に記載の不揮発性メモリ装置の動作方法。
【請求項４４】
第１プログラム開始電圧を適用して複数のノーマルセルと複数の補助セルを含む第１ページ領域のプログラム動作を行う第１プログラム動作ステップと、
前記第１プログラム動作ステップで前記第１ページ領域のプログラム対象セルのうち検証電圧より大きい電圧でプログラムされたセルが発生する前まで前記第１ページ領域に印加されるプログラムパルスの回数を前記第１ページ領域の複数の補助セルに保存する第１保存ステップと、
前記第１プログラム動作ステップで前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記第１プログラム開始電圧を設定するステップと、
前記第１プログラム動作ステップ以後に前記設定するステップで設定された前記第１プログラム開始電圧と第２プログラム開始電圧を電圧選択信号に応じて選択的に適用し、複数のノーマルセルと複数の補助セルを含み前記第１ページ領域とストリングを共有する第２ページ領域のプログラム動作を行う第２プログラム動作ステップと、
前記第２プログラム動作ステップで前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記電圧選択信号の値を決定するステップと、
を含むことを特徴とする不揮発性メモリ装置の動作方法。
【請求項４５】
前記第１保存ステップが、
前記第１プログラム動作ステップで前記第１ページ領域のプログラム対象セルのうち検証電圧より大きい電圧でプログラムされたセルが発生する前まで前記第１ページ領域に印加されるプログラムパルスの回数をカウントするステップと、
前記カウントするステップによって決定されたプログラムパルスの印加回数を前記第１ページ領域の複数の補助セルに対応する補助ページバッファにセッティングするステップと、
前記セッティングするステップ以後、前記第１プログラム動作ステップが継続して行われるようにして前記補助ページバッファにセッティングされたプログラムパルスの印加回数が前記第１ページ領域の複数の補助セルに保存されるようにするステップと、
を含むことを特徴とする請求項４４に記載の不揮発性メモリ装置の動作方法。
【請求項４６】
前記設定するステップが、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数をリードするステップと、
前記リードするステップによって出力されるプログラムパルスの印加回数にステップ電圧を乗算し、その値の分だけ前記第１プログラム開始電圧の値を増加させるステップと、
を含むことを特徴とする請求項４４に記載の不揮発性メモリ装置の動作方法。
【請求項４７】
前記設定するステップが、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数をリードするステップと、
前記リードするステップによって出力されるプログラムパルスの印加回数が臨界値より大きい場合、前記リードするステップによって出力されるプログラムパルスの印加回数と臨界値の差異にステップ電圧を乗算し、その値の分だけ前記第１プログラム開始電圧を増加させるステップと、
前記リードするステップによって出力されるプログラムパルスの印加回数が臨界値より小さい又は臨界値と同じ場合、前記第１プログラム開始電圧の値をそのまま維持するステップと、
を含むことを特徴とする請求項４４に記載の不揮発性メモリ装置の動作方法。
【請求項４８】
前記決定するステップが、
前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数をリードするステップと、
前記リードするステップによって出力されるプログラムパルスの印加回数が臨界値より大きい場合、前記電圧選択信号を活性化させて前記第２プログラム動作ステップに前記設定するステップで設定された前記第１プログラム開始電圧が適用されるようにするステップと、
前記リードするステップによって出力されるプログラムパルスの印加回数が臨界値より小さい又は臨界値と同じ場合、前記電圧選択信号を非活性化され前記第２プログラム動作ステップに前記第２プログラム開始電圧が適用されるようにするステップと、
を含むことを特徴とする請求項４４に記載の不揮発性メモリ装置の動作方法。
【請求項４９】
前記第１ページ領域の各々のノーマルセル、各々の補助セル、第２ページ領域の各々のノーマルセル、および各々の補助セルがマルチレベルセルＭＬＣである時、
前記第２プログラム動作ステップで前記第２ページ領域のプログラム対象セルのうち検証電圧より大きい電圧でプログラムされたセルが発生する前まで前記第２ページ領域に印加されるプログラムパルスの回数を前記第２ページ領域の複数の補助セルに保存する第２保存ステップと、
前記第２プログラム動作ステップで前記第２ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記第２プログラム開始電圧を設定するステップと、をさらに含み、
前記第１ページ領域のプログラム動作は前記第１ページ領域の第１および第２プログラム動作に分けられて前記第２ページ領域のプログラム動作は前記第２ページ領域の第１および第２プログラム動作に分けられることを特徴とする請求項４４に記載の不揮発性メモリ装置の動作方法。
【請求項５０】
前記第１ページ領域の第１プログラム動作過程で前記第１保存ステップと前記第１プログラム開始電圧を設定するステップが行われ、行われた結果、設定された前記第１プログラム開始電圧が前記第１ページ領域の第２プログラム動作に適用され、
前記第２ページ領域の第１プログラム動作過程で前記第２保存ステップと前記第２プログラム開始電圧を設定するステップが行われ、行われた結果、設定された前記第２プログラム開始電圧が前記第２ページ領域の第２プログラム動作に適用されることを特徴とする請求項４９に記載の不揮発性メモリ装置の動作方法。
【請求項５１】
前記第１ページ領域および第２ページ領域に対する第１プログラム動作が下位ビットプログラム動作であり、
前記第１ページ領域および第２ページ領域に対する第２プログラム動作が上位ビットプログラム動作であることを特徴とする請求項４９に記載の不揮発性メモリ装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体設計技術に関するもので、具体的に不揮発性メモリ装置およびその動作に関するものである。
【背景技術】
【０００２】
最近になって電気的にプログラム（ｐｒｏｇｒａｍ）と消去（ｅｒａｓｅ）が可能であり、一定周期でデータを再作成しなければならないリフレッシュ（ｒｅｆｒｅｓｈ）機能が必要ない不揮発性メモリ素子に対する需要が増加している。
【０００３】
前記不揮発性メモリセルは、電気的なプログラム／消去動作が可能な素子であって薄い酸化膜に印加される強い電気場によって電子が移動しつつセルの閾電圧を変化させてプログラムおよび消去動作を行う。前記不揮発性メモリセルのプログラム動作時にはプログラム対象セルが検証電圧以上でプログラムされたのか否かを確認する検証動作を行うようになる。シングルレベルセルプログラム方式では互いに異なる２つの状態のセルだけが存在するため前記検証電圧は１つであるが、マルチレベルセルプログラム方式では種々の状態のセルが１つのページに存在することになるため、前記検証電圧も複数となる。例えば２ビットマルチレベルセルプログラム方式で上位ビットプログラム（ＭＳＢ  ＰＧＭ）動作を行う場合には３種の検証電圧を基準として検証動作を行うようになる。
【０００４】
ＩＳＰＰ（Ｉｎｃｒｅｍｅｎｔａｌ  ｓｔｅｐ  ｐｕｌｓｅ  ｐｒｏｇｒａｍ）プログラム方式によれば、一回のパルスが印加された後、３度の検証動作を行う必要がある。この時、各検証動作を同時に行わずセルのプログラム速度を考慮して一部検証動作だけを行うブラインド検証方法が知られている。ただし、不揮発性メモリ装置のプログラム／消去回数が増加した場合、プログラム速度が増加する傾向があり、これを考慮したプログラム方法が必要な状況である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、前述した従来技術の問題を解決するために提案されたものであって、不揮発性メモリ装置のプログラム時間のうち検証動作に要される時間を最小化させることができるプログラム方法を提供するのにその目的がある。
【課題を解決するための手段】
【０００６】
前記の解決しようとする課題を達成するための本発明の一側面によれば、複数のノーマルセルと複数の補助セルを含むページ領域と、前記ページ領域のプログラム対象セルのうち基準電圧より大きい電圧でプログラムされたセルが発生した場合、１ビットパス信号を出力するビットパス検出部と、前記ページ領域に対する第１プログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を前記複数の補助セルに保存するプログラムパルス印加回数保存部と、前記複数の補助セルに保存されたプログラムパルスの印加回数に基づいて前記ページ領域の第２プログラム動作に対するプログラム開始電圧を設定するプログラム開始電圧設定部とを備える不揮発性メモリ装置を提供する。
【０００７】
また、前記の解決しようとする課題を達成するための本発明の他の側面によれば、複数のノーマルセルと複数の補助セルを各々含み、ワードラインを共有する第１ページ領域および第２ページ領域と、前記第１ページ領域のプログラム対象セルのうち基準電圧より大きい電圧でプログラムされたセルが発生した場合、１ビットパス信号を出力するビットパス検出部と、前記第１ページ領域に対するプログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を前記第１ページ領域の複数の補助セルに保存するプログラムパルス印加回数保存部と、前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に基づいて前記第１ページ領域または第２ページ領域に対するプログラム開始電圧を設定するプログラム開始電圧設定部とを備える不揮発性メモリ装置を提供する。
【０００８】
また、前記の解決しようとする課題を達成するための本発明のまた他の側面によれば、複数のノーマルセルと複数の補助セルを各々含み、ストリングを共有する第１ページ領域および第２ページ領域と、前記第１ページ領域のプログラム対象セルのうち基準電圧より大きい電圧でプログラムされたセルが発生した場合１ビットパス信号を出力するビットパス検出部と、前記第１ページ領域に対するプログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を前記第１ページ領域の複数の補助セルに保存するプログラムパルス印加回数保存部と、前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に基づいて前記第２ページ領域に対するプログラム開始電圧を設定するプログラム開始電圧設定部を備える不揮発性メモリ装置を提供する。
【０００９】
また、前記の解決しようとする課題を達成するための本発明のまた他の側面によれば、複数のノーマルセルと複数の補助セルを各々含み、ストリングを共有する第１ページ領域および第２ページ領域と、前記第１ページ領域または第２ページ領域のプログラム対象セルのうち基準電圧より大きい電圧でプログラムされたセルが発生した場合、１ビットパス信号を出力するビットパス検出部と、第１プログラム開始電圧が適用された前記第１ページ領域の第１プログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を前記第１ページ領域の複数の補助セルに保存した後、保存されたプログラムパルスの回数に応じて前記第１プログラム開始電圧を調節し、前記第１ページ領域の第２プログラム動作に適用する第１プログラム開始電圧調節部と、前記第１プログラム開始電圧と第２プログラム開始電圧が選択的に適用された前記第２ページ領域の第１プログラム動作過程で前記１ビットパス信号が出力される時点まで印加されたプログラムパルスの回数を前記第２ページ領域の複数の補助セルに保存した後、保存されたプログラムパルスの回数に応じて前記第２プログラム開始電圧を調節し、前記第２ページ領域の第２プログラム動作に適用する第２プログラム開始電圧調節部とを備える不揮発性メモリ装置を提供する。
【００１０】
また、前記の解決しようとする課題を達成するための本発明のまた他の側面によれば、初期化されたプログラム開始電圧を適用して複数のノーマルセルおよび複数の補助セルを含むページ領域の第１プログラム動作を行うステップと、前記第１プログラム動作過程で前記ページ領域のプログラム対象セルのうち検証電圧より大きい電圧でプログラムされたセルが発生する前まで前記ページ領域に印加されるプログラムパルスの回数をカウントするステップと、前記カウントするステップによって決定されたプログラムパルスの印加回数を前記複数の補助セルに保存するステップと、前記複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記プログラム開始電圧を設定するステップと、前記設定するステップによって決定された前記プログラム開始電圧を適用して前記ページ領域の第２プログラム動作を行うステップとを含む不揮発性メモリ装置の動作方法を提供する。
【００１１】
また、前記の解決しようとする課題を達成するための本発明のまた他の側面によれば、プログラム開始電圧を適用して複数のノーマルセルと複数の補助セルを含む第１ページ領域のプログラム動作を行うステップと、前記プログラム開始電圧を適用して複数のノーマルセルと複数の補助セルを含み、前記第１ページ領域とワードラインを共有する第２ページ領域のプログラム動作を行うステップと、前記第１ページ領域に対するプログラム動作過程で前記第１ページ領域のプログラム対象セルのうち検証電圧より大きい電圧でプログラムされたセルが発生する前まで前記第１ページ領域に印加されるプログラムパルスの回数をカウントするステップと、前記カウントするステップによって決定されたプログラムパルスの印加回数を前記第１ページ領域の複数の補助セルに保存するステップと、前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記プログラム開始電圧を設定するステップとを含む不揮発性メモリ装置の動作方法を提供する。
【００１２】
また、前記の解決しようとする課題を達成するための本発明のまた他の側面によれば、第１プログラム開始電圧を適用して複数のノーマルセルと複数の補助セルを含む第１ページ領域のプログラム動作を行う第１プログラム動作ステップと、前記第１プログラム動作ステップで前記第１ページ領域のプログラム対象セルのうち検証電圧より大きい電圧でプログラムされたセルが発生する前まで前記第１ページ領域に印加されるプログラムパルスの回数を前記第１ページ領域の複数の補助セルに保存する第１保存ステップと、前記第１プログラム動作ステップで前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記第１プログラム開始電圧を設定するステップと、前記第１プログラム動作ステップ以後に前記設定するステップで設定された前記第１プログラム開始電圧と第２プログラム開始電圧を電圧選択信号により選択的に適用して複数のノーマルセルと複数の補助セルを含んで前記第１ページ領域とストリングを共有する第２ページ領域のプログラム動作を行う第２プログラム動作ステップと、前記第２プログラム動作ステップで前記第１ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記電圧選択信号の値を決定するステップを含む不揮発性メモリ装置の動作方法とを提供して、また、前記第１ページ領域の各々のノーマルセル、各々の補助セル、第２ページ領域の各々のノーマルセル、および各々の補助セルがマルチレベルセルＭＬＣである時、前記第２プログラム動作ステップで前記第２ページ領域のプログラム対象セルのうち検証電圧より大きい電圧でプログラムされたセルが発生する前まで前記第２ページ領域に印加されるプログラムパルスの回数を前記第２ページ領域の複数の補助セルに保存する第２保存ステップと、前記第２プログラム動作ステップで前記第２ページ領域の複数の補助セルに保存されたプログラムパルスの印加回数に応じて前記第２プログラム開始電圧を設定するステップとをさらに含む不揮発性メモリ装置の動作方法を提供する。
【発明の効果】
【００１３】
前述した本発明は、複数のノーマルセルと複数の補助セルを含む単一ページ領域を第１プログラム動作させる時に分かる最適のプログラム開始電圧に対する情報を複数の補助セルに保存した後、単一ページ領域を第２プログラム動作させる時に適用させることができる。これによって、不揮発性メモリ装置のプログラム時間のうち検証動作に要される時間を最小化させる効果がある。
【００１４】
また、複数のノーマルセルと複数の補助セルを各々含む第１ページ領域をプログラム動作させる時に分かる最適のプログラム開始電圧に対する情報を第１ページ領域の複数の補助セルに保存した後、第２ページ領域をプログラム動作させる時に適用させることができる。これによって、不揮発性メモリ装置のプログラム時間のうち検証動作に要される時間を最小化させる効果がある。
【００１５】
また、最適のプログラム開始電圧に対する情報を複数の補助セルに保存するため、不揮発性メモリ装置に電源が供給されない場合でもその情報が消えない状態となる。これによって、データ入・出力過程で電源供給状況が随時変動する場合でも常に安定的にプログラム時間のうち検証動作に要される時間を最小化させる効果がある。
【図面の簡単な説明】
【００１６】
【図１】通常の不揮発性メモリ装置のマルチレベルセルプログラム方法を説明するための図である。
【図２】通常の不揮発性メモリ装置のＩＳＰＰプログラム方法の概念を説明するための図である。
【図３】通常のＩＳＰＰプログラム方法においてプログラムパルス印加による閾電圧の移動を示した図である。
【図４】通常のＩＳＰＰプログラム方法においてプログラム開始電圧の設定による分布変化を示した図である。
【図５】プログラム消去動作回数による不揮発性メモリ装置のプログラム速度変化の概念を示した図である。
【図６】通常の不揮発性メモリ装置の検証方法のうち、ブラインド検証方法の概念を説明するための図である。
【図７】通常の不揮発性メモリ装置の上位ビットプログラムに対するプログラム／検証方法を説明するための図である。
【図８】通常の不揮発性メモリ装置のプログラム／検証方法を説明するための図である。
【図９】本発明の実施形態による不揮発性メモリ装置を示したブロックダイアグラムである。
【図１０】図９に図示された本発明の実施形態による不揮発性メモリ装置のメモリセルアレイおよびページバッファリング部の最初の構成を詳細に示したブロックダイアグラムである。
【図１１】図９に図示された本発明の実施形態による不揮発性メモリ装置のプログラム動作を説明するために示したフローチャートである。
【図１２】図９に図示された本発明の実施形態による不揮発性メモリ装置のメモリセルアレイおよびページバッファリング部の２番目の構成を詳細に示したブロックダイアグラムである。
【図１３】図９に図示された本発明の実施形態による不揮発性メモリ装置のメモリセルアレイおよびページバッファリング部の３番目の構成を詳細に示したブロックダイアグラム。
【図１４】図９に図示された本発明の実施形態による不揮発性メモリ装置に電圧選択信号生成部がさらに含まれたブロックダイアグラムである。
【図１５】図１４に図示された本発明の実施形態による不揮発性メモリ装置のプログラム動作を説明するために示したフローチャートである。
【図１６】本発明の他の側面による集積回路のブロック図である。
【図１７】本発明のまた他の側面によるコンパクトメモリカードのブロック図である。
【図１８】本発明のまた他の側面による情報処理システムのブロック図である。
【発明を実施するための形態】
【００１７】
以下、添付された図面を参照して本発明の好ましい実施形態を説明する。
【００１８】
しかし、本発明は以下で開示される実施形態に限定されるものではなく互いに異なる多様な形態で構成することができ、単に本実施形態は本発明の開示が完全なようにし、通常の知識を有する者に本発明の範疇を完全に知らせるために提供されるものである。
【００１９】
図１は、通常の不揮発性メモリ装置のマルチレベルセルプログラム方法を説明するための図である。
【００２０】
下位ビットプログラムＬＳＢ  ＰＧＭ動作ではプログラム動作によって互いに異なる２個のセル分布が表れる。すなわち、検証電圧ＬＰＶ１以上でプログラムされたセルの分布を第２状態といい、そうではないセルの分布を第１状態という。
【００２１】
このように下位ビットプログラム動作を行った状態で上位ビットプログラムＭＳＢ  ＰＧＭ動作を行うようになる。上位ビットプログラム動作によって互いに異なる閾電圧を有する４個のセル分布（第３ないし第６状態）が表れる。この時、各分布別に検証電圧が相異し、低い順序から整列すれば、第１検証電圧ＭＰＶ１、第２検証電圧ＭＰＶ２、第３検証電圧ＭＰＶ３を挙げることができる。すなわち、第３検証電圧ＭＰＶ３以上でプログラムされた状態を第６状態、第３検証電圧より低いが第２検証電圧ＭＰＶ２以上でプログラムされた状態を第５状態、第２検証電圧より低いが第１検証電圧ＭＰＶ１以上でプログラムされた状態を第４状態、第１検証電圧より低くプログラムされた状態を第３状態という。また、前記第４状態でプログラムしようとするセルを第１検証対象セル、第５状態でプログラムしようとするセルを第２検証対象セル、第６状態でプログラムしようとするセルを第３検証対象セルとして定義する。
【００２２】
このように上位ビットプログラム動作では下位ビットプログラム動作に比べてさらに多くの検証電圧を基準として検証動作を行わなければならない。
【００２３】
図２は、通常の不揮発性メモリ装置のＩＳＰＰプログラム方法の概念を説明するための図である。
【００２４】
ＩＳＰＰ（Ｉｎｃｒｅｍｅｎｔａｌ  ｓｔｅｐ  ｐｕｌｓｅ  ｐｒｏｇｒａｍ）プログラム方法によれば、プログラムパルスを反復して印加するが、毎反復時ごとに検証動作を行い、プログラムパルスをステップ電圧Ｖｓｔｅｐの分だけ増加させ印加する。
【００２５】
図示されたように、最初にはプログラム開始電圧Ｖｓｔａｒｔを印加し、次のプログラムパルス印加時にはステップ電圧Ｖｓｔｅｐの分だけ増加されたプログラムパルスを印加する。そして毎プログラムパルスの印加時ごとに検証動作を行う。したがって一回のプログラムパルスに印加に要する時間はプログラムパルス印加時間ｔＰＵＬＳＥと検証時間ｔＶＦＹの和と同じである。
【００２６】
一方、消去状態のセルに対してプログラム開始電圧Ｖｓｔａｒｔを最初に印加した際のセルの分布（すなわちセルの閾値分布：a threshold distribution of cells）を、固有分布△Ｖｔｈｉと定義する。図では固有分布が概ね４Ｖである場合が示されている。プログラム開始電圧Ｖｓｔａｒｔ、ステップ電圧Ｖｓｔｅｐ、および第１検証電圧ＰＶ１を基準としてプログラム動作を行うと、それぞれ第１検証電圧ＰＶ１以上で且つ固有分布△Ｖｔｈｉの最大値より低い閾電圧をもつセルの分布が形成される。この時プログラムが完了したセルの分布はステップ電圧Ｖｓｔｅｐの大きさと同じである。
【００２７】
理論的には、プログラム動作の完了に必要なパルス印加回数Ｎｐｇｍは、固有分布△Ｖｔｈｉとステップ電圧Ｖｓｔｅｐの比によって決定される。例えば、固有分布△Ｖｔｈｉが４Ｖであり、ステップ電圧Ｖｓｔｅｐが１Ｖであるなら全部で４回のパルスが印加されなければならない。
【００２８】
全体プログラム動作に要する時間ｔＰＲＯＧは、前記パルス印加回数Ｎｐｇｍと一回のプログラムパルスに印加に要する時間（ｔＰＵＬＳＥ＋ｔＶＦＹ）との積と同じである。
【００２９】
このようなＩＳＰＰプログラム特性によれば、ステップ電圧Ｖｓｔｅｐを増加させるほどパルス印加回数Ｎｐｇｍが減少するため、全体プログラム動作に要する時間ｔＰＲＯＧは減少する。しかし、プログラムが完了したセルの分布はステップ電圧Ｖｓｔｅｐと同じであるため、全体分布が広くなるという問題が発生する。
【００３０】
図３は、通常のＩＳＰＰプログラム方法でプログラムパルス印加による閾電圧の移動を示した図である。
【００３１】
プログラム開始電圧Ｖｓｔａｒｔが１６Ｖでステップ電圧Ｖｓｔｅｐが１Ｖ、固有分布△Ｖｔｈｉが４Ｖと仮定する。
【００３２】
プログラムしようとする目標電圧は１Ｖ〜２Ｖであり、検証電圧は１Ｖである。
【００３３】
最初のプログラムパルス印加時のプログラム電圧（Ｖｐｇｍ）は１６Ｖとなる。最初のプログラムパルス印加時には前記固有分布△Ｖｔｈｉに応じて各セルの閾電圧が決定される。前記最初のプログラムパルス印加以後に１Ｖ以上でプログラムされたセルについては、ページバッファに保存されたデータが変更され、以後にプログラムパルスがこれ以上印加されない。
【００３４】
２番目のプログラムパルス印加時に、１Ｖより低いセルの閾電圧は、プログラムパルス印加によってさらに上昇する。１Ｖより低いセルの閾電圧は、１Ｖずつ上昇することが好ましい。最初のプログラムパルス印加時のセルの分布が全体的に１Ｖの分だけ上昇したことが分かる。ただし、先に言及したように最初のプログラムパルス時に１Ｖ以上でプログラムされたセルに対してはプログラムパルスがさらに印加されないため、閾電圧の変化はない。
【００３５】
３番目、４番目のプログラムパルス印加時にも前記と同様に１Ｖずつ閾電圧が上昇することが分かる。そしてプログラムが完了した状態の閾電圧の分布はステップ電圧の大きさと同じになる。
【００３６】
図４は、通常のＩＳＰＰプログラム方法でプログラム開始電圧の設定による分布変化を示した図である。
【００３７】
プログラム開始電圧Ｖｓｔａｒｔが１６Ｖの場合と１７Ｖの場合（固有分布△Ｖｔｈｉは４Ｖ、ステップ電圧Ｖｓｔｅｐは１Ｖ）、プログラム動作が完了した時に閾電圧の分布状態が相異することが分かる。すなわち、プログラム開始電圧が大きくなると、最大閾電圧値がさらに大きくなることになる。プログラム開始電圧Ｖｓｔａｒｔが１６Ｖの場合の最大閾電圧値は２Ｖであるが、プログラム開始電圧Ｖｓｔａｒｔが１７Ｖの場合の最大閾電圧値は３Ｖとなる。この時、プログラムが終了した状態での最大閾電圧値は相異するが、閾電圧の分布自体は１Ｖで同一であるということが分かる。先に言及したように閾電圧の分布はステップ電圧Ｖｓｔｅｐによって決定されるためである。
【００３８】
このようにプログラム開始電圧の変化に応じて、プログラムが終了した状態は変わることになる。この時、プログラムパルス印加回数およびプログラム動作に要する時間は同一である。このような特性に照らしてみる時、種々の閾電圧分布状態を必要とするＭＬＣプログラム動作では、１つのプログラム開始電圧を基準としてプログラム動作を行う必要がある。すなわち、目標とする閾電圧が最も低いセルを基準としてプログラム開始電圧を設定して初めてオーバープログラムを防止することができる。
【００３９】
例えば、目標にする閾電圧が１Ｖ〜２Ｖの場合、１７Ｖをプログラム開始電圧と設定することになると、図示されたように一回のプログラムパルスの印加で２Ｖ〜３Ｖの閾電圧を有するセルが発生するところ、このようなセルはオーバープログラムされたものとみなされる。したがって、プログラム動作が行われる際、プログラム開始電圧は１６Ｖに設定される。
【００４０】
図５は、プログラム／消去動作の回数による不揮発性メモリ装置のプログラム速度変化の概念を示した図である。
【００４１】
不揮発性メモリ装置を使用するようになると、プログラム動作と消去動作を数回反復することになる。この時、プログラム動作はページ単位で、消去動作はブロック単位で行われる。プログラム／消去サイクル数（ｐｒｏｇｒａｍ／ｅｒａｓｅ  ｃｙｃｌｅ  ｎｕｍｂｅｒ）が増加するほど不揮発性メモリ装置のプログラム速度が増加する傾向がある。すなわち、プログラム／消去動作回数の増加に応じて不揮発性メモリセルのフローティングゲートにトラップされる量が増加するため、一般セルに比べてプログラム速度が増加する。この時、プログラム速度は、一回の（すなわち最初の）プログラムパルス印加による閾電圧の変化量で定義されうる。
【００４２】
したがって、ＩＳＰＰのプログラムパルス印加回数Ｎｐｇｍを決定する要素である固有分布△Ｖｔｈｉに、プログラム／消去動作回数の増加による変化量を追加して考慮しなければならない。この時、前記変化量はプログラム／消去サイクル数が増加するほど大きくなることになる。
【００４３】
このような特性を考慮してプログラム開始電圧を設定するならば、プログラム開始電圧は、プログラム／消去動作回数が最小の場合に比べて低く設定されなければならない。すなわち、不揮発性メモリ装置の最初の動作時からプログラム／消去サイクル数の増加によるプログラム速度を考慮して、プログラム開始電圧を低く印加する。このような構成によれば、最初の動作時から特定のプログラム／消去サイクル数に到達する前までは、実質的にダミー（ｄｕｍｍｙ）プログラムパルスを印加するという効果が発生する。このため、全体的にプログラム動作に要する時間が増加するという問題が発生する。
【００４４】
図６は、通常の不揮発性メモリ装置の検証方法のうちブラインド検証方法の概念を説明するための図である。
【００４５】
前記検証方法は、ＭＬＣプログラム方法に適用される。図示された検証方法は２ビットマルチレベルセルプログラム時の検証方法である。全部で３個の検証電圧ＰＶ１、ＰＶ２、ＰＶ３を基準として検証動作を行う。前記３個の検証電圧を基準として各々検証動作を行うため、原則的には一回のプログラムパルス印加後に３回の検証動作を行わなければならない。
【００４６】
しかし、先に言及したようにプログラム開始電圧は閾電圧が一番低い状態を基準として設定されるため、最初のプログラムパルス印加時には第２検証電圧ＰＶ２および第３検証電圧ＰＶ３以上でプログラムされるセルは発生しなくなる。すなわち、プログラムパルスがある程度印加された後に第２検証電圧、第３検証電圧以上でプログラムされるセルが発生することになる。したがって、検証動作に要する時間を短縮させるために、最初の何区間かの間はプログラムパルス後に第１検証電圧を基準とした検証動作のみを行う。このように一部検証動作を省略するとしてブラインド（ｂｌｉｎｄ）検証方法という。ただし、このようなブラインド検証方法の概念に加えて、先に説明したプログラム／消去検証サイクル数によるプログラム速度の変化を考慮したプログラムパルス印加方法を適用する場合、次のような問題が発生する。
【００４７】
図７は、通常の不揮発性メモリ装置の上位ビットプログラムに対するプログラム／検証方法を説明するための図である。
【００４８】
第１プログラム／検証方法によれば、先に説明したブラインド検証方法によって最初のプログラム電圧印加後に第１検証電圧ＭＰＶ１を基準とする検証動作のみを行う。原則的には第２検証電圧、第３検証電圧などを基準とする検証動作も共に行わなければならないが、先に説明したブラインド検証方法によって第１検証電圧を基準とする検証動作のみを行う。
【００４９】
プログラムパルス印加および第１検証電圧を基準とする検証動作のみを３回程度行った後に、第１検証電圧のみでなく第２検証電圧を基準とする検証動作も行う。また、第１および第２検証電圧を基準とする検証動作を３回程度行った後に第３検証電圧を基準とする検証動作を行う。一方、第１検証電圧のみを基準とする検証動作が行われる回数、第１および第２検証電圧のみを基準とする検証動作が行われる回数はあらかじめ設定されている。
【００５０】
次に第２プログラム／検証方法について説明する。前記第２プログラム／検証方法では、プログラム／消去サイクル数の増加によってプログラム速度が増加する傾向を補償するためにプログラム開始パルスを低くして印加する。すなわち、図示されたように第１プログラム／検証方法に比べてプログラム開始パルスを低くして印加することになる。ただし、これはプログラム／消去サイクル数に応じて問題が生じることがある。
【００５１】
すなわち、プログラム／消去サイクル数が高い場合にはプログラム速度が速いため、低いプログラムパルスの印加でも閾電圧の変化量が大きい。したがって、低いプログラム電圧の印加時にも検証動作を行う必要がある。また、閾電圧が一部上昇した時点以後（Ａ以後）では第１および第２検証電圧を基準とする検証動作を行う必要がある。
【００５２】
しかし、プログラム／消去サイクル数が小さい場合にはプログラム速度が遅いため、低いプログラムパルスの印加に対する閾電圧の変化量が小さい。したがって、低いプログラム電圧の印加時に検証動作を行わなければならない必要性は少なくなる。また、閾電圧の上昇幅が小さいため、プログラムパルスがある程度印加された以後（Ａ以後）でも第１検証電圧を基準とする検証動作以外に第２検証電圧を基準とする検証動作まで行わなければならない必要性は少なくなる。
【００５３】
図８は、通常の不揮発性メモリ装置のプログラム／検証方法を説明するための図である。
【００５４】
図８を参照すれば、通常の不揮発性メモリ装置に先に説明したブラインド検証方法を断片的に適用する場合、プログラム／消去サイクル数が低い初期動作では第１検証電圧を基準とする検証動作外に不必要に第２検証電圧を基準とする検証動作を行うことになる場合が存在する。
【００５５】
これを防止するために、例えば本実施形態では、第１検証電圧以上でプログラムされたセルが検出された場合に限ってブラインド検証方法を適用する。
【００５６】
すなわち、図示されたように第１検証電圧以上でプログラムされたセルが検出される前までは第１検証電圧を基準とする第１検証動作と、ＩＳＰＰプログラム動作を交互に行う。そして、第１検証電圧以上でプログラムされたセルが検出されると、検出されるまで印加されたプログラムパルス回数を保存して、他のページ領域にプログラムを行う時に保存されたプログラムパルス回数を基準としてプログラム開始電圧を調節し、前記説明したブラインド検証方法を行う。
【００５７】
例えば、通常の不揮発性メモリ装置では、第１ページ領域に対してプログラムを行い、第１検証電圧以上でプログラムされたセルが検出されるまで印加されるプログラムパルス回数をカウントすることになる。図８では、第１ページ領域に対するプログラムパルス印加回数が「４」であることを知ることができる。したがって、第１ページ領域に対するプログラム開始電圧に４倍のステップ電圧を加えて第２ページ領域に対するプログラム開始電圧を設定し、設定されたプログラム開始電圧に応じて第２ページ領域に対するプログラム動作を行うようになる。このように第１ページ領域のプログラム結果を根拠として第２ページ領域のプログラム開始電圧を可変的に設定するため、ダミープログラムパルスの印加に要する時間を短縮させることができる。すなわち、図８の場合のように第２ページ領域に対するプログラム動作時、４度のダミープログラムパルス印加および検証動作に要する時間を減少させることができる。
【００５８】
ところで、通常の不揮発性メモリ装置では、第１検証電圧以上でプログラムされたセルが検出されるまで、印加されたプログラムパルス回数を保存するための手段としてコントローラに含まれたラッチが使用される。
【００５９】
すなわち、不揮発性メモリ装置にはページ領域の個数が少なくとも数十個から数百個含まれることが一般的であるため、不揮発性メモリ装置に含まれたすべてのページ領域のプログラムパルス回数を保存するためにはページ領域数に対応するだけのラッチがコントローラ内部に存在すべきであるが、これは実質的に可能な構成でない。
【００６０】
したがって、通常の不揮発性メモリ装置では、設定された一部ページ領域に対応する少数のラッチをコントローラに具備した状態で、設定されたページ領域のプログラム動作によって調節可能なプログラム開始電圧を、設定されたページ領域周辺の複数のページ領域に一括的に適用する方式が使用される。
【００６１】
しかし、いくら近くに位置した２個のページ領域であるといっても２つのページ領域間に工程（Ｐｒｏｃｅｓｓ）、サイクリング（ｃｙｃｌｉｎｇ）の程度等の要因である差異が発生するとしたら同一の値を適用した時、正常にデータを検出することができないこともあるという問題がある。すなわち、いくら近くに位置した２個のページ領域であるといっても２つのページ領域の間の差異を勘案したマージン（ｍａｒｇｉｎ）を置かなければならない。
【００６２】
例えば、あるページ領域がプログラム動作時、４回のプログラムパルスを印加する動作で、第１検証電圧以上でプログラムされたセルが検出されても近くの他のページ領域は同じ条件でこれより速い２回のプログラムパルスが印加されたり、３回のプログラムパルスが印加される動作で第１検証電圧以上でプログラムされたセルが存在することができる。
【００６３】
すなわち、前記で説明した通常の不揮発性メモリ装置の動作方法は、半導体チップまたは動作計画（ｐｌａｎｅ）等の全体変化の要素を判断してマージン（ｍａｒｇｉｎ）を置くべきだが、このマージンによって不揮発性メモリ装置のプログラム／検証方法性能に差異が発生することがある。
【００６４】
図９は、本発明の実施形態による不揮発性メモリ装置を図示したブロックダイアグラムである。
【００６５】
図１０は、図９に図示された本発明の実施形態による不揮発性メモリ装置のメモリセルアレイおよびページバッファリング部の最初の構成を詳細に図示したブロックダイアグラムである。
【００６６】
図９を参照すれば、本発明の実施形態による不揮発性メモリ装置は、不揮発性メモリセルアレイ９００と、ページバッファリング部９１０と、ビットパス検出部９２０と、コントローラ内部に備えられたプログラム開始電圧設定部９３０と、プログラムパルス印加回数保存部９４０と、プログラムパルスカウント部９５０と、高電圧発生器９６０と、を備える。
【００６７】
参考として、その動作による構成が具体的に図示されてはいないが、コントローラは不揮発性メモリ装置のプログラム動作、リード動作、消去動作など各種動作を行う。外部から入力される命令語、アドレス、データ等の入力を受けて該当する動作を行う。
【００６８】
また高電圧発生器９６０を制御して各動作に該当する高電圧（プログラム電圧、パス電圧、リード電圧など）をメモリセルアレイに印加させる。またプログラム動作時に行われる検証動作では各メモリセルが基準電圧以上でプログラムされたのか否かを確認し、パス完了信号が入力されればプログラム動作が終了するように制御する。
【００６９】
すなわち、コントローラ内部に図示されたプログラム開始電圧設定部９３０とプログラムパルス印加回数保存部９４０とプログラムパルスカウント部９５０は、本発明の特徴的な動作であるページ領域のプログラム対象セルのうち基準電圧以上でプログラムが完了されたセルが発生した時点、すなわち１ビットパス時点まで印加されたプログラムパルス印加回数を測定し、それによってプログラム開始電圧を設定するために必要な構成要素である。
【００７０】
具体的に、メモリセルアレイ９００とページバッファリング部９１０の具体的な構成を示した図１０を参照して本発明の実施形態による不揮発性メモリ装置の構成を説明すれば次のとおりである。
【００７１】
まず、メモリセルアレイ９００は、ノーマル領域９００Ａと補助領域９００Ｂを含む。同様に、ページバッファリング部９１０は、メモリセルアレイ９００のノーマル領域９００Ａに対応するノーマルページバッファリング部９１０Ａと補助領域９００Ｂに対応する補助ページバッファリング部９１０Ｂを含む。
【００７２】
ここで、メモリセルアレイ９００のノーマル領域９００Ａは、前記で説明した通常の不揮発性メモリ装置のメイン領域とスペア領域とリダンダンシー領域をすべて合わせる領域である。反面、メモリセルアレイ９００の補助領域９００Ｂは、前記で説明した通常の不揮発性メモリ装置には含まれなかった領域である。すなわち、メモリセルアレイ９００の補助領域９００Ｂは、本発明の実施形態による不揮発性メモリ装置のために追加された領域であり、数バイト（ｂｙｔｅ）の容量を有せるように設計される。この時、メモリセルアレイ９００の補助領域９００Ｂは、通常の不揮発性メモリ装置に完全に新しく追加された領域であって、メモリセルアレイ９００の全体領域の大きさをもう少し増加させる方式によって具現されうる。もちろん、メモリセルアレイ９００の全体領域の大きさを増加させずに前記で説明した通常の不揮発性メモリ装置にすでに含まれているスペア領域またはリダンダンシー領域の一部区間を分割して補助領域９００Ｂとして設定するのも可能である。
【００７３】
このように、メモリセルアレイ９００がノーマル領域９００Ａと補助領域９００Ｂを含むため、メモリセルアレイ９００に備えられた各々複数のセルを含む複数の単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）も複数のノーマルセル（ＢＬ＜０：Ｍ−１＞に対応）と複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）を含む形態で構成される。
【００７４】
すなわち、各々の単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）別に複数のノーマルセル（ＢＬ＜０：Ｍ−１＞に対応）と複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）を含む形態となる。
【００７５】
そして、本実施形態は、単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）のプログラム対象セルのうち基準電圧より大きい電圧でプログラムされたセルが発生した場合、１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）を出力するビットパス検出部９２０と、単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）に対する第１プログラム動作の過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点までに印加されたプログラムパルスの回数を複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存するプログラムパルス印加回数保存部９４０と、複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存されたプログラムパルスの印加回数に基づいて単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）の第２プログラム動作に対するプログラム開始電圧を設定するプログラム開始電圧設定部９３０と、を備える。
【００７６】
また、本実施形態は、第１プログラム動作過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点まで単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）に印加されるプログラムパルスの回数をカウントしてプログラムパルス印加回数保存部９４０に伝達するプログラムパルスカウント部９５０をさらに備える。
【００７７】
前述した構成でメモリセルアレイ９００に備えられた複数のセルはすべてマルチレベルセルＭＬＣ（Ｍｕｌｔｉ  Ｌｅｖｅｌ  Ｃｅｌｌ）である。すなわち、単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）に含まれた複数のノーマルセル（ＢＬ＜０：Ｍ−１＞に対応）と複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）はすべてマルチレベルセルＭＬＣである。したがって、本発明の実施形態による不揮発性メモリ装置のプログラム動作は、図１１に図示されたフローチャートのように第１プログラム動作と第２プログラム動作に分けられる。この時、第１プログラム動作は、例えば下位ビットプログラム動作となり、第２プログラム動作は、例えば上位ビットプログラム動作になる。
【００７８】
図１１を参照して本発明の実施形態による不揮発性メモリ装置のプログラム動作を具体的に説明すれば次のとおりである。
【００７９】
まず、不揮発性メモリ装置にパワーが供給される時（１１００）、「初期化された第１プログラム開始電圧」と「初期化された第２プログラム開始電圧」はあらかじめ知ることができる値である。この時、「初期化された第１プログラム開始電圧」と「初期化された第２プログラム開始電圧」は、前記の図２で説明した消去状態のセルに対して最初に印加されるプログラム開始電圧Ｖｓｔａｒｔとみなすことができ、設計者によってその基本値（ｄｅｆａｕｌｔ  ｖａｌｕｅ）が調節される。参考として、「初期化された第１プログラム開始電圧」と「初期化された第２プログラム開始電圧」は、複数の単位ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）に各々適用される常数であるため、一般的には互いに同じになるようにその基本値（ｄｅｆａｕｌｔ  ｖａｌｕｅ）が調節される。もちろん、「初期化された第１プログラム開始電圧」と「初期化された第２プログラム開始電圧」の基本値が同じになるように調節されるというのはあくまでも設計者の選択によって変化しうる事項であるため、互いに異になるように調節されることもいくらでも可能である。
【００８０】
その後、どんなプログラム動作を行うのかを決定することになる（１１１０）。すなわち、第１プログラム動作を行うのか、または第２プログラム動作を行うのかを選択することになる。この時、消去状態の単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）を対象にプログラム動作が行われる時には第１プログラム動作を行うようになるものであり、第１プログラム動作がすでに行われた以後の単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）を対象にプログラム動作が行われる時には第２プログラム動作を行うようになる。例えば、一般的な不揮発性メモリ装置で消去状態のセルを対象に先に下位ビットプログラム動作が行われ以後に上位ビットプログラム動作を行うものと同じである。
【００８１】
まず、第１プログラム動作を説明すれば、「初期化された第１プログラム開始電圧」が単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）に供給１１２０するようになり、次に１ビットパスが検出されたのか確認する（１１２２）。この時、１ビットパスが検出されなければ「初期化された第１プログラム開始電圧」と「ステップ電圧」を合わせた電圧を単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）に改めて供給するようになり（１１２０）、次に改めて１ビットパスが検出されたのか確認する（１１２２）。改めて１ビットパスが検出されなければ「初期化された第１プログラム開始電圧」と「ステップ電圧＊２」を合わせた電圧を単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）に改めて供給するようになり（１１２０）、次に改めて１ビットパスが検出されたのか確認する（１１２２）。
【００８２】
このように単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）にプログラム電圧を供給する動作（１１２０）と１ビットパスが検出されたのか確認する動作（１１２２）を継続して反復しつつ、単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）に供給されるプログラム電圧の大きさを「ステップ電圧＊Ｎ」（Ｎ＝反復回数）ずつ増加させる。すなわち、「初期化された第１プログラム開始電圧」を基準として一般的なＩＳＰＰ動作を行いつつ１ビットパスが検出されたのか確認する動作（１１２２）を後続して行う。
【００８３】
このように、単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）にプログラム電圧を供給する動作（１１２０）と１ビットパスが検出されたのか確認する動作（１１２２）を継続して反復しつつ、１ビットパスが検出された場合、プログラムパルスカウント部９５０から出力される１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤをプログラムパルス印加回数保存部９４０によって単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）の補助ページバッファリング部９１０Ｂにセッティング（１１２４）し、続いて第１プログラム動作を後続して行い（１１２６）、第１プログラム動作が完了（１１５０）できるようにする。
【００８４】
このように、プログラムパルス印加回数保存部９４０が、プログラムパルスカウント部９５０から出力される１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤを補助ページバッファリング部９１０Ｂにセッティングした後、第１プログラム動作を完了することになると、補助ページバッファリング部９１０Ｂに対応する複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）にプログラムパルスカウント部９５０から出力される１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤが保存されるということが分かる。
【００８５】
また、複数の単位ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）は各々複数のノーマルセル（ＢＬ＜０：Ｍ−１＞に対応）と複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）を備えているため、各単位ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）には各々の単位ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）に対応する１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤが独立的に保存されることが分かる。
【００８６】
参考として、前述した第１プログラム動作には、図９に示されたコントローラ内部のプログラムパルスカウント部９５０とプログラムパルス印加回数保存部９４０が対応されるものである。すなわち、一般的なＩＳＰＰ動作を行う回路は、図９に示されたコントローラにすでに含まれており、図示されなかったということが分かる。
【００８７】
そして、第２プログラム動作を説明すれば、第１プログラム動作が完了して１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤが複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存された単位ページ領域で第２プログラム動作が行われなければならないため、「初期化された第２プログラム開始電圧」を供給する前に、先に複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存された１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤをリード（１１４０）する。
【００８８】
リードされた１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤを「初期化された第２プログラム開始電圧」に適用するのは図９に示されたプログラム開始電圧設定部９３０によってなされるが、その方式は次のように２種類に分けることができる。
【００８９】
最初に、複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存されたプログラムパルスの印加回数ＰＤをリードした後、リードされたプログラムパルスの印加回数ＰＤに「ステップ電圧」を乗算し、その値を「初期化された第２プログラム開始電圧」の値に加算して、新しい「第２プログラム開始電圧」として設定（１１４２）することになる。
【００９０】
２番目は、複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存されたプログラムパルスの印加回数ＰＤをリードした後、リードされたプログラムパルスの印加回数ＰＤが臨界値より大きい場合、リードされたプログラムパルス印加回数ＰＤと臨界値の差異の分だけ「ステップ電圧」を乗算し、その値を「初期化された第２プログラム開始電圧」の値に加算して、新しい「第２プログラム開始電圧」として設定（１１４２）とする。しかし、リードされたプログラムパルスの印加回数ＰＤが臨界値より小さい又は臨界値と同じ場合、「初期化された第２プログラム開始電圧」をそのまま「第２プログラム開始電圧」として設定（１１４２）することになる。この時、臨界値はセルの特性などによって実施者によって最適の値に選択できる。例えば、リードされたプログラムパルスの印加回数ＰＤが「２」より小さい値ならば、大きい意味がないと判断して「２」を臨界値として設定することができる。
【００９１】
このようにリードされた１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤを「初期化された第２プログラム開始電圧」に適用する方法によって決定された新しい「第２プログラム開始電圧」の供給を受けて第２プログラム動作が行われる。この時、第２プログラム動作は新しい「第２プログラム開始電圧」の供給を受けるため第１プログラム動作よりさらに速いタイミングにプログラム動作を完了することが可能である。参考として、第２プログラム動作も一般的なＩＳＰＰ方式を使用して動作する。
【００９２】
前述した図９ないし図１１によって単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）をプログラムさせる時、下位ビットプログラム動作が発生する過程で単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）の特性に適合した初期開始電圧を捜し出すために必要な情報（１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤである）を内部に含まれた複数の補助セルに保存することができる。このように内部の複数の補助セルに保存された単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）の特性に適合した初期開始電圧を捜し出すために必要な情報は、上位ビットプログラム動作が発生する過程で使用され、上位ビットプログラム動作にかかる時間を大きく短縮させることができる。
【００９３】
また、単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）内部の複数の補助セルに保存された単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）の特性に適合した初期開始電圧を捜し出すために必要な情報は、不揮発性メモリ装置に電源が供給されない状況でも消えない。したがって、下位ビットプログラム動作が発生した以後、電源供給が切れ、改めて供給されても上位ビットプログラム動作が発生する過程で使用され上位ビットプログラム動作にかかる時間を大きく短縮させることができる。同様に、単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）内部の複数のノーマルセル（ＢＬ＜０：Ｍ−１＞に対応）に対する消去動作と複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に対する消去動作を互いに異なる方式でコントロールできるならば、不揮発性メモリ装置の動作初期に複数の単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）各々の特性に適合した初期開始電圧を捜し出して内部の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存した後、以後のすべてのプログラム動作に適用することも可能である。すなわち、複数のノーマルセル（ＢＬ＜０：Ｍ−１＞に対応）および複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）がマルチレベルセルＭＬＣ（Ｍｕｌｔｉ  Ｌｅｖｅｌ  Ｃｅｌｌ）の場合だけでなくシングルレベルセルＳＬＣ（Ｓｉｎｇｌｅ  Ｌｅｖｅｌ  Ｃｅｌｌ）であっても、そのプログラム動作速度を短縮させるのに本発明のアイディアが適用できる。
【００９４】
図１２は、図９に示された本発明の実施形態による不揮発性メモリ装置のメモリセルアレイおよびページバッファリング部の２番目の構成を詳細に示したブロックダイアグラムである。
【００９５】
参考として、図１２に示された図は、前述した図１０と同様に、図９に示された不揮発性メモリ装置の構成要素のうち、メモリセルアレイ９００とページバッファリング部９１０の具体的な構成を示した図である。ただし、図１０に示されたメモリセルアレイ９００の具体的な構成が図１０に示された図と大きい差異点を有するため、その全般的な動作も差異が発生しうるし、以下で開示される図１２に対する説明では図１０と図１２の差異点を基準として説明がなされるものである。
【００９６】
図１２を参照すれば、本発明の実施形態による不揮発性メモリ装置のメモリセルアレイ９００は、ノーマル領域９００Ｃと補助領域９００Ｄを含む。同様に、ページバッファリング部９１０は、メモリセルアレイ９００のノーマル領域９００Ｃに対応するノーマルページバッファリング部９１０Ｃと補助領域９００Ｄに対応する補助ページバッファリング部９１０Ｄを含む。
【００９７】
ここで、メモリセルアレイ９００のノーマル領域９００Ｃは、前記で説明した通常の不揮発性メモリ装置のメイン領域とスペア領域およびリダンダンシー領域をすべて合わせた領域である。反面、メモリセルアレイ９００の補助領域９００Ｄは、前記で説明した通常の不揮発性メモリ装置には含まれなかった領域である。すなわち、メモリセルアレイ９００の補助領域９００Ｄは、本発明の実施形態による不揮発性メモリ装置のために追加された領域であり、数バイト（ｂｙｔｅ）の容量を有しうるように設計される。この時、メモリセルアレイ９００の補助領域９００Ｄは、通常の不揮発性メモリ装置に完全に新しく追加された領域であって、メモリセルアレイ９００の全体領域の大きさをもう少し増加させる方式によって具現できる。もちろん、メモリセルアレイ９００の全体領域の大きさを増加させずに前記で説明した通常の不揮発性メモリ装置にすでに含まれたスペア領域またはリダンダンシー領域の一部区間を分割して補助領域９００Ｄとして設定するのも可能である。
【００９８】
このように、メモリセルアレイ９００が、ノーマル領域９００Ｃと補助領域９００Ｄを含むため、メモリセルアレイ９００に備えられ、各々複数のセルを含み、互いにワードライン（ＷＬ＜０：Ｋ＞）を共有する第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）および第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）も各々複数のノーマルセル（ＢＬＥ＜０：Ｍ−１＞およびＢＬＯ＜０：Ｍ−１＞に対応）と複数の補助セル（ＢＬＥ＜Ｍ：
Ｎ−１＞およびＢＬＯ＜Ｍ：Ｎ−１＞に対応）を含む形態で構成される。すなわち、ワードラインＷＬ＜０：Ｋ＞を共有する第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）も複数のノーマルセル（ＢＬＥ＜０：Ｍ−１＞に対応）と複数の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）を含む形態で構成され、第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）も複数のノーマルセル（ＢＬＯ＜０：Ｍ−１＞に対応）と複数の補助セル（ＢＬＯ＜Ｍ：Ｎ−１＞に対応）を含む形態で構成される。
【００９９】
参考として、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）と第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）は、ワードラインＷＬ＜０：Ｋ＞を共有する形態であるため、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に含まれた複数のノーマルセル（ＢＬＥ＜０：Ｍ−１＞に対応）および複数の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）と第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）に含まれた複数のノーマルセル（ＢＬＯ＜０：Ｍ−１＞に対応）および複数の補助セル（ＢＬＯ＜Ｍ：Ｎ−１＞に対応）が図で示されたように互いに交互に位置することになることが分かる。このようなアーキテクチャ方式は一般的にページバッファが占める面積に比べてメモリセルアレイストリングが占める面積がさらに小さいからなされる方式であり、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）と第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）は互いにワードライン（ＷＬ＜０：Ｋ＞）を共有するという点以外は、完全に独立した動作を行うようになる。
【０１００】
そして、本実施形態は、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）のプログラム対象セルのうち基準電圧より大きい電圧でプログラムされたセルが発生した場合、１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）を出力するビットパス検出部９２０と、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に対するプログラム動作過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点までに印加されたプログラムパルスの回数を第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の複数の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）に保存するプログラムパルス印加回数保存部９４０と、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の複数の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）に保存されたプログラムパルスの印加回数に基づいて第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）または第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）のプログラム動作に対するプログラム開始電圧を設定するプログラム開始電圧設定部９３０と、を備える。
【０１０１】
また、本実施形態は、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に対するプログラム動作過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点まで、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に印加されるプログラムパルスの回数をカウントしてプログラムパルス印加回数保存部９４０に伝達するプログラムパルスカウント部９５０をさらに備える。
【０１０２】
前述した構成でメモリセルアレイ９００に備えられた複数のセルはすべてシングルレベルセルＳＬＣでありうるし、マルチレベルセルＭＬＣでもありうる。すなわち、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に含まれた複数のノーマルセル（ＢＬＥ＜０：Ｍ−１＞に対応）と複数の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）および第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）に含まれた複数のノーマルセル（ＢＬＯ＜０：Ｍ−１＞に対応）と複数の補助セル（ＢＬＯ＜Ｍ：Ｎ−１＞に対応）は、すべてシングルレベルセルＳＬＣでありうるし、マルチレベルセルＭＬＣでもありうる。メモリセルアレイ９００に備えられた複数のセルがシングルレベルセルＳＬＣであるか、あるいはマルチレベルセルＭＬＣであるかに応じてその動作が若干変わりうるが、図１１に示されたフローチャートによってすべて説明可能である。
【０１０３】
具体的に図１１を参照して本発明の実施形態による不揮発性メモリ装置のメモリセルアレイ９００に備えられた複数のセルがシングルレベルセルＳＬＣである場合を説明すれば次のとおりである。
【０１０４】
まず、不揮発性メモリ装置にパワーが供給１１００される時、「初期化された第１プログラム開始電圧」と「初期化された第２プログラム開始電圧」が提供されることになっているが、図１２に示された第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）と第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）に含まれた複数のセルは、シングルレベルセルＳＬＣであるため１つのセルに対して２回のプログラム動作をなすことができない。したがって、「初期化された第１プログラム開始電圧」とは「第１ページ領域の初期化されたプログラム開始電圧」と置換することができ、「初期化された第２プログラム開始電圧」とは「第２ページ領域の初期化されたプログラム開始電圧」と置換することができる。この時、「第１ページ領域の初期化されたプログラム開始電圧」と「第２ページ領域の初期化されたプログラム開始電圧」は、前記の図２で説明した消去状態のセルに対して最初に印加されるプログラム開始電圧Ｖｓｔａｒｔであるとみることができ、設計者によってその基本値（ｄｅｆａｕｌｔ  ｖａｌｕｅ）が調節される。参考として、「第１ページ領域の初期化されたプログラム開始電圧」と「第２ページ領域の初期化されたプログラム開始電圧」は、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）および第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）に各々適用される常数であるため、一般的には互いに同じくなるように、その基本値（ｄｅｆａｕｌｔ  ｖａｌｕｅ）が調節される。もちろん、「第１ページ領域の初期化されたプログラム開始電圧」と「第２ページ領域の初期化されたプログラム開始電圧」の基本値が同じになるように調節されるというのは、あくまでも設計者の選択によって変化しうる事項であるため、互いに異なるように調節されることもいくらでも可能である。
【０１０５】
その後、どんなプログラム動作を行うのかを決定（１１１０）することになる。すなわち、「第１プログラム動作」を行うのか、でなければ「第２プログラム動作」を行うのかを選択することになる。この時、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）および第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）に含まれた複数のセルはすべてシングルレベルセルＳＬＣであるため、図１１に示された「第１プログラム」は、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）のプログラム動作に対応され、図１１に示された「第２プログラム」は、第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）のプログラム動作に対応される。すなわち、シングルレベルセルＳＬＣを有する一般的な不揮発性メモリ装置において、単位セルに対するプログラム動作は１回のみなされるというものである。
【０１０６】
まず、「第１プログラム動作」に対応する第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に対するプログラム動作を説明すれば、「第１ページ領域の初期化されたプログラム開始電圧」が第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に供給（１１２０）するようになり、次に第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）で１ビットパスが検出されたのか確認（１１２２）する。この時、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）で１ビットパスが検出されなかったとすれば、「第１ページ領域の初期化されたプログラム開始電圧」に「ステップ電圧」を加えた電圧を第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に改めて供給（１１２０）するようになり、次に改めて１ビットパスが検出されたのか確認（１１２２）する。再び１ビットパスが検出されなかったとすれば「第１ページ領域の初期化されたプログラム開始電圧」に「ステップ電圧＊２」を加えた電圧を第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に改めて供給（１１２０）するようになり、次に改めて１ビットパスが検出されたのか確認（１１２２）する。
【０１０７】
このように、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）にプログラム電圧を供給する動作（１１２０）と１ビットパスが検出されたのか確認する動作（１１２２）を継続して反復しつつ、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に供給されるプログラム電圧の大きさを「ステップ電圧＊Ｎ」（Ｎ＝反復回数）ずつ増加させる。すなわち、「第１ページ領域の初期化されたプログラム開始電圧」を基準として一般的なＩＳＰＰ動作を行いつつ１ビットパスが検出されたのか確認する動作（１１２２）を継続して行う。
【０１０８】
このように、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）にプログラム電圧を供給する動作（１１２０）と１ビットパスが検出されたのか確認する動作（１１２２）を継続して反復され、１ビットパスが検出された場合、プログラムパルスカウント部９５０から出力される１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤをプログラムパルス印加回数保存部９４０を介して第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の補助ページバッファリング部９１０Ｄにセッティング（１１２４）し、続いて第１プログラム動作を継続して行い（１１２６）、第１プログラム動作が完了（１１５０）できるようにする。
【０１０９】
このように、プログラムパルス印加回数保存部９４０がプログラムパルスカウント部９５０から出力される１ビットパスが検出されるまで、カウントされたプログラムパルス回数ＰＤを補助ページバッファリング部９１０Ｄにセッティングした後、第１プログラム動作を完了することになると、補助ページバッファリング部９１０Ｄに対応する複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）にプログラムパルスカウント部９５０から出力される１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤが保存されるということが分かる。
【０１１０】
また、複数の第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）は各々複数のノーマルセル（ＢＬＥ＜０：Ｍ−１＞に対応）と複数の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）を備えているため、各第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の複数の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）には、各々の第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に対応する１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤが独立して保存されることが分かる。
【０１１１】
参考で、前述した第１ページ領域のプログラム動作には図９に示されたコントローラ内部のプログラムパルスカウント部９５０とプログラムパルス印加回数保存部９４０が対応されるものである。すなわち、一般的なＩＳＰＰ動作を行う回路は図９に示されたコントローラにすでに含まれており、図示されなかったということが分かる。
【０１１２】
そして、第２プログラム動作を説明すれば、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）のプログラム動作が完了し、１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤが第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存された状態で、第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）のプログラム動作が行われなければならないため、「第２ページ領域の初期化されたプログラム開始電圧」を供給する前にまず第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の複数の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）に保存された１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤをリード（１１４０）する。
【０１１３】
リードされた１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤを「第２ページ領域の初期化されたプログラム開始電圧」に適用するのは、図９に示されたプログラム開始電圧設定部９３０によってなされるが、その方式は次のように２種類に分けることができる。
【０１１４】
最初は、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の複数の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）に保存されたプログラムパルスの印加回数ＰＤをリードした後、リードされたプログラムパルスの印加回数ＰＤに「ステップ電圧」を乗算し、その値を「第２ページ領域の初期化されたプログラム開始電圧」の値に加算して、新しい「第２ページ領域のプログラム開始電圧」として設定（１１４２）することになる。
【０１１５】
２番目は、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存されたプログラムパルスの印加回数ＰＤをリードした後、リードされたプログラムパルスの印加回数ＰＤが臨界値より大きい場合、リードされたプログラムパルス印加回数ＰＤと臨界値の差異の分だけ「ステップ電圧」を乗算し、その値を「第２ページ領域の初期化されたプログラム開始電圧」の値に加算して、新しい「第２ページ領域のプログラム開始電圧」として設定（１１４２）する。しかし、リードされたプログラムパルスの印加回数ＰＤが臨界値より小さい又は臨界値と同じ場合、「第２ページ領域の初期化されたプログラム開始電圧」をそのまま「第２ページ領域のプログラム開始電圧」として設定（１１４２）することになる。この時、臨界値はセルの特性などに応じて実施者によって最適の値に選択することができる。例えば、リードされたプログラムパルスの印加回数ＰＤが「２」より小さい値ならば、大きい意味がないと判断して「２」を臨界値として設定することができる。
【０１１６】
このようにリードされた１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤを「第２ページ領域の初期化されたプログラム開始電圧」に適用する方法によって決定された新しい「第２ページ領域のプログラム開始電圧」の供給を受けて第２ページ領域のプログラム動作が行われる。この時、第２ページ領域のプログラム動作は新しい「第２ページ領域のプログラム開始電圧」の供給を受けるため、第１ページ領域のプログラム動作よりさらに速いタイミングにプログラム動作を完了することが可能である。参考として、第２ページ領域のプログラム動作も一般的なＩＳＰＰ方式を使用して動作する。
【０１１７】
前述した図９と図１１および図１２によって第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）をプログラム動作させる過程で第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の特性に適合した初期開始電圧を捜し出すために必要な情報（１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤである）を第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）に含まれた複数の補助セルに保存することができる。この時、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）と第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）は、ワードライン（ＷＬ＜０：Ｋ＞）を共有する形態であるため、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の特性に適合した初期開始電圧は、第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）の特性に適合した初期開始電圧になることができる。したがって、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の複数の補助セルに保存された第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の特性に適合した初期開始電圧を捜し出すために必要な情報は、第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）のプログラム動作が発生する過程で使用され、第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）のプログラム動作にかかる時間を大きく短縮させることができる。
【０１１８】
また、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の複数の補助セルに保存された第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の特性に適合した初期開始電圧を捜し出すために必要な情報は、不揮発性メモリ装置に電源が供給されない状況でも消えない。したがって、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）のプログラム動作が発生した以後、電源供給が切れ、改めて供給されても第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）のプログラム動作が発生する過程で使用され第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）のプログラム動作にかかる時間を大きく短縮させることができる。
【０１１９】
そして、図１１を参照し、本発明の実施形態による不揮発性メモリ装置のメモリセルアレイ９００に備えられた複数のセルがマルチレベルセルＭＬＣの場合を説明すれば次のとおりである。
【０１２０】
まず、不揮発性メモリ装置にパワーが供給（１１００）される時、「初期化された第１プログラム開始電圧」と「初期化された第２プログラム開始電圧」が提供されるものとなっているが、図１２に示されたメモリセルアレイ９００は、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）と第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）を含む構成でありつつ、同時に第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）と第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）に各々含まれた複数のセルがすべてマルチレベルセルＭＬＣであるため、単純に「初期化された第１プログラム開始電圧」と「初期化された第２プログラム開始電圧」という２種類のプログラム開始電圧に区分することができない。したがって、「初期化された第１プログラム開始電圧」とは、「第１ページ領域の初期化された第１プログラム開始電圧」および「第１ページ領域の初期化された第２プログラム開始電圧」と置換することができ、「初期化された第２プログラム開始電圧」とは、「第２ページ領域の初期化された第１プログラム開始電圧」および「第２ページ領域の初期化された第２プログラム開始電圧」と置換することができる。
【０１２１】
この時、「第１ページ領域の初期化された第１プログラム開始電圧」と「第１ページ領域の初期化された第２プログラム開始電圧」および「第２ページ領域の初期化された第１プログラム開始電圧」と「第２ページ領域の初期化された第２プログラム開始電圧」は、前記の図２で説明した消去状態のセルに対して最初に印加されるプログラム開始電圧Ｖｓｔａｒｔとみなすことができ、設計者によってその基本値（ｄｅｆａｕｌｔ  ｖａｌｕｅ）が調節される。参考として、「第１ページ領域の初期化された第１プログラム開始電圧」と「第１ページ領域の初期化された第２プログラム開始電圧」および「第２ページ領域の初期化された第１プログラム開始電圧」と「第２ページ領域の初期化された第２プログラム開始電圧」は、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）および第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）に各々適用される常数であるため、一般的には互いに同じくなるようにその基本値（ｄｅｆａｕｌｔ  ｖａｌｕｅ）が調節される。もちろん、「第１ページ領域の初期化された第１プログラム開始電圧」と「第１ページ領域の初期化された第２プログラム開始電圧」および「第２ページ領域の初期化された第１プログラム開始電圧」と「第２ページ領域の初期化された第２プログラム開始電圧」の基本値が同じになるように調節されるというのはあくまでも設計者の選択によって変化しうる事項であるため、互いに異になるように調節されるのもいくらでも可能である。
【０１２２】
その後、どんなプログラム動作を行うのかを決定（１１１０）することになる。すなわち、「第１プログラム動作」を行うのか、でなければ「第２プログラム動作」を行うのかを選択することになる。この時、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）および第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）に含まれた複数のセルはすべてマルチレベルセルＭＬＣであるため、図１１に示された「第１プログラム」と「第２プログラム」は、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）および第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）のプログラム動作にすべて対応できる。すなわち、マルチレベルセルＭＬＣを有する一般的な不揮発性メモリ装置において、単位セルに対するプログラム動作は下位ビットプログラム動作が行われ以後に、上位ビットプログラム動作が行われるというものである。
【０１２３】
ここで、本発明の実施形態による不揮発性メモリ装置のメモリセルアレイ９００に備えられた複数のセルがマルチレベルセルＭＬＣであり、ワードラインＷＬ＜０：Ｋ＞を共有する第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）と第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）を含むため、特別に変わることができる動作が追加される。
【０１２４】
具体的に、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の第１プログラム動作を行う時には図１１に示された「第１プログラム」動作をそのまま行う。「第１プログラム」動作は、前述した説明に具体的に開示されているため以下の説明では詳しく開示しない。
【０１２５】
このように、「第１プログラム」動作が行われるため、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）には１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤが保存される。
【０１２６】
続いて、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の第２プログラム動作を行う時には図１１に示された「第２プログラム」動作をそのまま行う。「第２プログラム」動作は、前述した説明に具体的に開示されているため以下の説明では詳しく開示しない。
【０１２７】
このように、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の第２プログラム動作を行う時、「第２プログラム」動作をそのまま行いつつ第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）に保存されていた第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の特性に適合した初期開始電圧を捜し出すために必要な情報をそのまま使用し、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の第２プログラム動作を行うことができるため、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の第２プログラム動作にかかる時間を大きく短縮させることができる。
【０１２８】
次に、第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）の第１プログラム動作を行う時には図１１に示された「第１プログラム」動作を行うのではなく「第２プログラム」動作を行う。これは、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）と第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）が互いにワードライン（ＷＬ＜０：Ｋ＞）を共有する状態であるため、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の特性に適合した初期開始電圧は、つまり第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）の特性に適合した初期開始電圧であるとみなしても差し支えないため可能な動作である。すなわち、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の第１プログラム動作が図１１の「第１プログラム」動作と同じ方式で行われることによって、すでに第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の複数の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）に保存されている第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の特性に適合した初期開始電圧を捜し出すために必要な情報をそのまま第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）のプログラム動作に適用することができるということを意味する。したがって、第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）の第１プログラム動作および第２プログラム動作を行う時すべて図１１に示された「第２プログラム」動作をそのまま適用して行っても第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の第１プログラム動作にかかる時間が大きく減少するように、第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）の第１プログラム動作および第２プログラム動作にかかる時間が大きく減少するようにすることができる。
【０１２９】
また、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の複数の補助セル（ＢＬＥ＜Ｍ：Ｎ−１＞に対応）に保存された第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の特性に適合した初期開始電圧を捜し出すために必要な情報は、不揮発性メモリ装置に電源が供給されない状況でも消えない。したがって、第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の第１プログラム動作が発生した以後、電源供給が切れ、改めて供給されても第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の第２プログラム動作と第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）の第１プログラム動作および第２プログラム動作が発生する過程で使用され第１ページ領域（９００＜Ｅ０：ＥＫ＞、９０１＜Ｅ０：ＥＫ＞、…）の第２プログラム動作と第２ページ領域（９００＜Ｏ０：ＯＫ＞、９０１＜Ｏ０：ＯＫ＞、…）の第１プログラム動作および第２プログラム動作にかかる時間を大きく短縮させることができる。
【０１３０】
図１３は、図９に図示された本発明の実施形態による不揮発性メモリ装置のメモリセルアレイおよびページ領域バッファリング部の３番目の構成を詳細に図示したブロックダイアグラムである。
【０１３１】
参考として、前述した説明に開示された図１０の構成は、図示された単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）が各々独立したような状態となり、１個のページ領域で発生するプログラム動作単位として設定した時を仮定したものである。
【０１３２】
しかし、図１０に示された単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）を２個以上のページ領域で発生するプログラム動作単位として限定して設定すれば、図１０の構成は図１３に示された構成のように定義できる。
【０１３３】
図１３を参照すれば、本発明の実施形態による不揮発性メモリ装置のメモリセルアレイ９００は、複数のノーマルセル（ＢＬ０：Ｍ−１＞に対応）と複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）を各々含み、互いにストリングを共有する第１ページ領域９００＜０＞および第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）を含む形態となる。すなわち、メモリセルアレイ９００に含まれた複数の単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）のうち、何れか１つのページ領域９００＜０＞が第１ページ領域と設定されると、残りページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）は、第２ページ領域として設定されうることが分かる。
【０１３４】
このように、複数の単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）を第１ページ領域９００＜０＞と第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）に区分して設定したことを除外すれば、残りの構成は図１０に示された構成と同一である。
【０１３５】
具体的にメモリセルアレイ９００に含まれた複数のセルがすべてシングルレベルセルＳＬＣであると仮定すれば、図１３に示された不揮発性メモリ装置は、第１ページ領域９００＜０＞のプログラム対象セルのうち、基準電圧より大きい電圧でプログラムされたセルが発生した場合、１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）を出力するビットパス検出部９２０と、第１ページ領域９００＜０＞に対するプログラム動作過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点まで印加されたプログラムパルスの回数を第１ページ領域９００＜０＞の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存するプログラムパルス印加回数保存部９４０、および第１ページ領域９００＜０＞の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存されたプログラムパルスの印加回数に基づいて第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）のプログラム動作に対するプログラム開始電圧を設定するプログラム開始電圧設定部９３０を備える。
【０１３６】
また、第１ページ領域９００＜０＞に対するプログラム動作過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点まで第１ページ領域９００＜０＞で印加されるプログラムパルスの回数をカウントしてプログラムパルス印加回数保存部９４０に伝達するプログラムパルスカウント部９５０をさらに備える。
【０１３７】
そして、メモリセルアレイ９００に含まれた複数のセルがすべてマルチレベルセルＭＬＣであると仮定すれば、図１３に示された不揮発性メモリ装置は、第１ページ領域９００＜０＞または第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）のプログラム対象セルのうち、基準電圧より大きい電圧でプログラムされたセルが発生した場合、１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）を出力するビットパス検出部９２０と、第１プログラム開始電圧が適用された第１ページ領域９００＜０＞の第１プログラム動作過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点まで印加されたプログラムパルスの回数を第１ページ領域９００＜０＞の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存した後、保存されたプログラムパルスの回数に応じて第１プログラム開始電圧を調節し、第１ページ領域９００＜０＞の第２プログラム動作に適用する第１プログラム開始電圧調節部９３０、９４０、９５０、および第１プログラム開始電圧と第２プログラム開始電圧が選択的に適用された第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第１プログラム動作過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点まで印加されたプログラムパルスの回数を第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存した後、保存されたプログラムパルスの回数に応じて第２プログラム開始電圧を調節し、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム動作に適用する第２プログラム開始電圧調節部９３０、９４０、９５０、９１０を備える。
【０１３８】
ここで、第１プログラム開始電圧調節部９３０、９４０、９５０と第２プログラム開始電圧調節部９３０、９４０、９５０、９１０は、その構成要素が互いに重なることが分かるが、これは前述した説明のように図１３の構成と図１０と同一の構成要素を有するが、その動作が異なるということを表すために図９に開示された構成を他の範囲で表したものであることを意味する。
【０１３９】
まず、第１プログラム開始電圧調節部９３０、９４０、９５０は、図９に示されたプログラムパルス印加回数保存部９４０とプログラム開始電圧設定部９３０およびプログラムパルスカウント部９５０をそのまま備える構成である。すなわち、本実施形態は、第１プログラム開始電圧が適用された第１ページ領域９００＜０＞の第１プログラム動作過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点まで印加されたプログラムパルスの回数を第１ページ領域９００＜０＞の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存する第１プログラムパルス印加回数保存部９４０と、第１ページ領域９００＜０＞の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存されたプログラムパルスの印加回数に応じて第１プログラム開始電圧を設定して第１ページ領域９００＜０＞に対する第２プログラム動作に適用する第１プログラム開始電圧設定部９３０と、第１ページ領域９００＜０＞に対する第１プログラム動作過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点まで印加されたプログラムパルスの回数をカウントして第１プログラムパルス印加回数保存部９４０に伝達するプログラムパルスカウント９５０と、を備える構成である。
【０１４０】
したがって、第１プログラム開始電圧調節部９３０、９４０、９５０の動作のみ説明すれば図１１に示された「第１プログラム」動作と「第２プログラム」動作をそのまま適用することが可能である。
【０１４１】
しかし、第２プログラム開始電圧調節部９３０、９４０、９５０、９１０は、第１プログラム開始電圧調節部９３０、９４０、９５０と異なるように第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第１プログラム動作に適用されるプログラム開始電圧を第１プログラム開始電圧と第２プログラム開始電圧のうち、何れか１つの電圧で選択する動作が追加される。このような動作上の差異点によって第２プログラム開始電圧調節部９３０、９４０、９５０、９１０は、図９に示されたプログラムパルス印加回数保存部９４０とプログラム開始電圧設定部９３０とプログラムパルスカウント部９５０をそのまま備える構成と共に、ページバッファリング部９１０の構成に含まれて動作される電圧選択信号生成部９１０２の構成がさらに含まれなければならない。すなわち、図１４に示された構成のような形態にならなければならない。
【０１４２】
したがって、第２プログラム開始電圧調節部９３０、９４０、９５０、９１０は、第１ページ領域９００＜０＞の複数の補助領域９００Ｄに保存されたプログラムパルスの印加回数を臨界値と比較して電圧選択信号ＶＳＥＬを生成する電圧選択信号生成部９１０２と、電圧選択信号ＶＳＥＬに応じて第１プログラム開始電圧と第２プログラム開始電圧が選択的に適用された第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第１プログラム動作過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点まで印加されたプログラムパルスの回数を第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の複数の補助領域９００Ｄに保存する第２プログラムパルス印加回数保存部９４０と、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の複数の補助領域９００Ｄに保存されたプログラムパルスの印加回数に応じて第２プログラム開始電圧を設定して第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）に対する第２プログラム動作に適用する第２プログラム開始電圧設定部９３０と、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）に対する第１プログラム動作過程で１ビットパス信号（１ＢＩＴ＿ＰＡＳＳ）が出力される時点まで印加されたプログラムパルスの回数をカウントして第２プログラムパルス印加回数保存部９４０に伝達するプログラムパルスカウント部９５０と、をさらに備える形態となる。
【０１４３】
このように、第２プログラム開始電圧調節部９３０、９４０、９５０、９１０の動作は、第１プログラム開始電圧調節部９３０、９４０、９５０の動作と互いに異なるため図１１に示された「第１プログラム」動作と「第２プログラム」動作をそのまま適用することができない。そのため、図１１に示された「第１プログラム」動作と「第２プログラム」動作を若干変形した図１５に図示された「第１プログラム」動作と「第２プログラム」動作を適用することになる。
【０１４４】
図１５を参照して本発明の実施形態による不揮発性メモリ装置のプログラム動作を具体的に説明すれば次のとおりである。
【０１４５】
まず、不揮発性メモリ装置にパワーが供給１６００される時、「初期化された第１プログラム開始電圧」と「初期化された第２プログラム開始電圧」が提供されることでなっているが、これは図１５の動作ステップが単一ページ領域（９００＜０：Ｋ＞、９０１＜０：Ｋ＞、…）に各々適用されることを仮定して定義された動作である反面、第２プログラム開始電圧調節部９３０、９４０、９５０、９１０では、第１プログラム開始電圧調節部９３０、９４０、９５０でその値がすでに調節され、第１ページ領域９００＜０＞の第１プログラム動作と第２プログラム動作に対応するプログラム開始電圧を第１プログラム開始電圧でその動作を定義し、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第１プログラム動作と第２プログラム動作に対応するプログラム開始電圧を第２プログラム開始電圧でその動作を定義したものであるため、図１５に開示された「初期化された第１プログラム開始電圧」と「初期化された第２プログラム開始電圧」が第１ページ領域９００＜０＞の動作に適用される場合は、すべて第１ページ領域９００＜０＞の第１プログラム開始電圧に置換することができ、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の動作に適用される場合は、すべて第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム開始電圧に置換することができる。
【０１４６】
不揮発性メモリ装置にパワーが供給（１６００）された以後、どんなプログラム動作を行うのかを決定（１６１０）することになる。すなわち、図１５に示された動作は第２プログラム開始電圧調節部９３０、９４０、９５０、９１０の動作であるため、図１５に示された「第１プログラム」動作を行うのは、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第１プログラム動作を行うことになり、図１５に示された「第２プログラム」動作を行うのは、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム動作を行うことになる。
【０１４７】
この時、図１１に示された「第１プログラム」動作によって第１ページ領域９００＜０＞の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）には１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤ［０］が保存されている状態であるため、図１５に示された「第１プログラム」動作によって行われる第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第１プログラム動作で第１ページ領域９００＜０＞の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存されたプログラムパルス回数ＰＤ［０］をリード（１６３０）することになる。
【０１４８】
その後、電圧選択信号生成部９１０２の動作によってリードされた第１ページ領域９００＜０＞で１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤ［０］を第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の臨界値と比較する動作１６３１を行い、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム開始電圧に置換された「初期化された第１プログラム開始電圧」を設定する動作（１６３２）をすることになる。
【０１４９】
すなわち、リードされた第１ページ領域９００＜０＞で１ビットパスが検出されるまでカウントされたプログラムパルス回数（ＰＤ［０］）が第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の臨界値より大きい場合、電圧選択信号ＶＳＥＬが活性化され、リードされたプログラムパルス印加回数（ＰＤ［０］）と「ステップ電圧」を乗算した値を第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム開始電圧に置換された「初期化された第１プログラム開始電圧」の値に加算して第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム開始電圧に置換された新しい「第１プログラム開始電圧」として設定（１６３２）されるようにする。もちろん、電圧選択信号ＶＳＥＬが活性化されるに対応してリードされたプログラムパルス印加回数ＰＤ［０］と第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の臨界値の差異の分だけ「ステップ電圧」を乗算し、その値を第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム開始電圧に置換された「初期化された第１プログラム開始電圧」の値に加算して第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム開始電圧に置換された新しい「第１プログラム開始電圧」として設定（１６３２）されるようにすることも可能である。
【０１５０】
反対に、リードされた第１ページ領域９００＜０＞で１ビットパスが検出されるまでカウントされたプログラムパルス回数（ＰＤ［０］）が第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の臨界値より小さい場合、電圧選択信号ＶＳＥＬが非活性化されて第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム開始電圧に置換された「初期化された第１プログラム開始電圧」がその値をそのまま維持（１６３２）するようになる。
【０１５１】
参考として、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の臨界値は、セルの特性などに応じて実施者によって最適の値に選択されることができる。例えば、リードされたプログラムパルスの印加回数ＰＤ［０］が「２」より小さい値ならば、大きい意味がないと判断して「２」を臨界値として設定することができる。また、リードされた第１ページ領域９００＜０＞で１ビットパスが検出されるまでカウントされたプログラムパルス回数（ＰＤ［０］）が第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の臨界値より大きい状態となり、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム開始電圧に置換された新しい「第１プログラム開始電圧」が設定される場合は、第１プログラム開始電圧調節部９３０、９４０、９５０の動作によって設定が終了した第１ページ領域９００＜０＞の第１プログラム開始電圧と同じ値を有する状態であるということが分かり、したがって、図１５に示された「第１プログラム」動作のうち、図面符号「１６３０、１６３１、１６３２」に該当する動作は第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム開始電圧が、第１ページ領域９００＜０＞の第１プログラム開始電圧に対応する電圧になるのか、でなければ「初期化された１プログラム開始電圧」に対応する電圧になるのかを決定する動作になることが分かる。
【０１５２】
このように、図１５に示された「第１プログラム」動作のうち、図面符号「１６３０、１６３１、１６３２」に該当する動作が終了し、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム開始電圧が決定された以後の動作は、図１１に示された「第１プログラム」動作と同じ状態となる。すなわち、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第１プログラム動作のうち、１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤを第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存することになる。
【０１５３】
そして、図１５に図示された「第２プログラム」動作は、図１１に示された「第２プログラム」動作と同じ状態となる。すなわち、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第２プログラム動作に対応する第２プログラム開始電圧は、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存された１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤを基準として決定される。
【０１５４】
前述した図９と図１１および図１３ないし図１５によってメモリセルアレイ９００に含まれた複数のセルがシングルレベルセルＳＬＣであるとすれば、第１ページ領域９００＜０＞をプログラム動作させる過程で第１ページ領域９００＜０＞の動作特性に適合した初期開始電圧を捜し出すために必要な情報（１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤである）を第１ページ領域９００＜０＞の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存した後、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）をプログラム動作させる過程で第１ページ領域９００＜０＞の動作特性に適合した初期開始電圧を捜し出すために必要な情報を基準として第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の動作特性に適合した初期開始電圧を捜し出す動作を行うことができ、これによって第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）のプログラム動作にかかる時間を短縮させることが可能である。
【０１５５】
また、メモリセルアレイ９００に含まれた複数のセルがマルチレベルセルＭＬＣであるとすれば、第１ページ領域９００＜０＞を第１プログラム動作させる過程で第１ページ領域９００＜０＞の動作特性に適合した初期開始電圧を捜し出すために必要な情報（１ビットパスが検出されるまでカウントされたプログラムパルス回数ＰＤである）を第１ページ領域９００＜０＞の複数の補助セル（ＢＬ＜Ｍ：Ｎ−１＞に対応）に保存した後、第１ページ領域９００＜０＞の第２プログラム動作に適用して第１ページ領域の第２プログラム動作にかかる時間を大きく短縮させることができるだけでなく、第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）を第１プログラム動作させる過程で第１ページ領域９００＜０＞の動作特性に適合した初期開始電圧を捜し出すために必要な情報を基準として第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の動作特性に適合した初期開始電圧を捜し出す動作を行うことができ、これによって第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の動作特性に適合した初期開始電圧を捜し出す動作にかかる時間と第２ページ領域（９００＜１：Ｋ＞、９０１＜０：ＯＫ＞、…）の第１プログラム動作にかかる時間を短縮させることができる。
【０１５６】
図１６は本発明の他の側面による集積回路のブロック図である。
【０１５７】
図１６に示された集積回路チップ１６００は、前記説明されたような本発明の不揮発性メモリ装置１６１０を含む。前記不揮発性メモリ装置１６１０はフラッシュメモリを備え、プロセッサ１６２０と集積回路チップ１６００を共有する。前記非揮発性メモリ装置１６１０とプロセッサ１６２０は、適当な通信ラインまたはバス１６３０によって連結される。本発明のまた他の実施形態では，複数の不揮発性メモリ装置が集積回路チップに含まれうる。
【０１５８】
図１７は、本発明のまた他の側面によるコンパクトメモリカードのブロック図である。
【０１５９】
図１７に図示されたコンパクトメモリカード１７００は、前記で説明されたような本発明の複数の不揮発性メモリ装置（１７１０（１）−１７１０（Ｎ））を含む。
【０１６０】
前記コンパクトメモリカード１７００は、複数の不揮発性メモリ装置（１７１０（１）−１７１０（Ｎ））が具現された１つの集積回路でもある。
【０１６１】
図１８は、本発明のまた他の側面による情報処理システムのブロック図である。
【０１６２】
図１８に示された情報処理システムは、プロセッサ１８１０、表示部１８２０、入・出力部１８３０および前記に説明されたような本発明の複数の不揮発性メモリ装置１８４０を含む。
【０１６３】
前記不揮発性メモリ装置１８４０およびプロセッサ１８１０は図１６に示された集積回路のような１つの集積回路チップに具現されうる。
【０１６４】
前記プロセッサ１８１０、表示部１８２０、入・出力部１８３０および不揮発性メモリ装置１８４０は、適当な通信ラインまたはバス１８５０によって連結されうる。
【０１６５】
本発明のまた他の側面によって、ユーザは、入・出力部１８３０を介して前記プロセッサ１８１０または不揮発性メモリ装置１８３０に指示を入力することができる。前記入・出力部１８３０は、使用者が前記情報処理システム１８００と通信するようにするキーボードまたは他の装置でありうる。
【０１６６】
以上で説明したように本発明の実施形態を適用すれば、複数のノーマルセルと複数の補助セルを含む単一ページ領域を第１プログラム動作させる時に分かる最適のプログラム開始電圧に対する情報を複数の補助セルに保存した後、単一ページ領域を第２プログラム動作させる時に適用することによって、不揮発性メモリ装置のプログラム時間のうち、検証動作に要される時間を最小化できる。
【０１６７】
また、複数のノーマルセルと複数の補助セルを各々含む第１ページ領域をプログラム動作させる時に分かる最適のプログラム開始電圧に対する情報を第１ページ領域の複数の補助セルに保存した後、第２ページ領域をプログラム動作させる時に適用することによって、不揮発性メモリ装置のプログラム時間のうち検証動作に要される時間を最小化できる。
【０１６８】
また、最適のプログラム開始電圧に対する情報を複数の補助セルに保存するため、不揮発性メモリ装置に電源が供給されない場合でも、その情報が消えない状態となる。これによって、データ入・出力過程で電源供給状況が随時変動する場合でも、いつも安定的にプログラム時間のうち検証動作に要される時間を最小化できる。
【０１６９】
以上で説明した本発明は前述した実施形態および添付された図面によって限定されるものではなく、本発明の技術的思想を外れない範囲内で種々の置換、変形および変更が可能であるということは、本発明が属した技術分野で通常の知識を持った者にあって明白であろう。
【符号の説明】
【０１７０】
９００：メモリセルアレイ
９１０：ページバッファリング部
９２０：ビットパス検出部
９３０：プログラム開始電圧設定部
９４０：プログラムパルス印加回数保存部
９６０：高電圧発生器
９００Ａ、９００Ｃ：ノーマル領域
９１０Ａ、９１０Ｃ：ノーマルページバッファリング部
９００Ｂ、９００Ｄ：補助領域
９１０Ｂ、９１０Ｄ：補助ページバッファリング部
【図１】
2012181907.tif 000003
【図２】
2012181907.tif 000004
【図３】
2012181907.tif 000005
【図４】
2012181907.tif 000006
【図５】
2012181907.tif 000007
【図６】
2012181907.tif 000008
【図７】
2012181907.tif 000009
【図８】
2012181907.tif 000010
【図９】
2012181907.tif 000011
【図１０】
2012181907.tif 000012
【図１１】
2012181907.tif 000013
【図１２】
2012181907.tif 000014
【図１３】
2012181907.tif 000015
【図１４】
2012181907.tif 000016
【図１５】
2012181907.tif 000017
【図１６】
2012181907.tif 000018
【図１７】
2012181907.tif 000019
【図１８】
2012181907.tif 000020