分散された命令解読及び一般化された命令プロトコルを有するメモリ内蔵自己診断(BIST)アーキテクチャ
【課題】分散された命令解読及び一般化された命令プロトコルを有するメモリ内蔵自己診断(BIST)アーキテクチャ。
【解決手段】分散されたアルゴリズム解読を有する内蔵自己診断(BIST)アーキテクチャが説明される。本アーキテクチャは、概念の3つの階層:中央集中化されたBISTコントローラ、シーケンサの組、及びメモリ・インタフェースの組、を含む。BISTコントローラは、メモリ・モジュールの物理的特性又はタイミング要求条件に関係なく、メモリ・モジュールを試験するためのアルゴリズムを包括的に規定する命令の組を記憶する。シーケンサは、命令プロトコルに従って命令を解読し、メモリ動作の系列を発生する。メモリ・インタフェースは、例えば、命令により説明されたビット・パターンを実現するために、メモリ・モジュールの行列配置に基づいてアドレス信号及びデータ信号を変換することにより、メモリ・モジュールの物理的特性に従ってメモリ・モジュールにメモリ動作を適用する。命令プロトコルは、強力なアルゴリズムが多様な特性を有するメモリ・モジュールに適用されることができる非常に簡潔な方法で説明されることを可能にする。
【解決手段】分散されたアルゴリズム解読を有する内蔵自己診断(BIST)アーキテクチャが説明される。本アーキテクチャは、概念の3つの階層:中央集中化されたBISTコントローラ、シーケンサの組、及びメモリ・インタフェースの組、を含む。BISTコントローラは、メモリ・モジュールの物理的特性又はタイミング要求条件に関係なく、メモリ・モジュールを試験するためのアルゴリズムを包括的に規定する命令の組を記憶する。シーケンサは、命令プロトコルに従って命令を解読し、メモリ動作の系列を発生する。メモリ・インタフェースは、例えば、命令により説明されたビット・パターンを実現するために、メモリ・モジュールの行列配置に基づいてアドレス信号及びデータ信号を変換することにより、メモリ・モジュールの物理的特性に従ってメモリ・モジュールにメモリ動作を適用する。命令プロトコルは、強力なアルゴリズムが多様な特性を有するメモリ・モジュールに適用されることができる非常に簡潔な方法で説明されることを可能にする。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電子装置に関し、特に、電子装置における使用のための内蔵自己診断アーキテクチャに関する。
【背景技術】
【0002】
内蔵自己診断(built-in self-test)(BIST)ユニットは、現在、一般に、自身の機能性及び信頼性を試験するために、メモリ・チップ及び他の集積回路に組み込まれている。例えば、特定のメモリ・モジュールに組み込まれたBISTユニットは、あり得るいずれかのメモリ不良を検出するために、種々のデータ・パターンを関連するメモリ・モジュールに書き込み且つメモリ・モジュールから読み出すことにより動作する。書き込まれたデータと続いてメモリ・モジュールから返されたデータを比較することにより、BISTユニットは、メモリ・モジュールのいずれかのメモリ・セルが不良であるかどうかを決定することが可能である。
【0003】
一体型のBISTユニットは、一般的に、種々の事前決定された試験パターンを発生し、メモリ試験の結果に基づいて、出力信号を肯定的に明示し(assert)、又は否定的に明示する(deassert)。種々のアルゴリズムは、メモリ不良を検出するために使用されることができる。例えば、全て0、全て1の試験パターン、又は交互になった0と1を有する“チェッカーボード”パターンは、メモリ・セル全体に亘って書き込まれることができる。その上、データは、連続して増加する又は減少するアドレス指定方式のような、任意の順序でセルに書き込まれることができる。
【0004】
このようにして、BISTユニットは、一般的に、メモリ・モジュールを使用する又はそうでなければ組み込んでおり、且つチップ内回路要素の機能性を検証するためにある種の事前決定されたアルゴリズムに従って動作する多くの型の集積回路に含まれる。しかしながら、電子装置は、一般的に、1個のチップからなる内部回路要素より多くのものを具備する。通常、電子装置は、回路基板上に搭載された複数の集積回路チップ及びサポートする複数の構成要素から構成される。
【0005】
一般的な計算装置の複雑性が増加するとともに、メモリ・チップ及び他の集積回路の個数は、増加する。例えば、従来の計算装置は、一般的に、しばしば異なる型の複数のメモリ・モジュールを含む。1個の計算装置の内部のメモリ・モジュールは、ランダム・アクセス・メモリ(random access memory)(RAM)、リード‐オンリ・メモリ(read-only memory)(ROM)、フラッシュ・メモリ、ダイナミック・ランダム・アクセス・メモリ(dynamic random access memory)(DRAM)、及び同様なものの種々の組み合わせを含むことができる。これらの種々の型のメモリ・モジュールは、しばしば、様々な試験手順を必要とし、且つ異なるビット密度、アクセス速度、アドレス指定要求、アクセス・プロトコル、及び他の独自性を有する。その結果、一般的な計算装置は、各メモリ・モジュールに対してそれぞれのBISTユニットを有することができ、各BISTユニットは、関連するメモリ・モジュールを試験するために特殊化されることがある。
【発明の開示】
【0006】
[サマリー]
一般に言って、本開示は、1つ以上のメモリ・モジュールの動作を試験するための分散された、体系的内蔵自己診断アーキテクチャに向けられる。説明されたように、本アーキテクチャは、3つの階層の概念:中央集中化されたBISTコントローラ、シーケンサの組、及びメモリ・モジュールに接続されたメモリ・インタフェースの組、を含む。
【0007】
BISTコントローラは、メモリ・モジュールの試験に関する中央集中化された高‐レベルの制御を提供する。BISTコントローラは、メモリ・モジュールに適用するためにシーケンサに中央に記憶され且つ維持管理された試験アルゴリズムを伝達する。BISTコントローラは、本明細書中に説明された命令プロトコルに準拠する一般化された命令の組としてアルゴリズムを伝達する。その上、命令プロトコルは、アルゴリズムが任意のタイミング要求、物理的構成又はメモリ・モジュールの固有のインタフェース特性に関係なく包括的に規定することを可能にする。その結果、種々の試験アルゴリズムは、容易に規定されることができ、且つ必要に応じて電子装置全体に亘る配布のために集中して維持管理されることができる。この結果、共通の試験パターンは、メモリ・モジュールの内部に余分に記憶される必要がない。
【0008】
シーケンサは、第2の水準の概念を提供する。シーケンサは、1つ以上のメモリ・モジュールを含む装置ブロックの内部に分散される。このようにして、各シーケンサは、1つ以上のメモリ・モジュールと関連付けられる。シーケンサは、BISTコントローラから高‐レベルの命令を受け取る。命令に応答して、シーケンサは、命令を実行するためにそれぞれのメモリ・インタフェースに1つ以上のメモリ動作の系列(sequence)を発する。例えば、シーケンサは、BISTコントローラからの1つの命令に応答して、あるアドレスの範囲に連続してアクセスするように命令を発することができる。シーケンサは、BISTコントローラに試験の結果を報告する。
【0009】
シーケンサは、それぞれのメモリ・モジュールのタイミング特性に従って、動作の適用を制御する。例えば、シーケンサの各々は、それぞれのメモリ・モジュールのアクセス速度に従って、動作の系列の適用速度を制御する。1個のシーケンサは、共通のクロック・ドメイン上で動作する複数のメモリ・モジュールへの試験アルゴリズムの適用を制御することができる。したがって、適用タイミングを制御し且つ試験パターン・ドメインを順番に並べるための論理は、シーケンサの内部に組み込まれ、個々のメモリ・モジュールの内部に分散させられる必要がなく、又はBISTコントローラにより維持管理される必要もない。
【0010】
第3の階層、メモリ・インタフェースは、メモリ・モジュールの各々に関する特定のインタフェース要求を取り扱う。メモリ・インタフェースの各々は、特定の信号インタフェース要求及びそれぞれ1つのメモリ・モジュールの物理的特性に従って設計されることができる。各メモリ・インタフェースは、メモリ動作を制御しているシーケンサから受け取り、必要に応じてそれぞれのメモリ・モジュールの物理的特性に基づいて、関連するアドレス信号及びデータ信号を含む、メモリ動作を変換する。例えば、メモリ・インタフェースは、行方向に又は列方向にメモリを埋めるためにメモリ・モジュールの行及び列に基づいて、制御しているシーケンサにより供給されるアドレスを変換することができる。別の1つの例として、メモリ・インタフェースは、チェッカーボード・パターンのような、若しくは隣接する行又は列が反対のパターンを有する“裸にされた(striped)”行又は列のような、特定のビット・パターンを作り出すためにデータを変換することができる。
【0011】
1つの実施形態において、システムは、複数のメモリ・モジュールを試験するためのアルゴリズムを記憶する中央集中化された内蔵自己診断(BIST)コントローラを具備する、ここにおいて、本BISTコントローラは、命令プロトコルに準拠する一般化された命令の組としてのアルゴリズムを記憶する。システムは、更に、命令を解読し(interpret)、その命令をメモリ・モジュールに適用する複数の分散されたシーケンサを具備する。
【0012】
別の1つの実施形態において、装置は、一般化された命令プロトコルに準拠し且つ異なるタイミング要求及び物理的特性を有する複数の分散されたメモリ・モジュールを試験するためのBISTアルゴリズムを規定する命令を発するための中央集中化された内蔵自己診断(BIST)制御手段、及び命令を解読し且つメモリ・モジュールのタイミング要求及び物理的特性に従ってその命令をメモリ・モジュールに適用するための分散された手段、を具備する。
【0013】
別の1つの実施形態における方法は、中央集中化されたコントローラからそして複数のメモリ・モジュールを試験するために命令プロトコルに準拠する一般化された命令の形式でアルゴリズムを発すること、及び命令プロトコルに従って、1つ以上のメモリ動作の系列として命令を適用するために分散されたシーケンサの組を用いて命令を解読すること、を具備する。
【0014】
本明細書中に説明された技術は、1つ以上の利点を実現することができる。例えば、本技術は、種々の試験アルゴリズムが容易に規定され、そして一般化された命令の形式で集中して維持管理されることを可能にする。一般化された命令は、解読のため及びメモリ・モジュールへの適用のために、電子装置全体に亘って配置されたシーケンサに配布されることができる。その結果、共通の試験アルゴリズムは、メモリ・モジュールの内部に余分に記憶される必要がない。
【0015】
更に、本技術は、異なるメモリ・モジュールにアルゴリズムの同時適用を提供することができ、これは、全体的な試験時間を削減でき且つメモリ間効果に関してより完全に試験することができる。その上、本アーキテクチャの分散された、体系的特質は、本技術が既存のチップ設計に容易に適用されることを可能にできる。
【0016】
1つ以上の実施形態の詳細は、添付図面及び下記の明細書において言及される。他の特徴、目的、及び利点は、明細書及び図面から、並びに特許請求の範囲から明らかにされる。
【0017】
[詳細な説明]
図1は、分散された、体系的内蔵自己診断(BIST)アーキテクチャを有する一例の電子装置2を説明するブロック図である。特に、電子装置2は、装置ブロック6Aから6N(一括して、“装置ブロック6”)の試験について中央集中化された高‐レベルの制御を提供する内蔵自己診断(BIST)コントローラ4を含む。装置ブロック6の各々は、シーケンサ8、並びに1つ以上のメモリ・インタフェース10の組及び1つ以上のそれぞれのメモリ・モジュール12を含む。
【0018】
一般に、BISTコントローラ4は、装置ブロック6への適用のためにシーケンサ8に試験アルゴリズムを提供しそして伝達する。BISTコントローラ4は、包括的で柔軟な命令プロトコルに準拠する命令の組としてシーケンサ8にアルゴリズムの各々を伝達する。各命令は、メモリ・モジュール12の物理的特性及びタイミング要求に関係なく1つ以上のメモリ動作を規定するパラメータの組及び動作上の符号(operational code)を指定する。このようにして、命令プロトコルは、種々の試験アルゴリズムが容易に規定され、そして電子装置2全体に亘って配布されることを可能にする。したがって、BISTコントローラ4は、アルゴリズムの維持管理及び配布について中央集中化された制御を提供する。その結果、共通の試験アルゴリズムは、装置ブロック6の内部に余分に記憶される必要がない。
【0019】
シーケンサ8は、BISTコントローラ4により提供された試験アルゴリズムを解読しそして実行する。特に、シーケンサ8は、完全なBISTアルゴリズムを規定するBISTコントローラ4から高‐レベルの命令を受け取る。例えば、1個の命令は、1つ以上のアドレスの範囲に亘り書き込まれるべき特定のビット・パターンを規定することができる。命令に応答して、シーケンサ8の各々は、命令を実行するために、それぞれのメモリ・インタフェース10に1つ以上のメモリ動作の系列を発する。その上、シーケンサ8は、それぞれのメモリ・モジュール12のタイミング特性に従って、動作の適用を制御する。例えば、シーケンサ8の各々は、それぞれのメモリ・モジュール12のアクセス速度に従って、動作の系列の適用速度を制御する。1個のシーケンサ8、例えば、シーケンサ8Aは、共通のクロック・ドメイン上で動作する、1つ以上のメモリ・モジュール、例えば、メモリ・モジュール12Aへの試験アルゴリズムの適用を制御することができる。メモリ・モジュール12は、グループ化され、いずれかの種々の基準、例えば、メモリ・モジュールの各々に関するクロック・ドメイン及びメモリ・モジュールの任意の既存の体系又はグループ化、に基づいてそれぞれのシーケンサ8に割り当てられることができる。したがって、適用タイミングを制御するため及び共通のクロック・ドメイン上で動作しているメモリ・モジュール12に関する試験パターンを順番に並べることのための論理は、共通のシーケンサ8の内部に組み込まれることができ、個々のメモリ・モジュールの内部に分散される必要がない。
【0020】
メモリ・インタフェース10は、メモリ・モジュール12の各々に関する特定のインタフェース要求を取り扱う。例えば、メモリ・インタフェース10の各々は、メモリ・モジュール12のそれぞれ1つの物理的特性及び特定の信号インタフェース要求に従って、設計されることができる。その結果、メモリ・インタフェース10の各々は、各それぞれのメモリ・モジュール12に対する特定のインタフェース信号、例えば、アドレス信号、データ信号、及び制御信号、の周りのインタフェースを“取り巻くもの(wrapper )”を提供するように、見られることができる。このようにして、電子装置2のBISTアーキテクチャは、BISTコントローラ4、シーケンサ8、及びメモリ・インタフェース10を含む、3つの階層の分散された配置を具備する。
【0021】
メモリ・モジュール12は、ランダム・アクセス・メモリ(random access memory)(RAM)、リード‐オンリ・メモリ(read-only memory)(ROM)、フラッシュ・メモリ、ダイナミック・ランダム・アクセス・メモリ(dynamic random access memory)(DRAM)、SDRAM、RDRAM、DDR‐RAM、これらの組み合わせ、及びその他のような、任意の型のメモリであることができ、本明細書中に説明される技術は、この点については制限されない。その上、電子装置2は、搭載型の演算システム、コンピュータ、サーバ(server)、個人ディジタル補助装置(personal digital assistant)(PDA)、携帯型演算装置、携帯型通信装置、ディジタル記録装置、ネットワーク用特殊装置(network appliance)、携帯型位置決定装置、及びその他のような、メモリ・モジュールを組み込んだいずれかの装置であってもよい。
【0022】
図2は、BISTコントローラ4の一例の実施形態を説明するブロック図である。この図示された実施形態において、BISTコントローラ4は、N個の試験アルゴリズムの組を記憶するアルゴリズム・メモリ20を含む。下記に説明されるように、各アルゴリズムは、2進命令の組に従って規定される。1つの実施形態において、例えば、完全なアルゴリズムは、32ビット命令の組により指定されることができ、ここで、この命令は、メモリ・モジュール12の機能性を試験するために、装置ブロック6(図1)のアドレス範囲に亘って1つ以上のメモリ動作の系列を実行するために必要な全てのパラメータを規定する。
【0023】
ユーザ・インタフェース22は、外部の試験装置からの制御信号のような、外部の入力に応答してアルゴリズム・コントローラ26を呼び出す(invoke)。あるいは、アルゴリズム・コントローラは、電子装置2の電源投入と同時に自動的に呼び出されることができる。一旦、呼び出されると、アルゴリズム・コントローラ26は、アルゴリズム・メモリ20の内部に記憶されたアルゴリズムの1つを選択するために、アルゴリズム選択信号(ALG_SELECT)をマルチプレクサ24に与える。一旦、選択されると、選択されたアルゴリズムを具備する2進命令のストリーム(stream)は、命令データ(CMD_DATA)として装置ブロック6に適用される。
【0024】
アルゴリズム・コントローラ26は、装置ブロックの各シーケンサ8から受信された受領信号(SEQ_ACK)に基づいて、装置ブロック6へのアルゴリズムの配信を制御する。特に、アルゴリズム・コントローラ26は、複数のシーケンサ8に選択されたアルゴリズムの各命令を順番に配信し、シーケンサ8の各々から受領信号を受け取ると、1つの命令から次の命令へ進む。このようにして、アルゴリズム・コントローラ26は、各シーケンサ8が次の命令に進む前に、メモリ・インタフェース10を介してメモリ・モジュール12への現在の命令の適用を完了したことを保証する。アルゴリズム・コントローラ26は、装置ブロック6、及び特に、電子装置2の内部に存在するシーケンサ8の個数を設定するために、プログラム的に又は静的に構成されることができる。付け加えると、アルゴリズム・コントローラ26は、装置ブロック6の任意の組み合わせを使用するメモリ・モジュール12の1つの、全ての、又は任意の組み合わせに所定のアルゴリズムを適用するようにプログラム的に構成されることができる。
【0025】
アルゴリズム・メモリ20に記憶されたアルゴリズムに加えて、ユーザ・インタフェース22は、外部の入力を介してアルゴリズムをプログラム可能に受け取ることができる。ユーザ・インタフェース22は、記憶されたアルゴリズムの形式、即ち、その2進命令の中で各命令がアルゴリズム全体の中で試験を規定する2進命令の系列、と同様な形式で、マルチプレクサ24に受信されたアルゴリズムを配信する。このようにして、BISTコントローラ4は、中央集中化された、3つの階層の第1の階層の分散された自己診断アーキテクチャを提供する。
【0026】
図3は、包括的なBISTアルゴリズムの1個の命令に関する、BISTコントローラ4とシーケンサ8との間の伝達を更に説明するタイミング図である。図示されるように、時刻T1で、BISTコントローラ4は、命令要請(CMD_REQ)相互接続を肯定的に明示し(assert)、且つCMD_DATA相互接続上でアルゴリズムの現在の命令を伝達する。
【0027】
命令を受け取り且つ適用すると、シーケンサ8は、対応するSEQ_ACK信号を肯定的に明示する。例えば、図示された例において、シーケンサ8の各々は、それぞれ時刻T2、T3、T4及びT5において、それぞれの信号SEQ_ACK[1]、SEQ_ACK[2]、SEQ_ACK[N]及びSEQ_ACK[0]を、肯定的に明示する。応答では、BISTコントローラ4は、時刻T6において、命令要請(CMD_REQ)信号を否定的に明示し(de-assert)、シーケンサ8にそれぞれのSEQ_ACK信号を否定的に明示させる。BISTコントローラ4は、全てのSEQ_ACK信号が否定的に明示されたとき、SEQS_DONE信号を肯定的に明示し、時刻T7において、BISTコントローラ4が別の1つの命令を開始することを可能にする。
【0028】
図4は、より詳細な、装置ブロック、例えば、装置ブロック6Aの一例の実施形態を説明するブロック図である。図示されるように、装置ブロック6Aは、シーケンサ8A、1組のメモリ・インタフェース10A‐10C(一括して、“メモリ・インタフェース10”)、及び1組のメモリ・モジュール12A‐12C(一括して、“メモリ・モジュール12”)を含む。図4に図示されるように、メモリ・インタフェース10の各々は、それぞれのメモリ・モジュール12に対応する。シーケンサ8Aは、制御されるべきメモリ・インタフェース10の個数、同様に、メモリ・モジュール12の中の最大のものに関する特性、例えば、最大のアドレスを設定するようにプログラム的に及び/又は静的に構成されることができる。
【0029】
図5は、より詳細な、シーケンサ、例えば、シーケンサ8A、の一例の実施形態を説明するブロック図である。シーケンサ8Aは、一括してBISTアルゴリズムを規定するBISTコントローラ4から高‐レベルの命令を受け取る。下記に詳細に説明されるように、BISTコントローラ4は、包括的で、柔軟なフォーマットで命令を発し、そして1個の命令は、1つ以上のアドレスの範囲に亘って書き込まれるべき特定のビット・パターンを規定することができる。
【0030】
一般に、シーケンサ8Aは、包括的なBIST命令を受け取り、それぞれのメモリ・モジュールの組に適用された1つ以上のメモリ動作の系列として各命令の適用を制御する。図示された実施形態において、シーケンサ8Aは、BISTコントローラ4から命令データ(CMD_DATA)を受け取る命令パーザ(command parser)(CMD PARSER)30を含む。命令パーザ30は、例えば、命令により指定された動作上の符号(op‐code)を識別することにより、指定された動作を識別するために受信された命令を処理する。
【0031】
指定された動作に基づいて、命令パーザ30は、命令から1つ以上のパラメータを抽出することができ、対応する命令コントローラ(CMD CONTROLLER)34A‐34Nの1つを選択することができる。換言すれば、命令コントローラ34の各1つは、CMD_DATAにより指定されることができる異なる命令に対応する。命令パーザ30は、選択された命令コントローラ34を呼び出し、受信された命令から抽出されたパラメータを渡す。別々に図示されているが、命令コントローラ34は、サポートされた命令の各々を実行するための論理を有する1個の機能ブロックに統合され及び/又は集積されることができる。
【0032】
各命令に応答して、呼び出された命令コントローラ34の1つは、各メモリ・インタフェース10に1つ以上の動作の系列を発する。特に、呼び出された命令コントローラ34の1つは、その系列の各動作を実行するために、適切な命令制御信号(CMD_CTRL_SIGNALS)を順番に駆動する。下記に更に説明されるように、命令制御信号は、受け取る側のメモリ・インタフェース10にメモリ・アドレス及びデータを与えるための信号、並びにビットを反転させるため、読み出し動作又は書き込み動作を実行するため、行を反転させるため、及びその他を行うために、受け取る側のメモリ・インタフェースを管理するための信号、を含むことができる。
【0033】
その上、命令コントローラ34は、それぞれのメモリ・モジュール12のタイミング特性に従って、動作の適用を制御する。したがって、共通のクロック・ドメイン上で動作するメモリ・モジュール12に関する動作の順番に並べるため及び適用タイミングを制御するための論理は、共通シーケンサ8の内部に組み込まれることができ、個々のメモリ・モジュールの内部に配布される必要はない。
【0034】
シーケンサ8Aは、例えば、MEM[0]_DOUTからMEM[N]_DOUT全体に亘る信号を介して、試験されたメモリ・モジュール12からデータを受け取り、BISTコントローラ4に戻す又はマルチプレクサ37を介して外部の装置に戻すデータ及びデータ選択信号39を選択的に伝達する。このようにして、シーケンサ8は、どのような不良も識別するためにデータの解析を可能にする。
【0035】
このようにして、シーケンサ8は、BISTコントローラ4が包括的で柔軟な命令フォーマットを使用して、アルゴリズムの記憶及び発行を集中的に管理することを可能にする。シーケンサ8は、命令プロトコルに従って包括的なBIST命令を受け取り、それぞれのメモリ・モジュール12の組への適用に関する1つ以上のメモリ動作の系列を発生させ且つ発することにより、命令の適用を制御する、これにより、分散された階層的な自己診断アーキテクチャの第2の階層を提供する。
【0036】
図6は、それぞれのメモリ・モジュール12に関する特定のインタフェース要求を取り扱うことにより、分散されたBISTアーキテクチャの概念の最終の層を提供するメモリ・インタフェース41の一例の実施形態を説明するブロック図である。
【0037】
図示された実施形態において、メモリ・インタフェース41は、電子装置2がBISTモードで動作しているときに、メモリ・モジュール12を通常の機能性から隔離するマルチプレクサ45、46の層を含む。特に、通常の動作条件下で、BISTイネーブル(BIST_EN)は、否定的に明示され、例えば、プログラム可能なプロセッサにより与えられるように、アドレス信号/制御信号(ADDR/CTRL)及びデータ信号(DATA)をマルチプレクサ45、46に選択させる。電子装置2がBISTモードで動作している場合、BISTイネーブル信号は、マルチプレクサ45、46が、それぞれのより高い‐水準のシーケンサにより与えられるBISTアドレス信号/制御信号(BIST_ADDR/CTRL)及び試験データを選択するようにさせる。このようにして、シーケンサは、それぞれのメモリ・モジュールを選択的に隔離するためにメモリ・インタフェース41のマルチプレクサ45、46を制御する、これにより、BISTアルゴリズムがそのメモリ・モジュールに適用されることを可能にする。
【0038】
メモリ・インタフェース41は、更に、シーケンサ8により与えられるように、BIST_DATA信号及びデフォルト・データ(DEFAULT_DIN)を受け取るデータ発生ユニット44を含み、シーケンサにより与えられる制御信号(BIST_DATA_GEN_CTRL)及び対応するメモリ・モジュール12の特定の物理的特性に基づいて、変換されたBISTデータ信号49(BIST_DATA_T)を発生する。より具体的に言うと、下記に更に詳細に説明されるように、データ発生ユニット44は、アルゴリズムの各動作の期間に、メモリ入力に適用された正確なデータ(RAM_DIN)を発生する。データ発生ユニット44は、それぞれのメモリ・モジュール12の物理的構成、例えば、物理的な行及び列構成、に基づいて、同様にシーケンサ8Aにより指定された例えば、チェッカーボード、反転された、その他の、ビット・パターンに基づいて、変換されたBISTデータを発生する。
【0039】
例えば、シーケンサ8は、メモリ・モジュール内部のデータの列が1と0との間を交互にかわることを必要とするチェッカーボード・ビット・パターンを要請することができる。しかしながら、異なるメモリ・モジュール12は、異なる行及び列構成で配置されることがある。その結果、所定のアドレスに対するメモリ・セルは、異なる行−列構成を有するメモリ・モジュール12に対して異なる行及び列に配置されることがあり得る。例えば、256ビット・メモリ・モジュール12は、128行及び2列、32行×8列、16行×16列、及びその他、のように配置されることができる。その結果、この行列の全体に亘り、チェッカーボードのような特定のパターンを書き込むことは、メモリ・モジュールの固有の行−列構成の知識を必要とする。下記に更に詳細に説明されるように、データ発生ユニット44は、シーケンサ8により与えられたデータを処理し、必要に応じて、所望のビット・パターンが正確に書き込まれることを確実にするために、そのデータを変換する、例えば、データを反転する。
【0040】
同様に、アドレス発生ユニット42は、シーケンサ8Aにより指定されたアドレス指定要求に基づいて、並びにメモリ・モジュールの行及び列の物理的構成に基づいて、メモリ・モジュール12に適用されるアドレスを発生する。例えば、ある複数のBIST試験において、シーケンサ8Aは、行(又は列)第1様式で、BISTデータを書き込むようにメモリ・インタフェース41に命令する、即ち、次の行(又は列)に進む前に各行(又は列)が完全に書き込まれることを必要とする。これらの要求条件が、行及び列構成に特有であるので、アドレス発生ユニット42は、処理する前に、シーケンサ8Aにより与えられたアドレスを全体の行(又は列)を移動するように適切なものに変換する。
【0041】
その結果、シーケンサは、それぞれの命令により規定され、そのシーケンサと関連する最大の大きさのメモリ・モジュールにより制限されたアドレス空間を順番に移動することにより動作を発することが可能である。各メモリ・インタフェース、例えば、メモリ・インタフェース41は、必要に応じて、適切なメモリ・セルに動作を適用するために、受信されたアドレスを変換する。例えば、列第1BISTアルゴリズムに関して、シーケンサ8は、順を追って複数のアドレスに動作を発し、他方において、アドレス発生ユニット42は、メモリ・モジュール12の列に沿ったようになるようにメモリ・セルにアクセスするために受信されたアドレスを計算により変換する。この例において、アドレス発生ユニット42は、シーケンサ8がアドレス空間を増加させているか又は減少させているかどうかに基づいて、最も重要でない列から最も重要な列まで列方向の様式で、メモリ・モジュール12をアクセスするためにアドレスを変換する。
【0042】
コンパレータ48は、メモリ・モジュール12から読み出されたデータ(RAM_DOUT)が、予期されたように、メモリ・モジュールのそのアドレスに最後に書き込まれたデータに等しいかどうかを決定する。比較が不合格である場合、即ち、メモリ・モジュール12から読み出されたデータが、以前に書き込まれたデータに等しくないとき、コンパレータ48は、メモリ・エラーが検出されたことを表示するために、BIST_FAIL信号を肯定的に明示する。
【0043】
このようにして、メモリ・インタフェース41は、高次‐水準のシーケンサにより発せられた連続したメモリ動作を処理し、メモリ・モジュールの特定の物理的特性に基づいて、必要に応じて、シーケンサにより与えられたデータ及びアドレスを変換する、これにより、分散された階層的自己診断アーキテクチャの第3の階層を提供する。その結果、シーケンサは、各メモリ・モジュール12の物理的特性及び容量に関する詳細な知識を必要とすることなく、複雑なBISTアルゴリズムに関する動作を発することが可能である。
【0044】
図7は、データ発生ユニット44(図6)の一例の実施形態を説明するブロック図である。図示された実施形態において、データ発生ユニット44は、シーケンサ8により与えられるBIST_DATA信号、デフォルト・データ信号(DEFAULT_DIN)を受け取る。その上に、データ発生ユニット44は、BIST_INVERT_BITS、BIST_INVERT_ROWS、LSB_ROW_ADDER、及びBIST_WRITEの形式で複数の制御信号を受け取る。受信されたデータ及びこれらの制御信号に基づいて、データ発生ユニット44は、シーケンサ8により与えられた制御信号(BIST_DATA_GEN_CTRL)及び対応するメモリ・モジュール12の特定の物理的特性に基づいて、変換されたBISTデータ信号49(BIST_DATA_T)を発生する。
【0045】
特に、シーケンサ8は、連続データ・パターン、チェッカーボード・データ・パターン、水平ストライプ・データ・パターン及び垂直ストライプ・データ・パターンのような、データ・パターンを指定するために、反転ビット信号(BIST_INVERT_BITS)、反転行信号(BIST_INVERT_ROWS)、及び反転列信号(図示されていない)を肯定的に明示し、そして否定的に明示する。反転ビット又は反転行信号がどちらも肯定的に明示されないならば、BIST_DATA信号は、修正なしでXORゲート52、54を通過する。その結果、データ発生ユニット44は、修正なしでシーケンサ8から指示されたデータでメモリ・モジュール12を満たすために、変換されたデータ信号49(BIST_DATA_T)を発生する。
【0046】
BIST_INVERT_ROW信号が設定されるならば、データ発生ユニット44は、最も重要でない(最下位)行アドレス・ビット(LSB_ROW_ADDR)により指示されるように、行が横切られるたびに、値を反転させる。その結果、ANDゲート50は、XORゲート52にシーケンサにより指示された値を反転させる、これにより、隣接する行に書き込まれる値を反転させる。同様な機能性は、列が横切られるときに、値を反転させるように与えられることができる。BIST_INVERT_BITS信号が肯定的に明示されるとき、データ発生ユニット44は、シーケンサにより指示された値を自動的に反転させる。これは、異なる行列の対応する複数のセル間の値を反転させる際に有用である。
【0047】
DEFAULT_DINフィールドは、メモリ・モジュール12に対する読み出し動作の間にメモリ・モジュールに適用されるデフォルト・データ値を設定する。マルチプレクサ56は、BIST_WRITE信号により指示されるように、書き込み動作又は読み出し動作が実行されているかどうかに基づいて、DEFAULT_DINデータとXORゲート54により発生されたデータとの間で選択する。
【0048】
図8は、BISTコントローラ4により発せられた命令の一例のデータ構造を説明するブロック図である。図示された実施形態において、命令60は、シーケンサ識別子(identifier)(ID)62、及びペイロード64を含む。下記に更に詳細に説明されるように、シーケンサID62は、それに対して命令60が発せられようとしているシーケンサ、例えば、シーケンサ8Aを識別する。
【0049】
BISTコントローラ4は、全てのシーケンサ8に命令を同報配信(broadcast )する、又はシーケンサの特定の1つにユニキャスト(unicast)様式で命令を発することができる。特に、BISTコントローラ4は、シーケンサ8の1つがそのシーケンサにユニキャスト命令を送るために、シーケンサID62を固有の識別子に設定する。同報配信命令に関して、BISTコントローラ4は、シーケンサID62を、0×0のような同報配信識別子に設定する。
【0050】
命令60のペイロード64は、命令それ自身を規定する2進データを搬送する。特に、ペイロード64は、動作上の符号(OP CODE)66及び1組のパラメータ68を含む。一般に、OP CODE66は、受け取る側のシーケンサ8により実行されるべき特定の機能を指定する。次の表は、動作上の符号の例示的な組を列挙する。
【表1】
【0051】
1つの実施形態において、OP CODE66及びパラメータ68は、それぞれ、3ビット及び29ビットを具備し、32ビット命令を形成する。パラメータ68の形式及び意味は、OP CODE66により指定されるように、命令の型に依存する。
【0052】
図9Aは、RESET命令に関するパラメータ68の一例のデータ構造を図示する。図示されるように、パラメータ68の問題とされるビットはビット28だけであり、そしてそれは、BISTモードを選択的に使用可能にする及び使用禁止にするために、肯定的に明示される又は否定的に明示されることができる。肯定的に明示されたとき、受け取る側のシーケンサ8は、それぞれの装置ブロック6を試験するために、試験アルゴリズムを適用するためのモードに入る。否定的に明示されたとき、受け取る側のシーケンサは、現在のアルゴリズムをリセットし、終了する。
【0053】
図9Bは、EXECUTE命令に関するパラメータ68の一例のデータ構造を図示する。図示されるように、EXECUTE命令に関して、パラメータ68は、それぞれのメモリ・モジュール12の固有のタイミング特性に従って、アドレスの範囲に亘りメモリ動作の系列を適用するように受け取る側のシーケンサ8を管理する。
【0054】
一旦、受け取られると、デフォルトにより、シーケンサ8は、それぞれの装置ブロックの内部の最大のメモリ・モジュール12のアドレス範囲に亘り指定されたメモリ動作を反復して実行する。しかしながら、SINGLE ROW(SR)ビットが使用可能にされるならば、シーケンサ8は、行アドレスを一定に維持管理しながら、最大列ビット選択権を有するメモリ・モジュール12の全ての列に対して規定されたメモリ動作の系列を実行する。
【0055】
メモリ動作の系列を適用する場合に、シーケンサ8は、パラメータ68のADD INC/DECビットの状態に基づいて、それぞれの装置ブロック6の内部のメモリ・モジュール12の中の最大のものによりサポートされるアドレス範囲にわたり増加させるか又は減少させるかのどちらかである。例えば、ADD INC/DECが肯定的に明示されるならば、シーケンサ8は、0から始まり最大のアドレスに進む各アドレスに規定されたメモリ動作を適用する。しかしながら、ADD INC/DECが否定的に明示されるならば、シーケンサ8は、最大のアドレスから始まり0に減少する各アドレスに規定されたメモリ動作を適用する。DEF DINフィールドは、メモリ・モジュールに対する読み出し動作の間に、メモリ・モジュール12に適用されるデフォルト・データ値を設定する。
【0056】
リプリング行(rippling row)(RR)フィールドは、列方向様式で、即ち、次の列に進む前に全体の列に動作を適用することにより、規定されたメモリ動作を適用するようにシーケンサ8を管理する。換言すれば、シーケンサ8の各々は、メモリ動作を適用しながら且つ行アドレスを“リプリング”させながら、列アドレスを一定に保持する。
【0057】
反転ビット(invert bit)(IB)フィールド、反転行(invert row)(IR)フィールド、及び反転列(invert column)(IC)フィールドは、連続データ・パターン、チェッカーボード・データ・パターン、水平ストライプ・データ・パターン及び垂直ストライプ・データ・パターンのような、メモリ・モジュール12を試験するためのデータ・パターンを指定するために使用されることができる。より具体的には、BISTコントローラ4がIR及びICフィールドのどちらをも設定しないならば、受け取る側のシーケンサ8は、シーケンサから指令された値でメモリ・モジュールを埋めるようにメモリ・インタフェース10を管理する。IRフィールドが設定されるならば、シーケンサ8により指令された値は、隣接する行に書き込まれた値を反転させてしまう。同様に、ICフィールドが設定されるならば、シーケンサ8により指令された値は、隣接する列に書き込まれた値を反転させてしまう。その結果、IRフィールドとICフィールドの両方が設定されるならば、値は、メモリ・モジュールの内部でチェッカーボード・パターンを作り出すように、各列の間で且つ各行の間で反転させられる。最終的に、上に説明されたように、所定のメモリ・モジュール12は、1つより多い行列として構成されることができる。反転ビット(IB)フィールドが設定されるならば、メモリ・インタフェース10は、異なる行列の対応するセルの間で、シーケンサ8により指令された値を自動的に反転させる。
【0058】
動作フィールド(OP1−OP8)は、各メモリ・アドレスに適用されるべき動作の組を規定するために使用されることができる。例えば、OP1のような、各動作フィールドは、2ビットを具備する。第1番目のビットは、動作が読み出しであるか又は書き込みであるかどうかを指示するために、肯定的に明示される又は否定的に明示されることができる。第2番目のビットは、書き込まれるべきデータ、即ち、0又は1、に基づいて設定されることができる。動作の個数(NUM OPS)フィールドは、各メモリ・アドレスへの適用のために、幾つのの動作が規定されたかについて、シーケンサ8を指示する。このようにして、1個の命令は、全体のBISTアルゴリズムの内部でステップを包括的に規定するために使用されることができ、各ステップは、受け取る側のシーケンサ8の装置ブロック6を用いて、メモリ・モジュール12の各アドレスに適用されるように1つ以上の動作を規定することができる。
【0059】
図9Cは、TEST MEM命令のためのパラメータ68の一例のデータ構造を図示する。この命令に関して、パラメータ68は、故障解析命令として及びBIST命令としてTEST MEM命令を解読するためのFA/BISTビットを含む。故障解析命令に設定されたとき、MEM IDフィールドにより指定された値は、故障解析のためにメモリ・モジュール12の特定の1つのデータ出力を選択するために、受け取る側のシーケンサ8により使用される。BIST命令に設定されたとき、MEM IDフィールドにより指定された値は、特定の試験の内部への参画のためにメモリ・インタフェース10の特定の1つのデータ出力を選択するために、受け取る側のシーケンサ8により使用される。このようにして、アルゴリズムは、装置ブロック6の内部の個々のメモリ・モジュール12に選択的に適用されることができる。MEM BUS SLICEフィールドは、メモリ・モジュール12からの多重化されたデータ・バスのどの部分が故障解析のために使用されるかを指示するために使用される。
【0060】
図9Dは、SET ADDRESS命令のためのパラメータ68の一例のデータ構造である。この命令に関して、パラメータ68は、BISTステップの適用のために特定のメモリ・アドレスを設定するアドレス・フィールド(ADDRESS)を含む。これは、SINGLE WORD ACCESS命令と結合することで有用であることがある。パラメータ68は、試験アルゴリズムに関する最大のアドレス制限を指定するための制限(LIMIT)フィールドも含む。1つの実施形態において、LIMITフィールドは、下記に制限を設定するための2ビット・データ・フィールドを具備する:(1)装置ブロック6の最大のメモリ・モジュール12の最大アドレス、(2)2により除算された最大アドレス、(3)4により除算された最大アドレス、及び(4)8により除算された最大アドレス。
【0061】
図9Eは、SINGLE WORD ACCESS命令のためのパラメータ68の一例のデータ構造である。この命令に関して、パラメータ68は、受け取る側のシーケンサ8が、ステップを適用した後それぞれの現在のBISTアドレスを変更すべきかどうかを制御する使用可能アドレス変更(enable address change )(ENADC)ビットを含む。もし、使用可能にされたならば、アドレス増加/減少(ADD INC/DEC)ビットは、現在のBISTアドレスが増加されるべきか又は減少されるべきかどうかを制御する。反転ビット(IB)フィールド、反転行(IR)フィールド、及び反転列(IC)フィールドは、EXECUTE命令に関して上記に説明されたように、連続データ・パターン、チェッカーボード・データ・パターン、水平ストライプ・データ・パターン及び垂直ストライプ・データ・パターンのような、メモリ・モジュール12を試験するためのデータ・パターンを指定するために使用されることができる。データ・フィールド(DATA)は、試験されたメモリ・モジュール12の読み出し動作のための入力データに関するデフォルト値を供給するために使用される。
【0062】
表2は、説明された命令プロトコルに従ってBISTコントローラにより記憶され且つ発せられる一例のチェッカーボードBISTアルゴリズムを例証する。例証されるように、比較的複雑なチェッカーボード・メモリ試験アルゴリズムは、命令プロトコルを使用して、僅か4つの命令で説明されることができる。
【表2】
【0063】
表3は、説明された命令プロトコルに従ってBISTコントローラ4により記憶され且つ発せられた“ブランケット・マーチ(Blanket March )”BISTアルゴリズムの例を例証する。例証されるように、このメモリ試験アルゴリズムは、命令プロトコルを使用して、僅か6つの命令で説明されることができる。命令の各々は、規定された方向にメモリ空間全体を横断するメモリ動作の系列を発行するように、受け取る側のシーケンサ8に指示する。その上、命令の幾つかは、シーケンサが利用可能なメモリ空間の内部の各アドレスに複数のメモリ動作を適用するように管理する。このようにして、複雑なBISTアルゴリズムは、階層的自己診断アーキテクチャの構成要素(constituent components)により、全体に亘って容易に配布され且つ適用されることができる。
【表3】
【0064】
図10は、電子装置2、及び、特に、BISTコントローラ4、シーケンサ8、及びメモリ・インタフェース10の分散された、3階層の自己診断アーキテクチャの動作例を説明するフローチャートである。
【0065】
最初に、BISTコントローラ4は、内部アルゴリズム・メモリ、例えば、アルゴリズム・メモリ20の内部に記憶されたアルゴリズムの1つを選択する(70)。アルゴリズムを選択すると、BISTコントローラ4は、1つ以上のシーケンサ8にアルゴリズムにより規定された第1番目の命令を発する(72)。
【0066】
各受け取る側のシーケンサ8は、規定された動作符号及び対応するパラメータを識別するために命令を解析する(78)。メモリ・アクセス命令に関して、各受け取る側のシーケンサ8は、命令により規定される開始アドレスを初期化する(80)。次に、シーケンサ8は、メモリ動作を発する、即ち、適切なアドレス信号、データ信号及び制御信号を発生する(82)。
【0067】
順番に、各受け取る側のメモリ・インタフェース10は、各それぞれのメモリ・モジュール12の物理的特性に基づいてデータ及びアドレス信号を変換し(92、94)、変換された信号をメモリ・モジュールに適用する(96)。更に、読み出しメモリ・アクセスに関して(97)、メモリ・インタフェース10は、それぞれのメモリ・モジュールから読み出されたデータを予期されたデータと自動的に比較する(98)。比較に基づいて、メモリ・インタフェース10は、試験されたメモリ・モジュール12の状態(status)を報告するためにそれぞれのBIST故障信号を更新する(100)。
【0068】
一旦、メモリ動作がメモリ・インタフェース10により発せられると、シーケンサ8は、追加の動作が系列の内部の現在のメモリ・アドレスに適用されようとしているかどうかを決定する(84)。もしそうであれば、シーケンサ8は、同様な様式でメモリ・インタフェース10に命令を発する(82)。追加の動作が必要とされないならば、シーケンサ8は、アドレスを更新し(86)、命令により規定された全体のアドレス範囲が順番に並べられていたかどうか、又は追加のアドレスが残っているかどうか、を決定する(88)。全体のアドレス範囲が順番に並べられていて、メモリ動作が範囲の内部のアドレスに適用されている場合、シーケンサ8は、BISTコントローラ4に受領信号を発する(90)。
【0069】
命令を用いて目的とされたシーケンサ8の各々から受領を受け取ると(74)、BISTコントローラ4は、選択されたアルゴリズムに対する最後の命令が発せられたかどうかを決定する。もしそうでなければ、BISTコントローラ4は、処理を繰り返し、追加の命令を発行する(72)。一旦、全ての命令がシーケンサ8及びメモリ・インタフェース10により発せられ、適用されると(76)、BISTコントローラ4は、現在のBIST試験を終了する。
【0070】
種々の実施形態が、説明されてきた。これら及び他の実施形態は、特許請求の範囲内である。
【図面の簡単な説明】
【0071】
【図1】図1は、分散された、体系的内蔵自己診断(BIST)アーキテクチャを有する電子装置の一例を説明するブロック図である。
【図2】図2は、BISTコントローラの一例の実施形態を説明するブロック図である。
【図3】図3は、包括的BISTアルゴリズムの1つの命令に関して、BISTコントローラとシーケンサの組との間の伝達を更に説明するタイミング図である。
【図4】図4は、装置ブロックの一例の実施形態を説明するブロック図である。
【図5】図5は、シーケンサの一例の実施形態を説明するブロック図である。
【図6】図6は、メモリ・インタフェースの一例の実施形態を説明するブロック図である。
【図7】図7は、データ発生ユニットの一例の実施形態を説明するブロック図である。
【図8】図8は、BISTコントローラにより発せられた命令の一例のデータ構造を説明するブロック図である。
【図9A】図9Aは、本明細書中で説明される命令プロトコルに従う例示的データ構造を図示する。
【図9B】図9Bは、本明細書中で説明される命令プロトコルに従う例示的データ構造を図示する。
【図9C】図9Cは、本明細書中で説明される命令プロトコルに従う例示的データ構造を図示する。
【図9D】図9Dは、本明細書中で説明される命令プロトコルに従う例示的データ構造を図示する。
【図9E】図9Eは、本明細書中で説明される命令プロトコルに従う例示的データ構造を図示する。
【図10】図10は、分散された、3階層自己診断アーキテクチャの動作の例を説明するフローチャートである。
【符号の説明】
【0072】
24…マルチプレクサ、37…マルチプレクサ、39…データ選択信号、45…マルチプレクサ、46…マルチプレクサ、49…BISTデータ信号、50…ANDゲート、52…XORゲート、54…XORゲート、56…マルチプレクサ、60…命令、68…パラメータ。
【技術分野】
【0001】
本開示は、電子装置に関し、特に、電子装置における使用のための内蔵自己診断アーキテクチャに関する。
【背景技術】
【0002】
内蔵自己診断(built-in self-test)(BIST)ユニットは、現在、一般に、自身の機能性及び信頼性を試験するために、メモリ・チップ及び他の集積回路に組み込まれている。例えば、特定のメモリ・モジュールに組み込まれたBISTユニットは、あり得るいずれかのメモリ不良を検出するために、種々のデータ・パターンを関連するメモリ・モジュールに書き込み且つメモリ・モジュールから読み出すことにより動作する。書き込まれたデータと続いてメモリ・モジュールから返されたデータを比較することにより、BISTユニットは、メモリ・モジュールのいずれかのメモリ・セルが不良であるかどうかを決定することが可能である。
【0003】
一体型のBISTユニットは、一般的に、種々の事前決定された試験パターンを発生し、メモリ試験の結果に基づいて、出力信号を肯定的に明示し(assert)、又は否定的に明示する(deassert)。種々のアルゴリズムは、メモリ不良を検出するために使用されることができる。例えば、全て0、全て1の試験パターン、又は交互になった0と1を有する“チェッカーボード”パターンは、メモリ・セル全体に亘って書き込まれることができる。その上、データは、連続して増加する又は減少するアドレス指定方式のような、任意の順序でセルに書き込まれることができる。
【0004】
このようにして、BISTユニットは、一般的に、メモリ・モジュールを使用する又はそうでなければ組み込んでおり、且つチップ内回路要素の機能性を検証するためにある種の事前決定されたアルゴリズムに従って動作する多くの型の集積回路に含まれる。しかしながら、電子装置は、一般的に、1個のチップからなる内部回路要素より多くのものを具備する。通常、電子装置は、回路基板上に搭載された複数の集積回路チップ及びサポートする複数の構成要素から構成される。
【0005】
一般的な計算装置の複雑性が増加するとともに、メモリ・チップ及び他の集積回路の個数は、増加する。例えば、従来の計算装置は、一般的に、しばしば異なる型の複数のメモリ・モジュールを含む。1個の計算装置の内部のメモリ・モジュールは、ランダム・アクセス・メモリ(random access memory)(RAM)、リード‐オンリ・メモリ(read-only memory)(ROM)、フラッシュ・メモリ、ダイナミック・ランダム・アクセス・メモリ(dynamic random access memory)(DRAM)、及び同様なものの種々の組み合わせを含むことができる。これらの種々の型のメモリ・モジュールは、しばしば、様々な試験手順を必要とし、且つ異なるビット密度、アクセス速度、アドレス指定要求、アクセス・プロトコル、及び他の独自性を有する。その結果、一般的な計算装置は、各メモリ・モジュールに対してそれぞれのBISTユニットを有することができ、各BISTユニットは、関連するメモリ・モジュールを試験するために特殊化されることがある。
【発明の開示】
【0006】
[サマリー]
一般に言って、本開示は、1つ以上のメモリ・モジュールの動作を試験するための分散された、体系的内蔵自己診断アーキテクチャに向けられる。説明されたように、本アーキテクチャは、3つの階層の概念:中央集中化されたBISTコントローラ、シーケンサの組、及びメモリ・モジュールに接続されたメモリ・インタフェースの組、を含む。
【0007】
BISTコントローラは、メモリ・モジュールの試験に関する中央集中化された高‐レベルの制御を提供する。BISTコントローラは、メモリ・モジュールに適用するためにシーケンサに中央に記憶され且つ維持管理された試験アルゴリズムを伝達する。BISTコントローラは、本明細書中に説明された命令プロトコルに準拠する一般化された命令の組としてアルゴリズムを伝達する。その上、命令プロトコルは、アルゴリズムが任意のタイミング要求、物理的構成又はメモリ・モジュールの固有のインタフェース特性に関係なく包括的に規定することを可能にする。その結果、種々の試験アルゴリズムは、容易に規定されることができ、且つ必要に応じて電子装置全体に亘る配布のために集中して維持管理されることができる。この結果、共通の試験パターンは、メモリ・モジュールの内部に余分に記憶される必要がない。
【0008】
シーケンサは、第2の水準の概念を提供する。シーケンサは、1つ以上のメモリ・モジュールを含む装置ブロックの内部に分散される。このようにして、各シーケンサは、1つ以上のメモリ・モジュールと関連付けられる。シーケンサは、BISTコントローラから高‐レベルの命令を受け取る。命令に応答して、シーケンサは、命令を実行するためにそれぞれのメモリ・インタフェースに1つ以上のメモリ動作の系列(sequence)を発する。例えば、シーケンサは、BISTコントローラからの1つの命令に応答して、あるアドレスの範囲に連続してアクセスするように命令を発することができる。シーケンサは、BISTコントローラに試験の結果を報告する。
【0009】
シーケンサは、それぞれのメモリ・モジュールのタイミング特性に従って、動作の適用を制御する。例えば、シーケンサの各々は、それぞれのメモリ・モジュールのアクセス速度に従って、動作の系列の適用速度を制御する。1個のシーケンサは、共通のクロック・ドメイン上で動作する複数のメモリ・モジュールへの試験アルゴリズムの適用を制御することができる。したがって、適用タイミングを制御し且つ試験パターン・ドメインを順番に並べるための論理は、シーケンサの内部に組み込まれ、個々のメモリ・モジュールの内部に分散させられる必要がなく、又はBISTコントローラにより維持管理される必要もない。
【0010】
第3の階層、メモリ・インタフェースは、メモリ・モジュールの各々に関する特定のインタフェース要求を取り扱う。メモリ・インタフェースの各々は、特定の信号インタフェース要求及びそれぞれ1つのメモリ・モジュールの物理的特性に従って設計されることができる。各メモリ・インタフェースは、メモリ動作を制御しているシーケンサから受け取り、必要に応じてそれぞれのメモリ・モジュールの物理的特性に基づいて、関連するアドレス信号及びデータ信号を含む、メモリ動作を変換する。例えば、メモリ・インタフェースは、行方向に又は列方向にメモリを埋めるためにメモリ・モジュールの行及び列に基づいて、制御しているシーケンサにより供給されるアドレスを変換することができる。別の1つの例として、メモリ・インタフェースは、チェッカーボード・パターンのような、若しくは隣接する行又は列が反対のパターンを有する“裸にされた(striped)”行又は列のような、特定のビット・パターンを作り出すためにデータを変換することができる。
【0011】
1つの実施形態において、システムは、複数のメモリ・モジュールを試験するためのアルゴリズムを記憶する中央集中化された内蔵自己診断(BIST)コントローラを具備する、ここにおいて、本BISTコントローラは、命令プロトコルに準拠する一般化された命令の組としてのアルゴリズムを記憶する。システムは、更に、命令を解読し(interpret)、その命令をメモリ・モジュールに適用する複数の分散されたシーケンサを具備する。
【0012】
別の1つの実施形態において、装置は、一般化された命令プロトコルに準拠し且つ異なるタイミング要求及び物理的特性を有する複数の分散されたメモリ・モジュールを試験するためのBISTアルゴリズムを規定する命令を発するための中央集中化された内蔵自己診断(BIST)制御手段、及び命令を解読し且つメモリ・モジュールのタイミング要求及び物理的特性に従ってその命令をメモリ・モジュールに適用するための分散された手段、を具備する。
【0013】
別の1つの実施形態における方法は、中央集中化されたコントローラからそして複数のメモリ・モジュールを試験するために命令プロトコルに準拠する一般化された命令の形式でアルゴリズムを発すること、及び命令プロトコルに従って、1つ以上のメモリ動作の系列として命令を適用するために分散されたシーケンサの組を用いて命令を解読すること、を具備する。
【0014】
本明細書中に説明された技術は、1つ以上の利点を実現することができる。例えば、本技術は、種々の試験アルゴリズムが容易に規定され、そして一般化された命令の形式で集中して維持管理されることを可能にする。一般化された命令は、解読のため及びメモリ・モジュールへの適用のために、電子装置全体に亘って配置されたシーケンサに配布されることができる。その結果、共通の試験アルゴリズムは、メモリ・モジュールの内部に余分に記憶される必要がない。
【0015】
更に、本技術は、異なるメモリ・モジュールにアルゴリズムの同時適用を提供することができ、これは、全体的な試験時間を削減でき且つメモリ間効果に関してより完全に試験することができる。その上、本アーキテクチャの分散された、体系的特質は、本技術が既存のチップ設計に容易に適用されることを可能にできる。
【0016】
1つ以上の実施形態の詳細は、添付図面及び下記の明細書において言及される。他の特徴、目的、及び利点は、明細書及び図面から、並びに特許請求の範囲から明らかにされる。
【0017】
[詳細な説明]
図1は、分散された、体系的内蔵自己診断(BIST)アーキテクチャを有する一例の電子装置2を説明するブロック図である。特に、電子装置2は、装置ブロック6Aから6N(一括して、“装置ブロック6”)の試験について中央集中化された高‐レベルの制御を提供する内蔵自己診断(BIST)コントローラ4を含む。装置ブロック6の各々は、シーケンサ8、並びに1つ以上のメモリ・インタフェース10の組及び1つ以上のそれぞれのメモリ・モジュール12を含む。
【0018】
一般に、BISTコントローラ4は、装置ブロック6への適用のためにシーケンサ8に試験アルゴリズムを提供しそして伝達する。BISTコントローラ4は、包括的で柔軟な命令プロトコルに準拠する命令の組としてシーケンサ8にアルゴリズムの各々を伝達する。各命令は、メモリ・モジュール12の物理的特性及びタイミング要求に関係なく1つ以上のメモリ動作を規定するパラメータの組及び動作上の符号(operational code)を指定する。このようにして、命令プロトコルは、種々の試験アルゴリズムが容易に規定され、そして電子装置2全体に亘って配布されることを可能にする。したがって、BISTコントローラ4は、アルゴリズムの維持管理及び配布について中央集中化された制御を提供する。その結果、共通の試験アルゴリズムは、装置ブロック6の内部に余分に記憶される必要がない。
【0019】
シーケンサ8は、BISTコントローラ4により提供された試験アルゴリズムを解読しそして実行する。特に、シーケンサ8は、完全なBISTアルゴリズムを規定するBISTコントローラ4から高‐レベルの命令を受け取る。例えば、1個の命令は、1つ以上のアドレスの範囲に亘り書き込まれるべき特定のビット・パターンを規定することができる。命令に応答して、シーケンサ8の各々は、命令を実行するために、それぞれのメモリ・インタフェース10に1つ以上のメモリ動作の系列を発する。その上、シーケンサ8は、それぞれのメモリ・モジュール12のタイミング特性に従って、動作の適用を制御する。例えば、シーケンサ8の各々は、それぞれのメモリ・モジュール12のアクセス速度に従って、動作の系列の適用速度を制御する。1個のシーケンサ8、例えば、シーケンサ8Aは、共通のクロック・ドメイン上で動作する、1つ以上のメモリ・モジュール、例えば、メモリ・モジュール12Aへの試験アルゴリズムの適用を制御することができる。メモリ・モジュール12は、グループ化され、いずれかの種々の基準、例えば、メモリ・モジュールの各々に関するクロック・ドメイン及びメモリ・モジュールの任意の既存の体系又はグループ化、に基づいてそれぞれのシーケンサ8に割り当てられることができる。したがって、適用タイミングを制御するため及び共通のクロック・ドメイン上で動作しているメモリ・モジュール12に関する試験パターンを順番に並べることのための論理は、共通のシーケンサ8の内部に組み込まれることができ、個々のメモリ・モジュールの内部に分散される必要がない。
【0020】
メモリ・インタフェース10は、メモリ・モジュール12の各々に関する特定のインタフェース要求を取り扱う。例えば、メモリ・インタフェース10の各々は、メモリ・モジュール12のそれぞれ1つの物理的特性及び特定の信号インタフェース要求に従って、設計されることができる。その結果、メモリ・インタフェース10の各々は、各それぞれのメモリ・モジュール12に対する特定のインタフェース信号、例えば、アドレス信号、データ信号、及び制御信号、の周りのインタフェースを“取り巻くもの(wrapper )”を提供するように、見られることができる。このようにして、電子装置2のBISTアーキテクチャは、BISTコントローラ4、シーケンサ8、及びメモリ・インタフェース10を含む、3つの階層の分散された配置を具備する。
【0021】
メモリ・モジュール12は、ランダム・アクセス・メモリ(random access memory)(RAM)、リード‐オンリ・メモリ(read-only memory)(ROM)、フラッシュ・メモリ、ダイナミック・ランダム・アクセス・メモリ(dynamic random access memory)(DRAM)、SDRAM、RDRAM、DDR‐RAM、これらの組み合わせ、及びその他のような、任意の型のメモリであることができ、本明細書中に説明される技術は、この点については制限されない。その上、電子装置2は、搭載型の演算システム、コンピュータ、サーバ(server)、個人ディジタル補助装置(personal digital assistant)(PDA)、携帯型演算装置、携帯型通信装置、ディジタル記録装置、ネットワーク用特殊装置(network appliance)、携帯型位置決定装置、及びその他のような、メモリ・モジュールを組み込んだいずれかの装置であってもよい。
【0022】
図2は、BISTコントローラ4の一例の実施形態を説明するブロック図である。この図示された実施形態において、BISTコントローラ4は、N個の試験アルゴリズムの組を記憶するアルゴリズム・メモリ20を含む。下記に説明されるように、各アルゴリズムは、2進命令の組に従って規定される。1つの実施形態において、例えば、完全なアルゴリズムは、32ビット命令の組により指定されることができ、ここで、この命令は、メモリ・モジュール12の機能性を試験するために、装置ブロック6(図1)のアドレス範囲に亘って1つ以上のメモリ動作の系列を実行するために必要な全てのパラメータを規定する。
【0023】
ユーザ・インタフェース22は、外部の試験装置からの制御信号のような、外部の入力に応答してアルゴリズム・コントローラ26を呼び出す(invoke)。あるいは、アルゴリズム・コントローラは、電子装置2の電源投入と同時に自動的に呼び出されることができる。一旦、呼び出されると、アルゴリズム・コントローラ26は、アルゴリズム・メモリ20の内部に記憶されたアルゴリズムの1つを選択するために、アルゴリズム選択信号(ALG_SELECT)をマルチプレクサ24に与える。一旦、選択されると、選択されたアルゴリズムを具備する2進命令のストリーム(stream)は、命令データ(CMD_DATA)として装置ブロック6に適用される。
【0024】
アルゴリズム・コントローラ26は、装置ブロックの各シーケンサ8から受信された受領信号(SEQ_ACK)に基づいて、装置ブロック6へのアルゴリズムの配信を制御する。特に、アルゴリズム・コントローラ26は、複数のシーケンサ8に選択されたアルゴリズムの各命令を順番に配信し、シーケンサ8の各々から受領信号を受け取ると、1つの命令から次の命令へ進む。このようにして、アルゴリズム・コントローラ26は、各シーケンサ8が次の命令に進む前に、メモリ・インタフェース10を介してメモリ・モジュール12への現在の命令の適用を完了したことを保証する。アルゴリズム・コントローラ26は、装置ブロック6、及び特に、電子装置2の内部に存在するシーケンサ8の個数を設定するために、プログラム的に又は静的に構成されることができる。付け加えると、アルゴリズム・コントローラ26は、装置ブロック6の任意の組み合わせを使用するメモリ・モジュール12の1つの、全ての、又は任意の組み合わせに所定のアルゴリズムを適用するようにプログラム的に構成されることができる。
【0025】
アルゴリズム・メモリ20に記憶されたアルゴリズムに加えて、ユーザ・インタフェース22は、外部の入力を介してアルゴリズムをプログラム可能に受け取ることができる。ユーザ・インタフェース22は、記憶されたアルゴリズムの形式、即ち、その2進命令の中で各命令がアルゴリズム全体の中で試験を規定する2進命令の系列、と同様な形式で、マルチプレクサ24に受信されたアルゴリズムを配信する。このようにして、BISTコントローラ4は、中央集中化された、3つの階層の第1の階層の分散された自己診断アーキテクチャを提供する。
【0026】
図3は、包括的なBISTアルゴリズムの1個の命令に関する、BISTコントローラ4とシーケンサ8との間の伝達を更に説明するタイミング図である。図示されるように、時刻T1で、BISTコントローラ4は、命令要請(CMD_REQ)相互接続を肯定的に明示し(assert)、且つCMD_DATA相互接続上でアルゴリズムの現在の命令を伝達する。
【0027】
命令を受け取り且つ適用すると、シーケンサ8は、対応するSEQ_ACK信号を肯定的に明示する。例えば、図示された例において、シーケンサ8の各々は、それぞれ時刻T2、T3、T4及びT5において、それぞれの信号SEQ_ACK[1]、SEQ_ACK[2]、SEQ_ACK[N]及びSEQ_ACK[0]を、肯定的に明示する。応答では、BISTコントローラ4は、時刻T6において、命令要請(CMD_REQ)信号を否定的に明示し(de-assert)、シーケンサ8にそれぞれのSEQ_ACK信号を否定的に明示させる。BISTコントローラ4は、全てのSEQ_ACK信号が否定的に明示されたとき、SEQS_DONE信号を肯定的に明示し、時刻T7において、BISTコントローラ4が別の1つの命令を開始することを可能にする。
【0028】
図4は、より詳細な、装置ブロック、例えば、装置ブロック6Aの一例の実施形態を説明するブロック図である。図示されるように、装置ブロック6Aは、シーケンサ8A、1組のメモリ・インタフェース10A‐10C(一括して、“メモリ・インタフェース10”)、及び1組のメモリ・モジュール12A‐12C(一括して、“メモリ・モジュール12”)を含む。図4に図示されるように、メモリ・インタフェース10の各々は、それぞれのメモリ・モジュール12に対応する。シーケンサ8Aは、制御されるべきメモリ・インタフェース10の個数、同様に、メモリ・モジュール12の中の最大のものに関する特性、例えば、最大のアドレスを設定するようにプログラム的に及び/又は静的に構成されることができる。
【0029】
図5は、より詳細な、シーケンサ、例えば、シーケンサ8A、の一例の実施形態を説明するブロック図である。シーケンサ8Aは、一括してBISTアルゴリズムを規定するBISTコントローラ4から高‐レベルの命令を受け取る。下記に詳細に説明されるように、BISTコントローラ4は、包括的で、柔軟なフォーマットで命令を発し、そして1個の命令は、1つ以上のアドレスの範囲に亘って書き込まれるべき特定のビット・パターンを規定することができる。
【0030】
一般に、シーケンサ8Aは、包括的なBIST命令を受け取り、それぞれのメモリ・モジュールの組に適用された1つ以上のメモリ動作の系列として各命令の適用を制御する。図示された実施形態において、シーケンサ8Aは、BISTコントローラ4から命令データ(CMD_DATA)を受け取る命令パーザ(command parser)(CMD PARSER)30を含む。命令パーザ30は、例えば、命令により指定された動作上の符号(op‐code)を識別することにより、指定された動作を識別するために受信された命令を処理する。
【0031】
指定された動作に基づいて、命令パーザ30は、命令から1つ以上のパラメータを抽出することができ、対応する命令コントローラ(CMD CONTROLLER)34A‐34Nの1つを選択することができる。換言すれば、命令コントローラ34の各1つは、CMD_DATAにより指定されることができる異なる命令に対応する。命令パーザ30は、選択された命令コントローラ34を呼び出し、受信された命令から抽出されたパラメータを渡す。別々に図示されているが、命令コントローラ34は、サポートされた命令の各々を実行するための論理を有する1個の機能ブロックに統合され及び/又は集積されることができる。
【0032】
各命令に応答して、呼び出された命令コントローラ34の1つは、各メモリ・インタフェース10に1つ以上の動作の系列を発する。特に、呼び出された命令コントローラ34の1つは、その系列の各動作を実行するために、適切な命令制御信号(CMD_CTRL_SIGNALS)を順番に駆動する。下記に更に説明されるように、命令制御信号は、受け取る側のメモリ・インタフェース10にメモリ・アドレス及びデータを与えるための信号、並びにビットを反転させるため、読み出し動作又は書き込み動作を実行するため、行を反転させるため、及びその他を行うために、受け取る側のメモリ・インタフェースを管理するための信号、を含むことができる。
【0033】
その上、命令コントローラ34は、それぞれのメモリ・モジュール12のタイミング特性に従って、動作の適用を制御する。したがって、共通のクロック・ドメイン上で動作するメモリ・モジュール12に関する動作の順番に並べるため及び適用タイミングを制御するための論理は、共通シーケンサ8の内部に組み込まれることができ、個々のメモリ・モジュールの内部に配布される必要はない。
【0034】
シーケンサ8Aは、例えば、MEM[0]_DOUTからMEM[N]_DOUT全体に亘る信号を介して、試験されたメモリ・モジュール12からデータを受け取り、BISTコントローラ4に戻す又はマルチプレクサ37を介して外部の装置に戻すデータ及びデータ選択信号39を選択的に伝達する。このようにして、シーケンサ8は、どのような不良も識別するためにデータの解析を可能にする。
【0035】
このようにして、シーケンサ8は、BISTコントローラ4が包括的で柔軟な命令フォーマットを使用して、アルゴリズムの記憶及び発行を集中的に管理することを可能にする。シーケンサ8は、命令プロトコルに従って包括的なBIST命令を受け取り、それぞれのメモリ・モジュール12の組への適用に関する1つ以上のメモリ動作の系列を発生させ且つ発することにより、命令の適用を制御する、これにより、分散された階層的な自己診断アーキテクチャの第2の階層を提供する。
【0036】
図6は、それぞれのメモリ・モジュール12に関する特定のインタフェース要求を取り扱うことにより、分散されたBISTアーキテクチャの概念の最終の層を提供するメモリ・インタフェース41の一例の実施形態を説明するブロック図である。
【0037】
図示された実施形態において、メモリ・インタフェース41は、電子装置2がBISTモードで動作しているときに、メモリ・モジュール12を通常の機能性から隔離するマルチプレクサ45、46の層を含む。特に、通常の動作条件下で、BISTイネーブル(BIST_EN)は、否定的に明示され、例えば、プログラム可能なプロセッサにより与えられるように、アドレス信号/制御信号(ADDR/CTRL)及びデータ信号(DATA)をマルチプレクサ45、46に選択させる。電子装置2がBISTモードで動作している場合、BISTイネーブル信号は、マルチプレクサ45、46が、それぞれのより高い‐水準のシーケンサにより与えられるBISTアドレス信号/制御信号(BIST_ADDR/CTRL)及び試験データを選択するようにさせる。このようにして、シーケンサは、それぞれのメモリ・モジュールを選択的に隔離するためにメモリ・インタフェース41のマルチプレクサ45、46を制御する、これにより、BISTアルゴリズムがそのメモリ・モジュールに適用されることを可能にする。
【0038】
メモリ・インタフェース41は、更に、シーケンサ8により与えられるように、BIST_DATA信号及びデフォルト・データ(DEFAULT_DIN)を受け取るデータ発生ユニット44を含み、シーケンサにより与えられる制御信号(BIST_DATA_GEN_CTRL)及び対応するメモリ・モジュール12の特定の物理的特性に基づいて、変換されたBISTデータ信号49(BIST_DATA_T)を発生する。より具体的に言うと、下記に更に詳細に説明されるように、データ発生ユニット44は、アルゴリズムの各動作の期間に、メモリ入力に適用された正確なデータ(RAM_DIN)を発生する。データ発生ユニット44は、それぞれのメモリ・モジュール12の物理的構成、例えば、物理的な行及び列構成、に基づいて、同様にシーケンサ8Aにより指定された例えば、チェッカーボード、反転された、その他の、ビット・パターンに基づいて、変換されたBISTデータを発生する。
【0039】
例えば、シーケンサ8は、メモリ・モジュール内部のデータの列が1と0との間を交互にかわることを必要とするチェッカーボード・ビット・パターンを要請することができる。しかしながら、異なるメモリ・モジュール12は、異なる行及び列構成で配置されることがある。その結果、所定のアドレスに対するメモリ・セルは、異なる行−列構成を有するメモリ・モジュール12に対して異なる行及び列に配置されることがあり得る。例えば、256ビット・メモリ・モジュール12は、128行及び2列、32行×8列、16行×16列、及びその他、のように配置されることができる。その結果、この行列の全体に亘り、チェッカーボードのような特定のパターンを書き込むことは、メモリ・モジュールの固有の行−列構成の知識を必要とする。下記に更に詳細に説明されるように、データ発生ユニット44は、シーケンサ8により与えられたデータを処理し、必要に応じて、所望のビット・パターンが正確に書き込まれることを確実にするために、そのデータを変換する、例えば、データを反転する。
【0040】
同様に、アドレス発生ユニット42は、シーケンサ8Aにより指定されたアドレス指定要求に基づいて、並びにメモリ・モジュールの行及び列の物理的構成に基づいて、メモリ・モジュール12に適用されるアドレスを発生する。例えば、ある複数のBIST試験において、シーケンサ8Aは、行(又は列)第1様式で、BISTデータを書き込むようにメモリ・インタフェース41に命令する、即ち、次の行(又は列)に進む前に各行(又は列)が完全に書き込まれることを必要とする。これらの要求条件が、行及び列構成に特有であるので、アドレス発生ユニット42は、処理する前に、シーケンサ8Aにより与えられたアドレスを全体の行(又は列)を移動するように適切なものに変換する。
【0041】
その結果、シーケンサは、それぞれの命令により規定され、そのシーケンサと関連する最大の大きさのメモリ・モジュールにより制限されたアドレス空間を順番に移動することにより動作を発することが可能である。各メモリ・インタフェース、例えば、メモリ・インタフェース41は、必要に応じて、適切なメモリ・セルに動作を適用するために、受信されたアドレスを変換する。例えば、列第1BISTアルゴリズムに関して、シーケンサ8は、順を追って複数のアドレスに動作を発し、他方において、アドレス発生ユニット42は、メモリ・モジュール12の列に沿ったようになるようにメモリ・セルにアクセスするために受信されたアドレスを計算により変換する。この例において、アドレス発生ユニット42は、シーケンサ8がアドレス空間を増加させているか又は減少させているかどうかに基づいて、最も重要でない列から最も重要な列まで列方向の様式で、メモリ・モジュール12をアクセスするためにアドレスを変換する。
【0042】
コンパレータ48は、メモリ・モジュール12から読み出されたデータ(RAM_DOUT)が、予期されたように、メモリ・モジュールのそのアドレスに最後に書き込まれたデータに等しいかどうかを決定する。比較が不合格である場合、即ち、メモリ・モジュール12から読み出されたデータが、以前に書き込まれたデータに等しくないとき、コンパレータ48は、メモリ・エラーが検出されたことを表示するために、BIST_FAIL信号を肯定的に明示する。
【0043】
このようにして、メモリ・インタフェース41は、高次‐水準のシーケンサにより発せられた連続したメモリ動作を処理し、メモリ・モジュールの特定の物理的特性に基づいて、必要に応じて、シーケンサにより与えられたデータ及びアドレスを変換する、これにより、分散された階層的自己診断アーキテクチャの第3の階層を提供する。その結果、シーケンサは、各メモリ・モジュール12の物理的特性及び容量に関する詳細な知識を必要とすることなく、複雑なBISTアルゴリズムに関する動作を発することが可能である。
【0044】
図7は、データ発生ユニット44(図6)の一例の実施形態を説明するブロック図である。図示された実施形態において、データ発生ユニット44は、シーケンサ8により与えられるBIST_DATA信号、デフォルト・データ信号(DEFAULT_DIN)を受け取る。その上に、データ発生ユニット44は、BIST_INVERT_BITS、BIST_INVERT_ROWS、LSB_ROW_ADDER、及びBIST_WRITEの形式で複数の制御信号を受け取る。受信されたデータ及びこれらの制御信号に基づいて、データ発生ユニット44は、シーケンサ8により与えられた制御信号(BIST_DATA_GEN_CTRL)及び対応するメモリ・モジュール12の特定の物理的特性に基づいて、変換されたBISTデータ信号49(BIST_DATA_T)を発生する。
【0045】
特に、シーケンサ8は、連続データ・パターン、チェッカーボード・データ・パターン、水平ストライプ・データ・パターン及び垂直ストライプ・データ・パターンのような、データ・パターンを指定するために、反転ビット信号(BIST_INVERT_BITS)、反転行信号(BIST_INVERT_ROWS)、及び反転列信号(図示されていない)を肯定的に明示し、そして否定的に明示する。反転ビット又は反転行信号がどちらも肯定的に明示されないならば、BIST_DATA信号は、修正なしでXORゲート52、54を通過する。その結果、データ発生ユニット44は、修正なしでシーケンサ8から指示されたデータでメモリ・モジュール12を満たすために、変換されたデータ信号49(BIST_DATA_T)を発生する。
【0046】
BIST_INVERT_ROW信号が設定されるならば、データ発生ユニット44は、最も重要でない(最下位)行アドレス・ビット(LSB_ROW_ADDR)により指示されるように、行が横切られるたびに、値を反転させる。その結果、ANDゲート50は、XORゲート52にシーケンサにより指示された値を反転させる、これにより、隣接する行に書き込まれる値を反転させる。同様な機能性は、列が横切られるときに、値を反転させるように与えられることができる。BIST_INVERT_BITS信号が肯定的に明示されるとき、データ発生ユニット44は、シーケンサにより指示された値を自動的に反転させる。これは、異なる行列の対応する複数のセル間の値を反転させる際に有用である。
【0047】
DEFAULT_DINフィールドは、メモリ・モジュール12に対する読み出し動作の間にメモリ・モジュールに適用されるデフォルト・データ値を設定する。マルチプレクサ56は、BIST_WRITE信号により指示されるように、書き込み動作又は読み出し動作が実行されているかどうかに基づいて、DEFAULT_DINデータとXORゲート54により発生されたデータとの間で選択する。
【0048】
図8は、BISTコントローラ4により発せられた命令の一例のデータ構造を説明するブロック図である。図示された実施形態において、命令60は、シーケンサ識別子(identifier)(ID)62、及びペイロード64を含む。下記に更に詳細に説明されるように、シーケンサID62は、それに対して命令60が発せられようとしているシーケンサ、例えば、シーケンサ8Aを識別する。
【0049】
BISTコントローラ4は、全てのシーケンサ8に命令を同報配信(broadcast )する、又はシーケンサの特定の1つにユニキャスト(unicast)様式で命令を発することができる。特に、BISTコントローラ4は、シーケンサ8の1つがそのシーケンサにユニキャスト命令を送るために、シーケンサID62を固有の識別子に設定する。同報配信命令に関して、BISTコントローラ4は、シーケンサID62を、0×0のような同報配信識別子に設定する。
【0050】
命令60のペイロード64は、命令それ自身を規定する2進データを搬送する。特に、ペイロード64は、動作上の符号(OP CODE)66及び1組のパラメータ68を含む。一般に、OP CODE66は、受け取る側のシーケンサ8により実行されるべき特定の機能を指定する。次の表は、動作上の符号の例示的な組を列挙する。
【表1】
【0051】
1つの実施形態において、OP CODE66及びパラメータ68は、それぞれ、3ビット及び29ビットを具備し、32ビット命令を形成する。パラメータ68の形式及び意味は、OP CODE66により指定されるように、命令の型に依存する。
【0052】
図9Aは、RESET命令に関するパラメータ68の一例のデータ構造を図示する。図示されるように、パラメータ68の問題とされるビットはビット28だけであり、そしてそれは、BISTモードを選択的に使用可能にする及び使用禁止にするために、肯定的に明示される又は否定的に明示されることができる。肯定的に明示されたとき、受け取る側のシーケンサ8は、それぞれの装置ブロック6を試験するために、試験アルゴリズムを適用するためのモードに入る。否定的に明示されたとき、受け取る側のシーケンサは、現在のアルゴリズムをリセットし、終了する。
【0053】
図9Bは、EXECUTE命令に関するパラメータ68の一例のデータ構造を図示する。図示されるように、EXECUTE命令に関して、パラメータ68は、それぞれのメモリ・モジュール12の固有のタイミング特性に従って、アドレスの範囲に亘りメモリ動作の系列を適用するように受け取る側のシーケンサ8を管理する。
【0054】
一旦、受け取られると、デフォルトにより、シーケンサ8は、それぞれの装置ブロックの内部の最大のメモリ・モジュール12のアドレス範囲に亘り指定されたメモリ動作を反復して実行する。しかしながら、SINGLE ROW(SR)ビットが使用可能にされるならば、シーケンサ8は、行アドレスを一定に維持管理しながら、最大列ビット選択権を有するメモリ・モジュール12の全ての列に対して規定されたメモリ動作の系列を実行する。
【0055】
メモリ動作の系列を適用する場合に、シーケンサ8は、パラメータ68のADD INC/DECビットの状態に基づいて、それぞれの装置ブロック6の内部のメモリ・モジュール12の中の最大のものによりサポートされるアドレス範囲にわたり増加させるか又は減少させるかのどちらかである。例えば、ADD INC/DECが肯定的に明示されるならば、シーケンサ8は、0から始まり最大のアドレスに進む各アドレスに規定されたメモリ動作を適用する。しかしながら、ADD INC/DECが否定的に明示されるならば、シーケンサ8は、最大のアドレスから始まり0に減少する各アドレスに規定されたメモリ動作を適用する。DEF DINフィールドは、メモリ・モジュールに対する読み出し動作の間に、メモリ・モジュール12に適用されるデフォルト・データ値を設定する。
【0056】
リプリング行(rippling row)(RR)フィールドは、列方向様式で、即ち、次の列に進む前に全体の列に動作を適用することにより、規定されたメモリ動作を適用するようにシーケンサ8を管理する。換言すれば、シーケンサ8の各々は、メモリ動作を適用しながら且つ行アドレスを“リプリング”させながら、列アドレスを一定に保持する。
【0057】
反転ビット(invert bit)(IB)フィールド、反転行(invert row)(IR)フィールド、及び反転列(invert column)(IC)フィールドは、連続データ・パターン、チェッカーボード・データ・パターン、水平ストライプ・データ・パターン及び垂直ストライプ・データ・パターンのような、メモリ・モジュール12を試験するためのデータ・パターンを指定するために使用されることができる。より具体的には、BISTコントローラ4がIR及びICフィールドのどちらをも設定しないならば、受け取る側のシーケンサ8は、シーケンサから指令された値でメモリ・モジュールを埋めるようにメモリ・インタフェース10を管理する。IRフィールドが設定されるならば、シーケンサ8により指令された値は、隣接する行に書き込まれた値を反転させてしまう。同様に、ICフィールドが設定されるならば、シーケンサ8により指令された値は、隣接する列に書き込まれた値を反転させてしまう。その結果、IRフィールドとICフィールドの両方が設定されるならば、値は、メモリ・モジュールの内部でチェッカーボード・パターンを作り出すように、各列の間で且つ各行の間で反転させられる。最終的に、上に説明されたように、所定のメモリ・モジュール12は、1つより多い行列として構成されることができる。反転ビット(IB)フィールドが設定されるならば、メモリ・インタフェース10は、異なる行列の対応するセルの間で、シーケンサ8により指令された値を自動的に反転させる。
【0058】
動作フィールド(OP1−OP8)は、各メモリ・アドレスに適用されるべき動作の組を規定するために使用されることができる。例えば、OP1のような、各動作フィールドは、2ビットを具備する。第1番目のビットは、動作が読み出しであるか又は書き込みであるかどうかを指示するために、肯定的に明示される又は否定的に明示されることができる。第2番目のビットは、書き込まれるべきデータ、即ち、0又は1、に基づいて設定されることができる。動作の個数(NUM OPS)フィールドは、各メモリ・アドレスへの適用のために、幾つのの動作が規定されたかについて、シーケンサ8を指示する。このようにして、1個の命令は、全体のBISTアルゴリズムの内部でステップを包括的に規定するために使用されることができ、各ステップは、受け取る側のシーケンサ8の装置ブロック6を用いて、メモリ・モジュール12の各アドレスに適用されるように1つ以上の動作を規定することができる。
【0059】
図9Cは、TEST MEM命令のためのパラメータ68の一例のデータ構造を図示する。この命令に関して、パラメータ68は、故障解析命令として及びBIST命令としてTEST MEM命令を解読するためのFA/BISTビットを含む。故障解析命令に設定されたとき、MEM IDフィールドにより指定された値は、故障解析のためにメモリ・モジュール12の特定の1つのデータ出力を選択するために、受け取る側のシーケンサ8により使用される。BIST命令に設定されたとき、MEM IDフィールドにより指定された値は、特定の試験の内部への参画のためにメモリ・インタフェース10の特定の1つのデータ出力を選択するために、受け取る側のシーケンサ8により使用される。このようにして、アルゴリズムは、装置ブロック6の内部の個々のメモリ・モジュール12に選択的に適用されることができる。MEM BUS SLICEフィールドは、メモリ・モジュール12からの多重化されたデータ・バスのどの部分が故障解析のために使用されるかを指示するために使用される。
【0060】
図9Dは、SET ADDRESS命令のためのパラメータ68の一例のデータ構造である。この命令に関して、パラメータ68は、BISTステップの適用のために特定のメモリ・アドレスを設定するアドレス・フィールド(ADDRESS)を含む。これは、SINGLE WORD ACCESS命令と結合することで有用であることがある。パラメータ68は、試験アルゴリズムに関する最大のアドレス制限を指定するための制限(LIMIT)フィールドも含む。1つの実施形態において、LIMITフィールドは、下記に制限を設定するための2ビット・データ・フィールドを具備する:(1)装置ブロック6の最大のメモリ・モジュール12の最大アドレス、(2)2により除算された最大アドレス、(3)4により除算された最大アドレス、及び(4)8により除算された最大アドレス。
【0061】
図9Eは、SINGLE WORD ACCESS命令のためのパラメータ68の一例のデータ構造である。この命令に関して、パラメータ68は、受け取る側のシーケンサ8が、ステップを適用した後それぞれの現在のBISTアドレスを変更すべきかどうかを制御する使用可能アドレス変更(enable address change )(ENADC)ビットを含む。もし、使用可能にされたならば、アドレス増加/減少(ADD INC/DEC)ビットは、現在のBISTアドレスが増加されるべきか又は減少されるべきかどうかを制御する。反転ビット(IB)フィールド、反転行(IR)フィールド、及び反転列(IC)フィールドは、EXECUTE命令に関して上記に説明されたように、連続データ・パターン、チェッカーボード・データ・パターン、水平ストライプ・データ・パターン及び垂直ストライプ・データ・パターンのような、メモリ・モジュール12を試験するためのデータ・パターンを指定するために使用されることができる。データ・フィールド(DATA)は、試験されたメモリ・モジュール12の読み出し動作のための入力データに関するデフォルト値を供給するために使用される。
【0062】
表2は、説明された命令プロトコルに従ってBISTコントローラにより記憶され且つ発せられる一例のチェッカーボードBISTアルゴリズムを例証する。例証されるように、比較的複雑なチェッカーボード・メモリ試験アルゴリズムは、命令プロトコルを使用して、僅か4つの命令で説明されることができる。
【表2】
【0063】
表3は、説明された命令プロトコルに従ってBISTコントローラ4により記憶され且つ発せられた“ブランケット・マーチ(Blanket March )”BISTアルゴリズムの例を例証する。例証されるように、このメモリ試験アルゴリズムは、命令プロトコルを使用して、僅か6つの命令で説明されることができる。命令の各々は、規定された方向にメモリ空間全体を横断するメモリ動作の系列を発行するように、受け取る側のシーケンサ8に指示する。その上、命令の幾つかは、シーケンサが利用可能なメモリ空間の内部の各アドレスに複数のメモリ動作を適用するように管理する。このようにして、複雑なBISTアルゴリズムは、階層的自己診断アーキテクチャの構成要素(constituent components)により、全体に亘って容易に配布され且つ適用されることができる。
【表3】
【0064】
図10は、電子装置2、及び、特に、BISTコントローラ4、シーケンサ8、及びメモリ・インタフェース10の分散された、3階層の自己診断アーキテクチャの動作例を説明するフローチャートである。
【0065】
最初に、BISTコントローラ4は、内部アルゴリズム・メモリ、例えば、アルゴリズム・メモリ20の内部に記憶されたアルゴリズムの1つを選択する(70)。アルゴリズムを選択すると、BISTコントローラ4は、1つ以上のシーケンサ8にアルゴリズムにより規定された第1番目の命令を発する(72)。
【0066】
各受け取る側のシーケンサ8は、規定された動作符号及び対応するパラメータを識別するために命令を解析する(78)。メモリ・アクセス命令に関して、各受け取る側のシーケンサ8は、命令により規定される開始アドレスを初期化する(80)。次に、シーケンサ8は、メモリ動作を発する、即ち、適切なアドレス信号、データ信号及び制御信号を発生する(82)。
【0067】
順番に、各受け取る側のメモリ・インタフェース10は、各それぞれのメモリ・モジュール12の物理的特性に基づいてデータ及びアドレス信号を変換し(92、94)、変換された信号をメモリ・モジュールに適用する(96)。更に、読み出しメモリ・アクセスに関して(97)、メモリ・インタフェース10は、それぞれのメモリ・モジュールから読み出されたデータを予期されたデータと自動的に比較する(98)。比較に基づいて、メモリ・インタフェース10は、試験されたメモリ・モジュール12の状態(status)を報告するためにそれぞれのBIST故障信号を更新する(100)。
【0068】
一旦、メモリ動作がメモリ・インタフェース10により発せられると、シーケンサ8は、追加の動作が系列の内部の現在のメモリ・アドレスに適用されようとしているかどうかを決定する(84)。もしそうであれば、シーケンサ8は、同様な様式でメモリ・インタフェース10に命令を発する(82)。追加の動作が必要とされないならば、シーケンサ8は、アドレスを更新し(86)、命令により規定された全体のアドレス範囲が順番に並べられていたかどうか、又は追加のアドレスが残っているかどうか、を決定する(88)。全体のアドレス範囲が順番に並べられていて、メモリ動作が範囲の内部のアドレスに適用されている場合、シーケンサ8は、BISTコントローラ4に受領信号を発する(90)。
【0069】
命令を用いて目的とされたシーケンサ8の各々から受領を受け取ると(74)、BISTコントローラ4は、選択されたアルゴリズムに対する最後の命令が発せられたかどうかを決定する。もしそうでなければ、BISTコントローラ4は、処理を繰り返し、追加の命令を発行する(72)。一旦、全ての命令がシーケンサ8及びメモリ・インタフェース10により発せられ、適用されると(76)、BISTコントローラ4は、現在のBIST試験を終了する。
【0070】
種々の実施形態が、説明されてきた。これら及び他の実施形態は、特許請求の範囲内である。
【図面の簡単な説明】
【0071】
【図1】図1は、分散された、体系的内蔵自己診断(BIST)アーキテクチャを有する電子装置の一例を説明するブロック図である。
【図2】図2は、BISTコントローラの一例の実施形態を説明するブロック図である。
【図3】図3は、包括的BISTアルゴリズムの1つの命令に関して、BISTコントローラとシーケンサの組との間の伝達を更に説明するタイミング図である。
【図4】図4は、装置ブロックの一例の実施形態を説明するブロック図である。
【図5】図5は、シーケンサの一例の実施形態を説明するブロック図である。
【図6】図6は、メモリ・インタフェースの一例の実施形態を説明するブロック図である。
【図7】図7は、データ発生ユニットの一例の実施形態を説明するブロック図である。
【図8】図8は、BISTコントローラにより発せられた命令の一例のデータ構造を説明するブロック図である。
【図9A】図9Aは、本明細書中で説明される命令プロトコルに従う例示的データ構造を図示する。
【図9B】図9Bは、本明細書中で説明される命令プロトコルに従う例示的データ構造を図示する。
【図9C】図9Cは、本明細書中で説明される命令プロトコルに従う例示的データ構造を図示する。
【図9D】図9Dは、本明細書中で説明される命令プロトコルに従う例示的データ構造を図示する。
【図9E】図9Eは、本明細書中で説明される命令プロトコルに従う例示的データ構造を図示する。
【図10】図10は、分散された、3階層自己診断アーキテクチャの動作の例を説明するフローチャートである。
【符号の説明】
【0072】
24…マルチプレクサ、37…マルチプレクサ、39…データ選択信号、45…マルチプレクサ、46…マルチプレクサ、49…BISTデータ信号、50…ANDゲート、52…XORゲート、54…XORゲート、56…マルチプレクサ、60…命令、68…パラメータ。
【特許請求の範囲】
【請求項1】
下記を具備するシステム:
複数のメモリ・モジュールを試験するためのアルゴリズムを記憶する中央集中化された内蔵自己診断(BIST)コントローラ、ここにおいて、該BISTコントローラは命令プロトコルに準拠する一般化された命令の組として該アルゴリズムを記憶する;及び
命令プロトコルに基づいて命令を解読し且つ一般化された命令をメモリ・モジュールに適用する複数の分散されたシーケンサ。
【請求項2】
一般化された命令は、命令プロトコルに従って且つメモリ・モジュールのタイミング要求条件に関係なしにアルゴリズムを指定する、請求項1記載のシステム。
【請求項3】
一般化された命令は、メモリ・モジュールの物理的特性に関係なしにアルゴリズムを指定する、請求項1記載のシステム。
【請求項4】
一般化された命令の各々は、それぞれの命令を処理し且つ該命令をメモリ・モジュールに適用するために1つ以上のシーケンサを識別するシーケンサ識別子を含む、請求項1記載のシステム。
【請求項5】
シーケンサ識別子は、一般化された命令が分散されたシーケンサの全てにより解読され且つ適用されようとしていることを指示するための同報通報識別子を具備する、請求項4記載のシステム。
【請求項6】
シーケンサ識別子は、識別されたシーケンサのそれぞれのメモリ・モジュールに一般化された命令を解読させ且つ適用させるためにシーケンサの特定の1つを識別するユニキャスト識別子を具備する、請求項4記載のシステム。
【請求項7】
命令プロトコルは、規定された動作上の符号の組及び関連するパラメータの組から選択された動作上の符号を含むように一般化された命令の各々を規定する、請求項4記載のシステム。
【請求項8】
規定された動作上の符号の組は、当該期間の間に、シーケンサが通常の動作の間に使用したアドレス及びデータ回線からメモリ・モジュールを分離することにより試験するために該メモリ・モジュールを準備するBISTモードを選択的に使用可能にし、そして使用禁止にするように該シーケンサを管理する動作上の符号を含む、請求項7記載のシステム。
【請求項9】
規定された動作符号の組は、パラメータにより指定されたアドレスの範囲に亘って1つ以上のメモリ動作の系列を適用するようにシーケンサを管理する動作上の符号を含む、請求項7記載のシステム。
【請求項10】
パラメータは、行アドレスを0に維持しつつ最大の列ビット選択権を有するシーケンサのためのそれぞれのメモリ・モジュールの該メモリ・モジュールの全ての列に対してメモリ動作を適用するようにシーケンサを管理するための1つの行(SR)フィールドを含む、請求項9記載のシステム。
【請求項11】
パラメータは、メモリ動作を適用するときに、メモリ・モジュールの各行及び列の行列に対するパラメータにより規定されたデータを反転させるようにシーケンサを管理するための反転ビット・フィールドを含む、請求項9記載のシステム。
【請求項12】
パラメータは、メモリ・モジュールの各々に対する列アドレスを一定に保持し且つメモリ・モジュールの各々に対する行アドレスをリプリングすることにより列方向様式で該メモリ・モジュールにメモリ動作を適用するようにシーケンサを管理するためのリプリング行フィールドを含む、請求項9記載のシステム。
【請求項13】
パラメータは、メモリ動作を適用するときに、メモリ・モジュールの隣接する行に対して該パラメータにより規定されたデータを反転させるようにシーケンサを管理するための反転行フィールドを含む、請求項9記載のシステム。
【請求項14】
パラメータは、メモリ動作を適用するときに、メモリ・モジュールの隣接する列に対して該パラメータにより規定されたデータを反転させるようにシーケンサを管理するための反転列フィールドを含む、請求項9記載のシステム。
【請求項15】
パラメータは、メモリ・モジュールのメモリ・アドレスの各々に複数のメモリ動作を適用するようにシーケンサを管理するための複数の動作上のフィールドを含む、請求項9記載のシステム。
【請求項16】
パラメータは、読み出し動作の間にメモリ・モジュールに入力データ値を適用するようにシーケンサを管理するフィールド中のデフォルト・データを含む、請求項9記載のシステム。
【請求項17】
規定された動作符号の組は、パラメータにより指定された特定のアドレスに規定されたメモリ動作を実行するようにシーケンサを管理する動作上の符号を含む、請求項7記載のシステム。
【請求項18】
規定された動作上の符号の組は、メモリ・モジュールの特定の1つを試験するようにシーケンサを管理する動作上の符号を含む、請求項7記載のシステム。
【請求項19】
パラメータは、故障解析モードとBISTモードとの間を選択的に切り替えるようにシーケンサを管理するための故障解析フィールドを含む、請求項7記載のシステム。
【請求項20】
故障解析モード内で動作しているとき、パラメータのメモリ識別フィールドは、故障解析のためにメモリ・モジュールの特定の1つから及び故障解析のために使用されようとしている選択されたメモリ・モジュールからの多重化されたデータ・バスの一部分を指示するバス・スライス・フィールドから、データを選択するようにシーケンサを管理する、請求項19記載のシステム。
【請求項21】
規定された動作上の符号の組は、当該シーケンサの内部に記憶されたメモリ試験アルゴリズムを適用するように分散されたシーケンサの少なくとも1つを管理する動作上の符号を含む、請求項7記載のシステム。
【請求項22】
シーケンサとメモリ・モジュールとの間に接続された複数のメモリ・インタフェースを更に具備する、ここにおいて、該メモリ・インタフェースは該シーケンサの管理下で且つ該メモリ・モジュールの物理的特性に従って該メモリ・モジュールに命令を適用する、請求項1記載のシステム。
【請求項23】
BISTコントローラは、メモリ・モジュールへの適用に並行してシーケンサに命令を発する、請求項1記載のシステム。
【請求項24】
シーケンサは、メモリ・モジュールのタイミング要求条件に従ってそれぞれのメモリ・モジュールに命令を適用する、請求項1記載のシステム。
【請求項25】
シーケンサの各々が:
命令プロトコルに従って命令を実施する複数の命令コントローラ;及び
命令プロトコルに基づいて動作上の符号及びパラメータの組を識別するように命令の各々を解析するための命令パーザ、ここにおいて、該命令パーザはBISTコントローラから受け取られた該命令の動作上の符号に基づいて命令コントローラを選択的に呼び出す、
を具備する、請求項1記載のシステム
【請求項26】
下記を具備する装置:
一般化された命令プロトコルに準拠し且つ異なるタイミング要求及び物理的特性を有する複数の分散されたメモリ・モジュールを試験するためのBISTアルゴリズムを規定する命令を発するための中央集中化された(BIST)制御手段;及び
命令を解読するため並びにメモリ・モジュールのタイミング要求及び物理的特性に従って該メモリ・モジュールに命令を適用するための分散された手段。
【請求項27】
分散された手段は、メモリ・モジュールにBISTアルゴリズムを適用するために該メモリ・モジュールの物理的特性に基づいて変換されたアドレス信号及びデータ信号を発生させるためのインタフェース手段を含む、請求項26記載の装置。
【請求項28】
下記を具備する方法:
複数のメモリ・モジュールを試験するために命令プロトコルに準拠する一般化された命令を発することにより中央集中化されたコントローラからアルゴリズムの適用を管理すること;及び
命令プロトコルに従ってメモリ動作の1つ以上の系列として命令を適用するためにシーケンサの分散された組を用いて該命令を解読すること。
【請求項29】
一般化された命令は、メモリ・モジュールの物理的特性及びタイミング要求に関係なしにアルゴリズムを指定する、請求項28記載の方法。
【請求項30】
アルゴリズムの適用を管理することは、命令を処理するため且つ該命令をそれぞれのメモリ・モジュールに適用するために1つ以上のシーケンサを識別するシーケンサ識別子を含むように命令の各々を発することを具備する、請求項28記載の方法。
【請求項31】
シーケンサ識別子は、命令が解読されようとしており且つ全ての分散されたシーケンサにより適用されようとしていることを指示する同報通報識別子の1つ及び命令を解読するためにシーケンサの特定の1つを識別するユニキャスト識別子を具備する、請求項30記載の方法。
【請求項32】
アルゴリズムの適用を管理することは、規定された動作符号の組及び関連するパラメータの組から選択された動作上の符号を含むように命令の各々を発することを具備する、請求項28記載の方法。
【請求項33】
規定された動作上の符号の組は、当該期間の間にシーケンサが、通常の動作の間に使用したアドレス及びデータ回線からメモリ・モジュールを分離することにより試験するためのメモリ・モジュールを用意するBISTモードを選択的に使用可能にし、そして使用禁止にするように該シーケンサを管理する動作上の符号を含む、請求項32記載の方法。
【請求項34】
規定された動作符号の組は、パラメータにより指定されたアドレスの範囲に亘って1つ以上のメモリ動作の系列を適用するようにシーケンサを管理する動作上の符号を含む、請求項32記載の方法。
【請求項35】
規定された動作符号の組は、パラメータにより指定された特定のアドレスに規定されたメモリ動作を実行するようにシーケンサを管理する動作上の符号を含む、請求項32記載の方法。
【請求項36】
規定された動作符号の組は、メモリ・モジュールの特定の1つを試験するようにシーケンサを管理する動作上の符号を含む、請求項32記載の方法。
【請求項37】
規定された動作上の符号の組は、当該シーケンサの内部に記憶されたメモリ試験アルゴリズムを適用するように分散されたシーケンサの少なくとも1つを管理する動作上の符号を含む、請求項33記載の方法。
【請求項38】
アルゴリズムを発することは、メモリ・モジュールへの適用に並行して命令をシーケンサに発することを具備する、請求項29記載の方法。
【請求項1】
下記を具備するシステム:
複数のメモリ・モジュールを試験するためのアルゴリズムを記憶する中央集中化された内蔵自己診断(BIST)コントローラ、ここにおいて、該BISTコントローラは命令プロトコルに準拠する一般化された命令の組として該アルゴリズムを記憶する;及び
命令プロトコルに基づいて命令を解読し且つ一般化された命令をメモリ・モジュールに適用する複数の分散されたシーケンサ。
【請求項2】
一般化された命令は、命令プロトコルに従って且つメモリ・モジュールのタイミング要求条件に関係なしにアルゴリズムを指定する、請求項1記載のシステム。
【請求項3】
一般化された命令は、メモリ・モジュールの物理的特性に関係なしにアルゴリズムを指定する、請求項1記載のシステム。
【請求項4】
一般化された命令の各々は、それぞれの命令を処理し且つ該命令をメモリ・モジュールに適用するために1つ以上のシーケンサを識別するシーケンサ識別子を含む、請求項1記載のシステム。
【請求項5】
シーケンサ識別子は、一般化された命令が分散されたシーケンサの全てにより解読され且つ適用されようとしていることを指示するための同報通報識別子を具備する、請求項4記載のシステム。
【請求項6】
シーケンサ識別子は、識別されたシーケンサのそれぞれのメモリ・モジュールに一般化された命令を解読させ且つ適用させるためにシーケンサの特定の1つを識別するユニキャスト識別子を具備する、請求項4記載のシステム。
【請求項7】
命令プロトコルは、規定された動作上の符号の組及び関連するパラメータの組から選択された動作上の符号を含むように一般化された命令の各々を規定する、請求項4記載のシステム。
【請求項8】
規定された動作上の符号の組は、当該期間の間に、シーケンサが通常の動作の間に使用したアドレス及びデータ回線からメモリ・モジュールを分離することにより試験するために該メモリ・モジュールを準備するBISTモードを選択的に使用可能にし、そして使用禁止にするように該シーケンサを管理する動作上の符号を含む、請求項7記載のシステム。
【請求項9】
規定された動作符号の組は、パラメータにより指定されたアドレスの範囲に亘って1つ以上のメモリ動作の系列を適用するようにシーケンサを管理する動作上の符号を含む、請求項7記載のシステム。
【請求項10】
パラメータは、行アドレスを0に維持しつつ最大の列ビット選択権を有するシーケンサのためのそれぞれのメモリ・モジュールの該メモリ・モジュールの全ての列に対してメモリ動作を適用するようにシーケンサを管理するための1つの行(SR)フィールドを含む、請求項9記載のシステム。
【請求項11】
パラメータは、メモリ動作を適用するときに、メモリ・モジュールの各行及び列の行列に対するパラメータにより規定されたデータを反転させるようにシーケンサを管理するための反転ビット・フィールドを含む、請求項9記載のシステム。
【請求項12】
パラメータは、メモリ・モジュールの各々に対する列アドレスを一定に保持し且つメモリ・モジュールの各々に対する行アドレスをリプリングすることにより列方向様式で該メモリ・モジュールにメモリ動作を適用するようにシーケンサを管理するためのリプリング行フィールドを含む、請求項9記載のシステム。
【請求項13】
パラメータは、メモリ動作を適用するときに、メモリ・モジュールの隣接する行に対して該パラメータにより規定されたデータを反転させるようにシーケンサを管理するための反転行フィールドを含む、請求項9記載のシステム。
【請求項14】
パラメータは、メモリ動作を適用するときに、メモリ・モジュールの隣接する列に対して該パラメータにより規定されたデータを反転させるようにシーケンサを管理するための反転列フィールドを含む、請求項9記載のシステム。
【請求項15】
パラメータは、メモリ・モジュールのメモリ・アドレスの各々に複数のメモリ動作を適用するようにシーケンサを管理するための複数の動作上のフィールドを含む、請求項9記載のシステム。
【請求項16】
パラメータは、読み出し動作の間にメモリ・モジュールに入力データ値を適用するようにシーケンサを管理するフィールド中のデフォルト・データを含む、請求項9記載のシステム。
【請求項17】
規定された動作符号の組は、パラメータにより指定された特定のアドレスに規定されたメモリ動作を実行するようにシーケンサを管理する動作上の符号を含む、請求項7記載のシステム。
【請求項18】
規定された動作上の符号の組は、メモリ・モジュールの特定の1つを試験するようにシーケンサを管理する動作上の符号を含む、請求項7記載のシステム。
【請求項19】
パラメータは、故障解析モードとBISTモードとの間を選択的に切り替えるようにシーケンサを管理するための故障解析フィールドを含む、請求項7記載のシステム。
【請求項20】
故障解析モード内で動作しているとき、パラメータのメモリ識別フィールドは、故障解析のためにメモリ・モジュールの特定の1つから及び故障解析のために使用されようとしている選択されたメモリ・モジュールからの多重化されたデータ・バスの一部分を指示するバス・スライス・フィールドから、データを選択するようにシーケンサを管理する、請求項19記載のシステム。
【請求項21】
規定された動作上の符号の組は、当該シーケンサの内部に記憶されたメモリ試験アルゴリズムを適用するように分散されたシーケンサの少なくとも1つを管理する動作上の符号を含む、請求項7記載のシステム。
【請求項22】
シーケンサとメモリ・モジュールとの間に接続された複数のメモリ・インタフェースを更に具備する、ここにおいて、該メモリ・インタフェースは該シーケンサの管理下で且つ該メモリ・モジュールの物理的特性に従って該メモリ・モジュールに命令を適用する、請求項1記載のシステム。
【請求項23】
BISTコントローラは、メモリ・モジュールへの適用に並行してシーケンサに命令を発する、請求項1記載のシステム。
【請求項24】
シーケンサは、メモリ・モジュールのタイミング要求条件に従ってそれぞれのメモリ・モジュールに命令を適用する、請求項1記載のシステム。
【請求項25】
シーケンサの各々が:
命令プロトコルに従って命令を実施する複数の命令コントローラ;及び
命令プロトコルに基づいて動作上の符号及びパラメータの組を識別するように命令の各々を解析するための命令パーザ、ここにおいて、該命令パーザはBISTコントローラから受け取られた該命令の動作上の符号に基づいて命令コントローラを選択的に呼び出す、
を具備する、請求項1記載のシステム
【請求項26】
下記を具備する装置:
一般化された命令プロトコルに準拠し且つ異なるタイミング要求及び物理的特性を有する複数の分散されたメモリ・モジュールを試験するためのBISTアルゴリズムを規定する命令を発するための中央集中化された(BIST)制御手段;及び
命令を解読するため並びにメモリ・モジュールのタイミング要求及び物理的特性に従って該メモリ・モジュールに命令を適用するための分散された手段。
【請求項27】
分散された手段は、メモリ・モジュールにBISTアルゴリズムを適用するために該メモリ・モジュールの物理的特性に基づいて変換されたアドレス信号及びデータ信号を発生させるためのインタフェース手段を含む、請求項26記載の装置。
【請求項28】
下記を具備する方法:
複数のメモリ・モジュールを試験するために命令プロトコルに準拠する一般化された命令を発することにより中央集中化されたコントローラからアルゴリズムの適用を管理すること;及び
命令プロトコルに従ってメモリ動作の1つ以上の系列として命令を適用するためにシーケンサの分散された組を用いて該命令を解読すること。
【請求項29】
一般化された命令は、メモリ・モジュールの物理的特性及びタイミング要求に関係なしにアルゴリズムを指定する、請求項28記載の方法。
【請求項30】
アルゴリズムの適用を管理することは、命令を処理するため且つ該命令をそれぞれのメモリ・モジュールに適用するために1つ以上のシーケンサを識別するシーケンサ識別子を含むように命令の各々を発することを具備する、請求項28記載の方法。
【請求項31】
シーケンサ識別子は、命令が解読されようとしており且つ全ての分散されたシーケンサにより適用されようとしていることを指示する同報通報識別子の1つ及び命令を解読するためにシーケンサの特定の1つを識別するユニキャスト識別子を具備する、請求項30記載の方法。
【請求項32】
アルゴリズムの適用を管理することは、規定された動作符号の組及び関連するパラメータの組から選択された動作上の符号を含むように命令の各々を発することを具備する、請求項28記載の方法。
【請求項33】
規定された動作上の符号の組は、当該期間の間にシーケンサが、通常の動作の間に使用したアドレス及びデータ回線からメモリ・モジュールを分離することにより試験するためのメモリ・モジュールを用意するBISTモードを選択的に使用可能にし、そして使用禁止にするように該シーケンサを管理する動作上の符号を含む、請求項32記載の方法。
【請求項34】
規定された動作符号の組は、パラメータにより指定されたアドレスの範囲に亘って1つ以上のメモリ動作の系列を適用するようにシーケンサを管理する動作上の符号を含む、請求項32記載の方法。
【請求項35】
規定された動作符号の組は、パラメータにより指定された特定のアドレスに規定されたメモリ動作を実行するようにシーケンサを管理する動作上の符号を含む、請求項32記載の方法。
【請求項36】
規定された動作符号の組は、メモリ・モジュールの特定の1つを試験するようにシーケンサを管理する動作上の符号を含む、請求項32記載の方法。
【請求項37】
規定された動作上の符号の組は、当該シーケンサの内部に記憶されたメモリ試験アルゴリズムを適用するように分散されたシーケンサの少なくとも1つを管理する動作上の符号を含む、請求項33記載の方法。
【請求項38】
アルゴリズムを発することは、メモリ・モジュールへの適用に並行して命令をシーケンサに発することを具備する、請求項29記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【公表番号】特表2007−524890(P2007−524890A)
【公表日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願番号】特願2006−507435(P2006−507435)
【出願日】平成16年3月19日(2004.3.19)
【国際出願番号】PCT/US2004/008664
【国際公開番号】WO2004/086411
【国際公開日】平成16年10月7日(2004.10.7)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
【公表日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願日】平成16年3月19日(2004.3.19)
【国際出願番号】PCT/US2004/008664
【国際公開番号】WO2004/086411
【国際公開日】平成16年10月7日(2004.10.7)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
[ Back to top ]