JP2004512630A - Built-in self-test of multi-port CsRAM at-speed - Google Patents

Built-in self-test of multi-port CsRAM at-speed Download PDF

Info

Publication number
JP2004512630A
JP2004512630A JP2002541689A JP2002541689A JP2004512630A JP 2004512630 A JP2004512630 A JP 2004512630A JP 2002541689 A JP2002541689 A JP 2002541689A JP 2002541689 A JP2002541689 A JP 2002541689A JP 2004512630 A JP2004512630 A JP 2004512630A
Authority
JP
Japan
Prior art keywords
test
port
csram
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.)
Pending
Application number
JP2002541689A
Other languages
Japanese (ja)
Inventor
ウー、ユージン
カリン、リヴュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=4143105&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2004512630(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Nortel Networks Ltd filed Critical Nortel Networks Ltd
Publication of JP2004512630A publication Critical patent/JP2004512630A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details

Abstract

マルチポート・コンパクトsRAM(CsRAM)に対する組み込み自己検査(BIST)は、システム速度で動作するBISTコントローラを使用する一方、CsRAMはメモリ速度で検査される。検査回路により、システム・クロック・サイクルにつきCsRAMの複数回のランダム・アクセスが可能になる。このようにして、CsRAMにおけるタイミング関連の欠陥を検出することができる。CsRAMは仮想的に「k」個の区画に分割され、区画は、同一のおよび相補的な検査データを用いて異なるポートから同時に検査される。メモリ・アレイの周囲に配置されたカラー内への最小限のハードウェアを追加して、従来の(BIST)コントローラを使用することができる。Built-in self-test (BIST) for multiport compact sRAM (CsRAM) uses a BIST controller that operates at system speed, while CsRAM is tested at memory speed. The inspection circuit allows multiple random access of the CsRAM per system clock cycle. In this way, timing-related defects in the CsRAM can be detected. The CsRAM is virtually divided into "k" partitions, which are tested simultaneously from different ports using the same and complementary test data. A conventional (BIST) controller can be used with the addition of minimal hardware into the collar located around the memory array.

Description

【0001】
【発明の属する技術分野】
本発明は、一般的にメモリ検査の方法および装置に関し、特に、マルチポートのコンパクト・スタティック・ランダム・アクセス・メモリ(すなわちCsRAM)をat−speedで検査する組み込み自己検査(BIST)に関する。
【0002】
【従来の技術】
RAM(ランダムアクセス・メモリ)は、複数の記憶素子すなわちセルと、各セル毎の多数のポートを備える。一般に、1つのポートは外部装置にアクセス可能な5つの接続、すなわち、データ入力、データ出力、クロック、アドレスおよび制御(書込み/読取り)の接続を含む。1ポート・メモリにおいては、セルはそのアドレスに従って順次アクセスされて、データ・ビット(0または1)が各セルに書き込まれるか、または各セルから読み取られる。
【0003】
電気通信産業用の新世代のASICは、より大規模かつより高速のメモリを必要とする。増大するデータ処理の要求に対処すべく、コンパクトsRAM(CsRAM)が開発された。CsRAMは、従来のメモリのシリコン領域およびピーク電力消費を低減する。コンパクト・スタティックRAMは、その高い歩留まり、低コストおよび高速のアクセス時間のために、現在のところASIC上で大規模に使用されている。
【0004】
CsRAMは、マルチポート・メモリの設計方法であり、1組の読み書き回路及びアドレス解読回路が複数のポート間でタイム・スライス方式で共有されている。換言すると、単一システム・クロック・サイクルにおいて、各ポートにはサイクル時間の一部が与えられ、同じ読み/書き回路および同じアドレス・デコーダを介してメモリにアクセスする。従来のマルチポート・メモリに比べて、同数のポートをサポートするCsRAMが占めるシリコン領域は、大幅に少ない。
【0005】
従来では、メモリ素子の検査は、あらかじめ定められた位置にデータ・パターンを書き込み、それぞれの位置からデータを読み出し、読み出したデータをその位置に書き込まれたはずのデータと比較することから構成されている。
【0006】
過去においては、メモリ素子は、制御信号、アドレス信号およびデータ信号を検査中のメモリへ供給する外部テスターを使用して製造現場で検査され、その出力データを評価して、メモリが合格か不合格かが判定された。
【0007】
単一チップ上のメモリ・セルの密度が増加するにつれて、回路をASICにパッケージングした後に検査する必要性が生じている。製造検査の間に検出されなかった欠陥は、フィールドでの不測の故障つながる。しかし、メモリ・チップの検査は容易な作業ではない。例えば、外部装置との接続の数には限界がある。メモリの全体にわたって複数の物理ポートを単純に実装することは、あまりにも複雑であり、また現実的でない。
【0008】
ASICに組み込まれたメモリ・ブロックの検査は困難である。第一に、高速メモリは小さい差動信号振幅を使用するので、特別の検査アルゴリズムを使用しなければならず、そのため、ショートの検出が困難になる。さらに、集積回路の規模の増大に伴い、エラーの数と種類が増加している。その結果、多様な種類の欠陥の検査に必要なテスト・パターンの数のほか、パターンの実行時間もメモリ・サイズと共に増加する。
【0009】
さらに、メモリ・アレイが論理部に深く埋め込まれている場合、書込みおよび読取りのためメモリにアクセスし、さらに応答を比較することは大きな困難を伴う。その結果、高速メモリの欠陥評価に必要なテスト・パターンはより高度なものとなり、その結果、検査時間やチップ・サイズがさらに増大する。この問題に対する一般的な解決方法は、チップ自体に付加的な検査回路を組み入れて組み込み自己検査(BIST:built−in self test)を実行することである。ASICへのBISTの組み込みは、最小の検査時間で非常に高い欠陥検出率(fault coverage)が得られる優れた方法である。
【0010】
現在のBISTコントローラは、読取り、書込みおよび比較動作の特定のシーケンスを提供する有限状態機械(FSM)を含む。検査は、必要な時いつでもユーザによって実施することができ、または、起動時に自動的に開始することもできる。本明細書において、「BIST」は実際の検査を意味し、「BISTコントローラ」はBISTを実行する回路を意味する。
【0011】
CsRAMを検査する方法は、2つの部分検査を含む。第1の部分はCsRAMの制御ロジックに対する走査検査であり、第2の部分はメモリ自体を検査する従来のBISTである。この方法は、制御ロジックとメモリの両方における静的欠陥に対して良好な検出率を持つが、メモリ内でのタイミングに関連する欠陥の多くを検出できない。
【0012】
すなわち、従来のメモリ検査手法では、CsRAMに適用した場合、満足のできる欠陥検出率を得ることができない。これは、主として、CsRAMがシステム・クロックより数倍速い内部クロックで動作するという事実による。現在のところ、CsRAMは、非常に遅いシステム・クロック速度で検査されるため、タイミングに関連した欠陥の多くが検出されない。
【0013】
【発明が解決しようとする課題】
メモリ内でのタイミングに関連する欠陥のすべてを検出するべく、最大のメモリ速度でCsRAMを検査する実用的な方法が必要とされている。
【0014】
【課題を解決するための手段】
本発明の1つの目的は、従来技術のBISTコントローラの上記の欠点のすべてまたは一部を改善することにある。
【0015】
本発明の別の目的は、標準的な組み込み自己検査(BIST)コントローラを使用してCsRAMにおけるタイミング関連の欠陥の大部分またはすべてを検出することにある。本発明に従った方法は、従来技術のメモリ・アレイの周囲への検査回路の最低限の追加および従来技術の検査アルゴリズムに対する最低限の変更しか必要としない。また、本発明を一体化された(one−piece)専用BISTコントローラとして実装することも可能であることは理解されたい。
【0016】
本発明の1つの側面によると、2ポートのコンパクト・スタティック・ランダム・アクセス・メモリ(CsRAM)を該CsRAMの動作速度で検査する方法が提供される。この方法は、第1の検査セッションおよび第2の検査セッションを含む。第1のセッションは、第1の検査データ・セットおよび第1のセットと同一または相補的である第2の検査データ・セットを生成するステップ、CsRAMの第1の区画への前記第1の検査データ・セットの書き込みおよび第2の区画への前記第2の検査データ・セットの書き込みを同時に行うステップ、前記第1の区画から第1の出力データを読み取り前記第2の区画から第2の出力データを読み取るステップ、および、第1の出力および第2の出力をそれぞれ第1の検査データ・セットおよび第2の検査データ・セットと比較して、第1の出力が第1の検査データと異なるか、または第2の出力が第2の検査データと異なる場合、故障と宣言するステップを含む。
【0017】
第2のセッションは、CsRAMの第2の区画への第1の検査データ・セットの書き込みおよび第1の区画への第2の検査データ・セットの書き込みを同時に行うステップ、第2の区画から第1の出力データを読み取り第1の区画から第2の出力データを読み取るステップ、および、各出力をそれぞれ第1および第2の検査データ・セットと再度比較して、第1の出力が第1の検査データと異なるか、または第2の出力が第2の検査データと異なる場合、故障と宣言するステップを含む。2ポートCsRAMを検査するこの方法は、マルチポートCsRAMの検査にも適用可能である。
【0018】
本発明の別の側面によると、第1および第2のポートを有するCsRAMに対する検査回路が提供される。この回路は、CsRAMの第1の区画および第2の区画それぞれにおいて検査アドレスおよびシステム・アドレスの1つを選択するための、第1のポートに対する第1のアドレス・マルチプレクサ・ユニットおよび第2のポートに対する第2のアドレス・マルチプレクサ・ユニットと、第1の区画および第2の区画それぞれにおいて検査データ・ワードおよびシステム・データ・ワードの1つを提供するための、第1のポートに対する第1のデータ・マルチプレクサ・ユニットおよび第2のポートに対する第2のデータ・マルチプレクサ・ユニットと、第1および第2の区画両方に対して検査書込み/読取り命令およびシステム書込み/読取り命令の1つを提供するための、第1のポートに対する第1の書込み/読取りマルチプレクサ・ユニットおよび第2のポートに対する第2の書込み/読取りマルチプレクサ・ユニットと、第1および第2のポート上に同時に検査アドレス、検査データ・ワードおよび検査書込み/読取り命令を生成し、CsRAMから出力データを受け取って、システム・クロックより速いメモリ動作速度で該CsRAMの検査を実行する組み込み自己検査(BIST)コントローラと、を含む。
【0019】
本発明による方法によれば、CsRAMがメモリの動作速度で検査されるので、従来の検査手法ではカバーできないCsRAM内のタイミング関連の欠陥の大部分またはすべてが検出されるという利点がある。
【0020】
【発明の実施の形態】
図1Aは、2ポートCsRAM10のブロック図である。図1Aにおいて、sRAM15は従来の単一ポート・スタティックRAMである。単一ポートsRAM15を2ポートCsRAMに変換するため、入力マルチプレクサ14、16、18およびsRAM15の出力にラッチ17、19が使用されている。図2とともに後述するように、内部クロック発生器12は、システム・クロックsysClkを使用して、内部クロックfとfを作動させる。クロックfとfは加算器22において加算され、メモリ・クロックCklを得る。クロックfを使用して、入力マルチプレクサ14、16、18をイネーブルにし、メモリ・セルへの各データ・アドレスおよび制御信号を選択し、また当該セルに対するデータの書込み/読取りを行う。クロックfおよびfは、CsRAM10の2つのポートp、pのそれぞれにデータ出力を提供するために、出力ラッチ17および19によっても用いられる。バッファ11、13および21、23は適当な遅延を表すが、これらの構成は使用される技術によって決定される。
【0021】
図1Bは、2ポートCsRAM10の入力および出力を表すため使用される記号を示す。信号W、D、AddおよびQは、それぞれCsRAM10の第1のポートpの書込みイネーブル、データ入力、アドレスおよびデータ出力を表す。同様に、信号W、D、AddおよびQは、それぞれCsRAM10の第2のポートpの書込みイネーブル、データ入力、アドレスおよびデータ出力を表す。
【0022】
図1A、図1B、図2および図3Aとともに、2ポートCsRAM10の動作を説明する。各sysClkの間に、信号W/W、D/DおよびAdd/Addが、sysClkの立ち上がりからある間隔aの後にCsRAM10に供給される。初めに、生成器12は、図2に示すように第1のパルスfを生成する。この時点ではfが0であるので、このfパルスは、第1のポートpのセル15’にへのアクセスを起動し、ラインW、AddおよびDをイネーブルにする。Wが「1」であれば、書込み動作により、Addによって事前選択されたアドレスのセル15にDを書き込む。Wが「0」であれば、読み取り動作によりセル15’の内容を読み取り、対応する出力ラッチ17にその結果をラッチする。
【0023】
sysClkの立ち上がりに対して一定の遅延の後(この遅延は図2においてbで示す)、生成器12は、第2のクロック・パルスfを生成する。パルスfは、第2のポートpのセル15’へのアクセスを起動し、ラインW、AddおよびDをイネーブルにする。fとの間の位相差はΔで示されている。パルスfは、sysClkの立ち上がりまたはパルスfの立ち上がりエッジによって生成可能であることを理解されたい。
【0024】
図2は、システム・クロックsysClkと、本発明に従って2ポートCsRAMを検査するために使用される周波数fおよびfとの間のタイミング関係を示している。上述のように、sysClkの各立ち上がりエッジはfパルスとfパルスを起動する。sysClk、fおよびfの間のタイミング関係は固定されている。換言すれば、fとfのパルス幅は固定され、fとfの位相シフト(aおよびb)もsysClkの立ち上がりエッジに対して固定され、fおよびfは、sysClkのサイクル・タイムから独立している。その結果、sysClkの各立ち上がりエッジにおいて、CsRAM10は固定された周波数1/Δにおいて2回アクセスされる。周波数1/Δは、通常、sRAM技術が許容する最も高い周波数であり、メモリの各種類に固有である。
【0025】
CsRAMの使用は、マルチポート・メモリのシリコン領域を減らすのに役立ち、従って、ASICにより多くの機能を実装することを可能にしている。従って、CsRAMの検査方法はより困難なものになる。上述のように、システム・クロックは内部クロック(cki)より非常に遅いので、従来のBIST手法を用いたのでは、特にタイミング関連の故障について、CsRAMの高い検査品質を達成するのは困難である。
【0026】
図3Aは、2ポートCsRAM10を示し、本発明に従った用語および検査方法を定義するため示されている。図3Bは、検査方法の観点から見た2ポートCsRAM10の簡略図である。本方法は、マルチポート・コンパクトsRAMにも同様に適用することが可能であり、また、マルチポートCsRAMを検査するための基本概念を説明するべく、2ポートの例が提示されていることを理解されたい。
【0027】
本発明に従って、sysClkより少なくともk倍速い速度で動作するkポートCsRAMを検査するため、CsRAMはk個の区画に分割され、1システム・クロック・サイクルの間に、k個のポートからk回アクセスされる(「k」は正の整数である)。メモリは等しい区画に分割されることが好ましい。図1の実施形態においては、従来の単一ポートsRAM15は2つの等しい区画に分割され、同一のシステム・クロック生成器12を使用して2つの独立したポートからアクセスされることが可能である。
【0028】
本発明の一実施形態によると、CsRAM10は、等しいサイズの2つの区画、例えば区画SおよびSに論理的に分割される。各区画SおよびSは、全く同じかまたは相補的な検査データを使用して、異なるポートp、pから同時に検査される。
【0029】
検査方法を記述するため以下のような表記が使用される。ワード数すなわちメモリのサイズは「w」で表され、「n」は1ポートあたり1ワードあたりのビット数を表す。nビットのワードが記号82で例示されている。CsRAM10は、c個の列83およびr個の行84からなる1つのアレイである。インデックス「i」はセル15’の行アドレスを示すため使用され、iは0,1,2,..,(r−1)である。インデックス「j」はセル15’の列アドレスを示すため使用され、jは0,1,2,..,(c−1)である。
【0030】
上述のように、sRAM15における各セル15’には2つのポートがあり、従って、1つのセルについて2つの異なる行アドレスが存在する。すなわち、1つはポートpに関し、もう1つはポートpに関するものである。よって、ar[i]およびar[i]は、ポートpおよびpについてそれぞれアクセスが行われる時、sRAM15の同一のセルについての行アドレスを表す。同様に、sRAM15における各セル15’には2つの異なる列アドレスが存在する。すなわち、1つはポートpに関し、もう1つはポートpに関するものである。よって、ac[j]およびac[j]は、同一のセル15についての列アドレスを表す。
【0031】
ポートpにアクセスが行われるときのsRAM15におけるセル15’の完全なアドレスは、
Add={ar[r−1],...,ar[0],ac[c−1],...,ac[0]}
であり、ポートpにアクセスが行われるときのsRAM15におけるセル15’の完全なアドレスは、
Add={ar[r−1],...,ar[0],ac[c−1],...,ac[0]}
である。
【0032】
図3Bは、区画SとSに分割されたCsRAM10の概念図である。完全な故障検出のためには、各ポートp、pは区画SおよびSの各々を1度ずつ検査しなければならない。言い換えると、2ポートCsRAM10のため2つの検査セッションが必要とされる。第1のセッションにおいて、区画Sがpから検査されるのと同時に区画Sがpから検査される。これは、図3Bにおいて、点線で示されている。この場合、Addは区画Sにおけるセル位置を定義し、Addは区画Sにおけるセル位置を定義する。第2のセッションにおいて、区画Sがpから検査されるのと同時に区画Sがpから検査され、CsRAM10全体の検査が完了する。第2のセッションにおいては、Addが区画Sにおけるセル位置を定義し、Addが区画Sにおけるセル位置を定義する。これは、図3Bにおいて、実線で示されている。
【0033】
加えて、この方法に関して、メモリのパラレル検査が仮定されている。すなわち、ワードが1度に1つずつ適用され、検査応答は1度に1ワード読み取られる。従って、この方法は、また、「修正パラレルBIST」と呼ばれる。
【0034】
図3Bに従った例示的な検査方法は、2つの検査セッションの使用によって付加的検査時間を必要としない。これは、各検査セッションがメモリ空間の半分だけを検査し、従って、単一ポートsRAMについて単一セッションで全メモリ空間を検査する従来の手法と比較して、各検査セッションが検査時間の半分だけを要するにすぎないからである。
【0035】
本発明に従った検査方法の2つのセッションは、sRAMを検査するため使用されるBISTを使用することができるが、このBISTのアルゴリズムは、例えば、1ポートsRAMに関しては、A. J. van de Gool著「Testing semiconductor memories」(Wiley Publishers, April 1996)に、マルチポートの従来のsRAMに関しては、Wu他著の「BIST for multi−port RAMs」(pp.1081−7735, 1997 IEEE)により提案されている。
【0036】
これらのまたは他の検査アルゴリズムは、本発明に従って、マルチポートCsRAMを検査するため若干修正される。例えば、この段落では、本発明に従ってat−speedでCsRAMを検査するために使用される修正March“C”マイナー(MARCH C−)検査アルゴリズムを提示する。しかしながら、本発明は他のBISTアルゴリズムにも最小限度の修正を実施するだけで同様に適用することができる。
【0037】
図4は、本発明に従った検査のステップを示す。ステップは、また、マーチ(march)ステップと呼ばれるもので、セルが連続的に検査され、書込みおよび読取り動作がセルからセルへ上下に「マーチング(marching)」することを直感的に表している。ポートごとに1ワードnビットのw個のワードの(r行c列の)2ポートCsRAM10を検査するため、従来のBISTコントローラを使用して、一度に1つのsRAMにアクセスする(検査する)ことによって2つの仮想単一ポートsRAMが順次検査される。各仮想単一ポートRAMは、(r−1)行c列に配列されたワードあたり2nビットからなる(w/2)個のワードを持つ。代替的に、該単一ポート仮想メモリは、r行(c−1)列に配列されたワードあたり2nビットからなる(w/2)個のワードを持つこともできる。
【0038】
これらの仮想CsRAM85および86は、図4において、灰色領域および白色領域としてそれぞれ示されている。このような2つの仮想メモリへの分離は永久的なものではなく、検査の間に実行されるマーチングステップに従って変更可能であることを理解されたい。
【0039】
この仮想的すなわち論理的分離の結果、従来のBISTコントローラのカラー(collar)は、2nビット幅の検査データおよび[(r−1)+c]ビットのアドレスをメモリ10に提供するように若干修正されなければならず、2nビット幅の検査応答を確認しなければならない。加えて、従来のBISTコントローラは、それぞれの書込み/読取り動作について、CsRAM10の単一ポート仮想メモリ85および86を選択するために、memsel信号を生成しなければならない。このmemselは、CsRAM10についての行アドレスar[r−1]およびar[r−1]の最上位ビットとして使用される。例えば、第1の仮想sRAM85がpから検査される場合、memsel=0であり、第2の仮想sRAM86がpから検査される場合、memsel=1である。
【0040】
図4において、文字RおよびWは、それぞれ読取りおよび書込み動作を表す。文字dおよびd ̄は、それぞれのアドレスから書込み/読取りされる検査データおよび相補的検査データを表す。矢印は、それぞれのステップについてのmarch−upまたはmarch−downを表す。マーチングする方向は、「up(上昇)」および「dn(下降)」のインデックスによって表される。SまたはSは、書込み/読取り動作が適用される区画を表す。read−up、read−down、write−upおよびwrite−downという用語は、それぞれの仮想メモリにおいて実行される動作についてのマーチングの方向を表す。
【0041】
検査データがsysClkの立ち上がりエッジにおいて適用される。内部クロックfが最初に生成されるので、D上の検査データは、最初に仮想メモリ85のアドレスAddにあるセルに適用される。同じsysClkサイクルの範囲内で、D上の検査データは、fの立ち上がりエッジにおいてアドレスAddのセルに適用される。上述のように、AddおよびAddは、各々がメモリ10の異なる区画内にある2つの異なる記憶セルを表す。
【0042】
遷移を作成してタイミング関連の故障をカバーするため、図4の例において、ポートpおよびpにおける検査データは、正反対すなわち相補的な値を持つ。すなわち、D=D ̄である。これは、アドレスAddを持つセルに論理値「1」が書き込まれるとすると、アドレスAddを持つセルに論理値「0」が書き込まれることを意味し、それ以降も同様である。このようにして、読み取り動作の間に、それぞれクロックfおよびfに従って、アドレスAddおよびAddから相補的な検査応答が読み取られる。
【0043】
2つのポートp、pおよび異なるアドレスについて2組の相補的な検査データを使用することによって、CsRAM10のラインD、AddおよびQ上の信号がfとfのそれぞれのペアに対して常に切り換わる。この高速切り換えが、図1に示したsRAMセル15’、入力マルチプレクサ14、16、18および出力ラッチ17、19等の関連回路のタイミングに対して最大限度のストレスを与える。
【0044】
図4に示す方法は、第1および第2のセッションのそれぞれが6つのステップを持つ、2つのセッションで実行される。
【0045】
第1の検査セッションはステップ1−6からなり、各ステップは、各仮想メモリにおいて同時にかつ反対方向に読取り/書込み動作を実行する。上述のように、検査データdが仮想メモリ85から特定方向に読み取られるとき、相補的検査データd ̄がその場所において同じ方向に書き込まれる。また、検査データdが仮想メモリ85においてある1つの方向に書き込まれるとき、相補的検査データd ̄が仮想メモリ86において反対方向に書き込まれる。
【0046】
ステップ1は、第1の検査セッションが、仮想メモリ85において増加する連続のアドレスを持つ(w/2)個の検査データ・ワードの書き込み、および仮想メモリ86において減少する連続のアドレスを持つ(w/2)個の相補的な検査データ・ワードの書き込みで開始することを示す。ステップ1が終了すると、仮想メモリ85および86に書き込まれたデータは相補的な値を持つ。ステップ1の間に実行される読み取り動作は、本検査方法に関連しない。
【0047】
これは、次のように表現できる。
【0048】
【数1】

Figure 2004512630
ここで、dは、00...000または0101...0101等の任意のnビットのベクトルである。
RdおよびRd ̄は、read d ̄ 動作を表す。
WdおよびWd ̄は、write d ̄ 動作を表す。
(...):(...)は、2つのポートにおける2つの並列動作を表す。
添え字upS(dnS)は、区画Sに対してのmarch up(march down)検査を表す。
添え字upS(dnS)は、区画Sに対してのmarch up(march down)検査を表す。
【0049】
第2の検査セッションは、ステップ7から始まる。ステップ7において、仮想メモリ86の増加する連続アドレスに(w/2)個の検査データ・ワードが書き込まれ、メモリ85の減少する連続アドレスに(w/2)個の相補的な検査データ・ワードが書き込まれる。仮想メモリ85および86に書き込まれたデータは相補的な値を持ち、上述の第1のセッションで述べたのと同じ規則が適用される。ステップ7の間に実行される読み取り動作は、本検査方法に関連しない。
【0050】
これは次のように表現できる。
【0051】
【数2】
Figure 2004512630
【0052】
上述のように、各マーチング動作は、2ポートCsRAM10全体のメモリ空間の半分である対応するメモリ区画の全アドレス空間を通して実行される。メモリの分割に応じて、各区画内のマーチングに関するアドレスの順序は連続的であることもそうでないこともある。例えば、行アドレスの最上位ビットを除きAddがAddとすべてのビット位置において同一であるような分割であれば、
ar[r−1]=ar[r−1],ar[r−2]=ar[r−2],…,
ar[0]=ar[0],
ac[c−1]=ac[c−1],…,ac[0]=ac[0]
であり、各メモリ区画の範囲内のアドレスは連続している。
【0053】
メモリの分割および検査アドレスの連続性に関係なく、上記アルゴリズムに従った故障検出率は同じである。同様に、検査はメモリ動作速度で実行され、システムはシステム・クロック速度で動作を続ける。
【0054】
図5は、本発明に従ったパラレルBISTを実行するため、従来のBISTコントローラ30を持つ修正カラー25を20で示す。太線の接続はバスを表し、バスのサイズは図5に表示されている。灰色で示した領域25内の回路は、「BISTカラー(collar)」として定義される。この例では、BISTコントローラ20は2ポートCsRAM10を検査するように適用されている。それにもかかわらず、2ポートCsRAMについての動作原理および回路を理解すれば、他のタイプのマルチポートCsRAMについてのカラー25のその他の変型を容易に想定できるであろう。さらに上述のように、カラー25を使用し、BISTコントローラ30の動作のわずかな変更で、CsRAM10のat−speedでの検査が実現される。
【0055】
カラー25は、アドレス・マルチプレクサ24、24’、データ・マルチプレクサ26、26’およびW/Rマルチプレクサ28、28’を含む。各マルチプレクサは対応するポートpおよびpにおいてそれぞれの機能を実行する。カラー25は、ポートpのライン51、53、55、60、およびポートpのライン61、63、65、70を経由して、ASICの残り部分に接続している。マルチプレクサが「機能ブロックから」と記された接続を経由してASICの機能ブロックに接続しているときは、CsRAM10の両方の通常モードでの動作を可能にし、また、BISTコントローラ30への接続を経由して接続しているとき、検査モードでのCsRAM10の動作を可能にするように、複数のマルチプレクサが備えられている。
【0056】
このように、pのアドレス・マルチプレクサ24は、メモリ10の区画Sにおいてアクセスされるべきセルの行および列を識別する(r+c)ビット幅のアドレス信号を受け取る。ポートpのアドレス・マルチプレクサ24’も、メモリの行と列の数は両方のポートについて同じであるので、(r+c)ビット幅のアドレスを受け取る。BISTコントローラ30は、(r−1)+cビット幅のメモリ10についてのアドレスをライン35上に生成し、各区画内の各セル・アドレスを完全に識別する。さらに、BISTコントローラ30が信号memselをライン34上に提供し、第1の区画Sと第2の区画Sとの間で選択するインバータ43が用意される。この信号は、本例において、行アドレスの最上位ビットである。言い換えると、memselはar[r−1]とar[r−1]を入れ替える。それぞれのポートについてのmarch upまたはmarch downアドレスは、カラー25に配置されたインバータ42を通して取得される。インバータ42は、2つの仮想メモリの同時読み書き動作のためアドレスが反対であることを保証する。インバータ44は、BISTコントローラ30が同一の検査応答の組を比較することを可能にする。
【0057】
データ・マルチプレクサ26および26’はnビットを受け取る(「n」は1ワードのサイズである)。従って、BISTコントローラ30は、メモリ10が2つの区画に分割されているのに応じて、nビット幅の検査データをライン37上に生成しなければならない。これは、メモリ10の2つの区画への仮想的な分割の結果である。ポートpに関して相補的なnビット幅の検査データの第2セットをポートpに常に提供するため、インバータ41が使用される。R/Wマルチプレクサ28および28’は、読取りまたは書込み動作を示す単一ビットの制御信号38を受け取る。制御信号が「1」であれば、書込み動作が実行される。
【0058】
図4を参照して述べたように、両方の仮想メモリは読取りまたは書込み動作を同時に実行するが、アドレスは反対方向にマーチングし、データは相補的な値を有する。従って、制御信号は両方のポートについて同じものである。出力ライン60および70上の検査応答はnビット幅であり、この検査応答は、セルに書き込まれたデータがそのセルから読み取られたデータと同一であるか否かを確認するためにBISTコントローラ30によって使用される。BISTコントローラ30およびCSRAM10はどちらも、記号36で示すシステム・クロックsysClkで同期される。
【0059】
上述のように、修正BISTコントローラ20は、通常モードと検査モードを持つ。bist_en=1が到着すると、ライン39上の信号bistonがバッファ/マルチプレクサ(24、26、28)および(24’、26’、28’)からのデータを選択し、BISTが開始される。コントローラ30は、まずmemselを「0」にセットし、従って、ar[r−1]=0およびar[r−1]=1となる。この場合、BISTコントローラ30は、ポートpを介してメモリ空間の下半分Sを検査し、ポートpを介してメモリ空間の上半分Sを検査するが、マーチングは反対方向に進む。このセッションの間、BISTは図4のマーチングステップ1−6を実行して、従来のsRAMの半分についてMARCH C―検査を完了する。
【0060】
第1の検査セッションが完了すると、BISTコントローラ30はmemsel=1をセットして、同じMARCH C−検査を繰り返す。第2のセッションの間、ar[r−1]=1およびar[r−1]=0であり、BISTコントローラ30は、ポートpを介してメモリ空間の下半分Sを検査し、ポートpを介してメモリ空間の上半分Sを検査する。第2の検査セッションは、図4とともに説明したステップ7−12に対応する。この検査が完了すると、BISTコントローラ30はこれに応じて信号bist_doneおよびbist_passをセットする。
【0061】
従来のBISTコントローラと比較したソフトウェアの変更の観点からは、この実施形態は、従来のBISTコントローラ30に対して少なくともnビット幅検査データを生成し、2nビット幅の検査応答を確認することを要求する。
【0062】
ハードウェアの観点からは、BISTコントローラ25に(2n+r+c)個のインバータが追加される。すなわち、n個のインバータ41、n個のインバータ44、(r−1+c)個のインバータ42および1個のインバータ43が追加される。従来のBISTコントローラが、図5のコントローラ20と同じ数のマルチプレクサを必要とすることに注意されたい。さらに、ASICにおけるシリコン領域および関連する全般のピーク電源消費量が減少する。なぜなら、本発明が同じ容量の従来のコンパクトsRAMの検査よりも大幅に少ない量のCsRAMの検査を行うように設計されているからである。
【0063】
検査時間の観点からは、本発明に従ったシリアル検査は、同じサイズの単一ポートsRAMの従来の検査の場合と同じ時間を必要とする。2ポートsRAMの従来の検査と比較すると、図5の実施形態に従った検査時間は半分にすぎない。
【0064】
修正BISTコントローラ20は、従来のBIST実施形態と比較するとより多くのインバータを必要とする一方、修正BISTコントローラはnビット幅の使用するべき検査データを提供する。従って、従来方法と比較して2倍の検査データおよび検査応答を使用するので、本発明に従った検査方法ではより高い精度が得られる。さらに、タイミング関連の故障を検出するために、システム・クロックより少なくとも2倍速いメモリ動作速度で検査が実行される。
【0065】
図6は、本発明の別の実施形態40を示す。この実施形態では、2ポートCsRAMを検査するためにシリアル化された(serialized)BISTコントローラが使用される。この実施形態は、多数のメモリの間で単一のBISTコントローラを共有するASICに対して推奨される。多数のメモリがASIC上に広く分散していると、図5に示すような共有のパラレルBISTコントローラ20は、検査データ・バスを全体に配線するコストのため費用がかかる。
【0066】
図6のシリアルメモリBISTコントローラ40は、すべての仮想メモリに単一ビットの検査入力を提供して、各仮想メモリから単一ビットの検査応答を受け取ることによってこのオーバーヘッドを最小限度にする。配線の節約に加えて、シリアル化は、コントローラがCsRAMの両方のポートに対して単一ビットの検査データを生成し、CsRAMの各ポートから単一ビットの検査応答を受け取るので、BISTコントローラのハードウェア要件も低減する。
【0067】
この例の場合も、検査対象のメモリは、ポートあたりr行、c列、w個のワード、1ワードあたりnビットを持つ2ポートCsRAM10である。シリアルBIST40は、本発明と同じ譲受人に譲渡された米国特許第4,969,184号に記述されているシリアルMARCH検査(SMARCH)を用いて動作し、参照により本明細書に援用される。
【0068】
すべての(RdWd ̄)および(Rd ̄Wd)動作を(R0W1)(R1W1)および(R1W0)(R0W0)とそれぞれ置き換えることによって、図4に示したものと同じ原理をシリアル形態の検査方法に適用することが可能である。
【0069】
図6において、シリアルBISTカラー25’を表している影付き領域は、アドレス・マルチプレクサ(24、24’)、データ・マルチプレクサ(26、26’)、R/Wマルチプレクサ(28、28’)およびインバータ41−44を含む。単一ビット検査データsimemがBISTコントローラ30’からポートpの最下位ビットD[0]へライン37を介して適用され、単一ビット検査データ
【数3】
Figure 2004512630
がポートpの最下位ビットD[0]へ適用される。DおよびDの残りの(n−1)ビットは、出力ラインQおよびQからそれぞれ戻される。換言すれば、
【数4】
Figure 2004512630
である。最上位出力ビットQ[n−1]および反転ビットQ ̄[n−1]=Q[n−1]が評価のためBISTコントローラ30へ送り返される。
【0070】
図6の実施形態において、BISTコントローラ40は、両方のメモリに単一ビット検査を与え各仮想メモリからの単一ビット検査応答を評価することによって、2つの仮想メモリを同時に検査するはずである。このような構成のため、シリアルBISTコントローラ40は、CsRAM10の各出力ポートに対して単一ビットのコンパレータ(図示せず)を備えている。
【0071】
シリアルCsRAM BISTコントローラ40は次のように動作する。bist_enが受け取られ、ライン39上にbistonが生成されると、BISTモードがイネーブルにされ、memsel=0をセットして、ポートpを介してCsRAM10の下半分Sを検査し、ポートpを介してCsRAM10の上半分Sを検査する。上述したように、単一ビットの検査データsimemがコントローラ30によって生成されてpにおいて供給され、
【数5】
Figure 2004512630
がpにおいて供給される。Q/DおよびQ/Dが、シリアル検査のシフト動作を実行するためカラー25’において(n−1)回のフィードバックを行う。最上位出力ビットQ[n−1]およびQ ̄[n−1]がBISTコントローラ30によって並列に評価される。入力インバータ41および出力インバータ44上での反転のために、両方のポートからの検査応答は常に同一(すなわちQ[n−1]=Q[n−1])である。この検査が完了すると、BISTコントローラ30はmemsel=1をセットして、ポートpを介してメモリ空間の下半分Sを検査する。第2の検査が完了すると、コントローラはこれに応じてbist_done=1およびbist_passをセットする。
【0072】
従来のBISTコントローラと比較すると、CsRAMシリアルBIST40は、同一値の2つの出力ビットを評価するために、カラー25’に(r+c+2)個の余分のインバータを必要とし、さらにBISTコントローラ30に2、3個のゲートを必要とする。上述のように、最上位出力ビットが比較されるが(Q[n−1]= Q ̄[n−1])、これは従来のS−MARCH実施形態における1ビット出力とは相違する。
【0073】
検査時間の観点からは、本発明に従うシリアル検査は、同じサイズの単一ポートsRAMの従来の検査の場合と同じ時間を必要とする。2ポートsRAMの従来の検査と比較すると、図6の実施形態に従った検査時間は半分にすぎない。
【0074】
図7の実施形態は、nビット幅の検査データを生成してnビット幅の検査応答を確認するように設計されたBISTコントローラ30と共に使用されるべき図5のカラー25の修正を示す。
【0075】
ライン60上のnビット幅検査応答の第1のセットが、図5とともに上述したように、BISTコントローラ30において比較され、かつ、加算器66に入力される。ライン70上のnビット幅検査応答の他のセットが加算器56に送られる。加算器56の出力に接続された検出器57は、(1;0)検出器であって、検査応答の2つのセットの間に不一致を検出したときその出力を「1」にセットし、「1」のままとなる。
【0076】
検出器57の出力はインバータ59を通ってANDゲート58の入力を制御し、一方、信号bist_passはANDゲート58の他の入力を制御する。ANDゲート58の出力は、メモリ内に故障が検出されない場合「1」である信号bist_pass_combinedを提供する。
【0077】
図7のBISTカラー構成は、シリアルBIST実施形態にも使用することができる。
【0078】
図8は、BISTカラー25の別の1つの実施形態を示す。このBISTカラー25は、output−0およびoutput−1を有する符号器72、および、図5のインバータ41および44をそれぞれ置き換えた2つのXORゲート67、68を含む。図8に示す構成を用いて、BISTコントローラ30は、2ポート、Wワード、1ワードあたりnビットのCsRAM10について、次の機能を実行するように設計されている。すなわち、(a)(w/2)個のワードを有し1ワードあたり2nビットの4つの仮想単一ポート・メモリを検査し、(b)その時に1つの仮想メモリを検査する。従って、4ビット・メモリ選択信号、例えばメモリ10の各区画85、86を4回検査するためのmemsel[3:0]信号が生成される。
【0079】
符号器72は、ライン34上のmemsel[3:0]に接続され、同一または相補的ないずれかの検査データの選択を制御する。同様に、符号器72は区画85、86のどちらを検査するべきか、およびポートpまたはpのどちらを使用するべきかを制御する。例えば、データ・バスに接続されたoutput−1が「0」であれば、output−0を介して選択されるCsRAM10の2つの区画に対応する2つのセッションにおいて、同一のデータを用いて検査が実行される。符号器72のoutput−1が「1」であれば、図5とともに上述したように、相補的な検査データを用いて検査が実行される。
【0080】
符号器72のoutput−0は、メモリ10のどちらの区画をポートp、pのどちらから検査するべきかを選択するために使用される。output−0が「0」であると、pが区画85を検査し、pが区画86を検査する。そうでない場合、pが区画86を検査し、pが区画85を検査する。
【0081】
このようにして、CsRAM10の各区画は4回検査されるが、完全な故障検出のために、2回はoutput−1=0のときに同一の検査データを用いて、別の2回はoutput−1=1のときに相補的な検査データを用いて行われる。表1は符号器72の機能を示す。
【0082】
【表1】
Figure 2004512630
【0083】
図8のBISTカラー構成は、シリアルBIST実施形態とともに同様に使用可能である。
【0084】
本発明によると、システム・クロック生成器12よりも少なくともk倍速い動作速度を持つコンパクトsRAM10に対してのat−speedでの検査品質を達成する新たなBIST手法が提供される。上述のように、CsRAMの検査は、すべての必要な修正をメモリ・カラー25、25’に包含させた従来のBISTコントローラ30、30’を用いて実施することができる。必要とされる唯一のコストは、パラレルまたはシリアル検査を実施するため、検査対象のCsRAM周囲のカラー25、25’に関連するもののみである。
【0085】
r行およびc列で、ポートあたりw個のワード、1ワードあたりnビットの2ポートCsRAMを検査するため、従来のBISTコントローラのカラーを、あたかも(r−1)行およびc列で、ポートあたり(w/2)個のワード、1ワードあたりnビットの2つの仮想単一ポートsRAMを相補的な検査データを用いて検査するように適用する。分割のモデルに応じて、仮想単一ポートsRAMはr行および(c−1)列で、ポートあたり(w/2)個のワード、1ワードあたりnビットを有することもできる。BISTカラーは、同一および相補的の両方の検査データを用いて、4つの仮想単一ポート・メモリを検査するように修正することもできる。
【0086】
kポートのCsRAMの検査スケジュールは、k個の仮想メモリを同時に検査するものである。好ましくは、仮想メモリは同じサイズである。
【0087】
添付の請求項に定義された本発明の範囲から逸脱することなく、本発明の特定の実施形態に対し多くの修正、変型および適応を実施することが可能である。
【図面の簡単な説明】
【図1A】2ポートのコンパクトsRAM(CsRAM)のアーキテクチャを示す。
【図1B】CsRAMについて使用される記号を示す。
【図2】本発明に従って、図1AのCsRAMを検査するシステム・クロックおよび内部クロックの波形を示す。
【図3A】図1Aの2ポートCsRAMおよび本発明に従った検査方法によって使用される用語を示す。
【図3B】検査方法の観点から見た簡略化された2ポートCsRAMを示す。
【図4】本発明に従った2ポートCsRAMに対する検査のステップを示す。
【図5】本発明に従った2ポートCsRAMに対するat−speedでのBISTのパラレル実施形態を示す。
【図6】本発明に従った2ポートCsRAMに対するat−speedでのBISTのシリアル実施形態を示す。
【図7】ローカル・コンパレータを備えた図5のBISTカラーの別の実施形態を示す。
【図8】故障検出率が改善された検査に対する図5のBISTカラーのさらに別の実施形態を示す図である。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates generally to memory testing methods and apparatus, and more particularly to a built-in self test (BIST) for testing multiport compact static random access memories (ie, CsRAM) at-speed.
[0002]
[Prior art]
A RAM (random access memory) comprises a plurality of storage elements or cells and a number of ports for each cell. In general, one port includes five connections accessible to external devices: data input, data output, clock, address, and control (write / read) connections. In a one-port memory, cells are accessed sequentially according to their addresses, and a data bit (0 or 1) is written to or read from each cell.
[0003]
New generation ASICs for the telecommunications industry require larger and faster memories. To address the increasing demands of data processing, compact sRAM (CsRAM) has been developed. CsRAM reduces the silicon area and peak power consumption of conventional memories. Compact static RAMs are currently used extensively on ASICs due to their high yield, low cost, and fast access time.
[0004]
CsRAM is a method for designing a multiport memory, in which a set of read / write circuits and an address decoding circuit are shared by a plurality of ports in a time slice manner. In other words, in a single system clock cycle, each port is given a portion of the cycle time to access the memory via the same read / write circuits and the same address decoder. CsRAM supporting the same number of ports occupies significantly less silicon area than conventional multiport memories.
[0005]
Conventionally, inspection of a memory element consists of writing a data pattern at a predetermined location, reading data from each location, and comparing the read data with the data that would have been written at that location. I have.
[0006]
In the past, memory elements were tested at the manufacturing site using an external tester that provided control, address and data signals to the memory under test, and their output data was evaluated to determine if the memory passed or failed. Was determined.
[0007]
As the density of memory cells on a single chip has increased, the need has arisen to test circuits after they have been packaged in an ASIC. Defects not detected during manufacturing inspection lead to unexpected failures in the field. However, testing a memory chip is not an easy task. For example, the number of connections to external devices is limited. Simply implementing multiple physical ports throughout the memory is too complex and impractical.
[0008]
Inspection of memory blocks embedded in ASICs is difficult. First, because high speed memories use small differential signal amplitudes, special inspection algorithms must be used, which makes short detection difficult. In addition, the number and types of errors are increasing with the scale of integrated circuits. As a result, the number of test patterns required for inspection of various types of defects, as well as the execution time of the patterns, increases with memory size.
[0009]
Furthermore, if the memory array is deeply embedded in the logic, accessing the memory for writing and reading and comparing the responses can be very difficult. As a result, test patterns required for defect evaluation of high-speed memory become more sophisticated, and as a result, inspection time and chip size further increase. A common solution to this problem is to implement a built-in self-test (BIST) by incorporating additional test circuitry into the chip itself. Incorporating BIST into an ASIC is an excellent way to achieve very high defect coverage with minimal inspection time.
[0010]
Current BIST controllers include a finite state machine (FSM) that provides a specific sequence of read, write, and compare operations. The test can be performed by the user whenever needed, or can be started automatically at startup. In this specification, "BIST" means an actual test, and "BIST controller" means a circuit that executes the BIST.
[0011]
The method of testing the CsRAM includes two partial tests. The first part is a scan test for the control logic of the CsRAM, and the second part is a conventional BIST that tests the memory itself. This method has good detection rates for static defects in both control logic and memory, but fails to detect many of the timing related defects in memory.
[0012]
That is, with the conventional memory inspection technique, when applied to CsRAM, a satisfactory defect detection rate cannot be obtained. This is mainly due to the fact that CsRAM operates with an internal clock that is several times faster than the system clock. At present, CsRAMs are tested at very low system clock speeds, so many of the timing related defects are not detected.
[0013]
[Problems to be solved by the invention]
There is a need for a practical method of inspecting CsRAM at maximum memory speed to detect all timing related defects in memory.
[0014]
[Means for Solving the Problems]
It is an object of the present invention to remedy all or some of the above disadvantages of prior art BIST controllers.
[0015]
It is another object of the present invention to detect most or all of the timing related defects in CsRAM using a standard built-in self test (BIST) controller. The method according to the present invention requires minimal addition of test circuitry around prior art memory arrays and minimal changes to prior art test algorithms. It should also be understood that the invention can be implemented as a one-piece, dedicated BIST controller.
[0016]
According to one aspect of the present invention, there is provided a method for testing a two-port compact static random access memory (CsRAM) at the operating speed of the CsRAM. The method includes a first test session and a second test session. The first session includes generating a first test data set and a second test data set that is the same as or complementary to the first set, wherein the first test is performed on a first partition of a CsRAM. Simultaneously writing a data set and writing the second test data set to a second partition, reading first output data from the first partition and second output from the second partition Reading the data, and comparing the first output and the second output to the first test data set and the second test data set, respectively, wherein the first output differs from the first test data Or if the second output differs from the second test data, declaring a failure.
[0017]
The second session includes simultaneously writing the first test data set to the second partition of the CsRAM and writing the second test data set to the first partition. Reading the first output data and reading the second output data from the first section, and comparing each output again with the first and second test data sets, respectively, such that the first output is the first test data set. If the test data is different or the second output is different from the second test data, a step of declaring a failure is included. This method of testing a two-port CsRAM is also applicable to testing a multiport CsRAM.
[0018]
According to another aspect of the present invention, there is provided a test circuit for a CsRAM having first and second ports. The circuit includes a first address multiplexer unit and a second port for a first port for selecting one of a test address and a system address in each of a first partition and a second partition of the CsRAM. And a first data to a first port for providing one of a test data word and a system data word in the first and second partitions, respectively. A second data multiplexer unit for the multiplexer unit and the second port, and for providing one of a test write / read instruction and a system write / read instruction for both the first and second partitions; , A first write / read multiplexer unit for the first port A second write / read multiplexer unit for the port and the second port, and simultaneously generating a test address, a test data word and a test write / read instruction on the first and second ports, and outputting output data from the CsRAM. A built-in self test (BIST) controller that receives and performs a test of the CsRAM at a memory operating speed faster than the system clock.
[0019]
The method according to the invention has the advantage that most or all of the timing-related defects in the CsRAM that cannot be covered by conventional inspection techniques are detected because the CsRAM is inspected at the operating speed of the memory.
[0020]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1A is a block diagram of the two-port CsRAM 10. In FIG. 1A, sRAM 15 is a conventional single-port static RAM. Latches 17, 19 are used at the input multiplexers 14, 16, 18 and at the output of the sRAM 15 to convert the single port sRAM 15 to a two port CsRAM. 2, the internal clock generator 12 uses the system clock sysClk to generate the internal clock f.0And f1Activate Clock f0And f1Are added in an adder 22 to obtain a memory clock Ckl. Clock f1Is used to enable the input multiplexers 14, 16, 18 to select each data address and control signal for a memory cell, and to write / read data to / from that cell. Clock f0And f1Is the two ports p of the CsRAM 100, P1Are also used by output latches 17 and 19 to provide a data output to each of them. Buffers 11, 13 and 21, 23 represent appropriate delays, but their configuration is determined by the technology used.
[0021]
FIG. 1B shows the symbols used to represent the inputs and outputs of the two-port CsRAM 10. Signal W0, D0, Add0And Q0Is the first port p of the CsRAM 100Write enable, data input, address and data output. Similarly, the signal W1, D1, Add1And Q1Is the second port p of the CsRAM 101Write enable, data input, address and data output.
[0022]
The operation of the two-port CsRAM 10 will be described with reference to FIGS. 1A, 1B, 2 and 3A. During each sysClk, the signal W0/ W1, D0/ D1And Add0/ Add1Is supplied to the CsRAM 10 after a certain interval a from the rise of sysClk. First, the generator 12 generates a first pulse f as shown in FIG.0Generate At this point, f1Is 0, this f0The pulse is applied to the first port p0Access to cell 15 'of line W0, Add0And D0Enable W0Is “1”, the write operation causes Add0Cell 15 at the address preselected by0Write. W0Is "0", the read operation reads the contents of the cell 15 'and latches the result in the corresponding output latch 17.
[0023]
After a certain delay with respect to the rising edge of sysClk (this delay is indicated by b in FIG. 2), the generator 12 outputs a second clock pulse f1Generate Pulse f1Is the second port p1Access to cell 15 'of line W1, Add1And D1Enable f0Is indicated by Δ. Pulse f1Is the rising edge of sysClk or pulse f0Can be generated by the rising edge of.
[0024]
FIG. 2 shows the system clock sysClk and the frequency f used to test a two-port CsRAM in accordance with the present invention.0And f1And the timing relationship between the two. As described above, each rising edge of sysClk is f0Pulse and f1Trigger pulse. sysClk, f0And f1The timing relationship between is fixed. In other words, f0And f1Is fixed and f0And f1Are also fixed with respect to the rising edge of sysClk, and f0And f1Is independent of the cycle time of sysClk. As a result, at each rising edge of sysClk, the CsRAM 10 is accessed twice at a fixed frequency 1 / Δ. Frequency 1 / Δ is typically the highest frequency allowed by sRAM technology and is specific to each type of memory.
[0025]
The use of CsRAM helps to reduce the silicon area of the multiport memory, thus allowing more functions to be implemented in the ASIC. Therefore, the inspection method of the CsRAM becomes more difficult. As mentioned above, the system clock is much slower than the internal clock (cki), so it is difficult to achieve high CsRAM test quality using conventional BIST techniques, especially for timing related faults. .
[0026]
FIG. 3A shows a two-port CsRAM 10 and is shown to define terms and test methods according to the present invention. FIG. 3B is a simplified diagram of the two-port CsRAM 10 from the viewpoint of the inspection method. It is understood that the method can be applied to multiport compact sRAMs as well, and that a two-port example is provided to illustrate the basic concept for testing multiport CsRAM. I want to be.
[0027]
In accordance with the present invention, to test a k-port CsRAM operating at least k times faster than sysClk, the CsRAM is divided into k partitions and accessed k times from k ports during one system clock cycle. ("K" is a positive integer). Preferably, the memory is divided into equal partitions. In the embodiment of FIG. 1, the conventional single-port sRAM 15 is divided into two equal sections and can be accessed from two independent ports using the same system clock generator 12.
[0028]
According to one embodiment of the present invention, CsRAM 10 comprises two equal sized partitions, for example, partition S.0And S1Logically divided into Each section S0And S1Use the same or complementary test data to generate different port p0, P1From the same time.
[0029]
The following notation is used to describe the inspection method. The number of words, that is, the size of the memory is represented by “w”, and “n” represents the number of bits per word per port. An n-bit word is illustrated at symbol 82. The CsRAM 10 is an array composed of c columns 83 and r rows 84. The index "i" is used to indicate the row address of cell 15 ', where i is 0, 1, 2,. . , (R-1). Index "j" is used to indicate the column address of cell 15 ', where j is 0, 1, 2,. . , (C-1).
[0030]
As mentioned above, each cell 15 'in the sRAM 15 has two ports, so there are two different row addresses for one cell. That is, one is port p1And the other is port p2It is about. Therefore, ar0[I] and ar1[I] is the port p0And p1Represents the row address for the same cell in the sRAM 15 when each is accessed. Similarly, each cell 15 'in the sRAM 15 has two different column addresses. That is, one is port p0And the other is port p1It is about. Thus, ac0[J] and ac1[J] represents a column address for the same cell 15.
[0031]
Port p0Is accessed, the complete address of cell 15 'in sRAM 15 is
Add0= {Ar0[R-1],. . . , Ar0[0], ac0[C-1],. . . , Ac0[0]}
And port p1Is accessed, the complete address of cell 15 'in sRAM 15 is
Add1= {Ar1[R-1],. . . , Ar1[0], ac1[C-1],. . . , Ac1[0]}
It is.
[0032]
FIG. 3B shows the section S0And S1FIG. 2 is a conceptual diagram of a CsRAM 10 divided into two sections. For complete fault detection, each port p0, P1Is section S0And S1Must be inspected once. In other words, two test sessions are required for the two-port CsRAM 10. In the first session, section S0Is p0At the same time as being inspected from1Is p1Inspected from. This is indicated by the dotted line in FIG. 3B. In this case, Add0Is section S0Define the cell location at1Is section S1Define the cell position in. In the second session, section S0Is p1At the same time as being inspected from1Is p0And the inspection of the entire CsRAM 10 is completed. In the second session, Add0Is section S1Define the cell location at1Is section S0Define the cell position in. This is indicated by the solid line in FIG. 3B.
[0033]
In addition, a parallel inspection of the memory is assumed for this method. That is, words are applied one at a time, and the test response is read one word at a time. Therefore, this method is also called "modified parallel BIST".
[0034]
The exemplary inspection method according to FIG. 3B does not require additional inspection time by using two inspection sessions. This means that each test session will only test half of the memory space, thus each test session will only test half of the test time, as compared to the conventional approach of testing the entire memory space in a single session for a single port sRAM. This is simply because
[0035]
The two sessions of the test method according to the invention can use the BIST used to test the sRAM, but the algorithm of this BIST is, for example, for one-port sRAM, A.I. J. Van de Gool, "Testing semiconductor memories" (Wiley Publishers, April 1996), and for a multiport conventional sRAM, see Wu et al. Proposed.
[0036]
These or other test algorithms are slightly modified to test a multiport CsRAM in accordance with the present invention. For example, this paragraph presents a modified March “C” minor (MARCH C-) inspection algorithm used to inspect CsRAM at-speed in accordance with the present invention. However, the invention is equally applicable to other BIST algorithms with only minimal modifications.
[0037]
FIG. 4 shows the steps of the inspection according to the invention. Steps, also referred to as march steps, intuitively represent that cells are continuously tested and that write and read operations "march" up and down from cell to cell. Accessing (examining) one sRAM at a time using a conventional BIST controller to examine the w-word (r row and c column) 2-port CsRAM 10 with n words of 1 word per port Sequentially examines two virtual single port sRAMs. Each virtual single port RAM has (w / 2) words consisting of 2n bits per word arranged in (r-1) rows and c columns. Alternatively, the single-port virtual memory may have (w / 2) words of 2n bits per word arranged in r rows (c-1) columns.
[0038]
These virtual CsRAMs 85 and 86 are shown in FIG. 4 as a gray area and a white area, respectively. It should be understood that such a separation into two virtual memories is not permanent and can be changed according to the marching steps performed during the test.
[0039]
As a result of this virtual or logical separation, the color of the conventional BIST controller is slightly modified to provide 2n bit wide test data and [(r-1) + c] bit addresses to memory 10. And a 2n bit wide test response must be confirmed. In addition, a conventional BIST controller must generate a memsel signal to select single port virtual memories 85 and 86 of CsRAM 10 for each write / read operation. This memsel is the row address ar of the CsRAM 100[R-1] and ar1Used as the most significant bit of [r-1]. For example, if the first virtual sRAM 85 is p0, Memsel = 0 and the second virtual sRAM 860If memsel = 1.
[0040]
In FIG. 4, the letters R and W represent read and write operations, respectively. The letters d and d ̄ represent test data and complementary test data written / read from respective addresses. Arrows represent a March-up or March-down for each step. The direction of marching is represented by an index of "up (up)" and "dn (down)". S0Or S1Represents a partition to which a write / read operation is applied. The terms read-up, read-down, write-up, and write-down describe the direction of marching for operations performed in the respective virtual memory.
[0041]
Inspection data is applied at the rising edge of sysClk. Internal clock f0Is generated first, so D0The above inspection data is first stored in the address Add of the virtual memory 85.0Applied to the cell at Within the same sysClk cycle, D1The inspection data above is f1Address Add at the rising edge of1Applied to cells of As described above, Add0And Add1Represents two different storage cells, each in a different section of the memory 10.
[0042]
To create a transition to cover timing related faults, in the example of FIG.0And p1Have the exact opposite or complementary values. That is, D1= D0 ̄. This is the address Add0Is written into the cell having the address "Add", the address Add1Means that a logical value “0” is written in the cell having the same, and so on. In this way, during a read operation, each clock f0And f1According to the address Add0And Add1The complementary test response is read from.
[0043]
Two ports p0, P1And by using two sets of complementary test data for different addresses, the signals on lines D, Add and Q of CsRAM 10 become f0And f1Always switches for each pair of. This fast switching places maximum stress on the timing of associated circuits such as the sRAM cell 15 ', input multiplexers 14, 16, 18 and output latches 17, 19 shown in FIG.
[0044]
The method shown in FIG. 4 is performed in two sessions, each of the first and second sessions having six steps.
[0045]
The first test session consists of steps 1-6, each step performing a read / write operation on each virtual memory simultaneously and in opposite directions. As described above, when test data d is read from virtual memory 85 in a particular direction, complementary test data d # is written at that location in the same direction. When test data d is written in one direction in virtual memory 85, complementary test data d # is written in virtual memory 86 in the opposite direction.
[0046]
Step 1 is that the first test session writes (w / 2) test data words with increasing contiguous addresses in virtual memory 85 and has decreasing contiguous addresses in virtual memory 86 (w / 2) indicates that it starts with the writing of two complementary test data words. When Step 1 is completed, the data written in the virtual memories 85 and 86 have complementary values. The reading operation performed during step 1 is not relevant to the present inspection method.
[0047]
This can be expressed as follows.
[0048]
(Equation 1)
Figure 2004512630
Here, d is 00. . . 000 or 0101. . . It is an arbitrary n-bit vector such as 0101.
Rd and Rd ̄ are readd ( d ̄ )Represents an action.
Wd and Wd ̄ are writed ( d ̄ )Represents an action.
(...): (...) represents two parallel operations on two ports.
Subscript upS0(DnS0) Is the section S0Represents a march up (march down) test for.
Subscript upS1(DnS1) Is the section S1Represents a march up (march down) test for.
[0049]
The second inspection session starts with step 7. In step 7, (w / 2) test data words are written to increasing consecutive addresses in virtual memory 86 and (w / 2) complementary test data words are written to decreasing sequential addresses in memory 85. Is written. The data written to the virtual memories 85 and 86 have complementary values, and the same rules apply as described in the first session above. The reading operation performed during step 7 is not relevant to the present inspection method.
[0050]
This can be expressed as:
[0051]
(Equation 2)
Figure 2004512630
[0052]
As described above, each marching operation is performed through the entire address space of the corresponding memory partition, which is half the memory space of the entire 2-port CsRAM 10. Depending on the partitioning of the memory, the order of addresses for marching within each partition may or may not be contiguous. For example, Add except for the most significant bit of the row address0Is Add1And the division is the same in all bit positions,
ar0[R-1] = ar1[R-1], ar0[R-2] = ar1[R-2], ...,
ar0[0] = ar1[0],
ac0[C-1] = ac1[C-1], ..., ac0[0] = ac1[0]
And the addresses within the range of each memory section are continuous.
[0053]
Regardless of the division of the memory and the continuity of the inspection address, the fault detection rate according to the above algorithm is the same. Similarly, testing is performed at the memory operating speed and the system continues to operate at the system clock speed.
[0054]
FIG. 5 illustrates at 20 a modified collar 25 having a conventional BIST controller 30 for performing a parallel BIST according to the present invention. Bold connections represent buses, and bus sizes are shown in FIG. The circuits in the gray area 25 are defined as "BIST color". In this example, the BIST controller 20 is adapted to test the two-port CsRAM 10. Nevertheless, if one understands the operating principle and circuit for a two-port CsRAM, one can easily envision other variants of the collar 25 for other types of multiport CsRAM. Further, as described above, the use of the collar 25 enables the CsRAM 10 to be inspected at-speed with a slight change in the operation of the BIST controller 30.
[0055]
The collar 25 includes an address multiplexer 24, 24 ', a data multiplexer 26, 26', and a W / R multiplexer 28, 28 '. Each multiplexer has a corresponding port p0And p1Performs the respective functions. Color 25 is port p0Lines 51, 53, 55, 60 and port p1Through the lines 61, 63, 65, and 70 of the ASIC. When the multiplexer is connected to a functional block of the ASIC via a connection labeled "From functional block", it allows both normal modes of operation of the CsRAM 10 and also provides a connection to the BIST controller 30. Multiplexers are provided to allow operation of the CsRAM 10 in test mode when connected via
[0056]
Thus, p0The address multiplexer 24 of the memory 100Receives an (r + c) bit wide address signal that identifies the row and column of the cell to be accessed. Port p1Also receives an (r + c) bit wide address because the number of rows and columns of memory is the same for both ports. The BIST controller 30 generates an address for the (r-1) + c bit wide memory 10 on line 35 to fully identify each cell address in each partition. In addition, the BIST controller 30 provides a signal memsel on line 34 and the first section S0And the second section S1And an inverter 43 for selecting between the above. This signal is the most significant bit of the row address in this example. In other words, memsel is ar0[R-1] and ar1Replace [r-1]. The march up or march down address for each port is obtained through an inverter 42 located on the collar 25. Inverter 42 ensures that the addresses are opposite for simultaneous read and write operations of the two virtual memories. Inverter 44 allows BIST controller 30 to compare the same set of test responses.
[0057]
Data multiplexers 26 and 26 'receive n bits ("n" is the size of one word). Accordingly, the BIST controller 30 must generate n-bit wide inspection data on line 37 as the memory 10 is divided into two sections. This is the result of a virtual division of the memory 10 into two sections. Port p0A second set of n-bit wide test data complementary to port p1, An inverter 41 is used. R / W multiplexers 28 and 28 'receive a single bit control signal 38 indicating a read or write operation. If the control signal is “1”, a write operation is performed.
[0058]
As described with reference to FIG. 4, both virtual memories perform read or write operations simultaneously, but the addresses march in opposite directions and the data has complementary values. Thus, the control signals are the same for both ports. The test response on output lines 60 and 70 is n bits wide, and the test response is used by BIST controller 30 to determine if the data written to the cell is the same as the data read from the cell. Used by Both the BIST controller 30 and the CSRAM 10 are synchronized by a system clock sysClk, indicated by reference numeral 36.
[0059]
As described above, the modified BIST controller 20 has a normal mode and an inspection mode. When bis_en = 1 arrives, the signal biston on line 39 selects the data from the buffers / multiplexers (24, 26, 28) and (24 ', 26', 28 ') and the BIST is started. The controller 30 first sets memsel to “0”,0[R-1] = 0 and ar1[R-1] = 1. In this case, the BIST controller 300Through the lower half S of the memory space0And inspect port p1Through the upper half S of the memory space1But the marching proceeds in the opposite direction. During this session, the BIST performs the marching steps 1-6 of FIG. 4 to complete the MARCH C-test on half of the conventional sRAM.
[0060]
When the first test session is completed, the BIST controller 30 sets memsel = 1 and repeats the same MARCH C-test. During the second session, ar0[R-1] = 1 and ar1[R-1] = 0, and the BIST controller 301Through the lower half S of the memory space0And inspect port p0Through the upper half S of the memory space1To inspect. The second inspection session corresponds to steps 7-12 described with reference to FIG. When this test is completed, the BIST controller 30 sets the signals bis_done and bis_pass accordingly.
[0061]
In view of software changes compared to a conventional BIST controller, this embodiment requires the conventional BIST controller 30 to generate at least n-bit wide test data and confirm a 2n-bit wide test response. I do.
[0062]
From a hardware point of view, (2n + r + c) inverters are added to the BIST controller 25. That is, n inverters 41, n inverters 44, (r-1 + c) inverters 42, and one inverter 43 are added. Note that conventional BIST controllers require the same number of multiplexers as controller 20 of FIG. Furthermore, the silicon area and associated overall peak power consumption in the ASIC is reduced. This is because the present invention is designed to test a much smaller amount of CsRAM than a conventional compact sRAM of the same capacity.
[0063]
From a test time point of view, a serial test according to the present invention requires the same time as a conventional test of a single port sRAM of the same size. Compared to a conventional test of a two-port sRAM, the test time according to the embodiment of FIG. 5 is only half.
[0064]
The modified BIST controller 20 requires more inverters as compared to the conventional BIST embodiment, while the modified BIST controller provides n-bit wide test data to be used. Therefore, the inspection method according to the present invention provides higher accuracy because twice the inspection data and the inspection response are used as compared with the conventional method. In addition, tests are performed at a memory operating speed that is at least twice as fast as the system clock to detect timing related faults.
[0065]
FIG. 6 shows another embodiment 40 of the present invention. In this embodiment, a serialized BIST controller is used to test the 2-port CsRAM. This embodiment is recommended for ASICs sharing a single BIST controller among multiple memories. If a large number of memories are widely distributed on the ASIC, a shared parallel BIST controller 20 as shown in FIG.
[0066]
The serial memory BIST controller 40 of FIG. 6 minimizes this overhead by providing a single bit test input to all virtual memories and receiving a single bit test response from each virtual memory. In addition to wiring savings, serialization requires a BIST controller hard drive because the controller generates single-bit test data for both ports of the CsRAM and receives a single-bit test response from each port of the CsRAM. Hardware requirements are also reduced.
[0067]
Also in this example, the memory to be tested is the 2-port CsRAM 10 having r rows, c columns, w words per port, and n bits per word. Serial BIST 40 operates using the Serial MARCH Test (SMARCH) described in US Pat. No. 4,969,184, assigned to the same assignee as the present invention, and is incorporated herein by reference.
[0068]
All (RdWd ̄) and (Rd ̄Wd) operations are (R0W1)n(R1W1) and (R1W0)n(R0W0), the same principle as that shown in FIG. 4 can be applied to the serial inspection method.
[0069]
In FIG. 6, the shaded area representing the serial BIST color 25 'is an address multiplexer (24, 24'), a data multiplexer (26, 26 '), an R / W multiplexer (28, 28') and an inverter. 41-44. The single-bit check data Simem is transmitted from the BIST controller 30 'to the port p.0Least significant bit D of0[0] applied via line 37 to the single bit check data
(Equation 3)
Figure 2004512630
Is port p1Least significant bit D of1Applied to [0]. D0And D1The remaining (n-1) bits of output line Q0And Q1Respectively. In other words,
(Equation 4)
Figure 2004512630
It is. Most significant output bit Q0[N-1] and inverted bit Q1 ̄ [n-1] = Q0[N-1] is sent back to the BIST controller 30 for evaluation.
[0070]
In the embodiment of FIG. 6, the BIST controller 40 should test the two virtual memories simultaneously by giving both memories a single bit test and evaluating the single bit test response from each virtual memory. For such a configuration, the serial BIST controller 40 includes a single-bit comparator (not shown) for each output port of the CsRAM 10.
[0071]
The serial CsRAM @ BIST controller 40 operates as follows. When bis_en is received and biston is generated on line 39, BIST mode is enabled, memsel = 0 is set, and port p0Through the lower half S of the CsRAM 100And inspect port p1Via the upper half S of the CsRAM 101To inspect. As described above, the single-bit inspection data symem is generated by the controller 30 and p0Supplied in
(Equation 5)
Figure 2004512630
Is p1Supplied in. Q0/ D0And Q1/ D1Performs (n-1) feedback on the collar 25 'to perform the shift operation of the serial inspection. Most significant output bit Q0[N-1] and Q1 ̄ [n−1] is evaluated in parallel by the BIST controller 30. Because of the inversion on input inverter 41 and output inverter 44, the test responses from both ports are always the same (ie, Q0[N-1] = Q1[N-1]). When this check is completed, the BIST controller 30 sets memsel = 1 and sets the port p1Through the lower half S of the memory space0To inspect. When the second test is completed, the controller sets bis_done = 1 and bis_pass accordingly.
[0072]
Compared to a conventional BIST controller, the CsRAM serial BIST 40 requires (r + c + 2) extra inverters in the collar 25 ′ to evaluate two output bits of the same value, and the BIST controller 30 has two, three, Requires two gates. As described above, the most significant output bits are compared (Q0[N-1] = Q1{[N-1]), which is different from the one-bit output in the conventional S-MARCH embodiment.
[0073]
From a test time point of view, a serial test according to the present invention requires the same time as a conventional test of a single port sRAM of the same size. Compared to a conventional test of a two-port sRAM, the test time according to the embodiment of FIG. 6 is only half.
[0074]
The embodiment of FIG. 7 illustrates a modification of the collar 25 of FIG. 5 to be used with a BIST controller 30 designed to generate n-bit wide test data and verify an n-bit wide test response.
[0075]
The first set of n-bit wide test responses on line 60 are compared in BIST controller 30 and input to adder 66, as described above in connection with FIG. Another set of n-bit wide test responses on line 70 are sent to summer 56. A detector 57 connected to the output of the adder 56 is a (1; 0) detector, which sets its output to "1" when it detects a mismatch between the two sets of test responses, 1 ".
[0076]
The output of detector 57 controls the input of AND gate 58 through inverter 59, while the signal bis_pass controls the other input of AND gate 58. The output of AND gate 58 provides a signal bis_pass_combined that is "1" if no fault is detected in the memory.
[0077]
The BIST color configuration of FIG. 7 can also be used in a serial BIST embodiment.
[0078]
FIG. 8 shows another embodiment of the BIST collar 25. The BIST collar 25 includes an encoder 72 having output-0 and output-1, and two XOR gates 67, 68 replacing the inverters 41 and 44 of FIG. 5, respectively. Using the configuration shown in FIG. 8, the BIST controller 30 is designed to execute the following functions for the CsRAM 10 having two ports, W words, and n bits per word. That is, (a) four (4) virtual single-port memories having (w / 2) words and 2n bits per word are checked, and (b) one virtual memory is checked at that time. Accordingly, a 4-bit memory select signal, for example, a memsel [3: 0] signal for testing each section 85, 86 of the memory 10 four times is generated.
[0079]
Encoder 72 is connected to memsel [3: 0] on line 34 and controls the selection of either the same or complementary test data. Similarly, encoder 72 determines which of blocks 85, 86 to check, and port p0Or p1To control which one should be used. For example, if output-1 connected to the data bus is "0", the test is performed using the same data in two sessions corresponding to two sections of the CsRAM 10 selected via output-0. Be executed. If output-1 of the encoder 72 is "1", the test is performed using the complementary test data as described above with reference to FIG.
[0080]
The output-0 of the encoder 72 determines which partition of the memory 10 is connected to the port p.0, P1Used to select from which to test. If output-0 is "0", p0Inspects parcel 85 and p1Inspects section 86. Otherwise, p0Inspects parcel 86 and p1Inspects section 85.
[0081]
In this manner, each section of the CsRAM 10 is inspected four times. For complete failure detection, the same inspection data is used twice when output-1 = 0, and the output is output twice another time. The test is performed using complementary test data when -1 = 1. Table 1 shows the function of the encoder 72.
[0082]
[Table 1]
Figure 2004512630
[0083]
The BIST color configuration of FIG. 8 can be used with the serial BIST embodiment as well.
[0084]
In accordance with the present invention, a new BIST approach is provided to achieve at-speed inspection quality for a compact sRAM 10 that has at least k times faster operating speed than the system clock generator 12. As described above, the testing of the CsRAM can be performed using a conventional BIST controller 30, 30 'in which all necessary modifications are incorporated into the memory collars 25, 25'. The only costs required are those associated with the color 25, 25 'around the CsRAM to be tested to perform a parallel or serial test.
[0085]
To test a 2-port CsRAM with w words per port and n bits per word at r rows and c columns, the color of the conventional BIST controller is changed as if (r-1) rows and c columns at It is applied to test (w / 2) words, two virtual single-port sRAMs with n bits per word using complementary test data. Depending on the model of partitioning, the virtual single-port sRAM may also have (w / 2) words per port and n bits per word, with r rows and (c-1) columns. The BIST color can also be modified to test four virtual single-port memories using both the same and complementary test data.
[0086]
The inspection schedule of the k-port CsRAM is to inspect k virtual memories simultaneously. Preferably, the virtual memories are of the same size.
[0087]
Many modifications, variations and adaptations may be made to particular embodiments of the invention without departing from the scope of the invention as defined in the appended claims.
[Brief description of the drawings]
FIG. 1A shows the architecture of a two-port compact sRAM (CsRAM).
FIG. 1B shows symbols used for CsRAM.
2 shows waveforms of a system clock and an internal clock for testing the CsRAM of FIG. 1A according to the present invention.
FIG. 3A illustrates terms used by the two-port CsRAM of FIG. 1A and a test method according to the invention.
FIG. 3B shows a simplified two-port CsRAM from a test method perspective.
FIG. 4 shows the steps of testing for a two-port CsRAM according to the invention.
FIG. 5 illustrates a parallel embodiment of a BIST at-speed for a two-port CsRAM according to the present invention.
FIG. 6 illustrates a serial embodiment of a BIST at-speed for a two-port CsRAM according to the present invention.
FIG. 7 illustrates another embodiment of the BIST color of FIG. 5 with a local comparator.
FIG. 8 illustrates yet another embodiment of the BIST collar of FIG. 5 for inspection with improved fault coverage.

Claims (23)

2ポートのコンパクト・スタティック・ランダム・アクセス・メモリ(CsRAM)を該CsRAMの動作速度で検査する方法であって、
(a)第1の検査データ・セットおよび第2の検査データ・セットを生成し、
(b)第1のポートを介した前記CsRAMの第1の区画への前記第1検査データ・セットの書き込み、および第2のポートを介した前記CsRAMの第2の区画への前記第2の検査データ・セットの書き込みを同時に実行し、
(c)前記第1のポートを介して前記第1の区画から第1の出力データを読み取り、前記第2のポートを介して前記第2の区画から第2の出力データを読み取り、
(d)前記第1の出力および前記第2の出力の各々を前記第1の検査データ・セットおよび前記第2の検査データ・セットとそれぞれ比較して、前記第1の出力が前記第1の検査データと異なるか、または前記第2の出力が前記第2の検査データと異なる場合、故障と宣言することを含む方法。
A method for testing a two-port compact static random access memory (CsRAM) at the operating speed of the CsRAM,
(A) generating a first test data set and a second test data set;
(B) writing the first set of test data to a first partition of the CsRAM via a first port, and writing the second test data set to a second partition of the CsRAM via a second port Write the test data set simultaneously,
(C) reading first output data from the first section through the first port, reading second output data from the second section through the second port,
(D) comparing each of the first output and the second output with the first test data set and the second test data set, respectively, wherein the first output is the first test data set and the second test data set; A method comprising declaring a failure if different from test data or if the second output is different from the second test data.
(e)前記第1のポートを介した前記CsRAMの前記第2の区画への前記第1の検査データ・セットの書き込み、前記第2のポートを介した前記第1の区画への前記第2の検査データ・セットの書き込みを同時に実行し、
(f)前記第1のポートを介して前記第2の区画から前記第1の出力データを読み取り、前記第2のポートを介して前記第1の区画から前記第2の出力データを読み取り、
(g)前記第1の出力および前記第2の出力の各々を前記第1の検査データ・セットおよび前記第2の検査データ・セットと再度比較して、前記第1の出力が前記第1の検査データと異なるか、または前記第2の出力が前記第2の検査データと異なる場合、故障と宣言することをさらに含む、請求項1に記載の方法。
(E) writing the first set of test data to the second partition of the CsRAM via the first port, and writing the second test data set to the first partition via the second port Simultaneously writing the test data sets,
(F) reading the first output data from the second partition via the first port, reading the second output data from the first partition via the second port,
(G) comparing each of the first output and the second output again with the first test data set and the second test data set, wherein the first output is the first test data set and the second test data set; The method of claim 1, further comprising declaring a failure if different from test data or if the second output is different from the second test data.
前記生成するステップが、
前記第1の検査データ・セットについてw/2個の第1のワードを生成し、
前記第2の検査データ・セットについて、対応する第1のワードと相補的な2進値を各々が有するw/2個の第2のワードを与えることを含む、請求項1に記載の方法。
The generating step includes:
Generating w / 2 first words for the first set of test data;
The method of claim 1, comprising providing w / 2 second words, each having a binary value complementary to a corresponding first word, for the second set of test data.
前記書き込みを同時に実行するステップが、
前記第1の区画の連続的に増加するアドレスに前記第1のワードを書き込み、
前記第2の区画の連続的に減少するアドレスに前記第2のワードを書き込むことを含む、請求項3に記載の方法。
Performing the writing simultaneously,
Writing the first word to continuously increasing addresses of the first section;
4. The method of claim 3, comprising writing the second word to a continuously decreasing address of the second partition.
前記読み取るステップが、
前記第1の区画の連続的に増加するアドレスから前記第1のワードを読み取り、
前記第2の区画の連続的に減少するアドレスから前記第2のワードを読み取ることを含む、請求項4に記載の方法。
The reading step includes:
Reading the first word from a continuously increasing address of the first section;
5. The method of claim 4, comprising reading the second word from a continuously decreasing address of the second partition.
前記書き込みを同時に実行するステップが、
前記第1の区画の連続的に減少するアドレスに前記第1のワードを書き込み、
前記第2の区画の連続的に増加するアドレスに前記第2のワードを書き込むことを含む、請求項3に記載の方法。
Performing the writing simultaneously,
Writing the first word to successively decreasing addresses of the first section;
4. The method of claim 3, comprising writing the second word to a continuously increasing address of the second partition.
前記読み取るステップが、
前記第1の区画の連続的に減少するアドレスから前記第1のワードを読み取り、
前記第2の区画の連続的に増加するアドレスから前記第2のワードを読み取ることを含む、請求項6に記載の方法。
The reading step includes:
Reading the first word from a continuously decreasing address of the first section;
7. The method of claim 6, comprising reading the second word from a continuously increasing address of the second partition.
前記第1および第2の区画のうちの1つにおけるアドレスが前記CsRAMのサイズに従った行番号と列番号を含み、行アドレスの最上位ビットがメモリ区画選択信号として使用される、請求項1に記載の方法。The address in one of the first and second partitions includes a row number and a column number according to the size of the CsRAM, and the most significant bit of the row address is used as a memory partition selection signal. The method described in. 前記書き込みおよび読み取りステップが、一度に1ビットの検査データを書き込み、一度に1ビットの検査結果を読み取ることを含む、請求項1に記載の方法。The method of claim 1, wherein the writing and reading steps include writing test data one bit at a time and reading test results one bit at a time. 前記書き込みおよび読み取りステップが、一度に1ワードを書き込みおよび読み取ることを含む、請求項1に記載の方法。The method of claim 1, wherein the writing and reading steps include writing and reading one word at a time. マルチポートCsRAMに対する、請求項1に記載の方法。The method of claim 1 for a multiport CsRAM. 前記第1の区画および前記第2の区画が各々前記CsRAMの半分のサイズである、請求項1に記載の方法。The method of claim 1, wherein the first partition and the second partition are each half the size of the CsRAM. 前記第1の検査データ・セットが前記第2の検査データ・セットと同一のデータを含む、請求項1に記載の方法。The method of claim 1, wherein the first test data set includes the same data as the second test data set. 第1および第2のポートを有するCsRAMに対する検査回路であって、
前記CsRAMの第1の区画および第2の区画それぞれにおいて検査アドレスおよびシステム・アドレスのうち1つを選択するための、前記第1のポートに対する第1のアドレス・マルチプレクサ・ユニットおよび前記第2のポートに対する第2のアドレス・マルチプレクサ・ユニットと、
前記第1の区画および前記第2の区画それぞれにおいて検査データ・ワードおよびシステム・データ・ワードのうち1つを提供するための、前記第1のポートに対する第1のデータ・マルチプレクサ・ユニットおよび前記第2のポートに対する第2のデータ・マルチプレクサ・ユニットと、
前記第1および第2の区画両方に対して検査書込み/読取り命令およびシステム書込み/読取り命令のうち1つを提供するための、前記第1のポートに対する第1の書込み/読取りマルチプレクサ・ユニットおよび前記第2のポートに対する第2の書込み/読取りマルチプレクサ・ユニットと、
前記第1および第2のポート上に同時に検査アドレス、検査データワードおよび検査書込み/読取り命令を生成し、前記CsRAMから出力データを受け取って、システム・クロックより速いメモリ動作速度で前記CsRAMの検査を実行する組み込み自己検査(BIST)コントローラと、
を含む検査回路。
A test circuit for a CsRAM having first and second ports,
A first address multiplexer unit for the first port and the second port for selecting one of a test address and a system address in each of a first partition and a second partition of the CsRAM; A second address multiplexer unit for
A first data multiplexer unit for the first port and the first data multiplexer unit for providing one of a test data word and a system data word in each of the first partition and the second partition; A second data multiplexer unit for the two ports;
A first write / read multiplexer unit for the first port for providing one of a test write / read command and a system write / read command for both the first and second partitions; and A second write / read multiplexer unit for the second port;
A test address, a test data word and a test write / read command are simultaneously generated on the first and second ports to receive output data from the CsRAM and to test the CsRAM at a memory operation speed faster than a system clock. A built-in self test (BIST) controller to perform;
Inspection circuit including.
前記第1のアドレス・マルチプレクサ・ユニットおよび前記第2のアドレス・マルチプレクサ・ユニットの各々が、前記BISTコントローラと(r+c)個のアドレス接続を有し、それぞれの各ポートに対してメモリ選択信号を与えて、(r−1)個の行アドレスとc個の列アドレス、またはr個の行アドレスと(c−1)個の列アドレスのいずれかを提供する、請求項14に記載の検査回路。Each of the first address multiplexer unit and the second address multiplexer unit has (r + c) address connections with the BIST controller and provides a memory select signal to each respective port. The inspection circuit according to claim 14, wherein the test circuit provides one of (r-1) row addresses and c column addresses, or r row addresses and (c-1) column addresses. 前記BISTコントローラが、
それぞれの各ポートにnビットの検査ワードを提供するための、前記第1のデータ・マルチプレクサ・ユニットおよび前記第2のデータ・マルチプレクサ・ユニットの各々とのn個の入力データ接続と、
それぞれの各ポートからnビット・ワードの検査応答を受け取るための、前記CsRAMとの2n個の出力データ接続と、
を備える、請求項14に記載の検査回路。
The BIST controller is:
N input data connections with each of the first data multiplexer unit and the second data multiplexer unit for providing an n-bit check word to each respective port;
2n output data connections with the CsRAM to receive an n-bit word test response from each respective port;
The test circuit according to claim 14, comprising:
前記BISTコントローラが、
前記第1および第2のポートの各々にnビットの検査ワードを提供するための、前記第1のデータ・マルチプレクサ・ユニットおよび前記第2のデータ・マルチプレクサ・ユニットの各々とのnビット幅入力データ接続と、
前記第1のポートからnビット・ワードの応答を受け取るための、前記CsRAMとのnビット幅出力データ接続と、
前記第2のポートからのnビット・ワード応答を前記第1のポートからのnビット・ワード応答と比較する手段と、
を備える、請求項14に記載の検査回路。
The BIST controller is:
N-bit wide input data with each of the first data multiplexer unit and the second data multiplexer unit for providing an n-bit check word to each of the first and second ports Connection and
An n-bit wide output data connection with the CsRAM for receiving an n-bit word response from the first port;
Means for comparing an n-bit word response from the second port with an n-bit word response from the first port;
The test circuit according to claim 14, comprising:
前記検査回路が、前記第2のポートに対して前記アドレス接続部の各々に対するアドレス・インバータおよび前記第2のポートに対する区画選択インバータをさらに備え、
前記BISTコントローラは、前記第1の区画に対して前記検査アドレスを生成し、前記アドレス・インバータは、前記第2の区画に対して、前記検査アドレスの相補的な2進値を提供する、請求項16に記載の検査回路。
The test circuit further comprises an address inverter for each of the address connections for the second port and a partition select inverter for the second port;
The BIST controller generates the test address for the first partition, and the address inverter provides a complementary binary value of the test address for the second partition. Item 17. The inspection circuit according to Item 16.
前記検査回路が、前記第2のポートに対して前記入力データ接続の各々に対する入力データ・インバータをさらに備え、
前記BISTコントローラは、前記第1の区画に対して前記検査データを生成し、前記入力データ・インバータは、前記第2の区画に対して、前記検査データの相補的な2進値を提供する、請求項16に記載の検査回路。
The test circuit further comprises an input data inverter for each of the input data connections to the second port;
The BIST controller generates the test data for the first partition, and the input data inverter provides a complementary binary value of the test data for the second partition. The inspection circuit according to claim 16.
前記検査回路が、前記第2のポートに対して前記出力データ接続の各々に対する出力データ・インバータをさらに備え、
前記BISTコントローラによって前記第1および第2の区画から受け取られる前記出力データが同一である、請求項16に記載の検査回路。
The test circuit further comprises an output data inverter for each of the output data connections to the second port;
17. The test circuit of claim 16, wherein the output data received by the BIST controller from the first and second partitions is the same.
それぞれの各ポートについて、前記第1のデータ・マルチプレクサ・ユニットおよび前記第2のデータ・マルチプレクサ・ユニットの各々が、前記CsRAMからの対応する(n−1)個の出力データ接続との(n−1)個の入力データ接続と、前記CsRAMに単一ビット検査データを提供するための、前記BISTコントローラからの入力検査接続と、を有し、
前記BISTコントローラは、前記単一ビット検査データに応答して、前記第1のポートおよび前記第2のポートから最上位出力ビットを受け取るための前記CsRAMとの出力検査接続を有する、
請求項16に記載の検査回路。
For each respective port, each of the first data multiplexer unit and the second data multiplexer unit is connected to the corresponding (n-1) output data connections from the CsRAM by (n- 1) having input data connections and input test connections from the BIST controller to provide single-bit test data to the CsRAM;
The BIST controller having an output test connection with the CsRAM for receiving a most significant output bit from the first port and the second port in response to the single bit test data;
The inspection circuit according to claim 16.
前記単一ビット検査データが前記第1および第2のポートの最下位ビットに適用される、請求項21に記載の検査回路。22. The test circuit of claim 21, wherein the single bit test data is applied to least significant bits of the first and second ports. 前記第1区画および前記第2区画が各々前記CsRAMの半分のサイズである、請求項14に記載の検査回路。The test circuit according to claim 14, wherein the first section and the second section are each half the size of the CsRAM.
JP2002541689A 2000-11-09 2000-11-09 Built-in self-test of multi-port CsRAM at-speed Pending JP2004512630A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CA2000/001306 WO2002039458A1 (en) 1999-09-23 2000-11-09 AT-SPEED BUILT-IN SELF TESTING OF MULTI-PORT COMPACT sRAMs

Publications (1)

Publication Number Publication Date
JP2004512630A true JP2004512630A (en) 2004-04-22

Family

ID=4143105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002541689A Pending JP2004512630A (en) 2000-11-09 2000-11-09 Built-in self-test of multi-port CsRAM at-speed

Country Status (6)

Country Link
EP (1) EP1338014A1 (en)
JP (1) JP2004512630A (en)
KR (1) KR20030068145A (en)
CN (1) CN1460269A (en)
CA (1) CA2426040A1 (en)
WO (1) WO2002039458A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220066654A1 (en) * 2020-08-28 2022-03-03 Softiron Limited Out Of Band Disk Performance Monitoring To Maintain Software Defined Storage Performance

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106229010B (en) * 2011-09-27 2019-07-19 意法半导体研发(深圳)有限公司 Fault diagnosis circuit
CN103455436B (en) * 2013-09-23 2016-09-14 北京经纬恒润科技有限公司 A kind of RAM detection method and system
CN113533941B (en) * 2021-09-15 2022-03-01 北京国科天迅科技有限公司 Chip interface testing method and device, computer equipment and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01162299A (en) * 1987-12-18 1989-06-26 Hitachi Ltd Multiport memory testing instrument
US5796745A (en) * 1996-07-19 1998-08-18 International Business Machines Corporation Memory array built-in self test circuit for testing multi-port memory arrays
US5781480A (en) * 1997-07-29 1998-07-14 Motorola, Inc. Pipelined dual port integrated circuit memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220066654A1 (en) * 2020-08-28 2022-03-03 Softiron Limited Out Of Band Disk Performance Monitoring To Maintain Software Defined Storage Performance
US11747993B2 (en) * 2020-08-28 2023-09-05 Softiron Limited Out of band disk performance monitoring to maintain software defined storage performance

Also Published As

Publication number Publication date
EP1338014A1 (en) 2003-08-27
KR20030068145A (en) 2003-08-19
CN1460269A (en) 2003-12-03
CA2426040A1 (en) 2002-05-16
WO2002039458A1 (en) 2002-05-16

Similar Documents

Publication Publication Date Title
US6510530B1 (en) At-speed built-in self testing of multi-port compact sRAMs
KR970004074B1 (en) Memory device and integrated circuit thereof
US5796745A (en) Memory array built-in self test circuit for testing multi-port memory arrays
EP0523973B1 (en) A configurable self-test for embedded RAMs
US7721174B2 (en) Full-speed BIST controller for testing embedded synchronous memories
US6415403B1 (en) Programmable built in self test for embedded DRAM
US7603603B2 (en) Configurable memory architecture with built-in testing mechanism
US6563751B1 (en) System and method for testing TDM sRAMs
US8780648B2 (en) Latch based memory device
EP0262867A2 (en) Integrated circuit with memory self-test
JP5665263B2 (en) Semiconductor memory device and method for testing semiconductor memory device
JPH06342040A (en) On chip self-checking arrangement for vlsi circuit and built-in (on-chip) self-checking device for vlsi memory circuit
EP1727156B1 (en) An improved area efficient memory architecture with decoder self test and debug capability
US6671836B1 (en) Method and apparatus for testing memory
JP2005332555A (en) Test circuit, test method and semiconductor integrated circuit device
US20080013389A1 (en) Random access memory including test circuit
TWI419170B (en) Integrated circuit and method for testing the circuit
JP2004512630A (en) Built-in self-test of multi-port CsRAM at-speed
US20030056161A1 (en) Memory circuit scan arrangement
JP4682077B2 (en) Semiconductor integrated circuit
Wu et al. Shadow write and read for at-speed BIST of TDM SRAMs
US6629275B1 (en) Reinstate apparatus and method to recreate data background for testing SRAM
Sable et al. Built-in self-test technique for selective detection of neighbourhood pattern sensitive faults in memories
Bayraktaroglu et al. Highly configurable programmable built-in self test architecture for high-speed memories
JP2002243801A (en) Semiconductor integrated circuit