JP2002203398A - 不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法 - Google Patents

不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法

Info

Publication number
JP2002203398A
JP2002203398A JP2001335000A JP2001335000A JP2002203398A JP 2002203398 A JP2002203398 A JP 2002203398A JP 2001335000 A JP2001335000 A JP 2001335000A JP 2001335000 A JP2001335000 A JP 2001335000A JP 2002203398 A JP2002203398 A JP 2002203398A
Authority
JP
Japan
Prior art keywords
test
memory
address
dut
tester
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
JP2001335000A
Other languages
English (en)
Inventor
Jr Alan S Krech
アラン・エス・クレッチ・ジュニア
John M Freeseman
ジョン・エム・フリーズマン
Ken Hanh Duc Lai
ケン・ハン・ダック・ライ
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies 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
Application filed by Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of JP2002203398A publication Critical patent/JP2002203398A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

(57)【要約】 【課題】 不良列のアドレスをプログラミングする時間
を低減する。 【解決手段】 (a)被試験メモリに適用される同じア
ドレス30によりアドレス指定されるタグRAMを確立
し、(b)適用されるアドレスが不良な列に関連するこ
とを判定し、(c)タグRAM中の前記適用されるアド
レスに前記列が不良であることの表示123、124を
記憶し、(d)(a)〜(c)の後に、前記被試験メモ
リの試験の次の段階の間に自動データ置換機構(3
5”)をイネーブルし、そして、(e1)前記タグRA
Mに試験アドレスを適用しつつ、前記被試験メモリを前
記試験アドレスにプログラミングすることを試みて、
(e2)前記試験アドレスが不良な列に属するものであ
ることの表示を前記タグRAMが含んでいる場合には、
被試験メモリが正常であると即座に通知するようにする
1によってプログラミングされるべきデータ値を置換す
ることを含む方法を提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本開示は、2000年9月2
8日に出願された米国特許出願第09/672,650
号“MEMORY TESTER HAS MEMORY SETS CONFIGURABLE FOR
USE AS ERROR CATCH RAM, TAG RAM's, BUFFER MEMORIE
S AND STIMULUS LOG RAM”に開示の情報に関わるもので
ある。この出願においては、本願の関連事項であるアド
レス選別及びデータ選別処理の態様が開示されている。
このことから、上記米国出願第09/672,650号
を引用することにより本明細書の一部をなすものとす
る。本特許出願の主題事項は、2000年10月2日に
出願された米国特許出願第09/672,650号“ME
MORY TESTER TESTS MULTIPLE DUT's PER TEST SITE”に
開示の発明にも関わる。この開示は複数の「小さい(li
ttle)」デバイスを1つの「大きい(big)」デバイスと
して試験する為の技術に関するものである。必ずしも必
須要素ではないものの、これらの技術は有用であり、本
願の技術と連携して使用することができる為、本願にお
いても関心対象とするものである。従って、この特許出
願第09/672,650号を引用することにより本明
細書の一部をなすものとする。
【0002】
【従来の技術】日常生活において、電子装置およびその
機能が著しく浸透してきている。多くの人々は、多岐に
わたる雑多な目的で家庭用パーソナルコンピュータ等と
共に複数の生産的なツールを所有している。多くの個人
向けの生産的電子装置は何らかの形態で不揮発性メモリ
を含んでいる。携帯電話は電源を切ってもユーザーがプ
ログラムした電話番号や設定を保持できるように不揮発
性メモリを用いている。PCMCIAカードの場合に
は、コンピュータのスロットから取り外された状態でも
情報を維持することができるように不揮発性メモリを利
用する。他の多くの一般的な電子装置も、電力が供給さ
れていない組立体において不揮発性メモリの長期保存能
力を利用している。
【0003】電子装置メーカーに不揮発性メモリを販売
する不揮発性メモリの製造者は、自社で製造したメモリ
が適正な動作を行うかを、テスタを用いて確認する必要
がある。不揮発性メモリは大量に一貫して低コストで製
造および販売される為、個々の部品の試験に要する時間
は可能な限り短くすることが非常に重要である。不揮発
性メモリの購入者は、購入したメモリ素子をより高額な
組立部品へと組み込む際に、コストを節約する為に最小
限度の試験のみ、或いは無試験で済むように望むことか
ら、メモリ製造者は高い出荷歩留まりを要求される。従
って、メモリの試験手順は、不適合品の大部分、望まし
くは全ての不適合品を1回の試験工程において識別し得
るような充分に高い効率を提供するものでなくてはなら
ない。
【0004】不揮発性メモリの大型化と高密度化と複雑
化とが進むに伴い、これらの寸法及び複雑性への対応
を、試験時間を大幅に増大させることなく行えるテスタ
が要求される。また、テスタはメモリ素子の進化及び改
良に伴ってメモリ素子に加えられたこれらの変化に容易
に適合できなければならない。不揮発性メモリ試験にお
いて特徴的な他の問題は、メモリのセルへの書込みが何
度も繰り返されると、その部品の全体的な寿命性能が劣
化する可能性があるという点である。不揮発性メモリの
製造者は、特別な試験モードをメモリ素子中へと組み込
むことにより試験に関わる多くの問題に対処している。
これらの試験モードはメモリの購入者によって使用され
るものではなく、製造者がアクセスしてメモリの全て、
又は大部分を可能な限り短時間で効率良く試験するため
のものである。不揮発性メモリの中には試験工程中に修
復可能なものもある。従ってテスタは、修復の必要性
と、修復個所と、必要な修復の種類とを識別するもので
なくてはならず、また適切な修復を実施できなければな
らない。このような修復工程には、メモリ中の特定の不
適合部分を検出して分離することができるテスタが必要
である。修復機能と共にこの特別な試験モードの利点を
有効に活用する為には、素子から期待される応答に基づ
いた条件分岐をサポートする試験プログラムを実行する
ことができるテスタの使用が有益である。
【0005】メモリを試験するプロセスは、概念的観点
から見るとアルゴリズム的プロセスである。例えば、一
般的な試験は、0又は1をメモリセルへと書込みながら
メモリアドレスを順次増分又は減分することを含んでい
る。1メモリサイクル中に書込まれる、又は読出される
1及び0の集合を、一般的に「ベクタ(vector)」と呼
び、ベクタのシーケンスを「パターン(pattern)」と呼
ぶ。試験は、ウォーキング1(walking 1's)や、バタ
フライパターンや、チェッカーボードといったパターン
をメモリ空間へと書込むことが一般的である。試験開発
者(test developer)は、アルゴリズム的構造の助けを借
りることによって、より容易かつ効率的に試験パターン
を作成する為のプログラムを生成することができる。ア
ルゴリズム的に一貫した試験パターンは、デバッグが容
易であり、論理的方法を使用して期待処理を実行しない
パターン部分を分離することができる。プログラミング
ループ中で繰り返す命令及びコマンドを使用してアルゴ
リズム的に作成された試験パターンは、テスタメモリに
おいて消費する空間が小さい。従って、メモリテスタは
アルゴリズム的な試験パターン作成能力を有することが
望ましい。
【0006】信号エッジの正確な配置及び検出も、不揮
発性メモリのテスタの効率に関連して考慮されるもので
ある。指定されたマージンの内では不適合でありつつも
中央値(median)においてはほぼ適合した部品を捕捉す
るには、不揮発性メモリテスタは、各信号エッジを他の
信号エッジに対して時間的に正確に配置できなければな
らない。また、どの時点において信号エッジが受信され
たかを正確に測定する能力も重要である。従って、不揮
発性メモリテスタは、刺激のタイミングの与え方と、被
試験デバイス(Device Under Test:以下、「DUT」と
呼ぶ)であるメモリからの応答とについて、充分な柔軟
性及びコントロールを有するべきである。
【0007】メモリテスタは、DUTへと付与(または
刺激)する送信ベクタを生成し、期待される返信(また
は応答)としてのベクタを受信するものであると言われ
ている。メモリテスタは、信号をDUTに接触する特定
の端子へと、または端子から、ルーティングする為のマ
ッピング機構を含んでいる為、これらのベクタを生成す
るアルゴリズム的論理装置は、一般的にこれらの生成を
ベクタ中の特定のビットがどのようにDUT中の特定の
信号パッドへと(または信号パッドから)送られるかを
考慮することなく行うことができる。アルゴリズムパタ
ーン生成と、閾値設定、信号条件設定、比較のための機
構の集合、及び、これらをDUTへと接続するプローブ
を試験サイトと呼ぶ。単純な例においては、各試験サイ
トに1つのDUTが対応する。
【0008】メモリテスタは試験工程を助ける為に使用
する内部試験メモリを有する。この内部試験メモリは幾
つかの目的に使用することができ、その目的は、リアル
タイム生成のかわりに送信ベクタの事前記憶および受信
ベクタの記憶と、試験中に得られたDUT挙動に関する
各種のエラー表示及び他の情報の記憶とを含む。(更に
RAMを用いたメモリテスタ処理内部のハウスキーピン
グ処理等もあり、これは「内部メモリ(interior memor
y)」という語の範囲に入るようにもみえる。しかし、
これらはテスタの内部処理に専用のものであり、アルゴ
リズムレベルでは見えず、実行可能命令記憶機構及び内
部制御レジスタに相当するものである。このメモリを、
「内部制御メモリ(interior control memory)」とし
て、本願において言うところの「内部試験メモリ(inte
rior test memory)」から除外している。この「内部試
験メモリ」は、DUTへのまたはDUTからの刺激また
は応答に直接に関係するビットパターンを記憶する為に
用いるものである。)この内部試験メモリが、実施する
試験と少なくとも同じ速度で動作しなければならないも
のであることは容易にわかる。非常に一般的なやり方
は、DUTへと適用するものと同じアドレス(又はそれ
から派生したもの)により内部試験メモリ(又はその一
部)をアドレス指定することである。この場合には、内
部試験メモリのアドレス指定された位置に記憶されるこ
とになるのは、DUTに実施された試験処理中のそのア
ドレスにおけるDUTの挙動を示す何等かの情報であ
る。試験プログラム中にアルゴリズム的な配慮があると
すれば、それは、連続送信ベクタに関連するアドレスシ
ーケンスが任意であることであろう。従って、内部メモ
リは高速性とランダムアドレス指定能力という2つの特
性を有する必要がある。すぐに思い浮かぶのは、高速で
あり、制御が容易で、完全なランダムアドレス指定が可
能なSRAMである。実際には、従来のメモリテスタは
その内部試験メモリとしてSRAMを使用してきた。
【0009】
【発明が解決しようとする課題】残念なことにSRAM
は非常に高価である為、メモリテスタに用いる内部試験
メモリの容量は限られていた。この結果、メモリ不足に
よりメモリテスタの機能性には限界があった。DRAM
はより安価であるが、ランダムなアドレス指定において
高速動作ができない。
【0010】SRAMに代えてDRAMをメモリテスタ
の内部試験メモリとして使用することができる。以下に
簡単に説明されているが、内部試験メモリとして使用す
る為にDRAMの処理速度を上げるという課題は、高速
化を試みるかわりに、使用するDRAMの容量を増やす
ことにより解決することができる。DRAMの複数の同
様の「バンク」を「グループ」として取り扱う。1グループ
中の異なるメモリのバンクに対する信号をインターリー
ブすることと、バンクのいくつかのグループ間での多重
化とを組み合わせることにより、メモリトラフィックを
任意のバンクに対しても、そのバンクによって扱うこと
ができる速度になるように遅くするのである。
【0011】
【課題を解決するための手段】内部試験メモリ組織の最
上レベルにおいては、4つのメモリ集合が存在し、メモ
リ集合の各々は独自に別個のアドレス空間を持ち、要求
されたメモリトランザクションを実行する。その2つは
上述したDRAMであり、他の2つはSRAMである。
メモリ集合の各々は独自にコントローラを有し、メモリ
トランザクションはそのコントローラへと向けられる。
外部から見える処理能力に関して言えば4つのメモリ集
合は全て基本的に同一のものである。これらはメモリ空
間のサイズ及び内部的にどのように実現されているかに
ついてのみ異なっている。SRAMメモリ集合はそもそ
も充分に高速である為、多重化もインターリーブ処理も
実施しない。同じ種類(SRAM又はDRAM)のメモ
リ集合は、それぞれに独立はしているものの、これらを
「スタックする(stack)」、つまり、より大きな1つ
のアドレス空間として取り扱うことができる。
【0012】従って、テスタの内部試験メモリは4つの
メモリ集合へと分割されており、そのうちの2つが「内
部(internal)」SRAMであり、他の2つが「外部(e
xternal)」DRAMである。誤解の無いように触れてお
くが、これらのメモリは全てメモリテスタ内部にある。
「内部」及び「外部」という語は、集積レベルに関する
ものである。SRAMはテスタの中心機能回路に関わる
VLSI(超大規模集積回路)の集積部品であり、DR
AMは、別個にパッケージングされてVLSIに隣接し
て実装されている部品である。SRAMの容量はかなり
小さい(例えば1メモリ集合あたり1メガビット程度)
が、DRAMの容量はかなり大きく選択することができ
る(例えば1メモリ集合あたり128〜1024メガビ
ット)。SRAMメモリ集合は常に存在し、ROMであ
るDUTに期待される内容を記憶する等、それらに好適
な目的に使用することができる。DRAMメモリ集合
は、実際には任意選択的なものであり、一般に修復を行
う為の後の解析用に記録を作成しておく為に使用される
が、他にも多様な用途がある。テスタはどちらのメモリ
をどの用途に利用するかについて、SRAMとDRAM
との間で強制的に区別するようなことはしない。用途の
選別は主にそのサイズにより決まる。SRAMメモリセ
ットは小さいが、DRAMメモリ集合は潜在的に大き
い。各種メモリ集合をどのように利用するかについての
決定は、試験プログラムを作成する技術者が行うもので
ある。しかしながら、メモリテスタの特定の処理機能に
特定のメモリ集合を利用しなければならないといった若
干の区別は存在する。これは、メモリ集合への専用ハー
ドウエア経路を必要とする経済的又は性能的な配慮から
生じるものである。このようなメカニズムを一般化して
考えることもできるが、相応しくみえるものを選んで、
試してみるのが近道であろう、
【0013】このような大容量の内部試験メモリ(DR
AMメモリ集合の形のもの)が出現を受けて次に考慮さ
れるのは、メモリテスタに望まれる機能を助ける為に、
これらの追加メモリ容量をどのように利用するかであ
る。本願で対象とするテスタにおいては、内部試験メモ
リのサブシステムは非常に柔軟であり、32ビットとい
う固有ワード長を有しながらも、有効ワード長を2のい
ずれかの冪数(最高25=32まで)としつつ、これに
対応させてより狭いワード用のアドレス空間を増大させ
ることができる。DUTのアドレス指定と内部試験メモ
リのアドレス指定との両方における広範囲のアドレスマ
ッピング能力と、複数のタグRAM(TagRAM)やその他
に及びエラー分析ツールを助ける相当のデータ選別及び
アドレス選別のための機構とがあり、これらは全て内部
試験メモリの容量を大きくすることで実現することが容
易になったものである。更に、より多くのメモリにより
可能となったこれらの改良は意味無く存在するのではな
く、あるタイプのメモリ部品の試験には非常に有用なも
のである。
【0014】近年の技術革新によってメモリ部品におい
て真の大容量(512MB)及び幅の広いデータ経路
(32ビット)が実現されるに至ったが、それでもな
お、現在の通信サービスにおいては以前から存在する4
ビットと8ビットと16ビットの部品も依然として広く
利用されている。それだけではなく、シリアル化を行う
か、或いはその広い固有ワード長のデータ全体を伝送す
る為の複数サイクルにわたる区分化をサポートするとい
うコストを払っても、アドレス及びデータ伝送において
大容量部品の能力を抑制して狭い経路に適合させている
ケースもある。このような状況には様々な理由がある。
必要とされる部品が小容量のものに限られている場合
や、または、大容量部品に狭い経路を持たせることがで
きる用途(常にシーケンシャルにアドレス指定されるビ
デオ用途)である場合等である。要するに、狭い経路を
持つメモリ部品が市場で受け入れられる充分な経済的理
由が存在し、そしてこのことは、これらの小容量部品に
も試験が必要とされていることを意味する。
【0015】時には、1試験ヘッド当たり64チャネル
のメモリテスタで8ビット部品を試験したいと望む場合
がある。この場合には、電源及びアースと、I/Oバス
と、クロック及び各種制御線とで、恐らくは12〜16
チャネルが必要となる。ここで、例えば14チャネルを
使用することを想定する。しかしこれは、その部品を試
験ヘッド下に配置した時に、残りの50チャネルが使用
されないということではない。
【0016】64チャネルは、16チャネルの4回分の
試験を実施するに充分な数である。ウエハ上の分割され
ていない4つのDUTの集合か、或いは4個のパッケー
ジ済み部品を、たまたま4つの小容量部品の結合体であ
るかのように見える単一の大容量部品として捉える事が
できる。論理的にはこれらの4つの小容量部品を同じ試
験ヘッドによって同時に試験することができるのであ
る。ここで、問題となるのは、このことが困難であって
簡単に実施できないという点である。1スレッド制御
(single-thread-of-control)の試験プログラムが4ス
レッド制御(four-thread-of-control)の試験プログラ
ムをエミュレーションし、これら4スレッドの各々(個
々のDUTに実施される)が、条件分岐及び他の結果依
存型の動作を含むことになるように試験プログラムを書
き直さなければならないのである。これは非常に面倒で
あり、かえって必要に応じて内部の実行経路を独自に分
岐することができて4つの単純なプログラムを持つ4つ
の別個の実行機構を使用した方が望ましいように見え
る。しかし、実際に単一の大容量部品を試験する1プロ
グラムによって、64チャネル全てを制御しなければな
らないという、逆の他方の極端な局面においてはどうす
れば良いのかという問題が生じる。4つの小型プロセッ
サを合わせても、1つの大型プロセッサにはならない。
【0017】メモリテスタの内部構造は複数の同じ種類
のDUTの試験を1つの試験サイトで実施できるように
拡張することができ、通常1つのDUTの試験に用いら
れる元の試験プログラムに著しい変更を加える必要も生
じない。複数のDUTは相互に電気的に絶縁されてはい
るが、少なくとも最初は同じ応答が期待される同じ刺激
が適用される。これを実施する為にDUTは、それら各
々の試験に用いられるチャネルの集合に結合される。テ
スタは命令によりそれらのチャネル上にある1つのDU
Tを試験する為に必要な試験ベクタのセグメントを他の
DUT用に複写することができる。これにより「DUT
n個分の幅(n-many DUT's wide)」を持つ送信(また
は刺激)及び受信(または応答)ベクタのパターン(ま
たはシーケンス)が生成される。受信ベクタ中の条件
(DUT不良)に呼応した試験プログラム中の条件分岐
は、複数種のエラー表示の識別能力と、1つ以上のDU
T試験を選択的にディスエーブル(disabled)する一方
でディスエーブルされていない1つ以上のDUT試験を
継続する能力とによって支持されている。エラー表示
は、チャネル毎の機能エラーフラグと、DUT毎の機能
エラーフラグと、DUT毎のパラメータエラーフラグと
を含んでいる。DUT毎の機能エラーフラグは、DUT
−チャネル関係に基づいて行うチャネル毎の機能エラー
フラグの論理和演算から作成される。これらのフラグは
試験プログラムに通知され、これにより、試験プログラ
ムは疑わしいDUTに対して実施する特殊試験又はその
他の処理を呼び出す為にプログラムの流れを変える様々
な適正な動作を実施することができる。エラー条件はま
た、送信ベクタの適用及び受信ベクタの比較を行う回路
中にある事前にプログラムされた機構により検出され
る。これらの事前プログラム機構は、チャネル毎にその
チャネルのDUT信号について駆動及び受信フォーマッ
トを変える機能を含む動作を生じるものである。更に、
特定のDUTへの刺激を排除又は制限すると同時に特定
のDUTについては全ての比較結果を、真実がどうであ
れ「良好(good)」にみせかけるようにする動作も含ま
れる。
【0018】このように試験プログラムは、エラーが通
知されない限り複数(実施例においては最高4個)のD
UTを同時に並行して試験できるようになっている。エ
ラーが通知されると、試験プログラムはエラー調査ルー
チンへと分岐し、被疑DUTを継続して動作させる一方
で、問題の無いDUTの動作を一時的にディスエーブル
する。この不良DUTに修復不能な欠陥があった場合、
または、これに電力供給を継続することが安全ではない
場合には、その不良DUTがディスエーブルされる一方
で、他の良好なDUTが再度イネーブルされて通常の試
験に戻る。このように、1スレッドの実行(単一のDU
T試験においても基本的にこの同じ形式で存在する)を
選択的に異なるDUT間で、どのDUTが不良を生じた
のかにより必要に応じて切り換えることができる。これ
らの選択的切り換え期間においては、特定の対象DUT
の試験を実施する為に、全DUTの同時試験は一時停止
される。分岐を実行する切り換え及びジャンプはまた、
試験中に偶発的事象が認識された際に生じるようにプロ
グラム的に定義しておくこともできる。このプログラム
的定義の一部は、1スレッドの試験プログラムに対して
容易に実施することができる変更であり(試験プログラ
ムは1スレッドのまま)、また他の一部は各種ハードウ
エア補助機構の事前設定である。
【0019】フラッシュメモリ(FLASH memory)等のあ
る種のメモリ技術には、これらのメモリの用法及び試験
方法に影響を与える特定の特性がある。例えば、フラッ
シュメモリを例にとってみると、典型的にはデバイス全
体(又はブロックと呼ばれるその一部)に1を記憶する
為に消去機能を使用しており、また、0を書込むには、
0を記憶すべきアドレスに書込み動作を繰り返すことに
よる「プログラミング」が行われる。消去は多大な数のア
ドレス(デバイス全体又は与えられたアドレスを含むブ
ロック)に作用を及ぼす一括処理であるが、あるアドレ
スに0を「プログラミング」する場合には、アドレス指定
されたメモリセル中に充分な電荷移動が生じるまで書込
み動作が繰り返される。今日のフラッシュメモリにおい
ては、プログラミング(書込み)がなされるまで自動化
された内部プログラミング処理が繰り返し実行される間
に、デバイス自体がセルの内容を内部的に読取る。例え
ば8ビットデバイスにおいては、そのアドレスにおける
8ビットが内部的に確認され、プログラミング処理(書
込み処理)はこれら8ビット中に書込むべき0が何個で
あろうとそれらの各々が適正に書込まれるまで内部的に
続けられる。あるメモリ中には他のセルよりも容易に書
込みを実施することができるセルもあるが、0を書込む
為には数百回のプログラミングサイクルを要する場合も
ある。
【0020】近年のフラッシュデバイスは、これらのよ
うな処理をコマンドの形式で受けて、状態レジスタによ
って駆動されたそれらの最終結果が成功したか或いは失
敗したかを出力線上に通知する。従って、例えば、アド
レス及びデータをデバイスへと供給し、プログラム線又
はコマンドが作用を及ぼす。状態レジスタは、例えば、
全て0になると「ビジー状態」にあることを表し、全て
1となって「作業を適正に終了した状態」となったこと
を表す。この処理の工程において他のビットパターンが
生じた場合には、これはエラーコードであり、何らかの
不具合を表すものである。
【0021】先に0を書込んだあるアドレスに再プログ
ラミング(再書込み)により1を記憶させる処理は許容
され得る処理ではあるが、フラッシュデバイスではその
構造的理由から実施できない処理である。これをどうし
ても行わなければならない場合には、デバイス全体(又
はそのアドレスを含むブロック全体)を消去しなければ
ならず、プログラミングを最初からやり直さなければな
らない。しかしながら、1をプログラミングするコマン
ドを受け、即座に成功通知をしておきながらこれを無視
するという処理モードは、フラッシュデバイスにおいて
標準となっている。
【0022】従って、フラッシュ部品の試験方法は、大
まかに3つの手順からなる処理であるようにみえる。第
一にはその部品に対して消去操作を行い、第二にその部
品をプログラミングし、そして、第三にはそれを動作さ
せる(excuse)。その部分を適正にプログラミングする
ことは、まさにデバイスの試験を実施することである。
しかしながら、試験技術者は、プログラミング完了後に
供給電圧を変化させつつこれを動作させ、タイミング関
係のチェックやアドレス指定順序及び記憶データ中のパ
ターンが処理に悪影響を与えないことの確認を行いたい
と望む場合もある。フラッシュ部品の一連の試験におい
ては、この3つの手順処理が複数回にわたって実施され
る場合もある。各処理において異なるプログラミング用
データの集合が処理され、そして恐らくはそれぞれに別
々の動作が行われる。一般的に、部品に対する動作処理
に要する時間は、試験時間のわずかな部分を占めるもの
で、消去とプログラミング(書込み動作)の時間の方が
重要である。
【0023】フラッシュメモリを含む一部のメモリの内
部構成には、列(column)という概念が使用される。1
つの列には多数のアドレスが属しており、列の復号化に
おいて不良が生じた場合には、多くのアドレスが影響を
受けることになる。たった1つの不良なセル(例えば、
単一アドレスにおける単一ビット不良)が列中に存在し
ただけであっても、その列には欠陥があると捉えられ
る。いずれにしても、プログラミング処理段階のある時
点において、正しくプログラムされないアドレスがある
ことになる。この時点で、そのアドレスを含むその列
は、不良であるとされる。
【0024】フラッシュ部品の欠陥の列は、プログラミ
ング処理中、又は動作処理中に発見することができる。
後者の場合には、事前に特徴付けることは難しく、デバ
イス自体によって状態情報として通知される可能性が低
い為、これを試験プログラム中の好適なアルゴリズム機
構により検出する必要がある。
【0025】不良な列が修復可能か否かもまた別の問題
であり、恐らくは別の時点で判定されることである(修
復を試みるという決定は、予備試験により修復可能不良
の範囲を特定できた後に行うことが最も望ましい。いず
れのDUTにおいても、デバイス中の可溶性リンク(fu
sible link)を「破壊(zapping)」することにより切
り換えることができる代替回路の数は固定された数に限
られている)。現時点においては、その部品試験のバラ
ンスを保つ為、その列中の他のアドレスへの書込みに時
間を使わないように構成すれば、テスタの時間を幾分節
約することができる。
【0026】不良な列が、単一試験ヘッドにおけるマル
チDUT試験において発見されるのか、或いは単一試験
ヘッドにおける単一DUT試験において発見されるのか
については、(恐らくは修復を試みることにより)後に
処理を行うことを前提にこの事実を記録しておくことが
望ましい(特にマルチDUT試験の場合)。しかしなが
ら、不良な列について更なるプログラミング(書込み動
作)の実施を試みることは抑止しつつ、この間も試験が
継続されることが望ましい(他の列の為に)。この機構
が無い場合には、不良な列中のアドレスへのプログラミ
ングが試みられる為に余計な時間が消費されてしまうこ
とになる。動作中に、列が不良であるかどうかを試験プ
ログラムに判定させることは理にかなっていることでは
あるが(ある意味、それが試験の存在理由である)、そ
の試験プログラムに対し、不良とわかった列中にある他
のアドレスへの更なるプログラミングを回避する為に後
のプログラムの流れを変更させるという更なるタスクを
(プログラミング処理中又は動作処理中において)負担
させることは望ましくない。これは特にマルチDUT試
験の場合に言える。どうすればよいであろうか。
【0027】試験プログラムは、送信ベクタ(刺激)及
び受信ベクタ(期待応答)を生成する。送信ベクタはD
UTへと適用され、受信ベクタはDUTからの応答が期
待通りであったかどうかを判定する為の比較値として取
り扱われる。フラッシュ部品の書込みにおいては、試験
プログラムはタグRAM技術を利用して不良列の表(BA
D COLUMN table)をそのメモリ集合の1つに保持する。
不良列の表はDUTへと適用されるアドレスと同じアド
レスで指定される。不良な列を省略するモード(OMIT B
AD COLUMN mode)にある場合には、この表中のエントリ
は、メモリテスタハードウエアの自動的な働きにより取
得・使用され、DUTから自動的に即座に返されるプロ
グラミング成功表示を生成する全て1(又は他のパター
ン)の置換用のプログラミングデータ値を供給する。こ
れにより、試験プログラムの内部機能に変更を加える必
要を生じずに不良と判定された列のプログラミングに時
間を費やさずに済む。不良な列の発見及び不良列の表中
への記録は、試験プログラムの最初のプログラミング処
理段階において、或いはプログラミングされたフラッシ
ュDUTの動作処理において発見される毎に実施するこ
とができる。
【0028】これらの機能は、内部試験メモリ中に作成
される特殊な不良ブロック表(BAD BLOCK tab
le)の自動的な読出しと組み合わされて、不良ブロック
に関わる動作を自動的にディスエーブルして試験プログ
ラムへの更なる影響要因から排除することによって、内
部ブロック構造を持つメモリ部品の試験を容易にするも
のである。不良ブロックは、マルチDUT試験方式で試
験されているDUTに含まれていても含まれていなくて
も良い。
【0029】
【発明の実施の形態】まず、図1を参照するが、ここに
は本発明の原理に基づいて構築された不揮発性メモリ試
験システムの概略ブロック図1が描かれている。特に図
示のシステムは、一度に最高36個の個別のDUTを各
々最高64の試験個所において同時に試験することがで
きるものであり、64箇所よりも多い試験個所を持つD
UTを試験する為に試験リソースの集合の構成要素を結
合することができるように再設定機能を備えている。こ
れらの試験個所は、未だ分割・パッケージングされてい
ない集積回路ウエハの一部分上の位置であっても、或い
はパッケージングされた部品の端子であっても良い。
「試験個所(test point)」という語は、信号を適用す
ること(例えば電力供給、クロック入力、データ入力)
ができる、又は信号を測定すること(例えばデータ出
力)ができる電気的な部位を指す。本願においては、当
該産業分野における習慣に従い、試験個所を「チャネル
(channel)」と呼ぶことにする。先に述べた「結合さ
せる試験リソースの集合(collection of test resourc
es to be bonded together)」は、最高36個までの試
験サイトを意味するものと理解でき、各試験サイトは、
試験サイトコントローラ4と、(64チャネル)DUT
テスタ6と、DUT14へと実際の電気接続を作る(6
4チャネル)端子電子部品集合9とを含む。あるDUT
の試験において64本以下のチャネルを要するのであれ
ば、このDUTの試験には単一の試験サイトで充分であ
り、例えば、試験サイト#1(図1に図示)が、「単サ
イト試験ステーション(single site test station)」
を形成するか、或いは「単サイト試験ステーション」」と
して動作するとこの場合を表現する。一方、上述した再
設定が何らかの形で行われる場合には、2つ(以上)の
試験サイトを「結合(bonded)」して、128チャネル
を有するより大型の同等の試験サイトとして動作する。
従って、図1を例に再び参照すると、例えば、試験サイ
ト#35及び#36が「2サイト試験ステーション(two
-site test station)」を形成するとこの場合を表現す
る。
【0030】次に、逆の場合を簡単に考察してみるが、
留意すべきは、1つの試験サイト全体で1つのDUTを
試験する必要があること、或いは、1つの試験サイトが
1つのDUTしか試験できないということではない点で
ある。ウエハが2つ、3つ、または4つのダイ(恐らく
は隣接しているものであるが、必ずしもそうでなくとも
良い)を含み、その試験チャネル条件の和が64本以下
であると仮定する。すると、このような4つのDUT
(15a−d)を単一の試験サイト(例えば、図2に示
す試験サイト#2)で試験することができる。これが可
能なのは、各試験サイトが汎用プログラマビリティ(ge
neral purpose programmability)を持つ為である。そ
の試験サイトのリソースの一部が一方のDUTの試験に
使用されることになるように、他の部分が他方のDUT
の試験に使用されることになるように、その試験サイト
が実行する試験プログラムを書くことができる。要する
に、先に述べた2つのDUTの論理結合である第三のD
UTがあると仮定して、この第三のDUTを単一の試験
サイトで試験することができれば、その「構成要素であ
るDUT(component DUT's)」をそのまま同様に試験
することができるはずであるということである。唯一の
違いは、第三のDUTに対する統合的な回答が出るので
はなく、2つの「構成要素DUT」が合格したか不合格
となったかの記録が取られる。即ち、第三のDUTのど
の部分が不合格となったかの問題となるのである。更
に、不良DUTへの駆動信号の除去又は制限や、試験プ
ログラムをどのDUTが不良を示したかに基づいて分岐
させつつ、同時にその分岐数を非現実的な数にまで増や
さないようにすること等、他の問題も存在する。単一の
試験サイトにおけるマルチDUT試験ステーション能力
の特定の態様はごく単純であるが、他のものは複雑であ
る。このマルチDUT試験ステーションを、2つ以上の
試験サイトを結合するという概念と混同してはならな
い。
【0031】この再設定の概念抜きにしては、試験サイ
トと試験ステーションの間には何等の相違も無いことに
なり、いずれか一方の語を使用すれば良いことになる。
しかしながら明らかなように、この概念によれば試験ス
テーションの数は必ずしも試験サイトの数と同じとはな
らない。過去においても、1つの試験サイトを分割して
より多数の試験ステーションを作成すること(DUTが
1つの試験サイトを使い切るほど複雑ではない場合等)
で双方の数が違う場合があった。しかしながら、ここで
の数の違いは、複数の試験サイトが1つに結合してマル
チサイト試験ステーション(DUTが単一の試験サイト
で試験するには複雑過ぎる場合)を形成することによ
る。
【0032】説明を先へ進めると、試験システムコント
ローラ2は、システムバス3を介して最高36個の試験
サイトコントローラ(#1〜#36)4a〜4z(符号
最後のa〜zは1〜26文字迄であり、36個に対応し
ないが、数字符号の後に付ける接尾記号としては、まぎ
らわしい数字を使用するより好ましいと考えた)に接続
している。試験システムコントローラ2は、不揮発性メ
モリの試験タスクに関わる好適な試験システム制御プロ
グラムを実行するコンピュータ(例えばNTを起動する
PC)である。試験システム制御プログラムは、所望の
試験を行う為の仕事の階層(及び複雑性)において最高
レベルの抽象概念(abstraction)を表すものである。
試験システムコントローラは異なる試験サイトでどのプ
ログラムが起動しているかを判定すると同時に必要に応
じて試験プローブ及びDUTを動かすロボットシステム
(図示せず)を監督するものである。試験サイトの一部
が単サイト試験ステーションとして動作するようにプロ
グラムされ、他の試験サイトがマルチサイト試験ステー
ションを形成する為に結合されるようにプログラムされ
るという概念を支持するように、試験システムコントロ
ーラ2が機能を果たすことができる。このような状況に
おいては、異なる部品が試験されていることは明らかで
あるが、最も好ましくは、異なる部品に異なる試験が用
いられることである。同様に、全ての単サイト試験ステ
ーションが部品の同じ様式を試験しなければならないと
いう条件は無く、マルチサイト試験ステーションにもそ
のような条件は無い。従って、試験システムコントロー
ラ2は、必要とされる試験サイト結合を実施するコマン
ドを発し、そして、使用される様々な試験ステーション
に適正な試験プログラムを実行させるようにプログラム
されているのである。試験システムコントローラ2は、
試験により得られた結果に関する情報の受信も行って、
不良品を破棄する為の適正な行動を取ることができ、例
えば工場設備設定における製造工程制御等に利用できる
様々な解析結果のログを管理することができる。
【0033】試験システム自体は相応に大型の複雑なシ
ステムである。一般的にロボットサブシステムを含み、
これによりウエハをステージ上に搭載し、続いて端子電
子部品(pin electronics)9と接続するプローブ下の
試験位置に試験対象である1つ以上の今後のダイ(この
時点ではウエハはダイシングされていない)を配置する
ようになっている。試験システムはまた、好適なキャリ
ア上に搭載されたパッケージ済み部品の試験にも使用す
ることができる。以下に説明するように、1試験ステー
ションの形成にいくつの試験サイトが用いられている
か、或いは1試験サイトにいくつの試験ステーションが
形成されるかにかかわらず、使用される試験ステーショ
ンの各々には少なくとも1つの対応する試験サイトコン
トローラ(後に説明する)が存在する。試験サイトコン
トローラは、例えば36MB〜64MBのプログラム及
びデータメモリの組み合わせを含み、VOS(VersaTes
t O/S)と呼ばれる自社開発OSを起動するインテル社
のi960プロセッサ等の埋め込み型装置であり、この
VOSはアジレント社のV1300又はV3300等の
不揮発性メモリを試験する為の初期の製品にも使用され
ている。ここではしばらくの間、単サイト試験ステーシ
ョンについてのみ考える。具体的な事例として、試験サ
イト#1が、試験ステーション#1としてWHIZCO
部品番号0013を試験するように動作しているものと
する。試験実施には100種類程度の異なるタイプの試
験(大量の単純な記憶だけでなく、電圧レベルとパルス
幅とエッジ位置と遅延とを変化させて監視し、そして選
択されたパターンの情報の読出し)が行われ、各タイプ
の試験ではDUTに対して何百万ものメモリサイクルが
実行される。最高位のレベルにおいて、試験システムの
オペレータが試験システムコントローラ2に対して試験
ステーション#1を使ってWHIZCO0013の試験
を開始するように命令する。試験システムコントローラ
2は、その処理の過程で試験サイトコントローラ#1
(4a)[埋め込み(コンピュータ)システム(embedd
ed computer system)]に対して関連の試験プログラム
(例えば、TEST_WHIZ_13)を起動するよう
に指示する。このプログラムが、試験サイトコントロー
ラ#1の環境中に既にある場合には、単純にこのプログ
ラムが実行される。なかった場合には、プログラムは試
験システムコントローラ2から供給されることになる。
【0034】ここで基本的には、プログラムTEST_
WHIZ_13は完全に独立したものであっても良い。
しかしその場合には、ほぼ間違いなくそのプログラムは
大きく、試験サイトコントローラ4aの埋め込み型シス
テムのプロセッサがこれを充分に高速で起動し、試験結
果を所望の速度で生成すること、或いはDUTメモリサ
イクル毎に均一な速度で生成することでさえ難しくな
る。従って、書込むべき、或いは読出し処理で期待され
るアドレス及び関連データのシーケンスを生成する下位
レベルのサブルーチンタイプの動作は、必要に応じてD
UTテスタ6中にあるプログラム可能なアルゴリズム的
機構により実行されるが、これは試験サイトコントロー
ラ4中の埋め込みシステムが実行するプログラムと同期
して動作するものである。低レベルサブルーチンのよう
な動作とDUTメモリサイクルを起動するタスクとのよ
うなこの処理を、DUT14のハードウエア環境に対し
てより近い機構(DUTテスタ)へとエクスポートする
ことであると考える。そして、一般的に言って、試験シ
ステムコントローラ2が試験サイトコントローラ2に試
験プログラムを供給する度に、試験サイトコントローラ
に対するプログラミングにより記述され又は要求され
る、全体的な動作の実行に要する適正な低レベル実行ル
ーチン(恐らくは試験するメモリに特定的である)が対
応するDUTテスタへと供給されることにもなる。低レ
ベル実行ルーチンは「パターン(pattern)」と呼ば
れ、高レベルのプログラミング言語における機能や変数
に名前があるのと同様に、これらにも一般名称が付けら
れている。
【0035】各試験サイトコントローラ#n(4)はサ
イト試験バス#n(5)により対応するDUTテスタ#
n(6)へと結合している。試験サイトコントローラ
は、サイト試験バス5を使用してDUTテスタの動作を
制御し、そこから試験結果を得る。DUTテスタは、試
験実施に関わる様々なDUTメモリサイクルを高速で生
成することができ、読取(read)メモリサイクルの結果
が期待通りのものであったかどうかを判定する。基本的
に、これは対応する有用な読取及び書込み(write)D
UTメモリサイクルのシーケンスを起動することにより
試験サイトコントローラから送られるコマンド又は処理
コード(「名前の付けられたパターン(named patter
n)」)に応答するものである(例えば対応するパターン
を実行する等)。概念的に言えば、DUTテスタ6はD
UTへと適用されるべき刺激情報を出力し、そこから返
される応答情報を受信するものである。この刺激または
応答情報7aは、DUTテスタ6aと端子電子部品#1
の組立部品9aとの間で交わされる。端子電子組立部品
(pin electric assembly)9aは、DUT14へと接
続することができるプローブを最高64本までサポート
する。
【0036】上述した刺激情報は、DUTテスタ中に使
用されているいずれかの論理素子系列の電圧レベルに基
づいて表現された、並列ビットパターンシーケンス(例
えば「送信ベクタ(transmit vector)」及び期待される
「受信ベクタ(receive vector)」のシーケンス)でしか
ない。刺激または応答中のビット位置とダイ上のプロー
ブとの間には設定可能なマッピング機構が存在し、この
マッピング情報はDUTテスタ6が把握している。個々
のビットは、それらのタイミング及びエッジ配置におい
て適正なものであるが、マッピングに加えてこれらをD
UTへと適用する前に電圧レベルシフトが必要な場合も
ある。同様に、刺激に続いてDUTから出力される応答
も、DUTテスタへと送り返せるような状態にする前に
バッファリング及び(逆)レベルシフトが必要な場合も
ある。これらのレベルシフトタスクは端子電子部品9a
の範疇にある。WHIZCO‐0013の試験に要した
端子電子部品の設定は、AMCE社の部品や、恐らくは
WHIZ社のものであっても他の部品に転用できる可能
性は低い。従って、端子電子組立部品構成もまた設定可
能であることが必要であることが理解される。このよう
な設定能力の提供はPE設定線8aの機能である。
【0037】以上のように、1つのDUTを試験する為
に単一の試験サイトがどのように構築されるかの構造的
な概要を述べた。次に、多数の試験サイトを動作させる
場合に生じる問題について触れる。前提としてまず複数
の試験サイトを有する試験システムを構築する為の推奨
される実施例を説明する。これからここに記載する情報
は多くの意味において顧客嗜好の市場調査結果及び費用
便益分析結果に基づく選択の問題である。従ってこれら
の事項のいずれか1つを構築するには、明確な選択をし
なければならず、一度この選択を行うと、システム全体
を通じて特定の結果が明らかとなる。ここでは試験シス
テムのハードウエア特性のより広範囲な概要を少なくと
も一般的な形で記載することが有用であると思われる。
これらの特性は条件次第で変化するものではあるが、そ
れでもそれらを知っておくことは本発明を説明する上で
提示する様々な例を理解する上での一助となる。
【0038】まず始めに、4個の比較的に大型のカード
ケージを想定する。各カードケージは、電源及び水冷機
構(クリーンルーム環境下においてファンは汚染源とな
る可能性があり、また、冷却水を利用した方が空冷より
も低コストで完全に実装されたシステムから放出される
数十KWの熱を除去することができる)の他に、マザーボ
ードと、前面(front plane)及び後面(back plane)を
有する。各カードケージへと最高9個の組立部品を挿入
することができる。各組立部品は、試験サイトコントロ
ーラとDUTテスタと端子電子部品とを含む。試験サイ
トコントローラがどのように結合するかについての一般
的な概略を説明するが、これには幾つかのバスを使って
ディジーチェーン(daisy chain)接続を作ることが含
まれる。
【0039】本題から若干それるが、最初にこの「ディ
ジーチェーン接続」について簡単に触れる。システム構
成要素A、B、C及びDがあるものとする。これらがこ
の順番でディジーチェーン接続により連結したと想定す
る。すると、そこにはAを出てBへと達する情報又は制
御経路があり、BはBを出てCへと達するトラフィック
を選択的に送出することができ、CはDへと達するトラ
フィックを選択的に送出することができる。同様の構成
が他方向のトラフィックにも存在し得る。ディジーチェ
ーン接続は優先順位機構を作る場合にしばしば採用され
ているもので、ここでは様々な試験サイトコントローラ
間にマスタ・スレーブ関係を作る為に用いる。ディジー
チェーン方式による通信構成を示す記号の後には「BU
S」ではなく、「DSY」を付した。従って、例えば
「コマンド/データ BUS」ではなく、「コマンド/
データ DSY」としている。次に、情報が「Bへと入
り、選択的に送出される」という概念は、そのトラフィ
ックが届けられる前に、別の導体の集合上へと再現され
ることを示唆している場合もある。そのようにすること
もできるが、性能上の理由から、これはどちらかと言え
ばアドレス可能なエンティティを有する通常のバスであ
る。プログラム可能なアドレスマッピング構成及び下流
の試験サイトコントローラの一部分を「スリープ(slee
p)」状態にする能力により、単一のバスを論理的には
複数のディジーチェーンであるかのように見せる(機能
させる)ことができる。最後に、ディジーチェーンはコ
マンド及び制御情報の経路として高い性能を持つもので
あることは言うまでもなく、もしそうでなかったらマス
タ・スレーブの組み合わせ(マルチサイト試験ステーシ
ョン)が単一の試験サイトと同じ速度で処理を行うこと
は望めない。ディジーチェーン性能を損なわない為に各
種DSYはそれぞれのカードケージの外に出ないように
する。これを実施する為に、どの(従って幾つの)試験
サイトを結合するかについて幾つかの制限が設けられ
る。基本的には制限を設ける根本的な必要も、技術的な
実用性の決定的な欠如があるわけでもない(即ち実施可
能である)。これは単に、既に9個の試験サイトがカー
ドケージにあるのだから、DSYを延長することは多大
なコストを払ってわずかな追加利益を得ることにしかな
らないとの考えからである。
【0040】図1の説明に戻り、試験サイトコントロー
ラ4a〜4zを考察するが、これらはそれぞれに9個づ
つ、合計4個のカードケージ中に分散収容されている。
これらを4a〜4fと、4g〜4mと、4n〜4tと、
4u〜4zとする(先にも述べたように、アルファベッ
トは本来26文字しかないが、もう10文字がその中の
どこかに存在するものと想定する)。CMD/DAT
DSY(コマンド/データディジーチェーン)17aは
1つのカードケージ中にある試験サイトコントローラ4
a〜4fを相互接続し、別のCMD/DATA DSY
17bは他のカードケージ中にある試験サイトコントロ
ーラ4g〜4mを相互接続する。残りのカードケージに
おいても試験サイトコントローラ4n〜4t及び4u〜
4zに同様の構成がそれぞれ存在する。先にも述べたよ
うに「DSYがカードケージを出ない」と言った場合に
は、そのDSYを実際に構成するバスの最終端(tail e
nd)が、そのカードケージを出ずに、他のカードケージ
における次の区分の先頭になっているということであ
る。かわりに、試験システムコントローラ2からのシス
テムバス3が全ての試験サイトコントローラへと達して
おり、試験サイトコントローラの各々が対応する「カー
ドケージを出ないDSY区分」の先頭においてマスタと
して動作することができるのである。
【0041】ここまで説明して来たCMD/DAT D
SY17a〜17dはそれぞれの試験サイトコントロー
ラ4a〜4zの間に存在する。SYNC/ERR DS
Y18a〜18d及びDUTテスタ6a〜6zも同様の
構成である。SYNC/ERR DSY18によって運
ばれる同期・エラー情報により、DUTテスタは調和し
て動作することができる。これら2種類のディジーチェ
ーン(17及び18)は若干異なる種類の情報を搬送す
るものではあるが、各々は1つ以上の試験サイトを結合
して試験ステーションを構成する為の同じ全体機構の一
部として存在している。
【0042】次に図2の説明に進むが、図1のDUTテ
スタ6の概略を示す拡大ブロック図が描かれている。こ
れは最高で36個設けられるものであるが、ここではそ
のうちの1つを説明する。図2を一目見れば明らかなよ
うに、概略ブロック図にしては相当な数の構成要素が描
かれている。DUTテスタ6に含まれるものであってこ
のブロック図に描かれた要素の中には、機能的に非常に
複雑であり、市販品として容易に入手できないものもあ
る。ここで2つの点について明記しておく。第一に、図
2の主要な目的は、不揮発性メモリ試験システム1全体
の重要な動作環境の基本特性を説明することである。図
3以降の図に関連して詳細に説明する本発明は、図2に
基づいて以下に説明する機構の延長線上にあるものか、
或いはその存在根拠を図2に見出すことができる新たな
機構である。いずれにしても、この説明を書いている段
階では読者がこれらの機構のどれに直面するかは明確に
はわからない。現時点での目標は、様々な実施例の多数
の異なる詳細説明の開始点として簡潔でありながら充分
な情報を提供することより、機構の各々を簡明かつ適正
に説明することである(異なる発明の各々について全て
を開示する長い明細書に反して)。第二に、拡大した実
施例、即ち拡張例の中には、図2に示した一般的な規則
には準じてはいるものの、この単純な事例とは整合しな
い情報を含むものもある。しかしこれは誤りや決定的な
矛盾ではなく、全体像を完全な縮小版で表すように物事
を簡略化して示すことが時に困難、或いは不可能な場合
があるからである。この状況は道路地図と似ている。例
えばコロラド州の標準サイズの地図では、州間高速道I
−70に乗って東へ向かえば、デンバーでI−25に入
って北へ向かうことができることがわかる。これは左折
のように見える。実際、昔は左折であったが、現在は違
う。このインターを詳しく記した地図を見ると、一連の
部分的進路変更と割り込み車線が示されている。しかし
ながら標準サイズの道路地図が間違っていると言う者は
いない。このレベルの抽象性においては正しいからであ
る。同様に、図2は相当詳しく描かれているようではあ
るが、実際は中程度の抽象性で描かれた簡略図であり、
一見「左折」に見える部分でも、実際は単純な「左折」
とは言えない場合もある。
【0043】図1に示したように、DUTテスタ6への
主な入力は、関心のあるDUTテスタ6のインスタンス
(instance)に結合する試験サイトコントローラ4を起
点とした試験サイトバス5のインスタンスである。試験
サイトバス5は、試験サイトバス上のトラフィックをリ
ングバス(ring bus)85又はVTバス89のトラフィッ
クへと変換するマルチバスコントローラ88に結合して
いる。リングバストラフィックをVTバストラフィック
に、そしてVTバストラフィックをリングバストラフィ
ックに変換することもできる。図2に示したほぼ全て
は、大規模集積回路の一部である。便宜上、1つのエン
ティティとして示してはいるが、タイミング/フォーマ
ッティング&比較回路52(以下に説明)は実際に8個
のそのようなICから構成される。各種外部DRAM
(これらの一部も図3の内部試験メモリ87に含まれ
る)を除いては、図2に示した構成要素の殆どは、AP
G(Automatic pattern generator:自動パターン発生
器。以下、「APG」とよぶ)と呼ばれる他の大型ICの
一部である。リングバス85は、DUTテスタ6のAP
G部における主要な構成要素の設定や動作モードの設定
等を行う為の汎用の機構間通信経路である。APGの各
種素子間には、様々な専用の広く高速な経路も存在す
る。VTバス89はDUTテスタ自体において用いられ
るIC間のバスである。
【0044】リングバス85は、試験サイトコントロー
ラがDUTテスタ6のAPG部と通信を行う為に使用す
る機構である。リングバス85は、特殊用途向けマイク
ロプロセッサにリンクすることができるマイクロコント
ローラシーケンサ19に結合している。これは、次アド
レス計算機(next address calculator)102が作成
するアドレスを用いてプログラムメモリ中に記憶された
プログラムをフェッチ(fetch)するものであるが、こ
のプログラムメモリは、マイクロコントローラシーケン
サ19内部のもの(プログラムSRAM20)でも、外
部のもの(外部DRAM21)でも良い。これらの2つ
のメモリは、基本的に、論理的に共通のプログラムカウ
ンタ(又は命令フェッチアドレス)として作用するアド
レス63によってアドレス指定されているかのように見
え、また、いずれも実行すべきプログラムのソースでは
あるが、留意すべきは、(1)どの期間においてもいず
れか一方のメモリしか命令フェッチメモリサイクルを実
行しておらず、(2)実際、これらは電気的に異なる信
号によってアドレス指定されているという点である。S
RAMは高速であり、真のランダムアクセスが可能であ
るが、マイクロシーケンスコントローラ19(大型AP
G ICの一部)中の貴重な空間を使用する為、そのサ
イズは限られている。外部DRAMはかなりの容量まで
柔軟に設定することができるが、線形実行により分岐無
しで連続領域をアクセスしない限り高速動作できない。
SRAM20におけるプログラミングはアルゴリズム性
の高いものが多いが、外部DRAM21は初期化ルーチ
ンやランダム又は不規則データのようなアルゴリズム処
理では容易に生成できないものに適している。
【0045】次アドレス計算機102は、無条件ジャン
プ或いは条件ジャンプ命令か、又は各種プログラム制御
フラグ(program control flag)25とその他のフラグ
(other flag)55及びマルチDUT処理用に供給される
他の特定の信号(便宜上、DFE0:3 103及びD
PE0:3 104として別途示した)に条件付けられ
た条件サブルーチン命令とに呼応して、実行中の試験プ
ログラムに分岐を生じさせることができる。
【0046】マイクロコントローラシーケンサ19がフ
ェッチされて実行される命令語は、208ビットとかな
り長い。これは13個の16ビットフィールドから構成
される。これらのフィールドはマイクロコントローラシ
ーケンサ19の外部機構用にフェッチされた命令情報を
表すことが多い。このようなフィールドは、それらに対
応付けられた機構専用のものである。ALU命令22の
一集合が8個の16ビットALU24の集合へと適用さ
れ、他の集合はDUTテスタ内に分散する他の様々な機
構へと配信される。後者の状態は「各種制御値&命令
(various control value & instruction)」42と表
示した線で表した。
【0047】8個の16ビットALU24は、各々それ
に付随する16ビット結果レジスタ(各ALUは他のレ
ジスタも幾つか含んでいる)の周囲に構築された算術命
令の周知のレパートリ(repertoire)を有する。結果レ
ジスタの内3つとそれらが付随するALUとは、XとY
とZとのアドレス構成要素27を生成する為のものであ
り、アドレス構成要素は様々に組み合わせられてDUT
へと供給される完全なアドレスになる。8個のALU/
レジスタ(DH&DL)のうちの2つは、32ビットデ
ータパラメータ28をアルゴリズム的に作成するのを助
けるものであり、32ビットデータパラメータ28は最
大有効部分(DH)と最小有効部分(DL)との間で分
割される。最後の残り3つのALU/レジスタ(A、
B、C)はカウンタとして使用され、様々なプログラム
制御フラグ25の生成に寄与する。これらのプログラム
制御フラグは、プログラムで指定された繰り返し回数又
は他の数的条件が完了した時点で実施されるプログラム
制御及び分岐を補助するものである。これらはマイクロ
コントローラシーケンサ19へと返送され、ここでマイ
クロプロセッサを熟知する者には周知の方法で命令フェ
ッチアドレス(次アドレス計算機102によって作成さ
れる)の値に作用することになる。更に各種の「その他
のフラグ(other flag)」55も存在し、これらもプロ
グラム分岐を生じる為に用いることができる。これらは
フェッチした命令語に含まれる他のフィールドによって
制御されるDUTテスタ6中の他の機構をそれぞれに起
点としている。1つの特定の追加フラグとしてVEC_
FIFO_FULL26を個別に明示的に示した。より
簡略化した他の図においては、これもその他のフラグ5
5に包含されている。これをここで個別に示したのは、
マイクロコントローラシーケンサ19処理の一側面の説
明を助ける為である。
【0048】VEC_FIFO_FULLの機能は、マ
イクロコントローラシーケンサ19によるプログラムの
更なる実行を(一時的に)停止させることである。マイ
クロコントローラシーケンサ19がフェッチした命令
と、DUTへと適用すべきテストベクタを最終的に送出
する機構との間には多段のパイプラインが存在する。更
に、DUTへの適用に向けて搬送される過程でベクタが
付加されるバゲージ(baggage)は、最終的なベクタ適
用速度、或いは各ベクタの持続時間に関する情報をその
一部に含んでいる。従って、DUTへのベクタ適用速度
は一定である必要は無く、具体的にはあるベクタ群の適
用時間は、生成にかかった時間よりも長くても良い。マ
イクロコントローラシーケンサは、単純にプログラムを
その最高速度で実行する。しかしながら、「ベクタ消費
(vector consumption)」速度が「ベクタ生成(vector
production)」速度と平均で等しくなければ、パイプラ
インにはほぼ無限大の柔軟性を持たせなくてはならなく
なることは明白である。以下に説明するアドレスマッパ
29の出力にはベクタFIFO45があり、これがパイ
プライン中の柔軟な容量として作用する。信号VEC_
FIFO_FULLは、パイプラインの先頭における新
たなベクタの生成が一時的に中断されるように作用する
ことでパイプライン中の限界段数を超過しないようにす
るものである。
【0049】更に説明を続けると、(3x16=48ビ
ットの)XとYとZとのアドレス構成要素27がアドレ
スマッパ29へと適用される。アドレスマッパ29の出
力は、ほぼ任意に事前選択された構成で順序付けられた
48ビットアドレス空間中のアドレス値へと並べ替えら
れたものである。この理解を助ける為に本題から離れる
が、このアドレスマッパ29を48ビットアドレス空間
が完全に埋まったメモリとし、各アドレスには48ビッ
ト値が保持されていると想定する(このようなメモリを
現在実現しようとすれば大型冷蔵庫大となるであろう
が、このことは一時的に無視して考える)。このような
メモリがあればどのようなアドレスが与えられても、他
の任意に選択されて、後に置き換えアドレスとして使用
できる48ビット値へとマッピングすることができるル
ックアップ表(look-up table)が実現する。このよう
なアドレスマッピングが望まれる理由は、XとYとZと
のアドレス構成要素が、一般的に、特定のDUT内部構
造のコンテキストにおいて1つの大型リニアデコーダで
は実現されにくい有用な意味を持つ為である。行、列、
層、ブロック或いはページといった概念はテストエンジ
ニアにとっては非常に便利なものであり、物理的に近い
位置で生じた不具合は、これらのXとYとZとのアドレ
スにおいてこれに対応する近接性を持っている。試験結
果におけるこのようなパターンは、何が悪いのかを評価
し、これを欠陥部分の処理が予備部分の処理へと分岐さ
れるように設計レベル、又は製造レベルで再プログラミ
ングする等して修復する上で非常に貴重なものである。
このような考え方からは、2つの問題が生じる。第一の
問題は、48ビットをペアリングしてDUTへと適用す
べき実際のビット数(例えば32又は16)へと減じる
点である。このペアリングがどのように行われるかを簡
単に説明すれば、これはXから何個かのビットを得て、
Yから何個かのビットを得て、そしてZから残りのビッ
トを得るということである。しかし全部ではない。そし
て、特定のアドレスは、回路の他の部分の左右(又は左
右及び上下)鏡像である回路中に位置する可能性がある
為、これが第二の問題となる。この場合には、連続アド
レス値が回路中の物理順序に並んでいる限り、ビットの
意味が変化することになる。このチップレイアウト特性
は何回も生じ得るもので、ある1群のビット(例えば
Y)が何を意味するかは、それに付随する他のビット群
(例えばZ)の値に依存する場合がある。アドレスマッ
パ29は未処理の(raw)XとYとZとのアドレスを
「再パッケージング(repackaged)」することでこの種の
状況を反映させることを可能としたもので、このような
内部構造構成を有するメモリを試験する人々の便宜をは
かるものである。実際にこれがどのように行われるかを
説明する。アドレスマッパ29は、相互接続された相当
数のマルチプレクサから構成される。これは、先に一時
的な仮定例として説明の便宜上触れたように、完全に埋
められたメモリ復号化方式における完璧な任意ルックア
ップ表機能を実現することはできない。しかしながら、
特に48ビットから実際に必要な数へとペアリングによ
り減ずることができる他の機構がある為、XとYとZと
のアドレス構成要素のサブフィールドを必要に応じて並
べ替えることができる。アドレスマッパ29は3個の1
6ビット(アドレス)ルックアップ表を更に有し、これ
らによって限定された任意マッピングを局所範囲におい
て実施することができるのである。
【0050】アドレスマッパ29のマッピング後アドレ
ス出力30は、アドレスとして各種バッファメモリと、
タグRAM31A〜Cと、エラー捕捉RAM32とに適
用される。これらのメモリは別個の機能を有してはいる
が、集合的に内部試験メモリ87を構成する4つのメモ
リ集合中の選択可能なパーティションとして実現するこ
とができる。マッピング後アドレス出力30は更に1入
力としてアドレスビット選択回路37(その多重化機能
は後に説明する)へも適用される。内部試験メモリは、
異なる機能に使用される様々なRAMベースのメモリ構
造を多数含むように構成することができる。これは異な
るメモリ集合の特定部分をそれに付随する目的に使用す
ることを宣言することにより実現される。図2に示され
ているのがこのような構成の1つであり、試験の進行に
伴って構成を変えることができ、このメモリ集合用途に
関わる処理全体は非常に動的に行われていると言える。
内部試験メモリ中に存在するいずれの部分(例えばエラ
ー捕捉RAM32)も、恒久的な固定ハードウエアでは
ない。不変なのは4つのメモリ集合だけである。しかし
ながら、いずれの時点においても、(もし実際に定義さ
れるとすれば)どのメモリ集合のどの部分がエラー捕捉
RAMであるかに関しては、現在確立されている設定に
依存するのである。
【0051】バッファメモリ31A及び31Cについて
説明する。その機能は、DUTへと適用することが可能
なデータパターン33及びアドレス34を保持すること
である。実際には、これらはそれぞれに付随するバッフ
ァメモリの別個の出力である(バッファメモリ31はデ
ュアル「ポートメモリ(port memory)」ではないが、2
つの異なるメモリ集合の部分から構成されていることが
望ましい)。この場合には、記憶データ33が一方のメ
モリ集合に保持され、記憶アドレス34が他方のメモリ
集合に保持されるようになっていることが望ましい。ま
た、バッファメモリに書込みを行う機構を明確に示して
いないが、これを実施する1つの方法としては、実行さ
れているプログラムの命令で試験サイトコントローラ4
が起動するアドレス指定されたバスの処理により行う方
法があげられる。「リングバス」と呼ばれる「床下(un
der the floorboards)」の「ユーティリティサービス
(utility service)」バス(図が非常に見にくくなる為
にその経路の大部分を省いた)があり、これが図2に示
した要素のほぼ全てへと通じている。メモリ集合へと情
報を書込む為の他のより高速な方法は、図3に関連して
説明する。
【0052】エラー捕捉RAM32はバッファメモリ3
1に適用された同じアドレスによりアドレス指定され
る。これらはエラーに関する情報を記憶又は取得するも
ので、その処理は後に説明するポストデコード回路(po
st decode circuit)と連係して実施される。バッファ
メモリ31A、31Cからの経路33、34と同様に、
エラー捕捉RAM32からの経路62A〜Dは、リング
バス(図示せず)から配信される設定情報に基づいたメ
モリ集合部分(エラー捕捉RAMとして機能するように
設定されている部分)からの多重化出力であることが望
ましい。
【0053】留意すべきは、データマルチプレクサ35
は、その入力としてALU集合24中のレジスタDH及
びDLからのデータ28を受けると同時にバッファメモ
リ31Aからの記憶データ出力33をも受けるという点
である。データマルチプレクサ35はこれらの入力(2
8、32)のうち、どちらをその出力38として提供す
るかについて、プログラムSRAM20中に記憶された
値36に基づいて最初の選択を行う。その出力38は、
以下に説明する変更が加えられない限りは、2つのベク
タ構成要素のいずれか一方として(もう一方の構成要素
はアドレスビット選択回路37の出力39)送信ベクタ
マッパ/シリアライザ/受信ベクタ比較データ回路40
へと適用される。データマルチプレクサ35は更に、初
期選択値を、列ジャミングモード信号(column jamming
mode signal)(ここまでの図には描かれていない)及
びBAD COLUMN表として動作するタグRAMか
ら取得した値に基づく後に説明する「列ジャミング処理
(column jamming )」にて使用される置換値で置き換え
る。この機構全体については、後に詳細を説明する。
【0054】回路40は3つのベクタ関連機能を実行す
ることができるもので、その機能とは、ベクタ構成要素
(38、39)を組み合わせることによりDUTへと適
用(伝送)し得る完成ベクタを順序付けられた論理表現
において作成することと、送信ベクタの論理表現の順序
ビットと、DUTへとその信号(ベクタ中のそのビッ
ト)に代わって接触する端子電子部品(例えばプローブ
先端等)の実際の物理チャネル番号との間に動的な任意
の対応付け(マッピング)を実施することと、それを受
けるDUTに対して、順序通りに(シリアル化して)適
用されるように全体の論理ベクタを分割する際にコンパ
イラと連係して別個に作用することである。これらの機
能のうち、どれが実行されるかは、SRAM41からの
制御信号により決定するが、この制御信号もまた、マイ
クロコントローラシーケンサ19によりフェッチされた
208ビット命令中の1フィールドに基づいてアドレス
指定されるものである。
【0055】更に回路40に含まれているのは、DUT
ディスエーブル論理部(DUT disable logic)90であ
る。これが存在する理由は、最高4つのDUTのうち、
いずれの1つ以上のDUTをディスエーブルするのかを
表示して、静的でも試験結果次第で可変でもあり得るが
全てプログラム的に定義される様々な状況に対応する為
である。これらの表示は4つの信号DD0:3 44b
(DUT0、DUT1等に対するDUTディスエーブ
ル)により運ばれる。これは試験サイトでのマルチDU
T試験をサポートするものであり、この詳細は、本明細
書の一部をなすものとする関連する特許出願に説明され
ている。回路40の出力は、最高64ビットのベクタ4
4aであり、このベクタはDUTディスエーブル信号4
4bと共にベクタFIFO45に適用される。ベクタF
IFO45は、完全に埋まると信号VEC_FIFO_
FULL26を生成するが、この信号の意味及び用途は
先に説明した。期間発生器(period generator)49
(後に簡単に触れる)からの信号VEC_FIFO_U
NLOAD47を受け、ベクタFIFO45の最上部に
あるベクタがそこから取り出される。このように取り出
されたベクタ46は、対応する端子電子部品9を介して
DUTへと接続するタイミング/フォーマッティング&
比較回路52へと適用される。即ち、端子電子部品9の
各々が、送信・受信ベクタ7及び端子電子部品設定情報
8を、それぞれに対応するタイミング/フォーマッティ
ング&比較回路52から受信するのである。
【0056】タイミング/フォーマッティング&比較回
路52は設定・制御情報を受信する為にVTバス89に
接続している。先にも説明したように、タイミング/フ
ォーマッティング&比較回路52は実際には8つのIC
であるが、本明細書においては、便宜上1つのエンティ
ティとして取り扱うものとする。
【0057】タイミング/フォーマッティング&比較回
路52は、マイクロコントローラシーケンサ19のプロ
グラムSRAM20と同じ命令アドレス(小さな丸で囲
まれたA)によりアドレス指定される内部SRAM54
を有する(外部DRAM53を内部SRAM54の代わ
りに使用しても良いが、これは図示していない増分カウ
ンタにより局所的にアドレス指定される)。内部SRA
M54(又は外部DRAM53)はそれぞれのフォーマ
ットを持つドライブサイクル及び比較サイクルの生成を
助けるものである。ドライブサイクルは、RAMの一方
54又は53から供給される事前選択フォーマットを使
って送信ベクタをDUTへと適用するものである。比較
サイクルは、DUTから供給されるベクタを受信し、先
に供給された比較データと一致するかどうかを試験する
もので、この試験もまた、RAMから供給される事前選
択フォーマットに基づいて行われる。ドライブサイクル
及び比較サイクルはいずれも、その持続時間、負荷を適
用するかどうか、そして何時適用するのか、何時データ
をラッチ又はストローブするのか、信号がReturn
−To−Zeroであるのかないのか、駆動信号をその
補完信号で囲むのかどうか等について設定可能である
(これらのオプションが上述した様々なフォーマットで
ある)。
【0058】タイミング/フォーマッティング&比較回
路52は、論理値が誤りだったためにそのチャネルが不
良となったのか(機能エラー)、及び/又はその電気特
性が許容範囲を超えていた為に不良となったのか(パラ
メータエラー)について、チャネル毎の情報を含んでい
る。更に、引用することにより本明細書の一部をなす特
許出願中に記載されているように、複数のDUT試験が
実施される場合には、どのチャネルがどのDUTに接続
しているのかは既知である。これにより、4つの信号D
FE0:3(DUT#機能エラー)103及び4つの信
号DPE0:3(DUT#パラメータエラー)104の
生成が可能となる。
【0059】タイミング/フォーマッティング&比較回
路52により実施される比較処理では更に64ビット値
が生成され、これが回路40の論理的反転であると考え
ることができる受信ベクタ逆マッパ/デシリアライザ5
7へと供給される。(回路57の処理はSRAM58に
より制御されているが、これは回路40のSRAM41
による制御に対応する)。そして、回路57の出力59
はポストデコード回路60及びエラー捕捉RAM1 3
2Aへと適用される。ここではあまり詳細に説明しない
が、ポストデコード回路60は入力されるエラー情報5
9と以前に記憶されたエラー情報60(エラー捕捉RA
M中に記憶)との両方をプログラム的な基準に基づいて
検査し、凝縮されてより容易に解釈できるエラー情報を
生成することができる。この生成されたエラー情報は、
経路61を介してエラー捕捉RAM32へと戻して記憶
しておくことができる。一例として、特定のアドレス範
囲でエラーが生じた回数の計数値を作成すること等があ
げられるが、このような情報は、いつ代替回路を起動し
てオンチップ修復を試みるかを決定する上で有用であ
る。
【0060】次に期間発生器49及びこれに対応するタ
イミングSRAM51について説明する。これらは、マ
イクロコントローラシーケンサ19によりフェッチされ
た208ビット命令の各々について関連するタイミング
/フォーマッティング&比較回路52の処理の継続時間
を定義する8ビット信号T_SEL43に応答するもの
である。T_SEL43は、それぞれがフェッチされた
命令中の異なるフィールドによって表される各種制御値
&命令42の一部である。この信号は、8ビット値とし
て256の異なる事柄(thing)を表すか、または符号
化することができる。この場合の「事柄」とは、タイミ
ングSRAM51に記憶され、T_SELによりアドレ
ス指定される28ビット値である。アドレス指定された
28ビット値23の各々は19.5ピコセカンドの分解
能で所望の継続時間を指定するものである。アクセスさ
れた28ビット継続時間値23のシーケンスは期間FI
FO50中に記憶され、ここからそのシーケンスの個々
の要素が取得され、その後、ベクタFIFO45に記憶
されるそれらに意図した対応ベクタの取得に同期して適
用されるようになっている。
【0061】FIFO50の最も古いエントリ中にある
粗いタイミング値フィールドは5ナノセカンドの分解能
で継続時間情報を含んでおり、この情報から、次の送信
ベクタをベクタFIFO45からタイミング/フォーマ
ッティング&比較回路52へと送る信号VEC_FIF
O_UNLOAD47が生成される。随伴信号(compan
ion signal)タイミングリマインダ(timing remainder)
48もまた、回路52へと適用される。この時点で1
9.5ピコセカンドという最終分解能に達するのであ
る。
【0062】次に図3を参照するが、これは図2のブロ
ック図に示した内部試験メモリ87の概略ブロック図6
4である。これはアドレスマッパ29から複数のアドレ
ス選別部77、78、79へと適用する48ビットのマ
ッピング済みアドレス30を受ける。アドレス選別部は
メモリ集合73〜76に結合している。これらのメモリ
集合の各々は、例えばECR32として働く等の機能を
個別に実施することができる完全なメモリ機構である。
メモリ集合のうちの2つ(73、74)は外部DRAM
に属し、他の2つは内部SRAMに属している。2つの
外部DRAMメモリ集合は常に同じアドレス選別機能を
実行するもので、従って同じアドレス選別部77を共用
している。一方、内部SRAMメモリ集合75、76は
各々に対応するアドレス選別部78、79を有する。こ
れらのアドレス選別部はアドレスを変えずにそのまま、
或いは変更したアドレスを出力するものであり、その処
理についてのある程度の詳細は引用することにより本明
細書の一部をなす特許出願に記載されている。
【0063】各メモリ集合はメモリ集合コントローラを
含む。外部DRAMメモリ集合73、74はDRAMメ
モリ集合コントローラ65、66をそれぞれに含み、内
部SRAMメモリ集合75、76はSRAMメモリ集合
コントローラ67、68をそれぞれに含む。DUTの試
験中には、これらメモリ集合のいずれかに向けられたメ
モリトランザクション用アドレスは、対応するアドレス
選別部からそのメモリ集合に含まれるメモリ集合コント
ローラに到達する。DUTの試験中は、ポストデコード
回路60から供給され、エラー捕捉RAMへと書込まれ
るべきエラーデータ61は、最初に各メモリ集合にそれ
ぞれ結合しているデータ選別部80〜83へと適用され
る。データ選別部は、その設定や実行中の機能によっ
て、供給データに変更を加える場合もあれば加えない場
合もある。アドレス及びデータ選別部はそれぞれアドレ
ス及びデータの高速経路であり、これらは必要とされる
最高速にて動作することを意図したものである。後にア
ドレス及びデータをリングバス(図示せず)がメモリ集
合へと搬送するという他の経路も説明する。
【0064】この時点において、各々に(選別)アドレ
ス及び(選別)データが入力される4つのメモリ集合コ
ントローラ65〜68がある。これらのメモリ集合コン
トローラの各々は、対応するメモリに結合している。即
ち、DRAMメモリ集合コントローラ73及び74はそ
れぞれに外部DRAM69及び70に結合しており、S
RAMメモリ集合コントローラ75及び76はそれぞれ
に内部SRAM71及び72に結合しているのである。
この構成が4つのメモリ集合73〜76を形成してお
り、これらのうちの2つ(75、76)は高速SRAM
の妥当な容量を含み、他の2つ(73、74)がより遅
いDRAMの大容量を含んでいる。ここで最も重要な点
は、どのようにDRAMメモリ集合をSRAMメモリ集
合と等しい速さにするのかだけでなく、ユーザーの嗜好
や試験プログラム方針に対応したDRAMの特定の代替
構成をどのように実現し得るかである。従って、DRA
Mメモリ集合コントローラ65、66は設定可能であ
り、異なる種類のメモリトランザクションを実施するも
のでなければならず、単純なSRAMメモリ集合コント
ローラ67、68と全く同じ構成というわけにはいかな
い。図を簡潔にする為に図3にはこの柔軟性を提供する
構造を示していないが、ここでは各メモリ集合コントロ
ーラが特定の動作モード及び所望の設定を指示するリン
グバス(図示せず)に接続していると言うに留める。こ
れらのモードの一部はデータの記憶様式に関わるもので
あり、他の一部はデータの再取得に関わるものである。
結論として、各メモリ集合は対応するデータOut(6
2A〜D)を有し、これらは後の処理の為にポストデコ
ード機構60へと送られる。更に、メモリ集合0及び2
からのデータ出力は、マルチプレクサ84へと適用さ
れ、その出力がデータマルチプレクサ35へと送られる
STORED DATA33となる点に留意が必要であ
る。同様に、メモリ集合1及び3の出力はマルチプレク
サ127へと適用され、その出力がアドレスビット選択
マルチプレクサ37へと送られるSTROREDADD
RESSESとなる。マルチプレクサ84及び86の存
在理由及びこれらがどのように制御されるのかについて
は本願においては重要ではなく、これに関しては引用す
ることにより本明細書の一部をなす特許出願中に記載さ
れている。
【0065】メモリ集合3 76は、他のメモリ集合が
受信しない不良列モード信号(COL_JAM_MOD
E107)を受ける。メモリ集合3のコントローラ68
はこの信号を使ってしかるべき時点で特殊動作モードが
記述されるように対応する。この時点で理解しておかね
ばならないのは、COL_JAM_MODE107が真
(true)であり、書込みメモリサイクルが起動されてい
ない場合には、新たなアドレスが供給されると、そのア
ドレスに対する自動読出しサイクルが生じるという点で
ある。読出し処理により得られたデータの4個の最下位
ビットはデータマルチプレクサ35の下部に送られる。
(特殊BAD COLUMN表が読出されており、この
データがどのように取得され、使用されるかは後に説明
する。)
【0066】ここで図4を参照するが、これは図2に示
したデータマルチプレクサ35の拡大ブロック図120
である。この図の目的は、マルチプレクサ35を、経路
38’により結合する2つの部分35’及び35”へと
分けることである。部分35’は、入力制御信号36に
基づき、入力28及び33から(予備又は初めの)選択
を実行して出力38’するという点において従来型のマ
ルチプレクサと同様に動作する。ここで本当に取り上げ
たい部分は部分35”である。これは出力38’をデー
タ入力として受け、BAD_COL[3:0](これら
はメモリ集合376からの62Dの4個の最下位ビット
である)を制御入力として受けるものである。
【0067】ここで図4に示した部分35”のブロック
図90である図5を参照する。これはデータ入力として
32ビットデータ38’を有しているが、このデータは
関連(隣接)した意義を持つ4つの8ビットグループ1
12〜115へとパーティションされている。この8ビ
ットユニットへの4分割は、このマルチDUT試験モー
ドに良好に適合するものである。説明を先に進めるが、
これらの8ビットグループの各々(112〜115)
は、それぞれに対応する8極2投(eight-pole two-thr
ow)マルチプレクサ93〜96への1入力として適用さ
れる。これらのマルチプレクサへの他の入力は、リング
バス85を介して設定可能な32ビットCOLUMN
JAMレジスタ91から得られる8ビットグループ10
8〜111の各々である。
【0068】この概念とは、適正な状況下において、回
路40へと向かうデータ38’の全て又は一部をCOL
UMN JAMレジスタ91中に事前に設定されている
データで置換することができるようにしようというもの
である。フラッシュDUTへとプログラミングするため
の値として使用した場合に、そのDUTが、要求された
値がたとえ適正にプログラミングされなかったとして
も、これがあたかも適正にプログラミングされたかのよ
うに即座に応答を返すことになる値を使用する。先にも
説明したように、ここで要求されることは、欠陥列であ
ることがわかっている、或いは疑われている列のプログ
ラミングに時間を費やすことを回避することである。
(現行のフラッシュ部品に1をプログラミングすること
を命令するものがそのような値に該当する。)
【0069】本実施例においては、一般的な複数DUT
試験方式に一致するように、この置換を8ビットの分解
能で行うことができる。この単位は8、16、24、3
2ビット部品に有効である。4ビット部品や12ビット
部品等については、ビットが無駄になってしまう。これ
を回避するには8ビット以下の単位、例えば大幅に細か
く刻んで2ビット、或いは更に刻んで1ビット等とすれ
ば良い。4つのマルチプレクサ93〜96は、2ビット
とした場合には16個の2極2投(two-pole two-throw)
マルチプレクサとなり、1ビットとした場合には32個
の単極2投マルチプレクサとなる。
【0070】従って、例えば2個の16ビット部品の試
験で、一方が38’/38のうちのビット[31:1
6]を使用し、他方がビット[15:0]を使用してお
り、ビット[15:0]にある部品がある適用アドレス
において不良列を含んでいる場合には、そのアドレスが
適用されていることを検出することが望ましく、列ジャ
ミングモード(これは、既知の不良列へのプログラミン
グに時間を消費することを回避する為に試験プログラム
/DUTを「だます」ことに対して与える名前である)が
有効化され、データ38’のビット[15:0]を、C
OLUMN JAMレジスタ91の最下位ビットから、
例えば全て1で置換する。
【0071】例えばビット3に欠陥があることがわかっ
ていれば、このビットのみを回避して他のビットを通常
通りに処理することもできる。これは1ビットの分解能
を使用するか、或いはビット3を1でジャムした状態で
実際のデータ(もともと38’にあるもの)をCOLU
MN JAMレジスタのビット[15:4]及び[2:
0]に持たせることにより可能である。この構成をリン
グバスで実現すると速度が落ちるが、一応可能ではあ
る。ここで節約される時間は、良好な15ビットをプロ
グラミングするのに要する時間と、不良ビット3をプロ
グラミングすることに関わるタイムアウトとの差であ
る。
【0072】これまでの説明した処理は全て「適正な状
況下(right circumstance)」において発生するもので
ある。「適正な状況」とは、リングバス85を介した適
正な処理により列ジャミングモードラッチ92を設定す
ることで、列ジャミングモードが選択されている状態を
指す。ラッチ92が設定されると、ANDゲート97と
98と105と106との集合への1つの入力が設定さ
れることになる。これらのゲートへの他の入力とは、B
AD COLUMN表(図6の126)から得られる指
示データである。このデータは、COL_JAM_MO
DE107が真の時である限り、適用アドレスにおける
自動読出しから得られる。この為に、図3に関する説明
でも述べたように、信号107もメモリ集合3のメモリ
集合コントローラ68へと供給される。この結果得られ
る表示信号(62Dの4個の最下位ビット)をBAD_
COL[3:0]と呼ぶ。
【0073】メモリテスタの場合には、一般的にはデバ
イスの不良は0で表される為、信号BAD_COL
[3:0]は対応するANDゲートに適用される際にそ
れぞれ反転される。この結果、マルチプレクサ93〜9
6は、COL_JAM_MODEが真であり、対応する
BAD_COLビットが0(マルチプレクサの1つへの
列が不良であることを意味する)の場合は常にその出力
としてCOLUMN JAMレジスタからのビットを選
択するように制御される。置換分解能が大きくなると、
BAD_COL中のビット数及びこれが読出される表1
26の幅も大きくする必要がある。
【0074】いずれの場合も、マルチプレクサ93〜9
6の出力116〜119はデータ38として32ビット
ストリームへと集められ、図2に関連して先に説明した
ように回路40へと送られる。
【0075】次に図6を参照するが、これは試験プログ
ラムによってメモリ集合3において保持することができ
るBAD COLUMN表126の図である。複数DU
T処理はメモリ集合2において複数DUT処理用にある
ものと同様の自動表読出し機構を使用しており、残りの
メモリ集合にはこのクラスのサービスが無い為、本実施
例においては、メモリ集合3は必須要素である。この制
約は必要と認められる経済的トレードオフによって左右
されるものであり、技術的な観点から見れば、排除する
ことも可能である。
【0076】更に説明を進めるが、試験プログラムは、
ある列が不良であると判定した場合には、プログラミン
グ処理段階又は動作処理段階のいずれかにおいて0のエ
ントリを表126のセルへと書込む。表126の各行に
は4つのセルがあり、その各々が4つの8ビット(本機
構の分解能)グループを表している。8ビットグループ
がマルチDUT試験における1DUTを表すのか、或い
は単一DUTの1区分を表しているのかは、試験技術者
の選択による。32ビットの単一DUTの場合には、ワ
ード幅の解像度において表126の1行中の4ビット全
てが一斉に設定又はクリアされる。同様に、図5のレジ
スタ91は全1に統一された集合となる。置換解像度が
1ビットである場合には、表126中の行はBAD_C
OL[31:0]を生成する32ビット長となる。(そ
して図5に示したマルチプレクサ及びANDゲート等も
それぞれ32個必要となる。)
【0077】マルチDUT処理に関する記載を含む、引
用することにより本明細書の一部をなす特許出願を引用
すると、上述したBAD COLUMN表126に類似
の不良ブロック(DUT)表について記載されているこ
とがわかる。不良DUTがあった場合には、不良ブロッ
ク表は新旧両方のバージョンで保持されており、表に増
分的な加算を実施することができるようになっている。
そのようにすることはここでも可能であるが、不良列の
情報の殆どは予備プログラミング段階における列から列
への移動の際に検出・記憶されるものであり、ここでこ
のような表の複写を行うことにより得られる利益はごく
わずかか、又は全く無いと思われる。
【0078】本実施例において、セル122(及びその
他のセルの大部分)は不良ではないことを表す「1」を
含んでいる。一方、セル123及び124はDUT2の
列1及びDUT0の列3が不良であることを表す「0」
を含んでいる。
【図面の簡単な説明】
【図1】本発明に基づく、大幅な再設定が可能な不揮発
性メモリテスタの概略ブロック図である。
【図2】図1のDUTテスタ6を拡大して示した概略ブ
ロック図である。
【図3】図2のブロック図に示した内部試験メモリ機構
の機能ブロックの概略図である。
【図4】図2のデータマルチプレクサ35の拡大概略ブ
ロック図である。
【図5】図4に示した拡大図の実際のブロック図であ
る。
【図6】図2の内部試験メモリ中に位置するメモリ集合
中に保持される不良列(BADCOLUMN)表の機能
図である。
【符号の説明】
1 メモリテスタ 14、15a〜d 被試験メモリ 31B タグRAM 35” 自動データ置換機構
───────────────────────────────────────────────────── フロントページの続き (71)出願人 399117121 395 Page Mill Road P alo Alto,California U.S.A. (72)発明者 ジョン・エム・フリーズマン アメリカ合衆国コロラド州80526,フォー ト・コリンズ,グレイ・フォックス・ロー ド 4507 (72)発明者 ケン・ハン・ダック・ライ アメリカ合衆国カリフォルニア州95148, サンノゼ,グレン・ファーガソン・サーク ル 2736 Fターム(参考) 2G132 AA08 AB01 AC03 AD06 AG00 AL09 AL12 5B025 AD04 AD16 AE05 5L106 AA10 DD22 DD23 DD24

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 メモリテスタ上の被試験フラッシュメモ
    リ中の不良な列をプログラミングするのに時間を消費す
    ることを回避する方法であって、 (a)前記被試験メモリに適用される同じアドレスによ
    りアドレス指定されるタグRAMを確立するステップ
    と、 (b)適用されるアドレスが不良な列に関連することを
    判定するステップと、 (c)前記タグRAM中の前記適用されるアドレスに当
    該列が不良であることの表示を記憶するステップと、 (d)ステップ(a)〜(c)の後に、前記被試験メモ
    リの試験の次の段階の間に自動データ置換機構をイネー
    ブルするステップと、その後の、 (e1)前記タグRAMに試験アドレスを適用しつつ、
    前記被試験メモリに対して該試験アドレスでプログラミ
    ングすることを試みるステップと、 (e2)前記試験アドレスが不良な列に属するものであ
    ることの表示を前記タグRAMが含む場合には、前記メ
    モリテスタの自動処理によって、被試験メモリが正常で
    あると即座に通知するようにする「1」によってプログ
    ラミングされるべきデータ値を置換するステップとを含
    んでなる方法。
  2. 【請求項2】 前記ステップ(e2)において、置換さ
    れる前記プログラミングされるべきデータ値が全て「1」
    であることを特徴とする請求項1に記載の方法。
JP2001335000A 2000-10-31 2001-10-31 不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法 Withdrawn JP2002203398A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/702,578 US6748562B1 (en) 2000-10-31 2000-10-31 Memory tester omits programming of addresses in detected bad columns
US09/702578 2000-10-31

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008214834A Division JP2008310955A (ja) 2000-10-31 2008-08-25 不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法

Publications (1)

Publication Number Publication Date
JP2002203398A true JP2002203398A (ja) 2002-07-19

Family

ID=24821799

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001335000A Withdrawn JP2002203398A (ja) 2000-10-31 2001-10-31 不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法
JP2008214834A Withdrawn JP2008310955A (ja) 2000-10-31 2008-08-25 不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008214834A Withdrawn JP2008310955A (ja) 2000-10-31 2008-08-25 不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法

Country Status (4)

Country Link
US (1) US6748562B1 (ja)
JP (2) JP2002203398A (ja)
KR (1) KR20020033560A (ja)
DE (1) DE10153753B4 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097861A (ja) * 2011-10-27 2013-05-20 Maici Electronic (Shanghai) Ltd メモリを試験するためのシステムおよび方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US7609561B2 (en) * 2006-01-18 2009-10-27 Apple Inc. Disabling faulty flash memory dies
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US7529969B1 (en) * 2006-08-24 2009-05-05 Micron Technology, Inc. Memory device internal parameter reliability
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
US20080288712A1 (en) * 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
KR100955010B1 (ko) * 2007-11-20 2010-04-27 모바일 어플라이언스 주식회사 실행 코드를 포함하는 낸드 플래시 메모리 복사 방법
JP2010134979A (ja) * 2008-12-03 2010-06-17 Fujitsu Ltd 演算処理装置および記憶装置用試験装置の制御方法
JP2011054244A (ja) * 2009-09-02 2011-03-17 Toshiba Corp 半導体試験方法及び半導体試験装置
US8225030B2 (en) * 2009-09-30 2012-07-17 Dell Products L.P. Systems and methods for using a page table in an information handling system comprising a semiconductor storage device
TWI601148B (zh) * 2016-05-05 2017-10-01 慧榮科技股份有限公司 損壞資料行的篩選方法與具有損壞資料行總表的資料儲存裝置
CN106158047A (zh) * 2016-07-06 2016-11-23 深圳佰维存储科技股份有限公司 一种nand flash测试方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3055553B2 (ja) * 1988-10-07 2000-06-26 株式会社日立製作所 半導体装置
US5617365A (en) * 1988-10-07 1997-04-01 Hitachi, Ltd. Semiconductor device having redundancy circuit
US5481671A (en) * 1992-02-03 1996-01-02 Advantest Corporation Memory testing device for multiported DRAMs
JP3116827B2 (ja) * 1996-07-16 2000-12-11 日本電気株式会社 キャッシュメモリ制御装置
JPH10125092A (ja) * 1996-10-22 1998-05-15 Advantest Corp フラッシュメモリ試験装置
JP3483724B2 (ja) * 1997-03-19 2004-01-06 シャープ株式会社 不揮発性半導体記憶装置
US6260156B1 (en) * 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
US6484271B1 (en) * 1999-09-16 2002-11-19 Koninklijke Philips Electronics N.V. Memory redundancy techniques

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097861A (ja) * 2011-10-27 2013-05-20 Maici Electronic (Shanghai) Ltd メモリを試験するためのシステムおよび方法

Also Published As

Publication number Publication date
JP2008310955A (ja) 2008-12-25
KR20020033560A (ko) 2002-05-07
DE10153753B4 (de) 2007-09-27
US6748562B1 (en) 2004-06-08
DE10153753A1 (de) 2002-05-16

Similar Documents

Publication Publication Date Title
US6587979B1 (en) Partitionable embedded circuit test system for integrated circuit
US6436741B2 (en) Semiconductor integrated circuit device
KR100786418B1 (ko) Dram에서의 메모리 동작 수행 방법
JP2008310955A (ja) 不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法
JP4298960B2 (ja) アルゴリズム的にプログラム可能なメモリテスタにおけるトリガ信号生成方法
US7168005B2 (en) Programable multi-port memory BIST with compact microcode
US6493839B1 (en) Apparatus and method for testing memory in a microprocessor
US5796745A (en) Memory array built-in self test circuit for testing multi-port memory arrays
US20060242497A1 (en) Circuit and method for test and repair
JP4194799B2 (ja) 被試験デバイスの試験中にエラーが生じた場合にテストプログラムのアルゴリズム制御のその時点の状態を回復する方法
US9640279B1 (en) Apparatus and method for built-in test and repair of 3D-IC memory
KR100374636B1 (ko) 결함 테스트 및 분석 회로를 구비하는 반도체 장치 및 결함 분석 방법
KR20020025773A (ko) 메모리 테스트 방법
US6862704B1 (en) Apparatus and method for testing memory in a microprocessor
JP4317338B2 (ja) 高機能化された後デコードを有するメモリテスタ
US7315479B2 (en) Redundant memory incorporating serially-connected relief information storage
JPH0864000A (ja) エミュレーション手段を有するプログラマブル集積回路メモリ
US6687855B1 (en) Apparatus and method for storing information during a test program
US7461306B2 (en) Output data compression scheme using tri-state
KR100786414B1 (ko) Dut 테스터 데이터 채널 반전 특성 관리 장치
EP1193502A2 (en) Apparatus and method for performing conditional calculations
JPH11238400A (ja) 半導体集積回路装置、半導体集積回路装置のテスト装置およびテスト方法
KR20020020862A (ko) 메모리 테스터 어드레스 채널 관리 장치
US20040052149A1 (en) Integrated microcontroller module and method for checking the functionality of an integrated memory of the microcontroller module

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070629

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070928

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071005

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071220

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071220

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080523

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080826