(57)【要約】マルチポート・コンパクトｓＲＡＭ（ＣｓＲＡＭ）に対する組み込み自己検査（ＢＩＳＴ）は、システム速度で動作するＢＩＳＴコントローラを使用する一方、ＣｓＲＡＭはメモリ速度で検査される。検査回路により、システム・クロック・サイクルにつきＣｓＲＡＭの複数回のランダム・アクセスが可能になる。このようにして、ＣｓＲＡＭにおけるタイミング関連の欠陥を検出することができる。ＣｓＲＡＭは仮想的に「ｋ」個の区画に分割され、区画は、同一のおよび相補的な検査データを用いて異なるポートから同時に検査される。メモリ・アレイの周囲に配置されたカラー内への最小限のハードウェアを追加して、従来の（ＢＩＳＴ）コントローラを使用することができる。
2004512630.tif 000002
【特許請求の範囲】
【請求項１】
２ポートのコンパクト・スタティック・ランダム・アクセス・メモリ（ＣｓＲＡＭ）を該ＣｓＲＡＭの動作速度で検査する方法であって、
（ａ）第１の検査データ・セットおよび第２の検査データ・セットを生成し、
（ｂ）第１のポートを介した前記ＣｓＲＡＭの第１の区画への前記第１検査データ・セットの書き込み、および第２のポートを介した前記ＣｓＲＡＭの第２の区画への前記第２の検査データ・セットの書き込みを同時に実行し、
（ｃ）前記第１のポートを介して前記第１の区画から第１の出力データを読み取り、前記第２のポートを介して前記第２の区画から第２の出力データを読み取り、
（ｄ）前記第１の出力および前記第２の出力の各々を前記第１の検査データ・セットおよび前記第２の検査データ・セットとそれぞれ比較して、前記第１の出力が前記第１の検査データと異なるか、または前記第２の出力が前記第２の検査データと異なる場合、故障と宣言することを含む方法。
【請求項２】
（ｅ）前記第１のポートを介した前記ＣｓＲＡＭの前記第２の区画への前記第１の検査データ・セットの書き込み、前記第２のポートを介した前記第１の区画への前記第２の検査データ・セットの書き込みを同時に実行し、
（ｆ）前記第１のポートを介して前記第２の区画から前記第１の出力データを読み取り、前記第２のポートを介して前記第１の区画から前記第２の出力データを読み取り、
（ｇ）前記第１の出力および前記第２の出力の各々を前記第１の検査データ・セットおよび前記第２の検査データ・セットと再度比較して、前記第１の出力が前記第１の検査データと異なるか、または前記第２の出力が前記第２の検査データと異なる場合、故障と宣言することをさらに含む、請求項１に記載の方法。
【請求項３】
前記生成するステップが、
前記第１の検査データ・セットについてｗ／２個の第１のワードを生成し、
前記第２の検査データ・セットについて、対応する第１のワードと相補的な２進値を各々が有するｗ／２個の第２のワードを与えることを含む、請求項１に記載の方法。
【請求項４】
前記書き込みを同時に実行するステップが、
前記第１の区画の連続的に増加するアドレスに前記第１のワードを書き込み、
前記第２の区画の連続的に減少するアドレスに前記第２のワードを書き込むことを含む、請求項３に記載の方法。
【請求項５】
前記読み取るステップが、
前記第１の区画の連続的に増加するアドレスから前記第１のワードを読み取り、
前記第２の区画の連続的に減少するアドレスから前記第２のワードを読み取ることを含む、請求項４に記載の方法。
【請求項６】
前記書き込みを同時に実行するステップが、
前記第１の区画の連続的に減少するアドレスに前記第１のワードを書き込み、
前記第２の区画の連続的に増加するアドレスに前記第２のワードを書き込むことを含む、請求項３に記載の方法。
【請求項７】
前記読み取るステップが、
前記第１の区画の連続的に減少するアドレスから前記第１のワードを読み取り、
前記第２の区画の連続的に増加するアドレスから前記第２のワードを読み取ることを含む、請求項６に記載の方法。
【請求項８】
前記第１および第２の区画のうちの１つにおけるアドレスが前記ＣｓＲＡＭのサイズに従った行番号と列番号を含み、行アドレスの最上位ビットがメモリ区画選択信号として使用される、請求項１に記載の方法。
【請求項９】
前記書き込みおよび読み取りステップが、一度に１ビットの検査データを書き込み、一度に１ビットの検査結果を読み取ることを含む、請求項１に記載の方法。
【請求項１０】
前記書き込みおよび読み取りステップが、一度に１ワードを書き込みおよび読み取ることを含む、請求項１に記載の方法。
【請求項１１】
マルチポートＣｓＲＡＭに対する、請求項１に記載の方法。
【請求項１２】
前記第１の区画および前記第２の区画が各々前記ＣｓＲＡＭの半分のサイズである、請求項１に記載の方法。
【請求項１３】
前記第１の検査データ・セットが前記第２の検査データ・セットと同一のデータを含む、請求項１に記載の方法。
【請求項１４】
第１および第２のポートを有するＣｓＲＡＭに対する検査回路であって、
前記ＣｓＲＡＭの第１の区画および第２の区画それぞれにおいて検査アドレスおよびシステム・アドレスのうち１つを選択するための、前記第１のポートに対する第１のアドレス・マルチプレクサ・ユニットおよび前記第２のポートに対する第２のアドレス・マルチプレクサ・ユニットと、
前記第１の区画および前記第２の区画それぞれにおいて検査データ・ワードおよびシステム・データ・ワードのうち１つを提供するための、前記第１のポートに対する第１のデータ・マルチプレクサ・ユニットおよび前記第２のポートに対する第２のデータ・マルチプレクサ・ユニットと、
前記第１および第２の区画両方に対して検査書込み／読取り命令およびシステム書込み／読取り命令のうち１つを提供するための、前記第１のポートに対する第１の書込み／読取りマルチプレクサ・ユニットおよび前記第２のポートに対する第２の書込み／読取りマルチプレクサ・ユニットと、
前記第１および第２のポート上に同時に検査アドレス、検査データワードおよび検査書込み／読取り命令を生成し、前記ＣｓＲＡＭから出力データを受け取って、システム・クロックより速いメモリ動作速度で前記ＣｓＲＡＭの検査を実行する組み込み自己検査（ＢＩＳＴ）コントローラと、
を含む検査回路。
【請求項１５】
前記第１のアドレス・マルチプレクサ・ユニットおよび前記第２のアドレス・マルチプレクサ・ユニットの各々が、前記ＢＩＳＴコントローラと（ｒ＋ｃ）個のアドレス接続を有し、それぞれの各ポートに対してメモリ選択信号を与えて、（ｒ−１）個の行アドレスとｃ個の列アドレス、またはｒ個の行アドレスと（ｃ−１）個の列アドレスのいずれかを提供する、請求項１４に記載の検査回路。
【請求項１６】
前記ＢＩＳＴコントローラが、
それぞれの各ポートにｎビットの検査ワードを提供するための、前記第１のデータ・マルチプレクサ・ユニットおよび前記第２のデータ・マルチプレクサ・ユニットの各々とのｎ個の入力データ接続と、
それぞれの各ポートからｎビット・ワードの検査応答を受け取るための、前記ＣｓＲＡＭとの２ｎ個の出力データ接続と、
を備える、請求項１４に記載の検査回路。
【請求項１７】
前記ＢＩＳＴコントローラが、
前記第１および第２のポートの各々にｎビットの検査ワードを提供するための、前記第１のデータ・マルチプレクサ・ユニットおよび前記第２のデータ・マルチプレクサ・ユニットの各々とのｎビット幅入力データ接続と、
前記第１のポートからｎビット・ワードの応答を受け取るための、前記ＣｓＲＡＭとのｎビット幅出力データ接続と、
前記第２のポートからのｎビット・ワード応答を前記第１のポートからのｎビット・ワード応答と比較する手段と、
を備える、請求項１４に記載の検査回路。
【請求項１８】
前記検査回路が、前記第２のポートに対して前記アドレス接続部の各々に対するアドレス・インバータおよび前記第２のポートに対する区画選択インバータをさらに備え、
前記ＢＩＳＴコントローラは、前記第１の区画に対して前記検査アドレスを生成し、前記アドレス・インバータは、前記第２の区画に対して、前記検査アドレスの相補的な２進値を提供する、請求項１６に記載の検査回路。
【請求項１９】
前記検査回路が、前記第２のポートに対して前記入力データ接続の各々に対する入力データ・インバータをさらに備え、
前記ＢＩＳＴコントローラは、前記第１の区画に対して前記検査データを生成し、前記入力データ・インバータは、前記第２の区画に対して、前記検査データの相補的な２進値を提供する、請求項１６に記載の検査回路。
【請求項２０】
前記検査回路が、前記第２のポートに対して前記出力データ接続の各々に対する出力データ・インバータをさらに備え、
前記ＢＩＳＴコントローラによって前記第１および第２の区画から受け取られる前記出力データが同一である、請求項１６に記載の検査回路。
【請求項２１】
それぞれの各ポートについて、前記第１のデータ・マルチプレクサ・ユニットおよび前記第２のデータ・マルチプレクサ・ユニットの各々が、前記ＣｓＲＡＭからの対応する（ｎ−１）個の出力データ接続との（ｎ−１）個の入力データ接続と、前記ＣｓＲＡＭに単一ビット検査データを提供するための、前記ＢＩＳＴコントローラからの入力検査接続と、を有し、
前記ＢＩＳＴコントローラは、前記単一ビット検査データに応答して、前記第１のポートおよび前記第２のポートから最上位出力ビットを受け取るための前記ＣｓＲＡＭとの出力検査接続を有する、
請求項１６に記載の検査回路。
【請求項２２】
前記単一ビット検査データが前記第１および第２のポートの最下位ビットに適用される、請求項２１に記載の検査回路。
【請求項２３】
前記第１区画および前記第２区画が各々前記ＣｓＲＡＭの半分のサイズである、請求項１４に記載の検査回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的にメモリ検査の方法および装置に関し、特に、マルチポートのコンパクト・スタティック・ランダム・アクセス・メモリ（すなわちＣｓＲＡＭ）をａｔ−ｓｐｅｅｄで検査する組み込み自己検査（ＢＩＳＴ）に関する。
【０００２】
【従来の技術】
ＲＡＭ（ランダムアクセス・メモリ）は、複数の記憶素子すなわちセルと、各セル毎の多数のポートを備える。一般に、１つのポートは外部装置にアクセス可能な５つの接続、すなわち、データ入力、データ出力、クロック、アドレスおよび制御（書込み／読取り）の接続を含む。１ポート・メモリにおいては、セルはそのアドレスに従って順次アクセスされて、データ・ビット（０または１）が各セルに書き込まれるか、または各セルから読み取られる。
【０００３】
電気通信産業用の新世代のＡＳＩＣは、より大規模かつより高速のメモリを必要とする。増大するデータ処理の要求に対処すべく、コンパクトｓＲＡＭ（ＣｓＲＡＭ）が開発された。ＣｓＲＡＭは、従来のメモリのシリコン領域およびピーク電力消費を低減する。コンパクト・スタティックＲＡＭは、その高い歩留まり、低コストおよび高速のアクセス時間のために、現在のところＡＳＩＣ上で大規模に使用されている。
【０００４】
ＣｓＲＡＭは、マルチポート・メモリの設計方法であり、１組の読み書き回路及びアドレス解読回路が複数のポート間でタイム・スライス方式で共有されている。換言すると、単一システム・クロック・サイクルにおいて、各ポートにはサイクル時間の一部が与えられ、同じ読み／書き回路および同じアドレス・デコーダを介してメモリにアクセスする。従来のマルチポート・メモリに比べて、同数のポートをサポートするＣｓＲＡＭが占めるシリコン領域は、大幅に少ない。
【０００５】
従来では、メモリ素子の検査は、あらかじめ定められた位置にデータ・パターンを書き込み、それぞれの位置からデータを読み出し、読み出したデータをその位置に書き込まれたはずのデータと比較することから構成されている。
【０００６】
過去においては、メモリ素子は、制御信号、アドレス信号およびデータ信号を検査中のメモリへ供給する外部テスターを使用して製造現場で検査され、その出力データを評価して、メモリが合格か不合格かが判定された。
【０００７】
単一チップ上のメモリ・セルの密度が増加するにつれて、回路をＡＳＩＣにパッケージングした後に検査する必要性が生じている。製造検査の間に検出されなかった欠陥は、フィールドでの不測の故障つながる。しかし、メモリ・チップの検査は容易な作業ではない。例えば、外部装置との接続の数には限界がある。メモリの全体にわたって複数の物理ポートを単純に実装することは、あまりにも複雑であり、また現実的でない。
【０００８】
ＡＳＩＣに組み込まれたメモリ・ブロックの検査は困難である。第一に、高速メモリは小さい差動信号振幅を使用するので、特別の検査アルゴリズムを使用しなければならず、そのため、ショートの検出が困難になる。さらに、集積回路の規模の増大に伴い、エラーの数と種類が増加している。その結果、多様な種類の欠陥の検査に必要なテスト・パターンの数のほか、パターンの実行時間もメモリ・サイズと共に増加する。
【０００９】
さらに、メモリ・アレイが論理部に深く埋め込まれている場合、書込みおよび読取りのためメモリにアクセスし、さらに応答を比較することは大きな困難を伴う。その結果、高速メモリの欠陥評価に必要なテスト・パターンはより高度なものとなり、その結果、検査時間やチップ・サイズがさらに増大する。この問題に対する一般的な解決方法は、チップ自体に付加的な検査回路を組み入れて組み込み自己検査（ＢＩＳＴ：ｂｕｉｌｔ−ｉｎ ｓｅｌｆ ｔｅｓｔ）を実行することである。ＡＳＩＣへのＢＩＳＴの組み込みは、最小の検査時間で非常に高い欠陥検出率（ｆａｕｌｔ ｃｏｖｅｒａｇｅ）が得られる優れた方法である。
【００１０】
現在のＢＩＳＴコントローラは、読取り、書込みおよび比較動作の特定のシーケンスを提供する有限状態機械（ＦＳＭ）を含む。検査は、必要な時いつでもユーザによって実施することができ、または、起動時に自動的に開始することもできる。本明細書において、「ＢＩＳＴ」は実際の検査を意味し、「ＢＩＳＴコントローラ」はＢＩＳＴを実行する回路を意味する。
【００１１】
ＣｓＲＡＭを検査する方法は、２つの部分検査を含む。第１の部分はＣｓＲＡＭの制御ロジックに対する走査検査であり、第２の部分はメモリ自体を検査する従来のＢＩＳＴである。この方法は、制御ロジックとメモリの両方における静的欠陥に対して良好な検出率を持つが、メモリ内でのタイミングに関連する欠陥の多くを検出できない。
【００１２】
すなわち、従来のメモリ検査手法では、ＣｓＲＡＭに適用した場合、満足のできる欠陥検出率を得ることができない。これは、主として、ＣｓＲＡＭがシステム・クロックより数倍速い内部クロックで動作するという事実による。現在のところ、ＣｓＲＡＭは、非常に遅いシステム・クロック速度で検査されるため、タイミングに関連した欠陥の多くが検出されない。
【００１３】
【発明が解決しようとする課題】
メモリ内でのタイミングに関連する欠陥のすべてを検出するべく、最大のメモリ速度でＣｓＲＡＭを検査する実用的な方法が必要とされている。
【００１４】
【課題を解決するための手段】
本発明の１つの目的は、従来技術のＢＩＳＴコントローラの上記の欠点のすべてまたは一部を改善することにある。
【００１５】
本発明の別の目的は、標準的な組み込み自己検査（ＢＩＳＴ）コントローラを使用してＣｓＲＡＭにおけるタイミング関連の欠陥の大部分またはすべてを検出することにある。本発明に従った方法は、従来技術のメモリ・アレイの周囲への検査回路の最低限の追加および従来技術の検査アルゴリズムに対する最低限の変更しか必要としない。また、本発明を一体化された（ｏｎｅ−ｐｉｅｃｅ）専用ＢＩＳＴコントローラとして実装することも可能であることは理解されたい。
【００１６】
本発明の１つの側面によると、２ポートのコンパクト・スタティック・ランダム・アクセス・メモリ（ＣｓＲＡＭ）を該ＣｓＲＡＭの動作速度で検査する方法が提供される。この方法は、第１の検査セッションおよび第２の検査セッションを含む。第１のセッションは、第１の検査データ・セットおよび第１のセットと同一または相補的である第２の検査データ・セットを生成するステップ、ＣｓＲＡＭの第１の区画への前記第１の検査データ・セットの書き込みおよび第２の区画への前記第２の検査データ・セットの書き込みを同時に行うステップ、前記第１の区画から第１の出力データを読み取り前記第２の区画から第２の出力データを読み取るステップ、および、第１の出力および第２の出力をそれぞれ第１の検査データ・セットおよび第２の検査データ・セットと比較して、第１の出力が第１の検査データと異なるか、または第２の出力が第２の検査データと異なる場合、故障と宣言するステップを含む。
【００１７】
第２のセッションは、ＣｓＲＡＭの第２の区画への第１の検査データ・セットの書き込みおよび第１の区画への第２の検査データ・セットの書き込みを同時に行うステップ、第２の区画から第１の出力データを読み取り第１の区画から第２の出力データを読み取るステップ、および、各出力をそれぞれ第１および第２の検査データ・セットと再度比較して、第１の出力が第１の検査データと異なるか、または第２の出力が第２の検査データと異なる場合、故障と宣言するステップを含む。２ポートＣｓＲＡＭを検査するこの方法は、マルチポートＣｓＲＡＭの検査にも適用可能である。
【００１８】
本発明の別の側面によると、第１および第２のポートを有するＣｓＲＡＭに対する検査回路が提供される。この回路は、ＣｓＲＡＭの第１の区画および第２の区画それぞれにおいて検査アドレスおよびシステム・アドレスの１つを選択するための、第１のポートに対する第１のアドレス・マルチプレクサ・ユニットおよび第２のポートに対する第２のアドレス・マルチプレクサ・ユニットと、第１の区画および第２の区画それぞれにおいて検査データ・ワードおよびシステム・データ・ワードの１つを提供するための、第１のポートに対する第１のデータ・マルチプレクサ・ユニットおよび第２のポートに対する第２のデータ・マルチプレクサ・ユニットと、第１および第２の区画両方に対して検査書込み／読取り命令およびシステム書込み／読取り命令の１つを提供するための、第１のポートに対する第１の書込み／読取りマルチプレクサ・ユニットおよび第２のポートに対する第２の書込み／読取りマルチプレクサ・ユニットと、第１および第２のポート上に同時に検査アドレス、検査データ・ワードおよび検査書込み／読取り命令を生成し、ＣｓＲＡＭから出力データを受け取って、システム・クロックより速いメモリ動作速度で該ＣｓＲＡＭの検査を実行する組み込み自己検査（ＢＩＳＴ）コントローラと、を含む。
【００１９】
本発明による方法によれば、ＣｓＲＡＭがメモリの動作速度で検査されるので、従来の検査手法ではカバーできないＣｓＲＡＭ内のタイミング関連の欠陥の大部分またはすべてが検出されるという利点がある。
【００２０】
【発明の実施の形態】
図１Ａは、２ポートＣｓＲＡＭ１０のブロック図である。図１Ａにおいて、ｓＲＡＭ１５は従来の単一ポート・スタティックＲＡＭである。単一ポートｓＲＡＭ１５を２ポートＣｓＲＡＭに変換するため、入力マルチプレクサ１４、１６、１８およびｓＲＡＭ１５の出力にラッチ１７、１９が使用されている。図２とともに後述するように、内部クロック発生器１２は、システム・クロックｓｙｓＣｌｋを使用して、内部クロックｆ０とｆ１を作動させる。クロックｆ０とｆ１は加算器２２において加算され、メモリ・クロックＣｋｌを得る。クロックｆ１を使用して、入力マルチプレクサ１４、１６、１８をイネーブルにし、メモリ・セルへの各データ・アドレスおよび制御信号を選択し、また当該セルに対するデータの書込み／読取りを行う。クロックｆ０およびｆ１は、ＣｓＲＡＭ１０の２つのポートｐ０、ｐ１のそれぞれにデータ出力を提供するために、出力ラッチ１７および１９によっても用いられる。バッファ１１、１３および２１、２３は適当な遅延を表すが、これらの構成は使用される技術によって決定される。
【００２１】
図１Ｂは、２ポートＣｓＲＡＭ１０の入力および出力を表すため使用される記号を示す。信号Ｗ０、Ｄ０、Ａｄｄ０およびＱ０は、それぞれＣｓＲＡＭ１０の第１のポートｐ０の書込みイネーブル、データ入力、アドレスおよびデータ出力を表す。同様に、信号Ｗ１、Ｄ１、Ａｄｄ１およびＱ１は、それぞれＣｓＲＡＭ１０の第２のポートｐ１の書込みイネーブル、データ入力、アドレスおよびデータ出力を表す。
【００２２】
図１Ａ、図１Ｂ、図２および図３Ａとともに、２ポートＣｓＲＡＭ１０の動作を説明する。各ｓｙｓＣｌｋの間に、信号Ｗ０／Ｗ１、Ｄ０／Ｄ１およびＡｄｄ０／Ａｄｄ１が、ｓｙｓＣｌｋの立ち上がりからある間隔ａの後にＣｓＲＡＭ１０に供給される。初めに、生成器１２は、図２に示すように第１のパルスｆ０を生成する。この時点ではｆ１が０であるので、このｆ０パルスは、第１のポートｐ０のセル１５’にへのアクセスを起動し、ラインＷ０、Ａｄｄ０およびＤ０をイネーブルにする。Ｗ０が「１」であれば、書込み動作により、Ａｄｄ０によって事前選択されたアドレスのセル１５にＤ０を書き込む。Ｗ０が「０」であれば、読み取り動作によりセル１５’の内容を読み取り、対応する出力ラッチ１７にその結果をラッチする。
【００２３】
ｓｙｓＣｌｋの立ち上がりに対して一定の遅延の後（この遅延は図２においてｂで示す）、生成器１２は、第２のクロック・パルスｆ１を生成する。パルスｆ１は、第２のポートｐ１のセル１５’へのアクセスを起動し、ラインＷ１、Ａｄｄ１およびＤ１をイネーブルにする。ｆ０との間の位相差はΔで示されている。パルスｆ１は、ｓｙｓＣｌｋの立ち上がりまたはパルスｆ０の立ち上がりエッジによって生成可能であることを理解されたい。
【００２４】
図２は、システム・クロックｓｙｓＣｌｋと、本発明に従って２ポートＣｓＲＡＭを検査するために使用される周波数ｆ０およびｆ１との間のタイミング関係を示している。上述のように、ｓｙｓＣｌｋの各立ち上がりエッジはｆ０パルスとｆ１パルスを起動する。ｓｙｓＣｌｋ、ｆ０およびｆ１の間のタイミング関係は固定されている。換言すれば、ｆ０とｆ１のパルス幅は固定され、ｆ０とｆ１の位相シフト（ａおよびｂ）もｓｙｓＣｌｋの立ち上がりエッジに対して固定され、ｆ０およびｆ１は、ｓｙｓＣｌｋのサイクル・タイムから独立している。その結果、ｓｙｓＣｌｋの各立ち上がりエッジにおいて、ＣｓＲＡＭ１０は固定された周波数１／Δにおいて２回アクセスされる。周波数１／Δは、通常、ｓＲＡＭ技術が許容する最も高い周波数であり、メモリの各種類に固有である。
【００２５】
ＣｓＲＡＭの使用は、マルチポート・メモリのシリコン領域を減らすのに役立ち、従って、ＡＳＩＣにより多くの機能を実装することを可能にしている。従って、ＣｓＲＡＭの検査方法はより困難なものになる。上述のように、システム・クロックは内部クロック（ｃｋｉ）より非常に遅いので、従来のＢＩＳＴ手法を用いたのでは、特にタイミング関連の故障について、ＣｓＲＡＭの高い検査品質を達成するのは困難である。
【００２６】
図３Ａは、２ポートＣｓＲＡＭ１０を示し、本発明に従った用語および検査方法を定義するため示されている。図３Ｂは、検査方法の観点から見た２ポートＣｓＲＡＭ１０の簡略図である。本方法は、マルチポート・コンパクトｓＲＡＭにも同様に適用することが可能であり、また、マルチポートＣｓＲＡＭを検査するための基本概念を説明するべく、２ポートの例が提示されていることを理解されたい。
【００２７】
本発明に従って、ｓｙｓＣｌｋより少なくともｋ倍速い速度で動作するｋポートＣｓＲＡＭを検査するため、ＣｓＲＡＭはｋ個の区画に分割され、１システム・クロック・サイクルの間に、ｋ個のポートからｋ回アクセスされる（「ｋ」は正の整数である）。メモリは等しい区画に分割されることが好ましい。図１の実施形態においては、従来の単一ポートｓＲＡＭ１５は２つの等しい区画に分割され、同一のシステム・クロック生成器１２を使用して２つの独立したポートからアクセスされることが可能である。
【００２８】
本発明の一実施形態によると、ＣｓＲＡＭ１０は、等しいサイズの２つの区画、例えば区画Ｓ０およびＳ１に論理的に分割される。各区画Ｓ０およびＳ１は、全く同じかまたは相補的な検査データを使用して、異なるポートｐ０、ｐ１から同時に検査される。
【００２９】
検査方法を記述するため以下のような表記が使用される。ワード数すなわちメモリのサイズは「ｗ」で表され、「ｎ」は１ポートあたり１ワードあたりのビット数を表す。ｎビットのワードが記号８２で例示されている。ＣｓＲＡＭ１０は、ｃ個の列８３およびｒ個の行８４からなる１つのアレイである。インデックス「ｉ」はセル１５’の行アドレスを示すため使用され、ｉは０，１，２，．．，（ｒ−１）である。インデックス「ｊ」はセル１５’の列アドレスを示すため使用され、ｊは０，１，２，．．，（ｃ−１）である。
【００３０】
上述のように、ｓＲＡＭ１５における各セル１５’には２つのポートがあり、従って、１つのセルについて２つの異なる行アドレスが存在する。すなわち、１つはポートｐ１に関し、もう１つはポートｐ２に関するものである。よって、ａｒ０［ｉ］およびａｒ１［ｉ］は、ポートｐ０およびｐ１についてそれぞれアクセスが行われる時、ｓＲＡＭ１５の同一のセルについての行アドレスを表す。同様に、ｓＲＡＭ１５における各セル１５’には２つの異なる列アドレスが存在する。すなわち、１つはポートｐ０に関し、もう１つはポートｐ１に関するものである。よって、ａｃ０［ｊ］およびａｃ１［ｊ］は、同一のセル１５についての列アドレスを表す。
【００３１】
ポートｐ０にアクセスが行われるときのｓＲＡＭ１５におけるセル１５’の完全なアドレスは、
Ａｄｄ０＝｛ａｒ０［ｒ−１］，．．．，ａｒ０［０］，ａｃ０［ｃ−１］，．．．，ａｃ０［０］｝
であり、ポートｐ１にアクセスが行われるときのｓＲＡＭ１５におけるセル１５’の完全なアドレスは、
Ａｄｄ１＝｛ａｒ１［ｒ−１］，．．．，ａｒ１［０］，ａｃ１［ｃ−１］，．．．，ａｃ１［０］｝
である。
【００３２】
図３Ｂは、区画Ｓ０とＳ１に分割されたＣｓＲＡＭ１０の概念図である。完全な故障検出のためには、各ポートｐ０、ｐ１は区画Ｓ０およびＳ１の各々を１度ずつ検査しなければならない。言い換えると、２ポートＣｓＲＡＭ１０のため２つの検査セッションが必要とされる。第１のセッションにおいて、区画Ｓ０がｐ０から検査されるのと同時に区画Ｓ１がｐ１から検査される。これは、図３Ｂにおいて、点線で示されている。この場合、Ａｄｄ０は区画Ｓ０におけるセル位置を定義し、Ａｄｄ１は区画Ｓ１におけるセル位置を定義する。第２のセッションにおいて、区画Ｓ０がｐ１から検査されるのと同時に区画Ｓ１がｐ０から検査され、ＣｓＲＡＭ１０全体の検査が完了する。第２のセッションにおいては、Ａｄｄ０が区画Ｓ１におけるセル位置を定義し、Ａｄｄ１が区画Ｓ０におけるセル位置を定義する。これは、図３Ｂにおいて、実線で示されている。
【００３３】
加えて、この方法に関して、メモリのパラレル検査が仮定されている。すなわち、ワードが１度に１つずつ適用され、検査応答は１度に１ワード読み取られる。従って、この方法は、また、「修正パラレルＢＩＳＴ」と呼ばれる。
【００３４】
図３Ｂに従った例示的な検査方法は、２つの検査セッションの使用によって付加的検査時間を必要としない。これは、各検査セッションがメモリ空間の半分だけを検査し、従って、単一ポートｓＲＡＭについて単一セッションで全メモリ空間を検査する従来の手法と比較して、各検査セッションが検査時間の半分だけを要するにすぎないからである。
【００３５】
本発明に従った検査方法の２つのセッションは、ｓＲＡＭを検査するため使用されるＢＩＳＴを使用することができるが、このＢＩＳＴのアルゴリズムは、例えば、１ポートｓＲＡＭに関しては、Ａ． Ｊ． ｖａｎ ｄｅ Ｇｏｏｌ著「Ｔｅｓｔｉｎｇ ｓｅｍｉｃｏｎｄｕｃｔｏｒ ｍｅｍｏｒｉｅｓ」（Ｗｉｌｅｙ Ｐｕｂｌｉｓｈｅｒｓ， Ａｐｒｉｌ １９９６）に、マルチポートの従来のｓＲＡＭに関しては、Ｗｕ他著の「ＢＩＳＴ ｆｏｒ ｍｕｌｔｉ−ｐｏｒｔ ＲＡＭｓ」（ｐｐ．１０８１−７７３５， １９９７ ＩＥＥＥ）により提案されている。
【００３６】
これらのまたは他の検査アルゴリズムは、本発明に従って、マルチポートＣｓＲＡＭを検査するため若干修正される。例えば、この段落では、本発明に従ってａｔ−ｓｐｅｅｄでＣｓＲＡＭを検査するために使用される修正Ｍａｒｃｈ“Ｃ”マイナー（ＭＡＲＣＨ Ｃ−）検査アルゴリズムを提示する。しかしながら、本発明は他のＢＩＳＴアルゴリズムにも最小限度の修正を実施するだけで同様に適用することができる。
【００３７】
図４は、本発明に従った検査のステップを示す。ステップは、また、マーチ（ｍａｒｃｈ）ステップと呼ばれるもので、セルが連続的に検査され、書込みおよび読取り動作がセルからセルへ上下に「マーチング（ｍａｒｃｈｉｎｇ）」することを直感的に表している。ポートごとに１ワードｎビットのｗ個のワードの（ｒ行ｃ列の）２ポートＣｓＲＡＭ１０を検査するため、従来のＢＩＳＴコントローラを使用して、一度に１つのｓＲＡＭにアクセスする（検査する）ことによって２つの仮想単一ポートｓＲＡＭが順次検査される。各仮想単一ポートＲＡＭは、（ｒ−１）行ｃ列に配列されたワードあたり２ｎビットからなる（ｗ／２）個のワードを持つ。代替的に、該単一ポート仮想メモリは、ｒ行（ｃ−１）列に配列されたワードあたり２ｎビットからなる（ｗ／２）個のワードを持つこともできる。
【００３８】
これらの仮想ＣｓＲＡＭ８５および８６は、図４において、灰色領域および白色領域としてそれぞれ示されている。このような２つの仮想メモリへの分離は永久的なものではなく、検査の間に実行されるマーチングステップに従って変更可能であることを理解されたい。
【００３９】
この仮想的すなわち論理的分離の結果、従来のＢＩＳＴコントローラのカラー（ｃｏｌｌａｒ）は、２ｎビット幅の検査データおよび［（ｒ−１）＋ｃ］ビットのアドレスをメモリ１０に提供するように若干修正されなければならず、２ｎビット幅の検査応答を確認しなければならない。加えて、従来のＢＩＳＴコントローラは、それぞれの書込み／読取り動作について、ＣｓＲＡＭ１０の単一ポート仮想メモリ８５および８６を選択するために、ｍｅｍｓｅｌ信号を生成しなければならない。このｍｅｍｓｅｌは、ＣｓＲＡＭ１０についての行アドレスａｒ０［ｒ−１］およびａｒ１［ｒ−１］の最上位ビットとして使用される。例えば、第１の仮想ｓＲＡＭ８５がｐ０から検査される場合、ｍｅｍｓｅｌ＝０であり、第２の仮想ｓＲＡＭ８６がｐ０から検査される場合、ｍｅｍｓｅｌ＝１である。
【００４０】
図４において、文字ＲおよびＷは、それぞれ読取りおよび書込み動作を表す。文字ｄおよびｄ￣は、それぞれのアドレスから書込み／読取りされる検査データおよび相補的検査データを表す。矢印は、それぞれのステップについてのｍａｒｃｈ−ｕｐまたはｍａｒｃｈ−ｄｏｗｎを表す。マーチングする方向は、「ｕｐ（上昇）」および「ｄｎ（下降）」のインデックスによって表される。Ｓ０またはＳ１は、書込み／読取り動作が適用される区画を表す。ｒｅａｄ−ｕｐ、ｒｅａｄ−ｄｏｗｎ、ｗｒｉｔｅ−ｕｐおよびｗｒｉｔｅ−ｄｏｗｎという用語は、それぞれの仮想メモリにおいて実行される動作についてのマーチングの方向を表す。
【００４１】
検査データがｓｙｓＣｌｋの立ち上がりエッジにおいて適用される。内部クロックｆ０が最初に生成されるので、Ｄ０上の検査データは、最初に仮想メモリ８５のアドレスＡｄｄ０にあるセルに適用される。同じｓｙｓＣｌｋサイクルの範囲内で、Ｄ１上の検査データは、ｆ１の立ち上がりエッジにおいてアドレスＡｄｄ１のセルに適用される。上述のように、Ａｄｄ０およびＡｄｄ１は、各々がメモリ１０の異なる区画内にある２つの異なる記憶セルを表す。
【００４２】
遷移を作成してタイミング関連の故障をカバーするため、図４の例において、ポートｐ０およびｐ１における検査データは、正反対すなわち相補的な値を持つ。すなわち、Ｄ１＝Ｄ０￣である。これは、アドレスＡｄｄ０を持つセルに論理値「１」が書き込まれるとすると、アドレスＡｄｄ１を持つセルに論理値「０」が書き込まれることを意味し、それ以降も同様である。このようにして、読み取り動作の間に、それぞれクロックｆ０およびｆ１に従って、アドレスＡｄｄ０およびＡｄｄ１から相補的な検査応答が読み取られる。
【００４３】
２つのポートｐ０、ｐ１および異なるアドレスについて２組の相補的な検査データを使用することによって、ＣｓＲＡＭ１０のラインＤ、ＡｄｄおよびＱ上の信号がｆ０とｆ１のそれぞれのペアに対して常に切り換わる。この高速切り換えが、図１に示したｓＲＡＭセル１５’、入力マルチプレクサ１４、１６、１８および出力ラッチ１７、１９等の関連回路のタイミングに対して最大限度のストレスを与える。
【００４４】
図４に示す方法は、第１および第２のセッションのそれぞれが６つのステップを持つ、２つのセッションで実行される。
【００４５】
第１の検査セッションはステップ１−６からなり、各ステップは、各仮想メモリにおいて同時にかつ反対方向に読取り／書込み動作を実行する。上述のように、検査データｄが仮想メモリ８５から特定方向に読み取られるとき、相補的検査データｄ￣がその場所において同じ方向に書き込まれる。また、検査データｄが仮想メモリ８５においてある１つの方向に書き込まれるとき、相補的検査データｄ￣が仮想メモリ８６において反対方向に書き込まれる。
【００４６】
ステップ１は、第１の検査セッションが、仮想メモリ８５において増加する連続のアドレスを持つ（ｗ／２）個の検査データ・ワードの書き込み、および仮想メモリ８６において減少する連続のアドレスを持つ（ｗ／２）個の相補的な検査データ・ワードの書き込みで開始することを示す。ステップ１が終了すると、仮想メモリ８５および８６に書き込まれたデータは相補的な値を持つ。ステップ１の間に実行される読み取り動作は、本検査方法に関連しない。
【００４７】
これは、次のように表現できる。
【００４８】
【数１】
2004512630.tif 000003
ここで、ｄは、００．．．０００または０１０１．．．０１０１等の任意のｎビットのベクトルである。
ＲｄおよびＲｄ￣は、ｒｅａｄｄ（ｄ￣）動作を表す。
ＷｄおよびＷｄ￣は、ｗｒｉｔｅｄ（ｄ￣）動作を表す。
（．．．）：（．．．）は、２つのポートにおける２つの並列動作を表す。
添え字ｕｐＳ０（ｄｎＳ０）は、区画Ｓ０に対してのｍａｒｃｈ ｕｐ（ｍａｒｃｈ ｄｏｗｎ）検査を表す。
添え字ｕｐＳ１（ｄｎＳ１）は、区画Ｓ１に対してのｍａｒｃｈ ｕｐ（ｍａｒｃｈ ｄｏｗｎ）検査を表す。
【００４９】
第２の検査セッションは、ステップ７から始まる。ステップ７において、仮想メモリ８６の増加する連続アドレスに（ｗ／２）個の検査データ・ワードが書き込まれ、メモリ８５の減少する連続アドレスに（ｗ／２）個の相補的な検査データ・ワードが書き込まれる。仮想メモリ８５および８６に書き込まれたデータは相補的な値を持ち、上述の第１のセッションで述べたのと同じ規則が適用される。ステップ７の間に実行される読み取り動作は、本検査方法に関連しない。
【００５０】
これは次のように表現できる。
【００５１】
【数２】
2004512630.tif 000004
【００５２】
上述のように、各マーチング動作は、２ポートＣｓＲＡＭ１０全体のメモリ空間の半分である対応するメモリ区画の全アドレス空間を通して実行される。メモリの分割に応じて、各区画内のマーチングに関するアドレスの順序は連続的であることもそうでないこともある。例えば、行アドレスの最上位ビットを除きＡｄｄ０がＡｄｄ１とすべてのビット位置において同一であるような分割であれば、
ａｒ０［ｒ−１］＝ａｒ１［ｒ−１］，ａｒ０［ｒ−２］＝ａｒ１［ｒ−２］，…，
ａｒ０［０］＝ａｒ１［０］，
ａｃ０［ｃ−１］＝ａｃ１［ｃ−１］，…，ａｃ０［０］＝ａｃ１［０］
であり、各メモリ区画の範囲内のアドレスは連続している。
【００５３】
メモリの分割および検査アドレスの連続性に関係なく、上記アルゴリズムに従った故障検出率は同じである。同様に、検査はメモリ動作速度で実行され、システムはシステム・クロック速度で動作を続ける。
【００５４】
図５は、本発明に従ったパラレルＢＩＳＴを実行するため、従来のＢＩＳＴコントローラ３０を持つ修正カラー２５を２０で示す。太線の接続はバスを表し、バスのサイズは図５に表示されている。灰色で示した領域２５内の回路は、「ＢＩＳＴカラー（ｃｏｌｌａｒ）」として定義される。この例では、ＢＩＳＴコントローラ２０は２ポートＣｓＲＡＭ１０を検査するように適用されている。それにもかかわらず、２ポートＣｓＲＡＭについての動作原理および回路を理解すれば、他のタイプのマルチポートＣｓＲＡＭについてのカラー２５のその他の変型を容易に想定できるであろう。さらに上述のように、カラー２５を使用し、ＢＩＳＴコントローラ３０の動作のわずかな変更で、ＣｓＲＡＭ１０のａｔ−ｓｐｅｅｄでの検査が実現される。
【００５５】
カラー２５は、アドレス・マルチプレクサ２４、２４’、データ・マルチプレクサ２６、２６’およびＷ／Ｒマルチプレクサ２８、２８’を含む。各マルチプレクサは対応するポートｐ０およびｐ１においてそれぞれの機能を実行する。カラー２５は、ポートｐ０のライン５１、５３、５５、６０、およびポートｐ１のライン６１、６３、６５、７０を経由して、ＡＳＩＣの残り部分に接続している。マルチプレクサが「機能ブロックから」と記された接続を経由してＡＳＩＣの機能ブロックに接続しているときは、ＣｓＲＡＭ１０の両方の通常モードでの動作を可能にし、また、ＢＩＳＴコントローラ３０への接続を経由して接続しているとき、検査モードでのＣｓＲＡＭ１０の動作を可能にするように、複数のマルチプレクサが備えられている。
【００５６】
このように、ｐ０のアドレス・マルチプレクサ２４は、メモリ１０の区画Ｓ０においてアクセスされるべきセルの行および列を識別する（ｒ＋ｃ）ビット幅のアドレス信号を受け取る。ポートｐ１のアドレス・マルチプレクサ２４’も、メモリの行と列の数は両方のポートについて同じであるので、（ｒ＋ｃ）ビット幅のアドレスを受け取る。ＢＩＳＴコントローラ３０は、（ｒ−１）＋ｃビット幅のメモリ１０についてのアドレスをライン３５上に生成し、各区画内の各セル・アドレスを完全に識別する。さらに、ＢＩＳＴコントローラ３０が信号ｍｅｍｓｅｌをライン３４上に提供し、第１の区画Ｓ０と第２の区画Ｓ１との間で選択するインバータ４３が用意される。この信号は、本例において、行アドレスの最上位ビットである。言い換えると、ｍｅｍｓｅｌはａｒ０［ｒ−１］とａｒ１［ｒ−１］を入れ替える。それぞれのポートについてのｍａｒｃｈ ｕｐまたはｍａｒｃｈ ｄｏｗｎアドレスは、カラー２５に配置されたインバータ４２を通して取得される。インバータ４２は、２つの仮想メモリの同時読み書き動作のためアドレスが反対であることを保証する。インバータ４４は、ＢＩＳＴコントローラ３０が同一の検査応答の組を比較することを可能にする。
【００５７】
データ・マルチプレクサ２６および２６’はｎビットを受け取る（「ｎ」は１ワードのサイズである）。従って、ＢＩＳＴコントローラ３０は、メモリ１０が２つの区画に分割されているのに応じて、ｎビット幅の検査データをライン３７上に生成しなければならない。これは、メモリ１０の２つの区画への仮想的な分割の結果である。ポートｐ０に関して相補的なｎビット幅の検査データの第２セットをポートｐ１に常に提供するため、インバータ４１が使用される。Ｒ／Ｗマルチプレクサ２８および２８’は、読取りまたは書込み動作を示す単一ビットの制御信号３８を受け取る。制御信号が「１」であれば、書込み動作が実行される。
【００５８】
図４を参照して述べたように、両方の仮想メモリは読取りまたは書込み動作を同時に実行するが、アドレスは反対方向にマーチングし、データは相補的な値を有する。従って、制御信号は両方のポートについて同じものである。出力ライン６０および７０上の検査応答はｎビット幅であり、この検査応答は、セルに書き込まれたデータがそのセルから読み取られたデータと同一であるか否かを確認するためにＢＩＳＴコントローラ３０によって使用される。ＢＩＳＴコントローラ３０およびＣＳＲＡＭ１０はどちらも、記号３６で示すシステム・クロックｓｙｓＣｌｋで同期される。
【００５９】
上述のように、修正ＢＩＳＴコントローラ２０は、通常モードと検査モードを持つ。ｂｉｓｔ＿ｅｎ＝１が到着すると、ライン３９上の信号ｂｉｓｔｏｎがバッファ／マルチプレクサ（２４、２６、２８）および（２４’、２６’、２８’）からのデータを選択し、ＢＩＳＴが開始される。コントローラ３０は、まずｍｅｍｓｅｌを「０」にセットし、従って、ａｒ０［ｒ−１］＝０およびａｒ１［ｒ−１］＝１となる。この場合、ＢＩＳＴコントローラ３０は、ポートｐ０を介してメモリ空間の下半分Ｓ０を検査し、ポートｐ１を介してメモリ空間の上半分Ｓ１を検査するが、マーチングは反対方向に進む。このセッションの間、ＢＩＳＴは図４のマーチングステップ１−６を実行して、従来のｓＲＡＭの半分についてＭＡＲＣＨ Ｃ―検査を完了する。
【００６０】
第１の検査セッションが完了すると、ＢＩＳＴコントローラ３０はｍｅｍｓｅｌ＝１をセットして、同じＭＡＲＣＨ Ｃ−検査を繰り返す。第２のセッションの間、ａｒ０［ｒ−１］＝１およびａｒ１［ｒ−１］＝０であり、ＢＩＳＴコントローラ３０は、ポートｐ１を介してメモリ空間の下半分Ｓ０を検査し、ポートｐ０を介してメモリ空間の上半分Ｓ１を検査する。第２の検査セッションは、図４とともに説明したステップ７−１２に対応する。この検査が完了すると、ＢＩＳＴコントローラ３０はこれに応じて信号ｂｉｓｔ＿ｄｏｎｅおよびｂｉｓｔ＿ｐａｓｓをセットする。
【００６１】
従来のＢＩＳＴコントローラと比較したソフトウェアの変更の観点からは、この実施形態は、従来のＢＩＳＴコントローラ３０に対して少なくともｎビット幅検査データを生成し、２ｎビット幅の検査応答を確認することを要求する。
【００６２】
ハードウェアの観点からは、ＢＩＳＴコントローラ２５に（２ｎ＋ｒ＋ｃ）個のインバータが追加される。すなわち、ｎ個のインバータ４１、ｎ個のインバータ４４、（ｒ−１＋ｃ）個のインバータ４２および１個のインバータ４３が追加される。従来のＢＩＳＴコントローラが、図５のコントローラ２０と同じ数のマルチプレクサを必要とすることに注意されたい。さらに、ＡＳＩＣにおけるシリコン領域および関連する全般のピーク電源消費量が減少する。なぜなら、本発明が同じ容量の従来のコンパクトｓＲＡＭの検査よりも大幅に少ない量のＣｓＲＡＭの検査を行うように設計されているからである。
【００６３】
検査時間の観点からは、本発明に従ったシリアル検査は、同じサイズの単一ポートｓＲＡＭの従来の検査の場合と同じ時間を必要とする。２ポートｓＲＡＭの従来の検査と比較すると、図５の実施形態に従った検査時間は半分にすぎない。
【００６４】
修正ＢＩＳＴコントローラ２０は、従来のＢＩＳＴ実施形態と比較するとより多くのインバータを必要とする一方、修正ＢＩＳＴコントローラはｎビット幅の使用するべき検査データを提供する。従って、従来方法と比較して２倍の検査データおよび検査応答を使用するので、本発明に従った検査方法ではより高い精度が得られる。さらに、タイミング関連の故障を検出するために、システム・クロックより少なくとも２倍速いメモリ動作速度で検査が実行される。
【００６５】
図６は、本発明の別の実施形態４０を示す。この実施形態では、２ポートＣｓＲＡＭを検査するためにシリアル化された（ｓｅｒｉａｌｉｚｅｄ）ＢＩＳＴコントローラが使用される。この実施形態は、多数のメモリの間で単一のＢＩＳＴコントローラを共有するＡＳＩＣに対して推奨される。多数のメモリがＡＳＩＣ上に広く分散していると、図５に示すような共有のパラレルＢＩＳＴコントローラ２０は、検査データ・バスを全体に配線するコストのため費用がかかる。
【００６６】
図６のシリアルメモリＢＩＳＴコントローラ４０は、すべての仮想メモリに単一ビットの検査入力を提供して、各仮想メモリから単一ビットの検査応答を受け取ることによってこのオーバーヘッドを最小限度にする。配線の節約に加えて、シリアル化は、コントローラがＣｓＲＡＭの両方のポートに対して単一ビットの検査データを生成し、ＣｓＲＡＭの各ポートから単一ビットの検査応答を受け取るので、ＢＩＳＴコントローラのハードウェア要件も低減する。
【００６７】
この例の場合も、検査対象のメモリは、ポートあたりｒ行、ｃ列、ｗ個のワード、１ワードあたりｎビットを持つ２ポートＣｓＲＡＭ１０である。シリアルＢＩＳＴ４０は、本発明と同じ譲受人に譲渡された米国特許第４，９６９，１８４号に記述されているシリアルＭＡＲＣＨ検査（ＳＭＡＲＣＨ）を用いて動作し、参照により本明細書に援用される。
【００６８】
すべての（ＲｄＷｄ￣）および（Ｒｄ￣Ｗｄ）動作を（Ｒ０Ｗ１）ｎ（Ｒ１Ｗ１）および（Ｒ１Ｗ０）ｎ（Ｒ０Ｗ０）とそれぞれ置き換えることによって、図４に示したものと同じ原理をシリアル形態の検査方法に適用することが可能である。
【００６９】
図６において、シリアルＢＩＳＴカラー２５’を表している影付き領域は、アドレス・マルチプレクサ（２４、２４’）、データ・マルチプレクサ（２６、２６’）、Ｒ／Ｗマルチプレクサ（２８、２８’）およびインバータ４１−４４を含む。単一ビット検査データｓｉｍｅｍがＢＩＳＴコントローラ３０’からポートｐ０の最下位ビットＤ０［０］へライン３７を介して適用され、単一ビット検査データ
【数３】
2004512630.tif 000005
がポートｐ１の最下位ビットＤ１［０］へ適用される。Ｄ０およびＤ１の残りの（ｎ−１）ビットは、出力ラインＱ０およびＱ１からそれぞれ戻される。換言すれば、
【数４】
2004512630.tif 000006
である。最上位出力ビットＱ０［ｎ−１］および反転ビットＱ１￣［ｎ−１］＝Ｑ０［ｎ−１］が評価のためＢＩＳＴコントローラ３０へ送り返される。
【００７０】
図６の実施形態において、ＢＩＳＴコントローラ４０は、両方のメモリに単一ビット検査を与え各仮想メモリからの単一ビット検査応答を評価することによって、２つの仮想メモリを同時に検査するはずである。このような構成のため、シリアルＢＩＳＴコントローラ４０は、ＣｓＲＡＭ１０の各出力ポートに対して単一ビットのコンパレータ（図示せず）を備えている。
【００７１】
シリアルＣｓＲＡＭ　ＢＩＳＴコントローラ４０は次のように動作する。ｂｉｓｔ＿ｅｎが受け取られ、ライン３９上にｂｉｓｔｏｎが生成されると、ＢＩＳＴモードがイネーブルにされ、ｍｅｍｓｅｌ＝０をセットして、ポートｐ０を介してＣｓＲＡＭ１０の下半分Ｓ０を検査し、ポートｐ１を介してＣｓＲＡＭ１０の上半分Ｓ１を検査する。上述したように、単一ビットの検査データｓｉｍｅｍがコントローラ３０によって生成されてｐ０において供給され、
【数５】
2004512630.tif 000007
がｐ１において供給される。Ｑ０／Ｄ０およびＱ１／Ｄ１が、シリアル検査のシフト動作を実行するためカラー２５’において（ｎ−１）回のフィードバックを行う。最上位出力ビットＱ０［ｎ−１］およびＱ１￣［ｎ−１］がＢＩＳＴコントローラ３０によって並列に評価される。入力インバータ４１および出力インバータ４４上での反転のために、両方のポートからの検査応答は常に同一（すなわちＱ０［ｎ−１］＝Ｑ１［ｎ−１］）である。この検査が完了すると、ＢＩＳＴコントローラ３０はｍｅｍｓｅｌ＝１をセットして、ポートｐ１を介してメモリ空間の下半分Ｓ０を検査する。第２の検査が完了すると、コントローラはこれに応じてｂｉｓｔ＿ｄｏｎｅ＝１およびｂｉｓｔ＿ｐａｓｓをセットする。
【００７２】
従来のＢＩＳＴコントローラと比較すると、ＣｓＲＡＭシリアルＢＩＳＴ４０は、同一値の２つの出力ビットを評価するために、カラー２５’に（ｒ＋ｃ＋２）個の余分のインバータを必要とし、さらにＢＩＳＴコントローラ３０に２、３個のゲートを必要とする。上述のように、最上位出力ビットが比較されるが（Ｑ０［ｎ−１］＝ Ｑ１￣［ｎ−１］）、これは従来のＳ−ＭＡＲＣＨ実施形態における１ビット出力とは相違する。
【００７３】
検査時間の観点からは、本発明に従うシリアル検査は、同じサイズの単一ポートｓＲＡＭの従来の検査の場合と同じ時間を必要とする。２ポートｓＲＡＭの従来の検査と比較すると、図６の実施形態に従った検査時間は半分にすぎない。
【００７４】
図７の実施形態は、ｎビット幅の検査データを生成してｎビット幅の検査応答を確認するように設計されたＢＩＳＴコントローラ３０と共に使用されるべき図５のカラー２５の修正を示す。
【００７５】
ライン６０上のｎビット幅検査応答の第１のセットが、図５とともに上述したように、ＢＩＳＴコントローラ３０において比較され、かつ、加算器６６に入力される。ライン７０上のｎビット幅検査応答の他のセットが加算器５６に送られる。加算器５６の出力に接続された検出器５７は、（１；０）検出器であって、検査応答の２つのセットの間に不一致を検出したときその出力を「１」にセットし、「１」のままとなる。
【００７６】
検出器５７の出力はインバータ５９を通ってＡＮＤゲート５８の入力を制御し、一方、信号ｂｉｓｔ＿ｐａｓｓはＡＮＤゲート５８の他の入力を制御する。ＡＮＤゲート５８の出力は、メモリ内に故障が検出されない場合「１」である信号ｂｉｓｔ＿ｐａｓｓ＿ｃｏｍｂｉｎｅｄを提供する。
【００７７】
図７のＢＩＳＴカラー構成は、シリアルＢＩＳＴ実施形態にも使用することができる。
【００７８】
図８は、ＢＩＳＴカラー２５の別の１つの実施形態を示す。このＢＩＳＴカラー２５は、ｏｕｔｐｕｔ−０およびｏｕｔｐｕｔ−１を有する符号器７２、および、図５のインバータ４１および４４をそれぞれ置き換えた２つのＸＯＲゲート６７、６８を含む。図８に示す構成を用いて、ＢＩＳＴコントローラ３０は、２ポート、Ｗワード、１ワードあたりｎビットのＣｓＲＡＭ１０について、次の機能を実行するように設計されている。すなわち、（ａ）（ｗ／２）個のワードを有し１ワードあたり２ｎビットの４つの仮想単一ポート・メモリを検査し、（ｂ）その時に１つの仮想メモリを検査する。従って、４ビット・メモリ選択信号、例えばメモリ１０の各区画８５、８６を４回検査するためのｍｅｍｓｅｌ［３：０］信号が生成される。
【００７９】
符号器７２は、ライン３４上のｍｅｍｓｅｌ［３：０］に接続され、同一または相補的ないずれかの検査データの選択を制御する。同様に、符号器７２は区画８５、８６のどちらを検査するべきか、およびポートｐ０またはｐ１のどちらを使用するべきかを制御する。例えば、データ・バスに接続されたｏｕｔｐｕｔ−１が「０」であれば、ｏｕｔｐｕｔ−０を介して選択されるＣｓＲＡＭ１０の２つの区画に対応する２つのセッションにおいて、同一のデータを用いて検査が実行される。符号器７２のｏｕｔｐｕｔ−１が「１」であれば、図５とともに上述したように、相補的な検査データを用いて検査が実行される。
【００８０】
符号器７２のｏｕｔｐｕｔ−０は、メモリ１０のどちらの区画をポートｐ０、ｐ１のどちらから検査するべきかを選択するために使用される。ｏｕｔｐｕｔ−０が「０」であると、ｐ０が区画８５を検査し、ｐ１が区画８６を検査する。そうでない場合、ｐ０が区画８６を検査し、ｐ１が区画８５を検査する。
【００８１】
このようにして、ＣｓＲＡＭ１０の各区画は４回検査されるが、完全な故障検出のために、２回はｏｕｔｐｕｔ−１＝０のときに同一の検査データを用いて、別の２回はｏｕｔｐｕｔ−１＝１のときに相補的な検査データを用いて行われる。表１は符号器７２の機能を示す。
【００８２】
【表１】
2004512630.tif 000008
【００８３】
図８のＢＩＳＴカラー構成は、シリアルＢＩＳＴ実施形態とともに同様に使用可能である。
【００８４】
本発明によると、システム・クロック生成器１２よりも少なくともｋ倍速い動作速度を持つコンパクトｓＲＡＭ１０に対してのａｔ−ｓｐｅｅｄでの検査品質を達成する新たなＢＩＳＴ手法が提供される。上述のように、ＣｓＲＡＭの検査は、すべての必要な修正をメモリ・カラー２５、２５’に包含させた従来のＢＩＳＴコントローラ３０、３０’を用いて実施することができる。必要とされる唯一のコストは、パラレルまたはシリアル検査を実施するため、検査対象のＣｓＲＡＭ周囲のカラー２５、２５’に関連するもののみである。
【００８５】
ｒ行およびｃ列で、ポートあたりｗ個のワード、１ワードあたりｎビットの２ポートＣｓＲＡＭを検査するため、従来のＢＩＳＴコントローラのカラーを、あたかも（ｒ−１）行およびｃ列で、ポートあたり（ｗ／２）個のワード、１ワードあたりｎビットの２つの仮想単一ポートｓＲＡＭを相補的な検査データを用いて検査するように適用する。分割のモデルに応じて、仮想単一ポートｓＲＡＭはｒ行および（ｃ−１）列で、ポートあたり（ｗ／２）個のワード、１ワードあたりｎビットを有することもできる。ＢＩＳＴカラーは、同一および相補的の両方の検査データを用いて、４つの仮想単一ポート・メモリを検査するように修正することもできる。
【００８６】
ｋポートのＣｓＲＡＭの検査スケジュールは、ｋ個の仮想メモリを同時に検査するものである。好ましくは、仮想メモリは同じサイズである。
【００８７】
添付の請求項に定義された本発明の範囲から逸脱することなく、本発明の特定の実施形態に対し多くの修正、変型および適応を実施することが可能である。
【図面の簡単な説明】
【図１Ａ】２ポートのコンパクトｓＲＡＭ（ＣｓＲＡＭ）のアーキテクチャを示す。
【図１Ｂ】ＣｓＲＡＭについて使用される記号を示す。
【図２】本発明に従って、図１ＡのＣｓＲＡＭを検査するシステム・クロックおよび内部クロックの波形を示す。
【図３Ａ】図１Ａの２ポートＣｓＲＡＭおよび本発明に従った検査方法によって使用される用語を示す。
【図３Ｂ】検査方法の観点から見た簡略化された２ポートＣｓＲＡＭを示す。
【図４】本発明に従った２ポートＣｓＲＡＭに対する検査のステップを示す。
【図５】本発明に従った２ポートＣｓＲＡＭに対するａｔ−ｓｐｅｅｄでのＢＩＳＴのパラレル実施形態を示す。
【図６】本発明に従った２ポートＣｓＲＡＭに対するａｔ−ｓｐｅｅｄでのＢＩＳＴのシリアル実施形態を示す。
【図７】ローカル・コンパレータを備えた図５のＢＩＳＴカラーの別の実施形態を示す。
【図８】故障検出率が改善された検査に対する図５のＢＩＳＴカラーのさらに別の実施形態を示す図である。
【図１Ａ】
2004512630.tif 000009
【図１Ｂ】
2004512630.tif 000010
【図２】
2004512630.tif 000011
【図３Ａ】
2004512630.tif 000012
【図３Ｂ】
2004512630.tif 000013
【図４】
2004512630.tif 000014
【図５】
2004512630.tif 000015
【図６】
2004512630.tif 000016
【図７】
2004512630.tif 000017
【図８】
2004512630.tif 000018
【国際公開パンフレット】
2004512630.tif 000019
2004512630.tif 000020
2004512630.tif 000021
2004512630.tif 000022
2004512630.tif 000023
2004512630.tif 000024
2004512630.tif 000025
2004512630.tif 000026
2004512630.tif 000027
2004512630.tif 000028
2004512630.tif 000029
2004512630.tif 000030
2004512630.tif 000031
2004512630.tif 000032
2004512630.tif 000033
2004512630.tif 000034
2004512630.tif 000035
2004512630.tif 000036
2004512630.tif 000037
2004512630.tif 000038
2004512630.tif 000039
2004512630.tif 000040
2004512630.tif 000041
2004512630.tif 000042
2004512630.tif 000043
2004512630.tif 000044
2004512630.tif 000045
2004512630.tif 000046
2004512630.tif 000047
2004512630.tif 000048
2004512630.tif 000049
2004512630.tif 000050
2004512630.tif 000051
2004512630.tif 000052
2004512630.tif 000053
【手続補正書】
【提出日】平成14年10月14日(2002.10.14)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
マルチポートのコンパクト・スタティック・ランダム・アクセス・メモリ（ＣｓＲＡＭ）を内部クロックで検査する方法であって、前記ＣｓＲＡＭはシステム・クロックより速い前記内部クロックで動作し、少なくとも２つのポートと、メモリと、メモリ・アクセス回路とを含み、前記２つのポートは前記メモリにアクセスするための前記メモリ・アクセス回路を共有しており、
前記検査方法は、
（ａ）第１の検査データ・セットおよび第２の検査データ・セットを生成し、
（ｂ）前記ＣｓＲＡＭの検査を前記内部クロックで実行するために、第１のポートを介した前記ＣｓＲＡＭの第１の区画への前記第１検査データ・セットの書き込み、および第２のポートを介した前記ＣｓＲＡＭの第２の区画への前記第２の検査データ・セットの書き込みを前記システム・クロックで同時に行い、
（ｃ）前記第１のポートを介して前記第１の区画から第１の出力データを読み取り、前記第２のポートを介して前記第２の区画から第２の出力データを読み取り、
（ｄ）前記第１の出力および前記第２の出力の各々を前記第１の検査データ・セットおよび前記第２の検査データ・セットとそれぞれ比較して、前記第１の出力が前記第１の検査データと異なるか、または前記第２の出力が前記第２の検査データと異なる場合、故障と宣言することを含む、検査方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】請求項２
【補正方法】変更
【補正の内容】
【請求項２】
（ｅ）前記第１のポートを介した前記ＣｓＲＡＭの前記第２の区画への前記第１の検査データ・セットの書き込み、前記第２のポートを介した前記第１の区画への前記第２の検査データ・セットの書き込みを同時に実行し、
（ｆ）前記第１のポートを介して前記第２の区画から前記第１の出力データを読み取り、前記第２のポートを介して前記第１の区画から前記第２の出力データを読み取り、
（ｇ）前記第１の出力および前記第２の出力の各々を前記第１の検査データ・セットおよび前記第２の検査データ・セットと再度比較して、前記第１の出力が前記第１の検査データと異なるか、または前記第２の出力が前記第２の検査データと異なる場合、故障と宣言することをさらに含む、請求項１に記載の方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
マルチポートのコンパクト・スタティック・ランダム・アクセス・メモリ（ＣｓＲＡＭ）の検査回路であって、前記ＣｓＲＡＭは内部クロックで動作し、少なくとも２つのポートと、メモリと、メモリ・アクセス回路とを含み、前記２つのポートは前記メモリにアクセスするための前記メモリ・アクセス回路を共有しており、
前記ＣｓＲＡＭの第１の区画および第２の区画それぞれにおいて検査アドレスおよびシステム・アドレスのうち１つを選択するための、前記第１のポートに対する第１のアドレス・マルチプレクサ・ユニットおよび前記第２のポートに対する第２のアドレス・マルチプレクサ・ユニットと、
前記第１の区画および前記第２の区画それぞれにおいて検査データ・ワードおよびシステム・データ・ワードのうち１つを提供するための、前記第１のポートに対する第１のデータ・マルチプレクサ・ユニットおよび前記第２のポートに対する第２のデータ・マルチプレクサ・ユニットと、
前記第１および第２の区画両方に対して検査書込み／読取り命令およびシステム書込み／読取り命令のうち１つを提供するための、前記第１のポートに対する第１の書込み／読取りマルチプレクサ・ユニットおよび前記第２のポートに対する第２の書込み／読取りマルチプレクサ・ユニットと、
前記第１および第２のポート上に同時に検査アドレス、検査データワードおよび検査書込み／読取り命令を生成し、前記ＣｓＲＡＭから出力データを受け取って、システム・クロックより速い前記内部クロックで前記ＣｓＲＡＭの検査を実行する、システム・クロックで動作する組み込み自己検査（ＢＩＳＴ）コントローラと、
を含む検査回路。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】請求項１５
【補正方法】変更
【補正の内容】
【請求項１５】
前記第１のアドレス・マルチプレクサ・ユニットおよび前記第２のアドレス・マルチプレクサ・ユニットの各々が、前記ＢＩＳＴコントローラと（ｒ＋ｃ）個のアドレス接続を有し、それぞれの各ポートに対してメモリ選択信号を与えて、（ｒ−１）個の行アドレスとｃ個の列アドレス、またはｒ個の行アドレスと（ｃ−１）個の列アドレスのいずれかを提供する、請求項１４に記載の検査回路。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】請求項１６
【補正方法】変更
【補正の内容】
【請求項１６】
前記ＢＩＳＴコントローラが、
それぞれの各ポートにｎビットの検査ワードを提供するための、前記第１のデータ・マルチプレクサ・ユニットおよび前記第２のデータ・マルチプレクサ・ユニットの各々とのｎ個の入力データ接続と、
それぞれの各ポートからｎビット・ワードの検査応答を受け取るための、前記ＣｓＲＡＭとの２ｎ個の出力データ接続と、
を備える、請求項１４に記載の検査回路。
【国際調査報告】
2004512630.tif 000054
2004512630.tif 000055
2004512630.tif 000056