JPH06250938A - Ramアレイのテスト及び制御を行なう回路及びその方法 - Google Patents

Ramアレイのテスト及び制御を行なう回路及びその方法

Info

Publication number
JPH06250938A
JPH06250938A JP4251895A JP25189592A JPH06250938A JP H06250938 A JPH06250938 A JP H06250938A JP 4251895 A JP4251895 A JP 4251895A JP 25189592 A JP25189592 A JP 25189592A JP H06250938 A JPH06250938 A JP H06250938A
Authority
JP
Japan
Prior art keywords
test
data
ram
register
bit
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.)
Granted
Application number
JP4251895A
Other languages
English (en)
Other versions
JP2702855B2 (ja
Inventor
Partha Raghavachari
ラガヴァシャリ パーサ
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.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of JPH06250938A publication Critical patent/JPH06250938A/ja
Application granted granted Critical
Publication of JP2702855B2 publication Critical patent/JP2702855B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0684Configuration or reconfiguration with feedback, e.g. presence or absence of unit detected by addressing, overflow detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Tests Of Electronic Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Programmable Controllers (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【目的】 RAMのアレイをテストし制御する高速高効
率回路を提供する。 【構成】 本発明による、RAM141、142、143
・・・14nの8組のバンク12の制御及びテストを行
なう電子回路10は、それらRAMバンクへのアクセス
を制御して読み出し及び書き込み動作が実行されるよう
にし、且つそれらのRAMのテストを開始するための制
御器20を有する。この回路10はまた、それらのRA
Mに書き込まれたデータ及び読み出されたデータ中のパ
リティ・エラーを検出し、且つ制御器20で開始された
テスト中に起きるエラーを検出するデータ経路部22を
有する。更に、インタフェース部24が設けられてお
り、このインタフェース部24によって、テスト命令、
状態情報及びエラー・データを、4線式境界走査バスを
通じて上記電子回路10との間で通信が行われる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、メモリ・デバイスを
テストし、且つそれらテストの間に見いだされたエラー
を選択的に訂正するだけでなく、それらメモリ・デバイ
スのアレイを制御する電子回路及びこの電子回路を使用
する方法に関する。
【0002】
【従来の技術】近年、RAMの記憶容量が増大し続けて
いるので、代表的にはマイクロプロセッサーによって実
行されるソフトウェアに基づくテスト実行アルゴリズム
を伴う一般的なテスト実行技法によって、メモリ・ボー
ド上にアレイされているRAMをテストするのに相当な
時間が必要である。RAMのアレイをテストする最も簡
単な方法は、連続する記憶位置の各々に第1のバイナリ
ー・ビット(例えば、“1”)を書き込み、続いて先に
書き込まれているビットが存在しているかどうかを判定
するためにその記憶位置のデータを読み出す方法であ
る。その後、第2のバイナリー・ビット(例えば、
“0”)が連続する記憶位置の各々に書き込まれ、続い
てそのようなビットが、実際、現に存在しているかどう
かを調べるために読み出し動作が遂行される(なお、
“1”と“0”の何れが最初に書き込まれているかは重
要ではない)。もし、或るRAMの記憶位置から読み出
されたビットが、その同じ記憶位置に先に書き込まれて
いるビットと相違している場合には、そのときは誤りが
存在している。
【0003】連続する記憶位置に“1”と“0”とを連
続的に書き込み、且つ、それらを読み出すことによっ
て、RAMのアレイをテストするアルゴリズムは、一般
的に「マーチ・テスト実行アルゴリズム」として知られ
ている。最も簡単なマーチ・テスト実行アルゴリズム
は、連続するRAMの各記憶位置に対して“1”の書き
込み及び読み出しを行ない、それに続いてそのような記
憶位置の各々に対して“0”の書き込み及び読み出し
(または、その逆の操作)を行なうことによって実行さ
れる。そのようなテストではそのようなアレイ内の各R
AM内の各記憶位置を、4回、別々の時点でアクセスす
る必要が有る。この理由で、そのようなマーチ・テスト
実行アルゴリズムは4Nの複雑さを持つと言われる。各
記憶位置をより多くの回数アクセスすることを必要とす
る、更に複雑なマーチ・テスト実行アルゴリズムは、相
応的に高い複雑さを持つ。14Nまたは30Nまでもの
複雑さを持つ記憶位置は珍しくはない。
【0004】
【発明が解決しようとする課題】アレイ内の各RAMの
各記憶位置への必要なアクセス回数が多くなる程、各記
憶位置をアクセスするのに或る限度の時間(例えば、8
0ナノ秒)が存在するので、テストのための時間が長く
なる。33MHzもの速さで働く極めて高速度のマイク
ロプロセッサーでさえ、RAMの大きなアレイを有する
メモリ・ボードを簡単なマーチ・テスト実行アルゴリズ
ムを実行することによってテストするためにそのマイク
ロプロセッサーに必要とされる時間は長くなる。
【0005】従って、高速且つ効率的な方法でRAMの
アレイをテストするために特に適合する回路が必要であ
る。
【0006】
【課題を解決するための手段】本発明によって、RAM
のアレイをテストするだけでなく制御する回路が提供さ
れる。本発明の回路は、RAMのうちで利用者によって
規定されているアドレスに符合するRAM内の記憶位置
へのアクセスを開始するように働く制御器を含有する。
更に、この制御器はまた、選ばれた時間間隔の間に、記
憶位置に対して利用者によって規定されているマーチ・
テストを開始する働きをする。この制御器とは別に、本
発明はまた上記の如くアクセスされた記憶位置へ書き込
まれるべきデータ及びその記憶位置から読み出されるべ
きデータを格納し、更に利用者によって規定されている
アドレス(もしそれが存在する場合)及びそれらRAM
へ書き込まれるべきデータ内のパリティ・エラー、並び
に利用者によって規定されているマーチ・テストの実行
中に検出された記憶位置内にエラーが存在する場合に、
それらエラーを検出するように働くデータ経路部を含有
する。本発明の回路は、RAMのアレイのテストを開始
し、且つテスト中にエラーを検出する特殊なエレメント
を含有し、従来のマイクロプロセッサーよりも速く、極
めて高速にRAMのテストを実行することができる。
【0007】
【作用】本発明の好ましい実施例では、外部テスト・シ
ステムによって開始される本発明の回路の境界走査テス
トを促進するために、この回路が4線式境界走査ポート
を介してテスト情報及びテスト命令を伝達できるように
するインタフェース手段が提供される。
【0008】
【実施例】図1は、従来一般のRAM141、142、1
3・・・14nで構成される8組までの個々のRAMバ
ンク12(図1には、1個のRAMバンクのみが図示さ
れている)を制御し、且つテストする、本発明による制
御・テスト回路10のブロック・ダイヤグラムである。
RAMバンク12は、制御・テスト回路10と共に、回
路ボード15によって実行される。各RAMバンク12
内のRAM141、142、143・・・14nの個数n
は、格納されている各データ語と関連するチェック・ビ
ットまたはパリティ・ビットの個数だけでなく、格納さ
れるべきデータ語の所望の語長との双方に依存する。
【0009】或る好ましい実施例では、各RAMバンク
12に格納される各データ語のビット長は32ビットで
あるが、7個の別のチェック・ビットがパリティ・チェ
ックの目的のために、各データ語と共に格納される。従
って、各データ語及び関連するチェック・ビット・サム
の全ビット幅は39ビットである。或る好ましい実施例
では、各RAMバンク12内の各RAM141、142
143・・・14nは、4Mx1の多様性を持つように選
択され、その結果、各RAMバンク12には39個の別
々のRAM141、142、143・・・1439が含有さ
れる。データはデータ・バス16を通じてRAMバンク
12内のRAM141、142、143・・・1439へエ
ントリーされ、且つ、これらから検索されるが、他方、
アドレス情報はアドレス・バス18上の各RAMバンク
12へ供給される。なお、各RAMバンク12は、より
少ない個数のRAMを持つことも、或いはまたより多く
の個数のRAMを持つこともでき、これらRAMバンク
12内の各RAM141、142、143・・・14nの構
成は、格納されるべきデータ語の所望の語長及び関連す
るチェック・ビットの個数によって相違するようにする
ことができる。例えば、格納されるべき各データ語の語
長は256ビット程度のビット幅とすることができ、そ
れによって各RAMバンク12がそのような語長のデー
タ語及びそれと関連するパリティ・ビットを格納するた
めに必要な、相応する個数のRAMを持つようにするこ
とができる。
【0010】本発明の制御・テスト回路10は、制御部
20、データ経路(即ち、エラー検出・訂正)部22、
及びインタフェース部24で構成されている。以下にお
いてより詳細に述べるように、制御部20は、各RAM
バンク12内のRAM141、142、143・・・14n
に対するアドレス動作だけでなく、それらのテストをも
制御する働きを奏する。データ経路部22は、制御部2
0によって開始された利用者によって規定されているマ
ーチ・テスト・アルゴリズムを実行している間に、何ら
かのエラーが存在することを検出する働きを奏する。さ
らにまた、データ経路部22はチェック・ビット・エラ
ーを検出し、且つ何らかの単一ビット・メモリ・エラー
が有ればそれらを訂正する働きを奏する。
【0011】インタフェース部24は、図16を参照し
てより詳細に述べるように、ニューヨーク州ニューヨー
ク市に所在するIEEEから発行された文献、「IEE
E1149.1 境界走査アクセス・ポート及び境界走
査アーキテクチャ(Boundary Scan Acc
ess Port and Boundary−Scan
Architecture)」に記載されている「IE
EE1149.1規格」に適合する4線式境界走査ポー
トを通じて外部テスト・システム25と通信する能力を
制御・テスト回路10へ供する。
【0012】制御部20 図1に見られるように、制御部20は、各々が30ビッ
トのビット幅を持つ4個の別々のレジスタ261、2
2、263、264で構成され、先入れ・先出し(FI
FO)レジスタの形を取っているアドレス待ち行列26
を含有する。これら4個のレジスタ261、262、26
3、264は、RAMバンク12に結合されているマイク
ロコンピューターのような外部ソース(図示せず)から
バス27を介して、4個の30ビットのアドレス語(S
A[31:02]のうちの別々の一つを供給される。各
アドレス語SA[31:02]は、RAMバンク12の
うちの一つのバンク内の記憶位置或いは制御部20自体
の中の記憶位置のアドレスを表わす。4個の個々のレジ
スタ261、262、263、264のアドレス待ち行列2
6を構成することによって、これら4個のレジスタのう
ちの一つに格納されているアドレス語は、更に速いアク
セスを提供するために、新しいアドレス語がアドレス待
ち行列26中の別のレジスタにエントリーされる間に読
み出されるようにすることができる。
【0013】各アドレス語SA[31:02]は、4ビ
ットのパリティ語SAP0−SAP3を供給される。各
アドレス語SA[31:02]に供給されたパリティ語
SAP0−SAP3は、アドレス待ち行列26には格納
されず、ラッチ28に格納される。ラッチ28で受信さ
れた後、パリティ語SAP0−SAP3は、排他的OR
ゲートの木構造(図示せず)に構成されているパリティ
・チェック回路30へ伝達される。このパリティ・チェ
ック回路30は、以下に記載されるような方法で働くよ
うにされているとき、パリティ語SAP0−SAP3を
評価してアドレス語SA[31:02]が適切なパリテ
ィをもっているかどうかを判定する。
【0014】もし、そのパリティ語がエラーである場
合、パリティ・チェック回路30によって行なわれる動
作は、アドレス語SA[31:02]がRAMバンク1
2の記憶位置と、制御・テスト回路10自体の記憶位置
の何れに関連しているかに依存する。もし、アドレス語
SA[31:02]がRAMバンク12の記憶位置に関
連しており、且つその関連するパリティ語SAP0−S
AP3が間違ったパリティを表わしている場合には、ア
ドレス待ち行列26がアドレス・バス18にそのような
アドレス語を与えることは禁止される。他方、もしアド
レス語SA[31:02]が制御・テスト回路10内の
記憶位置に符合しており、且つその関連するパリティ語
SAP0−SAP3が間違ったパリティを表わしている
場合には、アドレス待ち行列26は、それにもかかわら
ずそのアドレス語を出力する。このように、制御・テス
ト回路10との通信は、この制御・テスト回路10内の
記憶位置をアドレスすることができない場合であって
も、可能にされる。
【0015】アドレス待ち行列26から出力されたアド
レス語SA[31:02]は、記憶容量とページ・サイ
ズとに従ってそのアドレス語のビットのシフト動作と消
去動作とを選択的に行なう組合わせ回路を有するアドレ
ス・シフター32へ入力される。ページ・サイズは利用
者が選択可能であり、RAM141、142、143・・
・14nのページ・バースト・モード動作中にアクセス
されることができる。制御・テスト回路10の好適実施
例では、ページ・サイズは32ビットのビット幅を持つ
データ語に対しては代表的には「2」である(なお、こ
のページ・サイズは「16」程の大きさであってもよ
い)。その記憶容量はアクセスされるべき所望の記憶位
置の行及び列を特定しているアドレス語SA[31:0
2]内のビット数に影響する。例えば、RAM141
142、143・・・14nの各々が4Mx1の多様性を
持つ好適な実施例では、そのアドレス語SA[31:0
2]の行及び列を特定している部分は、各々11ビット
のビット幅である。
【0016】アドレス・シフター32は、行アドレス・
マルチプレクサ34へ結合されており、この行アドレス
・マルチプレクサ34は、アドレス・シフター32によ
って処理されたアドレス語にその記憶容量を表わしてい
る信号を多重化し、RAMバンク12内の所望の記憶位
置の行アドレスを表わす信号を生成する働きを奏する。
行アドレス・マルチプレクサ34の出力は、アドレス・
バス18への出力を行なうマルチプレクサ35の入力端
へ結合されている。
【0017】アドレス・シフター32はまた、列アドレ
ス・マルチプレクサ36へ結合されている。列アドレス
・マルチプレクサ36は、アドレス・シフター32によ
って処理されたアドレス語に各RAMバンク12内のR
AM141、142、143・・・14nの密度及び個体数
を表わす信号をそれぞれ多重化し、RAMバンク12内
の記憶位置の列アドレスを表わす信号を生じる働きを奏
する。アドレス・カウンター38の出力は、ページ・モ
ード・アドレス動作中にアドレス計数を漸増するか或い
は漸減する働きを奏するロジック・ブロック40へ入力
されている。
【0018】ロジック・ブロック40の出力は、上記の
如くアドレス・バス18への出力を行なうマルチプレク
サ35へ入力される。RAMバンク12に対するアドレ
ス動作を支援するために、制御部20には、アドレス比
較器・行アドレス・ストローブ/列アドレス・ストロー
ブ生成器ユニット44が含有されている。このアドレス
比較器・行アドレス・ストローブ/列アドレス・ストロ
ーブ生成器ユニット44内の比較器(図示せず)は、ア
ドレス待ち行列26から受信されたアドレス語を所定の
リストのアドレス語と比較し、RAMバンク12内にア
ドレス語SA[31:02]に対応する記憶位置が有る
かどうかを判定する。
【0019】そのような比較の結果に基づいて、アドレ
ス比較器・行アドレス・ストローブ/列アドレス・スト
ローブ生成器ユニット44内の各論理回路(図示せず)
対が一対の8ビット信号RAS0-7及びCAS0-7を
個々に生成し、所望の記憶位置を包含しているRAMバ
ンク12内の行及び列、それぞれのアクセスを可能にす
る働きを奏する。リフレッシュ・ロジック・ブロック4
2は、アドレス・バス18をリフレッシュする働きを奏
し、またアドレス比較器・行アドレス・ストローブ/列
アドレス・ストローブ生成器ユニット44をリフレッシ
ュする働きも奏する。
【0020】制御部20内には、個々に入力バス47上
で受信された命令情報及び命令データを格納する16個
のレジスタ461、462、463・・・4617を包含す
るレジスタ・アレイ46が存在する。図2は、レジスタ
・アレイ46のメモリ・マップであり、このメモリ・マ
ップは個々のレジスタ461、462、463・・・461
7の(16進数)アドレス(そのxは冗長値を表わす)
及びレジスタ・アクセス・モード(即ち、そのレジスタ
が読み出し・書き込みの双方が可能なものかまたは読み
出しのみが可能なものかに基づくアクセス・モード)を
特定する。
【0021】レジスタ・アレイ46内のレジスタ461
は代表的には32ビットのビット幅を有しており、この
レジスタ461は制御・テスト回路10の動作を制御す
る32ビットの命令語を格納するので、このレジスタ4
1を以下命令レジスタと呼ぶ。
【0022】図3は、命令レジスタ461内のビット・
フィールドのメモリ・マップである。ビット0の状態
は、制御部20が制御・テスト回路10によって制御さ
れる8個のRAMバンク12のうち一つ以上に対してマ
ーチ・テストを開始するかどうかを判定する。ビット1
−8の各々は、8個のRAMバンク12を個々にテスト
できるようにする。ビット9は、指定されたRAMバン
ク12のテストが、誤りが見いだされたときに、完遂す
るまで実行されるべきか、中断されるべきかを判定す
る。ビット10は、アドレス・カウンター38が列アド
レス・マルチプレクサ36によって出力された列アドレ
スを漸増するか或いは漸減するかを判定する。ビット1
2及び13は、各RAMバンク12をアクセスしている
ページ・モード中に完遂されるべき連続的なアクセスの
数を表わしている。ビット14及び15は、アドレス待
ち行列の奥行き、即ち、入信アドレスを格納するために
使用されているレジスタ261、262、263、264
全数を表わしている。ビット16及び17はリフレッシ
ュを行なう時間間隔を定めている。
【0023】ビット18の状態は、制御部20が「メモ
リ洗浄(scrubbing)動作」、即ち通常読み出
し動作中に見いだされた単一不良ビットを訂正する動作
を実行する。ビット19−26は、RAMバンク12の
うちの何れが現在動作中であるかを表わしている。ビッ
ト28は、外部レフレッシュ命令を促進するリフレッシ
ュ・ロジック・ブロック42を不動作にする選択枝を提
供する。ビット29は、それによってアドレス待ち行列
26へ入力されたアドレスのパリティが偶数か奇数にセ
ットされることを可能とし、他方、ビット30は、アド
レス待ち行列26に入力されたアドレス語SA[31:
02]がパリティ・チェック回路30によってパリティ
を検査されるべきであるかどうかを制御する。ビット1
1、27、31は将来の使用のために留保されている。
【0024】図2に示されるように、レジスタ・アレイ
46内のレジスタ462は代表的には32ビットのビッ
ト幅を有しており、このレジスタ462はRAMバンク
12が存在することとその全個体数とに関する情報を包
含している32ビットの状態語を格納するので、このレ
ジスタ462を以下状態レジスタと呼ぶ。
【0025】図4は、状態レジスタ462内のビット・
フィールドのメモリ・マップである。ビット0−3の状
態は、制御・テスト回路10の制御部20に対する4ビ
ットの識別コードを確立する。制御部20へ特定の識別
コードを割り当てることによって、個々の制御・テスト
回路10の制御部20が同一の回路ボード15上に有る
別々のRAMバンク12を制御することが可能になる。
ビット4−11は、RAM141、142、143・・・
14nのRAMバンク12が如何に多く存在するか(即
ち、如何に多くのRAMバンク12が制御・テスト回路
10によって制御され、テストされるべきであるか)を
表わしている。ビット対13:12、15:14、1
7:16、19:18、21:20、23:22、2
5:24、27:26は、制御部20によって制御され
ている8個のRAMバンク12の個々の構成を表わして
いる。
【0026】RAM141、142、143・・・14n
各々は、既に述べた如く4Mx1の多様性を持っている
が、制御部20は256Kx1の多様性を持つRAM
や、或いは256Kx4、1Mx1、1Mx4、4Mx
1、4Mx4、16Mx1、16Mx4の多様性を持つ
RAMを十分に制御することが可能である。ビット28
は、制御・テスト回路10の特別の型を表わしている。
ビット29−31はテストされるべき8個の個々のRA
Mバンク12のRAMに誤りが包含されていることを示
す表示を供する。
【0027】図2に示されるように、レジスタ・アレイ
46内のレジスタ463は代表的には32ビットのビッ
ト幅を有しており、このレジスタ463はエラーを包含
することが見いだされたRAMバンク12内の第1記憶
位置のアドレスを格納するので、このレジスタ463
以下エラー・アドレス・レジスタと呼ぶ。このエラーは
単一ビット・エラー或いはメモリ・マーチ・テスト・エ
ラーの場合でのように非致命的なものであろう。対照的
に、このエラーは複数ビット・エラー、書き込みデータ
・パリティ・エラー、アドレス・パリティ・エラー或い
はメモリ・バンク・エラーの場合でのように致命的であ
ろう。
【0028】レジスタ・アレイ46内のレジスタ464
もまた代表的には32ビットのビット幅を有しており、
このレジスタ464は図1のアドレス比較器・行アドレ
ス・ストローブ/列アドレス・ストローブ生成器ユニッ
ト44によって生成された行アドレス・ストローブ(R
AS)信号及び列アドレス・ストローブ(CAS)信号
パラメーターを確立するビット・パターンを格納するの
で、このレジスタ46 4を以下ストローブ信号パターン
・レジスタと呼ぶ。
【0029】レジスタ・アレイ46内に、更に各々が代
表的には32ビットのビット幅を有する4個のレジスタ
465、466、467、468が存在する。これらのレジ
スタ465、466、467、468の各々は、それらがR
AMバンク12のテスト中に実行されるべき一揃えのマ
ーチ・テスト・エレメントを格納するので、これらをマ
ーチ・テスト・レジスタと呼ぶ。各マーチ・テスト・エ
レメントは一つ以上のシーケンスの読み出し及び書き込
み動作から成る。図示の実施例では、各マーチ・テスト
・エレメントは7つ程の個々の読み出し及び書き込み動
作で構成されている。
【0030】図5は、マーチ・テスト・エレメント内の
ビット・フィールドのメモリ・マップである。このマー
チ・テスト・エレメント内のビット2:0は、ここで特
定された読み出し・書き込み動作の(7回までの)回数
を特定する。ビット3はそのマーチ・テスト・エレメン
トを構成している読み出し・書き込み動作が連続する記
憶位置上で昇順のアドレス順で遂行されるべきか、或い
は降順のアドレス順で遂行されるべきかを特定する。ビ
ット5:4はマーチ・テストの最初の動作の性質(即
ち、この最初の動作が読み出し動作であるべきか、或い
は書き込み動作であるべきか)を特定する。ビット対
7:6、9:8、11:10、13:12、15:1
4、17:16は、マーチ・テスト・エレメントの残る
6個の動作それぞれの性質を特定する。
【0031】図2に示されるように、レジスタ469
4610、4611・・・4616は代表的には32ビットの
ビット幅を有しており、各々は8個のRAMバンク12
のうちの対応するRAMバンクに対する「バンク・アド
レス境界レジスタ」として指定されている。各RAMバ
ンク12は、そのRAMバンク内の全記憶位置に対する
始点アドレス(「下位」アドレス)及び終点アドレス
(「上位」アドレス)を有する。これら下位アドレス及
び上位アドレスは「バンク境界アドレス」と呼ばれてい
る。8個のRAMバンク12の各々に対するバンク境界
アドレスは、バンク・アドレス境界レジスタ469、4
10、4611・・・4616に、それぞれ個別的に格納さ
れている。このようにして、入信アドレスは8個のバン
ク・アドレス境界レジスタ469、4610、4611・・
・4616の個々の値について検査され、どのRAMバン
クがアクセスされるべきかが判定されるようにすること
ができる。
【0032】図2に示されるように、レジスタ・アレイ
46はまた代表的には32ビットのビット幅を有するレ
ジスタ4617を包含している。このレジスタ4617はそ
のレジスタ内の種々のビットの状態が様々なエラーがテ
スト中に起きていたかどうかを表わしているのでエラー
・フラグ・レジスタと呼ばれる。図6は、エラー・フラ
グ・レジスタ4617内のビット・フィールドのメモリ・
マップである。ビット7:0の各々は、8個の様々な種
類のエラーのうちの特定のエラーの有無を表わす。ビッ
ト31:8は、将来の使用のために留保されている。
【0033】図1に示されるように、制御部20内には
更に代表的にはエンコーダーとして動作する命令コード
生成器48が存在し、この命令コード生成器48はバス
27に沿って外部から制御部20へ入力される命令信号
に従って、項OPCODE[3:0]によって指定され
ている4ビットの命令コードを生成する。命令コード生
成器48によって生成されたこの4ビットの命令コード
は、RAMバンク12上で実行されるべき16個の種々
の動作のうちの特定の動作を指定する。図7は、命令コ
ード生成器48によって生成される命令コードと各命令
コードに対応する動作の表を示している。
【0034】図1に示されるように、図1の命令コード
生成器48によって生成されたこの4ビットの命令コー
ドは、図8に図示されている状態機械50だけでなく、
データ経路部22との双方へ入力される。図8に示され
るように、状態機械50は、代表的には13個の組合わ
せ回路521、522、523・・・5213と、各々が対
応する組合わせ回路と関係する13個の個々のフリップ
・フロップ541、542、543・・・5413とから成
る13状態を持つ状態機械である。組合わせ回路5
1、522、523・・・5213は、各々が命令レジス
タ461からの選択されたビットだけでなく、命令コー
ド生成器48からの命令コードのビットを個々に供給さ
れる一組の入力端I1、I2・・・Inを有する。各組合
わせ回路は、それぞれフリップ・フロップ541、5
2、543・・・5413のうちの対応するフリップ・フ
ロップのD入力端へ結合された単一出力端Oを有する。
組合わせ回路521、522、523・・・5213の各々
には、各回路がその回路の入力端に特定のビット・パタ
ーンが現れているときにその出力端Oに「1」だけを出
力するように接続されているNANDゲート、ANDゲ
ート、NORゲート及びORゲート等、様々の種類のゲ
ートから成る一組の論理ゲート(図示せず)が存在す
る。
【0035】フリップ・フロップ541、542、543
・・・5413の各々は、そのD入力端に「1」が供給さ
れたとき、一組の論理「1」レベルの状態ビットst
i、st0、st1、st2、st2e、st2c、s
t3、st3e、st3c、st4、st4e、st4
c、stDのうちの個々のビットをそれぞれ生成する。
これら組合わせ回路521、522、523・・・5213
は、或る所定の時点において状態ビットsti、st
0、st1、st2、st2e、st2c、st3、s
t3e、st3c、st4、st4e、st4c、st
Dのうちのたった一つだけが(即ち、「1」レベルに)
セットされるように構成されている。図9は、図1の制
御・テスト回路10の種々の動作の各々の間にフリップ
・フロップ541、542、543・・・5413によって
生成された状態ビットのシーケンスを示している。図1
の状態機械50からの状態ビットは制御・テスト回路1
0の種々のエレメントへ分配され、図9中に記載されて
いる動作のうちの個々の動作を達成する。
【0036】図1に示されるように、状態機械50とア
ドレス比較器・行アドレス・ストローブ/列アドレス・
ストローブ生成器ユニット44とにマーチ・テスト遅延
・開始論理演算装置55が結合されており、このマーチ
・テスト遅延・開始論理演算装置55は選択されたRA
Mバンク12に対するテストの実行を開始する働きを奏
する。図10は、マーチ・テスト遅延・開始論理演算装
置55の概略的なブロック・ダイヤグラムである。図1
0に示されるように、マーチ・テスト遅延・開始論理演
算装置55には一時記憶レジスタ551が含有され、こ
の一時記憶レジスタ551は、連続するマーチ・テスト
(MT)プログラム・レジスタ465、466、467
468のうちの一つのMTプログラム・レジスタ内のマ
ーチ・テスト・エレメントを表わしている18個の最下
位ビットを格納する。事実、MTプログラム・レジスタ
465、466、467、468は、各々、32ビットのビ
ット幅を有しており、これらは集合的に、先ず第1のM
Tプログラム・レジスタ465から開始して、逐次的な
方法でこれらのレジスタに格納されているマーチ・テス
ト・エレメントからのシフト動作を促進する、単一の1
28ビット・シフト・レジスタとして取り扱われる。
【0037】このようなシフト動作を促進するために、
一時記憶レジスタ551内に格納されている、(連続す
るMTプログラム・レジスタ465、466、467、4
8のうちの一つから丁度読み出されたばかりのマーチ
・テスト・エレメント内の動作の数を表わす)最下位の
3ビットが、総ゼロ状態検出器(即ち、3入力NORゲ
ート)552と第1加算器553との双方へ入力される。
一時記憶レジスタ551内の最下位の3ビットが、(現
在のマーチ・テスト・エレメントが一以上の動作を包含
することを表わす)総非ゼロ状態では、第1加算器55
3が次にマーチ・テスト・エレメントを引き出すため
に、MTプログラム・レジスタ465、466、467
468からシフトされるべきビット数を判定する。第1
加算器553の出力は、MTプログラム・レジスタ4
5、466、467、468から一時記憶レジスタ551
へのビットのシフト動作を制御する信号を出力する2入
力ORゲート554の第1入力端へ供給される。
【0038】総ゼロ状態検出器552は第2加算器555
へ結合されている出力端を有し、第2加算器555の出
力端は2入力ORゲート554の第2入力端へ結合され
ている。第2加算器555は、MTプログラム・レジス
タ465、466、467、468からシフトされるべきビ
ット数を判定し、総ゼロ状態が検出されているときに第
1のMTプログラム・レジスタ465内の第1マーチ・
テスト・エレメントへ戻る。好都合なことに、総ゼロ状
態は現在のマーチ・テスト・エレメント内の動作の数が
ゼロのときに生じる。もし、この現在のマーチ・テスト
・エレメントが有効性を持っていなければ、続く残りの
マーチ・テスト・エレメントもまた有効性を持つことが
ない。従って、総ゼロ状態に遭遇すると、MTプログラ
ム・レジスタ465、466、467、468内の残りの記
憶位置を通じてシフトし、上記第1マーチ・テスト・レ
ジスタ内の第1マーチ・テスト・エレメントへ戻ること
が望ましい。
【0039】加算器553、555の出力端は7ビット・
カウンター556へ結合されており、この7ビット・カ
ウンター556はMTプログラム・レジスタ465、46
6、467、468からシフトされたビットの全数を計数
する働きを奏する。このように、(MTプログラム・レ
ジスタ465、466、467、468の全内容である)1
28ビットがシフトされてしまったときに或る判定が成
されるようにすることができる。
【0040】一時記憶レジスタ551内に格納されてい
る第4位の最下位ビットは、現在動作状態にあるマーチ
・テスト・エレメントのアドレス進行ビットを表わして
おり、集合的に排他的ORゲート558で表わされてい
る、12個から成る第1の組の排他的ORゲートの個々
のORゲートの第1入力端へ入力される。一時記憶レジ
スタ551内に格納されている第4位の最下位ビットは
また、集合的に排他的ORゲート5510で表わされてい
る、12個から成る第2の組の排他的ORゲートの個々
のORゲートの第1入力端へ入力される。排他的ORゲ
ート558で表わされている第1の組の排他的ORゲー
トは、12ビット・カウンターで構成されている行アド
レス・カウンター5511によって生成される個々のビッ
トを、インバーター557を介して供給される第2入力
端を有しており、この行アドレス・カウンター5511
計数は、テストの目的のためにアクセスされるべき記憶
位置を有する特定のRAMバンク12の行アドレスに相
当する。排他的ORゲート558で表わされている、上
記第1の組の排他的ORゲートの出力は、図1のアドレ
ス比較器・行アドレス・ストローブ/列アドレス・スト
ローブ生成器ユニット44へ供給される。
【0041】行アドレス・カウンター5511の4個の最
上位ビットは、RAMバンク12内のRAM141、1
2、143・・・14nの密度を表わす信号によって制
御されるマルチプレクサ5512へ入力される。このマル
チプレクサ5512の出力信号は、アクセスされるべき特
定のRAMバンク12の記憶位置の行アドレスを表わし
ており、アクセスされるべき特定のRAMバンク12の
列アドレスを生成する働きを奏する12ビット・カウン
ターで構成されている列アドレス・カウンター5513
入力される。この列アドレス・カウンター5513の12
個の最下位ビットは、インバーター559を介して排他
的ORゲート5510で表わされている12個から成る第
2の組の排他的ORゲートの第2の入力端へ供給され
る。排他的ORゲート5510の出力信号はアドレス比較
器・行アドレス・ストローブ/列アドレス・ストローブ
生成器ユニット44へ供給される。
【0042】列アドレス・カウンター5513の4個の最
上位ビットは、マルチプレクサ5512と同様にRAMバ
ンク12内のRAM141、142、143・・・14n
密度を表わす信号によって制御されるマルチプレクサ5
14へ入力される。このマルチプレクサ5514の出力信
号は、アクセスされるべきRAMバンク12の列アドレ
スを表わしており、代表的には状態レジスタ462から
与えられているRAMバンク12のバンク数を供給され
るレジスタ5518からのデータを、最初に負荷されるカ
ウンター5516へ入力される。マルチプレクサ5514
らの信号に応答して、カウンター5516の計数が漸減さ
れる。この結果、カウンター5516はRAMバンク12
の全部のテストが完了したときに所定状態の信号を出力
する。
【0043】一時記憶レジスタ551の14個の最上位
ビットは、現在動作状態にあるマーチ・テスト・エレメ
ントの7個の個々の動作を表わしており、2個の別々の
7:1マルチプレクサで構成されているマルチプレクサ
5519へ入力される。このマルチプレクサ5519は3ビ
ット・カウンター5520によって制御され、このマルチ
プレクサ5519へ入力されているビット対のうち、どの
ビット対が4個の信号、WRITE DATA、WRI
TE DATA、READ DATA、READDATA
を個々に生じるためのビットを復号化するデコーダ55
21へ出力される。デコーダ5521からの信号は図1の状
態機械50及び図1のマーチ・テスト・パターン生成器
・エラー検出器ユニット68へ供給される。
【0044】データ経路部22 データ経路部22は、代表的にはバス57上の4個の3
2ビットのデータ語SD[31:00]入力を個々に供
給される4個のレジスタ561、562、563、564
で構成され、FIFOデバイスとして動作する、書き込
みデータ待ち行列56を含有している。各データ語は3
2ビットであるから、書き込みデータ待ち行列56中の
各レジスタ561、562、563、564も同様に32ビ
ット幅である。データ語がより大きな語長のもの(例え
ば、256ビットのビット幅)であれば、各レジスタ5
1、562、563、564も対応してより大型である。
【0045】各データ語SD[31:00]と共に、そ
のデータ語のパリティを示す4ビットのパリティ語SP
D[3:0]が供給される。各パリティ語SPD[3:
0]は、受信されるとすぐに前記パリティ・チェック回
路30と概ね等しい構成のパリティ・チェック回路60
へ供給される前に、個々にラッチ58へ格納される。パ
リティ・チェック回路60は、上記の方法で動作するよ
うにされているときに、パリティ語SPD[3:0]を
検査しその対応の入信データ語SD[31:00]が適
切なパリティを持っているかどうかを判定する。アドレ
ス待ち行列26の場合の如く、入信データ語SD[3
1:00]の間違っているパリティを判定した後、続い
て行なわれる動作は、そのデータがRAMバンク12の
うちの一つに書き込まれるべきか、或いはまた10に書
き込まれるべきかに依存する。間違ったパリティを持つ
データ語SD[31:00]が書き込みデータ待ち行列
56からRAMバンク12へ書き込まれることはなく、
書き込みデータ待ち行列56から制御・テスト回路10
の記憶位置へ書き込まれることになる。
【0046】最初に書き込みデータ待ち行列56へ書き
込まれているデータ語SD[31:00]は、代表的に
は排他的ORゲート(図示せず)であるチェック・ビッ
ト生成器62へ、このチェック・ビット生成器62が上
記の方法で動作するようにされているときに出力され、
このチェック・ビット生成器62が各データ語に対する
7ビットのパリティ・パターン、即ちチェック・サム・
パターンを生成する働きを奏する。このデータ語SD
[31:00]はその7ビットのパリティ・パターンと
共に、RAMバンク12へ伝送されるためにデータ・バ
ス16上へ出力される。
【0047】書き込みデータ待ち行列56の外に、更に
データ経路部22は4個の別々のレジスタ641、6
2、643、644から成る読み出しデータ待ち行列6
4を含有しており、各レジスタ641、642、643
644はRAMバンク12のうちの一つからのデータ語
を格納する働きを奏する。
【0048】データ経路部22はまた、バス57上にエ
ントリーされ、書き込みデータ待ち行列56で緩衝され
た命令を受信するレジスタ・アレイ66を含有する。レ
ジスタ・アレイ66には、このレジスタ・アレイ66の
メモリ・マップである図11に示されるように、命令レ
ジスタ661、状態レジスタ662及びエラー・データ・
レジスタ663が存在する。これらの名前が意味するよ
うに、命令レジスタ661、状態レジスタ662及びエラ
ー・データ・レジスタ663の各々は、それぞれ命令、
状態情報、及びエラー・データを格納する働きを奏す
る。既に明記されているように、この好適実施例では、
各RAMバンク12によって格納されるデータ語の語長
は32ビットのビット幅である。このデータ語がより大
きな語長のものである場合には、より大きなアレイのR
AMバンク12が示唆され、これら別のRAMバンクを
制御し且つテストする別々の命令レジスタ、状態レジス
タ及びエラー・データ・レジスタ(図示せず)を更に含
有し、データ経路部22と同等の特徴を有することが必
要となる。
【0049】図12は、図11の命令レジスタ661
のビット・フィールドのメモリ・マップである。命令レ
ジスタ661内では、ビット対1:0が書き込みデータ
待ち行列56の奥行き(動作状態にあるレジスタ数)を
特定し、他方、ビット対3:2が読み出しデータ待ち行
列64の奥行きを特定する。ビット4は、命令レジスタ
661に関連するRAMバンク12内に書き込まれてい
るデータ語が偶数のパリティを持っているか奇数のパリ
ティを持っているかを特定する。ビット5は、パリティ
・チェックがパリティ・チェック回路60によって遂行
されるべきかどうかを特定する。ビット6は、セットさ
れているとき、強制的にRAMバンク12から読み出さ
れたデータ語のパリティ・ビット・パターンSDP
[3:0]が間違っているようにして、他のパリティ・
チェック回路によりこのデータ語のパリティが検査され
るようにする。ビット7は、関連するRAMバンク12
内のエラーの検査が実際に実行されるべきかどうかを制
御する。
【0050】ビット14:8は、チェック・ビット生成
器62によって生成されたチェック・ビット・パターン
と取り換えられるべき所定の7ビットのチェック・パタ
ーンを格納する働きを奏する。ビット15は、ビット1
4:8によって表わされるチェック・ビット・パターン
がチェック・ビット生成器62によって生成されたチェ
ック・ビット・パターンと取り換えられるべきかどうか
を制御する。ビット16は、遂行されるべきメモリ・チ
ェック動作の種類が単一エラー検出動作であるかまたは
二重エラー検出動作であるか、或いはパリティ・チェッ
ク動作であるかを判定する。ビット17は、単一のメモ
リ・エラーが訂正されるべきか否かを判定する。ビット
19:18は、ビット6がセットされているとき、デー
タ語SD[31:00]のビットのうちどのビットが間
違った値のパリティに為されているかを特定する。ビッ
ト21は、RAMバンク12上にマーチ・テストを行な
っているときに、2個の相違するテスト・パターンのう
ちどのテスト・パターンが使用されるべきかを判定す
る。ビット21がセットされているとき、一対のテスト
・パターン0101・・・01/1010・・・10が
使用される。さもなければ、テスト・パターン0000
・・・0/1111・・・1が使用される。ビット3
1:22は将来の使用のために留保されている。
【0051】図13は、図11の状態レジスタ662
のビット・フィールドのメモリ・マップである。状態レ
ジスタ662内のビット0、1、2、3は、それぞれ、
書き込みデータ・パリティ・エラー、単一ビット・メモ
リ・エラー、複数ビット・メモリ・エラー及びマーチ・
テスト・エラーが存在することを表わしている。ビット
14:8はRAMバンク12から最後に読み出されたデ
ータ語のシンドローム・ビットを包含している。ビット
30:24はRAMバンク12から読み出された最新デ
ータのチェック・ビットを包含している。ビット7:
4、15:23及び31は将来の使用のために留保され
ている。
【0052】レジスタ・アレイ66内のエラー・データ
・レジスタ663は、RAMバンク12の特定のバンク
に関連するマーチ・テスト・エラー探索ビット、即ち、
書き込みデータ・パリティ・エラー・ビットを格納する
32ビットのビット幅を持つレジスタを有する。代表的
には、これらレジスタ内のビットは、最初に制御・テス
ト回路10の動作の立ち上げが行なわれたときには冗長
値を包含する。
【0053】データ経路部22内にはマーチ・テスト・
パターン生成器・エラー検出器ユニット68が在り、こ
のマーチ・テスト・パターン生成器・エラー検出器ユニ
ット68はマーチ・テスト・エラー・パターンを生成す
る働きと、RAMバンク12へそのマーチ・テスト・エ
ラー・パターンを伝送した後、続いて何らかのエラーを
検出する働きとの双方を奏する。図14に示されるよう
に、マーチ・テスト・パターン生成器・エラー検出器ユ
ニット68は、4個の39ビットのテスト・ベクトル
{000・・・0}、{111・・・1}、{1010
・・・10}、{0101・・・01}を受信するマル
チプレクサ70をcompriseする。テスト・ベクトル{0
00・・・0}は、マルチプレクサ70の対応する入力
端の電位を接地電位にすることによって得られ、他方、
テスト・ベクトル{111・・・1}は対応する複数の
入力端に一定電圧(例えば、5ボルト)を供給すること
によって得られる。残る2個のテスト・ベクトル{10
10・・・10}、{0101・・・01}は上記接地
電位の信号と5ボルト信号とを組み合わせることによっ
て得られる。レジスタ・アレイ66のビット21の状
態、命令レジスタ661、及び図1の命令コード生成器
48によって生成された特定の命令コードに依存して、
マルチプレクサ70は関連するRAMバンク12のマー
チ・テスト中にテスト・ベクトル{000・・・0}、
{111・・・1}の対とテスト・ベクトル{1010
・・・10}、{0101・・・01}の対を個々にデ
ータ・バス16上に書き込む働きを奏する。
【0054】マルチプレクサ70の外に、マーチ・テス
ト・パターン生成器・エラー検出器ユニット68は、各
々がRAMバンク12のうちの一つから読み出された3
2ビットのデータ語MD[31:0]と7ビットのチェ
ック・サムMDCHK[6:0]のビットを個々に受信
する39個の別々の第1入力端、及びマルチプレクサ7
0によって出力された信号を個々に受信する39個の別
々の第2入力端を有する、一組の39個から成る排他的
ORゲート721、722、723・・・7239で構成さ
れるORゲート・アレイ72をも有する。明記されてい
るように、各RAMバンク12に対するマーチ・テスト
の実行中、マルチプレクサ70からのテスト・パターン
対がデータ・バス16を通じて各RAMバンク12内の
RAM141・・・14nに書き込まれる。その後、その
RAMバンク内のRAM141・・・14nの内容が読み
出され、続いてマーチ・テスト・パターン生成器・エラ
ー検出器ユニット68の排他的ORゲート721、7
2、723・・・7239へ入力される前に一時記憶レジ
スタ74に格納される。一時記憶レジスタ74からデー
タ語MD[31:0]と7ビットのチェック・サムMD
CHK[6:0]とが受信されると、排他的ORゲート
721、722、723・・・7239の組み合わせによっ
て、メモリ・エラーが存在することだけでなく、そのメ
モリ・エラーの位置(ビット位置)をも示す39ビット
信号が生成される。この情報はテストされるべきRAM
バンク12と関連するエラー・データ・レジスタ6
3、666、669、6612、6615、6618、6
21、6624のうちの符合する一つに格納するレジスタ
・アレイ66へ供給される。
【0055】マーチ・テストを実行し、その結果として
起きているエラーを検出する外に、データ経路部22は
また、各RAMバンク12から読み出されたデータのビ
ット・エラーを検出し、もしそのエラーが単一ビット・
エラーの種類のものであれば、それらデータを訂正する
働きを奏する。この為に、データ経路部22は、RAM
バンク12からの読み出しが完了した後でシンドローム
生成器76に格納されているデータ語MD[31:0]
及び7ビットのチェック・サムMDCHK[6:0]内
のエラーを検出するために、排他的ORゲートの形を取
るシンドローム生成器76を含有する。このデータ語M
D[31:0]及びその7ビットのチェック・サムMD
CHK[6:0]内の何らかのエラーは、レジスタ・ア
レイ66と代表的には39個の別々のNANDゲート
(図示せず)から成るエラー探索回路78との双方へ供
給される、シンドローム生成器76の出力信号に反映さ
れることになる。エラー探索回路78はシンドローム生
成器76の出力信号を受信するとデータ語MD[31:
0]及び7ビットのチェック・サムMDCHK[6:
0]内の何らかのエラーを指示する。
【0056】エラー探索回路78の出力端にはエラー訂
正回路80が結合されている。実際には、このエラー訂
正回路80は32個の2入力排他的ORゲート(図示せ
ず)から成り、各排他的ORゲートはその第1入力端に
エラー探索回路78の出力信号の32ビットを個々に供
給される。そのような各ゲートの残る入力端には一時記
憶レジスタ74に保持されているデータ語MD[31:
0]のビットを個々に供給される。エラー訂正回路80
の出力は、訂正されたデータ語を表わしており、レジス
タ・アレイ66からのデータと一時記憶レジスタ74か
らのデータとの双方を多重化するマルチプレクサ82へ
伝送される。マルチプレクサ82の出力は読み出しデー
タ待ち行列64へ与えられる。
【0057】図15は図1の制御・テスト回路10内の
インタフェース部24の概略的なブロック・ダイヤグラ
ムを示しており、このインタフェース部24は「IEE
E1149.1標準」に従って制御・テスト回路10の
境界走査テストを促進する、テスト・アクセス・ポート
(Test Access Port;TAP)を供す
る。インタフェース部24内には、外部テスト・システ
ム(図示せず)からテスト・モード選択(Test M
ode Select;TMS)入力信号、、、それぞ
れTMSバスとテスト・クロック(Test Cloc
k;TCK)信号とを、それぞれTMSバスとTCKバ
スとに個々に沿って供給される。TAP制御器84は代
表的にはこのTAP制御器84へエントリーされたTM
S入力信号とTCK信号とに応答してインタフェース部
24内のエレメントの(後述する)動作のシーケンスを
制御する同期式有限状態機械(図示せず)である。
【0058】TAP制御器84によって制御されるイン
タフェース部24内のエレメントのうち、命令レジスタ
86はテスト・データ入力情報をインタフェース部24
へエントリーするテスト・データ情報(Test Da
ta Input;TDI)バスを通じてエントリーさ
れたテスト命令を保持する働きを奏する。命令レジスタ
86に包含される命令は、レジスタ・アレイ46及び6
6内の幾つかのレジスタのみならず、レジスタ90、9
2及び94のバンクの各々を制御するTAP制御器84
からの信号に応答して、デコーダ88によってデコード
される。
【0059】レジスタ90は、「境界走査レジスタ」と
して特定され、各々が図1の制御・テスト回路10の入
出力(I/O)と関連する一連の個別レジスタ・セルで
構成される。これら境界走査レジスタ・セルは連鎖状に
連係されている。既知の状態を持つ信号が制御・テスト
回路10の入力端の各々へ印加されると、制御・テスト
回路10が正しくに動作していると仮定すると、この制
御・テスト回路10の出力の状態は予言可能な方法で変
化する。従って、既知の状態を持つビット・ストリーム
が境界走査データ・レジスタ90の境界走査レジスタ・
セルを通じてシフトされると、この制御・テスト回路1
0によってテスト信号が受信された後、続いてそれらビ
ットが次々にそれら境界走査レジスタ・セルを介してシ
フトされる。既知の状態を持つテスト・ベクトル・ビッ
トのビット・ストリームが制御・テスト回路10へ印加
された後、境界走査データ・レジスタ90からシフトさ
れたビットを検査することによって、制御・テスト回路
10の動作中の何らかの欠陥がそれら自体を明らかにす
る。
【0060】レジスタ92は「バイパス・レジスタ」と
呼ばれ、代表的には単一のシフト・レジスタ・セルで構
成されている。バイパス・レジスタ92がデコーダ88
によって動作状態にされると、このバイパス・レジスタ
92によってTDIバス上にエントリーされているテス
ト・データ情報が制御・テスト回路10内の他のレジス
タをバイパスすることができるようになる。
【0061】レジスタ94は、インタフェース部24の
動作には本質的なものではないが、このレジスタは制御
・テスト回路10のアイデンティティ(即ち、部品番
号)、その部品の特殊な様式、及び製造元を表わす情報
を格納する働きを奏するので、一般的には「デバイス識
別レジスタ」と呼ばれる。
【0062】インタフェース部24は、レジスタ・アレ
イ46の命令レジスタ461、状態レジスタ462、及び
MTプログラム・レジスタ465、466、467、468
を制御部20と共有し、且つ、レジスタ・アレイ66の
エラー・データ・レジスタ663をデータ経路部22と
共有している。レジスタ90、92、94、及びそれら
共有されている命令レジスタ461、状態レジスタ4
2、MTプログラム・レジスタ465、466、467
468、及びエラー・データ・レジスタ663、666
669、6612、6615、6618、6621、6624は、
各々、その出力を命令レジスタ86によって制御される
マルチプレクサ95へ供給する。マルチプレクサ95の
出力はマルチプレクサ96の第1入力端へ供給され、こ
のマルチプレクサ96の第2入力端は命令レジスタ86
の出力を供給されている。TAP制御器84から供給さ
れる信号の状態に従って、マルチプレクサ96はその入
力端のうち、選択された入力端での信号をフリップ・フ
ロップ98へ伝達し、続いてフリップ・フロップ98は
同様に命令レジスタ86によって制御されている出力バ
ッファー100へ供給される。出力バッファー100は
テスト・データ出力(Test Data Outpu
t;TDO)バスへ供給される信号を生成する。
【0063】インタフェース部24は、前述した「IE
EE 1149.1標準」に記載されている境界走査技
法を使用して制御・テスト回路10が外部テスト・シス
テム25(図示せず)によりテストされるようにする利
益がある。そのうえ、インタフェース部24に、レジス
タ・アレイ46の命令レジスタ461、状態レジスタ4
2、MTプログラム・レジスタ465、466、467
468とレジスタ・アレイ66のエラー・データ・レジ
スタ663とを共有させていることによって、外部テス
ト・システム25がRAMバンク12のテストに関する
情報にアクセスすることができる。
【0064】制御・テスト回路10の動作 次に制御・テスト回路10の動作について説明を行な
う。先ず、制御・テスト回路10の動作の立ち上げが行
なわれると、この制御・テスト回路10は、或る時間の
間隔を置いてこの制御・テスト回路10にあてがわれて
いる二つの別々のリセット命令を受信することによって
エントリーされる立ち上げ段階を経る。その第2のリセ
ット命令が受信された後、続いて命令コード生成器48
が8個の別々の書き込み命令及び読み出し命令を生成す
る。命令コード生成器48からの命令コードに応答し
て、各RAMバンク内のRAM141、142、143
・・14nの全個体数及び密度を判定するために、状態
機械50が、或るデータ語が各別々のRAMバンク12
内の8個の選択された記憶位置に書き込まれ、続いてそ
れらから読み出されるようにする。制御部20内のレジ
スタ・アレイ46の状態レジスタ462に続いて各RA
Mバンク12内のRAM141、142、143・・・1
nの全個体数及び密度が書き込まれる。
【0065】立ち上げの後、続いてレジスタ・アレイ4
6及び66内の種々のレジスタが、代表的にはそれぞれ
入力バス47と57とへ個々に適切なデータをエントリ
ーすることによってプログラムされる。レジスタ・アレ
イ46内のレジスタにデータを書き込むときには、その
レジスタのアドレスがアドレス待ち行列26へエントリ
ーされ、このアドレスが認められると、そのデータが入
力バス47を通じてそのレジスタへエントリーされる。
データが同様な方法でレジスタ・アレイ66中へ書き込
まれる。
【0066】一旦、制御・テスト回路10の立ち上げが
完了し、且つレジスタ・アレイ46と66とのプログラ
ムが完了すると、制御部20が一以上の記憶位置をアク
セスすることが可能になる。単一読み出し動作を実行す
るために、制御部20は、外部ソース(図示せず)から
の単一アクセス読み出し命令に応答して、先にアドレス
待ち行列26内にエントリーされているアドレスをスト
ローブし、適切なRAMバンク12内の対応する記憶位
置のデータを読み出す。そのアドレスされた記憶位置か
ら読み出されたデータ語は、エラー訂正回路80によっ
てエラーの検査が為される前に、先ず一時記憶レジスタ
74へエントリーされる。単一ビット・エラーと複数ビ
ット・エラーとの何れかが存在することに依存して、単
一エラー・フラグまたは複数エラー・フラグがセットさ
れる。もし単一ビット・データ・エラーが存在し、且
つ、任意のエラー訂正動作が実行されると、そのエラー
が訂正され、訂正されたデータが書き込みデータ待ち行
列56に書き込まれる。
【0067】複数ビット・エラーが存在する場合は、デ
ータ訂正は可能ではない。そのかわり、二以上の間違っ
たビットを包含するデータ語が書き込みデータ待ち行列
56へ書き込まれ、他方、同時に複数ビット・エラー・
フラグがセットされる。
【0068】前記「メモリ洗浄動作」の選択枝が実行さ
れている場合、即ちデータ語の訂正即ちスクラビング
(scrubbing)が実行されている場合、単一の
不良ビットを包含するデータ語に対して訂正されたデー
タ語がエラー訂正回路80によって生成され、この訂正
されたデータ語が既に述べた如く書き込みデータ待ち行
列56に書き込まれる。更に、チェック・ビット生成器
62はその訂正されたデータ語に対してチェック・サム
を生成し、その訂正されたデータ語と新規なチェック・
サムが適切な記憶位置へ書き込まれる。この書き込み動
作は自動的に行なわれる。
【0069】単一書き込み動作は、データ語が書き込ま
れるべき記憶位置のアドレス待ち行列26に受信され、
且つ、書き込みデータ待ち行列56にそのデータ語自体
が受信されることによって開始される。もし前記、パリ
ティ・チェック動作の選択枝が実行されている場合は、
書き込みデータ待ち行列56内のデータ語のパリティが
検査される。書き込みデータ待ち行列56中のデータ語
が間違ったパリティを持っている場合には、そのデータ
語は商況消去される。さもなければ、書き込み動作が実
行される。
【0070】RAMバンク12のうちの一つへの単一ア
クセスが可能になると、更に、制御・テスト回路10は
また次の方法で複数の(ページ・モード)アクセスを達
成することができる。RAMバンク12のうちの一つの
キャッシェ・ラインへのアクセスのような、複数の読み
出し動作を要求している外部命令に応答して、制御部2
0は図2のレジスタ・アレイ46の命令レジスタ461
内のビット[13;12]によって特定されている数個
の記憶位置を逐次アクセスする。ページ・モード読み出
し動作の場合、RAMバンク12の同一の行内の複数の
記憶位置がアクセスされ、且つ、各データ語がそれらか
ら読み出されて一時記憶レジスタ74へエントリーされ
る。RAM141、142、143・・・14nのうちの一
つから読み出された各データ語内の何らかの単一ビット
・エラーが訂正される。複数ビット・エラーに対しては
訂正は行なわれないが、そのかわり適切なエラー・フラ
グがセットされる。ページ・モード書き込み動作は単一
書き込み動作と殆ど同じ方法で実行される。もし、ペー
ジ・モード書き込み動作中に書き込まれるべきデータ語
のうちの一つが間違ったパリティを持っている場合に
は、その動作は一旦その間違ったパリティが検出される
と中止される。
【0071】制御・テスト回路10はまた、適切な命令
を受信すると、読み出し・修正・書き込みモード動作の
実行を可能にする。読み出し・修正・書き込みの一連動
作は、アドレス待ち行列26へのエントリーが完了して
いるアドレスを持つRAMバンク12のうちの適切なバ
ンク内の記憶位置に先ず読み出し動作を遂行することに
よって実行される。次いで、この記憶位置がアクセスさ
れ、そのデータがそこから読み出されて一時記憶レジス
タ74へ格納され、その後、単一ビット・エラー及び複
数ビット・エラーに対する検査が為される。単一ビット
・エラーはエラー訂正回路80によって訂正されるが、
複数ビット・エラーは訂正されず、そのかわり適切なエ
ラー・フラグがセットされる。エラーが無いか或いは単
一ビット・エラーに対する訂正が為されたデータ語は、
続いて制御・テスト回路10によって受信されている、
修正されるべきデータ語のビットを持つ信号に従って書
き込みデータ待ち行列56内の(パリティ・エラーを持
たないと想定される)データ語と組み合わされる。この
修正されたデータ語と新たなチェック・サム・ビットと
は、続いてRAMバンク12のうちの一つに書き込まれ
る。メモリから読み出されたデータ語が複数ビット・エ
ラーを持つ場合、または、もし書き込みデータ待ち行列
56内のデータ語がパリティ・エラーを持つ場合には、
書き込み動作は許可されない。
【0072】RAMバンク12のマーチ・テストはレジ
スタ・アレイ46の命令レジスタ461にビット0がセ
ットされると開始される。実際には、このビット0は制
御・テスト回路10の立ち上げの後に続いてセットさ
れ、その結果として6Nの複雑さのマーチ・テストが実
行される。RAMバンク12に対してマーチ・テストを
実行する動作と関連するステップは集合的に図16にフ
ローチャートの形で図示されている。図16に最もよく
図示されているように、RAMバンク12のマーチ・テ
ストは開始命令102が実行されると開始され、その間
にレジスタ・アレイ66のエラー・データ・レジスタ6
3、666、669、6612、6615、661 8、6
21、6624がクリヤーされる。開始命令102に引き
続いて、未だテストされていないRAMバンク12がテ
ストのために指定される(ステップ104)。ステップ
104の初期実行の間に、最初のRAMバンク12(バ
ンク0)が指定される。次ぎのステップ106で、図1
の制御・テスト回路10によって潜在的に制御される8
個のRAMバンク12の全てのテストが完了したかどう
かが判定される。もし完了していれば、ステップ108
が実行され、全てのRAMバンク12のテストが完了し
合格したことを示す表示が与えられる。
【0073】ステップ108の間に、全ての102のテ
ストが完了していないことが判定された場合には、ステ
ップ110が実行され、且つ、次のマーチ・テスト・エ
レメント(即ち、遂行されるべき次の組の読み出し・書
き込み動作)が、図2のレジスタ・アレイ46の連続す
るMTプログラム・レジスタ465、466、467、4
8のうちの記憶位置から連続的に読み出される。ステ
ップ110の初期実行の間に、レジスタ・アレイ46の
第1のMTプログラム・レジスタ465の最初のマーチ
・テスト・エレメントが読み出される。
【0074】ステップ110の間にMTプログラム・レ
ジスタ465、466、467、468から読み出されたマ
ーチ・テスト・エレメントは、次いでそのエレメントが
ナル(空白)値(即ち、0)であるかどうかを判定する
ために検査される(ステップ112)。ナル値が存在す
ると、遂行されるべき所望のマーチ・テスト・エレメン
トの全て(即ち、所望の読み出し・書き込み動作の全
て)が既に遂行されていることが表示される。これらの
状態の下で、次ぎのRAMバンク12が指定される(ス
テップ104)。
【0075】もし、(ステップ110の間に)読み出さ
れたマーチ・テスト・エレメントがナル値ではない場合
には、そのマーチ・テスト・エレメントのアドレス進行
ビット(ビット4)が、それらRAMアドレスが昇順で
アクセスされるべきか、或いは降順でアクセスされるべ
きかを判定するために検査される(ステップ114)。
それらRAMアドレスが、(論理レベル“1”を持つア
ドレス進行ビットによって表わされている)降順でアク
セスされる場合には、始点アドレスが現在のRAMバン
ク12の最高アドレス(N−1)にセットされる(ステ
ップ116)。逆に、アドレス進行ビットが“0”レベ
ルにセットされ、それらのアドレスが昇順でアクセスさ
れるべきことが表示されているときには、その始点アド
レスが最小の順位のアドレス(アドレス=0)にセット
される(ステップ118)。
【0076】一旦、始点アドレスがセットされると、ア
クセスされるべきRAMバンク12のうちの一つの記憶
位置の行を選択するためにRAS信号が表明される(ス
テップ120)。図17に示されるように、RAS信号
が表明された後、そのとき動作しているマーチ・テスト
・エレメントが読み出し動作を要求しているか或いは書
き込み動作を要求しているかが判定される(ステップ1
22)。読み出し動作が要求されている場合には、CA
S信号が表明され、続いてアクセスされるべきRAMバ
ンク12のうちの一つの中の記憶位置の列を選択するた
めにその表明を撤回される(ステップ124)。RAS
信号及びCAS信号の表明によって、それぞれ選択され
た行及び列に在る記憶位置が読み出し動作のためにアク
セスされる。
【0077】一旦、それぞれRAS信号及びCAS信号
によって表明された選択された行及び列に在るRAM記
憶位置がアクセスされてそれらの内容が読み出される
と、この記憶位置から読み出されたデータが読み出され
ることが期待されているデータと対応するかどうかが検
査される。従って、もし“1”がアクセスされた記憶位
置に既に書き込まれていれば、その記憶位置が後で読み
出されるときに、“1”が現れることとなる。もし一致
が見いだされない場合には、アクセスされた記憶位置か
ら読み出されたデータがその期待される値とで排他的O
R作用を受け、その結果が格納される。ほぼ同時に、エ
ラー・ビットが図1のレジスタ・アレイ46のエラー・
フラグ・レジスタ4617と、図1のレジスタ・アレイ6
6の適切な状態レジスタとにセットされる(ステップ1
28)。容易に理解できるように、実際のデータ・ビッ
トと期待されるデータ・ビットとの間で一致が得られな
いことによって、RAMバンク12に誤りが有ることが
明示される。
【0078】ステップ126の間において、読み出され
たデータ・ビットが期待されるデータ・ビットと一致す
る場合には、現在動作状態にあるマーチ・テスト・エレ
メントが別の読み出し動作または書き込み動作を要求し
ているかどうかが検査される(ステップ130)。もし
要求している場合、ステップ122が再度実行される。
さもなければ、RAS信号の表明が撤回され、アクセス
されるべき次のアドレスが引き出される(ステップ13
2)。
【0079】読み出し動作を特定するよりも、むしろ現
在動作状態にあるマーチ・テスト・エレメントは、書き
込み動作を特定することができる。このような状態の下
では、ステップ122の間に遂行されるべき動作の性質
を判定するチェック動作が為された後、書き込み信号
(WE)と共に表明されたり、その表明が撤回されたり
する。その後、そのデータが書き込まれる(ステップ1
34)。このようにして、表明されているRAS信号と
CAS信号とによって確立されたRAM記憶位置にデー
タが書き込まれる。ステップ134に引き続いて、現在
動作状態にあるマーチ・テスト・エレメントが別に遂行
されるべき読み出し動作または書き込み動作を要求して
いるかどうかが検査される(ステップ136)。もし要
求していれば、ステップ122が再度実行され、さもな
ければ、ステップ132が実行される。
【0080】RAS信号の表明が撤回され、且つステッ
プ132の間に次のアドレスが引き出された後、引き続
いてRAMバンク12内の全てのアドレスのアクセスが
実際に完了しているかどうかが検査される(ステップ1
38)。もし全てのアドレスのアクセスが完了し、(現
在動作状態にあるマーチ・テスト・エレメントが実際に
十分遂行されていることが表示され)ていれば、図16
のステップ110が遂行され、他のマーチ・テスト・エ
レメントが現在選択されているマーチ・テスト・レジス
タから検索される。さもなければ、もし現在動作状態に
あるマーチ・テスト・エレメントに対して全てのアドレ
スのアクセスが完了していない場合、図16のステップ
120が再度実行されてRAS信号が次のアドレスに対
して表明される。
【0081】上記に述べたマーチ・テストの実行中にエ
ラーが見いだされると、そのエラーの記憶位置が図1の
レジスタ・アレイ46のエラー・フラグ・レジスタ46
17に格納され、他方、図13の状態レジスタ662内の
ビット[31:29]が、そのエラーが起きたRAMバ
ンク12のアイデンティティを記録する。このエラーを
回復するために、レジスタ・アレイ46内のエラー・ア
ドレス・レジスタ463、状態レジスタ462及びエラー
・フラグ・レジスタ4617が、図1のレジスタ・アレイ
66内のエラー・データ・レジスタ663、666、66
9、6612、6615、6618、6621、6624及び状態
レジスタ662、665、668、6611、661 4、66
17、6620、6623が読み出されるように読み出され
る。続いてこれらのレジスタがクリヤーされる。データ
・パリティ・エラーやアドレス・パリティ・エラーだけ
でなく単一ビット・エラーや複数のメモリ・ビット・エ
ラーの回復も同様に達成される。
【0082】上記実施例はRAM141、142、143
・・・14nの複数のRAMバンク12の制御とテスト
との双方を達成する制御・テスト回路10について述べ
たものであるが、本発明はこの実施例にかぎられるもの
でなない。
【0083】
【発明の効果】以上説明したように、本発明は、RAM
のアレイのテストを開始し、且つテスト中にエラーを検
出する特殊なエレメントを含有し、従来のマイクロプロ
セッサーよりも速く、極めて高速にRAMのテストを実
行できる効果が有る。
【0084】
【図面の簡単な説明】
【図1】本発明による、RAMのバンクを制御し且つ各
バンク内の前記RAMに誤りが有る場合にそれら誤りを
検出するためにそれらRAMをテストする回路を示す概
略ブロック・ダイヤグラムである。
【図2】図1の回路中の第1のレジスタ・アレイ内の一
組のレジスタのメモリ・マップを示す図である。
【図3】図2のアレイ中の命令レジスタ461内のビッ
ト・フィールドのメモリ・マップを示す図である。
【図4】図2のアレイ中の状態レジスタ462内のビッ
ト・フィールドのメモリ・マップを示す図である。
【図5】図2の各レジスタに幾つかが格納されている、
マーチ・テスト・エレメント内のビット・フィールドの
メモリ・マップを示す図である。
【図6】図2のアレイ中のエラー・フラグ・レジスタ4
17内のビット・フィールドのメモリ・マップを示す図
である。
【図7】図1の回路中の命令コード生成器48内の一組
のレジスタの表である。
【図8】図1の回路中の状態機械50を示す概略ブロッ
ク・ダイヤグラムである。
【図9】図1の回路によって実行される複数の種々の動
作の各々に対する図8の状態機械50の状態遷移を示す
表である。
【図10】図1の回路中のマーチ・テスト遅延・開始論
理演算装置55を示す概略ブロック・ダイヤグラムであ
る。
【図11】図1の回路中のレジスタ・アレイ66内の一
組のレジスタのメモリ・マップを示す図である。
【図12】図11のアレイ中の第1命令レジスタ661
内のビット・フィールドのメモリ・マップを示す図であ
る。
【図13】図11のアレイ中の第1状態レジスタ662
内のビット・フィールドのメモリ・マップを示す図であ
る。
【図14】図1の回路中のマーチ・テスト・パターン生
成器・エラー検出器ユニット68を示す概略ブロック・
ダイヤグラムである。
【図15】図1の回路中のインタフェース部24を示す
概略ブロック・ダイヤグラムである。
【図16】図1のRAMをテストするために使用される
マーチ・テスト実行アルゴリズムの一部を示すフロー・
チャートである。
【図17】図1のRAMをテストするために使用される
マーチ・テスト実行アルゴリズムの残りの部分を示すフ
ロー・チャートである。
【符号の説明】
10 制御・テスト回路 12 RAMバンク 141、142、143・・・14n RAM 15 回路ボード 16 データ・バス 18 アドレス・バス 20 制御部 22 データ経路部 24 インタフェース部 25 外部テスト・システム 26 アドレス待ち行列 261、262、263、264 レジスタ 27 入力バス 28 ラッチ 30 パリティ・チェック回路 32 アドレス・シフター 34 行アドレス・マルチプレクサ 35 マルチプレクサ 36 列アドレス・マルチプレクサ 38 アドレス・カウンター 40 ロジック・ブロック 42 リフレッシュ・ロジック・ブロック 44 アドレス比較器・行アドレス・ストローブ/列ア
ドレス・ストローブ生成器ユニット 46 レジスタ・アレイ 461 命令レジスタ 462 状態レジスタ 463 エラー・アドレス・レジスタ 465、466、467、468 MTプログラム・レジス
タ 469、4610、4611・・・4616 バンク・アドレ
ス境界レジスタ 4617 エラー・フラグ・レジスタ 47 入力バス 48 命令コード生成器 50 状態機械 521、522、523・・・5213 組合わせ回路 54 フリップ・フロップ 55 マーチ・テスト遅延・開始論理演算装置 551 一時記憶レジスタ 552 総ゼロ状態検出器 553 第1加算器 554 2入力ORゲート 555 第2加算器 556 7ビット・カウンター 557 インバーター 558 排他的ORゲート 559 インバーター 5510 排他的ORゲート 5511 行アドレス・カウンター 5512 マルチプレクサ 5513 列アドレス・カウンター 5514 マルチプレクサ 5516 カウンター 5518 レジスタ 5519 マルチプレクサ 5520 3ビット・カウンター 5521 デコーダ 56 書き込みデータ待ち行列 56n レジスタ 57 バス 58 ラッチ 60 パリティ・チェック回路 62 チェック・ビット生成器 64 読み出しデータ待ち行列 641、642、643、644 レジスタ 66 レジスタ・アレイ 661、664、667、6610、6613、6616、66
19、6622命令レジスタ 662、665、668、6611、6614、6617、66
20、6623状態レジスタ 663、666、669、6612、6615、6618、66
21、6624エラー・データ・レジスタ 68 マーチ・テスト・パターン生成器・エラー検出器
ユニット 70 マルチプレクサ 72 ORゲート・アレイ 721、722、723・・・7239 排他的ORゲート 74 一時記憶レジスタ 76 シンドローム生成器 78 エラー探索回路 80 エラー訂正回路 82 マルチプレクサ 84 TAP制御器 86 命令レジスタ 88 デコーダ 90 境界走査データ・レジスタ 92 バイパス・レジスタ 94 デバイス識別レジスタ 95 マルチプレクサ 96 マルチプレクサ 98 フリップ・フロップ 100 出力バッファー

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 (a)特定の記憶位置を表わす利用者に
    よって規定されているアドレスをランダム・アクセス・
    メモリ(RAM)のアレイに格納し、(b)前記RAM
    内の前記特定の記憶位置をアクセスし、(c)所定の時
    間間隔で前記RAMのテストを開始する、制御部手段
    と、 (d)前記RAM内に前記特定の記憶位置へ書き込まれ
    るべきデータ及びこの記憶位置から読み出されるべきデ
    ータを格納し、(e)テスト中及び通常動作中に前記R
    AM内のエラーを検出する、データ経路部手段とを有す
    ることを特徴とする、RAMアレイのテスト及び制御を
    行なう回路。
  2. 【請求項2】 前記データ経路部手段が、通常動作中に
    見いだされた前記RAM内の単一ビット・エラーを訂正
    する手段を含有することを特徴とする、請求項1に記載
    の回路。
  3. 【請求項3】 前記制御部手段及び前記データ経路部手
    段を4線式境界走査ポートへ結合するインタフェース手
    段を更に有することを特徴とする、請求項1に記載の回
    路。
  4. 【請求項4】 前記インタフェース手段が、 外部から供給されるクロック信号及びテスト・モード選
    択信号に応答して制御信号を生成するテスト・アクセス
    ・ポート(TAP)制御器と、 外部で生成された情報及び命令を受信するテスト・デー
    タ入力信号バスと、 前記TAP制御器と前記テスト・データ・アクセス・バ
    スとへ結合され、前記TAP制御器によって生成された
    信号を格納し、且つ外部で生成されたテスト・データ信
    号を格納する命令レジスタと、 前記命令レジスタ内に格納されている制御信号を復号化
    するデコーダと、 前記制御部手段と共有され、前記テスト・データ・入力
    バスへ結合され、このバスに受信されている制御命令を
    格納する命令レジスタと、 前記制御部手段と共有され、前記テスト・データ入力バ
    スへ結合され、テスト命令を格納する少なくとも1個の
    マーチ・テスト・レジスタと、 前記制御部手段と共有され、前記テスト・データ入力バ
    スへ結合され、テスト状態情報を格納するテスト・エラ
    ー状態レジスタと、 前記データ経路部手段と共有され、前記テスト・データ
    入力バスへ結合され、前記テスト中に起きる前記RAM
    内のエラーと関連する情報を格納するマーチ・テスト・
    エラー・データ・レジスタと、 最初に前記各レジスタからの前記各信号を多重化し、続
    いてそれら多重化された信号をバッファする多重化動作
    ・出力バッファ手段と、 前記多重化動作・出力バッファ手段へ結合され、前記多
    重化動作・出力バッファ手段によって生成された信号を
    搬送するテスト・データ出力バスとから成ることを特徴
    とする、請求項3に記載の回路。
  5. 【請求項5】 前記制御部手段が、 前記RAM内に記憶位置の利用者によって規定されてい
    るアドレスを格納するアドレス待ち行列と、 前記アドレス待ち行列へ結合され、前記アドレス待ち行
    列内に格納されている前記利用者によって規定されてい
    るアドレスに符合する前記RAMの前記記憶位置をアク
    セスするアドレス手段と、 命令、状態情報、エラー・データ及び利用者によって規
    定されているテスト・プログラムを格納する複数のレジ
    スタを包含するレジスタ・アレイと、 前記レジスタ・アレイへ結合され、前記制御部手段の動
    作を制御する命令コードを生成する命令コード生成器
    と、 前記レジスタ・アレイと前記命令コード生成器へ結合さ
    れ、前記命令コード生成器によって命令された動作を達
    成する状態信号を生成する状態機械と、 前記レジスタ・アレイに結合され、所定の時間間隔で前
    記RAMの前記利用者によって規定されているテストを
    開始するマーチ・テスト開始論理演算手段とから成るこ
    とを特徴とする、請求項1に記載の回路。
  6. 【請求項6】 前記マーチ・テスト開始論理演算手段
    が、 前記レジスタ・アレイから受信された、利用者によって
    規定されているテスト・プログラムを格納する一時記憶
    レジスタと、 前記制御部手段の前記一時記憶レジスタと前記レジスタ
    ・アレイとへ結合され、前記レジスタ・アレイからの利
    用者によって規定されている連続的なテスト・プログラ
    ムを前記一時記憶レジスタ内へシフトする手段と、 前記一時記憶レジスタへ結合され、この一時記憶レジス
    タの動作をテストするため前記RAMの読み出し動作及
    び書き込み動作を開始するために、この一時記憶レジス
    タ内に格納されている前記利用者によって規定されてい
    るテスト・プログラムを復号化する手段と、 前記一時記憶レジスタ内に格納されている前記利用者に
    よって規定されているテスト・プログラムに従う特定の
    順序で前記RAMの連続的なアクセス動作を開始するア
    ドレス進行手段と、から成ることを特徴とする、請求項
    5に記載の回路。
  7. 【請求項7】 前記アドレス待ち行列内に格納されてい
    る各アドレス語のパリティを検査する手段を有すること
    を特徴とする、請求項5に記載の回路。
  8. 【請求項8】 前記データ経路部手段が、 前記RAM内に書き込まれるべき少なくとも1個のデー
    タ語を格納する書き込みデータ待ち行列と、 前記RAMから読み出された少なくとも1個のデータ語
    を格納する読み出しデータ待ち行列と、 前記書き込みデータ待ち行列へ結合され、前記RAM内
    に書き込まれる各データ語に対するチェック・ビット・
    サムを生成するチェック・ビット生成器と、 前記RAMのテスト中に、このRAMへの入力用の利用
    者によって規定されるテスト入力データ語を生成し、且
    つ、このデータ語と前記利用者によって規定されている
    テスト入力データ語との符合を判定するために、テスト
    中に前記RAMから読み出されたデータ語を、解析する
    マーチ・テスト・パターン生成器・エラー検出器ユニッ
    トと、 読みだしデータ待ち行列に結合され、前記RAMから読
    み出されたデータ語を解析し、前記読み出しデータ待ち
    行列内へ前記読み出されたデータ語を格納する前に、何
    らかの単一ビット・エラーを訂正する、エラー検出・訂
    正手段とから成ることを特徴とする、請求項1に記載の
    回路。
  9. 【請求項9】 前記書き込みデータ待ち行列へ入力され
    た各データ語のパリティを検査する手段を含有すること
    を特徴とする、請求項8に記載の回路。
  10. 【請求項10】 ランダム・アクセス・メモリ(RA
    M)アレイをテストする方法において、 (a)前記RAMのアレイ内の複数の前もって選択され
    た個々の記憶位置へ第1のビットを書き込むステップ
    と、 (b)前記既知のビットが存在しているかを判定し、そ
    れによって前記アレイ内の前記RAMの密度を判定する
    ために、前記RAMのアレイ内に前もって選択されてい
    る各記憶位置のデータを読み出すステップと、 (c)前記RAMの密度に従って前記RAMのアレイ内
    の連続する各記憶位置をアドレスするステップと、 (d)前記RAMのアレイ内の連続する各記憶位置に第
    2のビットを書き込むステップと、 (e)前記第2のビットが存在しているかどうかを確認
    するために、連続する各記憶位置のデータを読み出すス
    テップと、 (f)前記第2のビットと逆の論理状態を持つ第3のビ
    ットを、前記RAMのアレイ内の連続する記憶位置のう
    ちの一つに書き込むステップと、 (g)前記第3のビットが存在しているかどうかを確認
    するために、連続する各記憶位置のデータを読み出すス
    テップと、 (h)読み出し動作の際に、先に書き込まれているビッ
    トが包含されていないことが見いだされている前記記憶
    位置を記録するステップとを有することを特徴とするラ
    ンダム・アクセス・メモリ(RAM)アレイのテスト方
    法。
  11. 【請求項11】 ランダム・アクセス・メモリ(RA
    M)アレイをテストする方法において、 (a)前記RAMのアレイ内の複数の所定の記憶位置へ
    第1のビットを書き込むステップと、 (b)前記既知のビットが存在しているかを判定し、そ
    れによって前記アレイ内の前記RAMの密度を判定する
    ために、前記RAMのアレイ内に所定の各記憶位置のデ
    ータを読み出すステップと、 (c)レジスタ内に格納されている複数のマーチ・テス
    ト・エレメントを連続的にそのレジスタからシフトする
    ステップと、 ここで、各々のマーチ・テスト・エレメントは、前記R
    AMのアレイ内の個々の記憶位置で遂行されるべき特定
    の組の、前記記憶位置内にビットを書き込む書き込み動
    作と、この先の書き込み動作中に書き込まれたビットが
    存在しているかどうかを判定するために、前記記憶位置
    の読み出しを行なういる読み出し動作とを規定してお
    り、 (d)前記RAMのアレイ内の各連続する記憶位置をア
    ドレスするステップと、 (e)前記アドレスされた記憶位置に対して、前記マー
    チ・テスト・エレメントの各読み出し動作及び書き込み
    動作を連続的に実行するステップと、 (f)各記憶位置に対する、前記連続するマーチ・テス
    ト・エレメントの動作の実行が完了するまで、上記ステ
    ップ(d)及び(e)を反復するステップと、 (g)読み出し動作の際に、先に書き込まれているビッ
    トが包含されていないことが見いだされている前記記憶
    位置を記録するステップとを有することを特徴とする方
    法。
JP4251895A 1991-08-29 1992-08-28 Ramアレイのテスト及び制御を行なう回路及びその方法 Expired - Fee Related JP2702855B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US752115 1991-08-29
US07/752,115 US5311520A (en) 1991-08-29 1991-08-29 Method and apparatus for programmable memory control with error regulation and test functions

Publications (2)

Publication Number Publication Date
JPH06250938A true JPH06250938A (ja) 1994-09-09
JP2702855B2 JP2702855B2 (ja) 1998-01-26

Family

ID=25024940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4251895A Expired - Fee Related JP2702855B2 (ja) 1991-08-29 1992-08-28 Ramアレイのテスト及び制御を行なう回路及びその方法

Country Status (8)

Country Link
US (1) US5311520A (ja)
EP (2) EP0716421B1 (ja)
JP (1) JP2702855B2 (ja)
KR (1) KR960001948B1 (ja)
CA (1) CA2074750C (ja)
DE (2) DE69605949D1 (ja)
IL (1) IL102967A (ja)
TW (1) TW208074B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519766B2 (en) 2005-03-22 2009-04-14 Infineon Technologies Ag Method and device for transmission of adjustment information for data interface drivers for a RAM module

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3645578B2 (ja) * 1992-09-17 2005-05-11 テキサス インスツルメンツ インコーポレイテツド スマート・メモリの組込み自己検査のための装置と方法
DE4232271C1 (de) * 1992-09-25 1994-02-17 Siemens Ag Elektronischer Baustein mit einer Schieberegisterprüfarchitektur (Boundary-Scan)
US5448576A (en) * 1992-10-29 1995-09-05 Bull Hn Information Systems Inc. Boundary scan architecture extension
US6006343A (en) * 1993-07-30 1999-12-21 Texas Instruments Incorporated Method and apparatus for streamlined testing of electrical circuits
SE502576C2 (sv) * 1993-11-26 1995-11-13 Ellemtel Utvecklings Ab Feltolerant kösystem
US5596734A (en) * 1993-12-17 1997-01-21 Intel Corporation Method and apparatus for programming embedded memories of a variety of integrated circuits using the IEEE test access port
US5617534A (en) * 1994-02-16 1997-04-01 Intel Corporation Interface protocol for testing of a cache memory
GB2289779B (en) * 1994-05-24 1999-04-28 Intel Corp Method and apparatus for automatically scrubbing ECC errors in memory via hardware
US5563833A (en) * 1995-03-03 1996-10-08 International Business Machines Corporation Using one memory to supply addresses to an associated memory during testing
FR2732132B1 (fr) * 1995-03-21 1997-05-23 Sgs Thomson Microelectronics Interface de sortie de donnees binaires
US5715433A (en) * 1995-04-20 1998-02-03 Raghavan; Rajan Dynamic software model for emulating hardware
US5675545A (en) * 1995-09-08 1997-10-07 Ambit Design Systems, Inc. Method of forming a database that defines an integrated circuit memory with built in test circuitry
JPH0993225A (ja) * 1995-09-27 1997-04-04 Kokusai Electric Co Ltd データ受信装置
US5898701A (en) * 1995-12-21 1999-04-27 Cypress Semiconductor Corporation Method and apparatus for testing a device
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
US5768288A (en) * 1996-03-28 1998-06-16 Cypress Semiconductor Corp. Method and apparatus for programming a programmable logic device having verify logic for comparing verify data read from a memory location with program data
US5835503A (en) * 1996-03-28 1998-11-10 Cypress Semiconductor Corp. Method and apparatus for serially programming a programmable logic device
US5815510A (en) * 1996-03-28 1998-09-29 Cypress Semiconductor Corp. Serial programming of instruction codes in different numbers of clock cycles
US5805794A (en) * 1996-03-28 1998-09-08 Cypress Semiconductor Corp. CPLD serial programming with extra read register
FR2753274B1 (fr) * 1996-09-10 1998-11-27 Sgs Thomson Microelectronics Circuit comprenant des moyens de test structurel sans plot de test dedie au test
US5802070A (en) * 1996-10-03 1998-09-01 International Business Machines Corporation Testing associative memory
US6195759B1 (en) * 1997-10-20 2001-02-27 Intel Corporation Method and apparatus for operating a synchronous strobe bus
EP0926599A1 (en) * 1997-12-24 1999-06-30 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Memory control unit with programmable timing
US6701469B1 (en) * 1999-12-30 2004-03-02 Intel Corporation Detecting and handling bus errors in a computer system
US6779141B1 (en) * 2000-06-08 2004-08-17 Sun Microsystems, Inc. System and method for implementing memory testing in a SRAM unit
DE10043137A1 (de) * 2000-08-31 2002-03-14 Bosch Gmbh Robert Vorrichtung und Verfahren zur Kennzeichnung der Version bei integrierten Schaltkreisen und Verwendung zur Steuerung von Betriebsabläufen
JP2005004876A (ja) * 2003-06-11 2005-01-06 Toshiba Corp 半導体記憶装置とその評価方法
US7107390B2 (en) * 2003-10-08 2006-09-12 Micron Technology, Inc. Parity-scanning and refresh in dynamic memory devices
TWI258661B (en) * 2004-03-30 2006-07-21 Infortrend Technology Inc Efficient media scan operations for storage systems
US7370249B2 (en) * 2004-06-22 2008-05-06 Intel Corporation Method and apparatus for testing a memory array
US20070011596A1 (en) * 2005-06-22 2007-01-11 Jungwon Suh Parity check circuit to improve quality of memory device
US7508724B2 (en) 2006-11-30 2009-03-24 Mosaid Technologies Incorporated Circuit and method for testing multi-device systems
CN101562052B (zh) * 2008-04-14 2013-02-27 深圳市朗科科技股份有限公司 存储设备筛选装置及方法
NL2004407C2 (en) * 2010-03-16 2011-09-20 Tu Delft Generic march element based memory built-in self test.
KR102435181B1 (ko) * 2015-11-16 2022-08-23 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
US10408876B2 (en) * 2018-01-29 2019-09-10 Oracle International Corporation Memory circuit march testing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58215799A (ja) * 1982-06-08 1983-12-15 Nec Corp 制御記憶検証方式
JPS5961825A (ja) * 1982-10-01 1984-04-09 Matsushita Electric Ind Co Ltd ズ−ムレンズ鏡筒
JPS63305445A (ja) * 1987-06-08 1988-12-13 Fujitsu Ltd 電源切断時のデ−タ書込み方式
JPH01195557A (ja) * 1987-12-28 1989-08-07 Internatl Business Mach Corp <Ibm> データ処理システムにおけるデータ転送方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5930300A (ja) * 1982-08-13 1984-02-17 Nec Corp 集積mos型メモリ回路素子
US4532628A (en) * 1983-02-28 1985-07-30 The Perkin-Elmer Corporation System for periodically reading all memory locations to detect errors
US4757503A (en) * 1985-01-18 1988-07-12 The University Of Michigan Self-testing dynamic ram
JP2523586B2 (ja) * 1987-02-27 1996-08-14 株式会社日立製作所 半導体記憶装置
GB2204721B (en) * 1987-05-11 1991-10-23 Apple Computer Method and apparatus for determining available memory size
US4782487A (en) * 1987-05-15 1988-11-01 Digital Equipment Corporation Memory test method and apparatus
US5003506A (en) * 1987-06-02 1991-03-26 Anritsu Corporation Memory capacity detection apparatus and electronic applied measuring device employing the same
US4970648A (en) * 1987-08-12 1990-11-13 Fairchild Space And Defense Corporation High performance flight recorder
JPH01196647A (ja) * 1988-01-31 1989-08-08 Nec Corp 誤り訂正機能を有する記憶装置
US4980888A (en) * 1988-09-12 1990-12-25 Digital Equipment Corporation Memory testing system
JPH02146199A (ja) * 1988-11-28 1990-06-05 Mitsubishi Electric Corp 半導体記憶装置のテスト回路
EP0382360B1 (en) * 1989-02-08 1997-03-19 Texas Instruments Incorporated Event qualified testing architecture for integrated circuits
GB2228112A (en) * 1989-02-09 1990-08-15 Acer Inc Computer system and method
JPH03148732A (ja) * 1989-07-31 1991-06-25 Texas Instr Inc <Ti> 状態監視器を備えたデータ処理装置
US5228045A (en) * 1990-08-06 1993-07-13 Ncr Corporation Test driver for connecting a standard test port integrated circuit chip to a controlling computer
US5231605A (en) * 1991-01-31 1993-07-27 Micron Technology, Inc. DRAM compressed data test mode with expected data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58215799A (ja) * 1982-06-08 1983-12-15 Nec Corp 制御記憶検証方式
JPS5961825A (ja) * 1982-10-01 1984-04-09 Matsushita Electric Ind Co Ltd ズ−ムレンズ鏡筒
JPS63305445A (ja) * 1987-06-08 1988-12-13 Fujitsu Ltd 電源切断時のデ−タ書込み方式
JPH01195557A (ja) * 1987-12-28 1989-08-07 Internatl Business Mach Corp <Ibm> データ処理システムにおけるデータ転送方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519766B2 (en) 2005-03-22 2009-04-14 Infineon Technologies Ag Method and device for transmission of adjustment information for data interface drivers for a RAM module

Also Published As

Publication number Publication date
DE69605949D1 (de) 2000-02-10
KR960001948B1 (ko) 1996-02-08
EP0529945A3 (ja) 1994-01-05
IL102967A0 (en) 1993-01-31
TW208074B (ja) 1993-06-21
DE69221045T2 (de) 1997-11-13
EP0716421B1 (en) 2000-01-05
US5311520A (en) 1994-05-10
CA2074750C (en) 1997-06-17
EP0529945B1 (en) 1997-07-23
EP0716421A3 (en) 1996-08-07
JP2702855B2 (ja) 1998-01-26
KR930004859A (ko) 1993-03-23
EP0529945A2 (en) 1993-03-03
IL102967A (en) 1995-03-15
DE69221045D1 (de) 1997-09-04
EP0716421A2 (en) 1996-06-12
CA2074750A1 (en) 1993-03-01

Similar Documents

Publication Publication Date Title
JP2702855B2 (ja) Ramアレイのテスト及び制御を行なう回路及びその方法
KR970004074B1 (ko) 메모리 장치 및 이를 포함한 집적 회로
US7508724B2 (en) Circuit and method for testing multi-device systems
JPH01195557A (ja) データ処理システムにおけるデータ転送方法
JPS6321223B2 (ja)
JPS6231439B2 (ja)
US4759021A (en) Test pattern generator
US7246279B2 (en) Static random access memory (SRAM) unit and method for operating the same
KR940002904B1 (ko) 데이타 처리 시스템 및 이 시스템에 있어서의 다수 메모리 어레이 테스팅 방법
JPS62236038A (ja) 制御記憶装置
JPS6227479B2 (ja)
US20030154434A1 (en) Self testing-and-repairing data buffer and method for operating the same
JPH09288619A (ja) 主記憶装置
US6175518B1 (en) Remote register hierarchy accessible using a serial data line
WO2002039458A1 (en) AT-SPEED BUILT-IN SELF TESTING OF MULTI-PORT COMPACT sRAMs
JPH0746517B2 (ja) 半導体メモリ及びそのテスト方法
JPS60214043A (ja) パイプライン制御回路
JPH0528058A (ja) メモリアドレスバス試験方式
JPS634500A (ja) テスト回路付きram装置
JP3177975B2 (ja) 1チップマイクロコンピュータ
JPS58149540A (ja) 制御記憶装置
JPH0136137B2 (ja)
JPS61192100A (ja) 半導体記憶装置
JPH04308947A (ja) エラー検出/修正装置
JPH07182156A (ja) マイクロプログラム制御装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees