JP3867862B2 - 半導体集積回路およびメモリの検査方法 - Google Patents
半導体集積回路およびメモリの検査方法 Download PDFInfo
- Publication number
- JP3867862B2 JP3867862B2 JP54374298A JP54374298A JP3867862B2 JP 3867862 B2 JP3867862 B2 JP 3867862B2 JP 54374298 A JP54374298 A JP 54374298A JP 54374298 A JP54374298 A JP 54374298A JP 3867862 B2 JP3867862 B2 JP 3867862B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- circuit
- test
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/36—Data generation devices, e.g. data inverters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/006—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation at wafer scale level, i.e. wafer scale integration [WSI]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
Landscapes
- Tests Of Electronic Circuits (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
本発明は、半導体集積回路(IC)の診断技術さらには半導体メモリの欠陥ビットの検出技術に適用して有効な技術に関し、例えば、半導体メモリとその半導体メモリのテスト回路すなわちテストパターンを発生するテストパターン発生回路を内蔵した半導体集積回路に利用して有効な技術に関する。
背景技術
半導体記憶装置などの半導体メモリの診断方式は、メモリテスタと呼ばれるテスト装置により実施される。メモリテスタはテストパターンデータを発生し、テストされるべき半導体メモリに上記テストパターンデータを供給して、半導体メモリのメモリセルに書き込みをおこなう。その後、メモリセルに書き込まれたデータがメモリテスタに読み出され、読み出されたデータとメモリテスタ内の期待値とが比較され、半導体メモリの診断が行われる。
半導体メモリの開発手順は、図11に示されているようにされる。開発しようとする半導体メモリの仕様に基づいてシステム設計が行われる。さらに、システム設計に基づいて、具体的な回路設計が行なわれる。そして、半導体メモリの制作に必要な各種ホトマスクの作成が行われる。その後、上記ホトマスクを利用して、半導体製造プロセスの前工程を経て、複数の半導体メモリ回路の形成されたウェハが製造され、そのウェハが複数のメモリチップに切断される。そして、各メモリチップが樹脂などの封止材によって封止されてパッケージに組立てられる。パッケージとして組み立てられた半導体メモリから適当にサンプル(サンプルチップとも言う)を抽出し、抽出されたサンプルがメモリテスタを用いて検査される。それによって、サンプル内の不良品の有無が検出される。
そして、不良品が発見された場合には、不良品とされたサンプルのテスト結果が解析されて、故障原因が見つけ出される。そして、その故障を回避すべく、半導体メモリのシステム設計、回路設計あるいはレイアウト設計などの再設計が行われ、再設計されたデータで、半導体製造プロセスの前工程を経て、複数の半導体メモリ回路の形成されたウェハが再び製造される。そして、メモリテスタによる再テストの実行が繰り返し行われ、テストにおいて不良が検出されなくなった段階で半導体メモリの開発が完了する事としていた。
しかしながら、上述のように、メモリテスタにより発生されたテストパターンデータを半導体メモリに供給する診断方式にあっては、上記テスタを構成する各種の半導体集積回路装置(ICとも言う)は検査対象となる半導体メモリよりも1世代ないしは数世代前の製造加工技術で製造されたものである。すなわち、上記テスタを構成する各半導体集積回路装置の製造加工寸法の最小値は、検査対象となる半導体メモリの製造加工寸法のそれより太くされる。したがって、旧世代の半導体集積回路装置より構成されたメモリテスタで次世代あるいは新世代の半導体メモリの検査を行なうことになる。そのため、新世代の半導体メモリの検査を行なうメモリテスタに要求される動作速度などの仕様は非常に厳しいものとなる。所望のテストスピードを達成するため、メモリテスタ内には複数の同一機能を有する半導体集積回路が用意される。そして、それらが並列処理を行ないえるようにシステムを構成するなどして、テストスピードの高速化のための工夫がなされる。その結果、メモリテスタは、そのシステム構成が複雑となり、かつ、そのサイズが大規模なものにならざるを得ないという問題点があった。
ところで、論理半導体集積回路装置などでは、半導体製造工程の前工程およびウェハ製造前の回路設計乃至システム設計段階において、ワークステーションを用いた論理シュミレーションが行なわれ、事前に不良を検出する技術が確立されている。そのため、論理半導体集積回路装置のテスト手順は、実際の製品に対応する半導体チップ(実チップとも言う)を製造してテストする前述のような半導体メモリのテスト手順に比べて、そのトータルの開発期間は短くなるという利点がある。
しかしながら、論理シュミレーションに必要なテストパターンは論理半導体集積回路装置ごとに異なるため、そのテストパターンの作成には多くの時間が必要とされる。さらに、テストパターンのステップ数が長いので、テスタによる実チップでのテストに比べて、そのテスト所要時間は長くなってしまい、実質的にテストの実行が不可能になってしまうという不具合もある。
一方、半導体メモリにおいては、新製品を開発する場合においてもアドレスやデータのビット数が異なるだけでテストパターンの生成プログラムの大部分は変更を要しない場合が多い。また、今までに蓄積されている不良解析のノウハウを利用できることが多い。そのため、前述したようにサンプルチップを製造してからメモリテスタによるテストが行なわれていた。
しかしながら、上記開発手順は、設計負担は少ないものの、一旦不良が発生した場合におけるメモリ回路の再設計からチップ製造までの時間が大幅に増加し、半導体メモリの開発期間が長くなってしまうという問題点があった。
また、近年の半導体メモリは、高速化の要求、および、同期型ダイナミック・ランダム・アクセスメモリ(以下、SDRAMとも言う)のようにパイプライン動作等高機能化の要求から、そのタイミング条件が複雑化しているため、上述されるような開発方式では設計仕損が増加し、その開発期間もますます長くなるという課題があった。
これに対し、EDA(エンジニアリング・デザイン・オートメーション)ベンダから、動作レベルで製品の動作に合わせたテストパターンを生成できるようにした検証用ツールが発表されている。その一例が、TSSI社製の“VisualTest”と呼ばれる検証ツールである。この検証ツールにおいては、フローチャートの形式でテストパターンの発生手順をワークステーションなどを用いて入力することにより、回路設計データで表現された半導体メモリの検査を行なうことができる。この検証ツールを使用した場合のメモリ開発手順を示したのが、図12である。なお、図12は、本発明者が考察したものであり、公知ではない。
図12に示されるように、この検証ツールを使用することにより、ウェハを製造することなく検証を行なって不良を検出することができ、これによって大幅に開発期間を短縮することが可能となるという利点がある。
しかしながら、上記手法にあっては、“VisualTest”上で動作レベルの記述ができたとしても、検証ツールは“Verilog”と呼ばれる論理検証ツール(論理シュミレータ)であるため、テストパターンをパターンデータファイルとして作成する必要がある。半導体メモリ用のテストパターンは膨大(数ギガ〜数メガステップ)であるため、網羅的な検証は実行が極めて困難であり、実際には、部分シュミレーションで留まる可能性が極めて高い。
一方、本発明者らは、半導体メモリや論理半導体集積回路装置などのテスト方法の改善のため、仮想テスタと呼ばれる技術について検討した。この仮想テスタ技術は、公知ではない。
本発明者の考察した仮想テスタは、パターンジェネレータと、シュミレータとを含む。上記パターンジェネレータは、コンピュータ上で実行可能なプログラムの形式で記述され、所定のアルゴリズムに従って半導体メモリのテストパターンを発生する。上記シュミレータは、半導体メモリの論理設計データが与えられると、上記パターンジェネレータにより形成されたテストパターンによって、上記半導体メモリの検査をコンピュータ上で行なう。
しかしながら、上記仮想テスタによる診断方式にあっても、パターンジェネレータにより形成されたテストパターンを記憶装置に保持しておかなくてはならないため、通常のコンピュータシステムでは記憶容量が不足してしまうともに、検査時間が長大化してしまうという事が考えられる。
ところで、論理検証を高速化する手法として、FPGA(Field Programmable Gate Array)を用いたハードウェア・エミュレータが知られている。ハードウェア・エミュレータは、HDL(Hardware Description Language)で記述した論理回路をFPGAを使用して電気的に論理構成し、その電気的動作により論理動作を検証するツールである。ハードウェア・エミュレータは、Verilog等の論理シュミレータと異なり、テストパターンを実際に1ステップずつ生成しつつ検証するため、テストパターンをファイルとして用意しておく必要がない。そのため、大容量の記憶装置が不用である。ハードウェア・エミュレータは、実際の電気回路で構成されるハードウェアであるため、論理シュミレータに比べて、数百〜数千倍も速く検証を行なうことができる。そのため、半導体メモリのHDL記述と組み合わせることで、網羅的な検証が可能となると考えられる。
本発明者は、テスタにおいて、所定のアルゴリズムに従ってメモリのテストパターンを生成するALPG(Algorithmic Memory Pattern Generator)と呼ばれるテストパターン生成器が比較的小規模の論理回路で構成されていること、および、ALPGはHDLによって記述することができ、かつ、HDL記述からICへの展開技術は確立されていることに着目した。上記テスタで使用されているALPGのハードウェア規模ないし論理回路規模を、更に、スケールダウンすることによって、メモリチップに搭載可能になるのではないかとの着想を得て鋭意研究した。その結果、後述のように、スケールダウン可能なALPGのアーキテクチャを採用することによって、テスト回路を搭載した半導体メモリを実現することができると確信し、本発明を出願するに至った。
なお、半導体メモリのテスト技術としては、特開昭56−169292号がある。特開昭56−169292号は、メモリチップ上に設けられたアドレスカウンタによって自動的にアドレスを更新しながら、テストデータをメモリセルに書き込み、その後、書き込まれたテストデータを読み出して検証することで、全メモリセルの検査を行う技術を開示する。
しかしながら、メモリチップ上にテスト用のアドレスカウンタを設ける方式にあっては、すべてのメモリセルにデータ“1”または“0”を書き込み、その後、その書き込まれたデータを読み出してチェックするような、オール「1」判定あるいはオール「0」判定については、を効率良く行なうことはできる。しかしながら、メモリのテストには、オール「1」判定やオール「0」判定の他に、マーチング試験やN2乗パターン試験と呼ばれる判定があり、これらを行わないと精度の高い診断結果が得られない。上記アドレスカウンタ内蔵方式では限られた種類の判定しか行なえず、検査が不完全に留まってしまうという問題点があると考えられる。
また、メモリ(メモリ部)と共に周辺ロジック(論理回路)が一つの半導体チップ上に形成された半導体集積回路(メモリ内蔵論理集積回路)において、メモリ部のテストを上記テスタで行なえるようにするため、メモリの入出力部にシリアル/パラレル変換回路を設ける。この場合、テスト期間において、上記シリアル/パラレル変換回路と上記テスタとがシリアル通信で接続され、上記テスタから出力されたシリアル形式のテストパターンは上記シリアル/パラレル変換回路を介して上記メモリ部へ入力される。上記シリアル/パラレル変換回路では、入力されたシリアル形式のテストパターンをパラレルデータに変換し、変換されたパラレルデータがメモリ部にテストデータとして書き込まれる。その後、メモリ部に書き込まれたデータが読み出だされ、そのデータがシリアルデータに変換されて、チップ外部へ出力する。この方式に従うと、テスタが利用でき、かつ、半導体集積回路にとっては、テストパターンを入力するための外部信号端子(ピン)数を節約できるという利点がある。しかし、シリアル/パラレル変換に要する時間だけテスト時間が長くなってしまうという問題点がある。
この発明の目的は、実チップを製造することなく診断を行なうことが可能な半導体メモリの診断技術を提供することにある。
この発明の目的は、新たな半導体メモリの開発期間を短縮することが可能なメモリの診断技術を提供することにある。
この発明の目的は、外部テスタを用いることなく内部メモリのいろいろな判定方式による診断を行なうことが可能な半導体メモリの診断技術を提供することにある。
この発明の他の目的は、短時間に半導体メモリの診断を実行可能なメモリ検査方式を提供することにある。
この発明のさらに他の目的は、テストパターンを入力するための外部端子(ピン)を設けることなくしかも短時間に診断可能な半導体メモリを提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
発明の開示
本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
すなわち、メモリ回路が搭載される半導体チップ上に、命令によって所定のテストパターンを発生可能なテスト回路としてのデータ処理部が設けられる。
データ処理部(10)は、
所定のアルゴリズムに従ってメモリ回路のテストパターン(アドレスとデータ)を生成し、かつ、書き込まれたデータの読出しを行なうための制御を実行可能なマイクロプログラム制御方式の制御部(11,12,13)と、上記制御部によってその動作が制御され、メモリのデコーダに供給されるべきアドレスを発生するアドレス演算部(14)
上記制御部によってその動作が制御され、被検査対象とされるメモリセルに書き込まれるべきデータを発生するデータ演算部(15)、および、
読み出されたデータを判定し、判定結果を出力するデータ判定回路(16)を含む。上記データ処理部(10)は、専用テスト回路とされる必要はなく、他の用途にも利用可能である。
上記制御部は、既存のテスタ言語乃至はテスト言語を用いた複数の命令を格納する命令メモリを有し、上記複数の命令によって定義される上記所定のアルゴリズムに従って、テストパターン(アドレスとデータ)を生成する。上記テスタ言語は、アドレスとデータとを含むテストパターンを効率的に発生するための有効な命令言語と見なすことができる。上記テスタ言語は、テスタ業界で一般的に用いられているような言語とされ、たとえば、アドバンテスト社のテスタ言語と互換性のある言語とされるのがよい。上記所定のアルゴリズムを記述する言語は、テスタ言語に限定されるものではなく、アドレスとデータとを含むテストパターンを発生することが可能な命令言語で有ればよい。
上記命令メモリは、ダイナミック型ランダム・アクセスメモリ、スタティック型ランダム・アクセス・メモリ、リード・オンリ・メモリ、電気的に書き込み可能な不揮発性記憶装置、あるいは、電気的に書き込みおよび消去可能な不揮発性記憶装置はどの既存のメモリから選択することができる。
上記命令メモリを電気的に書き込み及び電気的な消去が可能な不揮発性のメモリセルを含む不揮発性記憶回路、たとえば、フラッシュメモリによって構成するのがよい。それによって、上記所定のアルゴリズムを定義する上記複数の命令は、回路の電源電位が供給されていない状態においても保持される。また、必要に応じて、不揮発性メモリセル内のデータを書き換えることにより、所望のアルゴリズムを定義する複数の命令が不揮発性メモリセルに保持させることができる。
従って、テストパターンを意図的にメモリ製品毎乃至製品ロット毎に変更させたりするような事ができる。このことは、製品毎乃至は製品ロット毎に特定の不良発生パターンが類推できるような場合において、メモリ検査の効率化に関与する。
被検査対象とされるメモリ回路は、ダイナミック型ランダム・アクセスメモリ、スタティック型ランダム・アクセス・メモリ、リード・オンリ・メモリ、電気的に書き込み可能な不揮発性記憶装置、あるいは、電気的に書き込みおよび消去可能な不揮発性記憶装置などの既存のメモリとされる。
上記テスト回路には、自分自身の論理検査を行なう自己検査機能を持たせるようにするのが望ましい。
また、メモリ回路を含む半導体集積回路は、メモリ回路の周辺に、欠陥ビットと置き換え可能な予備メモリ行もしくは予備メモリ列を有する冗長回路を備える。この場合、上記制御部に、自己救済回路が設けられる。上記自己救済回路は、上記データ判定手段からの判定結果に基づいて最も適切な予備メモリ行または予備メモリ列を選択して欠陥ビットと置き換えるアルゴリズムを有し、そのアルゴリズムに従って、欠陥ビットの置き換えのためのアドレス変換を行なう。
さらに、メモリ回路と共に周辺ロジック回路(論理回路)が一つの半導体チップ上に形成された半導体集積回路においては、上記テスト回路にメモリ部のテストパターンのみでなく周辺ロジックのテストパターンを発生可能な機能を持たせるようにする。
上記した手段によれば、外部テスタを用いることなく種々の判定方式による診断を行なうことができるとともに、テストパターンを入力するための外部端子(ピン)を設ける必要がない。しかも、半導体メモリと同一の半導体チップ上に形成されるテスト回路は、半導体メモリと同一の製造技術、つまり、同一世代の半導体プロセス技術によって形成された論理回路で形成されるため、テスト対象となる半導体メモリとほぼ同一の動作速度を容易に実現できる。したがって、本発明に従えば、短時間にメモリの診断を行なう事ができる。前述のような複数の同一回路による並列処理が不要になるため、テスト回路自体の論理規模乃至回路規模は、メモリテスタと比べて小さくできる。テスト回路自体の論理規模乃至回路規模が小さいので、オンチップ化が比較的容易に実現できる。
上記テスト回路部分の製造歩留まりを向上させるには、上記テスト回路の部分の配線加工寸法を、メモリ部分のメモリセルの配線加工寸法より大きくするのがよい。それによって、テスト回路部分が不良となる確率を低減する事が可能となる。
【図面の簡単な説明】
図1は、本発明を適用した半導体メモリの第1の実施例を示すブロック図である。
図2は、本発明を適用した半導体メモリの第2の実施例を示すブロック図である。
図3は、本発明を適用した半導体メモリの第3の実施例を示すブロック図である。
図4は、命令メモリに格納されるマイクロ命令のフォーマット構成例を示す説明図である。
図5は、シーケンス制御部の構成例を示すブロック図である。
図6は、アドレス演算部の構成例を示すブロック図である。
図7は、テストデータ生成演算部の構成例を示すブロック図である。
図8は、メモリアレイの検査を行なう場合のテスト回路のマイクロ命令のオペコードおよびオペランドによるシーケンス制御手順の一例を示すフローチャートである。
図9は、メモリアレイの検査を行なう場合のテスト回路のマイクロ命令の演算コードおよびデータ生成コードによるテストアドレスおよびデータの生成、出力手順の一例を示すフローチャートである。
図10は、本発明をメモリ内蔵の論理LSIに適用した場合の実施例を示すブロック図である。
図11は、従来の一般的な半導体メモリの開発手順を示すフローチャートである。
図12は、従来の論理シュミレータを用いた半導体メモリの開発手順を示すフローチャートである。
発明を実施するための最良の形態
以下、本発明の好適な実施例が図面に基づいて説明される。
図1は、本発明を適用した半導体メモリ(メモリ回路)の一実施例のブロック図である。
図1において、1点鎖線で囲まれた部分は、単結晶シリコンのような1個の半導体チップ上に構成される半導体メモリMCを示す。図1において、符号1はワード線とデータ線が格子状に配設され各交点にメモリセルがそれぞれ配置されたメモリアレイ、2はX系のアドレス信号に基づいてメモリアレイ1内の1本のワード線を選択レベルにするXデコーダ乃至ローデコーダ、3はY系のアドレス信号に基づいてメモリアレイ1内の対応するデータ線を選択するYデコーダ乃至カラムデコーダ、4はデータ線のレベルを増幅するセンスアンプ、5は丸印で示される外部端子から供給されるアドレス信号ADを受けて内部アドレス信号を形成して上記X、Yデコーダ2,3に供給するアドレスバッファ、6はライトデータおよびリードデータのチップ外部へ外部端子を介して入出力を行なうデータ入出力バッファ、7は、丸印で示される外部端子から入力されるチップ選択信号CSやアドレスストローブ信号AS、ライトイネーブル信号WE、アウトイネーブル信号OEなどの外部制御信号を受けて上記デコーダ2,3、センスアンプ4、アドレスバッファ5等の回路に対する内部制御信号を形成して供給する内部制御回路である。上記制御信号は、メモリアレイを構成するメモリセルの種類に従って適便に変更されることは、当業者にとって容易に理解されるであろう。
本実施例のメモリチップMC上には、所定のアルゴリズムに従ってメモリのテストパターン(アドレスとデータ)を生成するとともに書き込んだデータの読出しを行なうマイクロプログラム制御方式の制御部と、演算部、および、読み出されたデータを判定して判定結果を出力するデータ判定手段を含むテスト回路(データ処理回路)10が設けられる。なお、本明細書においては、上記テスト回路10は、ALPG(Algorithmic Memory Pattern Generator)と記述する場合もある。
そして、上記テスト回路10で生成されたアドレスとデータは、それぞれセレクタ21,22,23を介して上記Xデコーダ2,Yデコーダ3およびセンスアンプ4に供給可能にされている。上記セレクタ21,22,23は、上記テスト回路10から出力されるアドレスとデータまたは外部から入力されるアドレスとデータのいずれか一方を選択して、上記Xデコーダ2,Yデコーダ3およびセンスアンプ4に供給する。
上記テスト回路10は、所定のテストパターン生成アルゴリズムに従って記述された複数のマイクロ命令群からなるマイクロプログラムが格納されたEPROM(電気的に書き込み可能な不揮発性メモリ)、フラッシュメモリ(電気的に書き込み及び消去可能な不揮発性メモリ)、ROM(リード・オンリ・メモリ),RAM(ランダム・アクセス・メモリ、ダイナミック型RAM、スタティック型RAM)などからなる命令メモリ11と、該命令メモリ11から読み出されるべきマイクロ命令の命令アドレスを指定するプログラムカウンタ12と、上記命令メモリ11から読み出されたマイクロ命令内の命令コードを解読してメモリ回路部に対する制御信号やプログラムカウンタ12等テスト回路10内の内部回路に対する制御信号を形成するシーケンス制御回路13と、命令メモリ11より読み出されたマイクロ命令に従ってテストアドレスを生成するアドレス演算回路14と、読み出されたマイクロ命令に従ってテストデータおよび期待値データを生成するテストデータ生成回路15と、上記テストアドレスによってメモリアレイ1から読み出されたデータと上記テストデータ生成回路15により生成された期待値データとを比較し、正常な書込みがなされた否か判定する比較判定回路16等により構成されている。
上記命令メモリ11に格納される複数のマイクロ命令は、既知のテスタ言語乃至はテスト言語を用いて記述される。上記複数の命令によって定義される上記所定のアルゴリズムに従って、テストパターン(アドレスとデータ)が生成する。上記テスタ言語は、アドレスとデータとを含むテストパターンを効率的に発生するための有効な命令言語と見なされる。上記テスタ言語は、テスタ業界で一般的に用いられているような言語とされ、たとえば、アドバンテスト社のテスタ言語と互換性のある言語とするのがよい。既存のテストパターンのプログラムデータが利用できるからである。上記所定のアルゴリズムを記述する言語は、テスタ言語に限定されるものではなく、アドレスとデータとを含むテストパターンを発生することが可能な命令言語で有ればよい。
命令メモリ11がEPROM(電気的に書き込み可能な不揮発性メモリ)やフラッシュメモリ(電気的に書き込み及び消去可能な不揮発性メモリ)などによって構成される場合、命令メモリ11へのプログラムの書き込みは、公知のROMライタなどの外部書き込み装置によって行われる。
命令メモリ11がROM(リード・オンリ・メモリ)によって構成される場合、命令メモリ11へのプログラムの書き込みは、本発明の適用され半導体メモリ回路乃至半導体集積回路の製造工程において公知の方法により行われる。
また、命令メモリ11がRAM(ランダム・アクセス・メモリ、ダイナミック型RAM、スタティック型RAM)などの揮発性メモリによって構成される場合には、テストの実施に先立って、上記命令メモリにプログラムをロードする必要がある。
本発明にかかる半導体メモリ回路が不揮発性メモリである場合、あるいは、本発明にかかる半導体集積回路が不揮発性メモリを含む場合、上記不揮発性メモリの一部のアドレス領域に上記プログラムを格納しておき、電源投入乃至テストモードへの移行に応答して、上記プログラムを格納するアドレス領域から上記命令メモリ11へ上記プログラムのロードするのがよい。
図1において、テスト回路10は、テスト回路の起動信号STによって起動される。この起動信号STは、半導体メモリ回路乃至半導体集積回路への電源電位の投入に応答して発生される信号、あるいは、半導体メモリ回路乃至半導体集積回路の外部から意図的に供給される信号とする事ができる。半導体メモリ回路乃至半導体集積回路への電源電位の投入に応答して発生される信号とすれば、半導体メモリ回路乃至半導体集積回路への電源投入時に、自立的に内部メモリの検査を行いような用途に利用可能である。一方、半導体メモリ回路乃至半導体集積回路の外部から意図的に供給される信号とすれば、半導体メーカ乃至システムメーカが半導体メモリ回路乃至半導体集積回路の検査を独自に行いたい場合などの用途に利用できる。
上記比較判定回路16における判定結果は、データの一致/不一致を示す判定信号Fとして外部端子T1から半導体チップの外部へ出力されるように構成されている。テストパターン生成アルゴリズム自体は公知であり、それらを適用することで、特に本実施例のために新規なアルゴリズムを必要としない。
なお、本実施例が適用される半導体集積回路(LSI)がメモリの他に演算回路やロジック回路を備えている場合には、図10に示すように、メモリ回路100と演算回路及ぶロジック回路200およびテスト回路10との間にバス170および切替えスイッチSW1〜SWnからなる信号切替え回路160を設けた可変バス構成とするのが望ましい。
これは、最近の画像処理用メモリ等において、データを処理する演算回路や論理回路に対してデータバスを可変にして制御しなければならない場合があることを考慮したものである。可変バス構成を採用する場合、そのスイッチ構造に汎用性を持たせる必要があり、複数の可変バスのデータ構造を設計データとして設計ツールに持たせておき、必要なバス構造のみ製品に付加する手法が考えられる。このバス構造データに本実施例のALPG構造データを合わせ持たせることにより、設計者およびユーザーは敢えてテスト回路に関わる設計に関与せずに容易にテスト機能を有するメモリ内蔵半導体集積回路LSIを設計することができる。
上記信号切替え回路160内の切替えスイッチSW1〜SWnを制御する信号CSは、メモリ回路のテストの際には、テスト回路10において命令によって発生させ、それをスイッチSW1〜SWnへ与えるようにしてもよい。また、外部から供給されるテストモード指定信号に基づいてテストモードを判定するテストモード判定回路を半導体チップ上に設けて、テストモード判定回路によってテストモード指示信号を判定することで、切替え制御信号CSを形成するように構成してもよい。あるいは、電源電圧レベルを検出する電源電位検出回路を半導体チップ上に設けて、電源投入時に電源電圧Vccが立ち上がりを検出して、切替え制御信号CSを形成するように構成してもよい。
また、上記切替えスイッチSW1〜SWnは、メモリ回路100と演算回路及びロジック回路200との間、または、メモリ回路100とテスト回路10との間の接続切り替えのみならず、演算回路及びロジック回路200とテスト回路10との間を接続できるように構成してよい。さらに、制御信号CSを数種類用意しておいて、半導体集積回路LSIの通常動作時に、切替えスイッチSW1〜SWnを制御してメモリ回路100と演算回路及びロジック回路200との間を接続する信号線数を変化させてデータ幅等を変えるようにすることも可能である。
なお、この実施例において、マイクロプログラムが格納された命令メモリとしての上記EPROM,ROM及びRAMについては、その部分における配線加工寸法などの半導体設計基準は緩和されたデバイス構造とされ、命令メモリ自体に不良が発生しにくいように配慮するのがよい。命令メモリだけでなく、テスト回路10全体が、その部分における配線加工寸法などの半導体設計基準は緩和されたデバイス構造とするのがもっとも良い。すなわち、不良発生率が低減できるような半導体製造プロセスが適用される。
図2には、本発明の第2の実施例を適用した半導体メモリMCのブロック図が示されている。
この実施例の半導体メモリMCは、前記第1の実施例の構成に加えて、メモリアレイ1の近傍に設けられたところの予備メモリ列または予備メモリ行およびアドレス変換回路などを有する冗長回路8と、比較判定回路16における判定結果を記憶する記憶回路としてのメモリ(以下、フェール・メモリと称する)17と、救済回路18を含む。救済回路18は、該フェール・メモリ17に記憶された判定結果及び所定の置換アルゴリズムに従って、上記冗長回路8内のアドレス変換回路に置換アドレスを設定し、不良メモリセルを含むメモリ列またはメモリ行を最適な予備メモリ列もしくはメモリ行に置き換える。
上記救済回路18は、図1に示される上記テスト回路10と同じように構成される。すなわち、救済回路18は、冗長置換アルゴリズムに従って記述された複数のマイクロ命令群からなるマイクロプログラムが格納された命令メモリと、当該命令メモリから読み出すべきマイクロ命令を指定するプログラムカウンタと、命令メモリから読み出されたマイクロ命令内の命令コードを解読して制御信号を形成する制御回路と、演算回路などから構成することができる。
上記比較判定回路16による判定結果に基づいて、最も適切な予備メモリ行または予備メモリ列が選択されて、欠陥ビットと置き換える冗長置換アルゴリズムそれ自身は公知であり、それを使用することで、本実施例のために新規な置換アルゴリズムを必要としない。
なお、図2において符号MALYで示されるメモリアレイ部は、図1におけるメモリアレイ1、X,Yデコーダ2,3、センスアンプ4、アドレスバッファ5、データ入出力バッファ6および内部制御回路7を含んだ回路部分である。また、ALPGは、図1における命令メモリ11とプログラムカウンタ12とシーケンス制御回路13とアドレス演算回路14およびテストデータ生成回路15を含んだ回路部分を示している。SELは、図1におけるセレクタ21,22,23を統括的に示している。
この第2の実施例では、判定結果を記憶するフェール・メモリ17を設けているが、メモリアレイ部が複数のメモリマットもしくはメモリブロックで構成されるような場合には、各メモリマット乃至メモリブロックごとに順番に検査を行なうので、先ず、ある特定の1つのメモリマット乃至メモリブロックを検査してその特定のメモリマット乃至メモリブロック内のすべてのメモリセルに異常がなかったときは、以後、その特定のメモリマット乃至メモリブロックを他のメモリマット乃至メモリブロックの検査のためのフェール・メモリとして使用し、欠陥ビットの救済を行なうように構成することも可能である。
図3には、本発明の第3の実施例を適用した半導体メモリMCのブロック図が示されている。この実施例は、同一チップ上にメモリ回路部100と共に周辺ロジック回路部200が搭載された半導体集積回路、いわゆる、システムメモリに本発明を適用した実施例である。
この実施例においては、周辺ロジック回路部200から出力されるアドレス信号とテストパターン生成回路ALPGから出力されるアドレス信号のいずれかを選択してメモリ回路部100へ供給するためのセレクタ24と、周辺ロジック回路部200から入出力されるデータ信号とテストパターン生成回路ALGPから出力されるデータ信号のいずれかを選択するためのセレクタ25とが半導体チップ上に設けられている。
この実施例においても、第2の実施例と同様に、テスト回路10の他に判定結果を記憶するフェール・メモリ17とそれに基づいて欠陥ビットの救済を行なう救済回路18を設けるようにしても良い。さらに、この実施例のテスト回路10には、周辺ロジック回路部200に対するテストパターンと期待値を生成する機能を持たせ、周辺ロジック回路部の診断もチップ自身で実行できるように構成することが可能である。
図4には、上記命令メモリ11に格納されるマイクロ命令の命令フォーマットの構成例が示されている。前述のように、このマイクロ命令のフォーマットは、テスタ言語に基づいている。
この実施例のマイクロ命令は、ジャンプ命令で使用する命令の飛び先番地を示すPCアドレスが格納されるアドレスフィールドMFaと、シーケンス制御コードが格納されるオペコードフィールドMFbと、命令の繰り返し数などが格納されるオペランドフィールドMFcと、アドレスやデータの出力およびリード/ライトを指示する制御コードが格納される制御フィールドMFdと、アドレス演算命令コードが格納されるアドレス演算コードフィールドMFeと、データ生成命令コードが格納されるデータ生成コードフィールドMFf等からなる。アドレスフィールドMFaは、次に実行されるべき命令のアドレスを規定するフィールドと見なされる。
この実施例に使用されるテスタ言語としてのマイクロ命令の特徴は、1つの命令でテスト用のアドレス演算とデータ演算とを指定して2つの演算を並列に実行する点にある。
図5には、シーケンス制御回路13の構成例が示されている。この実施例のシーケンス制御回路13は、オペコードフィールドMFbの制御コードを解読して制御信号を形成するデコーダなどからなる命令解読制御部30と、プログラムカウンタ12の値を「+1」するためのインクリメンタ31と、上記インクリメンタ31またはアドレスフィールドMFa内の飛び先番地のいずれかを選択してプログラムカウンタ12へ供給するマルチプレクサ32と、オペランドフィールドMFc内の繰り返し数を保持する複数のインデックスレジスタ33と、該インデックスレジスタ33の値を「−1」するためのデクリメンタ34と、「−1」された値を保持する複数のプレーンあるいはウェイから構成されるワーキングレジスタ35と、後述のjxd命令(表1参照)で用いるデータ反転の有無を示すフラグ36と、jindex命令で用いるオペランドのプログラムカウンタ12への転送の有無を示す複数のフラグ37と、レジスタ33,35の値を選択的に上記デクリメンタ34に供給する複数のマルチプレクサ38と、デクリメンタ34の値をワーキングレジスタ35のいずれかのプレーンに分配するデマルチプレクサ39から構成される。
表1には、上記マイクロ命令内のオペコードフィールドMFbに定期乃至記述格納されるところの上記シーケンス制御に用いられるオペコードの種類とその内容が示されている。
【表1】
表1において、「nop」で示される命令は、プログラムカウンタ12の値をインクリメンタ31で「+1」してプログラムカウンタ12へ戻すことを指示するノーオペレーション命令つまりプログラムカウンタの更新以外に何の操作を行なわずに次の命令に移ることを指令する命令である。
また、「jindex1」〜「jindex4」は、ジャンプによる命令のループを回すために用意された命令である。メモリのパターンテストにおいては、ジャンプ命令を用いて同じ命令を何回も繰り返して実行することで命令数、すなわち、プログラム長を減らすことができる場合(例えば、アドレスを最終番地までインクリメントすることで、全メモリセルに「1」を書き込んで読み出すような場合)がある。このループ(ジャンプ)の回数を設定できるようにするために、本実施例では、インデックスレジスタ33を設けている。しかも、複数種類の判定方式を実行できるようにするため、ジャンプ命令とインデックスレジスタ33およびワーキングレジスタ35をそれぞれ4つずつ設けている。
各ジャンプ命令は同じ制御内容であるので、以下「jindex1」による制御動作を説明し、他のジャンプ命令「jindex2」〜「jindex4」の説明は省略される。オペコードフィールドMFbからjindex1命令が読み出されると、それが最初のjindex1命令であるか判定されて、その判定結果がフラグ37に反映される。具体的には、最初のjindex1のときはフラグjf1=0とされ、2回目以降はjf1=1とされる。
フラグjf1=0のときにjindex1命令が読み出されると、そのマイクロ命令のアドレスフィールドMFa内のジャンプ先アドレスとしてのPCアドレスがプログラムカウンタ12へ設定されるように、マルチプレクサ32が制御される。それによって、マイクロ命令の実行シーケンスはその番地にジャンプされるとともに、フラグjf1は「1」にセットされる。これと同時に、オペランドフィールドMFc内で定義されるループ回数がインデックスレジスタ33のidxに読み込まれる。
フラグjf1=1のときにjindex1命令が読み出されると、そのマイクロ命令のアドレスフィールドMFa内のPCアドレスがプログラムカウンタ12へ設定される。そして、インデックスレジスタ33のidx1内のループ回数がマルチプレクサ38を介してデクリメンタ34に供給されデクリメント「−1」される。デクリメントされた値は、デマルチプレクサ39を介してワーキングレジスタ35のidxw1に格納される。そして、ワーキングレジスタ35のidxw1が「0」になると、マイクロ命令のアドレスフィールドMFa内のPCアドレスをプログラムカウンタ12へ設定しないで代わりに、プログラムカウンタ12のアドレスをインクリメンタ31で「+1」してプログラムカウンタ12へ戻すようにマルチプレクサ32が制御される。
従って、マイクロ命令のオペコードフィールドMFbにjindex命令が定義乃至記述され、そのアドレスフィールドMFa内に当該マイクロ命令のジャンプ先アドレスとしてのPCアドレスが定義乃至定義されていると、オペランドフィールドMFc内で指定されたループ回数だけ同一のjindex命令が繰り返し実行され、最後にプログラムカウンタ12がインクリメントされて、次のマイクロ命令へ進んでループから抜け出すような制御が行なわれる。
また、表1内の「jxd」命令は、フラグ36内のdflgを参照し、そのdflgフラグの値によってプログラムカウンタの値を操作する命令とされる。「jxd」命令は、フラグ36内のdflgフラグが「0」のような第1の値のときは、オペランドをプログラムカウンタへ転送し、プログラムをオペランドの示す飛び先番地の命令へジャンプさせ、かつ、dflgフラグを「1」のような第2の値にセットする。一方、「jxd」命令は、dflgフラグが「1」のような第2の値のときは、プログラムカウンタの値をインクリメントし、プログラムカウンタへ戻し、かつ、dflgフラグを「0」のような第1の値にリセットする。
「jmp」命令は、オペランドをプログラムカウンタへ転送して、プログラムをオペランドの示す飛び先番地の命令へジャンプさせることを指令する命令である。
「stop」命令は、シーケンス制御を終了させる事を指示する停止命令である。
図6には、上記アドレス演算回路14の構成例が示されている。
この実施例のアドレス演算回路14は、大きく分けてXアドレスの生成を行なうXアドレス演算部41と、Yアドレスの生成を行なうYアドレス演算部42とにより構成されている。Xアドレス演算部41とYアドレス演算部42は、ほぼ同一の構成であるので、以下、Xアドレス演算部41の構成を説明し、Yアドレス演算部42の構成の説明を省略する。また、必要に応じて不可的なZアドレス演算部を設けることにより、部分的なパターンの生成(パーシャルパターン)を行なわせるようにできる。
Xアドレス演算部41は、Xアドレスの初期値を格納する初期値レジスタXholdと、「0」を保持するゼロ設定手段43と、Xアドレスの初期値または「0」のいずれかを選択するマルチプレクサMUX1と、選択された初期値または「0」を保持するベースレジスタXbaseと、レジスタXbaseの値を加算する第1の演算器ALU1と、演算器ALU1の演算結果または「0」または帰還値のいずれかを選択する第2のマルチプレクサMUX2と、選択された値を保持するカレントレジスタXcurrentと、レジスタXcurrentの値を加算もしくは減算する第2の演算器ALU2と、この第2演算器ALU2または上記第1演算器ALU1の出力のいずれかを選択する第3のマルチプレクサMUX3と、選択された出力を反転可能なインバータINVとから構成されている。
このインバータINVは、メモリのパターンテストにおいて、アドレス信号の切り換えノイズによる誤動作を試験する場合があり、その際にアドレス信号の反転信号を出力する必要があるため設けられる。このインバータINVを使用することで、上記試験におけるアドレス信号の反転信号を容易に形成することができる。
特に制限されないが、この実施例では、上記Xアドレス演算部41の演算器ALU1,ALU2で生成されたXアドレスをYアドレス側へ、また、Yアドレス演算部42で生成されたYアドレスをXアドレス側へ出力できるように、それぞれの第3マルチプレクサMUX3が構成されている。
これにより、複数の数種のメモリ、例えば、アドレスマルチプレックス方式のメモリおよびアドレスノンマルチプレックス方式のメモリのいずれのテスト回路としても使用できるように構成されている。つまり、命令メモリ11に格納されるマイクロ命令を書き換えるだけで、すべてのメモリに対してそれに必要なテストパターンの発生乃至検査を行なうことができる。
なお、上記Xアドレス演算部41とYアドレス演算部42の異なる点は、Xアドレス演算部41の第1演算器ALU1がオーバーフローしたときにYアドレス演算部42の第1演算器ALU1に対してはボロー信号BRが供給されるようにされている点である。
表2には、上記マイクロ命令内の演算コードフィールドMFeに記述乃至定義格納されるところの上記Yアドレス演算部42の第1演算器ALU1でのYアドレス演算(ベース演算)に用いられる演算コードの種類とその内容が示されている。
【表2】
表2において、Ybase←0は、ベースレジスタYbaseの値を「0」にすることを指令する命令である。Ybase←Yholdは、初期値レジスタYholdの内容をベースレジスタYbaseに入れることを指令する命令である。Ybase←Ybase+1は、ベースレジスタYbaseの値をインクリメント(+1)してレジスタYbaseに戻すことを指令する命令である。Ybase←Ybase+1(BR)は、ベースレジスタXbaseの値が最大値でなければYbaseの値をそのままにし、かつ、Xbaseの値が最大値であればYbaseの値をインクリメントしてレジスタYbaseに戻すことを指令する命令である。このとき、第1演算器ALU1から第2演算器ALU2へボロー信号BRが供給される。
表3には、上記Xアドレス演算部41の第1演算器ALU1でのアドレス演算に用いられる演算コードの種類とその内容が示されている。
表4には、上記Yアドレス演算部42の第2演算器ALU2でのYアドレス演算(カレント演算)に用いられる演算コードの種類とその内容が示されている。
表5には、上記Xアドレス演算部41の第2演算器ALU2でのアドレス演算に用いられる演算コードの種類とその内容が示されている。
表4において、左側の欄はテスタ言語を用いて記述されたALPG記述で、右側の欄はそれに対応した機能動作レベル記述(HDL記述)である。
【表3】
【表4】
【表5】
図7には上記テストデータ生成回路15の構成例が示されている。
この実施例のテストデータ生成回路15は、ライトデータまたは期待値の初期値を格納する初期値レジスタTpholdと、当該初期値レジスタTpholdの値を反転可能なインバータINVERT1と、出力すべきテストデータまたは期待値の基準データを保持するベースデータレジスタTpと、ビットシフト機能を有する演算器ALUと、演算器ALUの出力を反転可能なインバータINVERT2とから構成されている。なお、上記実施例では、ビット幅を18ビットとしているが、必要に応じてテストデータ回路を拡大して、所望のビット幅に構成できる。
表6には、上記マイクロ命令内のデータ生成コードフィールドMFfに定義乃至は記述されるところの上記テストデータ生成回路15での動作制御に用いられる制御コードの種類とその内容が示されている。表6において、表3〜表5の命令と同一規則で表されている命令は、ほぼ同様の命令である。
Tp←Tp*2は、レジスタTpと演算器ALUを制御してレジスタTp内の18ビットのデータを演算器ALUで処理してビット列をMSB側もしくはLSB側へ1ビットシフトさせてレジスタTpに戻す命令である。この命令によって、メモリ部が1ワードあるいは1バイトのような単位でデータのリード・ライトが行なわれるタイプのメモリであっても、メモリセルに対して1ビットずつデータ「1」を書き込むためのテストデータを比較的容易に生成することができる。
【表6】
表7には、メモリの試験方法の1つであるところのマーチング試験に関するマイクロ命令のリストの一例が示される。
マーチング試験は、次のように行われる。メモリアレイ1内のメモリセルの全ビットにおいて、その中の1ビットが順番に選択される。選択されたメモリセルには、「0」のデータが書き込まれる。その後、書き込まれた「0」のデータの読み出しが行なわれる。続いて、全ビットにおいて、その中の1ビットが順番に選択される。選択されたメモリセルには「1」のデータが書き込まれる。その後、書き込まれた「1」のデータが読み出されて、それぞれ期待値と比較して欠陥の有無が判定される。
一例として、Xアドレスが4ビット、Yアドレスが4ビットで、256ビットの記憶容量を有するメモリアレイを想定したマーチング試験が説明される。
【表7】
表7において、記号WおよびRは、制御フィールドMFdに記述乃至定義されるところのメモリに対するリード/ライトを指示する制御コードである。この制御コードは、Wに対応したビットとRに対応したビット、つまり、2ビットで表すようにされている。「PCアドレス」の欄に記載されている数字は、飛び先番地を示すもので、当該マイクロ命令実行後にPCの欄に記述されている番号のマイクロ命令に移行してループもしくはジャンプすることを意味している。また、「制御命令等」の欄に記載されている記号X←Xbase,Y←Ybaseは、それぞれベースレジスタXbase,Ybaseの値をXアドレス,Yアドレスとして出力することを意味している。
図8および図9には、前記マイクロプログラム制御方式の制御部と演算部とからなるテスト回路10によりメモリアレイ1の上記マーチング試験を行なう場合の表7のマイクロ命令リストに従った処理フローの一例を示す。このうち図8はマイクロ命令内のオペコードとオペランドとによるシーケンス制御のフローを示しす。また、図9は、図8に示されるシーケンス制御のフローと並行して実行されるところのアドレス演算コードとデータ生成コードによるテストアドレスおよびテストデータ(ライトデータ、期待値データ)の生成フローを示す。これらの処理は、前述の表1〜表6に記述されている命令コードを用いてシーケンス制御回路13およびアドレス演算回路14、データ生成回路15を動作させることにより実行することができる。
以下、図8と図9の各ステップを対応させながら、マーチング試験の手順を説明する。
外部からプログラムカウンタ12にスタートアドレスとして、表7のリストに示される最初の命令の番地がセットされると、図8および図9のフローが開始される。先ず、命令メモリ11から表7の最初のマイクロ命令が読み出されると、オペコードは「nop」であるため、シーケンス制御回路13は何もせずただプログラムカウンタ12を1つだけ進める(ステップS1)。一方、アドレス演算回路14およびデータ生成回路15は、初期値レジスタXhold,Yhold,Tholdに入っている初期値「0」をベースレジスタXbase,Ybase,Tpにそれぞれ設定する(ステップS21)。
次に、上記ステップS1でプログラムカウンタ12がインクリメントされているため、表7の2番目のマイクロ命令が読み出される。第2のマイクロ命令のオペコードは「jindex1」であるため、シーケンス制御回路13ではオペランドの繰り返し回数がインデックスレジスタidx1にセットされる(ステップS2)。
インデックスレジスタidx1の最初の設定値はメモリアレイ1の容量(バイト数もしくはワード数)に対応される。一方、アドレス演算回路14では、演算コードX←Xbase,Y←YbaseによってベースレジスタXbase,Ybaseの値をXアドレス,Yアドレスとしてそれぞれ出力する。データ生成回路15からはレジスタTpの値「0」が出力される。そして、このとき、制御信号W(書き込み)が出力される。これによって、メモリアレイ1ではアドレス演算回路14から出力されたX,Yアドレスに対応したメモリセルが選択されてデータ「0」が書き込まれる(ステップS22)。
シーケンス制御回路13はオペコード「jindex1」によってインデックスレジスタidx1の値をデクリメントしてワーキングレジスタidxwに入れ、それが「0」になるまで同一命令を繰り返す(ステップS3,S4)。
また、アドレス演算回路14では演算コードXbase←Xbase+1によってベースレジスタXbaseの値すなわちXアドレスをインクリメントし、Ybase←Ybase+1(BR)によってベースレジスタXbaseが最大値になるとYアドレスをインクリメントする。上記インデックスレジスタidx1の最初の設定値はメモリアレイ1の容量と同じであるので、上記動作の繰り返しによって、メモリアレイ1内のすべてのメモリセルに順番にデータ「0」が書き込まれる(ステップS23,S24)。
ワーキングレジスタidxwの値が「0」になると、シーケンス制御回路13はプログラムカウンタ12の値をインクリメントして、表7の3番目のマイクロ命令を読み出す。そのオペコードは「nop」であるため、シーケンス制御回路13は何もせずプログラムカウンタ12を1つだけ進める(ステップS5)。
一方、アドレス演算回路14は、3番目のマイクロ命令の演算コードに従って、X,YアドレスをインクリメントしてからベースレジスタXbase,Ybaseに入っている値をXアドレス,Yアドレスとしてそれぞれ出力する。このときベースレジスタXbase,Ybaseの値は「0」に戻っている。データ生成回路15はこのとき「0」を出力する。また、制御フィールドMFdの制御コードに従って、制御信号R(読み出し)が出力される。これによって、当該アドレスのデータが読み出され、期待値データ「0」と比較される(ステップS25,S26)。
次に、上記ステップS5でプログラムカウンタ12がインクリメントされているため、表7の4番目のマイクロ命令が読み出される。第4のマイクロ命令のオペコードは「jindex1」であるため、シーケンス制御回路13ではオペランドの繰り返し回数がインデックスレジスタidx1にセットされる(ステップS6)。インデックスレジスタidx1の最初の設定値はメモリアレイ1の容量(バイト数もしくはワード数)に対応される。ただし、第4命令のjindex1命令コードは第2命令のjindex1命令コードと異なるPCアドレス(飛び先番地)を有するため、実行後に第3の命令(オペコードが「nop」)に戻る。
一方、アドレス演算回路14では、演算コードX←Xbase,Y←YbaseによってベースレジスタXbase,Ybaseの値をXアドレス,Yアドレスとしてそれぞれ出力する。また、データ生成コードDinvertによって、データ生成回路15からはレジスタTpの値「0」を反転したデータ「1」が出力される。そして、このとき、制御信号W(書き込み)が出力される。これによって、メモリアレイ1では出力されたX,Yアドレスのメモリセルにデータ「1」が書き込まれる(ステップS27)。
シーケンス制御回路13はオペコード「jindex1」によってインデックスレジスタidx1の値をデクリメントしてワーキングレジスタidxwに入れ、それが「0」になるまで「nop」命令に戻って繰り返す(ステップS7,S8)。また、アドレス演算回路14では演算コードXbase←Xbase+1によってベースレジスタXbaseの値すなわちXアドレスをインクリメントし、Ybase←Ybase+1(BX)によってベースレジスタXbaseが最大値になるとYアドレスをインクリメントする。上記インデックスレジスタidx1の最初の設定値はメモリアレイ1の容量と同じであるので、上記手順によって、メモリアレイ1内のすべてのメモリセルに対して順番に読み出しが行なわれ期待値と比較されてから当該アドレスに「1」が書き込まれる動作を繰り返す(ステップS27,S28)。
次に、表7の5番目のマイクロ命令が読み出される。第5のマイクロ命令のオペコードは「jindex1」であるため、シーケンス制御回路13ではオペランドの繰り返し回数がインデックスレジスタidx1にセットされる(ステップS9)。インデックスレジスタidx1の最初の設置値はメモリアレイ1の容量(バイト数もしくはワード数)に対応される。この第5のjindex1命令コードは第2のjindex1命令コードと同じPCアドレスを有し、同一命令を繰り返す命令とされる。一方、アドレス演算回路14では、演算コードX←Xbase,YbaseによってベースレジスタXbase,Ybaseの値をXアドレス,Yアドレスとしてそれぞれ出力する。また、データ生成コードDinvertによって、データ生成回路15からはレジスタTpの値「0」を反転したデータ「1」が出力される。そして、このとき、制御信号R(書き込み)が出力される。これによって、メモリアレイ1では出力されたX,Yアドレスによって指定されたメモリセルからデータの読み出しが行われる(ステップS29)。
シーケンス制御回路13はオペコード「jindex1」によってインデックスレジスタidx1の値をデクリメントしてワーキングレジスタidxwに入れ、それが「0」になるまで「jindex1」命令を繰り返す(ステップS10,S11)。また、アドレス演算回路14では演算コードXbase←Xbase+1によってベースレジスタXbaseの値すなわちXアドレスをインクリメントし、Ybase←Ybase+1(BR)によってベースレジスタXbaseが最大値になるとYアドレスをインクリメントする。上記インデックスレジスタidx1の最初の設定値はメモリアレイ1の容量と同じであるので、上記動作の繰り返しによって、メモリアレイ1内のすべてのメモリセルが順番に読み出しが行なわれて期待値「1」と比較される(ステップS30,S31)。
次に、表7の6番目のマイクロ命令が読み出される。第6のマイクロ命令のオペコードは「jxd」であるため、シーケンス制御回路13ではアドレスフィールドMFc内のPCアドレスの示す飛び先番地へジャンプする。この実施例では、表7の第2の命令「jindex1」へ戻るようにされている。そして、再びjindex1命令が読み出されたときにフラグdflgが「1」にセットされる。これにより、2巡目のシーケン処理においては、図8のステップS12で「YES」と判定して、マーチング試験を終了する。
一方、2巡目のマイクロ命令リストの実行に際しては、図9のステップS22〜S31において、データ生成回路14によりライトデータと期待値データを「1」として全ビットへ連続して書き込みを行なってから、書き込んだデータを1ビットずつ読み出してそこへ反転データ「0」を書き込み、その後、全ビットの連続した読み出しが行なわれるようにされている。図9のフローでは、ステップS32で、ステップS22〜S31による上記のような1巡目とは逆のデータの書き込み読み出しが終了したか否かの判定(裏データ終了判定)が行なわれるようにされている。なお、上記裏データによる検査を行なうための裏データ生成は図7のTholdのINVERTとdflgでコントロールして生成するようにされている。
上述したように、図8および図9のフローに従った制御は、表1〜表6に記述されている命令コードを用いて命令メモリ11内のマイクロ命令を次の表7の命令リストに記述することで、僅か6つのマイクロ命令によりマーチング試験を実行することができる。
さらに、前記実施例のテスト回路10においては、表1〜表6に記述されている命令コードを用いることにより上記マーチング試験の他に、すべてのメモリセルに「0」または「1」が書き込めるか検査するオール「0」判定試験またはオール「1」判定試験や、あるビットに「1」を書き込んでそれによって他のビットが誤書込みされていないかすべてのビットについて検査するいわゆるN2乗パターン試験(もしくはギャロッピング試験)等も実行することができる。
表8に、N2乗パターン試験のためのマイクロ命令リストを示す。なお、ixdは、初期値レジスタTpholdの下にあるフラグdflgでコントロールされるインバータINVERTをコントロールして裏テストパターンを生成する命令である。フラグdflgが0のときは初期値レジスタTpholdの値をそのままレジスタTpに格納し、フラグdflgが1のときはその逆のパターンがレジスタTpに設定される。
【表8】
上記実施例においては、プログラムカウンタ12に最初に設定する値を、表7や表8に示される最初のマイクロ命令の命令番地に変更することで、マーチング試験やN2乗パターン試験を開始させることができる。
なお、前記テスト回路10には、テスト回路自身の論理検査を行なう自己検査機能を持たせるようにするのが望ましい。また、メモリと共に論理回路が一つの半導体チップ上に形成された半導体集積回路においては、上記テスト回路にメモリ部のテストパターンのみでなく論理回路のテストパターンを発生可能な機能を持たせるようにすると良い。
以上説明したように、上記実施例においては、半導体メモリ回路のようなメモリが搭載ないし形成される半導体チップ上に、所定のアルゴリズムに従って上記メモリのテストパターン(アドレスとデータ)を生成するとともに、メモリに書き込んだデータの読出しを行なうマイクロプログラム制御方式の制御部と演算部および読み出されたデータを判定して判定結果を出力するデータ判定手段からなるテスト回路を設けるようにした。それによって、外部テスタを用いることなく内部の上記メモリのすべての判定方式によるテストを行なうことができる。したがって、テストパターンを入力するための外部端子(ピン)を半導体チップ上に設ける必要がない。しかも、上記メモリと同一の半導体チップ上に形成される上記テスト回路は上記メモリと同一の製造技術、つまり、同一世代の回路で形成されるため、テスト対象となる上記メモリと同一の動作速度を容易に実現できるので、実動作で短時間に上記メモリのテストを実行できる。複数の同一回路による並列処理も不要になるため、テスト回路の規模もテスタによる場合に比べて小さくできるため、半導体チップ上へのオンチップ化が比較的容易に実現できる。
さらに、実施例のテストパターン発生回路(ALPG)は、これをコンピュータが認識可能なHDL(ハードウェア・ディスクリビューション・ラングイッジ)記述できる。つまり、ソフトウェアでテストパターン発生回路(ALPG)を構成することができるため、半導体メモリもしくはそれを内蔵した半導体集積回路を新たに開発する場合、システム設計後チップ製造前に、コンピュータ上で上記メモリが正常に動作するか検証することができるので、半導体メモリの開発期間を大幅に短縮することができるという効果がある。
また、メモリの周辺に欠陥ビットと置き換え可能な予備メモリ行もしくは予備メモリ列を有する冗長回路を備えた半導体集積回路において、上記制御部に上記データ判定手段からの判定結果に基づいて最も適切な予備メモリ行または予備メモリ列を選択して欠陥ビットと置き換えるアルゴリズムを持たせる。そして、そのアルゴリズムに従って、欠陥ビットの置き換えのためのアドレス変換を行なう自己救済回路が設けられる。そのため、欠陥ビットの検出から欠陥ビットと予備メモリセルの置き換えまでをすべて半導体チップの内部で行なうことができるため、外部のテスタが不要になり、製造ラインの小規模化が可能になるという効果がある。
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、実施例におけるテスト回路および比較判定回路の部分をメモリとは別個の半導体チップに独立した半導体集積回路として構成するようにしても良い。そして、そのようなテスト用ICとの構成により複数のメモリICを基板に搭載して製造されるメモリ・モジュールと呼ばれる装置などのテストの簡易化が図れる。
なお、近年フラッシュメモリ等では外部からコマンドを与えると内部制御でデータの書込みを行なうように構成されたメモリが提案されており一見本発明に類似するようにも見えるが、フラッシュメモリにおける書込み制御は、1回の書込み動作ではメモリセルを所定のしきい値レベル以上にすることができないことがあるので繰り返し書込み動作を行なうようにした機能であり、書込みを行なうメモリセルを選択するアドレス信号および書込みデータはいずれも外部から与えられるものである。従って、この点において、内部に演算回路を備えメモリセルを選択するためのアドレスや書き込むべきデータを演算する機能を有する本発明を適用したメモリとは明確に区別されるものである。
産業上の利用可能性
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるメモリもしくはメモリを内蔵した半導体集積回路におけるテスト回路を例にとって説明したが、この発明はそれに限定されない。たとえば、PLA(プログラマブル・ロジック・アレイ)その他の規則性を有する回路であって組合せ数の非常に多いテストパターンを必要とする半導体集積回路に利用することができる。
Claims (11)
- メモリ回路と、論理回路と、所定のアルゴリズムに従って前記メモリ回路の検査のための信号を生成するとともに書き込んだデータの読出しを行なうための制御信号を形成する制御回路と該制御回路からの制御信号に従ってテストデータを形成する演算手段と上記メモリ回路から読み出されたデータを判定して判定結果を出力するデータ判定手段とからなるデータ処理回路とが、同一半導体チップ上に形成され、
上記データ処理回路は、制御信号を形成するための複数のマイクロ命令コードが格納された命令メモリと、該命令メモリから所望のマイクロ命令コードを読み出すカウンタ回路と、上記命令メモリから読み出されたマイクロ命令コードを解読して制御信号を形成する命令解読制御回路を備え、
さらに、上記データ処理回路は上記メモリ回路の検査のための信号および上記論理回路の検査のための信号を発生する機能を有するように構成されていることを特徴とする半導体集積回路。 - 上記データ処理回路は、複数の仕様のメモリ回路に対する検査用信号を発生可能に構成されていることを特徴とする請求項1に記載の半導体集積回路。
- 上記データ処理回路は、自分自身の論理検査を行う自己検査機能を有するように構成されていることを特徴とする請求項1または2に記載の半導体集積回路。
- 上記メモリ回路は、ダイナミック型ランダム・アクセス・メモリ、スタティック型ランダム・アクセス・メモリ、リード・オンリ・メモリ、電気的に書き込み可能な不揮発性記憶装置、あるいは、電気的に書き込みおよび消去可能な不揮発性記憶装置の内の1である請求項1に従う半導体集積回路。
- 上記命令メモリは、電気的に書き込み可能な不揮発性メモリ、電気的に書き込み及び消去可能な不揮発性メモリ、リード・オンリ・メモリ、ダイナミック型RAM、スタティック型RAMの中の1つである請求項1に従う半導体集積回路。
- 上記命令メモリの最小加工寸法は、上記半導体メモリのそれより、大きくされる請求項1に従う半導体集積回路。
- 上記カウンタ回路の動作は、上記半導体集積回路への電源の投入に応答して起動状態とされる請求項1に従う半導体集積回路。
- 上記複数のマイクロ命令コードは、
次に読み出されるべき命令のアドレスを規定するアドレスフィールド(MFa)と、
上記シーケンス制御コードが規定されるオペコードフィールド(MFb)と、
命令の繰り返し数が規定されるオペランドフィールド(MFc)と、
アドレス信号及びデータの出力、および、リード/ライトを指示する制御コードが規定される制御フィールド(MFd)と、
アドレス演算命令コードが規定されるアドレス演算コードフィールド(MFe)と、
データ生成命令コードが規定されるデータ生成コードフィールド(MFf)とを含む、請求項1に従う半導体集積回路。 - 一つの半導体チップ上に形成された半導体集積回路におけるメモリ回路の検査方法であって、
上記メモリ回路は、複数のマットから構成され、
オール「0」判定試験、オール「1」判定試験、N2乗パターン試験、およびマーチング試験のためのアルゴリズムを含む所定のアルゴリズムを格納したマイクロプログラムメモリを有し、前記所定のアルゴリズムに従って前記メモリ回路の検査のための制御信号を生成するとともに書き込んだデータの読み出しを行うマイクロプログラム制御方式の制御回路と、該制御回路からの制御信号に従ってテストデータを形成する演算回路と、上記メモリ回路より読み出されたデータを判定して判定結果を出力するデータ判定手段と、からなるデータ処理回路を備えたテスト回路を、上記メモリ回路と同一半導体チップ上に形成し、
上記テスト回路を用いて所定のアルゴリズムに従って上記マットを検査し、
異常なしと判定されたマットを他のマットの判定結果を格納するメモリ部として用いることを特徴とする検査方法。 - 上記マイクロプログラムメモリを電気的に書き込み可能な不揮発性メモリで形成し、
オール「0」判定試験、オール「1」判定試験、N2乗パターン試験、およびマーチング試験のためのアルゴリズムの中から選択された一つのアルゴリズムを上記マイクロプログラムメモリに格納することを特徴とする請求項9に記載の検査方法。 - 上記所定のアルゴリズムはテスタ言語またはテスト言語で記述されていることを特徴とする請求項9に記載の検査方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9884097 | 1997-04-16 | ||
JP32627997 | 1997-11-27 | ||
PCT/JP1998/001731 WO1998047152A1 (fr) | 1997-04-16 | 1998-04-16 | Circuit integre a semi-conducteur et procede pour tester la memoire |
Publications (1)
Publication Number | Publication Date |
---|---|
JP3867862B2 true JP3867862B2 (ja) | 2007-01-17 |
Family
ID=26439948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP54374298A Expired - Fee Related JP3867862B2 (ja) | 1997-04-16 | 1998-04-16 | 半導体集積回路およびメモリの検査方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US6233182B1 (ja) |
JP (1) | JP3867862B2 (ja) |
KR (1) | KR20010006400A (ja) |
WO (1) | WO1998047152A1 (ja) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185631B1 (en) * | 1998-10-14 | 2001-02-06 | International Business Machines Corporation | Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence |
US6701491B1 (en) * | 1999-06-26 | 2004-03-02 | Sei-Yang Yang | Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it |
JP2001014900A (ja) * | 1999-06-29 | 2001-01-19 | Fujitsu Ltd | 半導体装置及び記録媒体 |
JP2001035188A (ja) | 1999-07-26 | 2001-02-09 | Fujitsu Ltd | 半導体装置の試験方法及び半導体装置 |
US6405150B1 (en) * | 1999-08-31 | 2002-06-11 | Unisys Corporation | Program storage device containing instructions that are spaced apart by unused bits that end on word boundaries and which generate chip testing bit streams of any length |
TW451212B (en) * | 1999-12-03 | 2001-08-21 | Macronix Int Co Ltd | Read only memory chip having a built in testing circuit |
WO2001056038A1 (fr) * | 2000-01-28 | 2001-08-02 | Hitachi, Ltd. | Systeme a semi-conducteur |
JP2001216346A (ja) * | 2000-02-04 | 2001-08-10 | Mitsubishi Electric Corp | 論理シミュレーション方法および論理シミュレーション装置 |
US7269765B1 (en) | 2000-04-13 | 2007-09-11 | Micron Technology, Inc. | Method and apparatus for storing failing part locations in a module |
GB0012352D0 (en) * | 2000-05-22 | 2000-07-12 | Northern Telecom Ltd | Reliable hardware support for the use of formal languages in high assurance systems |
JP2001337845A (ja) * | 2000-05-30 | 2001-12-07 | Mitsubishi Electric Corp | マイクロプロセッサ |
US6829737B1 (en) * | 2000-08-30 | 2004-12-07 | Micron Technology, Inc. | Method and system for storing device test information on a semiconductor device using on-device logic for determination of test results |
US6430096B1 (en) * | 2000-11-01 | 2002-08-06 | International Business Machines Corporation | Method for testing a memory device with redundancy |
JP3972089B2 (ja) | 2000-11-30 | 2007-09-05 | 株式会社ルネサステクノロジ | 半導体メモリのテスト用ボードおよびテスト方法並びに製造方法 |
JP3875570B2 (ja) * | 2001-02-20 | 2007-01-31 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法及び半導体記憶装置 |
US6417695B1 (en) * | 2001-03-15 | 2002-07-09 | Micron Technology, Inc. | Antifuse reroute of dies |
US20020194558A1 (en) * | 2001-04-10 | 2002-12-19 | Laung-Terng Wang | Method and system to optimize test cost and disable defects for scan and BIST memories |
JP4212257B2 (ja) * | 2001-04-26 | 2009-01-21 | 株式会社東芝 | 半導体集積回路 |
KR100429116B1 (ko) * | 2001-05-14 | 2004-04-28 | 삼성전자주식회사 | 반도체 ic 소자의 검사 공정 손실 요인 자동 분석 및관리 시스템과 그 방법 |
DE10124735C1 (de) * | 2001-05-21 | 2002-11-14 | Infineon Technologies Ag | Verfahren zum Testen von Halbleiter-Chips |
JP2002358800A (ja) * | 2001-05-28 | 2002-12-13 | Mitsubishi Electric Corp | 半導体装置 |
US6981196B2 (en) * | 2001-07-25 | 2005-12-27 | Hewlett-Packard Development Company, L.P. | Data storage method for use in a magnetoresistive solid-state storage device |
US7036068B2 (en) * | 2001-07-25 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Error correction coding and decoding in a solid-state storage device |
US20030023922A1 (en) | 2001-07-25 | 2003-01-30 | Davis James A. | Fault tolerant magnetoresistive solid-state storage device |
US6631340B2 (en) * | 2001-10-15 | 2003-10-07 | Advantest Corp. | Application specific event based semiconductor memory test system |
JP2003123499A (ja) * | 2001-10-16 | 2003-04-25 | Mitsubishi Electric Corp | 半導体試験装置および半導体装置の試験方法、並びに半導体装置の製造方法 |
US6973604B2 (en) * | 2002-03-08 | 2005-12-06 | Hewlett-Packard Development Company, L.P. | Allocation of sparing resources in a magnetoresistive solid-state storage device |
US20030172339A1 (en) * | 2002-03-08 | 2003-09-11 | Davis James Andrew | Method for error correction decoding in a magnetoresistive solid-state storage device |
JP2003302743A (ja) * | 2002-04-12 | 2003-10-24 | Dainippon Printing Co Ltd | フォトマスクの検査方法 |
TWI261297B (en) * | 2002-05-01 | 2006-09-01 | Via Tech Inc | Chip manufacturing process capable of testing efficiency in advance and its test method |
US6943575B2 (en) | 2002-07-29 | 2005-09-13 | Micron Technology, Inc. | Method, circuit and system for determining burn-in reliability from wafer level burn-in |
JP4129381B2 (ja) * | 2002-09-25 | 2008-08-06 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
JP2005011464A (ja) * | 2003-06-20 | 2005-01-13 | Toshiba Corp | 半導体記憶装置、テストシステム及びテスト方法 |
US8176370B2 (en) * | 2003-09-12 | 2012-05-08 | Broadcom Corporation | Method and system for direct access memory testing of an integrated circuit |
US7278077B1 (en) * | 2003-10-20 | 2007-10-02 | Sun Microsystems, Inc. | IBIST test for synchronous lines at multiple frequencies |
JP4251964B2 (ja) * | 2003-11-10 | 2009-04-08 | 富士通マイクロエレクトロニクス株式会社 | 検証装置、検証方法およびプログラム |
KR100624576B1 (ko) * | 2004-06-11 | 2006-09-19 | 삼성전자주식회사 | 허브를 갖는 메모리 모듈을 테스트하는 방법 및 이를수행하기 위한 메모리 모듈의 허브 |
US20050289287A1 (en) * | 2004-06-11 | 2005-12-29 | Seung-Man Shin | Method and apparatus for interfacing between test system and embedded memory on test mode setting operation |
JP4494474B2 (ja) * | 2004-11-18 | 2010-06-30 | メンター・グラフィクス・コーポレーション | プログラマブル・メモリ・ビルト・イン・セルフ・テスト(mbist)の方法及び装置 |
JP4588421B2 (ja) * | 2004-11-29 | 2010-12-01 | 富士通株式会社 | テストパターン生成装置、回路設計装置、テストパターン生成方法、回路設計方法、テストパターン生成プログラム、回路設計プログラム |
JP2006209861A (ja) * | 2005-01-27 | 2006-08-10 | Matsushita Electric Ind Co Ltd | 半導体集積回路およびそのテスト手法 |
WO2007043144A1 (ja) * | 2005-10-05 | 2007-04-19 | Hewlett-Packard Development Company, L.P. | 負荷試験装置およびその方法 |
US7444258B2 (en) * | 2005-12-05 | 2008-10-28 | International Business Machines Corporation | Automated simulation testbench generation for serializer/deserializer datapath systems |
KR101199771B1 (ko) * | 2005-12-19 | 2012-11-09 | 삼성전자주식회사 | 모드별 논리적 어드레스를 설정하는 반도체 메모리 테스트장치 및 방법 |
EP1881505A1 (en) * | 2006-07-20 | 2008-01-23 | STMicroelectronics S.r.l. | Memory device with embedded microprocessor for autonomously searching and repairing failures |
KR100952438B1 (ko) * | 2008-02-29 | 2010-04-14 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 |
JP5297673B2 (ja) * | 2008-03-26 | 2013-09-25 | ラピスセミコンダクタ株式会社 | 半導体記憶装置 |
US8154901B1 (en) | 2008-04-14 | 2012-04-10 | Netlist, Inc. | Circuit providing load isolation and noise reduction |
US8001434B1 (en) | 2008-04-14 | 2011-08-16 | Netlist, Inc. | Memory board with self-testing capability |
US8259521B2 (en) * | 2008-05-28 | 2012-09-04 | Macronix International Co., Ltd. | Method and circuit for testing a multi-chip package |
JP4645741B2 (ja) * | 2009-01-09 | 2011-03-09 | 株式会社デンソー | 電子制御装置 |
US8472265B2 (en) * | 2011-05-10 | 2013-06-25 | Elite Semiconductor Memory Technology Inc. | Repairing circuit for memory circuit and method thereof and memory circuit using the same |
JP2013229080A (ja) * | 2012-04-26 | 2013-11-07 | Toshiba Corp | 半導体記憶装置および半導体記憶装置のテスト方法 |
KR102076858B1 (ko) * | 2013-12-24 | 2020-02-12 | 에스케이하이닉스 주식회사 | 반도체장치 및 이를 포함하는 반도체시스템 |
KR102647419B1 (ko) * | 2016-09-28 | 2024-03-14 | 에스케이하이닉스 주식회사 | 반도체장치 |
US11183261B2 (en) * | 2020-04-01 | 2021-11-23 | Taiwan Semiconductor Manufacturing Company, Ltd. | Test device for memory, method for detecting hardware failure in memory device, and test apparatus of memory array |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56169292A (en) | 1980-05-29 | 1981-12-25 | Nec Corp | Storage device |
US5617365A (en) * | 1988-10-07 | 1997-04-01 | Hitachi, Ltd. | Semiconductor device having redundancy circuit |
JPH0393099A (ja) * | 1989-09-04 | 1991-04-18 | Nec Corp | 半導体メモリ用オンチップテスト回路 |
JPH042000A (ja) * | 1990-04-18 | 1992-01-07 | Nec Corp | Ramテストモードを備えた半導体集積回路 |
JPH0417200A (ja) * | 1990-05-11 | 1992-01-21 | Hitachi Ltd | 自己診断機能付きram |
JP2922060B2 (ja) | 1992-07-27 | 1999-07-19 | 富士通株式会社 | 半導体記憶装置 |
JP3631277B2 (ja) * | 1995-01-27 | 2005-03-23 | 株式会社日立製作所 | メモリモジュール |
US5712822A (en) * | 1995-12-27 | 1998-01-27 | Sgs-Thomson Microelectronics, Inc. | Microprocessor memory test circuit and method |
US5983375A (en) * | 1995-12-27 | 1999-11-09 | Samsung Electronics, Co., Ltd. | Multi-bit test circuit and method thereof |
US5825782A (en) * | 1996-01-22 | 1998-10-20 | Micron Technology, Inc. | Non-volatile memory system including apparatus for testing memory elements by writing and verifying data patterns |
US5991898A (en) * | 1997-03-10 | 1999-11-23 | Mentor Graphics Corporation | Arithmetic built-in self test of multiple scan-based integrated circuits |
US6014336A (en) * | 1997-04-30 | 2000-01-11 | Texas Instruments Incorporated | Test enable control for built-in self-test |
-
1998
- 1998-04-16 US US09/403,104 patent/US6233182B1/en not_active Expired - Lifetime
- 1998-04-16 KR KR1019997009487A patent/KR20010006400A/ko not_active Application Discontinuation
- 1998-04-16 JP JP54374298A patent/JP3867862B2/ja not_active Expired - Fee Related
- 1998-04-16 WO PCT/JP1998/001731 patent/WO1998047152A1/ja not_active Application Discontinuation
-
1999
- 1999-12-15 US US09/461,401 patent/US6467056B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6233182B1 (en) | 2001-05-15 |
US6467056B1 (en) | 2002-10-15 |
KR20010006400A (ko) | 2001-01-26 |
WO1998047152A1 (fr) | 1998-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3867862B2 (ja) | 半導体集積回路およびメモリの検査方法 | |
JP3980827B2 (ja) | 半導体集積回路装置および製造方法 | |
US7483824B1 (en) | Self-checking test generator for partially-modeled processors by propagating fuzzy states | |
KR100227451B1 (ko) | 콘트롤러 대용량 메모리 혼재형 반도체 집적회로 장치 및 테스트 사용방법 | |
EP1377981B1 (en) | Method and system to optimize test cost and disable defects for scan and bist memories | |
US6400173B1 (en) | Test system and manufacturing of semiconductor device | |
US6768694B2 (en) | Method of electrically blowing fuses under control of an on-chip tester interface apparatus | |
KR100714240B1 (ko) | 반도체 집적회로 및 기록매체 | |
US6370661B1 (en) | Apparatus for testing memory in a microprocessor | |
US20030212940A1 (en) | Interface architecture for embedded field programmable gate array cores | |
US20030167431A1 (en) | Programmable test for memories | |
US5751729A (en) | Method and apparatus for efficient self testing of on-chip memory | |
JP2001210685A (ja) | テストシステムおよび半導体集積回路装置の製造方法 | |
JP4147005B2 (ja) | 半導体集積回路およびそのテスト方法並びに製造方法 | |
Tseng et al. | ReBISR: A reconfigurable built-in self-repair scheme for random access memories in SOCs | |
KR20060087430A (ko) | 테스트 기능을 가지는 반도체 집적회로 및 제조 방법 | |
US6862704B1 (en) | Apparatus and method for testing memory in a microprocessor | |
JP2003224468A (ja) | 半導体集積回路および製造方法並びにテスト方法 | |
WO2001056038A1 (fr) | Systeme a semi-conducteur | |
JP4176944B2 (ja) | 半導体集積回路及び記録媒体 | |
JP2004260188A (ja) | 半導体集積回路装置の製造方法 | |
JP2000057120A (ja) | Eeprom内蔵ワンチップマイクロコンピュータ | |
KR20020070278A (ko) | 반도체 메모리의 검사방법 | |
KR102408165B1 (ko) | 반도체 디바이스 테스터의 구제 해석 장치, 구제 해석 방법 및 반도체 디바이스 테스터 | |
Durga et al. | Design of High Efficient Built in Self Repair Architecture using March Algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040213 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060310 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060802 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060928 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061005 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091020 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131020 Year of fee payment: 7 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |