JP2005534131A - フラッシュメモリセルの組込み自己試験 - Google Patents

フラッシュメモリセルの組込み自己試験 Download PDF

Info

Publication number
JP2005534131A
JP2005534131A JP2004522988A JP2004522988A JP2005534131A JP 2005534131 A JP2005534131 A JP 2005534131A JP 2004522988 A JP2004522988 A JP 2004522988A JP 2004522988 A JP2004522988 A JP 2004522988A JP 2005534131 A JP2005534131 A JP 2005534131A
Authority
JP
Japan
Prior art keywords
flash memory
bist
memory cell
state
address
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.)
Withdrawn
Application number
JP2004522988A
Other languages
English (en)
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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
Priority claimed from US10/200,544 external-priority patent/US6631086B1/en
Priority claimed from US10/200,526 external-priority patent/US7028240B1/en
Priority claimed from US10/200,330 external-priority patent/US6665214B1/en
Priority claimed from US10/200,518 external-priority patent/US7010736B1/en
Priority claimed from US10/200,540 external-priority patent/US20040049724A1/en
Priority claimed from US10/200,539 external-priority patent/US6707718B1/en
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2005534131A publication Critical patent/JP2005534131A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/20Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/48Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/72Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms

Landscapes

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

Abstract

半導体基板(302)に作製されたフラッシュメモリセル(304)を試験するためのBIST(組込み自己試験)システム(300)において、BIST(組込み自己試験)インタフェース(312)、フロントエンド状態機械(314)、バックエンド状態機械(316)が半導体基板(302)に作製されている。BISTインタフェース(312)は、外部試験システム(318)から試験モードデータを入力し、フロントエンド状態機械(314)は、試験モードデータをデコードして、少なくとも1つの所望の試験モードを実行する順序を決定する。バックエンド状態機械(316)は、フラッシュメモリセル(304)のオンチップ試験のため、この順序に従って、フラッシュメモリセル(304)に少なくとも1つの所望の試験モードを実行する。

Description

本発明は、一般にフラッシュメモリデバイスの製造に関し、より詳細には、半導体ウェハにあるできるだけ多くのダイを同時に試験できるように、できるだけ少ないピン数でコアフラッシュメモリセルのアレイの組込み自己試験を実行するためのシステムならびに方法に関する。
「発明を実施するための最良の形態」のセクションは、以下のサブセクションで構成されている。
A.BIST(組込み自己試験)システム
B.BIST(組込み自己試験)インタフェース
C.バックエンドBIST(組込み自己試験)状態機械
D.コアフラッシュメモリセルの不良アドレスのオンチップ修復
E.BIST(組込み自己試験)バックエンド状態機械の機能を試験するための診断モード
F.BIST(組込み自己試験)システム内のアドレスシーケンサ
G.BIST(組込み自己試験)システムのパターン生成器
H.効率的な消去検証BIST(組込み自己試験)モードのためのオンチップ消去パルスカウンタ
I.フラッシュメモリデバイスのCAM部分の試験中のマージニング電圧のオンチップ生成
図1を参照すると、集積回路製製造の当業者に公知のように、フラッシュメモリデバイスのフラッシュメモリセル100は、通常は二酸化シリコン(SiO)または酸窒化シリコンを含むトンネル絶縁体構造102を有する。トンネル絶縁体構造102は、半導体基板またはp型ウェル103上に設けられている。さらに、例えばポリシリコンなどの導電性材料を含むフローティングゲート構造104がトンネル絶縁体構造102上に設けられている。フローティングゲート構造104上には、通常は二酸化シリコン(SiO)を含む絶縁体構造106が設けられている。絶縁体構造106の上には、導電性材料を含む制御ゲート構造108が設けられている。
図1のフローティングゲート構造104の左側の側壁に向かって、半導体基板またはp型ウェル103の能動素子領域112内に、例えばヒ素(As)やリン(P)などの接合ドーパント(junction dopant)をドープしたドレインビット線接合部110が形成されている。図1のフローティングゲート構造104の右側の側壁に向かって、半導体基板またはp型ウェル106の能動素子領域112内に、接合ドーパントをドープしたソースビット線接合部114が形成されている。
図1のフラッシュメモリセル100のプログラム動作または消去動作中に、電荷担体がフローティングゲート構造104に注入されるか、あるいはフローティングゲート構造104から引き抜かれる。フラッシュメモリ技術の当業者に公知のように、フローティングゲート構造104内の電荷担体の量がこのように変化すると、フラッシュメモリセル100のしきい値電圧が変わる。例えば、電子がフローティングゲート構造104に注入される電荷担体である場合、しきい値電圧は上昇する。あるいは、電子がフローティングゲート構造104から引き抜かれる電荷担体である場合、しきい値電圧は下がる。電子工学の当業者に公知のように、この2つの状態は、フラッシュメモリセル100内にデジタル情報を記憶するための2つの状態として用いられる。
フラッシュメモリセル100のプログラミング時には、例えば制御ゲート構造108に+9ボルトの電圧を印加し、ドレインビット線接合部110に+5ボルトの電圧を印加し、ソースビット線接合部114と半導体基板またはp型ウェル103とに0ボルトの電圧を印加する。フラッシュメモリセル100のプログラミング時に、このようにバイアスを印加すると、フラッシュメモリセル100がNチャネルフラッシュメモリセルの場合、電子がフローティングゲート構造104に注入されて、フラッシュメモリセル100のしきい値電圧が上昇する。
あるいは、フラッシュメモリセル100の消去時に、制御ゲート構造108に例えば−9.5ボルトの電圧を印加し、ドレインビット線を接合部110で浮遊状態にし、ソースビット線接合部114と半導体基板またはp型ウェル103とに+4.5ボルトの電圧を印加する。フラッシュメモリセル100の消去時に、このようにバイアスを印加すると、フラッシュメモリセル100がNチャネルフラッシュメモリセルの場合、電子がフローティングゲート構造104から引き抜かれて、フラッシュメモリセル100のしきい値電圧が低下する。このような消去動作は、フラッシュメモリ技術の当業者によってエッジ消去法(edge erase process)と呼ばれている。
別法であるチャネル消去法(channel erase process)では、制御ゲート構造108に−9.5ボルトの電圧を印加し、半導体基板またはp型ウェル103に+9ボルトの電圧を印加し、ソースビット線接合部11011とドレインビット線接合部114とを浮遊状態にする。フラッシュメモリセル100の消去時に、このようにバイアスを印加すると、フラッシュメモリセル100がNチャネルフラッシュメモリセルの場合、電子がフローティングゲート構造104から基板またはp型ウェル103へ引き抜かれて、フラッシュメモリセル100のしきい値電圧が低下する。
図2は、図1のフラッシュメモリセル100の回路図であり、フラッシュメモリセル100は、制御ゲート構造108に結合された制御ゲート端子150、ドレインビット線接合部110に結合されたドレイン端子152、ソースビット線接合部114に結合されたソース端子154、および基板またはp型ウェル103に結合された基板またはp型ウェル端子156を有する。図3に、フラッシュメモリ技術の当業者に公知のようにフラッシュメモリセルのアレイを有する電気的消去可能プログラマブルメモリデバイス200を示す。図3を参照すると、フラッシュメモリセル200のアレイは、フラッシュメモリセルの行と列とを有し、それぞれのフラッシュメモリセルは図1,2のフラッシュメモリセル100と類似する構造を有する。説明を簡単にし、かつわかりやすくするために、図3のフラッシュメモリセル200のアレイは、2行2列のフラッシュメモリセルを有するように示されている。しかし、電気的消去可能プログラマブルメモリデバイスに含まれるフラッシュメモリセルのアレイは、通常、遙かに多くのフラッシュメモリセルの行と列とを有する。
図3をさらに参照すると、電気的消去可能プログラマブルメモリデバイスに含まれるフラッシュメモリセル200のアレイにおいて、アレイの1つの行の全フラッシュメモリセルの制御ゲート端子が1つに結合されて、その行のワード線を形成している。図3で、第1行の全フラッシュメモリセルの制御ゲート端子が1つに結合されて、第1のワード線202を形成しており、第2行の全フラッシュメモリセルの制御ゲート端子が1つに結合されて、第2のワード線204を形成している。
さらに、1つの列の全フラッシュメモリセルのドレイン端子が1つに結合されて、その列のビット線を形成している。図3で、第1列の全フラッシュメモリセルのドレイン端子が1つに結合されて、第1のビット線206を形成しており、第2列の全フラッシュメモリセルのドレイン端子が1つに結合されて、第2のビット線208を形成している。図3をさらに参照すると、アレイ200の全フラッシュメモリセルのソース端子がソース電圧VSSに結合されており、アレイ200の全フラッシュメモリセルの基板またはp型ウェル端子が基板電圧VSUBに結合されている。
図4を参照すると、例えば図3のようなフラッシュメモリセルのアレイを有するフラッシュメモリデバイスが、半導体ウェハ220の半導体ダイに作製されている。複数の半導体ダイが半導体ウェハ220に製造されている。図4の半導体ウェハ220にある正方形領域のそれぞれが1つの半導体ダイである。図4は見やすくするため半導体ダイの数を少なく図示しているが、通常はこれより遙かに多くの半導体ダイが半導体ウェハに作製される。図4の各半導体ダイは、コアフラッシュメモリセルのアレイを有するフラッシュメモリデバイスをそれぞれ有する。
フラッシュメモリデバイス製造の当業者に公知のように、半導体ウェハ220にフラッシュメモリデバイスを製造する際には、半導体ダイにある各フラッシュメモリデバイスの試験を行って、正常に機能することを確認する。図5を参照すると、半導体ダイの例222は、コアフラッシュメモリセル224のアレイを有するフラッシュメモリデバイスを有する。図3,5を参照すると、半導体ダイ222上のフラッシュメモリデバイスの試験では、コアフラッシュメモリセル224のアレイを試験するために、外部試験システムが、半導体ダイ222のコンタクトパッド226を介してコアフラッシュメモリセル224のアレイにバイアス電圧を印加する。
図3,5を参照すると、複数のフラッシュメモリ試験モードに従って、外部試験システムによって、コンタクトパッド226を介してコアフラッシュメモリセル224のアレイにプログラム電圧および消去電圧のパターンが印加される。例えば、ある試験モードでは、コアフラッシュメモリセル224のアレイが、交互のチェッカーボードパターンでプログラムおよび消去される。あるいは、別の試験モードでは、コアフラッシュメモリセル224のアレイの対角線に位置するフラッシュメモリセルがプログラムされる。次に、各試験モードについて、外部試験システムによって、コンタクトパッド226を介してコアフラッシュメモリセルのアレイに読出し動作が実行され、コアフラッシュメモリセル224のアレイが正常にプログラムおよび消去されたかどうかを判定する。コアフラッシュメモリセルのアレイが正常に機能するかを試験するためのこのような複数のフラッシュメモリ試験モードとこのような外部試験システムは、フラッシュメモリデバイス製造の当業者に公知である。このような外部試験システムの例に、アジレント・テクノロジーズ・インク(Agilent Technologies, Inc.)(カリフォルニア州パロアルト所在)から入手可能なモデルV3300がある。
従来技術では、コアフラッシュメモリセルのアレイが正常に機能することを確認するための試験の際に、外部試験システムは、半導体ダイ222のコンタクトパッド226を介してコアフラッシュメモリセルのアレイにプログラム動作、消去動作、および読出し動作を実行する。従来技術では、比較的大きなコアフラッシュメモリセルのアレイ(例えば16メガビットフラッシュメモリデバイス用など)では、半導体ウェハ220の各半導体ダイの試験に使用する外部試験システムのピン数がかなり多い。例えば、従来技術では、16メガビットのフラッシュメモリデバイスの場合、外部試験システムがコアフラッシュメモリセルのアレイにプログラム動作、消去動作、および読出し動作を直接実行する際には、外部試験システムの46本のピンが使用される。外部試験システムの総ピン数が500本である場合、1つの半導体ダイの試験に46本のピンの組が占有されるため、10個の半導体ダイを同時に試験することができる。
しかし、フラッシュメモリデバイスの製造時のスループットを最大限に高めるには、できるだけ多くの半導体ダイを同時に試験することが求められている。例えば、総ピン数を増やした外部試験システムを使用すれば、より多くの半導体ダイを同時に試験することができる。しかし、ピン数が非常に多い外部試験システムはコスト高になると考えられる。さらに、技術の進歩に伴ってフラッシュメモリデバイスのビット数が増えたため、従来技術では、外部試験システムがコアフラッシュメモリセルのアレイにプログラム動作、消去動作、および読出し動作を直接実行する場合、1つの半導体ダイに必要な外部試験システムのピン数が増え、スループットが一層低下する可能性がある。このため、総ピン数の限られた外部試験システムによってできるだけ多くの半導体ダイを同時に試験し、フラッシュメモリデバイスの製造時のスループットを向上させることができるように、各半導体ダイにあるフラッシュメモリデバイスの試験に使用するピン数を最小限に減らすためのメカニズムが求められている。
したがって、本発明の一般的な態様においては、半導体ダイ上のフラッシュメモリデバイスの試験中に、フラッシュメモリセルと同じ半導体ダイにオンチップに作製されたBIST(組込み自己試験)システムによって、プログラミング動作、消去動作、および読出し動作がその半導体ダイ内でオンチップに実行される。このため、プログラム動作、消去動作、および読出し動作を行うための外部試験システムのピンが不要となり、半導体ダイの各フラッシュメモリデバイスの試験に使用するピン数を削減できる。
本発明の一実施形態においては、半導体ダイに作製されているコアフラッシュメモリセルのアレイを試験するためのシステムならびに方法において、第1の状態の間に、外部試験システムから、半導体ダイに作製されている第1のデータ記憶装置に試験種別データが入力される。半導体ダイに作製されている試験種別デコーダが試験種別データをデコードして、外部試験システムによって組込み自己試験モードが呼び出されているかどうかを判定する。外部試験システムによって組込み自己試験モードが呼び出されている場合、第2の状態の間に、外部試験システムから、半導体ダイに作製されている第2のデータ記憶装置に試験モードデータが逐次的に入力される。
この試験モードデータは、コアフラッシュメモリセルのアレイに実行する所望のフラッシュメモリの試験モードの組を定義している。各試験モードは、コアフラッシュメモリセルのアレイにバイアスを印加する個々のパターン、およびコアフラッシュメモリセルのアレイのプログラム状態および消去状態の個々の所望のパターンに対応している。半導体ダイに作製されているフロントエンド状態機械は、試験モードデータをデコードして、所望の試験モードを実行する順序を決定する。
半導体ダイに作製されているバックエンド状態機械は、第3の状態の間に、フロントエンド状態機械によって決定された順序に従って所望の試験モードを実行する。バックエンド状態機械は、各所望の試験モードのために、コアフラッシュメモリセルのアレイにバイアスを印加する個々のパターンに従って、コアフラッシュメモリセルのアレイに電圧を印加する。バックエンド状態機械が、各所望の試験モードのために、コアフラッシュメモリセルのアレイにバイアスを印加する個々のパターンに従って、コアフラッシュメモリセルのアレイの電圧を印加すると、バックエンド状態機械は、そのコアフラッシュメモリセルのアレイのプログラム状態および消去状態のパターンを測定する。さらに、バックエンド状態機械は、コアフラッシュメモリセルのアレイの、測定したプログラム状態および消去状態のパターンと、所望のプログラム状態および消去状態のパターンとを比較することによって、各所望の試験モードの合否結果を判定する。
第3の状態の間、各所望の試験モードに対応するそれぞれの合否結果は、半導体ダイに作製されている第3のデータ記憶装置に記憶される。第3のデータ記憶装置に記憶された、各所望の試験モードに対応するそれぞれの合否結果は、第4の状態の間に外部試験システムに逐次的に出力される。
本発明は、第1のデータ記憶装置、第2のデータ記憶装置、および第3のデータ記憶装置がそれぞれシリアルシフトレジスタの一部である場合、特に有利に使用することができる。この場合、第2の状態の間に、試験モードデータは、1本のI/O(入出力)ピンを介して外部試験システムからシリアルシフトレジスタの第1部分に逐次的にシフトされる。さらに、各所望の試験モードに対応するそれぞれの合否結果は、第3の状態の間に、シリアルシフトレジスタの第2部分に記憶され、第4の状態の間に、1本のI/Oピンを介して逐次的にシフトアウトされる。
フラッシュメモリセルのアレイのプログラム動作、消去動作、および読出し動作が半導体ダイ上でオンチップに実行されるため、各半導体ダイの試験に使用する外部試験システムのピン数を削減できる。各半導体ダイの試験に使用されるピンの数には、制御信号用のピン数本、電源用のピン数本、およびIO(入出力)ピン数本が含まれる。例えば、本発明の一実施形態によれば、3本のピンを制御信号用に、2本のピンを電源用に、2本のピンをIOピンに使用する。
このように、1つの半導体ダイの試験に占有されるピン数が、従来技術の46本から、本発明の一実施形態では約7本に削減される。このようにピン数を削減することにより、総ピン数の限られた外部試験システムによってより多くの半導体ダイを同時に試験することができ、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。
本発明の上記の特徴および効果ならびにそれ以外の特徴および効果は、添付の図面と共に記載する下記の発明の詳細な説明を検討すればよりよく理解できる。
本明細書で参照する図面は、説明上わかりやすく記載するものであり、必ずしも正しい縮尺で記載されているわけではない。図1〜83において、同一の参照符号を付した要素は、構造および機能面で類似している要素を参照している。
A.BIST(組込み自己試験)システム
図6を参照すると、本発明の一般的な態様では、フラッシュメモリデバイス304が作製されている半導体ダイ302に、BIST(組込み自己試験)システム300が作製されている。フラッシュメモリデバイス304は、例えば図3に示すように、コアフラッシュメモリセルのアレイを有する。半導体ダイ302には、コアフラッシュメモリセル304のアレイとBISTシステム300とに接続するための導電パッド306も作製されている。図6は見やすくするため導電パッドの数を少なく表示しているが、通常はこれより遙かに多くの導電パッドが作製される。
図7は、コアフラッシュメモリセル304のアレイと共にオンチップに作製されている図6のBISTシステム300のブロック図である。BISTシステム300は、BIST(組込み自己試験)インタフェース312、フロントエンドインタフェース314、およびバックエンドBIST(組込み自己試験)状態機械316を備える。BISTインタフェース312は、外部試験システム318、フロントエンドインタフェース314、およびバックエンドBIST状態機械316に結合されている。バックエンドBIST状態機械316は、フロントエンドインタフェース314、BISTインタフェース312、およびコアフラッシュメモリセル304のアレイに結合されている。
図6,7を参照すると、BISTシステム300とコアフラッシュメモリセル304のアレイとがオンチップに存在するように、BISTインタフェース312、フロントエンドインタフェース314、およびバックエンドBIST状態機械316は、コアフラッシュメモリセル304のアレイと共に半導体ダイ302に作製されているBISTシステム300を構成している。外部試験システム318は、BISTシステム300には含まれない。外部試験システム318は、半導体ダイ302の外部に存在し、コアフラッシュメモリセル304のアレイの試験中にBISTシステム300とのインタフェースとなる。
BISTインタフェース312は、コアフラッシュメモリセル304のアレイの試験中に外部試験システム318から制御信号および試験データを入力して、命令を解釈する。さらに、BISTインタフェース312は、コアフラッシュメモリセル304のアレイの試験によって得た試験結果を外部試験システム318に出力する。バックエンドBIST状態機械316は、コアフラッシュメモリセル304のアレイの試験のため、コアフラッシュメモリセル304のアレイにプログラム電圧および消去電圧を印加する。さらに、バックエンドBIST状態機械316は、コアフラッシュメモリセル304のアレイの試験の合否を判定するため、コアフラッシュメモリセル304のアレイに読出し動作を実行する。
フロントエンドインタフェースは、バックエンドBIST状態機械316に試験モード識別情報データを供給し、これにより、バックエンドBIST状態機械316は、この試験モード識別情報に従ってコアフラッシュメモリセル304のアレイの試験のために、コアフラッシュメモリセル304のアレイに適切なプログラム電圧および消去電圧のパターンを印加する。コアフラッシュメモリセル304のアレイの試験中には、複数の試験モードがコアフラッシュメモリセル304のアレイに実行される。一例を挙げると、コアフラッシュメモリセル304のアレイの試験中に、約19の異なる試験モードがコアフラッシュメモリセル304のアレイに実行される。
各試験モードは、コアフラッシュメモリセル304のアレイのプログラム状態および消去状態を所望のパターンにするために、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルにバイアスを印加するパターンに対応している。例えば、ある試験モードでは、コアフラッシュメモリセルを所望のチェッカーボードパターンにプログラムおよび消去するためにコアフラッシュメモリセル304のアレイ内のコアフラッシュメモリセルが交互のチェッカーボードパターンでプログラムおよび消去される。あるいは、別の試験モードでは、フラッシュメモリセルを所望の対角パターンにプログラムするために、コアフラッシュメモリセル304のアレイの対角線に位置するフラッシュメモリセルがプログラムされる。コアフラッシュメモリセルのアレイの機能を試験するためのこの種の試験モードは、フラッシュメモリデバイス製造の当業者に公知である。
バックエンド状態機械316は、試験モードに対し、コアフラッシュメモリセル304のアレイにバイアスを印加するそれぞれのパターンに従って、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルに適切なプログラム電圧または消去電圧を印加する。フロントエンドインタフェース314からの試験モード識別情報は、バックエンド状態機械316が実行すべき現在の試験モード(current test mode)を示す。
バックエンド状態機械316が、試験モードのために、適切な電圧をコアフラッシュメモリセルのアレイに印加したら、バックエンド状態機械316は、コアフラッシュメモリセルのアレイのプログラム状態および消去状態のパターンを測定する。さらに、バックエンド状態機械316は、その試験モードについて、コアフラッシュメモリセルのアレイの、測定したプログラム状態および消去状態のパターンと、所望のプログラム状態および消去状態のパターンとを比較して、試験モードの合否結果を決定する。バックエンド状態機械316が判定した試験モードの合否結果は、BISTインタフェース312に記憶される。
B.BIST(組込み自己試験)インタフェース
図8は、BISTインタフェース312の実装の一例のブロック図である。図8を参照すると、BISTインタフェース312は、シリアルシフトレジスタ320を備える。シリアルシフトレジスタは、電子工学の当業者に公知である。さらに、BISTインタフェース312は、シリアルシフトレジスタ320を駆動し、データビットを逐次的にシフトさせるシフトレジスタクロック321を備える。BISTインタフェース312は、シリアルシフトレジスタ320との間でデータビットの入出力を行うための第1のバッファ322、第2のバッファ323、および第3のバッファ338も備える。さらに、BISTインタフェース312は、ロジックコントローラ325、試験種別デコーダ326、ロック信号発生器327、およびメモリ位置デコーダ328を備える。
図9は、コアフラッシュメモリセル304のアレイの試験中の、BISTシステム300内のBISTインタフェース312の動作ステップのフローチャートである。さらに、図10は、コアフラッシュメモリセル304のアレイの試験中の制御信号およびデータのタイミング図である。図7,8,9,10を参照すると、外部試験システム318は、CE/(チップイネーブルバー)制御ピンを介して、ハイに設定したCE/(チップイネーブルバー)信号を含む第1の制御信号の組をBISTインタフェース312のロジックコントローラ325に送信して、第1の状態の開始を通知する(図9のステップ352および図10の時点402)。このハイに設定されたCE/信号によって、シリアルシフトレジスタ320は、第1レジスタ330がハイ「1」ビットに設定される以外はロー「0」ビットにリセットされる。
さらに、ロジックコントローラ325は、このハイに設定されたCE/信号を受けると、ST1信号をハイに設定する。ST1信号は、シフトレジスタクロック321に結合されており、シフトレジスタクロック321は外部試験システム318からのWE/(ライトイネーブルバー)クロック信号によって駆動される。シフトレジスタクロック321は、外部試験システム318から供給されるWE/クロック信号からクロック信号を生成して、シリアルシフトレジスタ320を駆動させて、WE/クロックによって外部試験システム318からの試験種別データをシフトインさせる。
図8,9を参照すると、第1の状態の間、試験種別データは第1の3個のデータビットを含んでおり、これらは、シリアルシフトレジスタ320の3個のレジスタからなる第1部分332にシフトインされる。第1のバッファ322がオンになると、これらの第1の3個のデータビットが、第1のIO(入出力)ピンを介して外部試験システム318からシリアルシフトレジスタ320の第1部分332に入力される。試験種別データは、さらに第2の3ビットを含んでおり、これらは、シリアルシフトレジスタ320の3個のレジスタからなる第2部分333にシフトインされる。第2のバッファ323がオンになると、これらの第2の3個のデータビットが、第2のIO(入出力)ピンを介して外部試験システム318からシリアルシフトレジスタ320の第2部分333に入力される。WE/クロック信号が3サイクル経過すると、試験種別データの第1の3ビットと第2の3ビットが、シリアルシフトレジスタ320の第1部分332および第2部分333にシフトインされている(図9のステップ354)。
シリアルシフトレジスタ320の第1部分332と第2部分333は、試験種別デコーダ326に結合されている。WE/クロック信号の3サイクルで、試験種別データの第1の3ビットと第2の3ビットがシリアルシフトレジスタ320の第1部分332と第2部分333にシフトインされると、試験種別デコーダ326は、試験種別データの第1の3ビットと第2の3ビットをデコードして、外部試験システム318が、BIST(組込み自己試験)モードと手動モードのいずれを呼び出しているかを判定する(図9のステップ356)。BISTモードと手動モードを呼び出すには、外部試験システム318によって、データビットのそれぞれ適切な組合せが、試験種別データの第1の3ビットと第2の3ビットとして入力されている必要がある。このような試験種別デコーダ326を実装するためのデコーダ技術は、電子工学の当業者に公知である。
例えば従来技術のように、外部試験システム318は、BISTシステム300を無効にするために手動モードを呼び出し、これにより、外部試験システム318は、コアフラッシュメモリセル304のアレイの試験のため、プログラム動作、消去動作、および読出し動作をコアフラッシュメモリセル304のアレイに直接実行する。あるいは、外部試験システム318は、BISTシステム300を使用するためにBISTモードを呼び出して、コアフラッシュメモリセル304のアレイの試験のため、プログラム動作、消去動作、および読出し動作をオンチップに実行する。
BISTモードに対応したデータビットの適切な組合せが、外部試験システム318によって試験種別データの第1の3ビットと第2の3ビットとして入力されている場合、試験種別デコーダ326は、STESTフラグをハイに設定するがMTESTフラグはローのまま保持する。あるいは、手動モードに対応したデータビットの別の適切な組合せが、外部試験システム318によって試験種別データの第1の3ビットと第2の3ビットとして入力されている場合、試験種別デコーダは、MTESTフラグをハイに設定するがSTESTフラグはローのまま保持する。STESTフラグとMTESTフラグは、ロジックコントローラ325に送信される。一方、BISTモードまたは手動モードのそれぞれに対応したデータビットの適切な組合せが、外部試験システム318によって試験種別データの第1の3ビットと第2の3ビットとして入力されていない場合、STESTフラグとMTESTフラグはローのまま保持される。
さらに、WE/クロック信号の3サイクルで、試験種別データの第1の3ビットと第2の3ビットがシリアルシフトレジスタ320の第1部分332と第2部分333に転送されると、第1レジスタ330に設定されていたハイのビットが第4レジスタ334にシフトされている。第4レジスタ334の内容は、ロック信号発生器327に結合されている。WE/クロック信号の3サイクルで、試験種別データの第1の3ビットと第2の3ビットがシリアルシフトレジスタ320の第1部分332と第2部分333にシフトされて、第4レジスタ334の内容がハイになると、ロック信号発生器327はLOCKフラグを自動的にハイに設定する。この時点で、第1レジスタ330にあったハイのビットは第4レジスタ334にシフトされている。また、ハイに設定されたLOCKフラグは、ロジックコントローラ325にも送信されて、試験種別デコーダ326が試験種別データをデコードしたことを通知する。さらに、LOCKフラグがハイに設定されると、第1の状態が終了し、シリアルシフトレジスタ320の内容がローにリセットされる。
ロジックコントローラ325が、試験種別デコーダによってMTESTフラグがハイに設定されたため外部試験システム318が手動モードを呼び出していると判断した場合、フラッシュメモリセルのアレイがBISTシステム300を使用して複数の試験モードで試験されることはない(図9のステップ358)。その代わり、外部試験システム318は、例えば従来技術の手動モードに従って複数の試験モードで試験を行う(図9のステップ360)。
LOCKフラグがハイに設定されており、ロジックコントローラ325が、STESTフラグとMTESTフラグがいずれもローに設定されているため外部試験システム318が手動モードもBISTモードも呼び出していないと判断した場合(図9のステップ358)、ロジックコントローラによってフェイルモードが開始される(図9のステップ362)。フェイルモードでは、シリアルシフトレジスタ320に無意味なデータビットが記憶されており、このため、外部試験システム318がこのような無意味なデータビットを読み込むと、外部試験システム318はフェイルモードが発生したと判定する。
ロジックコントローラ325が、STESTフラグがハイに設定されているため、外部試験システム318がBISTモードを呼び出していると判定した場合(図9のステップ356)、図9のフローチャートの残りの動作ステップが実行される。BISTモードを呼び出すための試験種別データのデータビットをこのようにデコーディングするのは、コアフラッシュメモリセル304のアレイの製造後、コアフラッシュメモリセル304のアレイの使用中に、ユーザがBISTモードを偶発的に呼び出し、この結果、コアフラッシュメモリセル304のアレイのオンチップ試験が制御不能に行われないようにするためである。
図8,9,10を参照すると、ロジックコントローラ325が、外部試験システム318がBISTモードを呼び出していると判断した場合、BISTシステム300によって第2の状態が開始される(図9のステップ364および図10の時点404)。この場合、ロジックコントローラからのST2フラグがハイに設定され、シフトレジスタクロック321に結合される。第2の状態が開始してST2フラグがハイに設定されると、外部試験システム318は、WE/制御ピンを介してWE/クロック信号を、第2のIOピンを介して第2のIO(入出力)クロック信号をそれぞれ供給する。ST2フラグがハイに設定されると、シフトレジスタクロック321は、WE/クロック信号と第2のIOクロック信号を組み合わせて、シリアルシフトレジスタ320を駆動するためのクロック信号を生成する。例えば、WE/クロック信号がハイに設定され、続いて第2のIOクロック信号がローに設定される度に、シリアルシフトレジスタ320は1ビットをシフトする。このように信号を組合せて使用することで、WE/クロック信号または第2のIOクロック信号の一方のみがノイズによって勝手に遷移したときに、シリアルシフトレジスタ320が誤って1ビットをシフトすることがなくなる。
シフトレジスタクロック321がシリアルシフトレジスタ320を駆動すると、一連のデータビットを含む試験モードデータが、シリアルシフトレジスタ320の第3の部分335に逐次的にシフトされる。第1のバッファ322がオンになると、試験モードデータが、第1のIOピンを介して外部試験システム318によって第1レジスタ330に供給される。図11に、第2の状態後のシリアルシフトレジスタ320の内容の例を示す。図11の例示的な実施形態では、シリアルシフトレジスタ320の第1の8個のレジスタがシリアルシフトレジスタ320の第3部分335を構成しており、シリアルシフトレジスタ320の第2の8個のレジスタがシリアルシフトレジスタ320の第4の部分336を構成している。試験モードデータは、シリアルシフトレジスタ320の第3部分335に逐次的にシフトされる(図9のステップ366)。試験モードデータは、外部試験システム318が選択した、BISTシステム300がコアフラッシュメモリセル304のアレイに実行する所望の試験モードの組を示す。
各試験モードは、コアフラッシュメモリセル304のアレイのプログラム状態および消去状態を所望のパターンにするために、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルにバイアスを印加するパターンに対応している。例えば、ある試験モードでは、コアフラッシュメモリセルを所望のチェッカーボードパターンにプログラムおよび消去するためにコアフラッシュメモリセル304のアレイ内のコアフラッシュメモリセルが交互のチェッカーボードパターンでプログラムおよび消去される。あるいは、別の試験モードでは、フラッシュメモリセルを所望の対角パターンにプログラムするために、コアフラッシュメモリセル304のアレイの対角線に位置するフラッシュメモリセルがプログラムされる。コアメモリセルのアレイの機能を試験するためのこの種の試験モードは、フラッシュメモリデバイス製造の当業者に公知である。
コアフラッシュメモリセル304のアレイの試験中には、複数の試験モードがコアフラッシュメモリセル304のアレイに実行される。一例を挙げると、コアフラッシュメモリセル304のアレイの試験中に、約19の異なる試験モードがコアフラッシュメモリセル304のアレイに実行され得る。本発明の一実施形態では、試験モードデータはデータビットのコードであり、このデータビットは、BISTシステム300がコアフラッシュメモリセル304のアレイに実行する所望の試験モードとして、外部試験システム318が選択した試験モードを示している。
図11を参照すると、第1の3個のレジスタにある第1の3ビットは、外部試験システム318が選択した試験モードの組を示している。それぞれの組は、取り得る5つの試験モードの組に対応している。各取り得る試験モードは、コアフラッシュメモリセル304のアレイに実行する所望の試験モードを選択するために、シリアルシフトレジスタ320の、ハイに設定されているそれぞれのシフトレジスタに対応付けられている。例えば、第1の3個のシフトレジスタに格納されているデジタルコードが「1,0,0」であれば、外部試験システム318は、第1の試験モード(#1)、第2の試験モード(#2)、第3の試験モード(#3)、第4の試験モード(#4)、および第5の試験モード(#5)を含む試験モードの第1の組を選択している。このとき、第1の試験モード(#1)がコアフラッシュメモリセル304のアレイに実行する所望の試験モードであれば第4のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。同様に、第2の試験モード(#2)が所望の試験モードの場合には第5のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第3の試験モード(#3)が所望の試験モードの場合には第6のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第4の試験モード(#4)が所望の試験モードの場合には第7のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第5の試験モード(#5)が所望の試験モードの場合には第8のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。
一方、第1の3個のシフトレジスタに格納されているデジタルコードが「1,0,1」であれば、外部試験システム318は、第6の試験モード(#6)、第7の試験モード(#7)、第8の試験モード(#8)、第9の試験モード(#9)、および第10の試験モード(#10)を含む試験モードの第2の組を選択している。このとき、第6の試験モード(#6)がコアフラッシュメモリセル304のアレイに実行する所望の試験モードであれば第4のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。同様に、第7の試験モード(#7)が所望の試験モードの場合には第5のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第8の試験モード(#8)が所望の試験モードの場合には第6のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第9の試験モード(#9)が所望の試験モードの場合には第7のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第10の試験モード(#10)が所望の試験モードの場合には第8のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。
あるいは、第1の3個のシフトレジスタに格納されているデジタルコードが「1,1,0」であれば、外部試験システム318は、第11の試験モード(#11)、第12の試験モード(#12)、第13の試験モード(#13)、第14の試験モード(#14)、および第15の試験モード(#15)を含む試験モードの第3の組を選択している。このとき、第11の試験モード(#11)がコアフラッシュメモリセル304のアレイに実行する所望の試験モードであれば第4のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。同様に、第12の試験モード(#12)が所望の試験モードの場合には第5のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第13の試験モード(#13)が所望の試験モードの場合には第6のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第14の試験モード(#14)が所望の試験モードの場合には第7のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第15の試験モード(#15)が所望の試験モードの場合には第8のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。
このように、シリアルシフトレジスタ320の第3部分335に記憶されている試験モードデータは、コアフラッシュメモリセル304のアレイに実行する所望の試験モードの組を示している。図7,8を参照すると、シリアルシフトレジスタ320の第3部分335はフロントエンドインタフェース314に結合されており、フロントエンドインタフェース314は、シリアルシフトレジスタ320の第3部分335に格納されているデータビットをデコードして、バックエンドBIST状態機械316が実行すべき試験モードを決定する。このほか、フロントエンドインタフェースは、所望の試験モードを実行する順序を指示する(図9のステップ368)。フロントエンドインタフェース314は、試験モードデータをデコードして、バックエンドBIST状態機械316が実行すべき現在の試験モードの識別情報を送信する。フロントエンドインタフェース314は、バックエンドBIST状態機械316が所望の試験モードの全てを実行するまで、各所望の試験モードを現在の試験モードとして一巡する(cycle through)。
外部試験システム318が試験モードデータの8ビットを送信し、これがシリアルシフトレジスタ320の第3部分335に記憶されると、外部試験システム318は、第3の状態の開始を示す制御信号の第3の組をロジックコントローラ325に送信する(図9のステップ370および図10の時点406)。この制御信号の組には、OE/制御ピンを介して送信されるローに設定されたOE/(出力イネーブルバー)信号、WE/制御ピンを介して送信されるローに設定されたWE/制御信号、および制御信号としてのローに設定された第2のIOピンが含まれる。ロジックコントローラ325は、ST3フラグをハイに設定して、第3の状態の開始を通知する。ST3フラグはシフトレジスタクロック321に結合されており、シフトレジスタクロック321は、シリアルシフトレジスタ320にクロック信号を提供しない。このため、第3の状態の間にシリアルシフトレジスタ320内のデータがシフトされることはない。
第3の状態の間に、バックエンドBIST状態機械316は、試験モードデータに指定されている各所望の試験モードを、フロントエンド状態機械314が決定した順序で実行する(図9のステップ372)。ロジックコントローラ325は、BSTARTフラグをハイに設定して、バックエンドBIST状態機械316を制御して、フロントエンドインタフェース314が決定した所望の試験モードの実行を開始させる。フロントエンドインタフェース314は、バックエンドBIST状態機械316が実行すべき現在の試験モードの識別情報を送信する。第3の状態の間に、フロントエンドインタフェース314とバックエンドBIST状態機械316は、バックエンドBIST状態機械316が所望の試験モードの全てを実行するまで、各所望の試験モードを現在の試験モードとして一巡する。
例示的な一実施形態では、フロントエンドインタフェース314は、シリアルシフトレジスタ320の第3部分335を構成している第1の8個のレジスタに固定配線されているデコーダである。さらに、フロントエンドインタフェース314は、15個の試験モードフラグによってバックエンドBIST状態機械316に結合されている。各試験モードフラグは、15の試験モードの1つにそれぞれ対応している。この場合、フロントエンドインタフェースは、シリアルシフトレジスタ320の第3部分335の8個のデータビットをデコードして、バックエンドBIST状態機械316が実行すべき現在の試験モードに対応する15個の試験モードフラグのうちの1つをハイに設定する。このようなフロントエンドインタフェース314を実装するためのデコーダ技術は、電子工学の当業者に公知である。
図7,8,11を参照すると、シリアルシフトレジスタ320の第4レジスタ、第5レジスタ、第6レジスタ、第7レジスタまたは第8レジスタのいずれかのデータビットがハイに設定されていると、フロントエンドインタフェースは、選択されている試験モードを全て一巡する。さらに、フロントエンドインタフェースは、これら5つの試験モードのうちのいずれが現在の試験モードであるかを示すBSTAT値を供給する。例えば、任意の試験モードの組について、第4レジスタに対応する試験モードが現在の試験モードであれば、BSTAT値は「1」となる。第5レジスタに対応する試験モードが現在の試験モードであれば、BSTAT値は「2」となる。第6レジスタに対応する試験モードが現在の試験モードであれば、BSTAT値は「3」となる。第7レジスタに対応する試験モードが現在の試験モードであれば、BSTAT値は「4」となる。第8レジスタに対応する試験モードが現在の試験モードであれば、BSTAT値は「5」となる。このBSTAT値は、フロントエンドインタフェース314が供給する3個のデータビットで構成される二進数形式で表され得る。
フロントエンドインタフェース314が、バックエンドBIST状態機械316が実行すべき現在の試験モードの識別情報を送信すると、バックエンドBIST状態機械316は、現在の試験モードのために、コアフラッシュメモリセル304のアレイにバイアスを印加するそれぞれのパターンに従って、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルに適切なプログラム電圧または消去電圧を印加する。さらに、バックエンドBIST状態機械316が現在の試験モードのためにコアフラッシュメモリセルのアレイに適切な電圧を印加すると、バックエンド状態機械は、コアフラッシュメモリセルのアレイのプログラム状態および消去状態のパターンを測定する。また、バックエンドBIST状態機械316は、現在の試験モードについて、コアフラッシュメモリセルのアレイの、測定したプログラム状態および消去状態のパターンと、所望のプログラム状態および消去状態のパターンとを比較して、現在の試験モードの合否結果を判定する(図9のステップ374)。
バックエンドBIST状態機械316が判定した合否結果は、第3の状態の間に、シリアルシフトレジスタ320の第4の部分336に記憶される(図9のステップ374)。図7,8,11を参照すると、各試験モードのそれぞれの合否結果は、シリアルシフトレジスタ320の第4の部分336の対応するレジスタに記憶される。図11を参照すると、例えば第1の3個のシフトレジスタ内のデジタルコードが「1,0,0」であり、試験モードの第1の組が選択されている場合、第1の試験モード(#1)の合否結果が第16シフトレジスタに記憶される。同様に、第2の試験モード(#2)の合否結果が第15シフトレジスタに記憶され、第3の試験モード(#3)の合否結果が第14シフトレジスタに記憶され、第4の試験モード(#4)の合否結果が第13シフトレジスタに記憶され、第5の試験モード(#5)の合否結果が第12シフトレジスタに記憶される。
一方、第1の3個のシフトレジスタ内のデジタルコードが「1,0,1」であり、試験モードの第2の組が選択されている場合、第6の試験モード(#6)の合否結果が第16シフトレジスタに記憶される。同様に、第7の試験モード(#7)の合否結果が第15シフトレジスタに記憶され、第8の試験モード(#8)の合否結果が第14シフトレジスタに記憶され、第9の試験モード(#9)の合否結果が第13シフトレジスタに記憶され、第10の試験モード(#10)の合否結果が第12シフトレジスタに記憶される。
あるいは、第1の3個のシフトレジスタ内のデジタルコードが「1,1,0」であり、試験モードの第3の組が選択されている場合、第11の試験モード(#11)の合否結果が第16シフトレジスタに記憶される。同様に、第12の試験モード(#12)の合否結果が第15シフトレジスタに記憶され、第13の試験モード(#13)の合否結果が第14シフトレジスタに記憶され、第14の試験モード(#14)の合否結果が第13シフトレジスタに記憶され、第15の試験モード(#15)の合否結果が第12シフトレジスタに記憶される。
バックエンドBIST状態機械316は、現在の試験モードについて、コアフラッシュメモリセルのアレイの、測定したプログラム状態および消去状態のパターンと、所望のプログラム状態および消去状態のパターンとを比較して、現在の試験モードの合否結果を判定する(図9のステップ374)。コアフラッシュメモリセルのアレイの、測定したプログラム状態および消去状態のパターンと、所望のプログラム状態および消去状態のパターンとが実質的に同じ場合、現在の試験モードの結果は合格とされる。そうでない場合、現在の試験モードの結果は不合格とされる。
この合否結果は、バックエンドBIST状態機械316から図8のメモリ位置デコーダ328に送信される。また、現在の試験モードを示すBSTAT値も、フロントエンドインタフェース314からメモリ位置デコーダ328に送信される。メモリ位置デコーダは、BSTAT値をデコードして、シリアルシフトレジスタ320の、第4の部分336に含まれる第12レジスタ、第13レジスタ、第14レジスタ、第15レジスタまたは第16レジスタのうち、現在の試験モードに対応する適切なレジスタに、現在の試験モードの合否結果を記憶する。
本発明の一実施形態では、第2の状態の前に、シリアルシフトレジスタ320の第4の部分336に含まれる第12レジスタ、第13レジスタ、第14レジスタ、第15レジスタ、第16レジスタがそれぞれロー「0」にリセットされる。そして、現在の試験モードの結果が合格であれば、メモリ位置デコーダ328は、シリアルシフトレジスタ320の第4の部分336に含まれる第12レジスタ、第13レジスタ、第14レジスタ、第15レジスタまたは第16レジスタのうち、現在の試験モードに対応するレジスタをハイ「1」に設定する。一方、現在の試験モードの結果が不合格であれば、現在の試験モードに対応するレジスタはロー「0」に設定されたままとなる。このようなメモリ位置デコーダ328を実装するためのデコーダ技術は、電子工学の当業者に公知である。
フロントエンドインタフェース314とバックエンドBIST状態機械316が、シリアルシフトレジスタ320の第3部分335にある試験モードデータに指定されている所望の試験モードの全てを一巡したら、バックエンドBIST状態機械316は、ハイのBBUSYフラグをローに設定して、第3の状態の終了を通知する(図10の時点407)。第3の状態の間、外部試験システム318は第2のIOピンを介してBISTインタフェースをポーリングしており、このポーリングの結果、BBUSYフラグが、第1のIOピンを介してバックエンドBIST状態機械316から外部テキストシステム318に渡される。この場合、第3の状態の間、第2のIOピンは制御イネーブルピンとして使用され、第1のIOピンはBBUSYフラグの出力ピンとして使用される。
このように、第3の状態の終了を通知するために、BBUSYフラグがバックエンドBIST状態機械316によってハイからローに設定されると、外部試験システム318は、バックエンドBIST状態機械316が全所望の試験モードの実行を完了したことを通知される。次に、外部試験システム318は、ローに設定したWE/制御信号と、制御信号としてのローに設定した第2のIOピンとを含む制御信号の第4の組を送信して、第4の状態の開始をロジックコントローラ325に通知する(図9のステップ376および図10の時点408)。このとき、ロジックコントローラ325は、ST4フラグをハイに設定する。この第4の状態の間、シフトレジスタ320の第4の部分336に記憶されている各所望の試験モードのそれぞれの合否結果が、外部試験システム318に出力される(図9のステップ378)。
第4の状態の間、外部試験システム318は、第2のIOピンを介して第2のIOクロック信号を、OE/制御ピンを介してOE/クロック信号をそれぞれ供給する。シフトレジスタクロック321がロジックコントローラ325からハイに設定されたST4フラグを受信すると、シフトレジスタクロック321は、第2のIOクロック信号とOE/クロック信号を組み合わせて、シリアルシフトレジスタ320を駆動するためのクロック信号を生成する。例えば、OE/クロック信号がローに設定され、続いて第2のIOクロック信号がハイに設定される度に、シリアルシフトレジスタ320は1ビットをシフトする。このように信号を組合せて使用することで、OE/クロック信号または第2のIOクロック信号の一方のみがノイズによって勝手に遷移したときに、シリアルシフトレジスタ320が誤って1ビットをシフトすることがなくなる。シリアルシフトレジスタ320がこのクロック信号によって駆動されると、シリアルシフトレジスタ320の内容が外部試験システム318にシフトアウトされる。シリアルシフトレジスタ320の内容が外部試験システム318にシフトされる際には、第3バッファ338がオンになり、この結果、末尾のシフトレジスタ337の内容が第1のIOピンを介して出力される。
各所望の試験モードのそれぞれの合否結果はシリアルシフトレジスタ320の第4の部分336内の対応する位置に記憶されている。このため、外部試験システム318は、シリアルシフトレジスタ320の第4の部分336に記憶されている各合否結果の位置から、所望の試験モードのうちどれが合格となり、所望の試験モードのうちどれが不合格となったかを判定する。その後、この合否結果によってフラッシュメモリデバイス304がソートされ得る。例えば、所望の試験モードのいずれかが不合格となった場合、フラッシュメモリデバイス304を有する半導体ダイ302が廃棄対象としてマーキングされ得る。
本発明の別の実施形態では、第4の状態の間に、シリアルシフトレジスタ320の第3部分335に記憶されている試験モードデータの8ビットも、バッファ338および第1のIOピンを介して、外部試験システム318にシフトアウトされる(図9のステップ378)。この実施形態では、外部試験システム318は、シリアルシフトレジスタ320の第3部分335からシフトアウトされた試験モードデータの8ビットが、正しいビットパターンを有するかどうかを判定して、第2の状態の間に、試験モードデータの8ビットが外部試験システム318からシリアルシフトレジスタ320の第3部分335に正しく転送されているかどうかを判定する。
いずれの実施形態の場合も、全合否結果がシリアルシフトレジスタ320の第4の部分336から外部試験システム318に出力されると、第4の状態が終了する。この時点で、外部試験システム318は、リセット制御信号をロジックコントローラ325に送信してもよい(図9のステップ380)。このリセット制御信号には、ローに設定されたWE/制御信号のほか、ハイに設定されたOE/制御信号と、制御信号としてのハイに設定された第2のIOピンとが含まれる。
外部試験システム318がロジックコントローラ325にリセット制御信号を送信した場合、BISTインタフェース312は、第2の状態に再び入り(図9のステップ364)、所望の試験モードの第2の組を実行するために、第2の状態、第3の状態、および第4の状態を一巡する。例えば図11を参照すると、シリアルシフトレジスタ320の第1の3個のシフトレジスタにデジタルコード「1,0,0」が格納されている場合、外部試験システム318は、所望の試験モードの第1の組の実行後に、シリアルシフトレジスタ320の第1の3個のシフトレジスタに、所望の試験モードの第2の組を示すデジタルコード「1,0,1」を入れ、第2の状態が再実行され得る。この場合、この所望の試験モードの第2の組のそれぞれの合否結果が外部試験システム318に出力されるまで、所望の試験モードの第2の組について第2の状態、第3の状態、第4の状態が繰り返される。
このように、所望の試験モードの各組の第4の状態の後に、外部試験システム318がロジックコントローラ325にリセット制御信号を送信すると、所望の試験モードの別の組について、第2の状態、第3の状態、および第4の状態が繰り返されて、この結果、BISTシステム300によって複数の試験モードの組が実行され得る。一方、第4の状態の終了時に、外部試験システム318がリセット制御信号をアサートしない場合には、BISTモードが終了する。
各半導体ダイ内でコアフラッシュメモリセルにプログラム動作、消去動作および読出し動作をオンチップに実行することで、各半導体ダイの試験に使用する外部試験システム318のピン数を最小限に減らすことができる。例えば、本明細書に記載した本発明の実施形態においては、外部試験システム318からシリアルシフトレジスタ320に試験種別データと試験モードデータを入力し、シリアルシフトレジスタ320から外部試験システム318に合否結果を出力するために2本のIOピンを使用している。さらに、外部試験システム318のピンのうち、3本のピンをCE/制御信号、WE/制御信号、およびOE/制御信号に使用し、2本のピンを電源供給に使用する。
このように、1つの半導体ダイの試験に占有されるピン数が、従来技術の46本から、本発明の一実施形態では約7本に削減されており、この結果、外部試験システム318が同時に試験可能な半導体ダイの数が約7倍に増える。図4,6を参照すると、半導体ウェハ220の各半導体ダイは、コアフラッシュメモリセル304のアレイと共に半導体ダイに作製されているBISTシステム300をそれぞれ有する。図4,6,7,8を参照すると、外部試験システム318の7本のピンの組のそれぞれが、半導体ウェハ220の複数の半導体ダイのそれぞれのBISTシステム300に結合される。
図9,10を参照すると、第1の状態、第2の状態、第3の状態、および第4の状態を含む図9のフローチャートのステップは、半導体ウェハ220の複数の半導体ダイの各々に同時に実行される。本発明では、1つの半導体ダイの試験に占有されるピン数を削減できるため、総ピン数の限られた外部試験システム318によって同時に試験することができる半導体ダイの数が増え、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。
図12を参照すると、本発明の別の実施形態では、外部試験システム318のピンが複数の半導体ダイによって共有される。図12は、第1のBISTシステム454および第1のコアフラッシュメモリセルのアレイ456を有する第1の半導体ダイ452と、第2のBISTシステム460および第2のコアフラッシュメモリセルのアレイ462を有する第2の半導体ダイ458と、第3のBISTシステム466および第3のコアフラッシュメモリセルのアレイ468を有する第3の半導体ダイ464とを示している。
BISTシステム454,458,464は、コアフラッシュメモリセルのアレイ456,462,468のそれぞれのオンチップ試験については、本明細書に記載したBISTシステム300と構造および機能面で類似している。本発明の一実施形態では、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464は、同じ半導体ウェハに設けられている。外部試験システム318の第1のピン472、第2のピン474、および第3のピン476が、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464のBISTシステム454,458,464のそれぞれに結合されていると共に、これらによって共有されている。この共有ピンのそれぞれは、外部試験システム318とBISTシステム454,458,464とが双方向的に信号を供給するように双方向的であっても、あるいは外部試験システム318とBISTシステム454,458,464とが一方向的に信号を供給するように一方向的であってもよい。
一例を挙げると、外部試験システム318の第1のピン472、第2のピン474、および第3のピン476は、CE/制御信号を供給するCE/制御ピン、WE/制御信号を供給するWE/制御ピン、およびOE/制御信号を供給するOE/制御ピンであり得る。この場合、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464は、外部試験システム318の制御ピンを共有している。しかし、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464は、外部試験システム318の別々のピンの組である第1のIOピンおよび第2のIOピンにそれぞれ対するピンを有し得る。
この例では、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464が、共有の制御ピン472,474,476で供給されるCE/制御信号、WE/制御信号、およびOE/制御信号によって同時に試験される。その際、外部試験システム318は、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464用のそれぞれの第1のIOピンおよび第2のIOピンを使用して、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464との間でデータを入出力する。
別例では、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464などの複数の半導体ダイが、外部試験システム318の共通の第1のIOピンおよび第2のIOピンに結合されており、これらを共有している。この場合、各半導体ダイ452,458,464は、外部試験システム318の別々のピンの組であるCE/制御ピン、WE/制御ピン、およびOE/制御ピンにそれぞれ対するピンを有し得る。
この例では、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464が順に試験される。その際、外部試験システム318は、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464用の共有の第1のIOピンおよび第2のIOピンを介して、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464との間で順にデータを入出力する。第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464の各々を順に試験するタイミングは、第1の半導体ダイ452、第2の半導体ダイ458、および第3の半導体ダイ464用のそれぞれのCE/制御ピン、WE/制御ピン、およびOE/制御ピンに別個にCE/制御信号、WE/制御信号、およびOE/制御信号を出力して制御され得る。
外部試験システム318のピンをこのように共有することで、各半導体ダイのそれぞれのコアフラッシュメモリセルのアレイの試験に必要な、外部試験システム318からの制御信号および入出力信号の数を大幅に削減することができる。このため、費用対効果のより高いBIST(組込み自己試験)用の外部試験システムにより、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。
上記の記載は例に過ぎず、限定を意図するものではない。例えば、本発明を、試験モードと図8のシリアルシフトレジスタ320のデータビットの数がより多い場合に実施してもよい。本明細書に記載もしくは図示した数値は例に過ぎない。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
C.バックエンドBIST(組込み自己試験)状態機械
図13は、図7のBISTシステム300のバックエンドBIST状態機械316のブロック図である。図13において、コアフラッシュメモリセル304のアレイ、フロントエンドインタフェース314、およびBISTインタフェース312はバックエンドBIST状態機械316の一部ではないため、コアフラッシュメモリセル304のアレイ、フロントエンドインタフェース314、およびBISTインタフェース312は破線で記載されている。バックエンドBIST状態機械316は、BISTシステム300のフロントエンドインタフェース314とBISTインタフェース312とに結合されたバックエンドBISTコントローラ502を備える。図6,13を参照すると、BISTコントローラ502は、コアフラッシュメモリセル304のアレイが作製されている半導体ダイ302にオンチップに作製されている。
フロントエンドインタフェース314は、バックエンドBIST状態機械316が実行すべき現在のBISTモードに対応する識別情報をBISTコントローラ502に送信する。BISTインタフェース312は、BISTコントローラ502にBSTART信号を送信して、バックエンドBIST状態機械316によるBISTモードの組の実行の開始を通知する。
上記に加え、BISTコントローラ502は、各BISTモードの実行後に、各BISTモードに対するDONE信号またはHANG信号を送信する。BISTコントローラ502は、現在のBISTモードの実行に成功した場合、すなわちコアフラッシュメモリセルのアレイが現在のBISTモードに合格した場合には、DONE信号を送信する。あるいは、BISTコントローラ502は、現在のBISTモードが失敗に終わった場合、すなわちコアフラッシュメモリセルのアレイが現在のBISTモードに不合格となった場合には、HANG信号を送信する。BISTコントローラ502はPLD(プログラマブルロジックデバイス)などのデータプロセッサであり、BISTコントローラを実装するためのこのようなデータプロセッサデバイスは電子工学の当業者に公知である。
バックエンドBIST状態機械316は、(図13の破線内に示す)複数の電圧源504をさらに備える。この複数の電圧源は、コアフラッシュメモリセル304のアレイに印加する電圧を供給するAPDストレス電圧源506、HTRBストレス電圧源508、プログラム/消去電圧源510、および読出し/検証電圧源512を備える。複数の電圧源506,508,510,512は、コアフラッシュメモリセル304のアレイとBISTコントローラ502の間に結合されている。BISTコントローラ502は、複数の電圧源506,508,510,512を制御して、各BISTモードのためにコアフラッシュメモリセル304のアレイに適切な電圧を印加させる。図6,13を参照すると、複数の電圧源506,508,510,512は、コアフラッシュメモリセル304のアレイが作製されている半導体ダイ302にオンチップに作製されている。電圧を発生させるための電圧源は、電子工学の当業者に公知である。さらに、コアフラッシュメモリセル304のアレイのあるアドレスに存在する特定のフラッシュメモリセルに選択された電圧を印加するための制御メカニズムは、フラッシュメモリデバイスの当業者に公知である。
バックエンドBIST状態機械316は、基準回路514と比較器回路516も備える。フラッシュメモリセルの検証動作または読出し動作中に、基準回路514は基準電流または基準電圧を発生させ、比較器回路516は、コアフラッシュメモリセル304のアレイのフラッシュメモリセルの電流または電圧を比較して、そのフラッシュメモリセルに対応した論理ハイ状態または論理ロー状態を生成する。図6,13を参照すると、基準回路514と比較器回路516とは、コアフラッシュメモリセル304のアレイが作製されている半導体ダイ302にオンチップに作製されている。フラッシュメモリセルの読出し動作または検証動作に使用するこのような基準回路および比較器回路は、電子工学の当業者に公知である。
フラッシュメモリセル304の読出し動作または検証動作中に、あるアドレスを有する所定の数のフラッシュメモリセルのそれぞれに対応した論理ハイ状態または論理ロー状態が比較器516によって生成されて、測定ビットパターンが生成される。ビットパターン生成器518は、フラッシュメモリセルのそのアドレスに対応する所望のビットパターンを生成する。ビットパターン生成器518に結合されたアドレスシーケンサ524は、フラッシュメモリセルの現在のアドレスをビットパターン生成器518に知らせる。ビットパターン生成器518の実装例は、本明細書のセクションG「BIST(組込み自己試験)システムのパターン生成器」に記載している。図6,13を参照すると、ビットパターン生成器518は、コアフラッシュメモリセル304のアレイが作製されている半導体ダイ302にオンチップに作製されている。
照合回路520は、比較器回路516からの測定ビットパターンとビットパターン生成器518からの所望のビットパターンとを比較して、測定ビットパターンと所望のビットパターンとが一致するかどうかを判定する。この比較の結果は、照合回路520からBISTコントローラ502に送信される。このような照合回路の実装は、電子工学の当業者に公知である。図6,13を参照すると、照合回路520は、コアフラッシュメモリセル304のアレイが作製されている半導体ダイ302にオンチップに作製されている。
さらに、バックエンドBIST状態機械316は、現在のBISTモードがフラッシュメモリセル304のアレイの各アドレスに実行されるように、アドレスシーケンサ524をさらに備える。バックエンドBIST状態機械316のアドレスシーケンサ524の実装例は、セクションF「BIST(組込み自己試験)システム内のアドレスシーケンサ」に記載している。図6,13を参照すると、アドレスシーケンサ524は、コアフラッシュメモリセル304のアレイが作製されている半導体ダイ302にオンチップに作製されている。
BISTモードの実行中に、BISTコントローラ502がステップの経過時間を計時できるように、タイマーまたはクロック526がBISTコントローラ502に結合されている。タイマーおよびクロックの実装は、電子工学の当業者に公知である。図6,13を参照すると、タイマーまたはクロック526は、コアフラッシュメモリセル304のアレイが作製されている半導体ダイ302にオンチップに作製されている。
図14は状態機械図530であり、コアフラッシュメモリセル304のアレイの試験のため各BISTモードを実行するために、図13のバックエンドBIST状態機械316の動作時の比較的少数の状態を示している。この状態機械図には、START状態532、APD(自動プログラムディスターブ)状態534、HTRB(高温保持ベーク)状態536、VERIFY1状態538、VERIFY2状態540、JUICE状態542、DONE状態544、およびHANG状態546が含まれる。バックエンドBIST状態機械316は、コアフラッシュメモリセル304のアレイの試験のため各BISTモードを実行するために、これらの有限数の状態532,534,536,538,540,542,544,546の組に入る。
図14の状態機械図530を参照して、コアフラッシュメモリセル304のアレイの試験のため、バックエンドBIST状態機械316がBISTモードを実行する例を以下に記載する。図7を参照すると、BISTインタフェース312は、バックエンドBIST状態機械316にBSTART信号を送信して、バックエンドBIST状態機械316によるBISTモードの組の実行の開始を通知する。
さらに、フロントエンドインタフェース314は、BISTモードの組のうち、バックエンドBIST状態機械316が現在実行すべきBISTモードに対応する識別情報を送信する。フロントエンドインタフェース314は、バックエンドBIST状態機械316がBISTモードの組にある全てのBISTモードを実行するまで、BISTモードの組に含まれる各BISTモードを現在のBISTモードとして一巡する。バックエンドBIST状態機械316が、BISTモードの組にある全てのBISTモードを実行すると、バックエンドBIST状態機械316からのBBUSY信号がアサートされなくなり、バックエンドBIST状態機械316がBISTモードの組の実行を完了したことをBISTインタフェース312に通知する。これより前は、BIST状態機械316がBISTインタフェース312に対してBBUSY信号をアサートしており、BISTモードの組の実行がまだ完了していないことを通知していた。
BISTモードでは、一般に、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルに電圧を印加するか、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルのそれぞれの論理状態を読出すか、この少なくとも一方を実行する。BISTモードがコアフラッシュメモリセル304のアレイの各フラッシュメモリセルにプログラム電圧または消去電圧を印加する場合、そのBISTモードで、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルのプログラム状態または消去状態が検証され得る。
コアフラッシュメモリセル304のアレイの各フラッシュメモリセルに電圧を印加するBISTモードの例には、各フラッシュメモリセルにプログラム電圧を印加してコアフラッシュメモリセル304のアレイの各フラッシュメモリセルに論理ロー状態をプログラムするBISTモードや、各フラッシュメモリセルに消去電圧を印加して、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルに論理ハイ状態をプログラムするBISTモードがある。あるいは、コアフラッシュメモリセル304のアレイが、チェッカーボードパターンで論理ロー状態と論理ハイ状態が並んだ状態にするために、各フラッシュメモリセルにプログラム電圧と消去電圧とを交互に印加する。
図15は、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルにプログラム電圧または消去電圧を印加すると共に、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルのプログラム状態または消去状態を検証するためのBISTモードの例のフローチャートである。図13,14,15を参照すると、BISTコントローラ502は、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルに電圧を印加するために、現在実行すべき現在のBISTモードのそれぞれの識別情報を受信する。このBISTモードが開始されると、BISTコントローラ502は、図14のSTART状態532に入る(図15のステップ552)。START状態の間、タイマー526は、START状態の間に、フラッシュメモリセルのワード線に印加する電圧を供給する電圧源504内の調整コンデンサをリセットするため、現在のBISTモードを開始する前に所定の待機時間を計時する(図15のステップ554)。フラッシュメモリセルのワード線に印加する電圧を供給する電圧源504内の調整コンデンサのリセットは、フラッシュメモリデバイスの当業者に公知である。待機時間が経過しない間(Wait=True)は、バックエンドBIST状態機械316はSTART状態に留まる。
START状態中に待機時間が経過する(Wait=False)と、バックエンドBIST状態機械316は図14のVERIFY1状態538に入る(図15のステップ556)。VERIFY1状態の間、VERIFY2状態で複数の電圧源504からの電圧をフラッシュメモリセルのアドレスに印加する前に、タイマー526は所定の待ち時間期間を計時して、VERIFY2状態に入る前に複数の電圧源504からの電圧レベルを安定させる(図15のステップ558)。VERIFY1状態中、待機時間が経過しない間(Wait=True)は、バックエンドBIST状態機械316はVERIFY1状態に留まる。
図16にコアフラッシュメモリセル304のアレイのレイアウトの例を示し、コアフラッシュメモリセル304のアレイは、第1のセクタ602、第2のセクタ604、第3のセクタ606、第4のセクタ608、第5のセクタ610、第6のセクタ612、第7のセクタ614、および第8のセクタ616の8つの水平セクタを有する。さらに、このコアフラッシュメモリセルのアレイは、各水平セクタに、第1のブロック622、第2のブロック624、第3のブロック626、第4のブロック628、第5のブロック630、第6のブロック632、第7のブロック634、第8のブロック636、第9のブロック638、第10のブロック640、第11のブロック642、第12のブロック644、第13のブロック646、第14のブロック648、第15のブロック650、および第16のブロック652の16の垂直ブロックを有する。
図17を参照すると、フラッシュメモリセルの1セクタ内の各ブロックは、64本のビット線と64本のワード線とを有する。例えば、図17には、第1のセクタ602の第1のブロック622の第1のビット線662、第2のビット線664、第3のビット線666、、、第64のビット線668と、第1のワード線672、第2のワード線674、第3のワード線676、、、第64のワード線678が示される。フラッシュメモリセルのブロック内でビット線とワード線とが交差している点がフラッシュメモリセルとなる。ワード線は、16のブロック622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652の全てを水平方向に連続的に通っている。
図16,17を参照すると、本発明の一実施形態では、あるアドレスを有する所定の数のフラッシュメモリセルは、16のブロック622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652のそれぞれにある、同じワード線とN番目のビット線とに結合された16個のフラッシュメモリセルによって形成される。例えば、第1のアドレスは、16のブロック622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652のそれぞれにある、一番上のワード線672と一番左のビット線662とに結合された16個のフラッシュメモリセルの各々を含む。さらに、第2のアドレスは、16のブロック622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652のそれぞれにある、一番上のワード線672と左端から2番目のビット線664とに結合された16個のフラッシュメモリセルの各々を含む。このように、それぞれの64本のビット線が、16のブロック622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652のそれぞれを通っているため、取り得る64個の列アドレスは水平に延びるワード線の各々に対応している。図15を参照すると、START状態552の前に、アドレスシーケンサは、16個のフラッシュメモリセルの現在のアドレスとして、第1のアドレスにリセットされる。
図15を参照すると、VERIFY1状態中に待機時間が経過する(Wait=False)と、バックエンドBIST状態機械316は、図14のVERIFY2状態540に入る(図15のステップ560)。VERIFY2状態の間、BISTコントローラ502は、読出し/検証電圧源504を制御して、フラッシュメモリセル304のアレイの現在のアドレスを有する所定の数(本明細書に記載する図16,17の例では16個)のフラッシュメモリセルのそれぞれに検証電圧を印加させる。
比較器回路516が、基準回路514を使用して、フラッシュメモリセルのこの現在のアドレスに対応する測定ビットパターンを生成する。測定ビットパターンは、現在のアドレスを有するフラッシュメモリセルに検証電圧を印加したのち、所定の数のフラッシュメモリセルのそれぞれから読出した一連のビット(論理ハイ状態「1」か論理ロー状態「0」かのいずれかをとる)を含む。フラッシュメモリセルのプログラム状態または消去状態を検証するためにフラッシュメモリセルに印加する検証電圧は、フラッシュメモリデバイスの当業者に公知である。さらに、フラッシュメモリセルの現在のアドレスに対応する所望のビットパターンが、ビットパターン生成器518によって生成される。所望のビットパターンは、現在のアドレスの所定の数のフラッシュメモリセルの各々がとるべき一連のビット(論理ハイ状態「1」か論理ロー状態「0」かのいずれかをとる)を含む。
次に、照合回路520は、フラッシュメモリセルの現在のアドレスについて、測定ビットパターンと所望のビットパターンとを比較する(図15のステップ562)。測定ビットパターンのいずれかのビットが所望のビットパターンと一致しない場合、BISTコントローラ502は、PULSE_COUNT変数とMax_PC(最大パルスカウント)とを比較する。このPULSE_COUNTは、現在のBISTモードのために、START状態552に入る前にゼロにリセットされている。PULSE_COUNTがMax_PC未満であれば(図15のステップ564)、BISTコントローラ502は、複数の電圧源504を制御して、図14のJUICE状態542の間、コアフラッシュメモリセル304の現在のアドレスを有するフラッシュメモリセルに、現在のBISTモードに対応するプログラム電圧または消去電圧を印加させる(図15のステップ566)。さらに、この場合、PULSE_COUNTが1つインクリメントされる。
例えば、現在のBISTモードが各フラッシュメモリセルにプログラム電圧を印加するモードである場合、現在のアドレスを有するフラッシュメモリセルの所望のビットパターンは0が16個の連続したパターンとなる。測定ビットパターンのうちのいずれかのビットが論理ハイ状態(「1」)の場合、プログラム電圧源510からのプログラム電圧が論理ハイ状態のフラッシュメモリセルの全てに印加されて、PULSE_COUNTが1つインクリメントされる。タイマー526は、JUICE状態中にこの電圧を印加するため、juice期間(JTIMEOUT)を計時する(図15のステップ568)。juice期間の値は、現在のBISTモードによって決まる。例えば、juice期間の値は、現在のBISTモードがプログラム電圧を印加するモードか、あるいは消去電圧を印加するモードかに応じて変わり得る。juice期間が経過しない間(JTIMEOUT=False)は、バックエンドBIST状態機械316はJUICE状態に留まり、juice期間(JTIMEOUT)の間、現在のBISTモードに対応する電圧を印加する。
juice期間が経過する(JTIMEOUT=TRUE)と、バックエンドBIST状態機械316は、図14のVERIFY1状態538およびVERIFY2状態540に再度入る(図15のステップ556,558,560,562)。VERIFY1状態およびVERIFY2に再度入ると、最後の追加のJUICE状態566の後に、比較器回路516が、基準回路514を使用してフラッシュメモリセルの現在のアドレスに対応する測定ビットパターンを生成し、照合回路520が、測定ビットパターンと所望のビットパターンとを比較する。JUICE状態566に再度入ることによって、フラッシュメモリセルの現在のアドレスに対応する測定ビットパターンと所望のビットパターンとが一致する確率が上がる。測定ビットパターンと所望のパターンとが一致しない場合、PULSE_COUNTがMax_PCを越えるか、あるいは測定ビットパターンと所望のビットパターンとが一致するまで、ステップ564,566,568,556,558,560,562が繰り返されると共に、PULSE_COUNTがインクリメントされる。
PULSE_COUNTがMax_PCより大きい場合、JUICE状態(図15のステップ566,568)にMax_PC回入ったことになる。現在のBISTモードに対応するそれぞれのプログラム電圧または消去電圧を、現在のアドレスのフラッシュメモリセルにMax_PC回印加しても、測定ビットパターンと所望のビットパターンとが一致しない場合、PULSE_COUNTがゼロにリセットされて(図15のステップ570)、BISTコントローラ502は図14のHANG状態546に入る(図15のステップ572)。
一方、PULSE_COUNTがMax_PCをより大きくなる前に、図15のステップ562で測定ビットパターンと所望のビットパターンとが一致した場合、アドレスシーケンサ524内のコアフラッシュメモリセル304の現在のアドレスが次の列アドレスにインクリメントされて、PULSE_COUNTがゼロにリセットされる(図15のステップ574)。さらに、現在のアドレスが次の列アドレスにインクリメントされると、BISTコントローラ502はVERIFY1状態に戻り(図15のステップ574)、これによって、図15のステップ556,558,560,562,564,566,568,570,572,574が次の列アドレスに対して繰り返される。
図16,17において、列アドレスは、16のブロック622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652のそれぞれにある、同じワード線とN番目のビット線とに結合された16個のフラッシュメモリセルを指している。例えば、図16,17で、第1の列アドレスは、16のブロック622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652のそれぞれにある、一番上のワード線672と一番左のビット線662とに結合された16個のフラッシュメモリセルの各々を含む。さらに、第2の列アドレスは、16のブロック622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652のそれぞれにある、一番上のワード線672と左端から2番目のビット664とに結合された16個のフラッシュメモリセルの各々を含む。このように、64本の垂直に延びるビット線のそれぞれの組が、16のブロック622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652のそれぞれを通っているため、取り得る64個の列アドレスは水平に延びるワード線の各々に対応している。
現在の列アドレスがMax_CA(最大列アドレスであり、図16,17の例では64個)を越えるまで、この列アドレスの各々に対して、図15のステップ556,558,560,562,564,566,568,570,572,574のループが繰り返される。現在の列アドレスがMax_CAを越えると(図15のステップ576)、図15のステップ556,558,560,562,564,566,568,570,572,574を含む現在のBISTモードが、現在のワード線の全64個の列アドレスに実行されたことになる。図16,17を参照すると、各水平セクタ602,604,606,608,610,612,614,616は、それぞれの64本のワード線の組を有する。各64本のワード線について、現在のブロックアドレスがMax_BA(最大ブロックアドレス)を越えるまで(図15のステップ578)、このループが繰り返され、64個の全列アドレスに現在のBISTモードが実行される。
図16,17を参照すると、現在のブロックアドレスがMax_BAを越えると(図15のステップ578)、水平セクタ602,604,606,608,610,612,614,616のうちの現在のセクタ内の全アドレスについて、現在のBISTモードが実行されたことになる。現在のブロックアドレスがMax_BAを超えていなければ(図15のステップ578)、水平セクタのうちの現在の水平セクタ内の全アドレスについて現在のBISTモードが実行されて、現在のブロックアドレスがMax_BAを越えるまで、図15のステップ556,558,560,562,564,566,568,570,572,574,576,578のループが繰り返される。現在のブロックアドレスがMax_BAを越えており、水平セクタのうちの現在の水平セクタ内の全アドレスに現在のBISTモードが実行されている場合(図15のステップ578)、アドレスシーケンサ524内で、現在のセクタアドレスが次の水平セクタにインクリメントされる。
水平セクタ602,604,606,608,610,612,614,616の全セクタ内の全アドレスに現在のBISTモードが実行され、現在のセクタアドレスがMax_SA(最大セクタアドレス)を越えるまで(図15のステップ582)、図15のステップ552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582のループが繰り返される。Max_SAを越えると、変数emb_Read(embedded read:エンベデッド読出し)が論理ハイ状態「1」に設定され(図15のステップ584)、次に、現在のBISTモードは、各フラッシュメモリセルに対するプログラム状態または消去状態の読出しを含み得る。判断ステップ576,578,582を含む上記のネストされたループを実行することと、アドレスシーケンサ524によって、図15の現在のBISTモードが、コアフラッシュメモリセル304のアレイ全体の各アドレスに実行される。
図18は、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルのそれぞれの論理状態の読出しを含むBISTモードのフローチャートである。例えば、このBISTモードは、図15のBISTモードのステップ584で変数emb_Read(エンベデッド読出し)が論理ハイ状態「1」に設定された後に実行され得る。このようなBISTモードの読出し動作を開始すると、BISTコントローラ502は、図14のSTART状態532に入る(図18のステップ682)。START状態の間、タイマー526は、フラッシュメモリセルのワード線に印加する電圧を供給する電圧源504内の調整コンデンサをリセットするため、現在のBISTモードを開始する前に所定の待機時間を計時する(図18のステップ684)。待機時間が経過しない間(Wait=True)は、バックエンドBIST状態機械316はSTART状態に留まる。
START状態中に待機時間が経過する(Wait=False)と、バックエンドBIST状態機械316は図14のVERIFY1状態538に入る(図18のステップ686)。VERIFY1状態の間、VERIFY2状態で複数の電圧源504からの電圧をフラッシュメモリセルのアドレスに印加する前に、タイマー526は所定の待ち時間期間を計時して、VERIFY2状態に入る前に複数の電圧源504からの電圧レベルを安定させる(図18のステップ688)。VERIFY1状態中、待機時間が経過しない間(Wait=True)は、バックエンドBIST状態機械316はVERIFY1状態に留まる。
VERIFY1状態中に待機時間が経過する(Wait=False)と、バックエンドBIST状態機械316は、図14のVERIFY2状態540に入る(図18のステップ690)。VERIFY2状態の間、BISTコントローラ502は、読出し/検証電圧源512を制御して、フラッシュメモリセル304のアレイの現在のアドレスを有する所定の数(本明細書に記載する図16,17の例では16個)のフラッシュメモリセルのそれぞれに読出し電圧を印加する。フラッシュメモリセルのプログラム状態または消去状態を判定するためにフラッシュメモリセルに印加する読出し電圧は、フラッシュメモリデバイスの当業者に公知である。
比較器回路516が、基準回路514を使用して、フラッシュメモリセルのこの現在のアドレスに対応する測定ビットパターンを生成する。測定ビットパターンは、現在のアドレスを有するフラッシュメモリセルに読出し電圧を印加したのち、所定の数のフラッシュメモリセルのそれぞれから読出した一連のビット(論理ハイ状態「1」か論理ロー状態「0」かのいずれかをとる)を含む。
さらに、フラッシュメモリセルの現在のアドレスに対応する所望のビットパターンが、ビットパターン生成器518によって生成される。所望のビットパターンは、現在のアドレスの所定の数のフラッシュメモリセルの各々がとるべき一連のビット(論理ハイ状態「1」か論理ロー状態「0」かのいずれかをとる)を含む。例えば、最後のBISTモードでコアフラッシュメモリセル304のアレイの各フラッシュメモリセルに論理ロー状態「0」へのプログラムを実行した場合、16個のフラッシュメモリセルのアドレスの所望のビットパターンは、「0」が16個連続するパターンとなる。あるいは、最後のBISTモードでコアフラッシュメモリセル304のアレイの各フラッシュメモリセルに論理ロー状態「1」への消去を実行した場合、16個のフラッシュメモリセルのアドレスの所望のビットパターンは、「1」が16個連続するパターンとなる。または、最後のBISTモードでコアフラッシュメモリセル304のアレイに論理ロー状態または論理ハイ状態へのプログラムと消去とを交互にチェッカーボードパターンで実行した場合、16個のフラッシュメモリセルのアドレスの所望のビットパターンは、1と0とが交互に並ぶパターンとなる。
次に、照合回路520は、フラッシュメモリセルの現在のアドレスについて、測定ビットパターンと所望のビットパターンとを比較する(図18のステップ692)。測定ビットパターンと所望のビットパターンとが一致しない場合(MATCH=FALSE)、BISTコントローラ502は、図14のHANG状態546に入り、BISTインタフェース312にHANG信号を送信する(図18のステップ694)。あるいは、測定ビットパターンがフラッシュメモリセルの現在のアドレスの所望のビットパターンと一致する場合(MATCH=TRUE)、アドレスシーケンサ524内の列アドレスがインクリメントされ(図18のステップ696)、最大列アドレス(Max_CA)に達する(図18のステップ698)まで、後続の列アドレスの各々についてVERIFY2状態と比較ステップ692とが繰り返される。BISTコントローラ502は、アドレスシーケンサ524内のフラッシュメモリセルの列アドレスをインクリメントする。
次に、水平セクタ602,604,606,608,610,612,614,616の1つについて、最大ブロックアドレス(Max_BA)(すなわち最大ワード線)に達する(図18のステップ700)まで、各ワード線の取り得る列アドレスの全てに対し、VERIFY2状態と比較ステップ692とが繰り返される。Max_BAに達すると、アドレスシーケンサ524内でセクタアドレスがインクリメントされ(図18のステップ702)、最大セクタアドレス(Max_SA)に達する(図18のステップ704)まで、水平セクタ602,604,606,608,610,612,614,616の各々にBISTモードが実行される。判断ステップ698,700,704を含む上記のネストされたループを実行することと、アドレスシーケンサ524によって、HANG信号が発生しない(図14のMATCH=TRUEかつLAST_ADD=FALSE)限り、図18の現在のBISTモードが、コアフラッシュメモリセル304のアレイ全体の各アドレスに実行される。
フラッシュメモリセルのいずれかのアドレスについてHANG信号が生成され、HANG状態に入ると(図18のステップ694)、直ちに図18の現在のBISTモードが終了し、フラッシュメモリセルの後続のアドレスに図18の現在のBISTモードが実行されることはない。この場合、図18のBISTモードで現在試験中のコアフラッシュメモリセル304のアレイは、現在のBISTモードに不合格となる。一方、HANG信号が発生せずに、判断ステップ698,700,704のネストされたループによって、図18の現在のBISTモードがコアフラッシュメモリセル304のアレイ全体の各アドレスに実行された場合(図14のMATCH=TRUEかつLAST_ADD=TRUE)、BISTコントローラ502は図14のDONE状態544に入り、BISTインタフェース312にDONE信号を送信して(図18のステップ706)、図18の現在のBISTモードが終了する。この場合、図18のBISTモードで現在試験中のコアフラッシュメモリセル304のアレイは、現在のBISTモードに合格する。
図19は、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルにストレス電圧を印加するBISTモードのフローチャートである。あるBISTモードは、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルにAPDストレス電圧およびHTRBストレス電圧を印加したのち、コアフラッシュメモリセル304のアレイの機能を試験する。図16,17を参照すると、HTRBストレス電圧の場合、コアフラッシュメモリセルのアレイ内のビット線を接地した状態で、コアフラッシュメモリセル304のアレイ全体の全ワード線に、HTRBストレス電圧源508から例えば約9ボルトの比較的高い電圧レベルを印加して、ストレスを印加する。
図16,17を参照すると、APDストレス電圧の場合、このフラッシュメモリセルのワード線を接地した状態で、水平セクタ602,604,606,608,610,612,614,616のうちの1つの全ビット線に、例えば約5ボルトの比較的高い電圧レベルを印加して、ストレスを印加する。ビット線に電流が流れるため、APDストレス電圧が1つの水平セクタに一度に印加される。HTRBストレス電圧およびAPDストレス電圧を印加するためのこのようなBISTモードは、フラッシュメモリデバイスの当業者に公知である。
図13,14,19を参照すると、BISTコントローラ502は、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルにHTRBストレス電圧およびAPDストレス電圧を印加するために現在実行すべき現在のBISTモードの識別情報を受け取る。この時点で、Exit_HTRB変数が論理ロー状態「0」に設定され、変数PULSE_COUNTと変数SECTOR_ADDRESSがゼロにリセットされる。このBISTモードが開始されると、BISTコントローラ502は、図14のSTART状態532に入る(図19のステップ712)。START状態の間、タイマー526は、複数の電圧源506,508,510,512(特にAPDストレス電圧源506とHTRBストレス電圧源508)からの電圧レベルが待機時間中に安定するように、現在のBISTモードを開始する前に、所定の待機時間を計時する(図19のステップ714)。待機時間が経過しない間(Wait=True)は、バックエンドBIST状態機械316はSTART状態に留まる。
START状態中に待機時間が経過したのち(Wait=False)、Exit_HTRB変数が論理ハイ状態「1」に設定されていなければ(図19のステップ716)、図14のHTRB状態536が開始する(図19のステップ718)。HTRB状態の間、コアフラッシュメモリセルのアレイ内のビット線を接地した状態で、コアフラッシュメモリセル304のアレイ全体の全ワード線に、HTRBストレス電圧源508から例えば約9ボルトの比較的高い電圧レベルを印加して、ストレスを印加する。タイマー526は、HTRB状態の間、コアフラッシュメモリセル304にこのHTRBストレス電圧を印加するjuice期間(JTIMEOUT)を計時する(図19のステップ720)。juice期間が経過しない間(JTIMEOUT=False)は、バックエンドBIST状態機械316は、HTRB状態に留まり、juice期間(JTIMEOUT)の間コアフラッシュメモリセル304にHTRBストレス電圧を印加する。
HTRB状態でjuice期間が経過する(JTIMEOUT=TRUE)と、バックエンドBIST状態機械316は、PULSE_COUNTがMax_PC(最大パルスカウント)を超えているかどうかチェックする(図19のステップ722)。PULSE_COUNTがMax_PC超えていなければ、HTRB状態にJTIMEOUT期間の間再び入り、PULSE_COUNTがインクリメントされる。PULSE_COUNTがMax_PCを越えるまで、ステップ712,714,716,718,720,722のループが繰り返される。PULSE_COUNTがMax_PCを越えると、PULSE_COUNTがゼロにリセットされて(図19のステップ724)、変数Exit_HTRBが論理ハイ状態「1」に設定される(図19のステップ726)。
この時点で、BISTコントローラ502は、START状態に戻る(図19のステップ712)。Exit_HTRB変数が論理ハイ状態「1」に設定されているため、図14のAPD状態534に入る(図19のステップ728)。図16を参照すると、APD状態では、このフラッシュメモリセルのワード線を接地した状態で、水平セクタ602,604,606,608,610,612,614,616のうちの1つの全ビット線に、例えば約5ボルトの比較的高い電圧レベルを印加して、ストレスを印加する。ビット線に電流が流れるため、APDストレス電圧が1つの水平セクタに一度に印加される。
現在のSECTOR_ADDRESSについて、APDストレス電圧源506は、juice期間(JTIMEOUT)の間、水平セクタ602,604,606,608,610,612,614,616のうち現在のSECTOR_ADDRESSを有するセクタの各フラッシュメモリセルにAPDストレス電圧を印加する。タイマー526は、APD状態の間、このAPDストレス電圧を印加するjuice期間(JTIMEOUT)を計時する(図19のステップ730)。juice期間が経過しない間(JTIMEOUT=False)は、バックエンドBIST状態機械316は、ADP状態に留まり、juice期間(JTIMEOUT)の間コアフラッシュメモリセル304の現在のSECTOR_ADDRESSにADPストレス電圧を印加する。
APD状態中にjuice期間(JTIMEOUT)が経過すると、アドレスシーケンサ524内でSECTOR_ADDRESSがインクリメントされ(図19のステップ732)、BISTコントローラ502はSECTOR_ADDRESSがMax_SAを超えているかどうかチェックする(図19のステップ734)。SECTOR_ADDRESSがMax_SA超えていなければ、SECTOR_ADDRESSがMax_SAを越えるまで、ステップ712,714,728,730,732が繰り返される。SECTOR_ADDRESSがMax_SAを越えると、APDストレス電圧が全水平セクタ602,604,606,608,610,612,614,616の各フラッシュメモリセルに印加されており、図14のDONE状態544に入り(図19のステップ736)、図19のBISTモードが終了する。
このように、BISTモードの組の任意のBISTモードが、状態数が、状態START、JUICE、VERIFY1、VERIFY2、APD、HTRB、DONE、およびHANGと比較的少ないバックエンドBIST状態機械によって実行される。バックエンドBIST状態機械はコアフラッシュメモリセルのアレイと共にオンチップに作製されており、このため、フラッシュメモリセルのアレイの半導体ダイにプログラム動作、消去動作、および読出し動作がオンチップに実行される。このため、各半導体ダイの試験に使用する外部試験システムのピン数を削減できる。このようにピン数を削減することにより、総ピン数の限られた外部試験システムによってより多くの半導体ダイを同時に試験することができ、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。
上記の記載は例に過ぎず、限定を意図するものではない。例えば、本発明は、これより多くのBISTモードに実施しても、図16,17の例とはレイアウトの異なるコアフラッシュメモリセル304のアレイに実施してもよい。本明細書に記載もしくは図示した数値は例に過ぎない。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
D.コアフラッシュメモリセルの不良アドレスのオンチップ修復
図20を参照すると、さらに従来技術では、コアフラッシュメモリセル224のアレイの試験中に、コアフラッシュメモリセル224のアレイに不良アドレス750が検出された場合は、不良アドレス750を有するフラッシュメモリの組を、対応するフラッシュメモリセルの冗長要素752に置き換えて、このような不良アドレス750を修復する。この修復は、フラッシュメモリセルの不良アドレス750へのアクセスを、フラッシュメモリセルの冗長要素752にリダイレクトするCAM(内容参照可能メモリ)756内のそれぞれのCAMフラッシュメモリセル754の組をプログラムして行う。CAM(内容参照可能メモリ)756は、コアフラッシュメモリセル224のアレイが作製されている同じ半導体ダイに作製される。
通常は、コアフラッシュメモリセル224のアレイの、フラッシュメモリセルの不良アドレス750だけではなく、これより広範囲のフラッシュメモリセルを含む領域758が、対応するフラッシュメモリセルの冗長要素752と置き換えられる。コアフラッシュメモリセル224のアレイの複数の不良アドレスを修復するために、複数の冗長要素760を使用することができる。フラッシュメモリセル760の冗長要素を使用して、コアフラッシュメモリセル224のアレイの試験中にフラッシュメモリセルの不良アドレスをこのように修復することは、フラッシュメモリ製造の当業者に公知である。
従来技術では、外部試験システム762が、コアフラッシュメモリセル224のアレイの試験中に、フラッシュメモリセル760の冗長要素を使用してフラッシュメモリセルの不良アドレスをこのように修復する。このため、従来技術では、外部試験システム762が、フラッシュメモリセルの不良アドレス750に対するアクセスを、フラッシュメモリセルの冗長要素752にリダイレクトするために、CAM(内容参照可能メモリ)756をプログラムする。このような外部試験システムの例に、アジレント・テクノロジーズ・インク(Agilent Technologies, Inc.)(カリフォルニア州パロアルト所在)から入手可能なモデルV3300がある。しかし、外部試験システム762がフラッシュメモリセルの不良アドレスのこの修復を実行する場合は、コアフラッシュメモリセル224のアレイが作製されている同じ半導体ダイに作製されたCAM(内容参照可能メモリ)756のプログラムに使用する外部試験システム762のピンが増える。
フラッシュメモリセルの不良アドレスの修復の実行に、外部試験システム762が使用するピンが増えると、コアフラッシュメモリセルの半導体ダイの試験のスループットが低下するため不利である。総ピン数の限られた外部試験システムによってできるだけ多くの半導体ダイを同時に試験し、フラッシュメモリデバイスの製造時のスループットを向上させることができるように、フラッシュメモリセルの不良アドレスの修復も含め、各半導体ダイにあるフラッシュメモリデバイスの試験に使用するピン数を最小限に減らすためのメカニズムが求められている。
さらに、外部試験システム762によるコアフラッシュメモリセルの試験および修復は、外部試験システム762の処理能力によっては遅いことがある。このため、コアフラッシュメモリセルの試験および修復を高速化する効率的なメカニズムが求められている。
バックエンドBIST(組み込み自己試験)状態機械316が、フラッシュメモリセルの現在のアドレスが現在のBIST(組み込み自己試験)モードに合格せず、フラッシュメモリセルの不良アドレスであると判定すると、バックエンドBIST(組み込み自己試験)状態機械316は修復ルーチンを呼び出す。図21のフローチャートのステップのうち、図15のフローチャートと同じ参照符号が付されているステップは、本明細書で図15のフローチャートについて説明したものと同じである。
図15,21のステップは、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルにプログラム電圧または消去電圧を印加すると共に、コアフラッシュメモリセル304のアレイの各フラッシュメモリセルのプログラム状態または消去状態を検証するBIST(組込み自己試験)モードを実行する。しかし、図15とは異なり、図21では、JUICE状態(図21におけるステップ566,568)にMAX_PC回入り、PULSE_COUNTがMax_PCを越えた(図21のステップ564)からといって、HANG状態に直ちに入るわけではない。JUICE状態(図21におけるステップ566,568)にMAX_PC回入り、PULSE_COUNTがMax_PCを越えると(図21のステップ564)、フラッシュメモリセルの現在のアドレスがフラッシュメモリセルの不良アドレスであると判断される。
正確にいえば、BISTコントローラ502が、外部試験システム318によってセットされているBREP値をチェックする(図21のステップ766)。ユーザが、BISTコントローラ502によってオンチップ修復ルーチンを呼び出したい場合には、外部試験システム318を介してBREP値を論理ハイ状態(True状態)に設定し、そうでない場合には論理ロー状態(False状態)に設定する。このため、BREP値が論理ロー状態(False状態)に設定されている場合、図15と同様に図21でもステップ570,572が直ちに実行されて、HANG状態に入り、修復ルーチンが呼び出されることはない。
一方、図21でBREP値が論理ハイ状態(True状態)に設定されている場合、BISTコントローラ502はREDADD値の論理状態を判定する(図21のステップ768)。図22を参照すると、REDADD値は、フラッシュメモリセルの現在の不良アドレスがフラッシュメモリセルの冗長要素に存在するかどうかを示している。図22を参照すると、試験対象のフラッシュメモリセル304のアレイは、コアフラッシュメモリセル780とフラッシュメモリセルの冗長要素782とを有する。フラッシュメモリ製造の当業者に公知のように、通常、フラッシュメモリセルのアレイには、コアフラッシュメモリセル780内の不良フラッシュメモリセルを修復するためのフラッシュメモリセルの冗長要素を設けて作製されている。
フラッシュメモリセル304のアレイの試験中に、アドレスシーケンサ524は、コアフラッシュメモリセル780のアドレスに加えて、フラッシュメモリセルの冗長要素782が正常に機能していることを試験するためフラッシュメモリセルの冗長要素782のアドレスも順行する(sequence through)、あるいは順番にアクセスする。フラッシュメモリセルの現在のアドレスがフラッシュメモリセルの冗長要素782のアドレスの場合、BISTコントローラ502はREDADD変数が論理ハイ状態(すなわちTrue状態)であると判定し、フラッシュメモリセルの現在のアドレスがコアフラッシュメモリセル780のアドレスの場合、論理ロー状態(すなわちFalse状態)であると判定する。
図21を参照すると、REDADD変数が論理ハイ状態(すなわちTrue状態)であると判定されると、フラッシュメモリセルの現在の不良アドレス750がフラッシュメモリセルの冗長要素782にあるため、ステップ570,572が実行されて直ちにHANG状態に入る。コアフラッシュメモリセルの不良アドレス780をフラッシュメモリセルの冗長要素と置き換えて修復する必要があるが、本発明の一実施形態によれば、フラッシュメモリセルの冗長要素の不良アドレスがこの方法によって修復されることはない。
図21を参照すると、BREP値が論理ハイ状態に設定されており(図21のステップ766)、かつREDADD値が論理ロー状態であると判定されると(図21の状態768)、修復ルーチンが呼び出される(図21のステップ770)。修復ルーチンでは、フラッシュメモリセルの現在の不良アドレスが、フラッシュメモリセルの冗長要素に置き換えられて修復され得る。
図18,23を参照すると、同様に、図23のフローチャートのステップのうち、図18のフローチャートと同じ参照符号が付されているステップは、本明細書で図18のフローチャートについて説明したものと同じである。図18,23のステップは、フラッシュメモリセル304のアレイの各フラッシュメモリセルのそれぞれの論理状態の読出しを含むBIST(組込み自己試験)モードを実行する。しかし図18とは異なり、図23では、フラッシュメモリセルの現在のアドレスの測定ビットパターンと所望のビットパターンとが一致しない(図23におけるステップ692)からといって、HANG状態に直ちに入るわけではない。フラッシュメモリセルの現在のアドレスの測定ビットパターンと所望のビットパターンとが一致しない場合、フラッシュメモリセルの現在のアドレスがフラッシュメモリセルの不良アドレスであると判断される。
正確にいえば、BISTコントローラ502が、外部試験システム318によってセットされているBREP値をチェックする(図23のステップ772)。ユーザが、BISTコントローラ502によってオンチップ修復ルーチンを呼び出したい場合には、外部試験システム318を介してBREP値を論理ハイ状態(True状態)に設定し、そうでない場合には論理ロー状態(False状態)に設定する。このため、BREP値が論理ロー状態(False状態)に設定されている場合、修復ルーチンが呼び出されないように、図18と同様に図23でもステップ694が直ちに実行されて、HANG状態に入り、修復ルーチンが呼び出されることはない。
一方、図23でBREP値が論理ハイ状態(True状態)に設定されている場合、BISTコントローラ502はREDADD値の論理状態を判定する(図23のステップ774)。図22を参照すると、REDADD値は、フラッシュメモリセルの現在の不良アドレスがフラッシュメモリセルの冗長要素に存在するかどうかを示している。図23を参照すると、REDADDが論理ハイ状態(すなわちTrue状態)であると判定されると、フラッシュメモリセルの現在の不良アドレス750がフラッシュメモリセルの冗長要素782にあるため、ステップ694が実行されて直ちにHANG状態に入る。BREP値が論理ハイ状態に設定されており(図23のステップ772)、かつREDADD値が論理ロー状態であると判定されると(図23の状態774)、修復ルーチンが呼び出される(図23のステップ776)。修復ルーチンでは、フラッシュメモリセルの現在の不良アドレスが、フラッシュメモリセルの冗長要素に置き換えられて修復され得る。
図24を参照すると、図21,23の修復ルーチンのいずれの場合についても、コアフラッシュメモリセルは、例えば、第1のブロック783、第2のブロック784、第3のブロック786、および第4ブロック788などのブロック(例えば4メガビットのブロックなど)に分割されている。ブロック783,784,786,788は、それぞれ複数のフラッシュメモリセルの水平セクタにさらに分割されている(わかりやすいように図24には不図示)。例えば、本発明の一実施形態では、ブロック783,784,786,788は、それぞれ8つのフラッシュメモリセルの水平セクタを有する。通常のフラッシュメモリデバイスのブロックはこれより多いが、わかりやすいように、図24には4つのブロック783,784,786,788のみを示す。
フラッシュメモリセルの現在の不良アドレスが、図24の第3のブロック786など、ブロック783,784,786,788のうちの1つに含まれる。フラッシュメモリ製造の当業者に公知のように、通常は、第3のブロック786内の、フラッシュメモリセルの不良アドレス750だけではなく、これより広範囲のフラッシュメモリセルを含む領域758が、対応するフラッシュメモリセルの冗長要素に置き換えられて、フラッシュメモリセルの不良アドレス750が修復される。例えば、ブロック783,784,786,788のいずれかにある、不良アドレスのフラッシュメモリセルを有するフラッシュメモリセルの列全体が、フラッシュメモリセルの冗長要素と置き換えられる。
図25を参照すると、CAM(内容参照可能メモリ)790がプログラムされて、コアフラッシュメモリセル780内の、フラッシュメモリセルの不良アドレスを有するフラッシュメモリセルの領域が、フラッシュメモリセルの冗長要素782のうちの1つのフラッシュメモリセルの冗長要素に置き換えられる。CAM(内容参照可能メモリ)790は、フラッシュメモリセルを有し、これらは、フラッシュメモリセルの不良アドレスを置き換えるために、フラッシュメモリセルの不良アドレスと、これと対応するフラッシュメモリセルの冗長要素との情報をプログラムされる。後にフラッシュメモリセルの不良アドレスがアクセスされると、CAM(内容参照可能メモリ)790は、フラッシュメモリセルの不良アドレスへのアクセスをフラッシュメモリセルの冗長要素にリダイレクトする。CAM(内容参照可能メモリ)とコアフラッシュメモリセルの冗長要素をコアフラッシュメモリセルの不良アドレスの修復に使用することは、フラッシュメモリ製造の当業者に公知である。
図25を参照すると、本発明の一実施形態では、コアフラッシュメモリセル780内のフラッシュメモリセルの各不良アドレスを、フラッシュメモリセルの複数の冗長要素782のうちの対応するフラッシュメモリセルの冗長要素に置き換えるために、CAMフラッシュメモリセルのそれぞれの組がプログラムされる。決まった数のフラッシュメモリセルの不良アドレスとその修復に使用できるフラッシュメモリセルの冗長要素の数は決まっている。本発明の一実施形態では、ブロック783,784,786,788のそれぞれについて、フラッシュメモリセル内の不良アドレスの修復に2つのフラッシュメモリセルの冗長要素を使用できる。
図25の例では、ブロック783,784,786,788のそれぞれにあるフラッシュメモリセル内の不良アドレスの修復に2つのフラッシュメモリセルの冗長要素を使用できる。第1のCAMフラッシュメモリセルの個々の組792は、コアフラッシュメモリセル780の第1のブロック783にある不良フラッシュメモリセルの一組を、フラッシュメモリセルの第1の冗長要素794に置き換えるようにプログラムされる。第2のCAMフラッシュメモリセルの個々の組796は、コアフラッシュメモリセル780の第1のブロック783にある不良フラッシュメモリセルの別の組をフラッシュメモリセルの第2の冗長要素798に置き換えるようにプログラムされる。
同様に、第3のCAMフラッシュメモリセルの個々の組800は、コアフラッシュメモリセル780の第2のブロック784にある不良フラッシュメモリセルの一組を、フラッシュメモリセルの第3の冗長要素802に置き換えるようにプログラムされる。第4のCAMフラッシュメモリセルの個々の組804は、コアフラッシュメモリセル780の第2のブロック784にある不良フラッシュメモリセルの別の組をフラッシュメモリセルの第4の冗長要素806に置き換えるようにプログラムされる。
また、第5のCAMフラッシュメモリセルの個々の組808は、コアフラッシュメモリセル780の第3第2のブロック786にある不良フラッシュメモリセルの一組を、フラッシュメモリセルの第5の冗長要素810に置き換えるようにプログラムされる。第6のCAMフラッシュメモリセルの個々の組812は、コアフラッシュメモリセル780の第3のブロック786にある不良フラッシュメモリセルの別の組をフラッシュメモリセルの第6の冗長要素814に置き換えるようにプログラムされる。
最後に、第7のCAMフラッシュメモリセルの個々の組816は、コアフラッシュメモリセル780の第4のブロック788にある不良フラッシュメモリセルの一組を、フラッシュメモリセルの第7の冗長要素818に置き換えるようにプログラムされる。第8のCAMフラッシュメモリセルの個々の組820は、コアフラッシュメモリセル780の第4のブロック788にある不良フラッシュメモリセルの別の組をフラッシュメモリセルの第8の冗長要素822に置き換えるようにプログラムされる。
図26に、本発明の一実施形態による、CAM(内容参照可能メモリ)790をプログラムすることで、コアフラッシュメモリセル780内のフラッシュメモリセルの不良アドレスを冗長要素782によってオンチップ修復するために、図21の修復ルーチン770または図23の修復ルーチン776中に使用されるオンチップ修復コンポーネント830を示す。このオンチップ修復コンポーネント830は、修復コントローラ832、タイマー/クロック834、および電圧源836を備える。電圧源836は、CAM(内容参照可能メモリ)プログラム電圧源838と、CAM(内容参照可能メモリ)マージン電圧源840とを備える。さらに、このオンチップ修復コンポーネントは、冗長要素順序ラッチ842、修復照合ユニット846、およびFAILREPロジック848を備える。本発明の一般的な態様では、オンチップ修復コンポーネント832,834,838,840,842,846,848は、コアフラッシュメモリセル780、冗長要素782、およびCAM(内容参照可能メモリ)790が作製されている半導体ダイに作製される。
図27は、図21の修復ルーチン770または図23の修復ルーチン776を実行するための、図26のオンチップ修復コンポーネント830の動作中のステップのフローチャートである。本発明の一実施形態では、図26の修復コントローラ832は、図13のバックエンドBISTコントローラ502として実装される。修復コントローラ832が、修復ルーチン(例えば図21のステップ770または図23のステップ776等)が呼び出されていると判定すると、修復コントローラ832は、BREPAIR変数を論理ロー状態から論理ハイ状態に設定して(図27のステップ850)、修復ルーチンが呼び出されていることを通知する。
修復ルーチンが呼び出されている場合、修復コントローラ832はSTART状態に入る(図27のステップ852)。START状態の間、タイマー834は、CAMフラッシュメモリセルのワード線に印加する電圧を供給する電圧源836内の調整コンデンサをリセットするため、所定の待機時間を計時する。フラッシュメモリセルのワード線に印加する電圧を供給する電圧源836内の調整コンデンサのリセットは、フラッシュメモリデバイスの当業者に公知である。待機時間が経過しない間(Wait=True)は、修復コントローラ832はSTART状態(図27のステップ854)に留まる。所定の期間を計時するためのタイマーは、当業者に公知である。
図29を参照すると、START状態中にはこのほか、CAM(内容参照可能メモリ)790と共に作製されているCAM(内容参照可能メモリ)ロジック884によって変数YCE(0)と変数YCE(1)が生成される。図29のCAMフラッシュメモリセル886は、例えば、コアフラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素に置き換えるようにプログラムされる図25のCAMフラッシュメモリセル792,796、800,804,808,812,816または820の組のうちの1つである。これらのCAMフラッシュメモリセル886がプログラムされると、CAMロジック884はアドレスシーケンサ524からの不良アドレスとCAMフラッシュメモリセル886の出力とを入力し、変数YCE(0)、YCE(1)、LBMATCH_Q、REDL(0)、REDH(0)、REDL(1)、およびREDH(1)を生成する。
図16,17を参照して記載したように、本発明の一実施形態では、コアフラッシュメモリセルの各アドレスは、16個のコアフラッシュメモリセルのアドレスである。本発明の別の実施形態では、16個のコアフラッシュメモリセルのうちの8つからの各バイトが、バイト単位で修復される。16個のコアフラッシュメモリセルの各不良アドレスは、8個のコアフラッシュメモリセルの下位バイトと、8個のコアフラッシュメモリセルの上位バイトで構成される。16個のフラッシュメモリセルの不良アドレスをバイト単位で修復する実施形態では、フラッシュメモリセル内の2つの冗長要素のそれぞれが、図25の例の各コアフラッシュメモリセルのブロック783,784,786,788の16個のフラッシュメモリセルの不良アドレスの1バイトを置き換える。
図29を参照すると、コアフラッシュメモリセルの不良アドレスの2バイトと、その置換に使用した2つの冗長要素との対応関係を追跡するため、CAMロジック884は、変数LBMATCH_Q、YCE(0)、YCE(1)、REDL(0)、REDH(0)、REDL(1)、およびREDH(1)を生成する。CAMロジックは、アドレスシーケンサ524が生成する不良アドレスと、このフラッシュメモリセルの不良アドレスを修復するためにCAM(内容参照可能メモリ)886内でプログラムされたCAMフラッシュメモリセルの対応する組の出力とを比較して、変数LBMATCH_Q、YCE(0)、YCE(1)、REDL(0)、REDH(0)、REDL(1)、およびREDH(1)について、これら変数の以前のそれぞれの論理状態に応じて個々の論理状態を生成する。
LBMATCH_Q変数は、不良フラッシュメモリセルが、コアフラッシュメモリセルの不良アドレスの下位バイトと上位バイトのいずれに存在するかを示す。不良フラッシュメモリセルがコアフラッシュメモリセルの不良アドレスの下位バイトに存在する場合、LBMATCH_Q変数が論理ロー状態(「0」状態)に設定される。一方、不良フラッシュメモリセルがコアフラッシュメモリセルの不良アドレスの上位バイトに存在する場合、LBMATCH_Q変数が論理ハイ状態(「1」状態)に設定される。
初期状態では、YCE(0)、YCE(1)、REDL(0)、REDH(0)、REDL(1)、およびREDH(1)の各変数は論理ロー状態(「0」状態)に設定される。さらに、コアフラッシュメモリセルのブロック783,784,786,788の1つに存在するいずれかの不良アドレスの修復にいずれかの冗長要素が使用される前の初期状態では、フラッシュメモリセルの2つの冗長要素は、フラッシュメモリセルの不良アドレスのどの不良バイトの修復にも使用することができる。2つの冗長要素のうちの第1の冗長要素が、コアフラッシュメモリセルの不良アドレスの1バイトの修復に使用されると、2つの冗長要素のうちのこの第1の冗長要素に対応するYCE(0)変数が論理ハイ状態(「1」状態)に設定され、2つの冗長要素のうちのこの第1の冗長要素は使用できなくなる。その後、2つの冗長要素のうちの第2の冗長要素が、コアフラッシュメモリセルの不良アドレスの1バイトの修復に使用されると、2つの冗長要素のうちのこの第2の冗長要素に対応するYCE(1)変数が論理ハイ状態(「1」状態)に設定され、2つの冗長要素のうちのこの第2の冗長要素は使用できなくなり、その結果、コアフラッシュメモリセルのブロック783,784,786,788のうちの現在のブロックにあるコアフラッシュメモリセルの不良アドレスの修復に使用できる冗長要素はなくなる。
不良アドレスの下位バイトがコアフラッシュメモリセルの2つの冗長要素のうちの第1の冗長要素を使用して修復されると、REDL(0)変数が論理ハイ状態(「1」状態)に設定される。一方、不良アドレスの上位バイトがコアフラッシュメモリセルの2つの冗長要素のうちの第1の冗長要素を使用して修復されると、REDH(0)変数が論理ハイ状態(「1」状態)に設定される。冗長要素のうちの任意の冗長要素を使用して修復されるのは、コアフラッシュメモリセルの不良アドレスの下位バイトまたは上位バイトの一方のみである。このため、REDL(0)変数とREDH(0)変数の一方だけが論理ハイ状態に設定される。
同様に、不良アドレスの下位バイトがコアフラッシュメモリセルの2つの冗長要素のうちの第2の冗長要素を使用して修復されると、REDL(1)変数が論理ハイ状態(「1」状態)に設定される。一方、不良アドレスの上位バイトがコアフラッシュメモリセルの2つの冗長要素のうちの第2の冗長要素を使用して修復されると、REDH(1)変数が論理ハイ状態(「1」状態)に設定される。冗長要素のうちの任意の冗長要素を使用して修復されるのは、コアフラッシュメモリセルの不良アドレスの下位バイトまたは上位バイトの一方のみである。このため、REDL(1)変数とREDH(1)変数の一方だけが論理ハイ状態に設定される。
さらに、図26,29を参照すると、CAMロジック884はDISYHB信号およびDISYLB信号を生成し、これらは、コアフラッシュメモリセル780に結合されたYアドレスデコーダ781に送信される。コアフラッシュメモリセル780のあるアドレスの内容がアクセスされると、Yアドレスデコーダは、このアドレスをデコードして、このアドレスのフラッシュメモリセルの出力を選択する。Yアドレスデコーダ781によって、コアフラッシュメモリセル780の不良アドレスの内容が出力されないようにするため、CAMロジック884はDISYHB信号とDISYLB信号を生成する。
本明細書に記載したような、信号LBMATCH_Q、YCE(0)、YCE(1)、REDL(0)、REDH(0)、REDL(1)、REDH(1)、DISYHB、およびDISYLBを生成するためのこのようなCAMロジック884は、フラッシュメモリデバイスの当業者に公知である。さらに、本明細書に記載のようなYアドレスデコーダ781は、フラッシュメモリデバイスの当業者に公知である。
START状態の間(図27のステップ852および854)、CAMロジック884は、YCE(0)信号およびYCE(1)信号のそれぞれの論理状態を生成する。START状態中に待機時間が経過する(Wait=False)と、修復コントローラ832は、FAILREPロジック848から送られるFAILREP値をチェックする(図27のステップ856)。FAILREPロジック848は、フラッシュメモリセルの現在の不良アドレスの修復に冗長要素のいずれかを使用できるかどうかを判定する。例えば、図25を参照すると、フラッシュメモリセルのブロック783,784,786,788のそれぞれの不良アドレスの修復に、2つの冗長要素を使用することができる。フラッシュメモリセルの1つのブロックの不良アドレスの修復に2つの冗長要素が既に使用されている場合、そのフラッシュメモリセルのブロックには、不良アドレスの修復に使用できる冗長要素が残っていないことになる。
さらに、FAILREPロジック948は、フラッシュメモリセルの現在の不良アドレスが既に修復されているかどうかを判定する。フラッシュメモリセルの現在の不良アドレスが既に修復されている場合、フラッシュメモリセルのその不良アドレスが恒久的に不良であり、修復不能であると判断される。使用できる冗長要素が残っていないか、フラッシュメモリセルの現在の不良アドレスが既に修復されているかのいずれかの場合、FAILREPロジック848はFAILREP変数を論理ハイ状態(True状態)に設定する。一方、使用可能な冗長要素が存在し、かつフラッシュメモリセルの現在の不良アドレスがまだ修復されていない場合、FAILREPロジック848はFAILREP変数を論理ロー状態(False状態)に設定する。
図27を参照すると、FAILREP変数が論理ハイ状態に設定されている場合、PULSE_COUNT変数がゼロにリセットされ(図27のステップ858)、HANG状態に入り(図27のステップ860)、修復ルーチンと現在のBISTモードが終了する。一方、FAILREP変数が論理ロー状態に設定されている場合、PULSE_COUNT変数がゼロにリセットされ(図27のステップ862)、修復ルーチンが続行される。
図28に、第1NANDゲート864、第2NANDゲート866、第3NANDゲート868、第1インバータ870、および第2インバータ872を有するFAILREPロジック848の実装例を示す。第1NANDゲート864は、第2インバータ872の出力を入力し、第2インバータ872は、第1入力端子874に印加されるLBMATCH_Q変数を入力する。第1NANDゲート864は、第2入力端子876に印加されるREDL(0)変数も入力する。第2NANDゲート866は、第1入力端子874に印加されるLBMATCH_Q変数と、第3入力端子878に印加されるREDH(0)変数とを入力する。第3NANDゲート868は、第1インバータ870の出力を入力すると共に、第1NANDゲート864および第2NANDゲート866の出力も入力し、第1インバータ870は、第4入力端子880に印加されるYCE(1)変数を入力する。第3NANDゲート868の出力は、出力端子882にFAILREP変数を供給する。
図30は、図28のFAILREPロジック848に入力される変数LBMATCH_Q、YCE(1)、REDL(0)、およびREDH(0)の取り得る論理状態を示す表である。図28,30を参照すると、YCE(1)変数が論理ハイ状態(「1」状態)に設定されている場合、FAILREPロジック848は、各変数LBMATCH_Q、REDL(0)、およびREDH(0)のそれぞれの論理状態がどのような値であっても、FAILREP値を論理ロー状態に設定して生成する。YCE(1)変数が論理ハイ状態に設定されている場合は、コアフラッシュメモリセルのブロック783,784,786,788のうちの現在のブロックにあるコアフラッシュメモリセルの不良アドレスの修復に使用できる冗長要素が残っていない。この場合、FAILREPロジック848はFAILREP値を論理ハイ状態に設定して生成して、図27のフローチャートのステップ858および860でHANG状態に入る。
図28,30を参照すると、一方、YCE(1)変数が論理ロー状態(「0」状態)に設定されている場合、各変数LBMATCH_Q、REDL(0)、およびREDH(0)のそれぞれの論理状態に応じて、FAILREPロジック848によって出力されるFAILREP変数の値が決まる。YCE(1)変数が論理ロー状態に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの修復に使用できる冗長要素が存在する。図30を参照すると、LBMATCH_Q変数が論理ロー状態に設定されており、不良フラッシュメモリセルがコアフラッシュメモリセルの現在の不良アドレスの下位バイトに存在する場合、REDL(0)変数の論理状態によってFAILREPロジック848によって出力されるFAILREP変数の値が決まる。一方、LBMATCH_Q変数が論理ハイ状態に設定されており、不良フラッシュメモリセルがコアフラッシュメモリセルの現在の不良アドレスの上位バイトに存在する場合、REDH(0)変数の論理状態によってFAILREPロジック848によって出力されるFAILREP変数の値が決まる。
LBMATCH_Q変数が論理ロー状態に設定されている場合、FAILREPロジック848によって出力されるFAILREP変数は、REDH(0)の論理状態がどのような値であっても、REDL(0)変数が論理ハイ状態であれば論理ハイ状態となり、REDL(0)が論理ロー状態であれば論理ロー状態となる。LBMATCH_Q変数が論理ロー状態に設定されており、かつREDL(0)変数が論理ハイ状態の場合、FAILREPロジック848は、コアフラッシュメモリセルの現在の不良アドレスの下位バイトが冗長要素のうちの第1の冗長要素を使用して既に修復されていると判断する。この場合、FAILREP変数が論理ハイ状態に設定されて、図27のフローチャートのステップ858,860でHANG状態に入る。一方、LBMATCH_Q変数が論理ロー状態に設定されており、かつREDL(0)変数が論理ロー状態の場合、FAILREPロジック848は、コアフラッシュメモリセルの現在の不良アドレスの下位バイトは未修復であると判断する。この場合、YCE(1)変数も論理ロー状態に設定されていればFAILREP変数が論理ロー状態に設定され、図27の修復ルーチンが続行される。
同様に、LBMATCH_Q変数が論理ハイ状態に設定されている場合、FAILREPロジック848によって出力されるFAILREP変数は、REDL(0)の論理状態がどのような値であっても、REDH(0)変数が論理ハイ状態であれば論理ハイ状態となり、REDH(0)変数が論理ロー状態であれば論理ロー状態となる。LBMATCH_Q変数が論理ハイ状態に設定されており、かつREDH(0)変数が論理ハイ状態の場合、FAILREPロジック848は、コアフラッシュメモリセルの現在の不良アドレスの上位バイトが冗長要素のうちの第1の冗長要素を使用して既に修復されていると判断する。この場合、FAILREP変数が論理ハイ状態に設定されて、図27のフローチャートのステップ858,860でHANG状態に入る。一方、LBMATCH_Q変数が論理ハイ状態に設定され、かつREDH(0)変数が論理ロー状態である場合、コアフラッシュメモリセルの現在の不良アドレスの上位バイトは未修復である。この場合、YCE(1)変数も論理ロー状態に設定されていればFAILREP変数が論理ロー状態に設定され、図27の修復ルーチンが続行される。
FAILREPロジック848がFAILREP変数を論理ロー状態に設定して、修復ルーチンが継続されると、PULSE_COUNTがゼロにリセットされて(図27のステップ862)、修復コントローラ832はJUICE状態に入る(図27のステップ888)。図26,27を参照すると、JUICE状態の間、修復コントローラ832は、CAMプログラム電圧源838を制御して、CAMフラッシュメモリセルのそれぞれの組にプログラム電圧を印加させる。このプログラム電圧によって、コアフラッシュメモリセルの現在の不良アドレスへのアクセスがフラッシュメモリセルの対応する冗長要素にリダイレクトされるように、CAMフラッシュメモリセルのそれぞれの組が、コアフラッシュメモリセルの現在の不良アドレスによってプログラムされる。本発明の一実施形態では、コアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方が修復されて、コアフラッシュメモリセルの現在の不良アドレスの当該下位バイトまたは上位バイトへのアクセスがフラッシュメモリセルの対応する冗長要素にリダイレクトされるようになる。
さらに、Yアドレスデコーダ781によって、コアフラッシュメモリセル780の不良アドレスの内容が出力されないようにするため、CAMロジック884はDISYHB信号とDISYLB信号を生成する。Yアドレスデコーダ781によって、コアフラッシュメモリセル780の不良アドレスの上位バイトの内容が出力されないようにするため、CAMロジック884はDISYHB信号をアサートする。Yアドレスデコーダ781によって、コアフラッシュメモリセル780の不良アドレスの下位バイトの内容が出力されないようにするために、CAMロジック884はDISYLB信号をアサートする。
CAMフラッシュメモリセルをプログラムするためのプログラム電圧は、フラッシュメモリ製造の当業者に公知である。さらに、特定のCAMフラッシュメモリセルに印加するこの種のプログラム電圧を発生させるCAMプログラム電圧源838を、コアフラッシュメモリセル780が作製された半導体ダイに作製するためのプロセスは、フラッシュメモリ製造の当業者に公知である。
JUICE状態の間、タイマー834は、CAMフラッシュメモリセルのそれぞれの組にこのプログラム電圧を印加するjuice期間(JTIMEOUT)を計時する(図27のステップ890)。juice期間が経過しない間(JTIMEOUT=False)は、修復コントローラ832はJUICE状態に留まり、juice期間(JTIMEOUT)の間、CAMフラッシュメモリセルのそれぞれの組にプログラム電圧を印加する。
juice期間が経過する(JTIMEOUT=TRUE)と、修復コントローラ832はVERIFY1状態に移る(図27のステップ892)。VERIFY1状態の間、VERIFY2状態でCAMマージン電圧源840からのマージニング電圧をCAMフラッシュメモリセルのそれぞれの組に印加する前に、タイマー834は所定の待機時間を計時して、VERIFY2状態に入る前にCAMマージン電圧源840からの電圧レベルを安定させる(図27のステップ894)。VERIFY1状態中、待機時間が経過しない間(Wait=True)は、修復コントローラ832はVERIFY1状態に留まる。
VERIFY1状態中に待機時間が経過する(Wait=False)と、修復コントローラ832はVERIFY2状態に入る(図27のステップ896)。VERIFY2状態の間、修復コントローラ832は、CAMマージン電圧源840を制御して、図27のステップ888のJUICE状態中にプログラムしたCAMフラッシュメモリセルのそれぞれの組にマージニング電圧を印加させる。マージニング電圧とは、JUICE状態中にプログラムしたCAMフラッシュメモリセルのそれぞれの組の各フラッシュメモリセルが正しくプログラムされていることをJUICE状態後に検証するために、これらのフラッシュメモリセルに印加する検証用の電圧である。
JUICE状態後にフラッシュメモリセルが正しくプログラムされていることを検証するためのこのようなマージニング電圧は、フラッシュメモリ製造の当業者に公知である。さらに、この種のマージニング電圧を発生させるCAMマージン電圧源840を、コアフラッシュメモリセル780が作製されている半導体ダイに作製するためのプロセスは、フラッシュメモリ製造の当業者に公知である。
VERIFY2状態の間、修復コントローラ832は、MATCHステップ中に修復照合ユニット846が生成するREDOK変数を受信する(図27のステップ898)。図29を参照すると、コアフラッシュメモリセルの現在の不良アドレスをフラッシュメモリセルの冗長要素に置き換えるために、JUICE状態中にプログラム電圧を印加し(図27のステップ888)、次にCAMフラッシュメモリの所定の組にマージニング電圧を印加したら、図29のCAMロジック884は、それぞれのCAMフラッシュメモリセルの出力とアドレスシーケンサ524からの現在の不良アドレスとを比較して、変数YCE(0)、YCE(1)、REDL(0)、REDH(0)、REDL(1)、およびREDH(1)を生成する。
本明細書に記載したように、コアフラッシュメモリセルの不良アドレスの2バイトと、その置換に使用した2つの冗長要素との対応関係を追跡するため、図29のCAMロジック884は、変数YCE(0)、YCE(1)、REDL(0)、REDH(0)、REDL(1)、およびREDH(1)を生成する。CAMロジックは、アドレスシーケンサ524が生成する不良アドレスと、このフラッシュメモリセルの不良アドレスを修復するためにCAM(内容参照可能メモリ)886内でプログラムされたCAMフラッシュメモリセルのそれぞれの組の出力とを比較して、YCE(0)、YCE(1)、REDL(0)、REDH(0)、REDL(1)、およびREDH(1)の各変数について、これら変数の以前のそれぞれの論理状態に応じて個々の論理状態を生成する。
初期状態では、YCE(0)、YCE(1)、REDL(0)、REDH(0)、REDL(1)、およびREDH(1)の各変数は論理ロー状態(「0」状態)に設定される。さらに、コアフラッシュメモリセルのブロック783,784,786,788の1つに存在する不良アドレスのいずれかの修復にいずれかの冗長要素が使用される前の初期状態では、フラッシュメモリセルの2つの冗長要素は、フラッシュメモリセルの不良アドレスのどの不良バイトの修復にも使用することができる。2つの冗長要素のうちの第1の冗長要素が、コアフラッシュメモリセルの不良アドレスの1バイトの修復に使用されると、2つの冗長要素のうちのこの第1の冗長要素に対応するYCE(0)変数が論理ハイ状態(「1」状態)に設定され、2つの冗長要素のうちのこの第1の冗長要素は使用できなくなる。その後、2つの冗長要素のうちの第2の冗長要素が、コアフラッシュメモリセルの不良アドレスの1バイトの修復に使用されると、2つの冗長要素のうちのこの第2の冗長要素に対応するYCE(1)変数が論理ハイ状態(「1」状態)に設定され、2つの冗長要素のうちのこの第2の冗長要素は使用できなくなり、その結果、コアフラッシュメモリセルのブロック783,784,786,788のうちの現在のブロックにあるコアフラッシュメモリセルの不良アドレスの修復に使用できる冗長要素は残っていない。
不良アドレスの下位バイトがコアフラッシュメモリセルの2つの冗長要素のうちの第1の冗長要素を使用して修復されると、REDL(0)変数が論理ハイ状態(「1」状態)に設定される。一方、不良アドレスの上位バイトがコアフラッシュメモリセルの2つの冗長要素のうちの第1の冗長要素を使用して修復されると、REDH(0)変数が論理ハイ状態(「1」状態)に設定される。冗長要素のうちの任意の冗長要素を使用して修復されるのは、コアフラッシュメモリセルの不良アドレスの下位バイトまたは上位バイトの一方のみである。このため、REDL(0)変数とREDH(0)変数の一方だけが論理ハイ状態に設定される。
同様に、不良アドレスの下位バイトがコアフラッシュメモリセルの2つの冗長要素のうちの第2の冗長要素を使用して修復されると、REDL(1)変数が論理ハイ状態(「1」状態)に設定される。一方、不良アドレスの上位バイトがコアフラッシュメモリセルの2つの冗長要素のうちの第2の冗長要素を使用して修復されると、REDH(1)変数が論理ハイ状態(「1」状態)に設定される。冗長要素のうちの任意の冗長要素を使用して修復されるのは、コアフラッシュメモリセルの不良アドレスの下位バイトまたは上位バイトの一方のみである。このため、REDL(1)変数とREDH(1)変数の一方だけが論理ハイ状態に設定される。
図26を参照すると、冗長要素順序ラッチ842は、YCE(0)変数を入力して、コアフラッシュメモリセルのブロック783,784,786,788のうちの現在のブロックに使用できる2つの冗長要素のうち、いずれが現在使用中であるかを追跡する。YCE(0)変数が論理ロー状態(「0」状態)に設定されている場合、2つの冗長要素のうちの第1の冗長要素が使用できる。この場合、冗長要素順序ラッチ842は、BREP01変数を論理ロー状態(「0」状態)に設定して、コアフラッシュメモリセルの現在の不良アドレスの修復に2つの冗長要素のうちの第1の冗長要素を使用できることを示す。一方、YCE(0)変数が論理ハイ状態(「1」状態)に設定されている場合、2つの冗長要素のうちの第1の冗長要素が既に使用されているため使用できず、2つの冗長要素のうちの第2の冗長要素が使用できる。この場合、冗長要素順序ラッチ842は、BREP01変数を論理ハイ状態(「1」状態)に設定して、2つの冗長要素のうちの第2の冗長要素をコアフラッシュメモリセルの現在の不良アドレスの修復に使用できることを示す。冗長要素順序ラッチ842のための一般的なラッチの実装は、電子工学の当業者に公知である。
図31は修復照合ユニット846の実装例であり、第1NORゲート902、第2NORゲート904、第3NORゲート906、第4NORゲート908、第5NORゲート910、第6NORゲート912、NANDゲート914、およびインバータ916を備える。第1NORゲート902は、第1入力端子918に印加されるREDL(0)変数と、第2入力端子920に印加されるREDH(0)変数とを入力する。第2NORゲート904は、第1NORゲート902の出力と、第3入力端子922に印加されるBREP01変数とを入力する。第3NORゲート906は、第4入力端子924に印加されるREDL(1)変数と、第5入力端子926に印加されるREDH(1)変数とを入力する。第4NORゲート908は、第3NORゲート906の出力とインバータ916の出力とを入力し、インバータ916は、第6入力端子928に印加されるBREP01変数を入力する。
第5NORゲート910は、第2NORゲート904の出力と、第4NORゲート908の出力とを入力する。NANDゲート914は、第7入力端子930に印加されるBREPAIR変数と、第8入力端子932に印加されるVERIFY変数とを入力する。第6NORゲート912は、第5NORゲート910の出力と、NANDゲート914の出力とを入力する。第6NORゲート912の出力は、出力端子934にREDOK変数を供給する。
図27のMATCHステップ898中に、修復コントローラ832によってBREPAIR変数が論理ハイ状態(「1」状態)に設定され、VERIFY変数が論理ハイ状態(「1」状態)に設定される。この場合、変数BREP01、REDL(0)、REDH(0)、REDL(1)、およびREDH(1)によって、図31の修復照合ユニット846の出力REDOKの論理状態が決まる。図32は、図31の修復照合ユニット846への入力時に、変数BREP01、REDL(0)、REDH(0)、REDL(1)、およびREDH(1)の取り得る論理状態を示す表である。本明細書に記載したようにBREP01変数は冗長要素順序ラッチ842が生成し、本明細書に記載したように、変数REDL(0)、REDH(0)、REDL(1)、およびREDH(1)は図29のCAMロジック884が生成する。
図31,32を参照すると、2つの冗長要素のうちの第1の冗長要素がコアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に使用中であることを示すために、冗長要素順序ラッチ842はBREP01変数を論理ロー状態(「0」状態)に設定する。あるいは、2つの冗長要素のうちの第2の冗長要素がコアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に使用中であることを示すため、冗長要素順序ラッチ842はBREP01変数を論理ハイ状態(「1」状態)に設定する。
図31,32を参照すると、BREP01変数が論理ロー状態(「0」状態)に設定されている場合は、REDL(1)変数およびREDH(1)変数のそれぞれの論理状態がどのような値であっても、REDL(0)変数とREDH(0)変数によってREDOK出力の論理状態が決まる。この場合、2つの冗長要素のうちの第1の冗長要素がコアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトのいずれかの修復に使用されていることを示すために、REDL(0)変数かREDH(0)変数の一方が論理ロー状態か論理ハイ状態に設定されている。
REDH(0)変数ではなくREDL(0)変数が論理ハイ状態に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの下位バイトの修復に2つの冗長要素のうちの第1の冗長要素が使用されている。REDL(0)変数ではなくREDH(0)変数が論理ハイ状態に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの上位バイトの修復に2つの冗長要素のうちの第1の冗長要素が使用されている。いずれの場合も、それぞれのCAMフラッシュメモリセルが正しくプログラムされており、2つの冗長要素のうちの第1の冗長要素がコアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に適切に使用されている。このため、BREP01変数が論理ロー状態に設定されており、かつREDL(0)変数かREDH(0)変数の一方が論理ハイ状態に設定されている場合、修復照合ユニット848が出力するREDOK変数は論理ハイ状態に設定される。
一方、BREP01変数が論理ロー状態に設定されており、かつCAMロジック884によってREDL(0)変数とREDH(0)変数の両方が論理ロー状態に設定されている場合、それぞれのCAMフラッシュメモリセルが正しくプログラムされておらず、2つの冗長要素のうちの第1の冗長要素が、コアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に適切に使用されていない。この場合、修復照合ユニット848が出力するREDOK変数は、論理ロー状態に設定される。
同様に、図31,32を参照すると、BREP01変数が論理ハイ状態(「1」状態)に設定されている場合は、REDL(0)変数およびREDH(0)変数のそれぞれの論理状態がどのような値であっても、REDL(1)変数とREDH(1)変数によってREDOK出力の論理状態が決まる。この場合、2つの冗長要素のうちの第2の冗長要素がコアフラッシュメモリセルの不良アドレスの下位バイトまたは上位バイトのいずれかの修復に使用されていることを示すために、REDL(1)変数かREDH(1)変数の一方が論理ハイ状態に設定されている。
REDH(1)変数ではなくREDL(1)変数が論理ハイ状態に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの下位バイトの修復に2つの冗長要素のうちの第2の冗長要素が使用されている。REDL(1)変数ではなくREDH(1)変数が論理ハイ状態に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの上位バイトの修復に2つの冗長要素のうちの第2の冗長要素が使用されている。いずれの場合も、それぞれのCAMフラッシュメモリセルが正しくプログラムされており、コアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に2つの冗長要素のうちの第2の冗長要素が適切に使用されている。このため、BREP01変数が論理ハイ状態に設定されており、かつREDL(1)変数かREDH(1)変数の一方が論理ハイ状態に設定されている場合、修復照合ユニット848が出力するREDOK変数は論理ハイ状態に設定される。
一方、BREP01変数が論理ハイ状態に設定されており、かつCAMロジック884によってREDL(1)変数とREDH(1)変数の両方が論理ロー状態に設定されている場合、それぞれのCAMフラッシュメモリセルが正しくプログラムされておらず、2つの冗長要素のうちの第2の冗長要素が、コアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に適切に使用されていない。この場合、修復照合ユニット848が出力するREDOK変数は、論理ロー状態に設定される。
図27を参照すると、REDOK変数が論理ロー状態(False状態)に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの修復にそれぞれのCAMフラッシュメモリセルが正しくプログラムされていない。この場合、修復コントローラ832は、PULSE_COUNT変数とMax_PC(最大パルスカウント)とを比較する(図27のステップ936)。PULSE_COUNTがMax_PC未満であれば、修復コントローラ832はJUICE状態とVERIFY2状態を繰り返し(図27のステップ888,890,892,894,896,898)、PULSE_COUNTが1つインクリメントされる。この場合、juice期間(JTIMEOUT)の間、修復コントローラ832は、CAMプログラム電圧源838を制御して、それぞれのCAMフラッシュメモリセルにプログラム電圧を再印加させる。さらに、VERIFY2状態の間、このプログラム電圧を印加したのち、修復照合ユニット846はREDOK変数を再び生成すると共に、CAMロジック884は、変数REDL(0)、REDH(0)、REDL(1)、およびREDH(1)に新たに値を設定する。
REDOK変数が論理ロー状態に設定されるたびに、修復コントローラはJUICE状態とVERIFY2状態を繰り返し(図27のステップ888,890,892,894,896,898)、PULSE_COUNTがインクリメントされる。これは、PULSE_COUNTがMax_PC(最大パルスカウント)を越える前にREDOK変数が論理ハイ状態に設定されるか、あるいはREDOK変数が論理ローのままPULSE_COUNTがMax_PC(最大パルスカウント)を越えるまで行われる。REDOK変数が論理ローのままPULSE_COUNTがMax_PC(最大パルスカウント)を越えた場合、PULSE_COUNT変数がゼロにリセットされて(図27のステップ938)、HANG状態に入り(図27のステップ940)、図27の修復ルーチンが終了する。この場合、修復ルーチンは、コアフラッシュメモリセルの現在の不良アドレスをフラッシュメモリセルの冗長要素に置き換えることに失敗している。
一方、PULSE_COUNTがMax_PC(最大パルスカウント)を越える前にREDOK変数が論理ハイ状態に設定された場合、修復ルーチンが続行される。この場合、修復ルーチンは、フラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトを、フラッシュメモリセルの冗長要素に置き換えることに成功している。さらに、修復コントローラ832によってreg_READ変数がチェックされる(図27のステップ942)。例えば、現在のBISTモードが、図23のフローチャートに示したBISTモードのような、コアフラッシュメモリセルにプログラム電圧または消去電圧を消去せずに、コアフラッシュメモリセルのアレイの各フラッシュメモリセルのそれぞれの論理状態を読出すモードの場合、BISTシステム300のフロントエンドデコーダ314によってreg_READ変数が論理ハイ状態に設定されている。そうでない場合(例えば図21のフローチャートに示したBISTモードなど)、reg_READ変数は論理ロー状態に設定されている。
reg_READ変数が論理ハイ状態に設定されている場合、修復コントローラ832は、コアフラッシュメモリセルの不良アドレスを含むコアフラッシュメモリセルの現在のブロックの先頭アドレスにアドレスシーケンサ524をリセットし(図27のステップ944)、PULSE_COUNTがゼロにリセットされる(図27のステップ946)。例えば、図24を参照すると、コアフラッシュメモリセルの不良アドレス750は、コアフラッシュメモリセルの第3のブロック786に存在する。このような例では、reg_READ変数が論理ハイ状態に設定されている場合、修復コントローラ832は、アドレスシーケンサ524をコアフラッシュメモリセルの第3のブロック786の先頭アドレスにリセットする。アドレスシーケンサ524が、コアフラッシュメモリセルの現在のブロックの先頭アドレスにリセットされることで、コアフラッシュメモリセルの不良アドレスを含むコアフラッシュメモリセルのブロック全体について、コアフラッシュメモリセルのアレイの各フラッシュメモリセルのそれぞれの論理状態を読出し、フラッシュメモリセルの冗長要素に置き換えるBISTモードが実行されるため、フラッシュメモリセルの冗長要素を使用して適切に修復されることがより確実となる。
図27を参照すると、reg_READ変数が論理ハイ状態に設定されている場合に、修復コントローラ832が、コアフラッシュメモリセルの不良アドレスを含むコアフラッシュメモリセルの現在のブロックの先頭アドレスにアドレスシーケンサ524をリセットして(図27のステップ944)、PULSE_COUNTがゼロにリセットされると(図27のステップ946)、BREPAIR変数が論理ロー状態(「0」状態)に設定され(図27のステップ948)、修復ルーチンはこの修復ルーチンを呼び出した現在のBISTモードに戻る(図27のステップ950)。一方、reg_READ変数が論理ロー状態に設定されている場合、図27のステップ944,946が実行されずに、BREPAIR変数が論理ロー状態(「0」状態)に設定され(図27のステップ948)、修復ルーチンはこの修復ルーチンを呼び出した現在のBISTモードに戻る(図27のステップ950)。
例えば、修復ルーチン770が図21の現在のBISTモードに戻る場合には、START状態552とこれ以降のステップが、フラッシュメモリセルの冗長要素に置き換えて修復されたコアフラッシュメモリセルの現在の不良アドレスに対して再度実行される。あるいは、修復ルーチン776が図23の現在のBISTモードに戻る場合には、START状態682とこれ以降のステップが、コアフラッシュメモリセルの不良アドレスを含むコアフラッシュメモリセルの現在のブロックの先頭アドレスから再度実行されるが、コアフラッシュメモリセルの現在ブロック内でフラッシュメモリセルの冗長要素に置き換えられている。
このように、コアフラッシュメモリセル780のアレイの試験中に、CAM(内容参照可能メモリ)790をプログラムして、フラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素782に置き換えることで、フラッシュメモリセルの不良アドレスの修復がオンチップに実行される。このため、CAM(内容参照可能メモリ)をプログラムして、フラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素に置き換えるために、外部試験システムのピンが使用されることはない。使用する外部試験システムのピン数をこのように最小限に減らすことで、総ピン数の限られた外部試験システムによってより多くの半導体ダイを同時に試験および修復することができ、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。
さらに、CAMフラッシュメモリセルのプログラムによるこのような修復がオンチップに実行されるため、この修復メカニズムの実行速度が外部試験システムの処理能力によって制約されない。このため、このオンチップ修復メカニズムはより効率的であり得る。
上記の記載は例に過ぎず、限定を意図するものではない。例えば、本発明は、フラッシュメモリセルの使用可能な冗長要素の数が上記の例よりも多い場合に実施してもよい。本明細書に記載もしくは図示した数値は例に過ぎない。さらに、フラッシュメモリ製造の当業者にとって本明細書の記載から自明のように、コアフラッシュメモリセルの不良アドレスの1バイトを置き換える代わりに、コアフラッシュメモリセルの不良アドレス全体をフラッシュメモリセルの冗長要素に置き換えて本発明を実施してもよい。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
E.BIST(組込み自己試験)バックエンド状態機械の機能を試験するための診断モード
BISTシステム300によるコアフラッシュメモリセル304のアレイの試験の精度は、図7のBISTシステム300、特にバックエンドBIST状態機械316の各種コンポーネントの機能の試験によっても保証される。BISTシステム300のコンポーネントの機能をこのように試験することで、BISTシステム300による試験後にコアフラッシュメモリセル304のアレイが不良であると考えられる場合、この不良は、コアフラッシュメモリセル304のアレイの不良が原因であり、図7のBISTシステム300のコンポーネントの不良が原因ではないことを確認できる。
本発明の別の実施形態では、コアフラッシュメモリセル304のアレイの機能とは切り離してBIST(組込み自己試験)バックエンド状態機械316の機能を判定する。図33を参照すると、コアフラッシュメモリセル304のアレイの機能とは切り離してBIST(組込み自己試験)エンド状態機械316の機能を判定するシステム960は、モードデコーダ962、診断照合ロジック964、および信号セレクタ966を備える。BISTインタフェース312、フロントエンドインタフェース314、BISTバックエンド状態機械316、アドレスシーケンサ524、および外部試験システム318は、本明細書に記載したものと同じである。
モードデコーダ962は外部試験システム318に結合されており、外部試験システム318はBISTバックエンド状態機械316の機能を試験するための診断モードを呼び出すために、所定のビットパターンを送信し、モードデコーダ962がこのビットパターンを受信する。BISTバックエンド状態機械316の機能を試験するための診断モードを呼び出すために、外部試験システム318が所定のビットパターンを送信した場合、モードデコーダ962は、外部試験システム318から送信されたビットパターンをデコードして、AUTOL信号を論理ハイ状態(「1」状態)に設定する。そうでない場合、モードデコーダ962は、AUTOL信号を論理ロー状態(「0」状態)に設定する。モードデコーダ962のためのビットパターンデコーダの実装は、デジタル電子工学の当業者に公知である。
AUTOL信号は、モードデコーダ962から、診断照合ロジック964、信号セレクタ966、およびBISTバックエンド状態機械316に結合されている。診断照合ロジック964は、バックエンド状態機械316からAUTOL信号と制御信号とを入力し、生成マッチ出力を生成する。信号セレクタ966は、診断照合ロジック964からの生成マッチ出力と、図13の照合回路520からのコアマッチ出力とを入力する。信号セレクタ966は、AUTOL信号とBISTバックエンド状態機械316からの制御信号とに応じて、診断照合ロジック964からの生成マッチ出力か整合回路520からのコアマッチ出力のいずれかをMATCH信号として出力する。
AUTOL信号が論理ハイ状態に設定されており、BISTバックエンド状態機械316の機能を試験するための診断モードが呼び出された場合、信号セレクタ966は、診断照合ロジック964からの生成マッチ出力をMATCH信号として選択し、BISTバックエンド状態機械316に送信する。一方、AUTOL信号が論理ロー状態に設定されており、診断モードが呼び出されていない場合、信号セレクタ966は、照合回路520から出力されるコアマッチ出力をMATCH信号として選択し、BISTバックエンド状態機械316に送信する。
いずれの場合であっても、本明細書に記載したように、BIST(組込み自己試験)モード中のVERIFY状態の間に、BISTバックエンド状態機械316は、このMATCH信号を使用してBISTモードの結果が合格・不合格のいずれの状態であるかを判定する。図13の照合回路520は、コアフラッシュメモリセル304のアレイのアドレスの測定ビットパターンと所望のビットパターンとを比較して、コアマッチ出力を生成する。しかし、診断照合ロジック964は、モードデコーダ962からのAUTOL信号とBISTバックエンド状態機械316からの制御信号とに応じて生成マッチ出力を生成する。このため、診断照合ロジック964からの生成マッチ出力は、コアフラッシュメモリセル304のアレイの機能とは独立している。
図34に、第1インバータ968、第1ANDゲート970、第1NORゲート972、第2インバータ974、第2ANDゲート976、第3インバータ978、第3ANDゲート980、第2NORゲート982、および第4インバータ984を備えた図33の信号セレクタ966の実装例を示す。第1ANDゲート970は、第1入力端子986に供給されるBREAD信号と、第2入力端子988に供給されるBREP信号を入力する第1インバータ968からの出力とを入力する。第1NORゲート972は、第1ANDゲート970の出力と、第3入力端子990に供給されるMATCHD信号とを入力する。第2ANDゲート976は、第4入力端子992に供給されるAUTOL信号と、第2インバータ974の出力とを入力する。第2インバータ974は、第1NORゲート972の出力を入力する。
さらに、第3ANDゲート980は、第5入力端子994に供給されるint_MATCH信号と、第6入力端子996に供給されるAUTOL信号を入力する第3インバータ978の出力とを入力する。第2NORゲート982は、第2ANDゲート976の出力と、第3ANDゲート980の出力とを入力する。第4インバータ984は、第2NORゲート982の出力を入力する。第4インバータ984の出力は、出力端子997にMATCH信号を供給する信号セレクタの出力となる。
第5入力端子994に供給されるint_MATCH信号は、照合回路520からのコアマッチ出力であり、第3入力端子990のMATCHD信号は、診断照合ロジック964からの生成マッチ出力である。第4入力端子992と第6入力端子996に供給されるAUTOL信号は、モードデコーダ962によって生成されるAUTOL信号である。第1入力端子986に供給されるBREAD信号と、第2入力端子988に供給されるBREP信号とは、BISTバックエンド状態機械316からの制御信号である。
図35に、第1NORゲート998、第2NORゲート1000、および第3NORゲート1002を備えた図33の診断照合ロジック964の実装例を示す。さらに、診断照合ロジック964は、第1ANDゲート1004、第1NANDゲート1006、第2NANDゲート1008、第3NANDゲート1010、第4NANDゲート1012、および第5NANDゲート1014を備える。診断照合ロジック964は、第1ORゲート1016、第2ORゲート1018、第3ORゲート1020、第1インバータ1022、第2インバータ1024、および第3インバータ1026も備える。さらに、診断照合ロジック964は、ラッチ1028も備える。
第1NORゲート998は、第1入力端子1030に供給されるERIP信号と、第2入力端子1032に供給されるAPDE信号とを入力する。第1ANDゲート1004は、第1NORゲート998の出力と、第3入力端子1034に供給されるBACLK信号とを入力する。第2NORゲート1000は、第1ANDゲート1004の出力と、第4入力端子1036に供給されるSACLK信号とを入力する。第2NANDゲート1008は、第5入力端子1038に供給されるER信号と、第4NANDゲート1012の出力とを入力する。
さらに、第1ORゲート1016は、第6入力端子1040に供給されるBEREXE信号を入力する第1インバータ1022の出力と、第7入力端子1042に供給されるBAPDE_OPT信号とを入力する。第4NANDゲート1012は、第1ORゲート1016の出力と第8入力端子1044に供給されるSTEST信号とを入力する。第2ORゲート1018は、第4NANDゲート1012の出力を入力する第2インバータ1024の出力と、第9入力端子1046に供給されるPGM信号を入力する。第3ORゲート1020は、第4NANDゲート1012の出力と、第10入力端子1048に供給されるJUICE信号とを入力する。
また、第1NANDゲート1006は、第2NORゲート1000の出力と、第2NANDゲート1008の出力とを入力する。第5NANDゲート1014は、第2ORゲート1018の出力と、第3ORゲート1020の出力とを入力する。第3NANDゲート1010は、第11入力端子1050に供給されるAUTOL信号と、第1NANDゲート1006の出力とを入力する。第3NORゲート1002は、第11入力端子1050に供給されるAUTOL信号を入力する第3インバータ1026の出力と、第5NANDゲート1014の出力とを入力する。
ラッチ1028は、第3NANDゲート1010の出力をリセット入力(「R」入力)として有し、第3NORゲート1002の出力をセット入力(「S」入力)として有する。さらに、ラッチ1028は、出力端子1052にQ出力としてMATCHD信号を供給する。MATCHD信号は、図33,34の信号セレクタ966に提供される生成マッチ出力である。
第11入力端子1050に供給されるAUTOL信号は、図33のモードデコーダ962が生成する。第1入力端子1030に供給されるERIP信号、第2入力端子1032に供給されるAPDE信号、第3入力端子1034に供給されるBACLK信号、第4入力端子1036に供給されるSACLK信号、第5入力端子1038に供給されるER信号、第6入力端子1040に供給されるBEREXE信号、第7入力端子1042に供給されるBAPDE_OPT信号、第8入力端子1044に供給されるSTEST信号、第9入力端子1046に供給されるPGM信号、および第10入力端子1048に供給されるJUICE信号は、BISTバックエンド状態機械316、特に図13のバックエンドBISTコントローラ502によって生成される。
図36に、図35のラッチ1028の実装例を示し、ラッチ1028は、第1PMOSFET(P形金属酸化膜半導体電界効果トランジスタ)1051、第2PMOSFET(P形金属酸化膜半導体電界効果トランジスタ)1057、NMOSFET(N型金属酸化膜半導体電界効果トランジスタ)1054、第1インバータ1056、および第2インバータ1058を備える。第1PMOSFET1051のソースと第2PMOSFET1057のソースとは正電圧源1059に結合され、NMOSFET1054のソースは負電圧源1061に結合されている。正電圧源1059は例えば+5ボルトなどの論理ハイ状態の電圧を供給しており、負電圧源1061はラッチ1028の実装例においては接地ノードであり得る。
第1PMOSFET1051のゲートは、図35の第3NANDゲート1010の出力に結合されているラッチ1028のリセット入力(「R」入力)に結合されている。NMOSFET1054のゲートは、図35の第3NORゲート1002の出力に結合されているラッチ1028のセット入力(「S」入力)に結合されている。第1PMOSFET1051のドレインはNMOSFET1054のドレインに結合されており、NMOSFET1054のドレインは、第1インバータ1056の入力と、第2インバータ1058の出力とに結合されている。第1インバータ1056の出力は、第2インバータ1058の入力に結合され、ラッチ1028のQ出力となっており、診断照合ロジック964の生成マッチ出力MATCHDを供給する。
さらに、第2PMOSFET1057のゲートはリセット入力(すなわち「IRSTB」入力)に結合され、第2PMOSFET1057のドレインは、第1PMOSFET1051のドレインとNMOSFET1054のドレインとに結合されている。AUTOLが論理ハイ状態に設定されている場合、BISTバックエンド状態機械316はIRSTB信号を論理ハイ状態に設定して、第2PMOSFET1057をオフにし、この結果、生成マッチ出力MATCHDは、第1PMOSFET1051に印加されるリセット入力とNMOSFET1054に印加されるセット入力とによって決まる。一方、AUTOLが論理ロー状態に設定されている場合、BISTバックエンド状態機械316はIRSTB信号を論理ロー状態に設定して、第2PMOSFET1057をオンにし、この結果、生成マッチ出力MATCHDが論理ロー状態にラッチされる。
図37は、AUTOLが論理ハイ状態に設定されており、かつIRSTB信号が論理ハイ状態に設定されている場合の、図36のラッチ1028の動作中の諸変数を示す表である。この場合、生成マッチ出力MATCHDは、第1PMOSFET1051に印加されるリセット入力と、NMOSFET1054に印加されるセット入力とによって決まる。リセット入力(「R」入力)とセット入力(「S」入力)が論理ロー状態(「0」状態)の場合、ラッチ1028のQ出力(MATCHD出力)は論理ロー状態(「0」状態)となる。一方、リセット入力(「R」入力)とセット入力(「S」入力)が論理ハイ状態(「1」状態)の場合、ラッチ1028のQ出力(MATCHD出力)は論理ハイ状態(「1」状態)となる。
リセット入力(「R」入力)が論理ハイ状態(「1」状態)でセット入力(「S」入力)が論理ロー状態(「0」状態)の場合、ラッチ1028のQ出力(MATCHD出力)は、Q出力の元の論理状態にラッチされる。リセット入力(「R」入力)が論理ロー状態(「0」状態)でセット入力(「S」入力)が論理ハイ状態(「1」状態)であるという条件は、図35の診断照合ロジック964内のラッチ1028では使用されない。
以下、バックエンド状態機械316の機能を試験するための図33のシステム960の各種コンポーネントの動作を説明する。図38は、診断モードの呼び出し後に、バックエンド状態機械316が実行しようとしているBISTモードが、コアフラッシュメモリセル304のアレイのフラッシュメモリセルのプログラムである場合に、図33のバックエンド状態機械316がとる状態を示すフローチャートである。図33,38を参照すると、外部試験システム318が、診断モードを呼び出すために所定のビットパターンを入力すると、診断モードが開始される(図38のステップ1060)。さらに、図33を参照すると、診断モードの開始時に、現在のBISTモードを呼び出すためにユーザがBISTインタフェース312にデータを入力する。
この場合、モードデコーダ962からのAUTOL信号が、論理ハイ状態(「1」状態)に設定される。さらに、診断モードが呼び出されている場合、バックエンド状態機械316は、図15のフローチャートのステップをたどるが、VERIFY状態中(図15のステップ560,562)に、照合回路520の出力だけではなく信号セレクタ966からのMATCH信号を使用する。
図34を参照すると、診断モードの呼び出し後に、バックエンド状態機械316が実行しようとしているBISTモードが、コアフラッシュメモリセル304のアレイのフラッシュメモリセルのプログラムの場合、BREAD信号が論理ロー状態(「0」状態)に設定される。このため、AUTOL信号が論理ハイ状態に設定されているため、図34の信号セレクタ966からのMATCH信号は、診断ロジック964からの生成マッチ出力MATCHDとなる。
図36を参照すると、診断モードの開始前に、AUTOL信号とラッチ1028のIRSTB信号とが論理ロー状態に設定され、この結果、生成マッチ出力MATCHDが論理ロー状態にラッチされる。このため、コアフラッシュメモリセル304のアレイのフラッシュメモリセルのプログラムを行うBISTモードの開始時には、生成マッチ出力MATCHDは、コアフラッシュメモリセル304のアレイの先頭アドレスにおいて論理ロー状態(「0」状態)にラッチされている。バックエンド状態機械316が第1のプログラムVERIFY状態(図15のステップ560,562)に入ると、生成マッチ出力MATCHDは論理ロー状態(「0」状態)にラッチされ、このため、コアフラッシュメモリセルのアレイの先頭アドレスの結果は不合格となる(図38のステップ1062)。このように不合格となったため、バックエンド状態機械316はプログラムJUICE状態に入る(図15のステップ566)。
図35を参照すると、第11入力端子1050に供給されるAUTOL信号がモードデコーダ962によって論理ハイ状態に設定されるほか、プログラムJUICE状態中は、第9入力端子1046に供給されるPGM信号、第10入力端子1048に供給されるJUICE信号、および第8入力端子1044に供給されるSTEST信号が、BISTコントローラ502によって論理ハイ状態に設定される。プログラムJUICE状態中は、ほかの信号(信号ERIP、APDE、BACLK、SACLK、ER、BEREXE、およびBAPDE_OPT)は、BISTコントローラ502によって論理ロー状態に設定される。このため、プログラムJUICE状態中は、生成マッチ出力MATCHDが論理ハイ状態(「1」状態)に設定される(図38のステップ1064)。
プログラムJUICE状態後に、BISTコントローラ502は、次のプログラムVERIFY状態(図15のステップ560,562)に入り、前のプログラムJUICE状態で生成マッチ出力MATCHDが論理ハイ状態(「1」状態)に設定されているため、コアフラッシュメモリセルのアレイの先頭アドレスの結果は合格となる(図38のステップ1066)。このように合格となったため、図33を参照すると、バックエンド状態機械316は、BACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの次のアドレスにインクリメントさせる(図38のステップ1068)。
図35を参照すると、BACLK信号が論理ハイ状態に設定されている(AUTOL信号およびSTEST信号は論理ハイ状態に設定されているが、ERIP、APDE、SACLK、ER、PGM、JUICE、BEREXE、およびBAPDE_OPTの各信号は論理ロー状態に設定されている)と、生成マッチ出力MATCHDは論理ロー状態(「0」状態)に戻される。アドレスシーケンサ524がコアフラッシュメモリセル304のアレイの次のアドレスにインクリメントしたら、BISTコントローラ502は、このアドレスがコアフラッシュメモリセル304のアレイの最終アドレスを超えているかどうかチェックする(図38のステップ1070)。アドレスがコアフラッシュメモリセル304のアレイの最終アドレスを越えている場合、BISTモードが終了する。そうでない場合、アドレスシーケンサ524が、コアフラッシュメモリセル304のアレイの最終アドレスを越えるアドレスに達するまで、コアフラッシュメモリセル304のアレイの後続アドレスのそれぞれについて、図38のステップ1062,1064,1066,1068,1070が繰り返される。
図13を参照すると、診断モードの呼び出し後に、バックエンド状態機械316が実行しようとしているBISTモードが、コアフラッシュメモリセル304のアレイのフラッシュメモリセルのプログラムである場合、プログラム/消去電圧源510からのノードなどの、バックエンド状態機械316の各種ノードが検査され得、図38の諸ステップで、バックエンド状態機械316が機能しているかどうかが判定される。例えば、バックエンド状態機械316が機能している場合には、図38のステップ1064でプログラムJUICE状態に入るたびに、図13のプログラム/消去電圧源510からのノードが、+9ボルトのワード線電圧を供給する。BISTモードが、コアフラッシュメモリセル304のアレイのフラッシュメモリセルのプログラムである場合、図38の諸ステップの間、図13のバックエンド状態機械316のノードがこのように検査されて、バックエンド状態機械316の機能が調べられる。
図39は、診断モードの呼び出し後に、バックエンド状態機械316が実行しようとしているBISTモードが、スタンドアロンAPDE(消去後の自動プログラムディスターブ)付きのコアフラッシュメモリセル304のアレイのフラッシュメモリセルの消去である場合に、図33のバックエンド状態機械316がとる状態を示すフローチャートである。図40は、診断モードの呼び出し後に、バックエンド状態機械316が実行しようとしているBISTモードが、インターリーブAPDE(消去後の自動プログラムディスターブ)付きのコアフラッシュメモリセル304のアレイのフラッシュメモリセルの消去である場合に、図33のバックエンド状態機械316がとる状態を示すフローチャートである。図35を参照すると、スタンドアロンAPDE(消去後の自動プログラムディスターブ)の場合、BISTコントローラ502は、BAPDE_OPT信号を論理ハイ状態(「1」状態)に設定する。一方、インターリーブAPDE(消去後の自動プログラムディスターブ)の場合、BISTコントローラ502は、BAPDE_OPT信号を論理ロー状態(「0」状態)に設定する。
図33,39を参照すると、外部試験システム318が、診断モードを呼び出すために所定のビットパターンを入力すると、診断モードが開始される(図39のステップ1072)。この場合、モードデコーダ962からのAUTOL信号が、論理ハイ状態(「1」状態)に設定される。さらに、図33を参照すると、診断モードの開始時に、現在のBISTモードを呼び出すためにユーザがBISTインタフェース312にデータを入力する。さらに、診断モードが呼び出されている場合、バックエンド状態機械316は、VERIFY状態中(例えば図15のステップ560,562)に、照合回路520の出力だけではなく信号セレクタ966からのMATCH信号を使用する。図34を参照すると、診断モードの呼び出し後に、バックエンド状態機械316が実行しようとしているBISTモードが、コアフラッシュメモリセル304のアレイのフラッシュメモリセルの消去の場合、BREAD信号が論理ロー状態(「0」状態)に設定される。このため、AUTOL信号が論理ハイ状態に設定されているため、図34の信号セレクタ966からのMATCH信号は、診断ロジック964からの生成マッチ出力MATCHDとなる。
図36を参照すると、診断モードの開始前に、AUTOL信号とラッチ1028のIRSTB信号とが論理ロー状態に設定され、この結果、生成マッチ出力MATCHDが論理ロー状態にラッチされる。このため、コアフラッシュメモリセル304のアレイのフラッシュメモリセルの消去を行うBISTモードの開始時には、生成マッチ出力MATCHDは、コアフラッシュメモリセル304のアレイの先頭セクタの先頭アドレスにおいて論理ロー状態(「0」状態)にラッチされている。図16を参照すると、図16を参照して本明細書に記載したように、コアフラッシュメモリセル304のアレイは、複数の水平セクタ602,604,606,608,610,612,614,616に分割されている。バックエンド状態機械316が第1の消去VERIFY状態に入ると、生成マッチ出力MATCHDは論理ロー状態(「0」状態)にラッチされ、このため、コアフラッシュメモリセルのアレイの先頭セクタの先頭アドレスの結果は不合格となる(図39のステップ1074)。
このように不合格となったため、バックエンド状態機械316は、消去JUICE状態に入る。図35を参照すると、消去JUICE状態中は、第11入力端子1050に供給されるAUTOL信号がモードデコーダ962によって論理ハイ状態に設定されるほか、第5入力端子1038に供給されるER信号、第10入力端子1048に供給されるJUICE信号、第8入力端子1044に供給されるSTEST信号、第6入力端子1040に供給されるBEREXE信号、第1入力端子1030に供給されるERIP信号、および第7入力端子1042に供給されるBAPDE_OPT信号が、BISTコントローラ502によって論理ハイ状態に設定される。消去JUICE状態中は、ほかの信号(信号APDE、BACLK、SACLK、およびPGM)は、BISTコントローラ502によって論理ロー状態に設定される。このため、消去JUICE状態中は、生成マッチ出力MATCHDが論理ハイ状態(「1」状態)に設定される(図39のステップ1076)。
消去JUICE状態後に、BISTコントローラ502は、次の消去VERIFY状態に入り、前の消去JUICE状態で生成マッチ出力MATCHDが論理ハイ状態(「1」状態)に設定されているため、コアフラッシュメモリセルのアレイの先頭セクタの先頭アドレスの結果は合格となる(図39のステップ1078)。このように合格となったため、図33を参照すると、バックエンド状態機械316は、BACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの先頭セクタの次のアドレスにインクリメントさせる(図39のステップ1080)。
図35を参照すると、BACLK信号が論理ハイ状態に設定されていても、STEST、BEREXE、ERIP、およびBAPDE_OPTの各信号が論理ハイ状態に設定されているため、生成マッチ出力MATCHDは論理ハイ状態(「1」状態)にラッチされたままとなる。アドレスシーケンサ524がコアフラッシュメモリセル304のアレイの先頭セクタの次のアドレスにインクリメントしたら、BISTコントローラ502は、このアドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終アドレスを超えているかどうかチェックする(図39のステップ1082)。
アドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終アドレスを越えている場合、バックエンド状態機械316は、SACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの次のセクタの先頭アドレスにインクリメントさせる(図39のステップ1084)。そうでない場合、アドレスシーケンサ524が、コアフラッシュメモリセル304のアレイの先頭セクタの最終アドレスを越えるアドレスに達するまで、コアフラッシュメモリセル304のアレイの先頭セクタの後続するアドレスのそれぞれについて、図39のステップ1078,1080,1082が繰り返される。
アドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終アドレスを越えており、このため、バックエンド状態機械316が、SACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの次のセクタの先頭アドレスにインクリメントさせると(図39のステップ1084)、BISTコントローラ502は、このアドレスがコアフラッシュメモリセル304のアレイの最終セクタを超えているかどうかチェックする(図39のステップ1086)。アドレスがコアフラッシュメモリセル304のアレイの最終セクタを越えている場合、図39のステップ1088でスタンドアロンAPDE(消去後の自動プログラムディスターブ)が実行される。
そうでない場合、アドレスシーケンサ524が、コアフラッシュメモリセル304のアレイの最終セクタを越えるアドレスに達するまで、コアフラッシュメモリセル304のアレイの後続セクタのそれぞれについて、図39のステップ1074,1076,1078,1080,1082,1084,1086が繰り返される。図39のステップ1084で、図35の第4入力端子のSACLK信号(AUTOL、STEST、BEREXE、ERIP、およびBAPDE_OPTの各信号も同様)が論理ハイ状態に設定されていると、生成マッチ出力MATCHDが論理ロー状態に戻された状態にラッチされるため、本発明のこの実施形態では、ステップ1074,1076はコアフラッシュメモリセルの各セクタの先頭アドレスにしか実行されない点に留意されたい。
しかし、コアフラッシュメモリセルのセクタの後続の各アドレスについては、図39のステップ1076の消去JUICE状態中に、生成マッチ出力MATCHDが論理ハイ状態に戻される。例えば、消去JUICE状態の間の時間は、例えば10ミリ秒など比較的長く、このため、セクタの各アドレスに消去JUICE状態を実行すると時間がかかってしまい望ましくないため、ステップ1074,1076はコアフラッシュメモリセルの各セクタの先頭アドレスにしか実行されない。
ステップ1086で、アドレスがコアフラッシュメモリセル304のアレイの最終セクタを越えている場合、コアフラッシュメモリセルのアレイの全てのアドレスが消去検証されており、図39のステップ1088でスタンドアロンAPDE(消去後の自動プログラムディスターブ)が実行される。図39のステップ1088に達するまでの間に、図35のAUTOL、STEST、BEREXE、ERIP、およびBAPDE_OPTの各信号のほか、図39のステップ1084で、SACLK信号が論理ハイ状態に設定されているため、生成マッチ出力MATCHDは論理ロー状態(「0」状態)にラッチされる。さらに、図39のステップ1084でSACLK信号が論理ハイ状態に設定されているため、アドレスシーケンサ524は、BISTコントローラ502によってコアフラッシュメモリセル304の先頭セクタの先頭の列アドレスにリセットされる。
バックエンド状態機械316は、コアフラッシュメモリセル304の先頭セクタの先頭の列アドレスにおいて第1のAPDE(消去後の自動プログラムディスターブ)VERIFY状態に入り、このとき、生成マッチ出力MATCHDは論理ロー状態(「0」状態)にラッチされている。このように、コアフラッシュメモリセル304の先頭セクタの先頭の列アドレスについて、第1のAPDE VERIFY状態の結果は不合格となる(図39のステップ1088)。このように不合格となったため、バックエンド状態機械316は、APDE(消去後の自動プログラムディスターブ)JUICE状態に入る(図39のステップ1090)。
図35を参照すると、APDE JUICE状態中は、第11入力端子1050に供給されるAUTOL信号がモードデコーダ962によって論理ハイ状態に設定されるほか、第2入力端子1032に供給されるAPDE信号、第10入力端子1048に供給されるJUICE信号、第8入力端子1044に供給されるSTEST信号、第6入力端子1040に供給されるBEREXE信号、第9入力端子1046に供給されるPGM信号、および第7入力端子1042に供給されるBAPDE_OPT信号が、BISTコントローラ502によって論理ハイ状態に設定される。APDE JUICE状態中は、ほかの信号(信号ERIP、ER、BACLK、およびSACLK)は、BISTコントローラ502によって論理ロー状態に設定される。このため、APDE JUICE状態中は、生成マッチ出力MATCHDが論理ハイ状態(「1」状態)に設定される(図39のステップ1090)。
APDE JUICE状態後に、BISTコントローラ502は、次のAPDE(消去後の自動プログラムディスターブ)VERIFY状態に入り、前のAPDE JUICE状態でマッチ出力MATCHDが論理ハイ状態(「1」状態)に設定されているため、コアフラッシュメモリセルのアレイの先頭セクタの先頭の列アドレスの結果は合格となる(図39のステップ1092)。このように合格となったため、図33を参照すると、バックエンド状態機械316は、BACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの先頭セクタの次の列アドレスにインクリメントさせる(図39のステップ1094)。
図35を参照すると、BACLK信号が論理ハイ状態に設定されていても、AUTOL、STEST、BEREXE、APDE、およびBAPDE_OPTの各信号が論理ハイ状態に設定されているため、生成マッチ出力MATCHDは論理ハイ状態(「1」状態)にラッチされたままとなる。アドレスシーケンサ524がコアフラッシュメモリセル304のアレイの先頭セクタの次の列アドレスにインクリメントしたら、BISTコントローラ502は、この列アドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終列アドレスを超えているかどうかチェックする(図39のステップ1096)。フラッシュメモリデバイスの当業者に公知のように、通常、APDE VERIFYプロセスでは、コアフラッシュメモリセルのアレイの列を流れる合計リーク電流を測定するため、一度に1つの列アドレスについて、APDE VERIFY状態がバックエンド状態機械によって実行される。
列アドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終の列アドレスを越えている場合、バックエンド状態機械316は、SACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの次のセクタの先頭の列アドレスにインクリメントさせる(図39のステップ1098)。そうでない場合、アドレスシーケンサ524が、コアフラッシュメモリセル304のアレイの先頭セクタの最終の列アドレスを越える列アドレスに達するまで、コアフラッシュメモリセル304のアレイの先頭セクタの後続する列アドレスのそれぞれについて、図39のステップ1092,1094,1096が繰り返される。
列アドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終の列アドレスを越えており、この結果、バックエンド状態機械316が、SACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの次のセクタの先頭の列アドレスにインクリメントさせると(図39のステップ1098)、BISTコントローラ502は、このアドレスがコアフラッシュメモリセル304のアレイの最終セクタを超えているかどうかチェックする(図39のステップ1100)。列アドレスがコアフラッシュメモリセル304のアレイの最終セクタを越えている場合、BISTモードが終了する。
そうでない場合、アドレスシーケンサ524が、コアフラッシュメモリセル304のアレイの最終セクタを越える列アドレスに達するまで、コアフラッシュメモリセル304のアレイの後続セクタのそれぞれについて、図39のステップ1088,1090,1092,1094,1096,1098,1100が繰り返される。図39のステップ1098で、図35の第4入力端子のSACLK信号(AUTOL、STEST、BEREXE、ADPE、およびBAPDE_OPTの各信号も同様)が論理ハイ状態に設定されていると、生成マッチ出力MATCHDが論理ロー状態に戻された状態にラッチされるため、本発明のこの実施形態では、ステップ1088,1090は、コアフラッシュメモリセルの各セクタの先頭の列アドレスにしか実行されない点に留意されたい。
しかし、コアフラッシュメモリセルのセクタ内の後続する列アドレスについては、図39のステップ1092のAPDE JUICE状態中に、生成マッチ出力MATCHDが論理ハイ状態に戻される。フラッシュメモリデバイスの当業者に公知のように、例えば、APDE JUICE状態の間、APDE電圧がフラッシュメモリセルのセクタ全体の各フラッシュメモリセルに印加されるため、ステップ1088,1090はコアフラッシュメモリセルの各セクタの先頭の列アドレスにしか実行されない。
図39のステップ1100で、列アドレスがコアフラッシュメモリセル304のアレイの最後のセクタを超えている場合、コアフラッシュメモリセルのアレイの全てのアドレスがAPDE検証されており、BISTモードが終了する。BAPDE_OPT信号が論理ハイ状態に設定されている図39のスタンドアロンAPDE(消去後の自動プログラムディスターブ)では、最初に図39のステップ1074,1076,1078,1080,1082,1084,1086でコアフラッシュメモリセル304のアレイのほぼ全体が消去検証され、次に、図39のステップ1088,1090,1092,1094,1096,1098,1100でコアフラッシュメモリセル304のアレイのほぼ全体がAPDE検証される。
これに対し、図40は、診断モードの呼び出し後に、バックエンド状態機械316が実行しようとしているBISTモードが、インターリーブAPDE(消去後の自動プログラムディスターブ)付きのコアフラッシュメモリセル304のアレイのフラッシュメモリセルの消去である場合に、図33のバックエンド状態機械316がとる状態を示すフローチャートである。このBISTモードの場合、BAPDE_OPT信号が論理ロー状態(「0」状態)に設定される。
図33,40を参照すると、外部試験システム318が、診断モードを呼び出すために所定のビットパターンを入力すると、診断モードが開始される(図40のステップ1102)。この場合、モードデコーダ962からのAUTOL信号が、論理ハイ状態(「1」状態)に設定される。さらに、図33を参照すると、診断モードの開始時に、現在のBISTモードを呼び出すためにユーザがBISTインタフェース312にデータを入力する。さらに、診断モードが呼び出されている場合、バックエンド状態機械316は、VERIFY状態中に、照合回路520の出力だけではなく信号セレクタ966からのMATCH信号を使用する。図34を参照すると、診断モードの呼び出し後に、バックエンド状態機械316が実行しようとしているBISTモードが、コアフラッシュメモリセル304のアレイのフラッシュメモリセルの消去の場合、BREAD信号が論理ロー状態(「0」状態)に設定される。このため、AUTOL信号が論理ハイ状態に設定されているため、図34の信号セレクタ966からのMATCH信号は、診断ロジック964からの生成マッチ出力MATCHDとなる。
図36を参照すると、診断モードの開始前に、AUTOL信号とラッチ1028のIRSTB信号とが論理ロー状態に設定され、この結果、生成マッチ出力MATCHDが論理ロー状態にラッチされる。このため、コアフラッシュメモリセル304のアレイのフラッシュメモリセルの消去を行うBISTモードの開始時には、生成マッチ出力MATCHDは、コアフラッシュメモリセル304のアレイの先頭セクタの先頭アドレスにおいて論理ロー状態(「0」状態)にラッチされている。図16を参照すると、図16を参照して本明細書に記載したように、コアフラッシュメモリセル304のアレイは、複数の水平セクタ602,604,606,608,610,612,614,616に分割されている。バックエンド状態機械316が第1の消去VERIFY状態に入ると、生成マッチ出力MATCHDは論理ロー状態(「0」状態)にラッチされ、このため、コアフラッシュメモリセルのアレイの先頭セクタの先頭アドレスの結果は不合格となる(図40のステップ1104)。
このように不合格となったため、バックエンド状態機械316は、消去JUICE状態に入る。図35を参照すると、消去JUICE状態中は、第11入力端子1050に供給されるAUTOL信号がモードデコーダ962によって論理ハイ状態に設定されるほか、第5入力端子1038に供給されるER信号、第10入力端子1048に供給されるJUICE信号、第8入力端子1044に供給されるSTEST信号、第6入力端子1040に供給されるBEREXE信号、および第1入力端子1030に供給されるERIP信号が、BISTコントローラ502によって論理ハイ状態に設定される。消去JUICE状態中は、ほかの信号(信号BAPDE_OPT、APDE、BACLK、SACLK、およびPGM)は、BISTコントローラ502によって論理ロー状態に設定される。このように、インターリーブAPDEのための消去JUICE状態中は、生成マッチ出力MATCHDは論理ロー状態(「0」状態)のまま保持される(図40のステップ1106)。
インターリーブAPDEの場合、消去JUICE状態後に第1のAPDE VERIFY状態に入る(図40のステップ1108)。MATCHDが論理ロー状態にラッチされたままであるため、第1のAPDE VERIFY状態は不合格となる。このように不合格となったため、APDE(消去後の自動プログラムディスターブ)JUICE状態に入る(図40のステップ1110)。図35を参照すると、APDE JUICE状態の間、AUTOL信号がモードデコーダ962によって論理ハイ状態に設定されるほか、APDE、JUICE、PGM、BEREXE、およびSTESTの各信号がBISTコントローラ502によって論理ハイ状態に設定される。APDE JUICE状態中は、ほかの信号(信号BAPDE_OPT、ERIP、ER、BACLK、およびSACLK)は、BISTコントローラ502によって論理ロー状態に設定される。このため、APDE JUICE状態中は、生成マッチ出力MATCHDが論理ハイ状態(「1」状態)に設定される(図40のステップ1110)。
APDE JUICE状態後に、BISTコントローラ502は、次のAPDE(消去後の自動プログラムディスターブ)VERIFY状態に入り、前のAPDE JUICE状態でマッチ出力MATCHDが論理ハイ状態(「1」状態)に設定されているため、コアフラッシュメモリセルのアレイの先頭セクタの先頭アドレスの結果は合格となる(図40のステップ1112)。このように合格となったため、図33を参照すると、バックエンド状態機械316は、BACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの先頭セクタの次の列アドレスにインクリメントさせる(図40のステップ1114)。
図35を参照すると、BACLK信号が論理ハイ状態に設定されていても、AUTOL、STEST、BEREXE、およびAPDEの各信号が論理ハイ状態に設定されているため、生成マッチ出力MATCHDは論理ハイ状態(「1」状態)にラッチされたままとなる。アドレスシーケンサ524がコアフラッシュメモリセル304のアレイの先頭セクタの次の列アドレスにインクリメントしたら、BISTコントローラ502は、この列アドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終の列アドレスを超えているかどうかチェックする(図40のステップ1116)。フラッシュメモリデバイスの当業者に公知のように、通常、APDE VERIFYプロセスでは、コアフラッシュメモリセルのアレイの列を流れる合計リーク電流を測定するため、一度に1つの列アドレスについて、APDE VERIFY状態がバックエンド状態機械によって実行される。
列アドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終の列アドレスを越えている場合、バックエンド状態機械316はアドレスシーケンサ524を制御して、最初に図40のステップ1104で第1のERASE検証状態が不合格となったコアフラッシュメモリセルの先頭セクタの先頭アドレスに戻させる(図40のステップ1118)。そうでない場合、アドレスシーケンサ524が、コアフラッシュメモリセル304のアレイの先頭セクタの最終の列アドレスを越える列アドレスに達するまで、コアフラッシュメモリセル304のアレイの先頭セクタの後続する列アドレスのそれぞれについて、図40のステップ1112,1114,1116が繰り返される。
列アドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終の列アドレスを越えている場合、バックエンド状態機械316は、アドレスシーケンサ524を制御して、最初に図40のステップ1104で第1のERASE検証状態が不合格となったコアフラッシュメモリセルの先頭セクタの先頭アドレスに戻させる(図40のステップ1118)。図35を参照すると、AUTOL、STEST、BEREXE、BACLK、およびERIPの各信号が論理ハイ状態に設定されているため、MATCHD信号は論理ハイ状態にラッチされる(図40のステップ1118)。
次に、MATCHD信号が論理ハイ状態にラッチされている状態で、コアフラッシュメモリセルの先頭セクタの先頭アドレスについて第2の消去VERIFY状態に入り(図40のステップ1120)、第2の消去VERIFY状態の結果は合格となる。このように合格となったため、図33を参照すると、バックエンド状態機械316は、BACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの先頭セクタの次のアドレスにインクリメントさせる(図40のステップ1122)。
図35を参照すると、BACLK信号が論理ハイ状態に設定されていても、AUTOL、STEST、BEREXE、およびERIPの各信号が論理ハイ状態に設定されているため、生成マッチ出力MATCHDは論理ハイ状態(「1」状態)にラッチされたままとなる。アドレスシーケンサ524がコアフラッシュメモリセル304のアレイの先頭セクタの次のアドレスにインクリメントしたら、BISTコントローラ502は、このアドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終アドレスを超えているかどうかチェックする(図40のステップ1124)。
アドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終アドレスを越えている場合、バックエンド状態機械316は、SACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの次のセクタの先頭アドレスにインクリメントさせる(図40のステップ1126)。そうでない場合、アドレスシーケンサ524が、コアフラッシュメモリセル304のアレイの先頭セクタの最終アドレスを越えるアドレスに達するまで、コアフラッシュメモリセル304のアレイの先頭セクタの後続するアドレスのそれぞれについて、図40のステップ1120,1122,1124が繰り返される。
アドレスがコアフラッシュメモリセル304のアレイの先頭セクタの最終アドレスを越えており、このため、バックエンド状態機械316が、SACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの次のセクタの先頭アドレスにインクリメントさせると(図40のステップ1126)、BISTコントローラ502は、このアドレスがコアフラッシュメモリセル304のアレイの最終セクタを超えているかどうかチェックする(図40のステップ1128)。アドレスがコアフラッシュメモリセル304のアレイの最終セクタを越えている場合、BISTモードが終了する。
そうでない場合、アドレスシーケンサ524が、コアフラッシュメモリセル304のアレイの最終セクタを越えるアドレスに達するまで、コアフラッシュメモリセル304のアレイの後続セクタのそれぞれについて、図40のステップ1104,1106,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128が繰り返される。図40のステップ1126で、図35の第4入力端子のSACLK信号が、AUTOL、STEST、BEREXE、およびERIPの各信号と同様に、論理ハイ状態に設定されている場合、生成マッチ出力MATCHDが論理ロー状態に戻された状態にラッチされるため、本発明のこの実施形態では、ステップ1104,1106,1108,1110は、コアフラッシュメモリセルの各セクタの先頭のアドレスにしか実行されない点に留意されたい。
しかし、コアフラッシュメモリセルのセクタの後続の各アドレスについては、図40のステップ1110のAPDE JUICE状態中に、生成マッチ出力MATCHDが論理ハイ状態に戻される。例えば、ERASE JUICE状態の間の時間は、例えば10ミリ秒など比較的長く、このため、セクタの各列アドレスにERASE JUICE状態を実行すると時間がかかってしまい望ましくないため、ステップ1104,1106,1108,1110はコアフラッシュメモリセルの各セクタの先頭アドレスにしか実行されない。
図40のステップ1128で、列アドレスがコアフラッシュメモリセル304のアレイの最終セクタを越えている場合、コアフラッシュメモリセルのアレイの全てのアドレスが消去検証およびAPDE検証されており、BISTモードが終了する。BAPDE_OPT信号が論理ロー状態に設定されている図40のインターリーブAPDE(消去後の自動プログラムディスターブ)では、コアフラッシュメモリセル304のアレイは、一度に1セクタずつ消去検証およびAPDE検証されている。これは、最初にコアフラッシュメモリセルのアレイのほぼ全体が消去検証されてから、次にコアフラッシュメモリセル304のアレイのほぼ全体がAPDE検証される図39のスタンドアロンAPDE(消去後の自動プログラムディスターブ)と対照的である。
図13を参照すると、診断モードの呼び出し後に、バックエンド状態機械316が実行しようとしているBISTモードが、スタンドアロンAPDE(消去後の自動プログラムディスターブ)またはインターリーブAPDEを伴うコアフラッシュメモリセル304のアレイのフラッシュメモリセルの消去である場合、プログラム/消去電圧源510からのノードなどの、バックエンド状態機械316の各種ノードが検査され得、図30または図40の諸ステップで、バックエンド状態機械316が機能しているかどうかが判定される。例えば、バックエンド状態機械316が機能している場合には、図39または図40で消去JUICE状態に入るたびに、図13のプログラム/消去電圧源510からのノードが、−9.5ボルトのワード線電圧を供給する。BISTモードが、コアフラッシュメモリセル304のアレイのフラッシュメモリセルの消去である場合に、図39または図40の諸ステップの間、図13のバックエンド状態機械316のノードがこのように検査されて、バックエンド状態機械316の機能が調べられる。
図34を参照すると、診断モードの呼び出し後に、バックエンド状態機械316が実行しようとしているBISTモードが、修復モードを呼び出さない、コアフラッシュメモリセルの各フラッシュメモリセルのプログラムもしくは消去済みのそれぞれの論理状態の読出しである場合、BISTインタフェース312によってBREAD信号が論理ハイ状態に設定されるが、BREP信号は論理ロー状態に設定される。この場合、信号セレクタ966からのMATCH信号は、論理ハイ状態に設定される。診断モードの呼び出し後に、バックエンド状態機械316が実行しようとしているBISTモードが、コアフラッシュメモリセルの各フラッシュメモリセルのプログラムもしくは消去済みのそれぞれの論理状態の読出しである場合、読出しVERIFY状態中(図18のステップ690,692)に信号セレクタ966からのMATCH信号を使用して、バックエンド状態機械316は、図18のフローチャートのステップをたどる。信号セレクタ966からのMATCH信号が論理ハイ状態に設定されているため、コアフラッシュメモリセルのアレイのほぼ全体の全てのアドレスについて、バックエンド状態機械316によって読出しVERIFY状態が実行され、結果は合格となる。
一方、BISTモードがどのようなモードであっても、修復ルーチンが呼び出される場合には、バックエンド状態機械316によってBREP信号が論理ハイ状態に設定される。この場合、図34を参照すると、信号セレクタ966からのMATCH信号は、診断照合ロジック964からの生成マッチ出力MATCHDによって決まる。図41は、診断モードの呼び出し後にバックエンド状態機械316が実行しようとしているBISTモードが、例えば、図23のフローチャートのように、修復ルーチンの呼び出しを伴う、コアフラッシュメモリセルの各フラッシュメモリセルのプログラムもしくは消去済みのそれぞれの論理状態の読出しである場合に、バックエンド状態機械316がとる状態を示すフローチャートである。
図33,41を参照すると、外部試験システム318が、診断モードを呼び出すために所定のビットパターンを入力すると、診断モードが開始される(図41のステップ1130)。この場合、モードデコーダ962からのAUTOL信号が、論理ハイ状態(「1」状態)に設定される。さらに、図33を参照すると、診断モードの開始時に、現在のBISTモードを呼び出すためにユーザがBISTインタフェース312にデータを入力する。さらに、診断モードが呼び出されている場合、バックエンド状態機械316は、どのVERIFY状態中も、照合回路520の出力だけではなく信号セレクタ966からのMATCH信号を使用する。図34を参照すると、修復ルーチンが呼び出されている場合、BREP信号が論理ハイ状態に設定されている。このため、AUTOL信号が論理ハイ状態に設定されているため、図34の信号セレクタ966からのMATCH信号は、診断ロジック964からの生成マッチ出力MATCHDとなる。
図36を参照すると、診断モードの開始前に、AUTOL信号とラッチ1028のIRSTB信号とが論理ロー状態に設定され、この結果、生成マッチ出力MATCHDが論理ロー状態にラッチされる。このように、このBISTモードの開始時に、生成マッチ出力MATCHDは、コアフラッシュメモリセル304のアレイの先頭アドレスにおいて論理ロー状態(「0」状態)にラッチされている。バックエンド状態機械316が第1の読出しVERIFY状態に入ると、生成マッチ出力MATCHDは論理ロー状態(「0」状態)にラッチされ、このため、コアフラッシュメモリセルのアレイの先頭セクタの先頭アドレスの結果は不合格となる(図41のステップ1132)。修復ルーチンが呼び出されているため、バックエンド状態機械316は第1のCAM(内容参照可能メモリ)VERIFY状態に入る。MATCHDが論理ロー状態(「0」状態)にラッチされているため、コアフラッシュメモリセルのアレイの先頭セクタの結果は不合格のままである(図41のステップ1134)。
第1のCAM VERIFY状態がこのように不合格となったため、図27を参照して本明細書に記載したような修復ルーチンにより、バックエンド状態機械316はCAM(内容参照可能メモリ)JUICE状態に入る。図35を参照すると、CAM JUICE状態中にPGM信号とJUICE信号が論理ハイ状態に設定され、このため、生成マッチ出力MATCHDが論理ハイ状態に設定される(図41のステップ1136)。次に、バックエンド状態機械316は第2のCAM(内容参照可能メモリ)VERIFY状態に入り、図41のステップ1136に示した前のCAM JUICE状態で生成マッチ出力MATCHDが論理ハイ状態にラッチされているため、結果は合格となる(図41のステップ1138)。
次に、バックエンド状態機械316は、reg_READ変数をチェックして、BISTモードがスタンドアロン読出しモードであるかどうかを判定する(図41のステップ1141)。スタンドアロン読出しモードは、フラッシュメモリデバイスの当業者に公知である。例えば、現在のBISTモードが、図23のフローチャートに示したBISTモードのような、コアフラッシュメモリセルにプログラム電圧または消去電圧を消去せずに、コアフラッシュメモリセルのアレイの各フラッシュメモリセルのそれぞれの論理状態を読出すスタンドアロン読出しモードである場合は、BISTシステム300のフロントエンドデコーダ314によってreg_READ変数が論理ハイ状態に設定されている。例えば図21のフローチャートに示したBISTモードなど、そうでない場合、reg_READ変数は論理ロー状態に設定されている。
reg_READ変数が論理ハイ状態に設定されており、BISTモードがスタンドアロン読出しモードである場合、バックエンド状態機械316は、BACLK信号を論理ハイ状態に設定して、現在のフラッシュメモリセルを含むコアフラッシュメモリセルの現在のブロックの先頭アドレスにアドレスシーケンサ524をリセットする(図41のステップ1144)。BACLK信号が論理ハイ状態に設定されていると、MATCHD信号が論理ロー状態に設定され、コアフラッシュメモリセルの現在のブロックの先頭アドレスにステップ1132,1134,1136,1138,1141,1144が再度繰り返される。このモードにおいては、BIST状態機械からの電源供給が遮断されるまで、ステップ1132,1134,1136,1138,1141,1144がこのループ内で無限に繰り返される。図13,26を参照すると、このループの間、バックエンド状態機械316の各種ノード、特にCAMプログラム電圧源838またはCAMマージン電圧源840からのノードのように、修復ルーチン中に使用される図26のコンポーネントのノードが検査され得、図41の諸ステップで、バックエンド状態機械316が機能しているかどうかが判定される。
あるいは、reg_READ変数が論理ロー状態に設定されており、BISTモードがスタンドアロン読出しモードではない場合、バックエンド状態機械316は、emb_READ変数によって、BISTモードがエンベデッド読出しであるかどうかをチェックする(図41のステップ1142)。例えば、emb_READ変数は、図15または図21のステップ584で論理ハイ状態に設定される。emb_READ変数が論理ハイ状態に設定されており、BISTモードがエンベデッド読出しモードである場合、バックエンド状態機械316は第2の読出しVERIFY状態に入り、生成マッチ出力MATCHDが論理ハイに状態にラッチされているため、結果は合格となる(図41のステップ1145)。一方、emb_READ変数が論理ロー状態に設定されており、BISTモードがエンベデッド読出しモードではない場合、修復ルーチンはこの修復ルーチンを呼び出した現在のBISTモードに戻るため、バックエンド状態機械316はプログラム状態、消去状態またはAPDE VERIFY状態に入る。この場合、生成マッチ出力MATCHDは論理ハイに状態にラッチされているため、結果は合格となる(図41のステップ1143)。
emb_READが論理ハイ状態、論理ロー状態のいずれに設定されている場合でも、バックエンド状態機械316は、次に、BACLK信号を論理ハイ状態に設定することで、アドレスシーケンサ524を制御して、コアフラッシュメモリセル304のアレイの次のアドレスにインクリメントさせる(図41のステップ1146)。BACLK信号が論理ハイ状態に設定されると、生成マッチ出力MATCHDが論理ロー状態(「0」状態)に戻される。アドレスシーケンサ524がコアフラッシュメモリセル304のアレイの次のアドレスにインクリメントしたら、BISTコントローラ502は、このアドレスがコアフラッシュメモリセル304のアレイの最終アドレスを超えているかどうかチェックする(図41のステップ1148)。アドレスがコアフラッシュメモリセル304のアレイの最終アドレスを越えている場合、BISTモードが終了する。そうでない場合、アドレスシーケンサ524が、コアフラッシュメモリセル304のアレイの最終アドレスを越えるアドレスに達するまで、コアフラッシュメモリセル304のアレイの後続するアドレスのそれぞれについて、図41のステップ1132,1134,1136,1138,1141、1142,1145,1146,1148が繰り返される。
図13,26を参照すると、バックエンド状態機械316の各種ノード、特にCAMプログラム電圧源838またはCAMマージン電圧源840からのノードのように、修復ルーチン中に使用される図26のコンポーネントのノードが検査され得、図41の諸ステップで、バックエンド状態機械316が機能しているかどうかが判定される。BISTモード中に修復ルーチンが呼び出されると、図13のバックエンド状態機械316の各種ノード、特に図41のステップの修復ルーチン中に使用される図26のコンポーネントがこのように検査されて、バックエンド状態機械316の機能が判定される。
このように、図38,39,40,41のBISTモードのいずれにおいても、コアフラッシュメモリセル304のアレイの機能とは独立している生成マッチ出力MATCHDをバックエンド状態機械316で使用することで、コアフラッシュメモリセル304のアレイの機能とは切り離して、バックエンド状態機械316の機能が判定される。このため、バックエンドBIST状態機械316をこのように切り離して試験することによって、BISTシステム300を使用したコアフラッシュメモリセル304のアレイの試験の精度が保証される。バックエンドBIST状態機械316の機能を保証するためのこのような試験によって、BISTシステム300による試験後にコアフラッシュメモリセル304のアレイが不良であると考えられる場合、この不良は、コアフラッシュメモリセル304のアレイの不良が原因であり、バックエンドBIST状態機械316の不良が原因ではないことを確認できる。
上記の記載は例に過ぎず、限定を意図するものではない。本明細書に記載もしくは図示した数値は例に過ぎない。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
F.BIST(組込み自己試験)システム内のアドレスシーケンサ
BIST(組込み自己試験)システム300は、複数のBIST(組込み自己試験)モードを実行し、各BISTモードはフラッシュメモリセル304のアレイをそれぞれのシーケンスで順行する。このため、BISTシステム300内のアドレスシーケンサが、複数のBISTモードのそれぞれのシーケンスで、フラッシュメモリセル304のアレイを能率よく順行することが求められている。
図42に、本発明の別の態様における、フラッシュメモリセル304のアレイが作製されている半導体ダイに作製されたアドレスシーケンサ1200のブロック図を示す。このアドレスシーケンサ1200は、例えば図13または図26のアドレスシーケンサ524に使用され得る。図7,33を参照すると、本発明の一態様によれば、アドレスシーケンサ1200は、BIST(組込み自己試験)システム300の一部として、フラッシュメモリセル304のアレイが作製されている半導体ダイに作製される。
図42を参照すると、アドレスシーケンサ1200は、アドレスシーケンサバッファ1202とアドレスシーケンサ制御ロジック1204とを有する。アドレスシーケンサバッファの各バッファ1202は、1ビットのデータを記憶し、データビットを記憶するためのバッファは電子工学の当業者に公知である。図42,43を参照すると、本発明の一実施形態では、アドレスシーケンサバッファ1202は、フラッシュメモリセル304のアレイの各フラッシュメモリセルのアドレスを指す20ビットを提供するために、20個のバッファを有する。
図43の例示的な実施形態を参照すると、アドレスシーケンサバッファ1202は、フラッシュメモリセル304のアレイの一フラッシュメモリセルのYアドレスを指している6個からなる第1のビット群A[5:0]を提供する6個からなる第1の複数個のバッファ1206を有する。フラッシュメモリデバイスの当業者に公知のように、Yアドレスはビット線アドレスであり、このフラッシュメモリセルが結合されているビット線を指しているまた、アドレスシーケンサバッファ1202は、フラッシュメモリセル304のアレイの一フラッシュメモリセルのXアドレスを指している9個からなる第2のビット群A[14:6]を提供する9個からなる第2の複数個のバッファ1208を有する。フラッシュメモリデバイスの当業者に公知のように、Xアドレスはワード線アドレスであり、このフラッシュメモリセルが結合されているワード線を指している。
さらに、アドレスシーケンサバッファ1202は、フラッシュメモリセル304のアレイの一フラッシュメモリセルのセクタアドレスを指している3個からなる第3のビット群A[17:15]を提供する3個からなる第3の複数個のバッファ1210を有する。フラッシュメモリデバイスの当業者に公知のように、フラッシュメモリセル304のアレイは複数のセクタに分割されており、セクタアドレスは、このフラッシュメモリセルが含まれるセクタを指している最後に、アドレスシーケンサバッファ1202は、フラッシュメモリセル304のアレイの一フラッシュメモリセルの冗長ブロックアドレスを指している2個からなる第4のビット群A[19:18]を提供する2個からなる第4の複数個のバッファ1212を有する。複数のセクタが冗長ブロックにまとめられており、各冗長ブロックは複数のセクタで構成される。冗長ブロックアドレスは、このフラッシュメモリセルが含まれる冗長ブロックを指している。
図42を参照すると、アドレスシーケンサ制御ロジック1204は、Y/Xアドレスセット/リセットロジック1214、Y/Xアドレス順行制御ロジック1216、CAM(内容参照可能メモリ)順行制御ロジック1218、OTP(ワンタイムプログラム可能)順行制御ロジック1220、および冗長順行制御ロジック1222を備える。アドレスシーケンサ制御ロジック1204は、BIST(組込み自己試験)インタフェース312、BISTフロントエンドインタフェースデコーダ314、BISTバックエンド状態機械316、冗長CAMロジック884、およびアドレスシーケンサバッファ1202に結合されており、これらから制御信号を入力する。BISTインタフェース312、BISTフロントエンドインタフェースデコーダ314、およびBISTバックエンド状態機械316は、図7を参照して本明細書に上記したものと構造および/または機能面で類似しており、冗長CAMロジック884は、図29を参照して本明細書に上記したものと構造および/または機能面で類似している。
図42を参照すると、アドレスシーケンサ制御ロジック1204は、現在のBIST(組込み自己試験)モードのために、BISTインタフェース312、BISTフロントエンドインタフェースデコーダ314、BISTバックエンド状態機械316、冗長CAMロジック884、およびアドレスシーケンサバッファ1202の少なくとも1つから制御信号を入力する。すると、アドレスシーケンサロジック1204は、複数のBIST(組込み自己試験)モードのそれぞれに対応しているこの制御信号に応じて、アドレスシーケンサバッファ1202を制御して、それぞれのアドレスのシーケンスを順行(sequence through)させる。
BIST(組込み自己試験)モードに対応するこの制御信号と、対応するアドレスシーケンスの例を以下に記載する。図44を参照すると、Y/Xアドレスセット/リセットロジック1214は、BISTフロントエンドインタフェースデコーダ314から、現在のBIST(組込み自己試験)モードの開始を知らせる制御信号を入力する。このとき、Y/Xアドレスセット/リセットロジック1214は、YACRST制御信号をアサートして、6個からなる第1のビット群A[5:0]が、フラッシュメモリセル304のアレイの先頭のYアドレスを指すように、第1の複数のアドレスシーケンサバッファ1206をリセットする。例えば、次のYアドレスに進むたびに、6個からなる第1のビット群A[5:0]が1ビットずつデクリメントされる場合には、先頭のYアドレスは、例えば「111111」のような全てハイに設定されたビット6個で構成され得る。
さらに、現在のBIST(組込み自己試験)モードの開始時に、Y/Xアドレスセット/リセットロジック1214は、XACRST制御信号をアサートして、9個からなる第2のビット群A[14:6]が、フラッシュメモリセル304のアレイの先頭のXアドレスを指すように、第2の複数のアドレスシーケンサバッファ1208をリセットする。例えば、次のXアドレスに進むたびに、9個からなる第2のビット群A[14:6]が1ビットずつデクリメントされる場合には、先頭のXアドレスは、例えば「111111111」のような全てハイに設定されたビット9個で構成され得る。
同様に、現在のBIST(組込み自己試験)モードの開始時に、Y/Xアドレスセット/リセットロジック1214は、SACRST制御信号をアサートして、3個からなる第3のビット群A[17:15]が、フラッシュメモリセル304のアレイの先頭のセクタアドレスを指すように、第3の複数のアドレスシーケンサバッファ1210をリセットする。例えば、次のセクタアドレスに進むたびに、3個からなる第3のビット群A[17:15]が1ビットずつデクリメントされる場合には、先頭のセクタアドレスは、例えば「111」のような全てハイに設定されたビット3個で構成され得る。
さらに、現在のBIST(組込み自己試験)モードの開始時に、Y/Xアドレスセット/リセットロジック1214は、RBACRST制御信号をアサートして、2個からなる第4のビット群A[19:18]が、フラッシュメモリセル304のアレイの先頭の冗長ブロックアドレスを指すように、第4の複数のアドレスシーケンサバッファ1212をリセットする。例えば、次の冗長ブロックアドレスに進むたびに、2個からなる第4のビット群A[19:18]が1ビットずつデクリメントされる場合には、先頭の冗長ブロックアドレスは、例えば「11」のような全てハイに設定されたビット2個で構成され得る。
図45を参照すると、本発明の別の実施形態では、Xアドレス用の第2の複数のアドレスシーケンサバッファ1208は、第1のXアドレスデコーダ1230と、第2のXアドレスデコーダ1232とに結合されている。第2の複数のアドレスシーケンサバッファ1208にある9個の第2のビット群は、このアドレスビットをデコードしてフラッシュメモリセルのアレイのワード線を選択するXアドレスデコーダ1230,1232に結合されている。このようなアドレスデコーダは、フラッシュメモリデバイスの当業者に公知である。本発明の一実施形態では、Xアドレスデコーダ1230,1232のレイアウトの効率を向上させるために、第2のXアドレスデコーダ1232は、フラッシュメモリデバイスのアレイが作製されている半導体ダイに、第1のXアドレスデコーダ1230の鏡像としてレイアウトされる。この場合、Y/Xアドレス順行制御ロジックは、第2のビット群のサブセットであるビットA[9:6]の順序を反転させて、フラッシュメモリセル304のアレイのワード線の順行が物理的に隣接して行なわれるようにする。
例えば、第1のXアドレスデコーダ1230が、ビットの順序が反転されていないサブセットビットA[9:6]を入力して、最初に1番目のワード線から16番目のワード線までフラッシュメモリセル304のアレイの一番上から順行する。第2のXアドレスデコーダ1232は、第1のXアドレスデコーダ1230の鏡像としてレイアウトされているため、第2のXアドレスデコーダ1232が、ビットの順序が反転されていないサブセットビットA[9:6]を入力すると、第2のXアドレスデコーダ1232は、フラッシュメモリセル304のアレイの一番下から、32番目のワード線から17番目のワード線まで順行してしまう。この場合、第1のXアドレスデコーダ1230が16番目のワード線まで順行した後に、第2のXアドレスデコーダ1232は32番目のワード線に移動してしまうため、最初に行われる第1のXアドレスデコーダによるワード線の順行と、続く第2のXアドレスデコーダ1232による順行とは物理的に隣接しなくなる。
しかし、サブセットビットA[9:6]の順序を反転させれば、最初に第1のXアドレスデコーダ1230が1番目のワード線から16番目のワード線までフラッシュメモリセル304のアレイの一番上から順行したのちに、第2のXアドレスデコーダ1232が、17番目のワード線から32番目のワード線まで順行し、この結果、第1のXアドレスデコーダ1230によるワード線の順行と、第2のXアドレスデコーダ1232によるワード線の順行とは物理的に隣接するようになる。隣接端ビット(adjacent significant bit)A[10]は、Y/Xアドレス順行制御ロジック1216に結合されている。第1のXアドレスデコーダ1230が、フラッシュメモリセル304のアレイの一番上から、1番目のワード線から16番目のワード線まで順行すると、隣接端ビットA[10]がトグルする。このため、隣接端ビットA[10]がトグルすると、Y/Xアドレス順行制御ロジック1216は、第2の複数のアドレスシーケンサバッファ1208を制御して、第2のXアドレスデコーダ1232が17番目のワード線から32番目のワード線まで順行するように、サブセットビットA[9:6]の順序を反転させる。
図46を参照すると、本発明の別の実施形態では、OTP順行制御ロジック1220は、BISTフロントエンドインタフェースデコーダ314から、現在のBIST(組込み自己試験)モードがOTP(ワンタイムプログラム可能)フラッシュメモリセルにアクセスするモードであることを知らせる制御信号を入力する。OTPフラッシュメモリセルは、フラッシュメモリセル304のアレイの一部であり、フラッシュメモリセル304のアレイに関する情報、例えば識別情報を記憶させるために通常は一度だけプログラムされる。ユーザは、BISTインタフェース312を介して、外部試験システム318からOTPフラッシュメモリセルにアクセスする。ユーザは、BISTインタフェース312のレジスタ1234にこのようなOTPフラッシュメモリセルのアドレスの1つを入力する。
図46の例では、ユーザが、BISTインタフェース312のレジスタ1234に、4つのデータビットBSRQ[6:3]を入力する。OTP順行制御ロジック1220が、BISTフロントエンドインタフェースデコーダ314から、現在のBIST(組込み自己試験)モードが、OTP(ワンタイムプログラム可能)フラッシュメモリセルにアクセスするモードであることを知らせる制御信号を入力すると、OTP順行制御ロジック1220は、パスゲート1236を制御して、サブセットビットA[4:1]を形成している第1の複数のアドレスシーケンサバッファ1206のサブセットを、BISTインタフェース312のレジスタ1234に結合させる。このため、BISTインタフェースのレジスタ1234の4つのデータビットBSRQ[6:3]が、第1のビット群A[5:0]のサブセットビットA[4:1]を形成している複数の第1の複数のアドレスシーケンサバッファ1206のサブセットに転送される。この場合、最上位ビットA[5]と最下位ビットA[0]は使用されず、OTP順行制御ロジック1220は、パスゲートを制御して、アドレスシーケンサバッファのビットA[5]とA[0]を負電源VSSに結合させる。このようにして、ユーザは、アクセスしようとしているOTPフラッシュメモリセルのアドレスを、外部試験システム318を介して指定する。
図42,47を参照すると、冗長順行制御ロジック1222は、冗長順行イネーブルロジック1240と最大列アドレスセレクタ1242とを備える。冗長順行イネーブルロジック1240は、BISTインタフェース312、BISTフロントエンドインタフェースデコーダ314および冗長CAMロジック884から制御信号を入力する。冗長順行イネーブルロジック1240は、この制御信号から、アドレスシーケンサバッファ1202が冗長フラッシュメモリセルを順行すべきかどうかを判定する。
図48を参照すると、図22を参照して本明細書に上記したように、フラッシュメモリセル304のアレイは、コアフラッシュメモリセル780と冗長フラッシュメモリセル782とを有する。コアフラッシュメモリセル780の列の順行中に、コアフラッシュメモリセルの最後の列1244の最後の列アドレス(すなわちYアドレス)に達すると、MAXCA_REG信号がアサートされる。冗長フラッシュメモリセル782の列の順行中に、冗長フラッシュメモリセルの最後の列1246の最後の列アドレス(すなわちYアドレス)に達すると、TGLO1信号がアサートされる。
冗長順行イネーブルロジック1240は、DIAG信号を生成する。この信号は、コアフラッシュメモリセル780のみを順行し、冗長フラッシュメモリセル782を順行しない場合には論理ハイ状態にアサートされ、コアフラッシュメモリセル780と共に冗長フラッシュメモリセル782も順行すべき場合は論理ロー状態に設定される。冗長順行イネーブルロジック1240は、下記の条件に該当する場合にDIAG信号を論理ハイ状態にアサートする。
(A)BISTフロントエンドインタフェースデコーダ314からの制御信号が、現在のBISTモードがコアフラッシュメモリセル780のアレイの対角プログラムモードであることを示す場合。
(B)BISTフロントエンドインタフェースデコーダ314からの制御信号が、現在のBISTモードがコアフラッシュメモリセル780のアレイの対角消去検証であることを示す場合。
(C)冗長CAMロジック884からのYCE[1]信号が論理ハイにアサートされており、使用可能な冗長フラッシュメモリセルの全てが、不良コアフラッシュメモリセルの修復に既に使用されていることを示す場合。
(D)BISTインタフェース312からの制御信号が、現在の試験モードがBIST(組み込み自己試験)モードではなく手動試験モードであることを示す場合。
上記に該当しない場合、順行イネーブルロジック1240はDIAG信号を論理ロー状態に設定する。
最大列アドレスセレクタ1242は、DIAG信号が論理ハイ状態、論理ロー状態のいずれに設定されているかに応じて、MAXCA_REG信号か、TGLO1信号とREDADD信号との論理積かの一方を、MAXCA信号として選択する。最大列アドレスセレクタ1242は、DIAG信号が論理ハイ状態にアサートされている場合には、MAXCA_REG信号をMAXCA信号として選択する。一方、最大列アドレスセレクタ1242は、DIAG信号が論理ロー状態に設定されている場合には、TGLO1信号とREDADD信号との論理積をMAXCA信号として選択する。
図49は、最大列アドレスセレクタ1242によって使用されるCLK信号1250などの信号のタイミング図である。図48,49を参照すると、CLK信号1250の第1の期間1251に、Yアドレス用の第1の複数のアドレスシーケンサバッファ1206内で、コアフラッシュメモリセル780の最後の列1244のアドレスに達すると、Y/Xアドレス順行制御ロジック1216によってMAXCA_REG信号1252がアサートされる。CLK信号の第1の期間の後の第2の期間1253の開始時に、冗長順行制御ロジック1222は、Yアドレス用の第1の複数のアドレスシーケンサバッファ1206を制御して、冗長フラッシュメモリセル782の列を順行させる。
本発明の一実施形態では、最下位の2ビットA[1:0]は、冗長フラッシュメモリセル782の列の順行に使用される。フラッシュメモリデバイスの一例では、フラッシュメモリセルの各冗長ブロックは、冗長要素にアクセスするための冗長I/O(入力/出力)を16個有する。この例では、各冗長要素はこの16個の冗長I/Oのうちの8個に対応付けられており、このため、各冗長ブロックは2つの冗長要素を有するさらに、冗長フラッシュメモリセルの4つの冗長列が、このI/Oのそれぞれに関連付けられている。このため、2ビットA[1:0]は、各I/Oに対する冗長フラッシュメモリセルのこの4つの冗長列の順行に使用される。
このように冗長フラッシュメモリセル782の列を順行している間は、REDADD信号1254は論理ハイ状態にアサートされている。REDADDが論理ハイ状態にアサートされている間は、次の4つのビット(four more siginifacnt bits)A[5:2]のトグルが禁止される。CLK信号1250の各期間に、最下位の2ビットA[1:0]が「11」、「10」、「01」、および「00」とデクリメントされ、冗長フラッシュメモリセル782の列を順行している間は、REDADDが論理ハイ状態にアサートされている。
図48,49を参照すると、CLK信号1250の第5の期間1257中に、冗長フラッシュメモリセル782の最後の列1246のアドレス「00」に第1の複数のアドレスシーケンサバッファ1206の最下位の2ビットA[1:0]が達すると、TGLO1信号1256が論理ハイ状態にアサートされる。REDADD信号1254は論理ハイ状態に保持されており、CLK信号1250の第5の期間1257の終了時に、最下位の2ビットA[1:0]が「11」に戻されると、REDADD信号1254が論理ロー状態に戻される。
図47,48,49を参照すると、DIAG信号が論理ハイ状態にアサートされている場合、最大列アドレスセレクタ1242は、前のCLK信号1250の第1の期間1251中にアサートされたMAXCA_REG信号をMAXCA信号として選択する。この場合、フラッシュメモリセル304の列の処理はコアフラッシュメモリセル780の最後の列1244で終了し、冗長フラッシュメモリセル782の列は処理されない。一方、DIAG信号が論理ロー状態に設定されている場合、最大列アドレスセレクタ1242は、TGLO1信号とREDADD信号との論理積をMAXCA信号として選択する。
このMAXCA信号1258は図49に示されており、第1の複数のアドレスシーケンサバッファ1206の最下位の2ビットA[1:0]が冗長フラッシュメモリセル782の列を一巡したら、CLK信号の第5の期間1257中に、MAXCA信号1258は論理ハイ状態にアサートされる。この場合、フラッシュメモリセル304の列の処理はコアフラッシュメモリセル780の最後の列1244で終了せず、冗長フラッシュメモリセル782の列も処理される。
図50を参照すると、本発明の別の実施形態では、Y/Xアドレス順行制御ロジック1216は、現在のBIST(組込み自己試験)モードが、フラッシュメモリセル304のアレイの各セクタについて、それぞれのWPCAM(書込み保護内容参照可能メモリ)を試験するモードであることを知らせる制御信号を、フロントエンドインタフェースデコーダ314から入力する。図51の表を参照すると、フラッシュメモリセル304のアレイの一例では、フラッシュメモリセル304のアレイは、32個のフラッシュメモリセルの64KB(キロバイト)セクタに分割されている。また、最後の64KB(キロバイト)セクタは、32KB(キロバイト)セクタであるサブセクタ#31、8KB(キロバイト)セクタであるサブセクタ#32、8KB(キロバイト)セクタであるサブセクタ#33、および16KB(キロバイト)セクタであるサブセクタ#34の4つのサブセクタにさらに分割されている。このセクタの前の、セクタ#0、セクタ#1、セクタ#2、、、セクタ#30の31個のセクタは、全て64KB(キロバイト)セクタである。
図50,51を参照すると、順行制御ロジック916が、現在のBIST(組込み自己試験)モードが、フラッシュメモリセル304のアレイの各セクタについて、それぞれのWPCAM(書込み保護内容参照可能メモリ)を試験するモードであることを知らせる制御信号を、フロントエンドインタフェースデコーダ314から入力すると、順行制御ロジック1216は、第3および第4の複数のアドレスシーケンサバッファ1210,1212のビットA[19:15]の順行を制御する。この場合、順行制御ロジック1216は、第2の複数のアドレスシーケンサバッファ1208のサブセットビットA[14:12]の順行も制御する。
図51の表の最後の列を参照すると、順行制御ロジック1216は、セクタ#34、セクタ#33、セクタ#32、およびセクタ#31にアクセスするために、第2の複数のアドレスシーケンサバッファ1208のサブセットを制御して、3ビットA[14:12]を順行させる。この3ビットA[14:12]は、セクタ#34に対応する「110」から、セクタ#33に対応する「101」、セクタ#32に対応する「100」、セクタ#31に対応する「011」まで順行される。3ビットA[14:12]のこの順行中は、5ビットA[19:15]はビットパターン「11111」に保持される。3ビットA[14:12]が「011」になり、セクタ#31に達したとき、ビットA[14]は論理ハイ状態「1」から論理ロー状態「0」にトグルしている。
この後、Y/Xアドレス順行制御ロジック1216は、第3および第4のアドレスシーケンサバッファ1210、1212を制御して、1ビットずつデクリメントさせ、セクタ#30、セクタ#29からセクタ#0まで順行させる。また、3ビットA[14:12]が「010」となり、セクタ#30がアクセスされると、ビットA[14]用のバッファがビットA[15]用のバッファから切り離され、残りの64キロバイトセクタ#30〜セクタ#0がアクセスされている間は、3ビットA[14:12]が「010」に固定されるように、Y/Xアドレス順行制御ロジック1216はビットA[12]用のバッファのトグルを禁止する。
このように、アドレスシーケンサバッファ1208の第2の複数のアドレスシーケンサのサブセットの3ビットA[14:12]を使用して、サブセクタ#34、#33、#32、および#31のアドレスが順行される。次に、サブセクタ#34、#33、#32、および#31を順行したら、3ビットA[14:12]が「010」に固定され、第3および第4のアドレスシーケンサバッファ1210,1212の5ビットA[19:15]が1ビットずつデクリメントされ、残りの64キロバイトセクタ#30〜セクタ#0が順行される。このため、31個の64キロバイトセクタ(#0〜#30)の順行中は、第2の複数のアドレスシーケンサバッファ908のサブセットの3ビットA[14:12]によって、サブセクタ#34、#33、#32、および#31が順行されることはない。
図52を参照すると、本発明の別の実施形態では、Y/Xアドレス順行制御ロジック1216が、現在のBIST(組込み自己試験)モードが、基準セルの組を消去トリミングするモードであることを知らせる制御信号を、フロントエンドインタフェースデコーダ314から入力する。図13を参照すると、図13を参照して本明細書に上記したように、基準フラッシュメモリセルは基準回路514内に存在し、比較器回路516が使用する基準電流レベルを供給する。本発明の一実施形態では、基準フラッシュメモリセルはERV(消去検証)基準セルを有し、このセルは、消去検証プロセス中の、フラッシュメモリセルが十分に消去されているかどうかの判定に使用される電流レベルを供給する。
このほか、RDV(読出し検証)基準セルは、読出し検証プロセスで使用される電流レベルを供給する。PGMV(プログラム検証)基準セルは、プログラム検証プロセス中の、フラッシュメモリセルが十分にプログラムされているかどうかの判定に使用される電流レベルを供給する。図51,53を参照すると、APDEV1基準セルは、小さいサブセクタ(すなわち図51のサブセクタ#31、#32、#33および#34)のAPDEV(消去検証後の自動プログラムディスターブ)プロセスで使用される電流レベルを供給する。一方、APDEV2基準セルは、APDEV1基準セルと共に、通常の64キロバイトセクタ(すなわち図51のセクタ#0〜#30)のAPDEV(消去検証後の自動プログラムディスターブ)プロセスで使用される電流レベルを供給する。このような基準セルとこのような検証プロセスは、フラッシュメモリデバイスの当業者に公知である。
図52を参照すると、Y/Xアドレス順行制御ロジック1216が、現在のBIST(組込み自己試験)モードが、基準セルの組をトリミングするモードであることを知らせる制御信号を、フロントエンドインタフェースデコーダ314から入力すると、Y/Xアドレス順行制御ロジック1216は、パスゲート1260を制御して、最下位の2ビットA[1:0]を記憶するために、BISTインタフェース312のレジスタ1234の2ビットBSRQ[10:9]と、第1の複数のアドレスシーケンサバッファ1206のサブセットとを結合させる。このとき、BISTインタフェース312のレジスタ1234の2ビットBSRQ[10:9]は、第1の複数のアドレスシーケンサバッファ1206の最下位の2ビットA[1:0]として転送される。ユーザは、外部試験システム318を介して、BISTインタフェース312のレジスタ1234の2ビットBSRQ[10:9]を入力する。
図53を参照すると、第1の複数のアドレスシーケンサバッファ1206の最下位の3ビットA[2:0]は、基準セルERV、RDV、PGMV、APDEV1、およびAPDEV2の順行に使用される。図53の表は、ERV、RDV、PGMV、APDEV1、およびAPDEV2の各基準セルのアドレスを表す最下位の3ビットA[2:0]のビットパターンの例を示す。図53の例では、最下位の3ビットA[2:0]について、ERV基準セルはビットパターン「111」によって表され、RDV基準セルはビットパターン「110」によって表され、PGMV基準セルはビットパターン「101」によって表され、APDEV1基準セルはビットパターン「100」によって表され、APDEV2基準セルはビットパターン「011」によって表される。
図54は、BIST(組込み自己試験)モードが基準セルの消去トリミングの場合のステップのフローチャートである。図54のフローチャートで、図15のフローチャートのステップと同じ参照符号が付されているステップは、図15を参照して本明細書に上記したものと同じである。図54を参照すると、START状態(図54のステップ552,554)の後、最下位の2ビットA[1:0]のビットパターンがチェックされる(図54のステップ1261)。ユーザが最下位の2ビットA[1:0]にビットパターン「11」を入力していない場合、プログラム電圧を使用して、基準セルRDV、PGMV、APDEV1、およびAPDEV2のうちの1つをトリミングするため、プログラムトリミングルーチンに入る(図54のステップ1262)。このようなプログラム基準トリミングルーチンは、フラッシュメモリデバイスの当業者に公知である。
一方、ユーザが、図54の消去トリミングルーチンを呼び出すために、最下位の2ビットA[1:0]にビットパターン「11」を入力したとする。この場合、最下位の3ビットA[2:0]のビットパターンは「111」であり、VERIFY1状態およびVERIFY2状態に入り、比較ステップ562でERV基準セルを流れる電流レベルが許容範囲に入っているかどうかが判定される。MATCHステップ562で、ERV基準セルを流れる電流レベルが許容範囲に入っておらず、かつ消去パルスがMAX_PC回印加されていない場合(図54のステップ564)、JUICE状態に入り(図54のステップ566,568)、基準セルERV、RDV、PGMV、APDEV1、およびAPDEV2の全てに消去パルスが印加される。このJUICE状態の間、第1の電圧レベルARVSS0の第1の消去パルスが、基準セルERV、RDV、およびPGMVに印加される一方で、第2の電圧レベルARVSS1の第2の消去パルスが、基準セルAPDEV1およびAPDEV2に印加される。
Pulse_CountがMAX_PCに達する前にERV基準セルを流れる電流レベルが許容範囲内に入るか、あるいはERV基準セルを流れる電流レベルが許容範囲に入らないままPulse_CountがMAX_PCに達するかのいずれかの状態になるまで、ステップ556,558,560,562,564,566,568が繰り返されて、Pulse_Countがインクリメントされる。ERV基準セルを流れる電流レベルが許容範囲に入らないままPulse_CountがMAX_PCに達した場合、HANG状態に入る(図54のステップ570,572)。この場合、現在の基準セルの消去トリミングは成功していない。
Pulse_CountがMAX_PCに達する前にERV基準セルを流れる電流レベルが許容範囲内に入った場合、現在の基準セルの消去トリミングは成功している。この場合、最下位の2ビットA[1:0]のビットパターンが再びチェックされる(図54のステップ1264)。最下位の2ビットA[1:0]のビットパターンが「01」の場合、PGMV基準セルが消去トリミングされている。そうでない場合、PGMV基準セルにまだ達していない。
この場合、最下位から3番目のビットA[2]がチェックされる(図54のステップ1266)。図53を参照すると、最下位から3番目のビットA[2]が論理ロー状態に達している場合、最後の基準セルAPDEV2に達している。この場合、ERV、RDV、PGMV、APDEV1、およびAPDEV2の各基準セルの消去トリミングが完了している。このため、第1のアドレスシーケンサバッファ1202および第2のアドレスシーケンサバッファ1204が先頭のYアドレスおよびXアドレスにリセットされ(図54のステップ1268)、プログラム電圧を使用してERV基準セルをトリミングするためにプログラムトリミングルーチンに入る(図54のステップ1270)。このような基準プログラムトリミングルーチンは、フラッシュメモリデバイスの当業者に公知である。
ステップ1266を再度参照すると、最下位から3番目のビットA[2]が論理ロー状態に達していない場合、最下位の3ビットA[2:0]が1ビットずつデクリメントされ(図54のステップ1272)、次の基準セルに移動していく。ERV基準セルが消去トリミングされると、最下位の3ビットA[2:0]が1ビットデクリメントされて「110」となり、ステップ556,558,560,562,564,566,568でRDV基準セルの消去トリミングが行われる。次に、RDV基準セルが消去トリミングされると、最下位の3ビットA[2:0]が1ビットデクリメントされて「101」となり、ステップ556,558,560,562,564,566,568でPGMV基準セルの消去トリミングが行われる。
図54のステップ1264を参照すると、PGMV基準セルが消去トリミングされると、最下位の2ビットA[1:0]のビットパターンは「01」となっている。この場合、今後行われるJUICE状態(図54のステップ566,568)中に基準セルERV、RDV、およびPGMVに消去パルスが印加されないように、第1の電圧レベルARVSS0の消去パルスが、基準セルERV、RDV、およびPGMVから分離される(図54のステップ1274)。電圧レベルARVSS1の消去パルスは基準セルAPDEV1およびAPDEV2にのみ結合および印加され、この時点で基準セルERV、RDV、およびPGMVは既に消去トリミングされているため、消去パルスが基準セルERV、RDV、およびPGMVに印加されることはない。
最下位の3ビットA[2:0]が「100」にデクリメントされると、ステップ556,558,560,562,564,566,568でAPDEV1基準セルが消去トリミングされ、このとき、JUICE状態で第2の電圧レベルARVSS1の消去パルスが基準セルAPDEV1およびAPDEV2のみに印加される(図54のステップ566,568)。APDEV1基準セルが消去トリミングされると、最下位の3ビットA[2:0]が1ビットデクリメントされて「011」となり、ステップ556,558,560,562,564,566,568でAPDEV2基準セルが消去トリミングされ、このとき、JUICE状態で第2の電圧レベルの消去パルス(ARVSS1)が基準セルAPDEV1およびAPDEV2のみに印加される(図54のステップ566,568)。APDEV2基準セルが消去トリミングされると、ステップ1266で最下位から3番目のビットA[2]がチェックされて、基準セルERV、RDV、PGMV、APDEV1およびAPDEV2を消去トリミングするルーチンが、図54のステップ1268,1270で終了する。
図55を参照すると、本発明の別の実施形態では、Y/Xアドレス順行制御ロジック1216が、制御信号XminmaxおよびYminmaxを、フロントエンドインタフェースデコーダ314から入力する。Xminmax制御信号が論理ハイ状態に設定され、Yminmax制御信号が論理ロー状態に設定されている場合、Y/Xアドレス順行制御ロジック1216は、Yアドレス用の第1の複数のアドレスシーケンサバッファ1206を制御して、Xアドレス用の第2の複数のアドレスシーケンサバッファ1208のあるワード線アドレスに対応する各ビット線アドレスを順行させてから、このワード線アドレスをインクリメントする。この場合、フラッシュメモリセルのある行(すなわちワード線)に対応する各ビット線アドレスのフラッシュメモリセルを処理してから、フラッシュメモリセルの次の行に移動する。
一方、Xminmax制御信号が論理ロー状態に設定され、Yminmax制御信号が論理ハイ状態に設定されている場合、Y/Xアドレス順行制御ロジック1216は、Xアドレス用の第2の複数のアドレスシーケンサバッファ1208を制御して、Yアドレス用の第1の複数のアドレスシーケンサバッファ1206のあるビット線アドレスに対応する各ワード線アドレスを順行させてから、このビット線アドレスをインクリメントする。この場合、フラッシュメモリセルのある列(すなわちビット線)に対応する各ワード線アドレスのフラッシュメモリセルを処理してから、フラッシュメモリセルの次の列に移動する。この制御信号XminmaxおよびYminmaxにより、異なるBIST(組込み自己試験)モードのために、フラッシュメモリセルの行および列の処理の順序を柔軟に設定することができるようになる。
図56を参照すると、本発明の別の実施形態では、Y/Xアドレス順行制御ロジック1216が、現在のBIST(組込み自己試験)モードがフラッシュメモリセルのチェッカーボードプログラムであることを知らせる制御信号を、フロントエンドインタフェースデコーダ314から入力する。フラッシュメモリデバイスの当業者に公知のように、このチェッカーボードBISTモードでは、フラッシュメモリセルが交互にアクセスされる。このため、Y/Xアドレス順行制御ロジック1216が、現在のBIST(組込み自己試験)モードがチェッカーボードBISTモードであることを知らせる制御信号を、フロントエンドインタフェースデコーダ314から入力すると、Y/Xアドレス順行制御ロジック1216は、第1の複数のアドレスシーケンサバッファ1206を制御して、Yアドレスを2ずつインクリメントするために、5ビットのサブセットA[5:1]のみをトグルさせる。このため、チェッカーボードBISTモードでは、フラッシュメモリセルのある行について最下位ビットA[0]がトグルされず、フラッシュメモリセルの1つの行の内のフラッシュメモリセルが1つおきにアクセスされてプログラムされる。
ただし、最下位ビットA[0]は、第2の複数のアドレスシーケンサバッファ1208のビットA[14:6]がインクリメントされるときに1回トグルされる。最初に一度トグルされたら、Yアドレスを2つずつインクリメントして、フラッシュメモリセルの1つの行内のフラッシュメモリセルに1つおきにアクセスするように、残りのビットA[5:1]のみがトグルされるため、最下位ビットA[0]はトグルされない。Xアドレス用のビットA[14:6]がインクリメントされるときに、最下位ビットA[0]が最初に1回トグルされることで、フラッシュメモリセルの1つの列内でフラッシュメモリセルが1つおきにアクセスされるようになる。
図57を参照すると、本発明の別の実施形態では、Y/Xアドレス順行制御ロジック1216は、現在のBIST(組込み自己試験)モードがフラッシュメモリセルの対角のプログラム検証または消去検証であることを示す制御信号を、フロントエンドインタフェースデコーダ314から入力する。この対角BISTモードでは、フラッシュメモリセルのセクタの対角位置のフラッシュメモリセルのみアクセスされる。対角位置とは、行番号と列番号とが等しい位置のことである。図58を参照すると、セクタの例1280は、第1のサブセクタ1282、第2のサブセクタ1284、第3のサブセクタ1286、第4のサブセクタ1288、第5のサブセクタ1290、第6のサブセクタ1292、第7のサブセクタ1294、および第8つのサブセクタ1296の8つのサブセクタを有する。8つのサブセクタ1282,1284,1286,1288,1290,1292,1294,1296のそれぞれは、フラッシュメモリセルの行数および列数が等しく、この8つのサブセクタがそれぞれ対角線(図58に破線で示す)を有する。
図58の8つのサブセクタのうちの1つのサブセクタの対角線上のフラッシュメモリセルのアドレスは、YアドレスビットA[5:0]とXアドレスビットA[14:6]の両方を1ビットデクリメントすることで順行される。対角位置の各フラッシュメモリセルにアクセスするため、YアドレスビットA[5:0]の6ビットとXアドレスビットA[11:6]の最下位の6ビットの両方が1ビットデクリメントされることに留意されたい。この場合、8つのサブセクタ1282,1284,1286,1288,1290,1292,1294,1296のそれぞれを順行するため、Xアドレスの最上位の3ビットA[14:12]がデクリメントされる。このため、8つのサブセクタ1282,1284,1286,1288,1290,1292,1294,1296を1つずつ通っているフラッシュメモリセルの8本の対角線(図58に破線で示す)がこのようにアクセスされる。
この場合、YアドレスA[5:0]の6ビットが、先頭のYアドレス(6個の論理ハイビット「111111」)に初期化され、XアドレスA[14,6]の9ビットも先頭のXアドレス(9個の論理ハイビット「111111111」)に初期化される。次に、対角プログラム検証または対角消去検証が成功するたびにアドレスシーケンサのクロックサイクルが発生し、そのたびに、YアドレスA[5:0]が1ビットずつデクリメントされると共にXアドレスA[14:6]も1ビットずつデクリメントされる。YアドレスA[5:0]の6ビットが6個の論理ロービット「000000」に達し、かつXアドレスAの最下位の6ビット[11:6]が6個の論理ロービット「000000」に達すると、図58の8つのサブセクタのうちの1つの対角位置の全てのフラッシュメモリセルがアクセスされている。
この時点で、YアドレスA[5:0]の6ビットは論理ハイビット「111111」に戻され、Xアドレスの最下位の6ビットA[11:6]も論理ハイビット「111111」に戻されると共に、Xアドレスの最上位の3ビットA[14:12]が1ビットデクリメントされ、サブセクタ1282,1284,1286,1288,1290,1292,1294,1296のうちの次のサブセクタの対角位置のフラッシュメモリセルが順行される。このように、6個のYアドレスA[5:0]と9個のXアドレスA[14:6]をそれぞれ「111111」、「111111111」に初期化して、対角プログラム検証または対角消去検証が成功するたびに発生するアドレスシーケンサのクロックサイクルのたびに、6個のYアドレスA[5:0]と9個のXアドレスA[14:6]の両方を1ビットずつデクリメントしていき、それぞれが6個の論理ロービット「000000」、9個の論理ロービット「000000000」に達すると、8つのサブセクタ1282,1284,1286,1288,1290,1292,1294,1296のそれぞれを通る全8本の対角線上のフラッシュメモリセルがアクセスされる。
このように、各BISTモードについて、アドレスフラッシュメモリセル304のアレイのアドレスの順行が、アドレスシーケンサ制御ロジック1204とアドレスシーケンサバッファ1202によってオンチップに実行される。このため、外部試験システム318のピンは、フラッシュメモリセル304のアレイのアドレスのこのような順行に使用されない。使用する外部試験システムのピン数をこのように最小限に減らすことで、総ピン数の限られた外部試験システムによってより多くの半導体ダイを同時に試験および修復することができ、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。また、アドレスフラッシュメモリセルのアレイのこのようなアドレスの順行がオンチップに実行されるため、このアドレス順行の実行速度が外部試験システムの処理能力によって制約されない。このように、このようなフラッシュメモリセルのアレイのアドレスの順行は、複数のBISTモードに対してより効率的であり得る。
上記の記載は例に過ぎず、限定を意図するものではない。本明細書に記載もしくは図示した数値は例に過ぎない。さらに、図42〜58の個々のコンポーネントのそれぞれの実装は、電子工学の当業者に公知である。例えば、電子工学の当業者に公知のように、Y/Xアドレスセット/リセットロジック1214、Y/Xアドレス順行制御ロジック1216、CAM順行制御ロジック1218、OTP順行制御ロジック1220、および冗長順行制御ロジック1222を備えたアドレスシーケンサ制御ロジック1204は、例えば本明細書に記載した機能を実行するプログラマブルロジックデバイスなどのデータ処理装置によって実装することができる。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
G.BIST(組込み自己試験)システムのパターン生成器
複数のBISTモードのそれぞれに対し、コアフラッシュメモリセルのアレイのプログラム状態および消去状態の所望のビットパターンを能率的に生成するためのメカニズムが求められている。従来技術では、このような所望のビットパターンは、メモリデバイスに記憶されている。しかし、BISTモードの数が多い場合、複数のBISTモードのそれぞれについて対応する所望のビットパターンを記憶すると、そのメモリデバイスのために半導体ダイの面積を大きくしなければならない場合があり、望ましくない。
図59を参照すると、本発明の別の態様では、各BISTモードの所望のビットパターンを生成するシステム1300は、複数のパターン生成ロジックユニット1302とパターンセレクタ1304とを備える。図13,59を参照すると、図59のアドレスシーケンサ524、状態機械316のバックエンドBISTコントローラ502、照合回路520、およびフラッシュメモリセル304のアレイは、本明細書に上記した、図13の同じ参照符号を付されたブロックと機能および構造面で類似している。さらに、本発明の一実施形態によれば、パターン生成ロジックユニット1302およびパターンセレクタ1304は、図13のビットパターン生成器518に含まれる。
複数のパターン生成ロジックユニット1302は、フラッシュメモリセル304のアレイの各フラッシュメモリセルの個々の位置の、それぞれのXアドレスとそれぞれのYアドレスとをアドレスシーケンサ524から入力する。複数のパターン生成ロジックユニット1302は、このXアドレスとYアドレスとを使用して、複数のビットパターンを生成する。パターンセレクタ1304は、バックエンド状態機械316のバックエンドBISTコントローラ502から制御信号を入力すると共に、複数のパターン生成ロジックユニット1302から複数のビットパターンを入力する。パターンセレクタ1304は、バックエンドBISTコントローラ502からの制御信号に応じて、複数のパターン生成ロジックユニット1302からの複数のビットパターンのうちの1つを、所望のビットパターンとして選択する。
照合回路520は、パターンセレクタ1304に結合されており、パターンセレクタ1304から所望のビットパターンを入力する。本明細書に上記したように、照合回路520は、現在のBISTモードのVERIFY状態中に、パターンセレクタ1304からの所望のビットパターンと、フラッシュメモリセル304のアレイの測定ビットパターンとを比較して、合否結果を示すために、この比較の結果をバックエンドBISTコントローラ502に送信する。本発明の一態様によれば、複数のパターン生成ロジックユニット1302とパターンセレクタ1304とは、フラッシュメモリセル304のアレイが作製されている半導体ダイに作製される。
図60を参照すると、1つの例では、パターン生成ロジックユニット1302は、プログラムパターン生成ロジックユニット1306、消去パターン生成ロジックユニット1308、対角パターン生成ロジックユニット1310、およびチェッカーボードパターン生成ロジックユニット1312を備える。各パターン生成ロジックユニット1306,1308,1310,1312は、フラッシュメモリセル304のアレイの各フラッシュメモリセルの個々の位置に対応する個々の論理状態を、それぞれ出力として生成する。プログラムパターン生成ロジックユニット1306は、フラッシュメモリセル304のアレイ内のフラッシュメモリセルの各位置に対して論理ロー状態(「0」状態)を生成し、消去パターン生成ロジックユニット1308は、フラッシュメモリセル304のアレイ内のフラッシュメモリセルの各位置に対して論理ハイ状態(「1」状態)を生成する。
対角パターン生成ロジックユニット1310は、フラッシュメモリセル304のアレイの各対角位置のみに論理ロー状態(「0」状態)を生成して、対角ビットパターンを生成する。対角パターン生成ロジックユニット1310は、アドレスシーケンサ524によって生成された、フラッシュメモリセルの個々の位置を示すXアドレスのA11,A10,A9,A8,A7,A6の6ビットと、YアドレスのA5,A4,A3,A2,A1,A0の6ビットとを入力し、所望の対角ビットパターンに従って、フラッシュメモリセルのこの個々の位置のそれぞれの論理状態を生成する。
チェッカーボードパターン生成ロジックユニット1312は、フラッシュメモリセル304のアレイのフラッシュメモリセルの2つの隣接する任意の位置に対して、論理ローと論理ハイ状態とを交互に生成して、チェッカーボードビットパターンを生成する。チェッカーボードパターン生成ロジックユニット1312は、所望のチェッカーボードビットパターンに従ってフラッシュメモリセルの個々の位置のそれぞれの論理状態を生成するために、Xアドレスの最下位ビットA6とYアドレスの最下位ビットA0とを、アドレスシーケンサ524から入力する。
図61に、対角パターン生成ロジックユニット1310の実装例を示し、この例は、第1排他的ORゲート1314、第2排他的ORゲート1316、第3排他的ORゲート1318、第4排他的ORゲート1320、第5排他的ORゲート1322、第6排他的ORゲート1324、およびORゲート1326を備える。第1排他的ORゲート1314は、Xアドレスの最下位ビットA6とYアドレスの最下位ビットA0とを入力する。第2排他的ORゲート1316は、Xアドレスの最下位から2番目のビットA7と、Yアドレスの最下位から2番目のビットA1とを入力する。第3排他的ORゲート1318は、Xアドレスの最下位から3番目のビットA8と、Yアドレスの最下位から3番目のビットA2とを入力する。
同様に、第4排他的ORゲート1320は、Xアドレスの最下位から4番目のビットA9と、Yアドレスの最下位から4番目のビットA3とを入力する。第5排他的ORゲート1322は、Xアドレスの最下位から5番目のビットA10と、Yアドレスの最下位から5番目のビットA4とを入力する。第6排他的ORゲート1324は、Xアドレスの最上位ビットA11と、Yアドレスの最上位ビットA5とを入力する。ORゲート1326は、排他的ORゲート1314,1316,1318,1320,1322,1324の各出力を入力する。このため、対角パターン生成ロジックユニット1310のそれぞれの出力は、以下の式によって表される。
出力=(A0□A6)+(A1□A7)+(A2□A8)+(A3□A9)+(A4□A10)+(A5□A11)
ここで、記号「□」は排他的論理和関数を、記号「+」は論理和関数を表す。図62に、排他的ORゲート1330を備えたチェッカーボードパターン生成ロジックユニット1312の実装例を示す。図62の排他的ORゲート1330は、Xアドレスの最下位ビットA6とYアドレスの最下位ビットA0とを入力する。このため、対角パターン生成ロジックユニット1310のそれぞれの出力は、以下の式によって表される。
出力=A0□A6
ここで、記号「□」は排他的論理和関数を表す。
図63に、4行4列のフラッシュメモリセルを有するフラッシュメモリセル304のアレイの例を示す。フラッシュメモリセルのアレイは、通常はこれより遙かに多くのフラッシュメモリセルの行および列を有する。しかし、説明をわかりやすくするために、図63には、4行4列のフラッシュメモリセルのアレイを示す。第1行第1列のフラッシュメモリセルの位置を「a1」とし、第1行第2列を「a2」とし、第1行第3列を「a3」とし、第1行第4列を「a4」とする。第2行第1列のフラッシュメモリセルの位置を「b1」とし、第2行第2列を「b2」とし、第2行第3列を「b3」とし、第2行第4列を「b4」とする。第3行第1列のフラッシュメモリセルの位置を「c1」とし、第3行第2列を「c2」とし、第3行第3列を「c3」とし、第3行第4列を「c4」とする。第4行第1列のフラッシュメモリセルの位置を「d1」とし、第4行第2列を「d2」とし、第4行第3列を「d3」とし、第4行第4列を「d4」とする。
図64を参照すると、現在のBISTモードがフラッシュメモリセル304のアレイの各フラッシュメモリセルのプログラムである場合、所望のビットパターンは、フラッシュメモリセル304のアレイの各位置を論理ロー状態「0」に設定したパターンとなる。図65を参照すると、現在のBISTモードがフラッシュメモリセル304のアレイの各フラッシュメモリセルの消去である場合、所望のビットパターンは、フラッシュメモリセル304のアレイの各位置を論理ハイ状態「1」に設定したパターンとなる。
図66を参照すると、現在のBISTモードがフラッシュメモリセル304のアレイのチェッカーボードプログラムである場合、所望のビットパターンは、フラッシュメモリセル304のアレイの2つの任意の隣接するフラッシュメモリセルを、論理ロー「0」状態と論理ハイ状態「1」に交互に設定したパターンとなる。図67を参照すると、現在のBISTモードがフラッシュメモリセル304のアレイの対角プログラムである場合、所望のビットパターンは、フラッシュメモリセル304のアレイの対角線に位置するフラッシュメモリセルのみを論理ロー状態「0」に設定したパターンとなる。
図60,64を参照すると、図64の所望のビットパターンを生成するために、フラッシュメモリセル304のアレイのどの位置も論理ロー状態「0」に設定したプログラムパターン生成ロジックユニット1306の出力が選択される。論理ロー状態「0」に常にラッチされている論理回路は、電子工学の当業者に公知である。あるいは、図60,65を参照すると、図65の所望のビットパターンを生成するために、フラッシュメモリセル304のアレイのどの位置も論理ハイ状態「1」に設定した消去パターン生成ロジックユニット1308の出力が選択される。論理ハイ状態「1」に常にラッチされている論理回路は、電子工学の当業者に公知である。
図60,61,67を参照すると、図67の所望の対角ビットパターンを作成するために、対角パターン生成ロジックユニット1310の出力が使用される。図68は、図63のフラッシュメモリセルのアレイの各位置の、それぞれのXアドレスおよびYアドレスを示す表の例である。「a1」で示す第1行第1列のフラッシュメモリセルの位置では、Xアドレスの6ビット(A11,A10,A9,A8,A7,A6)が「111111」であり、Yアドレスの6ビット(A5,A4,A3,A2,A1,A0)が「111111」である点に留意されたい。Xアドレスはフラッシュメモリセルの列位置を示し、Yアドレスはフラッシュメモリセルの行位置を示す。図68では、同じ行内の2つの任意の隣接するフラッシュメモリセルをみると、Xアドレスが、同じ行内で左から右に1ビットずつデクリメントされている。同様に、同じ列内の2つの任意の隣接するフラッシュメモリセルをみると、Yアドレスが、同じ列内で上から下に1ビットずつデクリメントされている。図61の対角パターン生成ロジックユニット1310の実装では、このようにアドレスを指定して、図67の所望の対角ビットパターンを生成する。
図60,62,66を参照すると、図66の所望のチェッカーボードビットパターンを生成するために、チェッカーボードパターン生成ロジックユニット1312の出力が使用される。図62のチェッカーボードパターン生成ロジックユニット1312の実装では、図68の表のようにアドレスを指定して、図66の所望のチェッカーボードビットパターンを生成する。
図69に、図60のパターン生成ロジックユニット1306,1308,1310,1312にそれぞれ結合されたマルチプレクサ1336を有するパターンセレクタ1304の実装例を示す。マルチプレクサ1336は、各パターン生成ロジックユニット1306,1308,1310,1312のそれぞれの出力を入力する。さらに、マルチプレクサ1336は、バックエンドBISTコントローラ502から、「プログラム検証」、「消去検証」、「対角検証」、および「チェッカーボード検証」の制御信号を入力する。
バックエンドBISTコントローラ502は、現在のBISTモードの種類に応じて、「プログラム検証」、「消去検証」、「対角検証」、および「チェッカーボード検証」の制御信号のうちの1つをアサートする。現在のBISTモードがフラッシュメモリセル304のアレイの各フラッシュメモリセルのプログラムである場合、BISTコントローラ502は「プログラム検証」制御信号をアサートする。現在のBISTモードがフラッシュメモリセル304のアレイの各フラッシュメモリセルの消去である場合、BISTコントローラ502は「消去検証」制御信号をアサートする。現在のBISTモードがフラッシュメモリセル304のアレイのチェッカーボードプログラムである場合、BISTコントローラ502は「チェッカーボード検証」制御信号をアサートする。現在のBISTモードがフラッシュメモリセル304のアレイの対角プログラムである場合、BISTコントローラ502は「対角検証」制御信号をアサートする。
マルチプレクサ1336は、パターン生成ロジックユニット1306,1308,1310,1312のそれぞれの出力のうちの1つを、フラッシュメモリセル304のアレイのフラッシュメモリセルの各位置の所望のビットパターンを生成するための選択出力として選択する。「プログラム検証」制御信号がアサートされている場合、マルチプレクサ1336は、プログラムパターン生成ロジックユニット1306から出力される論理ロー状態「0」を、フラッシュメモリセルの位置に対する選択出力として選択する。「消去検証」制御信号がアサートされている場合、マルチプレクサ1336は、消去パターン生成ロジックユニット1308から出力される論理ハイ状態「1」を、フラッシュメモリセルの位置に対する選択出力として選択する。
一方、「対角検証」制御信号がアサートされている場合、マルチプレクサ1336は、対角パターン生成ロジックユニット1310から出力される対角ビットパターンを、フラッシュメモリセルの位置に対する選択出力として選択する。同様に、「チェッカーボード検証」制御信号がアサートされている場合、マルチプレクサ1336は、チェッカーボードパターン生成ロジックユニット1312から出力されるチェッカーボードビットパターンを、フラッシュメモリセルの位置に対する選択出力として選択する。
通常、BISTモード中のVERIFY状態は、「プログラム検証」、「消去検証」、「対角検証」または「チェッカーボード検証」のいずれか1つに分類することができる。このように、フラッシュメモリセル304のアレイをオンチップで試験するために、VERIFY状態中にBIST(組込み自己試験)システムが使用する所望のビットパターンが、同じくオンチップに作製されているパターン生成ロジックユニット1306,1308,1310,1312によって生成される。パターンセレクタ1304は、現在のBISTモードに従って、パターン生成ロジックユニット1306,1308,1310,1312の出力の中から適切な出力を1つ選択する。所望のビットパターンを生成するためのこのようなメカニズムでは、フラッシュメモリセル304のアレイのオンチップ試験時に複数のBISTモードを実行するための所望のビットパターンを記憶する大容量の記憶装置が必要ない。
上記の記載は例に過ぎず、限定を意図するものではない。例えば、本発明を、より多くの所望のビットを生成するために、パターン生成ロジックユニット1306,1308,1310,1312の数が多い場合に実施してもよい。さらに、本発明は、より大きなフラッシュメモリセルのアレイに実施してもよい。本明細書に記載もしくは図示した数値は例に過ぎない。
H.効率的な消去検証BIST(組込み自己試験)モードのためのオンチップ消去パルスカウンタ
さらに、BIST(組み込み自己試験)のモードの1つに、フラッシュメモリセルのコアアレイの各フラッシュメモリセルが適切に消去されているかどうかを試験する消去検証BISTモードがある。このような消去検証BISTモードでは、フラッシュメモリセルに消去パルスを印加した回数が最大値に達する前に、アレイの各フラッシュメモリセルを適切なレベル(フラッシュメモリセルを流れる電流量によって示される)に消去する必要がある。
消去検証プロセスでは、フラッシュメモリセルに消去電圧の消去パルスを印加して、次に、そのフラッシュメモリセルに読出し電圧を印加しながら、そのフラッシュメモリセルを流れる電流レベルを測定する。フラッシュメモリセルを流れる電流レベルは、そのフラッシュメモリセルが消去検証に合格(し、適切に消去されたとみなされる)するためには基準電流レベル以上である必要がある。フラッシュメモリセルへの消去電圧の消去パルスの印加は、フラッシュメモリセルを流れる電流レベルが基準電流レベル以上となるまで、数回にわたって繰り返し行われる。しかし、フラッシュメモリセルが消去検証BISTモードに合格するためには、フラッシュメモリセルに消去パルスを印加した回数が最大値に達する前に、フラッシュメモリセルを流れる電流レベルが基準電流レベル以上にならなければならない。そうでない場合、そのフラッシュメモリセルは不良であるとみなされる。
フラッシュメモリデバイスの当業者に公知のように、フラッシュメモリセルのアレイは複数のフラッシュメモリセルのセクタに分割されている。図70に、4行4列のフラッシュメモリセルのセクタの例1400を示す。フラッシュメモリセルのセクタの行数、列数は通常はこれより遙かに多いが、説明を簡単にするために、図70には4行4列のセクタの例1400に示す。
フラッシュメモリセルを消去するための消去電圧の消去パルスは、フラッシュメモリセルのセクタの全フラッシュメモリセルに一度に印加される。図70を参照すると、対角位置(すなわち、図70にA1、B2、C3、D4で示す位置)のフラッシュメモリセルが最初に消去検証される。対角位置の各フラッシュメモリセルの消去検証中は、フラッシュメモリセルのセクタ1400の全フラッシュメモリセルに消去パルスが印加される。
まず、対角位置にあるフラッシュメモリセルの各フラッシュメモリセルが消去検証に合格するために、フラッシュメモリセルのセクタ1400に印加する必要のある消去パルス数の対角の合計を求める。次に、フラッシュメモリセルのセクタ1400全体の消去検証中に、フラッシュメモリセルのセクタ1400に印加することができる最大パルス数として、消去パルス数対角合計の選択百分率(selected percentage)を求める。フラッシュメモリセルのセクタ1400に消去パルス数対角合計を印加して、対角位置のフラッシュメモリセルが消去検証に合格したら、セクタ全体(図70のA1、A2、A3、A4、B1、B2、B3、B4、C1、C2、C3、C4、D1、D2、D3、およびD4で示す位置)の各フラッシュメモリセルが消去検証に合格する必要があり、その後、セクタ1400が消去検証BISTモードに合格するために、セクタ1400に消去パルス数対角合計の選択百分率をさらに印加する。そうでない場合は、フラッシュメモリセルのセクタ400は、消去検証BISTモードに不合格であるとみなされる。
従来技術では、外部試験システムが、消去検証試験モード中にフラッシュメモリセルのセクタ1400に印加した消去パルス数を追跡している。しかし、外部試験システムが行う、消去検証試験モード中にフラッシュメモリセルのセクタ1400に印加した消去パルス数の追跡は、外部試験システムの能力によっては遅いことがある。このため、消去検証BISTモード中にフラッシュメモリセルのセクタ1400に印加した消去パルス数を追跡するための効率的なメカニズムが求められている。
図7,70を参照すると、本発明の別の実施形態では、消去検証BIST(組込み自己試験)中に印加した消去パルス数を追跡するシステム1402は、フラッシュメモリセル304のアレイが作製されている半導体ダイに作製される。システム1402は、消去パルスカウンタ1404、クロック発生器1406、およびパルスカウンタコントローラ1408を備える(図71の破線内に示す)。パルスカウンタコントローラ1408は、BISTインタフェース312とBIST状態機械316に結合されている。BISTインタフェース312とBIST状態機械316とは、図7を参照して本明細書で既に説明している。
本発明の一実施形態では、消去パルスカウンタ1404は、クロック発生器1406が生成する少なくとも1つのパルスによって、2進数のカウントをインクリメントする2進カウンタである。2進カウンタは、電子工学の当業者に公知である。BIST状態機械316は、制御信号を生成して、フラッシュメモリセルのセクタ1400に消去パルスが印加されたことを通知する。BIST状態機械316が、JUICE状態中にフラッシュメモリセルのセクタ1400に消去パルスが印加されたことを示す制御信号を生成すると、パルスカウンタコントローラ1408は、クロック発生器1406を制御して、2つの重複しないクロック信号パルスERCLK1およびERCLK2を生成させる。クロック信号パルスを生成するためのクロック信号発生器は、電子工学の当業者に公知である。クロック発生器1406が2つの重複しないクロック信号パルスERCLK1およびERCLK2を生成すると、消去パルスカウンタ1404は2進数のカウントをインクリメントする。このため、消去パルスカウンタ1404は、フラッシュメモリセルのセクタ1400に消去電圧の消去パルスが印加されるたびに、2進数のカウントをインクリメントする。
図72を参照すると、パルスカウンタコントローラ1408内の各種コンポーネントは破線内に示しており、クロック制御ロジック1412、リセットロジック1413、最大パルスカウントデコーダ1414、再ロードロジック1416、マルチプレクサ1418、補数発生器1420のほか、2による除算再ロードカウント値発生器1422、4による除算再ロードカウント値発生器1424、および8による除算再ロードカウント値発生器1426の複数の再ロードカウント値発生器が含まれる。図73は、消去検証BISTモード中に印加される消去パルス数を追跡するための、図72のシステムの動作時のステップのフローチャートである。
図72,73を参照すると、リセットロジック1413は、消去検証BIST(組込み自己試験)モードの開始を通知する制御信号を、BIST状態機械316から入力する。リセットロジック1413が、消去検証BIST(組込み自己試験)モードの開始を示す制御信号をBIST状態機械316から受け取ると、リセットロジック1413は、消去パルスカウンタ1404を初期ゼロパルスカウントにリセットする(図73のステップ1429)。例えば消去パルスカウンタが6ビットのカウンタの場合、初期ゼロパルスカウントは、例えば「000000」であり得る。
図70,72を参照すると、BIST状態機械316は、最初にフラッシュメモリセルのセクタ1400の対角位置(図70にA1、B2、C3、およびD4で示す位置)の各フラッシュメモリセルを消去検証して、消去検証BISTモードを実行する。フラッシュメモリデバイスの当業者に公知のように、消去検証プロセスでは、フラッシュメモリセルに消去電圧の消去パルスを印加して、次にそのフラッシュメモリセルに読出し電圧を印加しながら、そのフラッシュメモリセルを流れる電流レベルを測定する。フラッシュメモリデバイスの当業者に公知のように、フラッシュメモリセルを流れる電流レベルは、そのフラッシュメモリセルが消去検証に合格(し、適切に消去されたとみなされる)するためには、基準電流レベル以上である必要がある。フラッシュメモリセルへの消去電圧の消去パルスの印加は、フラッシュメモリセルを流れる電流レベルが基準電流レベル以上となるまで、数回にわたって繰り返し行われる。
フラッシュメモリセルを消去するための消去電圧の消去パルスは、フラッシュメモリセルのセクタ1400の全フラッシュメモリセルに一度に印加される。対角位置の各フラッシュメモリセルの消去検証中は、フラッシュメモリセルのセクタ1400の全フラッシュメモリセルに消去パルスが印加される。
対角のフラッシュメモリセルの消去検証中に、フラッシュメモリセルのセクタ1400の各フラッシュメモリセルに消去パルスが印加されるたびに、BIST状態機械316は制御信号を送信する。対角のフラッシュメモリセルの消去検証中に、BIST状態機械316がフラッシュメモリセルのセクタ1400の各フラッシュメモリセルに消去パルスが印加されたことを示す制御信号を送信するたびに、クロック制御ロジック1412は、クロック発生器1406を制御して、2つの重複しないクロック信号パルスERCLK1およびERCLK2を生成させる。クロック発生器1406が2つの重複しないクロック信号パルスERCLK1およびERCLK2を生成するたびに、消去パルスカウンタ1404は2進数のカウントをインクリメントする。このため、対角のフラッシュメモリセルの消去検証中に、消去パルスカウンタ1404は、フラッシュメモリセルのセクタ1400に消去電圧の消去パルスが印加されるたびに、2進数のカウントをインクリメントする(図73のステップ1430)。
このようして、対角検証の終了に達すると、消去パルスカウンタ1404は、各対角フラッシュメモリセルが消去検証に合格するために、フラッシュメモリセルのセクタ1400に印加する必要がある消去パルス数対角合計をカウントする(図73のステップ1430〜1434)。さらに、最大パルスカウントデコーダ1414は、対角検証中に、消去パルスカウンタ1404から消去パルス数対角合計を表す2進数のカウントを入力して、消去パルス数対角合計が最大パルスカウント値(Max_PC)に達した(すなわち等しくなった)かどうかを判定する(図73のステップ1432)。
図73のステップ1434の対角検証の終了前に消去パルス数対角合計が最大パルスカウント値(Max_PC)に達した場合(図73のステップ1432)、消去パルス数対角合計は最大パルスカウント値(Max_PC)に設定され、図73のステップ1438で処理が続行される。一方、図73のステップ1434の対角検証の終了までに合計消去パルスが最大パルスカウント値(Max_PC)に達しない場合(図73のステップ1432)、図73のフローチャートのステップはステップ1438で続行され、このとき、消去パルス数対角合計は消去パルスカウンタ1404によってカウントされた値となる。
いずれの場合も、消去パルス数対角合計を求めてから、フラッシュメモリセルのセクタ1400全体を消去検証する。再ロードロジック1416と最大パルスカウントデコーダ1414は、フラッシュメモリセルのセクタ全体(図70のA1、A2、A3、A4、B1、B2、B3、B4、C1、C2、C3、C4、D1、D2、D3、およびD4で示す位置)の消去検証のために、フラッシュメモリセルのセクタ1400に印加すべき消去パルス数対角合計の選択百分率を入力する。この消去パルス数対角合計の選択百分率は、BISTインタフェース312を介してユーザによって指定される。
補数発生器1420は、消去パルス数対角合計のバイナリのビットパターンを入力して、このビットパターンの2進補数を生成する。図73のステップ1434の対角検証の終了前に、図73のステップ1432で消去パルス数対角合計が最大パルスカウント数の値(Max_PC)に達した場合、消去パルス数対角合計は最大パルスカウント値(Max_PC)に設定されている。一方、図73のステップ1434の対角検証の終了までに、図73のステップ1432で消去パルス数対角合計が最大パルスカウント数の値(Max_PC)に達しない場合、消去パルス数対角合計は、消去パルスカウンタ1404によってカウントされた値となる。2進補数は、消去パルス数対角合計のビットパターンの論理ハイ状態(「1」)を論理ロー状態(「0」)に変え、論理ロー状態(「0」)を論理ハイ状態(「1」)に変えて生成される。このような補数発生器は、電子工学の当業者に公知である。
本発明の一実施形態では、最大パルスカウント値Max_PCは2−1で表され、消去パルスカウンタはmビットのカウンタである。例えば、説明を簡単にするために、Max_PCが63(2−1で表される)であり、mが6であると仮定する。この場合、消去パルスカウンタ1404は、6ビットの2進カウンタである。
図72,73をさらに参照すると、複数の再ロードカウント値発生器1422,1424,1426は、最大パルスカウント値Max_PCから消去パルス数対角合計のそれぞれの百分率を引いた値である再ロードカウント値をそれぞれ生成する。2による除算再ロードカウント値発生器1422は、消去パルス数対角合計の補数を最下位ビットのほうに1ビットシフトしてから、最上位ビットに論理ハイのビットを加算して、Max_PCから消去パルス数対角合計の50%を引いた値である第1の再ロードカウント値を生成する。
さらに、4による除算再ロードカウント値発生器1424は、消去パルス数対角合計の補数を最下位ビットのほうに2ビットシフトしてから、最上位の2ビットに論理ハイのビットをそれぞれ加算して、Max_PCから消去パルス数対角合計の25%を引いた値である第2の再ロードカウント値を生成する。8による除算再ロードカウント値発生器1426は、消去パルス数対角合計の補数を最下位ビットのほうに3ビットシフトしてから、最上位の3ビットに論理ハイのビットをそれぞれ加算して、Max_PCから消去パルス数対角合計の12.5%を引いた値である第3の再ロードカウント値を生成する。
例を挙げるため、Max_PCが63であり、消去パルスカウンタ1404が6ビットの2進カウンタである例で、消去パルス数対角合計が40であり、この消去パルス数対角合計のバイナリのビットパターンが「101000」であるとさらに想定する。この場合、消去パルス数対角合計の補数は「010111」となる。2による除算再ロードカウント値発生器1422の出力は「101011」となり、この値は、消去パルス数対角合計の補数(本例では「010111」)を最下位ビットのほうに1ビットシフトしてから、最上位ビットに論理ハイのビットを加算して生成される。2による除算再ロードカウント値発生器1422からの第1の再ロードカウント値は、Max_PC値(63)から消去パルス数対角合計の50%(40の50%は20)を引いた43となる。
同様に、4による除算再ロードカウント値発生器1424の出力は「110101」となり、この値は、消去パルス数対角合計の補数(本例では「010111」)を最下位ビットのほうに2ビットシフトしてから、最上位の2ビットに論理ハイのビットをそれぞれ加算して生成される。4による除算再ロードカウント値発生器1424からの第2の再ロードカウント値は、Max_PC値(63)から消去パルス数対角合計の25%(40の25%は10)を引いた53となる。
さらに、8による除算再ロードカウント値発生器1426の出力は「111010」となり、この値は、消去パルス数対角合計の補数(本例では「010111」)を最下位ビットのほうに3ビットシフトしてから、最上位の3ビットに論理ハイのビットをそれぞれ加算して生成される。8による除算再ロードカウント値発生器1426からの第3の再ロードカウント値は、Max_PC値(63)から消去パルス数対角合計の12.5%(40の12.5%は5)を引いた58となる。
再ロードロジック1416は、マルチプレクサ1418を制御して、再ロードカウント値発生器1422,1424,1426からの第1、第2および第3の再ロードカウント値のうちの1つを、パルスカウンタ1404にロードする選択再ロードカウント値として選択させる。選択再ロードカウント値は、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率に応じて、第1、第2および第3の再ロードカウント値から1つ選択される。
BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が、再ロードカウント値発生器1422,1424,1426に対応する百分率のうちの1つと等しい場合、その再ロードカウント値発生器からの再ロードカウント値が、選択再ロードカウント値となる。例えば、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が50%である場合、マルチプレクサ1418からの選択再ロードカウント値は、2による除算再ロードカウント値発生器1422からの第1の再ロードカウント値となる。または、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が25%である場合、マルチプレクサ1418からの選択再ロードカウント値は、4による除算再ロードカウント値発生器1424からの第2の再ロードカウント値となる。あるいは、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が12.5%である場合、マルチプレクサ1418からの選択再ロードカウント値は、8による除算再ロードカウント値発生器1426からの第3の再ロードカウント値となる。
一方、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が、再ロードカウント値発生器1422,1424,1426のどの百分率とも異なる場合、選択再ロードカウント値は、再ロードカウント値発生器1422,1424,1426のうち、その百分率が、ユーザが入力した消去パルス数対角合計の選択百分率未満の再ロードカウント値発生器のものとなる。例えば、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が75%である場合、再ロードロジック1416は、マルチプレクサ1418を制御して、2による除算再ロードカウント値発生器1422からの第1の再ロードカウント値か、4による除算再ロードカウント値発生器1424からの第2の再ロードカウント値のうちの1つから、選択再ロードカウント値を選択させる。
いずれの場合も、フラッシュメモリセルのセクタ1400の対角の各フラッシュメモリセルを消去検証して、消去パルス数対角合計を求めたら、フラッシュメモリセルのセクタ1400全体を消去検証する。フラッシュメモリセルのセクタ1400全体の消去検証の開始前に、マルチプレクサからの選択再ロードカウント値が、消去パルスカウンタ1404にロードされる。次に、フラッシュメモリセルのセクタ全体の消去検証中に、フラッシュメモリセルのセクタ1400全体を消去検証するため、セクタ1400の各フラッシュメモリセルに消去パルスが印加されるたびに、BIST状態機械316は制御信号を送信する。フラッシュメモリセルのセクタ全体の消去検証中に、BIST状態機械316がフラッシュメモリセルのセクタ1400の各フラッシュメモリセルに消去パルスが印加されたことを示す制御信号を送信するたびに、クロック制御ロジック1412は、クロック発生器1406を制御して、2つの重複しないクロック信号パルスERCLK1およびERCLK2を生成させる。
クロック発生器1406が2つの重複しないクロック信号パルスERCLK1およびERCLK2を生成するたびに、消去パルスカウンタ1404は2進数のカウントをインクリメントする。このため、フラッシュメモリセルのセクタ全体の消去検証中に、消去パルスカウンタ1404は、フラッシュメモリセルのセクタ1400に消去電圧の消去パルスが印加されるたびに、2進数のカウントをインクリメントする(図73のステップ1440)。しかし、消去パルスカウンタ1404は、フラッシュメモリセルのセクタ1400全体の消去検証では、フラッシュメモリセルのセクタ全体の消去検証の開始前に消去パルスカウンタにロードした選択再ロードカウント値を始点にインクリメントする。
フラッシュメモリセルのセクタ全体の消去検証中に、最大パルスカウントデコーダ1414は、消去パルスカウンタ1404から2進数のカウントを入力して、消去パルスカウンタ1404のカウントが最大パルスカウント(Max_PC)に達しているかどうかを判定する(図73のステップ1442)。消去パルスカウンタ1404からの2進数のカウントが最大パルスカウント(Max_PC)に達した場合、最大パルスカウントデコーダ1414は、消去パルスカウンタ1404のカウントが最大パルスカウント(Max_PC)に達したことを通知する制御信号をBIST状態機械316に生成する。
フラッシュメモリセルのセクタ1400全体が消去検証に合格し、セクタ1400に印加した消去パルスのカウントが最大パルスカウント(Max_PC)に達する前にセクタ1400の終端に達した場合(図73のステップ1444)、このセクタ1400は消去検証BISTモードに合格し(図73のステップ1446)、消去検証BISTモードが終了する。一方、消去パルスカウンタ1404からのカウントが示すセクタ1400に印加した消去パルスのカウントが、最大パルスカウント(Max_PC)に達した場合(図73のステップ1442)、最大パルスカウントデコーダ1414は、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が、フラッシュメモリセルのセクタ全体の消去検証中にセクタ1400に印加されているかどうかを判定する(図73のステップ1452)。BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が、再ロードカウント値発生器1422,1424,1426に対応する百分率のうちの1つと等しい場合には、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が、フラッシュメモリセルのセクタ全体の消去検証中にセクタ1400に印加されている。
例えば、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が50%である場合、マルチプレクサ1418からの選択再ロードカウント値は、2による除算再ロードカウント値発生器1422からの第1の再ロードカウント値となる。このため、消去パルスカウンタ1404からのカウントが示す、セクタ1400に印加した消去パルスのカウントが最大パルスカウント(Max_PC)に達する(図73のステップ1442)までには、フラッシュメモリセルのセクタ全体の消去検証中に、消去パルス数対角合計の50%がフラッシュメモリセルのセクタ1400に印加されており、このため、消去パルス数対角合計の選択百分率(すなわち50%)がセクタ1400に印加されている。
または、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が25%である場合、マルチプレクサ1418からの選択再ロードカウント値は、4による除算再ロードカウント値発生器1424からの第2の再ロードカウント値となる。このため、消去パルスカウンタ1404からのカウントが示す、セクタ1400に印加した消去パルスのカウントが最大パルスカウント(Max_PC)に達する(図73のステップ1442)までには、フラッシュメモリセルのセクタ全体の消去検証中に、消去パルス数対角合計の25%がフラッシュメモリセルのセクタ1400に印加されており、このため、消去パルス数対角合計の選択百分率(すなわち25%)がセクタ1400に印加されている。
あるいは、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が12.5%である場合、マルチプレクサ1418からの選択再ロードカウント値は、8による除算再ロードカウント値発生器1426からの第3の再ロードカウント値となる。このため、消去パルスカウンタ1404からのカウントが示す、セクタ1400に印加した消去パルスのカウントが最大パルスカウント(Max_PC)に達する(図73のステップ1442)までには、フラッシュメモリセルのセクタ全体の消去検証中に、消去パルス数対角合計の12.5%がフラッシュメモリセルのセクタ1400に印加されており、このため、消去パルス数対角合計の選択百分率(すなわち12.5%)がセクタ1400に印加されている。
図73のステップ1442で最大パルスカウント(Max_PC)に達しており、かつフラッシュメモリセルのセクタ全体の消去検証中にBISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率がセクタ1400に既に印加されている場合(図73のステップ1452)、フラッシュメモリセルのセクタ1400が、消去検証BISTモードに不合格であるとみなされる(図73のステップ1454)。この場合、消去検証BISTモードを終了しても、あるいは修復ルーチンを開始してもよい(本明細書に上記)。
一方、図73のステップ1442で最大パルスカウント(Max_PC)に達しており、かつフラッシュメモリセルのセクタ全体の消去検証中にBISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率がセクタ1400にまだ印加されていない場合(図73のステップ1452)、最大パルスカウントデコーダ1414は再ロードロジック1416に再ロード制御信号を送信し、この結果、再ロードロジック1416がマルチプレクサを制御して、再ロードカウント値発生器1422,1424,1426からの再ロードカウント値から別の再ロードカウント値を1つ選択させる(図73のステップ1456)。この別の選択再ロードカウント値が消去パルスカウンタ1404にロードされると、フラッシュメモリセルのセクタ1400全体の消去検証が続行される。
再ロードカウント値発生器1422,1424,1426からの再ロードカウント値の1つから、マルチプレクサ1418が選択する別の選択再ロードカウント値は、以前の選択再ロードカウント値の百分率と、この別の選択再ロードカウント値の百分率とを加算すると、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率となるような値とである。例えば、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が75%である場合、2による除算再ロードカウント値発生器1422の百分率(50%)と、4による除算再ロードカウント値発生器1424の百分率(25%)とを加算すると、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率(75%)となる。
この場合、図73の前のステップ1438で、2による除算再ロードカウント値発生器1422からの第1の再ロードカウント値が選択再ロードカウント値としてマルチプレクサ1418によって選択され、図73のステップ1456に達したときの、図73のステップ1456の別の選択再ロードカウント値は、4による除算再ロードカウント値発生器1424からの第2の再ロードカウント値となる。再ロードロジック1416がマルチプレクサ1418を制御して、4による除算再ロードカウント値発生器1424からの第2の再ロードカウント値を選択させると、消去パルスカウンタは、この新しく選択した再ロードカウント値をロードする。
次に、図73のフローチャートはステップ1440に戻り、フラッシュメモリセルのセクタ1400全体の消去検証を続行するために、ステップ1440,1442,1444,1446,1452,1454および/または1456が繰り返される。しかし、今回のステップの繰り返しでは、消去パルスカウンタは、新たに選択した再ロードカウント値(この例では、4による除算再ロードカウント値発生器1424からの第2の再ロードカウント値)を始点にインクリメントする。今回のステップの繰り返しでも、フラッシュメモリセルのセクタ1400全体のそれぞれが消去検証に合格し、セクタ1400に印加した消去パルスのカウントが最大パルスカウント(Max_PC)に達する前にセクタ1400の終端に達した場合(図73のステップ1444)、このセクタ1400は消去検証BISTモードに合格し(図73のステップ1446)、消去検証BISTモードが終了する。
しかし、図73のステップ1442で最大パルスカウント(Max_PC)に達した場合、最大パルスカウントデコーダ1414は、BISTインタフェース312を介してユーザが入力した消去パルス数対角合計の選択百分率が、フラッシュメモリセルのセクタ全体の消去検証中にセクタ1400に印加されているかどうかを判定する(図73のステップ1452)。消去パルス数対角合計の選択百分率が75%である先の例では、今回パルスカウンタ1404によるカウントがMax_PC値に達している場合、対角の合計の選択百分率がセクタ1400に印加されている。ステップ1440,1442,1444,1446,1452,1454および/または1456の前回のサイクルでは、2による除算再ロードカウント値発生器1422からの第1の再ロードカウント値が消去パルスカウンタ1404にロードされて、Max_PC値に達し、この結果、消去パルス数対角合計の50%がセクタ1400に印加されている。次に、ステップ1440,1442,1444,1446,1452,1454および/または1456の今回のサイクルでは、4による除算再ロードカウント値発生器1424からの第2の再ロードカウント値が消去パルスカウンタ1404にロードされて、Max_PC値に達し、この結果、消去パルス数対角合計の25%がセクタ1400に印加されている。このため、合計75%の消去パルス数対角合計がセクタ1400に印加されている。
このように、再ロードロジック1416と最大パルスカウントデコーダ1414は、BISTインタフェース312を介してユーザが入力した、どのような対角合計パルス数の選択百分率が、複数の再ロードカウント値発生器1422,1424,1426のそれぞれの百分率の組み合わせであれば、どのような選択百分率でも追跡できる。例えば、複数の再ロードカウント値発生器1422,1424,1426の百分率はそれぞれ50%、25%、および12.5%であるため、BISTインタフェース312を介してユーザが入力する選択百分率は、75%、62.5%、50%、37.5%、25%または12.5%のいずれか1つであり得る。このため、消去検証(組込み自己試験)BISTモード中に、フラッシュメモリセルのセクタ1400に印加された消去パルス数を追跡するためのシステム1402により、フラッシュメモリセルのセクタ全体の消去検証中に印加する消去パルス数対角合計を、複数個柔軟に使用できるようになる。
さらに、複数の再ロードカウント値発生器1422の再ロードカウント値発生器を増やして、生成する百分率を増やすことができる。特に、1/16、1/32、1/64など、1/2で表される分数(「n」はゼロを超える正の整数)の百分率を任意に生成することができ、有利である。さらに、BISTインタフェース312を介してユーザが入力する消去パルス数対角合計の選択百分率は、再ロードカウント値発生器のそれぞれの百分率を任意に組合せたものであってよく、組み合わせる複数の再ロードカウント値発生器の再ロードカウント値の数はいくつであってもよい。例えば、消去パルス数対角合計の選択百分率が75%であり、再ロードが50%と25%の2つのみの例を記載した。しかし、選択百分率に入れる再ロードの数は3、4などであってもよい。
さらに、消去検証BISTモード中にフラッシュメモリセルのセクタ1400に印加した消去パルス数の追跡がオンチップで実行される。消去検証BISTモード中にフラッシュメモリセルのセクタ1400に印加した消去パルス数の追跡がオンチップで実行されるため、消去検証BISTモードの実行速度が外部試験システムの処理能力によって制約されない。このため、消去検証BISTモード中にフラッシュメモリセルのセクタ1400に印加した消去パルス数をより効率的に追跡することができる。
上記の記載は例に過ぎず、限定を意図するものではない。本明細書に記載もしくは図示した数値は例に過ぎない。さらに、パルスカウンタコントローラ1408の各コンポーネント1412,1413、1414,1416,1418,1420,1422,1424,1426は、例えばハードウェアロジックによって実装したり、データプロセッサ内のソフトウェアプログラムによって実装するなど、電子工学の当業者に公知の各種手段で実装され得る。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
I.フラッシュメモリデバイスのCAM部分の試験中のマージニング電圧のオンチップ生成
図4を参照すると、半導体ウェハ220は、このウェハに作製されている複数の半導体ダイを有する。図4の半導体ウェハ220の正方形領域のそれぞれが1つの半導体ダイである。図4は見やすくするため半導体ダイの数を少なく図示しているが、通常はこれより遙かに多くの半導体ダイが半導体ウェハに作製される。各半導体ダイは、例えばその半導体ダイに作製されたフラッシュメモリデバイスを有する。図74を参照すると、半導体ダイの例1465は、コアフラッシュメモリセルのアレイを有するフラッシュメモリデバイス1466を備えて示される。図4の各半導体ダイは、コアフラッシュメモリセルのアレイを有するフラッシュメモリデバイスをそれぞれ有する。このようなフラッシュメモリセルのアレイを有するフラッシュメモリデバイスは、電子工学術の当業者に公知である。
さらに、電子工学の当業者に公知のように、半導体ダイ1464は、コアフラッシュメモリセル1466のアレイの動作を制御するための論理回路を有する周辺領域1468を有する。CAM(内容参照可能メモリ)1470は、通常は周辺領域1468の一部である。CAM1470は、コアフラッシュメモリセル1466のアレイが正常に動作するように、コアフラッシュメモリセル1466のアレイに関する様々な種類の情報を記憶している。例えば、CAM1470は、コアフラッシュメモリセル1466のアレイ内の不良セルを置き換えている冗長セルのアドレス情報を記憶している。周辺領域1468内のCAM1470をこのように使用することは、電子工学の当業者に公知である。
CAM1470は、コアフラッシュメモリセル1466のアレイの動作中に使用される情報を記憶しているため、CAM1470の使用前に、CAM1470の信頼性と正常に動作することが検証される。電子工学の当業者に公知のように、CAM1470は通常はフラッシュメモリセルのアレイを有する。例えば、本明細書に図示し上記したように、CAM1470の各フラッシュメモリセルは図1のデバイス構造を有する。
CAM1470は、コアフラッシュメモリセル1466のアレイの動作中に使用される情報を記憶しているため、CAM1470の使用前に、CAM1470の信頼性と正常に動作することが検証される。CAM1470の信頼性と正常に動作することを検証するために、CAM1470のフラッシュメモリセルのプログラムおよび消去が行われる。次に、プログラムまたは消去ののち、CAMのフラッシュメモリセルが正常に機能することをチェックするために、このフラッシュメモリセルに読出し動作を実行して、フラッシュメモリセルが正しくプログラムまたは消去されていることを確認する。CAMのフラッシュメモリセルのプログラム後のこの読出し動作は、フラッシュメモリ技術の当業者によって「プログラムマージニング」と呼ばれている。同様に、CAMのフラッシュメモリセルの消去後のこの読出し動作は、フラッシュメモリ技術の当業者によって「消去マージニング」と呼ばれている。
CAMのフラッシュメモリセルのプログラムマージニングでは、フラッシュメモリセルに約3.3ボルトのソース−ゲート間電圧を印加して、そのフラッシュメモリセルがオフを保持するかどうかを試験する。このソース−ゲート間電圧によってフラッシュメモリセルがオンになれば、そのフラッシュメモリセルは不良であると判定される。この3.3ボルトのソース−ゲート間電圧はマージニング電圧と呼ばれる。CAMのフラッシュメモリセルの消去マージニングでは、フラッシュメモリセルに約0ボルトのソース−ゲート間電圧が印加して、そのフラッシュメモリセルがオンになるかどうかを試験する。このソース−ゲート間電圧によってフラッシュメモリセルがオフのままであれば、そのフラッシュメモリセルは不良であると判定される。この0ボルトのソース−ゲート間電圧はマージニング電圧と呼ばれる。
従来技術では、3.3ボルトのマージニング電圧が、外部試験システム1471の電源VCCから供給される。外部試験システム1471は、半導体ダイ1464に作製されたコアフラッシュメモリセル1466のアレイを有するフラッシュメモリデバイスが正常に機能することを試験する。このような外部試験システム1471の例に、アジレント・テクノロジーズ・インク(Agilent Technologies, Inc.)(カリフォルニア州パロアルト所在)から入手可能なモデルV3300がある。しかし、外部試験システム1471からのこの電圧VCCは、温度などの外的条件によって日ごとに変動することがある。さらに、コアフラッシュメモリセル1466の各種の試験モードに対応するために、外部試験システム1471からのVCC電圧の電圧レベルの変更が求められることがある。しかし、外部試験システム1471からの電圧VCCを変化させると、CAM1470のフラッシュメモリセルが正常に機能することを確認するための試験中に期せずしてばらつきが生じてしまうことがある。このため、CAM1470のフラッシュメモリセルが正常に機能することを確認するための試験の結果の一貫性を上げるために、より安定なマージニング電圧の供給源が求められている。
図75を参照すると、フラッシュメモリ技術の当業者に公知のように、半導体ダイ1480は、コアフラッシュメモリセルのアレイを有するフラッシュメモリデバイス1482と、論理回路およびCAM(内容参照可能メモリ)1486を有する周辺領域1484とを備える。さらに、本発明の一態様によれば、半導体ダイ1480は、マージニング電圧発生器1490を備えたBIST(組込み自己試験)システム300も備える。BISTシステム300は、本明細書に上記したBISTシステム300と機能および構造面で類似している。
BISTシステム300は、外部試験システム1492によってBIST(組込み自己試験)モードが呼び出されると、コアフラッシュメモリセル1482のアレイが正常に機能することを確認するための試験中に、半導体ダイ1480内のコアフラッシュメモリセル1482のアレイにプログラム動作、消去動作、および読出し動作をオンチップで実行する。一方、外部試験システム1492によって手動モードが呼び出された場合、外部試験システム1492は、コアフラッシュメモリセル1482のアレイにプログラム動作、消去動作、および読出し動作を直接実行する。BISTモード、手動モードのいずれでも使用することができるこの外部試験システム1492の例に、アジレント・テクノロジーズ・インク(Agilent Technologies, Inc.)(カリフォルニア州パロアルト所在)から入手可能なモデルV3300がある。
CAM1486は、コアフラッシュメモリセル1482のアレイの動作中に使用される情報を記憶しているため、CAM1486の使用前に、CAM1486の信頼性と正常に動作することが検証される。電子工学の当業者に公知のように、CAM1486は通常はフラッシュメモリセルのアレイを有する。CAM1486のフラッシュメモリセルの信頼性と正常に動作することを検証するために、CAM1486のフラッシュメモリセルのプログラムおよび消去が行われる。次に、プログラムまたは消去ののち、CAM1486のフラッシュメモリセルが正常に機能することをチェックするために、このフラッシュメモリセルに読出し動作を実行して、フラッシュメモリセルが正しくプログラムまたは消去されていることを確認する。CAM1486のフラッシュメモリセルのプログラム後のこの読出し動作は、フラッシュメモリ技術の当業者によって「プログラムマージニング」と呼ばれている。同様に、CAM1486のフラッシュメモリセルの消去後のこの読出し動作は、フラッシュメモリ技術の当業者によって「消去マージニング」と呼ばれている。
CAM1486のフラッシュメモリセルのプログラムマージニングでは、フラッシュメモリセルに約3.3ボルトのソース−ゲート間電圧を印加して、そのフラッシュメモリセルがオフを保持するかどうかを試験する。このソース−ゲート間電圧によってフラッシュメモリセルがオンになれば、そのフラッシュメモリセルは不良であると判定される。この3.3ボルトのソース−ゲート間電圧はプログラムマージニング電圧と呼ばれる。CAMのフラッシュメモリセルの消去マージニングでは、フラッシュメモリセルに約0ボルトのソース−ゲート間電圧が印加して、そのフラッシュメモリセルがオンになるかどうかを試験する。このソース−ゲート間電圧によってフラッシュメモリセルがオフのままであれば、そのフラッシュメモリセルは不良であると判定される。この0ボルトのソース−ゲート間電圧は消去マージニング電圧と呼ばれる。
図76は、CAM1486のフラッシュメモリセルの試験中に使用されるプログラムマージニング電圧と消去マージニング電圧とを生成するためのマージニング電圧発生器装置1490の回路図である。図75,76を参照すると、本発明の一実施形態によるマージニング電圧発生器装置1490は、半導体ダイ1480にBISTシステム300の一部として作製される。図76を参照すると、マージニング電圧発生器装置1490は、電圧調整器1502と高電圧チャージポンプ1503とを備え、これらは、VPROGの電圧レベルの高電圧源を供給するための高電圧発生器1501(図76の破線内に示す)の一部である。電圧調整器1502とチャージポンプ1503とは、半導体ダイ1480に作製されている。比較的安定した電圧を発生させるためのこのようなチャージポンプと電圧調整器は、電子工学の当業者に公知である。
また、電圧調整器1502に接地ノード1504などの低電圧源1504が結合されている。VPROGの高電圧レベルは、この接地ノード1504を基準としている。図76を参照すると、マージニング電圧発生器装置1490は、第1トランジスタとしてPMOSFET(P形金属酸化膜半導体電界効果トランジスタ)1506と、第2トランジスタとしてNMOSFET(N型金属酸化膜半導体電界効果トランジスタ)1508とも備える。PMOSFET1506のソースはVPROG電圧を供給している高電圧源1501に結合されており、NMOSFET1508のソースは低電圧源1504の接地ノードに結合されている。
さらに、抵抗値Rの第1抵抗器1510が、PMOSFET1506のドレインと出力ノード1512の間とに結合され、抵抗値Rの第2抵抗器1514が、NMOSFET1508のドレインと出力ノード1512との間に結合されている。CAM1486のフラッシュメモリセルの試験に使用されるプログラムマージニング電圧または消去マージニング電圧は、出力ノード1512で生成される。
また、マージニング電圧発生器装置1490は、BIST(組込み自己試験)モードまたは手動モード中に、プログラムマージニング電圧または消去マージニング電圧の生成を制御するための論理回路1516(図76の破線内に示す)も備える。論理回路1516は、電圧レベルシフタ1518を備える。電圧レベルシフタ1518の出力OUTBは、PMOSFET1506のゲートに結合されている。電圧レベルシフタ1518の入力には、第1NORゲート1520の出力が結合されている。第1NORゲート1520は、制御信号ERMARGINを第1入力として有すると共に、第2NORゲート1522の出力を第2入力として有する。第2NORゲート1522は、制御信号BVERIFYを第1入力として有すると共に、第1インバータ1524の出力を第2入力として有する。第1インバータ1524は制御信号STESTを入力する。
さらに、論理回路1516は、第3NORゲート1526と第2インバータ1528とを備える。第2インバータ1528の出力は、NMOSFET1508のゲートに結合され、第2インバータ1528の入力は第3NORゲート1526の出力に結合されている。第3NORゲート1526は3つの入力を有し、この3つは、第3NORゲート1526の第1入力に結合された制御信号ERMARGIN、第3NORゲート1526の第2入力に結合された制御信号BREPAIR、および第3NORゲート1526の第3入力に結合された制御信号BWPPGMである。
さらに、マージニング電圧発生器装置1490は、第1パスPMOSFET(P形金属酸化膜半導体電界効果トランジスタ)1532と第1パスNMOSFET(N型金属酸化膜半導体電界効果トランジスタ)1534とを含むパストランジスタの第1の組も有する。パストランジスタの第1の組1532,1534のドレインは出力ノード1512に結合されており、パストランジスタの第1の組1532,1534のソースは、図77に示すCAM1486のフラッシュメモリセルの第1の組1536のゲートに結合されている。
同様に、マージニング電圧発生器装置1490は、第2パスPMOSFET(P形金属酸化膜半導体電界効果トランジスタ)1538と第2パスNMOSFET(N型金属酸化膜半導体電界効果トランジスタ)1540とを含むパストランジスタの第2の組も有する。パストランジスタの第2の組1538,1540のドレインは出力ノード1512に結合されており、パストランジスタの第2の組1538,1540のソースは、図77に示すCAM1486のフラッシュメモリセルの第2の組1542のゲートに結合されている。
図78に、電圧レベルシフタ1518の実装例を示す。電圧レベルシフタ1518は、第1シフトPMOSFET(P形金属酸化膜半導体電界効果トランジスタ)1552、第2シフトPMOSFET(P形金属酸化膜半導体電界効果トランジスタ)1554、第1シフトNMOSFET(Nチャネル金属酸化膜半導体電界効果トランジスタ)1556、および第2シフトNMOSFET(N型金属酸化膜半導体電界効果トランジスタ)1558を備える。
第1シフトPMOSFET1552のソースと第2シフトPMOSFET1554のソースは、共にVPROGの電圧レベルを供給する高電圧源1501に結合されている。第1シフトPMOSFET1552のドレインと第1シフトNMOSFET1556のドレインは、共に第1の出力ノードOUTBに結合されている。第2シフトPMOSFET1554のドレインと第2シフトNMOSFET1558のドレインは、共に第2の出力ノードOUTに結合されている。第1シフトPMOSFET1552のゲートは、第2の出力ノードOUTで第2シフトPMOSFET1554のドレインと第2シフトNMOSFET1558のドレインとに結合されている。第2シフトPMOSFET1554のゲートは、第1の出力ノードOUTBで第1シフトPMOSFET1552のドレインと第1シフトNMOSFET1556のドレインに結合されている。第1シフトNMOSFET1556のゲートは入力ノードINに結合されており、第2シフトNMOSFET1558のゲートは第3インバータ1560を介して入力ノードINに結合されている。
図79は、図76のマージニング電圧発生器装置1490の動作中の電圧を示す表である。図75,76,79を参照すると、信号ERMARGIN、STEST、BVERIFY、BREPAIR、およびBWPPGMは、BISTシステム300から送信される制御信号である。制御信号ERMARGINは、CAM1486に消去マージニング動作を実行する際にはハイ状態(「1」)に設定され、CAM1486にプログラムマージニング動作を実行する場合にはロー状態(「0」)に設定される。制御信号STESTは、外部試験システムによってBIST(組込み自己試験)モードが呼び出されている場合にはハイ状態(「1」)に設定され、外部試験システムによって手動モードが呼び出されている場合にはロー状態(「0」)に設定される。
通常、ある制御信号がハイ(「1」)に設定されると、その制御信号に約5ボルトが印加される。一方、ある制御信号がロー(「0」)に設定されると、その制御信号に約0ボルトが印加される。
図76,77を参照すると、制御信号BREPAIRは、CAM1486のフラッシュメモリセルの第1の組1536の機能を試験する場合にはロー(「0」)に設定され、制御信号BWPPGMは、CAM1486のフラッシュメモリセルの第2の組1542の機能を試験する場合にはロー(「0」)に設定される。BVERIFY制御信号によって、PMOSFET1506のオン/オフの切り替えが、高電圧源1501からの電圧レベルVPROGが安定したのちに行われるようになる。
図80に、外部試験システム1492によってBISTモードが呼び出されているときに、出力ノード1512に3.3ボルトのプログラムマージニング電圧を供給するための、図76のマージニング電圧発生器装置1490の動作時の電圧レベルを示す。図79(図79の「BISTプログラムマージン」の見出しのある1列目),80を参照すると、BISTモードが呼び出されたために、制御信号STESTがハイ(「1」)に設定される。さらに、プログラムマージニング電圧であるため制御信号ERMARGINがロー(「0」)に設定される。本発明の一実施形態では、図77のCAM1486のフラッシュメモリセルの第2の組1542に3.3ボルトのプログラムマージニング電圧を印加するために、BREPAIR制御信号がハイ(「1」)に設定されると共に、BWPPGM制御信号がロー(「0」)に設定される。
図78,80を参照すると、これらの制御信号によって、電圧レベルシフタ1518への入力がハイ(「1」)に設定され、この結果、第1の出力ノードOUTBの電圧レベルが0ボルトとなる。PMOSFET1506のゲートが0ボルトになると、PMOSFET1506がオンになる。さらに、これらの制御信号によって、NMOSFET1508のゲートに5ボルトの電圧レベルが印加され、この結果、NMOSFET1508がオンになる。PMOSFET1506とNMOSFET1508が共にオンになると、第1抵抗器1510と第2抵抗器1514は、高電圧源1501と接地ノード1504の間に抵抗分割器(resistive divider)を形成する。この場合、出力ノード1512の出力電圧VOUTは、次のようになる。
OUT=VPROG[R/(R+R)]
本発明の一実施形態では、VPROG=5ボルトであり、RとRの値はVOUT=3.3ボルトとなるように選択される。
図81に、外部試験システム1492によってBISTモードが呼び出されているときに、出力ノード1512に0ボルトの消去マージニング電圧を供給するための、図76のマージニング電圧発生器装置1490の動作時の電圧レベルを示す。図79(図79の「BIST消去マージン」の見出しのある2列目),81を参照すると、BISTモードが呼び出されたために、制御信号STESTがハイ(「1」)に設定される。さらに、消去マージニング電圧であるため制御信号ERMARGINがハイ(「1」)に設定される。さらに、図77のCAM1486のフラッシュメモリセルの第1組1536および第2の組の1542の全てに0ボルトの消去マージニング電圧を印加するために、BREPAIR制御信号がロー(「0」)に設定されると共に、BWPPGM制御信号がロー(「0」)に設定される。
図78,81を参照すると、これらの制御信号によって、電圧レベルシフタ1518への入力がロー(「0」)に設定され、この結果、第1の出力ノードOUTBの電圧レベルが高電圧のVPROGとなる。PMOSFET1506のゲートの電圧レベルがVPROGになると、PMOSFET1506がオフになる。さらに、これらの制御信号によって、NMOSFET1508のゲートに5ボルトの電圧レベルが印加され、この結果、NMOSFET1508がオンになる。PMOSFET1506がオフになり、NMOSFET1508がオンになると、出力ノード1512が、低電圧源1504の接地ノードの出力電圧VOUT=0ボルトに放電される。
図82に、外部試験システム1492によって手動モードが呼び出されているときに、出力ノード1512にVPROGのプログラムマージニング電圧を供給するための、図76のマージニング電圧発生器装置1490の動作時の電圧レベルを示す。図79(図79の「手動プログラムマージン」の見出しのある3列目),82を参照すると、手動モードが呼び出されたために、制御信号STESTがロー(「0」)に設定される。さらに、プログラムマージニング電圧であるため制御信号ERMARGINがロー(「0」)に設定される。さらに、図77のCAM1486のフラッシュメモリセルの第1組1536および第2の組の1542の全てにVPROGのプログラムマージニング電圧を印加するために、BREPAIR制御信号がロー(「0」)に設定されると共に、BWPPGM制御信号がロー(「0」)に設定される。
図78,82を参照すると、これらの制御信号によって、電圧レベルシフタ1518への入力がハイ(「1」)に設定され、この結果、第1の出力ノードOUTBの電圧レベルが0ボルトとなる。PMOSFET1506のゲートの電圧レベルが0ボルトになると、PMOSFET1506がオンになる。さらに、これらの制御信号によって、NMOSFET1508のゲートに0ボルトの電圧レベルが印加され、この結果、NMOSFET1508がオフになる。PMOSFET1506がオンになり、NMOSFET1508がオフになると、出力ノード1512が、高電圧源1501の出力電圧VOUT=VPROGボルトに充電される。
図83に、外部試験システムによって手動モードが呼び出されているときの、出力ノード1512に0ボルトの消去マージニング電圧を供給するための、図76のマージニング電圧発生器装置1490の動作時の電圧レベルを示す。図79(図79の「手動消去マージン」の見出しのある4列目),83を参照すると、手動モードが呼び出されたために、制御信号STESTがロー(「0」)に設定される。さらに、消去マージニング電圧であるため制御信号ERMARGINがロー(「0」)に設定される。さらに、図77のCAM1486のフラッシュメモリセルの第1組1536および第2の組の1542の全てに0ボルトの消去マージニング電圧を印加するために、BREPAIR制御信号がロー(「0」)に設定されると共に、BWPPGM制御信号がロー(「0」)に設定される。
図78,83を参照すると、これらの制御信号によって、電圧レベルシフタ1518への入力がロー(「0」)に設定され、この結果、第1の出力ノードOUTBの電圧レベルがVPROGとなる。PMOSFET1506のゲートの電圧レベルがVPROGになると、PMOSFET1506がオフになる。さらに、これらの制御信号によって、NMOSFET1508のゲートに5ボルトの電圧レベルが印加され、この結果、NMOSFET1508がオンになる。PMOSFET1506がオフになり、NMOSFET1508がオンになると、出力ノード1512が、低電圧源1504の接地ノードの出力電圧VOUT=0ボルトに放電される。
さらに、STEST信号が所望のハイ状態またはロー状態に設定されてから、遅れてBVERIFY信号を所望のハイ状態またはロー状態に設定して、この結果、遅れてPMOSFETをオンまたはオフにすることができる。本発明の一実施形態によれば、この遅延によって、高電圧源1501からのVPROG電圧レベルが安定してから、PMOSFETがオンまたはオフになる。
さらに、図76,77を参照すると、図77に示すCAM1486のフラッシュメモリセルの第1の組1536に出力ノード1512の出力電圧VOUTを結合するため、パストランジスタの第1の組および第2の組1532,1534,1538,1540のゲートに適切な電圧を印加して、パストランジスタの第1の組1532,1534をオンにする一方で、パストランジスタの第2の組1538,1540をオフに保持する。一方、図77に示すCAM1486のフラッシュメモリセルの第2の組1542に出力ノード1512の出力電圧VOUTを結合するため、パストランジスタの第1の組および第2の組1532,1534,1538,1540のゲートに適切な電圧を印加して、パストランジスタの第2の組1538,1540をオンにする一方で、パストランジスタの第1の組1532,1534をオフに保持する。あるいは、図77に示すCAM1486のフラッシュメモリセルの第1の組および第2の組1536,1542に出力ノード1512の出力電圧VOUTを結合するため、パストランジスタの第1の組および第2の組1532,1534,1538,1540をオンにする。パストランジスタの第1の組および第2の組1532,1534,1538,1540のゲートにこのような適切な電圧を印加するための制御回路は、電子工学の当業者に公知である。
このように、CAM1486のフラッシュメモリセルを試験するためのプログラムマージニング電圧または消去マージニング電圧が、抵抗分割器によってオンチップで生成され、このマージニング電圧は外部試験システムによって提供される電圧VCCとは独立している。図76のマージニング電圧発生器装置1490の各種コンポーネントは半導体ダイ1480の半導体ウェハに作製されるため、プログラムマージニング電圧または消去マージニング電圧は半導体ダイ1480内でオンチップに生成される。より安定したマージニング電圧によって、多くの半導体ウェハのロット間で、フラッシュメモリデバイスのCAMの試験結果の一貫性がさらに向上する。さらに、このように外部試験システムからのVCC電圧とは独立してマージニング電圧がオンチップで生成されることにより、コアフラッシュメモリセルの試験に使用される外部試験システムからのVCC電圧が変化する場合であっても、フラッシュメモリデバイスのCAMの試験結果の一貫性がさらに向上する。
上記の記載は例に過ぎず、限定を意図するものではない。例えば、本発明は、PMOSFET1506およびNMOSFET1508以外の別の種類のトランジスタを使用して実施してもよい。さらに、本明細書に記載した電圧レベルはすべて例に過ぎず、本発明を、電子工学の当業者にとって本明細書の記載から自明の別の電圧レベルを使用して実施してもよい。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
フラッシュメモリセルの断面図である。 図1のフラッシュメモリセルの回路図である。 フラッシュメモリデバイスに含まれるフラッシュメモリセルのアレイを示す。 複数の半導体ダイを有する半導体ウェハを示し、各半導体ダイにはフラッシュメモリセルのアレイがそれぞれ作製されている。 従来技術によるコアフラッシュメモリセルのアレイが作製され、コンタクトパッドを有する半導体ダイを示し、コンタクトパッドは、このコアフラッシュメモリセルのアレイの試験のために、外部試験システムがコアフラッシュメモリセルのアレイにプログラム動作、消去動作、および読出し動作を直接実行する際に使用される。 本発明の一態様による、フラッシュメモリデバイスの試験中に半導体ダイ内でプログラム動作、消去動作、および読出し動作がオンチップに実行されるように、コアフラッシュメモリセルのアレイと同じ半導体ダイにオンチップに作製されたBIST(組込み自己試験)システムを示す。 本発明の一実施形態による、図6のBISTシステムの各種コンポーネントの概略ブロック図である。 本発明の一実施形態による、図7のBISTインタフェースの各種コンポーネントのブロック図である。 本発明の一実施形態による、複数のフラッシュメモリ試験モードを実行するための、図6,7のBISTシステム内の図8のBISTインタフェースの動作ステップのフローチャートである。 本発明の一実施形態による、図8のBISTインタフェースの第1の状態、第2の状態、第3の状態、および第4の状態のタイミング生成のための、外部試験システムからの各種制御信号のタイミング図である。 本発明の一実施形態による、BISTインタフェースのシリアルシフトレジスタ内のデータの例を示す。 本発明の別の実施形態による、複数の半導体ダイのそれぞれのコアフラッシュメモリセルのオンチップ試験時のスループットを最大化するために、複数の半導体ダイによって共有される外部試験システムのピンを示す。 本発明の一実施形態による、図7のバックエンドBIST状態機械の各種コンポーネントのブロック図である。 本発明の一実施形態による、各BISTモードを実行するための図13のバックエンドBIST状態機械がとる、状態START、JUICE、VERIFY1、VERIFY2、APD、HTRB、DONE、およびHANGを含む比較的少数の状態を示す。 本発明の一実施形態による、現在のBISTモードがコアフラッシュメモリセルへのプログラム電圧および/または消去電圧の印加の場合の、図13のバックエンドBIST状態機械の動作ステップのフローチャートである。 ブロックとセクタに分割されたコアフラッシュメモリセルを示す。 図16のコアフラッシュメモリセルの各ブロック内に形成された64本のビット線と64本のワード線の例を示す。 本発明の一実施形態による、現在のBISTモードが、コアフラッシュメモリセルの各フラッシュメモリセルにプログラムまたは消去されているそれぞれの論理状態の読出しを含む場合の、図13のバックエンドBIST状態機械の動作ステップのフローチャートである。 本発明の一実施形態による、現在のBISTモードが、コアフラッシュメモリセルの各フラッシュメモリセルのビット線およびワード線へのストレス電圧の印加の場合の、図13のバックエンドBIST状態機械の動作ステップのフローチャートである。 従来技術による、コアフラッシュメモリセルの不良アドレスの修復のため、コアフラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素に置き換える外部試験システムのCAM(内容参照可能メモリ)のプログラムのブロック図である。 図15のフローチャートに、本発明の一実施形態による、コアフラッシュメモリセルの不良アドレスのオンチップ修復のため、CAM(内容参照可能メモリ)をオンチップにプログラムして、コアフラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素に置き換えるステップを追加したものである。 フラッシュメモリセルの不良アドレスが、フラッシュメモリセルの冗長要素内にある状態を示す。 図18のフローチャートに、本発明の一実施形態による、コアフラッシュメモリセルの不良アドレスのオンチップ修復のため、CAM(内容参照可能メモリ)をオンチップにプログラムして、コアフラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素に置き換えるステップを追加したものである。 従来技術による、複数のブロックに分割されたコアフラッシュメモリセルを示す。 本発明の一実施形態による、コアフラッシュメモリセルの各ブロックにあるコアフラッシュメモリセルの不良アドレスの修復に使用できる2つの冗長要素の組を示す。 本発明の一実施形態による、コアフラッシュメモリセルの不良アドレスのオンチップ修復のための修復ルーチン中に使用される各種コンポーネントのブロック図である。 本発明の一実施形態による、コアフラッシュメモリセルの不良アドレスのオンチップ修復のための、図26のコンポーネントの動作中の修復ルーチンのステップを示すフローチャートである。 本発明の一実施形態による、図26のFAILREPロジックの実装例を示す。 CAM(内容参照可能メモリ)が正しくプログラムされていることを検証する際に使用される変数を生成するための従来技術のCAM(内容参照可能メモリ)ロジックを示す。 本発明の一実施形態による、図28のFAILREPロジックが生成するFAILREP値の値を示す表である。 本発明の一実施形態による、図26の修復照合ユニットの実装例を示す。 本発明の一実施形態による、図26の修復照合ユニットが生成するREDOK値の値を示す表である。 本発明の別の態様による、コアフラッシュメモリセルのアレイの機能とは切り離して、コアフラッシュメモリセルのアレイが作製されている半導体ダイに作製されたBIST(組込み自己試験)システムのバックエンド状態機械の機能を試験するシステムの各種コンポーネントを示す。 本発明の一実施形態による、図33のシステムの信号セレクタの実装例を示す。 本発明の一実施形態による、図33のシステムの診断照合ロジックの実装例を示す。 本発明の一実施形態による、図35の診断照合ロジックの信号ラッチの実装例を示す。 本発明の一実施形態による、図35の診断照合ロジック内で生成されるリセット値およびセット値と、これらによって決まる図36の信号ラッチのQ出力とを示す表である。 本発明の一実施形態による、診断モードの呼び出し後にバックエンド状態機械が実行しようとしているBISTモードが、コアフラッシュメモリセルのアレイのフラッシュメモリセルのプログラムの場合に、図33のバックエンド状態機械がとる状態を示すフローチャートである。 本発明の一実施形態による、診断モードの呼び出し後にバックエンド状態機械が実行しようとしているBISTモードが、スタンドアロンAPDE(消去後の自動プログラムディスターブ)を行うコアフラッシュメモリセルのアレイのフラッシュメモリセルの消去の場合に、図33のバックエンド状態機械がとる状態を示すフローチャートである。 本発明の一実施形態による、診断モードの呼び出し後にバックエンド状態機械が実行しようとしているBISTモードが、インターリーブAPDE(消去後の自動プログラムディスターブ)を行うコアフラッシュメモリセルのアレイのフラッシュメモリセルの消去の場合に、図33のバックエンド状態機械がとる状態を示すフローチャートである。 本発明の一実施形態による、診断モードの呼び出し後にバックエンド状態機械316が実行しようとしているBISTモードが、修復ルーチンの呼び出しを伴うコアフラッシュメモリセルの各フラッシュメモリセルのプログラムもしくは消去済みのそれぞれの論理状態の読出しの場合に、図33のバックエンド状態機械がとる状態を示すフローチャートである。 本発明の一実施形態による、BIST(組込み自己試験)システム内の、アドレスシーケンサバッファおよびアドレスシーケンサ制御ロジックを備えたアドレスシーケンサのブロック図である。 本発明の一実施形態による、図42のアドレスシーケンサの複数のアドレスシーケンサバッファを示す。 本発明の一実施形態による、BIST(組込み自己試験)モードの開始時に、アドレスシーケンサバッファを先頭アドレスにリセットするため、アドレスシーケンサ制御ロジックが生成するリセット信号を示す。 本発明の一実施形態による、2つの隣接するXアドレスデコーダが互いに鏡像として作製されている場合に、Xアドレスの順行が物理的に隣接して行なわれるようにするため、Xアドレスビットのサブセットのアドレスシーケンサ制御ロジックによる順行の制御を示す。 本発明の一実施形態による、アクセスしようとしている各OTP(ワンタイムプログラム可能)フラッシュメモリセルのアドレスを外部試験システムによって指定するために、BIST(組込み自己試験)インタフェースのレジスタからYアドレスバッファのサブセットへのビットパターンの結合を示す。 本発明の一実施形態による、冗長フラッシュメモリセルを順行すべきかどうかを判定するための冗長順行イネーブルロジックおよび最大列アドレスセレクタを示す。 コアフラッシュメモリセルの最終列と冗長フラッシュメモリセルの最終列とを示す。 本発明の一実施形態による、冗長フラッシュメモリセルを順行すべきかどうかを判定するために、順行イネーブルロジックおよび最大列アドレスセレクタによって使用される信号のタイミング図である。 本発明の一実施形態による、複数のセクタの各WPCAM(書込み保護内容参照可能メモリ)を順行するための、アドレスシーケンサ制御ロジックによるアドレスシーケンサバッファの制御を示す。 本発明の一実施形態による、複数のセクタのWPCAM(書込み保護内容参照可能メモリ)を順行するためのビットパターンの表である。 本発明の一実施形態による、消去トリミングされる基準セルのアドレスを示すための、BIST(組込み自己試験)インタフェースのレジスタからYアドレスバッファのサブセットへのビットパターンの結合を示す図である。 本発明の一実施形態による、Yアドレスバッファのサブセットを使用した、消去トリミングBISTモード中の基準セルのアドレスの順行を示す表である。 本発明の一実施形態による基準セルの消去トリミングのフローチャートであり、アドレスシーケンサバッファのYアドレスバッファのサブセットを使用して基準セルを順行する。 本発明の一実施形態による、制御信号XminmaxおよびYminmaxに応じて、各ビット線を順行してからワード線アドレスをインクリメントするか、あるいは各ワード線を順行してからビット線アドレスをインクリメントするための、アドレスシーケンサ制御ロジックによるアドレスシーケンサバッファの制御を示す。 本発明の一実施形態による、チェッカーボードBISTモードのために、フラッシュメモリセルの行および列について、フラッシュメモリセルを1つおきに順行するための、アドレスシーケンサ制御ロジックによるアドレスシーケンサバッファの制御を示す。 本発明の一実施形態による、フラッシュメモリセルのセクタの対角位置の各フラッシュメモリセルを順行するための、アドレスシーケンサ制御ロジックによるアドレスシーケンサバッファの制御を示す。 本発明の一実施形態による、フラッシュメモリセルのセクタの8個のサブセクタと8本の対角線を有するフラッシュメモリセルのセクタの例を示す。 本発明の一実施形態による、フラッシュメモリセルのアレイが作製されている半導体ダイに作製された、各BISTモード用の所望のビットパターンを生成する複数のパターン生成ロジックユニットを有するシステムのブロック図である。 本発明の一実施形態による、プログラムパターン生成ロジックユニット、消去パターン生成ロジックユニット、対角パターン生成ロジックユニット、およびチェッカーボードパターン生成ロジックユニットの一例を示す。 本発明の一実施形態による、図60の対角パターン生成ロジックユニットの実装例を示す。 本発明の一実施形態による、図60のチェッカーボードパターン生成ロジックユニットの実装例を示す。 4行4列のフラッシュメモリセルのアレイの例と、アレイ内での各フラッシュメモリセルの位置を示す。 現在のBISTモードが図63のフラッシュメモリセルのアレイの各フラッシュメモリセルのプログラムの場合の、全て論理ロー状態の所望のビットパターンを示す。 現在のBISTモードが図63のフラッシュメモリセルのアレイの各フラッシュメモリセルの消去の場合の、全て論理ハイ状態の所望のビットパターンを示す。 現在のBISTモードが、論理ロー状態と論理ハイ状態のチェッカーボードパターンの場合の、図63のフラッシュメモリセルのアレイの所望のビットパターンを示す。 現在のBISTモードが、フラッシュメモリセルのアレイの対角位置のみを論理ロー状態に設定した対角パターンの場合の、図63のフラッシュメモリセルのアレイの所望のビットパターンを示す。 図63のフラッシュメモリセルのアレイの各位置のフラッシュメモリセルの、それぞれのXアドレスおよびYアドレスを示す表である。 本発明の一実施形態による、図59のパターンセレクタの実装例を示す。 消去検証BIST(組込み自己試験)モード中に消去検証される4行4列のフラッシュメモリのセクタの例を示す。 本発明の一実施形態による、消去検証BISTモード中にフラッシュメモリセルのセクタに印加した消去パルス数をオンチップで追跡するシステムのブロック図である。 本発明の一実施形態による、消去検証BISTモード中にフラッシュメモリセルのセクタに印加した消去パルス数をオンチップで追跡するための図71のシステムのパルスカウンタコントローラ内の各種コンポーネントを示す。 本発明の一実施形態による、消去検証BISTモード中にフラッシュメモリセルのセクタに印加した消去パルス数をオンチップで追跡するための、図71,72のシステムの動作を示すフローチャートである。 従来技術による、周辺領域内にCAM(内容参照可能メモリ)を備えた図4の半導体ダイの各種コンポーネントと、外部試験システムからのプログラムマージニング電圧のオフチップでの生成を示す。 本発明の一実施形態による、CAM(内容参照可能メモリ)の試験中に、半導体ダイ内でマージニング電圧をオンチップで生成するBIST(組込み自己試験)システム内の、マージニング電圧発生器装置を備えた図4の半導体ダイの各種のコンポーネントを示す。 本発明の一実施形態による、図75のマージニング電圧発生器装置の回路図である。 CAMフラッシュメモリセルを2つ有するCAM(内容参照可能メモリ)のブロック図である。 本発明の一実施形態による、高電圧源に結合されたトランジスタのオン/オフを制御するため、図76のマージニング電圧発生器装置に使用される電圧レベルシフタである。 本発明の一実施形態による、図76のマージニング電圧発生器装置の動作時の電圧レベルを示す表である。 本発明の一実施形態による、BIST(組込み自己試験)モード中にプログラムマージニングが呼び出された場合の図76のマージニング電圧発生器装置の電圧レベルを示す。 本発明の一実施形態による、BIST(組込み自己試験)モード中に消去マージニングが呼び出された場合の図76のマージニング電圧発生器装置の電圧レベルを示す。 本発明の一実施形態による、手動モード中にプログラムマージニングが呼び出された場合の図76のマージニング電圧発生器装置の電圧レベルを示す。 本発明の一実施形態による、手動モード中に消去マージニングが呼び出された場合の図76のマージニング電圧発生器装置の電圧レベルを示す。

Claims (28)

  1. 半導体基板(302)に作製されたフラッシュメモリセル(304)の試験方法であって、
    前記半導体基板(302)にBIST(Built-In-Self-Test:組込み自己試験)インタフェース(312)とバックエンド状態機械(316)とを作製するステップと、
    前記BISTインタフェース(312)によって外部試験システム(318)から試験モードデータを入力するステップと、
    前記フラッシュメモリセル(304)のオンチップ試験のため、前記試験モードデータに指定されるように、前記バックエンド状態機械(316)によって少なくとも1つの所望のBISTモードを前記フラッシュメモリセル(304)に実行するステップと、を有する方法。
  2. 前記半導体基板(302)にフロントエンド状態機械(314)を作製するステップと、
    前記少なくとも1つの所望のBISTモードを実行する順序を決定するために前記フロントエンド状態機械(314)によって前記試験モードデータをデコードするステップと、
    前記順序に従って前記少なくとも1つの所望のBISTモードを前記バックエンド状態機械(316)によって前記フラッシュメモリセル(304)に実行するステップと、をさらに有する請求項1に記載の方法。
  3. 前記半導体基板(302)に前記BISTインタフェース(312)のシフトレジスタ(320)を作製するステップと、
    1本のIOピンを介して前記シフトレジスタ(320)に前記試験モードデータを逐次的に入力するステップと、
    各所望の試験モードのそれぞれの合否結果を前記シフトレジスタ(320)に記憶するステップと、
    前記1本のIOピンを介して、前記シフトレジスタ(320)から前記外部試験システム(318)に各所望のBISTモードの前記それぞれの合否結果を逐次的にシフトアウトするステップと、をさらに有する請求項1または2に記載の方法。
  4. 前記半導体基板(302)に、複数のパターン生成ロジックユニット(1302)と、パターンセレクタ(1304)と、を作製するステップと、
    各パターン生成ロジックユニット(1302)によって前記フラッシュメモリセルの位置に対応するそれぞれの論理状態を生成するステップと、
    所望のビットパターンを生成するために、前記パターン生成ロジックユニット(1302)からの前記それぞれの論理状態の1つを前記パターンセレクタ(1304)によって選択するステップと、
    BISTモードのために、検証状態中に前記所望のビットパターンを使用するステップと、をさらに有する請求項1〜3のいずれか一項に記載の方法。
  5. 前記半導体基板(302)にパルスカウンタ(1404)とパルスカウンタコントローラ(1406)とを作製するステップと、
    前記パルスカウンタコントローラ(1406)によって最大数を入力するステップと、
    消去検証BIST(組込み自己試験)モード中に、前記セクタに印加された消去パルスの数が前記最大数未満でフラッシュメモリセルのセクタが消去検証に合格しない場合に、前記パルスカウンタコントローラ(1406)によって前記セクタの失敗の指標を出力するステップと、をさらに有する請求項1〜3のいずれか一項に記載の方法。
  6. 前記セクタの対角位置の各フラッシュメモリセルが消去検証に合格するまで、前記セクタに印加された消去パルス数の対角の合計を決定するステップであり、
    前記最大数は前記消去パルス数の対角の合計の百分率であるステップと、
    最大パルスカウント値(Max_PC)から前記それぞれの消去パルス数の対角の合計の百分率を減算した値である少なくとも1つの再ロードカウント値を生成するステップと、
    前記少なくとも1つの再ロードカウント値から、前記最大数に対応し、かつ前記パルスカウンタ(1404)にロードすべき再ロードカウント値を1つ選択するステップと、
    前記セクタの各フラッシュメモリセルの消去検証中に前記セクタに印加された消去パルスの数を前記選択された再ロードカウント値を始点に前記パルスカウンタ(1404)によってカウントするステップと、
    前記パルスカウンタ(1404)が前記Max_PCに達する前に前記セクタの各フラッシュメモリセルが消去検証に合格しない場合に、前記パルスカウンタコントローラ(1406)によって前記セクタの失敗の指標を出力するステップと、をさらに有する請求項5に記載の方法。
  7. 前記半導体基板(302)に修復コントローラ(832)と複数の電圧源(836)とを作製するステップと、
    BISTモード中の前記フラッシュメモリセル(304)の試験中に不良フラッシュメモリセル(750)を検出するステップと、
    前記修復コントローラ(832)によって前記電圧源(836)を制御して、前記不良フラッシュメモリセル(750)を対応する前記フラッシュメモリセルの冗長要素(782)に置き換えるためにJUICE状態中にそれぞれのCAM(内容参照可能メモリ)フラッシュメモリセルにプログラム電圧を印加させるステップと、をさらに有する請求項1〜3のいずれか一項に記載の方法。
  8. 前記半導体基板(302)にFAILREPロジック(848)を作製するステップと、
    前記FAILREPロジック(848)が、使用可能なフラッシュメモリセルの冗長要素がないか前記不良フラッシュメモリセル(750)が以前に修復されていると判定した場合にHANG状態に入るステップと、をさらに有する請求項7に記載の方法。
  9. 前記半導体基板(302)に前記バックエンド状態機械(316)のための複数の電圧源(504)とバックエンドBISTコントローラ(502)とを作製するステップと、
    BISTモードが第1の状態のシーケンスに従って前記フラッシュメモリセル(304)に電圧を印加するためのものであるか、あるいは前記BISTモードが第2の状態のシーケンスに従って前記フラッシュメモリセル(304)のそれぞれの論理状態を読出すためのものであるかを前記バックエンドBISTコントローラ(502)によって判定するステップと、をさらに有する請求項1〜3のいずれか一項に記載の方法。
  10. 前記半導体基板(302)に信号セレクタ(966)と診断照合ロジック(964)とを作製するステップと、
    前記バックエンド状態機械(316)からの制御変数によって、生成マッチ出力を前記診断照合ロジック(964)によって合格状態または不合格状態に設定するステップと、
    診断モードが呼び出されている場合に、BISTモードの検証ステップで前記バックエンド状態機械(316)が使用する前記生成マッチ出力を前記信号セレクタ(966)によって選択するステップと、をさらに有する請求項1〜3のいずれか一項に記載の方法。
  11. 前記診断モードが呼び出されている前記BISTモードが、前記フラッシュメモリセル(304)のプログラム、スタンドアロンAPDE(消去後の自動プログラムディスターブ)を伴う前記フラッシュメモリセル(304)の消去、またはインターリーブAPDEを伴う前記フラッシュメモリセル(304)の消去の1つである請求項10に記載の方法。
  12. 前記半導体基板(302)にアドレスシーケンサ制御ロジック(1204)とアドレスシーケンサバッファ(1202)とを作製するステップと、
    前記フラッシュメモリセル(304)のアドレスを示すために複数のビットを前記バッファ(1202)によって生成するステップと、
    前記制御ロジック(1204)によって前記バッファ(1202)を制御して、複数のBISTモードのそれぞれに対するビットパターンのそれぞれのシーケンスを順行させるステップと、をさらに有する請求項1〜3のいずれか一項に記載の方法。
  13. 前記半導体基板(302)に高電圧源(1501)、少なくとも1つの抵抗器(1510,1514)、少なくとも1つのスイッチ素子(1506,1508)、および論理回路(1516)を作製するステップと、
    低電圧ノード(1504)の低電圧を基準として前記高電圧源(1501)によって高電圧を発生させるステップであって、
    前記少なくとも1つの抵抗器(1510,1514)と前記少なくとも1つのスイッチ素子(1506,1508)とは、前記高電圧源(1501)と前記低電圧ノード(1504)との間に直列に結合されているステップと、
    前記直列結合に沿って出力ノード(1512)にマージニング電圧をオンチップに生成するために、BISTモードの種類によって前記論理回路(1516)によって各スイッチ素子(1506,1508)をオンまたはオフにするステップと、をさらに有する請求項1に記載の方法。
  14. 前記フラッシュメモリセル(304)のプログラムマージニングのために前記少なくとも1つの抵抗器によって前記出力ノード(1512)に抵抗分圧器(1510,1514)を形成するステップと、
    前記フラッシュメモリセル(304)の消去マージニングのために前記出力ノード(1512)を前記低電圧に放電するステップと、をさらに有する請求項13に記載の方法。
  15. 半導体基板(302)に作製されたフラッシュメモリセル(304)を試験するためのBIST(組込み自己試験)システム(300)であって、
    前記半導体基板(302)に作製され、外部試験システム(318)から試験モードデータを入力するBIST(組込み自己試験)インタフェース(312)と、
    前記半導体基板(302)に作製され、前記フラッシュメモリセル(304)のオンチップ試験のため、前記試験モードデータに指定されるように、前記フラッシュメモリセル(304)に少なくとも1つの所望のBIST(組込み自己試験)モードを実行するバックエンド状態機械(316)と、を有するBISTシステム。
  16. 前記半導体基板(302)に作製され、前記少なくとも1つの所望のBISTモードを実行する順序を決定するために前記試験モードデータをデコードするフロントエンド状態機械(314)をさらに有し、
    前記バックエンド状態機械(316)は前記順序に従って前記少なくとも1つの所望のBISTモードを前記フラッシュメモリセル(304)に実行する請求項15に記載のBISTシステム。
  17. 前記BISTインタフェース(312)内に、1本のIOピンを介して前記試験モードデータを逐次的に入力するシフトレジスタ(320)をさらに有し、前記シフトレジスタ(320)は、前記IOピンを介して各所望のBISTモードのそれぞれの合否結果を記憶して逐次的に出力する請求項15または16に記載のBISTシステム。
  18. 前記半導体基板(302)に作製され、それぞれがフラッシュメモリセルの位置に対応するそれぞれの論理状態を生成する複数のパターン生成ロジックユニット(1302)と、
    前記半導体基板(302)に作製され、前記所望のビットパターンを生成するために前記パターン生成ロジックユニット(1302)からの前記それぞれの論理状態のうちの1つを選択するパターンセレクタ(1304)と、をさらに有する請求項15〜17のいずれか一項に記載のBISTシステム。
  19. 前記半導体基板(302)に作製されたパルスカウンタ(1404)と、
    前記半導体基板(302)に作製され、最大数を入力し、消去検証BIST(組込み自己試験)モード中に、前記セクタに印加された消去パルスの数が前記最大数未満でフラッシュメモリセルのセクタが消去検証に合格しない場合に、前記セクタの失敗の指標を出力するパルスカウンタコントローラ(1406)と、をさらに有する請求項15〜17のいずれか一項に記載のBISTシステム。
  20. 前記パルスコントローラ(1406)は、前記パルスカウンタ(1404)を制御して、前記セクタの対角位置の各フラッシュメモリセルが消去検証に合格するまで、前記セクタに印加された消去パルス数の対角の合計を決定させ、前記最大数は前記消去パルス数の対角の合計の百分率であり、前記BISTシステムは、
    前記半導体基板(302)に作製され、それぞれの再ロードカウント値を生成する少なくとも1つの再ロードカウント値発生器(1422,1424,1426)と、前記再ロードカウント値は最大パルスカウント値(Max_PC)から前記それぞれの消去パルス数の対角の合計の百分率を減算した値であり、
    前記パルスカウンタコントローラ内の、前記少なくとも1つの再ロードカウント値から、前記最大数に対応する再ロードカウント値を選択するマルチプレクサ(1418)と、
    前記パルスカウンタコントローラ内の、前記パルスカウンタを制御して、前記マルチプレクサ(1418)から選択再ロードカウント値をロードさせる再ロードロジック(1416)と、をさらに有し、
    前記パルスカウンタ(1404)は、前記セクタの各フラッシュメモリセルの消去検証中に前記セクタに印加された消去パルスの数を前記選択された再ロードカウント値を始点にカウントし、
    前記パルスカウンタコントローラ(1406)は、前記パルスカウンタがMax_PCに達する前に前記セクタの各フラッシュメモリセルが消去検証に合格しない場合に、前記セクタの失敗の指示を出力する請求項19に記載のBISTシステム。
  21. 前記半導体基板(302)に作製されたCAM(内容参照可能メモリ)フラッシュメモリセル(790)およびフラッシュメモリセルの冗長要素(782)と、
    前記半導体基板(302)に作製された複数の電圧源(836)と、
    BISTモード中の前記フラッシュメモリセルの試験中に不良フラッシュメモリセル(750)が検出され、
    前記半導体基板(302)に作製され、前記電圧源(836)を制御して、前記不良フラッシュメモリセル(750)を対応する前記フラッシュメモリセルの冗長要素(782)に置き換えるためにJUICE状態中にそれぞれのCAM(内容参照可能メモリ)フラッシュメモリセル(790)にプログラム電圧を印加させる修復コントローラ(832)と、をさらに有する請求項15〜17のいずれか一項に記載のBISTシステム。
  22. 前記半導体基板(302)に作製されたFAILREPロジック(848)をさらに有し、前記FAILREPロジックが、使用可能なフラッシュメモリセルの冗長要素がないか前記不良フラッシュメモリセル(750)が以前に修復されていると判定した場合に前記FAILREPロジックはHANG状態に入る請求項21に記載のBISTシステム。
  23. 前記半導体基板(302)に作製され、BISTモードに対応するそれぞれの電圧を発生させる複数の電圧源(504)と、
    前記半導体基板(302)に作製され、BISTモードが第1の状態のシーケンスに従って前記フラッシュメモリセル(304)に電圧を印加するためのものであるか、あるいは前記BISTモードが第2の状態のシーケンスに従って前記フラッシュメモリセル(304)のそれぞれの論理状態を読出すためのものであるかを判定するバックエンドBISTコントローラ(502)と、をさらに有する請求項15〜17のいずれか一項に記載のBISTシステム。
  24. 前記半導体基板(302)に作製された信号セレクタ(966)と、
    前記半導体基板(302)に作製された診断照合ロジック(964)と、をさらに有し、
    前記診断照合ロジック(964)は、前記バックエンド状態機械(316)からの制御変数によって、生成マッチ出力を合格状態または不合格状態に設定し、
    前記信号セレクタ(966)は、診断モードが呼び出されている場合に、BISTモードの検証ステップで前記バックエンド状態機械(316)が使用する前記生成マッチ出力を選択する請求項15〜17のいずれか一項に記載のBISTシステム。
  25. 前記診断モードが呼び出されている前記BISTモードが、前記フラッシュメモリセル(304)のプログラム、スタンドアロンAPDE(消去後の自動プログラムディスターブ)を伴う前記フラッシュメモリセル(304)の消去、またはインターリーブAPDEを伴う前記フラッシュメモリセル(304)の消去の1つである請求項24に記載のBISTシステム。
  26. 前記半導体基板(302)に作製され、前記フラッシュメモリセル(304)のアドレスを表す複数のビットを生成するアドレスシーケンサバッファ(1202)と、
    前記半導体基板(302)に作製され、前記バッファ(1202)を制御して、複数のBISTモードのそれぞれに対するビットパターンのそれぞれのシーケンスを順行させるアドレスシーケンサ制御ロジック(1204)と、をさらに有する請求項15〜17のいずれか一項に記載のBISTシステム。
  27. 前記半導体基板(302)に作製され、低電圧ノード(1504)の低電圧を基準として高電圧を発生させる高電圧源(1501)と、
    前記半導体基板(302)に作製され、前記高電圧源(1501)と前記低電圧ノード(1504)との間に直列に結合された少なくとも1つの抵抗器(1510,1514)および少なくとも1つのスイッチ素子(1506,1508)と、
    前記半導体基板(302)に作製され、前記直列結合に沿って出力ノード(1512)にマージニング電圧をオンチップに生成するために、BISTモードの種類によって各スイッチ素子(1506,1508)をオンまたはオフにする論理回路(1516)と、をさらに有する請求項15に記載のBISTシステム。
  28. 前記フラッシュメモリセル(304)のプログラムマージニングのために前記少なくとも1つの抵抗器によって前記出力ノード(1512)に抵抗分圧器(1510,1514)が形成され、
    前記フラッシュメモリセル(304)の消去マージニングのために前記出力ノード(1512)が低電圧に放電される、請求項27に記載のBISTシステム。
JP2004522988A 2002-07-22 2003-06-10 フラッシュメモリセルの組込み自己試験 Withdrawn JP2005534131A (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US20053802A 2002-07-22 2002-07-22
US20054302A 2002-07-22 2002-07-22
US10/200,544 US6631086B1 (en) 2002-07-22 2002-07-22 On-chip repair of defective address of core flash memory cells
US10/200,526 US7028240B1 (en) 2002-07-22 2002-07-22 Diagnostic mode for testing functionality of BIST (built-in-self-test) back-end state machine
US10/200,330 US6665214B1 (en) 2002-07-22 2002-07-22 On-chip erase pulse counter for efficient erase verify BIST (built-in-self-test) mode
US10/200,518 US7010736B1 (en) 2002-07-22 2002-07-22 Address sequencer within BIST (Built-in-Self-Test) system
US10/200,540 US20040049724A1 (en) 2002-07-22 2002-07-22 Built-in-self-test (BIST) of flash memory cells and implementation of BIST interface
US10/200,539 US6707718B1 (en) 2002-07-22 2002-07-22 Generation of margining voltage on-chip during testing CAM portion of flash memory device
PCT/US2003/018309 WO2004010437A1 (en) 2002-07-22 2003-06-10 Built-in-self-test of flash memory cells

Publications (1)

Publication Number Publication Date
JP2005534131A true JP2005534131A (ja) 2005-11-10

Family

ID=30773813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004522988A Withdrawn JP2005534131A (ja) 2002-07-22 2003-06-10 フラッシュメモリセルの組込み自己試験

Country Status (8)

Country Link
EP (1) EP1529293B1 (ja)
JP (1) JP2005534131A (ja)
KR (1) KR100941745B1 (ja)
CN (1) CN1679118A (ja)
AU (1) AU2003243484A1 (ja)
DE (1) DE60302473T2 (ja)
TW (1) TW200410258A (ja)
WO (1) WO2004010437A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012146390A (ja) * 2005-11-01 2012-08-02 Sandisk Il Ltd フラッシュメモリをテストするための方法、システム、および、コンピュータで読み取り可能なコード
JP2013145545A (ja) * 2011-12-16 2013-07-25 Toshiba Corp 半導体記憶装置、不揮発性半導体メモリの検査方法、及びプログラム

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424659B2 (en) 2003-10-31 2008-09-09 Sandisk Il Ltd. System-in-package and method of testing thereof
CN101529518B (zh) * 2005-11-01 2013-10-30 晟碟以色列有限公司 用于测试快闪存储器的方法、系统和计算机可读代码
JP5023582B2 (ja) * 2006-07-05 2012-09-12 横河電機株式会社 半導体集積回路試験装置及び方法
TWI401690B (zh) * 2008-12-24 2013-07-11 Phison Electronics Corp 快閃儲存裝置及其測試方法與測試系統
US8627158B2 (en) 2011-12-08 2014-01-07 International Business Machines Corporation Flash array built in self test engine with trace array and flash metric reporting
KR102055174B1 (ko) * 2012-06-18 2019-12-12 알레그로 마이크로시스템스, 엘엘씨 감지된 물체의 근접에 반응하여 근접 신호의 하나 또는 그 이상의 특성 값들이 분류되는 셋 또는 그 이상의 포텐셜 카테고리들의 적어도 하나를 전달할 수 있는 자기장 센서들 및 관련 기술들
US8754640B2 (en) * 2012-06-18 2014-06-17 Allegro Microsystems, Llc Magnetic field sensors and related techniques that can provide self-test information in a formatted output signal
CN103514129B (zh) * 2012-06-21 2017-03-29 深圳市中兴微电子技术有限公司 一种芯片接口转换方法及芯片
US8830756B2 (en) * 2013-01-23 2014-09-09 Freescale Semiconductor, Inc. Dynamic detection method for latent slow-to-erase bit for high performance and high reliability flash memory
TWI569284B (zh) * 2015-05-27 2017-02-01 慧榮科技股份有限公司 記憶體控制器與記憶體模組
CN107301880B (zh) * 2017-06-15 2020-03-17 西安微电子技术研究所 一种片上嵌入式Flash的内建自测试结构
US10656170B2 (en) 2018-05-17 2020-05-19 Allegro Microsystems, Llc Magnetic field sensors and output signal formats for a magnetic field sensor
US11081155B2 (en) * 2018-06-18 2021-08-03 Taiwan Semiconductor Manufacturing Company, Ltd. MRAM reference current
TWI676989B (zh) * 2018-11-20 2019-11-11 華邦電子股份有限公司 記憶體裝置及其內置自測試方法
CN111292795B (zh) * 2019-05-23 2022-02-01 展讯通信(上海)有限公司 存储器的内建自测试系统
CN110364214A (zh) * 2019-06-28 2019-10-22 珠海博雅科技有限公司 一种读失效存储单元的替换方法、装置、设备及存储介质
CN110473586B (zh) * 2019-07-31 2021-05-14 珠海博雅科技有限公司 一种写失效存储单元的替换方法、装置、设备及存储介质
CN112331253B (zh) * 2020-10-30 2023-12-08 深圳市宏旺微电子有限公司 一种芯片的测试方法、终端和存储介质
CN112733478B (zh) * 2021-04-01 2021-08-03 芯华章科技股份有限公司 用于对设计进行形式验证的装置
CN113409845A (zh) * 2021-05-11 2021-09-17 珠海博雅科技有限公司 非易失性存储器的替换方法、装置及存储介质
CN113225232B (zh) * 2021-05-12 2022-06-10 中国第一汽车股份有限公司 硬件测试方法、装置、计算机设备及存储介质
CN114586102A (zh) * 2022-01-20 2022-06-03 长江存储科技有限责任公司 使用内部固件执行自验证的nand存储器中的数据保护

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2768175B2 (ja) * 1992-10-26 1998-06-25 日本電気株式会社 半導体メモリ
US5675546A (en) * 1996-06-07 1997-10-07 Texas Instruments Incorporated On-chip automatic procedures for memory testing
US6044481A (en) * 1997-05-09 2000-03-28 Artisan Components, Inc. Programmable universal test interface for testing memories with different test methodologies
JPH11329000A (ja) * 1998-05-19 1999-11-30 Mitsubishi Electric Corp 内蔵メモリテスト方法、およびそれに用いるバスインタフェースユニット、コマンドデコーダ
JP2001014890A (ja) * 1999-06-30 2001-01-19 Mitsubishi Electric Corp 半導体装置および半導体装置のテスト方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012146390A (ja) * 2005-11-01 2012-08-02 Sandisk Il Ltd フラッシュメモリをテストするための方法、システム、および、コンピュータで読み取り可能なコード
JP2013145545A (ja) * 2011-12-16 2013-07-25 Toshiba Corp 半導体記憶装置、不揮発性半導体メモリの検査方法、及びプログラム

Also Published As

Publication number Publication date
EP1529293A1 (en) 2005-05-11
TW200410258A (en) 2004-06-16
AU2003243484A1 (en) 2004-02-09
CN1679118A (zh) 2005-10-05
EP1529293B1 (en) 2005-11-23
KR100941745B1 (ko) 2010-02-11
DE60302473T2 (de) 2006-08-24
KR20050021543A (ko) 2005-03-07
DE60302473D1 (de) 2005-12-29
WO2004010437A1 (en) 2004-01-29

Similar Documents

Publication Publication Date Title
US7010736B1 (en) Address sequencer within BIST (Built-in-Self-Test) system
US6631086B1 (en) On-chip repair of defective address of core flash memory cells
JP2005534131A (ja) フラッシュメモリセルの組込み自己試験
US20040049724A1 (en) Built-in-self-test (BIST) of flash memory cells and implementation of BIST interface
JP4413406B2 (ja) 不揮発性半導体メモリ及びそのテスト方法
US6665214B1 (en) On-chip erase pulse counter for efficient erase verify BIST (built-in-self-test) mode
US6707718B1 (en) Generation of margining voltage on-chip during testing CAM portion of flash memory device
US7663921B2 (en) Flash memory array with a top gate line dynamically coupled to a word line
US6992937B2 (en) Column redundancy for digital multilevel nonvolatile memory
US5675546A (en) On-chip automatic procedures for memory testing
US7028240B1 (en) Diagnostic mode for testing functionality of BIST (built-in-self-test) back-end state machine
US9824775B2 (en) Feedback validation of arbitrary non-volatile memory data
US7181566B2 (en) Scratch control memory array in a flash memory device
KR100264028B1 (ko) 부트 블럭 방식을 채용하는 불휘발성 메모리의데이타 소거 메카니즘
JP2008004264A (ja) 不揮発性半導体メモリ及び不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法
US6525963B2 (en) Programmable read-only memory and method for operating the read-only memory
JP2006331618A (ja) 半導体集積回路装置
KR20100088913A (ko) 불휘발성 메모리 소자 및 동작 방법
EP0721645B1 (en) Automatic test circuitry with non-volatile status write
Marotta et al. Memory circuit technologies
KR19990065224A (ko) 내부적으로 프로그램 패스/페일이 검출 가능한 플래시 메모리장치

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905