(57)【特許請求の範囲】
【請求項１】
複数の期待値信号を含む期待値信号列の入力に基づいて不揮発性メモリの複数のメモリセルそれぞれに前記期待値信号それぞれが書き込まれたかどうかを、複数の前記メモリセルそれぞれから読み出された複数の読出信号を含む読出信号列が前記期待値信号列と一致するかどうかに基づいて判定するメモリ制御回路であって、
前記読出信号列が前記期待値信号列と一致せず、前記メモリセルに前記期待値信号が改めて書き込まれた後、前記読出信号列が前記期待値信号列と一致するのかを改めて判定するとき、
以前の判定時に前記期待値信号と前記読出信号とが一致した前記メモリセルから読み出された前記読出信号を当該読出信号に対応する前記期待値信号に設定し、前記読出信号が前記期待値信号に変換された後の前記読出信号列が前記期待値信号列と一致するのかを判定する、メモリ制御回路。
【請求項２】
外部から入力された前記期待値信号列を出力すると共に、変換後の前記読出信号列が外部から入力された前記期待値信号列と一致するかを判定することを特徴とする請求項１記載のメモリ制御回路。
【請求項３】
前記読出信号列と前記期待値信号列とが一致しないとき、
前記期待値信号と前記読出信号とが一致した前記メモリセルには改めて前記期待値信号の書込が実行されないように設定された再書込信号列を出力することを特徴とする請求項１又は２に記載のメモリ制御回路。
【請求項４】
前記読出信号列と前記期待値信号列とが一致しないとき、
前記読出信号と前記期待値信号とが一致しなかった前記メモリセルにのみ前記期待値信号の書込みが実行されるように設定された再書込信号列を出力することを特徴とする請求項１乃至３いずれかに記載のメモリ制御回路。
【請求項５】
前記読出信号列が前記期待値信号列と一致せず、前記メモリセルに前記期待値信号が改めて書き込まれた後、前記読出信号列が前記期待値信号列と一致するのかを改めて判定するとき、
以前の判定時に前記期待値信号と前記読出信号とが一致した前記メモリセルを、前記再書込信号列に基づいて特定し、
前記再書込信号列に基づいて特定された前記メモリセルから読み出された前記読出信号を当該読出信号に対応する前記期待値信号に設定し、
前記読出信号が前記期待値信号に変換された後の前記読出信号列が前記期待値信号列と一致するのかを判定することを特徴とする請求項３又は４記載のメモリ制御回路。
【請求項６】
以前の判定時に前記期待値信号と前記読出信号とが一致した前記メモリセルから読み出された前記読出信号を当該読出信号に対応する前記期待値信号に設定し、前記読出信号が前記期待値信号に変換された後の前記読出信号列を出力する読出信号列変換回路と、
前記読出信号列変換回路からの変換後の前記読出信号列が前記期待値信号列と一致するかを判定する判定回路と、
を備えることを特徴とする請求項１乃至５いずれかに記載のメモリ制御回路。
【請求項７】
前記期待値信号と前記読出信号とが一致した前記メモリセルには改めて前記期待値信号の書込を実行しないように設定された再書込信号列を出力する再書込信号列生成回路と、
を更に備えることを特徴とする請求項６記載のメモリ制御回路。
【請求項８】
前記読出信号列変換回路は、以前の判定時に前記期待値信号と前記読出信号とが一致した前記メモリセルを前記再書込信号列に基づいて特定することを特徴とする請求項７記載のメモリ制御回路。
【請求項９】
前記読出信号と前記期待値信号とが一致しなかった前記メモリセルにのみ前記期待値信号の書込みが実行されるように設定された再書込信号列を出力する再書込信号列生成回路と、
を更に備えることを特徴とする請求項６記載のメモリ制御回路。
【請求項１０】
前記読出信号列変換回路は、以前の判定時に前記期待値信号と前記読出信号とが一致しなかった前記メモリセルを前記再書込信号列に基づいて特定することを特徴とする請求項９記載のメモリ制御回路。
【請求項１１】
前記再書込信号列を保持する第１保持回路と、
前記第１保持回路から転送された前記再書込信号列を保持する第２保持回路と、
を更に備え、
前記読出信号列変換回路は、
少なくとも前記第１保持回路に保持された前記再書込信号列を利用して、
以前の判定時に前記期待値信号と前記読出信号とが一致した前記メモリセルから読み出された前記読出信号を当該読出信号に対応する前記期待値信号に設定することを特徴とする請求項６記載のメモリ制御回路。
【請求項１２】
前記第１保持回路に保持された前記再書込信号列又は前記期待値信号列のいずれかをセレクト信号に基づいて選択して前記第２保持回路に出力する信号列選択回路と、
をさらに備えることを特徴とする請求項１１記載のメモリ制御回路。
【請求項１３】
前記第１保持回路に保持された前記再書込信号列が書込終了を示すとき、
前記第２保持回路には前記期待値信号列が設定されることを特徴とする請求項１１記載のメモリ制御回路。
【請求項１４】
複数の期待値信号を含む期待値信号列の入力に基づいて複数のメモリセルそれぞれに前記期待値信号それぞれが書き込まれる不揮発性メモリと、
複数の前記メモリセルそれぞれに前記期待値信号それぞれが書き込まれたかどうかを、複数の前記メモリセルそれぞれから読み出された複数の読出信号を含む読出信号列が前記期待値信号列と一致するかどうかに基づいて判定するメモリ制御回路と、
を備える半導体集積回路であって、
前記メモリ制御回路は、
前記読出信号列が前記期待値信号列と一致せず、前記メモリセルに前記期待値信号が改めて書き込まれた後、前記読出信号列が前記期待値信号列と一致するのかを改めて判定するとき、
以前の判定時に前記期待値信号と前記読出信号とが一致した前記メモリセルから読み出された前記読出信号を当該読出信号に対応する前記期待値信号に設定し、前記読出信号が前記期待値信号に変換された後の前記読出信号列が前記期待値信号列と一致するのかを判定する、半導体集積回路。
【請求項１５】
前記メモリ制御回路は、外部から入力された前記期待値信号列を出力すると共に、変換後の前記読出信号列が外部から入力された前記期待値信号列と一致するかを判定する、請求項１４記載の半導体集積回路。
【請求項１６】
複数の期待値信号を含む期待値信号列の入力に基づいて不揮発性メモリの複数のメモリセルそれぞれに前記期待値信号それぞれが書き込まれたかどうかを複数の前記メモリセルそれぞれから読み出された複数の読出信号を含む読出信号列が前記期待値信号列と一致するかどうかに基づいて判定する不揮発性メモリのベリファイ方法であって、
前記読出信号列が前記期待値信号列と一致せず、前記メモリセルに前記期待値信号が改めて書き込まれた後、前記読出信号列が前記期待値信号列と一致するのかを改めて判定するとき、
以前の判定時に前記期待値信号と前記読出信号とが一致した前記メモリセルから読み出された前記読出信号を当該読出信号に対応する前記期待値信号に設定し、前記読出信号が前記期待値信号に変換された後の前記読出信号列が前記期待値信号列と一致するのかを判定する、不揮発性メモリのベリファイ方法。
【請求項１７】
前記読出信号列が前記期待値信号列と一致せず、前記メモリセルに前記期待値信号を改めて書き込むとき、
前記期待値信号と前記読出信号とが一致した前記メモリセルには改めて前記期待値信号を書き込まない、請求項１６記載の不揮発性メモリのベリファイ方法。
【請求項１８】
前記読出信号列が前記期待値信号列と一致せず、前記メモリセルに前記期待値信号を改めて書き込むとき、
前記読出信号と前記期待値信号とが一致しなかった前記メモリセルにのみ前記期待値信号を書き込む、請求項１６記載の不揮発性メモリのベリファイ方法。
【請求項１９】
複数ビットから成るデータのうちの第１論理値を有するビットに対する書き込み処理を実行することによってメモリへの前記データの書き込み処理を行い、当該書き込み処理後に前記データの書き込みが行われた前記メモリ内の所定領域から読み出された値に基づいて前記メモリに書き込まれたデータが正確なものであるか否かの確認を行うためのベリファイ処理を行い、前記データの全てのビットに対して正確な値が書き込まれたことを確認するまで、書き込み処理及びベリファイ処理を繰り返し実行するメモリ制御回路であって、
直前の書き込み処理で使用した第１書き込みデータ及び当該書き込み処理後に前記第１書き込みデータの書き込み処理が行われた前記メモリ内の所定領域から読み出された読み出しデータに基づき、前記第１書き込みデータのうちの書き込み処理が成功したビットのみを第１論理値から第２論理値に変更することによって次の書き込み処理で使用する第２書き込みデータを生成する書き込みデータ生成回路と、
前記第２書き込みデータ及び前記読み出しデータ並びに最終的に前記メモリの所定領域に書き込まれるべき期待値データに基づいてベリファイデータを生成するベリファイデータ生成回路と、
前記ベリファイデータと前記期待値データとを比較するベリファイ判定回路と、を備え、
前記ベリファイデータ生成回路は、前記期待値データのうちの第１論理値を有するビットに対応する前記第２書き込みデータのビットの中から第２論理値になっているビットを特定し、前記読み出しデータのうちの前記特定したビットに対応するビットの値を前記期待値データの値に一致するように変換することによって前記ベリファイデータを生成する、メモリ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御回路、半導体集積回路、不揮発性メモリのベリファイ方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路に関する技術の進展が著しい。半導体集積回路の高機能化に伴って、電気的に信号の消去又は書き込みが可能な半導体記憶装置（以下、メモリと呼ぶ）の高機能化も強く求められている。
【０００３】
上述のメモリとしては、不揮発性のメモリ（以下、不揮発性メモリと呼ぶ）が広く知られている。不揮発性メモリにおいては、メモリセルごとに設けられたフローティングゲートに電荷を注入することで、０又は１のデジタル信号の書込が行われる。また、メモリセルごとのフローティングゲートに蓄積された電荷量の検出に基づいて、０又は１のデジタル信号の読み出しが行われる。なお、フローティングゲートに電荷が蓄積された状態を１とするのか、０とするのかは任意である。
【０００４】
不揮発性メモリにおいては、保持される信号の信頼性を確保するため、信号の書込後に書き込まれた信号の読み出しを行い、読み出された信号（読出信号）が書き込まれた信号（期待値信号）と等しいか判定する。読出信号が期待値信号と一致しない場合（書込失敗の場合）、再度、期待値信号の書込が実行される。そして、再度、読出信号が期待値信号と一致するのかを判定する。なお、読出信号が期待値信号と一致するのかは、複数ビット単位で行われたりする。なお、読出信号が期待値信号と一致するかどうかを判定することを、単にベリファイするということもある。
【０００５】
ところで、同一列又は同一行のメモリセルは、共通の配線（例えば、ソース配線）に接続される。従って、書込成功と判定されたメモリセルであっても、改めて判定すると書込失敗となる場合がある。
【０００６】
特許文献１では、ある記憶素子に対する書込回数に応じて書込成功又は失敗の判定基準を緩和している。具体的には、判定時に用いる閾値電圧のレベルを書込回数に応じて低下させている。
【特許文献１】特開２０００−９０６７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１の場合、１回目の判定で書込成功とするためには、１回目の判定時に用いられる閾値電圧の電圧レベルを考慮して、メモリセルに印加される信号書込用電圧を設定する必要がある。すなわち、１回目の判定で書込成功とするためには、１回目の判定で用いられる高い閾値電圧に応じて、メモリセルに印加される信号書込用電圧を高く設定する必要がある。しかしながら、メモリセルに高電圧を印加すると、メモリセルの絶縁膜（フローティングゲートの直下の絶縁膜）の品質を劣化させ、不揮発性メモリの信頼性を劣化させてしまうおそれがある。
【０００８】
すなわち、従来、不揮発性メモリの信頼性を劣化させることなく、判定結果が覆ることに対処することは困難であった。
【課題を解決するための手段】
【０００９】
本発明にかかるメモリ制御回路は、複数の期待値信号を含む期待値信号列の入力に基づいて不揮発性メモリの複数のメモリセルそれぞれに前記期待値信号それぞれが書き込まれたかどうかを、複数の前記メモリセルそれぞれから読み出された複数の読出信号を含む読出信号列が前記期待値信号列と一致するかどうかに基づいて判定するメモリ制御回路であって、前記読出信号列が前記期待値信号列と一致せず、前記メモリセルに前記期待値信号が改めて書き込まれた後、前記読出信号列が前記期待値信号列と一致するのかを改めて判定するとき、以前の判定時に前記期待値信号と前記読出信号とが一致した前記メモリセルから読み出された前記読出信号を当該読出信号に対応する前記期待値信号に設定し、前記読出信号が前記期待値信号に変換された後の前記読出信号列が前記期待値信号列と一致するのかを判定する。
【００１０】
本発明にかかる半導体集積回路は、複数の期待値信号を含む期待値信号列の入力に基づいて複数のメモリセルそれぞれに前記期待値信号それぞれが書き込まれる不揮発性メモリと、複数の前記メモリセルそれぞれに前記期待値信号それぞれが書き込まれたかどうかを、複数の前記メモリセルそれぞれから読み出された複数の読出信号を含む読出信号列が前記期待値信号列と一致するかどうかに基づいて判定するメモリ制御回路と、を備える半導体集積回路であって、前記メモリ制御回路は、前記読出信号列が前記期待値信号列と一致せず、前記メモリセルに前記期待値信号が改めて書き込まれた後、前記読出信号列が前記期待値信号列と一致するのかを改めて判定するとき、以前の判定時に前記期待値信号と前記読出信号とが一致した前記メモリセルから読み出された前記読出信号を当該読出信号に対応する前記期待値信号に設定し、前記読出信号が前記期待値信号に変換された後の前記読出信号列が前記期待値信号列と一致するのかを判定する。
【００１１】
本発明にかかる不揮発性メモリのベリファイ方法は、複数の期待値信号を含む期待値信号列の入力に基づいて不揮発性メモリの複数のメモリセルそれぞれに前記期待値信号それぞれが書き込まれたかどうかを複数の前記メモリセルそれぞれから読み出された複数の読出信号を含む読出信号列が前記期待値信号列と一致するかどうかに基づいて判定する不揮発性メモリのベリファイ方法であって、前記読出信号列が前記期待値信号列と一致せず、前記メモリセルに前記期待値信号が改めて書き込まれた後、前記読出信号列が前記期待値信号列と一致するのかを改めて判定するとき、以前の判定時に前記期待値信号と前記読出信号とが一致した前記メモリセルから読み出された前記読出信号を当該読出信号に対応する前記期待値信号に設定し、前記読出信号が前記期待値信号に変換された後の前記読出信号列が前記期待値信号列と一致するのかを判定する。
【００１２】
本発明にかかるメモリ制御回路は、複数ビットから成るデータのうちの第１論理値を有するビットに対する書き込み処理を実行することによってメモリへの前記データの書き込み処理を行い、当該書き込み処理後に前記データの書き込みが行われた前記メモリ内の所定領域から読み出された値に基づいて前記メモリに書き込まれたデータが正確なものであるか否かの確認を行うためのベリファイ処理を行い、前記データの全てのビットに対して正確な値が書き込まれたことを確認するまで、書き込み処理及びベリファイ処理を繰り返し実行するメモリ制御回路であって、２回目以降に行われるベリファイ処理においては、当該ベリファイ処理の中で行われる読み出し処理によって読み出される値に関わらず、以前に行われたベリファイ処理の結果で１度でも書き込み処理が成功したと判定されたビットに対しては書き込み処理が成功したと判定する。
【発明の効果】
【００１３】
不揮発性メモリの信頼性を劣化させることなく、判定結果が覆ることに対処することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しつつ、本発明の実施の形態について説明する。なお、各実施の形態は、説明の便宜上、簡略化されている。図面は簡略的なものであるから、図面の記載を根拠として本発明の技術的範囲を狭く解釈してはならない。図面は、もっぱら技術的事項の説明のためのものであり、図面に示された要素の正確な大きさ等は反映していない。同一の要素には、同一の符号を付し、重複する説明は省略するものとする。
【００１５】
〔第１の実施形態〕
第１の実施形態について、図１乃至図１８に基づいて説明する。図１は、半導体集積回路の概略的なブロック図である。図２は、メモリセルＭＣの断面構成を説明するための概略的な模式図である。図３は、メモリ制御回路の概略的なブロック図である。図４は、信号列選択回路の概略的な回路図である。図５は、再書込信号列生成回路の概略的な回路図である。図６は、読出信号列変換回路の概略的な回路図である。図７は、再書込信号生成回路２１の真理値表である。図８は、読出信号変換回路３１の真理値表である。図９は、不揮発性メモリの制御方法を説明するための概略的なフローチャートである。図１０は、各信号列の信号値を示す表である。図１１は、信号列選択回路の動作を説明するための表である。図１２は、１回目の判定時の再書込信号列生成回路の動作を説明するための表である。図１３は、１回目の判定時の読出信号列変換回路の動作を説明するための表である。図１４は、１回目の判定時の判定回路の動作を説明するための表である。図１５は、２回目の判定時の再書込信号列生成回路の動作を説明するための表である。図１６は、２回目の判定時の読出信号列変換回路の動作を説明するための表である。図１７は、２回目の判定時の判定回路の動作を説明するための表である。
【００１６】
図１に示すように、半導体集積回路１００は、メモリ部（不揮発性メモリ）９５、制御部９６、演算処理部(CPU(Central Processing Unit))９７、バス９８を有する。メモリ部９５には、制御部９６の出力が入力される。制御部９６には、メモリ部９５の出力が入力される。制御部９６は、バス９８を介して、ＣＰＵ９７と接続される。メモリ部９５も同様に、バス９８を介して、ＣＰＵ９７に接続される。なお、バス９８のバス幅は、８ｂｉｔである。
【００１７】
図１に示すように、メモリ部９５は、メモリ領域８０、Ｘデコーダ８１、Ｙデコーダ８２、書込・読出制御回路８３、ソース線制御回路８４を有する。メモリ部９５は、一括消去型のEEPROM(Erasable Programmable Read Only Memory)であり、ソース線の電位が制御されることで、メモリセルＭＣに保持されたデータは一括して消去される。
【００１８】
メモリ領域８０は、マトリクス状に配置された複数の不揮発性のメモリセルＭＣを有する。書込・読出制御回路８３は、アドレス保持回路９１（図１参照）からのアドレス信号に基づいて、Ｘデコーダ８１、Ｙデコーダ８２を制御し、所定のアドレスのメモリセルＭＣに信号を書き込む。また、同様にして、書込・読出制御回路８３は、所定のメモリセルＭＣから信号を読み出す。ソース線制御回路８４は、ソース線８７の電位を制御し、メモリセルＭＣに保持された信号の消去を実行する。なお、メモリ部の具体的な構成は任意である。
【００１９】
図１に示すように、メモリ領域８０は、マトリクス状に配置された複数のメモリセルＭＣを有する。なお、以下のメモリ領域８０に関する説明では、適宜、図２も参酌するものとする。
【００２０】
同一行に配置されたメモリセルＭＣのゲート電極７１は、共通のワード線８６に接続される。同一列に配置されたメモリセルＭＣのドレイン領域７５は、共通のビット線８５に接続される。同一列に配置されたメモリセルＭＣのソース領域７４は、共通のソース線８７に接続される。
【００２１】
各ワード線８６は、Ｘデコーダ８１に接続され、各ビット線８５はＹデコーダ８２に接続される。Ｘデコーダ８１によって選択されたワード線８６に所定の電圧が印加される。同様に、Ｙデコーダ８２によって選択されたビット線８５に所定の電圧が印加される。そして、ＸデコーダとＹデコーダによって特定された番地のメモリセルＭＣに信号が書き込まれる。
【００２２】
各メモリセルＭＣのフローティングゲート７２に電荷を注入するとき、メモリセルＭＣのドレイン−ソース間に順方向の電圧を印加する。具体的には、ソース７４を接地させ、ゲート電極７１及びドレイン領域７５を高電位に設定する。なお、このとき、ソース線８７は接地され、ビット線８５及びワード線８６は高電位に設定される。
【００２３】
各メモリセルＭＣのフローティングゲート７２から電荷を放出させる場合、メモリセルＭＣのソース−ゲート間に順方向の電圧を印加する。具体的には、ソース７４を高電位に設定し、ゲート電極７１を接地させる。なお、このとき、ソース線８７は高電位に設定され、ワード線８６は接地される。ビット線は開放状態とすればよい。
【００２４】
フローティングゲート７２に電荷を蓄積させることで信号の書込が行われ、フローティングゲート７２に蓄積された電荷を放出させることで信号の消去が行われる。なお、半導体集積回路１００に供給される電源が遮断されたとしても、フローティングゲートには依然として電荷は蓄積される。これによって、メモリ部９５の不揮発性が担保される。
【００２５】
なお、メモリ領域８０を複数のセクターに分割し、セクター単位で、データの書込・消去を実行しても良い。なお、この場合、各セクターには同数のメモリセルＭＣを配置すると良い。
【００２６】
また、図２に示すように、各メモリセルＭＣ７０は、Ｎ型のドレイン領域７５、ソース領域７６が主面に拡散形成されたＰ型の半導体基板７６を有する。半導体基板７６の主面には、酸化膜７３が形成される。また、この酸化膜７３上にはフローティングゲート７２が形成される。また、フローティングゲート７２上には、ゲート電極７１が、酸化膜（不図示）を介して形成される。各メモリセルＭＣ７０は、共通のソース領域７６又はドレイン領域７５を有する。従って、あるメモリセルＭＣ７０への信号書込等によって、他のメモリセルＭＣ７０が保持する信号値に変動をもたらすことがある。
【００２７】
また、図１に示すように、制御部９６は、メモリ制御回路９０、アドレス保持回路９１、書込データ保持回路９２、判定データ保持回路９３を有する。制御部９６は、メモリ部９５に書き込まれる信号を出力する。また、制御部９６は、メモリ部９５から読み出された信号が書き込まれるべき信号と一致するかを判定する。なお、メモリ制御回路９０、アドレス保持回路９１、書込データ保持回路９２、判定データ保持回路９３らは、ＣＰＵ９７とバス９８を介して接続され、ＣＰＵ９７からの各種の制御信号に基づいて動作する。
【００２８】
書込データ保持回路９２の出力は、メモリ制御回路９０の入力aに接続される。メモリ制御回路９０の出力cは、メモリ部９５に接続される。メモリ部９５の出力は、メモリ制御回路９０の入力bに接続される。メモリ制御回路９０の出力dは、判定データ保持回路９３に接続される。なお、アドレス保持回路９１の出力は、メモリ部９５に接続される。
【００２９】
書込データ保持回路９２は、メモリセルＭＣに書き込まれるべき信号列ＷＳ（以下、適宜、期待値信号列ＷＳと呼ぶ）を保持する。書込データ保持回路９２は、ＣＰＵ９７による制御に基づいて、所定のタイミングで所定の期待値信号列ＷＳをメモリ制御回路９０に出力する。後述の説明からも明らかになるが、期待値信号列ＷＳは、８ｂｉｔの期待値信号（ＷＳ１〜ＷＳ８）から構成される信号列である。
【００３０】
判定データ保持回路９３は、後述の判定信号ＪＳを保持する。
【００３１】
アドレス保持回路９１は、期待値信号列ＷＳが書き込まれるべきメモリセルＭＣのアドレス信号を保持する。アドレス保持回路９１は、ＣＰＵ９７による制御に基づいて、所定のタイミングで所定のアドレス信号をメモリ部９５に出力する。
【００３２】
メモリ制御回路９０は、上述の期待値信号列ＷＳをメモリ部９５に出力する。また、メモリ制御回路９０は、メモリ部９５から読み出された信号列ＲＳ（以下、適宜、読出信号列ＲＳと呼ぶ）が期待値信号列ＷＳと一致するのかを判定する。なお、読出信号列ＲＳは、メモリセルＭＣから読み出された信号列であって、８ｂｉｔの読出信号（ＲＳ１〜ＲＳ８）から構成される。
【００３３】
図３に、メモリ制御回路９０の概略的なブロック図を示す。図３に示すように、メモリ制御回路９０は、信号列選択回路１、書込信号列保持回路２、再書込信号列生成回路３、再書込信号列保持回路４、読出信号列変換回路５、判定回路６を有する。
【００３４】
信号列選択回路１の入力aは再書込信号列保持回路４の出力に接続され、信号列選択回路１の入力bは書込データ保持回路９２の出力に接続される。信号列選択回路１の出力cは、書込信号列保持回路２の入力に接続される。書込信号列保持回路２の出力は、メモリ部９５の入力に接続される。再書込信号列生成回路３の入力aはメモリ部９５の出力に接続され、再書込信号列生成回路３の入力bは書込信号列保持回路２の出力に接続される。再書込信号列生成回路３の出力cは、再書込信号列保持回路４の入力に接続される。再書込信号列保持回路４の出力は、読出信号列変換回路５の入力aに接続される。読出信号列変換回路５の入力aは再書込信号列保持回路４の出力に接続され、読出信号列変換回路５の入力bは書込データ保持回路９２の出力に接続され、読出信号列変換回路５の入力cはメモリ部９５の出力に接続される。読出信号列変換回路５の出力dは、判定回路６の入力aに接続される。判定回路６の入力aには読出信号列変換回路５の出力dが接続され、判定回路６の入力bには書込データ保持回路９２の出力が接続される。判定回路６の出力は、メモリ制御回路９０の出力dに接続される。なお、図３から明らかなように、それぞれは、８ｂｉｔ幅のバスを介して接続される。
【００３５】
信号列選択回路１は、ＣＰＵ９７からのセレクト信号に基づいて、入力a又は入力bに入力された信号のいずれかを出力cから出力する。信号列選択回路１の入力bには、書込データ保持回路９２から８ビットの期待値信号列ＷＳが入力される。信号列選択回路１の入力aには、再書込信号列保持回路４から再書込信号列ｇＷＳが入力される。なお、再書込信号列ｇＷＳは、メモリ部９５のメモリセルＭＣに改めて書き込まれるべき複数の信号を含む信号列であって、ここでは８ｂｉｔの再書込信号（ｇＷＳ１〜ｇＷＳ８）から構成される。
【００３６】
１回目の書込時、信号列選択回路１は入力bに入力された期待値信号列ＷＳを出力cから出力する。書込失敗の判定後の２回目の書込時、信号列選択回路１は入力aに入力された再書込信号列ｇＷＳを出力cから出力する。信号列選択回路１の構成、動作については、後述する。
【００３７】
書込信号列保持回路２は、メモリセルＭＣに書き込まれる信号列を保持する。書込信号列保持回路２は、８ｂｉｔの信号を保持することができるラインメモリである。書込信号列保持回路２は、信号列選択回路１から出力された信号ｓＷＳを保持すると共に、信号ｓＷＳを出力する。
【００３８】
再書込信号列生成回路３は、入力a及び入力bに入力された信号に基づいて再書込信号列ｇＷＳを生成する。なお、再書込信号列生成回路３の入力aには、メモリ部９５から出力された読出信号列ＲＳが入力される。再書込信号列生成回路３の入力bには、書込信号列保持回路２から出力された信号列ｓＷＳが入力される。
【００３９】
１回目の書込後にメモリセルＭＣから信号を読み出す時、再書込信号列生成回路３は、上述の再書込信号列ｇＷＳを生成する。なお、再書込信号列生成回路３の構成、動作については、後述する。
【００４０】
再書込信号列保持回路４は、上述の再書込信号列ｇＷＳを保持し、出力する。再書込信号列保持回路４は、８ｂｉｔの信号を保持することができるラインメモリである。
【００４１】
読出信号列変換回路５は、入力a〜ｃに入力された信号に基づいて、判定回路６の入力aに入力される判定用読出信号列ｇＲＳを生成する。
【００４２】
１回目の信号の読出時、読出信号列変換回路５は、メモリ部９５からの読出信号列ＲＳをそのまま判定用読出信号列ｇＷＳとして判定回路６の入力aに出力する。１回目の判定が失敗した場合、２回目の信号の書込が実行される。そして、２回目の読出時、１回目に読出信号が期待値信号と一致したメモリセルＭＣから改めて読み出された読出信号が期待値信号と一致しない場合、読出信号列変換回路５は、次のように動作する。すなわち、読出信号列変換回路５は、そのメモリセルＭＣから読み出された読出信号の値を反転させ、その読出信号を期待値信号に変換する。換言すると、読出信号列変換回路５は、そのメモリセルＭＣから読み出された読出信号を当該読出信号に対応する期待値信号に設定する。そして、読出信号列変換回路５は、読出信号列ＲＳが変換された後の読出信号列ｃＲＳを判定用読出信号列ｇＲＳとして出力する。
【００４３】
このようにすることで、２回目の判定時に、読出信号の信号値が反転したことに起因して、読出信号列が期待値信号列と一致するかどうかの判定結果が覆ることが抑制される。つまり、不揮発性メモリの信頼性を劣化させることなく、判定結果が覆ることに対処することができる。
【００４４】
尚、不揮発性メモリの信頼性自体は、他の信頼性試験で十分に確保される。読出信号列変換回路５の構成、動作については、後述する。
【００４５】
判定回路６は、入力aに入力された判定用読出信号列ｇＲＳ（読出信号列ＲＳ又は変換後の読出信号列ｃＲＳ）と、入力bに入力された期待値信号列ＷＳと、が一致するのかを判定する。それらが一致する場合、判定回路６は１を出力する。それらが一致しない場合、判定回路６は０を出力する。判定回路６の出力は、判定データ保持回路９３で保持される。
【００４６】
ここで、図４に、上述の信号列選択回路１の概略的な回路図を示す。図５に、上述の再書込信号列生成回路３の概略的な回路図を示す。図６に、上述の読出信号列変換回路５の概略的な回路図を示す。また、図７に、再書込信号列生成回路３の真理値表を示す。図８に、読出信号列変換回路５の真理値表を示す。
【００４７】
以下の説明では、期待値信号が０のときメモリセルＭＣに信号に書き込まれ、期待値信号が１のときメモリセルＭＣに信号が書き込まれないものとする。読出信号が０のときメモリセルＭＣに信号が書き込まれているものとし、読出信号が１のときメモリセルＭＣに信号が書き込まれていないものとする。なお、メモリセルＭＣのフローティングゲート７２に電荷が蓄積された状態を書き込み状態とする。
【００４８】
図４に示すように、信号列選択回路１は、バス幅に対応して８つの選択回路１１〜１８を有する。なお、セレクト信号がローレベル（以下、Ｌレベルと表記する）のとき、信号列選択回路１は期待値信号列ＷＳを信号列ｓＷＳとして出力する。セレクト信号がハイレベル（以下、Ｈレベルと表記する）のとき、信号列選択回路１は再書込信号列ｇＷＳを信号列ｓＷＳとして出力する。なお、信号列選択回路１から出力される信号列ｓＷＳは、８ビットの信号ｓＷＳ１〜８から構成される信号列である。
【００４９】
選択回路１１は、ＡＮＤ回路１（ＡＮＤ１）、ＡＮＤ回路２（ＡＮＤ２）、ＯＲ回路（ＯＲ）を有する。ＡＮＤ回路１には、再書込信号列保持回路４から出力された再書込信号ｇＷＳ１、セレクト信号が入力される。ＡＮＤ回路２には、書込データ保持回路９２から出力された期待値信号ＷＳ１、セレクト信号が入力される。ＯＲ回路には、ＡＮＤ回路１の出力、ＡＮＤ回路２の出力が入力される。ＯＲ回路の出力は、書込信号列保持回路２に接続される。他の選択回路１２〜１８の構成は、選択回路１１と同様であるから、重複する説明は省略する。
【００５０】
セレクト信号がＬレベルのとき、選択回路１１は期待値信号ＷＳ１を出力する。セレクト信号がＨレベルのとき、選択回路１１は再書込信号ｇＷＳ１を出力する。他の選択回路についても同様である。このようにして、信号列選択回路１は、セレクト信号がＬレベルのとき期待値信号列ＷＳを信号列ｓＷＳとして出力し、セレクト信号がＨレベルのとき再書込信号列ｇＷＳを信号列ｓＷＳとして出力する。
【００５１】
図５に示すように、再書込信号列生成回路３は、バス幅に対応して８つの再書込信号生成回路２１〜２８を有する。尚、上述のように、再書込信号列生成回路３は、入力aに入力された読出信号列ＲＳ及び入力bに入力された信号列ｓＷＳに基づいて再書込信号列ｇＷＳを生成する。
【００５２】
再書込信号生成回路２１は、ＯＲ回路（ＯＲ）を有する。ＯＲ回路には、所定のメモリセルＭＣから読み出された読出信号ＲＳ１が反転された上で入力される。また、ＯＲ回路には、書込信号列保持回路２から出力された信号ｓＷＳ１が入力される。ＯＲ回路から出力された再書込信号ｇＷＳ１は、再書込信号列保持回路４に入力される。他の再書込信号生成回路２２〜２８の構成は、再書込信号生成回路２１と同様であるから、重複する説明は省略する。
【００５３】
図６に示すように、読出信号列変換回路５は、バス幅に対応して８つの読出信号変換回路３１〜３８を有する。尚、上述のように、読出信号列変換回路５は、入力a〜ｃに入力された信号に基づいて、判定回路６の入力aに入力される判定用読出信号列ｇＲＳを生成する。
【００５４】
読出信号変換回路３１は、ＡＮＤ回路１（ＡＮＤ１）、ＡＮＤ回路２（ＡＮＤ２）を有する。ＡＮＤ回路１には、再書込信号列保持回路４から出力された再書込信号ｇＷＳ１が入力される。また、ＡＮＤ回路１には、期待値信号ＷＳ１が反転されたうえで入力される。ＡＮＤ回路２には、読出信号ＲＳ１が入力される。また、ＡＮＤ回路２には、ＡＮＤ回路１の出力が反転されたうえで入力される。ＡＮＤ回路２の出力は、判定回路６の入力aに接続される。読出信号変換回路３２〜３８の構成は、読出信号変換回路３１と同様であるから、重複する説明は省略する。
【００５５】
図７に、再書込信号生成回路２１の真理値表を示す。図７に示すように、再書込信号生成回路２１は、所定のメモリセルＭＣにおいて、期待値信号ＷＳ１と読出信号ＲＳ１とが一致する場合、再書込信号ｇＷＳ１を１に設定する。すなわち、再書込信号生成回路２１は、期待値信号と読出信号が一致したメモリセルＭＣには再度の書込が実行されないように再書込信号を設定する。他方、共通のメモリセルＭＣにおいて、期待値信号と読出信号とが一致しない場合、再書込信号を書込信号と等しい信号に設定する。
【００５６】
図８に、読出信号変換回路３１の真理値表を示す。図８に示すように、読出信号変換回路３１は、ｇＷＳ１＝１、ＷＳ１＝０の場合、ＲＳ＝１をＲＳ＝０に変換する。換言すると、読出信号変換回路３１は、ｇＷＳ１＝１、ＷＳ１＝０の場合、読出信号ＲＳ１の値を0に固定する。なお、その他の場合は、ｇＲＳ１＝ＲＳ１である。
【００５７】
ここで、図９乃至図１７を参照して、メモリ制御回路９０の動作について説明する。
【００５８】
なお、上述のように、期待値信号が０のときメモリセルＭＣに信号に書き込まれ、期待値信号が１のときメモリセルＭＣに信号が書き込まれないものとする。読出信号が０のときメモリセルＭＣに信号が書き込まれているものとし、読出信号が１のときメモリセルＭＣに信号が書き込まれていないものとする。なお、メモリセルＭＣのフローティングゲート７２に電荷が蓄積された状態を書き込み状態とする。
【００５９】
図９に、不揮発性メモリの制御方法を説明するための概略的なフローチャートを示す。図９に示すように、まず所定の８ｂｉｔのメモリセルＭＣのそれぞれに期待値信号列ＷＳを書き込む（Ｓ１）。
【００６０】
ここでは、図１０に示すように、８ｂｉｔのメモリセルＭＣに書き込まれるべき期待値信号列ＷＳは、０１０１０１０１０１とする。
【００６１】
Ｓ１のとき、図１１に示すように、セレクト信号はＬレベルである。そして、信号列選択回路１は、期待値信号列ＷＳをそのまま出力する。書込信号列保持回路２は、信号列選択回路１からの期待値信号列ＷＳを保持し、保持した期待値信号列ＷＳを出力する。そして、メモリ制御回路９０の出力cからは期待値信号列ＷＳが出力される。そして、メモリ部９５に期待値信号列ＷＳが入力される。このとき、８ｂｉｔのメモリセルＭＣのアドレス信号がアドレス保持回路９１からメモリ部９５に入力される。メモリ部９５は、入力された期待値信号列ＷＳ、アドレス信号に基づいて、８ｂｉｔのメモリセルＭＣに信号の書込を実行する。
【００６２】
Ｓ１後、信号が書き込まれたメモリセルＭＣから信号の読み出しを行う（Ｓ２）。そして、メモリ部９５からメモリ制御回路９０の入力bには、メモリセルＭＣから読出信号列ＲＳが入力される。なお、図１０に示すように、１回目の読出信号列ＲＳは、０１１１１１０１である。
【００６３】
Ｓ２のとき、再書込信号列生成回路３は、図１２のように動作する。すなわち、図１２に示すように、読出信号列ＲＳと期待値信号列ＷＳとに基づいて、再書込信号列ｇＷＳを生成する。なお、書込信号列保持回路２から再書込信号列生成回路３に入力される信号列は、期待値信号列ＷＳである。
【００６４】
再書込信号列生成回路３は、読出信号が期待値信号と一致する場合、再書込信号の値を１に設定する。これによって、正常に書き込まれたメモリセルＭＣに再度改めて信号が書き込まれることが回避される。また、このように設定することで、一度、書込成功と判定されたメモリセルＭＣの情報を記憶することができる。なお、図１２から明らかなように、ここでは、再書込信号列ｇＷＳは、３ｂｉｔ目と５ｂｉｔ目のメモリセルＭＣが再書き込み（リトライ）の対象となり、他のメモリセルＭＣは再書き込みされない（マスク）の対象となる。
【００６５】
Ｓ２の後、読出信号列ＲＳが期待値信号列ＷＳと一致するのかベリファイする（Ｓ３）。
【００６６】
このとき、読出信号列変換回路５は、図１３のように動作する。すなわち、入力ｃに入力された読出信号列ＲＳをそのまま判定用読出信号列ｇＲＳとして出力する。
【００６７】
そして、判定回路６は、図１４に示すように、書込失敗を示す判定信号ＪＳ＝０を判定データ保持回路９３に出力する。この場合、３ｂｉｔ目のメモリセルＭＣと５ｂｉｔ目のメモリセルＭＣで書込が失敗（ＦＡＩＬ）しているため、判定回路６は、書込失敗を示す判定信号ＪＳ＝０を判定データ保持回路９３に出力する。
【００６８】
このようにして、１回目の書込、判定が実行される。今回の場合、書込失敗のため、Ｓ３の後、Ｓ４に進む。Ｓ４で、書込、判定の回数が予め設定された最大回数に達していないかを判断する。今回は１回目であるから、Ｓ１に戻り、改めて信号の書込が実行される。
【００６９】
２回目の書込時には、再書込信号列保持回路４に保持された再書込信号列ｇＷＳがメモリセルＭＣに書き込まれる。２回目のＳ１の前、ＣＰＵ１１によりセレクト信号はＬレベルからＨレベルに切り替えられる。そして、図１１に示すように、信号列選択回路１からは再書込信号列ｇＷＳが出力される。そして、書込信号列保持回路２は、信号列選択回路１からの再書込信号列ｇＷＳを保持し、保持した再書込信号列ｇＷＳを出力する。そして、メモリ制御回路９０の出力cからは再書込信号列ｇＷＳが出力される。そして、メモリ部９５に再書込信号列ｇＷＳが入力される。そして、１回目の場合と同様に、メモリ部９５は、入力された再書込信号列ｇＷＳ、アドレス信号に基づいて、８ｂｉｔのメモリセルＭＣに信号の書込を実行する（Ｓ１）。なお、上述のように、３ｂｉｔ目と５ｂｉｔ目のメモリセルＭＣにのみ信号の書込が実行される。
【００７０】
２回目のＳ１後、信号が書き込まれたメモリセルＭＣから信号の読み出しを行う（Ｓ２）。そして、メモリ部９５からメモリ制御回路９０の入力bには、メモリセルＭＣから読み出された読出信号列ＲＳが入力される。なお、図１０に示すように、２回目の読出信号列ＲＳは、０１０１０１１１である。
【００７１】
図１０から明らかなように、３ｂｉｔ目の読出信号は、それに対応する期待値信号と一致している。５ｂｉｔ目の読出信号について同様である。但し、１回目に書込成功した７ｂｉｔ目の読出信号の値が０から１になっている。
【００７２】
２回目のＳ２のとき、再書込信号列生成回路３は、図１５のように動作する。すなわち、図１５に示すように、読出信号列ＲＳと１回目の再書込信号列ｇＷＳとに基づいて、改めて再書込信号列ｇＷＳを生成する。上述と同様に、読出信号が期待値信号と一致する場合、書込信号の値を１に設定する。３ｂｉｔ目と５ｂｉｔ目のメモリセルＭＣについては書込が成功している。従って、３回目の再書き込みが行われないように、改めて生成される再書込信号列ｇＷＳは１１１１１１１１となる。なお、この信号は、書込終了を示す信号（書込終了信号）として把握することができる。
【００７３】
２回目のＳ２の後、読出信号列ＲＳが期待値信号列ＷＳと一致するのかベリファイする（Ｓ３）。本実施形態においては、Ｓ３のとき、読出信号列変換回路５は、図１６のように動作する。すなわち、ＲＳ１のうち、１回目の判定で成功判定であって７ｂｉｔ目の読出信号の値を反転させる。そして、図１０の変換後の読出信号列ｃＲＳ（０１０１０１０１）を判定用読出信号列ｇＲＳとして出力する。
【００７４】
また、判定回路６は、図１７のように動作する。すなわち、読出信号列変換回路５から出力された判定用読出信号列ｇＲＳ（変換後の読出信号列ｃＲＳ）が期待値信号列ＷＳと一致するのかを判定する。この場合、すべてのｂｉｔで判定用読出信号列ｇＲＳは期待値信号列ＷＳと一致している。従って、判定回路６は、書込成功を示す判定信号ＪＳ＝１を判定データ保持回路９３に出力する。
【００７５】
このようにして、２回目の書込、書込判定が実行される。２回目の場合、書込成功のため、これにより、対象となった８ｂｉｔのメモリセルＭＣへの書込、書込判定の手順は終了する。なお、Ｓ４で、最大回数となった場合、書込ＮＧとして処理は終了する。書込ＮＧの場合、処理対象となった半導体集積回路は不良品となる。なお、最大回数として設定される回数は任意である。
【００７６】
上述の説明から明らかなように、本実施形態においては、一度、読出信号が期待値信号と一致したメモリセルＭＣについては、次回以降の判定時に読出信号が期待値信号と一致しなくなったとしても、強制的に読出信号を期待値信号に設定したうえで読出信号列が期待値信号列と一致するかどうかを判定する。これにより、期待値信号と一致していた読出信号の値が反転することに起因して、判定結果自体が覆されることが抑制される。そして、不揮発性メモリの信頼性を劣化させることなく、判定結果が覆ることに対処することが実現される。
【００７７】
本発明の技術的範囲は、上述の実施の形態に限定されない。すなわち、書込単位は８ｂｉｔに限定されない。３２ｂｉｔ、６４ｂｉｔ、１２８ｂｉｔ等であっても良い。メモリセルＭＣの具体的な構成は任意である。メモリ制御回路９０の具体的な構成は任意である。不揮発性メモリの具体的な構造は任意である。
【図面の簡単な説明】
【００７８】
【図１】半導体集積回路の概略的なブロック図である。
【図２】メモリセルＭＣの断面構成を説明するための概略的な模式図である。
【図３】メモリ制御回路の概略的なブロック図である。
【図４】信号列選択回路の概略的な回路図である。
【図５】再書込信号列生成回路の概略的な回路図である。
【図６】読出信号列変換回路の概略的な回路図である。
【図７】再書込信号生成回路２１の真理値表である。
【図８】読出信号変換回路３１の真理値表である。
【図９】不揮発性メモリの制御方法を説明するための概略的なフローチャートである。
【図１０】各信号列の信号値を示す表である。
【図１１】信号列選択回路の動作を説明するための表である。
【図１２】１回目の判定時の再書込信号列生成回路の動作を説明するための表である。
【図１３】１回目の判定時の読出信号列変換回路の動作を説明するための表である。
【図１４】１回目の判定時の判定回路の動作を説明するための表である。
【図１５】２回目の判定時の再書込信号列生成回路の動作を説明するための表である。
【図１６】２回目の判定時の読出信号列変換回路の動作を説明するための表である。
【図１７】２回目の判定時の判定回路の動作を説明するための表である。
【符号の説明】
【００７９】
１    信号列選択回路
２    書込信号列保持回路
３    再書込信号列生成回路
４    再書込信号列保持回路
５    読出信号列変換回路
６    判定回路
ＭＣ    メモリセル
ＷＳ    期待値信号列
ｇＷＳ    再書込信号列
ＲＳ    読出信号列
ｃＲＳ    変換後の読出信号列
ｇＲＳ 判定用読出信号列
ＪＳ    判定信号
８０    メモリ領域
９０    メモリ制御回路
９１    アドレス保持回路
９２    書込データ保持回路
９３    判定データ保持回路
９５    メモリ部
９６    制御部
１００    半導体集積回路
【図１】
0005059524.tif 000002
【図２】
0005059524.tif 000003
【図３】
0005059524.tif 000004
【図４】
0005059524.tif 000005
【図５】
0005059524.tif 000006
【図６】
0005059524.tif 000007
【図７】
0005059524.tif 000008
【図８】
0005059524.tif 000009
【図９】
0005059524.tif 000010
【図１０】
0005059524.tif 000011
【図１１】
0005059524.tif 000012
【図１２】
0005059524.tif 000013
【図１３】
0005059524.tif 000014
【図１４】
0005059524.tif 000015
【図１５】
0005059524.tif 000016
【図１６】
0005059524.tif 000017
【図１７】
0005059524.tif 000018