JPH06223002A - マイクロプロセッサメモリのテスト回路 - Google Patents

マイクロプロセッサメモリのテスト回路

Info

Publication number
JPH06223002A
JPH06223002A JP5273893A JP27389393A JPH06223002A JP H06223002 A JPH06223002 A JP H06223002A JP 5273893 A JP5273893 A JP 5273893A JP 27389393 A JP27389393 A JP 27389393A JP H06223002 A JPH06223002 A JP H06223002A
Authority
JP
Japan
Prior art keywords
test
line
circuit
address
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5273893A
Other languages
English (en)
Inventor
Pierre-Yves Thoulon
ピエール−ヤヴス・トゥールン
Pierre Sauvage
ピエール・ソヴァージェ
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH06223002A publication Critical patent/JPH06223002A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/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/48Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Microcomputers (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

(57)【要約】 【目的】 従来のボード上に高速でメモリを占有しない
メモリテスト回路を実現する。 【構成】 ダイレクトメモリアクセス(DMA)コント
ローラは、専用システムを使用して、プログラムによる
従来のメモリテスト方法において実行されるような、メ
モリの読み出しと書き込みの繰り返しテストフェーズを
実行するメモリテスト回路を組み込む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、メモリテスト
に関し、特に、マイクロプロセッサシステム上のランダ
ムアクセスメモリ(RAM)をテストする回路に関す
る。
【0002】
【従来の技術】メモリをテストするにあたり、ある値に
固定されてしまったメモリセル、短絡もしくは開放され
たアドレスまたはデータライン等々、異なるタイプの異
常を検出する方法が幾つかある。これらの方法を用いて
メモリをテストし、その結果を十分に分析することによ
りメモリテストは徹底され、こうして全ての異常を突き
止めることができる。テスト方法については、IEEE Tra
nsactions on Computers, Vol. C-27, No.6, June 1978
の「Efficient Algorithms for Testing Semiconduct
or Random-Access Memories」に解説がある。この資料
には色々なテストの方法が出ている。
【0003】図1は在来のマイクロプロセッサシステム
を概略的に示す。このシステムは中央処理装置(CP
U)1、リードオンリーメモリ(ROM)2、ランダム
アクセスメモリ(RAM)3、およびダイレクトメモリ
アクセス(DMA)コントローラ4を含み、これらは、
例えば16ラインのデータバスDや24ラインのアドレ
スバスAといったマイクロプロセッサバスに接続されて
いる。
【0004】通常、RAM3をテストするために、マイ
クロプロセッサ1はその命令がROM2に保存されてい
るテストプログラムを実行する。このテストプログラム
は、例えばシステムの電源投入時や規則的な時間間隔で
実行される。
【0005】RAM3をテストするとき、マイクロプロ
セッサ1は通常、テスト対象であるRAMの各セルに対
して、ROMからの数個の命令の読み取りと共に、少な
くとも一回ずつRAMの書き込みと読み取りを実行す
る。一回のメモリテストの間にROMに対するアクセス
が頻繁になされ、これが、ROM上のアクセスは特に時
間を要することから、テストの実質的なスローダウンを
引き起こすことになる。
【0006】実際、よく使われる2メガバイトRAMの
徹底的なテストにはおよそ4時間を要する。その間、マ
イクロプロセッサを他のタスク実行のために使用するこ
とはできない。従って、こうしたテストの実行は殆ど実
用的ではない。
【0007】加えて、徹底的なメモリテストを実行する
プログラムは約20キロバイトを占有し、これは量産向
けマイクロプロセッサシステムにおいて無視できない過
剰コストを生む実質的な大きさである。
【0008】テストプログラムを高速化するためその命
令をバッテリバックアップ式RAMに保存させることが
考えらる。しかしながら、このようなアプローチは多額
の費用を要するものであり、また多くの命令を読み取る
ことで依然として時間がかかってしまう。
【0009】テストプログラムに依らず、マイクロプロ
セッサバスに特定のテスト回路を接続するという形式で
ハード的なワイアードシステムを用いることによりメモ
リをテストすることも可能である。しかしながら、マイ
クロプロセッサボード上にテスト集積回路を増設するの
は望ましいことではない。というのは、こうした解決策
にはマイクロプロセッサボードの設計や生産に余分のコ
ストがかかるからである。
【0010】
【発明が解決しようとする課題】本発明の課題はメモリ
をテストするための特に高速な回路を提供することであ
る。
【0011】本発明のもう一つの課題はある一つのメモ
リテスト回路を提供することであり、それは従来のマイ
クロプロセッサボード上に存在する集積回路に組み込ま
れるものである。
【0012】本発明の更なる課題はメモリ空間を殆ど占
有しないコントロールプログラムを持つようなテスト回
路を提供することである。
【0013】
【課題を解決するための手段】これらの目的はマイクロ
プロセッサシステムのDMAコントローラ内にテスト回
路を組み込むことによって達成される。本出願人はDM
Aコントローラがメモリテスト機能の組み込みに特に適
していることに着目した。というのは、DMAコントロ
ーラは既にメモリを直接アクセスするために設計されて
いるからである。
【0014】本発明に特に関係するのはメモリテスト回
路を組み込むDMAコントローラで、ここでは専用回路
を用いて、従来のメモリテスト方法で実行されるメモリ
の読み取りと書き込みの繰り返しテストフェーズを実行
する。
【0015】本発明のひとつの実施例によれば、DMA
コントローラはマイクロプロセッサバス上でデータの読
み取りまたは書き込みを行うようイネーブルされるイン
タフェース回路、およびバスとDMAコントローラを介
してアクセスできる第1から第4のレジスタを含む。第
1および第2レジスタはDMAコントローラのシーケン
サにより増加及び/または減小が可能で、インターフェ
ース回路が読み取りまたは書き込みを行うメモリセルの
アドレスを含むよう意図されている。本発明によれば、
メモリテスト回路に含まれている第1コンパレータはセ
ル良好を示す信号を発生し、これはテストデータ(必要
であれば、第3レジスタの内容に対応する)が、第1お
よび第2レジスタの一つに含まれる特定のアドレスでイ
ンタフェース回路によって読み取られたデータと等しい
ときに表明される。第2コンパレータで供給されるフェ
ーズ終了信号は第1および第2レジスタの内容が等しい
ときに発生する。特定アドレスを継続的に増加または減
少させるために、フェーズ終了の信号が発生したときに
増加または減少を中断するために、そして、第4レジス
タの一つのビットを修正することによってフェーズの終
了を指示するためにシーケンサが設定されている。それ
ぞれの増加または減少において、シーケンサは特定アド
レスにテストデータを書き込むこと、または、このアド
レスからデータを読み取ることのいずれかを行い、ある
一つの動作の後にセル良好を示す信号がセットされない
ときにはシーケンサは第4レジスタのエラービットをセ
ットする。
【0016】本発明の一実施例によれば、DMAコント
ローラに含まれている選択手段はインターフェース回路
および第1コンパレータにテストデータを与えるための
ものであり、ここでのテストデータは、第4レジスタの
第1の複数ビットの値に依存して、第3レジスタの内
容、または、特定アドレスにおける一つのもしくは他の
予定された部分のいずれかに対応している。
【0017】本発明の一実施例によれば、選択方法はシ
ーケンサによって与えられる反転信号によりイネーブル
にされた場合に、テストデータの補数を取るためのイン
バータを含む。
【0018】本発明の一実施例によれば、シーケンサは
第4レジスタの第2の複数ビットによって制御され、こ
れらのビットによって定義される値に依存して、特定ア
ドレスによって指し示されるセルに関し、以下の動作の
一つが実行される。即ち、テストデータを書込むこと、
読みとられたデータを読み取りテストデータと比較をす
ること、テストデータの補数を読み取り、比較し、書込
むこと、また、補数の読み取り、比較、書込みを二回行
うこと等である。
【0019】本発明の一実施例によれば、第4レジスタ
の一つのビットはテスト回路をイネーブルさせる一つの
状態と、DMAコントローラが通常の動作を行う間にテ
スト回路をディセーブルさせる第二の状態を有してい
る。
【0020】本発明の一実施例によれば、第4レジスタ
の一つのビットはテストフェーズの開始または継続のた
めマイクロプロセッサによってセットされ、テストフェ
ーズの終了時またはエラービットがセットされたときマ
イクロプロセッサに割り込むためテスト回路によってリ
セットされる。
【0021】本発明の一実施例によれば、第4レジスタ
の一つのビットの状態は第1レジスタを増加させるか、
またはシーケンサによって第2レジスタを減少させるか
を決定する。
【0022】本発明の上記の、あるいは他の課題、特
徴、側面そして効果は添付されている図面とともに明ら
かになる。
【0023】
【実施例】上述した通り、本発明はDMAコントローラ
にメモリテストの機能性を組み込むことを提案してい
る。
【0024】従来のDMAコントローラの幾つかの要素
に触れておくことは有益であり、本発明に合わせてテス
ト回路中でも使用されている。
【0025】DMAコントローラはマイクロプロセッサ
バスによりアクセス可能な少なくとも4個のレジスタを
含んでいる。そのレジスタの内の二つは従来、転送され
るメモリブロックの開始(もしくは転送元)アドレスと
ブロック転送先アドレスをそれぞれ含むよう設計されて
いる(図1の例では、こうしたレジスタは24ビットの
サイズである)。加えて、これら二つのレジスタは増減
カウンタとして構成されている。第3レジスタは従来、
転送されるブロックの長さを保存するためのものである
(図1の例では、このレジスタは24ビットレジスタで
ある)。第4レジスタはコントロールレジスタで、マイ
クロプロセッサがさまざまなパラメータをセットした
り、ステータス情報を集めたりさせるものである。DM
Aコントローラはまたバスインターフェース回路を含
み、これはマイクロプロセッサとは独立してバスの制御
を可能にする。DMAコントローラのより詳細な情報は
市販されている多くのユーザーズマニュアルに見ること
ができる。
【0026】上記のレジスタ、特に転送元および転送先
アドレスを含むよう意図されているレジスタはDMAコ
ントローラチップ表面の主要部分を占めている。
【0027】本発明によれば、これらのレジスタはまた
テスト回路のためにも有利に使用されるが、後述される
異なる機能のためにも有利に使用される。こうしたレジ
スタの応用では上述したコントロールレジスタにおける
僅かなビットの付加だけが要求される。テスト回路に付
加される要素のサイズはレジスタのサイズに比べると小
さなものである。
【0028】図2はDMAコントローラに組み込まれ
る、本発明のテスト回路の単純化実施例のアーキテクチ
ャを概略的に表している。以後、この回路は「DMA/
テスト回路」として参照される。上記の四つのレジスタ
はそれぞれ10、12、14および18で参照される。
【0029】DMAコントローラのアップダウンカウン
トレジスタの第1レジスタ10は、テストされるメモリ
ブロックの開始アドレスSTARTAを保存するために
使用される。
【0030】第2アップダウンカウントレジスタ12
は、テストされるメモリブロックの終端アドレスEND
Aを保存するために使用される。
【0031】第3レジスタ14は通常転送されるメモリ
ブロックの長さを保存するためのものであるが、本発明
では一つのテストデータTESTDを保存するために使
用される。(例示的に与えられた24ラインのアドレス
バスと16ラインのデータバスにおいて、レジスタ14
はDMAコントローラに対して24ビットサイズのはず
である。従って、このサイズは16ビットのデータを含
むには十分である。)第4レジスタ18はDMAコント
ローラのコントロールレジスタで、また、本発明ではコ
ントロールレジスタとしても使用されるが、DMA/テ
スト回路の使用中DMAコントローラとしてかメモリ・
テスタとしてかその動作に依存して、そのビットは異な
る意味を持つ。通常、レジスタ10、12、14および
18はマイクロプロセッサのアドレスバスとデータバス
によってアクセス可能なものである。
【0032】テスタとして使用されるときは、本発明で
は回路のコントロールレジスタ18は少なくとも次のビ
ットを含む。
【0033】DMA機能をディセーブルにしDMA/テ
スト回路のテスト機能をイネーブルにするための1ビッ
トのTESTEN、メモリテストフェーズを初期化する
ための1ビットのSTART、二つ以上の特定フェーズ
中でテストフェーズを選択するための1ビットまたは数
ビットのTMODE、およびエラー状態が検出されたこ
とをDMA/テスト回路がマイクロプロセッサに知らせ
るエラービットERR等である。
【0034】TESTEN の1ビットを除きこれら全
てのビットは通常のDMAコントローラに既に存在する
ビットである。このように、DMA/テスト回路を構成
するためにはコントロールレジスタに少なくともTES
TENビットを付加するだけで済む。
【0035】TESTEN、STARTおよびTMOD
Eビットの状態はシーケンサ20に伝えられる。シーケ
ンサ20はERRビットをセットするERRラインを介
して、STARTビットをリセットするSTARTCL
Rラインを介してレジスタ18に接続されている。
【0036】回路22はテスト回路とアドレスバスやデ
ータバスの外部バスの間のインターフェース回路として
働く。インターフェース回路22はDOUTライン上で
レジスタ14に含まれているテストデータTESTDを
受け取り、また、TAライン上でレジスタ10に含まれ
ているアドレスSTARTAを受け取る。回路22はシ
ーケンサ20から、読み取りまたは書込みのイネーブル
信号R/Wとアドレスバスやデータバスを制御する信号
GOを受け取る。加えて、回路22はアドレスバスやデ
ータバス上で読みとられるデータをDINライン上で伝
え、信号GOによって初期化される読み取りまたは書込
み動作の完了を知らせる信号RDYをシーケンサ20に
伝える。
【0037】バイナリコンパレータ26はレジスタ10
に含まれるアドレスSTARTAとレジスタ12に含ま
れるアドレスENDAを比較し、アドレスSTARTA
とアドレスENDAが等しいときENDラインに発信す
る。ENDラインへの発信はシーケンサ20にテストフ
ェーズの終了を指示する。誤まってアドレスSTART
AがアドレスENDAよりも高位のときにもENDライ
ンは発信される。シーケンサ20は適時、増加信号NE
XTAをレジスタ10に与える。バイナリコンパレータ
28はレジスタ14に含まれるデータTESTDとバス
上で回路22によって読み取られた最後のデータDIN
を比較し、これらのデータが等しいときシーケンサ20
に接続されたGOODラインに発信する。
【0038】インターフェース回路22はDMAコント
ローラの通常のインターフェース回路に対応するもの
で、DOUTライン上に存在するデータ(レジスタ14
の内容)を書込む能力やバス上でインターフェース回路
によって読み取られた最後のデータをDINライン上に
供給する能力といった幾つかの機能が付加されたもので
ある。
【0039】図2の回路でメモリブロックをテストする
ために、マイクロプロセッサによって実行されるテスト
プログラムは概略的に次のように動作する。プログラム
はレジスタ14のテストデータ、レジスタ10のブロッ
ク開始アドレス、およびレジスタ12の終端アドレスを
書き込む。プログラムはレジスタ18のTESTENビ
ットをセットすることによりテストモードをイネーブル
し、TMODEビットを識別することによりテストフェ
ーズを選択し、そしてSTARTビットをセットするこ
とによりこのフェーズを初期化する。テスト回路はそれ
から(NEXTAラインを介して)アドレスSTART
A(レジスタ10)を逐次増加することにより、そして
各インクリメントにおいて、アドレスSTARTAによ
って指し示されるメモリセル上で動作することによりテ
ストフェーズを実行する。テストフェーズの終了時(S
TARTA=ENDA)、STARTビットがリセット
されるとき、またはエラーが検出された(ERRビット
がこの時セットされる)とき、テスト回路はテストフェ
ーズを停止しマイクロプロセッサに割り込む。エラーが
検出されると、レジスタ10に含まれるアドレスで疑わ
しいセルが指摘される。それからプログラムは、例え
ば、この疑わしいセルから読み取られたワードをセルの
アドレスと同様に保存(または他のシステムに転送)
し、STARTビットをリセットすることによりテスト
フェーズを再開する。
【0040】こうして、マイクロプロセッサによって実
行されるテストプログラムはテスト回路におけるテスト
フェーズを「プログラム」し割り込みを待てばよいので
ある。待っている間、マイクロプロセッサは別のタスク
を実行することができる。テストされるブロックのセル
に対する逐次的なアクセスはテスト回路によって実施さ
れるが、ブロックに対するアクセスはプログラムに依る
より遥かに高速である。本出願人が実施した研究室での
テストによれば、80%の時間的利得があることが立証
された。
【0041】加えて、マイクロプロセッサによって実行
されるテストプログラムにはテストフェーズを「プログ
ラム」し、必要であればテスト結果を保存することだけ
に使用される限られた数の命令が含まれている。このよ
うなプログラムはROM上にせいぜい二三百バイトしか
占有しない。
【0042】図3は信号を受信する機能としてのシーケ
ンサ20が実行する動作を表すフローチャートである。
このフローチャートの記述で、フローチャートブロック
を説明する文に先行してブロック番号が打たれている。
レジスタの内容はまた「変数」として参照されている。
【0043】100. STARTビットが「0」であ
る限りシーケンサはスタンバイ状態にいる。マイクロプ
ロセッサがこのビットを「1」にセットするに先立ち、
TESTENビットを介して回路のテストモードがイネ
ーブルにされ、(レジスタ10と12を使用して)テス
トされるブロックと(特にTMODEビット、必要にな
らレジスタ14をも使用して)特定テストフェーズの選
択をするよう回路は「プログラム」される。
【0044】102. (点線で示されている)このブ
ロックはテスト回路のより高度な実施例に使用され、図
4に関連して後述される。
【0045】104. 変数TMODEの値がチェック
される。この変数は次の通り幾つかの値を取る。
【0046】「書き込み」フェーズが実行されるべきこ
とをシーケンサに知らせる値Wで、 アドレスSTAR
TA(レジスタ10)とアドレスENDA(レジスタ1
2) の間に含まれるアドレスのメモリセルにテストデ
ータTESTD(レジスタ1 4)を書込むことで成立
する。また、「読み取り・比較」フェーズが実行される
べきことをシーケンサに知らせる値RCで、アドレスS
TARTAとアドレスENDAの間に含まれるアドレス
のデータを読み取り、それらをデータTESTDと比較
することで成立する。
【0047】図4のより高度なテスト回路において、後
述するように、ブロック106(点線で描かれている)
での二つの付加的なテストフェーズを選択するため変数
TMODEは二つの別の値(RCCW、RCCW2)を
持つ。図2の例において、変数TMODEは例えば、値
RCを定義する状態「0」そして値Wを定義する状態
「1」を有するレジスタ18の単一ビットによってコー
ド化される。
【0048】108. インターフェース回路22の
「書き込み」モードは例えば、R/Wラインを「0」に
セットすることによって選択される。
【0049】110. シーケンサ20はGOライン上
に一つのパルスを発し、インターフェース回路22がバ
スを制御し、バス上にその入力DOUTに存在するデー
タ(TESTD)を書き込むようにする。
【0050】112. シーケンサはインターフェース
が要求された書き込み動作を実行したことを知らせるた
めにインターフェース回路22によってRDYライン上
に与えられる一つのパルスを待つ。
【0051】114. このブロックは後述されるより
高度なテスト回路によって実行される動作に対応するも
のである。
【0052】116. シーケンサはENDラインの状
態をチェックする。
【0053】118. ENDラインに出力はない。テ
ストフェーズは終了しておらず、それゆえデータTES
TDはテストされるメモリブロックの次のセルに書き込
まれる。シーケンサはNEXTAライン上に一つのパル
スを発し、これは未使用のセルを指し示すようアドレス
STARTAを増加させる。アドレスSTARTAを増
加させた後、テストフェーズはデータTESTDが未使
用のセルに書き込まれるブロック110で再開される。
点で示されることは、付加的な動作が図4のより高度な
回路によりブロック118で実行されることである。
【0054】120. ENDラインに出力があり、こ
れでアドレスSTARTAとアドレスENDAが等しい
ことが示される。テストフェーズはSTARTビットの
リセットにより中断する。(STARTビットはSTA
RTCLRラインをセットすることによってリセットさ
れる。)テスト回路はブロック100のスタンバイ状態
に戻る。
【0055】STARTビットをリセットするとマイク
ロプロセッサの割り込みが発生する。マイクロプロセッ
サはERRビットの状態をチェックすることにより、そ
して必要ならばDMA/テスト回路のレジスタに含まれ
る有用な情報を保存することにより割り込み処理を行
う。
【0056】122. 変数TMODEはRCに等し
い。シーケンサはR/Wラインを「1」にセットするこ
とによりインターフェース回路22の「読み取り」モー
ドを選択する。
【0057】124. シーケンサはGOラインに出力
し、これがインターフェース回路22に示すことは、そ
の入力TAで供給されるアドレス(STARTA)に存
在するデータをメモリから読み取らねばならないことで
ある。データが一旦読み取られると、それはインターフ
ェース回路の出力DIN上でラッチされる。
【0058】126. シーケンサはRDYラインが出
力されるのを待つが、これはインターフェース回路がデ
ータを読み取り、それがDINライン上に存在すること
を示す。
【0059】128. シーケンサはGOODラインの
状態をチェックする。データDOUT(テストデータ)
とDIN(テストされるようセルから読み取られたデー
タ)が等しいときGOODラインはコンパレータ28に
よって出力される。
【0060】130. GOODラインが出力される。
アドレスSTARTAでテストされたセルにエラーは検
出されなかった。このブロックはブロック114に同一
であるが、図4のより高度なテスト回路によって実行さ
れる動作に対応している。
【0061】132. ブロック116と同様に、テス
トフェーズの終りに達したか否か、即ちENDラインが
出力されたか否かのチェックがなされる。そうであれ
ば、STARTビットをリセットすることによりテスト
フェーズはブロック120で中断する。
【0062】134. ブロック118と同様に、アド
レスSTARTAはNEXTAラインのパルスによって
増加する。テストフェーズは新アドレスSTARTAに
より指し示されるメモリセルが読みとられるブロック1
24で再開する。
【0063】136. GOODラインはアドレスST
ARTAでのデータ(DIN)読み取りの後では出力さ
れない。これが意味することは、データDINがテスト
データTESTDとは異なることである。そこで、テス
トされるブロックが前もってデータTESTDによって
満たされているときは、アドレスSTARTAのセルに
欠陥があることになる。エラービットERR は「1」
にセットされ、STARTビットをリセットすることに
よりテストフェーズはブロック120で中断される。
【0064】欠陥の検出によってテストフェーズが中断
されると、疑わしいセルのアドレス(STARTA)は
レジスタ10で明らかになりこのセルに書き込まれたテ
ストデータ(TESTD)はレジスタ14で明らかであ
る。テストプログラムはそれからアドレスSTART
A、アドレスSTARTAで読み取られたワード、およ
びデータTESTDを保存し、次いでSTARTビット
を「1」にセットすることによりテストフェーズを再開
できる。この保存された結果は欠陥のタイプを決定する
ために通常のソフトウエアによって後から使用すること
ができる。
【0065】図2の回路は、全ての既存のテスト方法に
役立たせることができる。しかしながら、こうした回路
は後述する通りある種の方法に使用される、まだ説明さ
れていないテストフェーズを実行するよう改良される。
【0066】ある種のテスト方法によれば、テストされ
るメモリセル内に異なるテストデータを書き込むことが
必要になる。「リード・コンペア・コンプリメント・ラ
イト」(RCCW)として参照されるテストフェーズを
使用することも必要であり、これはテストされる各セル
内に含まれるデータを読み取り、読み取られたデータと
テストデータを比較し、テストデータの補数を取り、そ
して補数テストデータをセル内に再書き込みすることで
成立する。「二回リード・コンペア・コンプルメント・
ライト」(RCCW2)として参照されるもう一つの通
常テストフェーズは今述べたフェーズを二回繰り返すこ
とで成立する。こうした動作は図2の回路によって実行
され、テストプログラムはより時間はかかるものの以前
の技術以上に役立つものである。
【0067】図4は多くの既存のテスト方法をより最適
化する本発明に従ったテスト回路のより高度な実施例を
示す。
【0068】図4において、図2の要素に対応するもの
は同じように参照される。
【0069】図2のコンパレータ26は比較・マルチプ
レクサ回路40によって置き換えられている。回路40
はコンパレータ26と同様に、レジスタ10と12の内
容(STARTAとENDA)が等しいときシーケンサ
20に信号ENDを発信する。加えて、コントロールレ
ジスタ18の一つのビットに対応するU/Dラインの状
態に依存して、回路40はインターフェース回路22の
入力アドレスラインTAにレジスタ10と12に含まれ
る一つ以上のアドレスを与える。
【0070】U/Dラインは例えば、「1」の状態にあ
るときはレジスタ10のカウントモード、また「0」の
状態にあるときはレジスタ12のカウントモードをイネ
ーブルにする。シーケンサ20からのNEXTAライン
はレジスタ10の増加入力INCとレジスタ12の減少
入力DECを送出する。U/Dラインが「1」のとき、
回路40はインターフェース回路22にアドレスSTA
RTA(レジスタ10)を送り、U/Dラインが「0」
ならばアドレスENDA(レジスタ12)を送る。
【0071】この構成では、U/Dラインの状態に依存
して、開始アドレスから増加するアドレスにより、もし
くは終端アドレスから減少するアドレスにより、テスト
されるブロックをスキャンすることが可能である。
【0072】選択回路42はTDライン上でレジスタ1
4のデータTESTD、回路40によって供給されるア
ドレスTA、および、その状態がレジスタ18の2個の
ビットによってセットされる2本の選択ラインDSRC
を受け取る。DSRCラインによって定義される値に依
存して、回路42はインターフェース回路22がレジス
タ14のデータTESTDか、回路40によって供給さ
れるアドレスTAのアドレスビットの3個の組み合せの
一つかに対応するテスト・データを出力するようにす
る。加えて、選択回路42によって供給されるテストデ
ータDOUTはシーケンサ20によって供給される信号
INVの状態に依存してその補数を取られることもあ
る。
【0073】ある種のテスト方法においてテストされる
セルの中に異なるテストデータを書込むことは有益であ
る。上述の構成では、テストされる各セルの中にそのセ
ルアドレスの一部分を書込むことが可能である。これは
セルの中に異なる値を書込む一つの簡単な方法である。
【0074】図4の回路はまた各メモリセルの一部、た
とえば最下位8ビットもしくは最上位8ビットにテスト
を実行することも可能である。コントロールレジスタ1
8のWRD/Bビットはテストがメモリセルの16ビッ
トか、または8ビッで実行されるかを示すために使用さ
れる。WRD/Bビットの状態はシーケンサ20、選択
回路42、インターフェース回路22およびコンパレー
タ28に伝えられる。コンパレータ28は選択回路42
によって供給されるテストデータDOUTとバス上で読
みとられるデータDINを比較する。LBラインは、そ
の状態はシーケンサ20によってセットされるが、コン
パレータ28とインターフェース回路22に接続され、
コントロールレジスタ18のLBビットの状態をセット
する。WRD/Bラインがテストはメモリセルの8ビッ
トをもって実行されることを示しているとき、LBライ
ンの状態はテストがテストされるメモリセルの最上位バ
イトか最下位バイトで実行されるかを示す。
【0075】次のテーブルはDSRCラインにより定義
される四つの可能値とWRD/Bラインの状態の関数と
して選択回路42によって与えられるテストデータDO
UTの好ましい値を掲げている。
【0076】
【表1】
【0077】テーブルの第1列は変数DSRCの四つの
可能値を一覧している。これらの値は一般的にVal1
からVal4で表示されている。当業者はその値として
DSRCラインの適当な状態の組み合せを選ぶことがで
きる。第2列は変数DSRCの各値に対してWRD/B
ラインの二つの状態を示す。第3列は選択回路42によ
って供給される値DOUTを示している。列の中のXは
値1または0のいずれかを示す。
【0078】データDOUTの値を示す列で、例えば
「TESTD(15:0)」はデータDOUTがデータ
TESTDのビット0から15を含むことを示すもので
ある。例えば「TESTD(7:0)、TESTD
(7:0)」は、データDOUTの最下位バイトと最上
位バイトがデータTESTDのビット0から7に等しい
ことを示す。INVラインに出力されるとき、データD
OUTはテーブルのこれらの値の補数を持つ。
【0079】図4のテスト回路の諸要素の動作は、図3
と図5のフローチャートに関連して、より詳細に説明さ
れる。
【0080】図4の回路は図3のフローチャートに従っ
て機能し、ブロック118と134の付加的な動作と同
様に、図3の点線で囲まれたブロック(102、10
6、114、130)が含まれている。
【0081】図5は図3のフローチャートのブロック1
06で実行される動作のフローチャートを説明する。次
の記述で、図5のフローチャートを説明するのに先立
ち、ブロック106に到達するために必要なステップを
先ず説明する。
【0082】100. シーケンサ20はSTARTビ
ットが「0」である限りスタンバイ状態のままである。
【0083】102. シーケンサ20はINVライン
をディセーブルし、LBラインに出力し、そして内部ビ
ット「TWICE」をディセーブルする。
【0084】104. 変数TMODEがチェックされ
る。変数TMODEは図4の回路で2ビットにコード化
されて、W、RC、RCCW および RCCW2という
ラベルが付される四つの異なる値を定義する。値WとR
Cはそれぞれ図3のフローチャートで詳述される書き込
みフェーズと読み取り・比較フェーズを選択する。値R
CCWとRCCW2はそれぞれ「リード・コンペア・コ
ンプリメント・ライト」と「二回リード・コンペア・コ
ンプリメント・ライト」を選択する。
【0085】600. 変数TMODEはRCCWもし
くはRCCW2に等しい。R/Wラインは「1」にセッ
トされGOラインに発信する。インターフェース回路2
2はアドレスTAに存在するデータを読み取りDINラ
イン上でこれをラッチするようバスを制御する。WRD
/Bラインが「1」ならば、読みとられるデータは修正
されることなくDINライン上に存在する。WRD/B
ラインが「0」ならば、二つの場合が考えられる。
【0086】LBラインが「1」で、ブロック600に
始めて入ったときの場合ならば、読み取られたデータの
最下位バイトがDINライン上に存在する。そして、L
Bラインが「0」ならば、その最上位バイトはDINラ
イン上に存在する。
【0087】602. シーケンサ20は読み取りが完
了したことを知らせるためインターフェース回路22に
よってRDYラインに出力されるのを待つ。コンパレー
タ28はまたWRD/BとLBラインの状態をも考慮し
て、データDINとテストデータDOUTを比較する。
双方のデータが等しいとき、コンパレータ28はGOO
Dラインに発信する。
【0088】604. GOODラインに出力があった
か否かについてチェックがなされる。
【0089】606. GOODラインに出力がある
が、これはテストされたセルの中に異常が検出されなか
ったことを意味する。INVラインは「1」にセットさ
れるが、これによりデータDOUTの補数が取られる。
【0090】608. R/Wラインは「0」にセット
され、GOラインに出力がある。インターフェース回路
22はバスを制御しデータDOUTの補数をアドレスT
Aに書き込む。WRD/Bラインが「1」ならば、イン
ターフェース回路22はDOUTのフルデータをバスに
書き込む。WRD/Bラインが「0」ならば、ふたつの
場合が考えられる。
【0091】LBラインが「1」のとき、これはブロッ
ク608に始めて入ったときの場合であるが、インター
フェース回路22はデータDOUTの補数の最下位バイ
トをバス上に書き込む。そして、LBラインが「0」の
とき、インターフェース回路22はデータDOUTの補
数の最下位バイトを書き込む。
【0092】610. シーケンサ20は書き込みフェ
ーズが完了したことを知らせるためRDYラインに出力
があるのを待つ。
【0093】612. 変数TMODEがRCCWに等
しいか否かについてチェックがなされる。ブロック60
0−610において、一つの「リード・コンペア・コン
プリメント・ライト」動作が実行される。
【0094】614. 変数TMODEはRCCWに等
しい。変数TWICEが「0」にセットされる(この変
数は「リード・コンペア・コンプリメント・ライト」の
動作が完了したか否かまたは二番目の「トワイスリード
・コンペア・コンプリメント・ライト」パスが実行され
るべきか否かをチェックするために使用される)。IN
Vラインはディセーブルされる。
【0095】616. WRD/Bラインが「0」であ
るか否か、LBラインが「1」であるか否かのチェック
がなされる。これはメモリセルが全体的か部分的にテス
トされているか(例えば、16ビットセル以外の1バイ
ト)を知るためのものである。部分的なテストの場合
に、最下位バイトは一つのパスでテストされ、最上位バ
イトはもう一つのパスでテストされる。
【0096】618. ブロック616の条件は真であ
る。これはセルの部分的なテストが実行され、その最下
位のバイトがテストされたことを意味する。LBライン
は「0」にセットされ、最上位バイトをテストするため
ブロック600でテストフェーズは再開される。
【0097】点線の箱で囲まれたブロック616と61
8は図3のフローチャートのブロック114と130の
それぞれに対応している。図3のフローチャートはブロ
ック114の書き込みフェーズ(W)とブロック130
の読みとり・比較フェーズを含み、メモリセルの部分的
なテストを実行するとき図4の回路に適用される。
【0098】620. ブロック616の条件は偽であ
る。セルのテストは完了している。シーケンサ20はE
NDラインに出力があるかチェックする。そうであると
き、レジスタ10と12に含まれるアドレスSTART
AとENDAは等しく、異常を検出することなくブロッ
クがテストされたことになる。レジスタ18のSTAR
Tビットはブロック120で「0」にセットされテスト
フェーズは中断する。
【0099】622. ENDラインに出力はない。セ
ルはテストを待つ。シーケンサ20はNEXTAライン
にパルスを発信し、これはU/Dラインの状態に依存し
てアドレスSTARTAの増加またはアドレスENDA
の減少を起こす。(回路40はインターフェース回路2
2に増加もしくは減少するアドレスを供給する)。LB
ラインは「1」にセットされブロック600でテストフ
ェーズは再開される。ここで、LBラインを「1」にセ
ットすることは部分的なテストフェーズの場合において
のみ、ブロック618で修正されたLBラインの初期状
態を再設定する。
【0100】図3のフローチャートのブロック118と
134はLBラインのセット動作によって完了されるも
のであるから、これはブロック622と同等のものであ
る。
【0101】624. 変数TMODEはRCCWに等
しくない(ただし、RCCW2には等しい)。「二回リ
ード・コンペア・コンプリメント・ライト」フェーズが
実行される。変数TWICEが「1」であるか否かのチ
ェックがなされる。そうであるとき、「二回リード・コ
ンペア・コンプリメント・ライト」動作は完了し、この
フェーズはブロック614で続行する。
【0102】626. 変数TWICEは「0」で、こ
れは「二回リード・コンペア・コンプリメント・ライ
ト」動作の単一パスが実行されたことを意味する。変数
TWICEは「1」にセットされこのパスは二番目のパ
スを実行するためブロック600で続行する。
【0103】630. 読み取り動作の後にGOODラ
インに出力はない。異常が検出される。ERRビットが
「1」にセットされテストフェーズはブロック120で
STARTビットをディセーブルにすることにより中断
される。LBラインは、レジスタ18のLBビットの状
態を決定するもので、部分的なテストモード(「0」状
態のWRD/Bライン)時に、異常がテストされたセル
の最下位バイトか最上位のバイトに生じたかを示すこと
を可能にする。
【0104】図4のテスト回路はほとんどの従来のテス
ト方法に役立てることができる。プログラムによって実
行されるべき反復的なタスク全ては本発明に従いDMA
/テスト回路によって達成される。テストプログラムは
これら反復的なタスクをレジスタ10、12、14およ
び18に「プログラム」し、テストの結果を通常保存す
るだけである。反復的なタスクはプログラムよりも高速
に実行するハード的なワイアード回路に割り当てられ
る。
【0105】本発明に係るDMA/テスト回路の主要な
利点は、テストプログラムの命令を含むROMを置き換
えることで、既存のマイクロプロセッサボードに存在す
るDMAコントローラをも置き換えることができること
である。
【0106】本発明は一般例(16ラインのデータバ
ス、最下位8ビットと最上位8ビットの部分的テスト
等)を用いて説明された。言うまでもなく、本発明は別
の状況(32ラインのバス、任意数のビットについての
部分的テスト等)にも応用される。
【0107】当業者には明かな通り、先に開示された実
施例に様々な調整を施すことができる。特に、説明され
た諸機能を達成するための異なるフローチャートは沢山
ある。
【0108】説明されたフローチャートにより、当業者
であれば、VHDLのような高級言語を用いて、PAL
やGALまたは他の回路のような論理回路をプログラム
する関数的な記述を書くのはたやすいことである。
【0109】
【発明の効果】本発明は上述のように、その利点は既存
のマイクロプロセッサボード上のDMAコントローラ
と、これらのボードにより高速なテスト能力を与えるた
め本発明に従ったテスト回路を組み込むDMAコントロ
ーラを置き換えることができるということである。
【図面の簡単な説明】
【図1】通常のマイクロプロセッサシステムを概略的か
つ部分的に表現しているブロック図である。
【図2】本発明に従ってDMAコントローラに組み込ま
れている、マイクロプロセッサメモリをテストする回路
のアーキテクチャの一実施例を概略的に表現しているブ
ロック図である。
【図3】図2の回路のシーケンサによって実行される動
作のフローチャートである。
【図4】本発明に従ったより高度なテスト回路の一実施
例を概略的に表現しているブロック図である。
【図5】図4の回路のシーケンサによって実行される動
作の一部のフローチャートである。
【符号の説明】
10、12、14、18 レジスタ 20 シーケンサ 22 インターフェース回路 26、28 バイナリコンパレータ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】マイクロプロセッサがシステムのメモリと
    他のシステム要素との間でのDMA転送をセットアップ
    することを可能にするマイクロプロセッサベースのシス
    テムにおける使用を意図したDMAコントローラであっ
    て、マイクロプロセッサが前記転送をセットアップする
    ためにデータを書き込むことのできる複数のレジスタを
    含み、DMAコントローラが、 マイクロプロセッサによりセットアップされた通常のD
    MA転送を実行する第一モード、およびマイクロプロセ
    ッサにより前記レジスタに書き込まれたデータで識別さ
    れる前記メモリのブロック上でリードアフターライトの
    テストを実行する第二モードの両者において選択的に動
    作可能であり、前記コントローラがこの目的のためさら
    に、メモリから読み取られたデータとそこに書き込まれ
    たデータを比較するコンパレータ手段を含むことを特徴
    とするDMAコントローラ。
JP5273893A 1992-10-30 1993-11-01 マイクロプロセッサメモリのテスト回路 Pending JPH06223002A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9213430A FR2697663B1 (fr) 1992-10-30 1992-10-30 Circuit de test de mémoire.
FR92/13430 1992-10-30

Publications (1)

Publication Number Publication Date
JPH06223002A true JPH06223002A (ja) 1994-08-12

Family

ID=9435334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5273893A Pending JPH06223002A (ja) 1992-10-30 1993-11-01 マイクロプロセッサメモリのテスト回路

Country Status (4)

Country Link
US (1) US5621883A (ja)
EP (1) EP0595036A1 (ja)
JP (1) JPH06223002A (ja)
FR (1) FR2697663B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016157505A1 (ja) * 2015-04-02 2016-10-06 三菱電機株式会社 メモリチェック機能を有するdmac

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668815A (en) * 1996-08-14 1997-09-16 Advanced Micro Devices, Inc. Method for testing integrated memory using an integrated DMA controller
US5822513A (en) * 1996-09-27 1998-10-13 Emc Corporation Method and apparatus for detecting stale write data
US6092229A (en) * 1996-10-09 2000-07-18 Lsi Logic Corporation Single chip systems using general purpose processors
JPH11219600A (ja) * 1998-02-03 1999-08-10 Mitsubishi Electric Corp 半導体集積回路装置
US6751718B1 (en) 2001-03-26 2004-06-15 Networks Associates Technology, Inc. Method, system and computer program product for using an instantaneous memory deficit metric to detect and reduce excess paging operations in a computer system
US7114106B2 (en) 2002-07-22 2006-09-26 Finisar Corporation Scalable network attached storage (NAS) testing tool
DE10240165A1 (de) * 2002-08-30 2004-03-18 Disetronic Licensing Ag Vorrichtung zum dosierten Ausstoßen eines flüssigen Wirkstoffes und Infusionspumpe
US7000159B2 (en) * 2003-03-10 2006-02-14 Dell Products L.P. System and method for testing memory
US20040216018A1 (en) * 2003-04-28 2004-10-28 Cheung Kam Tim Direct memory access controller and method
US7428644B2 (en) * 2003-06-20 2008-09-23 Micron Technology, Inc. System and method for selective memory module power management
US7389364B2 (en) * 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US20050050237A1 (en) * 2003-08-28 2005-03-03 Jeddeloh Joseph M. Memory module and method having on-board data search capabilities and processor-based system using such memory modules
US7194593B2 (en) * 2003-09-18 2007-03-20 Micron Technology, Inc. Memory hub with integrated non-volatile memory
US7120743B2 (en) * 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7350109B2 (en) * 2003-11-14 2008-03-25 Hewlett-Packard Development Company, L.P. System and method for testing a memory using DMA
JP4514028B2 (ja) * 2004-05-20 2010-07-28 ルネサスエレクトロニクス株式会社 故障診断回路及び故障診断方法
US7337368B2 (en) 2004-06-07 2008-02-26 Dell Products L.P. System and method for shutdown memory testing
KR100772724B1 (ko) * 2005-09-28 2007-11-02 주식회사 하이닉스반도체 반도체 메모리 장치
JP4343923B2 (ja) * 2006-06-02 2009-10-14 富士通株式会社 Dma回路およびデータ転送方法
TWI327732B (en) * 2007-03-03 2010-07-21 Nanya Technology Corp Memory device and related testing method
US8250250B2 (en) * 2009-10-28 2012-08-21 Apple Inc. Using central direct memory access (CDMA) controller to test integrated circuit
JP7125602B2 (ja) * 2018-08-01 2022-08-25 富士通株式会社 データ処理装置および診断方法
TWI755342B (zh) * 2021-07-16 2022-02-11 陽榮科技股份有限公司 用於檢測記憶體控制器的檢測裝置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4715034A (en) * 1985-03-04 1987-12-22 John Fluke Mfg. Co., Inc. Method of and system for fast functional testing of random access memories
US4873705A (en) * 1988-01-27 1989-10-10 John Fluke Mfg. Co., Inc. Method of and system for high-speed, high-accuracy functional testing of memories in microprocessor-based units
GB8824374D0 (en) * 1988-10-18 1988-11-23 Hewlett Packard Ltd Interface arrangement for interfacing data storage device with data handling system
JPH02255925A (ja) * 1988-11-30 1990-10-16 Hitachi Ltd メモリテスト方法および装置
US5157664A (en) * 1989-09-21 1992-10-20 Texas Instruments Incorporated Tester for semiconductor memory devices
EP0470030A3 (en) * 1990-08-02 1993-04-21 International Business Machines Corporation Fast memory power-on diagnostics using direct memory addressing
US5423029A (en) * 1993-05-11 1995-06-06 Dell Usa, L.P. Circuit and method for testing direct memory access circuitry

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016157505A1 (ja) * 2015-04-02 2016-10-06 三菱電機株式会社 メモリチェック機能を有するdmac

Also Published As

Publication number Publication date
FR2697663B1 (fr) 1995-01-13
FR2697663A1 (fr) 1994-05-06
EP0595036A1 (en) 1994-05-04
US5621883A (en) 1997-04-15

Similar Documents

Publication Publication Date Title
JPH06223002A (ja) マイクロプロセッサメモリのテスト回路
US5495593A (en) Microcontroller device having remotely programmable EPROM and method for programming
US5519847A (en) Method of pipelining sequential writes in a flash memory
EP0529945B1 (en) Method and apparatus for programmable memory control with error regulation and test functions
US4672534A (en) Integrated circuit device incorporating a data processing unit and a ROM storing applications program therein
US5652844A (en) Flexible pin configuration for use in a data processing system during a reset operation and method therefor
JPH08305605A (ja) 拡張検査ベクトル記憶部を用いた走査検査方法および装置
US5761456A (en) Processor device having automatic bus sizing
EP0446534A2 (en) Method of functionally testing cache tag rams in limited-access processor systems
JPH03252993A (ja) E↑2promの情報書込み装置
US4807178A (en) Programmable sequence controller having indirect and direct input/output apparatus
US11521698B2 (en) Testing read-only memory using memory built-in self-test controller
US7047444B2 (en) Address selection for testing of a microprocessor
JP2001356971A (ja) マルチプロセッサメモリをテストするシステム及び方法
JPS63148498A (ja) 自己診断機能を具備した記憶装置
KR100297224B1 (ko) Prom이구비된마이크로컴퓨터및그것의데이타판독검사방법
JP2904130B2 (ja) プログラム誤動作検出開発支援装置およびプログラム誤動作検出方法
JP2534314B2 (ja) 半導体集積回路
JP2687476B2 (ja) ベクトルデータ処理装置
JPS6238746B2 (ja)
JPH03130996A (ja) Eepromの初期設定方式
JPS59153247A (ja) デバツグ装置
JPS59123054A (ja) イニシアル検出方式
JPH0293847A (ja) 初期診断時のメモリテスト方式
JP2000181900A (ja) シングルチップマイクロコンピュータ

Legal Events

Date Code Title Description
A521 Written amendment

Effective date: 20050530

Free format text: JAPANESE INTERMEDIATE CODE: A523