(57)【要約】【課題】２つのメモリセルに相補的なデータを書き込む半導体不揮発性メモリにおいて、ブランク・チェック時間を短縮すること。【解決手段】半導体集積回路は、複数のツインセルを含む不揮発性メモリＤＦＬ；２１、セレクＳＥＬ＿ＢＣと、センス回路ＢＣ＿ＳＡを具備する。ツインセルの２つの不揮発性メモリセルＭＣ１、ＭＣ２に相補データが書き込まれ、低いしきい値電圧と高いしきい値電圧の組み合わせの書き込み状態に設定される。ＭＣ１、ＭＣ２に非相補データが書き込まれ、例えばともに低いしきい値電圧のブランク状態とされる。セレクタＳＥＬ＿ＢＣは、複数のスイッチ素子を含む。ブランク・チェック動作の間にセレクタのスイッチ素子がオン状態に制御されて、センス回路の第１入力端子に共通に流れる各ツインセルの第１総和電流が第２入力端子Ｉｎ２の参照信号Ｉrefと比較され、複数のツインセルが書き込み状態かブランク状態かが高速で検出される。【選択図】図７
2009272028.tif 000002
【特許請求の範囲】
【請求項１】
複数のツインセルを含む第１の不揮発性メモリと、セレクタと、センス回路とを少なくとも具備して、
前記第１の不揮発性メモリでは、前記複数のツインセルの各ツインセルを構成する２つの不揮発性メモリセルに相補データを電気的に書き込むことが可能であり、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルへの前記相補データの電気的な書き込みによって、前記各ツインセルを構成する２つの不揮発性メモリセルは低いしきい値電圧と高いしきい値電圧との組み合わせの書き込み状態に設定され、
前記各ツインセルへの前記相補データの電気的な書き込みに先立って、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルに非相補データを電気的に書き込むことによって前記複数のツインセルの前記各ツインセルをブランク状態とすることが可能であり、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルへの前記非相補データの電気的な書き込みによって、前記各ツインセルを構成する２つの不揮発性メモリセルはともに低いしきい値電圧の状態とともに高いしきい値電圧の状態とのいずれかの消去状態に設定され、
前記セレクタは、複数の信号入力端子と、共通制御入力端子と、複数の出力端子と、前記複数の信号入力端子と前記複数の信号出力端子との間に接続された複数のスイッチ素子とを含むものであり、前記セレクタの前記複数の信号入力端子は前記第１の不揮発性メモリの前記複数のツインセルに接続され、前記セレクタの前記複数の信号出力端子は前記センス回路の第１入力端子に共通に接続され、
前記セレクタと前記センス回路とを使用することによって、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルでの前記ブランク状態の存在を検出するブランク・チェック動作が実行されることが可能であり、
前記ブランク・チェック動作の間に前記共通制御入力端子に供給される選択信号に応答して前記セレクタの前記複数のスイッチ素子がオン状態に制御されることによって、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルの電流が前記センス回路の前記第１入力端子に共通に流れるものであり、
前記ブランク・チェック動作の間に、前記センス回路の第２入力端子には参照信号が供給され、前記参照信号は、前記センス回路の前記第１入力端子に共通に流れる前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルの前記電流の第１総和電流が前記相補データによる前記書き込み状態と前記非相補データによる前記消去状態とのいずれかに起因するかを判定可能なレベルに設定されている半導体集積回路。
【請求項２】
各リミット電流が第１所定値に設定された複数の第１カレント・リミット・トランジスタを含む第１カレントリミッタを更に具備して、
前記セレクタの前記複数の信号出力端子と前記センス回路の前記第１入力端子との間には、前記第１カレントリミッタの前記複数の第１カレント・リミット・トランジスタが接続されている請求項１に記載の半導体集積回路。
【請求項３】
各電流が前記第１所定値と略等しい第２所定値に設定された複数の参照トランジスタを含む参照セルを更に具備して、
前記参照セルの前記複数の参照トランジスタの電流の第２総和電流は、前記相補データによる前記書き込み状態の前記第１総和電流の値と前記非相補データによる前記消去状態の前記第１総和電流の値との間の値に設定されている請求項２に記載の半導体集積回路。
【請求項４】
各リミット電流が前記第２所定値に設定された複数の第２カレント・リミット・トランジスタを含む第２カレントリミッタを更に具備して、
前記センス回路の第２入力端子と前記参照セルの前記複数の参照トランジスタとの間には、前記第２カレントリミッタの前記複数の第２カレント・リミット・トランジスタが接続されている請求項３に記載の半導体集積回路。
【請求項５】
少なくとも中央処理ユニットと、第２の不揮発性メモリとを更に具備して、
前記第２の不揮発性メモリでは、１つの不揮発性メモリセルにデータを電気的に書き込むことが可能であり、
前記第２の不揮発性メモリには前記中央処理ユニットのためのプログラムが格納可能とされ、前記第１の不揮発性メモリには前記中央処理ユニットによる前記第２の不揮発性メモリに格納されたプログラムの実行結果のデータが格納可能とされている請求項２に記載の半導体集積回路。
【請求項６】
前記第１の不揮発性メモリと前記第２の不揮発性メモリとにより内蔵不揮発性メモリが形成されており、
内蔵ランダムアクセスメモリと、高速バスと、周辺バスとを更に具備しており、
前記制御ユニットは、前記周辺バスを介して前記内蔵不揮発性メモリの低速アクセスポートに接続されており、
前記中央処理ユニットは、前記高速バスを介して前記内蔵ランダムアクセスメモリと前記内蔵不揮発性メモリの高速アクセスポートとに接続されており、
前記中央処理ユニットは、前記高速バスと前記内蔵不揮発性メモリの前記高速アクセスポートとを介して前記第１の不揮発性メモリに格納されたデータと前記第２の不揮発性メモリに格納されたプログラムを読み出すことが可能であり、
前記中央処理ユニットの指示に応答して前記制御ユニットは、前記低速バスと前記低速アクセスポートとを介して前記第１の不揮発性メモリに格納されるデータと前記第２の不揮発性メモリに格納されるプログラムとを前記内蔵不揮発性メモリに格納するものである請求項５に記載の半導体集積回路。
【請求項７】
前記第１の不揮発性メモリの前記２つの不揮発性メモリセルと前記第２の不揮発性メモリの前記１つの不揮発性メモリセルとの各セルは、電荷蓄積層への電子の注入と前記電荷蓄積層からの電子の放出とによって、不揮発記憶動作を実行するものである請求項５に記載の半導体集積回路。
【請求項８】
前記第１の不揮発性メモリは前記２つの不揮発性メモリセルのいずれか一方の不揮発性メモリセルの第１の不揮発記憶動作と第１のベリファイ読み出し動作とが反復され、
前記第２の不揮発性メモリでは前記１つの不揮発性メモリセルの第２の不揮発記憶動作と第２のベリファイ読み出し動作とが反復される請求項７に記載の半導体集積回路。
【請求項９】
前記第２の不揮発性メモリの前記１つの不揮発性メモリセルには２ビットまたはそれ以上の多値のデータを電気的に書き込むことが可能である請求項７に記載の半導体集積回路。
【請求項１０】
前記内蔵不揮発性メモリの内部の前記第１の不揮発性メモリの配置と前記第２の不揮発性メモリの配置とは、前記半導体集積回路のシステム初期化に使用される初期化制御コードデータに従って設定可能とされている請求項５に記載の半導体集積回路。
【請求項１１】
前記半導体集積回路はマイクロコンピュータである請求項５に記載の半導体集積回路。
【請求項１２】
複数のツインセルを含む第１の不揮発性メモリと、セレクタと、センス回路とを少なくとも具備する半導体集積回路の動作方法であって、
前記第１の不揮発性メモリでは、前記複数のツインセルの各ツインセルを構成する２つの不揮発性メモリセルに相補データを電気的に書き込むことが可能であり、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルへの前記相補データの電気的な書き込みによって、前記各ツインセルを構成する２つの不揮発性メモリセルは低いしきい値電圧と高いしきい値電圧との組み合わせの書き込み状態に設定され、
前記各ツインセルへの前記相補データの電気的な書き込みに先立って、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルに非相補データを電気的に書き込むことによって前記複数のツインセルの前記各ツインセルをブランク状態とすることが可能であり、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルへの前記非相補データの電気的な書き込みによって、前記各ツインセルを構成する２つの不揮発性メモリセルはともに低いしきい値電圧の状態とともに高いしきい値電圧の状態とのいずれかの消去状態に設定され、
前記セレクタは、複数の信号入力端子と、共通制御入力端子と、複数の出力端子と、前記複数の信号入力端子と前記複数の信号出力端子との間に接続された複数のスイッチ素子とを含むものであり、前記セレクタの前記複数の信号入力端子は前記第１の不揮発性メモリの前記複数のツインセルに接続され、前記セレクタの前記複数の信号出力端子は前記センス回路の第１入力端子に共通に接続され、
前記セレクタと前記センス回路とを使用することによって、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルでの前記ブランク状態の存在を検出するブランク・チェック動作が実行されることが可能であり、
前記ブランク・チェック動作の間に前記共通制御入力端子に供給される選択信号に応答して前記セレクタの前記複数のスイッチ素子がオン状態に制御されることによって、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルの電流が前記センス回路の前記第１入力端子に共通に流れるものであり、
前記ブランク・チェック動作の間に、前記センス回路の第２入力端子には参照信号が供給され、前記参照信号は、前記センス回路の前記第１入力端子に共通に流れる前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルの前記電流の第１総和電流が前記相補データによる前記書き込み状態と前記非相補データによる前記消去状態とのいずれかに起因するかを判定可能なレベルに設定されている半導体集積回路の動作方法。
【請求項１３】
前記半導体集積回路は、各リミット電流が第１所定値に設定された複数の第１カレント・リミット・トランジスタを含む第１カレントリミッタを更に具備して、
前記セレクタの前記複数の信号出力端子と前記センス回路の前記第１入力端子との間には、前記第１カレントリミッタの前記複数の第１カレント・リミット・トランジスタが接続されている請求項１２に記載の半導体集積回路の動作方法。
【請求項１４】
前記半導体集積回路は、各電流が前記第１所定値と略等しい第２所定値に設定された複数の参照トランジスタを含む参照セルを更に具備して、
前記参照セルの前記複数の参照トランジスタの電流の第２総和電流は、前記相補データによる前記書き込み状態の前記第１総和電流の値と前記非相補データによる前記消去状態の前記第１総和電流の値との間の値に設定されている請求項１３に記載の半導体集積回路の動作方法。
【請求項１５】
前記半導体集積回路は、各リミット電流が前記第２所定値に設定された複数の第２カレント・リミット・トランジスタを含む第２カレントリミッタを更に具備して、
前記センス回路の第２入力端子と前記参照セルの前記複数の参照トランジスタとの間には、前記第２カレントリミッタの前記複数の第２カレント・リミット・トランジスタが接続されている請求項１４に記載の半導体集積回路の動作方法。
【請求項１６】
前記半導体集積回路は、少なくとも中央処理ユニットと、第２の不揮発性メモリとを更に具備して、
前記第２の不揮発性メモリでは、１つの不揮発性メモリセルにデータを電気的に書き込むことが可能であり、
前記第２の不揮発性メモリには前記中央処理ユニットのためのプログラムが格納可能とされ、前記第１の不揮発性メモリには前記中央処理ユニットによる前記第２の不揮発性メモリに格納されたプログラムの実行結果のデータが格納可能とされている請求項１３に記載の半導体集積回路の動作方法。
【請求項１７】
前記第１の不揮発性メモリと前記第２の不揮発性メモリとにより内蔵不揮発性メモリが形成されており、
前記半導体集積回路は、内蔵ランダムアクセスメモリと、高速バスと、周辺バスとを更に具備しており、
前記制御ユニットは、前記周辺バスを介して前記内蔵不揮発性メモリの低速アクセスポートに接続されており、
前記中央処理ユニットは、前記高速バスを介して前記内蔵ランダムアクセスメモリと前記内蔵不揮発性メモリの高速アクセスポートとに接続されており、
前記中央処理ユニットは、前記高速バスと前記内蔵不揮発性メモリの前記高速アクセスポートとを介して前記第１の不揮発性メモリに格納されたデータと前記第２の不揮発性メモリに格納されたプログラムを読み出すことが可能であり
前記中央処理ユニットの指示に応答して前記制御ユニットは、前記低速バスと前記低速アクセスポートとを介して前記第１の不揮発性メモリに格納されるデータと前記第２の不揮発性メモリに格納されるプログラムとを前記内蔵不揮発性メモリに格納するものである請求項１６に記載の半導体集積回路の動作方法。
【請求項１８】
前記第１の不揮発性メモリの前記２つの不揮発性メモリセルと前記第２の不揮発性メモリの前記１つの不揮発性メモリセルとの各セルは、電荷蓄積層への電子の注入と前記電荷蓄積層からの電子の放出とによって、不揮発記憶動作を実行するものである請求項１３に記載の半導体集積回路の動作方法。
【請求項１９】
前記第１の不揮発性メモリは前記２つの不揮発性メモリセルのいずれか一方の不揮発性メモリセルの第１の不揮発記憶動作と第１のベリファイ読み出し動作とが反復され、
前記第２の不揮発性メモリでは前記１つの不揮発性メモリセルの第２の不揮発記憶動作と第２のベリファイ読み出し動作とが反復される請求項１８に記載の半導体集積回路の動作方法。
【請求項２０】
前記第２の不揮発性メモリの前記１つの不揮発性メモリセルには２ビットまたはそれ以上の多値のデータを電気的に書き込むことが可能である請求項１９に記載の半導体集積回路の動作方法。
【請求項２１】
前記内蔵不揮発性メモリの内部の前記第１の不揮発性メモリの配置と前記第２の不揮発性メモリの配置とは、前記半導体集積回路のシステム初期化に使用される初期化制御コードデータに従って設定可能とされている請求項１６に記載の半導体集積回路の動作方法。
【請求項２２】
前記半導体集積回路はマイクロコンピュータである請求項１６に記載の半導体集積回路の動作方法。
【請求項２３】
少なくとも第１の不揮発性メモリと、前記第１の不揮発性メモリに電気的に接続された制御ユニットとを具備して、
前記第１の不揮発性メモリでは、２つの不揮発性メモリセルに相補データを電気的に書き込むことが可能であり、
前記２つの不揮発性メモリセルに前記相補データを電気的に書き込むに先立って、前記２つの不揮発性メモリセルに非相補データを電気的に書き込むことによって前記２つの不揮発性メモリセルをブランク状態とすることが可能であり、
前記制御ユニットへのチェック要求に応答して、前記制御ユニットはブランク・チェック動作モードに設定されるものであり、
前記ブランク・チェック動作モードに設定された前記制御ユニットは、前記第１の不揮発性メモリでの前記ブランク状態の存在を検出するブランク・チェック動作を制御することが可能であり、
前記制御ユニットへの解除要求に応答して、前記制御ユニットは前記ブランク・チェック動作モードを解除するものであり、
前記制御ユニットの前記ブランク・チェック動作モードへの設定から前記ブランク・チェック動作モードの解除までの間に、前記制御ユニットは前記第１の不揮発性メモリの必要なメモリサイズの前記ブランク・チェック動作を制御するものである半導体集積回路。
【請求項２４】
前記ブランク・チェック動作モードの前記解除の後に前記第１の不揮発性メモリの通常データ読み出しが可能とされるものである請求項２３に記載の半導体集積回路。
【請求項２５】
前記制御ユニットによる前記ブランク・チェック動作の制御に先立って、前記第１の不揮発性メモリでの前記ブランク・チェック動作の対象領域に関するアクセス情報が前記制御ユニットに設定されるものであり、
前記制御ユニットへの前記アクセス情報の設定の後、前記制御ユニットは前記第１の不揮発性メモリの前記対象領域での前記ブランク・チェック動作の前記実行を開始するものである請求項２４に記載の半導体集積回路。
【請求項２６】
少なくとも中央処理ユニットと、第２の不揮発性メモリとを更に具備して、
前記第２の不揮発性メモリでは、１つの不揮発性メモリセルにデータを電気的に書き込むことが可能であり、
前記第２の不揮発性メモリには前記中央処理ユニットのためのプログラムが格納可能とされ、前記第１の不揮発性メモリには前記中央処理ユニットによる前記第２の不揮発性メモリに格納されたプログラムの実行結果のデータが格納可能とされている請求項２３に記載の半導体集積回路。
【請求項２７】
前記第１の不揮発性メモリと前記第２の不揮発性メモリとにより内蔵不揮発性メモリが形成されており、
内蔵ランダムアクセスメモリと、高速バスと、周辺バスとを更に具備しており、
前記制御ユニットは、前記周辺バスを介して前記内蔵不揮発性メモリの低速アクセスポートに接続されており、
前記中央処理ユニットは、前記高速バスを介して前記内蔵ランダムアクセスメモリと前記内蔵不揮発性メモリの高速アクセスポートとに接続されており、
前記中央処理ユニットは、前記高速バスと前記内蔵不揮発性メモリの前記高速アクセスポートとを介して前記第１の不揮発性メモリに格納されたデータと前記第２の不揮発性メモリに格納されたプログラムを読み出すことが可能であり
前記中央処理ユニットの指示に応答して前記制御ユニットは、前記低速バスと前記低速アクセスポートとを介して前記第１の不揮発性メモリに格納されるデータと前記第２の不揮発性メモリに格納されるプログラムとを前記内蔵不揮発性メモリに格納するものである請求項２６に記載の半導体集積回路。
【請求項２８】
前記第１の不揮発性メモリの前記２つの不揮発性メモリセルと前記第２の不揮発性メモリの前記１つの不揮発性メモリセルとの各セルは、電荷蓄積層への電子の注入と前記電荷蓄積層からの電子の放出とによって、不揮発記憶動作を実行するものである請求項２６に記載の半導体集積回路。
【請求項２９】
前記第１の不揮発性メモリは前記２つの不揮発性メモリセルのいずれか一方の不揮発性メモリセルの第１の不揮発記憶動作と第１のベリファイ読み出し動作とが反復され、
前記第２の不揮発性メモリでは前記１つの不揮発性メモリセルの第２の不揮発記憶動作と第２のベリファイ読み出し動作とが反復される請求項２６に記載の半導体集積回路。
【請求項３０】
前記第２の不揮発性メモリの前記１つの不揮発性メモリセルには２ビットまたはそれ以上の多値のデータを電気的に書き込むことが可能である請求項２６に記載の半導体集積回路。
【請求項３１】
前記内蔵不揮発性メモリの内部の前記第１の不揮発性メモリの配置と前記第２の不揮発性メモリの配置とは、前記半導体集積回路のシステム初期化に使用される初期化制御コードデータに従って設定可能とされている請求項２６に記載の半導体集積回路。
【請求項３２】
少なくとも第１の不揮発性メモリと、前記第１の不揮発性メモリに電気的に接続された制御ユニットとを具備して、
前記第１の不揮発性メモリでは、２つの不揮発性メモリセルに相補データを電気的に書き込むことが可能であり、
前記２つの不揮発性メモリセルに前記相補データを電気的に書き込むに先立って、前記２つの不揮発性メモリセルに非相補データを電気的に書き込むことによって前記２つの不揮発性メモリセルをブランク状態とすることが可能であり、
前記制御ユニットは、コントローラと、ブランク・チェック設定レジスタと、ブランク・チェック信号検出回路と、ブランク・アドレス格納レジスタとを含むものであり、
前記コントローラは、前記制御ユニットに供給される前記第１の不揮発性メモリでのブランク・チェック動作の対象領域に関するアクセス情報を前記ブランク・チェック設定レジスタに格納するものであり、
前記制御ユニットへの要求と前記ブランク・チェック設定レジスタに格納された前記アクセス情報とに応答して、前記コントローラは前記第１の不揮発性メモリに供給されるブランク・チェック・アドレスを生成するものであり、
前記第１の不揮発性メモリでは前記ブランク・チェック・アドレスに応答して前記ブランク状態の存在を検出するブランク・チェック動作が実行されて、前記ブランク状態の前記存在の間には前記第１の不揮発性メモリは所定の信号レベルを有するブランク・チェック信号を生成するものであり、
前記第１の不揮発性メモリから生成される前記ブランク・チェック信号は、前記制御ユニットの前記ブランク・チェック信号検出回路に供給されるものであり、
前記ブランク・チェック信号検出回路の出力信号に応答して、前記第１の不揮発性メモリでの前記ブランク・チェック動作の前記対象領域に存在する前記ブランク状態の不揮発性メモリセルのアドレス情報が前記ブランク・アドレス格納レジスタに格納されるものである半導体集積回路。
【請求項３３】
少なくとも中央処理ユニットと、第２の不揮発性メモリとを更に具備して、
前記第２の不揮発性メモリでは、１つの不揮発性メモリセルにデータを電気的に書き込むことが可能であり、
前記第２の不揮発性メモリには前記中央処理ユニットのためのプログラムが格納可能とされており、前記第１の不揮発性メモリには前記中央処理ユニットによる前記第２の不揮発性メモリに格納されたプログラムの実行結果のデータが格納可能とされている請求項３２に記載の半導体集積回路。
【請求項３４】
前記第１の不揮発性メモリと前記第２の不揮発性メモリとにより内蔵不揮発性メモリが形成されており、
内蔵ランダムアクセスメモリと、高速バスと、周辺バスとを更に具備して、
前記制御ユニットは、前記周辺バスを介して前記内蔵不揮発性メモリの低速アクセスポートに接続されており、前記中央処理ユニットは、前記高速バスを介して前記内蔵ランダムアクセスメモリと前記内蔵不揮発性メモリの高速アクセスポートとに接続されており、
前記中央処理ユニットは、前記高速バスと前記内蔵不揮発性メモリの前記高速アクセスポートとを介して前記第１の不揮発性メモリに格納されたデータと前記第２の不揮発性メモリに格納されたプログラムを読み出すことが可能であり、
前記中央処理ユニットの指示に応答して前記制御ユニットは、前記低速バスと前記低速アクセスポートとを介して前記第１の不揮発性メモリに格納されるデータと前記第２の不揮発性メモリに格納されるプログラムとを前記内蔵不揮発性メモリに格納するものである請求項３３に記載の半導体集積回路。
【請求項３５】
前記第１の不揮発性メモリの前記２つの不揮発性メモリセルと前記第２の不揮発性メモリの前記１つの不揮発性メモリセルとの各セルは、電荷蓄積層への電子の注入と前記電荷蓄積層からの電子の放出とによって、不揮発記憶動作を実行するものである請求項３３に記載の半導体集積回路。
【請求項３６】
前記第１の不揮発性メモリは前記２つの不揮発性メモリセルのいずれか一方の不揮発性メモリセルの第１の不揮発記憶動作と第１のベリファイ読み出し動作とが反復され、
前記第２の不揮発性メモリでは前記１つの不揮発性メモリセルの第２の不揮発記憶動作と第２のベリファイ読み出し動作とが反復される請求項３３に記載の半導体集積回路。
【請求項３７】
前記第２の不揮発性メモリの前記１つの不揮発性メモリセルには２ビットまたはそれ以上の多値のデータを電気的に書き込むことが可能である請求項３３に記載の半導体集積回路。
【請求項３８】
前記内蔵不揮発性メモリの内部の前記第１の不揮発性メモリの配置と前記第２の不揮発性メモリの配置とは、前記半導体集積回路のシステム初期化に使用される初期化制御コードデータに従って設定可能とされている請求項３３に記載の半導体集積回路。
【請求項３９】
少なくとも第１の不揮発性メモリと、前記第１の不揮発性メモリに電気的に接続された制御ユニットとを具備する半導体集積回路の動作方法であって、
前記第１の不揮発性メモリでは、２つの不揮発性メモリセルに相補データを電気的に書き込むことが可能であり、
前記２つの不揮発性メモリセルに前記相補データを電気的に書き込むに先立って、前記２つの不揮発性メモリセルに非相補データを電気的に書き込むことによって前記２つの不揮発性メモリセルをブランク状態とすることが可能であり、
前記制御ユニットは、コントローラと、ブランク・チェック設定レジスタと、ブランク・チェック信号検出回路と、ブランク・アドレス格納レジスタとを含むものであり、
前記コントローラは、前記制御ユニットに供給される前記第１の不揮発性メモリでの前記ブランク・チェック動作の対象領域に関するアクセス情報を前記ブランク・チェック設定レジスタに格納するものであり、
前記制御ユニットへの要求と前記ブランク・チェック設定レジスタに格納された前記アクセス情報とに応答して、前記コントローラは前記第１の不揮発性メモリに供給されるブランク・チェック・アドレスを生成するものであり、
前記第１の不揮発性メモリでは前記ブランク・チェック・アドレスに応答して前記ブランク状態の存在を検出するブランク・チェック動作が実行されて、前記ブランク状態の前記存在の間には前記第１の不揮発性メモリは所定の信号レベルを有するブランク・チェック信号を生成するものであり、
前記第１の不揮発性メモリから生成される前記ブランク・チェック信号は、前記制御ユニットの前記ブランク・チェック信号検出回路に供給されるものであり、
前記ブランク・チェック信号検出回路の出力信号に応答して、前記第１の不揮発性メモリでの前記ブランク・チェック動作の前記対象領域に存在する前記ブランク状態の不揮発性メモリセルのアドレス情報が前記ブランク・アドレス格納レジスタに格納されるものである半導体集積回路の動作方法。
【請求項４０】
前記半導体集積回路は、少なくとも中央処理ユニットと、第２の不揮発性メモリとを更に具備して、
前記第２の不揮発性メモリでは、１つの不揮発性メモリセルにデータを電気的に書き込むことが可能であり、
前記第２の不揮発性メモリには前記中央処理ユニットのためのプログラムが格納可能とされており、前記第１の不揮発性メモリには前記中央処理ユニットによる前記第２の不揮発性メモリに格納されたプログラムの実行結果のデータが格納可能とされている請求項３９に記載の半導体集積回路の動作方法。
【請求項４１】
前記第１の不揮発性メモリと前記第２の不揮発性メモリとにより内蔵不揮発性メモリが形成されており、
前記半導体集積回路は、内蔵ランダムアクセスメモリと、高速バスと、周辺バスとを更に具備して、
前記制御ユニットは、前記周辺バスを介して前記内蔵不揮発性メモリの低速アクセスポートに接続されており、前記中央処理ユニットは、前記高速バスを介して前記内蔵ランダムアクセスメモリと前記内蔵不揮発性メモリの高速アクセスポートとに接続されており、
前記中央処理ユニットは、前記高速バスと前記内蔵不揮発性メモリの前記高速アクセスポートとを介して前記第１の不揮発性メモリに格納されたデータと前記第２の不揮発性メモリに格納されたプログラムを読み出すことが可能であり、
前記中央処理ユニットの指示に応答して前記制御ユニットは、前記低速バスと前記低速アクセスポートとを介して前記第１の不揮発性メモリに格納されるデータと前記第２の不揮発性メモリに格納されるプログラムとを前記内蔵不揮発性メモリに格納するものである請求項４０に記載の半導体集積回路の動作方法。
【請求項４２】
前記第１の不揮発性メモリの前記２つの不揮発性メモリセルと前記第２の不揮発性メモリの前記１つの不揮発性メモリセルとの各セルは、電荷蓄積層への電子の注入と前記電荷蓄積層からの電子の放出とによって、不揮発記憶動作を実行するものである請求項４０に記載の半導体集積回路の動作方法。
【請求項４３】
前記第１の不揮発性メモリは前記２つの不揮発性メモリセルのいずれか一方の不揮発性メモリセルの第１の不揮発記憶動作と第１のベリファイ読み出し動作とが反復され、
前記第２の不揮発性メモリでは前記１つの不揮発性メモリセルの第２の不揮発記憶動作と第２のベリファイ読み出し動作とが反復される請求項４０に記載の半導体集積回路の動作方法。
【請求項４４】
前記第２の不揮発性メモリの前記１つの不揮発性メモリセルには２ビットまたはそれ以上の多値のデータを電気的に書き込むことが可能である請求項４０に記載の半導体集積回路の動作方法。
【請求項４５】
前記内蔵不揮発性メモリの内部の前記第１の不揮発性メモリの配置と前記第２の不揮発性メモリの配置とは、前記半導体集積回路のシステム初期化に使用される初期化制御コードデータに従って設定可能とされている請求項４０に記載の半導体集積回路の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路およびその動作方法に関するもので、特に２つのメモリセルに相補的なデータを書き込む半導体不揮発性メモリを内蔵する半導体集積回路において、必要なブランク・チェックの速度を向上するのに有効な技術、及び必要なブランク・チェック・サイズが増大してもＣＰＵからのコマンドの発行回数を増大させなくするのに有効な技術に関する。
【背景技術】
【０００２】
下記特許文献１には、不揮発性メモリの２つのメモリセルのトランジスタの２つの電流が切り替え手段を介して差動検出器に供給されることによって２つの電流の大小関係を差動検出器で判定して、判定結果に応じた２状態を出力することが記載されている。また、２つのメモリセルの一方のメモリセルのトランジスタの電流が切り替え手段を介してセンスアンプの一方の入力端子に供給され、リファレンス電流発生器からのリファレンス電流がセンスアンプの他方の入力端子に供給され、センスアンプによって読み出し情報の判別が行われる。
【０００３】
下記特許文献２には、データ書き込み時に半導体不揮発性メモリの２つのメモリセルに相補的なデータを書き込み、データ読み出し時に２つのメモリセルから読み出されたビット線対の電位差を差動増幅型センスアンプで増幅して、読み出しデータを判定することが記載されている。この半導体不揮発性メモリにおいて、書き込み直後のベリファイは、データ読み出し時に使用する差動増幅型センスアンプを使用することで行われる。差動増幅型センスアンプによるベリファイ時には、書き込み状態(“０”状態)の方のメモリセルが接続された差動増幅型センスアンプのセンス線に接続されたプルアップ・トランジスタが書き込みデータを保持した書き込みラッチ回路によってオフ状態とされる。従って、書き込み状態のメモリセルのトランジスタと非書き込み状態のメモリセルのトランジスタのコンダクタンスｇｍの違いによって、差動増幅型センスアンプのセンス線対の電位差が縮小するように非書き込み状態のメモリセルが接続された方のセンス線の電位がプルアップされる。その結果、差動増幅型センスによるベリファイ比較の判定基準が厳しくなり、書き込み量が不十分なメモリセルへの再書き込みが行われるようになる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−８７４４１号公報
【特許文献２】特開平１−２６３９９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明者等は本発明に先立って、マイクロコンピュータに搭載されて、マイクロコンピュータの中央処理ユニット(ＣＰＵ)のための種々のソフトウェア・プログラムを格納する一方、ＣＰＵによるプログラム実行結果の種々のデータを格納する不揮発性メモリの開発に従事した。プログラム実行結果のデータを格納する不揮発性メモリであるデータフラッシュでのデータ書き換え回数は、プログラムを格納する不揮発性メモリであるプログラムフラッシュでのデータ書き換え回数よりも極めて大きいものである。従って、この不揮発性メモリの開発では、書き換え回数が大きなデータフラッシュの不揮発性フラッシュメモリセルの疲弊によるデータリテンション特性の劣化に起因したデータ保持特性の劣化を軽減することが必要となった。本発明者等は、上記特許文献２に記載のようにデータ書き込み時に２つの不揮発性メモリセル(ツインセル)に相補的なデータを書き込む一方、データ読み出し時には２つの不揮発性メモリセルの書き込み相補データを差動増幅型センスアンプによって読み出す方式でデータフラッシュを構築すると言う着想に到達した。
【０００６】
一般的には、不揮発性フラッシュメモリセルの疲弊により、メモリセルに書き込まれたデータであるメモリセルのトランジスタのしきい値電圧は時間経過とともに徐々に変動する。時間経過によるメモリセルのトランジスタのしきい値電圧の変動がデータ読み出しのための読み出し基準値を超えると、データ読み出し時の読み出しデータは誤ったデータとなってしまう。
【０００７】
しかし上述の方式によれば、不揮発性メモリセルが疲弊してもデータ書き込み時に２つの不揮発性メモリセルに書き込まれた相補データである２つのメモリセル(ツインセル)のトランジスタのしきい値電圧の差を維持することができる。従って、疲弊によって２つのメモリセル(ツインセル)のトランジスタのしきい値電圧の差が若干縮小しても、差動増幅型センスアンプは若干縮小したしきい値電圧の差を正確に増幅することができる。その結果、書き換え回数が増大してデータフラッシュのメモリセルが多少疲弊しても、データ読み出し時に正確な読み出しデータが出力されることができる。
【０００８】
一方、データフラッシュへのデータ書き込み時に２つの不揮発性メモリセル(ツインセル)に書き込まれた相補データが正確に書き込まれたか否かの確認を行う書き込みベリファイ動作が必要となる。例えば、２つの不揮発性メモリセル(ツインセル)に相補データ“１”を書き込む場合には、ツインセルの一方のメモリセル(ポジセル)と他方のメモリセル(ネガセル)とには、例えば低いしきい値電圧に対応する書き込みデータと高いしきい値電圧に対応する書き込みデータとをそれぞれ書き込むことになる。相補データ“１”の書き込みベリファイのためには、データ“１”の書き込みデータに対応する高いしきい値電圧が他方のメモリセル(ネガセル)に書き込まれているかをベリファイする必要が有る。同様に相補データ“０”の書き込みベリファイのためには、データ“０”の書き込みデータに対応する高いしきい値電圧が一方のメモリセル(ポジセル)に書き込まれているかをベリファイする必要が有る。この両者のベリファイのためには、高いしきい値電圧に対応する電圧レベルを有する書き込みベリファイ参照電圧が使用される。本発明に先立って開発された不揮発性メモリのデータフラッシュでは、本発明者等は、上記特許文献１に記載のように、一方のメモリセルまたは他方のメモリセルからの電流をベリファイ・センスアンプの一方の入力端子に供給するとともに、ベリファイ・センスアンプの他方の入力端子に書き込みベリファイ参照電流に供給すると言う着想に到達した。
【０００９】
また、このデータフラッシュでは、データ書き込みに先立って２つの不揮発性メモリセル(ツインセル)の両者に、例えば低いしきい値電圧に対応する消去状態のデータ(消去データ)を書き込むイニシャライズ消去動作(ブランク消去動作)も、必要となる。このイニシャライズ消去動作にも、２つの不揮発性メモリセル(ツインセル)の両者に低いしきい値電圧の消去データが正確に書き込まれたか否かを確認する消去ベリファイ動作が必要となる。この消去ベリファイのためには、低いしきい値電圧に対応する電圧レベルを有する消去ベリファイ参照電圧が使用される。一方のメモリセルまたは他方のメモリセルからの電流をベリファイ・センスアンプの一方の入力端子に供給するとともに、ベリファイ・センスアンプの他方の入力端子に消去ベリファイ参照電流を供給する。
【００１０】
更に、この方式のデータフラッシュでは、任意のアドレスのメモリ領域でデータ書き込みを実行するのに先立ってこのメモリ領域のどこまでが書き込み済みの使用状態であるかと、どこからが未書き込みのイニシャライズ消去状態なのかのブランク・チェック機能が必要である。ブランク・チェックでは、消去ベリファイと同様に、これから相補データが書き込まれる２つの不揮発性メモリセル(ツインセル)がともにデータ“１”の書き込みデータに対応する低いしきい値電圧であることがチェックされなければならない。
【００１１】
しかし、このようなブランク・チェックでは、これから相補データが書き込まれる２つの不揮発性メモリセル(ツインセル)がともに消去状態のデータに対応する低いしきい値電圧であることがチェックされなければならない。そのためには、１個のツインセルを構成する２つの不揮発性メモリセルの一方と他方とを、順次に低いしきい値電圧であるかをチェックしなければならない。開発されたマイクロコンピュータに搭載される不揮発性メモリとしてのフラッシュメモリでは、８バイトの書き込みサイズのデータが書き込まれるので、ブランク・チェックでは８バイトの書き込みサイズのデータを格納する６４個のツインセルが順次に低いしきい値電圧であるかチェックするものとなる。従って、６４個の２倍の１２８個の不揮発性メモリセルを順次にチェックとなければならない。また、フラッシュメモリ内部でのブランク・チェックの対象領域が８バイト、３２バイト、１０２４バイト、２０４８イトと大きくなると、シーケンシャルに実行される多数の不揮発性メモリセルのチェック時間が膨大となると言う問題が明らかとされた。
【００１２】
また、本発明に先立って本発明者等によって開発されたＣＰＵと不揮発性メモリとを搭載するマイクロコンピュータでは、ブランク・チェック機能を有するフラッシュシーケンサを搭載することが検討された。
【００１３】
図９は、本発明に先立って本発明者等によって開発されたＣＰＵと不揮発性メモリとを搭載するマイクロコンピュータにおいてブランク・チェックの機能が実行される様子を示す図である。
【００１４】
図９の上はＣＰＵの動作を示し、図９の下はフラッシュシーケンサの動作とフラッシュメモリの内部動作とを示すものである。図９において、まず、ＣＰＵは期間１０にてブランク・チェックを行うためブランク・チェック・コマンドを発行して、期間１１からＣＰＵはウェイトの状態に移行する。期間１０でＣＰＵから発行されたブランク・チェック・コマンドに応答して、フラッシュシーケンサは期間１２でフラッシュメモリの内部でのブランク・チェック動作を開始する。期間１２ではフラッシュメモリの内部でブランク・チェックされる不揮発性メモリアレーのメモリ領域の多数のツインセルにブランク・チェックのための電圧の供給が開始され、その後、多数のツインセルの電圧／電流が、安定化される。続けて、期間１３でフラッシュメモリの内部の８バイト分のチェック・サイズのツインセルからのデータが、例えば８バイトの容量の内部レジスタに読み出される。その後、ブランク・チェックされた８バイト分のチェック・サイズのツインセルは、何時でも通常データ読み出しが可能となるように、期間１４で読み出し状態に移行される。すなわち、期間１４においてブランク・チェックされた８バイト分のチェック・サイズのツインセルの電圧／電流は、読み出し状態で安定化される。続けて、期間１５では、８バイトの容量の内部レジスタに読み出されたブランク・チェック・データから、ブランク・チェック・ステータス情報が生成される。ここで、８バイト分のチェック・サイズのツインセルの全てがブランクであるならば、８バイト分のメモリ領域はイニシャライズ消去状態である。しかし、８バイト分のチェック・サイズの１つのツインセルでもブランクでなければ、８バイト分のメモリ領域は書き込み済みの使用状態である。期間１５での最初のブランク・チェック・ステータス情報は、期間１６でＣＰＵによって確認されることができる。
【００１５】
次に、期間１７１で、ＣＰＵは次のメモリ領域のブランク・チェックを行うため次のブランク・チェック・コマンドを発行して、期間１７２からＣＰＵはウェイト状態に移行する。期間１７１でＣＰＵから発行されたブランク・チェック・コマンドに応答して、フラッシュシーケンサは期間１７３でフラッシュメモリの内部でのブランク・チェック動作を開始する。すなわち、期間１７３ではフラッシュメモリの内部ではブランク・チェックされる次のメモリ領域の多数のツインセルにブランク・チェックのための電圧の供給が開始され、その後、多数のツインセルの電圧／電流が、安定化される。続けて、期間１７４でフラッシュメモリの内部の８バイト分のチェック・サイズのツインセルからのデータが、例えば８バイトの容量の内部レジスタに読み出される。その後、ブランク・チェックされた８バイト分のチェック・サイズのツインセルは、何時でも通常データ読み出しが可能となるように、期間１７５で読み出し状態に移行される。すなわち、期間１７５において、ブランク・チェックされた８バイト分のチェック・サイズのツインセルの電圧／電流は、読み出し状態で安定化される。続けて、期間１７６では、８バイトの容量の内部レジスタに読み出されたブランク・チェック・データから、ブランク・チェック・ステータス情報が生成される。このような動作を繰り返すことによって、必要なチェック・サイズのメモリ領域に含まれるツインセルのブランク・チェックを実行することが可能となる。
【００１６】
しかしながら、この方式によるツインセルのブランク・チェックの方式では、必要なブランク・チェック・サイズが増大すると、ＣＰＵからのブランク・チェック・コマンドの発行回数が増大すると言う問題が本発明者等の検討により明らかとされた。
【００１７】
また、この方式によるツインセルのブランク・チェックの方式では、例えば８バイトと言う所定のチェック・サイズのブランク・チェックに必要な動作期間が長くなると言う問題も本発明者等の検討により明らかとされた。これは、ツインセルからのブランク・チェック・データが内部レジスタに読み出された後、ブランク・チェックが完了したツインセルが何時でも通常データ読み出しが可能となるように、ブランク・チェックが完了したツインセルを読み出し状態に移行することに起因している。
【００１８】
本発明は、以上のような本発明に先立った本発明者等の検討の結果、なされたものである。
【００１９】
従って、本発明の第１の目的とするところは、２つのメモリセルに相補的なデータを書き込む半導体不揮発性メモリを内蔵する半導体集積回路において、ブランク・チェックに必要な動作期間の短縮にある。
【００２０】
更にまた、本発明の第２の目的とするところは、２つのメモリセルに相補的なデータを書き込む半導体不揮発性メモリを内蔵する半導体集積回路において、必要なブランク・チェック・サイズが増大しても、ＣＰＵからのコマンドの発行回数が増大することがないようにすることにある。
【００２１】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２２】
本願において開示される発明のうちの代表的なものについて簡単に説明すれば下記のとおりである。
【００２３】
すなわち、第１の目的を達成するための発明（以下、第１の発明と称する）に係る代表的な半導体集積回路は、複数のツインセルを含む第１の不揮発性メモリ(ＤＦＬ；２１)と、セレクタ(ＳＥＬ＿ＢＣ)と、センス回路(ＢＣ＿ＳＡ)と少なくとも具備する(図７参照)。
【００２４】
前記第１の不揮発性メモリでは、前記複数のツインセルの各ツインセルを構成する２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)に相補データを電気的に書き込まれる。それによって、２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)は低いしきい値電圧と高いしきい値電圧との組み合わせの書き込み状態に設定される。
【００２５】
前記各ツインセルへの前記相補データの電気的な書き込みに先立って、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルに非相補データを電気的に書き込むことによって前記複数のツインセルの前記各ツインセルをブランク状態とされる。２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)はともに低いしきい値電圧の状態とともに高いしきい値電圧の状態とのいずれかの消去状態に設定される。
【００２６】
前記セレクタ(ＳＥＬ＿ＢＣ)は、複数のスイッチ素子(ＱSW1…ＱSW16)を含む。前記セレクタの複数の信号入力端子は前記複数のツインセルに接続され、前記セレクタの複数の信号出力端子は前記センス回路(ＢＣ＿ＳＡ)の第１入力端子(Ｉｎ１)に共通に接続される。
【００２７】
ブランク・チェック動作の間に前記セレクタの前記複数のスイッチ素子がオン状態に制御され、前記複数のツインセルの前記各ツインセルの電流が前記センス回路の前記第１入力端子に共通に流れる。
【００２８】
前記ブランク・チェック動作の間に、前記センス回路の第２入力端子(Ｉｎ２)には参照信号(Ｉref、Ｖref)が供給される。前記参照信号は、前記センス回路の前記第１入力端子に共通に流れる前記各ツインセルの前記電流の第１総和電流が前記相補データによる前記書き込み状態と前記非相補データによる前記消去状態とのいずれかに起因するかを判定可能なレベルに設定される(図７参照)。
【００２９】
第２の目的を達成するための発明（以下、第２の発明と称する）に係る代表的な半導体集積回路は、少なくとも第１の不揮発性メモリ(ＤＦＬ)と、前記第１の不揮発性メモリに電気的に接続された制御ユニット(７)とを具備する(図１参照)。
【００３０】
前記第１の不揮発性メモリでは、２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)に相補データを電気的に書き込むことが可能である。前記２つの不揮発性メモリセルに前記相補データを電気的に書き込むに先立って、前記２つの不揮発性メモリセルに非相補データを電気的に書き込み前記２つの不揮発性メモリセルをブランク状態とするものである。
【００３１】
前記制御ユニットへのチェック要求(図１０の２０)に応答して、前記制御ユニットはブランク・チェック動作モードに設定される(図１０の期間２２)。前記ブランク・チェック動作モードに設定された前記制御ユニットは、前記第１の不揮発性メモリでの前記ブランク状態の存在を検出するブランク・チェック動作を制御する(図１０の期間２４)。
【００３２】
前記制御ユニットへの解除要求(図１０の２８２)に応答して、前記制御ユニットは前記ブランク・チェック動作モードを解除する(図１０の期間２９)。前記制御ユニットの前記ブランク・チェック動作モードへの設定から前記ブランク・チェック動作モードの解除までの間に、前記制御ユニットは前記第１の不揮発性メモリの必要なメモリサイズの前記ブランク・チェック動作を制御する(図１、図１０参照)。
【発明の効果】
【００３３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００３４】
すなわち、第１の発明によれば、ブランク・チェック時間を短縮することができる。
【００３５】
また、第２の発明によれば、必要なブランク・チェック・サイズが増大しても、ＣＰＵからのコマンドの発行回数が増大することがないようにすることができる。
【図面の簡単な説明】
【００３６】
【図１】図１は、本発明の実施の形態によるマイクロコンピュータの構成を示す図である。
【図２】図２は、図１に示したマイクロコンピュータに内蔵されたフラッシュメモリモジュールに含まれたデータフラッシュの構成を示す図である。
【図３】図３は、図１に示したマイクロコンピュータに内蔵されたフラッシュメモリモジュールに含まれたプログラムフラッシュの構成を示す図である。
【図４】図４は、図２のデータフラッシュに含まれて相補データの１ビットが書き込まれる２つの不揮発性メモリセルと図３のプログラムフラッシュに含まれて単一データの１ビットが書き込まれる不揮発性メモリセルの構成と動作とを示す図である。
【図５】図５は、図２のデータフラッシュに含まれて相補データの１ビットが書き込まれる２つの不揮発性メモリセルから構成された１つのツインセルの３つの状態を説明する図である。
【図６】図６は、図３のプログラムフラッシュに含まれて単一データの１ビットが書き込まれる不揮発性メモリセルの２つの状態を説明する図である。
【図７】図７は、図２に示すデータフラッシュでのブランク・チェックでは、１バイト分の相補データを格納する８個のツインセルのしきい値電圧の判定を並列に実行するためのブランク・チェック回路の構成を示す図である。
【図８】図８は、図２に示すデータフラッシュでのブランク・チェックでは、１バイト分の相補データを格納する８個のツインセルのしきい値電圧の判定を並列に実行するためのブランク・チェック回路の他の構成を示す図である。
【図９】図９は、図７もしくは図８の８個のツインセルのしきい値電圧の並列判定による高速ブランク・チェックが実行されるデータフラッシュを含むフラッシュメモリモジュールを搭載した図１に示すマイクロコンピュータにおいてブランク・チェックの機能が実行される様子を示す図である。
【図１０】図１０も、図９と同様に８個のツインセルのしきい値電圧の並列判定による高速ブランク・チェックが実行されるデータフラッシュを含むフラッシュメモリモジュールを搭載した図１に示すマイクロコンピュータにおいてコマンドの発生回数の増大の無い改良型のブランク・チェックの機能が実行される様子を示す図である。
【図１１】図１１は、図１に示したマイクロコンピュータに内蔵されたフラッシュメモリモジュールに含まれたデータフラッシュに格納される種々のタイプのデータの構成を示す図である。
【図１２】図１２は、図１１に示した種々のタイプのデータのブランク・チェックを実行するための処理フローを示す図である。
【図１３】図１３は、図１２に示した処理フローによるブランク・チェックを実行するのに好適なフラッシュシーケンサの構成を示す図である。
【図１４】図１４は、図１３に示すフラッシュシーケンサの動作を説明するためのフラッシュシーケンサの各部の波形を示す図である。
【図１５】図１５は、図１のＭＣＵのフラッシュメモリモジュールの内部でデータフラッシュの配置とプログラムフラッシュの配置を任意に設定する様子を説明する図である。
【図１６】図１６は、図２のデータフラッシュのベリファイ読み出しの間にベリファイ参照レベルが参照セルから生成されてデータフラッシュのセンスアンプに供給される様子を示す図である。
【図１７】図１７は、図３のプログラムフラッシュのベリファイ読み出しの間にベリファイ参照レベルが参照セルから生成されてプログラムフラッシュのセンスアンプに供給される様子を示す図である。
【図１８】図１８は、図１に示したマイクロコンピュータに内蔵されたフラッシュメモリモジュールに含まれたデータフラッシュに格納される種々のタイプのデータの他の構成を示す図である。
【図１９】図１９は、図１８に示した中間部分のブランクの状態のデータのブランク・チェックを実行するための処理フローを示す図である。
【図２０】図２０は、図１９に示した処理フローによるブランク・チェックを実行するのに好適なフラッシュシーケンサの構成を示す図である。
【図２１】図２１は、図１１に示した複数のタイプのデータのブランク・チェックを１回のブランク・チェック処理で実行するのに好適なフラッシュシーケンサ７の構成を示す図である。
【発明を実施するための形態】
【００３７】
《代表的な実施の形態》
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００３８】
１．第１の発明
〔１〕本発明の代表的な実施の形態による半導体集積回路は、複数のツインセルを含む第１の不揮発性メモリ(ＤＦＬ；２１)と、セレクタ(ＳＥＬ＿ＢＣ)と、センス回路(ＢＣ＿ＳＡ)とを少なくとも具備する(図７参照)。
【００３９】
前記第１の不揮発性メモリでは、前記複数のツインセルの各ツインセルを構成する２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)に相補データを電気的に書き込むことが可能である。前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルへの前記相補データの電気的な書き込みによって、前記各ツインセルを構成する２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)は低いしきい値電圧と高いしきい値電圧との組み合わせの書き込み状態に設定される。
【００４０】
前記各ツインセルへの前記相補データの電気的な書き込みに先立って、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルに非相補データを電気的に書き込むことによって前記複数のツインセルの前記各ツインセルをブランク状態とすることが可能である。前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルへの前記非相補データの電気的な書き込みによって、前記各ツインセルを構成する２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)はともに低いしきい値電圧の状態とともに高いしきい値電圧の状態とのいずれかの消去状態に設定される。
【００４１】
前記セレクタ(ＳＥＬ＿ＢＣ)は、複数の信号入力端子と、共通制御入力端子(ＢＣ＿ＳＬ)と、複数の出力端子と、前記複数の信号入力端子と前記複数の信号出力端子との間に接続された複数のスイッチ素子(ＱSW1…ＱSW16)とを含むものである。前記セレクタの前記複数の信号入力端子は前記第１の不揮発性メモリ(ＤＦＬ；２１)の前記複数のツインセルに接続され、前記セレクタの前記複数の信号出力端子は前記センス回路(ＢＣ＿ＳＡ)の第１入力端子(Ｉｎ１)に共通に接続される。
【００４２】
前記セレクタと前記センス回路とを使用することによって、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルでの前記ブランク状態の存在を検出するブランク・チェック動作が実行されることが可能である。
【００４３】
前記ブランク・チェック動作の間に前記共通制御入力端子に供給される選択信号に応答して前記セレクタの前記複数のスイッチ素子がオン状態に制御されることによって、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルの電流が前記センス回路の前記第１入力端子に共通に流れるものである。
【００４４】
前記ブランク・チェック動作の間に、前記センス回路の第２入力端子(Ｉｎ２)には参照信号(Ｉref、Ｖref)が供給される。前記参照信号(Ｉref、Ｖref)は、前記センス回路の前記第１入力端子に共通に流れる前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルの前記電流の第１総和電流が前記相補データによる前記書き込み状態と前記非相補データによる前記消去状態とのいずれかに起因するかを判定可能なレベルに設定されている(図７参照)。
【００４５】
前記実施の形態によれば、センス回路の第１入力端子に共通に流れる第１の不揮発性メモリの複数のツインセルの各ツインセルの電流の第１総和電流から相補データによる書き込み状態と非相補データによる消去状態とのいずれかを判定するので、ブランク・チェック時間を短縮することができる。
【００４６】
好適な実施の形態による半導体集積回路は、各リミット電流が第１所定値に設定された複数の第１カレント・リミット・トランジスタ(ＱCL11…ＱCL116)を含む第１カレントリミッタ(１st＿ＣＬ)を更に具備する。前記セレクタの前記複数の信号出力端子と前記センス回路の前記第１入力端子との間には、前記第１カレントリミッタの前記複数の第１カレント・リミット・トランジスタが接続されている。
【００４７】
前記好適な実施の形態によれば、第１の不揮発性メモリの複数のツインセルの各ツインセルの特性がバラツキを持ったとしても、センス回路の第１入力端子に共通に流れる第１の不揮発性メモリの複数のツインセルの各ツインセルの電流の第１総和電流を正確に設定することができる。
【００４８】
より好適な実施の形態による半導体集積回路は、各電流が前記第１所定値と略等しい第２所定値に設定された複数の参照トランジスタ(ＱREF1…ＱREF116、ＱCL21…ＱCL212)を含む参照セル(Ｒｅｆ＿Ｃｅｌｌ)を更に具備する。前記参照セルの前記複数の参照トランジスタの電流の第２総和電流は、前記相補データによる前記書き込み状態の前記第１総和電流の値と前記非相補データによる前記消去状態の前記第１総和電流の値との間の値に設定されている。
【００４９】
他のより好適な実施の形態による半導体集積回路は、各リミット電流が前記第２所定値に設定された複数の第２カレント・リミット・トランジスタ(ＱCL21…ＱCL212)を含む第２カレントリミッタ(２nd＿ＣＬ)を更に具備する。前記センス回路の第２入力端子(Ｉｎ２)と前記参照セル(Ｒｅｆ＿Ｃｅｌｌ)の前記複数の参照トランジスタ(ＱREF1…ＱREF116)との間には、前記第２カレントリミッタの前記複数の第２カレント・リミット・トランジスタ(ＱCL21…ＱCL212)が接続されている(図７参照)。
【００５０】
良好な実施の形態による半導体集積回路は、少なくとも中央処理ユニット(２)と、第２の不揮発性メモリ(ＰＦＬ)とを更に具備する(図１、図３参照)。
【００５１】
前記第２の不揮発性メモリでは、１つの不揮発性メモリセル(ＭＣ０)にデータを電気的に書き込むことが可能である(図３参照)。
【００５２】
前記第２の不揮発性メモリ(ＰＦＬ)には、前記中央処理ユニットのためのプログラムが格納可能とされている。
【００５３】
前記第１の不揮発性メモリ(ＤＦＬ)には前記中央処理ユニットによる前記第２の不揮発性メモリに格納されたプログラムの実行結果のデータが格納可能とされている。
【００５４】
より良好な実施の形態による半導体集積回路では、前記第１の不揮発性メモリ(ＤＦＬ)と前記第２の不揮発性メモリ(ＰＦＬ)とにより内蔵不揮発性メモリ(６)が形成されている。
【００５５】
前記半導体集積回路は、内蔵ランダムアクセスメモリ(５)と、高速バス(ＨＢＵＳ)と、周辺バス(ＰＢＵＳ)とを更に具備する。
【００５６】
前記制御ユニット(７)は、前記周辺バスを介して前記内蔵不揮発性メモリ(６)の低速アクセスポート(ＬＡＣＳＰ)に接続されている。
【００５７】
前記中央処理ユニットは、前記高速バスを介して前記内蔵ランダムアクセスメモリと前記内蔵不揮発性メモリの高速アクセスポート(ＨＡＣＳＰ)とに接続されている。
【００５８】
前記中央処理ユニットは、前記高速バスと前記内蔵不揮発性メモリの前記高速アクセスポートとを介して前記第１の不揮発性メモリに格納されたデータと前記第２の不揮発性メモリに格納されたプログラムを読み出すことが可能である。
【００５９】
前記中央処理ユニットの指示に応答して前記制御ユニット(７)は、前記低速バスと前記低速アクセスポートとを介して前記第１の不揮発性メモリに格納されるデータと前記第２の不揮発性メモリに格納されるプログラムとを前記内蔵不揮発性メモリに格納するものである。
【００６０】
具体的な一つの実施の形態では、前記第１の不揮発性メモリ(ＤＦＬ)の前記２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)と前記第２の不揮発性メモリ(ＰＦＬ)の前記１つの不揮発性メモリセル(ＭＣ０)との各セルは、電荷蓄積層(ＳｉＮ)への電子の注入と前記電荷蓄積層からの電子の放出とによって、不揮発記憶動作を実行するものである。
【００６１】
他の具体的な一つの実施の形態では、前記第１の不揮発性メモリ(ＤＦＬ)は前記２つの不揮発性メモリセルのいずれか一方の不揮発性メモリセルの第１の不揮発記憶動作と第１のベリファイ読み出し動作とが反復される。前記第２の不揮発性メモリ(ＰＦＬ)では前記１つの不揮発性メモリセルの第２の不揮発記憶動作と第２のベリファイ読み出し動作とが反復される。
【００６２】
より具体的な一つの実施の形態では、前記第２の不揮発性メモリ(ＰＦＬ)の前記１つの不揮発性メモリセルには２ビットまたはそれ以上の多値のデータを電気的に書き込むことが可能である。
【００６３】
他の具体的な一つの実施の形態では、前記内蔵不揮発性メモリ(６)の内部の前記第１の不揮発性メモリ(ＤＦＬ)の配置と前記第２の不揮発性メモリ(ＰＦＬ)の配置とは、前記半導体集積回路のシステム初期化に使用される初期化制御コードデータ(ＩＮＴ＿Ｄａｔａ)に従って設定可能とされている(図１５参照)。
【００６４】
最も具体的な一つの実施の形態では、前記半導体集積回路はマイクロコンピュータである(図１参照)。
【００６５】
〔２〕本発明の更に別の観点の代表的な実施の形態は、複数のツインセルを含む第１の不揮発性メモリ(ＤＦＬ；２１)と、セレクタ(ＳＥＬ＿ＢＣ)と、センス回路(ＢＣ＿ＳＡ)とを少なくとも具備する半導体集積回路の動作方法である(図７参照)。
【００６６】
前記第１の不揮発性メモリでは、前記複数のツインセルの各ツインセルを構成する２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)に相補データを電気的に書き込むことが可能である。前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルへの前記相補データの電気的な書き込みによって、前記各ツインセルを構成する２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)は低いしきい値電圧と高いしきい値電圧との組み合わせの書き込み状態に設定される。
【００６７】
前記各ツインセルへの前記相補データの電気的な書き込みに先立って、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルに非相補データを電気的に書き込むことによって前記複数のツインセルの前記各ツインセルをブランク状態とすることが可能である。前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルへの前記非相補データの電気的な書き込みによって、前記各ツインセルを構成する２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)はともに低いしきい値電圧の状態とともに高いしきい値電圧の状態とのいずれかの消去状態に設定される。
【００６８】
前記セレクタ(ＳＥＬ＿ＢＣ)は、複数の信号入力端子と、共通制御入力端子(ＢＣ＿ＳＬ)と、複数の出力端子と、前記複数の信号入力端子と前記複数の信号出力端子との間に接続された複数のスイッチ素子(ＱSW1…ＱSW16)とを含むものである。前記セレクタの前記複数の信号入力端子は前記第１の不揮発性メモリ(ＤＦＬ；２１)の前記複数のツインセルに接続され、前記セレクタの前記複数の信号出力端子は前記センス回路(ＢＣ＿ＳＡ)の第１入力端子(Ｉｎ１)に共通に接続される。
【００６９】
前記セレクタと前記センス回路とを使用することによって、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルでの前記ブランク状態の存在を検出するブランク・チェック動作が実行されることが可能である。
【００７０】
前記ブランク・チェック動作の間に前記共通制御入力端子に供給される選択信号に応答して前記セレクタの前記複数のスイッチ素子がオン状態に制御されることによって、前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルの電流が前記センス回路の前記第１入力端子に共通に流れるものである。
【００７１】
前記ブランク・チェック動作の間に、前記センス回路の第２入力端子(Ｉｎ２)には参照信号(Ｉref、Ｖref)が供給される。前記参照信号(Ｉref、Ｖref)は、前記センス回路の前記第１入力端子に共通に流れる前記第１の不揮発性メモリの前記複数のツインセルの前記各ツインセルの前記電流の第１総和電流が前記相補データによる前記書き込み状態と前記非相補データによる前記消去状態とのいずれかに起因するかを判定可能なレベルに設定されている(図７参照)。
【００７２】
前記実施の形態によれば、センス回路の第１入力端子に共通に流れる第１の不揮発性メモリの複数のツインセルの各ツインセルの電流の第１総和電流から相補データによる書き込み状態と非相補データによる消去状態とのいずれかを判定するので、ブランク・チェック時間を短縮することができる。
【００７３】
２．第２の発明
〔１〕本発明の代表的な実施の形態による半導体集積回路は、少なくとも第１の不揮発性メモリ(ＤＦＬ)と、前記第１の不揮発性メモリに電気的に接続された制御ユニット(７)とを具備する(図１参照)。
【００７４】
前記第１の不揮発性メモリでは、２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)に相補データを電気的に書き込むことが可能である。
【００７５】
前記２つの不揮発性メモリセルに前記相補データを電気的に書き込むに先立って、前記２つの不揮発性メモリセルに非相補データを電気的に書き込むことによって前記２つの不揮発性メモリセルをブランク状態とすることが可能である。
【００７６】
前記制御ユニットへのチェック要求(図１０の２０)に応答して、前記制御ユニットはブランク・チェック動作モードに設定されるものである(図１０の期間２２)。
【００７７】
前記ブランク・チェック動作モードに設定された前記制御ユニットは、前記第１の不揮発性メモリでの前記ブランク状態の存在を検出するブランク・チェック動作を制御することが可能である(図１０の期間２４)。
【００７８】
前記制御ユニットへの解除要求(図１０の２８２)に応答して、前記制御ユニットは前記ブランク・チェック動作モードを解除するものである(図１０の期間２９)。
【００７９】
前記制御ユニットの前記ブランク・チェック動作モードへの設定から前記ブランク・チェック動作モードの解除までの間に、前記制御ユニットは前記第１の不揮発性メモリの必要なメモリサイズの前記ブランク・チェック動作を制御するものである(図１０、図１参照)。
【００８０】
前記実施の形態によれば、必要なブランク・チェック・サイズが増大しても、ＣＰＵからのコマンドの発行回数を増大させないようにすることができる。
【００８１】
好適な実施の形態では、前記ブランク・チェック動作モードの前記解除の後に前記第１の不揮発性メモリの通常データ読み出しが可能とされるものである(図１０の期間２９)。
【００８２】
より好適な実施の形態では、前記制御ユニットによる前記ブランク・チェック動作の制御に先立って、前記第１の不揮発性メモリでの前記ブランク・チェック動作の対象領域に関するアクセス情報が前記制御ユニットに設定されるものである(図１０の期間２０)。
【００８３】
前記制御ユニットへの前記アクセス情報の設定(図１０の期間２０)の後、前記制御ユニットは前記第１の不揮発性メモリの前記対象領域での前記ブランク・チェック動作の前記実行を開始するものである(図１０の期間２２)。
【００８４】
前記より好適な実施の形態によれば、前記第１の不揮発性メモリの任意のチェック対象でブランク・チェック動作を実行することができる。また、前記第１の不揮発性メモリの複数の対象領域でブランク・チェック動作を実行することが容易になるものである。
【００８５】
更に好適な実施の形態による半導体集積回路は、少なくとも中央処理ユニット(２)と、第２の不揮発性メモリ(ＰＦＬ)とを更に具備する(図１参照)。
【００８６】
前記第２の不揮発性メモリでは、１つの不揮発性メモリセル(ＭＣ０)にデータを電気的に書き込むことが可能である。
【００８７】
前記第２の不揮発性メモリ(ＰＦＬ)には前記中央処理ユニットのためのプログラムが格納可能とされている。
【００８８】
前記第１の不揮発性メモリ(ＤＦＬ)には前記中央処理ユニットによる前記第２の不揮発性メモリに格納されたプログラムの実行結果のデータが格納可能とされている。
【００８９】
他の更に好適な実施の形態による半導体集積回路では、前記第１の不揮発性メモリ(ＤＦＬ)と前記第２の不揮発性メモリ(ＰＦＬ)とにより内蔵不揮発性メモリ(６)が形成されている。
【００９０】
前記半導体集積回路は、内蔵ランダムアクセスメモリ(５)と、高速バス(ＨＢＵＳ)と、周辺バス(ＰＢＵＳ)とを更に具備する。
【００９１】
前記制御ユニット(７)は、前記周辺バスを介して前記内蔵不揮発性メモリ(６)の低速アクセスポート(ＬＡＣＳＰ)に接続されている。
【００９２】
前記中央処理ユニットは、前記高速バスを介して前記内蔵ランダムアクセスメモリと前記内蔵不揮発性メモリの高速アクセスポート(ＨＡＣＳＰ)とに接続されている。
【００９３】
前記中央処理ユニットは、前記高速バスと前記内蔵不揮発性メモリの前記高速アクセスポートとを介して前記第１の不揮発性メモリに格納されたデータと前記第２の不揮発性メモリに格納されたプログラムを読み出すことが可能である。
【００９４】
前記中央処理ユニットの指示に応答して前記制御ユニット(７)は、前記低速バスと前記低速アクセスポートとを介して前記第１の不揮発性メモリに格納されるデータと前記第２の不揮発性メモリに格納されるプログラムとを前記内蔵不揮発性メモリに格納するものである。
【００９５】
具体的な一つの実施の形態では、前記第１の不揮発性メモリ(ＤＦＬ)の前記２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)と前記第２の不揮発性メモリ(ＰＦＬ)の前記１つの不揮発性メモリセル(ＭＣ０)との各セルは、電荷蓄積層(ＳｉＮ)への電子の注入と前記電荷蓄積層からの電子の放出とによって、不揮発記憶動作を実行するものである。
【００９６】
他の具体的な一つの実施の形態では、前記第１の不揮発性メモリ(ＤＦＬ)は前記２つの不揮発性メモリセルのいずれか一方の不揮発性メモリセルの第１の不揮発記憶動作と第１のベリファイ読み出し動作とが反復される。前記第２の不揮発性メモリ(ＰＦＬ)では前記１つの不揮発性メモリセルの第２の不揮発記憶動作と第２のベリファイ読み出し動作とが反復される。
【００９７】
より具体的な一つの実施の形態では、前記第２の不揮発性メモリ(ＰＦＬ)の前記１つの不揮発性メモリセルには２ビットまたはそれ以上の多値のデータを電気的に書き込むことが可能である。
【００９８】
最も具体的な一つの実施の形態では、前記内蔵不揮発性メモリ(６)の内部の前記第１の不揮発性メモリ(ＤＦＬ)の配置と前記第２の不揮発性メモリ(ＰＦＬ)の配置とは、前記半導体集積回路のシステム初期化に使用される初期化制御コードデータ(ＩＮＴ＿Ｄａｔａ)に従って設定可能とされている(図１５参照)。
【００９９】
〔２〕本発明の別の観点の代表的な実施の形態による半導体集積回路は、少なくとも第１の不揮発性メモリ(ＤＦＬ)と、前記第１の不揮発性メモリに電気的に接続された制御ユニット(７)とを具備する(図１３参照)。
【０１００】
前記第１の不揮発性メモリでは、２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)に相補データを電気的に書き込むことが可能である。
【０１０１】
前記２つの不揮発性メモリセルに前記相補データを電気的に書き込むに先立って、前記２つの不揮発性メモリセルに非相補データを電気的に書き込むことによって前記２つの不揮発性メモリセルをブランク状態とすることが可能である。
【０１０２】
前記制御ユニット(７)は、コントローラ(７１)と、ブランク・チェック設定レジスタ(７２)と、ブランク・チェック信号検出回路(７３、７５)と、ブランク・アドレス格納レジスタ(７４、７６)とを含むものである。
【０１０３】
前記コントローラ(７１)は、前記制御ユニットに供給される前記第１の不揮発性メモリでの前記ブランク・チェック動作の対象領域に関するアクセス情報を前記ブランク・チェック設定レジスタ(７２)に格納するものである。
【０１０４】
前記制御ユニットへの要求と前記ブランク・チェック設定レジスタに格納された前記アクセス情報とに応答して、前記コントローラは前記第１の不揮発性メモリに供給されるブランク・チェック・アドレスを生成するものである。
【０１０５】
前記第１の不揮発性メモリでは前記ブランク・チェック・アドレスに応答して前記ブランク状態の存在を検出するブランク・チェック動作が実行されて、前記ブランク状態の前記存在の間には前記第１の不揮発性メモリは所定の信号レベルを有するブランク・チェック信号(Ｂｌａｎｋ)を生成するものである。
【０１０６】
前記第１の不揮発性メモリから生成される前記ブランク・チェック信号は、前記制御ユニットの前記ブランク・チェック信号検出回路に供給されるものである。
【０１０７】
前記ブランク・チェック信号検出回路の出力信号に応答して、前記第１の不揮発性メモリでの前記ブランク・チェック動作の前記対象領域に存在する前記ブランク状態の不揮発性メモリセルのアドレス情報が前記ブランク・アドレス格納レジスタに格納されるものである。
【０１０８】
前記実施の形態によれば、必要なブランク・チェック・サイズが増大しても、ＣＰＵからのコマンドの発行回数を増大させないようにすることができる。
【０１０９】
好適な実施の形態による半導体集積回路は、少なくとも中央処理ユニット(２)と、第２の不揮発性メモリ(ＰＦＬ)とを更に具備する(図１参照)。
【０１１０】
前記第２の不揮発性メモリでは、１つの不揮発性メモリセル(ＭＣ０)にデータを電気的に書き込むことが可能である。
【０１１１】
前記第２の不揮発性メモリ(ＰＦＬ)には前記中央処理ユニットのためのプログラムが格納可能とされている。
【０１１２】
前記第１の不揮発性メモリ(ＤＦＬ)には前記中央処理ユニットによる前記第２の不揮発性メモリに格納されたプログラムの実行結果のデータが格納可能とされている。
【０１１３】
より好適な実施の形態による半導体集積回路では、前記第１の不揮発性メモリ(ＤＦＬ)と前記第２の不揮発性メモリ(ＰＦＬ)とにより内蔵不揮発性メモリ(６)が形成されている。
【０１１４】
前記半導体集積回路は、内蔵ランダムアクセスメモリ(５)と、高速バス(ＨＢＵＳ)と、周辺バス(ＰＢＵＳ)とを更に具備する。
【０１１５】
前記制御ユニット(７)は、前記周辺バスを介して前記内蔵不揮発性メモリ(６)の低速アクセスポート(ＬＡＣＳＰ)に接続されている。
【０１１６】
前記中央処理ユニットは、前記高速バスを介して前記内蔵ランダムアクセスメモリと前記内蔵不揮発性メモリの高速アクセスポート(ＨＡＣＳＰ)とに接続されている。
【０１１７】
前記中央処理ユニットは、前記高速バスと前記内蔵不揮発性メモリの前記高速アクセスポートとを介して前記第１の不揮発性メモリに格納されたデータと前記第２の不揮発性メモリに格納されたプログラムを読み出すことが可能である。
【０１１８】
前記中央処理ユニットの指示に応答して、前記制御ユニット(７)は前記低速バスと前記低速アクセスポートとを介して前記第１の不揮発性メモリに格納されるデータと前記第２の不揮発性メモリに格納されるプログラムとを前記内蔵不揮発性メモリに格納するものである。
【０１１９】
具体的な一つの実施の形態では、前記第１の不揮発性メモリ(ＤＦＬ)の前記２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)と前記第２の不揮発性メモリ(ＰＦＬ)の前記１つの不揮発性メモリセル(ＭＣ０)との各セルは、電荷蓄積層(ＳｉＮ)への電子の注入と前記電荷蓄積層からの電子の放出とによって、不揮発記憶動作を実行するものである。
【０１２０】
他の具体的な一つの実施の形態では、前記第１の不揮発性メモリ(ＤＦＬ)は前記２つの不揮発性メモリセルのいずれか一方の不揮発性メモリセルの第１の不揮発記憶動作と第１のベリファイ読み出し動作とが反復される。前記第２の不揮発性メモリ(ＰＦＬ)では前記１つの不揮発性メモリセルの第２の不揮発記憶動作と第２のベリファイ読み出し動作とが反復される。
【０１２１】
より具体的な一つの実施の形態では、前記第２の不揮発性メモリ(ＰＦＬ)の前記１つの不揮発性メモリセルには２ビットまたはそれ以上の多値のデータを電気的に書き込むことが可能である。
【０１２２】
最も具体的な一つの実施の形態では、前記内蔵不揮発性メモリ(６)の内部の前記第１の不揮発性メモリ(ＤＦＬ)の配置と前記第２の不揮発性メモリ(ＰＦＬ)の配置とは、前記半導体集積回路のシステム初期化に使用される初期化制御コードデータ(ＩＮＴ＿Ｄａｔａ)に従って設定可能とされている(図１５参照)。
【０１２３】
〔３〕本発明の更に別の観点の代表的な実施の形態は、少なくとも第１の不揮発性メモリ(ＤＦＬ)と、前記第１の不揮発性メモリに電気的に接続された制御ユニット(７)とを具備する半導体集積回路(図１３参照)の動作方法である。
【０１２４】
前記第１の不揮発性メモリでは、２つの不揮発性メモリセル(ＭＣ１、ＭＣ２)に相補データを電気的に書き込むことが可能である。
【０１２５】
前記２つの不揮発性メモリセルに前記相補データを電気的に書き込むに先立って、前記２つの不揮発性メモリセルに非相補データを電気的に書き込むことによって前記２つの不揮発性メモリセルをブランク状態とすることが可能である。
【０１２６】
前記制御ユニット(７)は、コントローラ(７１)と、ブランク・チェック設定レジスタ(７２)と、ブランク・チェック信号検出回路(７３、７５)と、ブランク・アドレス格納レジスタ(７４、７６)とを含むものである。
【０１２７】
前記コントローラ(７１)は、前記制御ユニットに供給される前記第１の不揮発性メモリでの前記ブランク・チェック動作の対象領域に関するアクセス情報を前記ブランク・チェック設定レジスタ(７２)に格納するものである。
【０１２８】
前記制御ユニットへの要求と前記ブランク・チェック設定レジスタに格納された前記アクセス情報とに応答して、前記コントローラは前記第１の不揮発性メモリに供給されるブランク・チェック・アドレスを生成するものである。
【０１２９】
前記第１の不揮発性メモリでは前記ブランク・チェック・アドレスに応答して前記ブランク状態の存在を検出するブランク・チェック動作が実行されて、前記ブランク状態の前記存在の間には前記第１の不揮発性メモリは所定の信号レベルを有するブランク・チェック信号(Ｂｌａｎｋ)を生成するものである。
【０１３０】
前記第１の不揮発性メモリから生成される前記ブランク・チェック信号は、前記制御ユニットの前記ブランク・チェック信号検出回路に供給されるものである。
【０１３１】
前記ブランク・チェック信号検出回路の出力信号に応答して、前記第１の不揮発性メモリでの前記ブランク・チェック動作の前記対象領域に存在する前記ブランク状態の不揮発性メモリセルのアドレス情報が前記ブランク・アドレス格納レジスタに格納されるものである。
【０１３２】
前記実施の形態によれば、必要なブランク・チェック・サイズが増大しても、ＣＰＵからのコマンドの発行回数を増大させないようにすることができる。
【０１３３】
《実施の形態の説明》
次に、実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
【０１３４】
１．第１の発明
《マイクロコンピュータ》
図１は、本発明の実施の形態によるマイクロコンピュータ(ＭＣＵ)１の構成を示す図である。図１に示されたマイクロコンピュータ１は、微細化ＣＭＯＳ半導体製造プロセスによって単結晶シリコンからなる１個の半導体チップに形成される。
【０１３５】
マイクロコンピュータ１は高速バスＨＢＵＳと周辺バスＰＢＵＳとの２階層バス構成を有するものであり、高速バスＨＢＵＳと周辺バスＰＢＵＳはそれぞれデータバス、アドレスバス及びコントロールバスを有する。バスを２階層バス構成に分離することにより、共通バスに全ての回路を共通接続する場合に比べてバスの負荷を軽くして、高速アクセス動作を可能とするものである。
【０１３６】
高速バスＨＢＵＳには、命令制御部と実行部とを備えて命令を実行する中央処理ユニット(ＣＰＵ)２、ダイレクトメモリアクセスコントローラ(ＤＭＡＣ)３、高速バスＨＢＵＳと周辺バスＰＢＵＳとのバスインタフェース制御もしくはバスブリッジ制御を行うバスインタフェース回路(ＢＩＦ)４が、接続されている。更に、高速バスＨＢＵＳには、中央処理ユニット２のワーク領域等に利用されるランダムアクセスメモリ(ＲＡＭ)５、及びデータやプログラムを格納する不揮発性メモリモジュールとしてのフラッシュメモリモジュール(ＦＭＤＬ)６が接続される。このフラッシュメモリモジュール(ＦＭＤＬ)６には、図２に示すデータフラッシュＤＦＬと図３に示すプログラムフラッシュＰＦＬとが含まれている。プログラムフラッシュＰＦＬには中央処理ユニット(ＣＰＵ)２のための種々のソフトウェア・プログラムが格納され、データフラッシュＤＦＬには中央処理ユニット(ＣＰＵ)２によるプログラム実行結果の種々のデータが格納される。
【０１３７】
周辺バスＰＢＵＳには、フラッシュメモリモジュール(ＦＭＤＬ)６に関係するコマンドアクセスの制御を行うフラッシュシーケンサ(ＦＳＱＣ)７、外部入出力ポート(ＰＲＴ)８，９、タイマ(ＴＭＲ)１０、マイクロコンピュータの内部クロック信号を生成するフェーズロックドループ(ＰＬＬ)１１が接続されている。クロック端子ＸＴＡＬ／ＥＸＴＡＬには発振子が接続されるかあるいは外部クロック信号が供給されるもので、外部ハードウェアスタンバイ端子ＳＴＢＹにはスタンバイ状態指示信号が供給され、外部リセット端子ＲＥＳはリセット指示信号が供給される。外部電源端子Ｖddと外部グランド端子Ｖssとの間には、動作電源電圧が供給されるものである。
【０１３８】
ここではフラッシュシーケンサ７はロジック回路として論理合成によって設計され、メモリアレイ構成のフラッシュメモリモジュール６はＣＡＤツールを用いて設計されているため、便宜上別々の回路ブロックとして図示されているが、実質的には双方統合された一つのフラッシュメモリとして構成されている。フラッシュメモリモジュール６は、読み出し専用の高速アクセスポート(ＨＡＣＳＰ)を介して高速バスＨＢＵＳに接続される。従って、ＣＰＵ２やＤＭＡＣ３は高速バスＨＢＵＳと高速アクセスポート(ＨＡＣＳＰ)とを介してフラッシュメモリモジュール６をリードアクセスすることができる。ＣＰＵ２やＤＭＡＣ３はフラッシュメモリモジュール６に対して書き込み及び消去のアクセスを実行する時には、バスインタフェース４と周辺バスＰＢＵＳとを経由してフラッシュシーケンサ７にコマンドを発行する。これによって、フラッシュシーケンサ７は、周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介してフラッシュメモリモジュールの消去や書き込み動作の制御を実行する。
【０１３９】
フラッシュメモリモジュール(ＦＭＤＬ)６に含まれたプログラムフラッシュＰＦＬは複数のシングルセルを含み、各シングルセルを構成する１つの不揮発性メモリに単一データの１ビットを書き込むと言う１セル／１ビット書き込み方式が採用されている。従って、フラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータ書き換え回数の小さなプログラムフラッシュＰＦＬでは、マイクロコンピュータ(ＭＣＵ)１の中央処理ユニット(ＣＰＵ)２のための種々のソフトウェア・プログラムの高密度記憶が可能となる。
【０１４０】
フラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータフラッシュＤＦＬは複数のツインセルを含み、１つのツインセルを構成する２つの不揮発性メモリには相補データが書き込まれることができる。フラッシュシーケンサ７は、ＣＰＵ２からの指示(コマンド)に応答して、フラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータフラッシュＤＦＬとプログラムフラッシュＰＦＬとの書き込み・消去の不揮発性記憶動作を実行する。それとともに、フラッシュシーケンサ７は、ＣＰＵ２からの要求に応答してデータフラッシュＤＦＬでのブランク・チェックの動作も実行する。すなわち、フラッシュシーケンサ７は、フラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータフラッシュＤＦＬの複数のツインセルのどこまでが書き込み済みの使用状態であるか、とどこからが未書き込みのイニシャライズ消去状態なのかのブランク・チェック機能を実現する。
【０１４１】
上述したようにＣＰＵ２からデータフラッシュＤＦＬの複数のツインセルのブランク・チェックの要求に応答して、フラッシュシーケンサ７はブランク・チェックの動作モードに移行する。本発明のより好適な実施の形態によれば、ブランク・チェック動作モードへの移行に先立って、フラッシュシーケンサ７にはＣＰＵ２からブランク・チェック・対象領域の開始アドレス、対象領域の容量(終了アドレス)が供給される。従って、データフラッシュＤＦＬでの複数の対象領域でブランク・チェック動作を実行することが容易となるものである。それによって、データフラッシュＤＦＬでの任意の対象領域でのブランク・チェック動作の実行が可能となる。すなわち、フラッシュシーケンサ７のブランク・チェックの動作モードへの移行が完了して、フラッシュシーケンサ７のブランク・チェックの動作が開始されると、ブランク・チェック・対象領域の開始アドレスから終了アドレスまでの複数のツインセルのブランク・チェックが開始される。このブランク・チェックの動作の間に、ＣＰＵからのメモリ読み出し要求に応答して、フラッシュシーケンサ７は例えば８バイト分のツインセルのブランク・チェック・データによるブランク・チェック・ステータス情報をデータフラッシュＤＦＬからＣＰＵに供給する。その間にＣＰＵからの次のメモリ読み出し要求に応答して、フラッシュシーケンサ７は次の８バイト分のツインセルのブランク・チェック・データによる次のブランク・チェック・ステータス情報をデータフラッシュＤＦＬからＣＰＵに供給する。このようにして、データフラッシュＤＦＬの複数のツインセルの対象領域の開始アドレスから終了アドレスまでのブランク・チェックの動作が完了すると、フラッシュシーケンサ７へＣＰＵ２からブランク・チェック・動作モードの解除要求が発行される。
【０１４２】
《フラッシュメモリモジュール》
図２は、図１に示したマイクロコンピュータ(ＭＣＵ)１に内蔵されたフラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータフラッシュＤＦＬの構成を示す図である。
【０１４３】
図２に示すフラッシュメモリモジュール６のデータフラッシュＤＦＬには、図１のマイクロコンピュータ(ＭＣＵ)１の中央処理ユニット(ＣＰＵ)２によるプログラム実行結果の種々のデータが格納される。図２のデータフラッシュＤＦＬの大きなデータ書き換え回数による疲弊によっても正確なデータ読み出しを可能とするため、図２のデータフラッシュＤＦＬでは２つの不揮発性メモリセルＭＣ１、ＭＣ２から構成されたツインセルに相補データの１ビットを書き込むと言う２セル／１ビット書き込み方式が採用されている。
【０１４４】
図３は、図１に示したマイクロコンピュータ(ＭＣＵ)１に内蔵されたフラッシュメモリモジュール(ＦＭＤＬ)６に含まれたプログラムフラッシュＰＦＬの構成を示す図である。
【０１４５】
図３に示すフラッシュメモリモジュール６のプログラムフラッシュＰＦＬには、図１のマイクロコンピュータ(ＭＣＵ)１の中央処理ユニット(ＣＰＵ)２のための種々のソフトウェア・プログラムが格納される。図３のデータ書き換え回数の小さなプログラムフラッシュＰＦＬの高密度記憶を可能とするため、図３のプログラムフラッシュＰＦＬでは１つの不揮発性メモリセルＭＣ０に単一データの１ビットを書き込むと言う１セル／１ビット書き込み方式が採用されている。
【０１４６】
《不揮発性メモリセル》
図４は、図２のデータフラッシュＤＦＬに含まれて相補データの１ビットが書き込まれる２つの不揮発性メモリセルＭＣ１、ＭＣ２と図３のプログラムフラッシュＰＦＬに含まれて単一データの１ビットが書き込まれる不揮発性メモリセルＭＣ０の構成と動作とを示す図である。
【０１４７】
図４(Ａ)に示すように、これらの不揮発性メモリセルＭＣ１、ＭＣ２、ＭＣ０のそれぞれは、スプリットゲート型フラッシュメモリ素子によって構成されている。このメモリ素子は、ソース・ドレインの間のチャネル領域の上にゲート絶縁膜を介して形成されたコントロールゲート(ＣＧ)とメモリゲート(ＭＧ)とを有し、メモリゲート(ＭＧ)とゲート絶縁膜との間にはシリコンナイトライド等の電荷トラップ領域(ＳｉＮ)が形成されている。コントロールゲート(ＣＧ)側のソース又はドレイン領域はビット線(ＢＬ)に接続され、メモリゲート(ＭＧ)側のソース又はドレイン領域はソース線(ＳＬ)に接続されている。
【０１４８】
図４(Ａ)に示された不揮発性メモリセルの種々の動作の様子が、図４(Ｂ)に示されている。
【０１４９】
まず、メモリセルのしきい値電圧(Ｖth)を低下するには、ＢＬ＝Ｈｉ−Ｚ(高インピーダンス状態)、ＣＧ＝１．５Ｖ、ＭＧ＝−１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖとされることによって、ウェル領域(ＷＥＬＬ)とメモリゲートＭＧ間の高電界によって電荷トラップ領域(ＳｉＮ)からウェル領域(ＷＥＬＬ)に電子が引き抜かれる。この処理単位は、メモリゲートを共有する複数のメモリセルとされる。
【０１５０】
次に、メモリセルのしきい値電圧(Ｖth)を上昇するには、ＢＬ＝０Ｖ、ＣＧ＝１．５Ｖ、ＭＧ＝１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖとし、ソース線ＳＬからビット線に書き込み電流を流す。それによって、コントロールゲートとメモリゲートの境界部分で発生するホットエレクトロンが、電荷トラップ領域(ＳｉＮ)に注入される。電子の注入は、ビット線電流を流すか否かによって決定されるので、この処理はビット単位で制御される。
【０１５１】
更に、読み出し動作は、ＢＬ＝１．５Ｖ、ＣＧ＝１．５Ｖ，ＭＧ＝０Ｖ、ＳＬ＝０Ｖ、ＷＥＬＬ＝０Ｖで、実行される。メモリセルのしきい値電圧が低ければメモリセルはオン状態にされ、しきい値電圧が高ければオフ状態にされる。尚、不揮発性メモリセルＭＣ１、ＭＣ２、ＭＣ０のそれぞれは、図４(Ａ)に示すスプリットゲート型フラッシュメモリ素子に限定されるものではなく、スタックド・ゲート型フラッシュメモリ素子とすることもできる。このスタックド・ゲート型フラッシュメモリ素子は、ソース・ドレイン領域の間のチャネル形成領域の上にゲート絶縁膜を介してフローティングゲート(ＦＧ)とコントロールゲート(ＷＬ)とがスタックされることにより構成される。ホットキャリア書き込み方式またはＦＮトンネル書き込み方式によってしきい値電圧を上げ、ウェル領域(ＷＥＬＬ)への電子の放出またはビット線(ＢＬ)への電子の放出によってしきい値電圧を下げることができる。
【０１５２】
《データフラッシュに含まれる２つの不揮発性メモリセル》
図５は、図２のデータフラッシュＤＦＬに含まれて相補データの１ビットが書き込まれる２つの不揮発性メモリセルＭＣ１、ＭＣ２から構成された１つのツインセルの３つの状態を説明する図である。
【０１５３】
相補データの１ビットが書き込まれる２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)から構成された１つのツインセルによる情報記憶状態は、図５(Ａ)のイニシャライズ消去状態(ブランク消去状態)、図５(Ｂ)のデータ“１”の書き込み状態、図５(Ｃ)のデータ“０”の書き込み状態の３種類となる。
【０１５４】
データフラッシュＤＦＬの２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)から構成された１つのツインセルの図５(Ａ)のイニシャライズ消去状態は、メモリゲート(ＭＧ)を共有する複数のメモリセルを処理単位とするメモリセルのしきい値電圧(Ｖth)の低下の動作によって実現することができる。
【０１５５】
データフラッシュＤＦＬの２つの不揮発性メモリセルＭＣ１、ＭＣ２から構成された１つのツインセルの図５(Ｂ)のデータ“１”の書き込み状態は、図５(Ａ)のイニシャライズ消去状態からビット単位の制御によるメモリセルのしきい値電圧(Ｖth)の上昇を不揮発性メモリセルＭＣ２(ネガセル)で実行することで実現できる。
【０１５６】
データフラッシュＤＦＬの２つの不揮発性メモリセルＭＣ１、ＭＣ２から構成された１つのツインセルの図５(Ｃ)のデータ“０”の書き込み状態は、図５(Ａ)のイニシャライズ消去状態からビット単位の制御によるメモリセルのしきい値電圧(Ｖth)の上昇を不揮発性メモリセルＭＣ１(ポジセル)で実行することで実現できる。
【０１５７】
《プログラムフラッシュＰＦＬに含まれる不揮発性メモリセル》
図６は、図３のプログラムフラッシュＰＦＬに含まれて単一データの１ビットが書き込まれる不揮発性メモリセルＭＣ０の２つの状態を説明する図である。
【０１５８】
単一データの１ビットが書き込まれる不揮発性メモリセルＭＣ０の情報記憶状態は、図６(Ａ)のデータ“１”の消去状態、図６(Ｂ)のデータ“０”の書き込み状態の２種類となる。
【０１５９】
図６(Ａ)のデータ“１”の消去状態は、メモリゲート(ＭＧ)を共有する複数のメモリセルを処理単位とするメモリセルのしきい値電圧(Ｖth)の低下の動作によって実現することができる。
【０１６０】
図６(Ｂ)のデータ“０”の書き込み状態は、図６(Ａ)のデータ“１”の消去状態からビット単位の制御によるメモリセルのしきい値電圧(Ｖth)の上昇を不揮発性メモリセルＭＣ０で実行することによって実現することができる。
【０１６１】
《データフラッシュのアーキテクチャー》
図２は、図５で説明したように相補データの１ビットが書き込まれる２つの不揮発性メモリセルＭＣ１、ＭＣ２から構成された多数のツインセルを含み図１のＭＣＵ１のＣＰＵ２によるプログラム実行結果の種々のデータを格納するデータフラッシュＤＦＬのアーキテクチャーを示すものである。
【０１６２】
図２のデータフラッシュＤＦＬは、第１不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)２１、第２不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)２２、列デコーダ(ＹＤＥＣ)２３、第１列セレクタ(ＹＳＥＬ＿Ｊ)２４、第２列セレクタ(ＹＳＥＬ＿Ｋ)２５、センスアンプ(ＳＡ)２６を含んでいる。このデータフラッシュＤＦＬは、更に書き込みデータ入力バッファ２７、データ書き込み・ベリファイ回路２８、データ出力ラッチ・ドライバ２９を含んでいる。
【０１６３】
第１不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)２１と第２不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)２２のそれぞれは、２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)から構成されたツインセルを多数含むことにより、ＣＰＵ２によるプログラム実行結果の種々のデータを格納することができる。行方向の２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)のコントロールゲート(ＣＧ)とメモリゲート(ＭＧ)とソースとは、ワード線(ＷＬ)とメモリゲート線(ＭＧＬ)とソース線(ＳＬ)とにそれぞれ接続されている。
【０１６４】
第１不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)２１と第２不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)２２とでは、データ書き込みやデータ読み出しの高速化と低消費電力化とのために階層ビット線アーキテクチャーが採用されている。すなわち、第１と第２の不揮発性メモリアレー(ＭＡＲＹ＿Ｊ、Ｋ)２１、２２には、１本の書き込みメインビット線ＷＭＢＬと１本の読み出しメインビット線ＲＭＢＬとが接続されている。
【０１６５】
複数の不揮発性メモリセルＭＣ１、ＭＣ２が接続された複数のサブビット線ＳＢＬは、ビット線スイッチＢＬ＿ＳＷのスイッチＭＯＳトランジスタＱ3のソース・ドレイン経路を介して１本の書き込みメインビット線ＷＭＢＬに接続される。不揮発性メモリセルＭＣ１(ポジセル)にデータ書き込みが行われる場合には、不揮発性メモリセルＭＣ１(ポジセル)に接続されたサブビット線ＳＢＬと１本の書き込みメインビット線ＷＭＢＬとの間のビット線スイッチＢＬ＿ＳＷのスイッチＭＯＳトランジスタＱ3が制御信号線ＺＬによってオン状態に制御される。図２のデータフラッシュＤＦＬへのデータ書き込み時には、書き込みデータＱinは書き込みデータ入力バッファ２７とデータ書き込み・ベリファイ回路２８のセレクタＶ＿ＳＥＬ、書き込みラッチＷｒｉｔｅ  Ｌａｔｃｈとを介して１本の書き込みメインビット線ＷＭＢＬに供給される。１本の書き込みメインビット線ＷＭＢＬに供給された書き込みデータは、第１と第２の不揮発性メモリアレー２１、２２でビット線スイッチＢＬ＿ＳＷを介してデータフラッシュＤＦＬの不揮発性メモリセルＭＣ１(ポジセル)または不揮発性メモリセルＭＣ２(ネガセル)に書き込まれる。また、書き込みデータ入力バッファ２７に供給される書き込みデータＱinは、図１のＭＣＵ１においてＣＰＵ２の書き込み要求に応答したフラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のデータフラッシュＤＦＬへの書き込みコマンドに付随して供給されるものである。
【０１６６】
また、第１と第２の不揮発性メモリアレー(ＭＡＲＹ＿Ｊ、Ｋ)２１、２２の複数の不揮発性メモリセルＭＣ１、ＭＣ２が接続された複数のサブビット線ＳＢＬは、第１と第２の列セレクタ(ＹＳＥＬ＿Ｊ、Ｋ)２４、２５とセンスアンプ(ＳＡ)２６とを介して１本の読み出しメインビット線ＲＭＢＬに接続される。また、各サブビット線ＳＢＬには、読み出し動作の終了時および書き込み動作の終了時にサブビット線ＳＢＬの電位を放電するために放電制御信号Ｄchにより制御される放電スイッチＤｉｓ＿Ｓｗが接続されている。
【０１６７】
《データフラッシュでの通常データ読み出し》
図１のＭＣＵ１においてＣＰＵ２からの読み出し要求に応答して、高速バスＨＢＵＳと高速アクセスポート(ＨＡＣＳＰ)とを介したフラッシュメモリモジュール６のデータフラッシュＤＦＬへの読み出しコマンドに従って図２のデータフラッシュＤＦＬの読み出し動作が開始される。
【０１６８】
すなわち、図２のデータフラッシュＤＦＬの第１と第２の不揮発性メモリアレー２１、２２のいずれか一方のメモリアレーの１つのツインセルを構成する２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)から通常データを読み出す動作が開始される。この通常データ読み出しにより読み出されるデータは、図５(Ｂ)のデータ“１”の書き込み状態のデータ、または図５(Ｃ)のデータ“０”の書き込み状態のデータである。すなわち、通常データ読み出しにより読み出されるデータは、１つのツインセルを構成する２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)からの相補データである。
【０１６９】
図２の通常データ読み出しの信号経路ＮＲ＿ＲＤに示すように、第１の不揮発性メモリアレー２１の２つの不揮発性メモリセルＭＣ１、ＭＣ２からの相補データは、２本のサブビット線ＳＢＬと第１のセレクタ２４とを介してセンスアンプ２６の第１入力端子Ｉｎ１と第２入力端子Ｉｎ２とに並列に供給される。図２のデータフラッシュＤＦＬの大きなデータ書き換え回数による疲弊によって２つの不揮発性メモリセルＭＣ１、ＭＣ２のトランジスタのしきい値電圧の差が若干縮小しても、差動増幅型センスアンプであるセンスアンプ２６は若干縮小したしきい値電圧の差を正確に増幅することができる。その結果、図２のデータフラッシュＤＦＬの書き換え回数が増大してデータフラッシュＤＦＬのメモリセルが多少疲弊しても、データ読み出し時にセンスアンプ２６とデータ出力ラッチ・ドライバ２９とから正確な読み出しデータが出力されることができる。通常データ読み出しによって図２のデータフラッシュＤＦＬの不揮発性メモリアレー２１、２２からセンスアンプ２６とデータ出力ラッチ・ドライバ２９とによって読み出されたデータは、図１のＭＣＵ１において読み出し専用の高速アクセスポート(ＨＡＣＳＰ)と高速バス(ＨＢＵＳ)とを介してＣＰＵ２に供給されることができる。
【０１７０】
以上説明したように、データフラッシュＤＦＬの通常データ読み出しでは、列セレクタ２４、２５は不揮発性メモリアレー２１、２２の１つのツインセルを構成するポジセル、ネガセルからの相補データをセンスアンプ２６の第１と第２の入力端子Ｉｎ１、Ｉｎ２に並列に供給することが可能である。
【０１７１】
《データフラッシュでのベリファイ読み出し》
図１のＭＣＵ１においてＣＰＵ２からの書き込み要求に応答して、フラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のデータフラッシュＤＦＬへの書き込みコマンドに従って図２のデータフラッシュＤＦＬの書き込み動作が開始される。このデータフラッシュＤＦＬの不揮発性メモリの書き込み動作では、不揮発性メモリに正しいデータが書き込まれたかのベリファイ動作のための書き込みベリファイ読み出しも行われる。
【０１７２】
すなわち、図２のデータフラッシュＤＦＬの第１と第２の不揮発性メモリアレー２１、２２のいずれか一方の１つのツインセルを構成する２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)への相補データの書き込みは、図５(Ａ)のイニシャライズ消去状態から図５(Ｂ)および図５(Ｃ)に示すようにポジセルとネガセルの一方のメモリセルのしきい値電圧(Ｖth)を上昇することで実現され、続けて書き込みベリファイ読み出しが実行される。
【０１７３】
書き込みベリファイ読み出しの動作を、詳細に説明する。図２のベリファイ読み出しの信号経路ＶＲ＿ＲＤに示すように、この相補データの書き込み時にしきい値電圧(Ｖth)が上昇される方のメモリセルからの書き込みベリファイ読み出しデータは、１本のサブビット線ＳＢＬと第１のセレクタ２４とを介してセンスアンプ２６の第１入力端子Ｉｎ１に供給される。これと平行して、図１６に示すようにデータフラッシュＤＦＬに含まれる参照セルＲｅｆ＿Ｃｅｌｌから生成される書き込みベリファイ参照レベルＶＲ＿Ｒｅｆ＿ＤＣが、センスアンプ２６の第２入力端子Ｉｎ２に供給される。
【０１７４】
相補データの書き込み時にポジセルとネガセルの一方のメモリセルのしきい値電圧(Ｖth)を上昇するために、ＢＬ＝０Ｖ、ＣＧ＝１．５Ｖ、ＭＧ＝１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖの電圧条件の書き込みパルスが印加される。この書き込みパルスの印加の後に信号経路ＶＲ＿ＲＤによるベリファイ読み出しにより一方のメモリセルのしきい値電圧(Ｖth)が書き込みベリファイ参照レベルより低レベルであると判別されると、書き込みは不十分である。この場合には上述の電圧条件の他の書き込みパルスが、一方のメモリセルに再度印加される。他の書き込みパルスの再度の印加の後に信号経路ＶＲ＿ＲＤによる書き込みベリファイ読み出しにより一方のメモリセルのしきい値電圧(Ｖth)が書き込みベリファイ参照レベルより高レベルであると判別されると、書き込みは十分となる。
【０１７５】
書き込みベリファイ読み出しの動作を、更に詳細に説明する。書き込みが不十分な時には、データ書き込み・ベリファイ回路２８の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が生成される。書き込み単位が８ビットのツインセルならば、８個の排他的否定論理和回路ＥＸＮＯＲの少なくともいずれか１個の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が出力されると、アンド回路ＡＮＤの出力からローレベル“０”が出力され、８ビットの書き込み単位のツインセルに次の書き込みパルスが再度印加される。書き込みが十分な時には、データ書き込み・ベリファイ回路２８の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が生成される。書き込み単位が８ビットのツインセルならば、８個の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が出力され、アンド回路ＡＮＤの出力からハイレベル“１”が出力され、８ビットの書き込み単位のツインセルへの書き込みが完了する。
【０１７６】
このように、データフラッシュＤＦＬの書き込みベリファイ読み出しでは、列セレクタ２４、２５は不揮発性メモリアレー２１、２２の１つのツインセルで書き込みが行われる一方のセルからの書き込みベリファイ読み出しデータと書き込みベリファイ参照レベルとを、センスアンプ２６の第１と第２の入力端子に並列に供給することが可能である。
【０１７７】
図１のＭＣＵ１においてＣＰＵ２からの消去要求に応答して、フラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のデータフラッシュＤＦＬへの消去コマンドに従って図２のデータフラッシュＤＦＬの消去動作が開始される。このデータフラッシュＤＦＬの不揮発性メモリの消去動作では、不揮発性メモリが正確に消去されたか否かの確認のための消去ベリファイ読み出しも行われる。
【０１７８】
また、図２のデータフラッシュＤＦＬでは、１つのツインセルを構成する２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)への相補データの書き込む場合にも、書き込みに先立って２つの不揮発性メモリセルに、低いしきい値電圧に対応する消去データを書き込む消去動作(イニシャライズ消去動作)が必要となる。このイニシャライズ消去動作にも、２つの不揮発性メモリセルに低いしきい値電圧の消去データが正確に書き込まれたか否かの確認を行う消去ベリファイ読み出しが必要となる。
【０１７９】
相補データの書き込みに先立ったイニシャライズ消去動作および消去コマンドに従った消去動作のいずれにおいても、コントロールゲート(ＣＧ)とメモリゲート(ＭＧ)とを共有する複数のツインセルの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)が消去動作の処理単位とされる。消去動作の処理単位の複数のツインセルの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)のしきい値電圧(Ｖth)を低下させるために、ＢＬ＝Ｈｉ−Ｚ(高インピーダンス状態)、ＣＧ＝１．５Ｖ、ＭＧ＝−１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖの電圧条件の消去込みパルスが印加される。この消去パルスの印加の後に、信号経路ＶＲ＿ＲＤによる消去ベリファイ読み出しを行う。消去ベリファイ読み出しの結果、メモリセルのしきい値電圧(Ｖth)が消去ベリファイ参照レベルより高レベルであると消去は不十分とされ、上述の電圧条件の消去パルスが再度メモリセルに印加される。また消去ベリファイ読み出しの結果、メモリセルのしきい値電圧(Ｖth)がベリファイ参照レベルより低レベルであると判別されると、消去は十分とされる。
【０１８０】
消去ベリファイ読み出し動作を、更に詳細に説明する。消去が不十分な時には、データ書き込み・ベリファイ回路２８の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が生成される。消去単位が８ビットのツインセルならば、８個の排他的否定論理和回路ＥＸＮＯＲの少なくともいずれか１個の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が出力されると、アンド回路ＡＮＤの出力からローレベル“０”が出力され、８ビットの消去単位のツインセルに次の消去パルスが再度印加される。消去が十分な時には、データ書き込み・ベリファイ回路２８の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が生成される。消去単位が８ビットのツインセルならば、８個の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が出力され、アンド回路ＡＮＤの出力からハイレベル“１”が出力され、８ビットの消去単位のツインセルの消去が完了する。
【０１８１】
このように、データフラッシュＤＦＬの消去ベリファイ読み出しでは、列セレクタ２４、２５は不揮発性メモリアレー２１、２２の消去単位のツインセルで消去が行われるセルからの消去ベリファイ読み出しデータと消去ベリファイ参照レベルとをセンスアンプ２６の第１と第２の入力端子に並列に供給することが可能である。
【０１８２】
《データフラッシュでのブランク・チェック》
図１のＭＣＵ１においてＣＰＵ２からのブランク・チェックの要求に応答して、フラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のデータフラッシュＤＦＬへのブランク・チェック・コマンドに従って図２のデータフラッシュＤＦＬでのブランク・チェックが開始される。
【０１８３】
まず、ＣＰＵ２はブランク・チェックを行うためフラッシュシーケンサ７でのブランク・チェック動作モードの要求を発行して、ＣＰＵ２はウェイト状態に移行する。ＣＰＵ２から発行されたブランク・チェック要求に応答して、フラッシュシーケンサ７は図２のデータフラッシュＤＦＬをブランク・チェックの動作モードに移行させる。その移行に先立って、フラッシュシーケンサ７には、ＣＰＵ２からブランク・チェック・対象領域の開始アドレスと対象領域の容量(終了アドレス)とが供給される。
【０１８４】
本発明に先立って開発されたマイクロコンピュータに内蔵されたデータフラッシュＤＦＬ内部でのブランク・チェックでは、セレクタ２４、２５とベリファイ読み出しの信号経路ＶＲ＿ＲＤとセンスアンプ２６とが使用されていた。例えば、不揮発性メモリアレー２１内部の１つのツインセルを構成する２つの不揮発性メモリセルの一方のＭＣ１(ポジセル)からのブランク・チェック・データと他方のＭＣ２(ネガセル)からのブランク・チェック・データとは、第１のセレクタ２４とベリファイ読み出しの信号経路ＶＲ＿ＲＤとを介してセンスアンプ２６の第１入力端子Ｉｎ１に順次供給される。この間では、センスアンプ２６の第２入力端子Ｉｎ２には、図５(Ｂ)のデータ“１”の書き込み状態の低いしきい値電圧と高いしきい値電圧との略中間の参照電圧レベルが供給されている。１つのツインセルを構成する２つの不揮発性メモリセルの一方のＭＣ１(ポジセル)と他方のＭＣ２(ネガセル)とが参照電圧レベルよりも低いしきい値電圧であると判定されると、２つの不揮発性メモリセルによって構成された１つのツインセルはイニシャライズ消去状態のブランクの状態と判断される。このようにして、８バイトの書き込みサイズのデータを格納する６４個のツインセルを順次に低いしきい値電圧であるかシーケンシャルにチェックするものとなり、チェック時間が膨大となっていた。
【０１８５】
それに対して、図２に示す本発明の１つの実施の形態によるデータフラッシュＤＦＬでのブランク・チェックでは、１バイト分の相補データを格納する８個のツインセル(１６個の不揮発性メモリセル)のしきい値電圧の判定が並列に実行される。
【０１８６】
図７は、図２に示すデータフラッシュＤＦＬでのブランク・チェックでは、１バイト分の相補データを格納する８個のツインセルのしきい値電圧の判定を並列に実行するためのブランク・チェック回路の構成を示す図である。
【０１８７】
図７に示すデータフラッシュＤＦＬのブランク・チェック回路では、不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)からなるツインセル８個によって構成される不揮発性メモリアレー２１の１バイトの書き込み単位が１回のブランク・チェックの対象領域とされる。
【０１８８】
すなわち、図７の左下には、図２に示すデータフラッシュＤＦＬの不揮発性メモリアレー２１でのブランク・チェックの対象領域である８個のツインセル(１６個の不揮発性メモリセル)が示されている。８個のツインセルを構成する１６個の不揮発性メモリセルには、ブランク・チェックセレクタＳＥＬ＿ＢＣの１６個のＮチャンネルスイッチＭＯＳトランジスタＱSW1、ＱSW2、ＱSW3、ＱSW4、…ＱSW16が接続されている。ブランク・チェックセレクタＳＥＬ＿ＢＣの１６個のスイッチＭＯＳトランジスタＱSW1…ＱSW16には、第１電流リミッタ１st＿ＣＬの１６個のＰチャンネルＭＯＳトランジスタＱCL11、ＱCL12、ＱCL13、ＱCL14、…ＱCL116が接続されている。第１電流リミッタ１st＿ＣＬの１６個のＰチャンネルＭＯＳトランジスタＱCL11…ＱCL116のソースと電源電圧Ｖddとの間には第１の負荷としてのＰチャンネルＭＯＳトランジスタＱP3が接続され、トランジスタＱP3の電圧降下はブランク・チェック・センスアンプＢＣ＿ＳＡの第１入力端子Ｉｎ１に供給されている。
【０１８９】
図７の右下には、ブランク・チェックの対象領域である８個のツインセルと比較される比較対象の１２個の参照ＮチャンネルスイッチＭＯＳトランジスタＱREF1、ＱREF2、ＱREF3、ＱREF4、…ＱREF12を含む参照セルＲｅｆ＿Ｃｅｌｌが示されている。参照セルＲｅｆ＿Ｃｅｌｌの１２個の参照ＮチャンネルスイッチＭＯＳトランジスタＱREF1…ＱREF12のゲートには略一定のゲートバイアス電圧Ｖgsが供給されているので、１２個の参照ＮチャンネルスイッチＭＯＳトランジスタＱREF1…ＱREF12の各ドレイン電流は１５μＡに設定されている。参照セルＲｅｆ＿Ｃｅｌｌの１２個の参照ＮチャンネルスイッチＭＯＳトランジスタＱREF1…ＱREF12には、第２電流リミッタ２nd＿ＣＬの１２個のＰチャンネルＭＯＳトランジスタＱCL21、ＱCL22、ＱCL23、ＱCL24、…ＱCL212が接続されている。第２電流リミッタ２nd＿ＣＬの１２個のＰチャンネルＭＯＳトランジスタＱCL21…ＱCL212のソースと電源電圧Ｖddとの間には第２の負荷としてのＰチャンネルＭＯＳトランジスタＱP4が接続され、トランジスタＱP4の電圧降下はブランク・チェック・センスアンプＢＣ＿ＳＡの第２入力端子Ｉｎ２に供給されている。
【０１９０】
図７の左下の第１電流リミッタ１st＿ＣＬの１６個のＰチャンネルＭＯＳトランジスタＱCL11…ＱCL116のゲートには、図７の左上の第１バイアス回路１st＿ＢＣのＰチャンネルＭＯＳトランジスタＱP14のゲート電圧が供給される。第１バイアス回路１st＿ＢＣは、第１電流源Ｉ01、第１カレントミラーＣＭ11のＰチャンネルＭＯＳトランジスタＱP11、ＱP12、第２カレントミラーＣＭ12のＮチャンネルＭＯＳトランジスタＱN11、ＱN12、第１差動増幅器ＤＡ1、ＰチャンネルＭＯＳトランジスタＱP13、ＱP14によって構成されている。第１差動増幅器ＤＡ1、ＰチャンネルＭＯＳトランジスタＱP13によって、ＰチャンネルＭＯＳトランジスタＱP14のソース電圧は第１電流リミッタ１st＿ＣＬの１６個のＰチャンネルＭＯＳトランジスタＱCL11…ＱCL116のソース電圧と略等しく設定される。第１バイアス回路１st＿ＢＣのＰチャンネルＭＯＳトランジスタＱP14の電流は、第１カレントミラーＣＭ11と第２カレントミラーＣＭ12とによって第１電流源Ｉ01の定電流と略等しく設定される。第１バイアス回路１st＿ＢＣのＰチャンネルＭＯＳトランジスタＱP14のゲート電圧によって、第１電流リミッタ１st＿ＣＬの１６個のＰチャンネルＭＯＳトランジスタＱCL11…ＱCL116の各リミット電流は１５μＡに設定されている。
【０１９１】
図７の右下の第２電流リミッタ２nd＿ＣＬの１２個のＰチャンネルＭＯＳトランジスタＱCL21…ＱCL212のゲートには、図７の右上の第２バイアス回路２nd＿ＢＣのＰチャンネルＭＯＳトランジスタＱP24のゲート電圧が供給される。第２バイアス回路２nd＿ＢＣは、第２電流源Ｉ02、第３カレントミラーＣＭ21のＰチャンネルＭＯＳトランジスタＱP21、ＱP22、第４カレントミラーＣＭ22のＮチャンネルＭＯＳトランジスタＱN21、ＱN22、第２差動増幅器ＤＡ2、ＰチャンネルＭＯＳトランジスタＱP23、ＱP24によって構成されている。第２差動増幅器ＤＡ2、ＰチャンネルＭＯＳトランジスタＱP23によって、ＰチャンネルＭＯＳトランジスタＱP24のソース電圧は第２電流リミッタ２nd＿ＣＬの１２個のＰチャンネルＭＯＳトランジスタＱCL21…ＱCL212のソース電圧と略等しく設定される。第２バイアス回路２nd＿ＢＣのＰチャンネルＭＯＳトランジスタＱP24の電流は、第３カレントミラーＣＭ21と第４カレントミラーＣＭ22とによって第２電流源Ｉ02の定電流と略等しく設定される。第２バイアス回路２nd＿ＢＣのＰチャンネルＭＯＳトランジスタＱP24のゲート電圧によって、第２電流リミッタ２nd＿ＣＬの１２個のＰチャンネルＭＯＳトランジスタＱCL21…ＱCL212の各リミット電流は１５μＡに設定されている。
【０１９２】
図７のデータフラッシュＤＦＬのブランク・チェックでは、ブランク・チェックセレクタＳＥＬ＿ＢＣの共通選択制御信号ＢＣ＿ＳＬはハイレベル“１”とされるので、ブランク・チェックセレクタＳＥＬ＿ＢＣの１６個のＮチャンネルスイッチＭＯＳトランジスタＱSW1…ＱSW16がオン状態に制御される。また、図７のデータフラッシュＤＦＬのブランク・チェックでは、不揮発性メモリアレー２１のブランク・チェックの対象領域である８個のツインセル(１６個の不揮発性メモリセル)には図４(Ｂ)の上の読み出し動作と同様なバイアス条件が設定される。すなわち、ブランク・チェック時のバイアス条件としては、８個のツインセルのメモリゲート(ＭＧ)が接続されたメモリゲート線(ＭＧＬ)は０Ｖに設定されて、８個のツインセルのコントロールゲート(ＣＧ)が接続されたワード線(ＷＬ)は１．５Ｖに設定される。
【０１９３】
図５(Ａ)で説明したようにイニシャライズ消去状態(ブランク状態)での１つのツインセルを構成する２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)は、ともに低いしきい値電圧(Ｖth)の状態となっている。また、図５(Ｂ)と図５(Ｃ)とで説明したようにデータ“１”またはデータ“０”の書き込み状態の１つのツインセルを構成する２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)のいずれか一方と他方は、低いしきい値電圧(Ｖth)の状態と高いしきい値電圧(Ｖth)の状態となっている。
【０１９４】
従って、図７のデータフラッシュＤＦＬで不揮発性メモリアレー２１のブランク・チェックで並列にチェックされる個のツインセル(１６個の不揮発性メモリセル)が、未使用状態のブランク状態である場合を想定する。このブランク状態の場合には、ワード線(ＷＬ)の１．５Ｖのバイアス電圧によって低いしきい値電圧(Ｖth)の状態の８個のツインセル(１６個の不揮発性メモリセル)がオン状態とされる。従って、この場合には第１の負荷としてのＰチャンネルＭＯＳトランジスタＱP3には、第１電流リミッタ１st＿ＣＬの１６個のＰチャンネルＭＯＳトランジスタＱCL11…ＱCL116の各リミット電流１５μＡの総和リミット電流２４０μＡであるセル電流Ｉcellが流れることになる。一方、第２の負荷としてのＰチャンネルＭＯＳトランジスタＱP4には、第２電流リミッタ２nd＿ＣＬの１２個のＰチャンネルＭＯＳトランジスタＱCL21…ＱCL212の各リミット電流は１５μＡの総和リミット電流１８０μＡである参照電流Ｉrefが流れることになる。第１の負荷としてのＰチャンネルＭＯＳトランジスタＱP3のインピーダンスと、第２の負荷としてのＰチャンネルＭＯＳトランジスタＱP4のインピーダンスとは、略等しく設定されている。従って、ブランク・チェック・センスアンプＢＣ＿ＳＡの第１入力端子Ｉｎ１の電圧は、第２入力端子Ｉｎ２の電圧よりも低くなる。この状態のブランク・チェック・センスアンプＢＣ＿ＳＡの出力から、ブランク・チェックの対象領域である８個のツインセル(１６個の不揮発性メモリセル)が未使用状態のブランク状態であることが理解される。
【０１９５】
次に、図７のデータフラッシュＤＦＬで不揮発性メモリアレー２１のブランク・チェックで並列にチェックされる８個のツインセル(１６個の不揮発性メモリセル)が、使用状態である場合を想定する。この使用状態の場合には、ワード線(ＷＬ)の１．５Ｖのバイアス電圧によって低いしきい値電圧と高いしきい値電圧の状態とが半々の状態の８個のツインセル(１６個の不揮発性メモリセル)の半分がオン状態とされる一方、残りの半分はオフ状態とされる。従って、この場合には第１の負荷としてのＰチャンネルＭＯＳトランジスタＱP3には、第１電流リミッタ１st＿ＣＬの１６個のＰチャンネルＭＯＳトランジスタＱCL11…ＱCL116の各リミット電流１５μＡの総和リミット電流２４０μＡの半分の１２０μＡであるセル電流Ｉcellが流れることになる。一方、第２の負荷としてのＰチャンネルＭＯＳトランジスタＱP4には、第２電流リミッタ２nd＿ＣＬの１２個のＰチャンネルＭＯＳトランジスタＱCL21…ＱCL212の各リミット電流は１５μＡの総和リミット電流１８０μＡである参照電流Ｉrefが流れることになる。従って、ブランク・チェック・センスアンプＢＣ＿ＳＡの第１入力端子Ｉｎ１の電圧は、第２入力端子Ｉｎ２の電圧よりも高くなる。この状態のブランク・チェック・センスアンプＢＣ＿ＳＡの出力から、ブランク・チェックの対象領域である８個のツインセル(１６個の不揮発性メモリセル)が使用状態であることが理解される。
【０１９６】
このようして、図７のデータフラッシュＤＦＬのブランク・チェックでは１バイト分の相補データを格納する８個のツインセルのしきい値電圧の判定を並列に実行することができ、ブランク・チェック時間を短縮することができる。
【０１９７】
尚、図７のデータフラッシュＤＦＬで第１電流リミッタ１st＿ＣＬが、省略されたと仮定する。すると、ブランク・チェックの対象領域のブランク状態の８個のツインセル(１６個の不揮発性メモリセル)でワード線(ＷＬ)の１．５Ｖによってオン状態とされる１６個の不揮発性メモリセル・トランジスタの電流は、トランジスタの特性バラツキによってバラツキを示す。また、ブランク・チェックの対象領域の使用状態の８個のツインセル(１６個の不揮発性メモリセル)でワード線(ＷＬ)の１．５Ｖによってオン状態とされる半分の８個の不揮発性メモリセル・トランジスタの電流は、トランジスタの特性バラツキによってバラツキを示す。
【０１９８】
しかし、図７のデータフラッシュＤＦＬでは、第１電流リミッタ１st＿ＣＬが使用されている。従って、チェックの対象領域がブランク状態または使用状態であっても、第１負荷トランジスタＱP3に流れるセル電流Ｉcellを第１電流リミッタ１st＿ＣＬの１６個のトランジスタＱCL11…ＱCL116の各リミット電流１５μＡの総和リミット電流２４０μＡまたはその半分の１２０μＡに高精度に設定することができる。また同様に、図７のデータフラッシュＤＦＬの第２電流リミッタ２nd＿ＣＬの１２個のトランジスタＱCL21…ＱCL212は、参照セルＲｅｆ＿Ｃｅｌｌの１２個の参照トランジスタＱREF1…ＱREF12のバラツキによる第２負荷トランジスタＱP4に流れる参照電流Ｉrefのバラツキを低減する効果を持つものである。
【０１９９】
特に、図２に示すデータフラッシュＤＦＬではＣＰＵ２からのブランク・チェックの要求に応答したフラッシュシーケンサ７による制御によって、第１と第２の不揮発性メモリアレー２１、２２と第１と第２の列セレクタ２４、２５との間の接続が解消される。この接続の解消によって、第１と第２の不揮発性メモリアレー２１、２２での通常データ読み出しとベリファイ読み出しとは、不可能とされる。一方、それと略同時に、第１と第２の不揮発性メモリアレー２１、２２とブランク・チェックセレクタＳＥＬ＿ＢＣを介してのブランク・チェック・センスアンプＢＣ＿ＳＡとの接続が開始される。この接続の開始によって、図２に示すデータフラッシュＤＦＬの第１と第２の不揮発性メモリアレー２１、２２では、図７に示すブランク・チェック回路を使用するブランク・チェックが開始されるものである。
【０２００】
図８は、図２に示すデータフラッシュＤＦＬでのブランク・チェックでは、１バイト分の相補データを格納する８個のツインセルのしきい値電圧の判定を並列に実行するためのブランク・チェック回路の他の構成を示す図である。
【０２０１】
図７と比較すると、図８では第１の負荷としてのＰチャンネルＭＯＳトランジスタＱP3と、第２の負荷としてのＰチャンネルＭＯＳトランジスタＱP4と、第２バイアス回路２nd＿ＢＣとが省略されている。図８では、図７の第１の負荷としてのＰチャンネルＭＯＳトランジスタＱP3の場所に、参照セルＲｅｆ＿Ｃｅｌｌが接続されている。図８の参照セルＲｅｆ＿Ｃｅｌｌでは、図７の参照セルＲｅｆ＿Ｃｅｌｌの１２個の参照ＮチャンネルＭＯＳトランジスタＱREF1…ＱREF12の代用として図７の第２電流リミッタ２nd＿ＣＬの１２個のＰチャンネルＭＯＳトランジスタＱCL21…ＱCL212が使用されている。図８の参照セルＲｅｆ＿Ｃｅｌｌの１２個のＰチャンネルＭＯＳトランジスタＱCL21…ＱCL212のゲートには、第１バイアス回路１st＿ＢＣのＰチャンネルＭＯＳトランジスタＱP11のゲート電圧が供給されている。
【０２０２】
図８のデータフラッシュＤＦＬで不揮発性メモリアレー２１のブランク・チェックで並列にチェックされる８個のツインセル(１６個の不揮発性メモリセル)が、未使用状態のブランク状態である場合を想定する。このブランク状態の場合には、図７と同様に、第１電流リミッタ１st＿ＣＬには１６個のＰチャンネルＭＯＳトランジスタＱCL11…ＱCL116の各リミット電流１５μＡの総和リミット電流２４０μＡであるセル電流Ｉcellが流れる。一方、図８の参照セルＲｅｆ＿Ｃｅｌｌには、１２個のＰチャンネルＭＯＳトランジスタＱCL21…ＱCL212の各リミット電流は１５μＡの総和リミット電流１８０μＡである参照電流Ｉrefが流れる。従って、ブランク・チェック・センスアンプＢＣ＿ＳＡの第１入力端子Ｉｎ１の電圧は、第２入力端子Ｉｎ２の参照電圧Ｖrefよりも低い電圧にプルダウンされる。この状態でのブランク・チェック・センスアンプＢＣ＿ＳＡの出力から、ブランク・チェックの対象領域である８個のツインセル(１６個の不揮発性メモリセル)が未使用状態のブランク状態であることが理解される。
【０２０３】
次に、図８のデータフラッシュＤＦＬでも不揮発性メモリアレー２１のブランク・チェックで並列にチェックされる８個のツインセル(１６個の不揮発性メモリセル)が、使用状態である場合を想定する。この使用状態の場合には、図７と同様に、第１電流リミッタ１st＿ＣＬには１６個のＰチャンネルＭＯＳトランジスタＱCL11…ＱCL116の各リミット電流１５μＡの総和リミット電流２４０μＡの半分の１２０μＡであるセル電流Ｉcellが流れる。一方、図８の参照セルＲｅｆ＿Ｃｅｌｌには、１２個のＰチャンネルＭＯＳトランジスタＱCL21…ＱCL212の各リミット電流は１５μＡの総和リミット電流１８０μＡである参照電流Ｉrefが流れる。従って、ブランク・チェック・センスアンプＢＣ＿ＳＡの第１入力端子Ｉｎ１の電圧は、第２入力端子Ｉｎ２の参照電圧Ｖrefよりも高い電圧にプルアップされる。この状態のブランク・チェック・センスアンプＢＣ＿ＳＡの出力から、ブランク・チェックの対象領域である８個のツインセル(１６個の不揮発性メモリセル)が使用状態であることが理解される。
【０２０４】
このようして、図８のデータフラッシュＤＦＬのブランク・チェックでも１バイト分の相補データを格納する８個のツインセルのしきい値電圧の判定を並列に実行することができ、ブランク・チェック時間を短縮することができる。
【０２０５】
以上説明したように、図１のマイクロコンピュータ１に搭載されたフラッシュメモリモジュール６の図２のデータフラッシュＤＦＬでは図７もしくは図８の８個のツインセルのしきい値電圧の並列判定による高速ブランク・チェックが実行される。
【０２０６】
図９は、図７もしくは図８の８個のツインセルのしきい値電圧の並列判定による高速ブランク・チェックが実行されるデータフラッシュＤＦＬを含むフラッシュメモリモジュール６を搭載した図１に示すマイクロコンピュータにおいてブランク・チェックの機能が実行される様子を示す図である。
【０２０７】
図９の上はＣＰＵの動作を示し、図９の下はフラッシュシーケンサの動作とフラッシュメモリの内部とを示すものである。図９において、まず、ＣＰＵは期間１０にてブランク・チェックを行うためブランク・チェック・コマンドを発行して、期間１１からＣＰＵはウェイトの状態に移行する。期間１０でＣＰＵから発行されたブランク・チェック・コマンドに応答して、フラッシュシーケンサは期間１２でフラッシュメモリＤＦＬのブランク・チェック動作を開始する。続けて、期間１２ではフラッシュメモリＤＦＬでブランク・チェックされる不揮発性メモリアレーのメモリ領域の多数のツインセルにブランク・チェックのための電圧の供給が開始され、その後、多数のツインセルの電圧／電流が、安定化される。続けて、期間１３でフラッシュメモリの内部の８バイト分のチェック・サイズのツインセルからのデータが、例えば８バイトの容量の内部レジスタに読み出される。続けて、ブランク・チェックされた８バイト分のチェック・サイズのツインセルは、何時でも通常データ読み出しが可能となるように、期間１４で読み出し状態に移行される。従って、期間１４ではブランク・チェックされた８バイト分のチェック・サイズのツインセルの電圧／電流は、読み出し状態で安定化される。更に、期間１５では、８バイトの容量の内部レジスタに読み出されたブランク・チェック・データから、ブランク・チェック・ステータス情報が生成される。８バイト分のチェック・サイズのツインセルの全てがブランクであるならば、８バイト分のメモリ領域はイニシャライズ消去状態である。しかし、８バイト分のチェック・サイズの１つのツインセルでもブランクでなければ、８バイト分のメモリ領域は書き込み済みの使用状態である。期間１５での最初のブランク・チェック・ステータス情報は、期間１６でＣＰＵによって確認されることができる。
【０２０８】
次に、期間１７１で、ＣＰＵは次のメモリ領域のブランク・チェックを行うため次のブランク・チェック・コマンドを発行して、期間１７２からＣＰＵはウェイト状態に移行する。期間１７１でＣＰＵから発行されたブランク・チェック・コマンドに応答して、フラッシュシーケンサは期間１７３でフラッシュメモリＤＦＬのブランク・チェック動作を開始する。すなわち、期間１７３ではフラッシュメモリＤＦＬではブランク・チェックされる次のメモリ領域の多数のツインセルにブランク・チェックのための電圧の供給が開始され、その後、多数のツインセルの電圧／電流が、安定化される。続けて、期間１７４でフラッシュメモリの内部の８バイト分のチェック・サイズのツインセルからのデータが、例えば８バイトの容量の内部レジスタに読み出される。続けて、ブランク・チェックされた８バイト分のチェック・サイズのツインセルは、何時でも通常データ読み出しが可能となるように、期間１７５で読み出し状態に移行される。従って、ブランク・チェックされた８バイト分のチェック・サイズのツインセルの電圧／電流は、読み出し状態で安定化される。更に、期間１７６では、８バイトの容量の内部レジスタに読み出されたブランク・チェック・データから、ブランク・チェック・ステータス情報が生成される。このような動作を繰り返すことによって、必要なチェック・サイズのメモリ領域に含まれるツインセルのブランク・チェックの実行が可能となる。
【０２０９】
このようにして、フラッシュシーケンサ７による制御によりデータフラッシュＤＦＬの内部でブランク・チェック・対象領域の開始アドレスから８バイト分のチェック・サイズのツインセルからのブランク・チェック・データが８バイトの容量の内部レジスタに読み出される。また、内部レジスタに読み出された８バイトのブランク・チェック・データから生成されたブランク・チェック・ステータス情報が、データフラッシュＤＦＬからＣＰＵ２に供給される。ＣＰＵ２は、供給されたブランク・チェック・ステータス情報を確認する。
【０２１０】
しかしながら、図９の方式によるツインセルのブランク・チェックの方式では、必要なブランク・チェック・サイズが増大すると、ＣＰＵからのブランク・チェック・コマンドの発行回数が増大する。また、この方式によるツインセルのブランク・チェックの方式では、例えば８バイトと言う所定のチェック・サイズのブランク・チェックに必要な動作期間が長くなる。これは、ツインセルからのブランク・チェック・データが内部レジスタに読み出された後、ブランク・チェックが完了したツインセルが何時でも通常データ読み出しが可能となるように、ブランク・チェックが完了したツインセルを読み出し状態に移行することに起因している。
【０２１１】
図１０も、図９と同様にツインセルのしきい値電圧の並列判定による高速ブランク・チェックが実行されるデータフラッシュＤＦＬを含むフラッシュメモリモジュール６を搭載した図１に示すマイクロコンピュータにおいてコマンドの発生回数の増大の無い改良型のブランク・チェックの機能が実行される様子を示す図である。
【０２１２】
図１０において、まず、ＣＰＵは期間２０にてブランク・チェックを行うためのブランク・チェック・コマンドを発行して、期間２１からＣＰＵはウェイト状態に移行する。期間２０でのＣＰＵから発行されたブランク・チェック・コマンドに応答して、フラッシュシーケンサは期間２２でフラッシュメモリモジュールに含まれたデータフラッシュＤＦＬをブランク・チェックの動作モードに移行させる。続けて、期間２２ではデータフラッシュＤＦＬの内部でブランク・チェックされる不揮発性メモリアレーのメモリ領域の多数のツインセルにブランク・チェックのための電圧の供給が開始され、その後、多数のツインセルの電圧／電流が、安定化される。期間２３のＣＰＵからのメモリ読み出し要求に応答して、フラッシュシーケンサによる制御により期間２４でデータフラッシュＤＦＬの内部で予め定められた開始アドレスから８バイト分のチェック・サイズのツインセルからのブランク・チェック・データが８バイトの容量の内部レジスタに読み出される。またこの期間２４では、内部レジスタに読み出された８バイトのブランク・チェック・データから生成されたブランク・チェック・ステータス情報が、データフラッシュＤＦＬからＣＰＵに供給される。期間２５で、ＣＰＵは供給されたブランク・チェック・ステータス情報を確認する。期間２６でのＣＰＵからの次のメモリ読み出し要求に応答して、期間２７１でフラッシュシーケンサによる制御によりデータフラッシュＤＦＬの次の８バイト分のツインセルからのブランク・チェック・データが８バイトの容量の内部レジスタに読み出される。またこの期間２７１では、内部レジスタに読み出された８バイトのブランク・チェック・データから生成されたブランク・チェック・ステータス情報が、データフラッシュＤＦＬからＣＰＵに供給される。期間２８１で、ＣＰＵは供給されたブランク・チェック・ステータス情報を確認する。このようにして、データフラッシュＤＦＬの複数のツインセルの全てのブランク・チェックの動作が完了すると、期間２８２でフラッシュシーケンサへＣＰＵからブランク・チェック・動作モードの解除要求が発行される。その後、ブランク・チェックされたデータフラッシュＤＦＬは、何時でも通常データ読み出しが可能となるように、期間２９で読み出し状態に移行される。従って、ブランク・チェックされたデータフラッシュＤＦＬのツインセルの電圧／電流は、リード状態で安定化される。
【０２１３】
従って、図１０に示した改良型のブランク・チェックの機能を採用することによって、図９に示したブランク・チェックの機能と比較して、ブランク・チェック・サイズが増大しても、ＣＰＵからのコマンドの発行回数が増大することがないようにすることができる。
【０２１４】
《プログラムフラッシュのアーキテクチャー》
図３は、図６で説明したように単一データの１ビットが書き込まれる多数の不揮発性メモリセルＭＣ０を含み図１のＭＣＵ１のＣＰＵ２のための種々のソフトウェア・プログラムを格納するプログラムフラッシュＰＦＬのアーキテクチャーを示すものである。
【０２１５】
図３のプログラムフラッシュＰＦＬの構造は、図２のデータフラッシュＰＦＬの構造と極めて良く類似している。すなわち、図３のプログラムフラッシュＰＦＬは、第３不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)３１、第４不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)３２、列デコーダ(ＹＤＥＣ)３３、第３列セレクタ(ＹＳＥＬ＿Ｊ)３４、第４列セレクタ(ＹＳＥＬ＿Ｋ)３５、センスアンプ(ＳＡ)３６を含んでいる。このプログラムフラッシュＰＦＬは、更に書き込みデータ入力バッファ３７、データ書き込み・ベリファイ回路３８、データ出力ラッチ・ドライバ３９を含んでいる。
【０２１６】
第３不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)３１と第４不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)３２のそれぞれは、多数の不揮発性メモリセルＭＣ０を含むことにより、ＣＰＵ２のための種々のソフトウェア・プログラムを格納することができる。行方向の多数の不揮発性メモリセルＭＣ０のコントロールゲート(ＣＧ)とメモリゲート(ＭＧ)とソースとは、ワード線(ＷＬ)とメモリゲート線(ＭＧＬ)とソース線(ＳＬ)とにそれぞれ接続されている。
【０２１７】
第３不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)３１と第４不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)３２とでは、データ書き込みやデータ読み出しの高速化と低消費電力化とのために階層ビット線アーキテクチャーが採用されている。すなわち、第３と第４の不揮発性メモリアレー(ＭＡＲＹ＿Ｊ、Ｋ)３１、３２には、１本の書き込みメインビット線ＷＭＢＬと１本の読み出しメインビット線ＲＭＢＬとが接続されている。
【０２１８】
複数の不揮発性メモリセルＭＣ０が接続された複数のサブビット線ＳＢＬは、ビット線スイッチＢＬ＿ＳＷのスイッチＭＯＳトランジスタＱ3のソース・ドレイン経路を介して１本の書き込みメインビット線ＷＭＢＬに接続される。不揮発性メモリセルＭＣ０にデータ書き込みが行われる場合には、不揮発性メモリセルＭＣ０に接続されたサブビット線ＳＢＬと１本の書き込みメインビット線ＷＭＢＬとの間のビット線スイッチＢＬ＿ＳＷのスイッチＭＯＳトランジスタＱ3が制御信号線ＺＬによってオン状態に制御される。図３のプログラムフラッシュＰＦＬへのデータ書き込み時には、書き込みデータＱinは書き込みデータ入力バッファ３７とデータ書き込み・ベリファイ回路３８のセレクタＶ＿ＳＥＬ、書き込みラッチＷｒｉｔｅ  Ｌａｔｃｈとを介して１本の書き込みメインビット線ＷＭＢＬに供給される。１本の書き込みメインビット線ＷＭＢＬに供給された書き込みデータは、第３と第４の不揮発性メモリアレー３１、３２でビット線スイッチＢＬ＿ＳＷを介してプログラムフラッシュＰＦＬの不揮発性メモリセルＭＣ０に書き込まれる。また、書き込みデータ入力バッファ３７に供給される書き込みデータＱinは、図１のＭＣＵ１においてＣＰＵ２の書き込み要求に応答したフラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のプログラムフラッシュＰＦＬへの書き込みコマンドに付随して供給されるものである。
【０２１９】
また、第３と第４の不揮発性メモリアレー(ＭＡＲＹ＿Ｊ、Ｋ)３１、３２の複数の不揮発性メモリセルＭＣ０が接続された複数のサブビット線ＳＢＬは、第３と第４の列セレクタ(ＹＳＥＬ＿Ｊ、Ｋ)３４、３５とセンスアンプ(ＳＡ)３６とを介して１本の読み出しメインビット線ＲＭＢＬに接続される。また、各サブビット線ＳＢＬには、読み出し動作の終了時および書き込み動作の終了時にサブビット線ＳＢＬの電位を放電するために放電制御信号Ｄchにより制御される放電スイッチＤｉｓ＿Ｓｗが接続されている。
【０２２０】
《プログラムフラッシュでの通常データ読み出し》
図１のＭＣＵ１においてＣＰＵ２からの読み出し要求に関係して、高速バスＨＢＵＳと高速アクセスポート(ＨＡＣＳＰ)とを介したフラッシュメモリモジュール６のプログラムフラッシュＰＦＬへの読み出しコマンドに従って図３のプログラムフラッシュＰＦＬの読み出し動作が開始される。
【０２２１】
すなわち、図３のプログラムフラッシュＰＦＬの第１と第２の不揮発性メモリアレー３１、３２のいずれか一方のメモリアレーの１つの不揮発性メモリセルＭＣ０から単一データの１ビットの通常データを読み出す動作が開始される。この通常データ読み出しにより読み出されるデータは、図６(Ｂ)のデータ“０”の書き込み状態のデータ、または図６(Ａ)のデータ“１”の消去状態のデータである。
【０２２２】
図３の通常データ読み出しの信号経路ＮＲ＿ＲＤに示すように、第１の不揮発性メモリアレー３１の１つの不揮発性メモリセルＭＣ０からの単一データは、１本のサブビット線ＳＢＬと第１のセレクタ３４とを介してセンスアンプ３６の第１入力端子Ｉｎ１に供給される。これと同時に、センスアンプ３６の第２入力端子Ｉｎ２には、図示されていないが参照セルから生成される通常データ読み出し参照レベルが供給されている。この通常データ読み出し参照レベルは、図６(Ａ)のデータ“１”の消去状態の低いしきい値電圧と図６(Ｂ)のデータ“０”の書き込み状態の高いしきい値電圧の略中間のレベルのしきい値電圧に対応するものである。図１の書き換え回数の比較的小さなプログラムフラッシュＰＦＬでは１つの不揮発性メモリセルＭＣ０に単一データの１ビットを書き込むと言う１セル／１ビット書き込み方式が採用されているので、図１のプログラムフラッシュＰＦＬの高密度記憶が可能とされている。通常データ読み出しによって図１のプログラムフラッシュＰＦＬの不揮発性メモリアレー３１、３２からセンスアンプ３６とデータ出力ラッチ・ドライバ３９とによって読み出されたプログラムデータは、図１のＭＣＵ１において読み出し専用の高速アクセスポート(ＨＡＣＳＰ)と高速バス(ＨＢＵＳ)とを介してＣＰＵ２に供給されることができる。
【０２２３】
以上説明したように、プログラムフラッシュＰＦＬの通常データ読み出しでは、列セレクタ３４、３５は不揮発性メモリアレー３１、３２の１つの不揮発性メモリセルＭＣ０からの単一データをセンスアンプ３６の第１と第２の入力端子Ｉｎ１、Ｉｎ２の一方の入力端子に供給する。一方、この通常データ読み出しでは、列セレクタ３４、３５は通常データ読み出し参照レベルをセンスアンプ３６の第１と第２の入力端子Ｉｎ１、Ｉｎ２の他方の入力端子に供給することが可能である。
【０２２４】
《プログラムフラッシュでのベリファイ読み出し》
図１のＭＣＵ１においては、頻度は比較的低いが、ＣＰＵ２またはＤＭＡＣ３からフラッシュメモリモジュール６へプログラムの書き込み要求が発行される。プログラムの書き込み要求に関係してフラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のプログラムフラッシュＰＦＬへのプログラムの書き込みコマンドに従って、図３のプログラムフラッシュＰＦＬのプログラムの書き込み動作が開始される。このプログラムフラッシュＰＦＬの不揮発性メモリのプログラムの書き込み動作では、不揮発性メモリに正しくプログラムのデータが書き込まれたかのベリファイ動作のための書き込みベリファイ読み出しが行われなければならない。
【０２２５】
従って、図３のプログラムフラッシュＰＦＬの第１と第２の不揮発性メモリアレー３１、３２のいずれか一方の１つの不揮発性メモリセルＭＣ０への単一データの１ビットの書き込みに際して書き込みベリファイ読み出しが行われる。上述したように不揮発性メモリセルＭＣ０への単一データの書き込みは、図６(Ａ)の消去状態から図６(Ｂ)に示すように不揮発性メモリセルＭＣ０のしきい値電圧(Ｖth)を上昇することで実現することができる。
【０２２６】
図３のベリファイ読み出しの信号経路ＶＲ＿ＲＤに示すように、第１の不揮発性メモリアレー３１の１つの不揮発性メモリセルＭＣ０からの単一データは、通常データ読み出しの信号経路ＮＲ＿ＲＤと全く同様に、１本のサブビット線ＳＢＬと第１のセレクタ３４とを介してセンスアンプ３６の第１入力端子Ｉｎ１に供給される。これと同時に、センスアンプ３６の第２入力端子Ｉｎ２には、図示されていないが参照セルから生成される書き込みベリファイ参照レベルが供給されている。この書き込みベリファイ参照レベルは、図６(Ａ)のデータ“１”の消去状態の低いしきい値電圧と図６(Ｂ)のデータ“０”の書き込み状態の高いしきい値電圧の略中間のレベルのしきい値電圧に対応するものである。好ましくは、書き込みベリファイ参照レベルは、中間のレベルのしきい値電圧よりも図６(Ｂ)のデータ“０”の書き込み状態の高いしきい値電圧に近接されている。
【０２２７】
単一データの書き込み時に１つの不揮発性メモリセルＭＣ０のしきい値電圧(Ｖth)を上昇するために、ＢＬ＝０Ｖ、ＣＧ＝１．５Ｖ、ＭＧ＝１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖの電圧条件の書き込みパルスが印加される。この書き込みパルスの印加の後に信号経路ＶＲ＿ＲＤによるベリファイ読み出しにより、１つの不揮発性メモリセルＭＣ０のしきい値電圧(Ｖth)が書き込みベリファイ参照レベルより低レベルであると書き込みは不十分である。この場合には上述の電圧条件の他の書き込みパルスが、１つの不揮発性メモリセルＭＣ０に再度印加される。他の書き込みパルスの印加の後に信号経路ＶＲ＿ＲＤによる書き込みベリファイ読み出しにより、１つの不揮発性メモリセルＭＣ０のしきい値電圧(Ｖth)が書き込みベリファイ参照レベルより高レベルであると判定されると、書き込みは十分となる。
【０２２８】
書き込みが不十分の時には、データ書き込み・ベリファイ回路３８の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が生成される。書き込み単位が８ビットの不揮発性メモリセルＭＣ０ならば、８個の排他的否定論理和回路ＥＸＮＯＲの少なくともいずれか１個の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が出力されると、アンド回路ＡＮＤの出力からローレベル“０”が出力され、８ビットの書き込み単位の不揮発性メモリセルＭＣ０に次の書き込みパルスが再度印加される。書き込みが十分な時には、データ書き込み・ベリファイ回路３８の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が生成される。書き込み単位が８ビットの不揮発性メモリセルＭＣ０ならば、８個の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が出力され、アンド回路ＡＮＤの出力からハイレベル“１”が出力され、８ビットの書き込み単位の不揮発性メモリセルＭＣ０への書き込みが完了する。
【０２２９】
このように、プログラムフラッシュＰＦＬの書き込みベリファイ読み出しでは、第１の不揮発性メモリアレー３１の１つの不揮発性メモリセルＭＣ０からの単一データは、通常データ読み出しの信号経路ＮＲ＿ＲＤと全く同様のベリファイ読み出しの信号経路ＶＲ＿ＲＤが使用されて、１本のサブビット線ＳＢＬと第１のセレクタ３４とを介してセンスアンプ３６の第１入力端子Ｉｎ１に供給される。これと同時に、センスアンプ３６の第２入力端子Ｉｎ２には、図示されていないが参照セルから生成される書き込みベリファイ参照レベルが供給されている。
【０２３０】
頻度は比較的低いが、図１のＭＣＵ１においてＣＰＵ２からの消去要求に関係して、フラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のプログラムフラッシュＰＦＬへの消去コマンドに従って図１のプログラムフラッシュＰＦＬの消去動作が開始される。このプログラムフラッシュＰＦＬの不揮発性メモリの消去動作では、不揮発性メモリが正確に消去されたかのベリファイ動作のための消去ベリファイ読み出しが行われなければならない。
【０２３１】
更に、図３のプログラムフラッシュＰＦＬでは、１つの不揮発性メモリセルＭＣ０への単一データの書き込みに先立って第１と第２の不揮発性メモリアレー３１、３２に含まれる全ての不揮発性メモリセルＭＣ０の消去動作を行うことが必要となる。この消去動作によって、第１と第２の不揮発性メモリアレー３１、３２に含まれる全ての不揮発性メモリセルＭＣ０は、図６(Ａ)のデータ“１”の消去状態の低いしきい値電圧の状態とされる。この消去動作にも、不揮発性メモリセルＭＣ０に低いしきい値電圧のデータ“１”の消去データが正確に書き込まれたかの消去ベリファイ動作が必要となる。消去動作では、コントロールゲート(ＣＧ)とメモリゲート(ＭＧ)とを共有する複数の不揮発性メモリセルＭＣ０が消去動作の処理単位とされる。消去動作の処理単位の複数の不揮発性メモリセルＭＣ０のしきい値電圧(Ｖth)を低下するために、ＢＬ＝Ｈｉ−Ｚ(高インピーダンス状態)、ＣＧ＝１．５Ｖ、ＭＧ＝−１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖの電圧条件の消去込みパルスが印加される。この消去パルスの印加の後に信号経路ＶＲ＿ＲＤによる消去ベリファイ読み出しにより、メモリセルのしきい値電圧(Ｖth)がベリファイ参照レベルより高レベルであると判定されると、消去は不十分とされる。この場合には上述の電圧条件の消去パルスが、消去動作の処理単位の複数の不揮発性メモリセルＭＣ０に再度印加される。他の消去パルスの印加の後に消去信号経路ＶＲ＿ＲＤによる消去ベリファイ読み出しにより、メモリセルのしきい値電圧(Ｖth)がベリファイ参照レベルより高レベルであると判定されると、消去は十分とされる。
【０２３２】
消去が不十分な時には、データ書き込み・ベリファイ回路３８の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が生成される。消去単位が８ビットの不揮発性メモリセルＭＣ０ならば、８個の排他的否定論理和回路ＥＸＮＯＲの少なくともいずれか１個の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が出力されると、アンド回路ＡＮＤの出力からローレベル“０”が出力され、８ビットの消去単位の不揮発性メモリセルＭＣ０に次の消去パルスが再度印加される。消去が十分な時には、データ書き込み・ベリファイ回路３８の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が生成される。消去単位が８ビットの不揮発性メモリセルＭＣ０ならば、８個の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が出力され、アンド回路ＡＮＤの出力からハイレベル“１”が出力され、８ビットの消去単位の不揮発性メモリセルＭＣ０の消去が完了する。
【０２３３】
図３のベリファイ読み出しの信号経路ＶＲ＿ＲＤに示すように、第１の不揮発性メモリアレー３１の１つの不揮発性メモリセルＭＣ０からの単一データは、通常データ読み出しの信号経路ＮＲ＿ＲＤと全く同様に、１本のサブビット線ＳＢＬと第１のセレクタ３４とを介してセンスアンプ３６の第１入力端子Ｉｎ１に供給される。これと同時に、センスアンプ３６の第２入力端子Ｉｎ２には、図示されていないが参照セルから生成される消去ベリファイ参照レベルが供給されている。この消去ベリファイ参照レベルは、図６(Ａ)のデータ“１”の消去状態の低いしきい値電圧と図６(Ｂ)のデータ“０”の書き込み状態の高いしきい値電圧の略中間のレベルのしきい値電圧に対応するものである。好ましくは、消去ベリファイ参照レベルは、中間のレベルのしきい値電圧よりも図６(Ａ)のデータ“１”の消去状態の低いしきい値電圧に近接されている。
【０２３４】
このように、プログラムフラッシュＰＦＬの消去ベリファイ読み出しでは、第１の不揮発性メモリアレー３１の１つの不揮発性メモリセルＭＣ０からの単一データは、通常データ読み出しの信号経路ＮＲ＿ＲＤと全く同様のベリファイ読み出しの信号経路ＶＲ＿ＲＤが使用されて、１本のサブビット線ＳＢＬと第１のセレクタ３４とを介してセンスアンプ３６の第１入力端子Ｉｎ１に供給される。これと同時に、センスアンプ３６の第２入力端子Ｉｎ２には、図１７に示すようにプログラムフラッシュＰＦＬに含まれる参照セルＲｅｆ＿Ｃｅｌｌから生成される消去ベリファイ参照レベルＶＲ＿Ｒｅｆ＿ＤＣが供給されている。
【０２３５】
《データフラッシュでのブランク・チェックの詳細》
図１１は、図１に示したマイクロコンピュータ(ＭＣＵ)１に内蔵されたフラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータフラッシュＤＦＬに格納される種々のタイプのデータの構成を示す図である。
【０２３６】
図１１には、３つのタイプのデータ３０Ａ、３０Ｂ、３０Ｃが示されており、それぞれの前半部分にはツインセルへの相補データによる書き込みデータＤａｔａが書き込まれ、それぞれの後半はブランクの状態Ｂｌａｎｋとなっている。この後半のブランクの状態のメモリ領域の多数のツインセルへ、新規な相補データが追加書き込みされることが可能である。
【０２３７】
図１２は、図１１に示した種々のタイプのデータのブランク・チェックを実行するための処理フローを示す図である。
【０２３８】
図１３は、図１２に示した処理フローによるブランク・チェックを実行するのに好適なフラッシュシーケンサ７の構成を示す図である。
【０２３９】
図１３に示すフラッシュシーケンサ７は、ＣＰＵ２とフラッシュメモリモジュール６のデータフラッシュＤＦＬとの間に接続されている。特に、フラッシュシーケンサ７は、周辺バスＰＢＵＳの周辺アドレスバスＰＡＢと周辺データバスＰＤＢとを介してＣＰＵ２と接続されている。フラッシュシーケンサ７は、シーケンスコントローラ７１、ブランク・チェック設定レジスタ７２、立ち上がり検出器７３、ブランク開始アドレス格納レジスタ７４、立ち下がり検出器７５、ブランク終了アドレス格納レジスタ７６、ブランク・チェック検出レジスタ７７を含んでいる。ブランク・チェック設定レジスタ７２には、ＣＰＵ２からデータフラッシュＤＦＬでのブランク・チェック・対象領域の開始アドレスと対象領域の容量範囲(終了アドレス)とが格納されることができる。また、フラッシュシーケンサ７には、図１に示したマイクロコンピュータ(ＭＣＵ)１に内蔵されたＰＬＬ１１から生成されるアクセス基本クロックＣＬＫＰと検出クロックＣＬＫＩとが供給され、検出クロックＣＬＫＩは立ち上がり検出器７３と立ち下がり検出器７５のラッチ制御入力端子に供給される。立ち上がり検出器７３からの立ち上がり検出信号に応答してシーケンスコントローラ７１からのブランク・チェックのアドレスがブランク開始アドレス格納レジスタ７４に格納され、立ち下がり検出器７５からの立ち下がり検出信号に応答してシーケンスコントローラ７１からのブランク・チェックのアドレスがブランク終了アドレス格納レジスタ７６に格納される。また、立ち上がり検出器７３からの立ち上がり検出信号に応答してブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓがハイレベル“１”にセットされ、立ち上がり検出器７３からの立ち上がり検出信号に応答してブランク・チェック検出レジスタ７７のブランク終了信号Ｂ＿Ｅがハイレベル“１”にセットされる。
【０２４０】
図１２の処理フローの最初のステップ４０で、データフラッシュＤＦＬに格納された種々のタイプのうち例えば図１１のデータ３０Ａに関するブランク・チェックがＣＰＵ２によってフラッシュシーケンサ７へ要求される。
【０２４１】
図１２のステップ４１では、ＣＰＵ２から図１１のデータ３０Ａに関するブランク・チェック・対象領域の開始アドレスと対象領域の容量範囲がフラッシュシーケンサ７内部のブランク・チェック設定レジスタ７２に格納される。
【０２４２】
図１２のステップ４２では、ＣＰＵ２からフラッシュシーケンサ７内部のシーケンスコントローラ７１へブランク・チェック・コマンドが発行される。すると、フラッシュシーケンサ７内部のシーケンスコントローラ７１は、ブランク・チェック設定レジスタ７２に格納されたブランク・チェック・対象領域の開始アドレスに従ってブランク・チェックされるデータフラッシュＤＦＬの不揮発性メモリアレーの複数のツインセルのアドレスを内部アドレスバスＩＡＢに順次出力する。内部アドレスバスＩＡＢに順次出力された複数のツインセルのチェック・アドレスは、データフラッシュＤＦＬの低速アクセスポート(ＬＡＣＳＰ)６１を介して不揮発性メモリアレーの複数のツインセルに順次供給される。複数のツインセルで順次ブランク・チェックが実行され、データフラッシュＤＦＬにブランク・チェック結果６１Ａが生成される。
【０２４３】
データフラッシュＤＦＬのブランク・チェック結果６１Ａは、低速アクセスポート(ＬＡＣＳＰ)６１と内部データバスＩＤＢとを介してブランク信号Ｂｌａｎｋとしてフラッシュシーケンサ７内部の立ち上がり検出器７３と立ち下がり検出器７５とに供給される。図１１のデータ３０Ａの前半部分にはツインセルへの相補データによる書き込みデータが書き込まれているので、ブランク・チェック・対象領域の開始アドレスのツインセルと直後のアドレスのツインセルとからのブランク信号Ｂｌａｎｋはローレベル“０”(使用済み)となっている。図１１のデータ３０Ａの後半はブランクの状態Ｂｌａｎｋとなっているので、途中のアドレスのツインセルからのブランク信号Ｂｌａｎｋはハイレベル“１”(未使用のブランク状態)となる。
【０２４４】
図１４は、図１３に示すフラッシュシーケンサ７の動作を説明するためのフラッシュシーケンサ７の各部の波形を示す図である。
【０２４５】
図１４の上２つには、図１に示したマイクロコンピュータ(ＭＣＵ)１に内蔵されたＰＬＬ１１から生成されるアクセス基本クロックＣＬＫＰと検出クロックＣＬＫＩとが示されている。
【０２４６】
図１４の３つ目にシーケンスコントローラ７１から内部アドレスバスＩＡＢに順次出力されるブランク・チェックのためのアドレス信号が示され、図１４の４つ目にデータフラッシュＤＦＬから内部データバスＩＤＢに出力されるブランク信号Ｂｌａｎｋの信号変化が示されている。
【０２４７】
図１４の５つ目と７つ目とには、ブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓとブランク終了信号Ｂ＿Ｅとの信号変化がそれぞれ示されている。
【０２４８】
図１４の６つ目と８つ目とには、ブランク開始アドレス格納レジスタ７４に格納されるブランク開始アドレスと、ブランク終了アドレス格納レジスタ７６に格納されるブランク終了アドレスとがそれぞれ示されている。図１４に示す例では、内部アドレスバスＩＡＢに出力されたブランク・チェックのアドレス信号(Ｌ＋１)が、図１１のデータ３０Ａの後半のブランクの開始アドレスとなっている。また図１４の例では、内部アドレスバスＩＡＢに出力されたブランク・チェックのアドレス信号(Ｎ)が、図１１のデータ３０Ａの後半のブランクの終了アドレスとなっている。
【０２４９】
このようにして、図１１のデータ３０Ａの後半のブランクの開始アドレスと終了アドレスとが検出されると、図１１のデータ３０Ａのブランク・チェックが完了する。すると、ブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓがハイレベル“１”にセットされ、立ち上がり検出器７３からの立ち上がり検出信号に応答してブランク・チェック検出レジスタ７７のブランク終了信号Ｂ＿Ｅがハイレベル“１”にセットされている。すると、シーケンスコントローラ７１はブランク・チェック完了のレスポンスを周辺バスＰＢＵＳの周辺データバスＰＤＢを介してＣＰＵ２に供給する。このレスポンスに応答してＣＰＵ２は、図１２のステップ４２で発行したブランク・チェック・コマンドを図１２のステップ４３にて終了する。
【０２５０】
図１２のステップ４３にてブランク・チェック・コマンドが終了されると、次のステップ４４でＣＰＵ２は周辺バスＰＢＵＳの周辺データバスＰＤＢを介してブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓとブランク終了信号Ｂ＿Ｅとを確認する。更に次のステップ４５にてＣＰＵ２は、周辺バスＰＢＵＳの周辺データバスＰＤＢを介してブランク開始アドレス格納レジスタ７４に格納されたブランク開始アドレスとブランク終了アドレス格納レジスタ７６に格納されたブランク終了アドレスとを確認する。
【０２５１】
以上の処理が終了すると、図１２のステップ４６にてブランク・チェックの処理が完了する。
【０２５２】
《データフラッシュとプログラムフラッシュとのパーティション》
上述したように、図３に示すプログラムフラッシュＰＦＬは、図２に示したデータフラッシュＤＦＬの構成と極めて類似している。従って、本発明の１つの好適な実施の形態では、図１のＭＣＵ１のフラッシュメモリモジュール６の内部で図２のデータフラッシュＤＦＬの配置と図３のプログラムフラッシュＰＦＬの配置に任意に設定可能である。
【０２５３】
図１５は、図１のＭＣＵ１のフラッシュメモリモジュール(ＦＭＤＬ)６の内部でデータフラッシュＤＦＬの配置とプログラムフラッシュＰＦＬの配置を任意に設定する様子を説明する図である。図１５に示すフラッシュメモリモジュール(ＦＭＤＬ)６の最下部には、制御管理領域Ｃｎｔ＿Ａｒｅａが含まれている。この制御管理領域Ｃｎｔ＿Ａｒｅａには、ＭＣＵ１の種々の制御コードが含まれることが可能であるとともにその先頭にはＭＣＵ１の初期化制御コードデータＩＮＴ＿Ｄａｔａが含まれている。
【０２５４】
図１のＭＣＵ１のパワーオン等のシステムリセット時のシステム初期化に際して、ＣＰＵ２は外部リセット信号ＲＥＳに応答して図１５に示すフラッシュメモリモジュール(ＦＭＤＬ)６の最下部の制御管理領域Ｃｎｔ＿Ａｒｅａが含まれる初期化制御コードデータＩＮＴ＿Ｄａｔａを読み出す。
【０２５５】
読み出された初期化制御コードデータＩＮＴ＿Ｄａｔａは例えば外部入出力ポート８、９、タイマ１０、クロックパルスジェネレータ１１等の周辺モジュールに供給され、周辺モジュールの動作モードが初期設定されることができる。この時に、ＣＰＵ２によって読み出される初期化制御コードデータＩＮＴ＿Ｄａｔａには、図１５のフラッシュメモリモジュール(ＦＭＤＬ)６に配置されるデータフラッシュＤＦＬの最終アドレスＥＡが含まれている。
【０２５６】
図１のＭＣＵ１のパワーオン等のシステムリセット時のシステム初期化に際して、ＣＰＵ２は読み出された最終アドレスＥＡを使用してフラッシュメモリモジュール(ＦＭＤＬ)６の内部でデータフラッシュＤＦＬの配置とプログラムフラッシュＰＦＬの配置を任意に設定するものである。図１５では、フラッシュメモリモジュール６の左上の初期アドレスで指定される不揮発性メモリアレーＭＡＲＹ＿００から順番に最終アドレスＥＡで指定される不揮発性メモリアレーＭＡＲＹ＿３Ｍまでの部分が、データフラッシュＤＦＬとして動作モードが初期設定される。従って、この部分の不揮発性メモリアレーは２つの不揮発性メモリセルから構成されたツインセルに相補データの１ビットを書き込むと言う２セル／１ビットの高信頼性の書き込み方式を採用するデータフラッシュＤＦＬとして機能することになる。
【０２５７】
次にＣＰＵ２は最終アドレスＥＡで指定される不揮発性メモリアレーＭＡＲＹ＿３Ｍの次の不揮発性メモリアレーＭＡＲＹ＿４０から順番に最後の不揮発性メモリアレーＭＡＲＹ＿ＮＭまで部分を、プログラムフラッシュＰＦＬとして動作モードを初期設定する。従って、この部分の不揮発性メモリアレーは１つの不揮発性メモリセルに単一データの１ビットを書き込むと言う１セル／１ビットの高密度の書き込み方式を採用するプログラムフラッシュＰＦＬとして機能することになる。
【０２５８】
以上のようにして、パワーオン時のシステム初期化に際して、フラッシュメモリモジュール(ＦＭＤＬ)６の内部でのデータフラッシュＤＦＬとプログラムフラッシュＰＦＬとのパーティションを完了することができる。尚、データフラッシュＤＦＬとプログラムフラッシュＰＦＬとのパーティションを変更する場合には、図１５に示すフラッシュメモリモジュール(ＦＭＤＬ)６の最下部の制御管理領域Ｃｎｔ＿Ａｒｅａの初期化制御コードデータＩＮＴ＿Ｄａｔａに含まれる最終アドレスＥＡをＣＰＵ２により書き換えるものである。
【０２５９】
２．第２の発明
《マイクロコンピュータ》
図１は、本発明の実施の形態によるマイクロコンピュータ(ＭＣＵ)１の構成を示す図である。図１に示されたマイクロコンピュータ１は、微細化ＣＭＯＳ半導体製造プロセスによって単結晶シリコンからなる１個の半導体チップに形成される。
【０２６０】
マイクロコンピュータ１は高速バスＨＢＵＳと周辺バスＰＢＵＳとの２階層バス構成を有するものであり、高速バスＨＢＵＳと周辺バスＰＢＵＳはそれぞれデータバス、アドレスバス及びコントロールバスを有する。バスを２階層バス構成に分離することにより、共通バスに全ての回路を共通接続する場合に比べてバスの負荷を軽くして、高速アクセス動作を可能とするものである。
【０２６１】
高速バスＨＢＵＳには、命令制御部と実行部とを備えて命令を実行する中央処理ユニット(ＣＰＵ)２、ダイレクトメモリアクセスコントローラ(ＤＭＡＣ)３、高速バスＨＢＵＳと周辺バスＰＢＵＳとのバスインタフェース制御もしくはバスブリッジ制御を行うバスインタフェース回路(ＢＩＦ)４が、接続されている。更に、高速バスＨＢＵＳには、中央処理ユニット２のワーク領域等に利用されるランダムアクセスメモリ(ＲＡＭ)５、及びデータやプログラムを格納する不揮発性メモリモジュールとしてのフラッシュメモリモジュール(ＦＭＤＬ)６が接続される。このフラッシュメモリモジュール(ＦＭＤＬ)６には、図２に示すデータフラッシュＤＦＬと図３に示すプログラムフラッシュＰＦＬとが含まれている。プログラムフラッシュＰＦＬには中央処理ユニット(ＣＰＵ)２のための種々のソフトウェア・プログラムが格納され、データフラッシュＤＦＬには中央処理ユニット(ＣＰＵ)２によるプログラム実行結果の種々のデータが格納される。
【０２６２】
周辺バスＰＢＵＳには、フラッシュメモリモジュール(ＦＭＤＬ)６に関係するコマンドアクセスの制御を行うフラッシュシーケンサ(ＦＳＱＣ)７、外部入出力ポート(ＰＲＴ)８，９、タイマ(ＴＭＲ)１０、マイクロコンピュータの内部クロック信号を生成するフェーズロックドループ(ＰＬＬ)１１が接続されている。クロック端子ＸＴＡＬ／ＥＸＴＡＬには発振子が接続されるかあるいは外部クロック信号が供給されるもので、外部ハードウェアスタンバイ端子ＳＴＢＹにはスタンバイ状態指示信号が供給され、外部リセット端子ＲＥＳはリセット指示信号が供給される。外部電源端子Vccと外部グランド端子Ｖssとの間には、動作電源電圧が供給されるものである。
【０２６３】
ここではフラッシュシーケンサ７はロジック回路として論理合成によって設計され、メモリアレイ構成のフラッシュメモリモジュール６はＣＡＤツールを用いて設計されているため、便宜上別々の回路ブロックとして図示されているが、実質的には双方統合された一つのフラッシュメモリとして構成されている。フラッシュメモリモジュール６は、読み出し専用の高速アクセスポート(ＨＡＣＳＰ)を介して高速バスＨＢＵＳに接続される。従って、ＣＰＵ２やＤＭＡＣ３は高速バスＨＢＵＳと高速アクセスポート(ＨＡＣＳＰ)とを介してフラッシュメモリモジュール６をリードアクセスすることができる。ＣＰＵ２やＤＭＡＣ３はフラッシュメモリモジュール６に対して書き込み及び消去のアクセスを実行する時には、バスインタフェース４と周辺バスＰＢＵＳとを経由してフラッシュシーケンサ７にコマンドを発行する。これによって、フラッシュシーケンサ７は、周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介してフラッシュメモリモジュールの消去や書き込み動作の制御を実行する。
【０２６４】
フラッシュメモリモジュール(ＦＭＤＬ)６に含まれたプログラムフラッシュＰＦＬは複数のシングルセルを含み、各シングルセルを構成する１つの不揮発性メモリに単一データの１ビットを書き込むと言う１セル／１ビット書き込み方式が採用されている。従って、フラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータ書き換え回数の小さなプログラムフラッシュＰＦＬには、マイクロコンピュータ(ＭＣＵ)１の中央処理ユニット(ＣＰＵ)２のための種々のソフトウェア・プログラムの高密度記憶が可能となる。
【０２６５】
フラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータフラッシュＤＦＬは複数のツインセルを含み、１つのツインセルを構成する２つの不揮発性メモリには相補データが書き込まれることができる。フラッシュシーケンサ７は、ＣＰＵ２からの指示(コマンド)に応答して、フラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータフラッシュＤＦＬとプログラムフラッシュＰＦＬとの書き込み・消去の不揮発性記憶動作を実行する。
【０２６６】
それとともに、フラッシュシーケンサ７は、ＣＰＵ２からの要求に応答してデータフラッシュＤＦＬでのブランク・チェックの動作も実行する。すなわち、フラッシュシーケンサ７は、ブランク・チェックの動作モードに設定されるものである。それによって、フラッシュシーケンサ７は、フラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータフラッシュＤＦＬの複数のツインセルのどこまでが書き込み済みの使用状態であるかと、どこからが未書き込みのイニシャライズ消去状態なのかのブランク・チェック機能を実現する。
【０２６７】
また、ＣＰＵ２からの解除要求に応答して、フラッシュシーケンサ７は設定されたブランク・チェックの動作モードを解除するものである。ブランク・チェックの動作モードの解除によって、データフラッシュＤＦＬの通常読み出しの動作が可能となる。フラッシュシーケンサ７のブランク・チェック動作モードへの設定からブランク・チェック動作モードの解除までの間に、フラッシュシーケンサ７はデータフラッシュＤＦＬの必要なメモリサイズのブランク・チェック動作を制御するものである。
【０２６８】
上述したようにＣＰＵ２からデータフラッシュＤＦＬの複数のツインセルのブランク・チェックの要求に応答して、フラッシュシーケンサ７はブランク・チェックの動作モードに移行する。本発明のより好適な実施の形態によれば、ブランク・チェック動作モードへの移行に先立って、フラッシュシーケンサ７にはＣＰＵ２からブランク・チェック・対象領域の開始アドレス、対象領域の容量(終了アドレス)が供給される。従って、データフラッシュＤＦＬでの複数の対象領域でブランク・チェック動作を実行することが容易となるものである。それによって、データフラッシュＤＦＬの任意のチェック対象でのブランク・チェック動作の実行が可能となる。すなわち、フラッシュシーケンサ７のブランク・チェックの動作モードへの移行が完了して、フラッシュシーケンサ７のブランク・チェックの動作が開始されると、ブランク・チェック・対象領域の開始アドレスから終了アドレスまでの複数のツインセルのブランク・チェックが開始される。このブランク・チェックの動作の間に、ＣＰＵからのメモリ読み出し要求に応答して、フラッシュシーケンサ７は例えば８バイト分のツインセルのブランク・チェック・データによるブランク・チェック・ステータス情報をデータフラッシュＤＦＬからＣＰＵに供給する。その間にＣＰＵからの次のメモリ読み出し要求に応答して、フラッシュシーケンサ７は次の８バイト分のツインセルのブランク・チェック・データによる次のブランク・チェック・ステータス情報をデータフラッシュＤＦＬからＣＰＵに供給する。このようにして、データフラッシュＤＦＬの複数のツインセルの対象領域の開始アドレスから終了アドレスまでのブランク・チェックの動作が完了すると、フラッシュシーケンサ７へＣＰＵ２からブランク・チェック・動作モードの解除要求が発行される。
【０２６９】
《ブランク・チェック・動作モード》
図１０は、図１に示す本発明の実施の形態によるマイクロコンピュータ(ＭＣＵ)１においてブランク・チェックの機能が実行される様子を示す図である。
【０２７０】
図１０において、まず、図１に示すＭＣＵ１のＣＰＵ２は期間２０にてブランク・チェックを行うためフラッシュシーケンサ７でのブランク・チェック動作モードの要求を発行して、期間２１からＣＰＵ２はウェイト状態に移行する。期間２０でのＣＰＵ２から発行されたブランク・チェック動作モードの要求に応答して、フラッシュシーケンサ７は期間２２でフラッシュメモリモジュール６に含まれたデータフラッシュＤＦＬをブランク・チェックの動作モードに移行させる。本発明のより好適な実施の形態によれば、ブランク・チェック動作モードへの移行に先立って、フラッシュシーケンサ７には、期間２０の間にＣＰＵ２からブランク・チェック・対象領域の開始アドレスと対象領域の容量(終了アドレス)とが供給される。期間２２ではデータフラッシュＤＦＬの内部でブランク・チェックされる全ての不揮発性メモリアレーのメモリ領域の多数のツインセルにブランク・チェックのための電圧の供給が開始され、その後、多数のツインセルの電圧／電流が、安定化される。期間２３のＣＰＵからのメモリ読み出し要求に応答して、フラッシュシーケンサ７による制御により期間２４でデータフラッシュＤＦＬの内部で予め定められた開始アドレスから８バイト分のチェック・サイズのツインセルからのブランク・チェック・データが８バイトの容量の内部レジスタに読み出される。またこの期間２４では、内部レジスタに読み出された８バイトのブランク・チェック・データから生成されたブランク・チェック・ステータス情報が、データフラッシュＤＦＬからＣＰＵ２に供給される。期間２５で、ＣＰＵ２は供給されたブランク・チェック・ステータス情報を確認する。期間２６でのＣＰＵ２からの次のメモリ読み出し要求に応答して、期間２７１でフラッシュシーケンサ７による制御によりデータフラッシュＤＦＬの次の８バイト分のツインセルからのブランク・チェック・データが８バイトの容量の内部レジスタに読み出される。またこの期間２７１では、内部レジスタに読み出された８バイトのブランク・チェック・データから生成されたブランク・チェック・ステータス情報が、データフラッシュＤＦＬからＣＰＵ２に供給される。期間２８１で、ＣＰＵ２は供給されたブランク・チェック・ステータス情報を確認する。このようにして、データフラッシュＤＦＬの必要なツインセルのブランク・チェックの動作が全て完了すると、期間２８２でフラッシュシーケンサ７へＣＰＵ２からブランク・チェック・動作モードの解除要求が発行される。その後、ブランク・チェックされたデータフラッシュＤＦＬは、何時でも通常データ読み出しが可能となるように、期間２９で読み出し状態に移行される。従って、ブランク・チェックされたデータフラッシュＤＦＬのツインセルの電圧／電流は、リード状態で安定化される。
【０２７１】
《フラッシュメモリモジュール》
図２は、図１に示したマイクロコンピュータ(ＭＣＵ)１に内蔵されたフラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータフラッシュＤＦＬの構成を示す図である。
【０２７２】
図２に示すフラッシュメモリモジュール６のデータフラッシュＤＦＬには、図１のマイクロコンピュータ(ＭＣＵ)１の中央処理ユニット(ＣＰＵ)２によるプログラム実行結果の種々のデータが格納される。図２のデータフラッシュＤＦＬの大きなデータ書き換え回数による疲弊によっても正確なデータ読み出しを可能とするため、図２のデータフラッシュＤＦＬでは２つの不揮発性メモリセルＭＣ１、ＭＣ２から構成されたツインセルに相補データの１ビットを書き込むと言う２セル／１ビット書き込み方式が採用されている。
【０２７３】
図３は、図１に示したマイクロコンピュータ(ＭＣＵ)１に内蔵されたフラッシュメモリモジュール(ＦＭＤＬ)６に含まれたプログラムフラッシュＰＦＬの構成を示す図である。
【０２７４】
図３に示すフラッシュメモリモジュール６のプログラムフラッシュＰＦＬには、図１のマイクロコンピュータ(ＭＣＵ)１の中央処理ユニット(ＣＰＵ)２のための種々のソフトウェア・プログラムが格納される。図３のデータ書き換え回数の小さなプログラムフラッシュＰＦＬの高密度記憶を可能とするため、図３のプログラムフラッシュＰＦＬでは１つの不揮発性メモリセルＭＣ０に単一データの１ビットを書き込むと言う１セル／１ビット書き込み方式が採用されている。
【０２７５】
《不揮発性メモリセル》
図４は、図２のデータフラッシュＤＦＬに含まれて相補データの１ビットが書き込まれる２つの不揮発性メモリセルＭＣ１、ＭＣ２と図３のプログラムフラッシュＰＦＬに含まれて単一データの１ビットが書き込まれる不揮発性メモリセルＭＣ０の構成と動作とを示す図である。
【０２７６】
図４(Ａ)に示すように、これらの不揮発性メモリセルＭＣ１、ＭＣ２、ＭＣ０のそれぞれは、スプリットゲート型フラッシュメモリ素子によって構成されている。このメモリ素子は、ソース・ドレインの間のチャネル領域の上にゲート絶縁膜を介して形成されたコントロールゲート(ＣＧ)とメモリゲート(ＭＧ)とを有し、メモリゲート(ＭＧ)とゲート絶縁膜との間にはシリコンナイトライド等の電荷トラップ領域(ＳｉＮ)が形成されている。コントロールゲート(ＣＧ)側のソース又はドレイン領域はビット線(ＢＬ)に接続され、メモリゲート(ＭＧ)側のソース又はドレイン領域はソース線(ＳＬ)に接続されている。
【０２７７】
図４(Ａ)に示された不揮発性メモリセルの種々の動作の様子が、図４(Ｂ)に示されている。
【０２７８】
まず、メモリセルのしきい値電圧(Ｖth)を低下するには、ＢＬ＝Ｈｉ−Ｚ(高インピーダンス状態)、ＣＧ＝１．５Ｖ、ＭＧ＝−１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖとされることによって、ウェル領域(ＷＥＬＬ)とメモリゲートＭＧ間の高電界によって電荷トラップ領域(ＳｉＮ)からウェル領域(ＷＥＬＬ)に電子が引き抜かれる。この処理単位は、メモリゲートを共有する複数のメモリセルとされる。
【０２７９】
次に、メモリセルのしきい値電圧(Ｖth)を上昇するには、ＢＬ＝０Ｖ、ＣＧ＝１．５Ｖ、ＭＧ＝１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖとし、ソース線ＳＬからビット線に書き込み電流を流す。それによって、コントロールゲートとメモリゲートの境界部分で発生するホットエレクトロンが、電荷トラップ領域(ＳｉＮ)に注入される。電子の注入は、ビット線電流を流すか否かによって決定されるので、この処理はビット単位で制御される。
【０２８０】
更に、読み出し動作は、ＢＬ＝１．５Ｖ、ＣＧ＝１．５Ｖ，ＭＧ＝０Ｖ、ＳＬ＝０Ｖ、ＷＥＬＬ＝０Ｖで、実行される。メモリセルのしきい値電圧が低ければメモリセルはオン状態にされ、しきい値電圧が高ければオフ状態にされる。尚、不揮発性メモリセルＭＣ１、ＭＣ２、ＭＣ０のそれぞれは、図４(Ａ)に示すスプリットゲート型フラッシュメモリ素子に限定されるものではなく、スタックド・ゲート型フラッシュメモリ素子とすることもできる。このスタックド・ゲート型フラッシュメモリ素子は、ソース・ドレイン領域の間のチャネル形成領域の上にゲート絶縁膜を介してフローティングゲート(ＦＧ)とコントロールゲート(ＷＬ)とがスタックされることにより構成される。ホットキャリア書き込み方式またはＦＮトンネル書き込み方式によってしきい値電圧を上げ、ウェル領域(ＷＥＬＬ)への電子の放出またはビット線(ＢＬ)への電子の放出によってしきい値電圧を下げることができる。
【０２８１】
《データフラッシュに含まれる２つの不揮発性メモリセル》
図５は、図２のデータフラッシュＤＦＬに含まれて相補データの１ビットが書き込まれる２つの不揮発性メモリセルＭＣ１、ＭＣ２から構成された１つのツインセルの３つの状態を説明する図である。
【０２８２】
相補データの１ビットが書き込まれる２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)から構成された１つのツインセルによる情報記憶状態は、図５(Ａ)のイニシャライズ消去状態(ブランク消去状態)、図５(Ｂ)のデータ“１”の書き込み状態、図５(Ｃ)のデータ“０”の書き込み状態の３種類となる。
【０２８３】
データフラッシュＤＦＬの２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)から構成された１つのツインセルの図５(Ａ)のイニシャライズ消去状態は、図２で説明したメモリゲート(ＭＧ)を共有する複数のメモリセルを処理単位とするメモリセルのしきい値電圧(Ｖth)の低下の動作によって実現することができる。
【０２８４】
データフラッシュＤＦＬの２つの不揮発性メモリセルＭＣ１、ＭＣ２から構成された１つのツインセルの図５(Ｂ)のデータ“１”の書き込み状態は、図５(Ａ)のイニシャライズ消去状態から図２で説明したビット単位の制御によるメモリセルのしきい値電圧(Ｖth)の上昇を不揮発性メモリセルＭＣ２(ネガセル)で実行することで実現できる。
【０２８５】
データフラッシュＤＦＬの２つの不揮発性メモリセルＭＣ１、ＭＣ２から構成された１つのツインセルの図５(Ｃ)のデータ“０”の書き込み状態は、図５(Ａ)のイニシャライズ消去状態から図２で説明したビット単位の制御によるメモリセルのしきい値電圧(Ｖth)の上昇を不揮発性メモリセルＭＣ１(ポジセル)で実行することで実現できる。
【０２８６】
《プログラムフラッシュＰＦＬに含まれる不揮発性メモリセル》
図６は、図３のプログラムフラッシュＰＦＬに含まれて単一データの１ビットが書き込まれる不揮発性メモリセルＭＣ０の２つの状態を説明する図である。
【０２８７】
単一データの１ビットが書き込まれる不揮発性メモリセルＭＣ０の情報記憶状態は、図６(Ａ)のデータ“１”の消去状態、図６(Ｂ)のデータ“0”の書き込み状態の２種類となる。
【０２８８】
図６(Ａ)のデータ“１”の消去状態は、図４で説明したメモリゲート(ＭＧ)を共有する複数のメモリセルを処理単位とするメモリセルのしきい値電圧(Ｖth)の低下の動作によって実現することができる。
【０２８９】
図６(Ｂ)のデータ“０”の書き込み状態は、図６(Ａ)のデータ“１”の消去状態から図２で説明したビット単位の制御によるメモリセルのしきい値電圧(Ｖth)の上昇を不揮発性メモリセルＭＣ０で実行することによって実現することができる。
【０２９０】
《データフラッシュのアーキテクチャー》
図２は、図５で説明したように相補データの１ビットが書き込まれる２つの不揮発性メモリセルＭＣ１、ＭＣ２から構成された多数のツインセルを含み図１のＭＣＵ１のＣＰＵ２によるプログラム実行結果の種々のデータを格納するデータフラッシュＤＦＬのアーキテクチャーを示すものである。
【０２９１】
図２のデータフラッシュＤＦＬは、第１不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)２１、第２不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)２２、列デコーダ(ＹＤＥＣ)２３、第１列セレクタ(ＹＳＥＬ＿Ｊ)２４、第２列セレクタ(ＹＳＥＬ＿Ｋ)２５、センスアンプ(ＳＡ)２６を含んでいる。このデータフラッシュＤＦＬは、更に書き込みデータ入力バッファ２７、データ書き込み・ベリファイ回路２８、データ出力ラッチ・ドライバ２９を含んでいる。
【０２９２】
第１不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)２１と第２不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)２２のそれぞれは、２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)から構成されたツインセルを多数含むことにより、ＣＰＵ２によるプログラム実行結果の種々のデータを格納することができる。行方向の２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)のコントロールゲート(ＣＧ)とメモリゲート(ＭＧ)とソースとは、ワード線(ＷＬ)とメモリゲート線(ＭＧＬ)とソース線(ＳＬ)とにそれぞれ接続されている。
【０２９３】
第１不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)２１と第２不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)２２とでは、データ書き込みやデータ読み出しの高速化と低消費電力化とのために階層ビット線アーキテクチャーが採用されている。すなわち、第１と第２の不揮発性メモリアレー(ＭＡＲＹ＿Ｊ、Ｋ)２１、２２には、１本の書き込みメインビット線ＷＭＢＬと１本の読み出しメインビット線ＲＭＢＬとが接続されている。
【０２９４】
複数の不揮発性メモリセルＭＣ１、ＭＣ２が接続された複数のサブビット線ＳＢＬは、ビット線スイッチＢＬ＿ＳＷのスイッチＭＯＳトランジスタＱ3のソース・ドレイン経路を介して１本の書き込みメインビット線ＷＭＢＬに接続される。不揮発性メモリセルＭＣ１(ポジセル)にデータ書き込みが行われる場合には、不揮発性メモリセルＭＣ１(ポジセル)に接続されたサブビット線ＳＢＬと１本の書き込みメインビット線ＷＭＢＬとの間のビット線スイッチＢＬ＿ＳＷのスイッチＭＯＳトランジスタＱ3が制御信号線ＺＬによってオン状態に制御される。図２のデータフラッシュＤＦＬへのデータ書き込み時には、書き込みデータＱinは書き込みデータ入力バッファ２７とデータ書き込み・ベリファイ回路２８のセレクタＶ＿ＳＥＬ、書き込みラッチＷｒｉｔｅ  Ｌａｔｃｈとを介して１本の書き込みメインビット線ＷＭＢＬに供給される。１本の書き込みメインビット線ＷＭＢＬに供給された書き込みデータは、第１と第２の不揮発性メモリアレー２１、２２でビット線スイッチＢＬ＿ＳＷを介してデータフラッシュＤＦＬの不揮発性メモリセルＭＣ１(ポジセル)または不揮発性メモリセルＭＣ２(ネガセル)に書き込まれる。また、書き込みデータ入力バッファ２７に供給される書き込みデータＱinは、図１のＭＣＵ１においてＣＰＵ２の書き込み要求に応答したフラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のデータフラッシュＤＦＬへの書き込みコマンドに付随して供給されるものである。
【０２９５】
また、第１と第２の不揮発性メモリアレー(ＭＡＲＹ＿Ｊ、Ｋ)２１、２２の複数の不揮発性メモリセルＭＣ１、ＭＣ２が接続された複数のサブビット線ＳＢＬは、第１と第２の列セレクタ(ＹＳＥＬ＿Ｊ、Ｋ)２４、２５とセンスアンプ(ＳＡ)２６とを介して１本の読み出しメインビット線ＲＭＢＬに接続される。また、各サブビット線ＳＢＬには、読み出し動作の終了時および書き込み動作の終了時にサブビット線ＳＢＬの電位を放電するために放電制御信号Ｄchにより制御される放電スイッチＤｉｓ＿Ｓｗが接続されている。
【０２９６】
《データフラッシュでの通常データ読み出し》
図１のＭＣＵ１においてＣＰＵ２からの読み出し要求に応答して、高速バスＨＢＵＳと高速アクセスポート(ＨＡＣＳＰ)とを介したフラッシュメモリモジュール６のデータフラッシュＤＦＬへの読み出しコマンドに従って図２のデータフラッシュＤＦＬの読み出し動作が開始される。
【０２９７】
すなわち、図２のデータフラッシュＤＦＬの第１と第２の不揮発性メモリアレー２１、２２のいずれか一方のメモリアレーの１つのツインセルを構成する２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)から通常データを読み出す動作が開始される。この通常データ読み出しにより読み出されるデータは、図５(Ｂ)のデータ“１”の書き込み状態のデータ、または図５(Ｃ)のデータ“０”の書き込み状態のデータである。すなわち、通常データ読み出しにより読み出されるデータは、１つのツインセルを構成する２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)からの相補データである。
【０２９８】
図２の通常データ読み出しの信号経路ＮＲ＿ＲＤに示すように、第１の不揮発性メモリアレー２１の２つの不揮発性メモリセルＭＣ１、ＭＣ２からの相補データは、２本のサブビット線ＳＢＬと第１のセレクタ２４とを介してセンスアンプ２６の第１入力端子Ｉｎ１と第２入力端子Ｉｎ２とに並列に供給される。図２のデータフラッシュＤＦＬの大きなデータ書き換え回数による疲弊によって２つの不揮発性メモリセルＭＣ１、ＭＣ２のトランジスタのしきい値電圧の差が若干縮小しても、差動増幅型センスアンプであるセンスアンプ２６は若干縮小したしきい値電圧の差を正確に増幅することができる。その結果、図２のデータフラッシュＤＦＬの書き換え回数が増大してデータフラッシュＤＦＬのメモリセルが多少疲弊しても、データ読み出し時にセンスアンプ２６とデータ出力ラッチ・ドライバ２９とから正確な読み出しデータが出力されることができる。通常データ読み出しによって図２のデータフラッシュＤＦＬの不揮発性メモリアレー２１、２２からセンスアンプ２６とデータ出力ラッチ・ドライバ２９とによって読み出されたデータは、図１のＭＣＵ１において読み出し専用の高速アクセスポート(ＨＡＣＳＰ)と高速バス(ＨＢＵＳ)とを介してＣＰＵ２に供給されることができる。
【０２９９】
以上説明したように、データフラッシュＤＦＬの通常データ読み出しでは、列セレクタ２４、２５は不揮発性メモリアレー２１、２２の１つのツインセルを構成するポジセル、ネガセルからの相補データをセンスアンプ２６の第１と第２の入力端子Ｉｎ１、Ｉｎ２に並列に供給することが可能である。
【０３００】
《データフラッシュでのベリファイ読み出し》
図１のＭＣＵ１においてＣＰＵ２からの書き込み要求に応答して、フラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のデータフラッシュＤＦＬへの書き込みコマンドに従って図２のデータフラッシュＤＦＬの書き込み動作が開始される。このデータフラッシュＤＦＬの不揮発性メモリの書き込み動作では、不揮発性メモリに正しいデータが書き込まれたか否かのベリファイ動作のための書き込みベリファイ読み出しも行われる。
【０３０１】
すなわち、図２のデータフラッシュＤＦＬの第１と第２の不揮発性メモリアレー２１、２２のいずれか一方の１つのツインセルを構成する２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)への相補データの書き込みに際して、書き込みベリファイ読み出しが行われる。上述したように不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)への相補データの書き込みは、図５(Ａ)のイニシャライズ消去状態から図５(Ｂ)および図５(Ｃ)に示すようにポジセルとネガセルの一方のメモリセルのしきい値電圧(Ｖth)を上昇することで実現され、続けて書き込みベリファイ読み出しが実行される。
【０３０２】
書き込みベリファイ読み出しの動作を、詳細に説明する。図２のベリファイ読み出しの信号経路ＶＲ＿ＲＤに示すように、この相補データの書き込み時にしきい値電圧(Ｖth)が上昇される方のメモリセルからの書き込みベリファイ読み出しデータは、１本のサブビット線ＳＢＬと第１のセレクタ２４とを介してセンスアンプ２６の第１入力端子Ｉｎ１に供給される。これと平行して、図１６に示すようにデータフラッシュＤＦＬに含まれる参照セルＲｅｆ＿Ｃｅｌｌから生成される書き込みベリファイ参照レベルＶＲ＿Ｒｅｆ＿ＤＣが、センスアンプ２６の第２入力端子Ｉｎ２に供給される。
【０３０３】
相補データの書き込み時にポジセルとネガセルの一方のメモリセルのしきい値電圧(Ｖth)を上昇するために、ＢＬ＝０Ｖ、ＣＧ＝−１．５Ｖ、ＭＧ＝１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖの電圧条件の書き込みパルスが印加される。この書き込みパルスの印加の後に信号経路ＶＲ＿ＲＤによるベリファイ読み出しにより一方のメモリセルのしきい値電圧(Ｖth)が書き込みベリファイ参照レベルより低レベルであると判別されると、書き込みは不十分である。この場合には上述の電圧条件の他の書き込みパルスが、一方のメモリセルに再度印加される。他の書き込みパルスの再度の印加の後に信号経路、Ｒ＿ＲＤによる書き込みベリファイ読み出しにより一方のメモリセルのしきい値電圧(Ｖth)が書き込みベリファイ参照レベルより高レベルであると判別されると、書き込みは十分となる。
【０３０４】
書き込みベリファイ読み出しの動作を、更に詳細に説明する。書き込みが不十分な時には、データ書き込み・ベリファイ回路２８の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が生成される。書き込み単位が８ビットのツインセルならば、８個の排他的否定論理和回路ＥＸＮＯＲの少なくともいずれか１個の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が出力されると、アンド回路ＡＮＤの出力からローレベル“０”が出力され、８ビットの書き込み単位のツインセルに次の書き込みパルスが再度印加される。書き込みが十分な時には、データ書き込み・ベリファイ回路２８の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が生成される。書き込み単位が８ビットのツインセルならば、８個の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が出力され、アンド回路ＡＮＤの出力からハイレベル“１”が出力され、８ビットの書き込み単位のツインセルへの書き込みが完了する。
【０３０５】
このように、データフラッシュＤＦＬの書き込みベリファイ読み出しでは、列セレクタ２４、２５は不揮発性メモリアレー２１、２２の１つのツインセルで書き込みが行われる一方のセルからの書き込みベリファイ読み出しデータと書き込みベリファイ参照レベルとを、センスアンプ２６の第１と第２の入力端子に並列に供給することが可能である。
【０３０６】
図１のＭＣＵ１においてＣＰＵ２からの消去要求に応答して、フラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のデータフラッシュＤＦＬへの消去コマンドに従って図２のデータフラッシュＤＦＬの消去動作が開始される。このデータフラッシュＤＦＬの不揮発性メモリの消去動作では、不揮発性メモリが正確に消去されたか否かの確認のための消去ベリファイ読み出しも行われる。
【０３０７】
また、図２のデータフラッシュＤＦＬでは、１つのツインセルを構成する２つの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)への相補データの書き込む場合にも、書き込みに先立って２つの不揮発性メモリセルに、低いしきい値電圧に対応する消去データを書き込む消去動作(イニシャライズ消去動作)が必要となる。このイニシャライズ消去動作にも、２つの不揮発性メモリセルに低いしきい値電圧の消去データが正確に書き込まれたか否かの確認を行う消去ベリファイ読み出しが必要となる。
【０３０８】
相補データの書き込みに先立ったイニシャライズ消去動作および消去コマンドに従った消去動作のいずれにおいても、コントロールゲート(ＣＧ)とメモリゲート(ＭＧ)とを共有する複数のツインセルの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)が消去動作の処理単位とされる。消去動作の処理単位の複数のツインセルの不揮発性メモリセルＭＣ１(ポジセル)、ＭＣ２(ネガセル)のしきい値電圧(Ｖth)を低下させるために、ＢＬ＝Ｈｉ−Ｚ(高インピーダンス状態)、ＣＧ＝１．５Ｖ、ＭＧ＝−１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖの電圧条件の消去込みパルスが印加される。この消去パルスの印加の後に、信号経路ＶＲ＿ＲＤによる消去ベリファイ読み出しを行う。消去ベリファイ読み出しの結果、メモリセルのしきい値電圧(Ｖth)が消去ベリファイ参照レベルより高レベルであると消去は不十分とされ、上述の電圧条件の消去パルスが再度メモリセルに印加される。また消去ベリファイ読み出しの結果、メモリセルのしきい値電圧(Ｖth)がベリファイ参照レベルより低レベルであると判別されると、消去は十分とされる。
【０３０９】
消去ベリファイ読み出し動作を、更に詳細に説明する。消去が不十分な時には、データ書き込み・ベリファイ回路２８の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が生成される。消去単位が８ビットのツインセルならば、８個の排他的否定論理和回路ＥＸＮＯＲの少なくともいずれか１個の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が出力されると、アンド回路ＡＮＤの出力からローレベル“０”が出力され、８ビットの消去単位のツインセルに次の消去パルスが再度印加される。消去が十分な時には、データ書き込み・ベリファイ回路２８の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が生成される。消去単位が８ビットのツインセルならば、８個の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が出力され、アンド回路ＡＮＤの出力からハイレベル“１”が出力され、８ビットの消去単位のツインセルの消去が完了する。
【０３１０】
このように、データフラッシュＤＦＬの消去ベリファイ読み出しでは、列セレクタ２４、２５は不揮発性メモリアレー２１、２２の消去単位のツインセルで消去が行われるセルからの消去ベリファイ読み出しデータと消去ベリファイ参照レベルとをセンスアンプ２６の第１と第２の入力端子に並列に供給することが可能である。
【０３１１】
《データフラッシュでのブランク・チェック》
図１のＭＣＵ１においてＣＰＵ２からのブランク・チェックの要求に応答して、フラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のデータフラッシュＤＦＬへのブランク・チェック・コマンドに従って図２のデータフラッシュＤＦＬでのブランク・チェックが開始される。
【０３１２】
まず、ＣＰＵ２はブランク・チェックを行うためフラッシュシーケンサ７でのブランク・チェック動作モードの要求を発行して、ＣＰＵ２はウェイト状態に移行する。ＣＰＵ２から発行されたブランク・チェックの要求に応答して、フラッシュシーケンサ７は図２のデータフラッシュＤＦＬをブランク・チェック動作モードに移行させる。ブランク・チェックの動作モードへの移行に先立って、フラッシュシーケンサ７には、ＣＰＵ２からブランク・チェック・対象領域の開始アドレスと対象領域の容量(終了アドレス)とが供給される。図２のデータフラッシュＤＦＬの内部でブランク・チェックされる不揮発性メモリアレー２１のメモリ領域の多数のツインセルにブランク・チェックのための電圧の供給が開始され、その後、多数のツインセルの電圧／電流が、安定化される。１つのツインセルを構成する２つの不揮発性メモリセルの一方のＭＣ１(ポジセル)からのブランク・チェック・データと他方のＭＣ２(ネガセル)からのブランク・チェック・データとは、第１のセレクタ２４とベリファイ読み出しの信号経路ＶＲ＿ＲＤとを介してセンスアンプ２６の第１入力端子Ｉｎ１に順次供給される。この間では、センスアンプ２６の第２入力端子Ｉｎ２には、図５(Ｂ)のデータ“１”の書き込み状態の低いしきい値電圧と高いしきい値電圧との略中間の参照電圧レベルが供給されている。
【０３１３】
次に、ツインメモリセルがブランク状態であるか否かを確認するための読み出し動作が行われる。１つのツインセルを構成する２つの不揮発性メモリセルの一方のＭＣ１(ポジセル)と他方のＭＣ２(ネガセル)とが参照電圧レベルよりも低いしきい値電圧であると判定されると、１つのツインセルはイニシャライズ消去状態のブランクの状態と判断される。しかし、１つのツインセルを構成する２つの不揮発性メモリセルの一方のＭＣ１(ポジセル)と他方のＭＣ２(ネガセル)の少なくともいずれか一方が参照電圧レベルよりも高いしきい値電圧であると判定されると、１つのツインセルはイニシャライズ消去状態のブランクの状態ではないと判断される。
【０３１４】
このようにして、フラッシュシーケンサ７による制御によりデータフラッシュＤＦＬの内部でブランク・チェック・対象領域の開始アドレスから８バイト分のチェック・サイズのツインセルからのブランク・チェック・データが８バイトの容量の内部レジスタに読み出される。また、内部レジスタに読み出された８バイトのブランク・チェック・データから生成されたブランク・チェック・ステータス情報が、データフラッシュＤＦＬからＣＰＵ２に供給される。ＣＰＵ２は、供給されたブランク・チェック・ステータス情報を確認する。
【０３１５】
《プログラムフラッシュのアーキテクチャー》
図３は、図６で説明したように単一データの１ビットが書き込まれる多数の不揮発性メモリセルＭＣ０を含み図３のＭＣＵ１のＣＰＵ２のための種々のソフトウェア・プログラムを格納するプログラムフラッシュＰＦＬのアーキテクチャーを示すものである。
【０３１６】
図３のプログラムフラッシュＰＦＬの構造は、図２のデータフラッシュＰＦＬの構造と極めて良く類似している。すなわち、図３のプログラムフラッシュＰＦＬは、第３不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)３１、第４不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)３２、列デコーダ(ＹＤＥＣ)３３、第３列セレクタ(ＹＳＥＬ＿Ｊ)３４、第４列セレクタ(ＹＳＥＬ＿Ｋ)３５、センスアンプ(ＳＡ)３６を含んでいる。このプログラムフラッシュＰＦＬは、更に書き込みデータ入力バッファ３７、データ書き込み・ベリファイ回路３８、データ出力ラッチ・ドライバ３９を含んでいる。
【０３１７】
第３不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)３１と第４不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)３２のそれぞれは、多数の不揮発性メモリセルＭＣ０を含むことにより、ＣＰＵ２のための種々のソフトウェア・プログラムを格納することができる。行方向の多数の不揮発性メモリセルＭＣ０のコントロールゲート(ＣＧ)とメモリゲート(ＭＧ)とソースとは、ワード線(ＷＬ)とメモリゲート線(ＭＧＬ)とソース線(ＳＬ)とにそれぞれ接続されている。
【０３１８】
第３不揮発性メモリアレー(ＭＡＲＹ＿Ｊ)３１と第４不揮発性メモリアレー(ＭＡＲＹ＿Ｋ)３２とでは、データ書き込みやデータ読み出しの高速化と低消費電力化とのために階層ビット線アーキテクチャーが採用されている。すなわち、第３と第４の不揮発性メモリアレー(ＭＡＲＹ＿Ｊ、Ｋ)３１、３２には、１本の書き込みメインビット線ＷＭＢＬと１本の読み出しメインビット線ＲＭＢＬとが接続されている。
【０３１９】
複数の不揮発性メモリセルＭＣ０が接続された複数のサブビット線ＳＢＬは、ビット線スイッチＢＬ＿ＳＷのスイッチＭＯＳトランジスタＱ3のソース・ドレイン経路を介して１本の書き込みメインビット線ＷＭＢＬに接続される。不揮発性メモリセルＭＣ０にデータ書き込みが行われる場合には、不揮発性メモリセルＭＣ０に接続されたサブビット線ＳＢＬと１本の書き込みメインビット線ＷＭＢＬとの間のビット線スイッチＢＬ＿ＳＷのスイッチＭＯＳトランジスタＱ3が制御信号線ＺＬによってオン状態に制御される。図３のプログラムフラッシュＰＦＬへのデータ書き込み時には、書き込みデータＱinは書き込みデータ入力バッファ３７とデータ書き込み・ベリファイ回路３８のセレクタＶ＿ＳＥＬ、書き込みラッチＷｒｉｔｅ  Ｌａｔｃｈとを介して１本の書き込みメインビット線ＷＭＢＬに供給される。１本の書き込みメインビット線ＷＭＢＬに供給された書き込みデータは、第３と第４の不揮発性メモリアレー３１、３２でビット線スイッチＢＬ＿ＳＷを介してプログラムフラッシュＰＦＬの不揮発性メモリセルＭＣ０に書き込まれる。また、書き込みデータ入力バッファ３７に供給される書き込みデータＱinは、図１のＭＣＵ１においてＣＰＵ２の書き込み要求に応答したフラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のプログラムフラッシュＰＦＬへの書き込みコマンドに付随して供給されるものである。
【０３２０】
また、第３と第４の不揮発性メモリアレー(ＭＡＲＹ＿Ｊ、Ｋ)３１、３２の複数の不揮発性メモリセルＭＣ０が接続された複数のサブビット線ＳＢＬは、第３と第４の列セレクタ(ＹＳＥＬ＿Ｊ、Ｋ)３４、３５とセンスアンプ(ＳＡ)３６とを介して１本の読み出しメインビット線ＲＭＢＬに接続される。また、各サブビット線ＳＢＬには、読み出し動作の終了時および書き込み動作の終了時にサブビット線ＳＢＬの電位を放電するために放電制御信号Ｄchにより制御される放電スイッチＤｉｓ＿Ｓｗが接続されている。
【０３２１】
《プログラムフラッシュでの通常データ読み出し》
図１のＭＣＵ１においてＣＰＵ２からの読み出し要求に関係して、高速バスＨＢＵＳと高速アクセスポート(ＨＡＣＳＰ)とを介したフラッシュメモリモジュール６のプログラムフラッシュＰＦＬへの読み出しコマンドに従って図３のプログラムフラッシュＰＦＬの読み出し動作が開始される。
【０３２２】
すなわち、図３のプログラムフラッシュＰＦＬの第１と第２の不揮発性メモリアレー３１、３２のいずれか一方のメモリアレーの１つの不揮発性メモリセルＭＣ０から単一データの１ビットの通常データを読み出す動作が開始される。この通常データ読み出しにより読み出されるデータは、図６(Ｂ)のデータ“０”の書き込み状態のデータ、または図６(Ａ)のデータ“１０”の消去状態のデータである。
【０３２３】
図３の通常データ読み出しの信号経路ＮＲ＿ＲＤに示すように、第１の不揮発性メモリアレー３１の１つの不揮発性メモリセルＭＣ０からの単一データは、１本のサブビット線ＳＢＬと第１のセレクタ３４とを介してセンスアンプ３６の第１入力端子Ｉｎ１に供給される。これと同時に、センスアンプ３６の第２入力端子Ｉｎ２には、図示されていないが参照セルから生成される通常データ読み出し参照レベルが供給されている。この通常データ読み出し参照レベルは、図６(Ａ)のデータ“１”の消去状態の低いしきい値電圧と図６(Ｂ)のデータ“０”の書き込み状態の高いしきい値電圧の略中間のレベルのしきい値電圧に対応するものである。図１の書き換え回数の比較的小さなプログラムフラッシュＰＦＬでは１つの不揮発性メモリセルＭＣ０に単一データの１ビットを書き込むと言う１セル／１ビット書き込み方式が採用されているので、図１のプログラムフラッシュＰＦＬの高密度記憶が可能とされている。通常データ読み出しによって図１のプログラムフラッシュＰＦＬの不揮発性メモリアレー３１、３２からセンスアンプ３６とデータ出力ラッチ・ドライバ３９とによって読み出されたプログラムデータは、図１のＭＣＵ１において読み出し専用の高速アクセスポート(ＨＡＣＳＰ)と高速バス(ＨＢＵＳ)とを介してＣＰＵ２に供給されることができる。
【０３２４】
以上説明したように、プログラムフラッシュＰＦＬの通常データ読み出しでは、列セレクタ３４、３５は不揮発性メモリアレー３１、３２の１つの不揮発性メモリセルＭＣ０からの単一データをセンスアンプ３６の第１と第２の入力端子Ｉｎ１、Ｉｎ２の一方の入力端子に供給する。一方、この通常データ読み出しでは、列セレクタ３４、３５は通常データ読み出し参照レベルをセンスアンプ３６の第１と第２の入力端子Ｉｎ１、Ｉｎ２の他方の入力端子に供給することが可能である。
【０３２５】
《プログラムフラッシュでのベリファイ読み出し》
図１のＭＣＵ１においては、頻度は比較的低いが、ＣＰＵ２またはＤＭＡＣ３からフラッシュメモリモジュール６へプログラムの書き込み要求が発行される。プログラムの書き込み要求に関係してフラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のプログラムフラッシュＰＦＬへのプログラムの書き込みコマンドに従って、図３のプログラムフラッシュＰＦＬのプログラムの書き込み動作が開始される。このプログラムフラッシュＰＦＬの不揮発性メモリのプログラムの書き込み動作では、不揮発性メモリに正しくプログラムのデータが書き込まれたかのベリファイ動作のための書き込みベリファイ読み出しが行われなければならない。
【０３２６】
従って、図３のプログラムフラッシュＰＦＬの第１と第２の不揮発性メモリアレー３１、３２のいずれか一方の１つの不揮発性メモリセルＭＣ０への単一データの１ビットの書き込みに際して書き込みベリファイ読み出しが行われる。上述したように不揮発性メモリセルＭＣ０への単一データの書き込みは、図６(Ａ)の消去状態から図６(Ｂ)に示すように不揮発性メモリセルＭＣ０のしきい値電圧(Ｖth)を上昇することで実現することができる。
【０３２７】
図３のベリファイ読み出しの信号経路ＶＲ＿ＲＤに示すように、第１の不揮発性メモリアレー３１の１つの不揮発性メモリセルＭＣ０からの単一データは、通常データ読み出しの信号経路ＮＲ＿ＲＤと全く同様に、１本のサブビット線ＳＢＬと第１のセレクタ３４とを介してセンスアンプ３６の第１入力端子Ｉｎ１に供給される。これと同時に、センスアンプ３６の第２入力端子Ｉｎ２には、図示されていないが参照セルから生成される書き込みベリファイ参照レベルが供給されている。この書き込みベリファイ参照レベルは、図６(Ａ)のデータ“１”の消去状態の低いしきい値電圧と図６(Ｂ)のデータ“０”の書き込み状態の高いしきい値電圧の略中間のレベルのしきい値電圧に対応するものである。好ましくは、書き込みベリファイ参照レベルは、中間のレベルのしきい値電圧よりも図６(Ｂ)のデータ“０”の書き込み状態の高いしきい値電圧に近接されている。
【０３２８】
単一データの書き込み時に１つの不揮発性メモリセルＭＣ０のしきい値電圧(Ｖth)を上昇するために、ＢＬ＝０Ｖ、ＣＧ＝１．５Ｖ、ＭＧ＝１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖの電圧条件の書き込みパルスが印加される。この書き込みパルスの印加の後に信号経路ＶＲ＿ＲＤによるベリファイ読み出しにより、１つの不揮発性メモリセルＭＣ０のしきい値電圧(Ｖth)が書き込みベリファイ参照レベルより低レベルであると書き込みは不十分である。この場合には上述の電圧条件の他の書き込みパルスが、１つの不揮発性メモリセルＭＣ０に再度印加される。他の書き込みパルスの印加の後に信号経路ＶＲ＿ＲＤによる書き込みベリファイ読み出しにより、１つの不揮発性メモリセルＭＣ０のしきい値電圧(Ｖth)が書き込みベリファイ参照レベルより高レベルであると判定されると、書き込みは十分となる。
【０３２９】
書き込みが不十分の時には、データ書き込み・ベリファイ回路３８の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が生成される。書き込み単位が８ビットの不揮発性メモリセルＭＣ０ならば、８個の排他的否定論理和回路ＥＸＮＯＲの少なくともいずれか１個の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が出力されると、アンド回路ＡＮＤの出力からローレベル“０”が出力され、８ビットの書き込み単位の不揮発性メモリセルＭＣ０に次の書き込みパルスが再度印加される。書き込みが十分な時には、データ書き込み・ベリファイ回路３８の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が生成される。書き込み単位が８ビットの不揮発性メモリセルＭＣ０ならば、８個の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が出力され、アンド回路ＡＮＤの出力からハイレベル“１”が出力され、８ビットの書き込み単位の不揮発性メモリセルＭＣ０への書き込みが完了する。
【０３３０】
このように、プログラムフラッシュＰＦＬの書き込みベリファイ読み出しでは、第１の不揮発性メモリアレー３１の１つの不揮発性メモリセルＭＣ０からの単一データは、通常データ読み出しの信号経路ＮＲ＿ＲＤと全く同様のベリファイ読み出しの信号経路ＶＲ＿ＲＤが使用されて、１本のサブビット線ＳＢＬと第１のセレクタ３４とを介してセンスアンプ３６の第１入力端子Ｉｎ１に供給される。これと同時に、センスアンプ３６の第２入力端子Ｉｎ２には、図示されていないが参照セルから生成される書き込みベリファイ参照レベルが供給されている。
【０３３１】
頻度は比較的低いが、図１のＭＣＵ１においてＣＰＵ２からの消去要求に関係して、フラッシュシーケンサ７による周辺バスＰＢＵＳと低速アクセスポート(ＬＡＣＳＰ)とを介したフラッシュメモリモジュール６のプログラムフラッシュＰＦＬへの消去コマンドに従って図３のプログラムフラッシュＰＦＬの消去動作が開始される。このプログラムフラッシュＰＦＬの不揮発性メモリの消去動作では、不揮発性メモリが正確に消去されたかのベリファイ動作のための消去ベリファイ読み出しが行われなければならない。
【０３３２】
更に、図３のプログラムフラッシュＰＦＬでは、１つの不揮発性メモリセルＭＣ０への単一データの書き込みに先立って第１と第２の不揮発性メモリアレー３１、３２に含まれる全ての不揮発性メモリセルＭＣ０の消去動作を行うことが必要となる。この消去動作によって、第１と第２の不揮発性メモリアレー３１、３２に含まれる全ての不揮発性メモリセルＭＣ０は、図６(Ａ)のデータ“１”の消去状態の低いしきい値電圧の状態とされる。この消去動作にも、不揮発性メモリセルＭＣ０に低いしきい値電圧のデータ“１”の消去データが正確に書き込まれたかの消去ベリファイ動作が必要となる。消去動作では、コントロールゲート(ＣＧ)とメモリゲート(ＭＧ)とを共有する複数の不揮発性メモリセルＭＣ０が消去動作の処理単位とされる。消去動作の処理単位の複数の不揮発性メモリセルＭＣ０のしきい値電圧(Ｖth)を低下するために、ＢＬ＝Ｈｉ−Ｚ(高インピーダンス状態)、ＣＧ＝１．５Ｖ、ＭＧ＝−１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖの電圧条件の消去込みパルスが印加される。この消去パルスの印加の後に信号経路ＶＲ＿ＲＤによる消去ベリファイ読み出しにより、メモリセルのしきい値電圧(Ｖth)がベリファイ参照レベルより高レベルであると判定されると、消去は不十分である。この場合には上述の電圧条件の消去パルスが、消去動作の処理単位の複数の不揮発性メモリセルＭＣ０に再度印加される。他の消去パルスの印加の後に消去信号経路ＶＲ＿ＲＤによる消去ベリファイ読み出しにより、メモリセルのしきい値電圧(Ｖth)がベリファイ参照レベルより高レベルであると判定されると、消去は十分となる。
【０３３３】
消去が不十分な時には、データ書き込み・ベリファイ回路３８の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が生成される。消去単位が８ビットの不揮発性メモリセルＭＣ０ならば、８個の排他的否定論理和回路ＥＸＮＯＲの少なくともいずれか１個の排他的否定論理和回路ＥＸＮＯＲの出力からローレベル“０”が出力されると、アンド回路ＡＮＤの出力からローレベル“０”が出力され、８ビットの消去単位の不揮発性メモリセルＭＣ０に次の消去パルスが再度印加される。消去が十分な時には、データ書き込み・ベリファイ回路３８の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が生成される。消去単位が８ビットの不揮発性メモリセルＭＣ０ならば、８個の排他的否定論理和回路ＥＸＮＯＲの出力からハイレベル“１”が出力され、アンド回路ＡＮＤの出力からハイレベル“１”が出力され、８ビットの消去単位の不揮発性メモリセルＭＣ０の消去が完了する。
【０３３４】
図３のベリファイ読み出しの信号経路ＶＲ＿ＲＤに示すように、第１の不揮発性メモリアレー３１の１つの不揮発性メモリセルＭＣ０からの単一データは、通常データ読み出しの信号経路ＮＲ＿ＲＤと全く同様に、１本のサブビット線ＳＢＬと第１のセレクタ３４とを介してセンスアンプ３６の第１入力端子Ｉｎ１に供給される。これと同時に、センスアンプ３６の第２入力端子Ｉｎ２には、図１７に示すようにプログラムフラッシュＰＦＬに含まれる参照セルＲｅｆ＿Ｃｅｌｌから生成される消去ベリファイ参照レベルＶＲ＿Ｒｅｆ＿ＤＣが供給されている。この消去ベリファイ参照レベルは、図６(Ａ)のデータ“１”の消去状態の低いしきい値電圧と図６(Ｂ)のデータ“０”の書き込み状態の高いしきい値電圧の略中間のレベルのしきい値電圧に対応するものである。好ましくは、消去ベリファイ参照レベルは、中間のレベルのしきい値電圧よりも図６(Ａ)のデータ“１”の消去状態の低いしきい値電圧に近接されている。
【０３３５】
このように、プログラムフラッシュＰＦＬの消去ベリファイ読み出しでは、第１の不揮発性メモリアレー３１の１つの不揮発性メモリセルＭＣ０からの単一データは、通常データ読み出しの信号経路ＮＲ＿ＲＤと全く同様のベリファイ読み出しの信号経路ＶＲ＿ＲＤが使用されて、１本のサブビット線ＳＢＬと第１のセレクタ３４とを介してセンスアンプ３６の第１入力端子Ｉｎ１に供給される。これと同時に、センスアンプ３６の第２入力端子Ｉｎ２には、図示されていないが参照セルから生成される消去ベリファイ参照レベルが供給されている。
【０３３６】
《データフラッシュでのブランク・チェックの詳細》
図１１は、図１に示したマイクロコンピュータ(ＭＣＵ)１に内蔵されたフラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータフラッシュＤＦＬに格納される種々のタイプのデータの構成を示す図である。
【０３３７】
図１１には、３つのタイプのデータ３０Ａ、３０Ｂ、３０Ｃが示されており、それぞれの前半部分にはツインセルへの相補データによる書き込みデータＤａｔａが書き込まれ、それぞれの後半はブランクの状態Ｂｌａｎｋとなっている。この後半のブランクの状態のメモリ領域の多数のツインセルへ、新規な相補データが追加書き込みされることが可能である。
【０３３８】
図１２は、図１１に示した種々のタイプのデータのブランク・チェックを実行するための処理フローを示す図である。
【０３３９】
図１３は、図１２に示した処理フローによるブランク・チェックを実行するのに好適なフラッシュシーケンサ７の構成を示す図である。
【０３４０】
図１３に示すフラッシュシーケンサ７は、ＣＰＵ２とフラッシュメモリモジュール６のデータフラッシュＤＦＬとの間に接続されている。特に、フラッシュシーケンサ７は、周辺バスＰＢＵＳの周辺アドレスバスＰＡＢと周辺データバスＰＤＢとを介してＣＰＵ２と接続されている。フラッシュシーケンサ７は、シーケンスコントローラ７１、ブランク・チェック設定レジスタ７２、立ち上がり検出器７３、ブランク開始アドレス格納レジスタ７４、立ち下がり検出器７５、ブランク終了アドレス格納レジスタ７６、ブランク・チェック検出レジスタ７７を含んでいる。ブランク・チェック設定レジスタ７２には、ＣＰＵ２からデータフラッシュＤＦＬでのブランク・チェック・対象領域の開始アドレスと対象領域の容量範囲(終了アドレス)とが格納されることができる。また、フラッシュシーケンサ７には、図１に示したマイクロコンピュータ(ＭＣＵ)１に内蔵されたＰＬＬ１１から生成されるアクセス基本クロックＣＬＫＰと検出クロックＣＬＫＩとが供給され、検出クロックＣＬＫＩは立ち上がり検出器７３と立ち下がり検出器７５のラッチ制御入力端子に供給される。立ち上がり検出器７３からの立ち上がり検出信号に応答してシーケンスコントローラ７１からのブランク・チェックのアドレスがブランク開始アドレス格納レジスタ７４に格納され、立ち下がり検出器７５からの立ち下がり検出信号に応答してシーケンスコントローラ７１からのブランク・チェックのアドレスがブランク終了アドレス格納レジスタ７６に格納される。また、立ち上がり検出器７３からの立ち上がり検出信号に応答してブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓがハイレベル“１”にセットされ、立ち下がり検出器７５からの立ち下がり検出信号に応答してブランク・チェック検出レジスタ７７のブランク終了信号Ｂ＿Ｅがハイレベル“１”にセットされる。
【０３４１】
図１２の処理フローの最初のステップ４０で、データフラッシュＤＦＬに格納された種々のタイプのうち例えば図１１のデータ３０Ａに関するブランク・チェックがＣＰＵ２によってフラッシュシーケンサ７へ要求される。
【０３４２】
図１２のステップ４１では、ＣＰＵ２から図１１のデータ３０Ａに関するブランク・チェック・対象領域の開始アドレスと対象領域の容量範囲がフラッシュシーケンサ７内部のブランク・チェック設定レジスタ７２に格納される。
【０３４３】
図１２のステップ４２では、ＣＰＵ２からフラッシュシーケンサ７内部のシーケンスコントローラ７１へブランク・チェック・コマンドが発行される。すると、フラッシュシーケンサ７内部のシーケンスコントローラ７１は、ブランク・チェック設定レジスタ７２に格納されたブランク・チェック・対象領域の開始アドレスに従ってブランク・チェックされるデータフラッシュＤＦＬの不揮発性メモリアレーの複数のツインセルのアドレスを内部アドレスバスＩＡＢに順次出力する。内部アドレスバスＩＡＢに順次出力された複数のツインセルのチェック・アドレスは、データフラッシュＤＦＬの低速アクセスポート(ＬＡＣＳＰ)６１を介して不揮発性メモリアレーの複数のツインセルに順次供給される。複数のツインセルで順次ブランク・チェックが実行され、データフラッシュＤＦＬにブランク・チェック結果６１Ａが生成される。
【０３４４】
データフラッシュＤＦＬのブランク・チェック結果６１Ａは、低速アクセスポート(ＬＡＣＳＰ)６１と内部データバスＩＤＢとを介してブランク信号Ｂｌａｎｋとしてフラッシュシーケンサ７内部の立ち上がり検出器７３と立ち下がり検出器７５とに供給される。図１１のデータ３０Ａの前半部分にはツインセルへの相補データによる書き込みデータが書き込まれているので、ブランク・チェック・対象領域の開始アドレスのツインセルと直後のアドレスのツインセルとからのブランク信号Ｂｌａｎｋはローレベル“０”(使用済み)となっている。図１１のデータ３０Ａの後半はブランクの状態Ｂｌａｎｋとなっているので、途中のアドレスのツインセルからのブランク信号Ｂｌａｎｋはハイレベル“１”(未使用のブランク状態)となる。
【０３４５】
図１４は、図１３に示すフラッシュシーケンサ７の動作を説明するためのフラッシュシーケンサ７の各部の波形を示す図である。
【０３４６】
図１４の上２つには、図１に示したマイクロコンピュータ(ＭＣＵ)１に内蔵されたＰＬＬ１１から生成されるアクセス基本クロックＣＬＫＰと検出クロックＣＬＫＩとが示されている。
【０３４７】
図１４の３つ目にシーケンスコントローラ７１から内部アドレスバスＩＡＢに順次出力されるブランク・チェックのためのアドレス信号が示され、図１４の４つ目にデータフラッシュＤＦＬから内部データバスＩＤＢに出力されるブランク信号Ｂｌａｎｋの信号変化が示されている。
【０３４８】
図１４の５つ目と７つ目とには、ブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓとブランク終了信号Ｂ＿Ｅとの信号変化がそれぞれ示されている。
【０３４９】
図１４の６つ目と８つ目とには、ブランク開始アドレス格納レジスタ７４に格納されるブランク開始アドレスと、ブランク終了アドレス格納レジスタ７６に格納されるブランク終了アドレスとがそれぞれ示されている。図１４に示す例では、内部アドレスバスＩＡＢに出力されたブランク・チェックのアドレス信号(Ｌ＋１)が、図１１のデータ３０Ａの後半のブランクの開始アドレスとなっている。また図１４の例では、内部アドレスバスＩＡＢに出力されたブランク・チェックのアドレス信号(Ｎ)が、図１１のデータ３０Ａの後半のブランクの終了アドレスとなっている。
【０３５０】
このようにして、図１１のデータ３０Ａの後半のブランクの開始アドレスと終了アドレスとが検出されると、図１１のデータ３０Ａのブランク・チェックが完了する。すると、ブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓがハイレベル“１”にセットされ、立ち下がり検出器７５からの立ち下がり検出信号に応答してブランク・チェック検出レジスタ７７のブランク終了信号Ｂ＿Ｅがハイレベル“１”にセットされている。すると、シーケンスコントローラ７１はブランク・チェック完了のレスポンスを周辺バスＰＢＵＳの周辺データバスＰＤＢを介してＣＰＵ２に供給する。このレスポンスに応答してＣＰＵ２は、図１２のステップ４２で発行したブランク・チェック・コマンドを図１２のステップ４３にて終了する。
【０３５１】
図１２のステップ４３にてブランク・チェック・コマンドが終了されると、次のステップ４４でＣＰＵ２は周辺バスＰＢＵＳの周辺データバスＰＤＢを介してブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓとブランク終了信号Ｂ＿Ｅとを確認する。更に次のステップ４５にてＣＰＵ２は、周辺バスＰＢＵＳの周辺データバスＰＤＢを介してブランク開始アドレス格納レジスタ７４に格納されたブランク開始アドレスとブランク終了アドレス格納レジスタ７６に格納されたブランク終了アドレスとを確認する。
【０３５２】
以上の処理が終了すると、図１２のステップ４６にてブランク・チェックの処理が完了する。
【０３５３】
図１８は、図１に示したマイクロコンピュータ(ＭＣＵ)１に内蔵されたフラッシュメモリモジュール(ＦＭＤＬ)６に含まれたデータフラッシュＤＦＬに格納される種々のタイプのデータの他の構成を示す図である。
【０３５４】
図１８に示された２つのタイプのデータ５０Ａ、５０Ｂのそれぞれの前半部分と後半部分にはツインセルへの相補データによる書き込みデータＤａｔａが書き込まれ、それぞれの中間部分はブランクの状態Ｂｌａｎｋとなっている。この中間部分のブランクの状態のメモリ領域の多数のツインセルへ、新規な相補データが追加書き込みされることが可能である。
【０３５５】
図１９は、図１８に示した中間部分のブランクの状態のデータのブランク・チェックを実行するための処理フローを示す図である。
【０３５６】
図２０は、図１９に示した処理フローによるブランク・チェックを実行するのに好適なフラッシュシーケンサ７の構成を示す図である。図１９のステップ５０からステップ５５までの処理は図１２のステップ４０からステップ４５までの処理と全く同一であるので、重複する説明を省略する。図１９のステップ５６では、図１８のデータ５０Ａの後半部分の書き込みデータＤａｔａの最終部分までのメモリ領域のブランク・チェックが完了しているかが、図２０のフラッシュシーケンサ７のシーケンスコントローラ７１によって確認される。完了していなければ、シーケンスコントローラ７１は、図１９のステップ５７で図１８のデータ５０Ａのブランクの状態Ｂｌａｎｋの中間部分と後半部分の書き込みデータＤａｔａとの境界に存在するブランク終了アドレスを新たなブランク・チェック開始アドレスとして再設定する。また、シーケンスコントローラ７１は、後半部分の書き込みデータＤａｔａのメモリ容量をブランク・チェック・対象領域の容量として再設定する。その後、図２０のステップ５０からステップ５５までの処理を再度実行することにより、図１８のデータ５０Ａの後半部分の書き込みデータＤａｔａの内部にブランクが存在していないかのチェックが、シーケンスコントローラ７１によって実行される。
【０３５７】
図２０に示したフラッシュシーケンサ７の構成は、図１３に示したフラッシュシーケンサ７の構成と極めて良く類似している。しかし、図２０に示したフラッシュシーケンサ７では、立ち下がり検出器７５からの立ち下がり検出信号が図２０のフラッシュシーケンサ７のシーケンスコントローラ７１に供給されている。立ち下がり検出器７５からの立ち下がり検出信号によって、図１９のステップ５２で図１８のデータ５０Ａのブランクの状態Ｂｌａｎｋの中間部分と後半部分の書き込みデータＤａｔａとの境界に存在するブランク終了アドレスを検出することができる。しかし、シーケンスコントローラ７１は、データ５０Ａの後半部分の書き込みデータＤａｔａのメモリ容量をブランク・チェック・対象領域の容量としてブランク・チェック設定レジスタ７２の容量範囲のエントリーに再設定する。内部アドレスバスＩＡＢに順次出力されるツインセルのチェック・アドレスがブランク・チェック設定レジスタ７２の容量範囲に再設定された最終アドレスに到達していなければ、シーケンスコントローラ７１はブランク・チェック検出レジスタ７の未終了フラグＮＦをハイレベル“１”にセットする。すると、シーケンスコントローラ７１はブランク・チェック未完了のレスポンスを周辺バスＰＢＵＳの周辺データバスＰＤＢを介してＣＰＵ２に供給する。このレスポンスに応答してＣＰＵ２は、上述の境界に存在するブランク終了アドレスに応答して誤ってブランク・チェック・コマンドを終了することない。
【０３５８】
図２１は、図１１に示した複数のタイプのデータのブランク・チェックを１回のブランク・チェック処理で実行するのに好適なフラッシュシーケンサ７の構成を示す図である。
【０３５９】
図２１に示すフラッシュシーケンサ７は、最初に図１１に示す１つ目のタイプのデータ３０Ａのブランク・チェックを実行するのでデータ３０Ａの後半のブランク状態Ｂｌａｎｋのブランク開始アドレスとブランク終了アドレスとは、ブランク開始アドレス格納レジスタ７４とブランク終了アドレス格納レジスタ７６とに格納される。データ３０Ａの後半のブランク状態Ｂｌａｎｋに関係して、ブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓとブランク終了信号Ｂ＿Ｅとがハイレベル“１”にセットされている。データ３０Ａの後半のブランク状態Ｂｌａｎｋに関係するアドレス格納レジスタ７４、７６の格納データとブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓとブランク終了信号Ｂ＿Ｅとがフラッシュシーケンサ７からランダムアクセスメモリ(ＲＡＭ)５の第１領域に転送される。この転送経路は、周辺バスＰＢＵＳとバスインターフェース回路４と高速バスＨＢＵＳとを介するものである。
【０３６０】
次にフラッシュシーケンサ７は、図１１に示す２つ目のタイプのデータ３０Ｂのブランク・チェックを実行するのでデータ３０Ｂの後半のブランク状態Ｂｌａｎｋのブランク開始アドレスとブランク終了アドレスとは、ブランク開始アドレス格納レジスタ７４とブランク終了アドレス格納レジスタ７６とに格納される。データ３０Ｂの後半のブランク状態Ｂｌａｎｋに関係して、ブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓとブランク終了信号Ｂ＿Ｅとがハイレベル“１”にセットされている。データ３０Ｂの後半のブランク状態Ｂｌａｎｋに関係するアドレス格納レジスタ７４、７６の格納データとブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓとブランク終了信号Ｂ＿Ｅとがフラッシュシーケンサ７からＲＡＭ５の第２領域に転送される。
【０３６１】
最後にフラッシュシーケンサ７は、図１１に示す３つ目のタイプのデータ３０Ｃのブランク・チェックを実行するのでデータ３０Ｃの後半のブランク状態Ｂｌａｎｋのブランク開始アドレスとブランク終了アドレスとは、ブランク開始アドレス格納レジスタ７４とブランク終了アドレス格納レジスタ７６とに格納される。データ３０Ｃの後半のブランク状態Ｂｌａｎｋに関係して、ブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓとブランク終了信号Ｂ＿Ｅとがハイレベル“１”にセットされている。データ３０Ｃの後半のブランク状態Ｂｌａｎｋに関係するアドレス格納レジスタ７４、７６の格納データとブランク・チェック検出レジスタ７７のブランク開始信号Ｂ＿Ｓとブランク終了信号Ｂ＿Ｅとがフラッシュシーケンサ７からＲＡＭ５の第３領域に転送される。
【０３６２】
以上のようにして、図２１に示すフラッシュシーケンサ７を使用することにより、ＣＰＵ２からの１個のブランクチェックコマンドにより図１１に示した複数のタイプのデータのブランク・チェックを１回のブランク・チェック処理で実行することが可能となる。
【０３６３】
《データフラッシュとプログラムフラッシュとのパーティション》
上述したように、図３に示すプログラムフラッシュＰＦＬは、図２に示したデータフラッシュＤＦＬの構成と極めて類似している。従って、本発明の１つの好適な実施の形態では、図１のＭＣＵ１のフラッシュメモリモジュール６の内部で図２のデータフラッシュＤＦＬの配置と図３のプログラムフラッシュＰＦＬの配置に任意に設定可能である。
【０３６４】
図１５は、図１のＭＣＵ１のフラッシュメモリモジュール(ＦＭＤＬ)６の内部でデータフラッシュＤＦＬの配置とプログラムフラッシュＰＦＬの配置を任意に設定する様子を説明する図である。図１５に示すフラッシュメモリモジュール(ＦＭＤＬ)６の最下部には、制御管理領域Ｃｎｔ＿Ａｒｅａが含まれている。この制御管理領域Ｃｎｔ＿Ａｒｅａには、ＭＣＵ１の種々の制御コードが含まれることが可能であるとともにその先頭にはＭＣＵ１の初期化制御コードデータＩＮＴ＿Ｄａｔａが含まれている。
【０３６５】
図１のＭＣＵ１のパワーオン等のシステムリセット時のシステム初期化に際して、ＣＰＵ２は外部リセット信号ＲＥＳに応答して図１５に示すフラッシュメモリモジュール(ＦＭＤＬ)６の最下部の制御管理領域Ｃｎｔ＿Ａｒｅａが含まれる初期化制御コードデータＩＮＴ＿Ｄａｔａを読み出す。
【０３６６】
読み出された初期化制御コードデータＩＮＴ＿Ｄａｔａは例えば外部入出力ポート８、９、タイマ１０、クロックパルスジェネレータ１１等の周辺モジュールに供給され、周辺モジュールの動作モードが初期設定されることができる。この時に、ＣＰＵ２によって読み出される初期化制御コードデータＩＮＴ＿Ｄａｔａには、図１５のフラッシュメモリモジュール(ＦＭＤＬ)６に配置されるデータフラッシュＤＦＬの最終アドレスＥＡが含まれている。
【０３６７】
図１のＭＣＵ１のパワーオン等のシステムリセット時のシステム初期化に際して、ＣＰＵ２は読み出された最終アドレスＥＡを使用してフラッシュメモリモジュール(ＦＭＤＬ)６の内部でデータフラッシュＤＦＬの配置とプログラムフラッシュＰＦＬの配置を任意に設定するものである。図１５では、フラッシュメモリモジュール６の左上の初期アドレスで指定される不揮発性メモリアレーＭＡＲＹ＿００から順番に最終アドレスＥＡで指定される不揮発性メモリアレーＭＡＲＹ＿３Ｍまでの部分が、データフラッシュＤＦＬとして動作モードが初期設定される。従って、この部分の不揮発性メモリアレーは２つの不揮発性メモリセルから構成されたツインセルに相補データの１ビットを書き込むと言う２セル／１ビットの高信頼性の書き込み方式を採用するデータフラッシュＤＦＬとして機能することになる。
【０３６８】
次にＣＰＵ２は最終アドレスＥＡで指定される不揮発性メモリアレーＭＡＲＹ＿３Ｍの次の不揮発性メモリアレーＭＡＲＹ＿４０から順番に最後の不揮発性メモリアレーＭＡＲＹ＿ＮＭまで部分を、プログラムフラッシュＰＦＬとして動作モードを初期設定する。従って、この部分の不揮発性メモリアレーは１つの不揮発性メモリセルに単一データの１ビットを書き込むと言う１セル／１ビットの高密度の書き込み方式を採用するプログラムフラッシュＰＦＬとして機能することになる。
【０３６９】
以上のようにして、パワーオン時のシステム初期化に際して、フラッシュメモリモジュール(ＦＭＤＬ)６の内部でのデータフラッシュＤＦＬとプログラムフラッシュＰＦＬとのパーティションを完了することができる。尚、データフラッシュＤＦＬとプログラムフラッシュＰＦＬとのパーティションを変更する場合には、図１５に示すフラッシュメモリモジュール(ＦＭＤＬ)６の最下部の制御管理領域Ｃｎｔ＿Ａｒｅａの初期化制御コードデータＩＮＴ＿Ｄａｔａに含まれる最終アドレスＥＡをＣＰＵ２により書き換えるものである。
【０３７０】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０３７１】
第１の発明においては、例えば、種々のソフトウェア・プログラムを格納するためのプログラムフラッシュは１セル／１ビットに限定されるものではなく、１つの不揮発性メモリセルに２ビットまたはそれ以上の４値データ等を書き込む１セル／多ビットの多値高密度の書き込み方式を採用するができる。
【０３７２】
また、データフラッシュでツインセルによる相補データにＥＣＣ(誤り訂正コード)を付加する一方、プログラムフラッシュの多値データにＥＣＣを付加することもできる。
【０３７３】
更に本発明は、フラッシュメモリを内蔵するマイクロコンピュータ以外にも不揮発性メモリデバイス単体の半導体集積回路、更には不揮発性メモリを内蔵して種々の用途に使用される半導体集積回路にも広く適用することができる。
【０３７４】
第２の発明においては、例えば、種々のソフトウェア・プログラムを格納するためのプログラムフラッシュは１セル／１ビットに限定されるものではなく、１つの不揮発性メモリセルに２ビットまたはそれ以上の４値データ等を書き込む１セル／多ビットの多値高密度の書き込み方式を採用するができる。
【０３７５】
また、データフラッシュでツインセルによる相補データにＥＣＣ(誤り訂正コード)を付加する一方、プログラムフラッシュの多値データにＥＣＣを付加することもできる。
【０３７６】
更に本発明は、フラッシュメモリを内蔵するマイクロコンピュータ以外にも不揮発性メモリデバイス単体の半導体集積回路、更には不揮発性メモリを内蔵して種々の用途に使用される半導体集積回路にも広く適用することができる。
【符号の説明】
【０３７７】
１  マイクロコンピュータ
２  中央処理ユニット
３  ＤＭＡＣ
４  バスインターフェース回路
５  ＲＡＭ
６  フラッシュメモリモジュール
７  フラッシュシーケンサ
ＨＡＣＳＰ  高速アクセスポート
ＬＡＣＳＰ  低速アクセスポート
ＤＦＬ  データフラッシュ
ＰＦＬ  プログラムフラッシュ
ＳＥＬ＿ＢＣ  ブランク・チェックセレクタ
１st＿ＣＬ  第１カレントミラー
Ｒｅｆ＿Ｃｅｌｌ  参照セル
２nd＿ＣＬ  第２カレントミラー
ＢＣ＿ＳＡ  ブランク・チェック・センスアンプ
７１  シーケンスコントローラ
７２  ブランク・チェック設定レジスタ
７３  立ち上がり検出器
７４  ブランク開始アドレス格納レジスタ
７５  立ち下がり検出器
７６  ブランク終了アドレス格納レジスタ
７７  ブランク・チェック検出レジスタ
【図１】
2009272028.tif 000003
【図２】
2009272028.tif 000004
【図３】
2009272028.tif 000005
【図４】
2009272028.tif 000006
【図５】
2009272028.tif 000007
【図６】
2009272028.tif 000008
【図７】
2009272028.tif 000009
【図８】
2009272028.tif 000010
【図９】
2009272028.tif 000011
【図１０】
2009272028.tif 000012
【図１１】
2009272028.tif 000013
【図１２】
2009272028.tif 000014
【図１３】
2009272028.tif 000015
【図１４】
2009272028.tif 000016
【図１５】
2009272028.tif 000017
【図１６】
2009272028.tif 000018
【図１７】
2009272028.tif 000019
【図１８】
2009272028.tif 000020
【図１９】
2009272028.tif 000021
【図２０】
2009272028.tif 000022
【図２１】
2009272028.tif 000023