JP2012532399A - コンピュータメモリテスト構造 - Google Patents

コンピュータメモリテスト構造 Download PDF

Info

Publication number
JP2012532399A
JP2012532399A JP2012517617A JP2012517617A JP2012532399A JP 2012532399 A JP2012532399 A JP 2012532399A JP 2012517617 A JP2012517617 A JP 2012517617A JP 2012517617 A JP2012517617 A JP 2012517617A JP 2012532399 A JP2012532399 A JP 2012532399A
Authority
JP
Japan
Prior art keywords
test
memory
interface
testing
test pattern
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
JP2012517617A
Other languages
English (en)
Other versions
JP5651171B2 (ja
Inventor
チンソン スル
スンジュン キム
Original Assignee
シリコン イメージ,インコーポレイテッド
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 シリコン イメージ,インコーポレイテッド filed Critical シリコン イメージ,インコーポレイテッド
Publication of JP2012532399A publication Critical patent/JP2012532399A/ja
Application granted granted Critical
Publication of JP5651171B2 publication Critical patent/JP5651171B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/003Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation in serial memories
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • 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/26Functional testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C2029/5602Interface to device under test

Abstract

コンピュータメモリテスト構造のための方法及び装置が提供される。メモリボードをテストする方法の一実施形態は、メモリボードのメモリをテストすることを含み、このようなメモリのテストは、組込み自己テスト構造を使用して、メモリのための第1テストパターンを与えることを含む。更に、この方法は、ホストでメモリのIO(入力出力)インターフェイスをテストすることも含み、このようなIOインターフェイスのテストは、組込み自己テスト構造を使用して、IOインターフェイスの第2テストパターンを与えることを含む。
【選択図】図6

Description

本発明の実施形態は、一般的に、コンピュータメモリの分野に係り、より特定すれば、コンピュータメモリテスト構造のための方法及び装置に係る。
コンピュータメモリ装置は、技術の進歩で各装置内のコンポーネントを益々小型化できるにつれて、次第に高密度のアーキテクチャーとなっている。従って、各メモリ装置は、テストが非常に複雑になっている。メモリ装置は、SPDRAM(シリアルポートダイナミックランダムアクセスメモリ)を含む。
コンピュータ装置は、あるケースでは、組込み自己テスト(BIST)回路を備えている。このBIST回路は、メモリ装置に対して幾つかのテストを行う上で助けとなる。
しかしながら、メモリ装置は、異なる要件をもつ複数の異なる形式のテストを必要とする。テストをサポートするためにあまりに多くのハードウェアを追加すると、メモリボードのサイズ及びコストが増加し、テストの複雑さも増す。
更に、テストは、異なるホストシステムとのインターフェイスに関連して複数のメモリ装置をテストすることを含み、従って、非常に複雑で且つ融通性のないテストは、メモリ装置及びインターフェイスのテストのコスト及び複雑さを高める。
コンピュータメモリテスト構造のための方法及び装置が提供される。
本発明の第1の態様において、メモリボードをテストする方法は、メモリボードのメモリをテストすることを含み、このようなメモリのテストは、組込み自己テスト構造を使用して、メモリの第1テストパターンを与えることを含む。更に、この方法は、ホストでメモリのIO(入力出力)インターフェイスをテストすることも含み、このようなIOインターフェイスのテストは、組込み自己テスト構造を使用して、IOインターフェイスの第2テストパターンを与えることを含む。
本発明の第2の態様において、装置は、第1のテスト構造を含むメモリと、第2のテスト構造を含むホストの物理的層と、それらメモリと物理的層との間のインターフェイスとを備えている。メモリ及びインターフェイスは、第1のテスト構造及び第2のテスト構造を使用してテストされる。
以下、同じ要素が同じ参照番号で示された添付図面を参照して本発明の実施形態を一例として説明する。
組込み自己テスト構造を含むメモリ装置の一実施形態を示す。 コンピュータメモリをテストするプロセスの一実施形態を示すフローチャートである。 組込みメモリテスト構造の一実施形態を含むメモリ装置のインターフェイスを示す。 SPDRAMメモリアーキテクチャーの実施形態を示す。 組込み自己テスト構造の実施形態を含む装置のコマンドセットを示す。 各々5ビット対6及び6ビット対5の遷移エンコーディング及びデコーディングの実施形態を示す。 各々6ビット対7及び7ビット対6の遷移エンコーディング及びデコーディングの実施形態を示す。 メモリ及びホストチップ用のSPDRAMテスト構造の実施形態を示す。 SPDRAMインターフェイステストアーキテクチャーの実施形態を示す。 被試験ユニットの各TX(送信器)チャンネルにおけるテストパターン発生の実施形態を示す。 テストシステム又は方法の一実施形態の20ビットテストパターン発生を示す。 テストシステム又は方法の一実施形態の20ビットテストパターン処理を示す。 メモリのSPDRAMテスト構造の一実施形態を示す。 ホストチップに対するSPDRAMテスト構造の一実施形態を示す。 シリアルIOインターフェイスに対する自己ループバックテスト構成の一実施形態を示す。 メモリインターフェイスに対する自己ループバックテスト構成の一実施形態を示す。 自動テスト装置(ATE)を含むテスターを使用するメモリインターフェイスに対するテスト構成の一実施形態を示す。 機能的経路に対する外部ループバックテスト構成の一実施形態を示す。 機能的経路に対する自己ループバックテスト構成の一実施形態を示す。 単一ポートに結合されたテストジェネレータ及びそのポートのための単一エラーチェッカを使用するメモリ又はPHY層に対するSPDRAMテスト構造のアーキテクチャーの一実施形態を示す。 テストシステムの一実施形態を示す。 エラー検出プロセスの一実施形態を示す。 テストシステムの一実施形態に対するテストエンコーディング関数の概念を示す。 組み合わせテストエンコーディング関数の一実施形態を示す。 テストシステム又はプロセスの実施形態に使用されるテストデータのクラスシグネチャーを示す。 テスト構造の実施形態に対するクラスシグネチャーを示す。 クラスシグネチャーシーケンスの実施形態を示す。 ハイアラーキーテストエンコーディング関数の実施形態を示す。 クラス発生関数の実施形態を示す。 ハイアラーキーエンコーディングを使用してテストデータストリームにテストプロパティを埋め込むためのプロセスの実施形態を示す。 ハイアラーキーエンコーディングを使用してテストデータストリームにテストプロパティを埋め込むためのプロセスの実施形態を示す。 受信器においてテストプロパティ埋め込みテストパターンをチェックするプロセスの一実施形態を示す。 エラー検出器の一実施形態を示す。 エラーインジケータの一実施形態の振舞いを示す。 シリアルIOテスト構造の一実施形態を示す。 テストモードの実施形態を示す。 テストモードの実施形態を示す。 共有テストパターンソースの一実施形態を示す。 メモリインターフェイステストユニットの一実施形態を示す。 テストデータエキスパンダーの一実施形態を示す。 バンクアドレス計算ユニットの一実施形態を示す。 プライオリティの機能をチェックするためのコマンド発生の一実施形態を示す。 SPDRAMテストジェネレータの一実施形態を示す。 SPDRAMテストジェネレータの一実施形態を示す。 SPDRAMテストジェネレータの一実施形態を示す。 SPDRAMテストジェネレータの一実施形態を示す。 SPDRAMテストジェネレータの一実施形態を示す。 エラーチェックの一実施形態を示す。 シリアルIOエラーチェッカの一実施形態を示す。 シリアルIOエラーチェッカの一実施形態を示す。 ボードテストシステムの一実施形態を示す。 ボードレベルテスト構造の一実施形態を示す。 シリアルIO相互接続テスト構造の一実施形態を示す。 オープン欠陥検出の一実施形態を示す。 ブリッジ欠陥検出の一実施形態を示す。 シリアルIOボードテストの一実施形態を示す。 ホストバイパスループバック経路を通しての相互接続テストを示す。 ホストにおいてテストパターンを発信する状態でのメモリインターフェイステストの一実施形態を示す。 メモリにおいてテストパターンを発信する状態での自己ループバック経路を通るメモリインターフェイステストの一実施形態を示す。 本発明の一実施形態に使用されるコンピューティングシステムの一実施形態を示す。
本発明の実施形態は、一般的に、コンピュータメモリテスト構造のための方法及び装置に向けられる。
ある実施形態において、ランダムアクセスメモリ(DRAM)を含むメモリのための組込みテスト構造(built-in test structure)が設けられる。ある実施形態において、メモリは、シリアルポートDRAM(SPDRAM)メモリである。
シリアルリンクは、ピン数を減少できる一方、トレース一致及び混雑を排除することによりレイアウトの問題を簡単化することができる。各ポートが独立しているので、ポート間に位相関係を維持する必要はない。メモリコマンド及びタイミングは、マルチプレクス型アドレスバスを伴う標準的な最新のDRAMに良く似ている。
しかしながら、SPDRAM及び最終製品のテスト費用を下げるための費用効果の高い且つハードウェア効率の良いテスト方法を提供するには幾つかの課題が課せられる。装置内では、SPDRAMメモリインターフェイステスト回路のハードウェアオーバーヘッドを小さく保持して、装置のシリコンエリアの多くをメモリセルに利用することができる。更に、SPDRAMメモリインターフェイステスト方法のテスト費用は、価格競争力を維持するために入念な管理を必要とする。ある実施形態では、テスト方法は、特徴付け、生産、テスト及び診断のためのテストパターンのリッチセットを与えることができねばならない。例えば、セットトップボックスの製造者の観点から、ボードレベルテスト及び診断能力が重要である。ある実施形態では、SPDRAMメモリチップ及びPHY IP製品に一体化されるテスト方法は、システムボード上のSPDRAM製品のインターフェイスを確認し、それにより、ボードの収率を高める上で助けとなるように再使用される。SPDRAMメモリは、一般的に、供給者によってテストされるので、セットトップボックスのメーカーは、システムボードに具現化されたSPDRAMメモリ及び高速シリアルIOインターフェイスの機能を保証するために減少テストを適用してもよい。ある実施形態では、チップレベル及びボードレベルの両方でメモリ及びシリアルIOインターフェイスに低コストのテスト特徴を組み込むことにより、IP及びIC製品のための著しい効果を与えることができる。
ある実施形態では、システムは、SPDRAMメモリ、メモリインターフェイス、及び高速シリアルIOリンクをテストするための組込み自己テスト(BIST)構造を使用する。ポートロジック及びスイッチを含むSPDRAMメモリ及びメモリインターフェイスは、オンチップテスト回路によるか、又は(ATE、即ち自動テスト装置を含む)テスターにより、テストすることができる。ある実施形態では、装置は、意図されたテストを各々内部及び外部で編成するためにオンチップテスト回路及びテスターに使用される低コストのハードウェアテストインターフェイスを備えている。ある実施形態では、SPDRAMメモリ及びそのインターフェイスのテストは、シリアルIOリンクを経て実行される。ある実施形態では、システムは、SPDRAMプロトコルに違反しないSPDRAMコマンドのシーケンスを与えるテストパターンを使用する。
ある実施形態では、シリアルIOのテストは、メモリ及びメモリインターフェイスのテストとは分離される。テストの分離を行うのは、シリアルIOインターフェイスの機能をその電気的仕様に対して保証するためのプロセスが、合法的なSPDRAMコマンド以外のテストパターンを含むためである。ある実施形態では、SPDRAMプロトコルの知識を要求せずにシリアルIOインターフェイスのテストを実施することでテストプロセスが簡単化もされる。従って、ある実施形態では、シリアルIOインターフェイスのテストは、SPDRAMプロトコルとは独立しており、SPDRAMプロトコルの知識なしに実行することができる。シリアルIOテストのテストパターンは、例えば、ランダムパターンでよい。
ある実施形態では、シリアルIOインターフェイステストは、有効なデータストリームを構成するためにテストパターン又はテストデータのストリームへ埋め込まれた(又はエンコードされた)テストプロパティを含む。ある実施形態では、インターフェイステストは、データストリームの有効性を変化させるエラーを検出するのに使用される。テストプロパティは、テストパターンで満足されるテスト仕様とみなされる。テストプロパティは抽象的であるから、プロパティは、簡単な形態で具現化されるテストパターンの大きなセットを受け入れることができる。
ある実施形態では、低コストのテストを容易にするために、テストシステムは、ユーザメモリテストパターンジェネレータ及びテスターへのテストインターフェイス回路をなすことができる。又、テストシステムは、メモリインターフェイスをテストするのに必要なSPDRAMコマンドのシーケンスを発生できるスタンドアローンシステムとして機能することもできる。ある実施形態では、テストを外部で編成するために利用可能なSPDRAMコマンドにテスターがアクセスしてもよい。
ある実施形態では、テストインターフェイス回路は、テスト解凍回路としても機能する。ある実施形態では、SPDRAMコマンド入力は、4つのポートを有する装置の一例において、4つの全ポートにパラレルに適用される4つの20ビットコマンドへとデコード又は解凍される。メモリインターフェイステストは、同じシリアルIOを通して実行されるので、シリアルIOテスト構造がテストインターフェイス回路の構造において再使用される。テストインターフェイス回路は、ターンオン及びオフにされるハイアラーキーハードウェア層とみなされる。
装置設計及び製造において、装置をプリント回路板上においてシステムを形成するときには、ボード上のSPDRAMインターフェイスの機能を確認して、ボードレベルの収率ロス及びテスト逃れを減少することが重要である。一般的に、ボードレベルにおける収率ロスのコストは、チップレベルの場合より著しく高い。テストを逃れたボードは、システム欠陥及び製品のリコールを招き得るので、コストがかかる。
図1は、組込み自己テスト構造を含むメモリ装置の一実施形態を示す。この図において、メモリ装置105は、シリアルポートメモリ装置で、ここでは、第1ポート115、第2ポート120、第3ポート125、及び第4ポート130として示された複数のポートを備え、各ポートは、シリアライザ135及びデシリアライザ140(各々SER及びDESとして示す)を含む。この装置は、更に、装置をテストするための組込み自己テスト構造(又はBIST)110を備えている。ある実施形態では、この組込み自己テスト構造は、メモリ装置及びメモリインターフェイスのテストをサポートするのに使用される。
図2は、コンピュータメモリをテストするプロセスの一実施形態を示すフローチャートである。ここに示すプロセスでは、コンピュータメモリ装置が被試験デバイス(DUT)として選択され(202)、メモリ装置は、複数のポートを含む。メモリテストのセットが装置に対して選択され、そしてメモリをテストするためにテストパターンが送信される(204)。テストパターンは、受け取られて、エラーに対してチェックされ(206)、メモリに欠陥状態があるかどうか決定される(208)。図示されたプロセスでは、IOインターフェイスをテストするためにも、テストパターンが送信される(210)。テストパターンは、受け取られて、エラーに対してチェックされ(212)、インターフェイスに欠陥状態があるかどうか決定される(214)。
図3は、組込みメモリテスト構造の一実施形態を含むメモリ装置のインターフェイスを示す。図示されたシステム300では、ホスト305がインターフェイス350を経てメモリ355にリンクされる。
ホスト305は、図示されたホストポート0を含む1つ以上のポート310を、メモリ355とリンクするためのリンクマネージメント340と共に備えている。ポート0は、ホスト物理的層320を含み、そのホスト物理的層は、受信器及び送信器325を含み、送信器は、インターフェイス350のシリアルリンクを経て送信するためのシリアライザ330を含む。メモリ355は、図示されたメモリポート0を含む1つ以上のポート360を、ホスト305とリンクするためのリンクマネージメント390と共に備えている。メモリポート0は、メモリ物理的層365を含み、そのメモリ物理的層は、送信器及び受信器375を含み、受信器は、インターフェイス350のシリアルリンクを経て送信を受け取るためのデシリアライザ380を含む。
ある実施形態において、メモリ355は、DRAM(ダイナミックランダムアクセスメモリ)であり、特に、シリアルポートDRAM(SPDRAM)である。SPDRAMとは、高速シリアルIOポートを経てメモリにアクセスできるようにするDRAMメモリアクセス技術である。ある実施形態では、ホスト305は、システムオンチップ(SOC)である。動作中に、パラレルデータは、ホスト305とメモリ355との間の送信の前にシリアル化され、そしてそのシリアル化されたデータは、受信端においてパラレルデータへとデシリアル化される。従って、シリアライザ/デシリアライザ対は、ホスト305とメモリ355との間の通信チャンネルを形成する。
図4は、SPDRAMメモリアーキテクチャーの実施形態を示す。この図において、SPDRAMメモリ400は、ポートごとに独立したバンクアクセスをもつ4チャンネルシリアルメモリである。ポート405は、各々、メモリ物理的層410と共に示され、そして各々5Gbps(ギガビット/秒)まででコマンド又は書き込みデータを送信すると同時に読み取りデータを受信するために4線の差動送信及び受信リンクを含む。メモリ400は、更に、ここではDRAMコアバンク0−7として示された1つ以上のメモリバンク420にデータを記憶するためポートロジック415を備えている。ある実施形態では、メモリ400のための組込みテスト構造が設けられ、そのテスト構造は、メモリのテスト、及びホスト装置とのインターフェイスのテストに関連して使用される。
図5は、組込み自己テスト構造の実施形態を含む装置のコマンドセット500を示す。コマンドは、DRAMメモリをテストするのにしばしば使用されるメモリコマンドを含み、それらは、プリチャージ(PCG)、アクチベートバンク(ABNK)、アクチベート(ACT)、書き込み(WR)及び読み取り(RD)コマンドを含む。この図において、各コマンドの長さは、送信のためにエンコードされる場合には17ビット又は20ビットであり、それらコマンドは、同期コマンド及びメモリコマンドを含む。しかしながら、本発明の実施形態は、特定のコマンドセット又はコマンド構造に限定されない。この図において、同期コマンドは、リンクを確立し、そしてリンクの完全性を回復する。
図6及び7は、17ビットメモリコマンドが送信のためにどのように変換又はエンコードされるか示す。図6は、各々5ビット対6及び6ビット対5の遷移エンコーディング及びデコーディングの実施形態を示す。図7は、各々6ビット対7及び7ビット対6の遷移エンコーディング及びデコーディングの実施形態を示す。17ビットコマンド、及び20ビットのエンコードされたコマンドが、各々、d[16:0]及びe[19:0]として示されている。コマンドのエンコーディングは、記号間干渉(“ISI”として知られている)の問題を克服すると共に、送信されたコマンドを受信器においてより確実に回復するために、エンコードされるコマンドにより多くの遷移を合体させる。ある実施形態では、17ビットコマンドの6ビット、5ビット及び6ビット区画の各々は、図6及び7に示す変換式を各々使用して、7ビット、6ビット及び7ビット区画へと変換される。例えば、コマンドの5ビット区画が11000を含む場合には、それが図6に示すように1010101へと変換される。オリジナルの5ビット区画における遷移の数は、変換によって6個の遷移に増加されることに注意されたい。コマンドの6ビット区画も、図7に示すように同様に変換することができる。この変換は、変換ビットストリームにおける0及び1の連続数として定義されるラン長さが5以下であることを保証する。従って、変換ビットストリームの6ビットごとに1つ以上の遷移がある。ある実施形態では、エンコードされたコマンドを受信器においてデコードすることは、逆の仕方で行われる。
ある実施形態では、SPDRAMテスト構造は、同じシリアルIOリンクを経て高速シリアルIOリンク及びメモリインターフェイスロジックの両方をテストする。図8は、例えば、システムオンチップ(SOC)に埋め込むことのできるメモリ及びホストチップ用のSPDRAMテスト構造の一実施形態を示す。
ある実施形態では、上述したように、シリアルIOのテストは、メモリインターフェイスのテストと分離される。メモリインターフェイスのテストは、被試験メモリ装置のSPDRAMプロトコルに適合するテストパターンを必要とする。しかしながら、シリアルIOインターフェイスのテストは、SPDRAMプロトコルとは独立している。テストの分離は、全シリアルIOインターフェイスのテストが、SPDRAMプロトコルが許す以上のテストパターンを必要とするという点で好都合である。シリアルIOテストの分離を使用して、テストパターン適合制約を除去し、シリアルIOテスト中に、より多様なテストパターンを適用できるようにする。多様なテストパターンのリッチセットは、広いテストカバレージを達成する上で重要な要素である。
図8において、シリアルIO及びメモリインターフェイスをターゲットとする組込み自己テスト(BIST)ハードウェアは、シリアルIOテスト構造815、及びメモリインターフェイステスト構造810を各々含む。シリアルIOテスト構造815及びメモリインターフェイステスト構造810は、集合的に、SPDRAMテスト構造と称される。図示されたように、テストシステムは、シリアルIOインターフェイス830によってリンクされたホスト又は他の装置のSPDRAMメモリ805及びPHYコア840を備えている。SPDRAMメモリ805は、メモリインターフェイステスト構造810と、シリアルIOテスト構造815と、シリアルIOインターフェイス830を経てPHYコア840にリンクするためのシリアライザ820及びデシリアライザ825とを備えている。PHYコア840は、メモリインターフェイステスト構造850と、シリアルIOテスト構造845と、シリアルIOインターフェイス830を経てメモリ805にリンクするためのシリアライザ860及びデシリアライザ855とを備えている。
図9は、SPDRAMインターフェイステストアーキテクチャーの一実施形態を示す。この図において、SPDRAMメモリ又はホストPHY層905は、SPDRAMインターフェイステスト構造910を含む。この図において、テスト構造910は、テストジェネレータ915及び4つのエラーチェッカ920を含み、各エラーチェッカは、図9にECと示されている。テストジェネレータ915は、共有テストパターンソース940及び4つのテストプロパティ埋め込み(TPE)ユニット945を収容する。ある実施形態では、TPEユニット945は、各PHYチャンネル専用のもので、共有テストソースから発生されたテストパターンを独立して変調し、多様なテストパターンを管理可能なハードウェアオーバーヘッドで全てのPHYチャンネルに与える。ある実施形態では、各TPEユニット945のハードウェアオーバーヘッドは、チップ上の全てのPHYチャンネルにより分担されるテストパターンソース940のハードウェアオーバーヘッドより著しく小さい。ある実施形態では、各エラーチェッカ920は、ポート925の1つに結合され、各ポートは、インターフェイスを経て通信するためのシリアライザ930及びデシリアライザ935を含む。規範的な具現化において、テストジェネレータ915は、20ビットテストパターンを発生し、その20ビットテストパターンを80ビットテストパターンへと拡張し、そして各20ビットパターンを、4つの全ポート924へ直接配布するか又はメモリインターフェイスを経て配布する。各ポートのエラーチェッカ920は、デシリアライザにおいて観察されるテストパターン又はテストデータの到来ストリームにおけるエラーを独立してチェックすることができる。
図10は、被試験ユニットの各TXチャンネルにおけるテストパターン発生の実施形態を示す。この図において、共有テストパターンソース1005は、20ビットのテストデータ又はテスト信号を発生する。テストモードに基づき、20ビット又は17ビットのデータが、意義のあるテスト情報を含む。17ビット又は20ビットのテスト信号が、送信の前に、20ビットにエンコードされる。共有テストパターンソースは、テストプロパティ埋め込みユニット(TPE)1010と結合される。このTPEは、20ビット及び17ビットテスト信号を変調するようにプログラムされる。又、TPEは、20ビットテスト信号をバイパスするようにプログラムされる。共有テストパターンソースは、TPEを経て、20ビットテスト信号を遷移エンコーディングユニット(TE)1015に与える。17ビットテスト信号は、20ビット信号を発生するように遷移エンコーディングに使用され、そして3ビットテスト信号は、バイパス時に遷移エンコーディングの結果として発生される3ビットに置き換わるように使用される。テストエンコーディングは、バイパス信号の状態に基づいてバイパスされるか又はアクチベートされる。バイパス=0の場合には、20ビット出力テスト信号が遷移エンコーディングから発生される。さもなければ、遷移エンコーディングはディスエイブルされ、17ビット及び3ビット入力テスト信号が合成されて、20ビット出力テスト信号を発生する。それにより得られる20ビットのテスト信号は、マルチプレクサ1020へ送られ、このマルチプレクサは、又、システムロジック1025から第2のテストエンコーディングユニット1030を経ての信号も受け取り、テスト信号は、マルチプレクサ1020を制御するコントロール信号test1に基づいて選択される。テストパターン(E[19:01])は、次いで、シリアライザ1035によりシリアル化され、インターフェイスを経て送信される。
図11及び12は、テストの実施形態において送信器で20ビットデータを発生しそして受信器で処理するプロセスを詳細に示す。図11は、テストシステム又は方法の一実施形態の20ビットテストパターン発生を示す。この図において、発生された17ビットテストパターン1105が遷移エンコーディングロジック1110に与えられ、3ビットのテスト信号がマルチプレクサ1115に与えられる。ある実施形態では、ジェネレータが20ビットデータパターンを直接発生するか、或いは遷移エンコーディングユニット(TE)を経て発生する。例えば、バイパス=0の場合には、17ビットデータがTEにより20ビットへと変換される。さもなければ、17ビット入力がTEをバイパスし、テストジェネレータにより与えられる3ビット入力と合流されて、20ビットを形成する。ある実施形態では、バイパス信号がテストモード信号から導出される。
図11は、テストシステム又は方法の実施形態に対する20ビットテストパターン処理を示す。ある実施形態では、変換式で実施される補数化をバイパスでターンオン及びオフする。バイパス=0の場合には、図12に示すように、20ビットデータは、TEにより行われる17/20変換から得られ、そしてテストジェネレータからの3ビット入力は、無視される。17/20変換は、17ビットから20ビットへのデータ変換がTEにより実行されることを表す。しかしながら、バイパス=1の場合には、所与の変換式の左から3番目の列が、テストジェネレータからの3ビット入力の1ビットに置き換えられる。17ビットデータには3つの区画(即ち、6ビット、5ビット及び6ビット)があるから、3つの対応する列が3ビット入力と置き換えられる。列の置き換えに加えて、変換における補数化がディスエイブルされて、TEの出力にオリジナルデータを発生できるようにする。図11に示されたマルチプレクサは、送信器に存在するテストジェネレータにおいて列の置き換えを実施する。図12は、受信器における回復された20ビットデータをどのようにして同様に処理できるかを示す。デシリアライザ1205の後に、バイパス=1の場合には、変換がディスエイブルされ、そして20ビットデータがエラーチェッカ1215に与えられる。さもなければ、20ビットデータは、遷移デコーディングユニット(TD)1210を経て17ビットデータへとデコードされる。デコードされた17ビットデータは、エラーチェッカ1215に与えられ、そして17/20変換によって導入される列に対応する3ビットデータは、エラーチェッカ1215において無視される。同様に、TD1210によって実行される20ビットから17ビットへの変換は、20/17変換として表される。
ある実施形態では、ハードウェアのオーバーヘッドを減少しそしてテストの融通性を高めるために、システム又はプロセスは、プロパティ指向のテスト方法を使用する。ある実施形態では、テスト方法は、非PRBS(PRBSは擬似ランダムバイナリシーケンス)ベースのテスト方法であり、テストハードウェアのサイズを、PRBSベースの従来のBISTに比して著しく減少することができる。このようなテストシステム又はプロセスの実施形態は、PRBS多項式とは独立しているので、製造、特徴付け及びシリコンデバッグ段階におけるSPDRAM装置のテストも、より柔軟性がある。PRBSパターン及び非PRBSパターンは、両方とも、被試験デバイスに適用することができる。
図13は、メモリのSPDRAMテスト構造の一実施形態を示し、そして図14は、ホストチップのSPDRAMテスト構造の一実施形態を示す。図13に示されたSPDRAMメモリテスト構造は、メモリチップのシリアルIOインターフェイスを直接的に、又はメモリロジックを通して、テストするのに使用される。図示されたように、SPDRAMメモリ1300は、メモリバンク1305と、スイッチ及びポートロジック1310と、SPDRAMテストジェネレータ1315と、エラーチェッカ1320と、シリアライザ1325と、デシリアライザ1330とを備えている。この図において、ユーザテストパターン1350から生じる、テストジェネレータ1315から発生されたテストパターンは、test1、test2及びtest3として示されたコントロール信号入力に基づいて、シリアルIO又は内部メモリインターフェイスに付与される。この図において、テストジェネレータは、メモリ又はホストチップの全てのPHY層におけるテスト発生回路間に共有された共有テストパターンソースを含む。ある実施形態では、TPEは、各PHY層のテスト発生回路専用とされる。エラーチェッカ1320は、エラーに対する入力テストデータを検査する。デシリアライザ1330は、遷移デコーディングユニット1360に結合され、これは、マルチプレクサを経てスイッチ及びポートロジック1310に結合される。
ある実施形態では、テスト構造は、デシリアライザ1330からシリアライザ1325へのバイパスループバック経路1355を与える。このバイパスは、例えば、test1=1及びtest2=1の場合にアクティブとなる。バイパスループバック経路1355は、シリアルIOリンクを外部からテストできるようにし、そして診断解像度を向上させるのに使用できる。例えば、シリアルIOリンクが内部テスト構造を使用して欠陥となったが、バイパスループバック経路を経て有効とされた場合には、シリアルIOリンクは、欠陥の原因ではないという結論になる。欠陥は、むしろ、内部BISTテスト構造を含む内部テスト経路から生じることがある。ある実施形態では、エラーチェッカ1320は、バイパステストモード中にイネーブルされる。エラーチェッカ1320は、更に、デシリアライザ1330へのシリアルIOテスト経路の診断解像度を向上させることができる。ある実施形態では、システムは、SPDRAMメモリに使用される非適合BIST回路を収容してもよい。例えば、ボードレベルテストでは、PHYコア(又はSOC)におけるBISTテスト構造は、内部バイパスループバック経路を通してSPDRAMメモリ装置におけるシリアルIOリンクを確認することができる。
同様に、メモリインターフェイステスト構造は、図14に示すSPDRAMホストにおいて具現化される。図示されたように、ホスト1400は、SPDRAMテストジェネレータ1420と、受信ユーザテストパターン1422と、エラーチェッカ1415と、シリアライザ1425と、デシリアライザ1430とを備え、デシリアライザは、FIFO1432に結合され、そしてこのFIFOは、遷移デコーディングユニット1480に結合される。ホスト1400は、更に、システムロジック1475へのリンクを含み、これは、遷移エンコーディングユニット1485に結合される。このような装置では、あるテストに対してバイパスループバック1470が導入される。ホストチップにメモリインターフェイステスト能力を設けることで、SPDRAMメモリチップのボードレベルテスト又は製造テストに対する効果が与えられる。SPDRAMメモリチップは、チップ面積に関して制約があり、従って、完全なメモリインターフェイステスト特徴は、実現できないことがある。そのようなケースでは、メモリインターフェイステスト構造は、ホストチップにおいて具現化され、そしてシステムボード上のSPDRAMメモリのメモリインターフェイスを確認するのに使用される。ある実施形態では、同じテストチップを使用して、SPDRAMメモリチップのテストを発生することができる。発生されたテストパターンは、シリアルIO接続を経てメモリチップに伝送される。テスト構造は、test5及びtest6のような信号の設定に基づいて、テストに関与してもよいし、バイパスしてもよい。種々の具現化において、ユーザテストパターンは、オンチップで実施されてもよいしオフチップで実施されてもよい。
図15は、シリアルIOインターフェイスに対する自己ループバックテスト構成の一実施形態を示す。図15に示すように、例えば、コントロール信号test1及びtest2が、各々、論理“1”及び“0”にセットされた場合には、シリアルIOインターフェイスが自己ループバック接続を経てテストされる。自己ループバックシリアルIOテストは、図15に示されている。この図において、SPDRAMメモリ1500は、メモリバンク1305と、スイッチ及びポートロジック1310とを備えている。シリアルIOテスト中に、テストジェネレータ1315は、20ビットテストデータのストリームを与え、そしてシリアライザ1325は、発生されたテストパターンを、自己ループバック経路1550を経てデシリアライザ1330へシリアルに送信する。デシリアライザ1330は、受信したシリアルビットストリームを20ビットテストパターンへと再構成し、そしてエラーチェッカ1320は、再構成されたテストパターンが有効であるかどうか決定する。ある実施形態では、テスター1540によりテストコントロールが与えられる。
ある実施形態では、メモリインターフェイステスト構造は、メモリ及びメモリインターフェイスロジック、例えば、ポートロジック及びスイッチの物理的欠陥から誘起されるエラーをターゲットとする。図16は、メモリインターフェイスに対する自己ループバックテスト構成の一実施形態を示す。この図において、SPDRAMメモリ1600は、メモリバンク1305と、スイッチ及びポートロジック1310とを備え、SPDRAMテストジェネレータ1315は、ユーザテストパターン1350を受け取る。このメモリは、更に、エラー状態に基づいて出力を発生するSPDRAMエラーチェッカ1320も備えている。この図において、テストモード入力test4が“0”にセットされそしてテストモード入力test3が“1”にセットされたときに、メモリインターフェイステストがセットアップされる。メモリインターフェイスをテストするために、発生されたSPDRAMコマンド又はテストパターンのシーケンスがポートロジックに与えられる。テスト応答は、シリアルIO自己ループバックを通らずに直接捕獲されてエラーチェッカ1320でチェックされる。この直接的な観察は、メモリ及びメモリインターフェイス回路のテストがシリアルIOとは独立して実行できるので、診断解像度を改善する。
DRAMメモリテスト能力をテスト構造に直接与えるのではなく、ここに提案するテスト構造は、メモリテストのためのユーザ定義テストパターンを収容するためのハードウェアインターフェイスを提供する。このメモリインターフェイステスト構造は、ユーザ定義メモリテストパターンを、同じテストを実施するのに使用できるSPDRAMコマンドシーケンスへと変換する。種々の実施形態において、ユーザ定義テストパターン1350は、例えば、オンチップで実施されてもよいし、又はテストコントロールを行う外部テスターから与えられてもよい。
ある実施形態では、アーキテクチャー上、DRAMメモリ製造者がそれら自身のテストパターンを使用して、ターゲットとするメモリインターフェイスを通してそれらのメモリを確認することができる。しかしながら、ある実施形態において、ユーザ定義テストパターンが与えられない場合には、メモリインターフェイステスト構造が、メモリインターフェイスロジックのためのSPDRAMテストパターンを内部で発生することができる。又、外部テスターからメモリインターフェイステスト構造を通して同じメモリインターフェイスロジックをテストすることもできる。
図17は、ATEを含むテスターを使用するメモリインターフェイスのためのテスト構成の一実施形態を示す。この図において、SPDRAMメモリ1700は、メモリバンク1305と、スイッチ及びポートロジック1310とを備えると共に、SPDRAMエラーチェッカ1320と、シリアライザ1325及びデシリアライザ1330も一緒に備えている。更に、テスターは、デシリアライザ1330にリンクされ、これは、遷移デコーディングユニット1360に結合される。ある実施形態では、図17に示すように、テストパターンをテスター1540から供給することができ、そしてオンチップエラーチェッカ1320によりエラーをチェックすることができる。メモリ又はメモリインターフェイステストを構成するために、テストモード信号test3及びtest4が論理“0”にセットされる。このテストモードでは、メモリをテストするかメモリインターフェイスをテストするかは、テスター1540により供給されるテストパターンに依存する。
図18及び19は、機能的経路をテストするためのテスト構成を示す。ある実施形態では、SPDRAMメモリチップは、面積の制約のため構造テストのような標準的デジタルテストを受け容れられないので、機能的経路は、ここに提案するテスト構造でテストすることができる。図18は、機能的経路に対する外部ループバックテスト構成の一実施形態を示す。この図において、SPDRAMメモリ1800は、メモリバンク1305と、スイッチ及びポートロジック1310とを、テストジェネレータ1315及びエラーチェッカ1320と共に備えている。更に、このメモリは、シリアライザ1325及びデシリアライザ1330も備えている。図18において、メモリインターフェイスの出力から遷移エンコーダユニット1860を経てシリアライザ1325へ至る機能的経路は、テストモード信号をtest1=“0”、test3=“1”及びtest4=“1”にセットすることによりテストされる。このテスト構成では、発生されたテストコマンドは、メモリインターフェイスへ供給され、そしてテスト応答は、試験下の機能的経路及びシリアルIO自己ループバック経路1550を経てエラーチェッカ1320へ伝送される。
図19は、機能的経路に対する自己ループバックテスト構成の一実施形態を示す。この図において、SPDRAMメモリ1900は、メモリバンク1305と、スイッチ及びポートロジック1310とを、テストジェネレータ1315及びエラーチェッカ1320と共に備えている。更に、このメモリは、シリアライザ1325及びデシリアライザ1330も備え、そのデシリアライザは、遷移デコーディングユニット1360に結合される。デシリアライザ1330からメモリインターフェイスへの機能的経路のテストは、テストモード信号を、test1=“1”、test2=“0”、test3=“0”及びtest4=“0”にセットすることにより確立できる。発生されたテストパターンは、シリアルIO自己ループバック1550、試験下の機能的経路及びメモリインターフェイスを通してエラーチェッカ1320へ伝送される。
メモリインターフェイステスト構造は、外部テスターのための経済的なテストインターフェイスを提供するのに使用される。テスターは、ここに提案するテスト構造を経てメモリインターフェイスへ希望のテストパターンを付与する。そのテスト構造は、上述したように、テスト解凍ハードウェアとして機能する。テスターが、例えば、READ SPDRAMテストを行う場合には、メモリテストインターフェイスユニットは、READコマンドを、個別のメモリバンクアドレスを伴う4つの同じREADコマンドへとデコードする。拡張されたREADコマンドが4つのメモリバンクへ並列に送られる。
付加的なハードウェア最適化が望まれる場合には、テストジェネレータ及びエラーチェッカが全てのポート間で共有される。図20は、単一ポートに結合されたテストジェネレータ2015及びそのポートのための単一エラーチェッカ2020を使用するメモリ又はPHY層905に対するSPDRAMテスト構造のアーキテクチャーの一実施形態を示す。図20において、全てのシリアルIOチャンネルは、シリアルな形態で接続され、第1ポートのシリアライザ930は、第2ポートのデシリアライザ935に接続され、これは、第2ポートのシリアライザとループにされ、そして第2ポートのシリアライザ930は、第3ポートに接続され、等々となる。図20は、一例を示すが、多数の異なる構成が考えられる。ここに示すシステムでは、発生されたテストデータが、シリアル接続チャンネルの一端2050に付与され、そしてその他端2060においてテスト応答がチェックされる。図20に提案されるアーキテクチャーは、ハードウェアオーバーヘッドを減少するために従来のBISTシステムに効率的に適用することができる。
ある実施形態では、SPDRAMシリアルIOテスト構造は、シリアルIOリンクのエラーをターゲットとする。ある実施形態では、このテスト構造は、例えば、“Interface Test Circuitry and Methods”と題する米国特許出願第11/742,358号に開示されたテストのようなテストエンコーディング概念を利用することができる。ある実施形態では、このシリアルIOテスト構造は、SPDRAMコマンドを認識せず、テストエンコード20ビットテストパターンをシリアルIOテストに適用する。図21は、テストシステムの一実施形態を示す。このシステムは、テストプロパティジェネレータ2105及びパターンソース2110を含み、これらは、送信側のシリアライザ2120に結合される。信号は、チャンネル2125を横切って送信され、受信側のデシリアライザ2130によりデシリアル化され、そしてテストプロパティチェッカ2140により検査されて、エラーを検出する。図示されたように、このシステムは、テストプロパティ2105を送信テストパターン2110へ埋め込み又はエンコードする。次いで、受信したテストパターンのストリームからテストプロパティが抽出され、テストプロパティチェッカ2140によりエラーの存在についてチェックされる。
ある実施形態では、シリアルIOテスト構造は、特徴付け、製造テスト及びシリコンデバッグのために送信器(TX)及び受信器(RX)の両方にプログラム可能なテストパターンのリッチセットを与えるのに使用される。図21において、送信器(TX)及び受信器(RX)のアクションを示すために大文字及び小文字が各々使用される。TXは、シリアライザ2120を含み、そしてRXは、デシリアライザ2130を含む。記号K*は、例えば、同期コマンドSYNC又はSYNC2の繰り返し数を表す。各テストパターンは、テストパターンの開始に同期させるために同期コマンドのシーケンスがプレフィックスとなる。従って、同期コマンドのプレフィックスシーケンスは、明確に述べない。
ある実施形態では、RXにおけるエラーチェックは、TXのシリアルIOテストジェネレータからデカップルされる。即ち、エラーチェッカは、ランダムテストパターンを発生するのに使用されるPRBSとは独立している。そのようなシステムにおいて、テストプロパティは、被試験デバイス(DUT)を確認するためにRXにおいてどんな種類のテストパターンをチェックするか特定する。この意味で、テストプロパティは、通信プロトコルと同様に働く。ある実施形態では、システムは、テスト中にチャンネルを経て送信すべきテストパターンの形式を特定する。埋め込まれたプロパティは、テストパターンの到来するストリームから抽出され、そして受信されたテストパターンは、その抽出されたテストプロパティに少なくとも一部分基づいてチェックされて、エラーが存在するかどうか決定することができる。ある実施形態では、テストプロパティは、テストパターンソースへ埋め込まれ又はエンコードされる。テストパターンソースは、ATEベクトル、PRBSパターン、及び他の外部パターンソースを含む。
図22は、エラー検出プロセスの一実施形態を示す。この図において、意図されたテストプロパティを伴うテストパターン2205は、シリアライザ2210によりシリアル化され、そしてチャンネル2215を経て送信され、受信されたテストパターンは、デシリアライザ2225によりデシリアル化されて、パターンe2230を生じる。エラーチェッカが、送信されたデータストリームに埋め込まれたテストプロパティを無効化できる場合には、受信器においてエラーをチェックし検出することができる。この例では、エラーが発生して(2220)、欠陥を含む受信データが生じるか、又は有効コード2235が無効コード2240へ変換される。
テストパターンは、17ビット又は20ビットデータのシーケンスとみなすことができる。テストパターンのシーケンスは、テストパターンシーケンスと称される。テストプロパティは、ある関数の入力及び出力を搬送するnタプルとして各テストパターンを解釈することによりテストパターンシーケンスから導出することができる。
図23は、テストシステムの一実施形態に対するテストエンコーディング関数の概念を示す。図23は、一例として3ビットデータを使用するテストエンコーディングの実施形態を示す。3ビットデータ又はコードワードの場合には、図23の(a)に示すように、8個のコードワードが考えられる。コードワードe[2:0]は、y=f(a、b)のようなある関数fの入力及び出力を搬送するトリプル(a、b、y)として解釈される。任意のブール関数を使用してコードワードを解釈することができる。この例において、図23の(b)に示すように、2入力AND関数を使用してコードワードを解釈することができる。図23の(c)に示すように、3ビットコードワードスペースが2つのサブセットに区画され、一方のサブセットは、y=f(a、b)=a&bを満足し、そして他方は、y=〜f(a、b)=〜(a&b)を満足し、但し、〜fは、関数fの補数を表す。各列要素がクラスシグネチャーである列Sは、関数f(a、b)及び所与の出力yが補数であるかどうか指示する。即ち、y=f(a、b)の場合には、S=0であり、y=〜f(a、b)の場合には、S=1である。例えば、E[2:0]=000の場合には、y=0であり且つf(a、b)=0&0=0である。y=f(a、b)であるから、S=0である。しかしながら、E[2:0]=001の場合には、y=1であり且つf(a、b)=0である。y≠f(a、b)であるから、y=〜f(a、b)であり、従って、S=1である。テストパターンのクラスシグネチャーシーケンスは、テストプロパティとして定義される。テストパターンが(000→110→010→101→100→011→111→001)*より成る場合には、それに対応するシグネチャーシーケンスが(0→1)*であり、但し、*は、繰り返しを表す。テストプロパティは、オリジナルのテストパターンよりコンパクトにすることができるので、エラーチェックタスクを著しく簡単化することができる。必要に応じて、複数のテストエンコーディング関数を使用することができる。
以下に示す例として、テストデータストリーム>...e321>の各ei[19:0]は、3つの関数の入力及び出力を搬送する20タプルとして解釈される。記号xkは、k=2、1、0とすれば、関数fkの入力を表す。記号ykは、テストエンコーディング関数と称される解釈関数fkの出力を表す。テストエンコーディング関数は、パターンシーケンスにおける各ei[19:0]の解釈を与える。例えば、nビットデータは、ある関数の入力及び出力を搬送するnタプルベクトルとして解釈することができる。20ビットのei[19:0]に対して、
i[19:0]=(x1、x02、x1、x02、x1、x02、x1、x02、x1、x02、x1、x02、y1、y0
は、例えば、3つの任意の関数の入力及び出力を含む20タプルベクトルと考えることができる。入力及び出力は、それらのビット位置のインデックスに適用されるモジュロ3の演算に基づいて区画される。一般的に、モジュロn演算は、n個の関数が考えられる場合に適用される。モジュロ3演算に基づく入力及び出力の区画は、次のように要約される。
0=e[19:0]↑{3k|1≦k≦6}
1=e[19:0]↑{3k+1|1≦k≦6}
2=e[19:0]↑{3k+2|1≦k≦5}
但し、投影演算子↑は、iをi∈Xとすれば、e[19:0]からのe[i]の選択として定義され、ここで、セットXは、0≦i≦19の範囲におけるビット位置の集合を含む。例えば、e[19:0]↑{15、12、9、6、3、0}=e[15、12、9、6、3、0]となる。
出力fi(Xi)を生じるエンコーディング関数fkの各入力セットは、e[19:0]↑Iとして定義された投影演算子によって得られ、但し、Iはコードワードのインデックスのセットを表す。例えば、前記で示したように、各テストエンコーディング関数の入力及び出力は、テストエンコーディング関数に関連したインデックスにe[19:0]を投影することによって得られる。Xiとして表された各エンコーディング関数の入力セットは、前記例と同様に、投影演算子を使用して定義される。関数の入力は、インデックスのモジュロ3に基づいて区画される。モジュロNベースの区画は、改良されたエラー検出能力を与える。ある実施形態では、ダブルエラーがNKビット離れていない場合にはそれらを検出することができ、但し、K>0であり、Nは、使用するエンコーディング関数の数を表す。例えば、2つのエラーは、3、6、9、12、15及び18ビット離れている。2つのマスクされたエラー間の最小ビット数は、エラーマスク距離δとして定義され、即ちδ=Nである。マスクされたダブル欠陥の数ηは、η=W−δとして定義され、但し、記号Wは、コードワードの巾を表す。3つのテストエンコーディング関数を伴う20ビットコードワードの場合には、W=20、δ=3及びη=W−δ=20−3=17である。エラーは、しばしばバーストで生じるので、一定距離離れた2つのエラーは、普通ない。ある実施形態では、バーストエラーがe[19:0]における連続的な複数ビットエラーとして定義される。例えば、バーストエラーは、e[7:4]として生じる。ある実施形態では、|n−m|+1=2NKの場合を除き、e[n:m]のバーストエラーを検出することができる。例えば、3つのエンコーディング関数が使用される場合には、6、12及び18の連続エラーを除く全てのバーストエラーが検出される。2Nの最小バーストエラー長さは、バーストエラーマスキング長さλとして定義され、即ちλ=2N又は2δである。より頑健なエラーエイリアシング防止が要求される場合には、増加された数のテストエンコーディング関数を導入することができるか、又はハイアラーキー構成のテストエンコーディング関数を考慮することができる。
ある実施形態では、テストエンコーディング関数は、組み合わせ又は順次のものでよい[2]。説明を簡単にするため、この章では、組み合わせのテストエンコーディング関数を仮定する。図24は、組み合わせテストエンコーディング関数の一実施形態を示す。この図において、3つのテストエンコーディング関数f02410、f12420及びf22430がある。これら関数は、同じである必要はない。図15において、エンコーディング関数f0、f1及びf2の出力又はそれらの補数が計算されてe[2:0]に入れられ、望ましい20ビットコードワードを形成する。ある実施形態では、取り扱うエラーの形式に基づいてテストエンコーディング関数が使用される。
テストエンコーディング関数の出力が補数であるかどうか識別するために、ここに述べるクラスシグネチャーがシステムに導入される。図25は、テストシステム又はプロセスの実施形態に使用されるテストデータのクラスシグネチャーを示す。図示されたように、関数f02510、f12520及びf22530の出力がクラスシグネチャー関数2540により処理されて、考えられるクラスシグネチャー2550を生じる。
ある実施形態では、クラスシグネチャーは、関数f(X2)、f(X1)及びf(X0)の計算された出力がe[2:0]=(y2、y1、y0)にどのように関連するか指示するのに使用される。意図される関係を導出するために、ある関数を使用して、それらの関係を解釈することができる。それらの関数は、クラスシグネチャー関数と称される。この例では、XOR関数を使用して、クラスシグネチャーが計算される。この場合には、クラスシグネチャー関数出力の論理0及び1は、各々、yi=f(Xi)及びyi=¬f(Xi)を指示する。記号¬は、論理的否定又は補数を表す。クラスシグネチャー関数は、次のように要約される。
Figure 2012532399
クラスシグネチャー関数は、次のように表される。
Figure 2012532399
XOR演算は、関数の出力と、コードワードにおける対応ビットコンテンツとの間の関係を指示する。S[i]=0は、e[i]がテストエンコーディング関数の出力を含み、即ちe[i]=fi(Xi)であることを指示する。さもなければ、e[i]は、エンコーディング関数の補数出力を含む。
図26は、テスト構造の実施形態に対するクラスシグネチャーを示す。上述した例のクラスシグネチャー関数に基づいて、8個のクラスシグネチャーがあり、シグネチャー2605−2640として示されている。いかなるコードワード又はテストパターンもこれら8個のシグネチャーの1つを生じなければならない。換言すれば、クラスシグネチャー関数は、全ての考えられるコードワードのセットを多数のサブセットへと区画する。この例では、サブセットの数は、2Nであり、但し、Nは、テストエンコーディング関数又はクラスシグネチャー関数の数である。この例では、図26に示すように、S[2:0]として表された3つのクラスシグネチャー関数があり、それ故、8(23)のクラスシグネチャーがある。
テストパターンは、希望のテストを実施するテストデータの順序付けされたリストとみなすことができる。テストパターンシーケンスは、対応するクラスシグネチャーシーケンスにより表される。図27は、クラスシグネチャーシーケンスの実施形態を示す。一例において、2つのコードワードe[19:0]=10000000000001000000及び10011111111111111111がテストパターンにおいて繰り返される。従って、テストエンコーディング関数の出力は、第1のコードワードに対して001であり、そして第2のコードワードに対して110である。各テストデータに対するクラスシグネチャーは、k=2、1、0とすれば、fk(Xk)及びe[k]に対してビット単位のXOR関数を解くことによって計算される。それにより得られるクラスシグネチャーシーケンスは、図27に示すように(001→100)*である。記号*は、繰り返し数を表す。図中、関数出力f2(X2)、f1(X1)及びf0(X0)は、f210(X210)として表される。第2の規範的テストパターンのS[2:0]シーケンスも、同様に得ることができる。
ある実施形態では、クラスシグネチャー関数は、同等関係として考えることもできる。各クラスシグネチャーは、各クラスを表すものと考えられる。例えば、図26において、e[2:0]により表される各クラスには、217個のコードワードがある。同じクラスシグネチャーを有する2つのテストパターンは、同等である。
同様に、テストパターンシーケンスは、それらのクラスシグネチャーシーケンスにより表される。このため、クラスシグネチャーシーケンスは、テストパターンのクラスを特定する。ここに提案する解決策では、クラスシグネチャーシーケンスを使用してテストプロパティが表される。ある実施形態において、システムは、ダウンサイドで従来のPRBSベースのテスト方法に比してエラーマスクを増加して、減少ハードウェアオーバーヘッドで使用可能なテストパターンのセットを増加することができる。エラーは、有効なテストパターンシーケンスを、同じシグネチャーシーケンスを発生する非有効シーケンスへ変化させるおそれがある。ここに述べるテストエンコーディング関数に基づき、マスクされるエラーは、例えば、20ビットコードワードにおいて厳密にNK離れた2つのエラーと、先に述べた2NKバーストエラーとを含み、但し、Nは、使用されるテストエンコーディング関数の数を表し、そして整数K>0である。
ターゲットとするテストアプリケーションに対してエラーマスキングが受け容れられない場合には、ある実施形態では、システム要件を満足するためにテストエンコーディング関数の異なるセットを使用することができる。例えば、テストパターンにテストプロパティを埋め込むために、奇数及び偶数のテストエンコーディング関数の2セットをハイアラーキー的に編成することができる。図28は、ハイアラーキーテストエンコーディング関数の実施形態を示す。ハイアラーキー的なテストエンコーディング関数及びそれらの解釈が、関数g(奇数及び偶数入力を伴う)及びfを用いた一例を使用して、図28に要約される。テストエンコーディング関数f2、1、02820を使用する[2:0]の解釈と同様に、e[3]及びe[4]も、各々、独立したテストエンコーディング関数g1及びg02810を使用して解釈される。g1及びg0の入力は、e[17:5]のモジュロ2の仕切りにより得ることができる。即ち、g1の入力は、e[17、15、13、11、9、7、5]であり、そしてg0の入力は、e[16、14、12、10、8、6]である。テストエンコーディング関数の各セットは、テスト中に独立して操作することができる。コードワードの部分e[17:3]に対して個別のクラスシグネチャーを定義することもできる。ハイアラーキー的なテストエンコーディングスキームは、TE(W、N1、N2・・・Nm)と表すことができ、但し、W及びNiは、各々、コードワードの巾、及びハイアラーキーレベルiにおけるテストエンコーディング関数の数を表す。例えば、図28のテストエンコーディングスキームは、TE(20、3、2)として表すことができる。ハイアラーキーレベルは、考慮中のテストエンコーディングに組み込まれるコードワードの巾から決定される。W(i+1)で表される(i+1)番目のハイアラーキーレベルにおけるコードワードの巾は、W(i+1)=W(i)−Niとして繰り返し決定することができ、但し、W(1)=W及びi>0である。CW(i+1)として表されるコードワードの(i+1)番目のレベルは、除去されたテストエンコーディング情報を搬送するビットを伴うコードワードとして定義される。例えば、図28に示すテストエンコーディングの第1及び第2レベルのコードワード巾は、各々、W(1)=20及びW(2)=20−3=17である。ハイアラーキーコードワードも、同様に、CW(1)=E[19:0]及びCW(2)=E[19:3]として得ることができる。エラーは、各ハイアラーキーレベルで独立して観察されるので、エラーマスキングは、次の場合、即ち、
Figure 2012532399
図28では、例えば、CW(2)においてδ=N1xN2=3x2=6ビット離れ、η=17−6=11であり、λ=2δ=12である。δ=5、η=15及びλ=2δ=10の場合に、TE(20、5)として表される非ハイアラーキー的テストエンコーディングと比較して、ハイアラーキー的エンコーディングは、改善されたエラーマスキング能力を与えることができる。ダブルエラーマスキングが可能であるから、n=2、3、等とすれば、CW(max(i))において2n個のエラーを伴うエラーマスキングも可能となる。ダブルエラーマスキングを回避するために、テストエンコーディングスキームは、TE(20、5、3)へ向上させることができる。このエンコーディングスキームでは、CW(2)=E[19:5]及びW(2)=15である。マスクされるエラーは、15ビット離れて生じ、これは、CW[2]の外部である。というのは、E[19:5]における最初と最後のビットが14ビット離れているからである。従って、エラーをマスクすることができない。エラーマスキング寛容度を保証するために、テストエンコーディングスキームは、次のことを満足させる。テストエンコーディングスキームTE(W、N1、N2、・・・Nm)の場合に、
1.i≠jとすれば、NiとNjとの間に共通の除数がない;
2.min(x)がxの最小値を表すとすれば、min(Ni)=Nm;
3.テストエンコーディングスキームにおけるハイアラーキーの数は、テストエンコーディング関数の全数、即ちNから、
Figure 2012532399
となり且つ
Figure 2012532399
が最大となるように、決定することができる。
例えば、10個のテストエンコーディング関数を20ビットコードワードにおいてエンコーディングスキームに合体すべき場合には、エンコーディングスキームTE(20、6,4)は、TE(20、7、3)ほど効率的でない。これは、6及び4の共通の除数(即ち、2)が、エラーマスキング距離を、24ではなく、12に減少するからである。エラーマスキング距離がW(2)=14の場合より小さいので、マスクされるダブルエラーが2つとなる。他方、TE(20、7、3)では、7と3との間に共通の除数がなく、21のエラーマスキング距離が維持される。エラーマスキング距離が、W(2)=13又はW(2)−21=−8(ゼロより小さい)を越えるので、TE(20、7、3)ではエラーマスキングを行うことができない。ハイアラーキーの最低レベルにおけるコードワードの巾、例えば、W(m)は、エラー検出能力に影響を及ぼす。W(m)−エラーマスキング距離<0のときにはエラーをマスクすることができないので、W(m)は、全てのW(Ni)間で最も小さくなければならない。全数のテストエンコーディング関数の区画を改善することでも、エラーマスキングの機会を減少するか、又はエラー検出能力を高めることができる。例えば、30ビットコードワードにおける10個のエンコーディング関数は、第1レベルの5つのエンコーディング関数、第2レベルの3つの関数及び第3レベルの2つの関数より成るハイアラーキーの3つのレベルで実施されて、TE(30、5、3、2)を得ることができる。TE(30、5、3、2)は、例えば、TE(30、7、3)より多くのエラーを検出することができる。これは、エラーマスキング距離TE(30、5、3、2)=5x3x2=30であり、W(3)=30−5−3=22であって、W(3)−30=−8となり、エラーマスキングが行えないことを指示するからである。しかしながら、TE(30、7、3)におけるマスクされるダブルエラーの数は、W(2)−21=23−21=2となって、2つのマスクされたダブルエラーが21ビット離れていることを指示する。エラーマスキングを許さない20ビットのSPDRAMコードワードのテストエンコーディングスキームは、TE(20、5、3、2)である。TE(20、5、3、2)では、ダブルエラーをマスクすることができない。というのは、δ=30が、W(3)=12より著しく大きいからである。バーストエラーマスキング長さλは、λ=2δ=60であるから、バーストエラーマスキングを行うことはできない。ハイアラーキーの各レベルのテストエンコーディング関数により奇数のエラーを検出することができる。エラーなしビットで分離された小さなバーストエラーのグループとして生じる偶数のエラーは、テストエンコーディングハイアラーキーの異なるレベルにおいて検出することができる。例えば、CW(3)=e[11:0]内のエラーなしビットにより分離される多数のエラーグループを、テストエンコーディングハイアラーキーの1つ以上のレベルにおいて検出することができる。N1−N2=2つのエラーなしビット離れたN2(又は3)個のエラーは、レベル3のテストエンコーディングスキームにより検出することができる。N2−N3=1つのエラーなしビット離れたN2個のエラーは、レベル1のテストエンコーディングスキームにより検出することができる。
実際に、ハイアラーキー的テストエンコーディングシステム又はプロセスの実施形態は、同じコードワードについて異なるそして独立した解釈を発生することがある。従って、1つの解釈によりマスクされたエラーが別の解釈により検出されることがある。このように、ハイアラーキー的テストエンコーディングは、エラーマスキングの見込みを低減することがある。
ハイアラーキー的テストエンコーディングプロセスの実施形態は、非ハイアラーキー的プロセスと同様に適用できるので、非ハイアラーキー的テストエンコーディングプロセスは、ここでは、基礎的な概念を説明するためのものと仮定する。ハイアラーキー的エンコーディングシステム又はプロセスは、この説明において、必要又は適当であるがハイアラーキー的プロセスも使用できるところでのみ個別に述べる。
テストパターンのクラスシグネチャーシーケンスで表されるテストプロパティを以下に要約する。
Figure 2012532399
テストプロパティは、テストパターンを特定するものとして理解されたい。テストプロパティは、テストパターンシーケンスのクラス又はタイプを特定し、特別なテストパターンシーケンスを特定するものではない。意味合いを伴う論理式は、テストパターンシーケンスが、対応するクラスシグネチャーシーケンスを実施するもの(又はメンバー)であることを示す。クラスシグネチャーに対して合成演算が定義される。クラスシグネチャーのサイズは、クラスシグネチャーを発生するためのエンコーディング関数の数に依存する。例えば、本書では3ビットシグネチャーが考えられるが、その実施形態は、特定のビット数に限定されない。特定の実施例において、TE(20、5、3、2)のハイアラーキー的エンコーディング実施が適用される場合には、対応するテストエンコーディング関数を使用して解釈することから得られる5ビット、3ビット及び2ビットのハイアラーキー的クラスシグネチャーシーケンスより成る10ビットシグネチャーシーケンスを満足することも必要となる。
テストパターンのストリームにテストプロパティを埋め込み又はそれをチェックするために、クラスシグネチャーの望ましいシーケンスは、操作を要求する。ある実施形態では、クラス発生関数を使用してテストパターンシーケンスに望ましいクラスシグネチャーが埋め込まれる。図29は、クラス発生関数の実施形態を示す。関数f02910、f12920及びf22930の出力は、クラスシグネチャージェネレータ2940により処理される。一例として、XORゲートを使用してクラス発生関数を実施することが図29に示されている。更に、シグネチャーS[2:0]を操作するためにコントロール入力C[2:0]が使用される。
Figure 2012532399
任意であるが、20ビットデータE[19:0]のパリティも、実際の20ビットデータを考慮せずに以下に示すようにC[2:0]から計算することができる。テストエンコーディングは、計算の有効性を保証する。
Figure 2012532399
図29は、クラスシグネチャーS[2:0]をC[2:0]から直接制御できることを示している。ある実施形態では、C[2:0]は、選択されたクラス発生関数に対してS[2:0]を直接制御するのに使用されるので、同じS[2:0]をC[2:0]に適用することによって望ましいS[2:0]を発生することができる。この説明では、例示の目的で、クラス発生関数のXOR実施を仮定している。しかしながら、他の関数を使用して、テストアプリケーションに基づきクラスシグネチャーを発生してもよい。
図30及び31は、ハイアラーキーエンコーディングを使用してテストデータストリームにテストプロパティを埋め込むためのプロセスの実施形態を示す。図30は、テストプロパティジェネレータ3005に結合されたパターンソース3010を示す。この図において、テストプロパティジェネレータ3005は、関数g0,13020及びCE[4:3]ジェネレータ3025を使用するハイアラーキーエンコーディング3015と、CE[2:0]ジェネレータ3035と、関数f2,1,03030とを備えている。テストプロパティの埋め込みは、通常、送信器TXにより与えられるアクションであるから、大文字の添え字Eが使用される。図30に示すように、E[17:5]は、関数g0,13020により解釈される。関数の出力は、必要なクラスシグネチャーシーケンスseq(SE[4:3])を発生するためにCE[4:3]ジェネレータ3025によりXORロジックを経て与えられるクラスシグネチャーによって変更される。CE[4:3]ジェネレータ3035は、有限状態マシン(FSM)であり、必要なseq(SE[4:3])を発生するようにプログラムされる。発生されたクラスシグネチャーシーケンスは、E[4:3]に埋め込まれる。E[17:5]及びSE[4:3]は、関数f2,1,03030によって同様に解釈され、そしてシグネチャーシーケンスseq(SE[2:0])も、E[2:0]に埋め込まれる。又、e[19:0]のパリティも、XOR関数及びインバータを使用してクラスシグネチャーから計算することができる。
図31は、図30と同様であるが、CE[4:3]ジェネレータ3025及びCE[2:0]ジェネレータ3035をもたない構造3105を示す。ある実施形態では、図31に示すように、発生されたテストパターンからシグネチャーシーケンスが抽出される。抽出されたクラスシグネチャーシーケンスは、エラーチェックに使用できるようにされる。この方法は、例えば、被試験デバイスがシリアライザ及びデシリアライザの両方を含むときに使用することができる。送信されるべきテストパターンが発生されるときには、受信されるべきテストパターンの予想されるクラスシグネチャーも発生される。テストパターンソース及びエラーチェッカは、クラスシグネチャーシーケンスに対して同期される。
図32は、受信器においてテストプロパティ埋め込みテストパターンをチェックするプロセスの一実施形態を示す。この図において、テストプロパティチェッカ3205は、関数g0,13220及びCe[4:3]ジェネレータ3225として示されたハイアラーキー的エンコーディングと、関数f0,13230と、Ce[4:3]ジェネレータ3225と、エラーチェッカ3250とを備えている。埋め込まれたテストプロパティは、到来するテストデータのストリームから抽出され、そして予想されるシグネチャーシーケンスに対してチェックされる。seq(Srx[2:0])として表されたクラスシグネチャーの受信シーケンスは、受信器においてテストエンコーディング関数により構成される。その構成されたSrx[2:0]は、パリティを計算するのに使用され、そして予想されるクラスシグネチャーと比較されて、エラーの存在を決定する。
ある実施形態では、予想されるクラスシグネチャーseq(SRX[2:0])のシーケンスが、Ce[2:0]ジェネレータ3235から発生される。抽出されたseq(Srx[2:0])は、seq(SRX[2:0])に対してチェックされて、エラーを検出する。上述したように、seq(Ce[2:0])が、seq(CE[2:0])と同じである場合には、seq(Se[2:0])は、エラーが存在しなければ、ゼロクラスシグネチャーのシーケンスを含み、即ちseq(Se[2:0])=<(000)(000)(000)...<となる。換言すれば、非ゼロのクラスシグネチャーは、エラーと考えられる。従って、エラーは、クラスシグネチャービットをORすることにより検出される。
ハイアラーキー的テストエンコーディングが使用される場合には、図24に示すように、同じエラーチェックプロセスが、ハイアラーキー的エンコーディングに部分的にパラレルに適用される。テストエンコーディング関数及びクラスジェネレータ関数は、パターンソースの関数と同じである必要はない。それらは、一般的に独立しており、異なるテストエンコーディング関数及びクラスジェネレータ関数が好ましい最適化を与える場合には、異なるものでよい。
Figure 2012532399
RXは、予想されるクラスシグネチャーを表す。
エラー検出器は、検出されたエラーにフラグを立てる。図33は、エラー検出器の一実施形態を示す。エラー検出器は、エラー関数ブロック3310及びエラーインジケータ3320より成る。エラー関数ブロック3310は、Se[4:0]に基づきエラーをチェックするのに使用される。エラーが検出された場合に、検出器は、出力errSにフラグを立て、これがエラーインジケータに入力されて、エラーにフラグを立てる。
ある実施形態では、エラーインジケータは、有限状態マシン(FSM)であり、bist_go信号がアサートされた場合にアクチベートされる。エラーインジケータは、frame_lock信号がアサートされるのを待機する。frame_lock信号は、被試験シリアルIOリンク間にリンクが確立されたことを指示する。frame_lock信号は、テストパターンにおけるプレフィックス同期コマンドのシーケンスによりアサートされる。エラーインジケータは、クラスシグネチャー発生を開始するためにframe_lock信号に基づきenClassEnをアサートする。syncDet信号は、同期コマンドの受信を指示する。
エラー関数ブロックは、次のような組み合わせでよい。
Figure 2012532399
ゼロクラスシグネチャーシーケンスをチェックすべき場合には、OR関数を使用して、エラー関数errSで指示される受信20ビットテストパターンにおけるエラーを計算することができる。
図34は、エラーインジケータの一実施形態の振舞いを示す。この図において、エラーインジケータは、同期エラー検出を取り扱い、そしてエラーの振舞いの連続的及び非中断観察のためにエラーから回復させる。bist_go=1をアサートすることによりエラーインジケータがアクチベートされた場合に、エラーインジケータは、frame_lock=1を待機し、そして他の全ての入力を無視する。frame_lock=1の後に同期コマンドが受け取られた場合には、状態エラーインジケータがwd状態へと変化して非同期テストパターンを待機する。非同期テストパターンが与えられた場合には、wd状態からdchk状態へと変化し、非同期テストパターンをチェックする。wd状態又はdchk状態において、受け取ったテストパターンに基づいて状態変化が生じる。frame_lockがセットされた後の状態においてエラーが検出された場合には、エラー状態が生じ、エラーを報告する。エラーが報告された後に有効テストデータ又は同期コマンドが受け取られた場合には、状態がdchk状態又はwd状態へ各々変化し、エラーチェックを再開する。
TXで述べたシリアルIOテストジェネレータ及びRXにおけるエラーチェッカは、被試験シリアルIOインターフェイスを経て接続され、シリアルIOテスト構造を形成する。図35は、シリアルIOテスト構造の一実施形態を示す。この構造は、パターンソース3502と、クラス関数ジェネレータ3504と、テスト信号を発生するように動作する関数f2,1,03506とを備え、テスト信号は、シリアライザ3508によってシリアル化されて、チャンネル3510を横切ってデシリアライザ3512へ送信される。受信器は、クラス関数ジェネレータ3514と、エラーチェッカ3520の信号を発生するための関数f2,1,03518とを備えている。送信器側では、図35に示すように、テストエンコーディング関数及びクラス関数ジェネレータ(CE[2:0])3504を使用してテストプロパティがテストパターンに埋め込まれるか、或いはテストプロパティがテストパターンのストリームから抽出されてRXへ送信される。TM[1:0]によって表されたテストモードは、好ましい具現化を選択するようにコントロールされる。被試験シリアルIOは、TX及びRXを同じ装置に含んでもよいし又は異なる装置に含んでもよい。ここに提案する具現化は、同じ装置又は異なる装置からのクラスシグネチャーをエラーチェックに合体できるようにするために使用される。内部のクラスシグネチャーを合体するだけでよい場合には、外部経路を除去できる。抽出されたクラスシグネチャーSE[2:0]は、FIFO3516又はバッファへ直結される。
図36及び37は、テストモードの実施形態を示す。テストモードTM[1:0]=01の場合には、テストエンコーディング関数及びクラス発生関数を使用してテストプロパティが埋め込まれる。図36において、この構造は、パターンソース3502と、クラス関数ジェネレータ3504と、テスト信号を発生するように動作する関数f2,1,03506とを備え、テスト信号は、シリアライザ3508によってシリアル化されて、チャンネル3510を横切ってデシリアライザ3512へ送信される。受信器は、クラス関数ジェネレータ3514と、エラーチェッカ3520によって検出される信号を発生するための関数f2,1,03518とを備えている。パターンソースから発生されたテストパターンのストリームは、テストエンコードされ、シリアル化され、そしてチャンネル3510を経て送信される。受信器において、テストパターンの送信ストリームが回復され、解釈され、そして予想されるクラスシグネチャーシーケンスに対してチェックされる。エラーがクラスシグネチャーシーケンス又はテストパターンのテストプロパティを変化させる場合には、エラーにフラグが立てられる。
ある実施形態では、システムは、テストデータのシーケンスからテストプロパティを抽出するように動作する。図37に示すシリアルIOテスト構造の実施形態は、エラー検出器の設計を複雑にすることなく、任意のテストパターンをシリアルIOテストに使用できるようにする。図37において、この構造は、パターンソース3502と、テスト信号を発生するように動作する関数f2,1,03506とを備え、テスト信号は、シリアライザ3508によってシリアル化されて、チャンネル3510を横切ってデシリアライザ3512へ送信される。受信器は、エラーチェッカ3520によって検出される信号を発生するための関数f2,1,03518を備えている。パターンソースから発生されたテストパターンのストリームは、テストエンコードされ、シリアル化され、そしてチャンネル3510を経て送信される。クラスシグネチャーSE[2:0]は、送信されるテストデータのシーケンスから抽出される。クラスシグネチャーSE[0:1]は、FIFO又はバッファ3516を経てCe[01]に与えられる。FIFO3516は、RXにおいてテストデータをそのクラスシグネチャーと同期させる。例えば、発生されるクラスシグネチャーと、それに対応する送信されるテストデータとの間に待ち時間がある場合には、その待ち時間を許容するためにクラスシグネチャーがバッファに入れられる。テストデータ及びそのクラスシグネチャーが同期された場合には、それにより得られるseq(S’e[2:0])が常にゼロのシーケンスとなる。ある実施形態では、クラスシグネチャーをバッファすることで、テストデータに勝るハードウェア上の効果が与えられる。というのは、クラスシグネチャーのサイズを、10ビット、即ちTE(20、5、3、2)以下にすることができ、これは、20ビットテストデータの直接的な比較より著しく小さいからである。
図38は、メモリインターフェイステストユニット(MITU)3810と称される共有テストパターンソースの一実施形態を示す。このMITUは、受信器ごとにエラーチェッカに結合されるSPDRAMテストジェネレータに共有される。MITU3810は、シリアルIOテストジェネレータ3815を備え、ユーザメモリテストパターンジェネレータ3805に結合されて示されている。MITU3810は、メモリ読み取り及び書き込みオペレーションを実行してメモリ及びインターフェイスをテストするのに必要な20ビットSPDRAMテストを発生する。その発生されたSPDRAMテストは、必要に応じて、4つ全部のチャンネルにパラレルに送出される。
例えば、構成コントロール信号config[1:0]の状態に基づいて、MITU3810は、シリアルIOテスト、擬似ランダムアドレス読み取り・書き込みを伴うメモリインターフェイステスト、ユーザ定義テストパターン及び自動テスト装置(ATE)のようなテスターからの外部テストパターンを使用するメモリテスト、を遂行するように構成される。図38にATE[L:0]と示されたテスター入力は、テスターからテストパターンを直接適用できるようにテスターへのインターフェイスをなす。入力FuncSig[K:0]は、システムロジックからの関数信号を利用して融通性及びハードウェアオーバーヘッドを最適化するのに使用される。例えば、長い待機を実施すべきか又はリンクの完全性をチェックすべき場合には、関数回路から望ましい関数を与えることができる。frame_lockは、図34に示すエラーインジケータの例に使用された関数信号である。
ある実施形態では、ユーザ定義メモリテストジェネレータは、ユーザ定義テストパターンをテストに使用できるようにMITUに合体される。ユーザメモリテストパターンソースは、例えば、12ビットアドレス及び16ビットデータを発生する。シリアルIOテストジェネレータのレジスタは、メモリインターフェイステストユニットに対して共有される。メモリインターフェイス又はメモリをオンチップユーザテストパターンジェネレータではなく外部テスターからテストする必要がある場合には、テスターは、SPDRAMテストをMITUに直接与える。
L>20の場合にATE[L:0]によって与えられるコントロールインターフェイスは、テスターチャンネルの必要数及びテストデータの量を下げるのに使用される。というのは、テストデータは、内部で拡張されてMITUにより全てのポートロジックへ配布され、多数のメモリバンクをパラレルにテストできるからである。MITUは、圧縮されたテストデータとしてのMITUの入力及びテストデータを解凍するハードウェアであると考えられる。
ある実施形態では、エラーチェッカは、メモリからの有効な読み取りデータ及び同期コマンドをチェックする。ユーザメモリテストパターンが与えられない場合には、MITUは、擬似ランダムデータ及びアドレスを使用してメモリコマンドを発生する。例えば、擬似ランダムデータは、擬似ランダムアドレスに書き込まれ、そして同じ擬似ランダムアドレスから読み取られる。
図39は、メモリインターフェイステストユニットの一実施形態を示す。MITU3905は、コマンドジェネレータ3910、データ及びアドレスジェネレータ3915、並びにコマンドエキスパンダー3920より成る。コマンドジェネレータ3910は、データ及びアドレスジェネレータ3915と共に、例えば、20ビットのSPDRAMテストパターンを発生する。SPDRAMコマンドは、コマンドジェネレータ3910から発生され、そして書き込まれるべきデータ又はアドレスを含むコマンド引数は、データ及びアドレスジェネレータから得られる。データ及びアドレスジェネレータ3915は、アドレス及びデータについてコマンドジェネレータへ17ビット入力を与えると共に、シリアルIOテストパターンについてコマンドエキスパンダーへ3ビット入力を与える。17ビット入力は、書き込みデータコマンドのための16ビットデータと、書き込み及び読み取りコマンドのためのアドレスとを含む。シリアルIOテストパターンを発生すべき場合には、Gdata[16:0]がその出力E’[16:0]へバイパスされる。提示された信号は、発生されたコマンドがメモリをアドレスすることを指示する。コマンドエキスパンダー3920は、複数のコマンドを生成し、そしてそれらを全てのポートへパラレルに配布する。発生されたコマンドは、この例では、最大8までの、任意の数のコマンドへと拡張される。
又、MITU3905は、外部テスター及びユーザテストパターンジェネレータに対する経済的なテストインターフェイスも果たす。ユーザ定義テストパターンは、データ、アドレス及び読み取り/書き込み(r/w)コントロール信号を与える。r/wコントロール信号の状態に基づいて、読み取り又は書き込みオペレーションを遂行するためのSPDRAMコマンドのシーケンスが発生されるか、或いはメモリインターフェイスロジックを確認するために同じアドレスからのリード・アフタ・ライト(read after write)が遂行される。
データ及びアドレスジェネレータ3915は、上述したシリアルIOパターンジェネレータを含む。又、これは、シリアルIOパターンジェネレータを使用して、16ビットメモリデータ及びアドレスを内部で発生することもできる。
ある実施形態では、コマンド発生は、テスターによりATE[L:0]インターフェイスを経て編成される。テスターは、SPDRAMコマンドを、付随するデータ又はアドレスと共に、MITU3905に与える。データ及びアドレスが内部で発生される場合には、発生されたデータがデータ及びアドレスの両方に対して使用される。コマンドは、データ及びアドレスジェネレータ3915が、要求されたデータ又はアドレスを発生できるようにする。コマンドがデータ又はアドレスに関与しない場合には、それらは、コマンドジェネレータ3910から発生される。
ある実施形態では、コマンドエキスパンダー3920は、20ビットテストデータを、8倍(8x)の20ビットテストデータへとデコードする。説明上、この説明は、一般的に、4xテストデータエキスパンダーを使用するシステム又はプロセスについて述べる。システムの実施形態は、4x拡張について言えることが8x拡張についても有効であるという点で拡張可能である。4xテストデータエキスパンダーの構造が図39に一例として示されている。拡張されたテストデータの各20ビットは、SPDRAMメモリチップ内の各シリアルIOポート又はポートロジックに分配される。図39は、SPDRAMコマンドが、addrCmd=1により指示されたアドレスを搬送し、従って、コマンドが、ブランクアドレスを除いて、4回複写されるというテストデータエキスパンダーの実施形態を示す。11から8までのビット位置、即ちE’[11:8]を占有するブランクアドレスは、メモリテストをパラレルに遂行するために、4つの異なる相互に排他的なブランクアドレスへと変換される。
図40は、テストデータエキスパンダーの一実施形態を示す。図40を参照してバンクアドレス計算ユニット4005を使用するバンクアドレス変換について述べる。例えば、addrCmd=0の場合には、変換がおこなわれず、コマンドが4回複写され(4020)、そしてポートロジック又はシリアライザへ配布される。さもなければ、E’[8]に基づいて4つの非重畳バンクアドレスを計算するメモリバンク計算ユニットによりバンクアドレスが変換される。例えば、E’[8]=1の場合には、メモリバンク1、3、5及び7のバンクアドレスが発生され、さもなければ、0、2、4及び6のバンクアドレスが発生される。発生されたコマンドは、メモリバンクをパラレルにアクセスするために全てのポートへ送られる。
図41は、バンクアドレス計算ユニット4120の一実施形態を示す。図41に示す例では、パラレルにアクセスされるべきバンク4130組み合わせをエンコードするためにバンクアドレスが使用される。例えば、E’[8]の値を使用して、同じコマンドをパラレルに実行するのは偶数アドレスをもつバンク4130であるか奇数アドレスをもつバンクであるか決定する。残りのバンクアドレスフィールドE[9:8]は、望ましいメモリアクセスの異なるシナリオを受け容れるために使用される。例えば、パワーを考慮するために一度に2つのメモリバンクにアクセスする必要がある場合には、E’[9:8]を使用して、バンクアドレスをデコードしてもよい。メモリバンクをアクチベートしないポートには同期コマンドが送られる。
エンコーディングシステムの一実施形態において、プライオリティプロセスの機能をチェックするためにメモリアクセス競合状態を容易に生成することができる。メモリアクセス競合は、2つ以上のホストが同時に同じメモリ位置に書き込みを試みるときに生じる。SPDRAMポートロジックは、プライオリティに基づいてホストの一方を阻止することにより競合を解消する。SPDRAMでは、ABNKコマンドを受け取るポートによってプライオリティが決定される。プライオリティは、ポート番号に基づいて指定され、ポート番号が増加するにつれて低くなる。例えば、ポート0及び1から同じメモリバンクアクチベーションコマンドが受け取られた場合には、ポート0でなされた要求の方が、プライオリティが高い。
図42は、プライオリティの機能をチェックするためのコマンド発生の一実施形態を示す。この図は、バンクアドレス計算ユニット4220を含む。ある実施形態では、図42において指定された同じメモリバンクをオープンするために全てのポートから4つのABNKコマンドを同時に発生することによりプライオリティの機能がテストされる。例えば、ABNKコマンドが全てのポートからパラレルに発生される場合には、ポート0に対するメモリバンクがオープンされ、そして他の全てのポートからのコマンドは、保留される。ABNKコマンドが保留になると、ポート0を除く全てのポートにNACKコマンドが送られる。プライオリティ機能を有効とするために、ポート0は、通常の機能テストに対してチェックを行い、そして他の全ては、NACKに対してチェックを行う。
ある実施形態では、SPDRAMテストジェネレータは、多様化したテストアプリケーションに対するテスト解決策を与えるように構成される。図43ないし47は、SPDRAMテストジェネレータの実施形態を示す。ある実施形態では、SPDRAMテストジェネレータは、外部入力のサイズを減少するためにコマンドデコーダを備えている。メモリインターフェイスロジックをテストするのに少数の異なるSPDRAMコマンドしか要求されないので、外部入力は、エンコードされたものであると考えられる。減少された数の外部IOは、テストパターンがテスターから与えられるときに、特に有益である。
図43は、メモリテストのためのSPDRAMコマンド発生を示す。この図において、テスター(ATE)4310は、SPDRAMコマンド発生4320のための入力を与える。図示されたように、コマンドPCG、ABNK及びACTは、常に、データ読み取り又は書き込みの前に発生される。メモリテスト中に、データ読み取り及び書き込みは、テスト時間を最適化するために最大バースト長さをもつバーストで行われる。テストデータを書き込む場合には、n個のデータエレメントのバーストが、addriでスタートするアドレスに書き込まれる。データを読み取る場合には、同じn個のデータエレメントがバーストで読み取られる。データが読み取られる間に、コマンドジェネレータは、n個のSYNC2コマンドを発生する。表記DATAn(x)及び(SYNC2)nは、各々、n個の連続するDATA及びSYNC2コマンドの発生を表す。ある実施形態では、バーストデータ解決策を使用することで、ユーザメモリテストパターンソースのアドレスビットサイズを(9−log2n)に減少し、ひいては、ハードウェアオーバーヘッドを減少することができる。
ユーザテストパターンジェネレータを合体する簡単なSPDRAMテストジェネレータが図44及び45に示されている。図44において、テスター4410は、SPDRAMコマンドジェネレータアーキテクチャー(MITU)4420に結合されて示され、これは、ユーザメモリテストパターンジェネレータ4440及びメモリコマンドジェネレータ4450を備えている。テスター4410は、メモリテストを開始したり休止したりするために“genCmd”と称されるコマンド発生信号を与える。genCmd信号が発生されるときには、コマンドE[19:0]及びaddrCmd信号がテストジェネレータから発生される。SPDRAMコマンド発生モードの間に、MITU4420は、メモリコマンド又は同期コマンドのいずれかを発生する。MITU4420は、ユーザメモリテストパターンジェネレータからのr/w(読み取り/書き込み)信号に基づいて読み取り/書き込み判断を行う。genCmd信号は、シンクロナイザーを通してシステムクロックに同期される。genCmd信号により与えられる非同期インターフェイスを使用して、テスター4310は、いつでも開始及び休止することができる。与えられるユーザテストは、MITU4420のコントロールのもとで動作することができる。ある実施形態では、MITU4420は、メモリテストパターンジェネレータのクロックをコントロールすることによりユーザメモリテストパターンジェネレータを進める。
同じ非同期インターフェイスを使用し、テスターは、ユーザ定義テストパターンジェネレータを使用してテストを編成する。図45は、そのようなSPDRAMメモリテストジェネレータを示す。この図において、テスター4510は、コマンドジェネレータ4535及びデコーダ4540を含むコマンドジェネレータモジュール4525に結合される。コマンドジェネレータ4525は、シリアルIOテストジェネレータ4530を含むデータ及びアドレスジェネレータモジュール4520と、ユーザメモリテストパターンジェネレータ4515とに結合される。望ましいテストシーケンスは、例えば、エンコード型コマンドジェネレータにおいて実施される。このエンコード型コマンドジェネレータは、メモリインターフェイステストを実施するためのコマンドのシーケンスを発生する有限状態マシンである。例えば、genCmd=1をアサートすると、上述したコマンドが発生される。データ又はアドレスコマンドを発生する必要がある場合には、コマンドジェネレータが、ユーザ定義パターンソースと対話する。発生されたユーザパターンは、登録されそしてコマンドデコーダに与えられる。このモードでは、シリアルIOは、バッファとして働くようにセットされる。
ユーザパターンが消費されると、コマンドジェネレータは、クロックパルスを与えて、ユーザメモリテストパターンジェネレータを進ませ、次のメモリアドレス及びデータを得ることができる。genCmdがgenCmd=0にアサートされた場合には不定の時間中ユーザパターンソースが休止される。genCmd=0のときには、コマンドジェネレータは、SYNCキャラクタを発生する。
外部テストパターンソースが与えられない場合には、シリアルIOジェネレータを使用してメモリ及びメモリインターフェイスのためのテストパターンを内部で発生することができる。図46は、そのようなSPDRAMメモリテストジェネレータを示す。メモリテストデータは、繰り返し性が高く且つ相補的な性質であるので、シリアルIOテストジェネレータ4530から供給することができる。例えば、1つのテストデータ例は、全てのメモリ位置に1を書き込むのに続いて、全ての位置において1の値を読み取り、それに続いて、全ての位置にゼロを書き込み、等々である。この図において、G[16:9]の値を使用して、必要なテストデータパターンを与えることができる。デコーダは、G[16:9]のコンテンツに基づいて望ましいテストデータパターンを発生することができる。従って、相補的なテストデータは、同じシリアルIOテストジェネレータから発生することもできるし、又はパターンコントロール入力(patCtr)を使用して対応テストデータの補数をとることから得ることもできる。又、読み取り/書き込みコントロール信号も、ATE4510から与えることができる。テストデータパターンフィールドG[16:9]は、必要に応じて増加することができる。というのは、アドレスビットのバーストテストデータ発生数が、上述したように、G[8:0]の9ビットより少ないからである。
メモリインターフェイスをテストする場合には、擬似ランダムデータ及びアドレスをテストに使用することができる。図46は、擬似ランダムデータ及びアドレスを使用するコマンド発生を示す。この図において、テスター4610は、シリアルIOテストジェネレータ4630を含むデータ及びアドレスジェネレータモジュール4620に結合されると共に、コマンドジェネレータ4635及びデコーダ4640を含むコマンドジェネレータモジュール4625に結合される。テストにおいて、書き込みコマンドが読み取りコマンドに先行し、そして書き込み及び読み下りの量コマンドが同じアドレスにアクセスする。更に、テストデータがアドレスから導出され、アドレスは、シリアルIO擬似ランダムテストパターンから得られる。SPDRAMテストコマンド発生中に、発生されるアドレスは、共有パターンソースであり、そして書き込み及び読み取りの両コマンドに対して安定している。しかしながら、テストデータは、TPE(テストプロパティ埋め込みユニット)により変化させることができる。ある実施形態では、テストデータは、アドレスと同じでもよいし、又はアドレスの補数でもよい。
図47は、メモリテストの一実施形態に対する擬似ランダムテストジェネレータを示す。図示されたように、テスター4710は、擬似ランダムコマンド発生4720がデータE[19:0]及びアドレスaddrCmdを発生するための入力を与える。シリアルIOテストジェネレータを使用して擬似ランダムデータ及びアドレスを内部で発生する場合には、コマンドジェネレータは、必要なテストパターンを与えるためにシリアルIOテストジェネレータもコントロールする。この図において、コマンドジェネレータは、進みコントロール信号を使用して、データ及びアドレスをシーケンシングする。例えば、進み=1の場合には、シリアルIOテストジェネレータから次のデータ又はアドレスが与えられる。
ここに提案するエラーチェッカは、シリアルIOテストパターン及びSPDRAMコマンドベーステストパターンの両方を取り扱う。図48は、エラーチェックの一実施形態を示す。この図において、同期検出器4810がエラーチェッカ4830に結合され、このエラーチェッカは、PHYエラー検出器4820及び比較ロジック4840を備えている。SPDRAMコマンドを必要とするテストの場合に、エラーチェッカは、DATAコマンド及び全ての同期コマンドを認識するのに使用される。ある実施形態では、メモリのエラーチェックは、17ビットデータドメインにおいて実行することができる。テスト中に、例えば、d[16:0]は、DATAコマンド又はSYNCコマンドで占有される。d[16:0]が意図されたコマンド以外のものを搬送するか、無効の読み取りデータがd[15:0]にある場合には、エラーチェッカが動作してエラーにフラグを立てる。
DATAコマンドは、17ビットデータドメインにおける2バイト(d[15:0])のデータと、1ビットコマンドフィールド(d[16])とで構成される。d[16]は、19ビットエンコード型データドメインのe[19]に等しく、即ちd[16]=e[19]である。DATAコマンドの検出は、ECEn式においてe[19]=1によりフラグが立てられ、そしてエラーチェッカをイネーブルするのに使用される。エラーチェッカは、SYNCコマンドを検出すると、手前の状態を維持するように動作する。
上述したように、メモリテストパターンは、繰り返し性である。上位及び下位バイトのコンテンツは、しばしば、同じである。例えば、メモリテストパターンは、全てのメモリ位置に0(又は1)を書き込むのに続いて、0(又は1)を読み取るものである。或いは又、テストデータ及びその補数が全ての偶数及び奇数メモリ位置に各々書き込まれてもよい。ある実施形態では、システムは、既存の繰り返しテストパターンからテストプロパティを効率的に抽出することができる。又、テストプロパティを擬似ランダムメモリテストパターンに埋め込むこともできる。
図49及び50は、シリアルIOエラーチェッカの実施形態を示す。ある実施形態において、図49に示すシリアルIOエラーチェッカは、SPDRAMテストに関するテストのためのハードウェアオーバーヘッドを減少することができる。この図において、エラーチェッカは、PHYエラーチェッカ4910及び比較ロジック4920を備えている。ある実施形態では、信号syncDetは、d[16:0]又はe[19:0]信号における同期コマンドの検出を指示する。次いで、コントロール信号PhyTestは、シリアルIOエラー検出器に利用できるエラー関数をイネーブルする。PhyTestは、メモリテスト中にイネーブルされる。コントロール信号DataDetEnは、SPDRAMコマンドに関連するテスト中に無効コマンドの検出をアクチベートする。イネーブルされた場合には、受け取られた入力がREADコマンドでも同期コマンドでもない場合にエラーが発生される。SPDRAMにおいて、e[19]=1であるか又はd[16]=1である場合には、受け取られた入力がDATAコマンドである。同期コマンドが検出された場合には、syncDetがsyncDet=1にアサートされる。メモリテストモード中に、読み取りコマンドが検出された場合には、データフィールドd[15:0]がシリアルIOエラーチェッカによりチェックされる。任意であるが、同時に、下位バイト及び上位バイトが比較されて、エラーが検出される。シリアルIOエラー検出器は、テストプロパティを抽出し、そして比較ロジックがミスしたかもしれないエラーを検出する。ここに提案するエラーチェックは、エラーを決定するのに必要な全ての情報がDATAコマンドに含まれるので、設計を簡単化することができる。エラーチェックは、エラーを決定するために予想されるメモリテストデータの知識を必要とせず、又、予想されるメモリテストデータとの同期も必要でない。
或いは又、予想される読み取りデータがオンチップで発生されて比較ロジックに送られてもよい。図50は、PHYエラーチェッカ5010及び比較ロジック5020を、予想dx[15:0]ジェネレータ5030と共に示している。図50に示すように、DATAコマンドが検出されると、予想dx[15:0]ジェネレータ5030は、予想される読み取りデータを比較ロジック5020に与え、このロジックは、読み取りデータの有効性を決定するのに使用される。TE(20、5、3、2)のようなエラーマスキングがないことを許すテストエンコーディングスキームがシリアルIOエラーチェッカに装備された場合には、err[1]を発生するためのエラー検出が任意となる。
図49及び50のエラー関数e[1:0]は、次のように要約される。
Figure 2012532399
ある実施形態では、PhyTest及びDataDetEnの両信号は、PhyTest=1及びDataDetEn=1にアサートされる。このモードでは、エラー関数errsは、テストプロパティに違反することから生じるエラーを検出するのに使用される。invalCmd信号は、無効コマンドの存在を指示する。エラー関数e[1]は、比較ロジックによりなされる比較の結果を指示する。メモリインターフェイステスト中に、図49及び50のエラー関数e[1]は、各々、上位バイトと下位バイトとの間、及び受信テストデータと予想テストデータとの間のビットごとの比較を遂行する。従って、SPDRAMテストからエラーが誘起される場合には、エラーを検出することができる。
図51は、ボードテストのためのシステムの一実施形態を示す。図示されたように、ボード5100は、システムオンチップ(SOC)5110を備え、その物理的層(PHY)5120がインターフェイス5130を経てSPDRAMメモリ5140にリンクされている。SPDRAMメモリ及びSOCチップが、図51に示すように、システムボードに配置されたときには、SOCチップに埋め込まれたPHYコアがSPDRAMメモリと対話して、SPDRAMインターフェイスをテストする。機能的経路は、システムボード上の意図された機能を確認するように作用する。
図52は、ボードレベルテスト構造の一実施形態を示す。図示されたように、システム5200は、シリアルIOインターフェイス5230によってリンクされたSPDRAMメモリ5205及びPHYコア5240を備えている。SPDRAMメモリ5205は、メモリインターフェイステスト構造5210及びシリアルIOテスト構造5215と、シリアルIOインターフェイス5230を経てPHYコア5240にリンクするシリアライザ5220及びデシリアライザ5225とを備えている。一例において、メモリは、4つのシリアライザ及び4つのデシリアライザを有する4つのポートを含む。この図において、PHYコア5240は、メモリインターフェイステスト構造5250及びシリアルIOテスト構造5252と、シリアルIOインターフェイス5230を経てメモリ5205にリンクするシリアライザ5260及びデシリアライザ5255とを備えている。この図において、SPDRAMメモリ及びPHYコアに使用されるテスト構造は、ボードレベルテスト構造を形成するように結合される。ある実施形態では、2つのテストデータフローがあり、それらデータフローは、SPDRAMメモリからPHYコアへそしてPHYコアからSPDRAMメモリへ流れる。ある実施形態では、テストデータは、SPDRAMメモリ及びPHYコアにおいて独立して発生される。ある実施形態では、受信されるテストデータも、通信の両端で独立してチェックされる。特定のテストアプリケーションに基づいて、SPDRAMメモリ及びSOC PHYコアに対して異なるSPDRAMテストジェネレータが使用されてもよい。
図53は、シリアルIO相互接続テスト構造の一実施形態を示す。ある実施形態では、このテスト構造は、“Fault Testing for Interconnections”と題する米国特許出願第12/359,025号に開示されたテスト構造に係るものである。ある実施形態では、このシリアルIO相互接続テスト構造は、テストを行ってオープン欠陥やブリッジ欠陥のような欠陥を探索するためのテスト経路を与えることができる。ある実施形態では、トランジスタにより図53に示されたスイッチ機能をコントロール入力でターンオン又はオフすることにより、テスト経路を設定することができる。しかしながら、トランジスタの図は、概念的な図であり、スイッチング機能は、用途に基づいて種々の仕方で実施することができる。ある実施形態では、スイッチング機能は、シリアルIO経路に直接影響がないように機能的コントロールロジックに追加することができる。
図示されたように、システムは、ホストPHY層5350に結合されたメモリPHY層5305を備えている。メモリPHY層は、共有テストジェネレータ5315、及び1つ以上のテストプロパティ埋め込み(TPE)ユニット5320を備え、これは、シリアライザ/デシリアライザ(SERDES)5310のシリアライザに結合される。SERDES5310のシリアライザは、インターフェイス5340を経て、ホストPHY層5350のSERDES5355のデシリアライザにリンクされ、このデシリアライザは、ホストPHY層5350のエラーチェッカ5365に結合される。ホストPHY層5350は、更に、共有テストジェネレータ5360及び1つ以上のTPEユニット5370を備え、これは、SERDES5355のシリアライザに結合され、これは、インターフェイス5340を経て、メモリPHY層5305のSERDES5310のデシリアライザにリンクされ、ついで、これは、メモリPHY層5305のエラーチェッカに結合される。
ある実施形態では、スイッチング機能の振舞いは、次の通りである。コントロール入力、例えば、ser[m、0]=1が与えられると、それに対応するスイッチが閉じ、接続が確立される。しかしながら、ser[m、0]=0の場合には、スイッチが開であり、信号は通過しない。ある実施形態では、SERDES5310及びSERDES5355のスイッチ機能は、インターフェイス5340のリンクを通してテスト信号を導くように必要に応じてセットされる。
図54は、オープン欠陥検出の一実施形態を示す。図54は、図53に対して設けられたコンポーネントを有するメモリPHY層5405及びホストPHY層5450を示している。この図において、オープン欠陥は、正及び負の相互接続と称されるインターフェイス5340の差動相互接続の一方又は両方を切断する。差動シグナリングを使用するシリアルIOの通常言及される問題は、接続の一方にオープン欠陥が存在するときシリアルIOは必ずしも欠陥とならないことである。ある実施形態では、相互接続テスト構造は、オープン欠陥を検出するために図54に示すテスト経路を設定する。ある実施形態では、オープン欠陥の検出について、メモリPHY層5405のテストジェネレータ5310は、SERDESのスイッチ機能により確立された被試験経路を通して1010・・・10のテストパターンを送信することができる。例えば、図54は、正の相互接続を通してメモリPHY層5405からホストPHY層5450へ至るテスト経路と、負の相互接続を経てホストPHY層5450からメモリPHY層5405へ至るテスト経路とを示している。オープンが存在する場合には、データが受信されず、従って、エラーが検出される。さもなければ、データが受信され、オープン欠陥はないと結論付けることができる。
図55は、ブリッジ欠陥検出の一実施形態を示す。図55は、図53に対して設けられたコンポーネントを有するメモリPHY層5505及びホストPHY層5550を示している。ブリッジ欠陥は、相互接続に交差する非機能的信号経路を生成する。ある実施形態では、非機能的信号経路は、1つ以上のブリッジ欠陥を検出するように設定することができる。図55に示すように、機能的に接続されない差動接続は、ターゲットとする欠陥を検出するためのテスト経路を形成するようにイネーブルされる。ブリッジ欠陥で2つの接続が短絡される場合には、送信テストパターンが非機能的テスト経路を経て受信される。さもなければ、テストパターンは受信されず、ブリッジ欠陥はないと結論付けることができる。例えば、図55に示すように、正の相互接続が短絡され、ユニットの1つから同じユニットへ戻る信号経路が許される。
図56は、シリアルIOボードテストの一実施形態を示す。ある実施形態では、ボード上でのシリアルIO相互接続テストについて、スイッチ機能を経てテスト経路が構成され、そしてMITUは、例えば、1010・・・1010のテストパターンを内部で発生する。MITU及びスイッチ機能のためのコントロールは、IEEE STD 1149.1境界スキャンインターフェイスを経てプログラムすることができる。テストパターンは、TXから送信し、そしてRXにおいてテスト経路を経て受信することができる。受信したテストパターンが予想とは異なる場合には、被試験シリアルIO相互接続が欠陥であると結論付けられる。ボードレベルテストのある実施形態では、シリアルIOインターフェイステストに続いて、メモリインターフェイステストが行われる。シリアルIOテストの間に、図56に示すように、80ビットのテストデータが、SPDRAMメモリ及びホストから独立して発生され、そして4つのチャンネルを経てパラレルに送信される。各チャンネルで受信された20ビットテストパターンは、シリアルIOインターフェイスにおけるエラーを検出するために独立してチェックされる。この図において、メモリバンク、スイッチ及びポートロジック5610を含むSPDRAM5605は、ホスト5650に結合される。SPDRAM5605の第1のシリアルIOジェネレータ5615は、テスト信号E[79:0]を発生し、これは、シリアライザ5620によってシリアル化されて、ホスト5650のデシリアライザ5655へ送信される。受信したデータは、デシリアル化され、そして複数のシリアルIOエラーチェッカ5665によりチェックされる。同様に、ホスト5650の第2のシリアルIOジェネレータ5670は、テスト信号E[79:0]を発生し、これは、シリアライザ5660によりシリアル化されて、SPDRAM5605のデシリアライザ5625へ送信される。受信したデータは、デシリアル化され、そして複数のシリアルIOエラーチェッカ5630によりチェックされる。シリアルIOテストにおいてエラーが検出されない場合には、メモリインターフェイステストが開始される。
メモリ又はホストバイパスループバック経路を経て同じ相互接続テストを行うことができる。図57は、ホストバイパスループバック経路を通しての相互接続テストを示す。このテスト構成では、ホストテスト構造がバイパスされる。この図において、メモリバンク、スイッチ及びポートロジック5610を含むSPDRAM5705がホスト5705に結合される。SPDRAM5705の第1のシリアルIOジェネレータ5615がテスト信号E[79:0]を発生し、これは、シリアライザ5620によりシリアル化されて、ホスト5750のデシリアライザ5655へ送られる。受信したデータは、デシリアル化されて、フィードバックループ5765を経てフィードバックされる。このデータは、シリアライザ5660によりシリアル化されて、ホスト5750のデシリアライザ5655へ送信される。受信されたデータは、デシリアル化されて、複数のシリアルIOエラーチェッカ5630によりチェックされる。シリアルIOテストでエラーが検出されない場合には、メモリインターフェイステストが開始される。従って、SPDRAMメモリのテスト構造からテストパターンが発生されて、そこでチェックがなされる。このテスト構成は、例えば、結合されるSPDRAM及びホストが不適合なテスト構造を含む場合に有益である。
ある実施形態において、シリアルIOテストの後、図56に示すように、SPDRAMテストジェネレータ及びエラーチェッカを含むSPDRAMテスト構造は、ホストからのメモリインターフェイスをテストするように構成される。図58は、ホストにおいてテストパターンを発信する状態でのメモリインターフェイステストの一実施形態を示す。この図において、テスト構造は、メモリバンク、スイッチ及びポートロジック5610を含むSPDRAMメモリ5805を備え、これは、PHYコアを含むシステムオンチップのようなホスト5850に結合される。ある実施形態では、ホスト5850のSPDRAMテストジェネレータ5670は、メモリチップのテスト構造をバイパスするようにしてメモリインターフェイスにSPDRAMテストパターンを与えるようにプログラムされる。ユーザメモリテストジェネレータがホスト上で実施される場合には、ユーザテストパターンがメモリ又はメモリインターフェイステストに受け容れられる。さもなければ、SPDRAMテストパターンは、内部で発生されて、擬似ランダムアドレスに書き込まれ及びそこから読み取られる。この図において、メモリテストパターンE[79:0]がホストテストジェネレータ5670により発生され、ホスト5850のシリアライザ5660に送られる。別の実施形態では、ユーザメモリテストが、ホスト、例えば、メモリテストインターフェイスユニットに与えられ、これは、テストパターンE[79:0]をホスト5850のシリアライザ5660に与える。シリアル化されたデータは、デシリアライザ5625によりデシリアル化され、そのデシリアル化されたテストパターン(e[79:0])を、メモリアクセスのために遷移デコーダを経てポートロジック(図示されたメモリバンク、スイッチ及びポートロジック5610内の)に与える。テストデータは、ポートロジック5610によって読み取られ、SPDRAMシリアライザ5620に与えられる。シリアル化されたデータは、PHYコアデシリアライザ5655により受信されてデシリアル化され、そのデシリアル化されたデータは、ホスト5850のエラーチェッカ5665によってチェックされる。テストコントロール信号(コマンドを発生するgenCmdのような)は、メモリインターフェイステストを編成するのに使用されると共に、例えば、IEEE規格1149.1境界スキャンインターフェイスを経て与えられる。
又、ある実施形態において、メモリバイパスループバック経路は、メモリインターフェイスをバイパスして、デシリアライザの出力をシリアライザへ直接接続することにより、シリアルIOをテストするのにも使用される。シリアルIOは、リンクの完全性を保証するためにメモリインターフェイスの前にテストされる。図58に示す構造は、適合しない第3者の組込み自己テスト(BIST)回路が存在するときでもシリアルIOをテストできるようにする。
図59は、メモリにおいてテストパターンを発信する状態での自己ループバック経路を通るメモリインターフェイステストの一実施形態を示す。図59に示すように、メモリインターフェイスは、SPDRAMメモリチップにおけるSPDRAMコマンドジェネレータ及びエラーチェッカを使用してテストされる。図示されたように、テスト構造は、メモリバンク、スイッチ及びポートロジック5610を含むSPDRAMメモリ5905を備え、これは、ホスト5950に結合される。シリアルIOテストについては、SPDRAMテストジェネレータ5615は、シリアルIOテストパターンをシリアライザに直接供給するのに使用される。シリアルIOループバック経路を経て受信されたテストパターンがエラーについてチェックされる。この図において、テストジェネレータ5615は、メモリ5905のスイッチ及びポートロジック5610を通してメモリバンクへテストパターンE[79:0]を与える。テストパターンは、次いで、シリアライザ5620へ送られてシリアル化される。そのシリアル化されたデータは、ホスト5950のデシリアライザ5655によりデシリアル化され、そしてシリアルIOバイパスループバック5765によりホスト5950のシリアライザ5660にフィードバックされる。データは、SPDRAMデシリアライザ5625によりデシリアル化され、そしてテストパターンe[79:0]は、エラーチェッカ5630によりチェックされる。又、シリアルIOバイパスループバック5765は、不適合のBISTがホストにおいて実施された場合にも使用される。
図60は、本発明の一実施形態に使用されるコンピューティング装置の一実施形態を示す。この図において、ここでの説明に関係のない標準的で且つ良く知られたコンポーネントは、図示されておらず、又、図示された幾つかの要素は、特定装置の実施形態には含まれない。幾つかの実施形態のもとで、装置6000は、相互接続又はクロスバー6005、或いは高速データトランスポートを含む他の情報通信手段を備えている。更に、装置6000は、情報を処理するために相互接続6005に結合された1つ以上のプロセッサ6010のような処理手段も備えている。プロセッサ6010は、1つ以上の物理的プロセッサ及び1つ以上の論理的プロセッサを含む。更に、プロセッサ6010の各々は、複数のプロセッサコアを含む。相互接続6005は、簡単化のため単一の相互接続として示されているが、複数の異なる相互接続又はバスを表してもよく、そしてそのような相互接続へのコンポーネント接続は、変化してもよい。図60に示す相互接続6005は、抽象的であり、1つ以上の個別の物理的なバス、ポイント対ポイント接続、又はその両方が適当なブリッジ、アダプタ又はコントローラにより接続されたものを表す。相互接続6005は、例えば、システムバス、PCI又はPCIeバス、ハイパートランスポート又は工業規格アーキテクチャー(ISA)バス、小型コンピュータシステムインターフェイス(SCSI)バス、IIC(I2C)バス、或いはインスティテュートオブエレクトリカルアンドエレクトロニックスエンジニアズ(IEEE)規格1394バス、時々「ファイアウォール」とも称される、を含む。(「高性能シリアルバスの規格」1394−1995、IEEE、1996年8月30日出版、及び補足)装置6000は、更に、USBバス6070のようなシリアルバスも備え、これには、装置A 6075及び装置B 6080のような1つ以上のUSB適合装置が取り付けられる。
ある実施形態において、プロセッサ6010は、1つ以上のバーチャルマシンをサポートするのに使用される。ある実施形態において、装置6000は、更に、プロセッサ6010により実行されるべきインストラクション及び情報を記憶するためのメインメモリ6020としてランダムアクセスメモリ(RAM)又は他のダイナミック記憶装置を備えている。又、メインメモリ6020は、プロセッサ6010によるインストラクションの実行中に一時的変数又は他の中間情報を記憶するのにも使用される。RAMメモリは、SPDRAMを含む。RAMメモリは、更に、メモリコンテンツのリフレッシュを必要とする他のダイナミックランダムアクセスメモリ(DRAM)と、コンテンツのリフレッシュは必要でないがコストが高いスタティックランダムアクセスメモリ(SRAM)とを含む。DRAMメモリは、信号を制御するためにクロック信号を含む同期ダイナミックランダムアクセスメモリ(SDRAM)と、拡張データアウトダイナミックランダムアクセスメモリ(EDO DRAM)とを含む。ある実施形態では、システムのメモリは、装置の複数のエージェントによってアクセスできる共有BIOS/OSメモリのような共有メモリを含む。又、装置6000は、プロセッサ6010のためのスタティック情報及びインストラクションを記憶するためのリードオンリメモリ(ROM)6025又は他のスタティック記憶装置も備えている。又、装置6000は、これに限定されないがシステムBIOS及び1つ以上のプレOSアプリケーションを含む幾つかの要素を記憶するために、1つ以上の不揮発性メモリ装置6030も備えている。
情報及びインストラクションを記憶するために装置6000の相互接続6005には、データ記憶装置6035も結合される。このデータ記憶装置6035は、磁気ディスク、光学的ディスク及びそれに対応するドライブ、或いは他のメモリ装置を含む。このような要素は、一緒に結合されてもよいし又は個別のコンポーネントでもよく、そして装置6000の他の要素の部分を利用してもよい。特定の実施形態では、データ記憶装置6035は、ハードドライブ6035を含む。
又、装置6000は、バス6005を経て、ディスプレイ6040、例えば、陰極線管(CRT)ディスプレイ、液晶ディスプレイ(LCD)、プラズマディスプレイ、或いはエンドユーザに情報を表示する他の表示技術に結合される。ある実施形態では、ディスプレイ6040は、テレビ番組を表示するのに使用される。ある環境においては、ディスプレイ6040は、入力装置の少なくとも一部分としても利用されるタッチスクリーンを含む。又、ある環境においては、ディスプレイ6040は、テレビ番組のオーディオ部分を含むオーディオ情報を発生するスピーカのようなオーディオ装置でもよいし、又はそれを含んでもよい。プロセッサ6010に情報及び/又はコマンドの選択を通信するため相互接続6005には入力装置6045が結合される。種々の具現化において、入力装置6045は、キーボード、キーパッド、タッチスクリーン及びスタイラス、ボイスアクチベートシステム、又は他の入力装置、或いはそのような装置の組み合わせである。含まれるユーザ入力装置の別の形式は、1つ以上のプロセッサ6010に方向情報及びコマンド選択を通信すると共にディスプレイ6040上でカーソルの移動をコントロールするためのカーソルコントロール装置6050、例えば、マウス、トラックボール、又はカーソル方向キーである。
相互接続6005には、1つ以上の通信要素6055も結合される。特定の具現化に基づいて、通信要素6055は、トランシーバ、ワイヤレスモデム、ネットワークインターフェイスカード、マザーボード上のLAN(ローカルエリアネットワーク)、又は他のインターフェイス装置を含む。通信要素6055は、イーサネット(登録商標)データのようなネットワークデータを送信するためにネットワーク6065への接続を与える。通信装置6055の使用は、ワイヤレス装置から信号を受信することを含む。無線通信の場合に、通信装置6055は、必要に応じて、ダイポール又はモノポールアンテナを含めて、1つ以上のアンテナ6058を備えている。一実施形態では、通信要素6055は、装置6000を不適切なアクセスから保護するためのファイアウォールを含む。又、装置6000は、電源装置又はシステム6060も備え、これは、電源、バッテリ、ソーラーセル、燃料電池、或いは電力を供給又は発生する他のシステム又は装置で構成される。電源装置又はシステム6060により供給される電力は、必要に応じて、装置6000の要素に分電される。
以上の説明において、説明上、本発明を充分に理解するために多数の特定の細部について述べた。しかしながら、当業者であれば、本発明は、これら特定の細部の幾つかがなくても実施できることが明らかであろう。他の点では、良く知られた構造及び装置は、ブロック図の形態で示した。図示されたコンポーネント間には中間構造もある。ここに述べた又は図示したコンポーネントは、図示又は説明されていない付加的な入力又は出力を有してもよい。
本発明は、種々のプロセスを含む。本発明のプロセスは、ハードウェアコンポーネントにより遂行されてもよいし、或いはプロセスを遂行するためのインストラクションで汎用又は特殊目的プロセッサ或いはロジック回路をプログラムさせるために使用されるマシン実行可能なインストラクションで実施されてもよい。或いは又、プロセスは、ハードウェア及びソフトウェアの組み合わせで遂行されてもよい。
本発明の一部分は、プロセッサによって実行されるべきコンピュータプログラムインストラクションであって、本発明によるプロセスを遂行するためにコンピュータ(又は他の電子装置)をプログラムするのに使用されるインストラクションが記憶されたコンピュータ読み取り可能な媒体を含むコンピュータプログラム製品として提供されてもよい。コンピュータ読み取り可能な媒体は、フロッピー(登録商標)ディスケット、光学的ディスク、CD−ROM(コンパクトディスクリードオンリメモリ)、及び磁気光学的ディスク、ROM(リードオンリメモリ)、RAM(ランダムアクセスメモリ)、EPROM(消去可能なプログラマブルリードオンリメモリ)、EEPROM(電気的に消去可能なプログラマブルリードオンリメモリ)、磁石又は光学的カード、フラッシュメモリ、或いは電子的インストラクションを記憶するのに適した他の形式の有形媒体/コンピュータ読み取り可能な媒体を含むが、これらに限定されない。
多数の方法がそれらの最も基本的な形態で説明されたが、本発明の基本的な範囲から逸脱せずに、それらの方法にプロセスを追加したり削除したりできると共に、上述したメッセージに情報を追加したり削除したりすることもできる。又、当業者であれば、多数の更に別の変更や適応がなされることも明らかであろう。上述した特定の実施形態は、本発明を限定するものではなく、例示するものに過ぎない。本発明の範囲は、上述した特定の実施例により決定されるのではなく、特許請求の範囲のみによって決定される。
要素“A”が要素“B”に結合されると言える場合には、要素Aは、要素Bに直結されるか、又は例えば、要素Cを介して間接的に結合される。明細書又は特許請求の範囲に、成分、特徴、構造、プロセス又は特性Aが、成分、特徴、構造、プロセス又は特性Bを「引き起こす」と述べられているときには、“A”は、“B”の少なくとも部分的な原因であるが、“B”を引き起こす上で助けとなる少なくとも1つの他の成分、特徴、構造、プロセス又は特性もあることを意味する。又、明細書に、成分、特徴、構造、プロセス又は特性が含まれ得る(may)、又は含まれるかもしれない(might)、又は含むことができる(could)と示されている場合には、その特定の成分、特徴、構造、プロセス又は特性を含むことが要求されない。明細書又は特許請求の範囲に、「一(“a”又は“an”)」要素と示された場合には、記述される要素が1つしかないことを意味するものではない。
実施形態は、本発明の具現化又は実施例である。明細書において「一実施形態」「1つの実施形態」「ある実施形態」又は「他の実施形態」を言及するときは、その実施形態に関連して述べた特定の特徴、構造又は特性が、少なくとも幾つかの実施形態には含まれるが、必ずしも全ての実施形態に含まれるのではないことを意味する。又、「一実施形態」「1つの実施形態」又は「ある実施形態」が種々現れることは、必ずしも、全てが同じ実施形態を指していない。本発明の規範的な実施形態の以上の説明において、開示を合理化すると共に、本発明の1つ以上の種々の態様の理解を助けるために、本発明の種々の特徴は、時々、1つの実施形態、図面又はその説明において一緒にグループ化されている。しかしながら、このような開示方法は、請求される発明が、各請求項に明確に述べられたものより多くの特徴を要求するという意図を反映するものと解釈されるべきではない。むしろ、請求項が反映する発明の態様は、以上に開示された単一の実施形態の全ての特徴より少ない特徴にある。従って、各請求項がそれ自身本発明の個別の実施形態であるようにして、請求項がこの説明に明確に組み込まれる。
105:メモリ装置
110:装置
115、120、125、130:ポート
135:シリアライザ
140:デシリアライザ
300:システム
305:ホスト
320:ホスト物理的層
325:送信器
330:シリアライザ
350:インターフェイス
355:メモリ
360:ポート
365:メモリ物理的層
340、390:リンクマネージメント
355:メモリ
375:受信器
380:デシリアライザ
400:SPDRAMメモリ
410:メモリ物理的層
420:メモリバンク
805:SPDRAMメモリ
810:メモリインターフェイステスト構造
815:シリアルIOテスト構造
820:シリアライザ
825:デシリアライザ
830:シリアルIOインターフェイス
840:PHYコア
845:シリアルIOテスト構造
850:メモリインターフェイステスト構造
855:デシリアライザ
860:シリアライザ
1005:共有テストパターンソース
1010:テストプロパティ埋め込みユニット
1015:遷移エンコーディング(TE)
1025:システムロジック

Claims (38)

  1. メモリボードをテストする方法において、
    メモリボードのメモリをテストする段階であって、メモリのテストは、組込み自己テスト構造を使用して、メモリのための第1のテストパターンを与えることを含む段階と、
    メモリのIO(入力出力)インターフェイスをホストでテストする段階であって、IOインターフェイスのテストは、組込み自己テスト構造を使用して、IOインターフェイスのための第2のテストパターンを与えることを含む段階と、
    を備えた方法。
  2. 前記メモリは、シリアルポートダイナミックランダムアクセスメモリ(SPDRAM)である、請求項1に記載の方法。
  3. 前記メモリのテストは、前記IOインターフェイスのテストとは別のものである、請求項1に記載の方法。
  4. 前記第1のテストパターンは、メモリのためのプロトコルに合致する、請求項1に記載の方法。
  5. メモリに対する合法的コマンドを検出できるようにすることにより前記メモリのテストに対してエラーチェックを遂行する段階を更に備えた、請求項4に記載の方法。
  6. 前記第2のテストパターンは、メモリのためのプロトコルに合致しない、請求項4に記載の方法。
  7. テストプロパティを前記第2のテストパターンへとエンコードする段階を更に備えた、請求項1に記載の方法。
  8. 前記組込み自己テスト構造の少なくとも一部分は、前記メモリ及びホストに含まれる、請求項1に記載の方法。
  9. 受信したテストパターンを検討して、前記メモリ又はIOインターフェイスに1つ以上のエラーが生じたかどうか決定する段階を更に備えた、請求項1に記載の方法。
  10. 前記第1のテストパターンの抽出されたテストプロパティをチェックすることに基づいてメモリをテストする段階を更に備えた、請求項1に記載の方法。
  11. 前記第1のテストパターン及び第2のテストパターンを与えることは、テスト信号を発生することを含む、請求項1に記載の方法。
  12. 前記第1のテストパターン及び第2のテストパターンを与えることは、外部テスターからテスト信号を受け取ることを含む、請求項1に記載の方法。
  13. 前記組込み自己テスト構造の少なくとも一部分をバイパスして、テストのために信号をループバックする段階を更に備えた、請求項1に記載の方法。
  14. 前記メモリは、複数のポートを含み、そして更に、それらポートをテストのために一緒に結合する段階を備えた、請求項1に記載の方法。
  15. 各ポートは、シリアライザ及びデシリアライザを備え、前記ポートを一緒に結合する段階は、第1ポートのシリアライザを第2ポートのデシリアライザに接続することを含む、請求項14に記載の方法。
  16. 前記テストは、前記第1ポートのシリアライザにテストパターンを付与しそして前記第1ポートのデシリアライザでテストパターンを受け取ることを含む、請求項15に記載の方法。
  17. テストパターンにテストプロパティを埋め込むために複数のハイアラーキー編成のテストエンコーディング関数を使用してテストパターンを発生する段階を更に備えた、請求項1に記載の方法。
  18. 前記メモリ及びメモリのインターフェイスのテストは、前記メモリボードの内部でテストされ、そのテストは、メモリボードにおいて信号をループバックするようにメモリボードを構成することを含む、請求項1に記載の方法。
  19. 前記IOインターフェイスをテストすることは、メモリボードの出力からメモリボードの入力へ信号をループバックすることを含む、請求項1に記載の方法。
  20. 前記IOインターフェイスをテストすることは、前記ホスト内で前記ホストの入力からホストの出力へ信号をループバックすることを含む、請求項1に記載の方法。
  21. 前記装置は、複数のメモリ要素を備え、前記メモリをテストすることは、前記複数のメモリ要素の各々に対してインターフェイスをテストすることを含む、請求項1に記載の方法。
  22. 前記複数のメモリ要素の各々に対してインターフェイスをテストすることは、各インターフェイスの1つ以上のリンクをオン又はオフにスイッチングして、テストパターンを送信するためのテスト経路を形成することを含む、請求項21に記載の方法。
  23. 前記1つ以上のリンクをスイッチングすることは、非機能的テスト経路を形成するようにスイッチングすることを含む、請求項22に記載の方法。
  24. 前記1つ以上のリンクをスイッチングすることは、オープン欠陥及びブリッジ欠陥の1つ以上をテストするためにリンクをスイッチングすることを含む、請求項22に記載の方法。
  25. 第1のテスト構造を含むメモリと、
    第2のテスト構造を含むホストの物理的層と、
    前記メモリと物理的層との間のインターフェイスと、
    を備え、前記メモリ及びインターフェイスは、前記第1及び第2のテスト構造を使用してテストされるようにした、装置。
  26. 前記メモリ及びインターフェイスのテストは、別々の実行される、請求項25に記載の装置。
  27. 前記メモリのテストは、前記メモリのプロトコルに合致する第1のテストパターンを使用することを含み、そして前記インターフェイスのテストは、前記メモリのプロトコルに合致しないテストパターンを使用することを含む、請求項25に記載の装置。
  28. 前記メモリは、シリアルポートダイナミックランダムアクセスメモリ(SPDRAM)である、請求項25に記載の装置。
  29. 前記メモリは、シリアライザ及びデシリアライザを各々有する複数のポートを備えた、請求項28に記載の装置。
  30. テストジェネレータが前記メモリの各ポートに対するテストパターンを発生する、請求項29に記載の装置。
  31. 各ポートは、エラーチェッカを備え、各エラーチェッカは、各ポートのデシリアライザにより受け取られたテストパターンをチェックする、請求項29に記載の装置。
  32. 前記メモリボードは、前記複数のポートに対する単一のエラーチェッカを含む、請求項29に記載の装置。
  33. 前記ポートは、前記装置をテストするためにシリアルに一緒に接続される、請求項29に記載の装置。
  34. 前記第1のテスト構造は、メモリテストインターフェイスユニットを含む、請求項25に記載の装置。
  35. 前記メモリテストインターフェイスユニットは、シリアルIOテストジェネレータを含む、請求項34に記載の装置。
  36. 前記メモリテストインターフェイスユニットは、コマンドジェネレータと、データ及びアドレスジェネレータとを含む、請求項34に記載の装置。
  37. 前記メモリテストインターフェイスユニットは、更に、複数のコマンドを生成してそれら複数のコマンドを複数のポートへパラレルに配布するためのコマンドエキスパンダーを備えた、請求項36に記載の装置。
  38. プロセッサにより実行されたときに、そのプロセッサが、
    シリアルポートダイナミックランダムアクセスメモリ(SPDRAM)ボードのメモリをテストし、該メモリのテストは、組込み自己テスト構造を使用して、メモリのための第1のテストパターンを与えることを含み、
    メモリのIO(入力出力)インターフェイスをホストでテストし、該IOインターフェイスのテストは、組込み自己テスト構造を使用して、IOインターフェイスのための第2のテストパターンを与えることを含み、前記メモリのテストは、前記IOインターフェイスのテストとは別のものである、
    ことを含むオペレーションを遂行するようにさせるインストラクションのシーケンスを表すデータが記憶されたコンピュータ読み取り可能な媒体。
JP2012517617A 2009-07-02 2010-06-18 コンピュータメモリテスト構造 Expired - Fee Related JP5651171B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/497,391 US8386867B2 (en) 2009-07-02 2009-07-02 Computer memory test structure
US12/497,391 2009-07-02
PCT/US2010/039274 WO2011002621A1 (en) 2009-07-02 2010-06-18 Computer memory test structure

Publications (2)

Publication Number Publication Date
JP2012532399A true JP2012532399A (ja) 2012-12-13
JP5651171B2 JP5651171B2 (ja) 2015-01-07

Family

ID=42470854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012517617A Expired - Fee Related JP5651171B2 (ja) 2009-07-02 2010-06-18 コンピュータメモリテスト構造

Country Status (7)

Country Link
US (3) US8386867B2 (ja)
EP (1) EP2449557A1 (ja)
JP (1) JP5651171B2 (ja)
KR (1) KR101714630B1 (ja)
CN (1) CN102473462B (ja)
TW (1) TWI512751B (ja)
WO (1) WO2011002621A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013531329A (ja) * 2010-01-06 2013-08-01 シリコン イメージ,インコーポレイテッド コンピュータメモリデバイス及びシリアルioポートのマルチサイト検査
JP2017504905A (ja) * 2014-01-24 2017-02-09 クアルコム,インコーポレイテッド ダイナミックランダムアクセスメモリ(dram)システムの、ポート間ループバックを用いたメモリトレーニングの実施、ならびに関連する方法、システム、および装置

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386867B2 (en) * 2009-07-02 2013-02-26 Silicon Image, Inc. Computer memory test structure
US20110296259A1 (en) * 2010-05-26 2011-12-01 International Business Machines Corporation Testing memory arrays and logic with abist circuitry
US8598898B2 (en) 2010-10-05 2013-12-03 Silicon Image, Inc. Testing of high-speed input-output devices
TWI463502B (zh) * 2010-11-17 2014-12-01 Hoy Technologies Co 內嵌式測試模組
US8713383B2 (en) * 2010-12-30 2014-04-29 Hynix Semiconductor Inc. Semiconductor memory device, test circuit, and test operation method thereof
WO2012154240A1 (en) * 2011-02-15 2012-11-15 Cavium, Inc. Memory interface with selectable evaluation modes
US8917566B2 (en) * 2012-04-11 2014-12-23 International Business Machines Corporation Bypass structure for a memory device and method to reduce unknown test values
US9357649B2 (en) 2012-05-08 2016-05-31 Inernational Business Machines Corporation 276-pin buffered memory card with enhanced memory system interconnect
DE102012210408A1 (de) * 2012-06-20 2013-12-24 Robert Bosch Gmbh Verfahren zum Ansteuern einer Zustandsmaschine
US9170869B2 (en) * 2012-11-07 2015-10-27 Oracle International Corporation Switchable per-lane bit error count
US9384108B2 (en) * 2012-12-04 2016-07-05 International Business Machines Corporation Functional built-in self test for a chip
US9519315B2 (en) 2013-03-12 2016-12-13 International Business Machines Corporation 276-pin buffered memory card with enhanced memory system interconnect
EP2804105B1 (en) * 2013-05-17 2015-10-07 Fujitsu Limited Method of improving fault tolerance in a computing system arranged to find a computational solution
US20150052616A1 (en) * 2013-08-14 2015-02-19 L-3 Communications Corporation Protected mode for securing computing devices
US9575834B2 (en) * 2014-05-16 2017-02-21 International Business Machines Corporation Detecting single event upsets and stuck-at faults in RAM-based data path controllers
CN104090226B (zh) * 2014-07-09 2017-01-18 四川和芯微电子股份有限公司 测试芯片管脚连通性的电路
JP2016063430A (ja) * 2014-09-18 2016-04-25 株式会社ソシオネクスト 送受信回路、集積回路及び試験方法
US9514842B2 (en) 2014-09-24 2016-12-06 Apple Inc. Memory testing system
US20160245864A1 (en) * 2015-02-20 2016-08-25 Texas Test Corporation Automatic test apparatus for functional digital testing of multiple semiconductor integrated circuit devices
KR102401093B1 (ko) * 2015-09-17 2022-05-24 에스케이하이닉스 주식회사 반도체 메모리 및 이를 이용한 메모리 시스템
US9705620B2 (en) * 2015-09-18 2017-07-11 Qualcomm Incorporated Synchronization of endpoints using tunable latency
US9996439B2 (en) 2015-09-23 2018-06-12 Qualcomm Incorporated Self-error injection technique for point-to-point interconnect to increase test coverage
CN105138440B (zh) * 2015-09-24 2017-09-12 北京工业大学 一种自带对比功能的标准单元库功能测试方法
KR102020798B1 (ko) * 2015-12-24 2019-09-16 삼성에스디에스 주식회사 자동화 테스트 수행 방법 및 시스템
DE102016203270B3 (de) * 2016-02-29 2017-08-10 Infineon Technologies Ag Mikrocontroller und Verfahren zum Testen eines Mikrocontrollers
US9514800B1 (en) * 2016-03-26 2016-12-06 Bo Liu DRAM and self-refresh method
CN106371962B (zh) * 2016-08-30 2019-01-01 广州广电运通金融电子股份有限公司 一种跨平台的驱动测试方法、装置及系统
KR20180024961A (ko) * 2016-08-31 2018-03-08 에스케이하이닉스 주식회사 노광 마스크의 디스토션 제어방법
US10379158B2 (en) * 2017-02-09 2019-08-13 Advantest Corporation Real-time capture of traffic upon failure for protocol debug
US10242750B2 (en) * 2017-05-31 2019-03-26 Sandisk Technologies Llc High-speed data path testing techniques for non-volatile memory
KR102264159B1 (ko) 2017-06-08 2021-06-11 삼성전자주식회사 외부 루프백 테스트를 수행하는 직렬 통신 인터페이스 회로 및 이를 포함하는 전자 장치
US11650943B2 (en) 2018-10-16 2023-05-16 Micron Technology, Inc. Flexible bus management
KR102604010B1 (ko) 2019-01-22 2023-11-20 주식회사 아도반테스토 온-칩-시스템 테스트 제어기를 사용하는 자동 테스트 장비
US11392300B2 (en) * 2019-05-31 2022-07-19 Micron Technology, Inc. Memory device having a secure test mode entry
US11302412B2 (en) * 2019-06-03 2022-04-12 Advantest Corporation Systems and methods for simulated device testing using a memory-based communication protocol
TWI707229B (zh) * 2019-06-10 2020-10-11 英業達股份有限公司 電腦裝置的內建記憶體檢測方法
CN112925682B (zh) * 2019-12-06 2024-02-02 澜起科技股份有限公司 具有内建自测试逻辑的测试装置及方法
KR20210081094A (ko) 2019-12-23 2021-07-01 주식회사 실리콘웍스 메모리 컨트롤러, 및 이의 동작 방법
CN111273157B (zh) * 2020-02-24 2022-07-08 上海御渡半导体科技有限公司 一种芯片共享资源串行测试装置及方法
US11442829B2 (en) 2020-03-16 2022-09-13 International Business Machines Corporation Packeted protocol device test system
CN113448782B (zh) * 2020-03-27 2022-05-13 长鑫存储技术有限公司 存储器的测试方法、存储介质和计算机设备
KR20210157748A (ko) * 2020-06-22 2021-12-29 삼성전자주식회사 반도체 메모리 모듈 리페어 방법 및 이를 위한 전자 장치
CN111856258B (zh) * 2020-07-24 2023-05-09 北京百度网讯科技有限公司 用于芯片的测试的方法、设备、存储介质和相应的芯片
US11216347B1 (en) 2020-08-26 2022-01-04 Spirent Communications, Inc. Automatically locating resources using alternative locator expressions during heterogeneous component-based testing in a portable automation framework
US11269712B1 (en) * 2020-08-26 2022-03-08 Spirent Communications, Inc. Customized categorial error handling framework for heterogeneous component-based testing in a portable automation framework
US11449414B2 (en) 2020-08-26 2022-09-20 Spirent Communications, Inc. Mapping test parameter data elements during heterogeneous component-based testing in a portable automation framework in both API mode and UI mode
CN114333965B (zh) * 2020-09-30 2023-09-08 长鑫存储技术有限公司 存储器和存储器的测试方法
KR20220127571A (ko) 2021-03-11 2022-09-20 삼성전자주식회사 빌트-인-셀프-테스트 로직, 빌트-인-셀프 테스트 로직을 포함하는 메모리 장치, 및 메모리 모듈에 대한 테스트 방법
CN113918377B (zh) * 2021-12-16 2022-03-25 深圳软牛科技有限公司 C++程序崩溃的定位方法、装置、设备及存储介质
CN114416450B (zh) * 2022-01-18 2022-09-27 深圳市百泰实业股份有限公司 一种pcba生产测试管理方法
US20230258720A1 (en) * 2022-02-17 2023-08-17 Marvell Asia Pte Ltd Built-in testing in modular system-on-chip device
US20230377669A1 (en) * 2022-05-19 2023-11-23 Samsung Electronics Co., Ltd. Memory devices, operating methods of the memory devices, and test systems including the memory devices
CN116455753B (zh) * 2023-06-14 2023-08-18 新华三技术有限公司 一种数据平滑方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11296391A (ja) * 1998-04-09 1999-10-29 Sony Corp 半導体記憶装置
JP2006078447A (ja) * 2004-09-13 2006-03-23 Toshiba Corp テスト回路およびテスト方法
JP2007095276A (ja) * 2005-09-29 2007-04-12 Hynix Semiconductor Inc 直列入/出力インターフェスを有するマルチポートメモリ素子
JP2007317016A (ja) * 2006-05-26 2007-12-06 Nec Electronics Corp インタフェース回路及びメモリ制御装置
JP2008305450A (ja) * 2007-06-05 2008-12-18 Renesas Technology Corp テストシステムとテスト方法
JP2010152939A (ja) * 2008-12-23 2010-07-08 Renesas Electronics Corp 半導体装置とテスト方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR910009555B1 (ko) * 1989-01-09 1991-11-21 조경연 싱글 포트 듀얼 ram(spdram)
US5138619A (en) * 1990-02-15 1992-08-11 National Semiconductor Corporation Built-in self test for integrated circuit memory
US5488584A (en) * 1994-08-26 1996-01-30 Micron Technology, Inc. Circuit and method for externally controlling signal development in a serial access memory
US5568437A (en) * 1995-06-20 1996-10-22 Vlsi Technology, Inc. Built-in self test for integrated circuits having read/write memory
US5787097A (en) 1996-07-22 1998-07-28 Micron Technology, Inc. Output data compression scheme for use in testing IC memories
US6085346A (en) 1996-09-03 2000-07-04 Credence Systems Corporation Method and apparatus for built-in self test of integrated circuits
US5923675A (en) 1997-02-20 1999-07-13 Teradyne, Inc. Semiconductor tester for testing devices with embedded memory
US5913928A (en) * 1997-05-09 1999-06-22 Micron Technology, Inc. Data compression test mode independent of redundancy
US6085334A (en) * 1998-04-17 2000-07-04 Motorola, Inc. Method and apparatus for testing an integrated memory device
JP2001014890A (ja) 1999-06-30 2001-01-19 Mitsubishi Electric Corp 半導体装置および半導体装置のテスト方法
US20090100295A1 (en) 2000-01-06 2009-04-16 Super Talent Electronics, Inc. Reliable memory module testing and manufacturing method
CN1108556C (zh) * 2000-01-10 2003-05-14 深圳奥士达电子有限公司 理想数码速印机接口装置
US6928593B1 (en) 2000-09-18 2005-08-09 Intel Corporation Memory module and memory component built-in self test
US6424583B1 (en) 2000-11-30 2002-07-23 Taiwan Semiconductor Manufacturing Co., Ltd System and measuring access time of embedded memories
US6874107B2 (en) * 2001-07-24 2005-03-29 Xilinx, Inc. Integrated testing of serializer/deserializer in FPGA
US7099278B2 (en) 2001-08-10 2006-08-29 Broadcom Corporation Line loop back for very high speed application
JP3446124B2 (ja) 2001-12-04 2003-09-16 科学技術振興事業団 高速入出力装置を備えた半導体集積回路装置の試験方法及び試験装置
US7161964B2 (en) 2002-09-11 2007-01-09 Lucent Technologies Inc. Reconfigurable ADD/DROP, multiplexer/demultiplexer using a transceiver with loop-back function
US7028234B2 (en) * 2002-09-27 2006-04-11 Infineon Technologies Ag Method of self-repairing dynamic random access memory
US7184916B2 (en) 2003-05-20 2007-02-27 Cray Inc. Apparatus and method for testing memory cards
US7082557B2 (en) 2003-06-09 2006-07-25 Lsi Logic Corporation High speed serial interface test
US6925408B2 (en) * 2003-09-08 2005-08-02 Texas Instruments Incorporated Mixed-signal core design for concurrent testing of mixed-signal, analog, and digital components
US7526033B2 (en) 2005-02-04 2009-04-28 Agere Systems Inc. Serializer deserializer (SERDES) testing
JP4261515B2 (ja) 2005-06-27 2009-04-30 富士通マイクロエレクトロニクス株式会社 半導体メモリのバーンイン試験方法
US7616036B1 (en) * 2005-09-12 2009-11-10 Virage Logic Corporation Programmable strobe and clock generator
US7535242B2 (en) 2006-05-03 2009-05-19 Rambus Inc. Interface test circuit
KR100800472B1 (ko) 2006-06-23 2008-02-04 삼성전자주식회사 스택 패키지(stack package)용 반도체메모리장치 및 이의 독출 데이터 스큐 조절방법
US7793179B2 (en) 2006-06-27 2010-09-07 Silicon Image, Inc. Test clock control structures to generate configurable test clocks for scan-based testing of electronic circuits using programmable test clock controllers
US20080016421A1 (en) * 2006-07-13 2008-01-17 International Business Machines Corporation Method and apparatus for providing programmable control of built-in self test
US7403027B2 (en) * 2006-10-30 2008-07-22 Intel Corporation Apparatuses and methods for outputting signals during self-heat burn-in modes of operation
US7508724B2 (en) 2006-11-30 2009-03-24 Mosaid Technologies Incorporated Circuit and method for testing multi-device systems
US7676709B2 (en) 2007-03-23 2010-03-09 Texas Instruments Incorporated Self-test output for high-density BIST
CN101582045A (zh) 2008-05-16 2009-11-18 鸿富锦精密工业(深圳)有限公司 计算机测试系统及方法
US8386867B2 (en) * 2009-07-02 2013-02-26 Silicon Image, Inc. Computer memory test structure

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11296391A (ja) * 1998-04-09 1999-10-29 Sony Corp 半導体記憶装置
JP2006078447A (ja) * 2004-09-13 2006-03-23 Toshiba Corp テスト回路およびテスト方法
JP2007095276A (ja) * 2005-09-29 2007-04-12 Hynix Semiconductor Inc 直列入/出力インターフェスを有するマルチポートメモリ素子
JP2007317016A (ja) * 2006-05-26 2007-12-06 Nec Electronics Corp インタフェース回路及びメモリ制御装置
JP2008305450A (ja) * 2007-06-05 2008-12-18 Renesas Technology Corp テストシステムとテスト方法
JP2010152939A (ja) * 2008-12-23 2010-07-08 Renesas Electronics Corp 半導体装置とテスト方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013531329A (ja) * 2010-01-06 2013-08-01 シリコン イメージ,インコーポレイテッド コンピュータメモリデバイス及びシリアルioポートのマルチサイト検査
JP2017504905A (ja) * 2014-01-24 2017-02-09 クアルコム,インコーポレイテッド ダイナミックランダムアクセスメモリ(dram)システムの、ポート間ループバックを用いたメモリトレーニングの実施、ならびに関連する方法、システム、および装置

Also Published As

Publication number Publication date
WO2011002621A1 (en) 2011-01-06
TW201112257A (en) 2011-04-01
US8924805B2 (en) 2014-12-30
US20130173974A1 (en) 2013-07-04
US8386867B2 (en) 2013-02-26
US20140115414A1 (en) 2014-04-24
KR20120095842A (ko) 2012-08-29
US20110004793A1 (en) 2011-01-06
TWI512751B (zh) 2015-12-11
CN102473462A (zh) 2012-05-23
US8667354B2 (en) 2014-03-04
KR101714630B1 (ko) 2017-03-09
CN102473462B (zh) 2017-02-08
JP5651171B2 (ja) 2015-01-07
EP2449557A1 (en) 2012-05-09

Similar Documents

Publication Publication Date Title
JP5651171B2 (ja) コンピュータメモリテスト構造
TWI512454B (zh) 記憶體裝置、記憶體測試裝置、測試電腦記憶體裝置之方法及其電腦可讀媒體
JP5697833B2 (ja) インタフェース試験回路及び方法
US7984369B2 (en) Concurrent code checker and hardware efficient high-speed I/O having built-in self-test and debug features
US6977960B2 (en) Self test circuit for evaluating a high-speed serial interface
US7343535B2 (en) Embedded testing capability for integrated serializer/deserializers
JP5576880B2 (ja) 相互接続の故障テスト
JP2010511145A (ja) 確定および不定icデータ用の、パターン制御され、フルスピードate比較機能
US8954803B2 (en) Programmable test engine (PCDTE) for emerging memory technologies
EP1814234B1 (en) Concurrent code checker and hardware efficient high- speed I/O having built- in self- test and debug features
JP2006250824A (ja) 半導体集積回路およびその半導体集積回路におけるデータ解析方法
CN112925682B (zh) 具有内建自测试逻辑的测试装置及方法
KR20080019078A (ko) 순환 중복 검사를 이용한 테스트 방법 및 이를 이용하는디지털 장치
TWI805469B (zh) 半導體晶片及序列檢查電路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140128

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140228

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140911

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140919

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141114

R150 Certificate of patent or registration of utility model

Ref document number: 5651171

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees