(57)【特許請求の範囲】
【請求項１】
参照電流リード方式と相補リード方式とを切り替えることが可能な不揮発性メモリを備えた半導体装置であって、
前記不揮発性メモリは、
行列状に配置された複数のメモリセル、前記複数のメモリセルの列にそれぞれ対応する複数のビット線、および前記複数のメモリセルの行にそれぞれ対応する複数のワード線を含む第１のメモリアレイと、
第１および第２の出力信号線を流れる電流の差を増幅することによってデータ読出しを行うセンスアンプと、
前記第１および第２の出力信号線と前記第１のメモリアレイの前記複数のビット線との接続を切替える接続切替え部とを備え、
各前記メモリセルは、第１および第２の主電極と制御電極とを含み、
前記制御電極は、対応する前記ワード線と接続され、
前記第１の主電極は、対応する前記ビット線と接続され、
前記第２の主電極は、データ記憶に用いられない特定列のメモリセルを除いて基準電位ノードと接続され、前記第１のメモリアレイの前記特定列の各メモリセルの前記第２の主電極は、前記基準電位ノードと未接続であり、
前記接続切替え部は、
前記参照電流リード方式の場合に、読出し対象のメモリセルに対応する前記第１のメモリアレイのビット線を前記第１の出力信号線に接続するとともに、前記特定列に対応するビット線および参照電流源を前記第２の出力信号線に接続し、
前記相補リード方式の場合に、読出し対象の相補データが格納された第１および第２メモリセルに対応する前記第１のメモリアレイの第１および第２のビット線を、前記第１および第２の出力信号線にそれぞれ接続するように構成される、半導体装置。
【請求項２】
参照電流リード方式と相補リード方式とを切り替えることが可能な不揮発性メモリを備えた半導体装置であって、
前記不揮発性メモリは、
行列状に配置された複数のメモリセル、前記複数のメモリセルの列にそれぞれ対応する複数のビット線、および前記複数のメモリセルの行にそれぞれ対応する複数のワード線を含む第１のメモリアレイと、
行列状に配置された複数のメモリセル、前記複数のメモリセルの列にそれぞれ対応する複数のビット線、および前記複数のメモリセルの行にそれぞれ対応する複数のワード線を含む第２のメモリアレイと、
第１および第２の出力信号線を流れる電流の差を増幅することによってデータ読出しを行うセンスアンプと、
前記第１および第２の出力信号線と前記第１のメモリアレイの前記複数のビット線との接続を切替える接続切替え部と、
前記第１のメモリアレイの複数列ごとおよび前記第２のメモリアレイの複数列ごとに設けられ、前記第１および第２のメモリアレイで共通の複数の主ビット線とを備え、
前記接続切替え部は、
各前記主ビット線と前記第１のメモリアレイの対応する複数列のビット線との接続を切替える第１の切替え部と、
各前記主ビット線と前記第２のメモリアレイの対応する複数列のビット線との接続を切替える第２の切替え部と、
前記複数の主ビット線と前記第１および第２の出力信号線との接続を切替える第３の切替え部とを含み、
前記相補リード方式で読み出される相補データは、異なる主ビット線に対応する第１および第２のメモリセルにそれぞれ格納され、
前記参照電流リード方式で前記第１のメモリアレイに含まれるメモリセルのデータを読み出す場合、前記第１の切替え部は、読出し対象のメモリセルに対応する前記第１のメモリアレイのビット線を対応する第１の主ビット線に接続するように構成され、前記第２の切替え部は、前記第１の主ビット線と異なる第２の主ビット線に前記第２のメモリアレイのいずれか１つの対応するビット線を接続するように構成され、前記第３の切替え部は、前記第１の主ビット線を前記第１の出力信号線に接続するとともに、前記第２の主ビット線および参照電流源を前記第２の出力信号線に接続するように構成され、
前記相補リード方式で前記第１のメモリアレイに含まれる第１および第２のメモリセルの相補データを読み出す場合、前記第１の切替え部は、前記第１のメモリセルに対応する前記第１のメモリアレイのビット線を対応する第１の主ビット線に接続するとともに、前記第２のメモリセルに対応する前記第１のメモリアレイのビット線を対応する第２の主ビット線に接続するように構成され、前記第３の切替え部は、前記第１および第２の主ビット線を前記第１および第２の出力信号線にそれぞれ接続するように構成される、半導体装置。
【請求項３】
前記不揮発性メモリは、データ書込み時に前記第１のメモリアレイの同一列の複数行に同一のデータを格納するように構成され、
前記不揮発性メモリは、データ読出し時に同一のデータが格納された複数行に対応するワード線を同時に活性化するように構成される、請求項１または２に記載の半導体装置。
【請求項４】
前記不揮発性メモリは、さらに、
外部から受けた読出しアドレスと、予め記憶されている相補データ格納領域を示すアドレス情報とが一致するか否かに応じて、前記相補リード方式および前記参照電流リード方式のどちらでデータ読出しを行うかを指定する制御信号を生成する制御部を備え、
前記接続切替え部は、前記読出しアドレスおよび前記制御信号に基づいて各前記ビット線と前記第１および第２の出力信号線との接続を切替える、請求項１から３のいずれか１項に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、たとえば、不揮発性メモリを備えたマイクロコンピュータなどの半導体装置に好適に用いられるものである。
【背景技術】
【０００２】
不揮発性メモリの記憶方式は、各メモリセルに“１”または“０”のデータを記憶させる方式（たとえば、特開２００４−３１８９４１号公報（特許文献１）参照）と、メモリセルのペアに“１”および“０”の相補データを記憶させる方式（たとえば、特開２００８−１１７５１０号公報（特許文献２）参照）とがある。前者の場合には、メモリセルを流れる電流と参照電流とを比較することによってそのメモリセルのデータが読み出される（以下、参照電流リード方式と称する）。後者の場合には、ペアを構成する各メモリセルに流れる電流を比較することによってそのメモリセルペアのデータが読み出される（以下、相補リード方式と称する）。
【０００３】
参照電流リード方式は、相補リード方式に比べて、読出し速度が速く、記憶容量を大きく（メモリサイズを小さく）できる。しかしながら、メモリセルを十分に消去する必要があるので、書換え可能回数が相補リード方式に比べて少ないというディメリットがある。このため、参照電流リード方式は、頻繁に書換えを行わないコード領域に用いられる。
【０００４】
一方、相補リード方式の場合には、相補リード方式に比べて、記憶容量は小さい（メモリサイズが大きい）ものの、読出し電流を小さくできるとともに書換え可能回数も大きくできる。このため、相補リード方式は、頻繁に書換えを行うデータ領域に用いられる。
【０００５】
なお、Ｆｒｅｅｓｃａｌｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ社は、ＥＥＥ（Enhanced  EEPROM）という機能を有するオンチップのフラッシュメモリを搭載したプロセッサを提供している（非特許文献１を参照）。このＥＥＥ機能を有するフラッシュメモリは、メモリサイズの縮小を優先する場合と、リテンション（保持力）を優先する場合とが選択できるが、具体的なハードウェア構成は不明である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３１８９４１号公報
【特許文献２】特開２００８−１１７５１０号公報
【非特許文献】
【０００７】
【非特許文献１】Melissa  Hunter  and  Derrick  Klotz,  "Using  the  Kinetis  Family  Enhanced  EEPROM  Functionality",  Freescale  Semiconductor  Application  Note,  Document  Number:  AN4282,  Rev.0,03/2011
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述のように、従来の不揮発性メモリの場合、参照電流リード方式はコード領域で用いられ、相補リード方式はデータ領域で用いられている。この場合、参照電流リード方式か相補リード方式かはハードウェアによって決まるので、データ領域のメモリサイズとコード領域のメモリサイズとを、アプリケーションに応じてユーザが自由に変更できないという不都合があった。
【０００９】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
一実施形態による半導体装置は、参照電流リード方式と相補リード方式とを切替えることが可能な不揮発性メモリを備える。
【発明の効果】
【００１１】
上記の一実施形態によれば、不揮発性メモリのデータ領域のメモリサイズとコード領域のメモリサイズとを自由に変更できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態による半導体装置の構成を示すブロック図である。
【図２】メモリセルの構成および動作を説明するための図である（スプリットゲート型フラッシュメモリ素子の場合）。
【図３】メモリセルの構成および動作を説明するための図である（スタックド・ゲート型フラッシュメモリセルの場合）。
【図４】相補リード方式の場合のセルデータについて説明するための図である。
【図５】参照電流リード方式の場合のセルデータについて説明するための図である。
【図６】図１のフラッシュメモリモジュールの構成を表わすブロック図である。
【図７】図６の階層センスアンプ帯の詳細な構成を示す図である。
【図８】図７の回路構成において相補リード方式の場合のメモリセル電流の経路を示す図である。
【図９】図７の階層センスアンプ帯の各制御信号線を駆動するための駆動回路の構成を示す図である。
【図１０】図９の制御信号ＣＭＰＬＯＮの生成回路の一例を示す図である。
【図１１】図７および図８のセンスアンプの構成例を示す回路図である。
【図１２】図６の出力バッファの構成例を示す回路図である。
【図１３】図１２の制御信号ＳＥＮ＿ＯＲを生成する回路の一例を示す図である。
【図１４】参照電流リード方式での読出し動作の一例を示すタイミングチャートである。
【図１５】相補リード方式での読出し動作の一例を示すタイミングチャートである。
【図１６】図６の書込み系経路の詳細を示す回路図である。
【図１７】図１６の各プログラムラッチ回路の詳細を示す回路図である。
【図１８】第２の実施形態の場合の階層センスアンプ帯の詳細な構成を示す図である。
【図１９】図１８の回路構成において相補リード方式の場合のメモリセル電流の経路を示す図である。
【図２０】図１８および図１９の階層センスアンプ帯の各制御信号線用を駆動するための駆動回路の構成を示す図である。
【図２１】第２の実施形態において、参照電流リード方式での読出し動作の一例を示すタイミングチャートである。
【図２２】第２の実施形態において、相補リード方式での読出し動作の一例を示すタイミングチャートである。
【図２３】第３の実施形態の半導体装置におけるフラッシュメモリモジュールの構成を表すブロック図である。
【図２４】図２３の列選択部と読出し用センスアンプ帯との詳細な構成を示す図である。
【図２５】図２４の回路構成において相補リード方式の場合のメモリセル電流の経路を示す図である。
【図２６】図２４の読出し用センスアンプ帯および列選択部の各制御信号線を駆動回路の構成を示す図である。
【図２７】第３の実施形態において、参照電流リード方式での読出し動作の一例を示すタイミングチャートである。
【図２８】第３の実施形態において、相補リード方式での読出し動作の一例を示すタイミングチャートである。
【発明を実施するための形態】
【００１３】
以下、各実施形態について図面を参照して詳しく説明する。以下では、不揮発性記憶装置の例としてフラッシュメモリを例に挙げて説明する。ただし、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read-Only  Memory）などのように電気的に消去およびプログラム可能な不揮発性メモリであれば、フラッシュメモリに特に限定されるものではない。なお、以下の説明において同一または相当する部分には同一の参照符号を付して、その説明を繰返さない。
【００１４】
＜第１の実施形態＞
（マイクロコンピュータ）
図１は、第１の実施形態による半導体装置の構成を示すブロック図である。図１では、半導体装置の例としてマイクロコンピュータ（ＭＣＵ）１の構成が示されている。
【００１５】
図１を参照して、マイクロコンピュータ１は、たとえばＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）集積回路製造技術などを用いることによって、単結晶シリコンのような１個の半導体チップに形成される。
【００１６】
図１に示すように、マイクロコンピュータ１は、中央処理装置（ＣＰＵ）２と、ランダムアクセスメモリ（ＲＡＭ）５と、フラッシュメモリモジュール（ＦＭＤＬ）６とを備える。中央処理装置２は、命令制御部と実行部を備えて命令を実行する。ランダムアクセスメモリ５は、中央処理装置２のワーク領域などに利用される。フラッシュメモリモジュール６は、データおよびプログラムを格納する不揮発性メモリモジュールとして設けられる。
【００１７】
マイクロコンピュータ１は、さらに、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）３と、バスインタフェース回路（ＢＩＦ）４と、フラッシュシーケンサ（ＦＳＱＣ）７と、外部入出力ポート（ＰＲＴ）８，９と、タイマ（ＴＭＲ）１０と、クロックパルスジェネレータ（ＣＰＧ）１１と、高速バス（ＨＢＵＳ）１２と、周辺バス（ＰＢＵＳ）１３とを備える。
【００１８】
バスインタフェース回路４は、高速バス１２と周辺バス１３とのバスインタフェース制御もしくはバスブリッジ制御を行う。フラッシュシーケンサ７は、フラッシュメモリモジュール（ＦＭＤＬ）６に対するコマンドアクセス制御を行う。クロックパルスジェネレータ１１は、マイクロコンピュータ１を制御するための内部クロックＣＬＫを生成する。
【００１９】
マイクロコンピュータ１のバス構成は特に制限されないが、図１の場合には、高速バス（ＨＢＵＳ）１２と周辺バス（ＰＢＵＳ）１３とが設けられている。高速バス１２および周辺バス１３の各々は、特に制限されないが、データバス、アドレスバスおよびコントロールバスを有する。高速バス１２および周辺バス１３という２本のバスを設けることによって、共通のバスに全ての回路を共通接続する場合に比べてバスの負荷を軽くし、高速アクセス動作を保証することができる。
【００２０】
高速バス１２には、中央処理装置２、ダイレクトメモリアクセスコントローラ３、バスインタフェース回路４、ランダムアクセスメモリ５、およびフラッシュメモリモジュール６が接続される。周辺バス１３には、フラッシュシーケンサ７、外部入出力ポート８，９、タイマ１０、およびクロックパルスジェネレータ１１が接続される。
【００２１】
マイクロコンピュータ１は、さらに、発振子が接続されるかまたは外部クロックが供給されるクロック端子ＸＴＡＬ／ＥＸＴＡＬと、スタンバイ状態を指示する外部ハードウェアスタンバイ端子ＳＴＢと、リセットを指示する外部リセット端子ＲＥＳと、外部電源端子Ｖｃｃと、外部接地端子Ｖｓｓとを備える。
【００２２】
図１では、ロジック回路としてのフラッシュシーケンサ７と、アレイ構成のフラッシュメモリモジュール６とは、別ＣＡＤツールを用いて設計されているため、便宜上別々の回路ブロックとして図示されているが、双方併せて１つのフラッシュメモリ１６を構成する。
【００２３】
フラッシュメモリモジュール６は、読出し専用の高速アクセスポート（ＨＡＣＳＰ）１５を介して高速バス（ＨＢＵＳ）１２に接続される。ＣＰＵ２またはＤＭＡＣ３は、高速バス１２から高速アクセスポート１５を介してフラッシュメモリモジュール６をリードアクセスすることができる。ＣＰＵ２またはＤＭＡＣ３は、フラッシュメモリモジュール６に対して書込みおよび初期化のアクセスを行うときは、バスインタフェース４を介して周辺バス（ＰＢＵＳ）１３経由でフラッシュシーケンサ７にコマンドを発行する。このコマンドに応答して、フラッシュシーケンサ７は、周辺バスＰＢＵＳから低速アクセスポート（ＬＡＣＳＰ）を通じてフラッシュメモリモジュールの初期化や書込み動作の制御を行う。
【００２４】
（メモリセルの構成および動作）
図２および図３は、メモリセルの構成および動作を説明するための図である。図２は、スプリットゲート型フラッシュメモリ素子の場合を示し、図３は、スタックド・ゲート型フラッシュメモリセルの場合を示す。
【００２５】
図２（Ａ）を参照して、スプリットゲート型フラッシュメモリ素子は、ソース領域とドレイン領域との間のチャネル形成領域の上にゲート絶縁膜を介して配置されたコントロールゲートＣＧとメモリゲートＭＧとを含む。メモリゲートＭＧとゲート絶縁膜の間にはシリコンナイトライドなどの電荷トラップ領域（ＳｉＮ）が配置される。コントロールゲートＣＧはワード線ＷＬに接続され、メモリゲートＭＧはメモリゲート選択線ＭＧＬに接続される。コントロールゲートＣＧ側のドレイン領域（またはソース領域）はビット線ＢＬに接続され、メモリゲートＭＧ側のソース領域（またはドレイン領域）はソース線ＳＬに接続される。
【００２６】
図２（Ｂ）には、スプリットゲート型フラッシュメモリ素子の読出し時および書込み／消去時におけるビット線ＢＬ、コントロールゲートＣＧ、メモリゲートＭＧ、ソース線ＳＬ、およびウェル領域（ＷＥＬＬ）の電圧設定の例が示されている。
【００２７】
具体的に、メモリセルの閾値電圧Ｖｔｈを下げるには、たとえば、ＢＬ＝１．５Ｖ、ＣＧ＝０．０Ｖ、ＭＧ＝−１０Ｖ、ＳＬ＝６Ｖ、ＷＥＬＬ＝０Ｖに設定される。これによって、ウェル領域（ＷＥＬＬ）とメモリゲートＭＧとの間の高電界によって発生した電子と正孔のうち正孔が、ウェル領域（ＷＥＬＬ）から電荷トラップ領域（ＳｉＮ）に注入される。この処理はメモリゲートを共有する複数のメモリセルを単位として実行される。
【００２８】
メモリセルの閾値電圧Ｖｔｈを上げるには、たとえば、ＢＬ＝０Ｖ、ＣＧ＝１．５Ｖ、ＭＧ＝１０Ｖ、ＳＬ＝６、ＷＥＬＬ＝０Ｖに設定される。この場合、ソース線ＳＬからビット線に書込み電流が流れることによって、コントロールゲートとメモリゲートとの境界部分でホットエレクトロンが発生し、発生したホットエレクトロンが電荷トラップ領域（ＳｉＮ）に注入される。電子の注入はビット線電流を流すか否かによって決まるので、この処理はビット単位で制御される。
【００２９】
読出し時には、たとえば、ＢＬ＝１．５Ｖ、ＣＧ＝１．５Ｖ，ＭＧ＝０Ｖ、ＳＬ＝０Ｖ、ＷＥＬＬ＝０Ｖに設定される。メモリセルの閾値電圧Ｖｔｈが低ければメモリセルの抵抗は小さくなり（オン状態）、閾値電圧Ｖｔｈが高ければメモリセルの抵抗は大きくなる（オフ状態）。
【００３０】
図３（Ａ）に示されたスタックド・ゲート型フラッシュメモリ素子は、ソース領域とドレイン領域との間のチャネル形成領域の上にゲート絶縁膜を介してフローティングゲートＦＧとコントロールゲートＣＧがスタックされることによって構成される。コントロールゲートＣＧはワード線ＷＬに接続される。ドレイン領域はビット線ＢＬに接続され、ソース領域はソース線ＳＬに接続される。
【００３１】
図３（Ｂ）および（Ｃ）には、スタックド・ゲート型フラッシュメモリ素子の読出しおよび書込み／消去時におけるビット線ＢＬ、ワード線ＷＬ、ソース線ＳＬ、およびウェル領域（ＷＥＬＬ）の電圧設定の例が示されている。図３（Ｂ）は、ホットキャリア書込み方式によって閾値電圧Ｖｔｈを上げ、ウェル領域ＷＥＬＬへの電子の放出によって閾値電圧Ｖｔｈを下げる場合の電圧設定例が示されている。図３（Ｃ）はＦＮトンネル書込み方式によって閾値電圧Ｖｔｈを上げ、ビット線ＢＬへの電子の放出によって閾値電圧Ｖｔｈを下げる場合の電圧設定例が示されている。
【００３２】
なお、この明細書では、コントロールゲートＣＧを制御電極とも称し、ビット線ＢＬに接続される不純物領域を第１の主電極とも称し、ソース線ＳＬに接続される不純物領域を第２の主電極とも称する。
【００３３】
（参照電流リード方式と相補リード方式について）
図４は、相補リード方式の場合のセルデータについて説明するための図である。図５は、参照電流リード方式の場合のセルデータについて説明するための図である。
【００３４】
フラッシュメモリモジュールでは情報記憶の方式として、１ビットの情報の記憶を２個の不揮発性メモリセルを用いて行う相補リード方式（相補読出し方式とも称する）と、１ビットの情報の記憶を１個の不揮発性メモリセルを用いて行う参照電流リード方式（参照電流読出し方式とも称する）とがある。
【００３５】
図４を参照して、相補リード方式では、メモリアレイ内の予め定められた２個の書換え可能な不揮発性メモリセルＭＣ１，ＭＣ２が１ビットのツインセルとして利用される。本明細書では、メモリセルＭＣ１をポジティブセル、メモリセルＭＣ２をネガティブセルと呼ぶ。メモリセルＭＣ１，ＭＣ２のそれぞれは、セルデータ“１”（低閾値電圧状態；閾値電圧が消去ベリファイレベルよりも小さい状態）またはセルデータ“０”（高閾値電圧状態；閾値電圧が消去ベリファイレベル以上の状態）を保持することができる。
【００３６】
ツインセルによる情報記憶は、ツインセルを構成する不揮発性メモリセルＭＣ１，ＭＣ２に相補データを格納することによって行われる。すなわち、図４（Ａ）に示すように、ツインセルデータ“０”は、ポジティブセルＭＣ１がセルデータ“０”を保持し、ネガティブセルＭＣ２がセルデータ“１”を保持する状態である。図４（Ｂ）に示すように、ツインセルデータ“１”はポジティブセルＭＣ１がセルデータ“１”を保持し、ネガティブセルＭＣ２がセルデータ“０”を保持する状態である。図４（Ｃ）に示すように、ツインセルのポジティブセルＭＣ１およびネガティブセルＭＣ２が共にセルデータ“１”を保持する状態はイニシャライズ状態であり、ツインセルデータは不定になる。
【００３７】
図５を参照して、参照電流リード方式では、メモリアレイ内の書換え可能な不揮発性メモリセルＭＣの各々に１ビットのデータが格納される。したがって、参照電流リード方式の場合には、ポジティブセルとネガティブセルとの区別はない。図５（Ａ）に示すように、セルデータ“１”は、メモリセルＭＣがセルデータ“１”を保持する状態（低閾値電圧状態）である。図５（Ｂ）に示すように、セルデータ“０”はメモリセルＭＣがセルデータ“０”を保持する状態（高閾値電圧状態）である。
【００３８】
（フラッシュメモリモジュール）
図６は、図１のフラッシュメモリモジュールの構成を表わすブロック図である。図６では、紙面の上下方向を列方向と称し、紙面の左右方向を行方向と称する。図６を参照して、フラッシュメモリモジュール６は、メモリマット２０と、出力バッファ（ＯＢＵＦ）３４と、第１の行デコーダ（ＲＤＥＣ１）３０と、第２の行デコーダ（ＲＤＥＣ２）３１とを含む。
【００３９】
メモリマット２０は、階層センスアンプ帯２３と、階層センスアンプ帯に対して列方向の両側に設けられたメモリアレイ２２，２４とを１つの構成単位（以下、メモリブロック２１と称する）として含む。メモリマット２０には、このようなメモリブロック２１が列方向に複数配置されている（図６では１つのメモリブロック２１のみが代表的に示されている）。以下では、メモリアレイ２２を上側のメモリアレイ２２とも称し、メモリアレイ２４を下側のメモリアレイとも称する。
【００４０】
メモリマット２０は、行方向に延びる複数のワード線ＷＬ、行方向に延びる複数のメモリゲート選択線ＭＧＬ、行方向に延びる複数のソース線ＳＬ、列方向に延びる複数の副ビット線ＳＢＬを含む。これらの制御信号線はメモリアレイ２２，２４ごとに設けられている。
【００４１】
メモリマット２０は、メモリマット２０で共通に設けられた複数の書込み系主ビット線ＷＭＢＬと読出し系主ビット線ＲＷＢＬとを含む。書込み系主ビット線ＷＭＢＬの各々は、複数の副ビット線ＳＢＬに対応し、対応する副ビット線ＳＢＬに副ビット線セレクタ２６Ｕ，２６Ｄを介して接続される。すなわち、書込み系主ビット線ＷＭＢＬおよび副ビット線ＳＢＬは階層化されている。
【００４２】
メモリアレイ２２，２４には、複数のメモリセルＭＣが行列状に配設されている。メモリアレイの行は複数のワード線ＷＬにそれぞれ対応するとともに、複数のメモリゲート選択線ＭＧＬにそれぞれ対応する。すなわち、ワード線ＷＬおよびメモリゲート選択線ＭＧＬは、メモリアレイの行単位で設けられている。メモリアレイの列は、複数の副ビット線ＳＢＬにそれぞれ対応する。すなわち、副ビット線ＳＢＬは、メモリアレイの列単位で設けられている。ソース線ＳＬは、メモリアレイの複数行で共通に接続される。データ読出し時には、ソース線ＳＬは接地ノードＶＳＳに接続されている。
【００４３】
なお、図６には、各メモリセルがスプリットゲート型フラッシュメモリ素子である場合が示されている。各メモリセルは、スタックド・ゲート型フラッシュメモリ素子であってもよい。この場合には、メモリゲート選択線ＭＧＬは設けられない。
【００４４】
図６のフラッシュメモリモジュール６の特徴は、１ビットの情報の記憶を２個の不揮発性メモリセルを用いて行う相補リード方式と、１ビットの情報の記憶を１個の不揮発性メモリセルを用いて行う参照電流リード方式とが切替え可能である点にある。
【００４５】
相補リード方式では、共通のワード線ＷＬに接続された書換え可能な１対の不揮発性メモリセルがツインセルとして用いられる。図６のメモリアレイ２４では、共通のワード線ＷＬに接続された１対のメモリセルＭＣ１，ＭＣ２が代表的に示されている。同様にメモリアレイ２２では、共通のワード線ＷＬに接続された１対のメモリセルＭＣ３，ＭＣ４が代表的に示されている。この明細書では、メモリセルＭＣ１，ＭＣ３をポジティブセルと称し、メモリセルＭＣ２，ＭＣ４をネガティブセルと称する。
【００４６】
ツインセルを構成するメモリセルＭＣ１，ＭＣ２において、各メモリゲートＭＧは、対応する共通のメモリゲート選択線ＭＧＬに接続され、各コントロールゲートＣＧは、対応する共通のワード線ＷＬに接続される。各メモリセルのソースは、共通のソース線ＳＬに接続される。メモリセルＭＣ１，ＭＣ２は、さらに、列単位でそれぞれ対応する副ビット線ＳＢＬに接続される。
【００４７】
参照電流リード方式では、メモリセルＭＣ１〜ＭＣ４の各々に１ビットのデータが格納される。この場合、ポジティブセルとネガティブセルとの区別はない。
【００４８】
階層センスアンプ帯２３は、センスアンプＳＡと、読出し列セレクタ２５と、副ビット線セレクタ２６Ｕ，２６Ｄとを含む。
【００４９】
センスアンプＳＡは、第１および第２の入力ノードを備え、第１の入力ノードに接続された第１の出力信号線ＣＢＬＵに流れる電流と、第２の入力ノードに接続された第２の出力信号線ＣＢＬＵに流れる電流との差を増幅することによって、両電流値の比較結果を出力する（以下では、第１の出力信号線ＣＢＬＵを上側の出力信号線とも称し、第２の出力信号線ＣＢＬＤを下側の出力信号線とも称する）。センスアンプＳＡの出力信号は、列方向に延びる読出し系主ビット線ＲＭＢＬを介して出力バッファ（ＯＢＵＦ）３４に伝達される。出力バッファ３４は、高速バスＨＢＵＳのうちのデータバスＨＢＵＳ−Ｄに接続されている。出力バッファ３４は、この高速データバスＨＢＵＳ−Ｄを介してセンスアンプＳＡの出力を図１のＣＰＵ２またはＤＭＡＣ３などに出力する。
【００５０】
読出し列セレクタ２５は、複数のＰＭＯＳトランジスタ５１Ｕ〜５４Ｕ，５１Ｄ〜５４Ｄを含み、これらのＰＭＯＳトランジスタを切替えることによって、各副ビット線ＳＢＬと上記の出力信号線ＣＢＬＵ，ＣＢＬＤとの接続切替えを行う接続切替え部として機能する（以下、上記のようにスイッチとして用いられるＭＯＳトランジスタをＭＯＳトランジスタスイッチとも称する）。基本的に、上側のメモリアレイ２２で用いられる副ビット線ＳＢＬは、ＰＭＯＳ（Positive-channel  MOS）トランジスタスイッチ（５１Ｕ，５３Ｕ；５２Ｕ，５４Ｕなど）を介して、上側の出力信号線ＣＢＬＵに接続される。同様に、下側のメモリアレイ２４で用いられる副ビット線ＳＢＬは、ＰＭＯＳトランジスタスイッチ（５１Ｄ，５３Ｄ；５２Ｄ，５４Ｄなど）を介して、下側の出力信号線ＣＢＬＤに接続される。
【００５１】
さらに、読出し列セレクタ２５は、相補リード方式の場合に、ネガティブセルを上記の基本的な場合の接続先と逆の出力信号線（ＣＢＬＵまたはＣＢＬＤ）に接続するためのＰＭＯＳトランジスタスイッチ５５Ｕ，５５Ｄを含む。たとえば、メモリセルＭＣ１，ＭＣ２によって構成されるツインセルのデータを読み出す場合には、メモリセルＭＣ１は、ＰＭＯＳトランジスタスイッチ５３Ｄ，５１Ｄを介して下側の出力信号線ＣＢＬＤに接続される。メモリセルＭＣ２は、ＰＭＯＳトランジスタスイッチ５４Ｄ，５５Ｄを介して上側の出力信号線ＣＢＬＵに接続される。同様に、メモリセルＭＣ３，ＭＣ４によって構成されるツインセルのデータを読み出す場合には、メモリセルＭＣ３は、ＰＭＯＳトランジスタスイッチ５３Ｕ，５１Ｕを介して上側の出力信号線ＣＢＬＵに接続される。メモリセルＭＣ４は、ＰＭＯＳトランジスタスイッチ５４Ｕ，５５Ｕを介して下側の出力信号線ＣＢＬＤに接続される。
【００５２】
参照電流リード方式の場合には、上記のＰＭＯＳトランジスタスイッチ５５Ｕ，５５Ｄは常時オフ状態となっている。たとえば、下側のメモリアレイ２４に設けられたメモリセルＭＣ２のデータを読み出す場合には、メモリセルＭＣ２は、ＭＯＳトランジスタスイッチ５４Ｄ，５２Ｄを介して下側の出力信号線ＣＢＬＤに接続される。上側の出力信号線ＣＢＬＵは図示しない参照電流源に接続される。このとき、ＭＯＳトランジスタスイッチ５２Ｕ，５４Ｕもオン状態にすることによって、メモリセルＭＣ４に設けられた副ビット線ＳＢＬも上側の出力信号線ＣＢＬＵに接続される。この理由は、下側の出力信号線ＣＢＬＤに接続されている副ビット線ＳＢＬの配線容量と同等の配線容量を上側の出力信号線ＣＢＬＵにも付加するためである。
【００５３】
副ビット線セレクタ２６Ｕ，２６Ｄは、複数のＮＭＯＳ（Negative-channel  MOS）トランジスタスイッチ６０Ｕ，６０Ｄを含み、これらのＮＭＯＳトランジスタスイッチ６０Ｕ，６０Ｄのオンおよびオフを切り替えることによって、書込み系主ビット線ＷＭＢＬに対して、対応する副ビット線ＳＢＬを選択的に接続する。具体的にメモリアレイ２２に設けられた副ビット線ＳＢＬは、対応する主ビット線ＷＭＢＬとＮＭＯＳトランジスタスイッチ６０Ｕを介して接続される。メモリアレイ２４に設けられた副ビット線ＳＢＬは、対応する主ビット線ＷＭＢＬとＮＭＯＳトランジスタスイッチ６０Ｄを介して接続される。第１の実施形態の場合、副ビット線セレクタ２６Ｕ，２６Ｄは、データ書込み時のみに用いられ、データ読出し時には用いられない。
【００５４】
第１の行デコーダ（ＲＤＥＣ１）３０は、ワード線ＷＬを選択的に活性化するためのドライバ１８０を含む。第２の行デコーダ（ＲＤＥＣ２）３１は、メモリゲート線ＭＧＬを選択的に活性化するためのドライバ１８２、およびソース線ＳＬを選択的に活性化するためのドライバ１８３を含む。第２の行デコーダ３１は、さらに、副ビット線セレクタ２６Ｕ，２６Ｄを制御する制御信号線ＺＬを選択的に活性化するためのドライバ１８３を含む。この制御信号線ＺＬは、副ビット線セレクタ２６Ｕ，２６Ｄに設けられたＮＭＯＳトランジスタスイッチ６０Ｕ，６０Ｄのゲートに接続される。第１の行デコーダ３０および第２の行デコーダ３１による選択動作は、読出しアクセスでは図１の高速アクセスポート（ＨＡＣＳＰ）１５に供給されるアドレス情報などに従い、データの書込み動作および初期化動作（消去動作）では図１の低速アクセスポート（ＬＡＣＳＰ）１４に供給されるアドレス情報などに従う。
【００５５】
フラッシュメモリモジュール６は、さらに、入出力バッファ（ＩＯＢＵＦ）３３と、主ビット線電圧制御回路３９と、列デコーダ（ＣＤＥＣ）３２と、書換え列セレクタ３８と、ベリファイ回路３７と、電源回路（ＶＰＧ）３５と、タイミングジェネレータ（ＴＭＧ）３６とを含む。
【００５６】
入出力バッファ（ＩＯＢＵＦ）３３は、低速アクセスポート（ＬＡＳＣＰ）１４を介して、周辺バス（ＰＢＵＳ）１３のうちのデータバスＰＢＵＳ−Ｄ（以下、周辺データバスＰＢＵＳ−Ｄとも称する）と接続される。入出力バッファ３３は、周辺データバスＰＢＵＳ−Ｄを介して書込みデータを受ける。入出力バッファ３３は、さらに、ベリファイセンスアンプＶＳＡの判定結果を周辺データバスＰＢＵＳ−Ｄに出力する。
【００５７】
主ビット線電圧制御回路３９は、書込み系主ビット線ＷＭＢＬにそれぞれ対応して設けられた複数のプログラムラッチ回路ＰＲＧＬを含む。プログラムラッチ回路ＰＲＧＬは、入出力バッファ３３を介して供給された書込みデータを保持する。データ書込みの際に書込み系主ビット線ＷＭＢＬには、対応するプログラムラッチ回路ＰＲＧＬに保持されたデータ（“１”または“０”）に従った書込み電流が選択的に流れる。
【００５８】
列デコーダ（ＣＤＥＣ）３２は、図１の低速アクセスポート（ＬＡＣＳＰ）１４に供給されるアドレス情報などに従って、書込み系主ビット線ＷＭＢＬを選択するための制御信号などを生成する。
【００５９】
書換え列セレクタ３８は、各書込み系主ビット線ＷＭＢＬとベリファイセンスアンプＶＳＡとを選択的に接続するためのＮＭＯＳトランジスタスイッチ８０Ｂと、入出力バッファ３３とプログラムラッチ回路ＰＲＧＬとを選択的に接続するためのＮＭＯＳトランジスタスイッチ８０Ｌとを含む。ＮＭＯＳトランジスタスイッチ８０Ｂ，８０Ｌは、列デコーダ３２からの制御信号に従ってオンまたはオフに切り替わる。ＮＭＯＳトランジスタスイッチ８０Ｌがオンすることによって、対応するプログラムラッチ回路ＰＲＧＬに入出力バッファ３３から書込みデータが入力される。
【００６０】
ベリファイ回路３７は、書込み対象のメモリセルのデータと、プログラムラッチ回路ＰＲＧＬに保持されている書込みデータとが一致するか否かを判定することによって、書込み対象のメモリセルに所望のデータが書き込まれているかどうかを判定する。ベリファイ回路３７は、書込み対象のメモリセルのデータを読み出すためのベリファイセンスアンプＶＳＡを含む。ベリファイセンスアンプＶＳＡは、書換え列セレクタ３８の選択動作によって（すなわち、対応するＮＭＯＳトランジスタスイッチ８０Ｂがオンすることによって）、書込み対象のメモリセルに対応する書込み系主ビット線ＷＭＢＬと接続される。
【００６１】
電源回路(ＶＰＧ)３５は、読出し、書込み、初期化（消去）に必要な各種動作電圧を生成する。生成される複数の電圧のうち、電源電圧（電源ノードＶＤＤの電圧）は、半導体装置内におけるＣＭＯＳ回路の電源電圧である。上述のメモリゲートＭＧ、コントロールゲートＣＧ、ソース線ＳＬ、ウェル（ＷＥＬＬ）、ビット線ＢＬへ与える電圧は、フラッシュシーケンサ７の制御に従って、電源回路（ＶＰＧ）３５で生成されて供給される。
【００６２】
タイミングジェネレータ(ＴＭＧ)３６は、図１のＣＰＵ２等から高速アクセスポート（ＨＡＣＳＰ）１５に供給されるアクセスストローブ信号、フラッシュシーケンサ（ＦＳＱＣ）７から高速アクセスポート１５に供給されるアクセスコマンド等に従って、内部動作タイミングを規定する内部制御信号を生成する。フラッシュメモリ１６の制御部は、図１のフラッシュシーケンサ（ＦＳＱＣ）７とタイミングジェネレータ３６とによって構成される。
【００６３】
（読出し系回路の詳細）
図７は、図６の階層センスアンプ帯の詳細な構成を示す図である。具体的に、図７には、図６の階層センスアンプ帯２３のうちで、センスアンプＳＡ、読出し列セレクタ２５、および下側の副ビット線セレクタ２６Ｄの構成と、下側のメモリアレイ２４の第ｍ行の構成とが示されている。さらに、図６では、読出し列セレクタ２５と副ビット線セレクタ２６Ｄとの間に設けられた充放電回路２７Ｄの構成も示されている。なお、図７では図示していないが、読出し列セレクタ２５と上側の副ビット線セレクタ２６Ｕとの間にも、充放電回路２７Ｄと同様の構成の充放電回路２７Ｕが設けられている。
【００６４】
図７では、４本の書込み系主ビット線ＷＭＢＬ０〜ＷＭＢＬ３、上側のメモリアレイ２２に設けられた８本の副ビット線ＳＢＬ＿Ｕ０〜ＳＢＬ＿Ｕ７、下側のメモリアレイ２４に設けられた８本の副ビット線ＳＢＬ＿Ｄ０〜ＳＢＬ＿Ｄ７、および１本の読出し系主ビット線ＲＭＢＬ０が代表的に示されている。図７では図示していないが、実際のメモリセルモジュール６では、これらのビット線が行方向に繰り返して設けられている。
【００６５】
副ビット線ＳＢＬは、１本の書込み系主ビット線ＷＭＢＬに対して、メモリアレイごとに２本ずつ割り当てられる。具体的に、下側のメモリアレイ２４では、書込み系主ビット線ＷＭＢＬｉ（ただし、ｉ＝０〜３）に副ビット線ＳＢＬ＿Ｄ２×ｉ，ＳＢＬ＿Ｄ２×ｉ＋１が割当てられる。上側のメモリアレイ２２では、書込み系主ビット線ＷＭＢＬｉ（ただし、ｉ＝０〜３）に副ビット線ＳＢＬ＿Ｕ２×ｉ，ＳＢＬ＿Ｕ２×ｉ＋１が割当てられる。
【００６６】
相補リード方式の場合には、互いに異なる副ビット線ＳＢＬに接続され、かつ、共通のワード線ＷＬに接続されたメモリセル同士がツインセルを構成する。具体的に図７の場合には、副ビット線ＳＢＬ＿Ｄ０，ＳＢＬ＿Ｄ４に接続されたメモリセルのうちで、共通のワード線ＷＬに接続されたメモリセル同士がツインセルを構成する。同様に、副ビット線ＳＢＬ＿Ｄｉ，ＳＢＬ＿Ｄｉ＋４（ただし、ｉ＝０〜３）に接続されたメモリセル同士がツインセルを構成する。副ビット線ＳＢＬ＿Ｄ０〜ＳＢＬ＿Ｄ３に接続されたメモリセルはポジティブセルとして用いられ、ＳＢＬ＿Ｄ４〜ＳＢＬ＿Ｄ７に接続されたメモリセルはネガティブセルとして用いられる。上側のメモリアレイ２２に設けられたメモリセルについても同様である。
【００６７】
副ビット線セレクタ２６Ｄは、副ビット線ＳＢＬ＿Ｄ０〜ＳＢＬ＿Ｄ７にそれぞれ対応するＮＭＯＳトランジスタスイッチ６０Ｄ０〜６０Ｄ７と、制御信号線ＺＬ＿Ｄ０，ＺＬ＿Ｄ１とを含む。各ＮＭＯＳトランジスタスイッチ６０Ｄ０〜６０Ｄ７は、対応する副ビット線ＳＢＬと、対応する副ビット線ＳＢＬが割当てられた書込み系主ビット線ＷＭＢＬとの間に接続される。制御信号線ＺＬ＿Ｄ０は偶数番目のＮＭＯＳトランジスタスイッチ６０Ｄ０，６０Ｄ２，６０Ｄ４，６０Ｄ６のゲートに接続され、制御信号線ＺＬ＿Ｄ１は奇数番目のＮＭＯＳトランジスタスイッチ６０Ｄ１，６０Ｄ３，６０Ｄ５，６０Ｄ７のゲートに接続される。
【００６８】
充放電回路２７Ｄは、偶数番目の副ビット線ＳＢＬ＿Ｄ０，ＳＢＬ＿Ｄ２，ＳＢＬ＿Ｄ４，ＳＢＬ＿Ｄ６に個別に対応する複数のＰＭＯＳトランジスタスイッチ５８Ｄ０と、奇数番目の副ビット線ＳＢＬ＿Ｄ１，ＳＢＬ＿Ｄ３，ＳＢＬ＿Ｄ５，ＳＢＬ＿Ｄ７に個別に対応する複数のＰＭＯＳトランジスタスイッチ５８Ｄ１と、制御信号線ＣＨ＿Ｄ０Ｎ，ＣＨ＿Ｄ１Ｎとを含む。各ＰＭＯＳトランジスタスイッチ５８Ｄ０または５８Ｄ１は、対応する副ビット線ＳＢＬと電源ノードＶＤＤとの間に接続される。制御信号線ＣＨ＿Ｄ０Ｎは偶数番目のＰＭＯＳトランジスタ５８Ｄ０のゲートに接続され、制御信号線ＣＨ＿Ｄ１Ｎは奇数番目のＰＭＯＳトランジスタ５８Ｄ１のゲートに接続される。
【００６９】
充放電回路２７Ｄは、さらに、偶数番目の副ビット線ＳＢＬ＿Ｄ０，ＳＢＬ＿Ｄ２，ＳＢＬ＿Ｄ４，ＳＢＬ＿Ｄ６に個別に対応する複数のＮＭＯＳトランジスタスイッチ５９Ｄ０と、奇数番目の副ビット線ＳＢＬ＿Ｄ１，ＳＢＬ＿Ｄ３，ＳＢＬ＿Ｄ５，ＳＢＬ＿Ｄ７に個別に対応する複数のＮＭＯＳトランジスタスイッチ５９Ｄ１と、制御信号線ＤＣ＿Ｄ０，ＤＣ＿Ｄ１とを含む。各ＮＭＯＳトランジスタスイッチ５９Ｄ０または５９Ｄ１は、対応する副ビット線ＳＢＬと接地ノードＶＳＳとの間に接続される。制御信号線ＤＣ＿Ｄ０は偶数番目のＮＭＯＳトランジスタ５９Ｄ０のゲートに接続され、制御信号線ＤＣ＿Ｄ１は奇数番目の各ＮＭＯＳトランジスタ５９Ｄ１のゲートに接続される。
【００７０】
充放電回路２７Ｕの構成は、上記の充放電回路２７Ｄの構成の説明において、添え字のＤをＵに置き換えたものに相当するので説明を繰返さない。
【００７１】
読出し列セレクタ２５は、下側のメモリアレイ２４に設けられている副ビット線ＳＢＬ＿Ｄ０〜ＳＢＬ＿Ｄ７を下側の出力信号線ＣＢＬＤに選択的に接続するためのＰＭＯＳトランジスタスイッチ５１Ｄ，５２Ｄ，５３Ｄ０〜５３Ｄ３，５４Ｄ０〜５４Ｄ３を含む。さらに、読出し列セレクタ２５は、上側のメモリアレイ２２に設けられた副ビット線ＳＢＬ＿Ｕ０〜ＳＢＬ＿Ｕ７を上側の出力信号線ＣＢＬＵに選択的に接続するためのＰＭＯＳトランジスタスイッチ５１Ｕ，５２Ｕ，５３Ｕ０〜５３Ｕ３，５４Ｕ０〜５４Ｕ３を含む。
【００７２】
上記のＰＭＯＳトランジスタスイッチの具体的な接続関係は次のとおりである。まず、ＰＭＯＳトランジスタスイッチ５３Ｄ０〜５３Ｄ３は副ビット線ＳＢＬ＿Ｄ０〜Ｄ３にそれぞれ対応し、各々が、対応の副ビット線ＳＢＬと共通ノード６２Ｄとの間にそれぞれ接続される。ＰＭＯＳトランジスタスイッチ５１Ｄは、共通ノード６２Ｄと下側の出力信号線ＣＢＬＤとの間に接続される。ＰＭＯＳトランジスタスイッチ５４Ｄ０〜５４Ｄ３は副ビット線ＳＢＬ＿Ｄ４〜Ｄ７にそれぞれ対応し、各々が、対応の副ビット線ＳＢＬと共通ノード６３Ｄとの間にそれぞれ接続される。ＰＭＯＳトランジスタスイッチ５２Ｄは、共通ノード６３Ｄと下側の出力信号線ＣＢＬＤとの間に接続される。
【００７３】
同様に、ＰＭＯＳトランジスタスイッチ５３Ｕ０〜５３Ｕ３は副ビット線ＳＢＬ＿Ｕ０〜Ｕ３にそれぞれ対応し、各々が、対応の副ビット線ＳＢＬと共通ノード６２Ｕとの間にそれぞれ接続される。ＰＭＯＳトランジスタスイッチ５１Ｕは、共通ノード６２Ｕと上側の出力信号線ＣＢＬＵとの間に接続される。ＰＭＯＳトランジスタスイッチ５４Ｕ０〜５４Ｕ３は副ビット線ＳＢＬ＿Ｕ４〜Ｕ７にそれぞれ対応し、各々が、対応の副ビット線ＳＢＬと共通ノード６３Ｕとの間にそれぞれ接続される。ＰＭＯＳトランジスタスイッチ５２Ｕは、共通ノード６３Ｕと上側の出力信号線ＣＢＬＵとの間に接続される。
【００７４】
読出し列セレクタ２５は、さらに、上記のＰＭＯＳトランジスタスイッチのオンおよびオフを切り替えるための制御信号線ＹＲＢ＿Ｄ０Ｎ，ＹＲＢ＿Ｄ１Ｎ，ＹＲＡ＿Ｄ０Ｎ〜ＹＲＡ＿Ｄ３Ｎ，ＹＲＢ＿Ｕ０Ｎ，ＹＲＢ＿Ｕ１Ｎ，ＹＲＡ＿Ｕ０Ｎ〜ＹＲＡ＿Ｕ３Ｎを含む。具体的に、制御信号線ＹＲＢ＿Ｄ０Ｎ，ＹＲＢ＿Ｄ１Ｎは、ＰＭＯＳトランジスタスイッチ５１Ｄ，５２Ｄのゲートにそれぞれ接続される。制御信号線ＹＲＡ＿ＤｉＮは（ｉ＝０〜３）、ＰＭＯＳトランジスタスイッチ５３Ｄｉおよび５４Ｄｉのゲートに接続される。各制御信号線ＹＲＡ＿ＤｉＮが、２個のＰＭＯＳトランジスタスイッチ５３Ｄｉ，５４Ｄｉに接続されているのは、ツインセルに対応する２本の副ビット線ＳＢＬを同時に選択するためである。
【００７５】
同様に、制御信号線ＹＲＢ＿Ｕ０Ｎ，ＹＲＢ＿Ｕ１Ｎは、ＰＭＯＳトランジスタスイッチ５１Ｕ，５２Ｕのゲートにそれぞれ接続される。制御信号線ＹＲＡ＿ＵｉＮは（ｉ＝０〜３）、ＰＭＯＳトランジスタスイッチ５３Ｕｉおよび５４Ｕｉのゲートに接続される。
【００７６】
読出し列セレクタ２５は、さらに、定電流源ＣＳ１，ＣＳ２と、これらの定電流源ＣＳ１，ＣＳ２と上側の出力信号線ＣＢＬＵとの接続をそれぞれ切替えるためのＮＭＯＳトランジスタスイッチ５６Ｕ，５７Ｕと、これらの定電流源ＣＳ１，ＣＳ２と下側の出力信号線ＣＢＬＤとの間の接続をそれぞれ切替えるためのＮＭＯＳトランジスタスイッチ５６Ｄ，５７Ｄとを含む。ＰＭＯＳトランジスタ５６Ｕ，５６Ｄは、共通ノード６２Ｕ，６２Ｄと定電流源ＣＳ１との間にそれぞれ接続される。ＰＭＯＳトランジスタ５７Ｕ，５７Ｄは、共通ノード６３Ｕ，６３Ｄと定電流源ＣＳ２との間にそれぞれ接続される。読出し列セレクタ２５は、さらに、ＮＭＯＳトランジスタスイッチ５６Ｕ，５７Ｕのゲートに接続された制御信号線ＲＥＦ＿Ｕと、ＮＭＯＳトランジスタスイッチ５６Ｄ，５７Ｄのゲートに接続された制御信号線ＲＥＦ＿Ｄとを含む。
【００７７】
上記の電流源ＣＳ１，ＣＳ２は、たとえば、定電圧がゲートに印加されたＮＭＯＳトランジスタによって構成される。なお、電流源ＣＳ１，ＣＳ２に相当する参照セルを各メモリアレイ内に設け、参照セルを流れる電流と読出し対象のメモリセルを流れる電流とを比較するように階層センスアンプ帯２３を構成してもよい。
【００７８】
読出し列セレクタ２５は、さらに、下側のメモリアレイ２４のネガティブセルと上側の出力信号線ＣＢＬＵとの接続を切替えるためのＰＭＯＳトランジスタスイッチ５５Ｄと、上側のメモリアレイ２２のネガティブセルと下側の出力信号線ＣＢＬＤとの接続を切替えるためのＰＭＯＳトランジスタスイッチ５５Ｕとを含む。ＰＭＯＳトランジスタスイッチ５５Ｄは、共通ノード６３Ｄと上側の出力信号線ＣＢＬＵとの間に接続され、ＰＭＯＳトランジスタスイッチ５５Ｕは、共通ノード６３Ｕと下側の出力信号線ＣＢＬＤとの間に接続される。
【００７９】
なお、上記の制御信号線の表記において参照符号の末尾がＮの場合には、ローレベル（Ｌレベル）の信号によって当該制御信号線は活性化され、当該活性化された制御信号線に接続されているＰＭＯＳトランジスタスイッチがオン状態になることを意味している。上記の制御信号線の表記において参照符号の末尾がＮでない場合には、ハイレベル（Ｈレベル）の信号によって当該制御信号線は活性化され、当該活性化された制御信号線に接続されているＮＭＯＳトランジスタスイッチがオン状態になることを意味している。
【００８０】
（参照電流リード方式におけるメモリセル電流および参照電流の経路について）
次に、図７を参照して、参照電流リード方式において、メモリセルＭＣ１のデータを読み出す場合のセル電流Ｉｃの経路と参照電流Ｉｒｅｆの経路とについて説明する。
【００８１】
メモリセルＭＣ１のデータを読み出す場合には、メモリセルＭＣ１のコントロールゲートに接続されているワード線ＷＬｍがＨレベルに活性化される。さらに、制御信号線ＹＲＡ＿Ｄ０Ｎ，ＹＲＢ＿Ｄ０Ｎを活性化させることによって、セル電流Ｉｃを発生させる。セル電流Ｉｃは、センスアンプＳＡから、出力信号線ＣＢＬＤ、ＰＭＯＳトランジスタスイッチ５１Ｄ，５３Ｄ０、副ビット線ＳＢＬ＿Ｄ０、メモリセルＭＣ１を順に経由して、ソース線ＳＬに至る方向に流れる。データ読出し時には、ソース線ＳＬは接地ノードＶＳＳに接続されている。
【００８２】
参照電流Ｉｒｅｆを発生させるためには、制御信号線ＹＲＢ＿Ｕ０Ｎ，ＲＥＦ＿Ｕを活性化させる。参照電流Ｉｒｅｆは、センスアンプＳＡから、出力信号線ＣＢＬＵ、ＰＭＯＳトランジスタスイッチ５１Ｕ，５６Ｕ、電流源ＣＳ１を順に経由して、接地ノードＶＳＳに至る方向に流れる。電流源ＣＳ１によって参照電流Ｉｒｅｆの大きさが調整される。
【００８３】
参照電流Ｉｒｅｆを発生させる際には、さらに、制御信号線ＹＲＡ＿Ｕ０Ｎを活性化することによって、ＰＭＯＳトランジスタスイッチ５３Ｕ０をオンする。これによって、副ビット線ＳＢＬ＿Ｕ０の配線容量が、電流源側ＣＳ１側の出力信号線ＣＢＬＵに付加される。副ビット線ＳＢＬ＿Ｕ０の配線容量は、メモリセルＭＣ１に接続された副ビット線ＳＢＬ＿Ｄ０の配線容量とほぼ同じ値である。したがって、センスアンプＳＡの第１の入力ノードの負荷と第２の入力ノードの負荷とをほぼ等しくすることができるので、セル電流Ｉｃと参照電流Ｉｒｅｆの正確な比較（すなわち、メモリセルＭＣ１のデータの正確な検出）が可能になる。
【００８４】
センスアンプＳＡは、セル電流Ｉｃと参照電流Ｉｒｅｆとの差を増幅する。センスアンプＳＡの出力信号は、読出し系主ビット線ＲＭＢＬ０を介して出力バッファＯＢＵＦに伝達される。
【００８５】
なお、参照電流リード方式の場合には、制御信号線ＹＲＢ＿Ｕ１ＣＮ，ＹＲＢ＿Ｄ１ＣＮは常に非活性状態（Ｈレベル）に維持される。すなわち、ＰＭＯＳトランジスタスイッチ５５Ｕ，５５Ｄは常にオフ状態である。
【００８６】
（相補リード方式におけるメモリセル電流の経路について）
図８は、図７の回路構成において相補リード方式の場合のメモリセル電流の経路を示す図である。図８では、ツインセルを構成するメモリセルＭＣ１，ＭＣ２のデータを読み出す場合において、メモリセルＭＣ１を流れるセル電流Ｉｃ１の経路と、メモリセルＭＣ２を流れるセル電流Ｉｃ２の経路とが示されている。
【００８７】
メモリセルＭＣ１，ＭＣ２のデータを読み出す場合には、メモリセルＭＣ１，ＭＣ２に共通に接続されているワード線ＷＬｍが活性化される。この状態で、制御信号線ＹＲＡ＿Ｄ０Ｎ，ＹＲＢ＿Ｄ０Ｎ，ＹＲＢ＿Ｄ１ＣＮを活性化させることによって、セル電流Ｉｃ１およびＩｃ２を発生させる。セル電流Ｉｃ１は、センスアンプＳＡから、出力信号線ＣＢＬＤ、ＰＭＯＳトランジスタスイッチ５１Ｄ，５３Ｄ０、副ビット線ＳＢＬ＿Ｄ０、メモリセルＭＣ１を順に経由して、ソース線ＳＬに至る方向に流れる。セル電流Ｉｃ２は、センスアンプＳＡから、出力信号線ＣＢＬＵ、ＰＭＯＳトランジスタスイッチ５５Ｄ，５４Ｄ０、副ビット線ＳＢＬ＿Ｄ４、メモリセルＭＣ２を順に経由して、ソース線ＳＬに至る方向に流れる。データ読出し時には、ソース線ＳＬは接地ノードＶＳＳに接続されている。
【００８８】
センスアンプＳＡは、セル電流Ｉｃ１とセル電流Ｉｃ２との差を増幅する。センスアンプＳＡの出力信号は、読出し系主ビット線ＲＭＢＬ０を介して出力バッファＯＢＵＦに伝達される。
【００８９】
なお、相補リード方式の場合には、制御信号線ＲＥＦ＿Ｕ，ＲＥＦ＿Ｄは常にＬレベルに非活性化され、制御信号線ＹＲＢ＿Ｕ１Ｎ，ＹＲＢ＿Ｄ１Ｎは常にＨレベルに非活性化される。すなわち、ＮＭＯＳトランジスタ５６Ｕ，５６Ｄ，５７Ｕ，５７ＤおよびＰＭＯＳトランジスタ５２Ｕ，５２Ｄは常時オフ状態である。
【００９０】
（階層センスアンプ帯の制御信号線の駆動回路について）
図９は、図７の階層センスアンプ帯の各制御信号線を駆動するための駆動回路の構成を示す図である。図９（Ａ）は図６の上側のメモリアレイ２２の読出しおよび書込みに関係する制御信号線用の駆動回路の構成を示し、図９（Ｂ）は図６の下側のメモリアレイ２４の読出しおよび書込みに関係する制御信号線用の駆動回路を示す。
【００９１】
図９（Ａ）および（Ｂ）の入力信号のうち、制御信号ＣＭＰＬＯＮは、読出しおよび書込み対象のメモリセルが相補リード方式か参照電流リード方式かを区別するための信号であり、図１のフラッシュシーケンサ（ＦＳＱＣ）７から供給される。相補リード方式の場合、制御信号ＣＭＰＬＯＮはＨレベル（“１”）となり、参照電流リード方式の場合、制御信号ＣＭＰＬＯＮはＬレベル（“０”）となる。
【００９２】
その他の入力信号は、フラッシュシーケンサ（ＦＳＱＣ）７からの制御信号と、図６のタイミングジェネレータ３６からの制御信号と、入出力バッファ（ＩＯＢＵＦ）３３に入力されたアドレスに基づいて、列デコーダ（ＣＤＥＣ）３２によって生成される。特に、制御信号ＹＲＡ＿Ｕ０〜３＿ｉｎ，ＹＲＡ＿Ｄ０〜３＿ｉｎは下位アドレスに基づく列選択信号であり、制御信号ＹＲＢ＿Ｕ０〜３＿ｉｎ，ＹＲＢ＿Ｄ０〜３＿ｉｎは上位アドレスに基づく列選択信号である。
【００９３】
図９（Ａ）を参照して、制御信号線ＺＬ＿Ｕ０，ＺＬ＿Ｕ１，ＤＣ＿Ｕ０，ＤＣ＿Ｕ１に供給される信号は、それぞれ、制御信号ＺＬ＿Ｕ０＿ｉｎ，ＺＬ＿Ｕ１＿ｉｎ，ＤＣ＿Ｕ０＿ｉｎ，ＤＣ＿Ｕ１＿ｉｎがバッファ１０１，１０２，１０５，１０６によって増幅されることによって生成される。同様に図９（Ｂ）を参照して、制御信号線ＺＬ＿Ｄ０，ＺＬ＿Ｄ１，ＤＣ＿Ｄ０，ＤＣ＿Ｄ１に供給される信号は、それぞれ、制御信号ＺＬ＿Ｄ０＿ｉｎ，ＺＬ＿Ｄ１＿ｉｎ，ＤＣ＿Ｄ０＿ｉｎ，ＤＣ＿Ｄ１＿ｉｎがバッファ１２７，１２８，１２５，１２６によって増幅されることによって生成される。
【００９４】
図９（Ａ）を参照して、制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｕ１Ｎ，ＹＲＡ＿Ｕ０Ｎ〜ＹＲＡ＿Ｕ３Ｎ，ＹＲＢ＿Ｕ０Ｎに供給される信号は、それぞれ、制御信号ＣＨ＿Ｕ０＿ｉｎ，ＣＨ＿Ｕ１＿ｉｎ，ＹＲＡ＿Ｕ０＿ｉｎ〜ＹＲＡ＿Ｕ３＿ｉｎ，ＹＲＢ＿Ｕ０＿ｉｎがインバータ１０３，１０４，１０７〜１１０，１１２によって反転増幅されることによって生成される。同様に図９（Ｂ）を参照して、制御信号線ＣＨ＿Ｄ０Ｎ，ＣＨ＿Ｄ１Ｎ，ＹＲＡ＿Ｄ０Ｎ〜ＹＲＡ＿Ｄ３Ｎ，ＹＲＢ＿Ｄ０Ｎに供給される信号は、それぞれ、制御信号ＣＨ＿Ｄ０＿ｉｎ，ＣＨ＿Ｄ１＿ｉｎ，ＹＲＡ＿Ｄ０＿ｉｎ〜ＹＲＡ＿Ｄ３＿ｉｎ，ＹＲＢ＿Ｄ０＿ｉｎがインバータ１２３，１２４，１１９〜１２２，１１５によって反転増幅されることによって生成される。
【００９５】
図９（Ａ）を参照して、制御信号線ＲＥＦ＿Ｕ，ＹＲＢ＿Ｕ１Ｎ，ＹＲＢ＿Ｕ１ＣＮに供給される信号は、それぞれ論理ゲート１１１，１１３，１１４によって生成される。具体的に、論理ゲート１１１は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に、制御信号ＲＥＦ＿Ｕ＿ｉｎを増幅した信号を制御信号線ＲＥＦ＿Ｕに出力する。論理ゲート１１１は、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に、制御信号ＲＥＦ＿Ｕ＿ｉｎによらずにＬレベル（“０”）の信号を出力することによって、制御信号線ＲＥＦ＿Ｕを非活性化する。
【００９６】
論理ゲート１１３は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に、制御信号ＹＲＢ＿Ｕ１＿ｉｎを反転増幅した信号を制御信号線ＹＲＢ＿Ｕ１Ｎに出力する。論理ゲート１１３は、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に、制御信号ＹＲＢ＿Ｕ１＿ｉｎによらずにＨレベル（“１”）の信号を出力することによって、制御信号線ＹＲＢ＿Ｕ１Ｎを非活性化する。
【００９７】
論理ゲート１１４は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に、制御信号ＹＲＢ＿Ｕ１＿ｉｎによらずにＨレベル（“１”）の信号を出力することによって、制御信号線ＹＲＢ＿Ｕ１ＣＮを非活性化する。論理ゲート１１４は、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に、制御信号ＹＲＢ＿Ｕ０＿ｉｎを反転増幅した信号を制御信号線ＹＲＢ＿Ｕ１ＣＮに出力する。
【００９８】
同様に、図９（Ｂ）を参照して、制御信号線ＲＥＦ＿Ｄ，ＹＲＢ＿Ｄ１Ｎ，ＹＲＢ＿Ｄ１ＣＮに供給される信号は、それぞれ論理ゲート１１８，１１６，１１７によって生成される。具体的に、論理ゲート１１８は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に、制御信号ＲＥＦ＿Ｄ＿ｉｎを増幅した信号を制御信号線ＲＥＦ＿Ｄに出力する。論理ゲート１１８は、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に、制御信号ＲＥＦ＿Ｄ＿ｉｎによらずにＬレベル（“０”）の信号を出力することによって、制御信号線ＲＥＦ＿Ｄを非活性化する。
【００９９】
論理ゲート１１６は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に、制御信号ＹＲＢ＿Ｄ１＿ｉｎを反転増幅した信号を制御信号線ＹＲＢ＿Ｄ１Ｎに出力する。論理ゲート１１６は、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に、制御信号ＹＲＢ＿Ｄ１＿ｉｎによらずにＨレベル（“１”）の信号を出力することによって、制御信号線ＹＲＢ＿Ｄ１Ｎを非活性化する。
【０１００】
論理ゲート１１７は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に、制御信号ＹＲＢ＿Ｄ１＿ｉｎによらずにＨレベル（“１”）の信号を出力することによって、制御信号線ＹＲＢ＿Ｄ１ＣＮを非活性化する。論理ゲート１１７は、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に、制御信号ＹＲＢ＿Ｄ０＿ｉｎを反転増幅した信号を制御信号線ＹＲＢ＿Ｄ１ＣＮに出力する。
【０１０１】
（制御信号ＣＭＰＬＯＮの生成回路の一例）
図１０は、図９の制御信号ＣＭＰＬＯＮの生成回路の一例を示す図である。図１０に示す回路は、図６のフラッシュシーケンサ（ＦＳＱＣ）７に設けられる。この回路は、複数のレジスタ１３０と、比較器１３１とを含む。
【０１０２】
複数のレジスタ１３０は、図６のメモリマット２０を構成する複数のメモリアレイのうち、相補リード方式で利用したい領域のアドレス情報を予め格納するためのものである。比較器１３１は、外部から入力されたアドレス情報ＡＤＤＲと、複数のレジスタ１３０に格納されたアドレス情報とを比較し、両者が一致した場合に制御信号ＣＭＰＬＯＮをアサートする。図１０の回路によって、アクセス先の領域が、参照電流リード方式とするか相補読リード方式とするかの判定ができる。この回路を複数配置することにより、複数の領域に関して、参照電流リード方式と相補リード方式とするかの判定が可能になる。
【０１０３】
なお、参照電流リード方式と相補リード方式とで、読出しタイミングなどを変更する必要があるときは、図６のタイミングジェネレータ３６において生成されるリードタイミング信号をＣＭＰＬＯＮ信号に基づき変更することで安定的な読出しが可能になる。
【０１０４】
（センスアンプの構成例）
図１１は、図７および図８のセンスアンプの構成例を示す回路図である。図１１を参照して、センスアンプＳＡは、ＰＭＯＳトランジスタ１４０〜１４４と、ＮＭＯＳトランジスタ１４５〜１４７と、セレクタ１４９と、３ステートバッファ１４９とを含む。
【０１０５】
ＰＭＯＳトランジスタ１４２は、図６で説明した第１の出力信号線ＣＢＬＵと第２の出力信号線ＣＢＬＤとの間に接続される。ＰＭＯＳトランジスタ１４０，１４１は、第１の出力信号線ＣＢＬＵと第２の出力信号線ＣＢＬＤとの間に互いに直列かつＰＭＯＳトランジスタ１４２と並列に接続される。ＰＭＯＳトランジスタ１４０，１４１の接続ノードは電源ノードＶＤＤに接続される。ＰＭＯＳトランジスタ１４０，１４１，１４２のゲートにはプリチャージ信号ＰＣが与えられる。
【０１０６】
ＰＭＯＳトランジスタ１４３は、ソースが電源ノードＶＤＤに接続され、ドレインが出力信号線ＣＢＬＤに接続され、ゲートが出力信号線ＣＢＬＵに接続される。ＰＭＯＳトランジスタ１４４は、ソースが電源ノードＶＤＤに接続され、ドレインが出力信号線ＣＢＬＵに接続され、ゲートが出力信号線ＣＢＬＤに接続される。
【０１０７】
ＮＭＯＳトランジスタ１４５は、ソースがノード１３５に接続され、ドレインが出力信号線ＣＢＬＤに接続され、ゲートが出力信号線ＣＢＬＵに接続される。ＮＭＯＳトランジスタ１４６は、ソースがノード１３５に接続され、ドレインが出力信号線ＣＢＬＵに接続され、ゲートが出力信号線ＣＢＬＤに接続される。ＮＭＯＳトランジスタ１４７は、ドレインがノード１３５に接続され、ソースが接地ノードＶＳＳに接続される。ＭＯＳトランジスタ１４７のゲートには、センスイネーブル信号ＳＥＮが入力される。
【０１０８】
上記のＰＭＯＳトランジスタ１４３，１４４およびＮＭＯＳトランジスタ１４５，１４６によって２個のインバータを組み合わせたラッチ回路１３６が構成される。センスイネーブル信号ＳＥＮがＨレベル（“１”）となることによってラッチ回路１３６が動作し、出力信号線ＣＢＬＵ，ＣＢＬＤ間の電位差が増幅される。
【０１０９】
セレクタ１４８は、フラッシュシーケンサ（ＦＳＱＣ）７から出力された選択信号ＳＥＬＵに従って、選択信号ＳＥＬＵが“０”の場合には上側の出力信号線ＣＢＬＵの電位を出力し、選択信号ＳＥＬＵが“１”の場合には下側の出力信号線ＣＢＬＤの電位を出力する。
【０１１０】
３ステートバッファ１４９は、センスイネーブル信号ＳＥＮがＨレベル（“１”）のときは、セレクタ１４８の出力信号を増幅した信号を読出し系主ビット線ＲＭＢＬに出力する。３ステートバッファ１４９の出力ノードは、センスイネーブル信号ＳＥＮがＬレベル（“１”）のときは高インピーダンスになる。
【０１１１】
上記の構成のセンスアンプＳＡの動作の詳細は、図１４および図１５を参照して後述するが、概略的には次のとおりである。まず、予めプリチャージ信号ＰＣを活性状態（Ｌレベル）にして、出力信号線ＣＢＬＵ，ＣＢＬＤを電源電位にプリチャージした状態で、各出力信号線に読出し対象のメモリセルまたは参照電流源を電気的に接続する。次に、プリチャージ信号ＰＣをＨレベルにすると、読出し対象のメモリセルに格納されているデータに応じてセル電流の大きさが異なるので、上側の出力信号線ＣＢＬＵの電位と下側の出力信号線ＣＢＬＤの電位とに差が生じる。次に、センスイネーブル信号ＳＥＮをＨレベルに変化させることによって、ラッチ回路１３６の動作を開始させる。この結果、上記の出力信号線ＣＢＬＵ，ＣＢＬＤ間の電位差が増幅される。セレクタ１４８によって選択された一方の出力信号線の電位は、３ステートバッファ１４９を介して読出し系主ビット線ＲＭＢＬに出力される。
【０１１２】
（出力バッファの構成例）
図１２は、図６の出力バッファの構成例を示す回路図である。図１２には、２本の読出し系主ビット線ＲＭＢＬ０，ＲＭＢＬ１が代表的に示されている。
【０１１３】
図１２を参照して、出力バッファ（ＯＢＵＦ）３４は、読出し系主ビット線ＲＭＢＬ０，ＲＭＢＬ１，…にそれぞれ対応するＰＭＯＳトランジスタ１５０＿０，１５０＿１，…と、読出し系主ビット線ＲＭＢＬ０，ＲＭＢＬ１にそれぞれ対応するバッファ１５１＿０，１５１＿１，…とを含む。
【０１１４】
ＰＭＯＳトランジスタ１５０は、電源ノードＶＤＤと対応の読出し系主ビット線ＲＭＢＬとの間に接続される。各ＰＭＯＳトランジスタ１５０のゲートには、制御信号ＳＥＮ＿ＯＲが共通に与えられる。制御信号ＳＥＮ＿ＯＲがＬレベルのとき、各ＰＭＯＳトランジスタ１５０はオン状態であるので、読出し系主ビット線は電源電位にチャージされている。制御信号ＳＥＮ＿ＯＲがＨレベルのとき、各読出し系主ビット線ＲＭＢＬの電位は、対応する図１１のセンスアンプＳＡの出力信号電位に等しくなる。バッファ１５１は、各センスアンプＳＡから対応の読出し系主ビット線ＲＭＢＬに出力された信号電位を増幅して高速バス（ＨＢＵＳ）のうちの対応するデータバス（ＨＢＵＳ−Ｄ０，ＨＢＵＳ−Ｄ１，…）に出力する。
【０１１５】
図１３は、図１２の制御信号ＳＥＮ＿ＯＲを生成する回路の一例を示す図である。図１３の回路は、フラッシュシーケンサ（ＦＳＱＣ）７に設けられる。具体的に、図１３の回路は、ＯＲゲート２９０，２９１と、遅延回路２９２とを含む。
【０１１６】
ＯＲゲート２９０は、読出し系主ビット線ＲＭＢＬ０〜ＲＭＢＬｎにそれぞれ対応して設けられたセンスアンプＳＡにそれぞれ入力されるセンスイネーブル信号ＳＥＮ０〜ＳＥＮｎを受ける。ＯＲゲート２９０は、これらのセンスイネーブル信号ＳＥＮ０〜ＳＥＮｎの論理和を出力する。
【０１１７】
遅延回路２９２は、複数のバッファを従属接続したものである。ＯＲゲート２９１は、ＯＲゲート２９０の出力信号とこの出力信号を遅延回路２９２によって遅延させた信号との論理和を制御信号ＳＥＮ＿ＯＲとして出力する。
【０１１８】
（参照電流リード方式での読出し動作）
図１４は、参照電流リード方式での読出し動作の一例を示すタイミングチャートである。以下、主として図６、図７、図１４を参照して、参照電流リード方式の場合において、メモリアレイ２４に設けられたメモリセルＭＣ１のデータ読出しの手順について説明する。以下の説明では、メモリセルＭＣ１にはデータ“０”（閾値電圧が高い状態）が書き込まれているとする。
【０１１９】
まず、図１４の時刻ｔ１にアドレス情報が切り替わる。時刻ｔ２に、図１のフラッシュシーケンサ（ＦＳＱＣ）７はアドレス取り込み信号を出力し、この信号に応答して、入出力バッファ（ＩＯＢＵＦ）３３はアドレス情報を取り込む。取り込まれたアドレス情報は、列デコーダ３２および行デコーダ３０，３１においてデコードされる。
【０１２０】
時刻ｔ３において、行デコーダ３０，３１に設けられたドライバは、アドレス信号に基づいてメモリセルＭＣ１のデータ読出しに必要な制御信号線を活性化する。具体的には次のとおりである。
【０１２１】
(i)  制御信号線ＤＣ＿Ｕ０，ＤＣ＿Ｄ０に供給するディスチャージ信号は非活性状態（Ｌレベル）に切替えられ、制御信号線ＤＣ＿Ｕ１，ＤＣ＿Ｄ１は活性状態（Ｈレベル）のまま維持される。一方、制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｄ０Ｎに供給するチャージ信号は活性状態（Ｌレベル）に切替えられ、制御信号線ＣＨ＿Ｕ１Ｎ，ＣＨ＿Ｄ１Ｎは非活性状態（Ｈレベル）のまま維持される。これによって、少なくとも読出し対象のメモリセルＭＣ１が接続された副ビット線ＳＢＬ＿Ｄ０および上側のメモリアレイ２２の同じ列の副ビット線ＳＢＬ＿Ｕ０は電源電位にプリチャージされ、それに隣接する副ビット線ＳＢＬ＿Ｄ１，ＳＢＬ＿Ｕ１は接地電位に維持される。これによって、隣接する副ビット線ＳＢＬをグランドシールドとして機能させ、不所望な容量カップリングによる誤動作を防止することができる。
【０１２２】
(ii)  制御信号線ＹＲＡ_Ｕ０Ｎ，ＹＲＡ＿Ｄ０Ｎ，ＹＲＢ_Ｕ０Ｎ，ＹＲＢ＿Ｄ０Ｎは活性状態（Ｌレベル）に切替えられる。これによって、メモリセルＭＣ１に対応する列の副ビット線ＳＢＬ＿Ｄ０，ＳＢＬ＿Ｕ０が出力信号線ＣＢＬＤ，ＣＢＬＵにそれぞれ電気的に接続される。なお、相補リード方式の場合に用いられる制御信号線ＹＲＢ＿Ｕ１ＣＮ，ＹＲＢ＿Ｄ１ＣＮは非活性状態（Ｈレベル）のまま維持される。
【０１２３】
(iii)  制御信号線ＲＥＦ＿Ｕを活性状態（Ｈレベル）にすることによって、電流源ＣＳ１が上側の出力信号線ＣＢＬＵに電気的に接続される。
【０１２４】
(iv)  読出し対象のメモリセルＭＣ１に接続されたワード線ＷＬｍが活性状態（Ｈレベル）に切替えられる。
【０１２５】
(v)  下側のメモリアレイに設けられたメモリセルＭＣ１のデータを読み出す場合には、センスアンプＳＡのセレクタ１４８（図１１参照）に供給する選択信号ＳＥＬＵはＬレベル（“０”）に設定される。
【０１２６】
次の時刻ｔ４において、フラッシュシーケンサ（ＦＳＱＣ）７からセンスアンプＳＡに供給されているプリチャージ信号ＰＣが非活性状態（Ｈレベル）に変化するとともに、行デコーダ３０，３１のドライバから制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｄ０Ｎに供給されているチャージ信号が非活性状態（Ｈレベル）に変化する。この結果、下側の出力信号線ＣＢＬＤからメモリセルＭＣ１の方向へセル電流Ｉｃが流れ、上側の出力信号線ＣＢＬＵから電流源ＣＳ１の方向へ参照電流Ｉｒｅｆが流れる。メモリセルＭＣ１にはデータ“０”（閾値電圧が高い状態）が書き込まれているので、セル電流Ｉｃは参照電流Ｉｒｅｆより小さい。したがって、上側の出力信号線ＣＢＬＵの電位のほうが、下側の出力信号線ＣＢＬＤの電位よりも低くなる。
【０１２７】
次の時刻ｔ５において、フラッシュシーケンサ（ＦＳＱＣ）７は、センスアンプＳＡに出力するセンスイネーブル信号ＳＥＮを活性状態（Ｈレベル）に変化させる。これによって、図１１のＮＭＯＳトランジスタ１４７がオンするのでラッチ回路１３６が動作し始める。ラッチ回路１３６が出力信号線ＣＢＬＵ，ＣＢＬＤ間の電位差を増幅する結果、上側の出力信号線ＣＢＬＵの電位は接地電位（ＶＳＳ）まで低下し、下側の出力信号線ＣＢＬＤの電位は電源電位（ＶＤＤ）まで上昇する。上側の出力信号線ＣＢＬＵの電位は、セレクタ１４８および３ステートバッファを介して読出し系主ビット線ＲＭＢＬに出力される。
【０１２８】
さらに、時刻ｔ５に、センスイネーブル信号ＳＥＮが活性化することによって、出力バッファ（ＯＢＵＦ）３４に出力される制御信号ＳＥＮ＿ＯＲも活性状態（Ｈレベル）に変化する。これによって、センスアンプＳＡから読出し系主ビット線ＲＭＢＬに出力された電圧信号は、読出し系主ビット線ＲＭＢＬを介して出力バッファ（ＯＢＵＦ）３４に伝達され、出力バッファ３４から高速バス（ＨＢＵＳ）のうちの対応のデータバスに出力される。
【０１２９】
（相補リード方式での読出し動作）
図１５は、相補リード方式での読出し動作の一例を示すタイミングチャートである。以下、主として図６、図８、図１５を参照して、相補リード方式の場合において、メモリアレイ２４に設けられたメモリセルＭＣ１，ＭＣ２によって構成されるツインセルのデータを読出す手順について説明する。以下の説明では、メモリセルＭＣ１にはデータ“０”（閾値電圧が高い状態）が書き込まれ、メモリセルＭＣ２にはデータ“１”（閾値電圧が低い状態）が書き込まれているとする。
【０１３０】
まず、図１５の時刻ｔ１において読出しアドレスが切替わり、時刻ｔ２においてフラッシュシーケンサ（ＦＳＱＣ）７からアドレス取り込み信号が出力される点は図１４の場合と同様である。
【０１３１】
時刻ｔ３において、行デコーダ３０，３１に設けられたドライバは、アドレス信号に基づいてメモリセルＭＣ１，ＭＣ２のデータ読出しに必要な制御信号線を活性化する。具体的には次のとおりである。
【０１３２】
(i)  制御信号線ＤＣ＿Ｕ０，ＤＣ＿Ｄ０に供給するディスチャージ信号は非活性状態（Ｌレベル）に切替えられ、制御信号線ＤＣ＿Ｕ１，ＤＣ＿Ｄ１は活性状態（Ｈレベル）のまま維持される。一方、制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｄ０Ｎに供給するチャージ信号は活性状態（Ｌレベル）に切替えられ、制御信号線ＣＨ＿Ｕ１Ｎ，ＣＨ＿Ｄ１Ｎは非活性状態（Ｈレベル）のまま維持される。これによって、少なくとも読出し対象のメモリセルＭＣ１，ＭＣ２が接続された副ビット線ＳＢＬ＿Ｄ０，ＳＢＬ＿Ｄ４および上側のメモリアレイ２２の同じ列の副ビット線ＳＢＬ＿Ｕ０，ＳＢＬ＿Ｕ４は電源電位にプリチャージされ、それらに隣接する副ビット線ＳＢＬ＿Ｄ１，ＳＢＬ＿Ｕ１，ＳＢＬ＿Ｄ３，ＳＢＬ＿Ｕ３，ＳＢＬ＿Ｄ５，ＳＢＬ＿Ｕ５は接地電位に維持される。
【０１３３】
(ii)  制御信号線ＹＲＡ＿Ｄ０Ｎ，ＹＲＢ_Ｄ０Ｎ，ＹＲＢ＿Ｄ１ＣＮは活性状態（Ｌレベル）に切替えられる。これによって、メモリセルＭＣ１，ＭＣ２にそれぞれ接続された副ビット線ＳＢＬ＿Ｄ０，ＳＢＬ＿Ｄ４が出力信号線ＣＢＬＤ，ＣＢＬＵにそれぞれ電気的に接続される。
【０１３４】
(iii)  制御信号線ＲＥＦ＿Ｕ，ＲＥＦ＿Ｄは非活性状態（Ｌレベル）に維持されるので、電流源ＣＳ１，ＣＳ２は出力信号線ＣＢＬＵ，ＣＢＬＤに電気的に接続されない。
【０１３５】
(iv)  読出し対象のメモリセルＭＣ１，ＭＣ２に共通に接続されたワード線ＷＬｍが活性状態（Ｈレベル）に切替えられる。
【０１３６】
(v)  下側のメモリアレイに設けられたメモリセルＭＣ１のデータを読み出す場合には、センスアンプＳＡのセレクタ１４８（図１１参照）に供給する選択信号ＳＥＬＵはＬレベル（“０”）に設定される。
【０１３７】
次の時刻ｔ４において、フラッシュシーケンサ（ＦＳＱＣ）７からセンスアンプＳＡに供給されているプリチャージ信号ＰＣが非活性状態（Ｈレベル）に変化するとともに、行デコーダ３０，３１のドライバから制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｄ０Ｎに供給されているチャージ信号が非活性状態（Ｈレベル）に変化する。この結果、下側の出力信号線ＣＢＬＤからメモリセルＭＣ１の方向へセル電流Ｉｃ１が流れ、上側の出力信号線ＣＢＬＵからメモリセルＭＣ２の方向へセル電流Ｉｃ２が流れる。メモリセルＭＣ１にはデータ“０”（閾値電圧が高い状態）が書き込まれ、メモリセルＭＣ２にはデータ“１”（閾値電圧が低い状態）が書き込まれているので、セル電流Ｉｃ１はセル電流Ｉｃ２より小さい。したがって、上側の出力信号線ＣＢＬＵの電位のほうが、下側の出力信号線ＣＢＬＤの電位よりも低くなる。
【０１３８】
次の時刻ｔ５において、フラッシュシーケンサ（ＦＳＱＣ）７は、センスアンプＳＡに出力するセンスイネーブル信号を活性状態（Ｈレベル）に変化させる。以降の動作は、参照電流リード方式の場合と同様であるので説明を繰返さない。
【０１３９】
（書込み系回路の詳細）
図１６は、図６の書込み系経路の詳細を示す回路図である。図１６では、４本の書込み系主ビット線ＷＭＢＬ０〜ＷＭＢＬ３が代表的に示されている。
【０１４０】
図１６を参照して、主ビット線電圧制御回路３９は、書込み系主ビット線ＷＭＢＬ０〜３にそれぞれ対応して設けられたプログラムラッチ回路ＰＲＧＬ０〜ＰＲＧＬ３と、書込み系ディスチャージ回路４０とを含む。データ書込みの際に書込み系主ビット線ＷＭＢＬには、対応するプログラムラッチ回路ＰＲＧＬに保持されたデータ（“１”または“０”）に従った書込み電流が選択的に流れる。図１７で後述するように、各プログラムラッチ回路ＰＲＧＬは、フラッシュシーケンサ（ＦＳＱＣ）７から供給される制御信号／ＰＰＥ，ＷＰＬＳ，／ＲＳＨ，ＲＳＷ，ＲＳＬに従って動作する。
【０１４１】
書込み系ディスチャージ回路４０は、ディスチャージ信号ＤＣＷ０、ＤＣＷ１によって書込み用主ビット線ＷＭＢＬを選択的に接地ノードＶＳＳに接続する回路である。書込み系ディスチャージ回路４０は、書込み系主ビット線ＷＭＢＬ０〜ＷＭＢＬ３にそれぞれ対応して設けられた複数のＮＭＯＳトランジスタ８３＿０〜８３＿３を含む。各ＮＭＯＳトランジスタは対応する書込み系主ビット線ＷＭＢＬと接地ノードＶＳＳとの間に接続される。偶数番目のＮＭＯＳトランジスタ８３＿０，８３＿２のゲートにはディスチャージ信号ＤＣＷ０が与えられ、奇数番目のＮＭＯＳトランジスタ８３＿１，８３＿３のゲートにはディスチャージ信号ＤＣＷ１が与えられる。
【０１４２】
上記の書込み系ディスチャージ回路４０によって、データ書込み後のベリファイ動作において選択された書込み系主ビット線ＷＭＢＬに隣接する書込み系主ビット線ＷＭＢＬを接地電位にすることができる。これによって、選択された書込み系主ビット線ＷＭＢＬに隣接する書込み系主ビット線ＷＭＢＬをグランドシールドとして機能させ、不所望な容量カップリングによる誤動作を防止することができる。
【０１４３】
書換え列セレクタ３８は、書込みアドレスに基づいて、書込みデータを入力するプログラムラッチＰＲＧＬを選択するとともに、ベリファイ回路３７と接続する書込み系主ビット線ＷＭＢＬを選択するための回路である。書換え列セレクタ３８は、入力信号線８１，８２と、列選択のためのＮＭＯＳトランジスタスイッチ８０Ｂ０〜８０Ｂ３，８０Ｌ０〜８０Ｌ３と，選択信号ＹＭ０〜ＹＭ３をそれぞれ対応のＮＭＯＳトランジスタスイッチのゲートに供給するための制御信号線を含む。
【０１４４】
ＮＭＯＳトランジスタスイッチ８０Ｂ０〜８０Ｂ３は、書込み系主ビット線ＷＭＢＬ０〜ＷＭＢＬ３にそれぞれ挿入されている。ＮＭＯＳトランジスタスイッチ８０Ｌ０，８０Ｌ１は、プログラムラッチ回路ＰＲＧＬ０，ＰＲＧＬ１にそれぞれ対応し、入力信号線８１と対応のプログラムラッチ回路との間に接続されている。ＮＭＯＳトランジスタスイッチ８０Ｌ２，８０Ｌ３は、プログラムラッチ回路ＰＲＧＬ２，ＰＲＧＬ３にそれぞれ対応し、入力信号線８２と対応のプログラムラッチ回路との間に接続されている。ツインセルを構成する相補データの同時書込み可能にするために、入力信号線８１，８２が２本設けられている。入力信号線８１はポジティブセルに対応し、入力信号線８２はネガティブセルに対応する。
【０１４５】
共通の書込み系主ビット線ＷＭＢＬｉ（ｉ＝０〜４）に対応するＮＭＯＳトランジスタスイッチ８０Ｂｉ，８０Ｌｉのゲートは、共通の制御信号線に接続されている。各制御信号線に供給される選択信号（ＹＭ０〜ＹＭ４）は、後述するように、列デコーダ３２から与えられる。
【０１４６】
列デコーダ（ＣＤＥＣ）３２は、その一部の構成として、セレクタ８８〜９０と、３ステートバッファ９１，９２とを含む。
【０１４７】
３ステートバッファ９１は、フラッシュシーケンサ（ＦＳＱＣ）７から入力されたデータ転送イネーブル信号ＥＮＤＴが活性状態（Ｈレベル）のとき、周辺バス（ＰＢＵＳ）１３のデータバスＰＢＵＳ−Ｄを介して受けた書込みデータ信号を増幅して入力信号線８１に出力する。
【０１４８】
セレクタ８８は、制御信号ＣＭＰＬＯＮがＨレベル（“１”）のとき（すなわち、相補リード方式の場合）、周辺バス（ＰＢＵＳ）１３のデータバスＰＢＵＳ−Ｄを介して受けた書込みデータ信号を反転した信号を出力する。セレクタ８８は、制御信号ＣＭＰＬＯＮがＬレベル（“０”）のとき（すなわち、参照電流リード方式の場合）、周辺バス（ＰＢＵＳ）１３のデータバスＰＢＵＳ−Ｄを介して受けた書込みデータ信号を増幅して出力する。
【０１４９】
３ステートバッファ９２は、データ転送イネーブル信号ＥＮＤＴが活性状態（Ｈレベル）のとき、セレクタ８８の出力信号を増幅して入力信号線８２に供給する。したがって、制御信号ＣＭＰＬＯＮがＨレベル（“１”）のとき（すなわち、相補リード方式の場合）、入力信号線８１，８２には相補の書込みデータが入力される。入力信号線８１に入力された書込データは、プログラムラッチ回路ＰＲＧＬ０またはＰＲＧＬ１に保持され、書込み系主ビット線ＳＭＢＬ０またはＳＭＢＬ１を介してポジティブセルに書込まれる。入力信号線８２に入力された書込データは、プログラムラッチ回路ＰＲＧＬ２またはＰＲＧＬ３に保持され、書込み系主ビット線ＳＭＢＬ２またはＳＭＢＬ３を介してネガティブセルに書込まれる。
【０１５０】
セレクタ８９は、選択信号ＹＷ０，ＹＷ２を受ける。セレクタ８９は、制御信号ＣＭＰＬＯＮがＨレベル（“１”）のとき（すなわち、相補リード方式の場合）、選択信号ＹＷ０をＮＭＯＳトランジスタスイッチ８０Ｂ２，８０Ｌ２に供給する。したがって、相補リード方式の場合には、ポジティブセルに対応する書込み系主ビット線ＷＭＢＬ０およびプログラムラッチ回路ＰＲＧＬ０と、ネガティブセルに対応する書込み系主ビット線ＷＭＢＬ２およびプログラムラッチ回路ＰＲＧＬ２とが共に選択状態になる。一方、セレクタ８９は、制御信号ＣＭＰＬＯＮがＬレベル（“０”）のとき（すなわち、参照電流リード方式の場合）、選択信号ＹＷ２をＮＭＯＳトランジスタスイッチ８０Ｂ２，８０Ｌ２に供給する。
【０１５１】
セレクタ９０は、選択信号ＹＷ１，ＹＷ３を受ける。セレクタ９０は、制御信号ＣＭＰＬＯＮがＨレベル（“１”）のとき（すなわち、相補リード方式の場合）、選択信号ＹＷ１をＮＭＯＳトランジスタスイッチ８０Ｂ３，８０Ｌ３に供給する。したがって、相補リード方式の場合には、ポジティブセルに対応する書込み系主ビット線ＷＭＢＬ１およびプログラムラッチ回路ＰＲＧＬ１と、ネガティブセルに対応する書込み系主ビット線ＷＭＢＬ３およびプログラムラッチ回路ＰＲＧＬ３とが共に選択状態になる。一方、セレクタ９０は、制御信号ＣＭＰＬＯＮがＬレベル（“０”）のとき（すなわち、参照電流リード方式の場合）、選択信号ＹＷ３をＮＭＯＳトランジスタスイッチ８０Ｂ３，８０Ｌ３に供給する。
【０１５２】
上記の選択信号ＹＷ０〜ＹＷ３は、図１のフラッシュシーケンサ（ＦＳＱＣ）７からの制御信号と、図６のタイミングジェネレータ３６からの制御信号と、入出力バッファ（ＩＯＢＵＦ）３３に入力されたアドレスに基づいて、列デコーダ（ＣＤＥＣ）３２によって生成される。
【０１５３】
ベリファイ回路３７は、ベリファイセンスアンプＶＳＡと、バッファ８４と、排他的論理和ゲート８５と、セレクタ８６と、ＡＮＤゲート８７とを含む。
【０１５４】
ベリファイセンスアンプＶＳＡの入力ノードは、ＮＭＯＳトランジスタスイッチ８０Ｂ０〜８０Ｂ３をそれぞれ介して、書込み系主ビット線ＷＭＢＬ０〜ＷＭＢＬ３に接続される。ベリファイセンスアンプＶＳＡは、書込み対象のメモリセルに書込まれたデータを、そのメモリセルに対応する書込み系主ビット線ＷＭＢＬを介して読出して反転増幅する。
【０１５５】
ベリファイセンスアンプＶＳＡの出力信号ＶＳＡＯＵＴ０は、セレクタ８６に入力される。セレクタ８６には、他のベリファイセンスアンプＶＳＡの出力信号ＶＳＡＯＵＴ１，…も入力される。セレクタ８６は、これらのベリファイセンスアンプＶＳＡの出力信号ＶＳＡＯＵＴ０，ＶＳＡＯＵＴ１，…のうち選択された信号を周辺バスＰＢＵＳのデータバスＰＢＵＳ−Ｄに出力する。
【０１５６】
ベリファイセンスアンプＶＳＡの出力信号ＶＳＡＯＵＴ０は、さらに、排他的論理和ゲート８５の一方の入力ノードにも入力される。排他的論理和ゲート８５の他方の入力ノードは、バッファ８４を介して入力信号線８１，８２に接続されることによって、プログラムラッチ回路ＰＲＧＬに保持されている書込みデータを受ける。したがって、排他的論理和ゲート８５は、書込み対象のメモリセルのデータと、プログラムラッチ回路ＰＲＧＬに保持されている書込みデータとが一致した場合にＨレベル（“１”）の信号（判定結果ＶＲＳＬＴ０）を出力する。
【０１５７】
ＡＮＤゲート８７は、複数のベリファイ回路３７での判定結果ＶＲＳＬＴ０，ＶＲＳＬＴ１，…を受ける。ＡＮＤゲート８７は、これらの判定結果が全て“１”のときに、Ｈレベル（“１”）の信号を判定結果ＶＲＳＬＴとして出力する。
【０１５８】
（プログラムラッチ回路の詳細）
図１７は、図１６の各プログラムラッチ回路の詳細を示す回路図である。図１７を参照して、プログラムラッチ回路ＰＲＧＬは、ＰＭＯＳトランジスタ１６０〜１６３と、ＮＭＯＳトランジスタ１６４〜１６７と、インバータ１６８〜１７２と、トランスミッションゲート１７３とを含む。
【０１５９】
インバータ１６９，１７０はインバータラッチ回路を構成し、保持ノード１７４，１７５に相補データを保持する。保持ノード１７４は、ＰＭＯＳトランジスタ１６０を介して電源ノードＶＤＤに接続されるとともに、ＮＭＯＳトランジスタ１６４を介して接地ノードＶＳＳに接続される。ＰＭＯＳトランジスタ１６０のゲートには、保持ノード１７４の保持データをＨレベルに設定するための制御信号／ＲＳＨが入力される。ＮＭＯＳトランジスタのゲートには、保持ノード１７４の保持データをＬレベルに設定するための制御信号ＲＳＬが入力される。
【０１６０】
保持ノード１７４は、さらに、トランスミッションゲート１７３を介してデータ入力経路１５８に接続される。データ入力経路１５８は、図１６のＮＭＯＳトランジスタスイッチ８０Ｌ０〜Ｌ３のいずれかを介して入力信号線８１または８２に接続される。書込みデータの入力の可否を切替えるための制御信号ＲＳＷは、トランスミッションゲート１７３を構成するＰＭＯＳトランジスタのゲートにインバータ１６８を介して入力されるとともに、トランスミッションゲート１７３を構成するＮＭＯＳトランジスタのゲートに入力される。
【０１６１】
ＰＭＯＳトランジスタ１６１，１６２は、電源ノードＶＤＤとノード１７６の間に互いに並列に接続される。ＰＭＯＳトランジスタ１６１のゲートにはインバータ１７１を介してプログラムイネーブル信号／ＰＲＥが入力される。ＰＭＯＳトランジスタ１６２のゲートは保持ノード１７５に接続される。
【０１６２】
ＰＭＯＳトランジスタ１６３およびＮＭＯＳトランジスタ１６５〜１６７は、この並び順で、ノード１７６と接地ノードＶＳＳとの間に直列に接続される。ＰＭＯＳトランジスタ１６３にゲートには、書込みパルスＷＰＬＳがインバータ１７２を介して入力される。ＮＭＯＳトランジスタ１６５のゲートは保持ノード１７５に接続される。ＮＭＯＳトランジスタ１６６のゲートには書込みパルスＷＰＬＳが入力される。ＮＭＯＳトランジスタ１６７のゲートには参照電圧ＶＲＥＦが入力される。ＮＭＯＳトランジスタ１６３と１６５との接続ノード１７７は、対応する書込み系主ビット線ＷＭＢＬに接続される。
【０１６３】
したがって、プログラムイネーブル信号／ＰＲＥが活性状態（Ｌレベル）であり、書込みパルスＷＰＬＳが活性状態（Ｈレベル）であり、保持ノード１７４に保持されているデータがＬレベル（“０”）である場合に、ＮＭＯＳトランジスタ１６５〜１６７がオン状態となる。これによって、書込み対象のメモリセルに接続されたソース線ＳＬから、対応する副ビット線ＳＢＬ、対応する書込み系主ビット線ＷＭＢＬ、およびＭＯＳトランジスタ１６５〜１６７を経由して、接地ノードＶＳＳに書込み電流が流れる。データ書込み時には、ソース線ＳＬは、高電圧（たとえば６Ｖ）を与える電源ノードに接続されている。
【０１６４】
（参照電流リード方式の書込み動作）
以下、図１６および図１７を主として参照して、これまでの説明を総括しながら、参照電流リード方式の場合の書込み制御について説明する。
【０１６５】
参照電流リード方式の場合、各メモリセルに書込むデータは独立したデータである。参照電流リード方式用のデータが格納されている領域にデータ書込みを行う場合、外部から入力される書込み対象アドレスと、図１０で説明したレジスタ１３０に格納されている相補リード領域を示すアドレスの値とが異なる。したがって、制御信号ＣＭＰＬＯＮは非活性状態（“０”）である。この場合、プログラムラッチＰＲＧＬ０〜３のうち選択信号ＹＷ０〜ＹＷ３によって選択されたプログラムラッチに、周辺バスＰＢＵＳのデータバスＰＢＵＳ−Ｄから入力されたデータが直接格納される。
【０１６６】
書込み対象のメモリセルへのデータ書込みは、プログラムラッチＰＲＧＬに格納されているデータに基づいて実施される。たとえば、図７のメモリセルＭＣ２にデータ“０”（閾値電圧が高い状態に対応）を書込む場合には、プログラムラッチＰＲＧＬ２の保持ノード１７４にデータ“０”（Ｌレベル）が格納されている。この状態で、図７の制御信号線ＺＬ＿Ｄ０が活性状態（Ｈレベル）になり、ワード線ＷＬｍが１．５Ｖに設定され、メモリゲート線ＭＧＬｍが１０Ｖに設定され、ソース線ＳＬｍが６Ｖに設定される。さらに、プログラムイネーブル信号／ＰＲＥが活性状態（Ｌレベル）に設定され、書込みパルスＷＰＬＳが活性状態（Ｈレベル）に設定される。この結果、ソース線ＳＬｍから、副ビット線ＳＢＬ＿Ｄ４、書込み系主ビット線ＷＭＢＬ２、プログラムラッチＰＲＧＬ２のＮＭＯＳトランジスタ１６５〜１６７を順に経由して、接地ノードＶＳＳに書込み電流が流れる。
【０１６７】
（相補リード方式の書込み動作）
以下、図１６および図１７を主として参照して、これまでの説明を総括しながら、相補リード方式の場合の書込み制御について説明する。
【０１６８】
相補リード方式の場合、ツインセルを構成する一対のメモリセルに相補データ（互いに反転したデータ）を書込む必要がある。相補リード方式用のデータが格納されている領域にデータ書込みを行う場合、外部から入力される書込み対象アドレスと、図１０で説明したレジスタ１３０に格納されている相補リード領域を示すアドレスの値が一致する。したがって、制御信号ＣＭＰＬＯＮは活性状態（“１”）である。この場合、選択信号ＹＷ０またはＹＷ１に従って、ツインセルを構成するポジティブセルに接続可能なプログラムラッチＰＲＧＬに、周辺バスＰＢＵＳのデータバスＰＢＵＳ−Ｄから入力されたデータが直接格納される。ツインセルを構成するネガティブセルに接続可能なプログラムラッチＰＲＧＬに、周辺バスＰＢＵＳのデータバスＰＢＵＳ−Ｄから入力されたデータを反転したデータが格納される。
【０１６９】
書込み対象のツインセルへのデータ書込みは、これら２個のプログラムラッチＰＲＧＬに格納されているデータに基づいて実施される。たとえば、図８のメモリセルＭＣ１にデータ“０”（閾値電圧が高い状態に対応）を書込み、メモリセルＭＣ２にデータ“１”を書込む場合には、プログラムラッチＰＲＧＬ０の保持ノード１７４にデータ“０”（Ｌレベル）が格納され、プログラムラッチＰＲＧＬ２の保持ノード１７４にデータ“１”（Ｈレベル）が格納されている。この状態で、図７の制御信号線ＺＬ＿Ｄ０が活性状態（Ｈレベル）になり、ワード線ＷＬｍが１．５Ｖに設定され、メモリゲート線ＭＧＬｍが１０Ｖに設定され、ソース線ＳＬｍが６Ｖに設定される。さらに、プログラムイネーブル信号／ＰＲＥが活性状態（Ｌレベル）に設定され、書込みパルスＷＰＬＳが活性状態（Ｈレベル）に設定される。この結果、ソース線ＳＬｍから、副ビット線ＳＢＬ＿Ｄ０、書込み系主ビット線ＷＭＢＬ０、プログラムラッチＰＲＧＬ０のＮＭＯＳトランジスタ１６５〜１６７を順に経由して、接地ノードＶＳＳに書込み電流が流れる。メモリセルＭＣ２に対応するプログラムラッチＰＲＧＬ２では、ＰＭＯＳトランジスタ１６２がオン状態であり、ＮＭＯＳトランジスタ１６５がオフ状態であるので、書込み系主ビット線ＷＭＢＬ２の電位は電源電位に等しくなるため、書込み電流は流れない。
【０１７０】
（消去動作について）
複数のメモリセルを一括消去する際には、図２（Ｂ）で説明したように、対応する副ビット線ＳＢＬが高インピーダンスに設定され、対応するワード線が０Ｖに設定され、対応するメモリゲート線が−１０Ｖに設定され、対応するソース線が６Ｖに設定される。副ビット線ＳＢＬを高インピーダンスに設定するには、対応する制御信号線ＹＲＡ＿Ｕ０〜３Ｎ，ＹＲＡ＿Ｄ０〜３Ｎ，ＣＨ＿Ｕ０〜１Ｎ，ＣＨ＿Ｄ０〜１Ｎを非活性状態（Ｈレベル）に設定し、対応する制御信号線ＺＬ＿Ｕ０〜１，ＺＬ＿Ｄ０〜１，ＤＣ＿Ｕ０〜１，ＤＣ＿Ｄ０〜１を非活性状態（Ｌレベル）に設定する。上記の消去動作は、参照電流リード方式であっても、相補リード方式であっても同じである。
【０１７１】
（効果）
上記のとおり、第１の実施形態では、参照電流リード方式と相補リード方式とが切替え可能な不揮発性メモリを備えた半導体装置が提供される。これによって、データ領域とメモリサイズとコード領域のメモリサイズとを変更することが可能になる。
【０１７２】
＜第２の実施形態＞
各メモリセルのドレイン領域が副ビット線ＳＢＬとコンタクトホールを介して接続され、各メモリセルのソース領域がソース線ＳＬとコンタクトホールを介して接続されているようなメモリアレイ構造を採用した場合、メモリセルのソース領域がソース線と未接続となるように（したがって、データ記憶には用いられない）特異なメモリセルの列を設けることができる。第２の実施形態では、この特異なメモリセル列に接続された副ビット線ＳＢＬを、参照電流リード方式の場合に信号出力線に付加される配線容量専用に用いる。後述するように、この構成によれば、階層センスアンプ帯に設けられた複数のＭＯＳトランジスタスイッチは、上側のメモリアレイ２２のアクセス用と、下側のメモリアレイ２４のアクセス用とに分離できるので、設計の自由度を向上させることができる。
【０１７３】
第２の実施形態による半導体装置は、上記のように、特異なメモリセル列と、それに対応する書込み系主ビット線および副ビット線とがメモリマットに含まれる点で第１の実施形態の場合と異なる。さらに、第２の実施形態による半導体装置は、上記の特異列に対応する副ビット線と出力信号線ＣＢＬＵ，ＣＢＬＤとの接続、ならびに特異列に対応する副ビット線と電源ノードおよび接地ノードとの接続等を切替えるために、ＭＯＳトランジスタスイッチおよび制御信号線が階層センスアンプ帯にさらに設けられている点で第１の実施形態の場合と異なる。第２の実施形態による半導体装置のその他の点は第１の実施形態の場合と同様である。たとえば、図１の半導体装置の構成および図６のメモリセルモジュールの基本的構成は、第２の実施形態の場合も同様であるので説明を繰り返さない。
【０１７４】
（読出し系回路の構成）
図１８は、第２の実施形態の場合の階層センスアンプ帯の詳細な構成を示す図である。  
【０１７５】
図１８では、図７の第１の実施形態の場合と同様に、４本の書込み系主ビット線ＷＭＢＬ０〜ＷＭＢＬ３、上側のメモリアレイ２２に対応する８本の副ビット線ＳＢＬ＿Ｕ０〜ＳＢＬ＿Ｕ７、下側のメモリアレイ２４に対応する８本の副ビット線ＳＢＬ＿Ｄ０〜ＳＢＬ＿Ｄ７、および１本の読出し系主ビット線ＲＭＢＬ０が代表的に示されている。
【０１７６】
図１８の場合には、さらに、１本の主ビット線ＷＭＢＬＲ、上側のメモリアレイ２２に対応する１本の副ビット線ＳＢＬ＿ＵＲ、および下側のメモリアレイ２４に対応する１本の副ビット線ＳＢＬ＿ＤＲが付加されている。上述したように、付加された副ビット線ＳＢＬ＿ＵＲ，ＳＢＬ＿ＤＲに接続されている各メモリセルＭＣＲのソース領域はソース線ＳＬと接続されていない。なお、図１８では図示していないが、実際のメモリセルモジュール６では上記の複数のビット線が行方向に繰り返して設けられている。
【０１７７】
以下、図１８の階層センスアンプ帯と図７の階層センスアンプ帯との相違点について説明する。まず、副ビット線セレクタ２６Ｄは、主ビット線ＷＭＢＬＲと副ビット線ＳＢＬ＿ＤＲとの間に接続されたＮＭＯＳトランジスタスイッチ６０ＤＲと、ＮＭＯＳトランジスタ６０ＤＲのゲートに接続された制御信号線ＺＬ＿ＤＲをさらに含む点で、図７の副ビット線セレクタ２６Ｄと異なる。上側の副ビット線セレクタ２６Ｕについても同様の点で、図７の場合と異なっている。
【０１７８】
充放電回路２７Ｄは、副ビット線ＳＢＬ＿ＤＲと電源ノードＶＤＤとの間に接続されたＰＭＯＳトランジスタスイッチ５８ＤＲと、副ビット線ＳＢＬ＿ＤＲと接地ノードＶＳＳとの間に接続されたＮＭＯＳトランジスタスイッチ５９ＤＲとをさらに含む点で、図７の充放電回路２７Ｄと異なる。充放電回路２７Ｄは、ＭＯＳトランジスタスイッチ５８ＤＲ，５９ＤＲのゲートにそれぞれ接続された制御信号線ＣＨ＿ＤＲＮ，ＤＣ＿ＤＲをさらに含む点で、図７の充放電回路２７Ｄと異なる。
【０１７９】
読出し列セレクタ２５は、ＰＭＯＳトランジスタスイッチ６８Ｄ，６５Ｄと、ＰＭＯＳトランジスタスイッチ６８Ｄ，６５Ｄのゲートにそれぞれ接続された制御信号線ＹＲＢ＿ＤＲＮ，ＹＲＡ＿ＤＲＮとをさらに含む点で、図７の読出し列セレクタ２５と異なる。ＰＭＯＳトランジスタスイッチ６８Ｄ，６５Ｄは、この並び順で、上側の出力信号線ＣＢＬＵと、下側のメモリアレイ２４に設けられた副ビット線ＳＢＬ＿ＤＲとの間に直列に接続される。
【０１８０】
同様に、読出し列セレクタ２５は、ＰＭＯＳトランジスタスイッチ６８Ｕ，６５Ｕと、ＰＭＯＳトランジスタスイッチ６８Ｕ，６５Ｕのゲートに接続された制御信号線ＹＲＢ＿ＵＲＮ，ＹＲＡ＿ＵＲＮとをさらに含む点で、図７の読出し列セレクタ２５と異なる。ＰＭＯＳトランジスタスイッチ６８Ｕ，６５Ｕは、この並び順で、下側の出力信号線ＣＢＬＤと、上側のメモリアレイ２２に設けられた副ビット線ＳＢＬ＿ＵＲとの間に接続される。
【０１８１】
読出し列セレクタ２５は、電流源ＣＳ１，ＣＳ２およびＮＭＯＳトランジスタスイッチ５６Ｕ，５６Ｄ，５７Ｕ，５７Ｄに代えて、電流源ＣＳおよびＮＭＯＳトランジスタスイッチ６６Ｕ，６６Ｄを含む点で、図７の読出し列セレクタと異なる。ＮＭＯＳトランジスタスイッチ６６Ｕは、ＰＭＯＳトランジスタスイッチ６５Ｕ，６８Ｕの接続ノード６７Ｕと、電流源ＣＳとの間に接続される。ＮＭＯＳトランジスタスイッチ６６Ｄは、ＰＭＯＳトランジスタスイッチ６５Ｄ，６８Ｄの接続ノード６７Ｄと、電流源ＣＳとの間に接続される。ＮＭＯＳトランジスタスイッチ６６Ｄ，６７Ｄのゲートは、制御信号線ＲＥＦ＿Ｕ，ＲＥＦ＿Ｄにそれぞれ接続される。
【０１８２】
（参照電流リード方式におけるメモリセル電流および参照電流の経路について）
次に、図１８を参照して、参照電流リード方式において、メモリセルＭＣ１のデータを読み出す場合のセル電流Ｉｃの経路と参照電流Ｉｒｅｆの経路とについて説明する。
【０１８３】
メモリセルＭＣ１のデータを読み出す場合には、メモリセルＭＣ１のコントロールゲートに接続されているワード線ＷＬｍがＨレベルに活性化される。さらに、制御信号線ＹＲＡ＿Ｄ０Ｎ，ＹＲＢ＿Ｄ０Ｎを活性化させることによって、セル電流Ｉｃを発生させる。セル電流Ｉｃは、センスアンプＳＡから、出力信号線ＣＢＬＤ、ＰＭＯＳトランジスタスイッチ５１Ｄ，５３Ｄ０、副ビット線ＳＢＬ＿Ｄ０、メモリセルＭＣ１を順に経由して、ソース線ＳＬに至る方向に流れる。
【０１８４】
参照電流Ｉｒｅｆを発生させるためには、制御信号線ＹＲＢ＿ＤＲＮ，ＲＥＦ＿Ｄを活性化させる。参照電流Ｉｒｅｆは、センスアンプＳＡから、出力信号線ＣＢＬＵ、ＰＭＯＳトランジスタスイッチ６８Ｄ，６６Ｄ、電流源ＣＳを順に経由して、接地ノードＶＳＳに至る方向に流れる。電流源ＣＳによって参照電流Ｉｒｅｆの大きさが調整される。
【０１８５】
参照電流Ｉｒｅｆを発生させる際には、さらに、制御信号線ＹＲＡ＿ＤＲＮを活性化することによって、ＰＭＯＳトランジスタスイッチ６５Ｄをオンする。これによって、副ビット線ＳＢＬ＿ＤＲの配線容量が、電流源側ＣＳ側の出力信号線ＣＢＬＵに付加される。副ビット線ＳＢＬ＿ＤＲの配線容量は、メモリセルＭＣ１に接続された副ビット線ＳＢＬ＿Ｄ０の配線容量とほぼ同じ値である。したがって、センスアンプＳＡの第１の入力ノードの負荷と第２の入力ノードの負荷とをほぼ等しくすることができるので、セル電流Ｉｃと参照電流Ｉｒｅｆの正確な比較（すなわち、メモリセルＭＣ１のデータの正確な検出）が可能になる。
【０１８６】
センスアンプＳＡは、セル電流Ｉｃと参照電流Ｉｒｅｆとの差を増幅する。センスアンプＳＡの出力信号は、読出し系主ビット線ＲＭＢＬ０を介して出力バッファＯＢＵＦに伝達される。
【０１８７】
（相補リード方式におけるメモリセル電流の経路について）
図１９は、図１８の回路構成において相補リード方式の場合のメモリセル電流の経路を示す図である。図１９では、ツインセルを構成するメモリセルＭＣ１，ＭＣ２のデータを読み出す場合において、メモリセルＭＣ１を流れるセル電流Ｉｃ１の経路と、メモリセルＭＣ２を流れるセル電流Ｉｃ２の経路とが示されている。図１９に示すように、セル電流Ｉｃ１，Ｉｃ２の経路は図８の場合と同じであるので詳しい説明を繰り返さない。
【０１８８】
（階層センスアンプ帯の制御信号線の駆動回路について）
図２０は、図１８および図１９の階層センスアンプ帯の各制御信号線用を駆動するための駆動回路の構成を示す図である。図２０（Ａ）は図６の上側のメモリアレイ２２の読出しおよび書込みに関係する制御信号線用の駆動回路の構成を示し、図２０（Ｂ）は図６の下側のメモリアレイ２４の読出しおよび書込みに関係する制御信号線用の駆動回路を示す。
【０１８９】
第１の実施形態の図９の場合と同様に、制御信号ＣＭＰＬＯＮは、図１のフラッシュシーケンサ（ＦＳＱＣ）７から供給される。その他の入力信号は、フラッシュシーケンサ（ＦＳＱＣ）７からの制御信号と、図６のタイミングジェネレータ３６からの制御信号と、入出力バッファ（ＩＯＢＵＦ）３３に入力されたアドレスに基づいて、列デコーダ（ＣＤＥＣ）３２によって生成される。図９と比較して図２０の場合には、制御信号ＺＬ＿ＵＲ＿ｉｎ，ＣＨ＿ＵＲ＿ｉｎ，ＤＣ＿ＵＲ＿ｉｎ，ＹＲＡ＿ＵＲ＿ｉｎ，ＹＲＡ＿ＤＲ＿ｉｎ，ＹＲＢ＿ＵＲ＿ｉｎ，ＹＲＢ＿ＤＲ＿ｉｎ，ＣＨ＿ＤＲ＿ｉｎ，ＤＣ＿ＤＲ＿ｉｎ，ＺＬ＿ＤＲ＿ｉｎがさらに入力されている。
【０１９０】
制御信号線ＺＬ＿ＵＲ，ＺＬ＿ＤＲに供給される信号は、それぞれ論理ゲート２３０，２３７によって生成される。制御信号ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合には、制御信号線ＺＬ＿ＵＲ，ＺＬ＿ＤＲに供給される信号はＬレベル（“０”）となる。ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合には、制御信号ＺＬ＿ＵＲ＿ｉｎ，ＺＬ＿ＤＲ＿ｉｎをそれぞれ増幅した信号が、制御信号線ＺＬ＿ＵＲ，ＺＬ＿ＤＲに供給される。
【０１９１】
制御信号線ＣＨ＿ＵＲＮ，ＣＨ＿ＤＲＮに供給される信号は、それぞれ論理ゲート２３１，２３５によって生成される。制御信号ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合には、制御信号線ＣＨ＿ＵＲＮ，ＣＨ＿ＤＲＮに供給される信号はＨレベル（“１”）となる。ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合には、制御信号ＣＨ＿ＵＲ＿ｉｎ，ＣＨ＿ＤＲ＿ｉｎをそれぞれ反転増幅した信号が、制御信号線ＣＨ＿ＵＲＮ，ＣＨ＿ＤＲＮに供給される。
【０１９２】
制御信号線ＤＣ＿ＵＲ，ＤＣ＿ＤＲに供給される信号は、それぞれ論理ゲート２３２，２３６で生成される。制御信号ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合には、制御信号線ＤＣ＿ＵＲ，ＤＣ＿ＤＲに供給される信号はＬレベル（“０”）となる。ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合には、制御信号ＤＣ＿ＵＲ＿ｉｎ，ＤＣ＿ＤＲ＿ｉｎをそれぞれ増幅した信号が、制御信号線ＤＣ＿ＵＲ，ＤＣ＿ＤＲに供給される。
【０１９３】
制御信号線ＹＲＡ＿ＵＲＮ，ＹＲＡ＿ＤＲＮに供給される信号は、それぞれ論理ゲート２３３，２３４で生成される。制御信号ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合には、制御信号線ＹＲＡ＿ＵＲＮ，ＹＲＡ＿ＤＲＮに供給される信号はＨレベル（“１”）となる。ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合には、制御信号ＹＲＡ＿ＵＲ＿ｉｎ，ＹＲＡ＿ＤＲ＿ｉｎをそれぞれ反転増幅した信号が、制御信号線ＹＲＡ＿ＵＲＮ，ＹＲＡ＿ＤＲＮに供給される。
【０１９４】
制御信号線ＹＲＢ＿ＵＲＮ，ＹＲＢ＿ＤＲＮに供給される信号は、それぞれ論理ゲート２３８，２３９で生成される。制御信号ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合には、制御信号線ＹＲＢ＿ＵＲＮ，ＹＲＢ＿ＤＲＮに供給される信号はＨレベル（“１”）となる。ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合には、制御信号ＹＲＢ＿ＵＲ＿ｉｎ，ＹＲＢ＿ＤＲ＿ｉｎをそれぞれ反転増幅した信号が、制御信号線ＹＲＢ＿ＵＲＮ，ＹＲＢ＿ＤＲＮに供給される。
【０１９５】
（参照電流リード方式での読出し動作）
図２１は、第２の実施形態において、参照電流リード方式での読出し動作の一例を示すタイミングチャートである。図２１のタイミングチャートは、第１の実施形態の図１４のタイミング図に対応するものであり、参照電流リード方式の場合において、メモリアレイ２４に設けられたメモリセルＭＣ１のデータ読出し動作を示している。メモリセルＭＣ１にはデータ“０”（閾値電圧が高い状態）が書き込まれているとする。以下、図１８および図２１を主として参照して、第１の実施形態の図１４のタイミングチャートと異なる点を説明し、図１４と共通する点については説明を繰り返さない。
【０１９６】
図２１の時刻ｔ１において読出しアドレスが切替わり、時刻ｔ２においてフラッシュシーケンサ（ＦＳＱＣ）７からアドレス取り込み信号が出力される点は図１４の場合と同様である。
【０１９７】
次の時刻ｔ３において、行デコーダ３０，３１に設けられたドライバは、アドレス信号に基づいてメモリセルＭＣ１のデータ読出しに必要な制御信号線を活性化する。図１４の場合と異なる点は次のとおりである。
【０１９８】
(i)  制御信号線ＤＣ＿ＵＲ，ＤＣ＿ＤＲに供給するディスチャージ信号が非活性状態（Ｌレベル）に切替えられ、制御信号線ＣＨ＿ＵＲＮ，ＣＨ＿ＤＲＮに供給するチャージ信号が活性状態（Ｌレベル）に切替えられる。これによって、第２の実施形態において付加された副ビット線ＳＢＬ＿ＵＲ，ＳＢＬ＿ＤＲがさらにプリチャージされる。
【０１９９】
(ii)  制御信号線ＹＲＡ＿Ｄ０Ｎ，ＹＲＢ＿Ｄ０Ｎ，ＹＲＡ＿ＤＲＮ，ＹＲＢ＿ＤＲＮが活性状態（Ｌレベル）に切替えられる。これによって、メモリセルＭＣ１に接続された副ビット線ＳＢＬ＿Ｄ０が下側の出力信号線ＣＢＬＤに電気的に接続されるとともに、第２の実施形態において付加された副ビット線ＳＢＬ＿ＤＲが上側の出力信号線ＣＢＬＵに電気的に接続される。図１４の場合と異なり、副ビット線ＳＢＬ＿Ｕ０を上側の出力信号線ＣＢＬＵに電気的に接続する必要がないので、制御信号線ＹＲＡ＿Ｕ０Ｎ，ＹＲＢ＿Ｕ０Ｎは非活性状態（Ｈレベル）のまま維持される。制御信号線ＹＲＢ＿ＵＲＮも非活性状態（Ｈレベル）のまま維持される。
【０２００】
(iii)  図１４の場合とは逆に、信号線ＲＥＦ＿Ｄを活性状態（Ｈレベル）にすることによって、電流源ＣＳが上側の出力信号線ＣＢＬＵに電気的に接続される。その他の制御信号線の設定は、図１４の場合と同じである。
【０２０１】
次の時刻ｔ４において、フラッシュシーケンサ（ＦＳＱＣ）７からセンスアンプＳＡに供給されているプリチャージ信号ＰＣが非活性状態（Ｈレベル）に変化するとともに、行デコーダ３０，３１のドライバから制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｄ０Ｎ，ＣＨ＿ＵＲＮ，ＣＨ＿ＤＲＮに供給されているチャージ信号が非活性状態（Ｈレベル）に変化する。この結果、下側の出力信号線ＣＢＬＤからメモリセルＭＣ１の方向へセル電流Ｉｃが流れ、上側の出力信号線ＣＢＬＵから電流源ＣＳの方向へ参照電流Ｉｒｅｆが流れる。その後の、読出し動作は図１４の場合と同じであるので説明を繰り返さない。
【０２０２】
（相補読出し方式の読出し動作）
図２２は、第２の実施形態において、相補リード方式での読出し動作の一例を示すタイミングチャートである。図２２のタイミングチャートは、第１の実施形態の図１５のタイミング図に対応するものであり、相補リード方式の場合において、メモリアレイ２４に設けられたメモリセルＭＣ１，ＭＣ２によって構成されるツインセルのデータ読出し動作を示している。メモリセルＭＣ１にはデータ“０”（閾値電圧が高い状態）が書き込まれ、メモリセルＭＣ２にはデータ“１”（閾値電圧が低い状態）が書き込まれているとする。以下、図１９および図２２を主として参照して、第１の実施形態の図１５のタイミングチャートと異なる点を説明し、図１５と共通する点については説明を繰り返さない。
【０２０３】
図２２の時刻ｔ１において読出しアドレスが切替わり、時刻ｔ２においてフラッシュシーケンサ（ＦＳＱＣ）７からアドレス取り込み信号が出力される点は図１５の場合と同様である。
【０２０４】
次の時刻ｔ３において、行デコーダ３０，３１に設けられたドライバは、アドレス信号に基づいてメモリセルＭＣ１，ＭＣ２のデータ読出しに必要な制御信号線を活性化する。図１５の場合と比較した特徴点は次のとおりである。
【０２０５】
(i)  制御信号線ＤＣ＿ＵＲ，ＤＣ＿ＤＲに供給するディスチャージ信号が非活性状態（Ｌレベル）に切替えられ、制御信号線ＣＨ＿ＵＲＮ，ＣＨ＿ＤＲＮに供給するチャージ信号が活性状態（Ｌレベル）に切替えられる。これによって、第２の実施形態において付加された副ビット線ＳＢＬ＿ＵＲ，ＳＢＬ＿ＤＲがさらにプリチャージされる。
【０２０６】
(ii)  図１５の場合と同様に、制御信号線ＹＲＡ＿Ｄ０Ｎ，ＹＲＢ_Ｄ０Ｎ，ＹＲＢ＿Ｄ１ＣＮは活性状態（Ｌレベル）に切替えられる。これによって、メモリセルＭＣ１，ＭＣ２にそれぞれ接続された副ビット線ＳＢＬ＿Ｄ０，ＳＢＬ＿Ｄ４が出力信号線ＣＢＬＤ，ＣＢＬＵにそれぞれ電気的に接続される。第２の実施形態で付加された制御信号線ＹＲＡ＿ＵＲＮ，ＹＲＡ＿ＤＲＮ，ＹＲＢ＿ＵＲＮ，ＹＲＢ＿ＤＲＮは非活性状態（Ｈレベル）のまま維持される。
【０２０７】
(iii)  図１５の場合と同様に、制御信号線ＲＥＦ＿Ｕ，ＲＥＦ＿Ｄは非活性状態（Ｌレベル）に維持されるので、電流源ＣＳは出力信号線ＣＢＬＵ，ＣＢＬＤに電気的に接続されない。その他の制御信号線の設定は、図１５の場合と同じである。
【０２０８】
次の時刻ｔ４において、フラッシュシーケンサ（ＦＳＱＣ）７からセンスアンプＳＡに供給されているプリチャージ信号ＰＣが非活性状態（Ｈレベル）に変化するとともに、行デコーダ３０，３１のドライバから制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｄ０Ｎ，ＣＨ＿ＵＲＮ，ＣＨ＿ＤＲＮに供給されているチャージ信号が非活性状態（Ｈレベル）に変化する。この結果、下側の出力信号線ＣＢＬＤからメモリセルＭＣ１の方向へセル電流Ｉｃ１が流れ、上側の出力信号線ＣＢＬＵからメモリセルＭＣ２の方向へセル電流Ｉｃ２が流れる。その後の、読出し動作は図１５の場合と同じであるので説明を繰り返さない。
【０２０９】
（書込み動作、消去動作）
第２の実施形態の場合の不揮発性メモリの書込み動作および消去動作は、第１の実施形態の場合と同じであるので、説明を繰り返さない。
【０２１０】
（効果）
上記のとおり、第２の実施形態では、メモリマット２０を構成する各メモリアレイのうち特定列の各メモリセルのソース領域がソース線に接続されないように構成される。これによって、参照電流リード方式の場合に、参照電流側の出力信号線ＣＢＬＵまたはＣＢＬＤに上記の特定列に対応する副ビット線ＳＢＬ＿ＵＲまたはＳＢＬ＿ＤＲが接続される。この構成によれば、第１の実施形態の場合と異なり、階層センスアンプ帯に設けられた複数のＭＯＳトランジスタスイッチを、上側のメモリアレイ２２のアクセス用と、下側のメモリアレイ２４のアクセス用とに分離できるので、設計の自由度を向上させることができる。
【０２１１】
＜第３の実施形態＞
第１および第２の実施形態では、図６に示すように、階層センスアンプ帯２３とその上側および下側に設けられたメモリアレイ２２，２４とによってメモリブロック２１が構成され、複数のメモリブロック２１が列方向に配列されることによってメモリマット２０が構成されていた。各階層センスアンプ帯２３は、その上側および下側のメモリアレイ２２，２４に設けられた副ビット線ＳＢＬと接続されていた。
【０２１２】
第３の実施形態の半導体装置では、第１および第２の実施形態の階層センスアンプ帯２３に代えて、読出し用センスアンプ帯２８がメモリマット２０に対して１箇所のみ設けられる。読出し用センスアンプ帯２８は、メモリマット２０で共通に設けられた書込み系主ビット線ＷＭＢＬと接続される。第３の実施形態の場合には、書込み系主ビット線ＷＭＢＬはデータ読出しおよびデータ書込みの両方において用いられる。
【０２１３】
上記の構成によってセンスアンプＳＡを削減することができるので、フラッシュメモリモジュール６の回路面積を減らすことができる。以下、図２３〜図２８を参照して詳しく説明する。
【０２１４】
（フラッシュメモリモジュールの構成）
図２３は、第３の実施形態の半導体装置におけるフラッシュメモリモジュールの構成を表すブロック図である。図２３のブロック図は、第１の実施形態の図６のブロック図に対応するものである。
【０２１５】
図２３を参照して、フラッシュメモリモジュール６は、メモリマット２０と、読出し用センスアンプ帯２８と、出力バッファ３４と、第１行デコーダ３０と、第２行デコーダ３１と、列デコーダ３２と、入出力バッファ３３と、主ビット線電圧制御回路３９と、書換え列セレクタ３８と、ベリファイ回路３７と、電源回路３５と、タイミングジェネレータ３６とを含む。図６のフラッシュメモリモジュール６の構成と異なる点は、読出し用センスアンプ帯２８が追加された点と、それに伴ってメモリマット２０の構成が変更された点である。
【０２１６】
メモリマット２０は、列選択部２３Ａと、列選択部２３Ａの両側（列方向）に設けられたメモリアレイ２２，２４とを１つの構成単位（すなわち、メモリブロック２１）として含む。メモリマット２０には、このようなメモリブロック２１が列方向に複数配置されている（図２３では、１つのメモリブロック２１のみが代表的に示されている）。メモリアレイ２２，２４の構成は図６で説明したとおりであるので、説明を繰り返さない。
【０２１７】
列選択部２３Ａは、副ビット線セレクタ２６Ｕ，２６Ｄを含む。図６で説明したように、上側の副ビット線セレクタ２６Ｕは、複数のＮＭＯＳトランジスタスイッチ６０Ｕを含み、これらのＮＭＯＳトランジスタスイッチ６０Ｕのオンおよびオフを切り替えることによって、上側のメモリアレイ２２に設けられた副ビット線ＳＢＬを対応の書込み系主ビット線ＷＭＢＬに選択的に接続する接続切替え部として機能する。同様に、下側の副ビット線セレクタ２６Ｄは、複数のＮＭＯＳトランジスタスイッチ６０Ｄを含み、これらのＮＭＯＳトランジスタスイッチ６０Ｄのオンおよびオフを切り替えることによって、下側のメモリアレイ２４に設けられた副ビット線ＳＢＬを対応の書込み系主ビット線ＷＭＢＬに選択的に接続する接続切替え部として機能する。列選択部２３Ａの構成は、概ね図６の階層センスアンプ帯２３から、センスアンプＳＡと読出し列セレクタ２５を取り除いたものと考えることができる。
【０２１８】
読出し用センスアンプ帯２８は、センスアンプＳＡと、読出し列セレクタ２５Ａとを含む。センスアンプＳＡは、第１および第２の入力ノードを備え、第１の入力ノードに接続された第１の出力信号線ＣＢＬＬに流れる電流と、第２の入力ノードに接続された第２の出力信号線ＣＢＬＲに流れる電流との差を増幅することによって、両電流値の比較結果を出力する。センスアンプＳＡの出力信号は、列方向に延びる読出し系主ビット線ＲＭＢＬを介して出力バッファ（ＯＢＵＦ）３４に伝達される。センスアンプＳＡの詳細な構成は、第１の実施形態で説明したとおりであるので、説明を繰り返さない。
【０２１９】
読出し列セレクタ２５Ａは、複数のＰＭＯＳトランジスタスイッチ７０，７１，７６，７８を含み、これらのＰＭＯＳトランジスタスイッチを切替えることによって、各書込み系主ビット線ＷＭＢＬと上記の出力信号線ＣＢＬＬ，ＣＢＬＲとの接続切替えを行う接続切替え部として機能する。図２３の場合には、相補リード方式の場合にポジティブセルとして用いられるメモリセルＭＣ１と接続される主ビット線ＷＭＢＬは、ＰＭＯＳトランジスタスイッチ７０，７６を介して出力信号線ＣＢＬＬに接続される。相補リード方式の場合にネガティブセルとして用いられるメモリセルＭＣ２と接続される主ビット線ＷＭＢＬは、ＰＭＯＳトランジスタスイッチ７１，７８を介して出力信号線ＣＢＬＲに接続される。
【０２２０】
読出し列セレクタ２５Ａは、さらに、電流源ＣＳと、ＮＭＯＳトランジスタスイッチ７４，７５とを含む。参照電流リード方式の場合には、電流源ＣＳはＮＭＯＳトランジスタスイッチ７４または７５を介して出力信号線ＣＢＬＬまたはＣＢＬＲにそれぞれ接続される。
【０２２１】
図２３のその他の点は図６の場合と同様であるので、同一または相当する部分には同一の参照符号を付して説明を繰返さない。さらに、半導体装置１の全体構成は図１で説明したものと同じであり、制御信号ＣＭＰＬＯＮの生成回路は図１０で説明したものと同じであり、出力バッファ３４の構成は図１２で説明したものと同じである。したがって、いずれについても説明を繰返さない。
【０２２２】
さらに、センスアンプＳＡの構成は図１１で説明したものと同様である。ただし、第３の実施形態の場合の出力信号線ＣＢＬＬ，ＣＢＬＲは、図１１の出力信号線ＣＢＬＤ，ＣＢＬＵにそれぞれ対応する。
【０２２３】
（読出し系回路の詳細）
図２４は、図２３の列選択部と読出し用センスアンプ帯との詳細な構成を示す図である。図２４では、４本の書込み系主ビット線ＷＭＢＬ０〜ＷＭＢＬ３、上側のメモリアレイ２２に対応する８本の副ビット線ＳＢＬ＿Ｕ０〜ＳＢＬ＿Ｕ７、下側のメモリアレイ２４に対応する８本の副ビット線ＳＢＬ＿Ｄ０〜ＳＢＬ＿Ｄ７、および１本の読出し系主ビット線ＲＭＢＬ０が代表的に示されている。図７の場合と同様に、１本の書込み系主ビット線ＷＭＢＬに対して、メモリアレイごとに２本の副ビット線ＳＢＬが割り当てられる。なお、図２４では図示していないが、実際のメモリセルモジュール６では、これらのビット線が行方向に繰り返して設けられている。
【０２２４】
図２４では、さらに、列選択部２３Ａの両側に設けられたメモリアレイ２２，２４も示されている。メモリアレイ２２，２４の構成は図７で説明したとおりであるので、説明を繰返さない。
【０２２５】
列選択部２３Ａは、図２３で説明した副ビット線セレクタ２６Ｕ，２６Ｄの他に、充放電回路２７Ｕ，２７Ｄを含む。充放電回路２７Ｕ，２７Ｄの構成は、図７で説明したとおりであるので、説明を繰返さない。
【０２２６】
副ビット線セレクタ２６Ｄは、副ビット線ＳＢＬ＿Ｄ０〜ＳＢＬ＿Ｄ７にそれぞれ対応するＮＭＯＳトランジスタスイッチ６０Ｄ０〜６０Ｄ７と、制御信号線ＺＬ＿Ｄ０〜ＺＬ＿Ｄ３とを含む。図２４の副ビット線セレクタ２６Ｄは、制御信号線ＺＬ＿Ｄ３，ＺＬ＿Ｄ４が追加されている点で、図７の副ビット線セレクタ２６Ｄと異なる。
【０２２７】
副ビット線セレクタ２６Ｄにおいて、各ＮＭＯＳトランジスタスイッチ６０Ｄ０〜６０Ｄ７は、対応する副ビット線ＳＢＬと、対応する副ビット線ＳＢＬが割当てられた書込み系主ビット線ＷＭＢＬとの間に接続される。制御信号線ＺＬ＿Ｄ０はＮＭＯＳトランジスタスイッチ６０Ｄ０，６０Ｄ２のゲートに接続され、制御信号線ＺＬ＿Ｄ１はＮＭＯＳトランジスタスイッチ６０Ｄ１，６０Ｄ３のゲートに接続される。同様に、制御信号線ＺＬ＿Ｄ２はＮＭＯＳトランジスタスイッチ６０Ｄ４，６０Ｄ６のゲートに接続され、制御信号線ＺＬ＿Ｄ３はＮＭＯＳトランジスタスイッチ６０Ｄ５，６０Ｄ７のゲートに接続される。
【０２２８】
副ビット線セレクタ２６Ｕの構成は、上記の副ビット線セレクタ２６Ｄの構成の説明において、添え字のＤをＵに置き換えたものに相当するので説明を繰返さない。たとえば、下側のメモリアレイ２４に設けられた副ビット線ＳＢＬ＿Ｄ０〜ＳＢＬ＿Ｄ７は、上側のメモリアレイ２２に設けられた副ビット線ＳＢＬ＿Ｕ０〜ＳＢＬ＿Ｕ７にそれぞれ置き換えられる。
【０２２９】
図２３で説明したように、読出し用センスアンプ帯２８は、センスアンプＳＡと、読出し列セレクタ２５Ａとを含む。読出し列セレクタ２５Ａは、ＰＭＯＳトランジスタスイッチ７０，７１，７６〜７９と、ＮＭＯＳトランジスタスイッチ７４，７５と、電流源ＣＳと、制御信号線ＹＲＡ＿０Ｎ，ＹＲＡ＿１Ｎ，ＹＲＢ＿Ｎ，ＲＥＦ＿Ｌ，ＲＥＦ＿Ｒとを含む。電流源ＣＳは、たとえば、定電圧がゲートに印加されたＮＭＯＳトランジスタによって構成される。
【０２３０】
ＰＭＯＳトランジスタスイッチ７６〜７９は、書込み系主ビット線ＷＭＢＬ０〜ＷＭＢＬ４にそれぞれ対応する。ＰＭＯＳトランジスタスイッチ７６，７７の各々は、対応する書込み系主ビット線と共通ノード７２との間に接続される。ＰＭＯＳトランジスタスイッチ７８，７９の各々は、対応する書込み系主ビット線と共通ノード７３との間に接続される。ＰＭＯＳトランジスタスイッチ７０は、上記の共通ノード７２と出力信号線ＣＢＬＬとの間に接続される。ＰＭＯＳトランジスタスイッチ７１は、上記の共通ノード７３と出力信号線ＣＢＬＲとの間に接続される。ＮＭＯＳトランジスタスイッチ７４は、上記の共通ノード７２と電流源ＣＳとの間に接続される。ＮＭＯＳトランジスタスイッチ７５は、上記の共通ノード７３と定電流源ＣＳとの間に接続される。
【０２３１】
制御信号線ＹＲＡ＿０ＮはＰＭＯＳトランジスタスイッチ７６，７８のゲートに接続される。制御信号線ＹＲＡ＿１Ｎは、ＰＭＯＳトランジスタスイッチ７７，７９のゲートに接続される。制御信号線ＹＲＢ＿Ｎは、ＰＭＯＳトランジスタスイッチ７０，７１のゲートに接続される。制御信号線ＲＥＦ＿Ｌ，ＲＥＦ＿Ｒは、ＮＭＯＳトランジスタスイッチ７４，７５のゲートにそれぞれ接続される。
【０２３２】
（参照電流リード方式におけるメモリセル電流および参照電流の経路について）
次に、図２４を参照して、メモリセルＭＣ１のデータを読み出す場合のセル電流Ｉｃの経路と参照電流Ｉｒｅｆの経路とについて説明する。
【０２３３】
メモリセルＭＣ１のデータを読み出す場合には、メモリセルＭＣ１のコントロールゲートに接続されているワード線ＷＬｍがＨレベルに活性化される。さらに、制御信号線ＹＲＡ＿０Ｎ，ＹＲＢ＿Ｎ，ＺＬ＿Ｄ０を活性化させることによって、セル電流Ｉｃを発生させる。セル電流Ｉｃは、センスアンプＳＡから、出力信号線ＣＢＬＬ、ＰＭＯＳトランジスタスイッチ７０，７６、書込み系主ビット線ＷＭＢＬ０、ＮＭＯＳトランジスタスイッチ６０Ｄ０、メモリセルＭＣ１を順に経由して、ソース線ＳＬに至る方向に流れる。データ読出時には、ソース線ＳＬは接地ノードＶＳＳに接続される。
【０２３４】
参照電流Ｉｒｅｆを発生させるためには、さらに、制御信号線ＲＥＦ＿Ｒを活性化させる。参照電流Ｉｒｅｆは、センスアンプＳＡから、出力信号線ＣＢＬＲ、ＰＭＯＳトランジスタスイッチ７１、ＮＭＯＳトランジスタスイッチ７５、電流源ＣＳを順に経由して、接地ノードＶＳＳに至る方向に流れる。電流源ＣＳによって参照電流Ｉｒｅｆの大きさが調整される。
【０２３５】
参照電流Ｉｒｅｆを発生させる際には、さらに、制御信号線ＺＬ＿Ｕ２を活性化することによって、ＰＭＯＳトランジスタスイッチ６０Ｕ４をオンする。これによって、副ビット線ＳＢＬ＿Ｕ４の配線容量が、電流源側ＣＳ側の出力信号線ＣＢＬＲに付加される。副ビット線ＳＢＬ＿Ｕ４の配線容量は、メモリセルＭＣ１に接続された副ビット線ＳＢＬ＿Ｄ０の配線容量とほぼ同じ値である。したがって、センスアンプＳＡの第１の入力ノードの負荷と第２の入力ノードの負荷とをほぼ等しくすることができるので、セル電流Ｉｃと参照電流Ｉｒｅｆの正確な比較（すなわち、メモリセルＭＣ１のデータの正確な検出）が可能になる。
【０２３６】
センスアンプＳＡは、セル電流Ｉｃと参照電流Ｉｒｅｆとの差を増幅する。センスアンプＳＡの出力信号は、読出し系主ビット線ＲＭＢＬ０を介して出力バッファＯＢＵＦに伝達される。
【０２３７】
（相補リード方式におけるメモリセル電流の経路について）
図２５は、図２４の回路構成において相補リード方式の場合のメモリセル電流の経路を示す図である。図２５では、ツインセルを構成するメモリセルＭＣ１，ＭＣ２のデータを読み出す場合において、メモリセルＭＣ１を流れるセル電流Ｉｃ１の経路と、メモリセルＭＣ２を流れるセル電流Ｉｃ２の経路とが示されている。
【０２３８】
メモリセルＭＣ１，ＭＣ２のデータを読み出す場合には、メモリセルＭＣ１，ＭＣ２に共通に接続されているワード線ＷＬｍが活性化される。この状態で、制御信号線ＹＲＡ＿０Ｎ，ＹＲＢ＿Ｎ，ＺＬ＿Ｄ０，ＺＬ＿Ｄ２を活性化させることによって、セル電流Ｉｃ１およびＩｃ２を発生させる。セル電流Ｉｃ１は、センスアンプＳＡから、出力信号線ＣＢＬＬ、ＰＭＯＳトランジスタスイッチ７０，７６、書込み系主ビット線ＷＭＢＬ０、ＮＭＯＳトランジスタスイッチ６０Ｄ０、メモリセルＭＣ１を順に経由して、ソース線ＳＬに至る方向に流れる。セル電流Ｉｃ２は、センスアンプＳＡから、出力信号線ＣＢＬＲ、ＰＭＯＳトランジスタスイッチ７１，７８、書込み系主ビット線ＷＭＢＬ２、ＮＭＯＳトランジスタスイッチ６０Ｄ４、メモリセルＭＣ２を順に経由して、ソース線ＳＬに至る方向に流れる。データ読出時には、ソース線ＳＬが接地ノードＶＳＳに接続される。
【０２３９】
センスアンプＳＡは、セル電流Ｉｃ１とセル電流Ｉｃ２との差を増幅する。センスアンプＳＡの出力信号は、読出し系主ビット線ＲＭＢＬ０を介して出力バッファＯＢＵＦに伝達される。なお、相補リード方式の場合には、制御信号線ＲＥＦ＿Ｌ，ＲＥＦ＿Ｒは常に非活性状態（Ｌレベル）になる。
【０２４０】
（読出し列セレクタおよび列選択部で用いられる制御信号の駆動について）
図２６は、図２４の読出し用センスアンプ帯および列選択部の各制御信号線を駆動回路の構成を示す図である。図２６（Ａ）は図２４の読出し用センスアンプ帯２８に設けられた制御信号線用の駆動回路の構成を示し、図２６（Ｂ）は図２４の列選択部２３Ａに設けられた制御信号線用の駆動回路の構成を示す。
【０２４１】
図２６（Ａ）および（Ｂ）の入力信号のうち、制御信号ＣＭＰＬＯＮは、読出しおよび書込み対象のメモリセルが相補リード方式か参照電流リード方式かを区別するための信号であり、図１のフラッシュシーケンサ（ＦＳＱＣ）７から供給される。その他の入力信号は、フラッシュシーケンサ（ＦＳＱＣ）７からの制御信号と、図６のタイミングジェネレータ３６からの制御信号と、入出力バッファ（ＩＯＢＵＦ）３３に入力されたアドレスに基づいて、列デコーダ（ＣＤＥＣ）３２によって生成される。
【０２４２】
図２６（Ａ）を参照して、制御信号線ＹＲＢ＿Ｎ，ＹＲＡ＿Ｕ０Ｎ，ＹＲＡ＿Ｕ１Ｎに供給される信号は、それぞれ、制御信号ＹＲＢ＿ｉｎ，ＹＲＡ＿Ｕ０＿ｉｎ，ＹＲＡ＿Ｕ１＿ｉｎがインバータ２６０，２６３，２６４によって反転増幅することによって生成される。
【０２４３】
制御信号線ＲＥＦ＿Ｕ，ＲＥＦ＿Ｄに供給される信号は、それぞれ論理ゲート２６１，２６２によって生成される。論理ゲート２６１は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に、制御信号ＲＥＦ＿Ｌ＿ｉｎを増幅した信号を制御信号線ＲＥＦ＿Ｌに出力する。論理ゲート２６１は、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に、制御信号ＲＥＦ＿Ｌ＿ｉｎによらずにＬレベル（“０”）の信号を出力することによって、制御信号線ＲＥＦ＿Ｌを非活性化する。同様に、論理ゲート２６２は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に、制御信号ＲＥＦ＿Ｒ＿ｉｎを増幅した信号を制御信号線ＲＥＦ＿Ｒに出力する。論理ゲート２６２は、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に、制御信号ＲＥＦ＿Ｒ＿ｉｎによらずにＬレベル（“０”）の信号を出力することによって、制御信号線ＲＥＦ＿Ｒを非活性化する。
【０２４４】
図２６（Ｂ）を参照して、制御信号線ＺＬ＿Ｕ０，ＺＬ＿Ｕ１，ＺＬ＿Ｄ０，ＺＬ＿Ｄ１に供給される信号は、それぞれ、制御信号ＺＬ＿Ｕ０＿ｉｎ，ＺＬ＿Ｕ１＿ｉｎ，ＺＬ＿Ｄ０＿ｉｎ，ＺＬ＿Ｄ１＿ｉｎがバッファ２６５，２６６，２７７，２７８によって増幅されることによって生成される。制御信号線ＤＣ＿Ｕ０，ＤＣ＿Ｕ１，ＤＣ＿Ｄ０，ＤＣ＿Ｄ１に供給される信号は、それぞれ、制御信号ＤＣ＿Ｕ０＿ｉｎ，ＤＣ＿Ｕ１＿ｉｎ，ＤＣ＿Ｄ０＿ｉｎ，ＤＣ＿Ｄ１＿ｉｎがバッファ２７１，２７２，２７５，２７６によって増幅されることによって生成される。
【０２４５】
制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｕ１Ｎ，ＣＨ＿Ｄ０Ｎ，ＣＨ＿Ｄ１Ｎに供給される信号は、それぞれ、制御信号ＣＨ＿Ｕ０＿ｉｎ，ＣＨ＿Ｕ１＿ｉｎ，ＣＨ＿Ｄ０＿ｉｎ，ＣＨ＿Ｄ１＿ｉｎがインバータ２６９，２７０，２７３，２７４によって反転増幅されることによって生成される。
【０２４６】
制御信号線ＺＬ＿Ｕ２，ＺＬ＿Ｕ３，ＺＬ＿Ｄ２，ＺＬ＿Ｄ３には、それぞれ、セレクタ２６７，２６８，２７９，２８０によって選択された信号が供給される。具体的に、セレクタ２６７は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に制御信号ＺＬ＿Ｕ２＿ｉｎを制御信号線ＺＬ＿Ｕ２に出力し、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に制御信号ＺＬ＿Ｕ０＿ｉｎを制御信号線ＺＬ＿Ｕ２に出力する。これによって、相補リード方式の場合には、ボジティブセルが接続される副ビット線ＳＢＬ＿Ｕ０またはＳＢＬ＿Ｕ２と、対応するネガティブセルが接続される副ビット線ＳＢＬ＿Ｕ４またはＳＢＬ＿Ｕ６とが必ず共にアクセル可能になる。
【０２４７】
同様に、セレクタ２６８は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に制御信号ＺＬ＿Ｕ３＿ｉｎを制御信号線ＺＬ＿Ｕ３に出力し、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に制御信号ＺＬ＿Ｕ１＿ｉｎを制御信号線ＺＬ＿Ｕ３に出力する。セレクタ２７９は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に制御信号ＺＬ＿Ｄ２＿ｉｎを制御信号線ＺＬ＿Ｄ２に出力し、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に制御信号ＺＬ＿Ｄ０＿ｉｎを制御信号線ＺＬ＿Ｄ２に出力する。セレクタ２８０は、ＣＭＰＬＯＮ＝“０”（参照電流リード方式）の場合に制御信号ＺＬ＿Ｄ３＿ｉｎを制御信号線ＺＬ＿Ｄ３に出力し、ＣＭＰＬＯＮ＝“１”（相補リード方式）の場合に制御信号ＺＬ＿Ｄ１＿ｉｎを制御信号線ＺＬ＿Ｄ３に出力する。
【０２４８】
（参照電流リード方式での読出し動作）
図２７は、第３の実施形態において、参照電流リード方式での読出し動作の一例を示すタイミングチャートである。以下、主として図２３、図２４、図２７を参照して、参照電流リード方式の場合において、メモリアレイ２４に設けられたメモリセルＭＣ１のデータ読出しの手順について説明する。以下の説明では、メモリセルＭＣ１にはデータ“０”（閾値電圧が高い状態）が書き込まれているとする。
【０２４９】
まず、図２７の時刻ｔ１にアドレス情報が切り替わる。時刻ｔ２に、図１のフラッシュシーケンサ（ＦＳＱＣ）７はアドレス取り込み信号を出力し、この信号に応答して、入出力バッファ（ＩＯＢＵＦ）はアドレス情報を取り込む。取り込まれたアドレス情報は、列デコーダ３２および行デコーダ３０，３１においてデコードされる。
【０２５０】
時刻ｔ３において、行デコーダ３０，３１および列デコーダ３２に設けられたドライバは、アドレス信号に基づいてメモリセルＭＣ１のデータ読出しに必要な制御信号線を活性化する。具体的には次のとおりである。
【０２５１】
(i)  制御信号線ＤＣ＿Ｕ０，ＤＣ＿Ｄ０に供給するディスチャージ信号は非活性状態（Ｌレベル）に切替えられ、制御信号線ＤＣ＿Ｕ１，ＤＣ＿Ｄ１は活性状態（Ｈレベル）のまま維持される。一方、制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｄ０Ｎに供給するチャージ信号は活性状態（Ｌレベル）に切替えられ、制御信号線ＣＨ＿Ｕ１Ｎ，ＣＨ＿Ｄ１Ｎは非活性状態（Ｈレベル）のまま維持される。これによって、少なくとも読出し対象のメモリセルＭＣ１が接続された副ビット線ＳＢＬ＿Ｄ０および上側のメモリアレイ２２の副ビット線ＳＢＬ＿Ｕ４は電源電位にプリチャージされ、それに隣接する副ビット線ＳＢＬ＿Ｄ１，ＳＢＬ＿Ｕ３，ＳＢＬ＿Ｕ５は接地電位に維持される。
【０２５２】
(ii)  制御信号線ＹＲＡ_０Ｎ，ＹＲＢ_Ｎが活性状態（Ｌレベル）に切替えられるとともに、制御信号線ＺＬ＿Ｕ２，ＺＬ＿Ｄ０が活性状態（Ｈレベル）に切替えられる。これによって、メモリセルＭＣ１が接続されている副ビット線ＳＢＬ＿Ｄ０が書込み系主ビット線ＷＭＢＬ０を介して出力信号線ＣＢＬＬに電気的に接続されるとともに、副ビット線ＳＢＬ＿Ｕ４が書込み系主ビット線ＷＭＢＬ２を介して出力信号線ＣＢＬＲに電気的に接続される。
【０２５３】
(iii)  制御信号線ＲＥＦ＿Ｒを活性状態（Ｈレベル）にすることによって、電流源ＣＳが出力信号線ＣＢＬＲに電気的に接続される。
【０２５４】
(iv)  読出し対象のメモリセルＭＣ１に接続されたワード線ＷＬｍが活性状態（Ｈレベル）に切替えられる。
【０２５５】
(v)  副ビット線ＳＢＬ＿Ｄ０〜Ｄ３またはＳＢＬ＿Ｕ０〜Ｕ３に接続されたメモリセルのデータを読み出す場合には、センスアンプＳＡのセレクタ１４８（図１１参照）に供給する選択信号ＳＥＬＵはＬレベル（“０”）に設定される。
【０２５６】
次の時刻ｔ４において、フラッシュシーケンサ（ＦＳＱＣ）７からセンスアンプＳＡに供給されているプリチャージ信号ＰＣが非活性状態（Ｈレベル）に変化するとともに、行デコーダ３０，３１のドライバから制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｄ０Ｎに供給されているチャージ信号が非活性状態（Ｈレベル）に変化する。この結果、出力信号線ＣＢＬＬからメモリセルＭＣ１の方向へセル電流Ｉｃが流れ、出力信号線ＣＢＬＲから電流源ＣＳの方向へ参照電流Ｉｒｅｆが流れる。メモリセルＭＣ１にはデータ“０”（閾値電圧が高い状態）が書き込まれているので、セル電流Ｉｃは参照電流Ｉｒｅｆより小さい。したがって、出力信号線ＣＢＬＲの電位のほうが、出力信号線ＣＢＬＬの電位よりも低くなる。
【０２５７】
次の時刻ｔ５において、フラッシュシーケンサ（ＦＳＱＣ）７は、センスアンプＳＡに出力するセンスイネーブル信号ＳＥＮを活性状態（Ｈレベル）に変化させる。これによって、図１１のＮＭＯＳトランジスタ１４７がオンするのでラッチ回路１３６が動作し始める。ラッチ回路１３６が出力信号線ＣＢＬＬ，ＣＢＬＲ間の電位差を増幅する結果、出力信号線ＣＢＬＲの電位は接地電位（ＶＳＳ）まで低下し、出力信号線ＣＢＬＬの電位は電源電位（ＶＤＤ）まで上昇する。出力信号線ＣＢＬＲの電位は、セレクタ１４８および３ステートバッファを介して読出し系主ビット線ＲＭＢＬに出力される。
【０２５８】
さらに、時刻ｔ５に、センスイネーブル信号ＳＥＮが活性化することによって、出力バッファ（ＯＢＵＦ）３４に出力される制御信号ＳＥＮ＿ＯＲも活性状態（Ｈレベル）に変化する。これによって、センスアンプＳＡから読出し系主ビット線ＲＭＢＬに出力された電圧信号は、読出し系主ビット線ＲＭＢＬを介して出力バッファ（ＯＢＵＦ）３４に伝達され、出力バッファ３４から高速バス（ＨＢＵＳ）のうちの対応のデータバスに出力される。
【０２５９】
（相補リード方式での読出し動作）
図２８は、第３の実施形態において、相補リード方式での読出し動作の一例を示すタイミングチャートである。以下、主として図２３、図２５、図２８を参照して、相補リード方式の場合において、メモリアレイ２４に設けられたメモリセルＭＣ１，ＭＣ２によって構成されるツインセルのデータを読出す手順について説明する。以下の説明では、メモリセルＭＣ１にはデータ“０”（閾値電圧が高い状態）が書き込まれ、メモリセルＭＣ２にはデータ“１”（閾値電圧が低い状態）が書き込まれているとする。
【０２６０】
まず、図２８の時刻ｔ１において読出しアドレスが切替わり、時刻ｔ２においてフラッシュシーケンサ（ＦＳＱＣ）７からアドレス取り込み信号が出力される点は図２７の場合と同様である。
【０２６１】
時刻ｔ３において、行デコーダ３０，３１に設けられたドライバは、アドレス信号に基づいてメモリセルＭＣ１，ＭＣ２のデータ読出しに必要な制御信号線を活性化する。具体的には次のとおりである。
【０２６２】
(i)  制御信号線ＤＣ＿Ｕ０，ＤＣ＿Ｄ０に供給するディスチャージ信号は非活性状態（Ｌレベル）に切替えられ、制御信号線ＤＣ＿Ｕ１，ＤＣ＿Ｄ１は活性状態（Ｈレベル）のまま維持される。一方、制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｄ０Ｎに供給するチャージ信号は活性状態（Ｌレベル）に切替えられ、制御信号線ＣＨ＿Ｕ１Ｎ，ＣＨ＿Ｄ１Ｎは非活性状態（Ｈレベル）のまま維持される。これによって、少なくとも読出し対象のメモリセルＭＣ１，ＭＣ２が接続された副ビット線ＳＢＬ＿Ｄ０，ＳＢＬ＿Ｄ４および上側のメモリアレイ２２の同じ列の副ビット線ＳＢＬ＿Ｕ０，ＳＢＬ＿Ｕ４は電源電位にプリチャージされ、それらに隣接する副ビット線ＳＢＬ＿Ｄ１，ＳＢＬ＿Ｕ１，ＳＢＬ＿Ｄ３，ＳＢＬ＿Ｕ３，ＳＢＬ＿Ｄ５，ＳＢＬ＿Ｕ５は接地電位に維持される。
【０２６３】
(ii)  制御信号線ＹＲＡ＿０Ｎ，ＹＲＢ_Ｎが活性状態（Ｌレベル）に切替えられるとともに、制御信号線ＺＬ＿Ｄ０，ＺＬ＿Ｄ２が活性状態（Ｈレベル）に切替えられる。これによって、メモリセルＭＣ１，ＭＣ２にそれぞれ接続された副ビット線ＳＢＬ＿Ｄ０，ＳＢＬ＿Ｄ４が出力信号線ＣＢＬＬ，ＣＢＬＲにそれぞれ電気的に接続される。
【０２６４】
(iii)  制御信号線ＲＥＦ＿Ｕ，ＲＥＦ＿Ｄは非活性状態（Ｌレベル）に維持されるので、電流源ＣＳは出力信号線ＣＢＬＬ，ＣＢＬＲに電気的に接続されない。
【０２６５】
(iv)  読出し対象のメモリセルＭＣ１，ＭＣ２に共通に接続されたワード線ＷＬｍが活性状態（Ｈレベル）に切替えられる。
【０２６６】
(v)  相補リード方式の場合には、センスアンプＳＡのセレクタ１４８（図１１参照）に供給する選択信号ＳＥＬＵはＬレベル（“０”）に設定される。
【０２６７】
次の時刻ｔ４において、フラッシュシーケンサ（ＦＳＱＣ）７からセンスアンプＳＡに供給されているプリチャージ信号ＰＣが非活性状態（Ｈレベル）に変化するとともに、行デコーダ３０，３１のドライバから制御信号線ＣＨ＿Ｕ０Ｎ，ＣＨ＿Ｄ０Ｎに供給されているチャージ信号が非活性状態（Ｈレベル）に変化する。この結果、出力信号線ＣＢＬＬからメモリセルＭＣ１の方向へセル電流Ｉｃ１が流れ、出力信号線ＣＢＬＲからメモリセルＭＣ２の方向へセル電流Ｉｃ２が流れる。メモリセルＭＣ１にはデータ“０”（閾値電圧が高い状態）が書き込まれ、メモリセルＭＣ２にはデータ“１”（閾値電圧が低い状態）が書き込まれているので、セル電流Ｉｃ１はセル電流Ｉｃ２より小さい。したがって、上側の出力信号線ＣＢＬＲの電位のほうが、下側の出力信号線ＣＢＬＬの電位よりも低くなる。
【０２６８】
次の時刻ｔ５において、フラッシュシーケンサ（ＦＳＱＣ）７は、センスアンプＳＡに出力するセンスイネーブル信号を活性状態（Ｈレベル）に変化させる。以降の動作は、参照電流リード方式の場合と同様であるので説明を繰返さない。
【０２６９】
（書込み動作、消去動作）
第３の実施形態の場合の不揮発性メモリの書込み動作および消去動作は、第１の実施形態の場合と同じであるので、説明を繰り返さない。
【０２７０】
（効果）
上記のとおり、第２の実施形態では、第１および第２の実施形態の階層センスアンプ帯２３に代えて、読出し用センスアンプ帯２８がメモリマット２０に対して１箇所のみ設けられる。読出し用センスアンプ帯２８は、メモリマット２０で共通に設けられた書込み系主ビット線ＷＭＢＬと接続される。各メモリアレイの副ビット線ＳＢＬは対応の書込み系主ビット線ＷＭＢＬと副ビット線セレクタ２６Ｕ，２６Ｄを介して接続される。この構成によってセンスアンプＳＡを削減することができるので、フラッシュメモリモジュール６の回路面積を減らすことができる。
【０２７１】
＜変形例＞
不揮発性メモリは、データ書込み時にメモリアレイの同一列の複数行に同一のデータを格納するようにしてもよい。この場合、データ読出し時には同一のデータが格納された複数行に対応するワード線が同時に活性化される。これによって、個々のメモリセルに流れる電流が少ない場合でもデータ読出しが可能になるので、読出しマージンを増やすことができる。
【０２７２】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【符号の説明】
【０２７３】
１  マイクロコンピュータ（半導体装置）、６  フラッシュメモリモジュール、７  フラッシュシーケンサ（制御部）、１６  フラッシュメモリ、２０  メモリマット、２１  メモリブロック、２２，２４  メモリアレイ、２３  階層センスアンプ帯、２３Ａ  列選択部、２５，２５Ａ  読出し列セレクタ、２６Ｄ，２６Ｕ  副ビット線セレクタ、２７Ｄ，２７Ｕ  充放電回路、２８  読出し用センスアンプ帯、３０，３１  行デコーダ、３２  列デコーダ、３３  入出力バッファ、３４  出力バッファ、３７  ベリファイ回路、３８  書換え列セレクタ、３９  主ビット線電圧制御回路、４０  書込み系ディスチャージ回路、８１，８２  入力信号線、１３０  レジスタ、ＢＬ  ビット線、ＣＢＬＤ，ＣＢＬＬ，ＣＢＬＲ，ＣＢＬＵ  出力信号線、ＣＧ  コントロールゲート、ＣＳ，ＣＳ１，ＣＳ２  電流源、Ｉｃ，Ｉｃ１，Ｉｃ２  セル電流、Ｉｒｅｆ  参照電流、ＭＣ，ＭＣ１，ＭＣ２，ＭＣ３，ＭＣ４，ＭＣＲ  メモリセル、ＭＧＬ  メモリゲート線、ＰＲＧＬ  プログラムラッチ回路、ＳＡ  センスアンプ、ＳＢＬ  副ビット線、ＳＬ  ソース線、ＶＤＤ  電源ノード、ＶＳＳ  接地ノード、ＷＬ  ワード線、ＷＭＢＬ  書込み系主ビット線、ＲＭＢＬ  読出し系主ビット線。
【図１】
0006422273.tif 000002
【図２】
0006422273.tif 000003
【図３】
0006422273.tif 000004
【図４】
0006422273.tif 000005
【図５】
0006422273.tif 000006
【図６】
0006422273.tif 000007
【図７】
0006422273.tif 000008
【図８】
0006422273.tif 000009
【図９】
0006422273.tif 000010
【図１０】
0006422273.tif 000011
【図１１】
0006422273.tif 000012
【図１２】
0006422273.tif 000013
【図１３】
0006422273.tif 000014
【図１４】
0006422273.tif 000015
【図１５】
0006422273.tif 000016
【図１６】
0006422273.tif 000017
【図１７】
0006422273.tif 000018
【図１８】
0006422273.tif 000019
【図１９】
0006422273.tif 000020
【図２０】
0006422273.tif 000021
【図２１】
0006422273.tif 000022
【図２２】
0006422273.tif 000023
【図２３】
0006422273.tif 000024
【図２４】
0006422273.tif 000025
【図２５】
0006422273.tif 000026
【図２６】
0006422273.tif 000027
【図２７】
0006422273.tif 000028
【図２８】
0006422273.tif 000029