JP4795936B2 - Self-diagnostic (BIST) architecture with distributed instruction decoding and generalized instruction protocol - Google Patents
Self-diagnostic (BIST) architecture with distributed instruction decoding and generalized instruction protocol Download PDFInfo
- Publication number
- JP4795936B2 JP4795936B2 JP2006507435A JP2006507435A JP4795936B2 JP 4795936 B2 JP4795936 B2 JP 4795936B2 JP 2006507435 A JP2006507435 A JP 2006507435A JP 2006507435 A JP2006507435 A JP 2006507435A JP 4795936 B2 JP4795936 B2 JP 4795936B2
- Authority
- JP
- Japan
- Prior art keywords
- sequencer
- memory
- memory module
- instruction
- bist
- 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.)
- Expired - Fee Related
Links
- 238000012360 testing method Methods 0.000 claims description 54
- 238000000034 method Methods 0.000 claims description 20
- 238000004458 analytical method Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 6
- 238000004092 self-diagnosis Methods 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000010998 test method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 16
- 230000004044 response Effects 0.000 description 6
- 230000009897 systematic effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
Landscapes
- Tests Of Electronic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
本開示は、電子装置に関し、特に、電子装置における使用のための内蔵自己診断アーキテクチャに関する。 The present disclosure relates to electronic devices, and more particularly to a built-in self-diagnostic architecture for use in electronic devices.
内蔵自己診断(built-in self-test)(BIST)ユニットは、現在、一般に、自身の機能性及び信頼性を試験するために、メモリ・チップ及び他の集積回路に組み込まれている。例えば、特定のメモリ・モジュールに組み込まれたBISTユニットは、あり得るいずれかのメモリ不良を検出するために、種々のデータ・パターンを関連するメモリ・モジュールに書き込み且つメモリ・モジュールから読み出すことにより動作する。書き込まれたデータと続いてメモリ・モジュールから返されたデータを比較することにより、BISTユニットは、メモリ・モジュールのいずれかのメモリ・セルが不良であるかどうかを決定することが可能である。 Built-in self-test (BIST) units are now commonly incorporated into memory chips and other integrated circuits to test their functionality and reliability. For example, a BIST unit embedded in a particular memory module operates by writing various data patterns to and from the associated memory module to detect any possible memory failure To do. By comparing the written data with the data subsequently returned from the memory module, the BIST unit can determine whether any memory cell in the memory module is defective.
一体型のBISTユニットは、一般的に、種々の事前決定された試験パターンを発生し、メモリ試験の結果に基づいて、出力信号を肯定的に明示し(assert)、又は否定的に明示する(deassert)。種々のアルゴリズムは、メモリ不良を検出するために使用されることができる。例えば、全て0、全て1の試験パターン、又は交互になった0と1を有する“チェッカーボード”パターンは、メモリ・セル全体に亘って書き込まれることができる。その上、データは、連続して増加する又は減少するアドレス指定方式のような、任意の順序でセルに書き込まれることができる。 The integrated BIST unit typically generates various predetermined test patterns and asserts the output signal positively or negatively based on the results of the memory test ( deassert). Various algorithms can be used to detect memory failures. For example, an all zero, all one test pattern, or a “checkerboard” pattern with alternating zeros and ones can be written across the memory cell. Moreover, the data can be written to the cells in any order, such as a continuously increasing or decreasing addressing scheme.
このようにして、BISTユニットは、一般的に、メモリ・モジュールを使用する又はそうでなければ組み込んでおり、且つチップ内回路要素の機能性を検証するためにある種の事前決定されたアルゴリズムに従って動作する多くの型の集積回路に含まれる。しかしながら、電子装置は、一般的に、1個のチップからなる内部回路要素より多くのものを具備する。通常、電子装置は、回路基板上に搭載された複数の集積回路チップ及びサポートする複数の構成要素から構成される。 In this way, the BIST unit typically uses or otherwise incorporates a memory module and follows certain pre-determined algorithms to verify the functionality of on-chip circuit elements. Included in many types of integrated circuits that operate. However, electronic devices generally have more than internal circuit elements consisting of a single chip. In general, an electronic device is composed of a plurality of integrated circuit chips mounted on a circuit board and a plurality of supporting components.
一般的な計算装置の複雑性が増加するとともに、メモリ・チップ及び他の集積回路の個数は、増加する。例えば、従来の計算装置は、一般的に、しばしば異なる型の複数のメモリ・モジュールを含む。1個の計算装置の内部のメモリ・モジュールは、ランダム・アクセス・メモリ(random access memory)(RAM)、リード‐オンリ・メモリ(read-only memory)(ROM)、フラッシュ・メモリ、ダイナミック・ランダム・アクセス・メモリ(dynamic random access memory)(DRAM)、及び同様なものの種々の組み合わせを含むことができる。これらの種々の型のメモリ・モジュールは、しばしば、様々な試験手順を必要とし、且つ異なるビット密度、アクセス速度、アドレス指定要求、アクセス・プロトコル、及び他の独自性を有する。その結果、一般的な計算装置は、各メモリ・モジュールに対してそれぞれのBISTユニットを有することができ、各BISTユニットは、関連するメモリ・モジュールを試験するために特殊化されることがある。 As the complexity of common computing devices increases, the number of memory chips and other integrated circuits increases. For example, conventional computing devices typically include a plurality of different types of memory modules. The memory modules inside one computing device are random access memory (RAM), read-only memory (ROM), flash memory, dynamic random memory Various combinations of dynamic random access memory (DRAM) and the like can be included. These various types of memory modules often require different test procedures and have different bit densities, access speeds, addressing requirements, access protocols, and other uniqueness. As a result, a typical computing device can have a respective BIST unit for each memory module, and each BIST unit may be specialized to test the associated memory module.
[サマリー]
一般に言って、本開示は、1つ以上のメモリ・モジュールの動作を試験するための分散された、体系的内蔵自己診断アーキテクチャに向けられる。説明されたように、本アーキテクチャは、3つの階層の概念:中央集中化されたBISTコントローラ、シーケンサの組、及びメモリ・モジュールに接続されたメモリ・インタフェースの組、を含む。
[summary]
Generally speaking, this disclosure is directed to a distributed, systematic self-diagnostic architecture for testing the operation of one or more memory modules. As described, the architecture includes three layers of concepts: a centralized BIST controller, a set of sequencers, and a set of memory interfaces connected to memory modules.
BISTコントローラは、メモリ・モジュールの試験に関する中央集中化された高‐レベルの制御を提供する。BISTコントローラは、メモリ・モジュールに適用するためにシーケンサに中央に記憶され且つ維持管理された試験アルゴリズムを伝達する。BISTコントローラは、本明細書中に説明された命令プロトコルに準拠する一般化された命令の組としてアルゴリズムを伝達する。その上、命令プロトコルは、アルゴリズムが任意のタイミング要求、物理的構成又はメモリ・モジュールの固有のインタフェース特性に関係なく包括的に規定することを可能にする。その結果、種々の試験アルゴリズムは、容易に規定されることができ、且つ必要に応じて電子装置全体に亘る配布のために集中して維持管理されることができる。この結果、共通の試験パターンは、メモリ・モジュールの内部に余分に記憶される必要がない。 The BIST controller provides a centralized high-level control for memory module testing. The BIST controller communicates test algorithms centrally stored and maintained in the sequencer for application to the memory module. The BIST controller communicates the algorithm as a generalized set of instructions that conform to the instruction protocol described herein. In addition, the instruction protocol allows the algorithm to be comprehensively defined regardless of any timing requirements, physical configuration, or specific interface characteristics of the memory module. As a result, various test algorithms can be easily defined and centrally maintained for distribution throughout the electronic device as needed. As a result, the common test pattern need not be stored extra in the memory module.
シーケンサは、第2の水準の概念を提供する。シーケンサは、1つ以上のメモリ・モジュールを含む装置ブロックの内部に分散される。このようにして、各シーケンサは、1つ以上のメモリ・モジュールと関連付けられる。シーケンサは、BISTコントローラから高‐レベルの命令を受け取る。命令に応答して、シーケンサは、命令を実行するためにそれぞれのメモリ・インタフェースに1つ以上のメモリ動作の系列(sequence)を発する。例えば、シーケンサは、BISTコントローラからの1つの命令に応答して、あるアドレスの範囲に連続してアクセスするように命令を発することができる。シーケンサは、BISTコントローラに試験の結果を報告する。 The sequencer provides a second level concept. The sequencer is distributed within a device block that includes one or more memory modules. In this way, each sequencer is associated with one or more memory modules. The sequencer receives high-level instructions from the BIST controller. In response to the instruction, the sequencer issues a sequence of one or more memory operations to each memory interface to execute the instruction. For example, the sequencer can issue an instruction to continuously access a range of addresses in response to one instruction from the BIST controller. The sequencer reports the result of the test to the BIST controller.
シーケンサは、それぞれのメモリ・モジュールのタイミング特性に従って、動作の適用を制御する。例えば、シーケンサの各々は、それぞれのメモリ・モジュールのアクセス速度に従って、動作の系列の適用速度を制御する。1個のシーケンサは、共通のクロック・ドメイン上で動作する複数のメモリ・モジュールへの試験アルゴリズムの適用を制御することができる。したがって、適用タイミングを制御し且つ試験パターン・ドメインを順番に並べるための論理は、シーケンサの内部に組み込まれ、個々のメモリ・モジュールの内部に分散させられる必要がなく、又はBISTコントローラにより維持管理される必要もない。 The sequencer controls the application of operations according to the timing characteristics of each memory module. For example, each of the sequencers controls the application rate of the sequence of operations according to the access rate of the respective memory module. One sequencer can control the application of the test algorithm to multiple memory modules operating on a common clock domain. Therefore, the logic for controlling the application timing and sequencing the test pattern domains is built into the sequencer and does not need to be distributed within the individual memory modules or maintained by the BIST controller. There is no need to
第3の階層、メモリ・インタフェースは、メモリ・モジュールの各々に関する特定のインタフェース要求を取り扱う。メモリ・インタフェースの各々は、特定の信号インタフェース要求及びそれぞれ1つのメモリ・モジュールの物理的特性に従って設計されることができる。各メモリ・インタフェースは、メモリ動作を制御しているシーケンサから受け取り、必要に応じてそれぞれのメモリ・モジュールの物理的特性に基づいて、関連するアドレス信号及びデータ信号を含む、メモリ動作を変換する。例えば、メモリ・インタフェースは、行方向に又は列方向にメモリを埋めるためにメモリ・モジュールの行及び列に基づいて、制御しているシーケンサにより供給されるアドレスを変換することができる。別の1つの例として、メモリ・インタフェースは、チェッカーボード・パターンのような、若しくは隣接する行又は列が反対のパターンを有する“裸にされた(striped)”行又は列のような、特定のビット・パターンを作り出すためにデータを変換することができる。 The third layer, the memory interface, handles specific interface requests for each of the memory modules. Each of the memory interfaces can be designed according to specific signal interface requirements and the physical characteristics of each one memory module. Each memory interface receives memory from the sequencer controlling the memory operation and translates the memory operation, including associated address and data signals, as needed, based on the physical characteristics of the respective memory module. For example, the memory interface can translate the address supplied by the controlling sequencer based on the row and column of the memory module to fill the memory in the row or column direction. As another example, a memory interface may be a specific, such as a checkerboard pattern, or a “striped” row or column where adjacent rows or columns have the opposite pattern. Data can be transformed to create a bit pattern.
1つの実施形態において、システムは、複数のメモリ・モジュールを試験するためのアルゴリズムを記憶する中央集中化された内蔵自己診断(BIST)コントローラを具備する、ここにおいて、本BISTコントローラは、命令プロトコルに準拠する一般化された命令の組としてのアルゴリズムを記憶する。システムは、更に、命令を解読し(interpret)、その命令をメモリ・モジュールに適用する複数の分散されたシーケンサを具備する。 In one embodiment, the system comprises a centralized built-in self-test (BIST) controller that stores an algorithm for testing a plurality of memory modules, wherein the BIST controller is based on an instruction protocol. Store the algorithm as a generalized set of instructions that it conforms to. The system further comprises a plurality of distributed sequencers that interpret the instructions and apply the instructions to the memory module.
別の1つの実施形態において、装置は、一般化された命令プロトコルに準拠し且つ異なるタイミング要求及び物理的特性を有する複数の分散されたメモリ・モジュールを試験するためのBISTアルゴリズムを規定する命令を発するための中央集中化された内蔵自己診断(BIST)制御手段、及び命令を解読し且つメモリ・モジュールのタイミング要求及び物理的特性に従ってその命令をメモリ・モジュールに適用するための分散された手段、を具備する。 In another embodiment, an apparatus includes instructions defining a BIST algorithm for testing a plurality of distributed memory modules that conform to a generalized instruction protocol and have different timing requirements and physical characteristics. Centralized built-in self-diagnostic (BIST) control means for issuing, and distributed means for decoding instructions and applying the instructions to the memory module according to the timing requirements and physical characteristics of the memory module; It comprises.
別の1つの実施形態における方法は、中央集中化されたコントローラからそして複数のメモリ・モジュールを試験するために命令プロトコルに準拠する一般化された命令の形式でアルゴリズムを発すること、及び命令プロトコルに従って、1つ以上のメモリ動作の系列として命令を適用するために分散されたシーケンサの組を用いて命令を解読すること、を具備する。 In another embodiment, the method includes issuing an algorithm from a centralized controller and in the form of a generalized instruction that conforms to the instruction protocol to test a plurality of memory modules, and according to the instruction protocol Decoding instructions using a set of distributed sequencers to apply the instructions as a sequence of one or more memory operations.
本明細書中に説明された技術は、1つ以上の利点を実現することができる。例えば、本技術は、種々の試験アルゴリズムが容易に規定され、そして一般化された命令の形式で集中して維持管理されることを可能にする。一般化された命令は、解読のため及びメモリ・モジュールへの適用のために、電子装置全体に亘って配置されたシーケンサに配布されることができる。その結果、共通の試験アルゴリズムは、メモリ・モジュールの内部に余分に記憶される必要がない。 The techniques described herein can realize one or more advantages. For example, the present technology allows various test algorithms to be easily defined and centrally maintained in the form of generalized instructions. Generalized instructions can be distributed to sequencers located throughout the electronic device for decoding and application to memory modules. As a result, the common test algorithm need not be stored extra in the memory module.
更に、本技術は、異なるメモリ・モジュールにアルゴリズムの同時適用を提供することができ、これは、全体的な試験時間を削減でき且つメモリ間効果に関してより完全に試験することができる。その上、本アーキテクチャの分散された、体系的特質は、本技術が既存のチップ設計に容易に適用されることを可能にできる。 Furthermore, the present technology can provide simultaneous application of algorithms to different memory modules, which can reduce overall test time and can be more fully tested for inter-memory effects. Moreover, the distributed, systematic nature of the architecture can allow the technology to be easily applied to existing chip designs.
1つ以上の実施形態の詳細は、添付図面及び下記の明細書において言及される。他の特徴、目的、及び利点は、明細書及び図面から、並びに特許請求の範囲から明らかにされる。 The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
[詳細な説明]
図1は、分散された、体系的内蔵自己診断(BIST)アーキテクチャを有する一例の電子装置2を説明するブロック図である。特に、電子装置2は、装置ブロック6Aから6N(一括して、“装置ブロック6”)の試験について中央集中化された高‐レベルの制御を提供する内蔵自己診断(BIST)コントローラ4を含む。装置ブロック6の各々は、シーケンサ8、並びに1つ以上のメモリ・インタフェース10の組及び1つ以上のそれぞれのメモリ・モジュール12を含む。
[Detailed description]
FIG. 1 is a block diagram illustrating an example
一般に、BISTコントローラ4は、装置ブロック6への適用のためにシーケンサ8に試験アルゴリズムを提供しそして伝達する。BISTコントローラ4は、包括的で柔軟な命令プロトコルに準拠する命令の組としてシーケンサ8にアルゴリズムの各々を伝達する。各命令は、メモリ・モジュール12の物理的特性及びタイミング要求に関係なく1つ以上のメモリ動作を規定するパラメータの組及び動作上の符号(operational code)を指定する。このようにして、命令プロトコルは、種々の試験アルゴリズムが容易に規定され、そして電子装置2全体に亘って配布されることを可能にする。したがって、BISTコントローラ4は、アルゴリズムの維持管理及び配布について中央集中化された制御を提供する。その結果、共通の試験アルゴリズムは、装置ブロック6の内部に余分に記憶される必要がない。
In general, the
シーケンサ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の内部に組み込まれることができ、個々のメモリ・モジュールの内部に分散される必要がない。
The sequencer 8 decodes and executes the test algorithm provided by the
メモリ・インタフェース10は、メモリ・モジュール12の各々に関する特定のインタフェース要求を取り扱う。例えば、メモリ・インタフェース10の各々は、メモリ・モジュール12のそれぞれ1つの物理的特性及び特定の信号インタフェース要求に従って、設計されることができる。その結果、メモリ・インタフェース10の各々は、各それぞれのメモリ・モジュール12に対する特定のインタフェース信号、例えば、アドレス信号、データ信号、及び制御信号、の周りのインタフェースを“取り巻くもの(wrapper )”を提供するように、見られることができる。このようにして、電子装置2のBISTアーキテクチャは、BISTコントローラ4、シーケンサ8、及びメモリ・インタフェース10を含む、3つの階層の分散された配置を具備する。
The memory interface 10 handles specific interface requests for each of the memory modules 12. For example, each of the memory interfaces 10 can be designed according to a respective physical characteristic of the memory module 12 and specific signal interface requirements. As a result, each of the memory interfaces 10 provides a “wrapper” around the interface around specific interface signals for each respective memory module 12, for example, address signals, data signals, and control signals. Can be seen as. In this way, the BIST architecture of the
メモリ・モジュール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)、携帯型位置決定装置、及びその他のような、メモリ・モジュールを組み込んだいずれかの装置であってもよい。
The memory module 12 includes random access memory (RAM), read-only memory (ROM), flash memory, dynamic random access memory (dynamic random access memory). memory) (DRAM), SDRAM, RDRAM, DDR-RAM, combinations of these, and others, and the techniques described herein are in this regard Not limited. Moreover, the
図2は、BISTコントローラ4の一例の実施形態を説明するブロック図である。この図示された実施形態において、BISTコントローラ4は、N個の試験アルゴリズムの組を記憶するアルゴリズム・メモリ20を含む。下記に説明されるように、各アルゴリズムは、2進命令の組に従って規定される。1つの実施形態において、例えば、完全なアルゴリズムは、32ビット命令の組により指定されることができ、ここで、この命令は、メモリ・モジュール12の機能性を試験するために、装置ブロック6(図1)のアドレス範囲に亘って1つ以上のメモリ動作の系列を実行するために必要な全てのパラメータを規定する。
FIG. 2 is a block diagram illustrating an example embodiment of the
ユーザ・インタフェース22は、外部の試験装置からの制御信号のような、外部の入力に応答してアルゴリズム・コントローラ26を呼び出す(invoke)。あるいは、アルゴリズム・コントローラは、電子装置2の電源投入と同時に自動的に呼び出されることができる。一旦、呼び出されると、アルゴリズム・コントローラ26は、アルゴリズム・メモリ20の内部に記憶されたアルゴリズムの1つを選択するために、アルゴリズム選択信号(ALG_SELECT)をマルチプレクサ24に与える。一旦、選択されると、選択されたアルゴリズムを具備する2進命令のストリーム(stream)は、命令データ(CMD_DATA)として装置ブロック6に適用される。
The user interface 22 invokes the algorithm controller 26 in response to an external input, such as a control signal from an external test device. Alternatively, the algorithm controller can be called automatically upon powering on the
アルゴリズム・コントローラ26は、装置ブロックの各シーケンサ8から受信された受領信号(SEQ_ACK)に基づいて、装置ブロック6へのアルゴリズムの配信を制御する。特に、アルゴリズム・コントローラ26は、複数のシーケンサ8に選択されたアルゴリズムの各命令を順番に配信し、シーケンサ8の各々から受領信号を受け取ると、1つの命令から次の命令へ進む。このようにして、アルゴリズム・コントローラ26は、各シーケンサ8が次の命令に進む前に、メモリ・インタフェース10を介してメモリ・モジュール12への現在の命令の適用を完了したことを保証する。アルゴリズム・コントローラ26は、装置ブロック6、及び特に、電子装置2の内部に存在するシーケンサ8の個数を設定するために、プログラム的に又は静的に構成されることができる。付け加えると、アルゴリズム・コントローラ26は、装置ブロック6の任意の組み合わせを使用するメモリ・モジュール12の1つの、全ての、又は任意の組み合わせに所定のアルゴリズムを適用するようにプログラム的に構成されることができる。
The algorithm controller 26 controls the distribution of the algorithm to the device block 6 based on the reception signal (SEQ_ACK) received from each sequencer 8 of the device block. In particular, the algorithm controller 26 sequentially distributes each instruction of the selected algorithm to the plurality of sequencers 8, and when receiving a reception signal from each of the sequencers 8, advances from one instruction to the next instruction. In this way, the algorithm controller 26 ensures that the application of the current instruction to the memory module 12 via the memory interface 10 is completed before each sequencer 8 proceeds to the next instruction. The algorithm controller 26 can be configured programmatically or statically to set the number of device blocks 6 and, in particular, the number of sequencers 8 present inside the
アルゴリズム・メモリ20に記憶されたアルゴリズムに加えて、ユーザ・インタフェース22は、外部の入力を介してアルゴリズムをプログラム可能に受け取ることができる。ユーザ・インタフェース22は、記憶されたアルゴリズムの形式、即ち、その2進命令の中で各命令がアルゴリズム全体の中で試験を規定する2進命令の系列、と同様な形式で、マルチプレクサ24に受信されたアルゴリズムを配信する。このようにして、BISTコントローラ4は、中央集中化された、3つの階層の第1の階層の分散された自己診断アーキテクチャを提供する。
In addition to the algorithms stored in the
図3は、包括的なBISTアルゴリズムの1個の命令に関する、BISTコントローラ4とシーケンサ8との間の伝達を更に説明するタイミング図である。図示されるように、時刻T1で、BISTコントローラ4は、命令要請(CMD_REQ)相互接続を肯定的に明示し(assert)、且つCMD_DATA相互接続上でアルゴリズムの現在の命令を伝達する。
FIG. 3 is a timing diagram that further illustrates the communication between the
命令を受け取り且つ適用すると、シーケンサ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つの命令を開始することを可能にする。
Upon receipt and application of the instruction, the sequencer 8 positively asserts the corresponding SEQ_ACK signal. For example, in the illustrated example, each of the sequencers 8 acknowledges the respective signals SEQ_ACK [1], SEQ_ACK [2], SEQ_ACK [N], and SEQ_ACK [0] at times T2, T3, T4, and T5, respectively. Explicitly. In response, the
図4は、より詳細な、装置ブロック、例えば、装置ブロック6Aの一例の実施形態を説明するブロック図である。図示されるように、装置ブロック6Aは、シーケンサ8A、1組のメモリ・インタフェース10A‐10C(一括して、“メモリ・インタフェース10”)、及び1組のメモリ・モジュール12A‐12C(一括して、“メモリ・モジュール12”)を含む。図4に図示されるように、メモリ・インタフェース10の各々は、それぞれのメモリ・モジュール12に対応する。シーケンサ8Aは、制御されるべきメモリ・インタフェース10の個数、同様に、メモリ・モジュール12の中の最大のものに関する特性、例えば、最大のアドレスを設定するようにプログラム的に及び/又は静的に構成されることができる。
FIG. 4 is a block diagram illustrating an example embodiment of a more detailed device block, eg,
図5は、より詳細な、シーケンサ、例えば、シーケンサ8A、の一例の実施形態を説明するブロック図である。シーケンサ8Aは、一括してBISTアルゴリズムを規定するBISTコントローラ4から高‐レベルの命令を受け取る。下記に詳細に説明されるように、BISTコントローラ4は、包括的で、柔軟なフォーマットで命令を発し、そして1個の命令は、1つ以上のアドレスの範囲に亘って書き込まれるべき特定のビット・パターンを規定することができる。
FIG. 5 is a block diagram illustrating an example embodiment of a more detailed sequencer, eg, sequencer 8A. The sequencer 8A receives high-level instructions from the
一般に、シーケンサ8Aは、包括的なBIST命令を受け取り、それぞれのメモリ・モジュールの組に適用された1つ以上のメモリ動作の系列として各命令の適用を制御する。図示された実施形態において、シーケンサ8Aは、BISTコントローラ4から命令データ(CMD_DATA)を受け取る命令パーザ(command parser)(CMD PARSER)30を含む。命令パーザ30は、例えば、命令により指定された動作上の符号(op‐code)を識別することにより、指定された動作を識別するために受信された命令を処理する。
In general, the sequencer 8A receives a generic BIST instruction and controls the application of each instruction as a sequence of one or more memory operations applied to each set of memory modules. In the illustrated embodiment, the sequencer 8A includes a command parser (CMD PARSER) 30 that receives command data (CMD_DATA) from the
指定された動作に基づいて、命令パーザ30は、命令から1つ以上のパラメータを抽出することができ、対応する命令コントローラ(CMD CONTROLLER)34A‐34Nの1つを選択することができる。換言すれば、命令コントローラ34の各1つは、CMD_DATAにより指定されることができる異なる命令に対応する。命令パーザ30は、選択された命令コントローラ34を呼び出し、受信された命令から抽出されたパラメータを渡す。別々に図示されているが、命令コントローラ34は、サポートされた命令の各々を実行するための論理を有する1個の機能ブロックに統合され及び/又は集積されることができる。
Based on the specified operation, the
各命令に応答して、呼び出された命令コントローラ34の1つは、各メモリ・インタフェース10に1つ以上の動作の系列を発する。特に、呼び出された命令コントローラ34の1つは、その系列の各動作を実行するために、適切な命令制御信号(CMD_CTRL_SIGNALS)を順番に駆動する。下記に更に説明されるように、命令制御信号は、受け取る側のメモリ・インタフェース10にメモリ・アドレス及びデータを与えるための信号、並びにビットを反転させるため、読み出し動作又は書き込み動作を実行するため、行を反転させるため、及びその他を行うために、受け取る側のメモリ・インタフェースを管理するための信号、を含むことができる。 In response to each instruction, one of the called instruction controllers 34 issues one or more sequences of operations to each memory interface 10. In particular, one of the called instruction controllers 34 in turn drives the appropriate instruction control signal (CMD_CTRL_SIGNALS) to perform each operation in the sequence. As described further below, the instruction control signal performs a read or write operation to invert the signal, as well as a bit for providing the memory address and data to the receiving memory interface 10. Signals for managing the receiving memory interface may be included to invert the row and to do the other.
その上、命令コントローラ34は、それぞれのメモリ・モジュール12のタイミング特性に従って、動作の適用を制御する。したがって、共通のクロック・ドメイン上で動作するメモリ・モジュール12に関する動作の順番に並べるため及び適用タイミングを制御するための論理は、共通シーケンサ8の内部に組み込まれることができ、個々のメモリ・モジュールの内部に配布される必要はない。 In addition, the instruction controller 34 controls the application of operations according to the timing characteristics of each memory module 12. Therefore, the logic for arranging the order of operations related to the memory modules 12 operating on the common clock domain and for controlling the application timing can be incorporated in the common sequencer 8, and the individual memory modules can be incorporated. There is no need to be distributed inside.
シーケンサ8Aは、例えば、MEM[0]_DOUTからMEM[N]_DOUT全体に亘る信号を介して、試験されたメモリ・モジュール12からデータを受け取り、BISTコントローラ4に戻す又はマルチプレクサ37を介して外部の装置に戻すデータ及びデータ選択信号39を選択的に伝達する。このようにして、シーケンサ8は、どのような不良も識別するためにデータの解析を可能にする。
The sequencer 8A receives data from the tested memory module 12 via, for example, signals across MEM [0] _DOUT to MEM [N] _DOUT and returns it to the
このようにして、シーケンサ8は、BISTコントローラ4が包括的で柔軟な命令フォーマットを使用して、アルゴリズムの記憶及び発行を集中的に管理することを可能にする。シーケンサ8は、命令プロトコルに従って包括的なBIST命令を受け取り、それぞれのメモリ・モジュール12の組への適用に関する1つ以上のメモリ動作の系列を発生させ且つ発することにより、命令の適用を制御する、これにより、分散された階層的な自己診断アーキテクチャの第2の階層を提供する。
In this way, the sequencer 8 allows the
図6は、それぞれのメモリ・モジュール12に関する特定のインタフェース要求を取り扱うことにより、分散されたBISTアーキテクチャの概念の最終の層を提供するメモリ・インタフェース41の一例の実施形態を説明するブロック図である。 FIG. 6 is a block diagram illustrating an example embodiment of a memory interface 41 that provides a final layer of distributed BIST architecture concepts by handling specific interface requirements for each memory module 12. .
図示された実施形態において、メモリ・インタフェース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アルゴリズムがそのメモリ・モジュールに適用されることを可能にする。
In the illustrated embodiment, the memory interface 41 includes layers of
メモリ・インタフェース41は、更に、シーケンサ8により与えられるように、BIST_DATA信号及びデフォルト・データ(DEFAULT_DIN)を受け取るデータ発生ユニット44を含み、シーケンサにより与えられる制御信号(BIST_DATA_GEN_CTRL)及び対応するメモリ・モジュール12の特定の物理的特性に基づいて、変換されたBISTデータ信号49(BIST_DATA_T)を発生する。より具体的に言うと、下記に更に詳細に説明されるように、データ発生ユニット44は、アルゴリズムの各動作の期間に、メモリ入力に適用された正確なデータ(RAM_DIN)を発生する。データ発生ユニット44は、それぞれのメモリ・モジュール12の物理的構成、例えば、物理的な行及び列構成、に基づいて、同様にシーケンサ8Aにより指定された例えば、チェッカーボード、反転された、その他の、ビット・パターンに基づいて、変換されたBISTデータを発生する。
The memory interface 41 further includes a
例えば、シーケンサ8は、メモリ・モジュール内部のデータの列が1と0との間を交互にかわることを必要とするチェッカーボード・ビット・パターンを要請することができる。しかしながら、異なるメモリ・モジュール12は、異なる行及び列構成で配置されることがある。その結果、所定のアドレスに対するメモリ・セルは、異なる行−列構成を有するメモリ・モジュール12に対して異なる行及び列に配置されることがあり得る。例えば、256ビット・メモリ・モジュール12は、128行及び2列、32行×8列、16行×16列、及びその他、のように配置されることができる。その結果、この行列の全体に亘り、チェッカーボードのような特定のパターンを書き込むことは、メモリ・モジュールの固有の行−列構成の知識を必要とする。下記に更に詳細に説明されるように、データ発生ユニット44は、シーケンサ8により与えられたデータを処理し、必要に応じて、所望のビット・パターンが正確に書き込まれることを確実にするために、そのデータを変換する、例えば、データを反転する。
For example, the sequencer 8 can request a checkerboard bit pattern that requires the data columns within the memory module to alternate between 1 and 0. However, different memory modules 12 may be arranged in different row and column configurations. As a result, memory cells for a given address may be placed in different rows and columns for memory modules 12 having different row-column configurations. For example, the 256-bit memory module 12 can be arranged as 128 rows and 2 columns, 32 rows x 8 columns, 16 rows x 16 columns, and others. As a result, writing a specific pattern, such as a checkerboard, throughout this matrix requires knowledge of the unique row-column configuration of the memory module. As will be described in more detail below, the
同様に、アドレス発生ユニット42は、シーケンサ8Aにより指定されたアドレス指定要求に基づいて、並びにメモリ・モジュールの行及び列の物理的構成に基づいて、メモリ・モジュール12に適用されるアドレスを発生する。例えば、ある複数のBIST試験において、シーケンサ8Aは、行(又は列)第1様式で、BISTデータを書き込むようにメモリ・インタフェース41に命令する、即ち、次の行(又は列)に進む前に各行(又は列)が完全に書き込まれることを必要とする。これらの要求条件が、行及び列構成に特有であるので、アドレス発生ユニット42は、処理する前に、シーケンサ8Aにより与えられたアドレスを全体の行(又は列)を移動するように適切なものに変換する。
Similarly, the
その結果、シーケンサは、それぞれの命令により規定され、そのシーケンサと関連する最大の大きさのメモリ・モジュールにより制限されたアドレス空間を順番に移動することにより動作を発することが可能である。各メモリ・インタフェース、例えば、メモリ・インタフェース41は、必要に応じて、適切なメモリ・セルに動作を適用するために、受信されたアドレスを変換する。例えば、列第1BISTアルゴリズムに関して、シーケンサ8は、順を追って複数のアドレスに動作を発し、他方において、アドレス発生ユニット42は、メモリ・モジュール12の列に沿ったようになるようにメモリ・セルにアクセスするために受信されたアドレスを計算により変換する。この例において、アドレス発生ユニット42は、シーケンサ8がアドレス空間を増加させているか又は減少させているかどうかに基づいて、最も重要でない列から最も重要な列まで列方向の様式で、メモリ・モジュール12をアクセスするためにアドレスを変換する。
As a result, the sequencer can initiate operations by sequentially moving through an address space defined by each instruction and limited by the largest memory module associated with the sequencer. Each memory interface, eg, memory interface 41, translates received addresses as needed to apply operations to the appropriate memory cells. For example, with respect to the column first BIST algorithm, the sequencer 8 issues operations to a plurality of addresses in order, while the
コンパレータ48は、メモリ・モジュール12から読み出されたデータ(RAM_DOUT)が、予期されたように、メモリ・モジュールのそのアドレスに最後に書き込まれたデータに等しいかどうかを決定する。比較が不合格である場合、即ち、メモリ・モジュール12から読み出されたデータが、以前に書き込まれたデータに等しくないとき、コンパレータ48は、メモリ・エラーが検出されたことを表示するために、BIST_FAIL信号を肯定的に明示する。
このようにして、メモリ・インタフェース41は、高次‐水準のシーケンサにより発せられた連続したメモリ動作を処理し、メモリ・モジュールの特定の物理的特性に基づいて、必要に応じて、シーケンサにより与えられたデータ及びアドレスを変換する、これにより、分散された階層的自己診断アーキテクチャの第3の階層を提供する。その結果、シーケンサは、各メモリ・モジュール12の物理的特性及び容量に関する詳細な知識を必要とすることなく、複雑なBISTアルゴリズムに関する動作を発することが可能である。 In this way, the memory interface 41 processes successive memory operations issued by the higher-level sequencer and is provided by the sequencer as needed based on the specific physical characteristics of the memory module. Data and addresses, thereby providing a third layer of a distributed hierarchical self-diagnostic architecture. As a result, the sequencer can issue operations on complex BIST algorithms without requiring detailed knowledge of the physical characteristics and capacity of each memory module 12.
図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)を発生する。
FIG. 7 is a block diagram illustrating an example embodiment of the data generation unit 44 (FIG. 6). In the illustrated embodiment, the
特に、シーケンサ8は、連続データ・パターン、チェッカーボード・データ・パターン、水平ストライプ・データ・パターン及び垂直ストライプ・データ・パターンのような、データ・パターンを指定するために、反転ビット信号(BIST_INVERT_BITS)、反転行信号(BIST_INVERT_ROWS)、及び反転列信号(図示されていない)を肯定的に明示し、そして否定的に明示する。反転ビット又は反転行信号がどちらも肯定的に明示されないならば、BIST_DATA信号は、修正なしでXORゲート52、54を通過する。その結果、データ発生ユニット44は、修正なしでシーケンサ8から指示されたデータでメモリ・モジュール12を満たすために、変換されたデータ信号49(BIST_DATA_T)を発生する。
In particular, the sequencer 8 uses an inverted bit signal (BIST_INVERT_BITS) to specify a data pattern, such as a continuous data pattern, a checkerboard data pattern, a horizontal stripe data pattern, and a vertical stripe data pattern. , Invert row signal (BIST_INVERT_ROWS), and invert column signal (not shown) are positively specified and negatively specified. If neither the inverted bit or the inverted row signal is positively asserted, the BIST_DATA signal passes through the
BIST_INVERT_ROW信号が設定されるならば、データ発生ユニット44は、最も重要でない(最下位)行アドレス・ビット(LSB_ROW_ADDR)により指示されるように、行が横切られるたびに、値を反転させる。その結果、ANDゲート50は、XORゲート52にシーケンサにより指示された値を反転させる、これにより、隣接する行に書き込まれる値を反転させる。同様な機能性は、列が横切られるときに、値を反転させるように与えられることができる。BIST_INVERT_BITS信号が肯定的に明示されるとき、データ発生ユニット44は、シーケンサにより指示された値を自動的に反転させる。これは、異なる行列の対応する複数のセル間の値を反転させる際に有用である。
If the BIST_INVERT_ROW signal is set, the
DEFAULT_DINフィールドは、メモリ・モジュール12に対する読み出し動作の間にメモリ・モジュールに適用されるデフォルト・データ値を設定する。マルチプレクサ56は、BIST_WRITE信号により指示されるように、書き込み動作又は読み出し動作が実行されているかどうかに基づいて、DEFAULT_DINデータとXORゲート54により発生されたデータとの間で選択する。
The DEFAULT_DIN field sets a default data value that is applied to the memory module during a read operation to the memory module 12.
図8は、BISTコントローラ4により発せられた命令の一例のデータ構造を説明するブロック図である。図示された実施形態において、命令60は、シーケンサ識別子(identifier)(ID)62、及びペイロード64を含む。下記に更に詳細に説明されるように、シーケンサID62は、それに対して命令60が発せられようとしているシーケンサ、例えば、シーケンサ8Aを識別する。
FIG. 8 is a block diagram illustrating an example data structure of an instruction issued by the
BISTコントローラ4は、全てのシーケンサ8に命令を同報配信(broadcast )する、又はシーケンサの特定の1つにユニキャスト(unicast)様式で命令を発することができる。特に、BISTコントローラ4は、シーケンサ8の1つがそのシーケンサにユニキャスト命令を送るために、シーケンサID62を固有の識別子に設定する。同報配信命令に関して、BISTコントローラ4は、シーケンサID62を、0×0のような同報配信識別子に設定する。
The
命令60のペイロード64は、命令それ自身を規定する2進データを搬送する。特に、ペイロード64は、動作上の符号(OP CODE)66及び1組のパラメータ68を含む。一般に、OP CODE66は、受け取る側のシーケンサ8により実行されるべき特定の機能を指定する。次の表は、動作上の符号の例示的な組を列挙する。
1つの実施形態において、OP CODE66及びパラメータ68は、それぞれ、3ビット及び29ビットを具備し、32ビット命令を形成する。パラメータ68の形式及び意味は、OP CODE66により指定されるように、命令の型に依存する。
In one embodiment,
図9Aは、RESET命令に関するパラメータ68の一例のデータ構造を図示する。図示されるように、パラメータ68の問題とされるビットはビット28だけであり、そしてそれは、BISTモードを選択的に使用可能にする及び使用禁止にするために、肯定的に明示される又は否定的に明示されることができる。肯定的に明示されたとき、受け取る側のシーケンサ8は、それぞれの装置ブロック6を試験するために、試験アルゴリズムを適用するためのモードに入る。否定的に明示されたとき、受け取る側のシーケンサは、現在のアルゴリズムをリセットし、終了する。
FIG. 9A illustrates an example data structure of
図9Bは、EXECUTE命令に関するパラメータ68の一例のデータ構造を図示する。図示されるように、EXECUTE命令に関して、パラメータ68は、それぞれのメモリ・モジュール12の固有のタイミング特性に従って、アドレスの範囲に亘りメモリ動作の系列を適用するように受け取る側のシーケンサ8を管理する。
FIG. 9B illustrates an example data structure of
一旦、受け取られると、デフォルトにより、シーケンサ8は、それぞれの装置ブロックの内部の最大のメモリ・モジュール12のアドレス範囲に亘り指定されたメモリ動作を反復して実行する。しかしながら、SINGLE ROW(SR)ビットが使用可能にされるならば、シーケンサ8は、行アドレスを一定に維持管理しながら、最大列ビット選択権を有するメモリ・モジュール12の全ての列に対して規定されたメモリ動作の系列を実行する。 Once received, by default, the sequencer 8 repeatedly performs the specified memory operation over the largest memory module 12 address range within each device block. However, if the SINGLE ROW (SR) bit is enabled, the sequencer 8 defines for all columns of the memory module 12 that have the maximum column bit selection while maintaining the row address constant. A series of memory operations performed.
メモリ動作の系列を適用する場合に、シーケンサ8は、パラメータ68のADD INC/DECビットの状態に基づいて、それぞれの装置ブロック6の内部のメモリ・モジュール12の中の最大のものによりサポートされるアドレス範囲にわたり増加させるか又は減少させるかのどちらかである。例えば、ADD INC/DECが肯定的に明示されるならば、シーケンサ8は、0から始まり最大のアドレスに進む各アドレスに規定されたメモリ動作を適用する。しかしながら、ADD INC/DECが否定的に明示されるならば、シーケンサ8は、最大のアドレスから始まり0に減少する各アドレスに規定されたメモリ動作を適用する。DEF DINフィールドは、メモリ・モジュールに対する読み出し動作の間に、メモリ・モジュール12に適用されるデフォルト・データ値を設定する。
When applying a sequence of memory operations, the sequencer 8 is supported by the largest of the memory modules 12 within each device block 6 based on the state of the ADD INC / DEC bit of
リプリング行(rippling row)(RR)フィールドは、列方向様式で、即ち、次の列に進む前に全体の列に動作を適用することにより、規定されたメモリ動作を適用するようにシーケンサ8を管理する。換言すれば、シーケンサ8の各々は、メモリ動作を適用しながら且つ行アドレスを“リプリング”させながら、列アドレスを一定に保持する。 The ripple row (RR) field allows the sequencer 8 to apply a specified memory operation in a column-wise manner, that is, by applying the operation to the entire column before proceeding to the next column. to manage. In other words, each of the sequencers 8 keeps the column address constant while applying memory operations and “rippling” the row address.
反転ビット(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により指令された値を自動的に反転させる。
Invert bit (IB) field, invert row (IR) field, and invert column (IC) field are continuous data pattern, checkerboard data pattern, horizontal stripe pattern It can be used to specify data patterns for testing the memory module 12, such as data patterns and vertical stripe data patterns. More specifically, if the
動作フィールド(OP1−OP8)は、各メモリ・アドレスに適用されるべき動作の組を規定するために使用されることができる。例えば、OP1のような、各動作フィールドは、2ビットを具備する。第1番目のビットは、動作が読み出しであるか又は書き込みであるかどうかを指示するために、肯定的に明示される又は否定的に明示されることができる。第2番目のビットは、書き込まれるべきデータ、即ち、0又は1、に基づいて設定されることができる。動作の個数(NUM OPS)フィールドは、各メモリ・アドレスへの適用のために、幾つのの動作が規定されたかについて、シーケンサ8を指示する。このようにして、1個の命令は、全体のBISTアルゴリズムの内部でステップを包括的に規定するために使用されることができ、各ステップは、受け取る側のシーケンサ8の装置ブロック6を用いて、メモリ・モジュール12の各アドレスに適用されるように1つ以上の動作を規定することができる。
The operation fields (OP1-OP8) can be used to define the set of operations to be applied to each memory address. For example, each operation field, such as OP1, comprises 2 bits. The first bit can be specified positively or negatively to indicate whether the operation is a read or a write. The second bit can be set based on the data to be written,
図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からの多重化されたデータ・バスのどの部分が故障解析のために使用されるかを指示するために使用される。
FIG. 9C illustrates an example data structure of
図9Dは、SET ADDRESS命令のためのパラメータ68の一例のデータ構造である。この命令に関して、パラメータ68は、BISTステップの適用のために特定のメモリ・アドレスを設定するアドレス・フィールド(ADDRESS)を含む。これは、SINGLE WORD ACCESS命令と結合することで有用であることがある。パラメータ68は、試験アルゴリズムに関する最大のアドレス制限を指定するための制限(LIMIT)フィールドも含む。1つの実施形態において、LIMITフィールドは、下記に制限を設定するための2ビット・データ・フィールドを具備する:(1)装置ブロック6の最大のメモリ・モジュール12の最大アドレス、(2)2により除算された最大アドレス、(3)4により除算された最大アドレス、及び(4)8により除算された最大アドレス。
FIG. 9D is an example data structure of
図9Eは、SINGLE WORD ACCESS命令のためのパラメータ68の一例のデータ構造である。この命令に関して、パラメータ68は、受け取る側のシーケンサ8が、ステップを適用した後それぞれの現在のBISTアドレスを変更すべきかどうかを制御する使用可能アドレス変更(enable address change )(ENADC)ビットを含む。もし、使用可能にされたならば、アドレス増加/減少(ADD INC/DEC)ビットは、現在のBISTアドレスが増加されるべきか又は減少されるべきかどうかを制御する。反転ビット(IB)フィールド、反転行(IR)フィールド、及び反転列(IC)フィールドは、EXECUTE命令に関して上記に説明されたように、連続データ・パターン、チェッカーボード・データ・パターン、水平ストライプ・データ・パターン及び垂直ストライプ・データ・パターンのような、メモリ・モジュール12を試験するためのデータ・パターンを指定するために使用されることができる。データ・フィールド(DATA)は、試験されたメモリ・モジュール12の読み出し動作のための入力データに関するデフォルト値を供給するために使用される。
FIG. 9E is an example data structure of
表2は、説明された命令プロトコルに従ってBISTコントローラにより記憶され且つ発せられる一例のチェッカーボードBISTアルゴリズムを例証する。例証されるように、比較的複雑なチェッカーボード・メモリ試験アルゴリズムは、命令プロトコルを使用して、僅か4つの命令で説明されることができる。
表3は、説明された命令プロトコルに従ってBISTコントローラ4により記憶され且つ発せられた“ブランケット・マーチ(Blanket March )”BISTアルゴリズムの例を例証する。例証されるように、このメモリ試験アルゴリズムは、命令プロトコルを使用して、僅か6つの命令で説明されることができる。命令の各々は、規定された方向にメモリ空間全体を横断するメモリ動作の系列を発行するように、受け取る側のシーケンサ8に指示する。その上、命令の幾つかは、シーケンサが利用可能なメモリ空間の内部の各アドレスに複数のメモリ動作を適用するように管理する。このようにして、複雑なBISTアルゴリズムは、階層的自己診断アーキテクチャの構成要素(constituent components)により、全体に亘って容易に配布され且つ適用されることができる。
図10は、電子装置2、及び、特に、BISTコントローラ4、シーケンサ8、及びメモリ・インタフェース10の分散された、3階層の自己診断アーキテクチャの動作例を説明するフローチャートである。
FIG. 10 is a flowchart for explaining an operation example of the
最初に、BISTコントローラ4は、内部アルゴリズム・メモリ、例えば、アルゴリズム・メモリ20の内部に記憶されたアルゴリズムの1つを選択する(70)。アルゴリズムを選択すると、BISTコントローラ4は、1つ以上のシーケンサ8にアルゴリズムにより規定された第1番目の命令を発する(72)。
Initially, the
各受け取る側のシーケンサ8は、規定された動作符号及び対応するパラメータを識別するために命令を解析する(78)。メモリ・アクセス命令に関して、各受け取る側のシーケンサ8は、命令により規定される開始アドレスを初期化する(80)。次に、シーケンサ8は、メモリ動作を発する、即ち、適切なアドレス信号、データ信号及び制御信号を発生する(82)。 Each receiving sequencer 8 parses the instructions to identify the defined motion codes and corresponding parameters (78). For the memory access instruction, each receiving sequencer 8 initializes a start address defined by the instruction (80). Next, the sequencer 8 issues a memory operation, ie, generates appropriate address signals, data signals, and control signals (82).
順番に、各受け取る側のメモリ・インタフェース10は、各それぞれのメモリ・モジュール12の物理的特性に基づいてデータ及びアドレス信号を変換し(92、94)、変換された信号をメモリ・モジュールに適用する(96)。更に、読み出しメモリ・アクセスに関して(97)、メモリ・インタフェース10は、それぞれのメモリ・モジュールから読み出されたデータを予期されたデータと自動的に比較する(98)。比較に基づいて、メモリ・インタフェース10は、試験されたメモリ・モジュール12の状態(status)を報告するためにそれぞれのBIST故障信号を更新する(100)。 In turn, each receiving memory interface 10 converts data and address signals based on the physical characteristics of each respective memory module 12 (92, 94) and applies the converted signals to the memory modules. (96). Further, with respect to read memory accesses (97), the memory interface 10 automatically compares the data read from the respective memory modules with the expected data (98). Based on the comparison, the memory interface 10 updates each BIST failure signal to report the status of the tested memory module 12 (100).
一旦、メモリ動作がメモリ・インタフェース10により発せられると、シーケンサ8は、追加の動作が系列の内部の現在のメモリ・アドレスに適用されようとしているかどうかを決定する(84)。もしそうであれば、シーケンサ8は、同様な様式でメモリ・インタフェース10に命令を発する(82)。追加の動作が必要とされないならば、シーケンサ8は、アドレスを更新し(86)、命令により規定された全体のアドレス範囲が順番に並べられていたかどうか、又は追加のアドレスが残っているかどうか、を決定する(88)。全体のアドレス範囲が順番に並べられていて、メモリ動作が範囲の内部のアドレスに適用されている場合、シーケンサ8は、BISTコントローラ4に受領信号を発する(90)。 Once a memory operation is issued by the memory interface 10, the sequencer 8 determines whether additional operations are going to be applied to the current memory address within the sequence (84). If so, the sequencer 8 issues a command to the memory interface 10 in a similar manner (82). If no additional action is required, the sequencer 8 updates the address (86) and whether the entire address range defined by the instruction has been ordered or whether additional addresses remain, Is determined (88). If the entire address range is ordered and the memory operation is applied to an address within the range, the sequencer 8 issues a receipt signal to the BIST controller 4 (90).
命令を用いて目的とされたシーケンサ8の各々から受領を受け取ると(74)、BISTコントローラ4は、選択されたアルゴリズムに対する最後の命令が発せられたかどうかを決定する。もしそうでなければ、BISTコントローラ4は、処理を繰り返し、追加の命令を発行する(72)。一旦、全ての命令がシーケンサ8及びメモリ・インタフェース10により発せられ、適用されると(76)、BISTコントローラ4は、現在のBIST試験を終了する。
Upon receipt (74) from each of the sequencers 8 targeted using the instructions, the
種々の実施形態が、説明されてきた。これら及び他の実施形態は、特許請求の範囲内である。 Various embodiments have been described. These and other embodiments are within the scope of the claims.
24…マルチプレクサ、37…マルチプレクサ、39…データ選択信号、45…マルチプレクサ、46…マルチプレクサ、49…BISTデータ信号、50…ANDゲート、52…XORゲート、54…XORゲート、56…マルチプレクサ、60…命令、68…パラメータ。
24 ... Multiplexer, 37 ... Multiplexer, 39 ... Data selection signal, 45 ... Multiplexer, 46 ... Multiplexer, 49 ... BIST data signal, 50 ... AND gate, 52 ... XOR gate, 54 ... XOR gate, 56 ... Multiplexer, 60 ...
Claims (38)
複数のメモリ・モジュールを試験するためのアルゴリズムを記憶する中央集中化された内蔵自己診断(BIST)コントローラ、ここにおいて、該BISTコントローラは命令プロトコルに準拠する一般化された命令の組として該アルゴリズムを記憶する;及び
命令プロトコルに基づいて該BISTコントローラからの命令を解読し且つ一般化された命令をメモリ・モジュールに適用する複数の分散されたシーケンサ、各シーケンサは共通のクロックドメイン上で動作する1つ以上のメモリ・モジュールと関連する、ここにおいて、該複数のメモリ・モジュールは、グループ化され、所定の基準に基づいてそれぞれのシーケンサに割り当てられる。A system with:
A centralized built-in self-diagnostic (BIST) controller that stores an algorithm for testing a plurality of memory modules, wherein the BIST controller defines the algorithm as a generalized instruction set that conforms to an instruction protocol. A plurality of distributed sequencers that decode instructions from the BIST controller and apply the generalized instructions to the memory module based on the instruction protocol, each sequencer operating on a common clock domain The plurality of memory modules associated with one or more memory modules are grouped and assigned to each sequencer based on a predetermined criterion .
命令プロトコルに従って命令を実施する複数の命令コントローラ;及び
命令プロトコルに基づいて動作上の符号及びパラメータの組を識別するように命令の各々を解析するための命令パーザ、ここにおいて、該命令パーザはBISTコントローラから受け取られた該命令の動作上の符号に基づいて命令コントローラを選択的に呼び出す、
を具備する、請求項1記載のシステムEach sequencer has:
A plurality of instruction controllers that implement instructions according to the instruction protocol; and an instruction parser for analyzing each of the instructions to identify a set of operational codes and parameters based on the instruction protocol, wherein the instruction parser is a BIST Selectively calling the instruction controller based on the operational sign of the instruction received from the controller;
The system of claim 1 comprising:
一般化された命令プロトコルに準拠し且つ異なるタイミング要求及び物理的特性を有する複数の分散されたメモリ・モジュールを試験するためのBISTアルゴリズムを規定する複数の命令を発するための中央集中化された内蔵自己診断(BIST)制御手段;及び
内蔵自己診断(BIST)制御手段から発せられた該複数の命令を解読するため並びにメモリ・モジュールのタイミング要求及び物理的特性に従って該メモリ・モジュールに命令を適用するための分散された手段、
前記分散された手段は複数のシーケンサを含み、各シーケンサは共通のクロックドメイン上で動作する1つ以上のメモリ・モジュールと関連する、ここにおいて、該複数のメモリ・モジュールは、グループ化され、所定の基準に基づいてそれぞれのシーケンサに割り当てられる。A device comprising:
Centralized built-in for issuing multiple instructions that define a BIST algorithm for testing multiple distributed memory modules that conform to a generalized instruction protocol and have different timing requirements and physical characteristics Self-diagnostic (BIST) control means; and applying instructions to the memory module to decode the plurality of instructions issued from the built-in self-diagnosis (BIST) control means and according to the timing requirements and physical characteristics of the memory module Distributed means for,
The distributed means includes a plurality of sequencers, each sequencer associated with one or more memory modules operating on a common clock domain, wherein the plurality of memory modules are grouped and defined Is assigned to each sequencer based on the criteria .
複数のメモリ・モジュールを試験するために共通の命令プロトコルに準拠する一般化された複数の命令を発することにより中央集中化された1つの内蔵自己診断(BIST)コントローラからの1つのアルゴリズムの適用を管理すること;及び
該命令プロトコルに従って複数のメモリ動作の1つ以上の系列として、該複数の命令を適用するために、シーケンサの分散された組を用いて該複数の命令を解読すること、各シーケンサは共通のクロックドメイン上で動作する1つ以上のメモリ・モジュールと関連する、ここにおいて、該複数のメモリ・モジュールは、グループ化され、所定の基準に基づいてそれぞれのシーケンサに割り当てられる。A method of testing a memory module, implemented in a system comprising a plurality of sequencers connected to a centralized controller and a memory module connected to the sequencer, the method comprises:
Apply one algorithm from one centralized self-diagnostic (BIST) controller centralized by issuing multiple generalized instructions that conform to a common instruction protocol to test multiple memory modules Deciphering the plurality of instructions using a distributed set of sequencers to apply the plurality of instructions as one or more sequences of a plurality of memory operations according to the instruction protocol; A sequencer is associated with one or more memory modules operating on a common clock domain, wherein the plurality of memory modules are grouped and assigned to each sequencer based on a predetermined criterion .
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45645103P | 2003-03-20 | 2003-03-20 | |
US60/456,451 | 2003-03-20 | ||
US10/630,480 US7392442B2 (en) | 2003-03-20 | 2003-07-29 | Built-in self-test (BIST) architecture having distributed interpretation and generalized command protocol |
US10/630,480 | 2003-07-29 | ||
PCT/US2004/008664 WO2004086411A1 (en) | 2003-03-20 | 2004-03-19 | Memory built-in self-test (bist) architecture having distributed command interpretation and generalized command protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007524890A JP2007524890A (en) | 2007-08-30 |
JP4795936B2 true JP4795936B2 (en) | 2011-10-19 |
Family
ID=44946867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006507435A Expired - Fee Related JP4795936B2 (en) | 2003-03-20 | 2004-03-19 | Self-diagnostic (BIST) architecture with distributed instruction decoding and generalized instruction protocol |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4795936B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5326800B2 (en) * | 2009-05-19 | 2013-10-30 | 富士通セミコンダクター株式会社 | Analysis apparatus and analysis method |
JP5611916B2 (en) * | 2011-09-16 | 2014-10-22 | 株式会社東芝 | Semiconductor integrated circuit |
US9069719B2 (en) * | 2012-02-11 | 2015-06-30 | Samsung Electronics Co., Ltd. | Method and system for providing a smart memory architecture |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10187554A (en) * | 1996-12-20 | 1998-07-21 | Samsung Electron Co Ltd | Semiconductor memory device with self-testing circuit |
JP2000011691A (en) * | 1998-06-16 | 2000-01-14 | Mitsubishi Electric Corp | Semiconductor testing apparatus |
JP2000111618A (en) * | 1998-09-30 | 2000-04-21 | Nec Ic Microcomput Syst Ltd | Bist circuit and semiconductor integrated circuit |
JP2003503698A (en) * | 1999-06-30 | 2003-01-28 | インフィネオン テクノロジーズ アクチェンゲゼルシャフト | Test device for memory inspection |
-
2004
- 2004-03-19 JP JP2006507435A patent/JP4795936B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10187554A (en) * | 1996-12-20 | 1998-07-21 | Samsung Electron Co Ltd | Semiconductor memory device with self-testing circuit |
JP2000011691A (en) * | 1998-06-16 | 2000-01-14 | Mitsubishi Electric Corp | Semiconductor testing apparatus |
JP2000111618A (en) * | 1998-09-30 | 2000-04-21 | Nec Ic Microcomput Syst Ltd | Bist circuit and semiconductor integrated circuit |
JP2003503698A (en) * | 1999-06-30 | 2003-01-28 | インフィネオン テクノロジーズ アクチェンゲゼルシャフト | Test device for memory inspection |
Also Published As
Publication number | Publication date |
---|---|
JP2007524890A (en) | 2007-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7392442B2 (en) | Built-in self-test (BIST) architecture having distributed interpretation and generalized command protocol | |
KR20050107628A (en) | Tiered built-in self-test (bist) architecture for testing distributed memory modules | |
KR900004889B1 (en) | Test pattern generator | |
US4639919A (en) | Distributed pattern generator | |
US5224101A (en) | Micro-coded built-in self-test apparatus for a memory array | |
US7848899B2 (en) | Systems and methods for testing integrated circuit devices | |
US5321701A (en) | Method and apparatus for a minimal memory in-circuit digital tester | |
EP1173853B1 (en) | Failure capture apparatus and method for automatic test equipment | |
JP4795936B2 (en) | Self-diagnostic (BIST) architecture with distributed instruction decoding and generalized instruction protocol | |
US6961273B2 (en) | RAM memory circuit having a plurality of banks and an auxiliary device for testing | |
US6907385B2 (en) | Memory defect redress analysis treating method, and memory testing apparatus performing the method | |
US6490700B1 (en) | Memory device testing apparatus and data selection circuit | |
US5856985A (en) | Test pattern generator | |
JP2000011693A (en) | Apparatus and method for transfer of data as well as apparatus and method for test of memory device | |
CN114174843B (en) | Tester channel multiplexing in a test apparatus | |
US20070260955A1 (en) | Test auxiliary device in a memory module | |
US7197677B1 (en) | System and method to asynchronously test RAMs | |
JPH11176194A (en) | Semiconductor-testing device | |
JP2002257906A (en) | Semiconductor test system and test method capable of efficiently testing semiconductor device with many pins | |
JP2002062340A (en) | Semiconductor testing apparatus | |
CN118795318A (en) | Testing system and method for display module | |
EP0143516A2 (en) | Multimode scan apparatus | |
JP3177975B2 (en) | One-chip microcomputer | |
JP2697593B2 (en) | Monitor burn-in device | |
JPH11353265A (en) | Information transmission device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100518 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100818 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100825 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110608 |
|
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: 20110628 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110728 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140805 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |