(57)【要約】【課題】半導体記憶装置のベリファイ処理に要する時間を短くすることである。【解決手段】一実施の形態にかかる半導体記憶装置１は、複数のメモリブロック１１と、センスアンプＨＳＡと、ベリファイ回路ＶＦと、を各々備える複数の単位メモリアレイ１０を備える。半導体記憶装置１がベリファイ処理を行う際、メモリブロック１１のメモリセルＭＣにベリファイデータに対応したパルスを印加すると共に、各々のベリファイ回路ＶＦにベリファイデータに対応した期待値ｖｃｔｒｌを設定する。各々のベリファイ回路ＶＦは、センスアンプＨＳＡで読み出されたデータと期待値ｖｃｔｒｌとを比較することでベリファイ処理を行う。【選択図】図２
2019057351.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを各々備える複数のメモリブロックと、前記各々のメモリセルに保持されているデータを読み出すセンスアンプと、前記各々のメモリセルに保持されているデータをベリファイするベリファイ回路と、を各々備える複数の単位メモリアレイと、
前記各々のベリファイ回路におけるベリファイ処理を制御するベリファイ制御回路と、を備え、
前記ベリファイ制御回路は、前記メモリブロックの前記メモリセルにベリファイデータに対応したパルスを印加すると共に、前記各々のベリファイ回路に前記ベリファイデータに対応した期待値を設定し、
前記各々のベリファイ回路は、前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較することで前記ベリファイ処理を行う、
半導体記憶装置。
【請求項２】
前記単位メモリアレイが各々備える前記複数のメモリブロックは、第１及び第２のメモリブロックであり、
前記センスアンプおよび前記ベリファイ回路は、前記第１のメモリブロックと前記第２のメモリブロックとの間に配置されている、
請求項１に記載の半導体記憶装置。
【請求項３】
前記各々のベリファイ回路は、前記第１のメモリブロックのベリファイ処理を行った後に、前記第２のメモリブロックのベリファイ処理を行う、請求項２に記載の半導体記憶装置。
【請求項４】
前記ベリファイ制御回路は、前記第１及び第２のメモリブロックのメモリセルに前記ベリファイデータに対応したパルスを印加し、
前記各々のベリファイ回路は、
前記第１のメモリブロックのベリファイ処理を行い、
前記第１のメモリブロックが前記ベリファイ処理で正常と判定された場合に、前記第２のメモリブロックのベリファイ処理を行う、
請求項２に記載の半導体記憶装置。
【請求項５】
前記各々のベリファイ回路は、前記ベリファイ制御回路が前記第１のメモリブロックのメモリセルに前記ベリファイデータに対応したパルスを印加した後、前記第１のメモリブロックのベリファイ処理を行い、
前記第１のメモリブロックが前記ベリファイ処理で正常と判定された場合、前記各々のベリファイ回路は、前記ベリファイ制御回路が前記第２のメモリブロックのメモリセルに前記ベリファイデータに対応したパルスを印加した後、前記第２のメモリブロックのベリファイ処理を行う、
請求項２に記載の半導体記憶装置。
【請求項６】
前記各々のベリファイ回路は、前記各々のベリファイ回路における前記ベリファイ処理の結果を前記ベリファイ制御回路にシーケンシャルに送信するように構成されている、請求項１に記載の半導体記憶装置。
【請求項７】
前記各々のベリファイ回路は、
前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較し、当該比較結果を前記ベリファイ処理の結果として出力する第１の論理回路と、
前記第１の論理回路の出力と前段のベリファイ処理の結果とを入力し、前記第１の論理回路の出力と前記前段のベリファイ処理の結果とが共に正常である場合に、正常を示す信号を出力する第２の論理回路と、を備える、
請求項６に記載の半導体記憶装置。
【請求項８】
前記各々のベリファイ回路は、前記各々のベリファイ回路における前記ベリファイ処理の結果を前記ベリファイ制御回路に各々独立に送信するように構成されている、請求項１に記載の半導体記憶装置。
【請求項９】
前記各々のベリファイ回路は、前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較し、当該比較結果を前記ベリファイ処理の結果として前記ベリファイ制御回路に出力する第３の論理回路を備える、請求項８に記載の半導体記憶装置。
【請求項１０】
前記ベリファイ制御回路は、前記各々のベリファイ回路に選択信号を時分割で供給可能に構成されており、
前記各々のベリファイ回路は、当該ベリファイ回路における前記ベリファイ処理の結果を、前記選択信号が活性状態となったタイミングに前記ベリファイ制御回路に送信する、
請求項１に記載の半導体記憶装置。
【請求項１１】
前記各々のベリファイ回路は、
前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較し、当該比較結果を前記ベリファイ処理の結果として出力する第４の論理回路と、
前記選択信号が活性状態の時に、前記第４の論理回路から出力された前記ベリファイ処理の結果を出力する第５の論理回路と、
前記第５の論理回路の出力と前段のベリファイ処理の結果とを入力し、前記選択信号が非活性状態の場合には前記前段のベリファイ処理の結果を出力し、前記選択信号が活性状態の場合には前記第５の論理回路から出力された前記ベリファイ処理の結果を出力する第６の論理回路と、を備える、
請求項１０に記載の半導体記憶装置。
【請求項１２】
半導体記憶装置の制御方法であって、
前記半導体記憶装置は、複数のメモリセルを各々備える複数のメモリブロックと、前記各々のメモリセルに保持されているデータを読み出すセンスアンプと、前記各々のメモリセルに保持されているデータをベリファイするベリファイ回路と、を各々備える複数の単位メモリアレイを有し、
前記メモリブロックの前記メモリセルにベリファイデータに対応したパルスを印加すると共に、前記各々のベリファイ回路に前記ベリファイデータに対応した期待値を設定し、
前記各々のベリファイ回路において、前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較することでベリファイ処理を行う、
半導体記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体記憶装置、及び半導体記憶装置の制御方法に関し、例えばベリファイ機能を備えた半導体記憶装置、及び半導体記憶装置の制御方法に関する。
【背景技術】
【０００２】
近年、不揮発性の半導体記憶装置としてフラッシュメモリが多く用いられている。フラッシュメモリは、書き込み動作や消去動作の正否を判定するためにベリファイ処理を行う。例えば、書き込みベリファイ処理では、メモリセルへの書き込みデータを期待値とし、メモリセルに書き込んだデータを読み出した読み出しデータと期待値とを比較して、書き込みデータと読み出しデータとの一致・不一致により書き込み動作の正否を判定する処理である。
【０００３】
特許文献１には、階層化ビット線構造を有する半導体記憶装置に関する技術が開示されている。特許文献１に開示されている半導体記憶装置では、メモリアレイを分割し、ビット線を階層化構造としているので、センスアンプの入力負荷容量を低減することができる。よって、半導体記憶装置の読み出し速度を速くすることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３１８９４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されている半導体記憶装置では、センスアンプとは別に１つのベリファイ用アンプが設けられている。そして、各々のメモリセルのベリファイ処理はこの１つのベリファイ用アンプを用いて実施されている。ここで、ベリファイ処理はブロック単位で実施されるので、特許文献１に開示されている半導体記憶装置では、１つのベリファイ用アンプを用いて、ブロック単位で順番に（シリアルに）ベリファイ処理が実施される。
【０００６】
しかしながら、近年、半導体記憶装置のメモリ容量は増加の一途をたどっている。このため、特許文献１に開示されている半導体記憶装置のようにベリファイ処理をブロック単位で順番に実施した場合は、ベリファイ処理に多くの時間を要するという問題がある。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施の形態にかかる半導体記憶装置は、複数のメモリブロックと、センスアンプと、ベリファイ回路と、を各々備える複数の単位メモリアレイを備える。半導体記憶装置がベリファイ処理を行う際、メモリブロックのメモリセルにベリファイデータに対応したパルスを印加すると共に、各々のベリファイ回路にベリファイデータに対応した期待値を設定する。各々のベリファイ回路は、センスアンプで読み出されたデータと期待値とを比較することでベリファイ処理を行う。
【発明の効果】
【０００９】
前記一実施の形態によれば、半導体記憶装置のベリファイ処理に要する時間を短くすることができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態にかかる半導体記憶装置が用いられる半導体装置の一例を示すブロック図である。
【図２】実施の形態１にかかる半導体記憶装置を示す図である。
【図３】実施の形態１にかかる半導体記憶装置が備えるベリファイ回路の一例を示す回路図である。
【図４】実施の形態１にかかる半導体記憶装置におけるベリファイ処理の一例を説明するためのフローチャートである。
【図５】実施の形態１にかかる半導体記憶装置におけるベリファイ処理の一例を説明するためのフローチャートである。
【図６】実施の形態１にかかる半導体記憶装置におけるベリファイ処理の一例を説明するためのフローチャートである。
【図７】実施の形態２にかかる半導体記憶装置を示す図である。
【図８】実施の形態２にかかる半導体記憶装置が備えるベリファイ回路の一例を示す回路図である。
【図９】実施の形態２にかかる半導体記憶装置におけるベリファイ処理の一例を説明するためのフローチャートである。
【図１０】実施の形態３にかかる半導体記憶装置を示す図である。
【図１１】実施の形態３にかかる半導体記憶装置が備えるベリファイ回路の一例を示す回路図である。
【図１２】実施の形態３にかかる半導体記憶装置におけるベリファイ処理を説明するためのタイミングチャートである。
【図１３】関連技術にかかる半導体記憶装置を説明するための図である。
【図１４】関連技術にかかる半導体記憶装置におけるベリファイ処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
＜半導体記憶装置が用いられる半導体装置の説明＞
まず、実施の形態にかかる半導体記憶装置が用いられる半導体装置の一例について説明する。図１は、実施の形態にかかる半導体記憶装置が用いられる半導体装置の一例を示すブロック図である。図１に示す半導体装置は、例えばマイクロコンピュータＭＣＵである。
【００１２】
図１に示すマイクロコンピュータＭＣＵは、例えばＣＭＯＳ（Complementary Metal Oxide Semiconductor）技術を用いることによって、単結晶シリコンのような１個の半導体チップに形成される。図１に示すように、マイクロコンピュータＭＣＵは、中央処理装置ＣＰＵと、ランダムアクセスメモリＲＡＭと、フラッシュメモリモジュールＦＭＤＬと、を備える。中央処理装置ＣＰＵは、命令制御部と実行部とを備えており、各種の命令を実行する。ランダムアクセスメモリＲＡＭは、中央処理装置ＣＰＵのワーク領域などに利用される。フラッシュメモリモジュールＦＭＤＬは、データやプログラムを格納する不揮発性メモリモジュールとして設けられる。
【００１３】
マイクロコンピュータＭＣＵは、更にダイレクトメモリアクセスコントローラＤＭＡＣと、バスインタフェース回路ＢＩＦと、フラッシュシーケンサＦＳＱＣと、外部入出力ポートＰＲＴと、タイマＴＭＲと、クロックパルスジェネレータＣＰＧと、高速バスＨＢＵＳと、周辺バスＰＢＵＳと、を備える。
【００１４】
バスインタフェース回路ＢＩＦは、高速バスＨＢＵＳと周辺バスＰＢＵＳとのバスインタフェース制御若しくはバスブリッジ制御を行う。フラッシュシーケンサＦＳＱＣは、フラッシュメモリモジュールＦＭＤＬに対するコマンドアクセス制御を行う。クロックパルスジェネレータＣＰＧは、マイクロコンピュータＭＣＵを制御するための内部クロックＣＬＫを生成する。
【００１５】
マイクロコンピュータＭＣＵのバス構成は特に制限されないが、図１の場合には、高速バスＨＢＵＳと周辺バスＰＢＵＳとが設けられている。高速バスＨＢＵＳおよび周辺バスＰＢＵＳの各々は、特に制限されないが、データバス、アドレスバスおよびコントロールバスを有する。高速バスＨＢＵＳおよび周辺バスＰＢＵＳという２本のバスを設けることによって、共通のバスに全ての回路を共通接続する場合と比べてバスの負荷を軽くし、高速アクセス動作を保証することができる。
【００１６】
高速バスＨＢＵＳには、中央処理装置ＣＰＵ、ダイレクトメモリアクセスコントローラＤＭＡＣ、バスインタフェース回路ＢＩＦ、ランダムアクセスメモリＲＡＭ、およびフラッシュメモリモジュールＦＭＤＬが接続される。周辺バスＰＢＵＳには、フラッシュシーケンサＦＳＱＣ、外部入出力ポートＰＲＴ、タイマＴＭＲ、およびクロックパルスジェネレータＣＰＧが接続される。
【００１７】
マイクロコンピュータＭＣＵは、更に、発振子が接続されるかまたは外部クロックが供給されるクロック端子ＸＴＡＬ／ＥＸＴＡＬと、スタンバイ状態を指示する外部ハードウェアスタンバイ端子ＳＴＢＹと、リセットを指示する外部リセット端子ＲＥＳと、外部電源端子Ｖｃｃと、外部接地端子Ｖｓｓと、を備える。
【００１８】
図１では、ロジック回路としてのフラッシュシーケンサＦＳＱＣと、アレイ構成のフラッシュメモリモジュールＦＭＤＬとは、別ＣＡＤツールを用いて設計されているため、便宜上別々の回路ブロックとして図示されているが、双方併せて１つのフラッシュメモリを構成する。
【００１９】
フラッシュメモリモジュールＦＭＤＬは、読出し専用の高速アクセスポートＨＡＣＳＰを介して高速バスＨＢＵＳに接続される。ＣＰＵまたはＤＭＡＣは、高速バスＨＢＵＳから高速アクセスポートＨＡＣＳＰを介してフラッシュメモリモジュールＦＭＤＬに対してリードアクセスすることができる。ＣＰＵまたはＤＭＡＣは、フラッシュメモリモジュールＦＭＤＬに対して書込みおよび初期化のアクセスを行うときは、バスインタフェースＢＩＦを介して周辺バスＰＢＵＳ経由でフラッシュシーケンサＦＳＱＣにコマンドを発行する。このコマンドに応答して、フラッシュシーケンサＦＳＱＣは、周辺バスＰＢＵＳから低速アクセスポートＬＡＣＳＰを通じてフラッシュメモリモジュールＦＭＤＬの初期化や書込み動作の制御を行う。
【００２０】
以下で説明する半導体記憶装置は、図１に示した半導体装置（マイクロコンピュータＭＣＵ）で用いられているフラッシュメモリモジュールＦＭＤＬに対応する。以下、実施の形態１〜３にかかる半導体記憶装置について説明する。
【００２１】
＜実施の形態１＞
以下、図面を参照して実施の形態１にかかる半導体記憶装置、及び半導体記憶装置の制御方法について説明する。図２は、本実施の形態にかかる半導体記憶装置を示す図である。図２に示すように、本実施の形態にかかる半導体記憶装置１は、メモリブロック１１_０〜１１_２ｎ＋１、センスアンプブロック１２_０〜１２_ｍ、ワード線ドライバ１３、読み出しデータセレクタ１４、書き込み回路１５、データラッチ回路１６、データ制御回路２１、アドレス制御回路２３、及びベリファイ制御回路２８を備える。ここで、ｎは０以上の整数である。また、ｍは０以上の整数である。ｎとｍは、ｍ＝ｎの関係にある。なお、ｎ、ｍの定義については本明細書において同様である。また、本明細書において各構成要素を総称して示す場合は、ｎ、ｍを用いずに「メモリブロック１１」のように記載する。
【００２２】
例えば、一対のメモリブロック１１_０、１１_１（以下、メモリブロックＢＬＫ_０、ＢＬＫ_１とも記載する）およびセンスアンプブロック１２_０は、単位メモリアレイ１０_０を構成している。センスアンプブロック１２_０は、メモリブロック１１_０（ＢＬＫ_０）とメモリブロック１１_１（ＢＬＫ_１）との間に配置されている。
【００２３】
メモリブロックＢＬＫ_０は、複数のメモリセルＭＣ_０を備える。なお、図２では説明を簡略化するために、１つのメモリブロックＢＬＫ_０に１つのメモリセルＭＣ_０のみを図示している。他のメモリブロックＢＬＫ_１〜２ｎ＋１についても同様である。メモリセルＭＣ_０は、電気的に消去および書き込み可能な不揮発性のメモリセルである。メモリセルＭＣ_０は、ワード線ＷＬ_０および副ビット線ＢＬ_０に接続されている。
【００２４】
同様に、メモリブロックＢＬＫ_１は、複数のメモリセルＭＣ_１を備える。メモリセルＭＣ_１は、電気的に消去および書き込み可能な不揮発性のメモリセルである。メモリセルＭＣ_１は、ワード線ＷＬ_１および副ビット線ＢＬ_１に接続されている。
【００２５】
なお、本実施の形態において、メモリセルＭＣ_０、ＭＣ_１の構成は特に限定されることはないが、一例を挙げると、スタックドゲート構造やスプリットゲート構造等が挙げられる。スタックドゲート構造は、ソース、ドレイン、チャネル、チャネル上に相互に絶縁形成されて積み上げられたフローティングゲート及びコントロールゲートを備える構造である。また、スプリットゲート構造は、ソース、ドレイン、チャネル、チャネル上で隣合って相互に絶縁形成された選択ゲート及びメモリゲートを備える構造である。
【００２６】
センスアンプブロック１２_０は、センスアンプＨＳＡ_０およびベリファイ回路２５_０（以下、ベリファイ回路ＶＦ_０とも記載する）を備える。センスアンプＨＳＡ_０は、各々のメモリセルＭＣ_０、ＭＣ_１に保持されているデータを読み出す。ベリファイ回路ＶＦ_０は、各々のメモリセルＭＣ_０、ＭＣ_１に保持されているデータをベリファイする。
【００２７】
センスアンプＨＳＡ_０の一方の入力端子には、メモリブロックＢＬＫ_０の副ビット線ＢＬ_０が接続されている。なお、図２では、便宜的に１つの副ビット線ＢＬ_０がセンスアンプＨＳＡ_０の一方の入力端子に接続された構成を示しているが、本実施の形態では、センスアンプＨＳＡ_０の一方の入力端子には複数の副ビット線ＢＬ_０が選択的に接続されるように構成されている。例えば、センスアンプＨＳＡ_０の一方の入力端子と複数の副ビット線ＢＬ_０との間には列選択回路（不図示）が設けられており、この列選択回路を用いることで、複数の副ビット線ＢＬ_０の中から１つの副ビット線ＢＬ_０を選択的にセンスアンプＨＳＡ_０の一方の入力端子に接続することができる。
【００２８】
センスアンプＨＳＡ_０の他方の入力端子には、メモリブロックＢＬＫ_１の副ビット線ＢＬ_１が接続されている。なお、図２では、便宜的に１つの副ビット線ＢＬ_１がセンスアンプＨＳＡ_０の他方の入力端子に接続された構成を示しているが、本実施の形態では、センスアンプＨＳＡ_０の他方の入力端子には複数の副ビット線ＢＬ_１が選択的に接続されるように構成されている。例えば、センスアンプＨＳＡ_０の他方の入力端子と複数の副ビット線ＢＬ_１との間には列選択回路（不図示）が設けられており、この列選択回路を用いることで、複数の副ビット線ＢＬ_１の中から１つの副ビット線ＢＬ_１を選択的にセンスアンプＨＳＡ_０の他方の入力端子に接続することができる。
【００２９】
例えば、メモリセルＭＣ_０に保持されているデータを読み出す際は、センスアンプＨＳＡ_０の一方の入力端子を副ビット線ＢＬ_０に接続し、他方の入力端子をリファレンスに接続する。センスアンプＨＳＡ_０は、このときの副ビット線ＢＬ_０とリファレンスとの電位差に基づいてメモリセルＭＣ_０に保持されているデータを読み出す。センスアンプＨＳＡ_０の出力端子は読み出し用の主ビット線ＧＢＬｒと接続されており、センスアンプＨＳＡ_０から出力された読み出しデータは、読み出し用の主ビット線ＧＢＬｒを介して読み出しデータセレクタ１４に供給される。
【００３０】
また、センスアンプＨＳＡ_０の出力端子はベリファイ回路ＶＦ_０に接続されている。ベリファイ回路ＶＦ_０は、センスアンプＨＳＡ_０で読み出されたメモリセルＭＣ_０に保持されているデータと期待値ｖｃｔｒｌとを比較することでベリファイ処理を行う。ここで期待値ｖｃｔｒｌは、ベリファイ制御回路２８を用いてベリファイ回路ＶＦ_０に設定される値である。ベリファイ回路ＶＦ_０の詳細については後述する。
【００３１】
なお、図２では図面を簡略化するために、１つのセンスアンプブロック１２_０に１つのセンスアンプＨＳＡ_０と１つのベリファイ回路ＶＦ_０を図示している。しかし、本実施の形態にかかる半導体記憶装置では、１つのセンスアンプブロック１２_０には、センスアンプＨＳＡ_０とベリファイ回路ＶＦ_０との組み合わせが複数設けられており、このセンスアンプＨＳＡ_０とベリファイ回路ＶＦ_０との組み合わせの数は、メモリブロックＢＬＫ_０、ＢＬＫ_１のメモリセルＭＣ_０、ＭＣ_１の数が増加するほど多くなる。
【００３２】
また、上記では一対のメモリブロック１１_０、１１_１（ＢＬＫ_０、ＢＬＫ_１）とセンスアンプブロック１２_０とを備える単位メモリアレイ１０_０の構成について説明したが、他の単位メモリアレイ１０_１〜１０_ｍの構成についても同様である。
【００３３】
書き込み回路１５は、各々のメモリセルＭＣ_０〜ＭＣ_２ｎ＋１に書き込むデータを生成する。書き込み回路１５で生成された書き込みデータは、書き込み用の主ビット線ＧＢＬｗを用いて各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１に伝達される。各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１の副ビット線ＢＬ_０〜ＢＬ_２ｎ＋１は、スイッチＳＷ_０〜ＳＷ_２ｎ＋１を介して書き込み用の主ビット線ＧＢＬｗに接続される。つまり、書き込み用の主ビット線ＧＢＬｗを介して伝達された書き込みデータは、スイッチＳＷ_０〜ＳＷ_２ｎ＋１のオン・オフを制御することで、副ビット線ＢＬ_０〜ＢＬ_２ｎ＋１に選択的に伝達される。
【００３４】
このように、本実施の形態にかかる半導体記憶装置は階層化ビット線構造を備えており、書き込み用の主ビット線ＧＢＬｗを介して伝達された書き込みデータは、スイッチＳＷ_０〜ＳＷ_２ｎ＋１のオン・オフを制御することで、書き込みデータを書き込むべきメモリセルＭＣ_０〜ＭＣ_２ｎ＋１に選択的に伝達される。メモリセルＭＣ_０〜ＭＣ_２ｎ＋１のいずれかに書き込みデータを書き込む際は、書き込みデータを書き込むメモリセルＭＣ_０〜ＭＣ_２ｎ＋１に接続されているワード線ＷＬ_０〜ＷＬ_２ｎ＋１を活性状態とする。
【００３５】
例えば、書き込み回路１５で生成された書き込みデータをメモリセルＭＣ_０に書き込む場合は、スイッチＳＷ_０をオン状態とし、スイッチＳＷ_１〜ＳＷ_２ｎ＋１をオフ状態とする。これにより、書き込み用の主ビット線ＧＢＬｗとメモリブロックＢＬＫ_０の副ビット線ＢＬ_０とが接続される。そして、メモリセルＭＣ_０に接続されているワード線ＷＬ_０を活性状態にする。
【００３６】
また、本実施の形態にかかる半導体記憶装置は階層化ビット線構造を備えるので、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍは高速で動作することができる。つまり、本実施の形態にかかる半導体記憶装置では、メモリアレイを複数のメモリブロック１１に分割し、この分割したメモリブロック１１の各々に副ビット線ＢＬを設けている。各々の副ビット線ＢＬは共通の書き込み用の主ビット線ＧＢＬｗにスイッチＳＷを介して接続される。よって、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍは負荷の軽い副ビット線ＢＬのみをセンスすればよいので、高速に動作することができる。
【００３７】
データ制御回路２１にはデータ入出力端子２２を介して書き込みデータが供給される。データ制御回路２１に供給された書き込みデータはデータラッチ回路１６に供給される。データラッチ回路１６は、データ制御回路２１から順次供給される書き込みデータを一時的にラッチした後、書き込み回路１５に書き込みデータを供給する。
【００３８】
また、データ制御回路２１には読み出しデータセレクタ１４から読み出しデータが供給される。読み出しデータセレクタ１４から供給された読み出しデータは、データ入出力端子２２を介して外部に出力される。
【００３９】
アドレス制御回路２３にはアドレス入力端子２４を介してアドレス信号が供給される。アドレス制御回路２３に供給されたアドレス信号は、ワード線ドライバ１３および読み出しデータセレクタ１４に供給される。ワード線ドライバ１３は、アドレス制御回路２３から供給されたアドレス信号に対応したワード線ＷＬ_０〜ＷＬ_２ｎ＋１を活性状態にする。これにより、アドレス制御回路２３から供給されたアドレス信号に対応したメモリセルＭＣ_０〜ＭＣ_２ｎ＋１が選択される。
【００４０】
また、読み出しデータセレクタ１４は、アドレス制御回路２３から供給されたアドレス信号に対応した読み出しデータをデータ制御回路２１に出力する。すなわち、読み出しデータセレクタ１４には複数の読み出し用の主ビット線ＧＢＬｒが接続されており、読み出しデータセレクタ１４は、複数の読み出し用の主ビット線ＧＢＬｒのうち、アドレス制御回路２３から供給されたアドレス信号に対応した読み出し用の主ビット線ＧＢＬｒを選択し、この選択された主ビット線ＧＢＬｒの読み出しデータをデータ制御回路２１に出力する。
【００４１】
次に、図２に示すベリファイ回路２５_０〜２５_ｍ（以下、ベリファイ回路ＶＦ_０〜ＶＦ_ｍとも記載する）について詳細に説明する。各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍで読み出されたメモリセルＭＣ_０〜ＭＣ_２ｎ＋１のデータと期待値とを比較することでベリファイ処理を行う。ベリファイ制御回路２８は、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍにおけるベリファイ処理を制御する。
【００４２】
具体的には、メモリブロックＢＬＫ_０のメモリセルＭＣ_０にベリファイ処理を行う場合、ベリファイ制御回路２８は、書き込み回路１５を用いてメモリセルＭＣ_０にベリファイデータに対応したパルスを印加してベリファイデータを書き込む。また、ベリファイ制御回路２８は、ベリファイ回路ＶＦ_０にベリファイデータに対応した期待値を設定する。ここで、ベリファイデータとは消去ベリファイデータまたは書き込みベリファイデータである。
【００４３】
例えば、メモリブロックＢＬＫ_０のメモリセルＭＣ_０に消去ベリファイデータが保持されている場合、センスアンプＨＳＡ_０の出力の期待値はハイレベル（“Ｈ”）となる。この場合、ベリファイ制御回路２８は、ベリファイ回路ＶＦ_０にベリファイデータに対応した期待値としてハイレベル（“Ｈ”）を設定する。
【００４４】
その後、センスアンプＨＳＡ_０の一方の入力端子を副ビット線ＢＬ_０に接続し、他方の入力端子をリファレンスに接続して、メモリセルＭＣ_０に保持されている消去ベリファイデータを読み出す。そして、ベリファイ回路ＶＦ_０は、センスアンプＨＳＡ_０の出力が、設定された期待値（ハイレベル“Ｈ”）と一致する場合、つまり、センスアンプＨＳＡ_０の出力がハイレベル（“Ｈ”）の場合、ベリファイ処理が正常であると判定する。一方、ベリファイ回路ＶＦ_０は、センスアンプＨＳＡ_０の出力が、設定された期待値（ハイレベル“Ｈ”）と一致しない場合、つまり、センスアンプＨＳＡ_０の出力がロウレベル（“Ｌ”）の場合、ベリファイ処理が異常であると判定する。
【００４５】
なお、メモリブロックＢＬＫ_０のメモリセルＭＣ_０に書き込みベリファイデータが保持されている場合は、センスアンプＨＳＡ_０の出力の期待値はロウレベル（“Ｌ”）となる。この場合、ベリファイ制御回路２８は、ベリファイ回路ＶＦ_０にベリファイデータに対応した期待値としてロウレベル（“Ｌ”）を設定する。それ以外の動作については、上述した消去ベリファイデータを用いたベリファイ処理の動作と同様である。
【００４６】
また、メモリブロックＢＬＫ_１のメモリセルＭＣ_１にベリファイ処理を行う場合、ベリファイ制御回路２８は、書き込み回路１５を用いてメモリセルＭＣ_１にベリファイデータに対応したパルスを印加してベリファイデータを書き込む。また、ベリファイ制御回路２８は、ベリファイ回路ＶＦ_１にベリファイデータに対応した期待値を設定する。
【００４７】
例えば、メモリブロックＢＬＫ_１のメモリセルＭＣ_１に消去ベリファイデータが保持されている場合、センスアンプＨＳＡ_０の出力の期待値は“Ｈ（ハイレベル）”となる。この場合、ベリファイ制御回路２８は、ベリファイ回路ＶＦ_０にベリファイデータに対応した期待値としてハイレベル（“Ｈ”）を設定する。
【００４８】
その後、センスアンプＨＳＡ_０の一方の入力端子をリファレンスに接続し、他方の入力端子を副ビット線ＢＬ_１に接続して、メモリセルＭＣ_１に保持されている消去ベリファイデータを読み出す。そして、ベリファイ回路ＶＦ_０は、センスアンプＨＳＡ_０の出力が、設定された期待値（ハイレベル“Ｈ”）と一致する場合、つまり、センスアンプＨＳＡ_０の出力がハイレベル（“Ｈ”）の場合、ベリファイ処理が正常であると判定する。一方、ベリファイ回路ＶＦ_０は、センスアンプＨＳＡ_０の出力が、設定された期待値（ハイレベル“Ｈ”）と一致しない場合、つまり、センスアンプＨＳＡ_０の出力がロウレベル（“Ｌ”）の場合、ベリファイ処理が異常であると判定する。
【００４９】
なお、メモリブロックＢＬＫ_１のメモリセルＭＣ_１に書き込みベリファイデータが保持されている場合は、センスアンプＨＳＡ_０の出力の期待値はロウレベル（“Ｌ”）となる。この場合、ベリファイ制御回路２８は、ベリファイ回路ＶＦ_０にベリファイデータに対応した期待値としてロウレベル（“Ｌ”）を設定する。それ以外の動作については、上述した消去ベリファイデータを用いたベリファイ処理の動作と同様である。
【００５０】
ここで、センスアンプＨＳＡ_０およびベリファイ回路ＶＦ_０は、２つのメモリブロックＢＬＫ_０、ＢＬＫ_１で共有しているので、２つのメモリブロックＢＬＫ_０、ＢＬＫ_１に対して同時にベリファイ処理を行うことはできない。このため、本実施の形態にかかる半導体記憶装置１では、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎと奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１とを異なるタイミングでベリファイ処理している（ｎは０以上の整数）。
【００５１】
例えば、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎにベリファイ処理を実施した後に、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１にベリファイ処理を実施してもよい。逆に、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１にベリファイ処理を実施した後に、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎにベリファイ処理を実施してもよい。
【００５２】
また、例えば、本実施の形態にかかる半導体記憶装置１は、メモリブロックＢＬＫ_０が備える全てのメモリセルＭＣ_０に対してベリファイ処理を実施するので、メモリブロックＢＬＫ_０が備える全てのメモリセルＭＣ_０に同一のベリファイデータが書き込まれる。
【００５３】
例えば、メモリブロックＢＬＫ_０が備えるメモリセルＭＣ_０に消去ベリファイデータを書き込む場合は、メモリブロックＢＬＫ_０の全てのメモリセルＭＣ_０に消去ベリファイデータを書き込む。また、メモリブロックＢＬＫ_０が備えるメモリセルＭＣ_０に書き込みベリファイデータを書き込む場合は、メモリブロックＢＬＫ_０の全てのメモリセルＭＣ_０に書き込みベリファイデータを書き込む。他のメモリブロックＢＬＫ_１〜ＢＬＫ_２ｎ＋１が備えるメモリセルＭＣ_１〜ＭＣ_２ｎ＋１についても同様である。
【００５４】
各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍにおけるベリファイ処理の結果は、ベリファイ制御回路２８に供給される。図２に示す構成では、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍにおけるベリファイ処理の結果をベリファイ制御回路２８にシーケンシャルに（連続的に）送信するように構成されている。この構成では、全てのベリファイ回路ＶＦ_０〜ＶＦ_ｍにおけるベリファイ処理の結果が正常である場合に、最終段のベリファイ回路ＶＦ_ｍからベリファイ制御回路２８に正常を示すベリファイ結果ｖｒｓｌｔ_ｍが供給される。換言すると、ベリファイ回路ＶＦ_０〜ＶＦ_ｍのうちの少なくとも１つのベリファイ回路においてベリファイ処理の結果が異常であると判定された場合、最終段のベリファイ回路ＶＦ_ｍはベリファイ制御回路２８に異常を示すベリファイ結果ｖｒｓｌｔ_ｍを供給する。
【００５５】
図３は、本実施の形態にかかる半導体記憶装置が備えるベリファイ回路の一例を示す回路図である。図３に示すように、各々のベリファイ回路２５_０〜２５_ｍ（ＶＦ_０〜ＶＦ_ｍ）は、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍと、論理回路ＡＮＤ_０〜ＡＮＤ_ｍと、を備える。
【００５６】
各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍで読み出されたメモリセルのデータと、ベリファイ制御回路２８から供給された期待値ｖｃｔｒｌとを比較し、当該比較結果をベリファイ処理の結果として出力する。つまり、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力ｏｕｔ_０〜ｏｕｔ_ｍとベリファイ制御回路２８から供給された期待値ｖｃｔｒｌとを入力し、これらのＸＮＯＲ（排他的論理和の否定）を各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍの一方の入力に供給する。なお、ベリファイ制御回路２８から供給される期待値ｖｃｔｒｌは、全てのベリファイ回路ＶＦ_０〜ＶＦ_ｍにおいて共通である。
【００５７】
各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍは、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力と前段のベリファイ処理の結果（ベリファイ回路２５_０は初段の回路であるため、初期値として“Ｈ”が設定されている）とを入力し、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力と前段のベリファイ処理の結果とが共に正常である場合に、正常を示す信号を出力する。
【００５８】
図３に示すように、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍはシーケンシャルに接続されている。具体的には、各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍはシーケンシャルに接続されているので、全ての論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力がハイレベル（正常を示す）である場合に、全ての論理回路ＡＮＤ_０〜ＡＮＤ_ｍの出力ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍがハイレベル（正常を示す）となり、ベリファイ制御回路２８にはベリファイ結果ｖｒｓｌｔ_ｍとしてハイレベルの信号が供給される。
【００５９】
次に、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍにおける具体的な動作について説明する。まず、消去ベリファイの場合の動作について説明する。消去ベリファイの場合、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のメモリセルＭＣ_０〜ＭＣ_２ｎ＋１には消去ベリファイデータが保持されているので、各々のセンスアンプＨＳＡ_０の出力の期待値はハイレベル（“Ｈ”）となる。この場合、ベリファイ制御回路２８は、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍに期待値ｖｃｔｒｌとしてハイレベル（“Ｈ”）を設定する。
【００６０】
ベリファイ処理の対象となったメモリセルが正常である場合、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力はハイレベル（“Ｈ”）であるので、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの一方の入力にはハイレベル（“Ｈ”）の信号が供給される。また、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの他方の入力には期待値ｖｃｔｒｌとしてハイレベル（“Ｈ”）の信号が供給されているので、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、ベリファイ処理の結果としてハイレベル（“Ｈ”）の信号を各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍの一方の入力に供給する。
【００６１】
また、初段のベリファイ回路ＶＦ_０の論理回路ＡＮＤ_０の他方の入力にはハイレベル（“Ｈ”）の信号が供給されているので、論理回路ＡＮＤ_０はハイレベル（“Ｈ”）のベリファイ結果ｖｒｓｌｔ_０を次段の論理回路ＡＮＤ_１の他方の入力に供給する。また、ベリファイ回路ＶＦ_１の論理回路ＡＮＤ_１の一方の入力には、論理回路ＸＮＯＲ_１からハイレベル（“Ｈ”）の信号が供給され、他方の入力には前段の論理回路ＡＮＤ_０からハイレベル（“Ｈ”）のベリファイ結果ｖｒｓｌｔ_０が供給される。よって、論理回路ＡＮＤ_１はハイレベル（“Ｈ”）のベリファイ結果ｖｒｓｌｔ_１を次段の論理回路ＡＮＤ_２の他方の入力に供給する。
【００６２】
このように、ベリファイ処理の対象となったメモリセルが全て正常である場合は、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍから出力される信号がハイレベル（“Ｈ”）であるので、各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍは、次段にベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍとしてハイレベル（“Ｈ”）の信号を出力する。よって、ベリファイ制御回路２８にはハイレベル（“Ｈ”）のベリファイ結果ｖｒｓｌｔ_ｍが供給される。
【００６３】
一方、ベリファイ処理の対象となったメモリセルのうちの少なくとも一つが異常である場合は、センスアンプＨＳＡ_０〜ＨＳＡ_ｍのうちの少なくとも一つの出力がロウレベル（“Ｌ”）となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍのうちの少なくとも一つの出力がロウレベル（“Ｌ”）になる。よって、論理回路ＡＮＤ_０〜ＡＮＤ_ｍのうちロウレベル（“Ｌ”）の信号が供給された論理回路ＡＮＤ_０〜ＡＮＤ_ｍは、ベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍとしてロウレベル（“Ｌ”）の信号を出力するので、以降の論理回路ＡＮＤの出力はロウレベル（“Ｌ”）となる。よって、ベリファイ制御回路２８にはロウレベル（“Ｌ”）のベリファイ結果ｖｒｓｌｔ_ｍが供給される。
【００６４】
次に、書き込みベリファイの場合の動作について説明する。書き込みベリファイの場合、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のメモリセルＭＣ_０〜ＭＣ_２ｎ＋１には書き込みベリファイデータが保持されているので、各々のセンスアンプＨＳＡ_０の出力の期待値はロウレベル（“Ｌ”）となる。この場合、ベリファイ制御回路２８は、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍに期待値ｖｃｔｒｌとしてロウレベル（“Ｌ”）を設定する。
【００６５】
ベリファイ処理の対象となったメモリセルが全て正常である場合、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力はロウレベル（“Ｌ”）であるので、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの一方の入力にはロウレベル（“Ｌ”）の信号が供給される。また、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの他方の入力には期待値ｖｃｔｒｌとしてロウレベル（“Ｌ”）の信号が供給されているので、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、ベリファイ処理の結果としてハイレベル（“Ｈ”）の信号を各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍの一方の入力に供給する。
【００６６】
また、初段のベリファイ回路ＶＦ_０の論理回路ＡＮＤ_０の他方の入力にはハイレベル（“Ｈ”）の信号が供給されているので、論理回路ＡＮＤ_０はハイレベル（“Ｈ”）のベリファイ結果ｖｒｓｌｔ_０を次段の論理回路ＡＮＤ_１の他方の入力に供給する。また、ベリファイ回路ＶＦ_１の論理回路ＡＮＤ_１の一方の入力には、論理回路ＸＮＯＲ_１からハイレベル（“Ｈ”）の信号が供給され、他方の入力には前段の論理回路ＡＮＤ_０からハイレベル（“Ｈ”）のベリファイ結果ｖｒｓｌｔ_０が供給される。よって、論理回路ＡＮＤ_１はハイレベル（“Ｈ”）のベリファイ結果ｖｒｓｌｔ_１を次段の論理回路ＡＮＤ_２の他方の入力に供給する。
【００６７】
このように、ベリファイ処理の対象となったメモリセルが全て正常である場合は、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍから出力される信号がハイレベル（“Ｈ”）であるので、各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍは、次段にハイレベル（“Ｈ”）のベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍを出力する。よって、ベリファイ制御回路２８にはハイレベル（“Ｈ”）のベリファイ結果ｖｒｓｌｔ_ｍが供給される。
【００６８】
一方、ベリファイ処理の対象となったメモリセルのうちの少なくとも一つが異常である場合は、センスアンプＨＳＡ_０〜ＨＳＡ_ｍのうちの少なくとも一つの出力がハイレベル（“Ｈ”）となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍのうちの少なくとも一つの出力がロウレベル（“Ｌ”）になる。よって、論理回路ＡＮＤ_０〜ＡＮＤ_ｍのうちロウレベル（“Ｌ”）の信号が供給された論理回路ＡＮＤ_０〜ＡＮＤ_ｍは、ベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍとしてロウレベル（“Ｌ”）の信号を出力するので、以降の論理回路ＡＮＤの出力はロウレベル（“Ｌ”）となる。よって、ベリファイ制御回路２８にはロウレベル（“Ｌ”）のベリファイ結果ｖｒｓｌｔ_ｍが供給される。
【００６９】
以上で説明した動作により、ベリファイ制御回路２８に供給されたベリファイ結果ｖｒｓｌｔ_ｍがハイレベル（“Ｈ”）の場合は、ベリファイ処理の対象となったメモリセルが全て正常（ベリファイパス）であると判定される。一方、ベリファイ制御回路２８に供給されたベリファイ結果ｖｒｓｌｔ_ｍがロウレベル（“Ｌ”）の場合は、ベリファイ処理の対象となったメモリセルのうちの少なくとも一つが異常（ベリファイフェイル）であると判定される。このように、本実施の形態にかかる半導体記憶装置では、複数のメモリブロックＢＬＫのベリファイ処理を同時に実施することができる。
【００７０】
次に、本実施の形態にかかる半導体記憶装置におけるベリファイ処理の流れ（半導体記憶装置の制御方法）について、図４〜図６に示すフローチャートを用いて説明する。なお、以下で示すベリファイ処理の流れは、消去ベリファイおよび書き込みベリファイで共通である。
【００７１】
図２に示したように、本実施の形態にかかる半導体記憶装置１では、２つのメモリブロックＢＬＫ（１１）に対して１つのセンスアンプブロック１２を備える。よって、各々の単位メモリアレイ１０においてベリファイ処理を実施する場合は、偶数側のメモリブロックと奇数側のメモリブロックとの２回に分けて実施する必要がある。
【００７２】
まず、図４に示すフローチャートを用いてベリファイ処理の流れ（第１のパターン）について説明する。第１のパターンのベリファイ処理では、まず、ベリファイ制御回路２８は、メモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のメモリセルにベリファイデータに対応したパルスを印加する（ステップＳ１）。ベリファイデータに対応したパルスとは、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のメモリセルに、消去ベリファイデータを書き込むためのパルス電圧、または書き込みベリファイデータを書き込むためのパルス電圧である。ベリファイデータに対応したパルスを印加する際は、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１に順次パルスを印加するようにしてもよく、また複数のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１に一括してパルスを印加するようにしてもよい。
【００７３】
次に、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎにベリファイ処理を実施する（ステップＳ２）。具体的には、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、メモリセルＭＣに保持されているベリファイデータ（消去ベリファイデータまたは書き込みベリファイデータ）と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である（ベリファイパス）と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である（ベリファイフェイル）と判定する。
【００７４】
偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎの少なくとも一つにおいてベリファイ処理が異常である（ベリファイフェイル）と判定された場合（ステップＳ３：Ｎｏ）、再度、ステップＳ１〜Ｓ２の処理を実施する。
【００７５】
一方、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎの全てにおいてベリファイ処理が正常である（ベリファイパス）と判定された場合（ステップＳ３：Ｙｅｓ）、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１にベリファイ処理を実施する（ステップＳ４）。具体的には、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、メモリセルＭＣに保持されているベリファイデータ（消去ベリファイデータまたは書き込みベリファイデータ）と期待値とを比較し、両者が一致する場合はベリファイ処理が正常である（ベリファイパス）と判定する。一方、両者が一致しない場合は、ベリファイ処理が異常である（ベリファイフェイル）と判定する。
【００７６】
奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１の少なくとも一つにおいてベリファイ処理が異常である（ベリファイフェイル）と判定された場合（ステップＳ５：Ｎｏ）、再度、ステップＳ１〜Ｓ４の処理を実施する。一方、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１の全てにおいてベリファイ処理が正常である（ベリファイパス）と判定された場合（ステップＳ５：Ｙｅｓ）、半導体記憶装置のベリファイ処理が正常であるとして、ベリファイ処理を終了する。
【００７７】
次に、図５に示すフローチャートを用いてベリファイ処理の流れ（第２のパターン）について説明する。第２のパターンのベリファイ処理では、まず、ベリファイ制御回路２８は、メモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のメモリセルにベリファイデータに対応したパルスを印加する（ステップＳ１１）。ベリファイデータに対応したパルスとは、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のメモリセルに消去ベリファイデータを書き込むためのパルス電圧、または書き込みベリファイデータを書き込むためのパルス電圧である。ベリファイデータに対応したパルスを印加する際は、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１に順次パルスを印加するようにしてもよく、また複数のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１に一括してパルスを印加するようにしてもよい。
【００７８】
次に、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎにベリファイ処理を実施する（ステップＳ１２）。具体的には、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、メモリセルＭＣに保持されているベリファイデータ（消去ベリファイデータまたは書き込みベリファイデータ）と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である（ベリファイパス）と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である（ベリファイフェイル）と判定する。
【００７９】
次に、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１にベリファイ処理を実施する（ステップＳ１３）。具体的には、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、メモリセルＭＣに保持されているベリファイデータ（消去ベリファイデータまたは書き込みベリファイデータ）と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である（ベリファイパス）と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である（ベリファイフェイル）と判定する。
【００８０】
そして、メモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１の少なくとも一つにおいてベリファイ処理が異常である（ベリファイフェイル）と判定された場合（ステップＳ１４：Ｎｏ）、再度、ステップＳ１１〜Ｓ１３の処理を実施する。一方、メモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１の全てにおいてベリファイ処理が正常である（ベリファイパス）と判定された場合（ステップＳ１４：Ｙｅｓ）、半導体記憶装置のベリファイ処理が正常であるとして、ベリファイ処理を終了する。
【００８１】
図４に示したベリファイ処理では、偶数のメモリブロックのベリファイ処理が正常であると判定された後に、奇数のメモリブロックのベリファイ処理を実施している。ここで、図４に示したベリファイ処理では、全てのメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１にベリファイデータに対応したパルスを印加しているので（ステップＳ１）、例えば、偶数のメモリブロックのベリファイ処理が正常であると判定された後に、奇数のメモリブロックのベリファイ処理で異常と判定された場合は、結果として、偶数のメモリブロックに余分なパルスが印加されたこととなる。
【００８２】
これに対して、図５に示したベリファイ処理では、偶数のメモリブロックのベリファイ処理の結果と奇数のメモリブロックのベリファイ処理の結果とをあわせて判定するため（ステップＳ１４参照）、上述した偶数のメモリブロックに余分なパルスが印加されることを抑制することができる。
【００８３】
次に、図６に示すフローチャートを用いてベリファイ処理の流れ（第３のパターン）について説明する。第３のパターンのベリファイ処理では、まず、ベリファイ制御回路２８は、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎのメモリセルにベリファイデータに対応したパルスを印加する（ステップＳ２１）。ベリファイデータに対応したパルスを印加する際は、各々の偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎに順次パルスを印加するようにしてもよく、また複数の偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎに一括してパルスを印加するようにしてもよい。
【００８４】
次に、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎにベリファイ処理を実施する（ステップＳ２２）。具体的には、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、メモリセルＭＣに保持されているベリファイデータ（消去ベリファイデータまたは書き込みベリファイデータ）と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である（ベリファイパス）と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である（ベリファイフェイル）と判定する。
【００８５】
そして、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎの少なくとも一つにおいてベリファイ処理が異常である（ベリファイフェイル）と判定された場合（ステップＳ２３：Ｎｏ）、再度、ステップＳ２１〜Ｓ２２の処理を実施する。
【００８６】
一方、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎの全てにおいてベリファイ処理が正常である（ベリファイパス）と判定された場合（ステップＳ２３：Ｙｅｓ）、ベリファイ制御回路２８は、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１のメモリセルにベリファイデータに対応したパルスを印加する（ステップＳ２４）。ベリファイデータに対応したパルスを印加する際は、各々の奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１に順次パルスを印加するようにしてもよく、また複数の奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１に一括してパルスを印加するようにしてもよい。
【００８７】
次に、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１にベリファイ処理を実施する（ステップＳ２５）。具体的には、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、メモリセルＭＣに保持されているベリファイデータ（消去ベリファイデータまたは書き込みベリファイデータ）と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である（ベリファイパス）と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である（ベリファイフェイル）と判定する。
【００８８】
そして、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１の少なくとも一つにおいてベリファイ処理が異常である（ベリファイフェイル）と判定された場合（ステップＳ２６：Ｎｏ）、再度、ステップＳ２４〜Ｓ２５の処理を実施する。
【００８９】
一方、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１の全てにおいてベリファイ処理が正常である（ベリファイパス）と判定された場合（ステップＳ２６：Ｙｅｓ）、半導体記憶装置のベリファイ処理が正常であるとして、ベリファイ処理を終了する。
【００９０】
図４、図５に示したベリファイ処理では、全てのメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１にベリファイデータに対応したパルスを印加していた（図４のステップＳ１、図５のステップＳ１１参照）。このため、偶数のメモリブロックおよび奇数のメモリブロックのいずれか一方においてベリファイ処理が異常であると判定された場合であっても、全てのメモリブロックにパルスが印加され、結果として、正常と判定された方のメモリブロックにもパルスが印加されていた。これに対して、図６に示したベリファイ処理では、偶数のメモリブロックと奇数のメモリブロックとを分離してパルスの印加およびベリファイ処理を実施している。よって、偶数のメモリブロックおよび奇数のメモリブロックのうち、ベリファイ処理が異常であると判定された方のメモリブロックのみにパルスを印加することができるので、結果として、各々のメモリブロックに余分なパルスが印加されることを抑制することができる。
【００９１】
なお、図４〜図６に示したベリファイ処理では、先に偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎにベリファイ処理を実施し、その後、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１にベリファイ処理を実施した場合について説明した。しかし、ベリファイ処理を実施する順番は逆であってもよい。すなわち、先に奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１にベリファイ処理を実施し、その後、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎにベリファイ処理を実施してもよい。
【００９２】
特許文献１に開示されている半導体記憶装置では、センスアンプとは別に１つのベリファイ用アンプが設けられている。そして、各々のメモリセルのベリファイ処理はこの１つのベリファイ用アンプを用いて実施されている。ここで、ベリファイ処理はブロック単位で実施されるので、特許文献１に開示されている半導体記憶装置では、１つのベリファイ用アンプを用いて、ブロック単位で順番に（シリアルに）ベリファイ処理が実施される。
【００９３】
しかしながら、近年、半導体記憶装置のメモリ容量は増加の一途をたどっている。このため、特許文献１に開示されている半導体記憶装置のようにベリファイ処理をブロック単位で順番に（シリアルに）実施した場合は、ベリファイ処理に多くの時間を要するという問題があった。
【００９４】
以下、関連技術にかかる半導体記憶装置を用いて本願の課題について詳細に説明する。図１３は、関連技術にかかる半導体記憶装置を説明するための図である。図１３に示すように、関連技術にかかる半導体記憶装置１０１は、メモリブロック１１１_０〜１１１_２ｎ＋１、センスアンプブロック１１２_０〜１１２_ｍ、ワード線ドライバ１１３、読み出しデータセレクタ１１４、書き込み回路１１５、データラッチ回路１１６、ベリファイデータセレクタ１１７、ベリファイ用アンプ１１８（ＶＳＡ）、データ制御回路１２１、データ入出力端子１２２、アドレス制御回路１２３、及びアドレス入力端子１２４を備える。一対のメモリブロック１１１_０〜１１１_２ｎ＋１およびセンスアンプブロック１１２_０〜１１２_ｍは、単位メモリアレイ１１０_０〜１１０_ｍを構成している。
【００９５】
なお、関連技術にかかる半導体記憶装置１０１が備えるメモリブロック１１１_０〜１１１_２ｎ＋１、センスアンプブロック１１２_０〜１１２_ｍ、ワード線ドライバ１１３、読み出しデータセレクタ１１４、書き込み回路１１５、データラッチ回路１１６、データ制御回路１２１、データ入出力端子１２２、アドレス制御回路１２３、及びアドレス入力端子１２４はそれぞれ、図２に示した半導体記憶装置１が備えるメモリブロック１１_０〜１１_２ｎ＋１、センスアンプブロック１２_０〜１２_ｍ、ワード線ドライバ１３、読み出しデータセレクタ１４、書き込み回路１５、データラッチ回路１６、データ制御回路２１、データ入出力端子２２、アドレス制御回路２３、及びアドレス入力端子２４に対応している。従い、ベリファイ処理以外の動作については、図２に示した半導体装置１と共通するので重複した説明は省略する。
【００９６】
関連技術にかかる半導体記憶装置１０１では、メモリブロックＢＬＫのメモリセルＭＣからベリファイデータを読み出す際、メモリセルＭＣの副ビット線ＢＬと主ビット線ＧＢＬｗとをスイッチＳＷを用いて接続し、主ビット線ＧＢＬｗを介してメモリセルＭＣのベリファイデータを読み出す。読み出されたベリファイデータは、ベリファイデータセレクタ１１７で選択された後、ベリファイ用アンプ（ＶＳＡ）１１８で増幅される。増幅されたベリファイデータは、ＣＰＵ（不図示）において期待値と比較されて、ベリファイ処理が正常であるか否かが判定される。
【００９７】
図１４は、関連技術にかかる半導体記憶装置におけるベリファイ処理を説明するためのフローチャートである。関連技術にかかる半導体記憶装置１０１においてベリファイ処理を実施する際は、まずメモリブロックＢＬＫ_０にパルスを印加して、メモリブロックＢＬＫ_０のメモリセルＭＣ_０にベリファイデータを書き込む（ステップＳ１０１）。その後、メモリブロックＢＬＫ_０にベリファイ処理を実施する（ステップＳ１０２）。具体的には、スイッチＳＷ_０を導通させて、メモリブロックＢＬＫ_０の副ビット線ＢＬ_０と主ビット線ＧＢＬｗとを接続して、メモリセルＭＣ_０に保持されているベリファイデータを主ビット線ＧＢＬｗを介して読み出す。そして、読み出されたベリファイデータをベリファイ用アンプ（ＶＳＡ）１１８で増幅し、増幅後のベリファイデータと期待値とを比較することでベリファイ処理が実施される。
【００９８】
そして、ベリファイ処理が異常である（ベリファイフェイル）と判定された場合は（ステップＳ１０３：Ｎｏ）、再度、ステップＳ１０１〜Ｓ１０２の動作を繰り返す。一方、ベリファイ処理が正常である（ベリファイパス）と判定された場合は（ステップＳ１０３：Ｙｅｓ）、次のメモリブロックＢＬＫ_１のベリファイ処理を実施する。
【００９９】
すなわち、メモリブロックＢＬＫ_１にパルスを印加して、メモリブロックＢＬＫ_１のメモリセルＭＣ_１にベリファイデータを書き込む（ステップＳ１０４）。その後、メモリブロックＢＬＫ_１にベリファイ処理を実施する（ステップＳ１０５）。具体的には、スイッチＳＷ_１を導通させて、メモリブロックＢＬＫ_１の副ビット線ＢＬ_１と主ビット線ＧＢＬｗとを接続して、メモリセルＭＣ_１に保持されているベリファイデータを主ビット線ＧＢＬｗを介して読み出す。そして、読み出されたベリファイデータをベリファイ用アンプ（ＶＳＡ）１１８で増幅し、増幅後のベリファイデータと期待値とを比較することでベリファイ処理が実施される。
【０１００】
そして、ベリファイ処理が異常である（ベリファイフェイル）と判定された場合は（ステップＳ１０６：Ｎｏ）、再度、ステップＳ１０４〜Ｓ１０５の動作を繰り返す。一方、ベリファイ処理が正常である（ベリファイパス）と判定された場合は（ステップＳ１０６：Ｙｅｓ）、次のメモリブロックＢＬＫ_２のベリファイ処理を実施する。以降、同様の動作を繰り返すことで、メモリブロックＢＬＫ_２〜メモリブロックＢＬＫ_２ｎ＋１のベリファイ処理を実施する。そして、最終段のメモリブロックＢＬＫ_２ｎ＋１のベリファイ処理が正常である（ベリファイパス）と判定された場合（ステップＳ１０９：Ｙｅｓ）、半導体記憶装置１０１のベリファイ処理が正常であるとして、ベリファイ処理を終了する。
【０１０１】
このように、関連技術にかかる半導体記憶装置１０１では、センスアンプＨＳＡ_０〜ＨＳＡ_ｍとは別にベリファイ用アンプ（ＶＳＡ）１１８を設けている。そして、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のベリファイ処理はこのベリファイ用アンプ（ＶＳＡ）１１８を用いて実施されている。ここで、ベリファイ用アンプ（ＶＳＡ）１１８は１つのみであるので、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のベリファイ処理は、メモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１毎に順番に（シリアルに）実施される（図１４参照）
【０１０２】
しかしながら、前述の通り、近年、半導体記憶装置のメモリ容量は増加の一途をたどっているため、関連技術にかかる半導体記憶装置１０１のようにベリファイ処理をメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１毎に順番に実施した場合は、ベリファイ処理に多くの時間を要するという問題があった。
【０１０３】
これに対して本実施の形態にかかる半導体記憶装置１（図２参照）では、各々のセンスアンプブロック１２_０〜１２_ｍが備えるセンスアンプＨＳＡ_０〜ＨＳＡ_ｍを用いてベリファイ処理を実施している。つまり、複数のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍをベリファイデータの読み出しに用いているので、複数のメモリブロックに対して同時にベリファイ処理を実施することができる。よって、半導体記憶装置のベリファイ処理に要する時間を短くすることができる。
【０１０４】
なお、本実施の形態にかかる半導体記憶装置１では、複数のメモリブロックのベリファイ処理を一括して実施することを前提としているため、ベリファイ処理の対象となる全てのメモリブロックのメモリセルのデータを同一にする必要がある。例えば、書き込みベリファイは、全てのメモリセルに一括で書き込みを行うテスト動作時等（例えば、チェッカーパターンの書き込み時）に行うことができる。また、消去ベリファイに関しては、フラッシュメモリをメモリブロック単位で消去した場合に行うことができる。
【０１０５】
＜実施の形態２＞
次に、実施の形態２にかかる半導体記憶装置、及び半導体記憶装置の制御方法について説明する。図７は、実施の形態２にかかる半導体記憶装置を示す図である。本実施の形態にかかる半導体記憶装置２では、実施の形態１で説明した半導体記憶装置１（図２参照）と比べて、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍ（３５_０〜３５_ｍ）のベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍをベリファイ制御回路３８に各々独立に送信している点が異なる。これ以外は実施の形態１で説明した半導体記憶装置１と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。
【０１０６】
図７に示すように、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍ（３５_０〜３５_ｍ）のベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍは、各々独立にベリファイ制御回路３８に供給される。図８は、本実施の形態にかかる半導体記憶装置２が備えるベリファイ回路ＶＦ_０〜ＶＦ_ｍ（３５_０〜３５_ｍ）の一例を示す回路図である。
【０１０７】
図８に示すように、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍを備える。各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍで読み出されたメモリセルのデータと、ベリファイ制御回路３８から供給された期待値ｖｃｔｒｌとを比較し、当該比較結果をベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍとして出力する。つまり、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力ｏｕｔ_０〜ｏｕｔ_ｍとベリファイ制御回路３８から供給された期待値ｖｃｔｒｌとを入力し、これらのＸＮＯＲ（排他的論理和の否定）を各々独立にベリファイ制御回路３８に送信する。なお、ベリファイ制御回路３８から供給される期待値ｖｃｔｒｌは、全てのベリファイ回路ＶＦ_０〜ＶＦ_ｍにおいて共通である。
【０１０８】
次に、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍ（３５_０〜３５_ｍ）における具体的な動作について説明する。まず、消去ベリファイの場合の動作について説明する。消去ベリファイの場合、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のメモリセルＭＣ_０〜ＭＣ_２ｎ＋１には消去ベリファイデータが保持されているので、各々のセンスアンプＨＳＡ_０の出力の期待値はハイレベル（“Ｈ”）となる。この場合、ベリファイ制御回路３８は、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍに期待値ｖｃｔｒｌとしてハイレベル（“Ｈ”）を設定する。
【０１０９】
ベリファイ処理の対象となったメモリブロックが正常である場合、センスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力ｏｕｔ_０〜ｏｕｔ_ｍはハイレベル（“Ｈ”）であるので、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの一方の入力にはハイレベル（“Ｈ”）の信号が供給される。また、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの他方の入力には期待値ｖｃｔｒｌとしてハイレベル（“Ｈ”）の信号が供給されているので、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、ベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍとしてハイレベル（“Ｈ”）の信号（ベリファイパスを示す）を各々独立にベリファイ制御回路３８に送信する。
【０１１０】
一方、ベリファイ処理の対象となったメモリブロックが異常である場合は、異常を示すメモリセルに対応するセンスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力ｏｕｔ_０〜ｏｕｔ_ｍがロウレベル（“Ｌ”）となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力のうち、異常を示すメモリセルに対応する論理回路ＸＮＯＲの出力がロウレベル（“Ｌ”：ベリファイフェイルを示す）になる。ベリファイ制御回路３８には各々独立にベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍが供給されるので、ベリファイ制御回路３８は異常を示すメモリブロックＢＬＫを特定することができる。
【０１１１】
次に、書き込みベリファイの場合の動作について説明する。書き込みベリファイの場合、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のメモリセルＭＣ_０〜ＭＣ_２ｎ＋１には書き込みベリファイデータが保持されているので、各々のセンスアンプＨＳＡ_０の出力の期待値はロウレベル（“Ｌ”）となる。この場合、ベリファイ制御回路３８は、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍに期待値ｖｃｔｒｌとしてロウレベル（“Ｌ”）を設定する。
【０１１２】
ベリファイ処理の対象となったメモリブロックが正常である場合、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力ｏｕｔ_０〜ｏｕｔ_ｍはロウレベル（“Ｌ”）であるので、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの一方の入力にはロウレベル（“Ｌ”）の信号が供給される。また、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの他方の入力には期待値ｖｃｔｒｌとしてロウレベル（“Ｌ”）の信号が供給されているので、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、ベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍとしてハイレベル（“Ｈ”）の信号（ベリファイパスを示す）を各々独立にベリファイ制御回路３８に送信する。
【０１１３】
一方、ベリファイ処理の対象となったメモリブロックが異常である場合は、異常を示すメモリセルに対応するセンスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力ｏｕｔ_０〜ｏｕｔ_ｍがハイレベル（“Ｈ”）となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力のうち、異常を示すメモリセルに対応する論理回路ＸＮＯＲの出力がロウレベル（“Ｌ”：ベリファイフェイルを示す）になる。ベリファイ制御回路３８には各々独立にベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍが供給されるので、ベリファイ制御回路３８は異常を示すメモリブロックＢＬＫを特定することができる。
【０１１４】
例えば、ベリファイ制御回路３８は、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１と対応するフラグ領域を備えており、ベリファイ処理の結果が正常である場合、ベリファイ処理の結果が正常であるメモリブロックＢＬＫのフラグを“１”（ベリファイパスを示す）にする。一方、ベリファイ処理の結果が異常である場合、ベリファイ処理の結果が異常であるメモリブロックＢＬＫのフラグを“０”（ベリファイフェイルを示す）とする。ベリファイ制御回路３８は、フラグを用いることで、ベリファイ処理の結果が正常であるメモリブロックＢＬＫと、ベリファイ処理の結果が異常であるメモリブロックＢＬＫとを区別することができる。
【０１１５】
次に、本実施の形態にかかる半導体記憶装置２におけるベリファイ処理の流れ（半導体記憶装置の制御方法）について、図９に示すフローチャートを用いて説明する。なお、以下で示すベリファイ処理の流れは、消去ベリファイおよび書き込みベリファイで共通である。
【０１１６】
図９に示すように、まず、ベリファイ制御回路３８は、メモリブロックＢＬＫ_０のフラグが“０”（ベリファイフェイルを示す）であるか否かを判定する。最初のフローでは、メモリブロックＢＬＫ_０に対して未だ、ベリファイデータに対応したパルスが印加されていないので、メモリブロックＢＬＫ_０のフラグは“０”である（ステップＳ３１：Ｙｅｓ）。よって、ベリファイ制御回路３８は、メモリブロックＢＬＫ_０に対してベリファイデータに対応したパルスを印加する（ステップＳ３２）。
【０１１７】
次に、ベリファイ制御回路３８は、メモリブロックＢＬＫ_１のフラグが“０”（ベリファイフェイルを示す）であるか否かを判定する。最初のフローでは、メモリブロックＢＬＫ_１に対して未だ、ベリファイデータに対応したパルスが印加されていないので、メモリブロックＢＬＫ_１のフラグは“０”である（ステップＳ３３：Ｙｅｓ）。よって、ベリファイ制御回路３８は、メモリブロックＢＬＫ_１に対してベリファイデータに対応したパルスを印加する（ステップＳ３４）。
【０１１８】
以降、メモリブロックＢＬＫ_２〜ＢＬＫ_２ｎ＋１についても同様に、ベリファイ制御回路３８は、メモリブロックＢＬＫ_２〜ＢＬＫ_２ｎ＋１のフラグが“０”（ベリファイフェイルを示す）であるか否かを判定する。最初のフローでは、メモリブロックＢＬＫ_２〜ＢＬＫ_２ｎ＋１に対して未だ、ベリファイデータに対応したパルスが印加されていないので、メモリブロックＢＬＫ_２〜ＢＬＫ_２ｎ＋１のフラグは“０”である。よって、ベリファイ制御回路３８は、メモリブロックＢＬＫ_２〜ＢＬＫ_２ｎ＋１に対してベリファイデータに対応したパルスを印加する。このような動作により、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１に対してベリファイデータに対応したパルスが印加される。
【０１１９】
その後、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎにベリファイ処理を実施する。また、ベリファイ制御回路３８は、ベリファイ処理の結果に応じてフラグを設定する（ステップＳ３７）。具体的には、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、メモリセルＭＣに保持されているベリファイデータ（消去ベリファイデータまたは書き込みベリファイデータ）と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である（ベリファイパス）と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である（ベリファイフェイル）と判定する。
【０１２０】
各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、ベリファイ処理が正常である場合、ベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍとしてベリファイパスを示す信号をベリファイ制御回路３８に送信する。一方、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、ベリファイ処理が異常である場合、ベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍとしてベリファイフェイルを示す信号をベリファイ制御回路３８に送信する。
【０１２１】
ベリファイ制御回路３８は、ベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍに応じて、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のフラグを書き換える。具体的には、ベリファイ制御回路３８は、ベリファイ処理の結果が正常である場合、ベリファイ処理の結果が正常であるメモリブロックＢＬＫのフラグを“１”（ベリファイパスを示す）にする。一方、ベリファイ処理の結果が異常である場合、ベリファイ処理の結果が異常であるメモリブロックＢＬＫのフラグを“０”（ベリファイフェイルを示す）とする。
【０１２２】
次に、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１にベリファイ処理を実施する。また、ベリファイ制御回路３８は、ベリファイ処理の結果に応じてフラグを設定する（ステップＳ３８）。なお、ステップＳ３８の処理については、ステップＳ３７の処理と同様であるので重複した説明は省略する。
【０１２３】
その後、ベリファイ制御回路３８は、全てのメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のフラグが“１”（ベリファイパスを示す）であるか否かを判定する。全てのメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のフラグが“１”（ベリファイパスを示す）である場合は（ステップＳ３９：Ｙｅｓ）、半導体記憶装置２のベリファイ処理が正常であるとして、ベリファイ処理を終了する。一方、メモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のフラグの中に“０”（ベリファイフェイルを示す）が含まれている場合は（ステップＳ３９：Ｎｏ）、ステップＳ３１以降の処理を繰り返す。
【０１２４】
例えば、メモリブロックＢＬＫ_０のフラグが“１”（ベリファイパスを示す）である場合は（ステップＳ３１：Ｎｏ）、メモリブロックＢＬＫ_０にパルスを印加することなく、ステップＳ３３へと移動する。また、例えば、メモリブロックＢＬＫ_１のフラグが“０”（ベリファイフェイルを示す）である場合は（ステップＳ３３：Ｙｅｓ）、再度、メモリブロックＢＬＫ_１にパルスを印加する（ステップＳ３４）。つまり、２回目以降のステップＳ３１〜Ｓ３６では、フラグが“０”（ベリファイフェイルを示す）であるメモリブロックＢＬＫに対して、再度パルスを印加する。
【０１２５】
その後、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、偶数のメモリブロックＢＬＫ_０、ＢＬＫ_２、・・・、ＢＬＫ_２ｎにベリファイ処理を実施する。また、ベリファイ制御回路３８は、ベリファイ処理の結果に応じてフラグを設定する（ステップＳ３７）。
【０１２６】
同様に、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍは、奇数のメモリブロックＢＬＫ_１、ＢＬＫ_３、・・・、ＢＬＫ_２ｎ＋１にベリファイ処理を実施する。また、ベリファイ制御回路３８は、ベリファイ処理の結果に応じてフラグを設定する（ステップＳ３８）。
【０１２７】
その後、ベリファイ制御回路３８は、全てのメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のフラグが“１”（ベリファイパスを示す）であるか否かを判定する。全てのメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のフラグが“１”（ベリファイパスを示す）である場合は（ステップＳ３９：Ｙｅｓ）、半導体記憶装置２のベリファイ処理が正常であるとして、ベリファイ処理を終了する。一方、メモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のフラグの中に“０”（ベリファイフェイルを示す）が含まれている場合は（ステップＳ３９：Ｎｏ）、再度、ステップＳ３１以降の処理を繰り返す。
【０１２８】
本実施の形態にかかる半導体記憶装置２では、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍ（３５_０〜３５_ｍ）のベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍをベリファイ制御回路３８に各々独立に送信するように構成している。よって、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のベリファイ処理の結果を個別に判定することができる。これにより、再度、メモリブロックにパルスを印加する際に、ベリファイフェイルのメモリブロックのみに選択的にパルスを印加することができる。したがって、メモリブロックへの不要なパルスの印加を回避することができるので、メモリセルの劣化を抑えることができる。また、パルス印加時間を短縮することができるので、ベリファイ処理の時間を短縮することができ、テストコストを抑制することができる。
【０１２９】
＜実施の形態３＞
次に、実施の形態３にかかる半導体記憶装置、及び半導体記憶装置の制御方法について説明する。図１０は、実施の形態３にかかる半導体記憶装置を示す図である。本実施の形態にかかる半導体記憶装置３では、実施の形態１で説明した半導体記憶装置１（図２参照）と比べて、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍ（４５_０〜４５_ｍ）のベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍを時分割でベリファイ制御回路４８に送信している点が異なる。これ以外は実施の形態１で説明した半導体記憶装置１と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。
【０１３０】
図１０に示すように、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍ（４５_０〜４５_ｍ）には、選択信号ｓｅｌ_０〜ｓｅｌ_ｍが供給される。各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍ（４５_０〜４５_ｍ）は、選択信号ｓｅｌ_０〜ｓｅｌ_ｍが活性状態となったタイミングで、ベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍをベリファイ制御回路４８に送信する。
【０１３１】
図１１は、本実施の形態にかかる半導体記憶装置３が備えるベリファイ回路ＶＦ_０〜ＶＦ_ｍ（４５_０〜４５_ｍ）の一例を示す回路図である。図１１に示すように、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍ（４５_０〜４５_ｍ）は、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍと、論理回路ＯＲ_０〜ＯＲ_ｍと、論理回路ＡＮＤ_０〜ＡＮＤ_ｍと、を備える。また、ベリファイ制御回路４８にはクロック信号ＣＬＫが供給される。
【０１３２】
各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍで読み出されたメモリセルのベリファイデータと、ベリファイ制御回路４８から供給された期待値ｖｃｔｒｌとを比較し、当該比較結果をベリファイ処理の結果として出力する。つまり、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力ｏｕｔ_０〜ｏｕｔ_ｍとベリファイ制御回路４８から供給された期待値ｖｃｔｒｌとを入力し、これらのＸＮＯＲ（排他的論理和の否定）を各々の論理回路ＯＲ_０〜ＯＲ_ｍの一方の入力に供給する。なお、ベリファイ制御回路４８から供給される期待値ｖｃｔｒｌは、全てのベリファイ回路ＶＦ_０〜ＶＦ_ｍにおいて共通である。
【０１３３】
例えば消去ベリファイの場合、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のメモリセルＭＣ_０〜ＭＣ_２ｎ＋１には消去ベリファイデータが保持されているので、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力の期待値はハイレベル（“Ｈ”）となる。この場合、ベリファイ制御回路４８は、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍに期待値ｖｃｔｒｌとしてハイレベル（“Ｈ”）を設定する。
【０１３４】
ベリファイ処理の対象となったメモリセルが正常である場合、センスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力はハイレベル（“Ｈ”）となるので、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの一方の入力にはハイレベル（“Ｈ”）の信号が供給される。また、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの他方の入力には期待値ｖｃｔｒｌとしてハイレベル（“Ｈ”）の信号が供給されているので、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、ハイレベル（“Ｈ”）の信号ｖｆｏｕｔ_０〜ｖｆｏｕｔ_ｍを各々の論理回路ＯＲ_０〜ＯＲ_ｍの一方の入力に供給する。
【０１３５】
一方、ベリファイ処理の対象となったメモリセルが異常である場合、センスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力はロウレベル（“Ｌ”）となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力はロウレベル（“Ｌ”）になる。よって、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、ベリファイ処理の結果としてロウレベル（“Ｌ”）の信号ｖｆｏｕｔ_０〜ｖｆｏｕｔ_ｍを各々の論理回路ＯＲ_０〜ＯＲ_ｍの一方の入力に供給する。
【０１３６】
また、書き込みベリファイの場合は、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のメモリセルＭＣ_０〜ＭＣ_２ｎ＋１に書き込みベリファイデータが保持されているので、各々のセンスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力の期待値はロウレベル（“Ｌ”）となる。この場合、ベリファイ制御回路４８は、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍに期待値ｖｃｔｒｌとしてロウレベル（“Ｌ”）を設定する。
【０１３７】
ベリファイ処理の対象となったメモリセルが正常である場合、センスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力はロウレベル（“Ｌ”）となるので、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの一方の入力にはロウレベル（“Ｌ”）の信号が供給される。また、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの他方の入力には期待値ｖｃｔｒｌとしてロウレベル（“Ｌ”）の信号が供給されているので、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、ベリファイ処理の結果としてハイレベル（“Ｈ”）の信号ｖｆｏｕｔ_０〜ｖｆｏｕｔ_ｍを各々の論理回路ＯＲ_０〜ＯＲ_ｍの一方の入力に供給する。
【０１３８】
一方、ベリファイ処理の対象となったメモリセルが異常である場合、センスアンプＨＳＡ_０〜ＨＳＡ_ｍの出力はハイレベル（“Ｈ”）となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力はロウレベル（“Ｌ”）になる。よって、論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、ベリファイ処理の結果としてロウレベル（“Ｌ”）の信号ｖｆｏｕｔ_０〜ｖｆｏｕｔ_ｍを各々の論理回路ＯＲ_０〜ＯＲ_ｍの一方の入力に供給する。
【０１３９】
各々の論理回路ＯＲ_０〜ＯＲ_ｍの他方の入力には、ベリファイ制御回路４８から選択信号ｓｅｌ_０〜ｓｅｌ_ｍが供給される。各々の論理回路ＯＲ_０〜ＯＲ_ｍは、選択信号ｓｅｌ_０〜ｓｅｌ_ｍが活性状態（ロウレベル“Ｌ”）の場合、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力ｖｆｏｕｔ_０〜ｖｆｏｕｔ_ｍ（ベリファイ処理の結果）を各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍの一方の入力に出力する。
【０１４０】
一方、各々の論理回路ＯＲ_０〜ＯＲ_ｍは、選択信号ｓｅｌ_０〜ｓｅｌ_ｍが非活性状態（ハイレベル“Ｈ”）の場合、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力ｖｆｏｕｔ_０〜ｖｆｏｕｔ_ｍ（ベリファイ処理の結果）にかかわらず、ハイレベル（“Ｈ”）の信号を各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍの一方の入力に出力する。換言すると、各々の論理回路ＯＲ_０〜ＯＲ_ｍは、選択信号ｓｅｌ_０〜ｓｅｌ_ｍが非活性状態（ハイレベル“Ｈ”）の場合、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力ｖｆｏｕｔ_０〜ｖｆｏｕｔ_ｍ（ベリファイ処理の結果）をマスクする。
【０１４１】
各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍは、各々の論理回路ＯＲ_０〜ＯＲ_ｍの出力と前段のベリファイ結果（ベリファイ回路４５_０は初段の回路なので、初期値として“Ｈ”が設定されている）とを入力し、選択信号が非活性状態の場合には前段のベリファイ結果を出力し、選択信号ｓｅｌ_０〜ｓｅｌ_ｍが活性状態の場合には各々の論理回路ＯＲ_０〜ＯＲ_ｍから供給された論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力ｖｆｏｕｔ_０〜ｖｆｏｕｔ_ｍを出力する。
【０１４２】
つまり、各々の論理回路ＯＲ_０〜ＯＲ_ｍは、選択信号ｓｅｌ_０〜ｓｅｌ_ｍが非活性状態（ハイレベル“Ｈ”）の場合、ハイレベル（“Ｈ”）の信号を各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍの一方の入力に出力する。この場合、各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍは、前段のベリファイ処理の結果を考慮しない。
【０１４３】
一方、各々の論理回路ＯＲ_０〜ＯＲ_ｍは、選択信号ｓｅｌ_０〜ｓｅｌ_ｍが活性状態（ロウレベル“Ｌ”）の場合、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力ｖｆｏｕｔ_０〜ｖｆｏｕｔ_ｍを各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍの一方の入力に出力する。各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍの他方の入力には、前段からハイレベル（“Ｈ”）の信号が供給されているので、各々の論理回路ＡＮＤ_０〜ＡＮＤ_ｍは、各々の論理回路ＯＲ_０〜ＯＲ_ｍから供給された論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍの出力ｖｆｏｕｔ_０〜ｖｆｏｕｔ_ｍを出力する。
【０１４４】
次に、ベリファイ回路ＶＦ_０〜ＶＦ_ｍ（４５_０〜４５_ｍ）の動作について、図１２に示すタイミングチャートを用いて説明する。図１２に示すように、各々の選択信号ｓｅｌ_０〜ｓｅｌ_ｍは、クロック信号ＣＬＫに同期して遷移する。また、各々の論理回路ＸＮＯＲ_０〜ＸＮＯＲ_ｍは、ベリファイ処理の結果ｖｆｏｕｔ_０〜ｖｆｏｕｔ_ｍを出力している。初期状態では、各々の選択信号ｓｅｌ_０〜ｓｅｌ_ｍが非活性状態（ハイレベル“Ｈ”）となっている。
【０１４５】
タイミングｔ１において選択信号ｓｅｌ_０が活性状態（ロウレベル“Ｌ”）になると、図１１に示すベリファイ回路ＶＦ_０の論理回路ＯＲ_０は、論理回路ＸＮＯＲ_０の出力ｖｆｏｕｔ_０（ベリファイ処理の結果）を論理回路ＡＮＤ_０の一方の入力に出力する。論理回路ＡＮＤ_０の他方の入力にはハイレベル（“Ｈ”）の信号が供給されているので、論理回路ＡＮＤ_０は、論理回路ＯＲ_０から供給された論理回路ＸＮＯＲ_０の出力ｖｆｏｕｔ_０をベリファイ結果ｖｒｓｌｔ_０として出力する。
【０１４６】
後段のベリファイ回路ＶＦ_１〜ＶＦ_ｍには非活性状態（ハイレベル“Ｈ”）の選択信号ｓｅｌ_１〜ｓｅｌ_ｍが供給されているので、後段のベリファイ回路ＶＦ_１〜ＶＦ_ｍの論理回路ＡＮＤ_１〜ＡＮＤ_ｍは、ベリファイ回路ＶＦ_０のベリファイ結果ｖｒｓｌｔ_０を後段へと伝達する。その後、タイミングｔ２において、ベリファイ制御回路４８は、論理回路ＡＮＤ_ｍの出力ｖｒｓｌｔ_ｍ、つまり、ベリファイ回路ＶＦ_０から送信されたベリファイ結果ｖｆｏｕｔ_０を取り込む。
【０１４７】
その後、タイミングｔ３において選択信号ｓｅｌ_０が非活性状態（ハイレベル“Ｈ”）、選択信号ｓｅｌ_１が活性状態（ロウレベル“Ｌ”）になると、図１１に示すベリファイ回路ＶＦ_０の論理回路ＯＲ_０は、ハイレベル（“Ｈ”）の信号を論理回路ＡＮＤ_０の一方の入力に出力する。よって、論理回路ＡＮＤ_０は、ハイレベル（“Ｈ”）の信号ｖｒｓｌｔ_０を出力する。また、ベリファイ回路ＶＦ_１の論理回路ＯＲ_１は、論理回路ＸＮＯＲ_１の出力ｖｆｏｕｔ_１（ベリファイ処理の結果）を論理回路ＡＮＤ_１の一方の入力に出力する。論理回路ＡＮＤ_１の他方の入力にはハイレベル（“Ｈ”）の信号が供給されているので、論理回路ＡＮＤ_１は、論理回路ＯＲ_１から供給された論理回路ＸＮＯＲ_１の出力ｖｆｏｕｔ_１をベリファイ結果ｖｒｓｌｔ_１として出力する。
【０１４８】
後段のベリファイ回路ＶＦ_２〜ＶＦ_ｍには非活性状態（ハイレベル“Ｈ”）の選択信号ｓｅｌ_２〜ｓｅｌ_ｍが供給されているので、後段のベリファイ回路ＶＦ_２〜ＶＦ_ｍの論理回路ＡＮＤ_２〜ＡＮＤ_ｍは、ベリファイ回路ＶＦ_１のベリファイ結果ｖｒｓｌｔ_１を後段へと伝達する。その後、タイミングｔ４において、ベリファイ制御回路４８は、論理回路ＡＮＤ_ｍの出力ｖｒｓｌｔ_ｍ、つまり、ベリファイ回路ＶＦ_１から送信されたベリファイ結果ｖｆｏｕｔ_１を取り込む。
【０１４９】
以降、同様の動作を繰り返すことで、ベリファイ回路ＶＦ_２〜ＶＦ_ｍのベリファイ処理の結果ｖｆｏｕｔ_２〜ｖｆｏｕｔ_ｍが時分割で取り込まれる。
【０１５０】
実施の形態２で説明した半導体記憶装置２では、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍのベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍをベリファイ制御回路３８に各々独立に送信するために、ビット線方向にベリファイ回路ＶＦ_０〜ＶＦ_ｍと同じ数だけの配線を配置する必要があった。このためレイアウトの自由度が制限される場合があった。
【０１５１】
これに対して本実施の形態にかかる半導体記憶装置３では、実施の形態１にかかる半導体記憶装置１と同様に、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍをシーケンシャルに接続している。そして、各々のベリファイ回路ＶＦ_０〜ＶＦ_ｍのベリファイ結果ｖｒｓｌｔ_０〜ｖｒｓｌｔ_ｍを時分割でベリファイ制御回路４８に送信するように構成している。よって、レイアウトの自由度が制限されることを抑制しつつ、各々のメモリブロックＢＬＫ_０〜ＢＬＫ_２ｎ＋１のベリファイ処理の結果を個別に判定することができる。
【０１５２】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１５３】
１、２、３  半導体記憶装置
１０_０〜１０_ｍ  単位メモリアレイ
１１_０〜１１_２ｎ＋１  メモリブロック
１２_０〜１２_ｍ  センスアンプブロック
１３  ワード線ドライバ
１４  読み出しデータセレクタ
１５  書き込み回路
１６  データラッチ回路
２１  データ制御回路
２２  データ入出力端子
２３  アドレス制御回路
２４  アドレス入力端子
２５_０〜２５_ｍ、３５_０〜３５_ｍ、４５_０〜４５_ｍ  ベリファイ回路
２８、３８、４８  ベリファイ制御回路
【図１】
2019057351.tif 000003
【図２】
2019057351.tif 000004
【図３】
2019057351.tif 000005
【図４】
2019057351.tif 000006
【図５】
2019057351.tif 000007
【図６】
2019057351.tif 000008
【図７】
2019057351.tif 000009
【図８】
2019057351.tif 000010
【図９】
2019057351.tif 000011
【図１０】
2019057351.tif 000012
【図１１】
2019057351.tif 000013
【図１２】
2019057351.tif 000014
【図１３】
2019057351.tif 000015
【図１４】
2019057351.tif 000016