JP6846321B2 - 半導体記憶装置、及び半導体記憶装置の制御方法 - Google Patents

半導体記憶装置、及び半導体記憶装置の制御方法 Download PDF

Info

Publication number
JP6846321B2
JP6846321B2 JP2017181448A JP2017181448A JP6846321B2 JP 6846321 B2 JP6846321 B2 JP 6846321B2 JP 2017181448 A JP2017181448 A JP 2017181448A JP 2017181448 A JP2017181448 A JP 2017181448A JP 6846321 B2 JP6846321 B2 JP 6846321B2
Authority
JP
Japan
Prior art keywords
verify
verification
memory
data
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017181448A
Other languages
English (en)
Other versions
JP2019057351A (ja
Inventor
洋次 樫原
洋次 樫原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2017181448A priority Critical patent/JP6846321B2/ja
Priority to EP18186371.3A priority patent/EP3460799B1/en
Priority to US16/048,392 priority patent/US10566068B2/en
Priority to KR1020180105267A priority patent/KR102653552B1/ko
Priority to CN201811084744.0A priority patent/CN109545262B/zh
Publication of JP2019057351A publication Critical patent/JP2019057351A/ja
Application granted granted Critical
Publication of JP6846321B2 publication Critical patent/JP6846321B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は半導体記憶装置、及び半導体記憶装置の制御方法に関し、例えばベリファイ機能を備えた半導体記憶装置、及び半導体記憶装置の制御方法に関する。
近年、不揮発性の半導体記憶装置としてフラッシュメモリが多く用いられている。フラッシュメモリは、書き込み動作や消去動作の正否を判定するためにベリファイ処理を行う。例えば、書き込みベリファイ処理では、メモリセルへの書き込みデータを期待値とし、メモリセルに書き込んだデータを読み出した読み出しデータと期待値とを比較して、書き込みデータと読み出しデータとの一致・不一致により書き込み動作の正否を判定する処理である。
特許文献1には、階層化ビット線構造を有する半導体記憶装置に関する技術が開示されている。特許文献1に開示されている半導体記憶装置では、メモリアレイを分割し、ビット線を階層化構造としているので、センスアンプの入力負荷容量を低減することができる。よって、半導体記憶装置の読み出し速度を速くすることができる。
特開2004−318941号公報
特許文献1に開示されている半導体記憶装置では、センスアンプとは別に1つのベリファイ用アンプが設けられている。そして、各々のメモリセルのベリファイ処理はこの1つのベリファイ用アンプを用いて実施されている。ここで、ベリファイ処理はブロック単位で実施されるので、特許文献1に開示されている半導体記憶装置では、1つのベリファイ用アンプを用いて、ブロック単位で順番に(シリアルに)ベリファイ処理が実施される。
しかしながら、近年、半導体記憶装置のメモリ容量は増加の一途をたどっている。このため、特許文献1に開示されている半導体記憶装置のようにベリファイ処理をブロック単位で順番に実施した場合は、ベリファイ処理に多くの時間を要するという問題がある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態にかかる半導体記憶装置は、複数のメモリブロックと、センスアンプと、ベリファイ回路と、を各々備える複数の単位メモリアレイを備える。半導体記憶装置がベリファイ処理を行う際、メモリブロックのメモリセルにベリファイデータに対応したパルスを印加すると共に、各々のベリファイ回路にベリファイデータに対応した期待値を設定する。各々のベリファイ回路は、センスアンプで読み出されたデータと期待値とを比較することでベリファイ処理を行う。
前記一実施の形態によれば、半導体記憶装置のベリファイ処理に要する時間を短くすることができる。
実施の形態にかかる半導体記憶装置が用いられる半導体装置の一例を示すブロック図である。 実施の形態1にかかる半導体記憶装置を示す図である。 実施の形態1にかかる半導体記憶装置が備えるベリファイ回路の一例を示す回路図である。 実施の形態1にかかる半導体記憶装置におけるベリファイ処理の一例を説明するためのフローチャートである。 実施の形態1にかかる半導体記憶装置におけるベリファイ処理の一例を説明するためのフローチャートである。 実施の形態1にかかる半導体記憶装置におけるベリファイ処理の一例を説明するためのフローチャートである。 実施の形態2にかかる半導体記憶装置を示す図である。 実施の形態2にかかる半導体記憶装置が備えるベリファイ回路の一例を示す回路図である。 実施の形態2にかかる半導体記憶装置におけるベリファイ処理の一例を説明するためのフローチャートである。 実施の形態3にかかる半導体記憶装置を示す図である。 実施の形態3にかかる半導体記憶装置が備えるベリファイ回路の一例を示す回路図である。 実施の形態3にかかる半導体記憶装置におけるベリファイ処理を説明するためのタイミングチャートである。 関連技術にかかる半導体記憶装置を説明するための図である。 関連技術にかかる半導体記憶装置におけるベリファイ処理を説明するためのフローチャートである。
<半導体記憶装置が用いられる半導体装置の説明>
まず、実施の形態にかかる半導体記憶装置が用いられる半導体装置の一例について説明する。図1は、実施の形態にかかる半導体記憶装置が用いられる半導体装置の一例を示すブロック図である。図1に示す半導体装置は、例えばマイクロコンピュータMCUである。
図1に示すマイクロコンピュータMCUは、例えばCMOS(Complementary Metal Oxide Semiconductor)技術を用いることによって、単結晶シリコンのような1個の半導体チップに形成される。図1に示すように、マイクロコンピュータMCUは、中央処理装置CPUと、ランダムアクセスメモリRAMと、フラッシュメモリモジュールFMDLと、を備える。中央処理装置CPUは、命令制御部と実行部とを備えており、各種の命令を実行する。ランダムアクセスメモリRAMは、中央処理装置CPUのワーク領域などに利用される。フラッシュメモリモジュールFMDLは、データやプログラムを格納する不揮発性メモリモジュールとして設けられる。
マイクロコンピュータMCUは、更にダイレクトメモリアクセスコントローラDMACと、バスインタフェース回路BIFと、フラッシュシーケンサFSQCと、外部入出力ポートPRTと、タイマTMRと、クロックパルスジェネレータCPGと、高速バスHBUSと、周辺バスPBUSと、を備える。
バスインタフェース回路BIFは、高速バスHBUSと周辺バスPBUSとのバスインタフェース制御若しくはバスブリッジ制御を行う。フラッシュシーケンサFSQCは、フラッシュメモリモジュールFMDLに対するコマンドアクセス制御を行う。クロックパルスジェネレータCPGは、マイクロコンピュータMCUを制御するための内部クロックCLKを生成する。
マイクロコンピュータMCUのバス構成は特に制限されないが、図1の場合には、高速バスHBUSと周辺バスPBUSとが設けられている。高速バスHBUSおよび周辺バスPBUSの各々は、特に制限されないが、データバス、アドレスバスおよびコントロールバスを有する。高速バスHBUSおよび周辺バスPBUSという2本のバスを設けることによって、共通のバスに全ての回路を共通接続する場合と比べてバスの負荷を軽くし、高速アクセス動作を保証することができる。
高速バスHBUSには、中央処理装置CPU、ダイレクトメモリアクセスコントローラDMAC、バスインタフェース回路BIF、ランダムアクセスメモリRAM、およびフラッシュメモリモジュールFMDLが接続される。周辺バスPBUSには、フラッシュシーケンサFSQC、外部入出力ポートPRT、タイマTMR、およびクロックパルスジェネレータCPGが接続される。
マイクロコンピュータMCUは、更に、発振子が接続されるかまたは外部クロックが供給されるクロック端子XTAL/EXTALと、スタンバイ状態を指示する外部ハードウェアスタンバイ端子STBYと、リセットを指示する外部リセット端子RESと、外部電源端子Vccと、外部接地端子Vssと、を備える。
図1では、ロジック回路としてのフラッシュシーケンサFSQCと、アレイ構成のフラッシュメモリモジュールFMDLとは、別CADツールを用いて設計されているため、便宜上別々の回路ブロックとして図示されているが、双方併せて1つのフラッシュメモリを構成する。
フラッシュメモリモジュールFMDLは、読出し専用の高速アクセスポートHACSPを介して高速バスHBUSに接続される。CPUまたはDMACは、高速バスHBUSから高速アクセスポートHACSPを介してフラッシュメモリモジュールFMDLに対してリードアクセスすることができる。CPUまたはDMACは、フラッシュメモリモジュールFMDLに対して書込みおよび初期化のアクセスを行うときは、バスインタフェースBIFを介して周辺バスPBUS経由でフラッシュシーケンサFSQCにコマンドを発行する。このコマンドに応答して、フラッシュシーケンサFSQCは、周辺バスPBUSから低速アクセスポートLACSPを通じてフラッシュメモリモジュールFMDLの初期化や書込み動作の制御を行う。
以下で説明する半導体記憶装置は、図1に示した半導体装置(マイクロコンピュータMCU)で用いられているフラッシュメモリモジュールFMDLに対応する。以下、実施の形態1〜3にかかる半導体記憶装置について説明する。
<実施の形態1>
以下、図面を参照して実施の形態1にかかる半導体記憶装置、及び半導体記憶装置の制御方法について説明する。図2は、本実施の形態にかかる半導体記憶装置を示す図である。図2に示すように、本実施の形態にかかる半導体記憶装置1は、メモリブロック11_0〜11_2n+1、センスアンプブロック12_0〜12_m、ワード線ドライバ13、読み出しデータセレクタ14、書き込み回路15、データラッチ回路16、データ制御回路21、アドレス制御回路23、及びベリファイ制御回路28を備える。ここで、nは0以上の整数である。また、mは0以上の整数である。nとmは、m=nの関係にある。なお、n、mの定義については本明細書において同様である。また、本明細書において各構成要素を総称して示す場合は、n、mを用いずに「メモリブロック11」のように記載する。
例えば、一対のメモリブロック11_0、11_1(以下、メモリブロックBLK_0、BLK_1とも記載する)およびセンスアンプブロック12_0は、単位メモリアレイ10_0を構成している。センスアンプブロック12_0は、メモリブロック11_0(BLK_0)とメモリブロック11_1(BLK_1)との間に配置されている。
メモリブロックBLK_0は、複数のメモリセルMC_0を備える。なお、図2では説明を簡略化するために、1つのメモリブロックBLK_0に1つのメモリセルMC_0のみを図示している。他のメモリブロックBLK_1〜2n+1についても同様である。メモリセルMC_0は、電気的に消去および書き込み可能な不揮発性のメモリセルである。メモリセルMC_0は、ワード線WL_0および副ビット線BL_0に接続されている。
同様に、メモリブロックBLK_1は、複数のメモリセルMC_1を備える。メモリセルMC_1は、電気的に消去および書き込み可能な不揮発性のメモリセルである。メモリセルMC_1は、ワード線WL_1および副ビット線BL_1に接続されている。
なお、本実施の形態において、メモリセルMC_0、MC_1の構成は特に限定されることはないが、一例を挙げると、スタックドゲート構造やスプリットゲート構造等が挙げられる。スタックドゲート構造は、ソース、ドレイン、チャネル、チャネル上に相互に絶縁形成されて積み上げられたフローティングゲート及びコントロールゲートを備える構造である。また、スプリットゲート構造は、ソース、ドレイン、チャネル、チャネル上で隣合って相互に絶縁形成された選択ゲート及びメモリゲートを備える構造である。
センスアンプブロック12_0は、センスアンプHSA_0およびベリファイ回路25_0(以下、ベリファイ回路VF_0とも記載する)を備える。センスアンプHSA_0は、各々のメモリセルMC_0、MC_1に保持されているデータを読み出す。ベリファイ回路VF_0は、各々のメモリセルMC_0、MC_1に保持されているデータをベリファイする。
センスアンプHSA_0の一方の入力端子には、メモリブロックBLK_0の副ビット線BL_0が接続されている。なお、図2では、便宜的に1つの副ビット線BL_0がセンスアンプHSA_0の一方の入力端子に接続された構成を示しているが、本実施の形態では、センスアンプHSA_0の一方の入力端子には複数の副ビット線BL_0が選択的に接続されるように構成されている。例えば、センスアンプHSA_0の一方の入力端子と複数の副ビット線BL_0との間には列選択回路(不図示)が設けられており、この列選択回路を用いることで、複数の副ビット線BL_0の中から1つの副ビット線BL_0を選択的にセンスアンプHSA_0の一方の入力端子に接続することができる。
センスアンプHSA_0の他方の入力端子には、メモリブロックBLK_1の副ビット線BL_1が接続されている。なお、図2では、便宜的に1つの副ビット線BL_1がセンスアンプHSA_0の他方の入力端子に接続された構成を示しているが、本実施の形態では、センスアンプHSA_0の他方の入力端子には複数の副ビット線BL_1が選択的に接続されるように構成されている。例えば、センスアンプHSA_0の他方の入力端子と複数の副ビット線BL_1との間には列選択回路(不図示)が設けられており、この列選択回路を用いることで、複数の副ビット線BL_1の中から1つの副ビット線BL_1を選択的にセンスアンプHSA_0の他方の入力端子に接続することができる。
例えば、メモリセルMC_0に保持されているデータを読み出す際は、センスアンプHSA_0の一方の入力端子を副ビット線BL_0に接続し、他方の入力端子をリファレンスに接続する。センスアンプHSA_0は、このときの副ビット線BL_0とリファレンスとの電位差に基づいてメモリセルMC_0に保持されているデータを読み出す。センスアンプHSA_0の出力端子は読み出し用の主ビット線GBLrと接続されており、センスアンプHSA_0から出力された読み出しデータは、読み出し用の主ビット線GBLrを介して読み出しデータセレクタ14に供給される。
また、センスアンプHSA_0の出力端子はベリファイ回路VF_0に接続されている。ベリファイ回路VF_0は、センスアンプHSA_0で読み出されたメモリセルMC_0に保持されているデータと期待値vctrlとを比較することでベリファイ処理を行う。ここで期待値vctrlは、ベリファイ制御回路28を用いてベリファイ回路VF_0に設定される値である。ベリファイ回路VF_0の詳細については後述する。
なお、図2では図面を簡略化するために、1つのセンスアンプブロック12_0に1つのセンスアンプHSA_0と1つのベリファイ回路VF_0を図示している。しかし、本実施の形態にかかる半導体記憶装置では、1つのセンスアンプブロック12_0には、センスアンプHSA_0とベリファイ回路VF_0との組み合わせが複数設けられており、このセンスアンプHSA_0とベリファイ回路VF_0との組み合わせの数は、メモリブロックBLK_0、BLK_1のメモリセルMC_0、MC_1の数が増加するほど多くなる。
また、上記では一対のメモリブロック11_0、11_1(BLK_0、BLK_1)とセンスアンプブロック12_0とを備える単位メモリアレイ10_0の構成について説明したが、他の単位メモリアレイ10_1〜10_mの構成についても同様である。
書き込み回路15は、各々のメモリセルMC_0〜MC_2n+1に書き込むデータを生成する。書き込み回路15で生成された書き込みデータは、書き込み用の主ビット線GBLwを用いて各々のメモリブロックBLK_0〜BLK_2n+1に伝達される。各々のメモリブロックBLK_0〜BLK_2n+1の副ビット線BL_0〜BL_2n+1は、スイッチSW_0〜SW_2n+1を介して書き込み用の主ビット線GBLwに接続される。つまり、書き込み用の主ビット線GBLwを介して伝達された書き込みデータは、スイッチSW_0〜SW_2n+1のオン・オフを制御することで、副ビット線BL_0〜BL_2n+1に選択的に伝達される。
このように、本実施の形態にかかる半導体記憶装置は階層化ビット線構造を備えており、書き込み用の主ビット線GBLwを介して伝達された書き込みデータは、スイッチSW_0〜SW_2n+1のオン・オフを制御することで、書き込みデータを書き込むべきメモリセルMC_0〜MC_2n+1に選択的に伝達される。メモリセルMC_0〜MC_2n+1のいずれかに書き込みデータを書き込む際は、書き込みデータを書き込むメモリセルMC_0〜MC_2n+1に接続されているワード線WL_0〜WL_2n+1を活性状態とする。
例えば、書き込み回路15で生成された書き込みデータをメモリセルMC_0に書き込む場合は、スイッチSW_0をオン状態とし、スイッチSW_1〜SW_2n+1をオフ状態とする。これにより、書き込み用の主ビット線GBLwとメモリブロックBLK_0の副ビット線BL_0とが接続される。そして、メモリセルMC_0に接続されているワード線WL_0を活性状態にする。
また、本実施の形態にかかる半導体記憶装置は階層化ビット線構造を備えるので、各々のセンスアンプHSA_0〜HSA_mは高速で動作することができる。つまり、本実施の形態にかかる半導体記憶装置では、メモリアレイを複数のメモリブロック11に分割し、この分割したメモリブロック11の各々に副ビット線BLを設けている。各々の副ビット線BLは共通の書き込み用の主ビット線GBLwにスイッチSWを介して接続される。よって、各々のセンスアンプHSA_0〜HSA_mは負荷の軽い副ビット線BLのみをセンスすればよいので、高速に動作することができる。
データ制御回路21にはデータ入出力端子22を介して書き込みデータが供給される。データ制御回路21に供給された書き込みデータはデータラッチ回路16に供給される。データラッチ回路16は、データ制御回路21から順次供給される書き込みデータを一時的にラッチした後、書き込み回路15に書き込みデータを供給する。
また、データ制御回路21には読み出しデータセレクタ14から読み出しデータが供給される。読み出しデータセレクタ14から供給された読み出しデータは、データ入出力端子22を介して外部に出力される。
アドレス制御回路23にはアドレス入力端子24を介してアドレス信号が供給される。アドレス制御回路23に供給されたアドレス信号は、ワード線ドライバ13および読み出しデータセレクタ14に供給される。ワード線ドライバ13は、アドレス制御回路23から供給されたアドレス信号に対応したワード線WL_0〜WL_2n+1を活性状態にする。これにより、アドレス制御回路23から供給されたアドレス信号に対応したメモリセルMC_0〜MC_2n+1が選択される。
また、読み出しデータセレクタ14は、アドレス制御回路23から供給されたアドレス信号に対応した読み出しデータをデータ制御回路21に出力する。すなわち、読み出しデータセレクタ14には複数の読み出し用の主ビット線GBLrが接続されており、読み出しデータセレクタ14は、複数の読み出し用の主ビット線GBLrのうち、アドレス制御回路23から供給されたアドレス信号に対応した読み出し用の主ビット線GBLrを選択し、この選択された主ビット線GBLrの読み出しデータをデータ制御回路21に出力する。
次に、図2に示すベリファイ回路25_0〜25_m(以下、ベリファイ回路VF_0〜VF_mとも記載する)について詳細に説明する。各々のベリファイ回路VF_0〜VF_mは、各々のセンスアンプHSA_0〜HSA_mで読み出されたメモリセルMC_0〜MC_2n+1のデータと期待値とを比較することでベリファイ処理を行う。ベリファイ制御回路28は、各々のベリファイ回路VF_0〜VF_mにおけるベリファイ処理を制御する。
具体的には、メモリブロックBLK_0のメモリセルMC_0にベリファイ処理を行う場合、ベリファイ制御回路28は、書き込み回路15を用いてメモリセルMC_0にベリファイデータに対応したパルスを印加してベリファイデータを書き込む。また、ベリファイ制御回路28は、ベリファイ回路VF_0にベリファイデータに対応した期待値を設定する。ここで、ベリファイデータとは消去ベリファイデータまたは書き込みベリファイデータである。
例えば、メモリブロックBLK_0のメモリセルMC_0に消去ベリファイデータが保持されている場合、センスアンプHSA_0の出力の期待値はハイレベル(“H”)となる。この場合、ベリファイ制御回路28は、ベリファイ回路VF_0にベリファイデータに対応した期待値としてハイレベル(“H”)を設定する。
その後、センスアンプHSA_0の一方の入力端子を副ビット線BL_0に接続し、他方の入力端子をリファレンスに接続して、メモリセルMC_0に保持されている消去ベリファイデータを読み出す。そして、ベリファイ回路VF_0は、センスアンプHSA_0の出力が、設定された期待値(ハイレベル“H”)と一致する場合、つまり、センスアンプHSA_0の出力がハイレベル(“H”)の場合、ベリファイ処理が正常であると判定する。一方、ベリファイ回路VF_0は、センスアンプHSA_0の出力が、設定された期待値(ハイレベル“H”)と一致しない場合、つまり、センスアンプHSA_0の出力がロウレベル(“L”)の場合、ベリファイ処理が異常であると判定する。
なお、メモリブロックBLK_0のメモリセルMC_0に書き込みベリファイデータが保持されている場合は、センスアンプHSA_0の出力の期待値はロウレベル(“L”)となる。この場合、ベリファイ制御回路28は、ベリファイ回路VF_0にベリファイデータに対応した期待値としてロウレベル(“L”)を設定する。それ以外の動作については、上述した消去ベリファイデータを用いたベリファイ処理の動作と同様である。
また、メモリブロックBLK_1のメモリセルMC_1にベリファイ処理を行う場合、ベリファイ制御回路28は、書き込み回路15を用いてメモリセルMC_1にベリファイデータに対応したパルスを印加してベリファイデータを書き込む。また、ベリファイ制御回路28は、ベリファイ回路VF_1にベリファイデータに対応した期待値を設定する。
例えば、メモリブロックBLK_1のメモリセルMC_1に消去ベリファイデータが保持されている場合、センスアンプHSA_0の出力の期待値は“H(ハイレベル)”となる。この場合、ベリファイ制御回路28は、ベリファイ回路VF_0にベリファイデータに対応した期待値としてハイレベル(“H”)を設定する。
その後、センスアンプHSA_0の一方の入力端子をリファレンスに接続し、他方の入力端子を副ビット線BL_1に接続して、メモリセルMC_1に保持されている消去ベリファイデータを読み出す。そして、ベリファイ回路VF_0は、センスアンプHSA_0の出力が、設定された期待値(ハイレベル“H”)と一致する場合、つまり、センスアンプHSA_0の出力がハイレベル(“H”)の場合、ベリファイ処理が正常であると判定する。一方、ベリファイ回路VF_0は、センスアンプHSA_0の出力が、設定された期待値(ハイレベル“H”)と一致しない場合、つまり、センスアンプHSA_0の出力がロウレベル(“L”)の場合、ベリファイ処理が異常であると判定する。
なお、メモリブロックBLK_1のメモリセルMC_1に書き込みベリファイデータが保持されている場合は、センスアンプHSA_0の出力の期待値はロウレベル(“L”)となる。この場合、ベリファイ制御回路28は、ベリファイ回路VF_0にベリファイデータに対応した期待値としてロウレベル(“L”)を設定する。それ以外の動作については、上述した消去ベリファイデータを用いたベリファイ処理の動作と同様である。
ここで、センスアンプHSA_0およびベリファイ回路VF_0は、2つのメモリブロックBLK_0、BLK_1で共有しているので、2つのメモリブロックBLK_0、BLK_1に対して同時にベリファイ処理を行うことはできない。このため、本実施の形態にかかる半導体記憶装置1では、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nと奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1とを異なるタイミングでベリファイ処理している(nは0以上の整数)。
例えば、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nにベリファイ処理を実施した後に、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1にベリファイ処理を実施してもよい。逆に、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1にベリファイ処理を実施した後に、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nにベリファイ処理を実施してもよい。
また、例えば、本実施の形態にかかる半導体記憶装置1は、メモリブロックBLK_0が備える全てのメモリセルMC_0に対してベリファイ処理を実施するので、メモリブロックBLK_0が備える全てのメモリセルMC_0に同一のベリファイデータが書き込まれる。
例えば、メモリブロックBLK_0が備えるメモリセルMC_0に消去ベリファイデータを書き込む場合は、メモリブロックBLK_0の全てのメモリセルMC_0に消去ベリファイデータを書き込む。また、メモリブロックBLK_0が備えるメモリセルMC_0に書き込みベリファイデータを書き込む場合は、メモリブロックBLK_0の全てのメモリセルMC_0に書き込みベリファイデータを書き込む。他のメモリブロックBLK_1〜BLK_2n+1が備えるメモリセルMC_1〜MC_2n+1についても同様である。
各々のベリファイ回路VF_0〜VF_mにおけるベリファイ処理の結果は、ベリファイ制御回路28に供給される。図2に示す構成では、各々のベリファイ回路VF_0〜VF_mは、各々のベリファイ回路VF_0〜VF_mにおけるベリファイ処理の結果をベリファイ制御回路28にシーケンシャルに(連続的に)送信するように構成されている。この構成では、全てのベリファイ回路VF_0〜VF_mにおけるベリファイ処理の結果が正常である場合に、最終段のベリファイ回路VF_mからベリファイ制御回路28に正常を示すベリファイ結果vrslt_mが供給される。換言すると、ベリファイ回路VF_0〜VF_mのうちの少なくとも1つのベリファイ回路においてベリファイ処理の結果が異常であると判定された場合、最終段のベリファイ回路VF_mはベリファイ制御回路28に異常を示すベリファイ結果vrslt_mを供給する。
図3は、本実施の形態にかかる半導体記憶装置が備えるベリファイ回路の一例を示す回路図である。図3に示すように、各々のベリファイ回路25_0〜25_m(VF_0〜VF_m)は、論理回路XNOR_0〜XNOR_mと、論理回路AND_0〜AND_mと、を備える。
各々の論理回路XNOR_0〜XNOR_mは、各々のセンスアンプHSA_0〜HSA_mで読み出されたメモリセルのデータと、ベリファイ制御回路28から供給された期待値vctrlとを比較し、当該比較結果をベリファイ処理の結果として出力する。つまり、各々の論理回路XNOR_0〜XNOR_mは、各々のセンスアンプHSA_0〜HSA_mの出力out_0〜out_mとベリファイ制御回路28から供給された期待値vctrlとを入力し、これらのXNOR(排他的論理和の否定)を各々の論理回路AND_0〜AND_mの一方の入力に供給する。なお、ベリファイ制御回路28から供給される期待値vctrlは、全てのベリファイ回路VF_0〜VF_mにおいて共通である。
各々の論理回路AND_0〜AND_mは、各々の論理回路XNOR_0〜XNOR_mの出力と前段のベリファイ処理の結果(ベリファイ回路25_0は初段の回路であるため、初期値として“H”が設定されている)とを入力し、論理回路XNOR_0〜XNOR_mの出力と前段のベリファイ処理の結果とが共に正常である場合に、正常を示す信号を出力する。
図3に示すように、各々のベリファイ回路VF_0〜VF_mはシーケンシャルに接続されている。具体的には、各々の論理回路AND_0〜AND_mはシーケンシャルに接続されているので、全ての論理回路XNOR_0〜XNOR_mの出力がハイレベル(正常を示す)である場合に、全ての論理回路AND_0〜AND_mの出力vrslt_0〜vrslt_mがハイレベル(正常を示す)となり、ベリファイ制御回路28にはベリファイ結果vrslt_mとしてハイレベルの信号が供給される。
次に、各々のベリファイ回路VF_0〜VF_mにおける具体的な動作について説明する。まず、消去ベリファイの場合の動作について説明する。消去ベリファイの場合、各々のメモリブロックBLK_0〜BLK_2n+1のメモリセルMC_0〜MC_2n+1には消去ベリファイデータが保持されているので、各々のセンスアンプHSA_0の出力の期待値はハイレベル(“H”)となる。この場合、ベリファイ制御回路28は、各々のベリファイ回路VF_0〜VF_mに期待値vctrlとしてハイレベル(“H”)を設定する。
ベリファイ処理の対象となったメモリセルが正常である場合、各々のセンスアンプHSA_0〜HSA_mの出力はハイレベル(“H”)であるので、各々の論理回路XNOR_0〜XNOR_mの一方の入力にはハイレベル(“H”)の信号が供給される。また、各々の論理回路XNOR_0〜XNOR_mの他方の入力には期待値vctrlとしてハイレベル(“H”)の信号が供給されているので、各々の論理回路XNOR_0〜XNOR_mは、ベリファイ処理の結果としてハイレベル(“H”)の信号を各々の論理回路AND_0〜AND_mの一方の入力に供給する。
また、初段のベリファイ回路VF_0の論理回路AND_0の他方の入力にはハイレベル(“H”)の信号が供給されているので、論理回路AND_0はハイレベル(“H”)のベリファイ結果vrslt_0を次段の論理回路AND_1の他方の入力に供給する。また、ベリファイ回路VF_1の論理回路AND_1の一方の入力には、論理回路XNOR_1からハイレベル(“H”)の信号が供給され、他方の入力には前段の論理回路AND_0からハイレベル(“H”)のベリファイ結果vrslt_0が供給される。よって、論理回路AND_1はハイレベル(“H”)のベリファイ結果vrslt_1を次段の論理回路AND_2の他方の入力に供給する。
このように、ベリファイ処理の対象となったメモリセルが全て正常である場合は、各々の論理回路XNOR_0〜XNOR_mから出力される信号がハイレベル(“H”)であるので、各々の論理回路AND_0〜AND_mは、次段にベリファイ結果vrslt_0〜vrslt_mとしてハイレベル(“H”)の信号を出力する。よって、ベリファイ制御回路28にはハイレベル(“H”)のベリファイ結果vrslt_mが供給される。
一方、ベリファイ処理の対象となったメモリセルのうちの少なくとも一つが異常である場合は、センスアンプHSA_0〜HSA_mのうちの少なくとも一つの出力がロウレベル(“L”)となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路XNOR_0〜XNOR_mのうちの少なくとも一つの出力がロウレベル(“L”)になる。よって、論理回路AND_0〜AND_mのうちロウレベル(“L”)の信号が供給された論理回路AND_0〜AND_mは、ベリファイ結果vrslt_0〜vrslt_mとしてロウレベル(“L”)の信号を出力するので、以降の論理回路ANDの出力はロウレベル(“L”)となる。よって、ベリファイ制御回路28にはロウレベル(“L”)のベリファイ結果vrslt_mが供給される。
次に、書き込みベリファイの場合の動作について説明する。書き込みベリファイの場合、各々のメモリブロックBLK_0〜BLK_2n+1のメモリセルMC_0〜MC_2n+1には書き込みベリファイデータが保持されているので、各々のセンスアンプHSA_0の出力の期待値はロウレベル(“L”)となる。この場合、ベリファイ制御回路28は、各々のベリファイ回路VF_0〜VF_mに期待値vctrlとしてロウレベル(“L”)を設定する。
ベリファイ処理の対象となったメモリセルが全て正常である場合、各々のセンスアンプHSA_0〜HSA_mの出力はロウレベル(“L”)であるので、各々の論理回路XNOR_0〜XNOR_mの一方の入力にはロウレベル(“L”)の信号が供給される。また、各々の論理回路XNOR_0〜XNOR_mの他方の入力には期待値vctrlとしてロウレベル(“L”)の信号が供給されているので、各々の論理回路XNOR_0〜XNOR_mは、ベリファイ処理の結果としてハイレベル(“H”)の信号を各々の論理回路AND_0〜AND_mの一方の入力に供給する。
また、初段のベリファイ回路VF_0の論理回路AND_0の他方の入力にはハイレベル(“H”)の信号が供給されているので、論理回路AND_0はハイレベル(“H”)のベリファイ結果vrslt_0を次段の論理回路AND_1の他方の入力に供給する。また、ベリファイ回路VF_1の論理回路AND_1の一方の入力には、論理回路XNOR_1からハイレベル(“H”)の信号が供給され、他方の入力には前段の論理回路AND_0からハイレベル(“H”)のベリファイ結果vrslt_0が供給される。よって、論理回路AND_1はハイレベル(“H”)のベリファイ結果vrslt_1を次段の論理回路AND_2の他方の入力に供給する。
このように、ベリファイ処理の対象となったメモリセルが全て正常である場合は、各々の論理回路XNOR_0〜XNOR_mから出力される信号がハイレベル(“H”)であるので、各々の論理回路AND_0〜AND_mは、次段にハイレベル(“H”)のベリファイ結果vrslt_0〜vrslt_mを出力する。よって、ベリファイ制御回路28にはハイレベル(“H”)のベリファイ結果vrslt_mが供給される。
一方、ベリファイ処理の対象となったメモリセルのうちの少なくとも一つが異常である場合は、センスアンプHSA_0〜HSA_mのうちの少なくとも一つの出力がハイレベル(“H”)となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路XNOR_0〜XNOR_mのうちの少なくとも一つの出力がロウレベル(“L”)になる。よって、論理回路AND_0〜AND_mのうちロウレベル(“L”)の信号が供給された論理回路AND_0〜AND_mは、ベリファイ結果vrslt_0〜vrslt_mとしてロウレベル(“L”)の信号を出力するので、以降の論理回路ANDの出力はロウレベル(“L”)となる。よって、ベリファイ制御回路28にはロウレベル(“L”)のベリファイ結果vrslt_mが供給される。
以上で説明した動作により、ベリファイ制御回路28に供給されたベリファイ結果vrslt_mがハイレベル(“H”)の場合は、ベリファイ処理の対象となったメモリセルが全て正常(ベリファイパス)であると判定される。一方、ベリファイ制御回路28に供給されたベリファイ結果vrslt_mがロウレベル(“L”)の場合は、ベリファイ処理の対象となったメモリセルのうちの少なくとも一つが異常(ベリファイフェイル)であると判定される。このように、本実施の形態にかかる半導体記憶装置では、複数のメモリブロックBLKのベリファイ処理を同時に実施することができる。
次に、本実施の形態にかかる半導体記憶装置におけるベリファイ処理の流れ(半導体記憶装置の制御方法)について、図4〜図6に示すフローチャートを用いて説明する。なお、以下で示すベリファイ処理の流れは、消去ベリファイおよび書き込みベリファイで共通である。
図2に示したように、本実施の形態にかかる半導体記憶装置1では、2つのメモリブロックBLK(11)に対して1つのセンスアンプブロック12を備える。よって、各々の単位メモリアレイ10においてベリファイ処理を実施する場合は、偶数側のメモリブロックと奇数側のメモリブロックとの2回に分けて実施する必要がある。
まず、図4に示すフローチャートを用いてベリファイ処理の流れ(第1のパターン)について説明する。第1のパターンのベリファイ処理では、まず、ベリファイ制御回路28は、メモリブロックBLK_0〜BLK_2n+1のメモリセルにベリファイデータに対応したパルスを印加する(ステップS1)。ベリファイデータに対応したパルスとは、各々のメモリブロックBLK_0〜BLK_2n+1のメモリセルに、消去ベリファイデータを書き込むためのパルス電圧、または書き込みベリファイデータを書き込むためのパルス電圧である。ベリファイデータに対応したパルスを印加する際は、各々のメモリブロックBLK_0〜BLK_2n+1に順次パルスを印加するようにしてもよく、また複数のメモリブロックBLK_0〜BLK_2n+1に一括してパルスを印加するようにしてもよい。
次に、各々のベリファイ回路VF_0〜VF_mは、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nにベリファイ処理を実施する(ステップS2)。具体的には、各々のベリファイ回路VF_0〜VF_mは、メモリセルMCに保持されているベリファイデータ(消去ベリファイデータまたは書き込みベリファイデータ)と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である(ベリファイパス)と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である(ベリファイフェイル)と判定する。
偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nの少なくとも一つにおいてベリファイ処理が異常である(ベリファイフェイル)と判定された場合(ステップS3:No)、再度、ステップS1〜S2の処理を実施する。
一方、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nの全てにおいてベリファイ処理が正常である(ベリファイパス)と判定された場合(ステップS3:Yes)、各々のベリファイ回路VF_0〜VF_mは、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1にベリファイ処理を実施する(ステップS4)。具体的には、各々のベリファイ回路VF_0〜VF_mは、メモリセルMCに保持されているベリファイデータ(消去ベリファイデータまたは書き込みベリファイデータ)と期待値とを比較し、両者が一致する場合はベリファイ処理が正常である(ベリファイパス)と判定する。一方、両者が一致しない場合は、ベリファイ処理が異常である(ベリファイフェイル)と判定する。
奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1の少なくとも一つにおいてベリファイ処理が異常である(ベリファイフェイル)と判定された場合(ステップS5:No)、再度、ステップS1〜S4の処理を実施する。一方、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1の全てにおいてベリファイ処理が正常である(ベリファイパス)と判定された場合(ステップS5:Yes)、半導体記憶装置のベリファイ処理が正常であるとして、ベリファイ処理を終了する。
次に、図5に示すフローチャートを用いてベリファイ処理の流れ(第2のパターン)について説明する。第2のパターンのベリファイ処理では、まず、ベリファイ制御回路28は、メモリブロックBLK_0〜BLK_2n+1のメモリセルにベリファイデータに対応したパルスを印加する(ステップS11)。ベリファイデータに対応したパルスとは、各々のメモリブロックBLK_0〜BLK_2n+1のメモリセルに消去ベリファイデータを書き込むためのパルス電圧、または書き込みベリファイデータを書き込むためのパルス電圧である。ベリファイデータに対応したパルスを印加する際は、各々のメモリブロックBLK_0〜BLK_2n+1に順次パルスを印加するようにしてもよく、また複数のメモリブロックBLK_0〜BLK_2n+1に一括してパルスを印加するようにしてもよい。
次に、各々のベリファイ回路VF_0〜VF_mは、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nにベリファイ処理を実施する(ステップS12)。具体的には、各々のベリファイ回路VF_0〜VF_mは、メモリセルMCに保持されているベリファイデータ(消去ベリファイデータまたは書き込みベリファイデータ)と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である(ベリファイパス)と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である(ベリファイフェイル)と判定する。
次に、各々のベリファイ回路VF_0〜VF_mは、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1にベリファイ処理を実施する(ステップS13)。具体的には、各々のベリファイ回路VF_0〜VF_mは、メモリセルMCに保持されているベリファイデータ(消去ベリファイデータまたは書き込みベリファイデータ)と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である(ベリファイパス)と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である(ベリファイフェイル)と判定する。
そして、メモリブロックBLK_0〜BLK_2n+1の少なくとも一つにおいてベリファイ処理が異常である(ベリファイフェイル)と判定された場合(ステップS14:No)、再度、ステップS11〜S13の処理を実施する。一方、メモリブロックBLK_0〜BLK_2n+1の全てにおいてベリファイ処理が正常である(ベリファイパス)と判定された場合(ステップS14:Yes)、半導体記憶装置のベリファイ処理が正常であるとして、ベリファイ処理を終了する。
図4に示したベリファイ処理では、偶数のメモリブロックのベリファイ処理が正常であると判定された後に、奇数のメモリブロックのベリファイ処理を実施している。ここで、図4に示したベリファイ処理では、全てのメモリブロックBLK_0〜BLK_2n+1にベリファイデータに対応したパルスを印加しているので(ステップS1)、例えば、偶数のメモリブロックのベリファイ処理が正常であると判定された後に、奇数のメモリブロックのベリファイ処理で異常と判定された場合は、結果として、偶数のメモリブロックに余分なパルスが印加されたこととなる。
これに対して、図5に示したベリファイ処理では、偶数のメモリブロックのベリファイ処理の結果と奇数のメモリブロックのベリファイ処理の結果とをあわせて判定するため(ステップS14参照)、上述した偶数のメモリブロックに余分なパルスが印加されることを抑制することができる。
次に、図6に示すフローチャートを用いてベリファイ処理の流れ(第3のパターン)について説明する。第3のパターンのベリファイ処理では、まず、ベリファイ制御回路28は、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nのメモリセルにベリファイデータに対応したパルスを印加する(ステップS21)。ベリファイデータに対応したパルスを印加する際は、各々の偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nに順次パルスを印加するようにしてもよく、また複数の偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nに一括してパルスを印加するようにしてもよい。
次に、各々のベリファイ回路VF_0〜VF_mは、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nにベリファイ処理を実施する(ステップS22)。具体的には、各々のベリファイ回路VF_0〜VF_mは、メモリセルMCに保持されているベリファイデータ(消去ベリファイデータまたは書き込みベリファイデータ)と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である(ベリファイパス)と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である(ベリファイフェイル)と判定する。
そして、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nの少なくとも一つにおいてベリファイ処理が異常である(ベリファイフェイル)と判定された場合(ステップS23:No)、再度、ステップS21〜S22の処理を実施する。
一方、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nの全てにおいてベリファイ処理が正常である(ベリファイパス)と判定された場合(ステップS23:Yes)、ベリファイ制御回路28は、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1のメモリセルにベリファイデータに対応したパルスを印加する(ステップS24)。ベリファイデータに対応したパルスを印加する際は、各々の奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1に順次パルスを印加するようにしてもよく、また複数の奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1に一括してパルスを印加するようにしてもよい。
次に、各々のベリファイ回路VF_0〜VF_mは、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1にベリファイ処理を実施する(ステップS25)。具体的には、各々のベリファイ回路VF_0〜VF_mは、メモリセルMCに保持されているベリファイデータ(消去ベリファイデータまたは書き込みベリファイデータ)と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である(ベリファイパス)と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である(ベリファイフェイル)と判定する。
そして、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1の少なくとも一つにおいてベリファイ処理が異常である(ベリファイフェイル)と判定された場合(ステップS26:No)、再度、ステップS24〜S25の処理を実施する。
一方、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1の全てにおいてベリファイ処理が正常である(ベリファイパス)と判定された場合(ステップS26:Yes)、半導体記憶装置のベリファイ処理が正常であるとして、ベリファイ処理を終了する。
図4、図5に示したベリファイ処理では、全てのメモリブロックBLK_0〜BLK_2n+1にベリファイデータに対応したパルスを印加していた(図4のステップS1、図5のステップS11参照)。このため、偶数のメモリブロックおよび奇数のメモリブロックのいずれか一方においてベリファイ処理が異常であると判定された場合であっても、全てのメモリブロックにパルスが印加され、結果として、正常と判定された方のメモリブロックにもパルスが印加されていた。これに対して、図6に示したベリファイ処理では、偶数のメモリブロックと奇数のメモリブロックとを分離してパルスの印加およびベリファイ処理を実施している。よって、偶数のメモリブロックおよび奇数のメモリブロックのうち、ベリファイ処理が異常であると判定された方のメモリブロックのみにパルスを印加することができるので、結果として、各々のメモリブロックに余分なパルスが印加されることを抑制することができる。
なお、図4〜図6に示したベリファイ処理では、先に偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nにベリファイ処理を実施し、その後、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1にベリファイ処理を実施した場合について説明した。しかし、ベリファイ処理を実施する順番は逆であってもよい。すなわち、先に奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1にベリファイ処理を実施し、その後、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nにベリファイ処理を実施してもよい。
特許文献1に開示されている半導体記憶装置では、センスアンプとは別に1つのベリファイ用アンプが設けられている。そして、各々のメモリセルのベリファイ処理はこの1つのベリファイ用アンプを用いて実施されている。ここで、ベリファイ処理はブロック単位で実施されるので、特許文献1に開示されている半導体記憶装置では、1つのベリファイ用アンプを用いて、ブロック単位で順番に(シリアルに)ベリファイ処理が実施される。
しかしながら、近年、半導体記憶装置のメモリ容量は増加の一途をたどっている。このため、特許文献1に開示されている半導体記憶装置のようにベリファイ処理をブロック単位で順番に(シリアルに)実施した場合は、ベリファイ処理に多くの時間を要するという問題があった。
以下、関連技術にかかる半導体記憶装置を用いて本願の課題について詳細に説明する。図13は、関連技術にかかる半導体記憶装置を説明するための図である。図13に示すように、関連技術にかかる半導体記憶装置101は、メモリブロック111_0〜111_2n+1、センスアンプブロック112_0〜112_m、ワード線ドライバ113、読み出しデータセレクタ114、書き込み回路115、データラッチ回路116、ベリファイデータセレクタ117、ベリファイ用アンプ118(VSA)、データ制御回路121、データ入出力端子122、アドレス制御回路123、及びアドレス入力端子124を備える。一対のメモリブロック111_0〜111_2n+1およびセンスアンプブロック112_0〜112_mは、単位メモリアレイ110_0〜110_mを構成している。
なお、関連技術にかかる半導体記憶装置101が備えるメモリブロック111_0〜111_2n+1、センスアンプブロック112_0〜112_m、ワード線ドライバ113、読み出しデータセレクタ114、書き込み回路115、データラッチ回路116、データ制御回路121、データ入出力端子122、アドレス制御回路123、及びアドレス入力端子124はそれぞれ、図2に示した半導体記憶装置1が備えるメモリブロック11_0〜11_2n+1、センスアンプブロック12_0〜12_m、ワード線ドライバ13、読み出しデータセレクタ14、書き込み回路15、データラッチ回路16、データ制御回路21、データ入出力端子22、アドレス制御回路23、及びアドレス入力端子24に対応している。従い、ベリファイ処理以外の動作については、図2に示した半導体装置1と共通するので重複した説明は省略する。
関連技術にかかる半導体記憶装置101では、メモリブロックBLKのメモリセルMCからベリファイデータを読み出す際、メモリセルMCの副ビット線BLと主ビット線GBLwとをスイッチSWを用いて接続し、主ビット線GBLwを介してメモリセルMCのベリファイデータを読み出す。読み出されたベリファイデータは、ベリファイデータセレクタ117で選択された後、ベリファイ用アンプ(VSA)118で増幅される。増幅されたベリファイデータは、CPU(不図示)において期待値と比較されて、ベリファイ処理が正常であるか否かが判定される。
図14は、関連技術にかかる半導体記憶装置におけるベリファイ処理を説明するためのフローチャートである。関連技術にかかる半導体記憶装置101においてベリファイ処理を実施する際は、まずメモリブロックBLK_0にパルスを印加して、メモリブロックBLK_0のメモリセルMC_0にベリファイデータを書き込む(ステップS101)。その後、メモリブロックBLK_0にベリファイ処理を実施する(ステップS102)。具体的には、スイッチSW_0を導通させて、メモリブロックBLK_0の副ビット線BL_0と主ビット線GBLwとを接続して、メモリセルMC_0に保持されているベリファイデータを主ビット線GBLwを介して読み出す。そして、読み出されたベリファイデータをベリファイ用アンプ(VSA)118で増幅し、増幅後のベリファイデータと期待値とを比較することでベリファイ処理が実施される。
そして、ベリファイ処理が異常である(ベリファイフェイル)と判定された場合は(ステップS103:No)、再度、ステップS101〜S102の動作を繰り返す。一方、ベリファイ処理が正常である(ベリファイパス)と判定された場合は(ステップS103:Yes)、次のメモリブロックBLK_1のベリファイ処理を実施する。
すなわち、メモリブロックBLK_1にパルスを印加して、メモリブロックBLK_1のメモリセルMC_1にベリファイデータを書き込む(ステップS104)。その後、メモリブロックBLK_1にベリファイ処理を実施する(ステップS105)。具体的には、スイッチSW_1を導通させて、メモリブロックBLK_1の副ビット線BL_1と主ビット線GBLwとを接続して、メモリセルMC_1に保持されているベリファイデータを主ビット線GBLwを介して読み出す。そして、読み出されたベリファイデータをベリファイ用アンプ(VSA)118で増幅し、増幅後のベリファイデータと期待値とを比較することでベリファイ処理が実施される。
そして、ベリファイ処理が異常である(ベリファイフェイル)と判定された場合は(ステップS106:No)、再度、ステップS104〜S105の動作を繰り返す。一方、ベリファイ処理が正常である(ベリファイパス)と判定された場合は(ステップS106:Yes)、次のメモリブロックBLK_2のベリファイ処理を実施する。以降、同様の動作を繰り返すことで、メモリブロックBLK_2〜メモリブロックBLK_2n+1のベリファイ処理を実施する。そして、最終段のメモリブロックBLK_2n+1のベリファイ処理が正常である(ベリファイパス)と判定された場合(ステップS109:Yes)、半導体記憶装置101のベリファイ処理が正常であるとして、ベリファイ処理を終了する。
このように、関連技術にかかる半導体記憶装置101では、センスアンプHSA_0〜HSA_mとは別にベリファイ用アンプ(VSA)118を設けている。そして、各々のメモリブロックBLK_0〜BLK_2n+1のベリファイ処理はこのベリファイ用アンプ(VSA)118を用いて実施されている。ここで、ベリファイ用アンプ(VSA)118は1つのみであるので、各々のメモリブロックBLK_0〜BLK_2n+1のベリファイ処理は、メモリブロックBLK_0〜BLK_2n+1毎に順番に(シリアルに)実施される(図14参照)
しかしながら、前述の通り、近年、半導体記憶装置のメモリ容量は増加の一途をたどっているため、関連技術にかかる半導体記憶装置101のようにベリファイ処理をメモリブロックBLK_0〜BLK_2n+1毎に順番に実施した場合は、ベリファイ処理に多くの時間を要するという問題があった。
これに対して本実施の形態にかかる半導体記憶装置1(図2参照)では、各々のセンスアンプブロック12_0〜12_mが備えるセンスアンプHSA_0〜HSA_mを用いてベリファイ処理を実施している。つまり、複数のセンスアンプHSA_0〜HSA_mをベリファイデータの読み出しに用いているので、複数のメモリブロックに対して同時にベリファイ処理を実施することができる。よって、半導体記憶装置のベリファイ処理に要する時間を短くすることができる。
なお、本実施の形態にかかる半導体記憶装置1では、複数のメモリブロックのベリファイ処理を一括して実施することを前提としているため、ベリファイ処理の対象となる全てのメモリブロックのメモリセルのデータを同一にする必要がある。例えば、書き込みベリファイは、全てのメモリセルに一括で書き込みを行うテスト動作時等(例えば、チェッカーパターンの書き込み時)に行うことができる。また、消去ベリファイに関しては、フラッシュメモリをメモリブロック単位で消去した場合に行うことができる。
<実施の形態2>
次に、実施の形態2にかかる半導体記憶装置、及び半導体記憶装置の制御方法について説明する。図7は、実施の形態2にかかる半導体記憶装置を示す図である。本実施の形態にかかる半導体記憶装置2では、実施の形態1で説明した半導体記憶装置1(図2参照)と比べて、各々のベリファイ回路VF_0〜VF_m(35_0〜35_m)のベリファイ結果vrslt_0〜vrslt_mをベリファイ制御回路38に各々独立に送信している点が異なる。これ以外は実施の形態1で説明した半導体記憶装置1と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。
図7に示すように、各々のベリファイ回路VF_0〜VF_m(35_0〜35_m)のベリファイ結果vrslt_0〜vrslt_mは、各々独立にベリファイ制御回路38に供給される。図8は、本実施の形態にかかる半導体記憶装置2が備えるベリファイ回路VF_0〜VF_m(35_0〜35_m)の一例を示す回路図である。
図8に示すように、各々のベリファイ回路VF_0〜VF_mは、論理回路XNOR_0〜XNOR_mを備える。各々の論理回路XNOR_0〜XNOR_mは、各々のセンスアンプHSA_0〜HSA_mで読み出されたメモリセルのデータと、ベリファイ制御回路38から供給された期待値vctrlとを比較し、当該比較結果をベリファイ結果vrslt_0〜vrslt_mとして出力する。つまり、各々の論理回路XNOR_0〜XNOR_mは、各々のセンスアンプHSA_0〜HSA_mの出力out_0〜out_mとベリファイ制御回路38から供給された期待値vctrlとを入力し、これらのXNOR(排他的論理和の否定)を各々独立にベリファイ制御回路38に送信する。なお、ベリファイ制御回路38から供給される期待値vctrlは、全てのベリファイ回路VF_0〜VF_mにおいて共通である。
次に、各々のベリファイ回路VF_0〜VF_m(35_0〜35_m)における具体的な動作について説明する。まず、消去ベリファイの場合の動作について説明する。消去ベリファイの場合、各々のメモリブロックBLK_0〜BLK_2n+1のメモリセルMC_0〜MC_2n+1には消去ベリファイデータが保持されているので、各々のセンスアンプHSA_0の出力の期待値はハイレベル(“H”)となる。この場合、ベリファイ制御回路38は、各々のベリファイ回路VF_0〜VF_mに期待値vctrlとしてハイレベル(“H”)を設定する。
ベリファイ処理の対象となったメモリブロックが正常である場合、センスアンプHSA_0〜HSA_mの出力out_0〜out_mはハイレベル(“H”)であるので、各々の論理回路XNOR_0〜XNOR_mの一方の入力にはハイレベル(“H”)の信号が供給される。また、各々の論理回路XNOR_0〜XNOR_mの他方の入力には期待値vctrlとしてハイレベル(“H”)の信号が供給されているので、各々の論理回路XNOR_0〜XNOR_mは、ベリファイ結果vrslt_0〜vrslt_mとしてハイレベル(“H”)の信号(ベリファイパスを示す)を各々独立にベリファイ制御回路38に送信する。
一方、ベリファイ処理の対象となったメモリブロックが異常である場合は、異常を示すメモリセルに対応するセンスアンプHSA_0〜HSA_mの出力out_0〜out_mがロウレベル(“L”)となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路XNOR_0〜XNOR_mの出力のうち、異常を示すメモリセルに対応する論理回路XNORの出力がロウレベル(“L”:ベリファイフェイルを示す)になる。ベリファイ制御回路38には各々独立にベリファイ結果vrslt_0〜vrslt_mが供給されるので、ベリファイ制御回路38は異常を示すメモリブロックBLKを特定することができる。
次に、書き込みベリファイの場合の動作について説明する。書き込みベリファイの場合、各々のメモリブロックBLK_0〜BLK_2n+1のメモリセルMC_0〜MC_2n+1には書き込みベリファイデータが保持されているので、各々のセンスアンプHSA_0の出力の期待値はロウレベル(“L”)となる。この場合、ベリファイ制御回路38は、各々のベリファイ回路VF_0〜VF_mに期待値vctrlとしてロウレベル(“L”)を設定する。
ベリファイ処理の対象となったメモリブロックが正常である場合、各々のセンスアンプHSA_0〜HSA_mの出力out_0〜out_mはロウレベル(“L”)であるので、各々の論理回路XNOR_0〜XNOR_mの一方の入力にはロウレベル(“L”)の信号が供給される。また、各々の論理回路XNOR_0〜XNOR_mの他方の入力には期待値vctrlとしてロウレベル(“L”)の信号が供給されているので、各々の論理回路XNOR_0〜XNOR_mは、ベリファイ結果vrslt_0〜vrslt_mとしてハイレベル(“H”)の信号(ベリファイパスを示す)を各々独立にベリファイ制御回路38に送信する。
一方、ベリファイ処理の対象となったメモリブロックが異常である場合は、異常を示すメモリセルに対応するセンスアンプHSA_0〜HSA_mの出力out_0〜out_mがハイレベル(“H”)となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路XNOR_0〜XNOR_mの出力のうち、異常を示すメモリセルに対応する論理回路XNORの出力がロウレベル(“L”:ベリファイフェイルを示す)になる。ベリファイ制御回路38には各々独立にベリファイ結果vrslt_0〜vrslt_mが供給されるので、ベリファイ制御回路38は異常を示すメモリブロックBLKを特定することができる。
例えば、ベリファイ制御回路38は、各々のメモリブロックBLK_0〜BLK_2n+1と対応するフラグ領域を備えており、ベリファイ処理の結果が正常である場合、ベリファイ処理の結果が正常であるメモリブロックBLKのフラグを“1”(ベリファイパスを示す)にする。一方、ベリファイ処理の結果が異常である場合、ベリファイ処理の結果が異常であるメモリブロックBLKのフラグを“0”(ベリファイフェイルを示す)とする。ベリファイ制御回路38は、フラグを用いることで、ベリファイ処理の結果が正常であるメモリブロックBLKと、ベリファイ処理の結果が異常であるメモリブロックBLKとを区別することができる。
次に、本実施の形態にかかる半導体記憶装置2におけるベリファイ処理の流れ(半導体記憶装置の制御方法)について、図9に示すフローチャートを用いて説明する。なお、以下で示すベリファイ処理の流れは、消去ベリファイおよび書き込みベリファイで共通である。
図9に示すように、まず、ベリファイ制御回路38は、メモリブロックBLK_0のフラグが“0”(ベリファイフェイルを示す)であるか否かを判定する。最初のフローでは、メモリブロックBLK_0に対して未だ、ベリファイデータに対応したパルスが印加されていないので、メモリブロックBLK_0のフラグは“0”である(ステップS31:Yes)。よって、ベリファイ制御回路38は、メモリブロックBLK_0に対してベリファイデータに対応したパルスを印加する(ステップS32)。
次に、ベリファイ制御回路38は、メモリブロックBLK_1のフラグが“0”(ベリファイフェイルを示す)であるか否かを判定する。最初のフローでは、メモリブロックBLK_1に対して未だ、ベリファイデータに対応したパルスが印加されていないので、メモリブロックBLK_1のフラグは“0”である(ステップS33:Yes)。よって、ベリファイ制御回路38は、メモリブロックBLK_1に対してベリファイデータに対応したパルスを印加する(ステップS34)。
以降、メモリブロックBLK_2〜BLK_2n+1についても同様に、ベリファイ制御回路38は、メモリブロックBLK_2〜BLK_2n+1のフラグが“0”(ベリファイフェイルを示す)であるか否かを判定する。最初のフローでは、メモリブロックBLK_2〜BLK_2n+1に対して未だ、ベリファイデータに対応したパルスが印加されていないので、メモリブロックBLK_2〜BLK_2n+1のフラグは“0”である。よって、ベリファイ制御回路38は、メモリブロックBLK_2〜BLK_2n+1に対してベリファイデータに対応したパルスを印加する。このような動作により、各々のメモリブロックBLK_0〜BLK_2n+1に対してベリファイデータに対応したパルスが印加される。
その後、各々のベリファイ回路VF_0〜VF_mは、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nにベリファイ処理を実施する。また、ベリファイ制御回路38は、ベリファイ処理の結果に応じてフラグを設定する(ステップS37)。具体的には、各々のベリファイ回路VF_0〜VF_mは、メモリセルMCに保持されているベリファイデータ(消去ベリファイデータまたは書き込みベリファイデータ)と期待値とを比較し、ベリファイデータと期待値とが一致する場合はベリファイ処理が正常である(ベリファイパス)と判定する。一方、ベリファイデータと期待値とが一致しない場合は、ベリファイ処理が異常である(ベリファイフェイル)と判定する。
各々のベリファイ回路VF_0〜VF_mは、ベリファイ処理が正常である場合、ベリファイ結果vrslt_0〜vrslt_mとしてベリファイパスを示す信号をベリファイ制御回路38に送信する。一方、各々のベリファイ回路VF_0〜VF_mは、ベリファイ処理が異常である場合、ベリファイ結果vrslt_0〜vrslt_mとしてベリファイフェイルを示す信号をベリファイ制御回路38に送信する。
ベリファイ制御回路38は、ベリファイ結果vrslt_0〜vrslt_mに応じて、各々のメモリブロックBLK_0〜BLK_2n+1のフラグを書き換える。具体的には、ベリファイ制御回路38は、ベリファイ処理の結果が正常である場合、ベリファイ処理の結果が正常であるメモリブロックBLKのフラグを“1”(ベリファイパスを示す)にする。一方、ベリファイ処理の結果が異常である場合、ベリファイ処理の結果が異常であるメモリブロックBLKのフラグを“0”(ベリファイフェイルを示す)とする。
次に、各々のベリファイ回路VF_0〜VF_mは、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1にベリファイ処理を実施する。また、ベリファイ制御回路38は、ベリファイ処理の結果に応じてフラグを設定する(ステップS38)。なお、ステップS38の処理については、ステップS37の処理と同様であるので重複した説明は省略する。
その後、ベリファイ制御回路38は、全てのメモリブロックBLK_0〜BLK_2n+1のフラグが“1”(ベリファイパスを示す)であるか否かを判定する。全てのメモリブロックBLK_0〜BLK_2n+1のフラグが“1”(ベリファイパスを示す)である場合は(ステップS39:Yes)、半導体記憶装置2のベリファイ処理が正常であるとして、ベリファイ処理を終了する。一方、メモリブロックBLK_0〜BLK_2n+1のフラグの中に“0”(ベリファイフェイルを示す)が含まれている場合は(ステップS39:No)、ステップS31以降の処理を繰り返す。
例えば、メモリブロックBLK_0のフラグが“1”(ベリファイパスを示す)である場合は(ステップS31:No)、メモリブロックBLK_0にパルスを印加することなく、ステップS33へと移動する。また、例えば、メモリブロックBLK_1のフラグが“0”(ベリファイフェイルを示す)である場合は(ステップS33:Yes)、再度、メモリブロックBLK_1にパルスを印加する(ステップS34)。つまり、2回目以降のステップS31〜S36では、フラグが“0”(ベリファイフェイルを示す)であるメモリブロックBLKに対して、再度パルスを印加する。
その後、各々のベリファイ回路VF_0〜VF_mは、偶数のメモリブロックBLK_0、BLK_2、・・・、BLK_2nにベリファイ処理を実施する。また、ベリファイ制御回路38は、ベリファイ処理の結果に応じてフラグを設定する(ステップS37)。
同様に、各々のベリファイ回路VF_0〜VF_mは、奇数のメモリブロックBLK_1、BLK_3、・・・、BLK_2n+1にベリファイ処理を実施する。また、ベリファイ制御回路38は、ベリファイ処理の結果に応じてフラグを設定する(ステップS38)。
その後、ベリファイ制御回路38は、全てのメモリブロックBLK_0〜BLK_2n+1のフラグが“1”(ベリファイパスを示す)であるか否かを判定する。全てのメモリブロックBLK_0〜BLK_2n+1のフラグが“1”(ベリファイパスを示す)である場合は(ステップS39:Yes)、半導体記憶装置2のベリファイ処理が正常であるとして、ベリファイ処理を終了する。一方、メモリブロックBLK_0〜BLK_2n+1のフラグの中に“0”(ベリファイフェイルを示す)が含まれている場合は(ステップS39:No)、再度、ステップS31以降の処理を繰り返す。
本実施の形態にかかる半導体記憶装置2では、各々のベリファイ回路VF_0〜VF_m(35_0〜35_m)のベリファイ結果vrslt_0〜vrslt_mをベリファイ制御回路38に各々独立に送信するように構成している。よって、各々のメモリブロックBLK_0〜BLK_2n+1のベリファイ処理の結果を個別に判定することができる。これにより、再度、メモリブロックにパルスを印加する際に、ベリファイフェイルのメモリブロックのみに選択的にパルスを印加することができる。したがって、メモリブロックへの不要なパルスの印加を回避することができるので、メモリセルの劣化を抑えることができる。また、パルス印加時間を短縮することができるので、ベリファイ処理の時間を短縮することができ、テストコストを抑制することができる。
<実施の形態3>
次に、実施の形態3にかかる半導体記憶装置、及び半導体記憶装置の制御方法について説明する。図10は、実施の形態3にかかる半導体記憶装置を示す図である。本実施の形態にかかる半導体記憶装置3では、実施の形態1で説明した半導体記憶装置1(図2参照)と比べて、各々のベリファイ回路VF_0〜VF_m(45_0〜45_m)のベリファイ結果vrslt_0〜vrslt_mを時分割でベリファイ制御回路48に送信している点が異なる。これ以外は実施の形態1で説明した半導体記憶装置1と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。
図10に示すように、各々のベリファイ回路VF_0〜VF_m(45_0〜45_m)には、選択信号sel_0〜sel_mが供給される。各々のベリファイ回路VF_0〜VF_m(45_0〜45_m)は、選択信号sel_0〜sel_mが活性状態となったタイミングで、ベリファイ結果vrslt_0〜vrslt_mをベリファイ制御回路48に送信する。
図11は、本実施の形態にかかる半導体記憶装置3が備えるベリファイ回路VF_0〜VF_m(45_0〜45_m)の一例を示す回路図である。図11に示すように、各々のベリファイ回路VF_0〜VF_m(45_0〜45_m)は、論理回路XNOR_0〜XNOR_mと、論理回路OR_0〜OR_mと、論理回路AND_0〜AND_mと、を備える。また、ベリファイ制御回路48にはクロック信号CLKが供給される。
各々の論理回路XNOR_0〜XNOR_mは、各々のセンスアンプHSA_0〜HSA_mで読み出されたメモリセルのベリファイデータと、ベリファイ制御回路48から供給された期待値vctrlとを比較し、当該比較結果をベリファイ処理の結果として出力する。つまり、各々の論理回路XNOR_0〜XNOR_mは、各々のセンスアンプHSA_0〜HSA_mの出力out_0〜out_mとベリファイ制御回路48から供給された期待値vctrlとを入力し、これらのXNOR(排他的論理和の否定)を各々の論理回路OR_0〜OR_mの一方の入力に供給する。なお、ベリファイ制御回路48から供給される期待値vctrlは、全てのベリファイ回路VF_0〜VF_mにおいて共通である。
例えば消去ベリファイの場合、各々のメモリブロックBLK_0〜BLK_2n+1のメモリセルMC_0〜MC_2n+1には消去ベリファイデータが保持されているので、各々のセンスアンプHSA_0〜HSA_mの出力の期待値はハイレベル(“H”)となる。この場合、ベリファイ制御回路48は、各々のベリファイ回路VF_0〜VF_mに期待値vctrlとしてハイレベル(“H”)を設定する。
ベリファイ処理の対象となったメモリセルが正常である場合、センスアンプHSA_0〜HSA_mの出力はハイレベル(“H”)となるので、論理回路XNOR_0〜XNOR_mの一方の入力にはハイレベル(“H”)の信号が供給される。また、各々の論理回路XNOR_0〜XNOR_mの他方の入力には期待値vctrlとしてハイレベル(“H”)の信号が供給されているので、論理回路XNOR_0〜XNOR_mは、ハイレベル(“H”)の信号vfout_0〜vfout_mを各々の論理回路OR_0〜OR_mの一方の入力に供給する。
一方、ベリファイ処理の対象となったメモリセルが異常である場合、センスアンプHSA_0〜HSA_mの出力はロウレベル(“L”)となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路XNOR_0〜XNOR_mの出力はロウレベル(“L”)になる。よって、論理回路XNOR_0〜XNOR_mは、ベリファイ処理の結果としてロウレベル(“L”)の信号vfout_0〜vfout_mを各々の論理回路OR_0〜OR_mの一方の入力に供給する。
また、書き込みベリファイの場合は、各々のメモリブロックBLK_0〜BLK_2n+1のメモリセルMC_0〜MC_2n+1に書き込みベリファイデータが保持されているので、各々のセンスアンプHSA_0〜HSA_mの出力の期待値はロウレベル(“L”)となる。この場合、ベリファイ制御回路48は、各々のベリファイ回路VF_0〜VF_mに期待値vctrlとしてロウレベル(“L”)を設定する。
ベリファイ処理の対象となったメモリセルが正常である場合、センスアンプHSA_0〜HSA_mの出力はロウレベル(“L”)となるので、論理回路XNOR_0〜XNOR_mの一方の入力にはロウレベル(“L”)の信号が供給される。また、各々の論理回路XNOR_0〜XNOR_mの他方の入力には期待値vctrlとしてロウレベル(“L”)の信号が供給されているので、論理回路XNOR_0〜XNOR_mは、ベリファイ処理の結果としてハイレベル(“H”)の信号vfout_0〜vfout_mを各々の論理回路OR_0〜OR_mの一方の入力に供給する。
一方、ベリファイ処理の対象となったメモリセルが異常である場合、センスアンプHSA_0〜HSA_mの出力はハイレベル(“H”)となる。この場合は、センスアンプの出力と期待値とが一致しないので、論理回路XNOR_0〜XNOR_mの出力はロウレベル(“L”)になる。よって、論理回路XNOR_0〜XNOR_mは、ベリファイ処理の結果としてロウレベル(“L”)の信号vfout_0〜vfout_mを各々の論理回路OR_0〜OR_mの一方の入力に供給する。
各々の論理回路OR_0〜OR_mの他方の入力には、ベリファイ制御回路48から選択信号sel_0〜sel_mが供給される。各々の論理回路OR_0〜OR_mは、選択信号sel_0〜sel_mが活性状態(ロウレベル“L”)の場合、各々の論理回路XNOR_0〜XNOR_mの出力vfout_0〜vfout_m(ベリファイ処理の結果)を各々の論理回路AND_0〜AND_mの一方の入力に出力する。
一方、各々の論理回路OR_0〜OR_mは、選択信号sel_0〜sel_mが非活性状態(ハイレベル“H”)の場合、各々の論理回路XNOR_0〜XNOR_mの出力vfout_0〜vfout_m(ベリファイ処理の結果)にかかわらず、ハイレベル(“H”)の信号を各々の論理回路AND_0〜AND_mの一方の入力に出力する。換言すると、各々の論理回路OR_0〜OR_mは、選択信号sel_0〜sel_mが非活性状態(ハイレベル“H”)の場合、各々の論理回路XNOR_0〜XNOR_mの出力vfout_0〜vfout_m(ベリファイ処理の結果)をマスクする。
各々の論理回路AND_0〜AND_mは、各々の論理回路OR_0〜OR_mの出力と前段のベリファイ結果(ベリファイ回路45_0は初段の回路なので、初期値として“H”が設定されている)とを入力し、選択信号が非活性状態の場合には前段のベリファイ結果を出力し、選択信号sel_0〜sel_mが活性状態の場合には各々の論理回路OR_0〜OR_mから供給された論理回路XNOR_0〜XNOR_mの出力vfout_0〜vfout_mを出力する。
つまり、各々の論理回路OR_0〜OR_mは、選択信号sel_0〜sel_mが非活性状態(ハイレベル“H”)の場合、ハイレベル(“H”)の信号を各々の論理回路AND_0〜AND_mの一方の入力に出力する。この場合、各々の論理回路AND_0〜AND_mは、前段のベリファイ処理の結果を考慮しない。
一方、各々の論理回路OR_0〜OR_mは、選択信号sel_0〜sel_mが活性状態(ロウレベル“L”)の場合、各々の論理回路XNOR_0〜XNOR_mの出力vfout_0〜vfout_mを各々の論理回路AND_0〜AND_mの一方の入力に出力する。各々の論理回路AND_0〜AND_mの他方の入力には、前段からハイレベル(“H”)の信号が供給されているので、各々の論理回路AND_0〜AND_mは、各々の論理回路OR_0〜OR_mから供給された論理回路XNOR_0〜XNOR_mの出力vfout_0〜vfout_mを出力する。
次に、ベリファイ回路VF_0〜VF_m(45_0〜45_m)の動作について、図12に示すタイミングチャートを用いて説明する。図12に示すように、各々の選択信号sel_0〜sel_mは、クロック信号CLKに同期して遷移する。また、各々の論理回路XNOR_0〜XNOR_mは、ベリファイ処理の結果vfout_0〜vfout_mを出力している。初期状態では、各々の選択信号sel_0〜sel_mが非活性状態(ハイレベル“H”)となっている。
タイミングt1において選択信号sel_0が活性状態(ロウレベル“L”)になると、図11に示すベリファイ回路VF_0の論理回路OR_0は、論理回路XNOR_0の出力vfout_0(ベリファイ処理の結果)を論理回路AND_0の一方の入力に出力する。論理回路AND_0の他方の入力にはハイレベル(“H”)の信号が供給されているので、論理回路AND_0は、論理回路OR_0から供給された論理回路XNOR_0の出力vfout_0をベリファイ結果vrslt_0として出力する。
後段のベリファイ回路VF_1〜VF_mには非活性状態(ハイレベル“H”)の選択信号sel_1〜sel_mが供給されているので、後段のベリファイ回路VF_1〜VF_mの論理回路AND_1〜AND_mは、ベリファイ回路VF_0のベリファイ結果vrslt_0を後段へと伝達する。その後、タイミングt2において、ベリファイ制御回路48は、論理回路AND_mの出力vrslt_m、つまり、ベリファイ回路VF_0から送信されたベリファイ結果vfout_0を取り込む。
その後、タイミングt3において選択信号sel_0が非活性状態(ハイレベル“H”)、選択信号sel_1が活性状態(ロウレベル“L”)になると、図11に示すベリファイ回路VF_0の論理回路OR_0は、ハイレベル(“H”)の信号を論理回路AND_0の一方の入力に出力する。よって、論理回路AND_0は、ハイレベル(“H”)の信号vrslt_0を出力する。また、ベリファイ回路VF_1の論理回路OR_1は、論理回路XNOR_1の出力vfout_1(ベリファイ処理の結果)を論理回路AND_1の一方の入力に出力する。論理回路AND_1の他方の入力にはハイレベル(“H”)の信号が供給されているので、論理回路AND_1は、論理回路OR_1から供給された論理回路XNOR_1の出力vfout_1をベリファイ結果vrslt_1として出力する。
後段のベリファイ回路VF_2〜VF_mには非活性状態(ハイレベル“H”)の選択信号sel_2〜sel_mが供給されているので、後段のベリファイ回路VF_2〜VF_mの論理回路AND_2〜AND_mは、ベリファイ回路VF_1のベリファイ結果vrslt_1を後段へと伝達する。その後、タイミングt4において、ベリファイ制御回路48は、論理回路AND_mの出力vrslt_m、つまり、ベリファイ回路VF_1から送信されたベリファイ結果vfout_1を取り込む。
以降、同様の動作を繰り返すことで、ベリファイ回路VF_2〜VF_mのベリファイ処理の結果vfout_2〜vfout_mが時分割で取り込まれる。
実施の形態2で説明した半導体記憶装置2では、各々のベリファイ回路VF_0〜VF_mのベリファイ結果vrslt_0〜vrslt_mをベリファイ制御回路38に各々独立に送信するために、ビット線方向にベリファイ回路VF_0〜VF_mと同じ数だけの配線を配置する必要があった。このためレイアウトの自由度が制限される場合があった。
これに対して本実施の形態にかかる半導体記憶装置3では、実施の形態1にかかる半導体記憶装置1と同様に、各々のベリファイ回路VF_0〜VF_mをシーケンシャルに接続している。そして、各々のベリファイ回路VF_0〜VF_mのベリファイ結果vrslt_0〜vrslt_mを時分割でベリファイ制御回路48に送信するように構成している。よって、レイアウトの自由度が制限されることを抑制しつつ、各々のメモリブロックBLK_0〜BLK_2n+1のベリファイ処理の結果を個別に判定することができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1、2、3 半導体記憶装置
10_0〜10_m 単位メモリアレイ
11_0〜11_2n+1 メモリブロック
12_0〜12_m センスアンプブロック
13 ワード線ドライバ
14 読み出しデータセレクタ
15 書き込み回路
16 データラッチ回路
21 データ制御回路
22 データ入出力端子
23 アドレス制御回路
24 アドレス入力端子
25_0〜25_m、35_0〜35_m、45_0〜45_m ベリファイ回路
28、38、48 ベリファイ制御回路

Claims (7)

  1. 複数のメモリセルを各々備える複数のメモリブロックと、前記各々のメモリセルに保持されているデータを読み出すセンスアンプと、前記各々のメモリセルに保持されているデータをベリファイするベリファイ回路と、を各々備える複数の単位メモリアレイと、
    前記各々のベリファイ回路におけるベリファイ処理を制御するベリファイ制御回路と、を備え、
    前記ベリファイ制御回路は、前記メモリブロックの前記メモリセルにベリファイデータに対応したパルスを印加すると共に、前記各々のベリファイ回路に前記ベリファイデータに対応した期待値を設定し、
    前記各々のベリファイ回路は、前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較することで前記ベリファイ処理を行
    前記単位メモリアレイが各々備える前記複数のメモリブロックは、第1及び第2のメモリブロックであり、
    前記センスアンプおよび前記ベリファイ回路は、前記第1のメモリブロックと前記第2のメモリブロックとの間に配置されており、
    前記ベリファイ制御回路は、前記第1及び第2のメモリブロックのメモリセルに前記ベリファイデータに対応したパルスを印加し、
    前記各々のベリファイ回路は、
    前記第1のメモリブロックのベリファイ処理を行い、
    前記第1のメモリブロックが前記ベリファイ処理で正常と判定された場合に、前記第2のメモリブロックのベリファイ処理を行う、
    半導体記憶装置。
  2. 複数のメモリセルを各々備える複数のメモリブロックと、前記各々のメモリセルに保持されているデータを読み出すセンスアンプと、前記各々のメモリセルに保持されているデータをベリファイするベリファイ回路と、を各々備える複数の単位メモリアレイと、
    前記各々のベリファイ回路におけるベリファイ処理を制御するベリファイ制御回路と、を備え、
    前記ベリファイ制御回路は、前記メモリブロックの前記メモリセルにベリファイデータに対応したパルスを印加すると共に、前記各々のベリファイ回路に前記ベリファイデータに対応した期待値を設定し、
    前記各々のベリファイ回路は、前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較することで前記ベリファイ処理を行い、
    前記単位メモリアレイが各々備える前記複数のメモリブロックは、第1及び第2のメモリブロックであり、
    前記センスアンプおよび前記ベリファイ回路は、前記第1のメモリブロックと前記第2のメモリブロックとの間に配置されており、
    前記各々のベリファイ回路は、前記ベリファイ制御回路が前記第1のメモリブロックのメモリセルに前記ベリファイデータに対応したパルスを印加した後、前記第1のメモリブロックのベリファイ処理を行い、
    前記第1のメモリブロックが前記ベリファイ処理で正常と判定された場合、前記各々のベリファイ回路は、前記ベリファイ制御回路が前記第2のメモリブロックのメモリセルに前記ベリファイデータに対応したパルスを印加した後、前記第2のメモリブロックのベリファイ処理を行う、
    半導体記憶装置。
  3. 複数のメモリセルを各々備える複数のメモリブロックと、前記各々のメモリセルに保持されているデータを読み出すセンスアンプと、前記各々のメモリセルに保持されているデータをベリファイするベリファイ回路と、を各々備える複数の単位メモリアレイと、
    前記各々のベリファイ回路におけるベリファイ処理を制御するベリファイ制御回路と、を備え、
    前記ベリファイ制御回路は、前記メモリブロックの前記メモリセルにベリファイデータに対応したパルスを印加すると共に、前記各々のベリファイ回路に前記ベリファイデータに対応した期待値を設定し、
    前記各々のベリファイ回路は、前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較することで前記ベリファイ処理を行い、
    前記各々のベリファイ回路は、前記各々のベリファイ回路における前記ベリファイ処理の結果を前記ベリファイ制御回路にシーケンシャルに送信するように構成されており、
    前記各々のベリファイ回路は、
    前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較し、当該比較結果を前記ベリファイ処理の結果として出力する第1の論理回路と、
    前記第1の論理回路の出力と前段のベリファイ処理の結果とを入力し、前記第1の論理回路の出力と前記前段のベリファイ処理の結果とが共に正常である場合に、正常を示す信号を出力する第2の論理回路と、を備える、
    半導体記憶装置。
  4. 前記各々のベリファイ回路は、前記各々のベリファイ回路における前記ベリファイ処理の結果を前記ベリファイ制御回路に各々独立に送信するように構成されている、請求項1に記載の半導体記憶装置。
  5. 前記各々のベリファイ回路は、前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較し、当該比較結果を前記ベリファイ処理の結果として前記ベリファイ制御回路に出力する第3の論理回路を備える、請求項に記載の半導体記憶装置。
  6. 複数のメモリセルを各々備える複数のメモリブロックと、前記各々のメモリセルに保持されているデータを読み出すセンスアンプと、前記各々のメモリセルに保持されているデータをベリファイするベリファイ回路と、を各々備える複数の単位メモリアレイと、
    前記各々のベリファイ回路におけるベリファイ処理を制御するベリファイ制御回路と、を備え、
    前記ベリファイ制御回路は、前記メモリブロックの前記メモリセルにベリファイデータに対応したパルスを印加すると共に、前記各々のベリファイ回路に前記ベリファイデータに対応した期待値を設定し、
    前記各々のベリファイ回路は、前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較することで前記ベリファイ処理を行い、
    前記ベリファイ制御回路は、前記各々のベリファイ回路に選択信号を時分割で供給可能に構成されており、
    前記各々のベリファイ回路は、当該ベリファイ回路における前記ベリファイ処理の結果を、前記選択信号が活性状態となったタイミングに前記ベリファイ制御回路に送信し、
    前記各々のベリファイ回路は、
    前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較し、当該比較結果を前記ベリファイ処理の結果として出力する第4の論理回路と、
    前記選択信号が活性状態の時に、前記第4の論理回路から出力された前記ベリファイ処理の結果を出力する第5の論理回路と、
    前記第5の論理回路の出力と前段のベリファイ処理の結果とを入力し、前記選択信号が非活性状態の場合には前記前段のベリファイ処理の結果を出力し、前記選択信号が活性状態の場合には前記第5の論理回路から出力された前記ベリファイ処理の結果を出力する第6の論理回路と、を備える、
    半導体記憶装置。
  7. 半導体記憶装置の制御方法であって、
    前記半導体記憶装置は、複数のメモリセルを各々備える複数のメモリブロックと、前記各々のメモリセルに保持されているデータを読み出すセンスアンプと、前記各々のメモリセルに保持されているデータをベリファイするベリファイ回路と、を各々備える複数の単位メモリアレイを有し、
    前記単位メモリアレイが各々備える前記複数のメモリブロックは、第1及び第2のメモリブロックであり、
    前記センスアンプおよび前記ベリファイ回路は、前記第1のメモリブロックと前記第2のメモリブロックとの間に配置されており、
    前記第1及び第2のメモリブロックの前記メモリセルにベリファイデータに対応したパルスを印加すると共に、前記各々のベリファイ回路に前記ベリファイデータに対応した期待値を設定し、
    前記各々のベリファイ回路において、前記センスアンプで読み出された前記メモリセルに保持されているデータと前記期待値とを比較することでベリファイ処理を行う前記第1のメモリブロックのベリファイ処理を行い、前記第1のメモリブロックが前記ベリファイ処理で正常と判定された場合に、前記第2のメモリブロックのベリファイ処理を行う、
    半導体記憶装置の制御方法。
JP2017181448A 2017-09-21 2017-09-21 半導体記憶装置、及び半導体記憶装置の制御方法 Active JP6846321B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017181448A JP6846321B2 (ja) 2017-09-21 2017-09-21 半導体記憶装置、及び半導体記憶装置の制御方法
EP18186371.3A EP3460799B1 (en) 2017-09-21 2018-07-30 Semiconductor storage device and method for controlling semiconductor storage device
US16/048,392 US10566068B2 (en) 2017-09-21 2018-07-30 Semiconductor storage device and method for controlling semiconductor storage device
KR1020180105267A KR102653552B1 (ko) 2017-09-21 2018-09-04 반도체 기억 장치, 및 반도체 기억 장치의 제어 방법
CN201811084744.0A CN109545262B (zh) 2017-09-21 2018-09-18 半导体存储装置和用于控制半导体存储装置的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017181448A JP6846321B2 (ja) 2017-09-21 2017-09-21 半導体記憶装置、及び半導体記憶装置の制御方法

Publications (2)

Publication Number Publication Date
JP2019057351A JP2019057351A (ja) 2019-04-11
JP6846321B2 true JP6846321B2 (ja) 2021-03-24

Family

ID=63209194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017181448A Active JP6846321B2 (ja) 2017-09-21 2017-09-21 半導体記憶装置、及び半導体記憶装置の制御方法

Country Status (5)

Country Link
US (1) US10566068B2 (ja)
EP (1) EP3460799B1 (ja)
JP (1) JP6846321B2 (ja)
KR (1) KR102653552B1 (ja)
CN (1) CN109545262B (ja)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2709751B2 (ja) * 1990-06-15 1998-02-04 三菱電機株式会社 不揮発性半導体記憶装置およびそのデータ消去方法
US5452251A (en) * 1992-12-03 1995-09-19 Fujitsu Limited Semiconductor memory device for selecting and deselecting blocks of word lines
JP3392165B2 (ja) * 1993-01-05 2003-03-31 富士通株式会社 半導体記憶装置
WO2004090908A1 (ja) * 1996-06-11 2004-10-21 Nobuyoshi Takeuchi ベリファイ機能を有する不揮発性記憶装置
JP3346274B2 (ja) * 1998-04-27 2002-11-18 日本電気株式会社 不揮発性半導体記憶装置
JP3527157B2 (ja) * 1999-11-26 2004-05-17 Necエレクトロニクス株式会社 不揮発性メモリを備えた半導体装置
FR2851843B1 (fr) 2003-02-27 2005-08-05 St Microelectronics Sa Memoire flash comprenant un algorithme de verification d'effacement integre dans un algorithme de programmation
JP4331966B2 (ja) 2003-04-14 2009-09-16 株式会社ルネサステクノロジ 半導体集積回路
US7304893B1 (en) * 2006-06-30 2007-12-04 Sandisk Corporation Method of partial page fail bit detection in flash memory devices
JP5253784B2 (ja) * 2007-10-17 2013-07-31 株式会社東芝 不揮発性半導体記憶装置
US9179136B2 (en) * 2009-11-20 2015-11-03 Broadcom Corporation Method and system for synchronizing 3D shutter glasses to a television refresh rate
KR101855435B1 (ko) * 2010-11-15 2018-05-08 삼성전자주식회사 최대 검증-시간을 조절할 수 있는 비휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 메모리 시스템
JP5803480B2 (ja) * 2011-09-20 2015-11-04 株式会社ソシオネクスト 半導体記憶装置及びデータ読み出し方法
JP2015018591A (ja) * 2013-07-12 2015-01-29 株式会社東芝 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
CN109545262B (zh) 2023-11-03
EP3460799B1 (en) 2020-11-25
KR20190033429A (ko) 2019-03-29
US20190088344A1 (en) 2019-03-21
CN109545262A (zh) 2019-03-29
JP2019057351A (ja) 2019-04-11
KR102653552B1 (ko) 2024-04-02
EP3460799A1 (en) 2019-03-27
US10566068B2 (en) 2020-02-18

Similar Documents

Publication Publication Date Title
US7212457B2 (en) Method and apparatus for implementing high speed memory
US7952958B2 (en) Non-volatile semiconductor storage system
JP5016841B2 (ja) 不揮発性半導体記憶装置
JP2007517353A (ja) 不揮発性メモリに対する柔軟でエリア効率の高い列冗長性
KR20080078248A (ko) 뱅크 id를 이용할 수 있는 메모리 서브 시스템과 그 방법
CN104969198A (zh) 数据路径完整性验证
US7605434B2 (en) Semiconductor memory device to which test data is written
US20090103376A1 (en) Semiconductor memory device
US20050232036A1 (en) Semiconductor memory device and method of driving the same
US20120250445A1 (en) Semiconductor apparatus
JP4582551B2 (ja) 半導体装置およびデータ書き込み方法
JP6846321B2 (ja) 半導体記憶装置、及び半導体記憶装置の制御方法
KR101088450B1 (ko) 반도체 메모리 장치
WO2003073429A1 (fr) Memoire a semi-conducteurs non volatile
JP5116337B2 (ja) 半導体記憶装置
JP2009289307A (ja) 半導体記憶装置
JP2013030251A (ja) メモリシステム
US7991945B2 (en) Semiconductor memory device and semiconductor device
JP2006024342A (ja) 不揮発性半導体記憶装置、不揮発性半導体記憶装置の書き込み方法、メモリカード及びicカード
US6606268B2 (en) Non-volatile semiconductor integrated circuit
KR100903694B1 (ko) 반도체 장치 및 데이터 써넣기 방법
JP4082513B2 (ja) 半導体処理装置
US7743291B2 (en) Semiconductor memory device
JP2008004160A (ja) 半導体集積回路装置
KR20080088172A (ko) 더블 데이터 레이트 낸드 플래시 메모리 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210301

R150 Certificate of patent or registration of utility model

Ref document number: 6846321

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150