特許第6012876号(P6012876)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ルネサスエレクトロニクス株式会社の特許一覧

特許6012876ツインセルの記憶データをマスクして出力する半導体装置
<>
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000002
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000003
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000004
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000005
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000006
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000007
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000008
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000009
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000010
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000011
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000012
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000013
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000014
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000015
  • 特許6012876-ツインセルの記憶データをマスクして出力する半導体装置 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6012876
(24)【登録日】2016年9月30日
(45)【発行日】2016年10月25日
(54)【発明の名称】ツインセルの記憶データをマスクして出力する半導体装置
(51)【国際特許分類】
   G11C 16/04 20060101AFI20161011BHJP
   G11C 16/02 20060101ALI20161011BHJP
【FI】
   G11C17/00 623Z
   G11C17/00 601P
   G11C17/00 613
【請求項の数】11
【全頁数】31
(21)【出願番号】特願2015-532625(P2015-532625)
(86)(22)【出願日】2013年8月22日
(86)【国際出願番号】JP2013072359
(87)【国際公開番号】WO2015025391
(87)【国際公開日】20150226
【審査請求日】2016年3月3日
(73)【特許権者】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】田邉 憲志
【審査官】 滝谷 亮一
(56)【参考文献】
【文献】 特開2008−117510(JP,A)
【文献】 特開2009−272028(JP,A)
【文献】 特開2012−38383(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 16/04
G11C 16/02
(57)【特許請求の範囲】
【請求項1】
閾値電圧の相違によって2値データを保持し、それぞれが電気的に書換え可能な第1記憶素子と第2記憶素子とからなるツインセルを複数個含むメモリアレイと、
前記ツインセルの読出し要求を受けたときに、前記ツインセルを構成する第1記憶素子の閾値電圧が消去判定レベルよりも小さく、前記ツインセルを構成する第2記憶素子の閾値電圧が前記消去判定レベルよりも小さい場合には、前記ツインセルの記憶データをマスクして出力する出力回路とを備えた、半導体装置。
【請求項2】
前記出力回路は、前記ツインセルの読出し要求を受けたときに、前記ツインセルを構成する第1記憶素子の閾値電圧が消去判定レベルよりも小さく、前記ツインセルを構成する第2記憶素子の閾値電圧が前記消去判定レベルよりも小さい場合には、固定値を出力する、請求項1記載の半導体装置。
【請求項3】
前記出力回路は、前記ツインセルの読出し要求に応じて、
第1モードにおいて、前記第1記憶素子の閾値電圧に応じて第1のビット線に生じる電圧と、定電流源に接続されることによって第2のビット線に生じる電圧の差を増幅し、第2モードにおいて、前記第2記憶素子の閾値電圧に応じて前記第2のビット線に生じる電圧と、前記定電流源に接続されることによって前記第1のビット線に生じる電圧の差を増幅し、第3モードにおいて、前記第1記憶素子の閾値電圧に応じて前記第1のビット線に生じる電圧と、前記第2記憶素子の閾値電圧に応じて前記第2のビット線に生じる電圧の差を増幅する差動増幅部を含む、請求項1記載の半導体装置。
【請求項4】
前記半導体装置は、
前記第1記憶素子と接続される第3のビット線と、
前記第2記憶素子と接続される第4のビット線とを含み、
前記差動増幅部は、
前記第1のビット線と前記第2のビット線との電位差を増幅するアンプと、
前記第1モードにおいて、前記第1のビット線と前記第3のビット線とを接続し、前記第2モードにおいて、前記第2のビット線と前記第4のビット線とを接続し、前記第3モードにおいて、前記第1のビット線と前記第3のビット線とを接続し、かつ前記第2のビット線と前記第4のビット線とを接続する第1のスイッチと、
前記第1モードにおいて、前記定電流源と前記第2のビット線と接続し、前記第2モードにおいて、前記定電流源と前記第1のビット線と接続する第2のスイッチとを含む、請求項3記載の半導体装置。
【請求項5】
前記差動増幅部は、
前記アンプでの増幅後に前記第1のビット線の電圧を出力する第1の出力ドライバと、
前記アンプでの増幅後に前記第2のビット線の電圧を出力する第2の出力ドライバとを含む、請求項4記載の半導体装置。
【請求項6】
前記出力回路は、前記差動増幅部の出力を受けるデータ出力部を含み、
前記データ出力部は、
前記第1モードでの前記差動増幅部の出力を記憶する第1の記憶部と、
前記第2モードでの前記差動増幅部の出力を記憶する第2の記憶部と、
前記第3モードでの前記差動増幅部の出力を記憶する第3の記憶部と、
前記第1の記憶部に前記第1記憶素子の閾値電圧が前記消去判定レベルよりも小さいことを表わすデータが記憶され、前記第2の記憶部に前記第2記憶素子の閾値電圧が前記消去判定レベルよりも小さいことを表わすデータが記憶されている場合には、前記第3の記憶部に記憶されているデータをマスクしたデータを出力する出力制御回路とを含む、請求項5記載の半導体装置。
【請求項7】
前記出力回路は、
前記第1モードおよび前記第3モードにおいて、前記第1の出力ドライバの出力を第1の入力値、前記第2の出力ドライバの出力を第2の入力値として選択し、
前記第2モードにおいて、前記第2の出力ドライバの出力を前記第1の入力値、前記第1の出力ドライバの出力を前記第2の入力値として選択するセレクタを備え、
前記第1の記憶部、前記第2の記憶部、および前記第3の記憶部は、前記第1の入力値および前記第2の入力値に基づく値を記憶する、請求項6記載の半導体装置。
【請求項8】
前記半導体装置は、
前記半導体装置を制御するためのクロックを生成するクロックパルス生成器と、
前記出力回路を制御するための信号を生成する出力回路制御部とを備え、
前記出力回路制御部は、
前記ツインセルの読出要求が検知する検知回路と、
前記ツインセルの読出要求が検知されたときに、前記クロックパルス生成器で生成されたクロックよりも短い周期のカウンタクロックを生成するカウンタクロック生成回路と、
前記カウンタクロックの各立ち上りに基づいて第1のレベルに変化するカウント信号を複数個生成するカウント信号生成回路と、
前記生成された複数個のカウント信号に基づいて、前記第1のスイッチおよび前記第2のスイッチを制御する信号を生成する選択信号生成回路とを含む、請求項4記載の半導体装置。
【請求項9】
前記半導体装置は、
前記半導体装置を制御するためのクロックを生成するクロックパルス生成器と、
前記出力回路を制御するための信号を生成する出力回路制御部とを備え、
前記出力回路制御部は、
前記ツインセルの読出要求が検知する検知回路と、
前記ツインセルの読出要求が検知されたときに、前記クロックパルス生成器で生成されたクロックよりも短い周期のカウンタクロックを生成するカウンタクロック生成回路と、
前記カウンタクロックの各立ち上りに基づいて第1のレベルに変化するカウント信号を3個生成するカウント信号生成回路と、
前記第1の記憶部、前記第2の記憶部および第3の記憶部は、それぞれ前記生成された3個のカウント信号のうちの1つに基づいて、前記差動増幅部の出力をラッチする、請求項6記載の半導体装置。
【請求項10】
前記半導体装置は、さらに、
書込みベリファイ時において、書込み動作が選択されたツインセルの記憶情報が読み出された主ビット線の電圧を増幅するベリファイセンスアンプを備える、請求項1記載の半導体装置。
【請求項11】
閾値電圧の相違によって2値データを保持し、それぞれが電気的に書換え可能な第1記憶素子と第2記憶素子とからなるツインセルを複数個含むメモリアレイと、
前記ツインセルの読出し要求を受けたときに、前記ツインセルを構成する第1記憶素子の閾値電圧が消去判定レベルよりも小さく、前記ツインセルを構成する第2記憶素子の閾値電圧が前記消去判定レベルよりも小さい場合には、前記ツインセルの記憶データを読み出さない出力回路とを備えた、半導体装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置に関し、たとえば不揮発性メモリを含む半導体装置に関する。
【背景技術】
【0002】
従来から、2つのメモリセルに相補的なデータを書き込む半導体不揮発性メモリにおいて、ブランク・チェック機能を備えたものが知られている。
【0003】
たとえば、特開2009−272028号公報(特許文献1)に記載の半導体集積回路は、複数のツインセルを含む不揮発性メモリ(DFL;21)、セレクタ(SEL_BC)と、センス回路(BC_SA)を具備する。ツインセルの2つの不揮発性メモリセル(MC1、MC2)に相補データが書き込まれ、小さい閾値電圧と大きい閾値電圧の組み合わせの書き込み状態に設定される。2つの不揮発性メモリ(MC1、MC2)に非相補データが書き込まれ(消去という)、例えばともに小さい閾値電圧のブランク状態とされる。セレクタ(SEL_BC)は、複数のスイッチ素子を含む。ブランク・チェック動作の間にセレクタ(SEL_BC)のスイッチ素子がオン状態に制御されて、センス回路の第1入力端子に共通に流れる各ツインセルの第1総和電流が第2入力端子の参照信号と比較され、複数のツインセルが書き込み状態かブランク状態かが高速で検出される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−272028号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、消去によって、2つの不揮発性メモリ(MC1、MC2)の閾値電圧をともに低い状態にすることはできるが、消去前の書込み状態における2つの不揮発性メモリの閾値電圧の大小関係が、消去後も維持される可能性を否定できない。
【0006】
そのため、消去したにも関わらず、読出してみると消去前に書込まれていたデータと同じデータが読み出されてしまう場合があり、セキュリティ上問題となる可能性がある。
【0007】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかであろう。
【課題を解決するための手段】
【0008】
本発明の一実施形態の半導体装置では、出力回路は、ツインセルの読出し要求を受けたときに、ツインセルを構成する第1記憶素子の閾値電圧が消去判定レベルよりも小さく、ツインセルを構成する第2記憶素子の閾値電圧が消去判定レベルよりも小さい場合には、ツインセルの記憶データをマスクして出力する。
【発明の効果】
【0009】
本発明の一実施形態によれば、消去したにも関わらず、消去前の書込みデータが読み出されることが防止できる。
【図面の簡単な説明】
【0010】
図1】第1の実施形態の半導体装置の構成を表わす図である。
図2】第1の実施形態の半導体装置におけるメモリアレイからのツインセルデータの読出し処理の手順を表わすフローチャートである。
図3】第2の実施形態のマイクロコンピュータの構成を表わす図である。
図4】フラッシュメモリモジュールの構成を表わす図である。
図5】(a)は、スプリットゲート型フラッシュメモリ素子に与えるバイアス電圧の例を表わす図である。(b)は、ホットキャリア書込み方式を用いるスタックド・ゲート型フラッシュメモリ素子に与えるバイアス電圧の例を表わす図である。(c)は、はFNトンネル書込み方式を用いるスタックド・ゲート型フラッシュメモリ素子に与えるバイアス電圧の例を表わす図である。
図6】(a)は、ツインセルデータが“0”を記憶する状態を表わす図である。(b)は、ツインセルデータが“1”を記憶する状態を表わす図である。(c)は、ツインセルデータのイニシャライズ状態を表わす図である。
図7】ツインセルデータの読出し系及び書込み系の詳細な回路構成の例である。
図8】差動増幅部の構成を表わす図である。
図9】データ出力部の構成を表わす図である。
図10】出力回路制御部の構成を表わす図である。
図11】第1モードでの動作を説明するための図である。
図12】第2モードでの動作を説明するための図である。
図13】第3モードでの動作を説明するための図である。
図14】各種の制御信号が生成されるタイミングを説明するための図である。
図15】第3の実施形態の半導体装置におけるメモリアレイからのツインセルデータの読出し処理の手順を表わすフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、図面を用いて説明する。
[第1の実施形態]
図1は、第1の実施形態の半導体装置の構成を表わす図である。
【0012】
この半導体装置100は、メモリアレイ101と、出力回路105とを備える。
メモリアレイ101は、複数個のツインセル104を含む。ツインセル104は、閾値電圧Vthの相違によって2値データ(ツインセルデータ)を保持し、それぞれが電気的に書換え可能な第1記憶素子102と第2記憶素子103とからなる。
【0013】
出力回路105は、ツインセル104の読出し要求を受けたときに、第1記憶素子102の閾値電圧Vthが消去判定レベルよりも小さく、第2記憶素子103の閾値電圧Vthが消去判定レベルよりも小さい場合には、ツインセル104の記憶データをマスクしたデータを出力する。マスクしたデータとは、たとえば、ツインセル104の記憶データの値に依存しない値であって、固定値“1”または”0”、またはランダムな値である。ここでの消去判定レベルとは、書込み後のメモリセルの閾値が高い状態と区別できるような所定電圧レベルであり、特にツインセルの消去や個々のメモリセルの消去動作時に使用される消去判定レベルと全く同一の電圧値である必要はなく、類似の電圧値であれば良い。
【0014】
図2は、第1の実施形態の半導体装置におけるメモリアレイ10からのツインセルデータの読出し処理の手順を表わすフローチャートである。
【0015】
まず、出力回路105は、ツインセルデータの読出し要求信号RRQを受信する(ステップS101)。
【0016】
次に、出力回路105は、第1記憶素子102の記憶しているデータをビット線BLを通じて読み出すことによって、第1記憶素子102の閾値電圧Vthが消去判定レベルVREFよりも小さいか否か判定する(ステップS102)。
【0017】
次に、出力回路105は、第2記憶素子103の記憶しているデータをビット線/BLを通じて読み出すことによって、第2記憶素子103の閾値電圧Vthが消去判定レベルVREFよりも小さいか否か判定する(ステップS103)。
【0018】
次に、出力回路105は、ツインセル104の記憶しているデータをビット線対BL,/BLの差動増幅によって検出する(ステップS104)。
【0019】
出力回路105は、第1記憶素子102の閾値電圧Vthが消去判定レベルVREFよりも小さく、かつ第2記憶素子103の閾値電圧Vthが消去判定レベルVREFよりも小さい場合には(ステップS105でYES)、ツインセル104の記憶データをマスクしたデータを読出したデータとして出力する(ステップS106)。
【0020】
出力回路105は、第1記憶素子102の閾値電圧Vthが消去判定レベルVREF以上か、または第2記憶素子103の閾値電圧Vthが消去判定レベルVREF以上の場合には(ステップS105でNO)、ツインセル104の記憶しているデータをビット線対BL,/BLの差動増幅によって検出したデータを読出しデータとして出力する(ステップS107)。
【0021】
以上のように、本実施の形態によれば、ツインセルを構成する2つの記憶素子の閾値電圧が消去判定レベルよりも小さければ、ツインセルの記憶データがマスクされるので、消去前の書込みデータが読み出されるのを防止することができる。
【0022】
[第2の実施形態]
本実施の形態の半導体装置は、マイクロコンピュータである。
(マイクロコンピュータ)
図3は、第2の実施形態のマイクロコンピュータ1の構成を表わす図である。
【0023】
図3に示されるマイクロコンピュータ(MCU)1は、たとえば相補型MOS集積回路製造技術などによって、単結晶シリコンのような1個の半導体チップに形成される。
【0024】
マイクロコンピュータ1は、特に制限されないが、高速バスHBUSと周辺バスPBUSを有する。高速バスHBUSと周辺バスPBUSは、特に制限されないが、それぞれデータバス、アドレスバスおよびコントロールバスを有する。2個のバスを設けることによって、共通バスに全ての回路を共通接続する場合に比べてバスの負荷を軽くし、高速アクセス動作を保証することができる。
【0025】
高速バスHBUSには、命令制御部と実行部を備えて命令を実行する中央処理装置(CPU)2、ダイレクトメモリアクセスコントローラ(DMAC)3、高速バスHBUSと周辺バスPBUSとのバスインタフェース制御若しくはバスブリッジ制御を行うバスインタフェース回路(BIF)4が接続される。
【0026】
高速バスHBUSには、さらに、中央処理装置2のワーク領域などに利用されるランダムアクセスメモリ(RAM)5、およびデータやプログラムを格納する不揮発性メモリモジュールとしてのフラッシュメモリモジュール(FMDL)6が接続される。
【0027】
周辺バスPBUSには、フラッシュメモリモジュール(FMDL)6に対するコマンドアクセス制御を行うフラッシュシーケンサ(FSQC)7、外部入出力ポート(PRT)8,9、タイマ(TMR)10、およびマイクロコンピュータ1を制御するための内部のクロックCLKを生成するクロックパルスジェネレータ(CPG)11が接続される。
【0028】
さらに、マイクロコンピュータ1は、XTAL/EXTALに発振子が接続され、または外部クロックが供給されるクロック端子、スタンバイ状態を指示する外部ハードウェアスタンバイ端子STB、リセットを指示する外部リセット端子RES、外部電源端子VCC、外部接地端子Vssを備える。
【0029】
ここでは、ロジック回路としてのフラッシュシーケンサ7と、アレイ構成のフラッシュメモリモジュール6は、別CADツールを用いて設計されているため、便宜上別々の回路ブロックとして図示されているが、双方併せて一つのフラッシュメモリを構成する。フラッシュメモリモジュール6は、読出し専用の高速アクセスポート(HACSP)を介して高速バスHBUSに接続される。CPUまたはDMACは、高速バスHBUSから高速アクセスポートを介してフラッシュメモリモジュール6をリードアクセスすることができる。CPU2またはDMAC3は、フラッシュメモリモジュール6に対して書込みおよび初期化のアクセスを行うときは、バスインタフェース4を介して周辺バスPBUS経由でフラッシュシーケンサ7にコマンドを発行し、これによってフラッシュシーケンサ7が周辺バスPBUSから低速アクセスポート(LACSP)を通じてフラッシュメモリモジュールの初期化や書込み動作の制御を行う。
【0030】
(フラッシュメモリモジュール)
図4は、フラッシュメモリモジュール6の構成を表わす図である。
【0031】
フラッシュメモリモジュール6は、1ビットの情報の記憶を2個の不揮発性メモリセルを用いて行う。すなわち、メモリアレイ(MARY)19は、夫々書換え可能な2個の不揮発性メモリセルMC1,MC2を1ビットのツインセルとして複数個備える。図3には、代表的に1対だけ図示されている。本明細書では、メモリセルMC1をポジティブセル、メモリセルMC2をネガティブセルと呼ぶ。無論、フラッシュメモリモジュール6は、1ビットの情報の記憶を1個の不揮発性メモリセルを用いて行う複数のメモリセルを含む場合もある。そのような場合は、メモリセルは、メモリアレイや、メモリアレイより小さい単位で分割されたメモリブロック単位で、フラッシュメモリモジュール6内に別配置されることが多い。
【0032】
揮発性メモリセルMC1,MC2は、たとえば、図5(a)に例示されるスプリットゲート型フラッシュメモリ素子である。このメモリ素子は、ソース・ドレイン領域の間のチャネル形成領域の上にゲート絶縁膜を介して配置されたコントロールゲートCGとメモリゲートMGを有する。メモリゲートMGとゲート絶縁膜の間にはシリコンナイトライドなどの電荷トラップ領域(SiN)が配置される。選択ゲート側のソースまたはドレイン領域は、ビット線BLに接続され、メモリゲートMG側のソースまたはドレイン領域はソース線SLに接続される。
【0033】
メモリセルの閾値電圧Vthを下げるにはBL=Hi−Z(高インピーダンス状態)、CG=1.5V、MG=−10V、SL=6、WELL=0Vとし、ウェル領域(WELL)とメモリゲートMG間の高電界によって電荷トラップ領域(SiN)からウェル領域(WELL)に電子が引き抜かれる。この処理単位はメモリゲートを共有する複数メモリセルとされる。
【0034】
メモリセルの閾値電圧Vthを上げるにはBL=0V、CG=1.5V、MG=10V、SL=6、WELL=0Vとし、ソース線SLからビット線に書込み電流を流し、それによってコントロールゲートとメモリゲートの境界部分で発生するホットエレクトロンが電荷トラップ領域(SiN)に注入される。電子の注入はビット線電流を流すか否かによって決まるからこの処理はビット単位で制御される。
【0035】
読出しはBL=1.5V、CG=1.5V,MG=0V、SL=0V、WELL=0Vで行われる。メモリセルの閾値電圧Vthが低ければメモリセルはオン状態にされ、閾値電圧Vthが高ければオフ状態にされる。
【0036】
メモリ素子はスプリットゲート型フラッシュメモリ素子に限定されず、図5(b),図5(c)に例示されるスタックド・ゲート型フラッシュメモリ素子であってよい。このメモリ素子はソース・ドレイン領域の間のチャネル形成領域の上にゲート絶縁膜を介してフローティングゲートFGとコントロールゲートWLがスタックされて構成される。図5(b)はホットキャリア書込み方式によって閾値電圧Vthを上げ、ウェル領域WELLへの電子の放出によって閾値電圧Vthを下げる。図5(c)はFNトンネル書込み方式によって閾値電圧Vthを上げ、ビット線BLへの電子の放出によって閾値電圧Vthを下げる。
【0037】
以下の説明では、メモリ素子がスプリットゲート型フラッシュメモリ素子であるとして説明する。
【0038】
不揮発性メモリセルMC1,MC2から成る一つのツインセルによる情報記憶は不揮発性メモリセルMC1,MC2に相補データを格納することによって行う。
【0039】
すなわち、メモリセルMC1,MC2のそれぞれは、セルデータ“1”(低閾値電圧状態)またはセルデータ“0”(高閾値電圧状態)を保持することができる。
【0040】
メモリセルのセルデータ“1”とは、メモリセルの閾値電圧Vthが消去判定レベルVREF以上の状態である。メモリセルのセルデータ“0”とは、メモリセルの閾値電圧Vthが消去判定レベルVREFよりも小さい状態である。
【0041】
図6(a)に示すように、ツインセルデータ“0”は、ポジティブセルMC1がセルデータ“0”、ネガティブセルMC2がセルデータ“1”を保持する状態である。図6(b)に示すように、ツインセルデータ“1”は、ポジティブセルMC1がセルデータ“1”、ネガティブセルMC2がセルデータ“0”を保持する状態である。図6(c)に示すように、ツインセルのポジティブセルMC1およびネガティブセルMC2が共にセルデータ“1”を保持する状態はイニシャライズ状態であり、ツインセルデータは不定になる。
【0042】
ツインセルデータ“0”を消去した場合に、両方のセルがイニシャル状態となるが、消去前はポジティブセルMC1の閾値電圧Vthの方がネガティブセルMC2の閾値電圧Vthよりも大きいため、消去後でもこの関係が維持される可能性が想定される。この関係が維持された状態で読み出しを実施すると、イニシャル状態にも関わらずポジティブセルMC1とネガティブセルMC2の閾値電圧Vthに差があるために、不定値ではなく実質的に直前のツインセルデータ“0”と等しいデータ“0”を読み出してしまう可能性がある。
【0043】
同様に、ツインセルデータ“1”を消去した場合に、両方のセルがイニシャル状態となるが、消去前はネガティブセルMC2の閾値電圧Vthの方がポジティブセルMC1の閾値電圧Vthよりも大きいため、消去後でもこの関係が維持される可能性が想定される。この直前のツインセルデータ状態で読み出しを実施すると、イニシャル状態にも関わらず、ポジティブセルMC1とネガティブセルMC2の閾値電圧Vthに差があるために、不定値ではなく実質的に直前のツインセルデータ“1”と等しいデータ“1”を読み出してしまう可能性がある。
【0044】
このように消去したにも関わらず、読む度にデータが定まらないような不定値ではなく、高い確率で直前のツインセルデータと等しいデータが読み出せてしまうとしたら、セキュリティ上問題となる可能性がある。本発明の実施形態では、このような可能性のある問題を解決することを目的とする。
【0045】
図4に代表的に示されたツインセルのメモリセルMC1,MC2において、メモリゲートMGは、共通のメモリゲート選択線MGLに接続され、コントロールゲートCGは共通のワード線WLに接続される。実際には多数のツインセルがマトリクス配置され、行方向の配列単位で対応するメモリゲート選択線MGLおよびワード線WLに接続される。
【0046】
メモリセルMC1,MC2は、列単位で副ビット線SBLに接続され、副ビット線セレクタ20を介して書込み系主ビット線WMBLに接続する。それぞれ書込み系主ビット線WMBLには、複数の副ビット線SBLが副ビット線セレクタ20によって階層化されて接続されている。副ビット線SBLに階層化された単位をメモリマットと称する。ソース線SLは接地電位Vssに接続される。メモリセルMC1の副ビット線SBLは、メモリマット毎に読出し列セレクタ22を介して、差動増幅部50の一方の入力端子に接続される。メモリセルMC2の副ビット線SBLは、メモリマット毎に読出し列セレクタ22を介して差動増幅部50の他方の入力端子に接続される。
【0047】
ワード線WLは、第1行デコーダ(RDEC1)24によって選択される。メモリゲート選択線MGLおよび副ビット線セレクタ20は、第2行デコーダ(RDEC2)25によって選択される。第1行デコーダ24および第2行デコーダ25による選択動作は、読出しアクセスではHACSPに供給されるアドレス情報などに従い、データの書込み動作および初期化動作ではLACSPに供給されるアドレス情報などに従う。
【0048】
差動増幅部50の出力は、データ出力部52を介して高速バスHBUSのデータバスHBUS_D(DBUS)に接続される。
【0049】
出力回路制御部46は、差動増幅部50およびデータ出力部52を制御するための信号を生成して供給する。
【0050】
書込み系主ビット線WMBLは、書込みデータラッチ回路27のラッチデータに従って選択的に書込み電流が流れるようにされる。書込みデータラッチ回路27は、書換え列セレクタ28で選択される。書換え列セレクタ28で選択された書き換え系主ビット線WMBLは、ベリファイセンスアンプVSAに接続される。ベリファイセンスアンプVSAの出力および書込みデータラッチ回路27は、周辺バスPBUSのデータバス(PBUS_D)にインタフェースされる入出力回路(IOBUF)29に接続する。
【0051】
書換え列セレクタ28は、列デコーダ(CDEC)30によって選択される。列デコーダ30の選択動作は、LACSPに供給されるアドレス情報などに従う。
【0052】
電源回路(VPG)31は、読出し、書込み、初期化に必要な各種動作電源を生成する。
タイミングジェネレータ(TMG)32は、CPU2等からHACSPに供給されるアクセスストローブ信号、FSQC7からLACSPに供給されるアクセスコマンド等に従って、内部動作タイミングを規定する内部制御信号を生成する。
【0053】
フラッシュメモリの制御部は、FSQC7とタイミングジェネレータ32によって構成される。
【0054】
(ツインセルデータの読出し)
図7には、ツインセルデータの読出し系及び書込み系の詳細な回路構成が例示される。書込み系主ビット線としてWMBL_0P〜WMBL_3P、WMBL_0N〜WMBL_3Nの8本が例示され、そこに接続するメモリマットとして1個のメモリマットが例示される。特に制限されないが、副ビット線としてSBL_0P〜SBL_7P、SBL_0N〜SBL_7Nが配置され、1本の書込み系主ビット線に対して2本の副ビット線が割り当てられる。
【0055】
メモリセルMC1,MC2については図示を省略してある副ビット線に付された参照符号における数字のサフィックスはツインセルの列番号を意味する。アルファベットのサフィックスPはツインセルの一方のメモリセルMC1(ポジティブセル)に接続する副ビット線であることを意味し、サフィックスNはツインセルの他方のメモリセルMC2(ネガティブセル)に接続する副ビット線であることを意味する。書込み主ビット線に付された参照符号におけるアルファベットのサフィックスPはツインセルのポジティブセルMC1に接続する書込み主ビット線であることを意味し、サフィックスNはツインセルのネガティブセルMC2に接続する書込み主ビット線であることを意味し、数字のサフィックスは対応するツインセルの列番号のうち若い方の列番号を意味する。
【0056】
読出し列セレクタ22をスイッチ制御するリード選択信号YR0N〜YR7Nはツインセルの列番号が等しい一対の副ビット線を選択し、選択したポジティブセルMC1側の副ビット線をポジティブ側共通ビット線CBLPを通じて出力回路48に接続し、ネガティブセルMC2側の副ビット線をネガティブ側共通ビット線CBLNを通じて出力回路48に接続する。
【0057】
出力回路48は、ツインセルデータの読出要求を受けたときには、第1モード、第2モード、第3モードの処理を順番に実行する。出力回路48は、第1モードでは、ポジティブセルMC1の閾値電圧Vthが消去判定レベルVREFよりも小さいか否かを判定するための処理を行なう。出力回路48は、第2モードでは、ネガティブセルMC2の閾値電圧Vthが消去判定レベルVREFよりも小さいか否かを判定するための処理を行なう。出力回路48は、第3モードでは、ツインセル(MC1,MC2)が記憶しているデータを判定する。出力回路48は、ポジティブセルMC1の閾値電圧Vthが消去判定レベルVREFよりも小さく、かつネガティブセルMC2の閾値電圧Vthが消去判定レベルVREFよりも小さいときには、判定したツインセル(MC1,MC2)が記憶しているデータをマスクしたデータを出力する。
【0058】
出力回路48は、差動増幅部50と、データ出力部52とを備える。
差動増幅部50は、第1モードにおいて、ポジティブセルMC1の閾値電圧Vthに応じて第1のビット線に生じる電圧と、定電流源に接続されることによって第2のビット線に生じる電圧の差を増幅する。
【0059】
差動増幅部50は、第2モードにおいて、ネガティブセルMC2の閾値電圧Vthに応じて第2のビット線に生じる電圧と、定電流源に接続されることによって第1のビット線に生じる電圧の差を増幅する。
【0060】
差動増幅部50は、第モードにおいて、ポジティブセルMC1の閾値電圧Vthに応じて第1のビット線に生じる電圧と、ネガティブセルMC2の閾値電圧Vthに応じて第2のビット線に生じる電圧の差を増幅する。
【0061】
第1のビット線と第2のビット線の電圧は、それぞれグローバル読出ビット線対GBLr,/GBLrを通じてデータ出力部52へ送られる。
【0062】
データ出力部52は、グローバル読出ビット線対GBLr,/GBLrのデータを受ける。データ出力部52は、第1モードでの結果を表わすデータと、第2モードでの結果を表わすデータと、第3モードでの結果を表わすデータを記憶する。データ出力部52は、第1モードの結果がポジティブセルMC1の閾値電圧Vthが消去判定レベルVREFよりも小さく、かつ第2モードでの結果がネガティブセルMC2の閾値電圧Vthが消去判定レベルVREFよりも小さい場合には、第3のモードでの結果をマスクしたデータを出力する。
【0063】
読出し系ディスチャージ回路40は、ディスチャージ信号DCR0、DCR1によって副ビット線SBLを選択的に接地電位Vssに接続する回路であり、副ビット線セレクタ20により非選択とされる副ビット線を接地電位Vssに接続する。
【0064】
(ツインセルデータの書込み)
書込みデータラッチ回路27は、信号BLKCIによるリセット機能を有するスタティックラッチLTP,LTNと、書込みパルスWPLSのパルス幅に応じて書込み電流を流すための電流スイッチPSWP,PSWNと、スタティックラッチLTの反転記憶ノードの値にしたがって主ビット線と電流スイッチPSWP,PSWNとを選択的に接続する書込み選択スイッチSSWを有する。
【0065】
ポジティブセルMC1に割り当てられる主ビット線に対応するスタティックラッチLTPにはデータバスPBUS_Dから非反転信号線PSLに供給された書込みデータが書換え列セレクタ28で選択されて供給される。ネガティブセルMC2に割り当てられる主ビット線に対応するスタティックラッチLTNにはデータバスPBUS_Dから反転信号線NSLに供給された反転書込みデータが書換え列セレクタ28で選択されて供給される。ENDTは信号線PSL,NSLへの書込みデータの入力ゲート信号である。
【0066】
ポジティブセルMC1に割り当てられる主ビット線は書換え列セレクタ28を介して非反転ベリファイ信号線PVSLに共通接続される。ネガティブセルMC2に割り当てられる主ビット線は書換え列セレクタ28を介して反転ベリファイ信号線NVSLに共通接続される。
【0067】
書換え列セレクタ28をスイッチ制御するライト選択信号YW0〜YW3はツインセルの列番号が等しい一対の主ビット線を信号線PSL,NSLに接続し、また、それに対応するスタティックラッチLTP,LTNを信号線PSL,NSLに接続する。
【0068】
書込み動作においてデータバスPBUS_Dから入力された書込みデータは相補データとして信号線PSL,NSLに入力され、書換え列セレクタ28で選択される一対のスタティックラッチLTP,LTNにラッチされる。スタティックラッチLTP,LTNの一方はデータ“1”、他方はデータ“0”をラッチする。ラッチデータ“1”に対応する主ビット線にはソース線からの書込み電流が流れず、ラッチデータ“0”に対応する主ビット線にはソース線からの書込み電流が流れ、これによって、選択されたツインセルの一方のメモリセルにはセルデータ“0”が書込まれ、他方のメモリセルにはセルデータ“1”が書込まれる。
【0069】
書込みベリファイにおいては、書込み動作が選択されたツインセルの記憶情報を対応する一対の主ビット線に読出して書換え列セレクタ28でベリファイ信号線PVSL,NVSLに伝達し、シングルエンドで反転増幅出力を得るベリファイセンスアンプVSA_P,VSA_Nで増幅する。また、書込み動作において書込みデータが格納されたスタティックラッチLTP,LTNの保持データを同じく書換え列セレクタ28で信号線PSL,NSLに伝達する。ベリファイセンスアンプVSA_Pの出力と信号線PSLの非反転書込みデータの一致を排他的論理和ゲートEXOR_Pで調べることによってポジティブセルのデータ書込み状態を検証することができる。同様に、ベリファイセンスアンプVSA_Nの出力と信号線NSLの反転書込みデータの一致を排他的論理和ゲートEXOR_Nで調べることによってネガティブセルMC2のデータ書込み状態を検証することができる。排他的論理和ゲートEXR_P,EXOR_Nの出力に対してアンドゲートANDで論理積を採り、その論理積の結果が1ビットの書込みデータに対する書込みベリファイ結果VRSLTになる。書込みデータが複数ビットの場合には複数ビット分の排他的論理和ゲートの全ての出力に対して論理積を採ってベリファイ結果を得ることになる。ベリファイ結果VRSLTはフラッシュシーケンサ7に供給される。
【0070】
また、ベリファイセンスアンプVSA_P,VSA_Nの出力はデータセレクタSELを介して選択的に周辺データバスPBUS_Dに出力可能になっている。この読出し経路は、ツインセルに記憶されたネガティブセルMC2の記憶情報またはポジティブセルMC1の記憶情報をシングルエンド増幅して周辺データバスPBUS_Dに出力する読出し経路になる。
【0071】
書込み系ディスチャージ回路41は、ディスチャージ信号DCW0、DCW1によって書込み用主ビット線WMBLを選択的に接地電位Vssに接続する回路であり、書換え列セレクタ28により非選択とされる書込み用主ビット線WBMLを接地電位Vssに接続する。
【0072】
(差動増幅部)
図8は、差動増幅部50の構成を表わす図である。
【0073】
差動増幅部50は、スイッチ82と、プリチャージ部83と、定電流源81と、スイッチ84と、センスアンプ79と、正相出力ドライバ77と、逆相出力ドライバ78とを含む。
【0074】
スイッチ82は、PチャネルMOS(Metal-Oxide-Semiconductor)トランジスタP1,P2を含む。
【0075】
PチャネルMOSトランジスタP1は、ポジティブ側共通ビット線CBLPの一端とポジティブ側局所ビット線(第1のビット線)LBPの一端との間に設けられ、ポジティブ側判定選択信号YRPを受けるゲートを有する。PチャネルMOSトランジスタP2は、ネガティブ側共通ビット線CBLNの一端とネガティブ側局所ビット線LBN(第2のビット線)の一端との間に設けられ、ネガティブ側判定選択信号YRNを受けるゲートを有する。
【0076】
プリチャージ部83は、PチャネルMOSトランジスタP3,P4を含む。
PチャネルMOSトランジスタP3は、ポジティブ側局所ビット線LBPと電圧FVDDの電源との間に設けられ、ポジティブプリチャージ信号PCP1を受けるゲートを有する。PチャネルMOSトランジスタP4は、ネガティブ側局所ビット線LBNと電圧FVDDの電源との間に設けられ、ネガティブプリチャージ信号PCN1を受けるゲートを有する。
【0077】
定電流源81は、サイズの大きなNチャネルMOSトランジスタN3を含む。NチャネルMOSトランジスタN3は、ノードND1と接地電位Vssのラインとの間に設けられ、定電圧CCBを受けるゲートを有する。定電圧CCBが供給されたときに、NチャネルMOSトランジスタN3には、定電流IRRFが流れる。
【0078】
定電流源81を設けた理由について説明する。ワード線WLが選択レベルにされたとき、閾値電圧Vthが消去判定レベルVREF以上のメモリセルはオフ状態にされ、このメモリセルが接続された副ビット線SBLはプリチャージ電位を維持する。一方、ワード線WLが選択レベルとされたとき、閾値電圧Vthが消去判定レベルVREFよりも小さいメモリセルはオン状態にされ、このメモリセルが接続された副ビット線SBLは接地電位に向けてディスチャージされる。したがって、この相違をビット線上の電位の差としてセンスアンプ79で検出可能にする為に定電流源81が設けられる。
【0079】
スイッチ84は、PチャネルMOSトランジスタP5と、PチャネルMOSトランジスタP6とを備える。
【0080】
PチャネルMOSトランジスタP5は、ノードND1と、ポジティブ側局所ビット線LBPとの間に設けられ、正相側バイアス接続信号CCSPを受けるゲートを有する。PチャネルMOSトランジスタP6は、ノードND1と、ネガティブ側局所ビット線LBNとの間に設けられ、逆相側バイアス接続信号CCSNを受けるゲートを有する。
【0081】
第1モードでは、ポジティブ側判定選択信号YRPが「L」レベルに活性化され、ネガティブ側判定選択信号YRNが「H」レベルに非活性化され、正相側バイアス接続信号CCSPが「H」レベルに非活性化され、逆相側バイアス接続信号CCSNが「L」レベルに活性化される。その結果、ポジティブ側局所ビット線LBPがポジティブ側共通ビット線CBLPと接続し、さらに選択されたポジティブセル側の副ビット線SBL_iP(第3のビット線)と接続し、ネガティブ側局所ビット線LBNが定電流源81と接続する。
【0082】
第2モードでは、ポジティブ側判定選択信号YRPが「H」レベルに非活性化され、ネガティブ側判定選択信号YRNが「L」レベルに活性化され、正相側バイアス接続信号CCSPが「L」レベルに活性化され、逆相側バイアス接続信号CCSNが「H」レベルに非活性化される。その結果、ポジティブ側局所ビット線LBPが定電流源81と接続し、ネガティブ側局所ビット線LBNがネガティブ側共通ビット線CBLNと接続し、さらに選択されたネガティブセル側の副ビット線SBL_iN(第4のビット線)と接続する。
【0083】
第3モードでは、ポジティブ側判定選択信号YRPが「L」レベルに活性化され、ネガティブ側判定選択信号YRNが「L」レベルに活性化され、正相側バイアス接続信号CCSPが「H」レベルに非活性化され、逆相側バイアス接続信号CCSNが「H」レベルに非活性化される。その結果、ポジティブ側局所ビット線LBPがポジティブ側共通ビット線CBLPと接続し、さらに選択されたポジティブセル側の副ビット線SBL_iP(第3のビット線)と接続する。ネガティブ側局所ビット線LBNがネガティブ側共通ビット線CBLNと接続し、さらに選択されたネガティブセル側の副ビット線SBL_iN(第4のビット線)と接続する。
【0084】
センスアンプ79は、PチャネルMOSトランジスタP11とNチャネルMOSトランジスタN11で構成されるインバータIVPと、PチャネルMOSトランジスタP12とNチャネルMOSトランジスタN12で構成されるインバータIVNと、PチャネルMOSトランジスタP20とを備える。
【0085】
インバータIVPの入力であるPチャネルMOSトランジスタP11とNチャネルMOSトランジスタN11の間のノードND2は、ポジティブ側局所ビット線LBPに接続される。インバータIVNの入力であるPチャネルMOSトランジスタP12とNチャネルMOSトランジスタ12の間のノードND3は、ネガティブ側局所ビット線LBNに接続される。PチャネルMOSトランジスタP20は、ノードND4と接地電位Vssのラインの間に設けられ、センスラッチ信号SLATを受けるゲートを有する。インバータIVPの出力がインバータIVNの入力に接続され、インバータIVNの出力がインバータIVPの入力に接続される。
【0086】
センスラッチ信号SLATが「H」に設定されると、PチャネルMOSトランジスタ20がオンとなり、インバータIVPおよびインバータIVNによって、ノードND2の電圧とノードND3の電圧の差が増幅される。
【0087】
正相出力ドライバ77は、インバータIV3と、NOR回路LC3と、PチャネルMOSトランジスタP7,P8、NチャネルMOSトランジスタN8とを備える。
【0088】
インバータIV3は、センスラッチ信号SLATを受ける。NOR回路LC3は、インバータIV3の出力を受ける一方の入力端子と、ポジティブ側局所ビット線LBPと接続される他方の入力端子とを有する。電圧VDDの電源と接地電位Vssとの間に、PチャネルMOSトランジスタP7、PチャネルMOSトランジスタP8、およびNチャネルMOSトランジスタN8が設けられる。PチャネルMOSトランジスタP8のゲートおよびNチャネルMOSトランジスタN8のゲートは、NOR回路LC3の出力と接続される。PチャネルMOSトランジスタP7のゲートは、インバータIV3の出力と接続される。
【0089】
正相出力ドライバ77は、センスラッチ信号SLATが「H」レベル、かつポジティブ側局所ビット線LBPが「L」レベルのときに、正相グローバル読出ビット線GBLrのレベルを「L」レベルに設定する。正相出力ドライバ77は、センスラッチ信号SLATが「H」レベル、かつポジティブ側局所ビット線LBPが「L」レベルのときに、正相グローバル読出ビット線GBLrのレベルを「L」レベルに設定する。正相出力ドライバ77は、センスラッチ信号SLATが「H」レベル、かつポジティブ側局所ビット線LBPが「H」レベルのときに、正相グローバル読出ビット線GBLrのレベルを「H」レベルに設定する。正相出力ドライバ77は、センスラッチ信号SLATが「H」レベルのときには、正相グローバル読出ビット線GBLrをハイ・インピーダンス状態する。
【0090】
逆相出力ドライバ78は、インバータIV4と、NOR回路LC4と、PチャネルMOSトランジスタP9,P10、NチャネルMOSトランジスタN10とを備える。
【0091】
インバータIV4は、センスラッチ信号SLATを受ける。NOR回路LC4は、インバータIV4の出力を受ける一方の入力端子と、ネガティブ側局所ビット線LBNと接続される他方の入力端子とを有する。電圧VDDの電源と接地電位Vssとの間に、PチャネルMOSトランジスタP9、PチャネルMOSトランジスタP10、およびNチャネルMOSトランジスタN10が設けられる。PチャネルMOSトランジスタP10のゲートおよびNチャネルMOSトランジスタN10のゲートは、NOR回路LC4の出力と接続される。PチャネルMOSトランジスタP9のゲートは、インバータIV4の出力と接続される。
【0092】
逆相出力ドライバ78は、センスラッチ信号SLATが「H」レベル、かつネガティブ側局所ビット線LBNが「L」レベルのときに、逆相グローバル読出ビット線/GBLrのレベルを「L」レベルに設定する。逆相出力ドライバ78は、センスラッチ信号SLATが「H」レベル、かつネガティブ側局所ビット線LBNが「L」レベルのときに、逆相グローバル読出ビット線/GBLrのレベルを「L」レベルに設定する。逆相出力ドライバ78は、センスラッチ信号SLATが「H」レベル、かつネガティブ側局所ビット線LBNが「H」レベルのときに、逆相グローバル読出ビット線/GBLrのレベルを「H」レベルに設定する。逆相出力ドライバ78は、センスラッチ信号SLATが「H」レベルのときには、逆相グローバル読出ビット線/GBLrをハイ・インピーダンス状態する。
【0093】
(データ出力部)
図9は、データ出力部52の構成を表わす図である。
【0094】
データ出力部52は、プリチャージ部91と、データセレクタSELと、インバータIV1,IV2と、RSフリップフロップRSと、フリップフロップFF1,FF2,FF3と、出力制御回路99とを備える。出力制御回路99は、AND回路LC1と、OR回路LC2とを含む。
【0095】
プリチャージ部91は、PチャネルMOSトランジスタP13と、PチャネルMOSトランジスタP14とを含む。
【0096】
PチャネルMOSトランジスタP13は、電圧VDDの電源と正相グローバル読出ビット線GBLrとの間に設けられ、グローバル読出ビット線プリチャージ信号GBLPCを受けるゲートを有する。
【0097】
PチャネルMOSトランジスタP14は、電圧VDDの電源と逆相グローバル読出ビット線/GBLrとの間に設けられ、グローバル読出ビット線プリチャージ信号GBLPCを受けるゲートを有する。
【0098】
データセレクタSELは、セレクト信号SELABに基づいて、正相グローバル読出ビット線GBLrと逆相グローバル読出ビット線/GBLrを、インバータIV1とインバータIV2のいずれに接続するかを切り替える。セレクト信号SELABは、出力回路制御部46によって、第1モードと第3モードにおいて「H」レベルに設定され、第2モードにおいて「L」レベルに設定される。
【0099】
データセレクタSELは、セレクト信号SELABが「H」レベルのときには、正相グローバル読出ビット線GBLrをインバータIV1の入力に接続し、逆相グローバル読出ビット線/GBLrをインバータIV2の入力に接続する。
【0100】
データセレクタSELは、セレクト信号SELABが「L」レベルのときには、正相グローバル読出ビット線GBLrをインバータIV2の入力に接続し、逆相グローバル読出ビット線/GBLrをインバータIV1の入力に接続する。
【0101】
RSフリップフロップRSは、インバータIV1の出力を受けるセット端子Sと、インバータIV2の出力を受けるリセット端子Rと、フリップフロップFF1,FF2,FF3の入力端子と接続される出力端子Qとを有する。出力端子Qから読出しデータrdataが出力される。
【0102】
第1モードと第3モードにおいて、正相グローバル読出ビット線GBLrが「L」レベル、かつ逆相グローバル読出ビット線/GBLrが「H」レベルの場合、および第2モードにおいて、正相グローバル読出ビット線GBLrが「H」レベル、かつ逆相グローバル読出ビット線/GBLrが「L」レベルの場合には、インバータIV1の出力が「H」レベルで、かつインバータIV2の出力が「L」レベルとなる。インバータIV1の出力が「H」レベルで、かつインバータIV2の出力が「L」レベルのときには、出力端子Qから出力される読出しデータrdataが「H」レベルとなる。
【0103】
第1モードと第3モードにおいて、正相グローバル読出ビット線GBLrが「H」レベル、かつ逆相グローバル読出ビット線/GBLrが「L」レベルの場合、および第2モードにおいて、正相グローバル読出ビット線GBLrが「L」レベル、かつ逆相グローバル読出ビット線/GBLrが「H」レベルの場合には、インバータIV1の出力が「L」レベルで、かつインバータIV2の出力が「H」レベルとなる。インバータIV1の出力が「L」レベルで、かつインバータIV2の出力が「H」レベルのときには、出力端子Qから出力される読出しデータrdataが「L」レベルとなる。
【0104】
フリップフロップFF1は、カウント信号cnt2の立ち上がりのタイミングで、読出しデータrdataをラッチする。カウント信号cnt2は、第1モードが終了し第2モードが開始するタイミングt1で「H」レベルに立ち上るので、第1モードの読出しデータrdataが、フリップフロップFF1でラッチされる。第1モードにおいて、正相グローバル読出ビット線GBLrが「L」レベル、かつ逆相グローバル読出ビット線/GBLrが「H」レベルの場合(つまり、ポジティブ側のメモリセルMC1の閾値電圧Vthが消去判定レベルVREFよりも小さい場合)に、フリップフロップFF1は、「H」レベルをラッチする。また、第1モードにおいて、正相グローバル読出ビット線GBLrが「H」レベル、かつ逆相グローバル読出ビット線/GBLrが「L」レベルの場合に(つまり、ポジティブ側のメモリセルMC1の閾値電圧Vthが消去判定レベルVREF以上の場合)に、フリップフロップFF1は、「L」レベルをラッチする。
【0105】
フリップフロップFF2は、カウント信号cnt3の立ち上がりのタイミングで、読出しデータrdataをラッチする。カウント信号cnt3は、第2モードが終了し第3モードが開始するタイミングt2で「H」レベルに立ち上るので、第2モードの読出しデータrdataが、フリップフロップFF2でラッチされる。第2モードにおいて、正相グローバル読出ビット線GBLrが「H」レベル、かつ逆相グローバル読出ビット線/GBLrが「L」レベルの場合(つまり、ネガティブ側のメモリセルMC2の閾値電圧Vthが消去判定レベルVREFよりも小さい場合)に、フリップフロップFF2は、「H」レベルをラッチする。また、第2モードにおいて、正相グローバル読出ビット線GBLrが「L」レベル、かつ逆相グローバル読出ビット線/GBLrが「H」レベルの場合に(つまり、ネガティブ側のメモリセルMC2の閾値電圧Vthが消去判定レベルVREF以上の場合)に、フリップフロップFF2は、「L」レベルをラッチする。
【0106】
フリップフロップFF3は、カウント信号cnt4の立ち上がりのタイミングで、読出しデータrdataをラッチする。カウント信号cnt4は、第3モードが終了するタイミングt3で「H」レベルに立ち上るので、第3モードの読出しデータrdataが、フリップフロップFF3でラッチされる。第3モードにおいて、正相グローバル読出ビット線GBLrが「L」レベル、かつ逆相グローバル読出ビット線/GBLrが「H」レベルの場合(つまり、ポジティブ側のメモリセルMC1の閾値電圧Vthがネガティブ側のメモリセルMC2の閾値電圧Vthよりも小さい場合)に、フリップフロップFF3は、「H」レベルをラッチする。また、第3モードにおいて、正相グローバル読出ビット線GBLrが「H」レベル、かつ逆相グローバル読出ビット線/GBLrが「L」レベルの場合に(つまり、ポジティブ側のメモリセルMC1の閾値電圧Vthがネガティブ側のメモリセルMC2の閾値電圧Vth以上の場合)に、フリップフロップFF3は、「L」レベルをラッチする。
【0107】
AND回路LC1は、フリップフロップFF1の出力とフリップフロップFF2の出力の論理積を出力する。つまり、第1モードにおいて、正相グローバル読出ビット線GBLrが「L」レベル、かつ逆相グローバル読出ビット線/GBLrが「H」レベルであり、第2モードにおいて、正相グローバル読出ビット線GBLrが「H」レベル、かつ逆相グローバル読出ビット線/GBLrが「L」レベルの場合に、AND回路LC1の出力が「H」レベルとなる。つまり、ネガティブ側のメモリセルMC2の閾値電圧Vthが消去判定レベルVREFよりも小さく、かつポジティブ側のメモリセルMC1の閾値電圧Vthが消去判定レベルVREFよりも小さい場合に、AND回路LC1の出力が「H」レベルとなる。ネガティブ側のメモリセルMC2の閾値電圧Vthが消去判定レベルVREF以上、およびポジティブ側のメモリセルMC1の閾値電圧Vthが消去判定レベルVREF以上の少なくとも1つが満たされる場合に、AND回路LC1の出力が「L」レベルとなる。
【0108】
OR回路LC2は、フリップフロップFF3の出力とAND回路LC1の出力との論理和をデータバスDBUS(高速バスHBUSのデータバスHBUS_D)へ出力する。つまり、AND回路LC1の出力が「H」レベルの場合には、フリップフロップFF3の出力のレベルに係わりなく、「H」レベルがデータバスDBUSへ出力される。すなわち、フリップフロップFF3の出力(つまり、第3モードの読出しデータ)がマスクされる。言い換えると、フリップフロップFF3の出力がデータバスDBUSに伝達されず、データバスDBUSは代わりの所定値となる。なお、OR回路LC2に代わる論理回路を設けることによって、AND回路LC1の出力が「H」レベルの場合には、フリップフロップFF3の出力のレベルに係わりなく、「L」レベルがデータバスDBUSへ出力されるものとしてもよい。
【0109】
AND回路LC1の出力が「L」レベルの場合には、フリップフロップFF3の出力(つまり、第3モードの読出しデータ)がデータバスDBUSへ出力される。
【0110】
(出力回路制御部)
図10は、出力回路制御部46の構成を表わす図である。
【0111】
出力回路制御部46は、読出要求検知回路71と、カウンタクロック生成回路76と、カウント信号生成回路72と、ポジティブ/ネガティブ選択信号生成回路75と、制御用信号生成回路73とを備える。
【0112】
読出要求検知回路71は、インバータIV5と、AND回路LC3と、フリップフロップFF10と、遅延回路DL1とを備える。
【0113】
インバータIV5は、出力回路制御部46からモジュール選択信号MSROMNを受ける。AND回路LC3は、インバータIV5の出力と、出力回路制御部46からの読出要求信号BSRDYの論理積を出力する。フリップフロップFF10は、クロックパルスジェネレータ11から送られるクロックCLKの立ち上りのタイミングで、AND回路LC3の出力をラッチする。フリップフロップFF10の出力信号が読出リセット信号r_rstである。フリップフロップFF1は、遅延回路DL1の出力によってリセットされる。遅延回路DL1は、読出リセット信号r_rstを時間d1だけ遅延させて、フリップフロップFF10のリセット端子に入力する。
【0114】
読出要求検知回路71によって、モジュール選択信号MSROMNが「L」レベル、読出要求信号BSRDYが「H」レベルのときに、読出要求を検知し、クロックCLKの立ち上りのタイミングで、読出リセット信号r_rstが「H」レベルとなり、遅延回路DL1での遅延時間d1が経過した後、読出リセット信号r_rstは「L」レベルに戻る。
【0115】
カウンタクロック生成回路76は、遅延回路DL2と、フリップフロップFF4と、インバータIV6と、AND回路LC4とを備える。
【0116】
遅延回路DL2は、読出リセット信号r_rstを時間d2だけ遅延させる。フリップフロップFFは、読出リセット信号r_rstによってリセットされる。フリップフロップFF4は、遅延回路DL2の出力の立ち上りのタイミングで、電圧VDD(「H」レベル)をラッチする。インバータIV6は、センスラッチ信号SLATを受ける。AND回路LC4は、インバータIV6の出力と、フリップフロップFF4の出力との論理積をカウンタクロックc_clkとして出力する。
【0117】
カウンタクロック生成回路76によって、読出リセット信号r_rstの立ち上りのタイミングよりも遅延回路DL2での遅延時間d2だけ遅れたタイミングで、カウンタクロックc_clkが立ち上る。その後、センスラッチ信号SLATの立ち上りのタイミングで、カウンタクロックc_clkが立ち下り、センスラッチ信号SLATの立ち下がりのタイミングで、カウンタクロックc_clkが立ち上がる。
【0118】
カウント信号生成回路72は、複数段のフリップフロップFF5,FF6,FF7,FF8を備える。
【0119】
フリップフロップFF5,FF6,FF7,FF8は、読出リセット信号r_rstによってリセットされる。フリップフロップFF5,FF6,FF7,FF8の出力は、それぞれカウント信号cnt1,cnt2,cnt3,cnt4である。カウント信号cnt1〜cnt4のレベルによって第1〜第3モードが定まる。
【0120】
フリップフロップFF5は、カウンタクロックc_clkの立ち上りのタイミングで、電圧VDD(「H」レベル)をラッチする。フリップフロップFF6は、カウント信号cnt1が「H」レベルのときに、カウンタクロックce_clkの立ち上りのタイミングで、カウント信号cnt1(「H」レベル)をラッチする。フリップフロップFF7は、カウント信号cnt2が「H」レベルのときに、カウンタクロックc_clkの立ち上りのタイミングで、カウント信号cnt2(「H」レベル)をラッチする。フリップフロップFF8は、カウント信号cnt3が「H」レベルのときに、カウンタクロックc_clkの立ち上りのタイミングで、カウント信号cnt3(「H」レベル)をラッチする。
【0121】
ポジティブ/ネガティブ選択信号生成回路75は、OR回路LC5と、AND回路LC6と、AND回路LC7とを備える。OR回路LC5は、カウント信号cnt2の反転信号とカウント信号cnt3の論理和を出力する。AND回路LC6は、列デコーダ30から出力されるアドレスデコード信号と、OR回路LC5の出力との論理積を出力する。AND回路LC7は、アドレスデコード信号と、カウント信号cnt2の論理積を出力する。
【0122】
アドレスデコード信号が「H」レベル、かつカウント信号cnt2が「L」レベルのときに、OR回路LC5およびAND回路LC6によって、ポジティブ側判定選択信号YRPが「H」レベルとなる。また、アドレスデコード信号が「H」レベル、かつカウント信号cnt3が「H」レベルのときに、OR回路LC5およびAND回路LC6によって、ポジティブ側判定選択信号YRPが「H」レベルとなる。アドレスデコード信号が「L」レベルのときに、OR回路LC5およびAND回路LC6によって、ポジティブ側判定選択信号YRPが「L」レベルとなる。カウント信号cnt2が「H」レベル、かつカウント信号cnt3が「L」レベルのときに、OR回路LC5およびAND回路LC6によって、ポジティブ側判定選択信号YRPが「L」レベルとなる。したがって、第1モードおよび第3モードにおいて、アドレスが一致している場合に、ポジティブ側判定選択信号YRPが「H」レベルとなる。
【0123】
アドレスデコード信号が「H」レベル、かつカウント信号cnt2が「H」レベルのときに、AND回路LC7によって、ネガティブ側判定選択信号YRNが「H」レベルとなる。アドレスデコード信号が「L」レベルのときに、AND回路LC7によって、ネガティブ側判定選択信号YRNが「L」レベルとなる。また、カウント信号cnt2が「L」レベルのときに、AND回路LC7によって、ネガティブ側判定選択信号YRNが「L」レベルとなる。したがって、第2モードおよび第3モードにおいて、アドレスが一致している場合に、ネガティブ側判定選択信号YRNが「H」レベルとなる。
【0124】
制御用信号生成回路73は、インバータIV7と、フリップフロップFF9と、インバータIV8と、AND回路LC8と、遅延回路群74とを備える。
【0125】
インバータIV7は、カウンタクロックc_clkを受ける。
フリップフロップFF9は、読出リセット信号r_rstによってリセットされる。フリップフロップFF9は、インバータIV7の出力の立ち上りのタイミングで、カウント信号cnt3をラッチする。インバータIV8は、フリップフロップFF9の出力を受ける。AND回路LC8は、カウンタクロックc_clkとインバータIV8の出力の論理積を遅延開始信号S_DLとして出力する。
【0126】
これによって、カウント信号cnt3が「L」レベルの場合には、遅延開始信号S_DLは、カウンタクロックc_clkの立ち上り、立ち下りと同じタイミングで立ち上り、立ち下がる。カウント信号cnt3が「H」レベルに変化し、カウンタクロックc_clkが立ち下がるタイミング以降は、遅延開始信号S_DLは「L」レベルに固定される。
【0127】
遅延回路群74は、遅延開始信号S_DLを時間d3だけ遅延させることによって、センスラッチ信号SLATおよびプリチャージ信号GBLPCを生成する。
【0128】
遅延回路群74は、遅延開始信号S_DLを所定時間だけ遅延させることによって、プリチャージ信号PCP1,PCN1を生成する。
【0129】
遅延回路群74は、遅延開始信号S_DLを所定時間だけ遅延させたタイミングで、第1モードと第3モードにおいて、セレクト信号SELABを「H」レベルに設定し、第2モードにおいて、セレクト信号SELABを「L」レベルに設定する。
【0130】
カウント信号cnt3が「H」レベルに変化し、カウンタクロックc_clkが立ち下がるタイミング以降は、遅延開始信号S_DLは「L」レベルに固定されるので、第3モードが終了した後は、センスラッチ信号SLATおよびプリチャージ信号PCP1,PCN1,GBLPC、セレクト信号SELABは「H」レベルに活性化されない。
【0131】
(動作)
図11は、第1モードでの動作を説明するための図である。
【0132】
列デコーダ30がアドレスをデコードすることによって、リード選択信号YR0Nを「H」レベルに活性化し、リード選択信号YR1N〜YR7Nを「L」レベルに非活性化する。出力回路制御部46内のポジティブ/ネガティブ選択信号生成回路75が、列デコーダ30からのアドレスデコード信号、カウント信号cnt2,cnt3に基づいて、ポジティブ側判定選択信号YRPを「L」レベルに設定し、正相側バイアス接続信号CCSPを「H」レベルに設定し、ネガティブ側判定選択信号YRNを「H」レベルに設定し、逆相側バイアス接続信号CCSNを「L」レベルに設定する。これによって、ポジティブ側局所ビット線LBPが、ポジティブ側共通ビット線CBLPを介して副ビット線SBL_0Pに接続される。また、ネガティブ側局所ビット線LBNが、定電流源81と接続される。
【0133】
次に、出力回路制御部46内の制御用信号生成回路73が、プリチャージ信号PCP1およびPCN1を「L」レベルに設定する。これによって、ポジティブ側局所ビット線LBPおよびネガティブ側局所ビット線LBNが「H」レベルにプリチャージされる。また、制御用信号生成回路73によって、グローバル読出ビット線プリチャージ信号GBLPCが「L」レベルに設定されるので、グローバル読出ビット線GBLr,/GBLrは「H」レベルにプリチャージされる。
【0134】
また、電源回路31は、ソース線SLの電圧およびメモリゲートMGの電圧を「0」Vのまま維持させ、コントロールゲートCGの電圧を「1.5」Vに設定する。
【0135】
次に、制御用信号生成回路73が、プリチャージ信号PCP1およびPCN1を「H」レベルに設定する。これによって、ポジティブ側局所ビット線LBPおよびネガティブ側局所ビット線LBNのプリチャージが終了する。
【0136】
差動増幅部50は、副ビット線SBL_0Pと接続されるポジティブ側局所ビット線LBPの電圧と、定電流源81と接続されるネガティブ側局所ビット線LBNの電圧の差を増幅する。
【0137】
次に、制御用信号生成回路73が、センスラッチ信号SLATを「H」レベルに設定し、グローバル読出ビット線プリチャージ信号GBLPCを「H」レベルに設定する。これによって、ポジティブ側局所ビット線LBPが「L」レベル、かつネガティブ側局所ビット線LBNが「H」レベルのときに、正相グローバル読出ビット線GBLrのレベルが「L」レベルに設定され、逆相グローバル読出ビット線/GBLrのレベルが「H」レベルに設定される。また、ポジティブ側局所ビット線LBPが「H」レベル、かつネガティブ側局所ビット線LBNが「L」レベルのときに、正相グローバル読出ビット線GBLrのレベルが「H」レベルに設定され、逆相グローバル読出ビット線/GBLrのレベルが「L」レベルに設定される。
【0138】
また、制御用信号生成回路73が、セレクト信号SELABを「H」レベルに設定する。これによって、正相グローバル読出ビット線GBLrが「L」レベル、かつ逆相グローバル読出ビット線/GBLrが「H」レベルのときに、読出しデータrdataが「H」レベルとなり、フリップフロップFF1に「H」レベルがラッチされる。つまり、ポジティブ側のメモリセルMC1の閾値電圧Vthが消去判定レベルVREFよりも小さい場合に、フリップフロップFF1に「H」レベルがラッチされる。
【0139】
一方、正相グローバル読出ビット線GBLrが「H」レベル、かつ逆相グローバル読出ビット線/GBLrが「L」レベルのときに、読出しデータrdataが「L」レベルとなり、フリップフロップFF1に「L」レベルがラッチされる。つまり、ポジティブ側のメモリセルMC1の閾値電圧Vthが消去判定レベルVREF以上の場合に、フリップフロップFF1に「L」レベルがラッチされる。
【0140】
図12は、第2モードでの動作を説明するための図である。
列デコーダ30がアドレスをデコードすることによって、リード選択信号YR0Nを「H」レベルに活性化し、リード選択信号YR1N〜YR7Nを「L」レベルに非活性化する。出力回路制御部46内のポジティブ/ネガティブ選択信号生成回路75が、列デコーダ30からのアドレスデコード信号、カウント信号cnt2,cnt3に基づいて、ポジティブ側判定選択信号YRPを「H」レベルに設定し、正相側バイアス接続信号CCSPを「L」レベルに設定し、ネガティブ側判定選択信号YRNを「L」レベルに設定し、逆相側バイアス接続信号CCSNを「H」レベルに設定する。これによって、ネガティブ側局所ビット線LBNが、ネガティブ側共通ビット線CBLNを介して副ビット線SBL_0Nに接続される。また、ポジティブ側局所ビット線LBPが、定電流源81と接続される。
【0141】
次に、出力回路制御部46内の制御用信号生成回路73が、プリチャージ信号PCP1およびPCN1を「L」レベルに設定する。これによって、ポジティブ側局所ビット線LBPおよびネガティブ側局所ビット線LBNが「H」レベルにプリチャージされる。また、制御用信号生成回路73によって、グローバル読出ビット線プリチャージ信号GBLPCが「L」レベルに設定されるので、グローバル読出ビット線GBLr,/GBLrは「H」レベルにプリチャージされる。
【0142】
また、電源回路31は、ソース線SLの電圧およびメモリゲートMGの電圧を「0」Vのまま維持させ、コントロールゲートCGの電圧を「1.5」Vに設定する。
【0143】
次に、制御用信号生成回路73が、プリチャージ信号PCP1およびPCN1を「H」レベルに設定する。これによって、ポジティブ側局所ビット線LBPおよびネガティブ側局所ビット線LBNのプリチャージが終了する。
【0144】
差動増幅部50は、副ビット線SBL_0Nと接続されるネガティブ側局所ビット線LBNの電圧と、定電流源81と接続されるポジティブ側局所ビット線LBPの電圧の差を増幅する。
【0145】
次に、制御用信号生成回路73が、センスラッチ信号SLATを「H」レベルに設定し、グローバル読出ビット線プリチャージ信号GBLPCを「H」レベルに設定する。これによって、ポジティブ側局所ビット線LBPが「L」レベル、かつネガティブ側局所ビット線LBNが「H」レベルのときに、正相グローバル読出ビット線GBLrのレベルが「L」レベルに設定され、逆相グローバル読出ビット線/GBLrのレベルが「H」レベルに設定される。また、ポジティブ側局所ビット線LBPが「H」レベル、かつネガティブ側局所ビット線LBNが「L」レベルのときに、正相グローバル読出ビット線GBLrのレベルが「H」レベルに設定され、逆相グローバル読出ビット線/GBLrのレベルが「L」レベルに設定される。
【0146】
また、制御用信号生成回路73が、セレクト信号SELABを「L」レベルに設定する。これによって、正相グローバル読出ビット線GBLrが「H」レベル、かつ逆相グローバル読出ビット線/GBLrが「L」レベルのときに、読出しデータrdataが「H」レベルとなり、フリップフロップFF2に「H」レベルがラッチされる。つまり、ネガティブ側のメモリセルMC2の閾値電圧Vthが消去判定レベルVREFよりも小さい場合に、フリップフロップFF2に「H」レベルがラッチされる。
【0147】
一方、正相グローバル読出ビット線GBLrが「L」レベル、かつ逆相グローバル読出ビット線/GBLrが「H」レベルのときに、読出しデータrdataが「L」レベルとなり、フリップフロップFF2に「L」レベルがラッチされる。つまり、ネガティブ側のメモリセルMC2の閾値電圧Vthが消去判定レベルVREF以上の場合に、フリップフロップFF2に「L」レベルがラッチされる。
【0148】
図13は、第3モードでの動作を説明するための図である。
列デコーダ30がアドレスをデコードすることによって、リード選択信号YR0Nを「H」レベルに活性化し、リード選択信号YR1N〜YR7Nを「L」レベルに非活性化する。出力回路制御部46内のポジティブ/ネガティブ選択信号生成回路75が、列デコーダ30からのアドレスデコード信号、カウント信号cnt2,cnt3に基づいて、ポジティブ側判定選択信号YRPを「L」レベルに設定し、正相側バイアス接続信号CCSPを「H」レベルに設定し、ネガティブ側判定選択信号YRNを「L」レベルに設定し、逆相側バイアス接続信号CCSNを「H」レベルに設定する。これによって、ポジティブ側局所ビット線LBPが、ポジティブ側共通ビット線CBLPを介して副ビット線SBL_0Pに接続される。ネガティブ側局所ビット線LBNが、ネガティブ側共通ビット線CBLNを介して副ビット線SBL_0Nに接続される。
【0149】
次に、出力回路制御部46内の制御用信号生成回路73が、プリチャージ信号PCP1およびPCN1を「L」レベルに設定する。これによって、ポジティブ側局所ビット線LBPおよびネガティブ側局所ビット線LBNが「H」レベルにプリチャージされる。また、制御用信号生成回路73によって、グローバル読出ビット線プリチャージ信号GBLPCが「L」レベルに設定されるので、グローバル読出ビット線GBLr,/GBLrは「H」レベルにプリチャージされる。
【0150】
また、電源回路31は、ソース線SLの電圧およびメモリゲートMGの電圧を「0」Vのまま維持させ、コントロールゲートCGの電圧を「1.5」Vに設定する。
【0151】
次に、制御用信号生成回路73が、プリチャージ信号PCP1およびPCN1を「H」レベルに設定する。これによって、ポジティブ側局所ビット線LBPおよびネガティブ側局所ビット線LBNのプリチャージが終了する。
【0152】
差動増幅部50は、副ビット線SBL_0Pと接続されるポジティブ側局所ビット線LBPの電圧と、副ビット線SBL_0Nと接続されるネガティブ側局所ビット線LBNの電圧の差を増幅する。
【0153】
次に、制御用信号生成回路73が、センスラッチ信号SLATを「H」レベルに設定し、グローバル読出ビット線プリチャージ信号GBLPCを「H」レベルに設定する。これによって、ポジティブ側局所ビット線LBPが「L」レベル、かつネガティブ側局所ビット線LBNが「H」レベルのときに、正相グローバル読出ビット線GBLrのレベルが「L」レベルに設定され、逆相グローバル読出ビット線/GBLrのレベルが「H」レベルに設定される。また、ポジティブ側局所ビット線LBPが「H」レベル、かつネガティブ側局所ビット線LBNが「L」レベルのときに、正相グローバル読出ビット線GBLrのレベルが「H」レベルに設定され、逆相グローバル読出ビット線/GBLrのレベルが「L」レベルに設定される。
【0154】
また、制御用信号生成回路73が、セレクト信号SELABを「H」レベルに設定する。これによって、正相グローバル読出ビット線GBLrが「L」レベル、かつ逆相グローバル読出ビット線/GBLrが「H」レベルのときに、読出しデータrdataが「H」レベルとなり、フリップフロップFF3に「H」レベルがラッチされる。つまり、ポジティブ側のメモリセルMC1の閾値電圧Vthがネガティブ側のメモリセルMC2の閾値電圧Vthよりも小さい場合に、フリップフロップFF3に「H」レベルがラッチされる。
【0155】
一方、正相グローバル読出ビット線GBLrが「H」レベル、かつ逆相グローバル読出ビット線/GBLrが「L」レベルのときに、読出しデータrdataが「L」レベルとなり、フリップフロップFF3に「L」レベルがラッチされる。つまり、ポジティブ側のメモリセルMC1の閾値電圧Vthがネガティブ側のメモリセルMC2の閾値電圧Vth以上の場合に、フリップフロップFF3に「L」レベルがラッチされる。
【0156】
図14は、各種の制御信号が生成されるタイミングを説明するための図である。
まず、読出要求検知回路71によって、モジュール選択信号MSROMNが「L」レベル、読出要求信号BSRDYが「H」レベルのときに、クロックCLKの立ち上りのタイミングで、読出リセット信号r_rstが「H」レベルに立ち上る。その後、遅延回路DL1での遅延時間d1が経過した後、読出リセット信号r_rstは「L」レベルに戻る。
【0157】
読出リセット信号r_rstが「H」レベルとなったタイミングで、カウント信号生成回路72によって、カウント信号cnt1,cnt2,cnt3,cnt4が「L」レベルに設定される。
【0158】
カウンタクロック生成回路76によって、読出リセット信号r_rstの立ち上りのタイミングよりも遅延回路DL2での遅延時間d2だけ遅れたタイミングで、カウンタクロックc_clkが初めて立ち上る。
【0159】
カウンタクロックc_clkの第1番目の立ち上りのタイミングで、カウント信号生成回路72によって、カウント信号cnt1が「H」レベルに設定される。カウント信号cnt1の立ち上りのタイミングで、第1モードが開始する。
【0160】
また、カウンタクロックc_clkの第1番目の立ち上りのタイミングで、制御用信号生成回路73によって遅延開始信号S_DLが初めて立ち上る。また、遅延開始信号S_DLの第1番目の立ち上りのタイミングから遅延時間d3だけ後のタイミングで、制御用信号生成回路73によって、センスラッチ信号SLATが初めて立ち上る。また、図示しないが、制御用信号生成回路73によって、グローバル読出ビット線プリチャージ信号GBLPCが「H」レベルに設定され、セレクト信号SELABが「H」レベルに設定される。これによって、第1モードでの比較結果がデータ出力部52内の読出しデータrdataとなる。
【0161】
センスラッチ信号SLATの第1番目の立ち上りのタイミングで、カウンタクロック生成回路76によって、カウンタクロックc_clkが初めて立ち下がる。カウンタクロックc_clkの第1番目の立ち下がりのタイミングで、制御用信号生成回路73によって遅延開始信号S_DLが初めて立ち下がる。
【0162】
また、遅延開始信号S_DLの第1番目の立ち下がりのタイミングから遅延時間d3だけ後のタイミングで、制御用信号生成回路73によって、センスラッチ信号SLATが初めて立ち下がる。
【0163】
センスラッチ信号SLATの第1番目の立ち下がりのタイミングで、カウンタクロック生成回路76によって、カウンタクロックc_clkが再度(2回目)立ち上がる。カウンタクロックc_clkの2回目の立ち上がりのタイミングで、制御用信号生成回路73によって遅延開始信号S_DLが再度(2回目)立ち上がる。
【0164】
カウンタクロックc_clkの第2番目の立ち上りのタイミング(t1)で、カウント信号生成回路72によって、カウント信号cnt2が「H」レベルに設定される。カウント信号cnt2の立ち上りのタイミングで、第1モードの比較結果を表わす読出しデータrdataがデータ出力部52内のフリップフロップFF1でラッチされ、第1モードが終了する。また、カウント信号cnt2の立ち上りのタイミングで、第2モードが開始する。
【0165】
また、遅延開始信号S_DLの第2番目の立ち上りのタイミングから遅延時間d3だけ後のタイミングで、制御用信号生成回路73によって、センスラッチ信号SLATが再度(2回目)立ち上る。また、図示しないが、制御用信号生成回路73によって、グローバル読出ビット線プリチャージ信号GBLPCが「H」レベルに設定され、セレクト信号SELABが「L」レベルに設定される。これによって、第2モードでの比較結果がデータ出力部52内の読出しデータrdataとなる。
【0166】
センスラッチ信号SLATの第2番目の立ち上りのタイミングで、カウンタクロック生成回路76によって、カウンタクロックc_clkが再度(2回目)立ち下がる。カウンタクロックc_clkの第2番目の立ち下がりのタイミングで、制御用信号生成回路73によって遅延開始信号S_DLが再度(2回目)立ち下がる。
【0167】
また、遅延開始信号S_DLの第2番目の立ち下がりのタイミングから遅延時間d3だけ後のタイミングで、制御用信号生成回路73によって、センスラッチ信号SLATが再度(2回目)立ち下がる。
【0168】
センスラッチ信号SLATの第2番目の立ち下がりのタイミングで、カウンタクロック生成回路76によって、カウンタクロックc_clkが再度(3回目)立ち上がる。カウンタクロックc_clkの3回目の立ち上がりのタイミングで、制御用信号生成回路73によって遅延開始信号S_DLが再度(3回目)立ち上がる。
【0169】
カウンタクロックc_clkの第3番目の立ち上りのタイミング(t2)で、カウント信号生成回路72によって、カウント信号cnt3が「H」レベルに設定される。カウント信号cnt3の立ち上りのタイミングで、第2モードの比較結果を表わす読出しデータrdataがデータ出力部52内のフリップフロップFF2でラッチされ、第2モードが終了する。また、カウント信号cnt3の立ち上りのタイミングで、第3モードが開始する。
【0170】
また、遅延開始信号S_DLの第3番目の立ち上りのタイミングから遅延時間d3だけ後のタイミングで、制御用信号生成回路73によって、センスラッチ信号SLATが再度(3回目)立ち上る。また、図示しないが、制御用信号生成回路73によって、グローバル読出ビット線プリチャージ信号GBLPCが「H」レベルに設定され、セレクト信号SELABが「H」レベルに設定される。これによって、第3モードの比較結果がデータ出力部52内の読出しデータrdataとなる。
【0171】
センスラッチ信号SLATの第3番目の立ち上りのタイミングで、カウンタクロック生成回路76によって、カウンタクロックc_clkが再度(3回目)立ち下がる。カウンタクロックc_clkの第3番目の立ち下がりのタイミングで、制御用信号生成回路73によって遅延開始信号S_DLが再度(3回目)立ち下がる。
【0172】
また、遅延開始信号S_DLの第3番目の立ち下がりのタイミングから遅延時間d3だけ後のタイミングで、制御用信号生成回路73によって、センスラッチ信号SLATが再度(3回目)立ち下がる。
【0173】
センスラッチ信号SLATの第3番目の立ち下がりのタイミングで、カウンタクロック生成回路76によって、カウンタクロックc_clkが再度(4回目)立ち上がる。しかし、カウンタクロックc_clkの4回目の立ち上がりのタイミングで、制御用信号生成回路73によって遅延開始信号S_DLが再度(4回目)立ち上がらない。
【0174】
カウンタクロックc_clkの第4番目の立ち上りのタイミング(t3)で、カウント信号生成回路72によって、カウント信号cnt4が「H」レベルに設定される。カウント信号cnt4の立ち上りのタイミングで、第3モードの比較結果を表わす読出しデータrdataがデータ出力部52内のフリップフロップFF3でラッチされ、第3モードが終了する。
【0175】
データ出力部52内のAND回路LC1およびOR回路LC2によって、フリップフロップFF1でラッチされている第1モードの比較結果、フリップフロップFF2でラッチされている第2モードの比較結果、およびフリップフロップFF3でラッチされている第モードの比較結果に基づくデータがデータバスDBUSへ出力される。
【0176】
第1モードの比較結果がポジティブ側のメモリセルMC1の閾値電圧Vthが消去判定レベルVREFよりも小さいことを表わし、第2モードの比較結果がネガティブ側のメモリセルMC2の閾値電圧Vthが消去判定レベルVREFよりも小さいことを表わす場合には、データバスDBUSに固定値「H」レベルが出力される。
【0177】
第1モードの比較結果がポジティブ側のメモリセルMC1の閾値電圧Vthが消去判定レベルVREF以上であることを表わすか、または第2モードの比較結果がネガティブ側のメモリセルMC2の閾値電圧Vthが消去判定レベルVREF以上であることを表わす場合には、データバスDBUSに第3のモードの比較結果を表わすデータが出力される。
【0178】
以上のように、本実施の形態によれば、ツインセルを構成するポジティブセルとネガティブセルの閾値電圧が消去判定レベルよりも小さければ、ツインセルの記憶データが固定値にマスクされるので、消去前の書込みデータが読み出されるのを防止することができる。
【0179】
[第3の実施形態]
第1および第2の実施形態では、ツインセルを構成する両方のメモリセルの閾値電圧Vthが消去判定レベルVREFよりも小さいときには、ツインセルから読み出した記憶データをマスクしたデータを出力することにしたが、これに限定するものではない。本実施の形態では、両方のメモリセルの閾値電圧Vthが消去判定レベルVREFよりも小さいときには、ツインセルの記憶データを読み出さずに(すなわち、第3モードでの処理を実行せずに)、読出したデータとして固定値を出力する。
【0180】
第3の実施形態の半導体装置の構成は、図1の第1の実施形態の半導体装置の構成とほぼ同じであるが、出力回路105の機能が相違する。
【0181】
出力回路105は、ツインセル104の読出し要求を受けたときに、第1記憶素子102の閾値電圧Vthが消去判定レベルよりも小さく、第2記憶素子103の閾値電圧Vthが消去判定レベルよりも小さい場合には、ツインセル104の記憶データを読み出さず、読出したデータとして固定値を出力する。なお、固定値に代わりに、ランダムな値を出力、または何も出力しないこととしてもよい。
【0182】
図15は、第3の実施形態の半導体装置におけるメモリアレイ104からのデータの読出し処理の手順を表わすフローチャートである。
【0183】
まず、出力回路105は、読出し要求信号RRQを受信する(ステップ201)。
次に、出力回路105は、第1記憶素子102の記憶しているデータをビット線BLを通じて読み出すことによって、第1記憶素子102の閾値電圧Vthが消去判定レベルVREFよりも小さいか否か判定する(ステップS202)。
【0184】
次に、出力回路105は、第2記憶素子103の記憶しているデータをビット線/BLを通じて読み出すことによって、第2記憶素子103の閾値電圧Vthが消去判定レベルVREFよりも小さいか否か判定する(ステップS203)。
【0185】
出力回路105は、第1記憶素子102の閾値電圧Vthが消去判定レベルVREFよりも小さく、かつ第2記憶素子103の閾値電圧Vthが消去判定レベルVREFよりも小さい場合には(ステップS204でYES)、固定値(“0”または”1”)を出力する(ステップS205)。
【0186】
出力回路105は、第1記憶素子102の閾値電圧Vthが消去判定レベルVREF以上か、または第2記憶素子103の閾値電圧Vthが消去判定レベルVREF以上の場合には(ステップS204でNO)、ツインセル104の記憶しているデータをビット線対BL,/BLを通じて読出す(ステップS206)。さらに、出力回路105は、ツインセル104の記憶データを読出したデータとして出力する(ステップS207)。
【0187】
本発明は、上記実施形態に限定されるものではなく、たとえば以下のような変形例も含まれる。
【0188】
(1)切替制御
本発明の実施の形態で説明した読出し処理は、読出し要求を受けたときに、ツインセルの両方のメモリセルの閾値電圧Vthが消去判定レベルVREFよりも小さいか否かを判定し(第1、第2モード)、ツインセルの記憶データを判定し、第1、第2モードの結果によって、判定したツインセルの記憶データをそのまま出力するかマスクして出力するかを切替る(第3モード)。
【0189】
(2)第2モードでの接続
本発明の実施形態では、第2モードにおいて、ネガティブ側局所ビット線LBNとネガティブ側共通ビット線CBLNを接続し、ポジティブ側局所ビット線LBPと定電流源81と接続し、正相グローバル読出ビット線GBLrとインバータIV2と接続し、逆相グローバル読出ビット線/GBLとインバータIV1とを接続したが、これに限定するものではない。
【0190】
第2モードにおいて、ポジティブ側局所ビット線LBPとネガティブ側共通ビット線CBLNを接続し、ネガティブ側局所ビット線LBNと定電流源81と接続し、正相グローバル読出ビット線GBLrとインバータIV1と接続し、逆相グローバル読出ビット線/GBLとインバータIV2とを接続するものとしてもよい。
【0191】
本発明は、上記の読出し処理だけを備える半導体装置に限定されるものではない。たとえば、半導体装置が、ツインセルの通常の読出し(第3モードでのツインセルの記憶データの判定だけ)機能と、上記本発明の実施の形態の読出し機能の両方を備え、いずれの機能を実行するかを切り替えることができるものとしてもよい。
【0192】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【0193】
1 マイクロコンピュータ(MCU)、2 中央処理装置(CPU)、3 ダイレクトメモリアクセスコントローラ(DMAC)、4 バスインタフェース回路(BIF)、5 ランダムアクセスメモリ(RAM)、6 フラッシュメモリモジュール(FMDL)、7 フラッシュシーケンサ(FSQC)、8,9 外部入出力ポート(PRT)、10 タイマ(TMR)、11 クロックパルスジェネレータ(CPG)、19,10 メモリアレイ(MARY)、20 副ビット線セレクタ、22 読出し列セレクタ、24 第1行デコーダ(RDEC1)、25 第2行デコーダ(RDEC2)、27 書込みデータラッチ回路、28 書換え列セレクタ、29 入出力回路(IOBUF)、30 列デコーダ(CDEC)、31 電源回路(VPG)、32,タイミングジェネレータ(TMG)、40 読出し系ディスチャージ回路、41 書込み系ディスチャージ回路、46 出力回路制御部、48,105 出力回路、50 差動増幅部、52 データ出力部、71 読出要求検知回路、72 カウント信号生成回路、73 制御用信号生成回路、74 遅延回路群、75 ポジティブ/ネガティブ選択信号生成回路、76 カウンタクロック生成回路、77 正相側出力ドライバ、78 逆相側出力ドライバ、79 センスアンプ、81 定電流源、82,84 スイッチ、83,91 プリチャージ部、99 出力制御回路、100 半導体装置、102 第1記憶素子、103 第2記憶素子、104 ツインセル、IV1〜IV10 インバータ、DL1,DL2 遅延回路、FF1〜FF10 フリップフロップ、LC1,LC3,LC4,LC6,LC7,LC8 AND回路、LC2,LC5 OR回路、SEL データセレクタ、RS RSフリップフロップ、P1〜P14,P20 PチャネルMOSトランジスタ、N3,N8,N10,N11,N12 NチャネルMOSトランジスタ、VSA_P,VSA_N ベリファイセンスアンプ、PVSL,NVSL ベリファイ信号線、PSL,NSL 信号線、HACSP 高速アクセスポート、LACSP 低速アクセスポート、LTP,LTN スタティックラッチ、MC1,MC2 不揮発性メモリセル、WMBL 書込み用の主ビット線、WMBL_0P〜WMBL_3P ポジティブセル側の主ビット線、WMBL_0N〜WMBL_3N ネガティブセル側の主ビット線、SBL 副ビット線、SBL_0P〜SBL_7P ポジティブセル側の副ビット線、SBL_0N〜SBL_7N ネガティブセル側の副ビット線、CBLP ポジティブ側共通ビット線、CBLN ネガティブ側共通ビット線、LBP ポジティブ側局所ビット線、LBN ネガティブ側局所ビット線、GBLr 正相グローバル読出ビット線、/GBLr 逆相グローバル読出ビット線、WL ワード線、MGL メモリゲート選択線、HBUS 高速バス、HBUS_D 高速データバス、PBUS 周辺バス、PBUS_D 周辺データバス。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15