JPH04228199A - 内容参照可能メモリの自己検査方法及び装置 - Google Patents
内容参照可能メモリの自己検査方法及び装置Info
- Publication number
- JPH04228199A JPH04228199A JP3094988A JP9498891A JPH04228199A JP H04228199 A JPH04228199 A JP H04228199A JP 3094988 A JP3094988 A JP 3094988A JP 9498891 A JP9498891 A JP 9498891A JP H04228199 A JPH04228199 A JP H04228199A
- Authority
- JP
- Japan
- Prior art keywords
- word
- row
- sequence
- cells
- read
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims description 18
- 238000007689 inspection Methods 0.000 title abstract description 6
- 238000012360 testing method Methods 0.000 claims description 44
- 230000000873 masking effect Effects 0.000 claims description 4
- 230000006835 compression Effects 0.000 claims 2
- 238000007906 compression Methods 0.000 claims 2
- 238000002864 sequence alignment Methods 0.000 claims 2
- 210000004027 cell Anatomy 0.000 description 100
- 230000007704 transition Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 102100025580 Calmodulin-1 Human genes 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100118004 Arabidopsis thaliana EBP1 gene Proteins 0.000 description 1
- 101150052583 CALM1 gene Proteins 0.000 description 1
- 101100459256 Cyprinus carpio myca gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 101150091339 cam-1 gene Proteins 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
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/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- 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/38—Response verification devices
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Tests Of Electronic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、内容参照可能メモリの
組込み自己検査方法及び装置に関する。 【0002】 【従来の技術】半導体産業では、半導体自体を検査する
能力(組込み自己検査)を持つように半導体の構造を設
計する傾向がある。有する複雑で、非常に大規模な集積
回路に組込み自己検査能力を与えれば、精巧な検査装置
を必要とすることなしに非常に高い故障検出率を得るこ
とが可能である。 【0003】現在、異なるタイプの構造(例えば、RA
M、ROM、FIFOなど)に対して組込み自己検査を
達成可能な単一の一般性のある技術は存在しない。従っ
て、別々の組込み自己検査技術がこのような異なる機能
的構造に対して必要となる。 【0004】組込み自己検査技術が大部分のタイプの機
能的半導体構造に対して存在することが知られている一
方で、内容参照可能メモリ(CAM)というあるタイプ
の機能的構造があり、この構造に対しては、全く組込み
自己検査技術が存在しないことが知られている。 【0005】CAMとランダム・アクセス・メモリ(R
AM)とは、ともに記憶セルのマトリクス・アレイを含
み、ランダムに、これらにデータは書き込み可能であり
、またこれらからデータが読みだし可能であるという点
で同じである。加えて、CAMはまた複数の排他的論理
和(XOR)ゲートをも有し、各ゲートはアレイの各行
における別々のメモリ・セルに連関されている。 【0006】各行の記憶セルに連関されたXORゲート
は、各他のゲートとの論理積を取った出力を有し、アレ
イの各行に記憶されたワードに「整合ワード」と呼ばれ
るワードを整合させるという利点をCAMに供与する。 さらに、ある種のCAMは、整合・ワードの選択された
数ビットをマスク可能にする「ワイルド・カード」とし
て知られている特徴をも有する。 【0007】 【発明が解決しようとする課題】現在のCAMの整合と
ワイルド・カードという特徴により、CAMは、RAM
のような他のタイプのメモリと比較してより複雑になっ
ている。このために、RAMに対して使用されている現
在の組込み自己検査技術は、CAMに対しては適切では
ない。さらに、整合とワイルド・カードとを有するCA
Mの全特徴を検査するために有効であることを証明した
単一の組込み自己検査技術は未知である。 【0008】本発明は、CAMの全ての構成要素を検査
できる組込み自己検査方法及び装置を提供することを目
的とする。 【0009】 【課題を解決するための手段】本発明は、メモリ部分と
これに連関された排他的論理和(XOR)ゲートとを有
する複合セルのアレイと一連の連関されたブロックとか
らなる内容参照可能メモリを検査するための方法である
。本発明では、CAM上での所定の一連の書き込み、整
合、読みだし動作を実行することによりCAMの全ての
素子が集合的に検査される。 【0010】各書き込み動作中には、すべて0のワード
、すべて1のワード、1の中にウォーキング0があるワ
ード、あるいは0の中にウォーキング1があるワードか
らなるグループから所定のデータワードが、アレイ内の
連続する一つのメモリ・セルの行に書き込まれる。 【0011】各整合動作は、CAMアレイ内のセルの全
行に書き込まれたワードと整合するために、グループ内
の所定のデータワードの一つを整合レジスタに入れるこ
とにより実行される。各読みだし動作は、セルの連続す
る行の内容を読みだし、この読みだされたワードがデー
タワードのグループの所定の一つに一致するかどうかを
決定するために内容を検査することにより実行される。 【0012】好ましい実施例においては、整合ワードが
全行の内容に整合されるとき、セルの連続する行が読み
だされるように整合と読みだし動作は同時に実行される
。書き出しと整合の動作の結果に基づいて、CAMの各
素子の動作性能が検査され得る。 【0013】好ましい実施例においては、下表に示す7
個の書き込み、整合、読みだし動作シーケンスのセット
が実行される。 【表1】 ここで、Wは書き込み動作を示し、Mは整合/読みだし
動作(整合と読みだしの両方が行われる間)をそれぞれ
示す。また、上付き文字0、1、 【数1】 、 【数2】 は、特定の動作が、すべて0のワード、すべて1のワー
ド、1の中にウォーキング0があるワード、すべて0の
中にウォーキング1があるワードのそれぞれを書き込む
あるいは整合させる/読みだす、といういずれかにより
実行されることを示す。 【0014】整合/読みだし動作に連関した二つの上付
き文字がある場合には、第1の上付き文字は整合ワード
を示すが、第2の上付き文字は読みだされることが期待
されるワードを示す。単一の上付き文字の場合には、整
合されるワードは、セルの行から読みだされることが期
待されるワードと同じである。 【0015】上向きと下向きの矢は、矢に従う特定の動
作系列が、矢がそれぞれ上向きであるかあるいは下向き
であるかどうかに依存して、最初の行あるいは最後の行
で始まる、アレイの連続する各行に対して実行される。 【0016】第1のシーケンス(1)は、すべて0のワ
ードがアレイ内のメモリ・セルの各連続する行内に、第
1の行から始まり書き込まれる間の単一の書き込み動作
(W0)からなる。 【0017】第2のシーケンス(2)は、整合/読みだ
し動作(M1/0)、書き込み動作(W1)、書き込み
動作(W0)、書き込み動作(W1)からなり、これら
はセルの各連続する行に対して連続して実行される。 【0018】整合/読みだし動作M1/0は、アレイ内
に記憶されたワードにすべて1のワードを整合させるこ
とにより実行されるが、一方同時にワードがすべて0の
ワードであるかを決定するために連続する行内に記憶さ
れたワードを読み出す。シーケンス(2)内の各書き込
み動作は、特定書き込み動作に連関した上付き文字表示
に従って、すべて1のワードあるいはすべて0のワード
のいずれかを、整合/読みだし動作中に読みだされたセ
ルの行内に書き込むことにより実行される。 【0019】シーケンス(4)、(5)、(7)もまた
、メモリ・セルの各連続する行に対して連続して実行さ
れる書き込み動作と整合/読みだし動作のセットからな
る。 【0020】シーケンス(2)、(4)、(5)、(7
)と異なり、シーケンス(3)とシーケンス(6)は、
1の単一ワードあるいは0の単一ワードをではなく、1
のワード内で0をウォーキングすることにより得られた
ワード、また0のワード内で1をウォーキングすること
により得られたワード、それぞれを整合させる/読みだ
しすることにより実行される。シーケンス(3)とシー
ケンス(6)において、整合/読みだし動作【数3】 【数4】が実行されることにより、CAMの整合機能は
都合良く検査されるであろう。 【0021】上述の書き込み動作と整合/読みだし動作
のシーケンス(1)から(7)までを実行することによ
り、CAMの全ての素子は、完全に検査される。従って
、このCAM検査の瞬間的技術は、100%の故障検出
率が可能であることを保証する。 【0022】 【実施例】以下、本発明の一定施例を図面を参照して説
明する。図1は、当業者には周知の内容参照可能メモリ
(CAM)10の構成を模式的に示す。図1において、
CAM10は、メモリ・セル14のn個の列とm個の行
のアレイ12からなる。ここでmとnは整数である。こ
こでは、メモリ・セル14の1行のみが図示されている
。アレイ12内の各行におけるメモリ・セル14の各々
は、まずデータ−インレジスタ16に入力され、レジス
タ出力線のセットの別個の出力線171、172、17
3...17nを経由して行内のセルに転送された、ワ
ードのn個のビットのそれぞれを記憶する。 【0023】メモリ・セル14の各行内に記憶されたワ
ードは、データ−アウトレジスタ19に結合した別々の
線181、182、183...18nを経由してアレ
イ12から読み込み可能である。データ−アウトレジス
タ19に記憶されたデータは、バス20を経由して外部
デバイス(図示せず)への出力される。データワードが
書き込まれるべき、あるいは記憶されたデータワードが
読み出されるべきメモリ・セル14の行の見出しは、C
AM10に連関したデコーダ21への行アドレス入力に
おいて設定される。 【0024】デコーダ21は、行の見出しを設定するた
めのアドレスを解読し、その後アドレス指定された行内
のセルをデータ読みだしあるいはデータ書き込み(デー
タはn個のビットワードの形である)操作可能にする。 【0025】他のタイプのメモリ・デバイスと異なり、
CAM10は連想アドレス指定能力、すなわち、整合す
る行のアドレスを認識するために、n個のビット列をア
レイ12のセル14の各行内に記憶されたデータワード
に整合する能力を有する。整合されるべきn個のビット
列は、以後「整合ワード」と呼ばれる。 【0026】連想アドレス指定を達成するために、各排
他的論理和(XOR)ゲート22は、アレイ12内の各
メモリ・セル14に結合されている。アレイ12の各列
内でメモリ・セル14に結合された各XORゲート22
は、各メモリ・セル14の内容と各整合線241、24
2、243...24nからのビットとの排他的論理和
をとる。各整合線241、242、243...24n
にはCAM10に設けられた整合レジスタ25内に保持
された整合ワード中の個々のビットが送り込まれる。 【0027】メモリ・セル14の特定行でのメモリ・セ
ル14に連結した各XORゲート22により実行される
排他的論理和動作は、ANDゲート261、262、.
..26n−1により、同じ行内のそのすぐ左にあるX
ORゲート(すなわち、先行する列に結合されたXOR
ゲート)の出力信号との論理和を取ることにより行われ
る。 【0028】メモリ・セル14の各行内にあるANDゲ
ート26n−1からの出力信号(行内のゲート261−
26n−1の出力信号の論理積を表す)は、エンコーダ
30の各入力線281、282...28mに入力され
る。入力線281−28mでの信号に応答して、エンコ
ーダ30は、内容が整合レジスタ25内の整合ワードに
一致するような行の見出しを表す信号を出力線311、
312、313...31mに与える。 【0029】ANDゲート32と0Rゲート33は各線
281−28mに結合され、それぞれこれらの線での信
号の論理積と論理和を表す信号を生成する役割を果たす
。 【0030】また、CAM10には、各整合線241、
242、243...24nにそれぞれ結合された出力
線351、352、353...35nを有するワイル
ドカードレジスタ34が設けられている。ワイルドカー
ドレジスタ34内にロードされたワードのビットに従っ
て、線351−35nに1個以上の信号が送られる。 【0031】ワイルドカードレジスタ34の各出力線3
51、352、353...35n上の信号が論理「1
」のレベルである時、この信号は、整合レジスタ25か
らの整合線241、242、243...24nの対応
する線で受け取った信号をそれぞれマスクする。整合線
241、242、243...24nの選択された線で
論理「1」のレベルに設定するようにワイルドカードレ
ジスタ34の内容を選択することにより、「整合」レジ
スタ25内の整合ワードの対応するビットをマスクする
ことが可能になる。 【0032】上述のように構成されたCAM10は、多
数の故障を生じやすい。メモリ・セル14のアレイ12
は、それ自身(a)「縮退」故障、(b)遷移故障、(
c)結合故障、(d)連結結合及び遷移による故障、を
生じやすい。 【0033】縮退故障が起こるのは、メモリ・セル14
の内容がセル内に以前に書き込まれたビットの状態に関
係なく「1」あるいは「0」に固定されたままである時
である。遷移故障が起こるのは、「1」または「0」を
それぞれ書き込むことにより、「0」から「1」へある
いは「1」から「0」へセル14の内容の状態に変化を
与えることが不可能である時であると言われている。 【0034】結合故障が起こるのは、セル14内のビッ
トの状態が意図せず変化する時である、なぜなら隣合っ
た行でのセルのビットが変化するからである。その名前
が示すように、連結結合と遷移による故障は、遷移故障
と結合故障の組合せである。 【0035】メモリ・セルのアレイ12の他に、CAM
10の他の部分にも故障が起こる。例えば、デコーダ2
1は、メモリ・セル14のアドレス指定された行にアク
セスできない可能性があり、あるいはさらにアドレス指
定された行の代わりに他の行にアクセスするかもしれな
い。エンコーダ30は、整合レジスタ25内のワードに
整合するワードの内容を含むセル14の各行のアドレス
を出力できない可能性がある。 【0036】整合レジスタ25は、もし整合線241、
242、243...24nの1個以上の線での信号の
状態が「0」あるいは「1」に固定されたままであるな
らば、適切な整合ワードを与えられない可能性がある。 ワイルドカードレジスタ32は、もしその出力線341
、342、343...34nの1個以上の線に現れる
信号が「1」あるいは「0」に固定されているならば、
正しく動作できないかもしれない。 【0037】ORゲート22自身の故障があり得る。例
えば、1個以上のORゲート22が、このゲートに与え
られる入力信号の異なる4個の可能な組合せの一つに応
答して適切な信号を出力することができない可能性があ
る。また、データ−インレジスタ16とデータ−アウト
レジスタ19の各々に、縮退型の故障が起きるかもしれ
ない。 【0038】CAM10を完全に検査するためには、上
述の故障の全てが検査されなければならない。本実施例
において、各タイプの故障が存在するかどうかを検出を
する目的のCAM10の完全な検査のための技術が開発
された。以下に詳細に説明するように、本実施例におけ
るCAM10の検査は、書き込み、整合、読みだしシー
ケンスの所定のセットを実行することにより行われる。 【0039】各書き込み動作中に、(a)すべて1のワ
ード、(b)すべて0のワード、(c)0の中にウォー
キング1があるワード、(d)1の中にウォーキング0
があるワード、からなるグループから事前選択されたデ
ータワードが、CAM10のアレイ12内のセル14の
各行に書き込まれる。 【0040】各整合動作は、上述の4個のデータワード
のグループから選ばれ、事前選択されたデータワードを
、同時に各行内に記憶されたワードに整合することによ
り実行される。整合動作と同時に、読みだし動作が実行
され、セル14のアドレス指定された行内の内容(記憶
されたワード)は読みだされ、記憶されたワードがデー
タワードのグループの所定のワードに対応するかどうか
検査される。 【0041】所定の書き込み、整合、読みだし動作系列
は、CAM10の全素子(すなわち、セルアレイ12、
デコーダ21、エンコーダ30、レジスタ16、19、
25、34)を検査するように選択される。 【0042】適切な書き込み、整合、読みだし動作系列
の実行とそれらの動作の結果の評価とを容易にするため
に、CAM10には、既に記述したANDゲート32と
0Rゲート33、カウンタ37、テストパターンジェネ
レータ38、コンパレータ40、ワイルドカードジェネ
レータ42、ANDゲート44、0Rゲート46などか
らなるテストシステム36が取り付けられる。 【0043】テストシステム36の全素子は一般に、単
一のパッケージ(図示せず)内にCAM10の素子と共
に集積される。アップダウンカウンタで構成されるカウ
ンタ37は、デコーダ21に与えられるカウントを生成
する役割を果たす。このカウントに応じて、デコーダ2
1はアレイ12内のセル14の異なる行の一つをアドレ
ス指定する。 【0044】テストパターンジェネレータ38は、デー
タ−インレジスタ16と整合レジスタ25の両方に、異
なる上述のデータワードタイプ(すなわち、(a)すべ
て0のワード、(b)すべて1のワード、(c)1の中
にウォーキング0があるワード、あるいは(d)0の中
にウォーキング1があるワード)のうち一つを与える役
割を果たすレジスタである。 【0045】コンパレータ40は、線311、312、
313...31mに存在する信号とカウンタ37のカ
ウントとを比較し、信号がカウントと等しいかどうかを
示すビットを出力する役割を果たす。ワイルドカードジ
ェネレータ42は、すべて1の数列が正しく整合ワード
をマスク可能であるかを検査するためにすべて1の数列
をCAM10のワイルドカードレジスタ34に与える役
割を果たすレジスタからなる。 【0046】ANDゲート44とORゲート46は各々
データ−アウトレジスタ19の出力に結合され、ワード
をビットペア(2ビット)に圧縮するためにバス20に
出力されたワードのビットのそれぞれ論理積と論理和と
を得る役割を果たす。 【0047】CAMが、表2に表形式で記載された書き
込み、整合、読みだし動作系列に従い実行することによ
り、テストシステム36はCAM10を検査する。 【表2】 記号WとMは、それぞれ書き込み動作と整合/読みだし
動作とを示す(整合動作と読みだし動作とは同時に実行
される)。 【0048】記号WとMとに続く上付き文字0、1、【
数1】 【数2】は、すべて1のワード、すべて0のワード、1
のワード内のウォーキング0、0のワード内のウォーキ
ング1、を書き込むあるいは整合するまた読み出すこと
により、動作が実行されることを示す。従って、例えば
、書き込み動作W0は、デコーダ21によりアドレス指
定される行内にすべて0のワードを書き込むことにより
実行される。 【0049】同様に、例えば、整合/読みだし動作M1
は、すべて1のワードをセル14の各全行内に記憶され
たワードと整合することにより実行され、一方で同時に
、セル14のアドレス指定された行内に記憶されたワー
ドが、それがすべて1であるかどうかを設定するために
読み出され、また検査される。 【0050】整合/読みだし動作M1/0は、すべて1
のワードをアレイ12内に記憶されたワードに整合し、
一方でセル14のアドレス指定された行内に記憶された
ワードがすべて1であるかを決定するために、このワー
ドを読みだし、解析することにより実行される。 【0051】矢(↑)と矢(↓)とは、矢に続く系列の
動作が、アレイ12内のセル14の各行に対して、最上
行または最下行それぞれから始まり、連続して実行され
ることを示す。系列(3)と系列(6)とに先行する矢
(→)は、これらの系列の各々がセル14の単一の行に
対してのみ実行されることを示す。 【0052】第1の動作系列の間に、書き込み動作(W
0)が実行され、すべて1のワードが、アレイ12内の
セル14の各連続する行内に、図1での最上行から始ま
り、書き込まれる。 【0053】書き込み動作(W0)を実行するために、
カウンタ37は、デコーダ21にセル14の最上行のア
ドレスを示すカウントを与えるが、一方同時に、テスト
パターンジェネレータ38は、すべて0のワードを「デ
ータ−イン」レジスタ16に与える。「データ−イン」
レジスタ16内のワードは、セル14のアドレス指定さ
れた行内に書き込まれる。 【0054】書き込み動作後、カウンタ37のカウント
は単位上増加し、それによりデコーダ21は、セル14
の次の連続する行をアドレス指定するが、これに対して
書き込み動作Wは、すべて0のワードをアドレス指定さ
れた行内に書き込むように再び実行される。シーケンス
(1)の書き込み動作W0は、セル14の連続する行各
々に対してそこにすべて0のワードを書き込むために実
行される。 【0055】第2のシーケンスの間に、整合/読みだし
動作M1/0と3個の異なる書き込み動作(W1、W0
、W1)が、セル14の各行に対して、最上行から始ま
り連続して実行される。整合/読みだし動作M1/0の
間に、すべて1のワードが、セル14の各行内のワード
に対して同時に整合される。この整合は、テストパター
ンジェネレータ38がすべて1のワードを「整合」レジ
スタ25に出力し、代わりにこのレジスタ25が、ちょ
うど受信した整合ワードの各ビットを、線241、24
2...24nの対応する線に対して出力することによ
り達成される。 【0056】セル14の各行内に記憶されたワードのビ
ットが実際にすべて0であるかどうかに従って、「1」
あるいは「0」が、線281、282、283...2
8mの特定の線に生じる。線281、282、283.
..28mでの信号に応答して、エンコーダ30は、線
311、312、313・・・に信号を出力するが、こ
の信号はひとまとめにしてその行の記憶されたワードが
整合ワードと整合する行の見出しを示す。 【0057】整合動作を実行するとき、読みだし動作も
また実行され、デコーダ21によりアドレス指定された
セル14の行内に記憶されたワードが、ワードが0であ
るかを決定するために読みだされ、検査される。実際の
読みだし動作は、セル14のアドレス指定された行内の
ワードをロードし、そのワードをバスに0に出力するこ
とにより実行される。 【0058】ANDゲート44とORゲート46とは、
バス20に生じるワードのビットをそれぞれ論理積と論
理和とを得る役割を果たし、論理積と論理和とからビッ
トペアを与えるが、このビットペアは、それだけでちょ
うど読み出されたワードがすべて1かあるいはすべて0
かどうかを解析するための十分な情報を与える。このよ
うにして、ANDゲート44とORゲート46とは、「
圧縮する」すなわち、ちょうど読み出されたワードの多
数のビットを減少させる役割を都合よく果たす。 【0059】シーケンス(2)での整合/読みだし動作
後に、書き込み動作W1が実行され、すべて1のワード
が、デコーダ21によりこの時アドレス指定されるセル
14の行内に書き込まれる。この動作は、テストパター
ンジェネレータ38がすべて1のワードをデータ−イン
レジスタ16にロードし、代わりにレジスタ16がその
ワードをセル14のこの時アドレス指定された行に転送
することにより実行される。 【0060】書き込み動作W1に続き、第2の書き込み
動作W0が実行され、この間に、すべて0のワードが、
この時アドレス指定されている行内に、前の書き込み動
作と同じ方法で書き込まれる。 【0061】最後に、シーケンス(2)の中で、書き込
み動作(W1)が実行され、この間に、すべて1のワー
ドがこの時アドレス指定されている行内に書き込まれる
。シーケンス(2)の動作M1/0、W1、W0、W1
は、アレイ12でのセル14の各行に対して連続して実
行される。 【0062】シーケンス(2)の中で整合/読みだし動
作(M1/0)が実行される各回に、ワイルドカードジ
ェネレータ42は、ワイルドカードレジスタ34にすべ
て1のデータ列を与える。この動作の目的は、ワイルド
カード動作に連関した故障を(もしあるとすれば)明ら
かにすることである。 【0063】「1」が各線241、242、243..
.24nに存在する時、整合レジスタ25での整合ワー
ドの全てのビットは、ANDゲート32とORゲート3
3それぞれの出力が、「すべて整合」状態を示す「1」
に両方ともあるように、マスクされる。 【0064】シーケンス(2)の中でのすべて整合状態
を検出するために、ANDゲート32とORゲート33
それぞれの不良は、ワイルドカードレジスタ34あるい
はXORゲート22いずれかでの故障を示す。全ての他
の動作の間に、ワイルドカードレジスタ34は、すべて
1の列を生成する。 【0065】シーケンス(2)に続き、第3のシーケン
ス(3)が実行される。シーケンス(3)での第1の動
作は、「1のワードの中にウォーキング0」により得ら
れる異なるデータワード列の一つが、セル14の行に記
憶されたワードと整合される間の整合/読みだし動作【
数3】である。この整合を達成するために、テストパタ
ーンジェネレータ38は、データワード11111..
.0、111...01、111...011、011
...111のセットの連続するデータワードを、連続
して生成する。 【0066】生成されたデータワード各々は、連続して
生成されるワード内の0が前のワードより左に1ビット
シフトされて他が1の中にただ一つの0があるワードか
らなる。従って、各生成されたデータワード内に出現す
る「0」は、他がすべて1からなるワードの中を「ウォ
ーク」しながら出現する。この整合動作の間に、1のワ
ードの中を「0」がウォーキングすることにより得られ
たワードの内ただひとつのみが、アレイの各行内に記憶
されたワードと整合するために整合レジスタ25内に書
き込まれる。 【0067】シーケンス(3)の中でのこの整合の各連
続実行に対して、1のワードの中を「0」がウォーキン
グすることにより得られた系列内の次の連続するワード
が、アレイ12内に記憶されたワードに対して整合する
ために整合レジスタ25内に書き込まれる。 【0068】「ウォーキング0」の系列内での各ワード
に対して、ANDゲート32とORゲート33それぞれ
からの「0」出力信号により表示されるように整合しな
い状態が起こる。 【0069】「ウォーキング0のワード」の整合が起こ
ると同時に、読みだし動作もまた、行内に記憶されたワ
ードを、このワードが整合レジスタ25に保持された同
じワードに一致するかどうかを決定するために読みだし
、検査する間に、セル14のアドレス指定された行に対
して実行される。シーケンス(3)の中で実行される整
合/読みだし動作の間に読み出された、セル14の特定
の行の見出し(アドレス)は、セルの行が読み出される
限り重要ではない。 【0070】前述のように、各読みだし動作が完成する
と、ANDゲート44とORゲート46各々は、ちょう
ど読みだされたワード内のビットに対して論理積と論理
和を得ることにより得られた結果を表す信号を出力する
。シーケンス(6)のこの第1の整合/読みだし動作【
数3】は、1のワードの中を0がウォーキングすること
により得られた各連続するワードに対して繰り返される
。 【0071】第1の整合/読みだし動作M0に続き、書
き込み動作W0と整合/読みだし動作M0(表2の括弧
内ではWとMにより表現される)の組合せが、1のワー
ドの中を0がウォーキングすることにより得られた各ワ
ードに対して実行される。従って、このように得られた
各これらのワードに対して、書き込み動作が実行され、
ワードがセル14のアドレス指定された行内に書き込ま
れる。以後、同じワードが全ての行内のワードに整合さ
れる。 【0072】整合が起こると、ちょうどアドレス指定さ
れた行が読みだされ、ちょうど整合されたワードへの一
致に関して内容が検査される。1のワードの中を0がウ
ォーキングすることにより得られたシーケンス内の各連
続するワードは、いったん書き込まれ、続いて整合され
る(そしてアドレス指定された行が読み出される)と、
書き込み動作と整合/読みだし動作とがシーケンス内の
次のワードに対して再び実行される。 【0073】動作M0と 【数5】 とが完成すると、書き込み動作W0が実行され、すべて
0のワードがアドレス指定された行内に書き込まれ、行
内のワードがすべて0であることを保証する。 【0074】シーケンス(3)に続き、書き込み動作と
整合/読みだし動作の第4のシーケンス(4)が実行さ
れる。表2に示されるように、シーケンス(4)で実行
される第1の動作は、すべて1のワードがアレイ12内
に記憶されたワードに同時に整合される間の整合/読み
だし動作(M1)である。同時に、ワードは、(図1の
最上行から始まる)セル14の連続する行から読みださ
れ、ワードがすべて1からなるかどうかを決定するため
に以後解析される。 【0075】整合/読みだし動作後、書き込み動作(W
0)が実行され、この時、すべて1のワードが、ちょう
ど読み出されたセル14の行内に書き込まれる。次に、
整合/読みだし動作(M0)が実行され、すべて0のワ
ードがアレイ12内に記憶されたワードに整合される。 同時に、読みだし動作が実行され、書き込み動作が実行
された行内のワードが、このワードがすべて0かどうか
を決定するために読みだされ、検査される。 【0076】シーケンス(4)内の最後の動作は、すべ
て1のワードが、その前の整合/読みだし動作の間にち
ょうど読みだされた行内に書き込まれる間の書き込み動
作(W1)である。シーケンス(4)の整合/読みだし
動作と書き込み動作(M1、W0、M0、W1)とは、
アレイ12内のセル14の連続するより下の各行に対し
て、最上行から始まり、動作がセルの全ての行に対して
実行されるまで、行われる。 【0077】シーケンス(4)に続き、書き込み動作と
整合/読みだし動作との第5のシーケンス(5)が実行
される。シーケンス(5)の第1の動作は、すべて1の
ワードをアレイ12内に記憶されたワードに整合するこ
とにより実行される整合/読みだし動作(M1)である
。 【0078】整合が起こるのと同時に、読みだし動作も
また、セルの連続する行内のワードがすべて1からなる
かどうかを決定するためにこのワードが読み出され、解
析される間に実行される。シーケンス(5)に連関する
動作に先行する表2内の下向きの矢に示されるように、
この系列の中で実行される読みだし動作は、セル14の
最後の(最下の)行に対して最初に実行される。 【0079】従って、シーケンス(5)の最初に、カウ
ンタ36は、デコーダ21にこの行のアドレスをロード
し、この系列の各引き続く実行に対して、カウンタはデ
コーダに減少するカウントを与える。 【0081】シーケンス(5)の中で整合/読みだし動
作(M1)が最初に実行された後、シーケンス(5)で
実行される次の動作は、すべて0のワードがちょうど読
み出された行内に書き込まれる間の書き込み動作(W0
)である。次に、書き込み動作(W1)が、すべて0の
ワードが書き込まれた行と同じ行にすべて1の行が書き
込まれる間に実行される。この書き込み動作に続き、す
べて0のワードが行内に書き込まれる間に書き込み動作
(W0)が実行される。 【0082】整合/読みだし動作と書き込み動作とによ
り系列(5)がセル14の最下行に対して実行された後
、カウンタ36などの減少するカウントに応答して、動
作のすべての系列が各々全ての行に対して実行されるま
で、セルの次により上の行に対して系列が実行される。 【0083】書き込み動作と整合/読みだし動作とのシ
ーケンス(5)の後に、書き込み動作と整合/読みだし
動作との第6のシーケンス(6)が続く。シーケンス(
6)は、全て0のワードの中を1をウォーキングするこ
とにより得られた系列内の各連続するワードをアレイ内
に記憶されたワードに整合することによって実行される
整合/読みだし動作M1を行うことにより開始される。 【0084】この系列の各ワードが整合されるとき、セ
ル14の同じアドレス指定された行が読みだされ、また
整合されたワードとの一致に関して内容が検査される。 【0085】整合/読みだし動作M1がいったん実行さ
れると、(表2の括弧内に示されるように)書き込み動
作と整合/読みだし動作の組合せが、ウォーキング1の
系列で得られた各ワードに対して実行される。従って、
0のワードの中で1をウォーキングすることにより得ら
れた各ワードは、セル14のアドレス指定された行内に
最初に書き込まれる。 【0086】以後、同じワードがアレイ12内の行と整
合され、一方同時に、(それ以前の書き込み動作の主体
であった)アドレス指定された行は、整合されたワード
に対して検査するために読みだされる。書き込み動作と
整合/読みだし動作とは、0のワードの中で1をウォー
キングすることにより得られた各連続するワードに対し
て実行される。 【0087】シーケンス(6)の中で実行された動作は
、シーケンス(3)では、1のワードの中で0をウォー
キングするよりむしろ0のワードの中で1がウォーキン
グされるということを除けば、上述したシーケンス(6
)の動作と同じである。動作 【数4】 【数6】 が完成すると、書き込み動作(W1)が実行され、その
結果、セルのアドレス指定された行の内容は、すべて1
に戻される。 【0088】以下に説明するように、シーケンス(3)
、(6)との整合/読みだし動作【数3】 【数4】とは、それぞれCAM10の整合能力を検査す
るために実行される。 【0089】シーケンス(3)の書き込みと整合/読み
だし動作 【数5】とシーケンス(6)の書き込みと整合/読みだ
し動作 【数6】とは、アレイ12から読みだされたデータを圧
縮するANDゲート44とORゲート46とでそれぞれ
ある程度の故障に関して検査するために実行される。こ
れら特定動作を実行することは望ましいものの、一方で
もしANDゲート44とORゲート46とによる組込み
自己検査が望ましくないならば、これらは省略可能であ
る。 【0090】シーケンス(6)での書き込み動作W1が
実行された後、第7の整合/読みだしと書き込み動作の
シーケンス(7)が実行される。 【0091】シーケンス(7)で実行される第1の動作
は、すべて0のワードがセル14の各行に記憶されたワ
ードに対して整合される間の整合/読みだし動作(M0
)である。同時に、読みだし動作が、セルの連続する行
に対して最下行から始まり、実行され、この行の内容(
ワード)が、すべて0のワードとの一致に関して検査さ
れる。 【0092】整合/読みだし動作に続き、書き込み動作
(W1)が実行され、すべて0のワードが、ちょうど読
みだされたセルの行内に書き込まれる。以後、引続き整
合/読みだし動作(M1)が実行され、すべて1のワー
ドが、アレイ12内に記憶されている全てのワードに対
して整合される。同時に、読みだし動作が実行され、そ
の前に書き込み動作が実行されたセル14の行の内容が
、ここで読みだされ、すべて1のワードとの一致に関し
て検査される。 【0093】整合/読みだし動作に続き、書き込み動作
(W0)が実行され、すべて0のワードが、それ以前に
ちょうど読み出された行内に書き込まれる。シーケンス
(7)の中で実行される動作に連関して、下向きの矢に
より示されるように、セル14の次のより上の各行に対
して、最初に最下行から始まり、最後に最上行で終わる
まで連続して動作が実行される。 【0094】シーケンス(1)及至(7)は、以前に与
えたCAM10の故障モデルでの全ての故障を診断する
のに十分である。まず、「1」縮退故障がアレイ12内
に存在する可能性を最初に考察する。 【0095】いずれのセル14における「1」縮退故障
も、シーケンス(1)の書き込み動作(W0)とシーケ
ンス(2)の整合/読みだし動作(M1/0)との実行
の後、明白になるであろう。 【0096】シーケンス(1)の中の各連続する書き込
み動作(W0)に従って、各行内のセル14は0を含む
べきである。よって、シーケンス(2)の各連続する整
合/読みだし動作(M1/0)の間に、データ−アウト
レジスタ19から読みだされた各ワードはすべて0であ
るべきであり、ANDゲート44とORゲート46とは
、両方とも0を出力するべきである。もしそうでなけれ
ば、「1」縮退故障が存在する。 【0097】「0」縮退故障は、シーケンス(4)の書
き込み動作(W1)とシーケンス(5)の整合/読みだ
し動作(M1)との連続した実行後に、明白になるであ
ろう。 【0098】シーケンス(4)の書き込み動作(W1)
が連続的に実行された後、各行内のセル14は、シーケ
ンス(5)の整合/読みだし(M1)動作の連続した実
行の間に読みだされたとき、「1」を含むべきである。 従って、ANDゲート44とORゲート46とは、セル
14の各行が読み出されたとき、各々「1」を出力すべ
きである。もしそうでなければ、「0」縮退故障が存在
する。 【0099】各行の1個以上のセル14に連関する、「
0」から「1」へ遷移できない故障は、シーケンス(4
)の整合/読みだし動作(M0)、書き込み動作(W1
)、整合/読みだし動作(M1)の連続した実行におい
て明白になる。 【0100】各連続する行の内容を読みだし、すべて1
のワードを書き込み、そして行の内容を読み出すことに
よって、0になっていて、また書き込み動作W1の後で
は「1」に遷移することができないようないずれのセル
14も、ANDゲート44とORゲート46により生成
される信号間の違いにより明らかにされる。 【0101】同様に、「1→0」遷移故障は、シーケン
ス(7)の整合/読みだし動作(M1)、書き込み動作
(W0)、整合/読みだし動作(M0)の連続した実行
に続く、ANDゲート44とORゲート46との信号間
の違いにより明白になる。 【0102】所定の行での1個以上のセルの内容が隣接
する行内のセルでの変化のために変化するときに起こる
結合故障は、シーケンス(4)の整合/読みだし動作M
0、書き込み動作W1の実行と引き続くシーケンス(5
)の整合/読みだし動作M1の実行との間に、明白にな
る。 【0103】シーケンス(4)の整合/読みだし動作M
0と書き込み動作W1の連続した実行に対して、セル1
4の各行は(0のワードが存在することを検査するため
に)最初に読み出され、そしてすべて1のワードが行内
に書き込まれる。それ以前の行に対して実行された書き
込み動作W1の結果として、もし1個以上の0がセル1
4の後に続くいずれかの行に生じるならば、このような
故障は、シーケンス(5)の中の整合/読みだし動作M
1の実行において明白になる。 【0104】シーケンス(5)の整合/読みだし動作M
1と書き込み動作W0とは、連続して実行されるとき、
j番目の行に0のワードを書き込んだ結果としてすべて
0であるべきセル14のi番目の行(ここで、i<j)
での「0」の発生という結合故障を明らかにする役割を
果たす。 【0105】同様に、シーケンス(2)の整合/読みだ
し動作M1/0と書き込み動作W1とは、連続して実行
されるとき、j番目の行に1のワードを書き込んだ結果
としてすべて0であるべきセル14のi番目の行での「
1」の発生という結合故障を検出する。 【0106】デコーダ21がアレイ12内のセル14の
正しい行を適切にアドレス指定できないとき、アドレス
指定故障が起きる。このタイプの故障は、シーケンス(
5)の整合/読みだし動作M1と最後の書き込み動作W
0、またシーケンス(2)の整合/読みだし動作M1/
0と最後の書き込み動作W1の連続した実行において明
白になる。 【0107】シーケンス(2)の書き込み動作W0が実
行される各回に、すべて0のワードが、それ以前にすべ
て1で占められたセル14の連続した行に書き込まれる
。 【0108】もしデコーダ21が故障している場合、シ
ーケンス(2)の整合/読みだし動作M1/0の連続し
た実行において、まだ0により書き込まれていない行を
アドレス指定するならば、読みだされたワードは1であ
り、期待されるようにすべて0ではないであろう。それ
故に、ANDゲート44とORゲート46の各々は、ア
ドレス指定故障を示す「1」を出力する。 【0109】同様に、シーケンス(5)の書き込み動作
W1が実行される各回に、すべて1のワードが、それ以
前にすべて0で占められていたセル14の連続した行に
書き込まれる。従って、引き続くシーケンス(5)の整
合/読みだし動作M1の実行において、すべて1のワー
ドが読み出されると、アドレス指定故障が検出される。 【0110】シーケンス(2)、(5)は、セル14の
行に対して、それぞれ最上行と最下行とから始まり連続
して実行されるので、存在するいずれのアドレス指定故
障も、書き込み動作と整合/読みだし動作のこの二つの
シーケンスの実行中に検出される。 【0111】以前に示唆されたように、結合及び遷移に
よる故障は、相互に互いを含んでいる。この故障は共に
起こる可能性があり、連結結合及び遷移による故障と呼
ばれている。これらのタイプの故障は、シーケンス(2
)、(5)の実行において明白になる。 【0112】CAM10の整合能力における故障の検出
はまた、書き込み動作と整合/読みだし動作のシーケン
ス(1)及至(7)の実行により明らかにされる。 【0113】すべて0のワードがアレイ12でのすべて
の0に対して整合される時、整合を得ることができない
場合に起こる故障を考察する。すべて0のワードが整合
レジスタ(25)に入力されるとき、ANDゲート32
とORゲート33の各々は、整合が起こるときに0を出
力する。従って、シーケンス(7)の整合/読みだし動
作M0の間に、整合レジスタ25でのすべて0のワード
とアレイ12での全ての0との整合は、ANDゲート3
2とORゲート33それぞれにより「0」出力という形
で検出され得る。 【0114】逆に、整合レジスタ25でのすべて1のワ
ードとアレイ12の全ての1との間の整合は、シーケン
ス(4)の整合動作M1の実行により、「整合」状態下
では「1」がANDゲート32とORゲート33との両
方により出力されるので、検出されることが可能である
。 【0115】整合しない状態の検出は、アレイ12の全
ての1に対するすべて0のワードを整合することにより
、およびアレイの全ての0に対するすべて1のワードを
整合することにより達成されることが可能である。しか
し、この手法は、線241、242、243...24
nの望ましい特定の線に連関するXORゲート22を個
々に分離しない。 【0116】本実施例において、この分離は、「ウォー
キング−0」のワード 【数3】を系列(3)の中でアレイの内容と整合するこ
とにより、また「ウォーキング−1」のワードをシーケ
ンス(6)の中でアレイの内容と整合することにより行
われる。シーケンス(3)、(6)の中で、「ウォーキ
ング1」と「ウォーキング0」とを整合することにより
、線241、242、243...24nの別々の線に
連関するXORゲート22線毎に検査される、明白な利
点がある。 【0117】エンコーダ30が不完全であるとき、その
内容が整合ワードの内容と整合するセル14の行の正し
いアドレスを認識できないだろう。このタイプの故障の
検出は、シーケンス(7)の中の書き込み動作W1と整
合/読みだし動作M1とを実行することにより行われる
。 【0118】書き込み動作W1がシーケンス(7)の実
行において実行されるとき、すべて1のワードが、それ
以前にすべて0を含んだセルの行内に書き込まれる。ア
レイ12の残りもまたすべて0を含む。 【0119】シーケンス(7)の引き続く整合/読みだ
し動作M1の実行の間に、エンコーダ30は、適切に動
作している時、1のワードがちょうど書き込まれた行の
アドレスを、整合はこの行のみに対して存在しているの
で、戻すべきである。ちょうど書き込まれたセル14の
行のアドレスと同じアドレスを戻すことができないこと
は、コンパレータ40により感知され、コンパレータ4
0が順にこのタイプの故障の存在を示すであろう。 【0120】ワイルドカードレジスタ33でのいずれの
故障も、ワイルドカードジェネレータ42が、すべて1
のワードをレジスタにロードし、シーケンス(2)の整
合/読みだし動作M1/0中にマスクワードの全てのビ
ットをマスクすることにより、検査される。 【0121】マスクされた整合ワードの全てのビットに
より、ANDゲート32は、もしワイルドカードレジス
タ34が適切に動作しているならば、整合/読みだし動
作の実行において、すべて整合状態を示す。 【0122】同様に、シーケンス(4)あるいは(7)
の整合/読みだし動作M0の実行中にワイルドカードレ
ジスタ34がすべて0を与えられるとき、もしワイルド
カードレジスタが適切に動作しているならば、整合しな
い状態が起きる。 【0123】上述の書き込み動作と整合/読みだし動作
によるシーケンス(1)及至(7)を用いてCAM10
を検査する利点は、データ圧縮を供与するANDゲート
44とORゲート46とがまた検査可能なことである。 【0124】ANDゲート44に連関する「1」縮退故
障は、系列(3)の動作 【数5】の書き込み部分が実行された後の整合/読みだ
し部分の実行中に明白になるであろう。0縮退故障は、
シーケンス(4)の動作M1の整合/読みだし部分の実
行において明白になる。 【0125】ORゲート46に連関する「1」縮退故障
は、シーケンス(6)の動作 【数6】の書き込み部分が実行された後、整合/読みだ
し部分の実行において明白になる。「0」縮退故障は、
シーケンス(7)の整合/読みだし動作M0の実行にお
いて明白になる。 【0126】整合線281、282、283...28
mにおける信号の論理積を得るまた論理和を得るAND
ゲート32とORゲート33とはまた、シーケンス(1
)及至(7)でのある程度の書き込み動作と整合/読み
だし動作の実行によっても都合よく検査される。 【0127】ANDゲート32内の「1」縮退は、シー
ケンス(4)中の動作W0、M0、W1の実行において
明白になるであろう、それに対して「0」縮退故障は、
同じ系列中の動作M1の実行において検出される。 【0128】ORゲート33内の「0」縮退故障は、シ
ーケンス(7)の動作W1、M1、W0の実行において
明白になるが、それに対して「1」縮退は、シーケンス
(6)の 【数4】動作の実行において明らかにされる。 【0129】以上は、書き込み動作と整合/読みだし動
作による所定のシーケンスを実行することにより内容参
照可能メモリ10を完全に検査するための技術を記述し
ている。書き込み動作と整合/読みだし動作中に、すべ
て0、すべて1、0のワードの中にウォーキング1、1
のワードの中にウォーキング0、からなるデータワード
のセットの内の事前選択したデータワードは、CAM1
0の各素子を検査するために書き込み及び整合/読みだ
しがそれぞれなされる。 【0130】上述の実施例は、本発明の原理の単なる例
示であることが理解されるべきである。本発明の原理を
実施するであろう当業者により本発明になされ得る様々
な変形及び修正は、本発明の精神と範躊内にある。 【0131】以上の説明は、本発明の一実施例に関する
もので、この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。尚、特許請求の範囲に記載した参
照番号は発明の容易なる理解のためで、その技術的範囲
を制限するよう解釈されるべきではない。 【発明の効果】以上述べたごとく、本発明によれば、R
AMのような他のタイプのメモリと比較してより複雑な
内容参照可能メモリ(CAM)を構成する全ての素子に
ついて検査可能なCAMの組込み自己検査方法及び装置
を提供することができる。
組込み自己検査方法及び装置に関する。 【0002】 【従来の技術】半導体産業では、半導体自体を検査する
能力(組込み自己検査)を持つように半導体の構造を設
計する傾向がある。有する複雑で、非常に大規模な集積
回路に組込み自己検査能力を与えれば、精巧な検査装置
を必要とすることなしに非常に高い故障検出率を得るこ
とが可能である。 【0003】現在、異なるタイプの構造(例えば、RA
M、ROM、FIFOなど)に対して組込み自己検査を
達成可能な単一の一般性のある技術は存在しない。従っ
て、別々の組込み自己検査技術がこのような異なる機能
的構造に対して必要となる。 【0004】組込み自己検査技術が大部分のタイプの機
能的半導体構造に対して存在することが知られている一
方で、内容参照可能メモリ(CAM)というあるタイプ
の機能的構造があり、この構造に対しては、全く組込み
自己検査技術が存在しないことが知られている。 【0005】CAMとランダム・アクセス・メモリ(R
AM)とは、ともに記憶セルのマトリクス・アレイを含
み、ランダムに、これらにデータは書き込み可能であり
、またこれらからデータが読みだし可能であるという点
で同じである。加えて、CAMはまた複数の排他的論理
和(XOR)ゲートをも有し、各ゲートはアレイの各行
における別々のメモリ・セルに連関されている。 【0006】各行の記憶セルに連関されたXORゲート
は、各他のゲートとの論理積を取った出力を有し、アレ
イの各行に記憶されたワードに「整合ワード」と呼ばれ
るワードを整合させるという利点をCAMに供与する。 さらに、ある種のCAMは、整合・ワードの選択された
数ビットをマスク可能にする「ワイルド・カード」とし
て知られている特徴をも有する。 【0007】 【発明が解決しようとする課題】現在のCAMの整合と
ワイルド・カードという特徴により、CAMは、RAM
のような他のタイプのメモリと比較してより複雑になっ
ている。このために、RAMに対して使用されている現
在の組込み自己検査技術は、CAMに対しては適切では
ない。さらに、整合とワイルド・カードとを有するCA
Mの全特徴を検査するために有効であることを証明した
単一の組込み自己検査技術は未知である。 【0008】本発明は、CAMの全ての構成要素を検査
できる組込み自己検査方法及び装置を提供することを目
的とする。 【0009】 【課題を解決するための手段】本発明は、メモリ部分と
これに連関された排他的論理和(XOR)ゲートとを有
する複合セルのアレイと一連の連関されたブロックとか
らなる内容参照可能メモリを検査するための方法である
。本発明では、CAM上での所定の一連の書き込み、整
合、読みだし動作を実行することによりCAMの全ての
素子が集合的に検査される。 【0010】各書き込み動作中には、すべて0のワード
、すべて1のワード、1の中にウォーキング0があるワ
ード、あるいは0の中にウォーキング1があるワードか
らなるグループから所定のデータワードが、アレイ内の
連続する一つのメモリ・セルの行に書き込まれる。 【0011】各整合動作は、CAMアレイ内のセルの全
行に書き込まれたワードと整合するために、グループ内
の所定のデータワードの一つを整合レジスタに入れるこ
とにより実行される。各読みだし動作は、セルの連続す
る行の内容を読みだし、この読みだされたワードがデー
タワードのグループの所定の一つに一致するかどうかを
決定するために内容を検査することにより実行される。 【0012】好ましい実施例においては、整合ワードが
全行の内容に整合されるとき、セルの連続する行が読み
だされるように整合と読みだし動作は同時に実行される
。書き出しと整合の動作の結果に基づいて、CAMの各
素子の動作性能が検査され得る。 【0013】好ましい実施例においては、下表に示す7
個の書き込み、整合、読みだし動作シーケンスのセット
が実行される。 【表1】 ここで、Wは書き込み動作を示し、Mは整合/読みだし
動作(整合と読みだしの両方が行われる間)をそれぞれ
示す。また、上付き文字0、1、 【数1】 、 【数2】 は、特定の動作が、すべて0のワード、すべて1のワー
ド、1の中にウォーキング0があるワード、すべて0の
中にウォーキング1があるワードのそれぞれを書き込む
あるいは整合させる/読みだす、といういずれかにより
実行されることを示す。 【0014】整合/読みだし動作に連関した二つの上付
き文字がある場合には、第1の上付き文字は整合ワード
を示すが、第2の上付き文字は読みだされることが期待
されるワードを示す。単一の上付き文字の場合には、整
合されるワードは、セルの行から読みだされることが期
待されるワードと同じである。 【0015】上向きと下向きの矢は、矢に従う特定の動
作系列が、矢がそれぞれ上向きであるかあるいは下向き
であるかどうかに依存して、最初の行あるいは最後の行
で始まる、アレイの連続する各行に対して実行される。 【0016】第1のシーケンス(1)は、すべて0のワ
ードがアレイ内のメモリ・セルの各連続する行内に、第
1の行から始まり書き込まれる間の単一の書き込み動作
(W0)からなる。 【0017】第2のシーケンス(2)は、整合/読みだ
し動作(M1/0)、書き込み動作(W1)、書き込み
動作(W0)、書き込み動作(W1)からなり、これら
はセルの各連続する行に対して連続して実行される。 【0018】整合/読みだし動作M1/0は、アレイ内
に記憶されたワードにすべて1のワードを整合させるこ
とにより実行されるが、一方同時にワードがすべて0の
ワードであるかを決定するために連続する行内に記憶さ
れたワードを読み出す。シーケンス(2)内の各書き込
み動作は、特定書き込み動作に連関した上付き文字表示
に従って、すべて1のワードあるいはすべて0のワード
のいずれかを、整合/読みだし動作中に読みだされたセ
ルの行内に書き込むことにより実行される。 【0019】シーケンス(4)、(5)、(7)もまた
、メモリ・セルの各連続する行に対して連続して実行さ
れる書き込み動作と整合/読みだし動作のセットからな
る。 【0020】シーケンス(2)、(4)、(5)、(7
)と異なり、シーケンス(3)とシーケンス(6)は、
1の単一ワードあるいは0の単一ワードをではなく、1
のワード内で0をウォーキングすることにより得られた
ワード、また0のワード内で1をウォーキングすること
により得られたワード、それぞれを整合させる/読みだ
しすることにより実行される。シーケンス(3)とシー
ケンス(6)において、整合/読みだし動作【数3】 【数4】が実行されることにより、CAMの整合機能は
都合良く検査されるであろう。 【0021】上述の書き込み動作と整合/読みだし動作
のシーケンス(1)から(7)までを実行することによ
り、CAMの全ての素子は、完全に検査される。従って
、このCAM検査の瞬間的技術は、100%の故障検出
率が可能であることを保証する。 【0022】 【実施例】以下、本発明の一定施例を図面を参照して説
明する。図1は、当業者には周知の内容参照可能メモリ
(CAM)10の構成を模式的に示す。図1において、
CAM10は、メモリ・セル14のn個の列とm個の行
のアレイ12からなる。ここでmとnは整数である。こ
こでは、メモリ・セル14の1行のみが図示されている
。アレイ12内の各行におけるメモリ・セル14の各々
は、まずデータ−インレジスタ16に入力され、レジス
タ出力線のセットの別個の出力線171、172、17
3...17nを経由して行内のセルに転送された、ワ
ードのn個のビットのそれぞれを記憶する。 【0023】メモリ・セル14の各行内に記憶されたワ
ードは、データ−アウトレジスタ19に結合した別々の
線181、182、183...18nを経由してアレ
イ12から読み込み可能である。データ−アウトレジス
タ19に記憶されたデータは、バス20を経由して外部
デバイス(図示せず)への出力される。データワードが
書き込まれるべき、あるいは記憶されたデータワードが
読み出されるべきメモリ・セル14の行の見出しは、C
AM10に連関したデコーダ21への行アドレス入力に
おいて設定される。 【0024】デコーダ21は、行の見出しを設定するた
めのアドレスを解読し、その後アドレス指定された行内
のセルをデータ読みだしあるいはデータ書き込み(デー
タはn個のビットワードの形である)操作可能にする。 【0025】他のタイプのメモリ・デバイスと異なり、
CAM10は連想アドレス指定能力、すなわち、整合す
る行のアドレスを認識するために、n個のビット列をア
レイ12のセル14の各行内に記憶されたデータワード
に整合する能力を有する。整合されるべきn個のビット
列は、以後「整合ワード」と呼ばれる。 【0026】連想アドレス指定を達成するために、各排
他的論理和(XOR)ゲート22は、アレイ12内の各
メモリ・セル14に結合されている。アレイ12の各列
内でメモリ・セル14に結合された各XORゲート22
は、各メモリ・セル14の内容と各整合線241、24
2、243...24nからのビットとの排他的論理和
をとる。各整合線241、242、243...24n
にはCAM10に設けられた整合レジスタ25内に保持
された整合ワード中の個々のビットが送り込まれる。 【0027】メモリ・セル14の特定行でのメモリ・セ
ル14に連結した各XORゲート22により実行される
排他的論理和動作は、ANDゲート261、262、.
..26n−1により、同じ行内のそのすぐ左にあるX
ORゲート(すなわち、先行する列に結合されたXOR
ゲート)の出力信号との論理和を取ることにより行われ
る。 【0028】メモリ・セル14の各行内にあるANDゲ
ート26n−1からの出力信号(行内のゲート261−
26n−1の出力信号の論理積を表す)は、エンコーダ
30の各入力線281、282...28mに入力され
る。入力線281−28mでの信号に応答して、エンコ
ーダ30は、内容が整合レジスタ25内の整合ワードに
一致するような行の見出しを表す信号を出力線311、
312、313...31mに与える。 【0029】ANDゲート32と0Rゲート33は各線
281−28mに結合され、それぞれこれらの線での信
号の論理積と論理和を表す信号を生成する役割を果たす
。 【0030】また、CAM10には、各整合線241、
242、243...24nにそれぞれ結合された出力
線351、352、353...35nを有するワイル
ドカードレジスタ34が設けられている。ワイルドカー
ドレジスタ34内にロードされたワードのビットに従っ
て、線351−35nに1個以上の信号が送られる。 【0031】ワイルドカードレジスタ34の各出力線3
51、352、353...35n上の信号が論理「1
」のレベルである時、この信号は、整合レジスタ25か
らの整合線241、242、243...24nの対応
する線で受け取った信号をそれぞれマスクする。整合線
241、242、243...24nの選択された線で
論理「1」のレベルに設定するようにワイルドカードレ
ジスタ34の内容を選択することにより、「整合」レジ
スタ25内の整合ワードの対応するビットをマスクする
ことが可能になる。 【0032】上述のように構成されたCAM10は、多
数の故障を生じやすい。メモリ・セル14のアレイ12
は、それ自身(a)「縮退」故障、(b)遷移故障、(
c)結合故障、(d)連結結合及び遷移による故障、を
生じやすい。 【0033】縮退故障が起こるのは、メモリ・セル14
の内容がセル内に以前に書き込まれたビットの状態に関
係なく「1」あるいは「0」に固定されたままである時
である。遷移故障が起こるのは、「1」または「0」を
それぞれ書き込むことにより、「0」から「1」へある
いは「1」から「0」へセル14の内容の状態に変化を
与えることが不可能である時であると言われている。 【0034】結合故障が起こるのは、セル14内のビッ
トの状態が意図せず変化する時である、なぜなら隣合っ
た行でのセルのビットが変化するからである。その名前
が示すように、連結結合と遷移による故障は、遷移故障
と結合故障の組合せである。 【0035】メモリ・セルのアレイ12の他に、CAM
10の他の部分にも故障が起こる。例えば、デコーダ2
1は、メモリ・セル14のアドレス指定された行にアク
セスできない可能性があり、あるいはさらにアドレス指
定された行の代わりに他の行にアクセスするかもしれな
い。エンコーダ30は、整合レジスタ25内のワードに
整合するワードの内容を含むセル14の各行のアドレス
を出力できない可能性がある。 【0036】整合レジスタ25は、もし整合線241、
242、243...24nの1個以上の線での信号の
状態が「0」あるいは「1」に固定されたままであるな
らば、適切な整合ワードを与えられない可能性がある。 ワイルドカードレジスタ32は、もしその出力線341
、342、343...34nの1個以上の線に現れる
信号が「1」あるいは「0」に固定されているならば、
正しく動作できないかもしれない。 【0037】ORゲート22自身の故障があり得る。例
えば、1個以上のORゲート22が、このゲートに与え
られる入力信号の異なる4個の可能な組合せの一つに応
答して適切な信号を出力することができない可能性があ
る。また、データ−インレジスタ16とデータ−アウト
レジスタ19の各々に、縮退型の故障が起きるかもしれ
ない。 【0038】CAM10を完全に検査するためには、上
述の故障の全てが検査されなければならない。本実施例
において、各タイプの故障が存在するかどうかを検出を
する目的のCAM10の完全な検査のための技術が開発
された。以下に詳細に説明するように、本実施例におけ
るCAM10の検査は、書き込み、整合、読みだしシー
ケンスの所定のセットを実行することにより行われる。 【0039】各書き込み動作中に、(a)すべて1のワ
ード、(b)すべて0のワード、(c)0の中にウォー
キング1があるワード、(d)1の中にウォーキング0
があるワード、からなるグループから事前選択されたデ
ータワードが、CAM10のアレイ12内のセル14の
各行に書き込まれる。 【0040】各整合動作は、上述の4個のデータワード
のグループから選ばれ、事前選択されたデータワードを
、同時に各行内に記憶されたワードに整合することによ
り実行される。整合動作と同時に、読みだし動作が実行
され、セル14のアドレス指定された行内の内容(記憶
されたワード)は読みだされ、記憶されたワードがデー
タワードのグループの所定のワードに対応するかどうか
検査される。 【0041】所定の書き込み、整合、読みだし動作系列
は、CAM10の全素子(すなわち、セルアレイ12、
デコーダ21、エンコーダ30、レジスタ16、19、
25、34)を検査するように選択される。 【0042】適切な書き込み、整合、読みだし動作系列
の実行とそれらの動作の結果の評価とを容易にするため
に、CAM10には、既に記述したANDゲート32と
0Rゲート33、カウンタ37、テストパターンジェネ
レータ38、コンパレータ40、ワイルドカードジェネ
レータ42、ANDゲート44、0Rゲート46などか
らなるテストシステム36が取り付けられる。 【0043】テストシステム36の全素子は一般に、単
一のパッケージ(図示せず)内にCAM10の素子と共
に集積される。アップダウンカウンタで構成されるカウ
ンタ37は、デコーダ21に与えられるカウントを生成
する役割を果たす。このカウントに応じて、デコーダ2
1はアレイ12内のセル14の異なる行の一つをアドレ
ス指定する。 【0044】テストパターンジェネレータ38は、デー
タ−インレジスタ16と整合レジスタ25の両方に、異
なる上述のデータワードタイプ(すなわち、(a)すべ
て0のワード、(b)すべて1のワード、(c)1の中
にウォーキング0があるワード、あるいは(d)0の中
にウォーキング1があるワード)のうち一つを与える役
割を果たすレジスタである。 【0045】コンパレータ40は、線311、312、
313...31mに存在する信号とカウンタ37のカ
ウントとを比較し、信号がカウントと等しいかどうかを
示すビットを出力する役割を果たす。ワイルドカードジ
ェネレータ42は、すべて1の数列が正しく整合ワード
をマスク可能であるかを検査するためにすべて1の数列
をCAM10のワイルドカードレジスタ34に与える役
割を果たすレジスタからなる。 【0046】ANDゲート44とORゲート46は各々
データ−アウトレジスタ19の出力に結合され、ワード
をビットペア(2ビット)に圧縮するためにバス20に
出力されたワードのビットのそれぞれ論理積と論理和と
を得る役割を果たす。 【0047】CAMが、表2に表形式で記載された書き
込み、整合、読みだし動作系列に従い実行することによ
り、テストシステム36はCAM10を検査する。 【表2】 記号WとMは、それぞれ書き込み動作と整合/読みだし
動作とを示す(整合動作と読みだし動作とは同時に実行
される)。 【0048】記号WとMとに続く上付き文字0、1、【
数1】 【数2】は、すべて1のワード、すべて0のワード、1
のワード内のウォーキング0、0のワード内のウォーキ
ング1、を書き込むあるいは整合するまた読み出すこと
により、動作が実行されることを示す。従って、例えば
、書き込み動作W0は、デコーダ21によりアドレス指
定される行内にすべて0のワードを書き込むことにより
実行される。 【0049】同様に、例えば、整合/読みだし動作M1
は、すべて1のワードをセル14の各全行内に記憶され
たワードと整合することにより実行され、一方で同時に
、セル14のアドレス指定された行内に記憶されたワー
ドが、それがすべて1であるかどうかを設定するために
読み出され、また検査される。 【0050】整合/読みだし動作M1/0は、すべて1
のワードをアレイ12内に記憶されたワードに整合し、
一方でセル14のアドレス指定された行内に記憶された
ワードがすべて1であるかを決定するために、このワー
ドを読みだし、解析することにより実行される。 【0051】矢(↑)と矢(↓)とは、矢に続く系列の
動作が、アレイ12内のセル14の各行に対して、最上
行または最下行それぞれから始まり、連続して実行され
ることを示す。系列(3)と系列(6)とに先行する矢
(→)は、これらの系列の各々がセル14の単一の行に
対してのみ実行されることを示す。 【0052】第1の動作系列の間に、書き込み動作(W
0)が実行され、すべて1のワードが、アレイ12内の
セル14の各連続する行内に、図1での最上行から始ま
り、書き込まれる。 【0053】書き込み動作(W0)を実行するために、
カウンタ37は、デコーダ21にセル14の最上行のア
ドレスを示すカウントを与えるが、一方同時に、テスト
パターンジェネレータ38は、すべて0のワードを「デ
ータ−イン」レジスタ16に与える。「データ−イン」
レジスタ16内のワードは、セル14のアドレス指定さ
れた行内に書き込まれる。 【0054】書き込み動作後、カウンタ37のカウント
は単位上増加し、それによりデコーダ21は、セル14
の次の連続する行をアドレス指定するが、これに対して
書き込み動作Wは、すべて0のワードをアドレス指定さ
れた行内に書き込むように再び実行される。シーケンス
(1)の書き込み動作W0は、セル14の連続する行各
々に対してそこにすべて0のワードを書き込むために実
行される。 【0055】第2のシーケンスの間に、整合/読みだし
動作M1/0と3個の異なる書き込み動作(W1、W0
、W1)が、セル14の各行に対して、最上行から始ま
り連続して実行される。整合/読みだし動作M1/0の
間に、すべて1のワードが、セル14の各行内のワード
に対して同時に整合される。この整合は、テストパター
ンジェネレータ38がすべて1のワードを「整合」レジ
スタ25に出力し、代わりにこのレジスタ25が、ちょ
うど受信した整合ワードの各ビットを、線241、24
2...24nの対応する線に対して出力することによ
り達成される。 【0056】セル14の各行内に記憶されたワードのビ
ットが実際にすべて0であるかどうかに従って、「1」
あるいは「0」が、線281、282、283...2
8mの特定の線に生じる。線281、282、283.
..28mでの信号に応答して、エンコーダ30は、線
311、312、313・・・に信号を出力するが、こ
の信号はひとまとめにしてその行の記憶されたワードが
整合ワードと整合する行の見出しを示す。 【0057】整合動作を実行するとき、読みだし動作も
また実行され、デコーダ21によりアドレス指定された
セル14の行内に記憶されたワードが、ワードが0であ
るかを決定するために読みだされ、検査される。実際の
読みだし動作は、セル14のアドレス指定された行内の
ワードをロードし、そのワードをバスに0に出力するこ
とにより実行される。 【0058】ANDゲート44とORゲート46とは、
バス20に生じるワードのビットをそれぞれ論理積と論
理和とを得る役割を果たし、論理積と論理和とからビッ
トペアを与えるが、このビットペアは、それだけでちょ
うど読み出されたワードがすべて1かあるいはすべて0
かどうかを解析するための十分な情報を与える。このよ
うにして、ANDゲート44とORゲート46とは、「
圧縮する」すなわち、ちょうど読み出されたワードの多
数のビットを減少させる役割を都合よく果たす。 【0059】シーケンス(2)での整合/読みだし動作
後に、書き込み動作W1が実行され、すべて1のワード
が、デコーダ21によりこの時アドレス指定されるセル
14の行内に書き込まれる。この動作は、テストパター
ンジェネレータ38がすべて1のワードをデータ−イン
レジスタ16にロードし、代わりにレジスタ16がその
ワードをセル14のこの時アドレス指定された行に転送
することにより実行される。 【0060】書き込み動作W1に続き、第2の書き込み
動作W0が実行され、この間に、すべて0のワードが、
この時アドレス指定されている行内に、前の書き込み動
作と同じ方法で書き込まれる。 【0061】最後に、シーケンス(2)の中で、書き込
み動作(W1)が実行され、この間に、すべて1のワー
ドがこの時アドレス指定されている行内に書き込まれる
。シーケンス(2)の動作M1/0、W1、W0、W1
は、アレイ12でのセル14の各行に対して連続して実
行される。 【0062】シーケンス(2)の中で整合/読みだし動
作(M1/0)が実行される各回に、ワイルドカードジ
ェネレータ42は、ワイルドカードレジスタ34にすべ
て1のデータ列を与える。この動作の目的は、ワイルド
カード動作に連関した故障を(もしあるとすれば)明ら
かにすることである。 【0063】「1」が各線241、242、243..
.24nに存在する時、整合レジスタ25での整合ワー
ドの全てのビットは、ANDゲート32とORゲート3
3それぞれの出力が、「すべて整合」状態を示す「1」
に両方ともあるように、マスクされる。 【0064】シーケンス(2)の中でのすべて整合状態
を検出するために、ANDゲート32とORゲート33
それぞれの不良は、ワイルドカードレジスタ34あるい
はXORゲート22いずれかでの故障を示す。全ての他
の動作の間に、ワイルドカードレジスタ34は、すべて
1の列を生成する。 【0065】シーケンス(2)に続き、第3のシーケン
ス(3)が実行される。シーケンス(3)での第1の動
作は、「1のワードの中にウォーキング0」により得ら
れる異なるデータワード列の一つが、セル14の行に記
憶されたワードと整合される間の整合/読みだし動作【
数3】である。この整合を達成するために、テストパタ
ーンジェネレータ38は、データワード11111..
.0、111...01、111...011、011
...111のセットの連続するデータワードを、連続
して生成する。 【0066】生成されたデータワード各々は、連続して
生成されるワード内の0が前のワードより左に1ビット
シフトされて他が1の中にただ一つの0があるワードか
らなる。従って、各生成されたデータワード内に出現す
る「0」は、他がすべて1からなるワードの中を「ウォ
ーク」しながら出現する。この整合動作の間に、1のワ
ードの中を「0」がウォーキングすることにより得られ
たワードの内ただひとつのみが、アレイの各行内に記憶
されたワードと整合するために整合レジスタ25内に書
き込まれる。 【0067】シーケンス(3)の中でのこの整合の各連
続実行に対して、1のワードの中を「0」がウォーキン
グすることにより得られた系列内の次の連続するワード
が、アレイ12内に記憶されたワードに対して整合する
ために整合レジスタ25内に書き込まれる。 【0068】「ウォーキング0」の系列内での各ワード
に対して、ANDゲート32とORゲート33それぞれ
からの「0」出力信号により表示されるように整合しな
い状態が起こる。 【0069】「ウォーキング0のワード」の整合が起こ
ると同時に、読みだし動作もまた、行内に記憶されたワ
ードを、このワードが整合レジスタ25に保持された同
じワードに一致するかどうかを決定するために読みだし
、検査する間に、セル14のアドレス指定された行に対
して実行される。シーケンス(3)の中で実行される整
合/読みだし動作の間に読み出された、セル14の特定
の行の見出し(アドレス)は、セルの行が読み出される
限り重要ではない。 【0070】前述のように、各読みだし動作が完成する
と、ANDゲート44とORゲート46各々は、ちょう
ど読みだされたワード内のビットに対して論理積と論理
和を得ることにより得られた結果を表す信号を出力する
。シーケンス(6)のこの第1の整合/読みだし動作【
数3】は、1のワードの中を0がウォーキングすること
により得られた各連続するワードに対して繰り返される
。 【0071】第1の整合/読みだし動作M0に続き、書
き込み動作W0と整合/読みだし動作M0(表2の括弧
内ではWとMにより表現される)の組合せが、1のワー
ドの中を0がウォーキングすることにより得られた各ワ
ードに対して実行される。従って、このように得られた
各これらのワードに対して、書き込み動作が実行され、
ワードがセル14のアドレス指定された行内に書き込ま
れる。以後、同じワードが全ての行内のワードに整合さ
れる。 【0072】整合が起こると、ちょうどアドレス指定さ
れた行が読みだされ、ちょうど整合されたワードへの一
致に関して内容が検査される。1のワードの中を0がウ
ォーキングすることにより得られたシーケンス内の各連
続するワードは、いったん書き込まれ、続いて整合され
る(そしてアドレス指定された行が読み出される)と、
書き込み動作と整合/読みだし動作とがシーケンス内の
次のワードに対して再び実行される。 【0073】動作M0と 【数5】 とが完成すると、書き込み動作W0が実行され、すべて
0のワードがアドレス指定された行内に書き込まれ、行
内のワードがすべて0であることを保証する。 【0074】シーケンス(3)に続き、書き込み動作と
整合/読みだし動作の第4のシーケンス(4)が実行さ
れる。表2に示されるように、シーケンス(4)で実行
される第1の動作は、すべて1のワードがアレイ12内
に記憶されたワードに同時に整合される間の整合/読み
だし動作(M1)である。同時に、ワードは、(図1の
最上行から始まる)セル14の連続する行から読みださ
れ、ワードがすべて1からなるかどうかを決定するため
に以後解析される。 【0075】整合/読みだし動作後、書き込み動作(W
0)が実行され、この時、すべて1のワードが、ちょう
ど読み出されたセル14の行内に書き込まれる。次に、
整合/読みだし動作(M0)が実行され、すべて0のワ
ードがアレイ12内に記憶されたワードに整合される。 同時に、読みだし動作が実行され、書き込み動作が実行
された行内のワードが、このワードがすべて0かどうか
を決定するために読みだされ、検査される。 【0076】シーケンス(4)内の最後の動作は、すべ
て1のワードが、その前の整合/読みだし動作の間にち
ょうど読みだされた行内に書き込まれる間の書き込み動
作(W1)である。シーケンス(4)の整合/読みだし
動作と書き込み動作(M1、W0、M0、W1)とは、
アレイ12内のセル14の連続するより下の各行に対し
て、最上行から始まり、動作がセルの全ての行に対して
実行されるまで、行われる。 【0077】シーケンス(4)に続き、書き込み動作と
整合/読みだし動作との第5のシーケンス(5)が実行
される。シーケンス(5)の第1の動作は、すべて1の
ワードをアレイ12内に記憶されたワードに整合するこ
とにより実行される整合/読みだし動作(M1)である
。 【0078】整合が起こるのと同時に、読みだし動作も
また、セルの連続する行内のワードがすべて1からなる
かどうかを決定するためにこのワードが読み出され、解
析される間に実行される。シーケンス(5)に連関する
動作に先行する表2内の下向きの矢に示されるように、
この系列の中で実行される読みだし動作は、セル14の
最後の(最下の)行に対して最初に実行される。 【0079】従って、シーケンス(5)の最初に、カウ
ンタ36は、デコーダ21にこの行のアドレスをロード
し、この系列の各引き続く実行に対して、カウンタはデ
コーダに減少するカウントを与える。 【0081】シーケンス(5)の中で整合/読みだし動
作(M1)が最初に実行された後、シーケンス(5)で
実行される次の動作は、すべて0のワードがちょうど読
み出された行内に書き込まれる間の書き込み動作(W0
)である。次に、書き込み動作(W1)が、すべて0の
ワードが書き込まれた行と同じ行にすべて1の行が書き
込まれる間に実行される。この書き込み動作に続き、す
べて0のワードが行内に書き込まれる間に書き込み動作
(W0)が実行される。 【0082】整合/読みだし動作と書き込み動作とによ
り系列(5)がセル14の最下行に対して実行された後
、カウンタ36などの減少するカウントに応答して、動
作のすべての系列が各々全ての行に対して実行されるま
で、セルの次により上の行に対して系列が実行される。 【0083】書き込み動作と整合/読みだし動作とのシ
ーケンス(5)の後に、書き込み動作と整合/読みだし
動作との第6のシーケンス(6)が続く。シーケンス(
6)は、全て0のワードの中を1をウォーキングするこ
とにより得られた系列内の各連続するワードをアレイ内
に記憶されたワードに整合することによって実行される
整合/読みだし動作M1を行うことにより開始される。 【0084】この系列の各ワードが整合されるとき、セ
ル14の同じアドレス指定された行が読みだされ、また
整合されたワードとの一致に関して内容が検査される。 【0085】整合/読みだし動作M1がいったん実行さ
れると、(表2の括弧内に示されるように)書き込み動
作と整合/読みだし動作の組合せが、ウォーキング1の
系列で得られた各ワードに対して実行される。従って、
0のワードの中で1をウォーキングすることにより得ら
れた各ワードは、セル14のアドレス指定された行内に
最初に書き込まれる。 【0086】以後、同じワードがアレイ12内の行と整
合され、一方同時に、(それ以前の書き込み動作の主体
であった)アドレス指定された行は、整合されたワード
に対して検査するために読みだされる。書き込み動作と
整合/読みだし動作とは、0のワードの中で1をウォー
キングすることにより得られた各連続するワードに対し
て実行される。 【0087】シーケンス(6)の中で実行された動作は
、シーケンス(3)では、1のワードの中で0をウォー
キングするよりむしろ0のワードの中で1がウォーキン
グされるということを除けば、上述したシーケンス(6
)の動作と同じである。動作 【数4】 【数6】 が完成すると、書き込み動作(W1)が実行され、その
結果、セルのアドレス指定された行の内容は、すべて1
に戻される。 【0088】以下に説明するように、シーケンス(3)
、(6)との整合/読みだし動作【数3】 【数4】とは、それぞれCAM10の整合能力を検査す
るために実行される。 【0089】シーケンス(3)の書き込みと整合/読み
だし動作 【数5】とシーケンス(6)の書き込みと整合/読みだ
し動作 【数6】とは、アレイ12から読みだされたデータを圧
縮するANDゲート44とORゲート46とでそれぞれ
ある程度の故障に関して検査するために実行される。こ
れら特定動作を実行することは望ましいものの、一方で
もしANDゲート44とORゲート46とによる組込み
自己検査が望ましくないならば、これらは省略可能であ
る。 【0090】シーケンス(6)での書き込み動作W1が
実行された後、第7の整合/読みだしと書き込み動作の
シーケンス(7)が実行される。 【0091】シーケンス(7)で実行される第1の動作
は、すべて0のワードがセル14の各行に記憶されたワ
ードに対して整合される間の整合/読みだし動作(M0
)である。同時に、読みだし動作が、セルの連続する行
に対して最下行から始まり、実行され、この行の内容(
ワード)が、すべて0のワードとの一致に関して検査さ
れる。 【0092】整合/読みだし動作に続き、書き込み動作
(W1)が実行され、すべて0のワードが、ちょうど読
みだされたセルの行内に書き込まれる。以後、引続き整
合/読みだし動作(M1)が実行され、すべて1のワー
ドが、アレイ12内に記憶されている全てのワードに対
して整合される。同時に、読みだし動作が実行され、そ
の前に書き込み動作が実行されたセル14の行の内容が
、ここで読みだされ、すべて1のワードとの一致に関し
て検査される。 【0093】整合/読みだし動作に続き、書き込み動作
(W0)が実行され、すべて0のワードが、それ以前に
ちょうど読み出された行内に書き込まれる。シーケンス
(7)の中で実行される動作に連関して、下向きの矢に
より示されるように、セル14の次のより上の各行に対
して、最初に最下行から始まり、最後に最上行で終わる
まで連続して動作が実行される。 【0094】シーケンス(1)及至(7)は、以前に与
えたCAM10の故障モデルでの全ての故障を診断する
のに十分である。まず、「1」縮退故障がアレイ12内
に存在する可能性を最初に考察する。 【0095】いずれのセル14における「1」縮退故障
も、シーケンス(1)の書き込み動作(W0)とシーケ
ンス(2)の整合/読みだし動作(M1/0)との実行
の後、明白になるであろう。 【0096】シーケンス(1)の中の各連続する書き込
み動作(W0)に従って、各行内のセル14は0を含む
べきである。よって、シーケンス(2)の各連続する整
合/読みだし動作(M1/0)の間に、データ−アウト
レジスタ19から読みだされた各ワードはすべて0であ
るべきであり、ANDゲート44とORゲート46とは
、両方とも0を出力するべきである。もしそうでなけれ
ば、「1」縮退故障が存在する。 【0097】「0」縮退故障は、シーケンス(4)の書
き込み動作(W1)とシーケンス(5)の整合/読みだ
し動作(M1)との連続した実行後に、明白になるであ
ろう。 【0098】シーケンス(4)の書き込み動作(W1)
が連続的に実行された後、各行内のセル14は、シーケ
ンス(5)の整合/読みだし(M1)動作の連続した実
行の間に読みだされたとき、「1」を含むべきである。 従って、ANDゲート44とORゲート46とは、セル
14の各行が読み出されたとき、各々「1」を出力すべ
きである。もしそうでなければ、「0」縮退故障が存在
する。 【0099】各行の1個以上のセル14に連関する、「
0」から「1」へ遷移できない故障は、シーケンス(4
)の整合/読みだし動作(M0)、書き込み動作(W1
)、整合/読みだし動作(M1)の連続した実行におい
て明白になる。 【0100】各連続する行の内容を読みだし、すべて1
のワードを書き込み、そして行の内容を読み出すことに
よって、0になっていて、また書き込み動作W1の後で
は「1」に遷移することができないようないずれのセル
14も、ANDゲート44とORゲート46により生成
される信号間の違いにより明らかにされる。 【0101】同様に、「1→0」遷移故障は、シーケン
ス(7)の整合/読みだし動作(M1)、書き込み動作
(W0)、整合/読みだし動作(M0)の連続した実行
に続く、ANDゲート44とORゲート46との信号間
の違いにより明白になる。 【0102】所定の行での1個以上のセルの内容が隣接
する行内のセルでの変化のために変化するときに起こる
結合故障は、シーケンス(4)の整合/読みだし動作M
0、書き込み動作W1の実行と引き続くシーケンス(5
)の整合/読みだし動作M1の実行との間に、明白にな
る。 【0103】シーケンス(4)の整合/読みだし動作M
0と書き込み動作W1の連続した実行に対して、セル1
4の各行は(0のワードが存在することを検査するため
に)最初に読み出され、そしてすべて1のワードが行内
に書き込まれる。それ以前の行に対して実行された書き
込み動作W1の結果として、もし1個以上の0がセル1
4の後に続くいずれかの行に生じるならば、このような
故障は、シーケンス(5)の中の整合/読みだし動作M
1の実行において明白になる。 【0104】シーケンス(5)の整合/読みだし動作M
1と書き込み動作W0とは、連続して実行されるとき、
j番目の行に0のワードを書き込んだ結果としてすべて
0であるべきセル14のi番目の行(ここで、i<j)
での「0」の発生という結合故障を明らかにする役割を
果たす。 【0105】同様に、シーケンス(2)の整合/読みだ
し動作M1/0と書き込み動作W1とは、連続して実行
されるとき、j番目の行に1のワードを書き込んだ結果
としてすべて0であるべきセル14のi番目の行での「
1」の発生という結合故障を検出する。 【0106】デコーダ21がアレイ12内のセル14の
正しい行を適切にアドレス指定できないとき、アドレス
指定故障が起きる。このタイプの故障は、シーケンス(
5)の整合/読みだし動作M1と最後の書き込み動作W
0、またシーケンス(2)の整合/読みだし動作M1/
0と最後の書き込み動作W1の連続した実行において明
白になる。 【0107】シーケンス(2)の書き込み動作W0が実
行される各回に、すべて0のワードが、それ以前にすべ
て1で占められたセル14の連続した行に書き込まれる
。 【0108】もしデコーダ21が故障している場合、シ
ーケンス(2)の整合/読みだし動作M1/0の連続し
た実行において、まだ0により書き込まれていない行を
アドレス指定するならば、読みだされたワードは1であ
り、期待されるようにすべて0ではないであろう。それ
故に、ANDゲート44とORゲート46の各々は、ア
ドレス指定故障を示す「1」を出力する。 【0109】同様に、シーケンス(5)の書き込み動作
W1が実行される各回に、すべて1のワードが、それ以
前にすべて0で占められていたセル14の連続した行に
書き込まれる。従って、引き続くシーケンス(5)の整
合/読みだし動作M1の実行において、すべて1のワー
ドが読み出されると、アドレス指定故障が検出される。 【0110】シーケンス(2)、(5)は、セル14の
行に対して、それぞれ最上行と最下行とから始まり連続
して実行されるので、存在するいずれのアドレス指定故
障も、書き込み動作と整合/読みだし動作のこの二つの
シーケンスの実行中に検出される。 【0111】以前に示唆されたように、結合及び遷移に
よる故障は、相互に互いを含んでいる。この故障は共に
起こる可能性があり、連結結合及び遷移による故障と呼
ばれている。これらのタイプの故障は、シーケンス(2
)、(5)の実行において明白になる。 【0112】CAM10の整合能力における故障の検出
はまた、書き込み動作と整合/読みだし動作のシーケン
ス(1)及至(7)の実行により明らかにされる。 【0113】すべて0のワードがアレイ12でのすべて
の0に対して整合される時、整合を得ることができない
場合に起こる故障を考察する。すべて0のワードが整合
レジスタ(25)に入力されるとき、ANDゲート32
とORゲート33の各々は、整合が起こるときに0を出
力する。従って、シーケンス(7)の整合/読みだし動
作M0の間に、整合レジスタ25でのすべて0のワード
とアレイ12での全ての0との整合は、ANDゲート3
2とORゲート33それぞれにより「0」出力という形
で検出され得る。 【0114】逆に、整合レジスタ25でのすべて1のワ
ードとアレイ12の全ての1との間の整合は、シーケン
ス(4)の整合動作M1の実行により、「整合」状態下
では「1」がANDゲート32とORゲート33との両
方により出力されるので、検出されることが可能である
。 【0115】整合しない状態の検出は、アレイ12の全
ての1に対するすべて0のワードを整合することにより
、およびアレイの全ての0に対するすべて1のワードを
整合することにより達成されることが可能である。しか
し、この手法は、線241、242、243...24
nの望ましい特定の線に連関するXORゲート22を個
々に分離しない。 【0116】本実施例において、この分離は、「ウォー
キング−0」のワード 【数3】を系列(3)の中でアレイの内容と整合するこ
とにより、また「ウォーキング−1」のワードをシーケ
ンス(6)の中でアレイの内容と整合することにより行
われる。シーケンス(3)、(6)の中で、「ウォーキ
ング1」と「ウォーキング0」とを整合することにより
、線241、242、243...24nの別々の線に
連関するXORゲート22線毎に検査される、明白な利
点がある。 【0117】エンコーダ30が不完全であるとき、その
内容が整合ワードの内容と整合するセル14の行の正し
いアドレスを認識できないだろう。このタイプの故障の
検出は、シーケンス(7)の中の書き込み動作W1と整
合/読みだし動作M1とを実行することにより行われる
。 【0118】書き込み動作W1がシーケンス(7)の実
行において実行されるとき、すべて1のワードが、それ
以前にすべて0を含んだセルの行内に書き込まれる。ア
レイ12の残りもまたすべて0を含む。 【0119】シーケンス(7)の引き続く整合/読みだ
し動作M1の実行の間に、エンコーダ30は、適切に動
作している時、1のワードがちょうど書き込まれた行の
アドレスを、整合はこの行のみに対して存在しているの
で、戻すべきである。ちょうど書き込まれたセル14の
行のアドレスと同じアドレスを戻すことができないこと
は、コンパレータ40により感知され、コンパレータ4
0が順にこのタイプの故障の存在を示すであろう。 【0120】ワイルドカードレジスタ33でのいずれの
故障も、ワイルドカードジェネレータ42が、すべて1
のワードをレジスタにロードし、シーケンス(2)の整
合/読みだし動作M1/0中にマスクワードの全てのビ
ットをマスクすることにより、検査される。 【0121】マスクされた整合ワードの全てのビットに
より、ANDゲート32は、もしワイルドカードレジス
タ34が適切に動作しているならば、整合/読みだし動
作の実行において、すべて整合状態を示す。 【0122】同様に、シーケンス(4)あるいは(7)
の整合/読みだし動作M0の実行中にワイルドカードレ
ジスタ34がすべて0を与えられるとき、もしワイルド
カードレジスタが適切に動作しているならば、整合しな
い状態が起きる。 【0123】上述の書き込み動作と整合/読みだし動作
によるシーケンス(1)及至(7)を用いてCAM10
を検査する利点は、データ圧縮を供与するANDゲート
44とORゲート46とがまた検査可能なことである。 【0124】ANDゲート44に連関する「1」縮退故
障は、系列(3)の動作 【数5】の書き込み部分が実行された後の整合/読みだ
し部分の実行中に明白になるであろう。0縮退故障は、
シーケンス(4)の動作M1の整合/読みだし部分の実
行において明白になる。 【0125】ORゲート46に連関する「1」縮退故障
は、シーケンス(6)の動作 【数6】の書き込み部分が実行された後、整合/読みだ
し部分の実行において明白になる。「0」縮退故障は、
シーケンス(7)の整合/読みだし動作M0の実行にお
いて明白になる。 【0126】整合線281、282、283...28
mにおける信号の論理積を得るまた論理和を得るAND
ゲート32とORゲート33とはまた、シーケンス(1
)及至(7)でのある程度の書き込み動作と整合/読み
だし動作の実行によっても都合よく検査される。 【0127】ANDゲート32内の「1」縮退は、シー
ケンス(4)中の動作W0、M0、W1の実行において
明白になるであろう、それに対して「0」縮退故障は、
同じ系列中の動作M1の実行において検出される。 【0128】ORゲート33内の「0」縮退故障は、シ
ーケンス(7)の動作W1、M1、W0の実行において
明白になるが、それに対して「1」縮退は、シーケンス
(6)の 【数4】動作の実行において明らかにされる。 【0129】以上は、書き込み動作と整合/読みだし動
作による所定のシーケンスを実行することにより内容参
照可能メモリ10を完全に検査するための技術を記述し
ている。書き込み動作と整合/読みだし動作中に、すべ
て0、すべて1、0のワードの中にウォーキング1、1
のワードの中にウォーキング0、からなるデータワード
のセットの内の事前選択したデータワードは、CAM1
0の各素子を検査するために書き込み及び整合/読みだ
しがそれぞれなされる。 【0130】上述の実施例は、本発明の原理の単なる例
示であることが理解されるべきである。本発明の原理を
実施するであろう当業者により本発明になされ得る様々
な変形及び修正は、本発明の精神と範躊内にある。 【0131】以上の説明は、本発明の一実施例に関する
もので、この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。尚、特許請求の範囲に記載した参
照番号は発明の容易なる理解のためで、その技術的範囲
を制限するよう解釈されるべきではない。 【発明の効果】以上述べたごとく、本発明によれば、R
AMのような他のタイプのメモリと比較してより複雑な
内容参照可能メモリ(CAM)を構成する全ての素子に
ついて検査可能なCAMの組込み自己検査方法及び装置
を提供することができる。
【図1】本発明の一実施例による、CAMの組込み自己
検査装置の構成を示すブロック図である。
検査装置の構成を示すブロック図である。
10 内容参照可能メモリ(CAM)12 メモリ
・セルアレイ 14 メモリ・セル 16 「データ−イン」レジスタ 17 レジスタ出力線 18 線 19 「データ−アウト」レジスタ 20 バス 21 デコーダ 22 排他的論理和(XOR)ゲート24 整合線 25 「整合」レジスタ 26 ANDゲート 28 入力線 30 エンコーダ 31 出力線 32 ANDゲート 33 ORゲート 34 「ワイルドカード」レジスタ 35 出力線 36 テストシステム 37 カウンタ 38 テストパターンジェネレータ 40 コンパレータ 42 ワイルドカードジェネレータ 44 ANDゲート 46 ORゲート
・セルアレイ 14 メモリ・セル 16 「データ−イン」レジスタ 17 レジスタ出力線 18 線 19 「データ−アウト」レジスタ 20 バス 21 デコーダ 22 排他的論理和(XOR)ゲート24 整合線 25 「整合」レジスタ 26 ANDゲート 28 入力線 30 エンコーダ 31 出力線 32 ANDゲート 33 ORゲート 34 「ワイルドカード」レジスタ 35 出力線 36 テストシステム 37 カウンタ 38 テストパターンジェネレータ 40 コンパレータ 42 ワイルドカードジェネレータ 44 ANDゲート 46 ORゲート
Claims (11)
- 【請求項1】 メモリ・セル(14)の複数の行に対
して、前記セルの特定の行をアドレス指定し、すべて0
からなるワード、すべて1からなるワード、0の中にウ
ォーキング1があるワード、1の中にウォーキング0が
あるワード、からなるグループのうち1つのデータワー
ドを前記行の中に書き込むことにより実行される各書き
込み動作と、前記グループから事前選択されたデータワ
ードを前記の行に整合し、セル(14)の前記行の内容
を読みだし、この内容が事前選択された前記データワー
ドと一致するかどうかを確認するために内容を検査する
ことにより実行される各整合/読みだし動作とからなる
所定の一組のシーケンスを実行することを特徴とする複
数行のメモリ・セルと、このメモリ・セルに結合された
排他的論理和(XOR)ゲート(22)と、データワー
ドが書き込まれるべき、あるいは記憶されたワードが読
み出されるべき、セルの行のアドレスを解読するための
デコーダ(21)と、整合ワードを記憶するための整合
ワードレジスタ(25)と、整合ワードと整合するワー
ドを含む行のアドレスを決定するためのエンコーダ(3
0)とを有することを特徴とする内容参照可能メモリ(
CAM)(10)の組込み自己検査方法。 - 【請求項2】 所定のシーケンスが、(a)すべて0
のワードをセルの一行に書き込むことにより実行される
書き込み動作W0を、セル(14)の各連続する行に対
して実行する第1のシーケンスと、(b)セル(14)
の各連続する行に対して、連続する行の内容がすべて0
であるかどうかを確認するために連続する行の内容を読
み出す一方で、すべて1のワードをセルのすべての行に
整合させる整合/読みだし動作M1/0と、すべて1の
ワードをセルの連続する行に書き込む、書き込み動作W
1と、書き込み動作W0と、前記書き込み動作W1とを
連続して実行する第2のシーケンスと、 (c)セル(14)の一行に対して、連続する行の内容
が整合されるワードの内の特定のワードに一致するかど
うかを決定するために連続する行の内容を連続して読み
だす一方で、1のワードの中で0をウォーキングするこ
とにより得られたワードの各系列をセルの全ての行に整
合させる整合/読みだし動作 【数3】 と、前記書き込み動作W1とを連続して実行する第3の
シーケンスと、 (d)セル(14)の各行に対して、連続する行の内容
がすべて1かどうかを確認するために連続する行の内容
を読み出す一方で、すべて1のワードをセルの全ての行
に整合させる整合/読みだし動作M1と、書き込み動作
W0と、連続する行の内容がすべて0かどうかを確認す
るために連続する行の内容を読み出す一方で、すべて0
のワードをセルの全ての行に整合させる整合/読み出し
動作M0がと、書き込み動作W0とを連続して実行する
第4のシーケンスと、 (e)セル(14)の各連続する行に対して、整合/読
み出し動作M1と、書き込み動作W0と、書き込み動作
W1と、書き込み動作W0とを連続して実行する第5の
シーケンスと、 (f)セル(14)の単一行に対して、単一行の内容が
整合されるワードの特定のワードに一致するかどうかを
決定するために単一行の内容を連続的に読み出す一方で
、0のワードの中で1をウォーキングすることにより得
られた各ワード列をセルの全ての行に整合させる整合/
読み出し動作 【数4】 と、書き込み動作W0とを連続して実行する第6のシー
ケンスと、(g)セル(14)の各行に対して、整合/
読み出し動作M0と、書き込み動作W1と、整合/読み
出し動作M1と、書き込み動作W0とを連続して実行す
る第7のシーケンスと、からなることを特徴とする請求
項1記載の方法。 - 【請求項3】 (a)セル(14)の各行に対して、
第1のシーケンスの書き込み動作W0を連続して実行し
、(b)セル(14)の各行に対して、第2のシーケン
スの、整合/読み出し動作M1/0と書き込み動作W1
と、書き込み動作W0と、書き込み動作W1とを連続し
て実行し、 (c)セル(14)の各行に対して、第4のシーケンス
の整合/読み出し動作M1と、書き込み動作W0と、整
合/読み出し動作M0とを連続して実行し、(d)セル
(14)の各行に対して、第5のシーケンスの整合/読
み出し動作M1と、書き込み動作W0と、書き込み動作
W1と書き込み動作W0とを連続して実行し、(e)セ
ル(14)の各行に対して、第7のシーケンスの整合/
読み出し動作M0と、書き込み動作W1と、整合/読み
出し動作M1と、書き込み動作とを連続して実行するセ
ルの行を検査することを特徴とする請求項2記載の方法
。 - 【請求項4】 セル(14)の各行に対して、第4の
シーケンスの書き込み動作W0と、整合/読み出し動作
M0と、書き込み動作W1とを連続して実行することに
よりエンコーダ(30)を検査することを特徴とする請
求項2記載の方法。 - 【請求項5】 (a)セル(14)の各連続する行に
対して、第1のシーケンスの書き込み動作W0と第2の
シーケンスの整合/読み出し動作M1/0とを実行し、
(b)セル(14)の各行に対して第2のシーケンスの
書き込み動作W1を実行し、セルの一つの行に対して第
3のシーケンスの整合/読み出し動作 【数3】を実行し、 (c)セル(14)の各行に対して第3のシーケンスの
書き込み動作W1を実行し、続いて第4のシーケンスの
整合/読み出し動作M1を実行し、 (d)セル(14)の各行に対して第4のシーケンスの
書き込み動作W0を実行し、続いてセルの一つの行に対
して第5のシーケンスの整合/読み出し動作【数4】を
実行することにより、排他的論理和ゲート(22)を検
査することを特徴とする請求項2記載の方法。 - 【請求項6】 (a)セルの各連続する行に対して第
2のシーケンスの整合/読み出し動作M1/0と最後の
書き込み動作W1とを実行し、 (b)セルの各行に対して連続して第5のシーケンスの
整合/読み出し動作M1と最後の書き込み動作W0とを
実行することによりデコーダ(21)を検査することを
特徴とする請求項2記載の方法。 - 【請求項7】 マスクレジスタにおいてマスクワード
のビットをマスクするためのワイルドカードレジスタ(
34)を含む、CAMについて、 (a)第2のシーケンスの整合/読み出し動作M1/0
を実行する一方で同時に、すべて1のワードを整合ワイ
ルドカードレジスタに入力し、 (b)第4のシーケンスの整合/読み出し動作M1を実
行するによりワイルドカードレジスタを検査することを
特徴とする請求項2記載の方法。 - 【請求項8】 セルの連続する各行をアドレス指定す
るために、カウントをCAMのデコーダに与えるための
アップダウンカウンタ(37)と、すべて1、すべて0
、0のワードの中をウォーキング1、1のワードの中を
ウォーキング0、からなるグループから複数のデータワ
ード列をCAMに与えるためのテストパターンジェネレ
ータ(42)と、CAMから読みだされたデータを圧縮
する第1の装置(44、46)と、整合するワードを含
む行のアドレスを示すデータを圧縮する第2の装置(4
4、46)と、整合行アドレスの出力の状態を検出する
ために、内容参照可能メモリのエンコーダに結合された
コンパレータ(40)とからなることを特徴とする複数
の行からなるメモリ・セル(14)と、メモリ・セルと
結合された排他的論理和(XOR)ゲート装置(22)
と、データが読み出されるあるいは書き込まれるセルの
行のアドレスを解読するためのデコーダ(21)と、整
合・ワードを記憶するための整合ワードレジスタ(25
)と、整合・ワードと整合するワードを含む行のアドレ
スを決定するためのエンコーダ(30)とを有する内容
参照可能メモリの組込み自己検査装置。 - 【請求項9】 第1の圧縮装置が、CAMから読みだ
されたデータの内容の論理積を得るためのANDゲート
(44)と、CAMから読みだされたデータの内容の論
理和を得るためのORゲート(46)とからなることを
特徴とする請求項8記載の装置。 - 【請求項10】 第2の圧縮装置が、整合ワードを含
む行のアドレスを示すデータの論理積を得るためのAN
Dゲート(44)と、整合ワードを含む行のアドレスを
示すデータの論理和を得るためのORゲート(46)と
からなることを特徴とする請求項8記載の装置。 - 【請求項11】 整合レジスタを検査するためにすべ
て1のワードとすべて0のワードを与えるためのワイル
ドカードジェネレータ(42)を有することを特徴とす
る整合ワードをマスクするためにマスクワードを与える
ためのワイルドカードレジスタ(34)を有するCAM
を検査する請求項8記載の装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/502,965 US5107501A (en) | 1990-04-02 | 1990-04-02 | Built-in self-test technique for content-addressable memories |
| US502965 | 1990-04-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04228199A true JPH04228199A (ja) | 1992-08-18 |
Family
ID=24000194
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3094988A Pending JPH04228199A (ja) | 1990-04-02 | 1991-04-02 | 内容参照可能メモリの自己検査方法及び装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5107501A (ja) |
| EP (1) | EP0451985B1 (ja) |
| JP (1) | JPH04228199A (ja) |
| KR (1) | KR940011427B1 (ja) |
| DE (1) | DE69116919T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7966531B2 (en) | 2005-11-14 | 2011-06-21 | Mitsubishi Electric Corporation | Memory diagnosis apparatus |
Families Citing this family (68)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5259066A (en) * | 1990-04-16 | 1993-11-02 | Schmidt Richard Q | Associative program control |
| US5377148A (en) * | 1990-11-29 | 1994-12-27 | Case Western Reserve University | Apparatus and method to test random access memories for a plurality of possible types of faults |
| US5528600A (en) * | 1991-01-28 | 1996-06-18 | Actel Corporation | Testability circuits for logic arrays |
| US5231605A (en) * | 1991-01-31 | 1993-07-27 | Micron Technology, Inc. | DRAM compressed data test mode with expected data |
| US5383146A (en) * | 1992-06-08 | 1995-01-17 | Music Semiconductors, Inc. | Memory with CAM and RAM partitions |
| US5617531A (en) * | 1993-11-02 | 1997-04-01 | Motorola, Inc. | Data Processor having a built-in internal self test controller for testing a plurality of memories internal to the data processor |
| US5450351A (en) * | 1993-11-19 | 1995-09-12 | International Business Machines Corporation | Content addressable memory implementation with random access memory |
| US5475815A (en) * | 1994-04-11 | 1995-12-12 | Unisys Corporation | Built-in-self-test scheme for testing multiple memory elements |
| US5550974A (en) * | 1994-04-15 | 1996-08-27 | Motorola, Inc. | Testable memory array which is immune to multiple wordline assertions during scan testing |
| US5612965A (en) * | 1994-04-26 | 1997-03-18 | Unisys Corporation | Multiple memory bit/chip failure detection |
| US5592493A (en) * | 1994-09-13 | 1997-01-07 | Motorola Inc. | Serial scan chain architecture for a data processing system and method of operation |
| US5666371A (en) * | 1995-02-24 | 1997-09-09 | Unisys Corporation | Method and apparatus for detecting errors in a system that employs multi-bit wide memory elements |
| US5701313A (en) * | 1995-02-24 | 1997-12-23 | Unisys Corporation | Method and apparatus for removing soft errors from a memory |
| US5511164A (en) * | 1995-03-01 | 1996-04-23 | Unisys Corporation | Method and apparatus for determining the source and nature of an error within a computer system |
| US5784382A (en) * | 1995-03-01 | 1998-07-21 | Unisys Corporation | Method and apparatus for dynamically testing a memory within a computer system |
| US5563833A (en) * | 1995-03-03 | 1996-10-08 | International Business Machines Corporation | Using one memory to supply addresses to an associated memory during testing |
| US5553082A (en) * | 1995-05-01 | 1996-09-03 | International Business Machines Corporation | Built-in self-test for logic circuitry at memory array output |
| US5640509A (en) * | 1995-10-03 | 1997-06-17 | Intel Corporation | Programmable built-in self-test function for an integrated circuit |
| US5721863A (en) * | 1996-01-29 | 1998-02-24 | International Business Machines Corporation | Method and structure for accessing semi-associative cache memory using multiple memories to store different components of the address |
| US5802070A (en) * | 1996-10-03 | 1998-09-01 | International Business Machines Corporation | Testing associative memory |
| US5996106A (en) | 1997-02-04 | 1999-11-30 | Micron Technology, Inc. | Multi bank test mode for memory devices |
| US5909049A (en) | 1997-02-11 | 1999-06-01 | Actel Corporation | Antifuse programmed PROM cell |
| US5913928A (en) | 1997-05-09 | 1999-06-22 | Micron Technology, Inc. | Data compression test mode independent of redundancy |
| US6148364A (en) * | 1997-12-30 | 2000-11-14 | Netlogic Microsystems, Inc. | Method and apparatus for cascading content addressable memory devices |
| US6199140B1 (en) * | 1997-10-30 | 2001-03-06 | Netlogic Microsystems, Inc. | Multiport content addressable memory device and timing signals |
| US6112319A (en) * | 1998-02-20 | 2000-08-29 | Micron Electronics, Inc. | Method and system for verifying the accuracy of stored data |
| US6219748B1 (en) | 1998-05-11 | 2001-04-17 | Netlogic Microsystems, Inc. | Method and apparatus for implementing a learn instruction in a content addressable memory device |
| US6240485B1 (en) | 1998-05-11 | 2001-05-29 | Netlogic Microsystems, Inc. | Method and apparatus for implementing a learn instruction in a depth cascaded content addressable memory system |
| US6381673B1 (en) | 1998-07-06 | 2002-04-30 | Netlogic Microsystems, Inc. | Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device |
| US6330696B1 (en) * | 1998-08-13 | 2001-12-11 | Agere Systems Guardian Corp | Self-testing of DRAMs for multiple faults |
| US6460112B1 (en) | 1999-02-23 | 2002-10-01 | Netlogic Microsystems, Llc | Method and apparatus for determining a longest prefix match in a content addressable memory device |
| US6574702B2 (en) | 1999-02-23 | 2003-06-03 | Netlogic Microsystems, Inc. | Method and apparatus for determining an exact match in a content addressable memory device |
| US6539455B1 (en) | 1999-02-23 | 2003-03-25 | Netlogic Microsystems, Inc. | Method and apparatus for determining an exact match in a ternary content addressable memory device |
| US6499081B1 (en) | 1999-02-23 | 2002-12-24 | Netlogic Microsystems, Inc. | Method and apparatus for determining a longest prefix match in a segmented content addressable memory device |
| US6892272B1 (en) | 1999-02-23 | 2005-05-10 | Netlogic Microsystems, Inc. | Method and apparatus for determining a longest prefix match in a content addressable memory device |
| US6137707A (en) * | 1999-03-26 | 2000-10-24 | Netlogic Microsystems | Method and apparatus for simultaneously performing a plurality of compare operations in content addressable memory device |
| US6286116B1 (en) * | 1999-03-26 | 2001-09-04 | Compaq Computer Corporation | Built-in test method for content addressable memories |
| IT1308100B1 (it) * | 1999-05-17 | 2001-11-29 | Cselt Centro Studi Lab Telecom | Perfezionamenti alle memorie indirizzabili mediante il contenuto |
| US6496950B1 (en) * | 1999-08-11 | 2002-12-17 | Lsi Logic Corporation | Testing content addressable static memories |
| US6392910B1 (en) | 1999-09-10 | 2002-05-21 | Sibercore Technologies, Inc. | Priority encoder with multiple match function for content addressable memories and methods for implementing the same |
| US6944709B2 (en) * | 1999-09-23 | 2005-09-13 | Netlogic Microsystems, Inc. | Content addressable memory with block-programmable mask write mode, word width and priority |
| US6934795B2 (en) * | 1999-09-23 | 2005-08-23 | Netlogic Microsystems, Inc. | Content addressable memory with programmable word width and programmable priority |
| US7272027B2 (en) * | 1999-09-23 | 2007-09-18 | Netlogic Microsystems, Inc. | Priority circuit for content addressable memory |
| US7487200B1 (en) | 1999-09-23 | 2009-02-03 | Netlogic Microsystems, Inc. | Method and apparatus for performing priority encoding in a segmented classification system |
| US7143231B1 (en) | 1999-09-23 | 2006-11-28 | Netlogic Microsystems, Inc. | Method and apparatus for performing packet classification for policy-based packet routing |
| US6567340B1 (en) | 1999-09-23 | 2003-05-20 | Netlogic Microsystems, Inc. | Memory storage cell based array of counters |
| US7110407B1 (en) | 1999-09-23 | 2006-09-19 | Netlogic Microsystems, Inc. | Method and apparatus for performing priority encoding in a segmented classification system using enable signals |
| US6543016B1 (en) | 1999-11-04 | 2003-04-01 | Agere Systems Inc. | Testing content-addressable memories |
| US6550034B1 (en) | 2000-02-17 | 2003-04-15 | Hewlett Packard Development Company, L.P. | Built-in self test for content addressable memory |
| JP3508849B2 (ja) * | 2000-07-12 | 2004-03-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 半導体装置および半導体装置の検査方法 |
| US7043673B1 (en) | 2001-08-03 | 2006-05-09 | Netlogic Microsystems, Inc. | Content addressable memory with priority-biased error detection sequencing |
| US7237156B1 (en) | 2001-08-03 | 2007-06-26 | Netlogic Microsystems, Inc. | Content addressable memory with error detection |
| US7257763B1 (en) | 2001-08-03 | 2007-08-14 | Netlogic Microsystems, Inc. | Content addressable memory with error signaling |
| US7283380B1 (en) | 2001-08-03 | 2007-10-16 | Netlogic Microsystems, Inc. | Content addressable memory with selective error logging |
| US6914795B1 (en) * | 2001-08-03 | 2005-07-05 | Netlogic Microsystems, Inc. | Content addressable memory with selective error logging |
| US6430072B1 (en) | 2001-10-01 | 2002-08-06 | International Business Machines Corporation | Embedded CAM test structure for fully testing all matchlines |
| US7301961B1 (en) | 2001-12-27 | 2007-11-27 | Cypress Semiconductor Corportion | Method and apparatus for configuring signal lines according to idle codes |
| US7174419B1 (en) * | 2003-05-30 | 2007-02-06 | Netlogic Microsystems, Inc | Content addressable memory device with source-selecting data translator |
| CN100365787C (zh) * | 2003-07-29 | 2008-01-30 | 华为技术有限公司 | 支持写缓冲的flash内部单元测试方法 |
| US7428672B2 (en) * | 2003-08-27 | 2008-09-23 | Micron Technology, Inc. | Apparatus and methods for testing memory devices |
| US7219276B2 (en) * | 2003-10-07 | 2007-05-15 | Micron Technology, Inc. | Testing CMOS CAM with redundancy |
| US7304873B1 (en) | 2005-01-25 | 2007-12-04 | Netlogic Microsystems, Inc. | Method for on-the-fly error correction in a content addressable memory (CAM) and device therefor |
| EP2100308B1 (de) * | 2006-12-07 | 2011-07-06 | Continental Teves AG & Co. oHG | Verfahren und halbleiterspeicher mit einer einrichtung zur erkennung von adressierungsfehlern |
| US8570053B1 (en) | 2007-07-03 | 2013-10-29 | Cypress Semiconductor Corporation | Capacitive field sensor with sigma-delta modulator |
| US8169238B1 (en) | 2007-07-03 | 2012-05-01 | Cypress Semiconductor Corporation | Capacitance to frequency converter |
| TWI382423B (zh) * | 2008-04-18 | 2013-01-11 | Realtek Semiconductor Corp | 記憶裝置及其測試方法 |
| US8990631B1 (en) | 2011-03-03 | 2015-03-24 | Netlogic Microsystems, Inc. | Packet format for error reporting in a content addressable memory |
| KR102814656B1 (ko) * | 2019-01-11 | 2025-05-30 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 휘발성 메모리 내 오류를 처리하는 방법 및 장치 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57189397A (en) * | 1981-05-14 | 1982-11-20 | Toshiba Corp | Semiconductor storage device |
| JPS59168995A (ja) * | 1983-03-17 | 1984-09-22 | Mitsubishi Electric Corp | 記憶装置 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3420991A (en) * | 1965-04-29 | 1969-01-07 | Rca Corp | Error detection system |
| US3800286A (en) * | 1972-08-24 | 1974-03-26 | Honeywell Inf Systems | Address development technique utilizing a content addressable memory |
| US4377855A (en) * | 1980-11-06 | 1983-03-22 | National Semiconductor Corporation | Content-addressable memory |
| US4559618A (en) * | 1982-09-13 | 1985-12-17 | Data General Corp. | Content-addressable memory module with associative clear |
| US4532606A (en) * | 1983-07-14 | 1985-07-30 | Burroughs Corporation | Content addressable memory cell with shift capability |
| US4661930A (en) * | 1984-08-02 | 1987-04-28 | Texas Instruments Incorporated | High speed testing of integrated circuit |
| US4729117A (en) * | 1985-03-20 | 1988-03-01 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
| US4680760A (en) * | 1985-08-05 | 1987-07-14 | Motorola, Inc. | Accelerated test apparatus and support logic for a content addressable memory |
| JP2609211B2 (ja) * | 1987-03-16 | 1997-05-14 | シーメンス・アクチエンゲゼルシヤフト | メモリセルの検査回路装置および方法 |
| JP2604606B2 (ja) * | 1987-11-24 | 1997-04-30 | 株式会社アドバンテスト | 回路試験装置 |
| US4912710A (en) * | 1988-02-29 | 1990-03-27 | Harris Corporation | Self-checking random access memory |
-
1990
- 1990-04-02 US US07/502,965 patent/US5107501A/en not_active Expired - Lifetime
-
1991
- 1991-03-26 EP EP91302596A patent/EP0451985B1/en not_active Expired - Lifetime
- 1991-03-26 DE DE69116919T patent/DE69116919T2/de not_active Expired - Fee Related
- 1991-03-30 KR KR1019910005134A patent/KR940011427B1/ko not_active Expired - Fee Related
- 1991-04-02 JP JP3094988A patent/JPH04228199A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57189397A (en) * | 1981-05-14 | 1982-11-20 | Toshiba Corp | Semiconductor storage device |
| JPS59168995A (ja) * | 1983-03-17 | 1984-09-22 | Mitsubishi Electric Corp | 記憶装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7966531B2 (en) | 2005-11-14 | 2011-06-21 | Mitsubishi Electric Corporation | Memory diagnosis apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| KR910018907A (ko) | 1991-11-30 |
| EP0451985A3 (en) | 1992-09-02 |
| EP0451985B1 (en) | 1996-02-07 |
| US5107501A (en) | 1992-04-21 |
| DE69116919D1 (de) | 1996-03-21 |
| EP0451985A2 (en) | 1991-10-16 |
| KR940011427B1 (ko) | 1994-12-15 |
| DE69116919T2 (de) | 1996-06-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH04228199A (ja) | 内容参照可能メモリの自己検査方法及び装置 | |
| US6421794B1 (en) | Method and apparatus for diagnosing memory using self-testing circuits | |
| US6519725B1 (en) | Diagnosis of RAMS using functional patterns | |
| US4715034A (en) | Method of and system for fast functional testing of random access memories | |
| JP3650411B2 (ja) | 自動メモリー・テスタのための冗長性アナライザ | |
| US7900086B2 (en) | Accelerating test, debug and failure analysis of a multiprocessor device | |
| FR1604463A (ja) | ||
| US20050047229A1 (en) | Method and circuit for collecting memory failure information | |
| JP3645578B2 (ja) | スマート・メモリの組込み自己検査のための装置と方法 | |
| US20030204795A1 (en) | Testing of ECC memories | |
| US6286116B1 (en) | Built-in test method for content addressable memories | |
| US7076706B2 (en) | Method and apparatus for ABIST diagnostics | |
| US5978946A (en) | Methods and apparatus for system testing of processors and computers using signature analysis | |
| Schanstra et al. | Industrial evaluation of stress combinations for march tests applied to SRAMs | |
| WO2006134411A1 (en) | Built-in-self-test method for a semiconductor memory | |
| US6041426A (en) | Built in self test BIST for RAMS using a Johnson counter as a source of data | |
| US7475314B2 (en) | Mechanism for read-only memory built-in self-test | |
| US7395470B2 (en) | Method, apparatus, and computer program product for diagnosing a scan chain failure employing fuses coupled to the scan chain | |
| Brauch et al. | Design of cache test hardware on the HP PA8500 | |
| US20060248414A1 (en) | Method and system for BitMap Analysis System for high speed testing of memories | |
| Ney et al. | A history-based diagnosis technique for static and dynamic faults in srams | |
| JPH0628896A (ja) | Bistによるメモリのテスト方法 | |
| EP4672246A2 (en) | QUICK LOW-ZONE SELF-TEST FOR READ MEMORY | |
| Yamada et al. | Pseudorandom pattern built‐in self‐test for embedded rams | |
| JPS6366799A (ja) | 半導体記憶装置 |