JP2022003680A - Method, apparatus and electronic device for testing memory of chip, computer-readable storage medium and computer program - Google Patents

Method, apparatus and electronic device for testing memory of chip, computer-readable storage medium and computer program Download PDF

Info

Publication number
JP2022003680A
JP2022003680A JP2021054103A JP2021054103A JP2022003680A JP 2022003680 A JP2022003680 A JP 2022003680A JP 2021054103 A JP2021054103 A JP 2021054103A JP 2021054103 A JP2021054103 A JP 2021054103A JP 2022003680 A JP2022003680 A JP 2022003680A
Authority
JP
Japan
Prior art keywords
memory
arithmetic
module
test
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021054103A
Other languages
Japanese (ja)
Other versions
JP7317885B2 (en
Inventor
グゥオ・ヅゥイー
Ziyu Guo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2022003680A publication Critical patent/JP2022003680A/en
Application granted granted Critical
Publication of JP7317885B2 publication Critical patent/JP7317885B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/48Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • G11C2029/2602Concurrent test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

To provide: a method, an apparatus and an electronic device for efficiently and flexibly testing a memory of a chip; a computer readable storage medium; and computer program.SOLUTION: A memory test process of a chip that includes a plurality of operation modules each of which includes at least one operation unit that includes at least one memory. The memory test process includes: a step 210 of generating a first test vector for a first operation module of the at least one operation module; and a step 220 of performing a memory test on the first operation module by using the generated first test vector independent of other operation modules of the at least one operation modules, the other operation modules being different from the first operation module.SELECTED DRAWING: Figure 2

Description

本開示は、主にチップの分野に関し、より具体的には、チップ用のメモリテスト方法と装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラムに関する。 The present disclosure relates primarily to the field of chips, and more specifically to memory testing methods and devices for chips, electronic devices, computer-readable storage media and computer programs.

人工知能の急速な発展に伴い、人工知能(AI)チップ(たとえば、システムオンチップSoC)の機能と計算能力もますます強力になり、その結果、AIチップ設計の規模や複雑さも急激に増加している。既存のAIチップには、スタティックランダムメモリ(SRAM)、ダイナミックランダムメモリ(DRAM)、キャッシュ(CACHE)、レジスタやフラッシュメモリ(FLASH(登録商標))などの多数のメモリ(memory)が埋め込まれている。これらのメモリはチップの様々な位置に配置され、様々な論理演算をサポートしている。 With the rapid development of artificial intelligence, the capabilities and computing power of artificial intelligence (AI) chips (eg, system-on-chip SoCs) have become more and more powerful, resulting in a rapid increase in the scale and complexity of AI chip design. ing. A large number of memories such as static random memory (SRAM), dynamic random memory (DRAM), cache (CACHE), registers and flash memory (FLASH (registered trademark)) are embedded in the existing AI chip. .. These memories are located at various positions on the chip and support various logical operations.

チップの製造過程において、プロセスフロー、設計などの多くの原因により、チップ上の一部のメモリが正確に動作できなくなる。したがって、工場出荷前に、通常、チップのメモリに対してメモリビルトインスキャンテストMBIST(Memory Built−In−Scan−Test)によりテストを行うことで、チップのメモリの有効性をテストし、不良メモリを交換したり修復したりする。 In the chip manufacturing process, some memory on the chip cannot operate correctly due to many causes such as process flow and design. Therefore, before shipping from the factory, the validity of the memory of the chip is usually tested by testing the memory of the chip by the memory built-in scan test MBIST (Memory Built-In-Scan-Test), and the bad memory is detected. Replace or repair.

本開示によれば、チップ用のメモリテスト手段を提供する。 The present disclosure provides memory testing means for chips.

本開示の第1態様では、チップ用のメモリテスト方法であって、前記チップは、少なくとも1つのメモリを含む少なくとも1つの演算ユニットを含む複数の演算モジュールを含み、該方法は、
少なくとも1つの演算モジュールのうちの第1演算モジュールに対して、第1テストベクトルを生成するステップと、
少なくとも1つの演算モジュールのうち第1演算モジュールとは異なる他の演算モジュールとは独立して、生成された第1テストベクトルを用いて、第1演算モジュールに対してメモリテストを実行するステップとを含んでなる、チップ用のメモリテスト方法を提供する。
The first aspect of the present disclosure is a memory test method for a chip, wherein the chip comprises a plurality of arithmetic modules including at least one arithmetic unit including at least one memory.
A step of generating a first test vector for the first arithmetic module of at least one arithmetic module,
A step of executing a memory test on the first arithmetic module using the generated first test vector independently of other arithmetic modules different from the first arithmetic module among at least one arithmetic module. Provides a memory testing method for the chip, including.

本開示の第2態様では、少なくとも1つのメモリを含む少なくとも1つの演算ユニットを含む複数の演算モジュールを含むチップ用のメモリテスト装置を提供する。該装置は、
少なくとも1つの演算モジュールのうちの第1演算モジュールに対して、第1テストベクトルを生成するように構成される第1テストベクトル生成モジュールと、
少なくとも1つの演算モジュールのうち、第1演算モジュールとは異なる他の演算モジュールとは独立して、生成された第1テストベクトルを用いて、第1演算モジュールに対してメモリテストを実行するように構成される第1メモリテストモジュールとを含む。
A second aspect of the present disclosure provides a memory test apparatus for a chip comprising a plurality of arithmetic modules including at least one arithmetic unit including at least one memory. The device is
A first test vector generation module configured to generate a first test vector for the first calculation module of at least one calculation module.
To execute a memory test on the first arithmetic module using the generated first test vector independently of other arithmetic modules different from the first arithmetic module among at least one arithmetic module. Includes a first memory test module to be configured.

本開示の第3態様では、電子機器であって、
1つ又は複数のプロセッサと、
1つ又は複数のプロセッサによって実行される際、本開示の第1態様による方法をこの電子機器に実行させる1つ又は複数のプログラムを記憶するメモリと
を含んでなる電子機器を提供する。
In the third aspect of the present disclosure, it is an electronic device.
With one or more processors
Provided is an electronic device comprising a memory for storing one or more programs that causes the electronic device to perform the method according to the first aspect of the present disclosure when executed by one or more processors.

本開示の第4の態様では、プロセッサによって実行される際、本開示の第1態様による方法を実現させるコンピュータプログラムが記憶されているコンピュータ可読記憶媒体を提供する。
本開示の第5態様では、コンピュータプログラムを提供し、該コンピュータプログラムがプロセッサによって実行される際、本開示の第1態様による方法を実現する。
A fourth aspect of the present disclosure provides a computer-readable storage medium in which a computer program that realizes the method according to the first aspect of the present disclosure is stored when executed by a processor.
A fifth aspect of the present disclosure provides a computer program and realizes the method according to the first aspect of the present disclosure when the computer program is executed by a processor.

本願による技術は、柔軟性が低く、時間がかかるためにAIチップの設計製造の要件を満たすことができないという従来のチップ用のメモリテスト手段(たとえば、MBIST)の問題を解決する。本開示によれば、AIチップのメモリテストの柔軟性を向上させ、チップのメモリテストの周期及び時限についてのプレッシャーを低減し、メモリテストを実行するのに必要な時間を短縮し、チップの製造及び生産のコストを削減することができる、改良されたチップ用のメモリテスト手段を提供する。 The technique according to the present application solves the problem of a conventional memory testing means (eg, MBIST) for a chip that is inflexible and time consuming to meet the requirements of designing and manufacturing AI chips. According to the present disclosure, the flexibility of the memory test of the AI chip is improved, the pressure on the memory test cycle and time of the chip is reduced, the time required to perform the memory test is shortened, and the chip is manufactured. And provide memory testing means for improved chips that can reduce production costs.

なお、本部分で説明される内容は、本開示の実施例のキーとなる特徴又は重要な特徴を識別することを意図しておらず、本開示の範囲を制限することも意図していない。本開示の他の特徴は、以下の明細書によって理解しやすくなる。 It should be noted that the content described in this section is not intended to identify key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the disclosure are facilitated by the following specification.

本開示の複数の実施例によるチップ用のメモリテスト手段が実現される例示的な環境の模式図を示す。Shown is a schematic diagram of an exemplary environment in which a memory test means for a chip according to a plurality of embodiments of the present disclosure is realized. 本開示の複数の実施例によるチップ用のメモリテストプロセスのフローチャートを示す。A flowchart of a memory test process for a chip according to a plurality of embodiments of the present disclosure is shown. 本開示の複数の実施例によるチップ用のメモリテスト手段が実現される別の例示的な環境の模式図を示す。FIG. 3 shows a schematic diagram of another exemplary environment in which the memory testing means for the chip according to the plurality of embodiments of the present disclosure is realized. 本開示の複数の実施例によるチップ用の演算ユニットのメモリテスト手段が実現される例示的な環境の模式図を示す。A schematic diagram of an exemplary environment in which the memory test means of the arithmetic unit for a chip according to a plurality of embodiments of the present disclosure is realized is shown. 本開示の複数の実施例によるチップ用のメモリテスト装置の模式的ブロック図を示す。A schematic block diagram of a memory test device for a chip according to a plurality of embodiments of the present disclosure is shown. 本開示の複数の実施例によるチップ用のメモリテスト装置のブロック図を示す。A block diagram of a memory test device for a chip according to a plurality of embodiments of the present disclosure is shown.

以下では、図面を参照しながら本願の例示的な実施例を説明し、ここで、理解を容易にするために本願の実施例の様々な詳細を含むが、これらは単に例示的なものであると理解すべきである。したがって、当業者が理解すべきことは、本願の範囲及び主旨を逸脱することなく、ここで記載された実施例に様々な変更及び修正を加えることができる。同様に、以下の説明では、周知の機能及び構成については、明確化及び簡明化のために説明を省略する。 In the following, exemplary embodiments of the present application will be described with reference to the drawings, which include various details of the embodiments of the present application for ease of understanding, but these are merely exemplary. Should be understood. Accordingly, what one of ordinary skill in the art should understand is that various changes and modifications can be made to the embodiments described herein without departing from the scope and gist of the present application. Similarly, in the following description, well-known functions and configurations will be omitted for the sake of clarity and simplification.

本開示の実施例の説明では、用語「含む」及び類似の用語は、オープンな包含、すなわち「含むが、これに限定されない」と理解されるべきである。用語「に基づく」は、「少なくとも部分的に基づく」と理解されるべきである。用語「1つの実施例」又は「該実施例」は、「少なくとも1つの実施例」と解釈されるべきである。用語「第1」、「第2」などは、異なる対象又は同じ対象を指すことができる。以下では、明示的かつ暗黙的な他の定義も含めることができる。 In the description of the embodiments of the present disclosure, the term "contains" and similar terms should be understood as open inclusion, i.e., "contains, but is not limited to". The term "based on" should be understood as "at least partially based". The term "one embodiment" or "the embodiment" should be construed as "at least one embodiment". The terms "first", "second" and the like can refer to different objects or the same object. Other explicit and implicit definitions can be included below.

本明細書で使用される場合、用語「チップ」は、既存又は将来開発されるソフトウェア又はハードウェア、及びそれらの組み合わせによって実現される物理的キャリアを指す。特定の応用シナリオでは、これには、「SoC」、「結晶ブロック」、「ウエハ」、「ダイ」、「集積回路」、「モノリシックデバイス」、「半導体デバイス」、「マイクロ電子デバイス」などが含まれるが、これらに限定されない。 As used herein, the term "chip" refers to existing or future developed software or hardware, and the physical carriers realized by combinations thereof. In certain application scenarios, this includes "SoC", "crystal block", "wafer", "die", "integrated circuit", "monolithic device", "semiconductor device", "microelectronic device", etc. However, it is not limited to these.

本明細書で使用される場合、用語「演算ユニット」は、基本的な演算アルゴリズム又は機能を実現するユニットを指し、それは、任意の既存又は将来開発されるソフトウェア又はハードウェア、又はそれらの組み合わせによって実現することができる。演算ユニットは、たとえば、畳み込み、数値演算、ベクトル演算、行列演算、文字演算などを含むがこれらに限定されない、チップ内の様々な基本演算を実現することができる。 As used herein, the term "arithmetic unit" refers to a unit that implements a basic arithmetic algorithm or function, which may be by any existing or future developed software or hardware, or a combination thereof. It can be realized. The arithmetic unit can realize various basic operations in the chip including, but not limited to, convolution, numerical operation, vector operation, matrix operation, character operation, and the like.

本明細書で使用される場合、用語「演算モジュール」は、ある機能又は演算を実現するモジュールを指し、それは、任意の既存又は将来開発されるソフトウェア又はハードウェア、及びそれらの組み合わせによって実現することができる。演算モジュールは、複数の演算ユニットを含むことができ、たとえば、演算モジュールは、複数の演算ユニットをアレイの形で含むことができる。演算モジュールは、計算能力に対するAIアルゴリズムの要求を満たすために、複雑で反復的な演算を迅速に実行することができる。 As used herein, the term "arithmetic module" refers to a module that implements a function or operation, which may be accomplished by any existing or future developed software or hardware, or a combination thereof. Can be done. The arithmetic module can include a plurality of arithmetic units, for example, an arithmetic module can include a plurality of arithmetic units in the form of an array. Arithmetic modules can quickly perform complex and iterative computations to meet the AI algorithm's requirements for computational power.

前述のように、AIチップには、大量のメモリ(たとえば、SRAM、DRAM、CACHE、FLASH(登録商標)など)が埋め込まれている。埋め込まれたメモリの有効性をテストし、不良メモリを置換したり修復したりするために、通常、チップ出荷前に、チップのメモリにMBISTが行われる。 As described above, a large amount of memory (for example, SRAM, DRAM, CACHE, FLASH®, etc.) is embedded in the AI chip. In order to test the validity of the embedded memory and replace or repair the bad memory, MBIST is usually performed on the memory of the chip before shipping the chip.

従来のMBIST手段は、チップ全体の設計が完了された後に実行され、MBISTテストを行う際に、チップのメモリを区分することなく、チップのすべてのメモリを全体としてテストするようなフラットテスト方式を採択している。 The conventional MBIST means is executed after the design of the entire chip is completed, and when the MBIST test is performed, a flat test method is used in which all the memory of the chip is tested as a whole without dividing the memory of the chip. It has been adopted.

AIチップの機能及び計算能力の向上に伴い、AIチップに埋め込まれたメモリの数も急増している。これにより、チップのすべてのメモリに対して1回のテストを実行するには時間がかかる。特に、反復MBISTテストを実行する必要がある場合、MBISTテストには多くの時間が必要となり、チップの製造コストが増加する。さらに、チップメモリ数の急増に伴い、MBISTテストに使用されるテストベクトルもますます複雑化している。さらに重要なことは、チップのいずれかの演算モジュール/機能ユニットを調整する必要がある場合、チップ全体のすべてのメモリを再テストする必要があり、このため、不必要なテストが多くなり、動作の柔軟性が劣る。 With the improvement of the function and the computing power of the AI chip, the number of memories embedded in the AI chip is also increasing rapidly. This makes it time consuming to run a single test for all memory on the chip. Especially when it is necessary to perform an iterative MBIST test, the MBIST test requires a lot of time and increases the manufacturing cost of the chip. Furthermore, with the rapid increase in the number of chip memories, the test vector used for the MBIST test is becoming more and more complicated. More importantly, if any math module / functional unit on the chip needs to be tuned, all memory across the chip will have to be retested, which will result in more unnecessary testing and operation. Is inflexible.

このように、従来のMBIST手段は、チップ設計製造の周期を増加又は延長しない前提の下では、AIチップに対応するメモリ実行テストのニーズを満たすことができなくなっている。したがって、AIチップのメモリをテストするニーズに対応するために、効率的で柔軟なメモリテスト手段が必要とされている。 As described above, the conventional MBIST means cannot meet the needs of the memory execution test corresponding to the AI chip under the premise that the cycle of chip design and manufacturing is not increased or extended. Therefore, an efficient and flexible memory testing means is needed to meet the needs of testing the memory of AI chips.

発明者は、まず、AIチップの機能が複雑化するにつれて、単一のAIチップが通常、複数の演算モジュールを含み、これらの演算モジュールが通常、互いに独立して設計され、実現されることに気づいた。一例として、画像処理用AIチップは、少なくとも1つのベクトル演算モジュール及び少なくとも1つの変位演算サブモジュールを含むことができる。上記演算モジュールは、異なる設計チームによって互いに独立して完成させることができる。 The inventor first concludes that as the functionality of AI chips becomes more complex, a single AI chip typically contains multiple arithmetic modules, and these arithmetic modules are usually designed and implemented independently of each other. Noticed. As an example, an image processing AI chip can include at least one vector calculation module and at least one displacement calculation submodule. The arithmetic modules can be completed independently of each other by different design teams.

次に、発明者は、既存のAIチップの構造が規則的であり、層ごとに分布するという構造的特徴を有することに気づいた。具体的には、1つのAIチップは複数の演算モジュールを含み、各演算モジュールは複数の演算ユニットを含み、各演算ユニットはそれぞれ複数のメモリを含む。 Next, the inventor noticed that the structure of the existing AI chip is regular and has the structural feature of being distributed layer by layer. Specifically, one AI chip includes a plurality of arithmetic modules, each arithmetic module includes a plurality of arithmetic units, and each arithmetic unit includes a plurality of memories.

さらに、発明者はまた、AIチップの構造が再現性の高いものであることにも気づいた。具体的には、同じ機能の演算モジュールは、同じ構造を有してもよい。一例として、1つの画像処理用AIチップは、同じ構造及び機能を有する複数(たとえば6個)の畳み込み演算モジュールを含むことができる。さらに、各演算モジュールは、同じ構造及び機能を有する複数の演算ユニットを含むことができ、一例として、畳み込み演算モジュールは、サイズが1024*512の畳み込み演算ユニットのアレイであってもよい。 Furthermore, the inventor has also noticed that the structure of the AI chip is highly reproducible. Specifically, arithmetic modules having the same function may have the same structure. As an example, one image processing AI chip can include a plurality (for example, 6) convolution calculation modules having the same structure and function. Further, each arithmetic module can include a plurality of arithmetic units having the same structure and function, and as an example, the convolution arithmetic module may be an array of convolution arithmetic units having a size of 1024 * 512.

また、発明者は、従来のAIチップにおいて、各演算ユニットは、対応する演算ロジックを実行する1つの回路と、これに対応する複数のメモリとを含むことができ、複数のメモリが、通常、対応する演算ロジックを実行する回路の近くに配置され、高速なデータインタラクションを実現することができることにも気づいた。同一の演算ユニットに属する複数のメモリは、特定の基準(たとえば、メモリの位置、タイプ、サイズやテスト要件など)に従って複数のグループに分けることができ、複数のグループについてはMBISTテストが互いに並列的に実施され得る。 Further, the inventor has described that in a conventional AI chip, each arithmetic unit can include one circuit that executes a corresponding arithmetic logic and a plurality of corresponding memories, and the plurality of memories are usually included. I also noticed that it is located near the circuit that executes the corresponding arithmetic logic and can realize high-speed data interaction. Multiple memories belonging to the same arithmetic unit can be divided into multiple groups according to specific criteria (eg, memory location, type, size, test requirements, etc.), and for multiple groups the MBIST tests are parallel to each other. Can be carried out in.

以上の知見に基づいて、本開示は、チップ用のメモリテスト(たとえば、MBIST)の改良手段を提案する。本開示の実施例によれば、チップ用のメモリテストは、チップのすべてのサブモジュール(すなわち、演算モジュール)の設計が完了された後に一緒に実行する必要はなく、各演算モジュールの設計製造の前に独立して実行される。具体的には、チップの演算モジュールの設計製造過程において、現在の演算モジュールについて、テストベクトルを設計して生成して、メモリテストを完了する。このように、チップのメモリテストをすべての演算モジュールの設計が完了された後に行う必要がなく、MBISTのテストの周期及び時限についてのプレッシャーが緩和される。さらに、チップ全体ではなく単一の演算モジュールに対してメモリテストを実行するので、テストベクトルの設計の複雑さを低減する。さらに、チップの各演算モジュールのメモリテストを独立して実行することができるので、1つの演算モジュールを調整する際に、チップ全体のすべての記憶ユニットをテストする必要がなく、このように、不要なテストを回避する。したがって、本開示は、効率的で柔軟なメモリテスト手段を提供する。 Based on the above findings, the present disclosure proposes improved means of memory testing (eg, MBIST) for chips. According to the embodiments of the present disclosure, the memory tests for the chip do not have to be performed together after the design of all submodules (ie, arithmetic modules) of the chip has been completed, and the design and manufacture of each arithmetic module. Performed independently before. Specifically, in the process of designing and manufacturing the arithmetic module of the chip, a test vector is designed and generated for the current arithmetic module, and the memory test is completed. In this way, it is not necessary to perform the memory test of the chip after the design of all arithmetic modules is completed, and the pressure on the cycle and time limit of the MBIST test is relieved. In addition, memory tests are performed on a single arithmetic module rather than the entire chip, reducing the complexity of test vector design. Furthermore, since the memory test of each arithmetic module of the chip can be executed independently, it is not necessary to test all the storage units of the entire chip when adjusting one arithmetic module, and thus it is unnecessary. Avoid bad tests. Therefore, the present disclosure provides an efficient and flexible memory testing means.

以下、図面を参照して本開示の実施例を具体的に説明する。図1は、本開示の複数の実施例が実現され得る例示的な環境100の模式図を示す。この例示的な環境100は、コンピューティング機器110、チップ150を含む。チップ150は、第1演算モジュール120−1、第2演算モジュール120−2、及び第L演算モジュール120−Lを含む。第1演算モジュール120−1、第2演算モジュール120−2、及び第L演算モジュール120−Lは、チップ内でメモリテストの実行対象となる演算モジュールであり、たとえば、畳み込み演算モジュール、変位演算モジュールなどであってもよく、上記演算モジュールは互いに独立して設計されていてもよい。説明の便宜上、複数の演算モジュール120−1、120−2〜120−Lはまとめて演算モジュール120と呼ぶことができる。 Hereinafter, examples of the present disclosure will be specifically described with reference to the drawings. FIG. 1 shows a schematic diagram of an exemplary environment 100 in which a plurality of embodiments of the present disclosure can be realized. This exemplary environment 100 includes a computing device 110 and a chip 150. The chip 150 includes a first arithmetic module 120-1, a second arithmetic module 120-2, and an L arithmetic module 120-L. The first arithmetic module 120-1, the second arithmetic module 120-2, and the Lth arithmetic module 120-L are arithmetic modules to be executed in the memory test in the chip, and are, for example, a convolution arithmetic module and a displacement arithmetic module. The above arithmetic modules may be designed independently of each other. For convenience of explanation, the plurality of arithmetic modules 120-1, 120-2 to 120-L can be collectively referred to as arithmetic modules 120.

コンピューティング機器110は、メモリテストを実行するテスト機器、たとえばMBIST制御機器などである。図1に示すように、コンピューティング機器110は、第1テストベクトル130−1を第1演算モジュール120−1に入力し、第1演算モジュール120−1による第1テスト結果140−1を受信し、第2テストベクトル130−2を第2演算モジュール120−2に入力し、第2演算モジュール120−2による第2テスト結果140−2を受信する。コンピューティング機器110は、第1テスト結果140−1に基づいて第1演算モジュール120−1のメモリの有効性についてのテスト結果を得ることができ、第2テスト結果140−2に基づいて第2演算モジュール120−2のメモリの有効性についてのテスト結果を得ることができる。さらに、コンピューティング機器110は、不良メモリが存在すると判定された場合、不良メモリを置換又は修復することができる。 The computing device 110 is a test device that executes a memory test, such as an MBIST control device. As shown in FIG. 1, the computing device 110 inputs the first test vector 130-1 to the first arithmetic module 120-1, and receives the first test result 140-1 by the first arithmetic module 120-1. , The second test vector 130-2 is input to the second calculation module 120-2, and the second test result 140-2 by the second calculation module 120-2 is received. The computing device 110 can obtain a test result regarding the validity of the memory of the first arithmetic module 120-1 based on the first test result 140-1, and the second test result 140-2 is used as the second test result. The test result about the validity of the memory of the arithmetic module 120-2 can be obtained. Further, the computing device 110 can replace or repair the defective memory when it is determined that the defective memory exists.

説明の便宜上、複数のテストベクトル、たとえば、第1テストベクトル130−1及び第2テストベクトル130−2は、まとめてテストベクトル130と呼ぶことができ、複数のテスト結果、たとえば第1テスト結果140−1及び第2テスト結果140−2は、まとめてテスト結果140と呼ぶことができる。なお、第1演算モジュール120−1についてのテスト及び第2演算モジュール120−2についてのテストは、互いに独立しており、設計及び製造上のニーズに応じて、異なる期間に実行され得る。 For convenience of explanation, the plurality of test vectors, for example, the first test vector 130-1 and the second test vector 130-2, can be collectively referred to as the test vector 130, and the plurality of test results, for example, the first test result 140. -1 and the second test result 140-2 can be collectively referred to as a test result 140. The test for the first arithmetic module 120-1 and the test for the second arithmetic module 120-2 are independent of each other and can be executed in different periods depending on the design and manufacturing needs.

いくつかの実施例では、テストベクトル130及びテスト結果140は、有線通信又は無線通信の方式でコンピューティング機器110と演算モジュール120との間でインタラクションすることができる。いくつかの例示的な実施例では、コンピューティング機器110は、テストベクトル130を生成することができる。代替的に、別の例示的な実施例では、コンピューティング機器110は、コンピューティング機器110に結合された入力機器(たとえば、マウス、キーボード、タッチペン、タッチスクリーンなどを含むが、これらに限定されない)を介して、ユーザによって入力されたテストベクトル130を受信することもできる。 In some embodiments, the test vector 130 and the test result 140 can interact between the computing device 110 and the arithmetic module 120 in the form of wired or wireless communication. In some exemplary embodiments, the computing device 110 can generate the test vector 130. Alternatively, in another exemplary embodiment, the computing device 110 includes, but is not limited to, an input device coupled to the computing device 110 (eg, including, but not limited to, a mouse, keyboard, touch pen, touch screen, etc.). It is also possible to receive the test vector 130 input by the user via.

なお、図1に示すコンピューティング機器110及び演算モジュール120の数は、限定的ではなく例示的なものにすぎず、他の実施例では、コンピューティング機器110及び演算モジュール120の数は他の任意のデータであり、本開示はこれについて制限しない。 It should be noted that the numbers of the computing device 110 and the arithmetic module 120 shown in FIG. 1 are not limited but merely exemplary, and in other embodiments, the numbers of the computing device 110 and the arithmetic module 120 are other arbitrary. Data, and this disclosure does not limit this.

また、なお、テストベクトル130及びテスト結果140は、特定の適用シナリオに応じて、コンピューティング機器110と演算モジュール120との間で1回又は複数回のインタラクションによって伝達されてもよく、本開示はこれについても制限しない。 Further, the test vector 130 and the test result 140 may be transmitted by one or a plurality of interactions between the computing device 110 and the arithmetic module 120 according to a specific application scenario, and the present disclosure. There are no restrictions on this either.

以下、図2を参照して、本開示によるチップ用のメモリテスト過程をより詳細に説明する。図2は、本開示の複数の例示的な実施例によるチップ用のメモリテストの過程200のフローチャートを示す。過程200は、図1のコンピューティング機器110によって実現されてもよい。検討を容易にするために、過程200は図1を参照して説明される。 Hereinafter, the memory test process for the chip according to the present disclosure will be described in more detail with reference to FIG. FIG. 2 shows a flowchart of a memory test process 200 for a chip according to a plurality of exemplary embodiments of the present disclosure. Process 200 may be implemented by the computing device 110 of FIG. For ease of consideration, process 200 is described with reference to FIG.

ブロック210において、コンピューティング機器110は、チップ150の第1演算モジュール120−1について、第1テストベクトル130−1を生成する。 At block 210, the computing device 110 generates a first test vector 130-1 for the first arithmetic module 120-1 of the chip 150.

ブロック220において、コンピューティング機器110は、チップ150の他の演算モジュール(たとえば、第2演算モジュール120−1〜第L演算モジュール)とは独立して、生成された第1テストベクトル130−1を用いて、第1演算モジュール120−1に対してメモリテストを実行する。具体的には、第1テストベクトル130−1を、第1演算モジュール120−1に出力し、第1演算モジュール120−1から返される第1テスト結果140−1を受信する。 In the block 220, the computing device 110 receives the generated first test vector 130-1 independently of other arithmetic modules of the chip 150 (for example, the second arithmetic module 120-1 to the L arithmetic module). It is used to perform a memory test on the first arithmetic module 120-1. Specifically, the first test vector 130-1 is output to the first arithmetic module 120-1, and the first test result 140-1 returned from the first arithmetic module 120-1 is received.

このように、第1演算モジュール120−1のメモリテストは、従来のメモリテスト手段と比較して、チップ150全体の設計が完了されるのを待たずに、第1演算モジュール120−1の設計及び製造中に行うことができる。さらに、チップ150全体の全てのメモリに対してテストベクトルを設計する必要がないため、テストベクトルの複雑さを低減する。最後に、第1演算モジュール120−1の調整後に再度メモリテストを実行する際に、他の演算モジュールのメモリに対して不要なテストを行うことを必要としない。 As described above, the memory test of the first arithmetic module 120-1 is compared with the conventional memory test means, and the design of the first arithmetic module 120-1 is performed without waiting for the design of the entire chip 150 to be completed. And can be done during manufacturing. Further, it is not necessary to design the test vector for all the memories of the entire chip 150, which reduces the complexity of the test vector. Finally, when the memory test is executed again after the adjustment of the first arithmetic module 120-1, it is not necessary to perform an unnecessary test on the memory of another arithmetic module.

いくつかの実施例では、第1テストベクトル130−1は、他の演算モジュールによって再利用されてもよい。たとえば、コンピューティング機器110は、他の演算モジュール(たとえば、第2演算モジュール120−2)と第1演算モジュール120−1が第1基準を満たすか否かを判定する。コンピューティング機器110は、第1基準が満たされた場合、第2演算モジュール120−2に対してメモリテストを実行する際に、第1テストベクトル130−1を再利用する。コンピューティング機器110が、第2演算モジュール120−2と第1演算モジュール120−1が第1基準を満たしていないと判断した場合、コンピューティング機器110は、第2演算モジュール120−2に対してメモリテストを実行する際に、前記第2演算モジュール120−2について、第1テストベクトル130−1とは異なる第2テストベクトル130−2を生成し、生成した第2テストベクトル130−2を用いて第2演算モジュール120−2に対してメモリテストを実行する。 In some embodiments, the first test vector 130-1 may be reused by other arithmetic modules. For example, the computing device 110 determines whether another arithmetic module (for example, the second arithmetic module 120-2) and the first arithmetic module 120-1 satisfy the first criterion. If the first criterion is met, the computing device 110 reuses the first test vector 130-1 when performing a memory test on the second arithmetic module 120-2. If the computing device 110 determines that the second calculation module 120-2 and the first calculation module 120-1 do not meet the first criterion, the computing device 110 refers to the second calculation module 120-2. When executing the memory test, a second test vector 130-2 different from the first test vector 130-1 is generated for the second arithmetic module 120-2, and the generated second test vector 130-2 is used. Then, a memory test is executed for the second arithmetic module 120-2.

いくつかの実施例では、第1基準は、第2演算モジュール120−2が第1演算モジュール120−1と同じ構造又は演算機能を有することである。 In some embodiments, the first criterion is that the second math module 120-2 has the same structure or math function as the first math module 120-1.

一例として、画像処理機能を実行するためのAIチップは、複数の畳み込み演算アレイと、複数の変位演算アレイとを含むことができ、複数の畳み込み演算アレイは、互いに同一又は少なくとも類似の構造を有し、複数の変位演算アレイは、互いに同一又は少なくとも類似の構造を有する。上記構造間の類似性に基づいて、テストベクトルは複数の畳み込み演算アレイ又は変位演算アレイ間で再利用され得る。 As an example, an AI chip for performing an image processing function can include a plurality of convolution operation arrays and a plurality of displacement operation arrays, and the plurality of convolution operation arrays have the same or at least similar structures to each other. However, the plurality of displacement operation arrays have the same or at least similar structures to each other. Based on the similarities between the structures, the test vector can be reused between multiple convolutional or displacement arithmetic arrays.

このように、テストベクトル130の設計複雑度はさらに低減される。 In this way, the design complexity of the test vector 130 is further reduced.

なお、第1演算モジュール120−1が第2演算モジュール120−2とは独立してメモリテストを実行するとは、両者間のテスト動作の過程が互いに独立していることを意味し、必ずしも第1演算モジュール120−1と第2演算モジュール120−2についてのテストが時間的に重なってはならないことを意味するものではない。いくつかの実施例では、第1演算モジュール120−1及び第2演算モジュール120−2についてのメモリテストは、特定の適用シナリオ(たとえば、チップ150に含まれるMBIST用のピンの数、演算モジュール120のテスト要件、テストコストなど)に応じて、並列又は直列的に実行されてもよい。 It should be noted that the fact that the first arithmetic module 120-1 executes the memory test independently of the second arithmetic module 120-2 means that the test operation processes between the two are independent of each other, and is not necessarily the first. It does not mean that the tests for the arithmetic module 120-1 and the second arithmetic module 120-2 must not overlap in time. In some embodiments, the memory tests for the first math module 120-1 and the second math module 120-2 are specific application scenarios (eg, the number of pins for MBIST contained in the chip 150, math module 120). It may be executed in parallel or in series depending on the test requirements, test cost, etc.).

上述したように、第1演算モジュール120−1は、複数の演算ユニットを含むことができる。また図2を参照して、本開示のチップ用のメモリテスト手段は、以下のようにさらに説明される。ブロック210において、コンピューティング機器110は、第1演算モジュール120−1の1つの演算ユニットについてサブテストベクトルを生成し、生成したサブテストベクトルを第1演算モジュール120−1のすべての演算ユニット間で再利用することにより、第1テストベクトル130−1を生成してもよい。ブロック220において、コンピューティング機器110は、第1演算モジュール120−1の各演算ユニットについて、対応するメモリサブテストを実行することにより、第1演算モジュール120−1に対してメモリテストを実行する。いくつかの実施例では、異なるメモリサブテストは並列方式で実行され、他のいくつかの実施例では、異なるメモリサブテストは直列方式で実行される。 As described above, the first arithmetic module 120-1 can include a plurality of arithmetic units. Further, with reference to FIG. 2, the memory test means for the chips of the present disclosure will be further described as follows. In block 210, the computing device 110 generates a subtest vector for one arithmetic unit of the first arithmetic module 120-1, and the generated subtest vector is transferred among all the arithmetic units of the first arithmetic module 120-1. The first test vector 130-1 may be generated by reuse. In block 220, the computing device 110 executes a memory test on the first arithmetic module 120-1 by executing a corresponding memory subtest for each arithmetic unit of the first arithmetic module 120-1. In some embodiments, the different memory subtests are run in parallel, and in some other embodiments, the different memory subtests are run in series.

次に、図3を参照して、コンピューティング機器110が第1演算モジュール120−1についてメモリテストを実行する手段についてさらに説明する。図3は、本開示の複数の実施例によるチップ用のメモリテスト手段が実現される別の例示的な環境300の模式図を示す。図3に示すように、第1演算モジュール120−1は、複数の演算ユニット310−11、310−12、310−1M、……、……、;310−N1、310−N2、……、310−NMを含み、ここで、N及びMは正の整数である。すなわち、第1演算モジュール120−1は、M*Nの演算ユニットのアレイである。説明の便宜上、複数の演算ユニット310−11、310−12、310−1M、……、……、;310−N1、310−N2、……、310−NMは、まとめて演算ユニット310と呼ぶことができる。 Next, with reference to FIG. 3, the means by which the computing device 110 performs a memory test on the first arithmetic module 120-1 will be further described. FIG. 3 shows a schematic diagram of another exemplary environment 300 in which the memory testing means for the chip according to the plurality of embodiments of the present disclosure is realized. As shown in FIG. 3, the first arithmetic module 120-1 includes a plurality of arithmetic units 310-11, 310-12, 310-1M, ..., ...,; 310-N1, 310-N2, ..., Includes 310-NM, where N and M are positive integers. That is, the first arithmetic module 120-1 is an array of arithmetic units of M * N. For convenience of explanation, the plurality of arithmetic units 310-11, 310-12, 310-1M, ..., ...,; 310-N1, 310-N2, ..., 310-NM are collectively referred to as arithmetic units 310. be able to.

いくつかの実施例では、コンピューティング機器110は、第1演算モジュール120−1の1つの演算ユニット310、たとえば、演算ユニット310−11についてサブテストベクトルを生成し、生成したサブテストベクトルを第1演算モジュール120−1のすべての演算ユニット310の間で再利用することにより、第1テストベクトル130−1を生成することができる。図3に示す例示的な実施例では、生成したサブテストベクトルは、M*N回再利用されてもよい。 In some embodiments, the computing device 110 generates a subtest vector for one arithmetic unit 310 of the first arithmetic module 120-1, for example, arithmetic unit 310-11, and the generated subtest vector is the first. The first test vector 130-1 can be generated by reusing among all the arithmetic units 310 of the arithmetic module 120-1. In the exemplary embodiment shown in FIG. 3, the generated subtest vector may be reused M * N times.

いくつかの実施例では、異なる演算ユニット310(たとえば、図3の演算ユニット310−11、310−12、……、310−1M;……、;310−N1、310−N2、……、310−NM)について実行される複数のメモリサブテストは、並列方式で実行されてもよい。他のいくつかの実施例では、異なるメモリサブテストは直列方式で実行されてもよい。 In some embodiments, different arithmetic units 310 (eg, arithmetic units 310-11, 310-12, ..., 310-1M; ...,; 310-N1, 310-N2, ..., 310 in FIG. 3). Multiple memory subtests performed for −NM) may be performed in parallel. In some other embodiments, different memory subtests may be performed serially.

このように、同一演算モジュール120に属する異なる演算ユニット310では構造及び機能が同じ/類似であるという特性が十分に利用され、テストベクトルの設計がさらに簡略化される。さらに、異なるメモリサブテストは、特定の適用シナリオ(たとえば、チップ150に含まれるMBIST用のピンの数、演算モジュール120のテスト要件、テストコストなど)に応じて、並列又は直列的に実行されてもよく、それにより、メモリテストの効率をさらに向上させる。 As described above, the characteristics that the structures and functions are the same / similar in the different arithmetic units 310 belonging to the same arithmetic module 120 are fully utilized, and the design of the test vector is further simplified. In addition, different memory subtests are performed in parallel or in series, depending on the particular application scenario (eg, the number of pins for MBIST contained in the chip 150, the test requirements of the arithmetic module 120, the test cost, etc.). It is also good, thereby further improving the efficiency of memory testing.

上述したように、各演算ユニット310は、対応する演算論理を実行する1つの回路と、高速なデータ交換を可能にするために、対応する演算論理を実行する回路の近くに一般的に配置された複数のメモリとを含む。一方、同一演算ユニットに属する複数のメモリは、特定の基準(たとえば、メモリの位置、タイプ、サイズ、及びテスト要件など)に従って複数のグループに分けてもよい。演算ユニット310の上記特性に応じて、チップ用のメモリテストをさらに改善することができる。 As mentioned above, each arithmetic unit 310 is generally located close to one circuit that executes the corresponding arithmetic logic and a circuit that executes the corresponding arithmetic logic in order to enable high-speed data exchange. Includes multiple memories. On the other hand, a plurality of memories belonging to the same arithmetic unit may be divided into a plurality of groups according to specific criteria (for example, memory location, type, size, test requirements, etc.). Depending on the above characteristics of the arithmetic unit 310, the memory test for the chip can be further improved.

図4を参照して、コンピューティング機器110が演算ユニット310に対してメモリテストを実行する手段についてさらに説明する。図4は、本開示の複数の実施例によるチップの演算ユニット310用のメモリテスト手段が実現される例示的な環境400の模式図を示す。図4に示すように、演算ユニット310−11は、複数のメモリ410−11、410−12、……、410−1P;……、410−R1、410−R2、……、410−RQを含み、ここで、R及びQは正の整数である。説明の便宜上、複数のメモリ410−11、410−12、……、410−1P;……、410−R1、410−R2、……、410−RQは、まとめてメモリ410と呼ぶことができる。 With reference to FIG. 4, the means by which the computing device 110 performs a memory test on the arithmetic unit 310 will be further described. FIG. 4 shows a schematic diagram of an exemplary environment 400 in which the memory test means for the chip arithmetic unit 310 according to the plurality of embodiments of the present disclosure is realized. As shown in FIG. 4, the arithmetic unit 310-11 has a plurality of memories 410-11, 410-12, ..., 410-1P; ..., 410-R1, 410-R2, ..., 410-RQ. Including, where R and Q are positive integers. For convenience of explanation, a plurality of memories 410-11, 410-12, ..., 410-1P; ..., 410-R1, 410-R2, ..., 410-RQ can be collectively referred to as memory 410. ..

代替的に又は追加的に、いくつかの実施例では、演算ユニット310−11は、テストコントローラ440を含んで構成されてもよい。テストコントローラ440は、コンピューティング機器110の一部として実現されてもよいし、コンピューティング機器110から独立したモジュール又はエンティティとして設計されてもよい。テストコントローラ440は、サブテストベクトル420を受信し、演算ユニット310のテスト結果430を対応する機器に返す。いくつかの実施例では、テストコントローラ440は、MBISTコントローラとして実現されていてもよい。 Alternatively or additionally, in some embodiments, the arithmetic unit 310-11 may be configured to include a test controller 440. The test controller 440 may be implemented as part of the computing device 110 or may be designed as a module or entity independent of the computing device 110. The test controller 440 receives the subtest vector 420 and returns the test result 430 of the arithmetic unit 310 to the corresponding device. In some embodiments, the test controller 440 may be implemented as an MBIST controller.

いくつかの実施例では、計算ユニット310のメモリ410は、第2基準に従って複数のメモリグループに分ける。 In some embodiments, the memory 410 of the compute unit 310 is divided into a plurality of memory groups according to a second criterion.

いくつかの実施例では、コンピューティング機器110は、メモリ410の位置に応じて、メモリ410を複数のグループに分けることができる。たとえば、コンピューティング機器110は、互いに近接した位置にあるメモリ410を1つのグループに分けられる。 In some embodiments, the computing device 110 can divide the memory 410 into a plurality of groups according to the location of the memory 410. For example, the computing device 110 can divide memory 410s located close to each other into one group.

代替的に又は追加的に、コンピューティング機器110は、メモリ410のタイプ(たとえば、SRAM、DRAM、CACHE、FLASH(登録商標)など)に応じて、メモリ410を複数のグループに分けることができる。たとえば、コンピューティング機器110は、すべてのSRAMタイプメモリを1つのグループに分け、すべてのレジスタを別のグループに分けられる。 Alternatively or additionally, the computing device 110 can divide the memory 410 into a plurality of groups according to the type of the memory 410 (eg, SRAM, DRAM, CACHE, FLASH®, etc.). For example, the computing device 110 divides all SRAM type memories into one group and all registers into another group.

図4に示すように、計算ユニット310−11のメモリ410は、Rグループのメモリに分けるが、そのうち、410−11、410−12、……、410−1Pは、1つのグループに分け、メモリ410−R1、410−R2、……、410−RQは、別のグループに分けている。 As shown in FIG. 4, the memory 410 of the calculation unit 310-11 is divided into the memories of the R group, of which 410-11, 410-12, ..., 410-1P are divided into one group and the memory. 410-R1, 410-R2, ..., 410-RQ are divided into different groups.

なお、コンピューティング機器110によるメモリ410のグループ化の根拠は、上記で検討した例に限定されるものではなく、他の実施例では、メモリのサイズ、MBISTのテストコストなどに応じてもよく、本開示は、これについて制限しない。 The grounds for grouping the memory 410 by the computing device 110 are not limited to the example examined above, and in other embodiments, the memory size, the MBIST test cost, and the like may be used. This disclosure does not limit this.

いくつかの実施例では、各メモリグループは、10〜12個のメモリを含む。 In some embodiments, each memory group comprises 10-12 memories.

いくつかの実施例では、コンピューティング機器110は、分けられている少なくとも1つのグループの各々について、それぞれのグループテストベクトル450をそれぞれ生成する。 In some embodiments, the computing device 110 produces each group test vector 450 for each of at least one group that is divided.

いくつかの実施例では、テストコントローラ440は、分けられたグループに基づいて、各グループに対して対応するメモリグループテストを実行し、異なるメモリグループテストは並列的に実行される。図4に示すように、テストコントローラ440は、サブテストベクトル420を受信し、サブテストベクトル420に基づいて、第1グループのメモリ用のグループテストベクトル450−1及び第Rのグループのメモリ用のグループテストベクトル450−Rを生成する。テストコントローラ440は、メモリグループテストを第1グループのメモリと第Rのグループのメモリとの間で並列的に実行する。 In some embodiments, the test controller 440 performs a corresponding memory group test for each group based on the separated groups, and different memory group tests are performed in parallel. As shown in FIG. 4, the test controller 440 receives the subtest vector 420, and based on the subtest vector 420, for the group test vector 450-1 for the memory of the first group and for the memory of the third group. Generate a group test vector 450-R. The test controller 440 executes the memory group test in parallel between the memory of the first group and the memory of the Rth group.

いくつかの実施例では、テストコントローラ440は、メモリグループテスト結果460−1及び460−Rを受信し、演算ユニットテスト結果430として対応する機器に返す。 In some embodiments, the test controller 440 receives the memory group test results 460-1 and 460-R and returns them as arithmetic unit test results 430 to the corresponding instrument.

このように、同一計算ユニット310に属するメモリは異なるメモリグループに分けられ、異なるメモリグループ間でメモリグループテストが並列方式で実行されることにより、メモリテストの性能を向上させる。 In this way, the memory belonging to the same calculation unit 310 is divided into different memory groups, and the memory group test is executed in parallel between the different memory groups, thereby improving the performance of the memory test.

さらに、AIチップには、いずれの演算モジュール120にも含まれていないいくつかの共通メモリ(たとえば、いくつかの低速メモリ)も含まれている。さらに、各演算モジュール120は、各演算ユニット310に配置されたメモリの他に、本演算モジュール120用の共通メモリ(たとえば、低速メモリ)をいくつか含んでいる。いくつかの実施例では、コンピューティング機器110は、これらの共通メモリを所定の基準(位置、タイプ、テスト要件などを含むが、これらに限定されない)に従って複数の演算モジュールに分け、本開示のメモリテスト方法に従って上記共通メモリに対してメモリテストを実行してもよい。 In addition, the AI chip also contains some common memory (eg, some slow memory) that is not included in any of the arithmetic modules 120. Further, each arithmetic module 120 includes some common memories (for example, low-speed memory) for the arithmetic module 120 in addition to the memory arranged in each arithmetic unit 310. In some embodiments, the computing device 110 divides these common memories into a plurality of arithmetic modules according to predetermined criteria (including, but not limited to, location, type, test requirements, etc.) and the memory of the present disclosure. A memory test may be executed on the above common memory according to the test method.

いくつかの実施例では、メモリテストを実行する際に、メモリテストの読み取り/書き込みレートを制御するように、対応するクロック制御モジュールによって実行を補助する。 In some embodiments, when performing a memory test, the corresponding clock control module assists the execution so as to control the read / write rate of the memory test.

なお、具体的なテストベクトルの数値を設計する際には、既存又は将来の任意の方法を用いてテストベクトルを設計することができ、メモリテストのための配線を実行する際には、既存又は将来の任意の配線方法を用いることができ、本開示はこれについて限定しない。 When designing the numerical value of the concrete test vector, the test vector can be designed by using an existing or future method, and when the wiring for the memory test is executed, the existing or future method can be used. Any future wiring method can be used and the present disclosure is not limited to this.

さらに、なお、本開示の方法は、AIチップの設計及び製造過程に加えて、チップのエミュレーション、研究開発及びシミュレーション等の過程にも適用可能である。 Furthermore, the method of the present disclosure can be applied not only to the process of designing and manufacturing the AI chip, but also to the process of emulation, research and development, simulation, and the like of the chip.

本開示の実施例によれば、従来のフラット化に基づくMBIST方法とは異なり、本発明は、階層化メモリテスト技術を使用し、MBISTテストをチップの演算モジュール120の設計及び製造段階に早めることで、MBISTのテスト周期及びテスト時限についてのプレッシャーを緩和すると同時に、テストベクトル設計の複雑さを低減する。さらに、各演算モジュール120のメモリ410のテストを独立して行うことができるので、1つの演算モジュールに調整が発生してメモリテストを再実行する必要が生じた場合に、他の演算モジュールのメモリ410に対して不要なテストを行う必要がない。 According to the embodiments of the present disclosure, unlike the conventional MBIST method based on flattening, the present invention uses a layered memory test technique to accelerate the MBIST test to the design and manufacturing stage of the arithmetic module 120 of the chip. It alleviates the pressure on the MBIST test cycle and test time period, while reducing the complexity of the test vector design. Further, since the memory 410 of each arithmetic module 120 can be tested independently, the memory of another arithmetic module should be re-executed when adjustment occurs in one arithmetic module and the memory test needs to be re-executed. There is no need to perform unnecessary tests on the 410.

さらに、同じ機能の演算モジュール120間、及び同一演算モジュール120の複数の演算ユニット310間でテストベクトルを再利用することにより、テストベクトルの設計の複雑さをさらに低減する。 Further, the complexity of designing the test vector is further reduced by reusing the test vector between the arithmetic modules 120 having the same function and between the plurality of arithmetic units 310 of the same arithmetic module 120.

さらに、本開示は、同一演算ユニット310のメモリ410をグループ化し、異なるメモリグループ間で異なるテストベクトルを使用して並列的にメモリグループテストを実行することで、メモリテストの時間をさらに短縮させ、チップの製造及び製造コストを低減する。 Further, the present disclosure further shortens the memory test time by grouping the memory 410 of the same arithmetic unit 310 and executing the memory group test in parallel using different test vectors among different memory groups. Reduce chip manufacturing and manufacturing costs.

図5は、本開示の実施例によるチップ用のメモリテスト装置500の模式的ブロック図を示す。装置500は、図1に示されたコンピューティング機器110に含まれてもよく、又はコンピューティング機器110として実現されてもよい。図5に示すように、装置500は、少なくとも1つの演算モジュールのうちの第1演算モジュール120−1について第1テストベクトル130−1を生成するように構成される第1テストベクトル生成モジュール510を含む。装置500は、少なくとも1つの演算モジュール120のうち第1演算モジュール120−1とは異なる他の演算モジュールとは独立して、生成された第1テストベクトル130−1を利用して、第1演算モジュール120−1に対してメモリテストを実行するように構成される第1メモリテストモジュール520をさらに含んでもよい。 FIG. 5 shows a schematic block diagram of a memory test device 500 for a chip according to an embodiment of the present disclosure. The device 500 may be included in the computing device 110 shown in FIG. 1 or may be realized as the computing device 110. As shown in FIG. 5, the apparatus 500 includes a first test vector generation module 510 configured to generate a first test vector 130-1 for the first arithmetic module 120-1 of at least one arithmetic module. include. The apparatus 500 uses the generated first test vector 130-1 independently of other arithmetic modules different from the first arithmetic module 120-1 among at least one arithmetic module 120 to perform the first arithmetic. It may further include a first memory test module 520 configured to perform a memory test on module 120-1.

いくつかの実施例では、他の演算モジュールのうちの第2演算モジュール120−2と第1演算モジュール120−1が第1基準を満たす場合、装置500は、第1テストベクトル130−1を用いて、第2演算モジュール120−2に対してメモリテストを実行するように構成される第2メモリテストモジュールをさらに含み、他の演算モジュールのうちの第2演算モジュール120−2と第1演算モジュール120が第1基準を満たさない場合、装置500は、第2演算モジュール120−2に対して第2テストベクトルを生成するように構成される第2テストベクトル生成モジュールと、少なくとも1つの演算モジュールのうちの他の演算モジュールとは独立して、生成された、第1テストベクトル130−1とは異なる第2テストベクトル130−2を用いて、第1第2演算モジュール120−2に対してメモリテストを実行するように構成される第3メモリテストモジュールとをさらに含む。 In some embodiments, if the second arithmetic module 120-2 and the first arithmetic module 120-1 among the other arithmetic modules satisfy the first criterion, the apparatus 500 uses the first test vector 130-1. Further, a second memory test module configured to execute a memory test on the second arithmetic module 120-2 is included, and the second arithmetic module 120-2 and the first arithmetic module among other arithmetic modules are included. If 120 does not meet the first criterion, the apparatus 500 comprises a second test vector generation module configured to generate a second test vector for the second arithmetic module 120-2, and at least one arithmetic module. Memory for the 1st and 2nd arithmetic modules 120-2 using the 2nd test vector 130-2, which is different from the 1st test vector 130-1, which was generated independently of our other arithmetic modules. It further includes a third memory test module configured to perform the test.

いくつかの実施例では、第1基準は、第2演算モジュール120−2が第1演算モジュール120−1と同じ構造又は演算機能を有することである。 In some embodiments, the first criterion is that the second math module 120-2 has the same structure or math function as the first math module 120-1.

いくつかの実施例では、第1テストベクトル生成モジュール510は、演算モジュールの1つの演算ユニット310に対して、サブテストベクトル420を生成するように構成されるサブテストベクトル420生成モジュールと、サブテストベクトル420を第1演算モジュール120−1の全ての演算ユニット310間で再利用することにより、第1テストベクトル130−1を生成するように構成されるサブテストベクトル再利用モジュールとを含む。 In some embodiments, the first test vector generation module 510 is a subtest vector 420 generation module configured to generate a subtest vector 420 for one arithmetic unit 310 of the arithmetic module, and a subtest. It includes a subtest vector reuse module configured to generate the first test vector 130-1 by reusing the vector 420 among all the arithmetic units 310 of the first arithmetic module 120-1.

いくつかの実施例では、装置500は、第2基準に従って、演算ユニットの少なくとも1つのメモリ410を少なくとも1つのグループに分けるように構成される第1メモリ区分モジュールをさらに含む。サブテストベクトル生成モジュールは、区分された少なくとも1つのグループの各々について、それぞれのグループテストベクトル450をそれぞれ生成するように構成されるグループテストベクトル生成モジュールと、生成されたグループテストベクトル450に基づいてサブテストベクトル420を生成するように構成されるグループテストベクトル合成モジュールとをさらに含む。 In some embodiments, the apparatus 500 further comprises a first memory partitioning module configured to divide at least one memory 410 of the arithmetic unit into at least one group according to a second criterion. The subtest vector generation module is based on a group test vector generation module configured to generate each group test vector 450 for each of at least one partitioned group and a generated group test vector 450. It further includes a group test vector synthesis module configured to generate the subtest vector 420.

いくつかの実施例では、第1メモリ区分ブロックは、少なくとも1つのメモリの位置及びタイプに応じて、演算ユニットの少なくとも1つのメモリ420を少なくとも1つのグループに分けるように構成される第1メモリグループ区分モジュールを含む。 In some embodiments, the first memory partition block is configured to divide at least one memory 420 of the arithmetic unit into at least one group, depending on the location and type of at least one memory. Includes compartmentalized modules.

いくつかの実施例では、第1メモリテストモジュールは、第1演算モジュール120−1の少なくとも1つの演算ユニット310の各々に対して、異なるメモリサブテストが並列的又は直列的に実行される対応するメモリサブテストを実行することにより、第1演算モジュール120−1に対してメモリテストを実行するように構成されるメモリサブテストモジュールを含む。 In some embodiments, the first memory test module corresponds to each of at least one arithmetic unit 310 of the first arithmetic module 120-1 in which different memory subtests are executed in parallel or serially. Includes a memory subtest module configured to perform a memory test on the first arithmetic module 120-1 by performing a memory subtest.

いくつかの実施例では、装置500は、第3基準に従って、演算ユニット310の少なくとも1つのメモリ420を、少なくとも1つのグループに分けるように構成される第2メモリ区分モジュールをさらに含み、メモリサブテストモジュールは、分けられた少なくとも1つのグループの各々に対して、異なるメモリグループテストが並列的に実行される対応するメモリグループテストを実行することにより、メモリサブテストを実行することをさらに含む。 In some embodiments, the apparatus 500 further comprises a second memory partitioning module configured to divide at least one memory 420 of the arithmetic unit 310 into at least one group according to a third criterion, a memory subtest. The module further comprises performing a memory subtest by performing a corresponding memory group test in which different memory group tests are performed in parallel for each of the separated groups.

いくつかの実施例では、第2メモリ区分モジュールは、少なくとも1つのメモリ420の位置及びタイプに応じて、演算ユニット310の少なくとも1つのメモリ420を少なくとも1つのグループに分けるように構成される第2メモリグループ区分モジュールを含む。 In some embodiments, the second memory partitioning module is configured to divide at least one memory 420 of the arithmetic unit 310 into at least one group, depending on the location and type of at least one memory 420. Includes memory group partition module.

図6は、本開示の実施例を実施するために使用され得る例示的な機器600の模式的ブロック図を示す。機器600は、図1に示す画像処理機器130を実現するために用いられ得る。図に示するように、機器600は、読み取り専用メモリ(ROM)602に記憶されたコンピュータプログラム命令、又は記憶ユニット608からランダムアクセスメモリ(RAM)603にロードされたコンピュータプログラム命令に従って、様々な適切な動作及び処理を実行することができる中央処理装置(CPU)601を含む。RAM603には、機器600の動作に必要な種々のプログラムやデータが記憶されていてもよい。CPU601、ROM602及びRAM603は、バス604を介して互いに接続されている。入力/出力(I/O)インタフェース605もバス604に接続されている。 FIG. 6 shows a schematic block diagram of an exemplary device 600 that can be used to carry out the embodiments of the present disclosure. The device 600 can be used to realize the image processing device 130 shown in FIG. As shown in the figure, the device 600 is variously suitable according to the computer program instructions stored in the read-only memory (ROM) 602 or the computer program instructions loaded from the storage unit 608 into the random access memory (RAM) 603. Includes a central processing unit (CPU) 601 capable of performing various operations and processes. Various programs and data necessary for the operation of the device 600 may be stored in the RAM 603. The CPU 601 and the ROM 602 and the RAM 603 are connected to each other via the bus 604. The input / output (I / O) interface 605 is also connected to the bus 604.

I/Oインタフェース605には、機器600の複数のコンポーネントが接続されており、これらのコンポーネントは、キーボード、マウスなどの入力ユニット606;各種のディスプレイ、スピーカなどの出力ユニット607;磁気ディスク、光ディスクなどの記憶ユニット608;ネットワークカード、モデム、無線通信送受信機などの通信ユニット609を含む。通信ユニット609は、インターネットのようなコンピュータネットワーク及び/又は様々な電気通信ネットワークを介して、機器600が他の機器と情報/データを交換することを可能にする。 A plurality of components of the device 600 are connected to the I / O interface 605, and these components are input units 606 such as a keyboard and a mouse; output units 607 such as various displays and speakers; magnetic disks, optical disks and the like. Storage unit 608; includes a communication unit 609 such as a network card, a modem, and a wireless communication transmitter / receiver. The communication unit 609 allows the device 600 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunications networks.

処理ユニット601は、上述した様々な方法及び処理、たとえば過程400を実行する。たとえば、いくつかの実施例では、過程200は、記憶ユニット608のような機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施例では、コンピュータプログラムの一部又は全部を、ROM602及び/又は通信ユニット609を介して機器600にロード及び/又はインストールすることができる。コンピュータプログラムがRAM603にロードされ、CPU601によって実行される際、上述した過程400の1つ又は複数のステップを実行することができる。代替的に、他の実施例では、CPU601は、他の任意の適切な方式(たとえば、ファームウェアによって)過程400を実行するように構成されてもよい。 The processing unit 601 performs the various methods and processes described above, such as process 400. For example, in some embodiments, process 200 may be implemented as a computer software program tangibly contained in a machine readable medium such as storage unit 608. In some embodiments, some or all of the computer programs can be loaded and / or installed on the device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the CPU 601 it is possible to perform one or more steps of the process 400 described above. Alternatively, in other embodiments, the CPU 601 may be configured to perform any other suitable method (eg, by firmware) to perform the process 400.

本明細書で上述された機能は、1つ又は複数のハードウェア論理コンポーネントによって少なくとも部分的に実行されてもよい。たとえば、限定的ではないが、使用できる例示的なタイプのハードウェア論理コンポーネントには、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、複合プログラマブルロジックデバイス(CPLD)などが含まれる。 The functions described herein may be performed at least partially by one or more hardware logic components. For example, but not limited to, exemplary types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), and system-on-a-chips. Includes chips (SOCs), compound programmable logic devices (CPLDs), and the like.

本開示の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせでプログラミングすることができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供され、プログラムコードがプロセッサ又はコントローラによって実行されたときに、フローチャート及び/又はブロック図に規定された機能/動作を実行するようにすることができる。プログラムコードは、完全にマシン上で、部分的にマシン上で実行してもよく、独立したソフトウェアパッケージとして部分的にマシン上で、且つ部分的にリモートマシン上で実行してもよく、完全にリモートマシン又はサーバ上で実行してもよい。 The program code for implementing the methods of the present disclosure can be programmed in any combination of one or more programming languages. These program codes are provided to the processor or controller of a general purpose computer, dedicated computer, or other programmable data processing device and are specified in the flow chart and / or block diagram when the program code is executed by the processor or controller. Functions / actions can be performed. The program code may be run entirely on the machine, partly on the machine, or as a separate software package, partly on the machine and partly on the remote machine, completely. It may be run on a remote machine or server.

本開示の文脈では、機械読み取り可能な媒体は、命令実行システム、装置、又は機器によって使用されるために、又は命令実行システム、装置、又は機器と共に使用されるプログラムを含むか記憶することができる有形媒体とすることができる。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子的、磁気的、光学的、電磁気的、赤外線的、又は半導体的なシステム、装置又は機器、あるいはこれらの任意の適切な組み合わせを含むことができるが、これらに限定されるものではない。機械読み取り可能な記憶媒体のより具体的な例は、1つ又は複数のラインに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、コンパクトディスク読み取り専用メモリ(CD−ROM)、光学記憶機器、磁気記憶機器、又はこれらの任意の適切な組み合わせを含む。 In the context of the present disclosure, machine readable media may include or store programs to be used by or with an instruction execution system, device, or device. It can be a tangible medium. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can include, but are limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination thereof. It is not something that will be done. More specific examples of machine-readable storage media are electrical connections based on one or more lines, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable reads. Includes dedicated memory (EPROM or flash memory), optical fiber, compact disc read-only memory (CD-ROM), optical storage equipment, magnetic storage equipment, or any suitable combination thereof.

ここで記載されたシステム及び技術は、バックグラウンドコンポーネントを含むコンピューティングシステム(たとえば、データサーバとして)、又はミドルウェアコンポーネントを含むコンピューティングシステム(たとえば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(たとえば、ユーザがここで記載されたシステム及び技術の実施形態とインタラクションすることができるグラフィカル・ユーザ・インタフェース又はウェブ・ブラウザを有するユーザ・コンピュータ)、又はそのようなバックグラウンドコンポーネント、ミドルウェアコンポーネント、又はフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムにおいて実施される。システムのコンポーネントは、任意の形式又は媒体のデジタルデータ通信(たとえば、通信ネットワーク)を介して相互に接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、及びインターネットが含まれる。 The systems and technologies described herein are computing systems that include background components (eg, as data servers), or computing systems that include middleware components (eg, application servers), or computing systems that include front-end components. (For example, a user computer having a graphical user interface or web browser that allows the user to interact with embodiments of the systems and techniques described herein), or such background components, middleware components, or. Implemented in computing systems that include any combination of front-end components. The components of the system can be interconnected via digital data communication of any form or medium (eg, a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

コンピュータシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般的に互いに離れており、一般的に通信ネットワークを介してインタラクションする。クライアント−サーバの関係は、対応するコンピュータ上で実行され、互いにクライアント−サーバ関係を有するコンピュータプログラムによって生成される。 Computer systems can include clients and servers. Clients and servers are generally separated from each other and generally interact over a communication network. The client-server relationship runs on the corresponding computer and is generated by a computer program that has a client-server relationship with each other.

さらに、各動作は特定の順序で図示されているが、これは、そのような動作が、図示されている特定の順序又は順番で実行されること、又は、図示されているすべての動作が、所望の結果を得るために実行されることが必要であることを意味するものと理解されるべきである。ある環境では、マルチタスク及び並列処理が有利である場合がある。同様に、上記の検討にはいくつかの具体的な実施の詳細が含まれているが、これらは、本開示の範囲を制限するものとして解釈すべきではない。別個の実施例の文脈で説明されたいくつかの特徴は、単一の形態において組み合わせて実現されてもよい。逆に、単一の形態の文脈で記述された様々な特徴は、複数の形態において、単独で、又は任意の適切なサブ組み合わせで実現されてもよい。 Further, each action is illustrated in a particular order, which means that such actions are performed in the particular order or order shown, or all actions shown are all. It should be understood to mean that it needs to be done to get the desired result. In some environments, multitasking and parallel processing may be advantageous. Similarly, the above discussion contains some specific implementation details, which should not be construed as limiting the scope of this disclosure. Some features described in the context of separate embodiments may be realized in combination in a single embodiment. Conversely, the various features described in the context of a single form may be realized in multiple forms alone or in any suitable subcombination.

この主題は、構造的特徴及び/又は方法の論理動作に特有の言語で説明されているが、添付の特許請求の範囲で限定された主題は、上記で説明された特定の特徴又は動作に限定されるとは限らないことを理解されたい。逆には、上記で説明された特定の特徴及び動作は、特許請求の範囲を実現する例示的な形態にすぎない。 This subject matter is described in a language specific to the logical behavior of structural features and / or methods, but the subject matter limited to the appended claims is limited to the particular feature or behavior described above. Please understand that it is not always done. Conversely, the particular features and behaviors described above are merely exemplary forms that fulfill the claims.

Claims (21)

チップ用のメモリテスト方法であって、前記チップは、少なくとも1つの前記メモリを含む少なくとも1つの演算ユニットを含む複数の演算モジュールを含み、前記方法は、
前記少なくとも1つの演算モジュールのうちの第1演算モジュールに対して、第1テストベクトルを生成するステップと、
少なくとも1つの演算モジュールのうち第1演算モジュールとは異なる他の演算モジュールとは独立して、生成された第1テストベクトルを用いて、前記第1演算モジュールに対してメモリテストを実行するステップと
を含んでなる、チップ用のメモリテスト方法。
A memory test method for a chip, wherein the chip comprises a plurality of arithmetic modules including at least one arithmetic unit including at least one said memory.
A step of generating a first test vector for the first arithmetic module of the at least one arithmetic module,
A step of executing a memory test on the first arithmetic module using the generated first test vector independently of other arithmetic modules different from the first arithmetic module among at least one arithmetic module. A memory test method for chips, including.
前記他の演算モジュールのうちの第2演算モジュールと前記第1演算モジュールが第1基準を満たす場合、前記第1テストベクトルを用いて、前記第2演算モジュールに対してメモリテストを実行するステップと、
前記他の演算モジュールのうちの第2演算モジュールと前記第1演算モジュールが前記第1基準を満たさない場合、前記第2演算モジュールに対して、第2テストベクトルを生成し、少なくとも1つの演算モジュールのうちの他の演算モジュールとは独立して、前記第1テストベクトルとは異なる、生成された第2テストベクトルを用いて、前記第2演算モジュールに対してメモリテストを実行するステップと
をさらに含む、請求項1に記載の方法。
When the second calculation module and the first calculation module among the other calculation modules satisfy the first criterion, the step of executing a memory test on the second calculation module using the first test vector. ,
When the second arithmetic module and the first arithmetic module among the other arithmetic modules do not satisfy the first criterion, a second test vector is generated for the second arithmetic module, and at least one arithmetic module is generated. A step of performing a memory test on the second arithmetic module using the generated second test vector, which is different from the first test vector, is further performed independently of the other arithmetic modules of The method according to claim 1, including.
前記第1基準は、前記第2演算モジュールが前記第1演算モジュールと同じ構造又は演算機能を有することである、請求項2に記載の方法。 The method according to claim 2, wherein the first criterion is that the second arithmetic module has the same structure or arithmetic function as the first arithmetic module. 前記第1テストベクトルを生成するステップは、
前記演算モジュールのうちの1つの演算ユニットに対して、サブテストベクトルを生成するステップと、
前記第1演算モジュールのすべての演算ユニット間で前記サブテストベクトルを再利用することにより、第1テストベクトルを生成するステップと
を含む、請求項1に記載の方法。
The step of generating the first test vector is
A step of generating a subtest vector for one of the arithmetic modules,
The method of claim 1, comprising the step of generating a first test vector by reusing the subtest vector among all the arithmetic units of the first arithmetic module.
第2基準に従って、前記演算ユニットの前記少なくとも1つのメモリを少なくとも1つのグループに分けるステップをさらに含み、
前記サブテストベクトルを生成するステップは、
分けられた前記少なくとも1つのグループの各々に対して、それぞれのグループテストベクトルをそれぞれ生成するステップと、
生成されたグループテストベクトルに基づいて、前記サブテストベクトルを生成するステップと
を含む、請求項4に記載の方法。
Further comprising dividing the at least one memory of the arithmetic unit into at least one group according to a second criterion.
The step of generating the subtest vector is
For each of the divided at least one group, a step of generating each group test vector, and
The method of claim 4, comprising the step of generating the subtest vector based on the generated group test vector.
前記第2基準に従って、前記演算ユニットの前記少なくとも1つのメモリを前記少なくとも1つのグループに分けるステップは、
前記少なくとも1つのメモリの位置及びタイプに応じて、前記演算ユニットの少なくとも1つのメモリを前記少なくとも1つのグループに分けるステップを含む、請求項5に記載の方法。
The step of dividing the at least one memory of the arithmetic unit into the at least one group according to the second criterion is
5. The method of claim 5, comprising dividing the at least one memory of the arithmetic unit into the at least one group, depending on the location and type of the at least one memory.
前記第1演算モジュールに対して前記メモリテストを実行するステップは、
前記第1演算モジュールの前記少なくとも1つの演算ユニットのうちの各々に対して、異なるメモリサブテストが並列的又は直列的に実行されるように、対応するメモリサブテストを実行することにより、前記第1演算モジュールに対して前記メモリテストを実行するステップを含む、請求項1に記載の方法。
The step of executing the memory test for the first arithmetic module is
By executing the corresponding memory subtests such that different memory subtests are executed in parallel or serially for each of the at least one arithmetic unit of the first arithmetic module. 1 The method of claim 1, comprising the step of performing the memory test on the arithmetic module.
第3基準に従って、前記演算ユニットの前記少なくとも1つのメモリを少なくとも1つのグループに分けるステップをさらに含み、前記各演算ユニットに対して、前記対応するメモリサブテストを実行するステップは、
分けられた少なくとも1つのグループの各々に対して、異なるメモリグループテストが並列的に実行されるように、対応するメモリグループテストを実行することにより、前記メモリサブテストを実行するステップを含む、請求項7に記載の方法。
A step further comprising dividing the at least one memory of the arithmetic unit into at least one group according to a third criterion and performing the corresponding memory subtest for each arithmetic unit is a step.
A claim comprising performing the memory subtest by performing a corresponding memory group test such that different memory group tests are performed in parallel for each of at least one group divided. Item 7. The method according to Item 7.
前記第3基準に従って、前記演算ユニットの前記少なくとも1つのメモリを前記少なくとも1つのグループに分けるステップは、
前記少なくとも1つのメモリの位置及びタイプに応じて、前記演算ユニットの前記少なくとも1つのメモリを前記少なくとも1つのグループに分けるステップを含む、請求項8に記載の方法。
The step of dividing the at least one memory of the arithmetic unit into the at least one group according to the third criterion is
8. The method of claim 8, comprising the step of dividing the at least one memory of the arithmetic unit into the at least one group, depending on the location and type of the at least one memory.
チップ用のメモリテスト装置であって、
前記チップは、少なくとも1つの前記メモリを含む少なくとも1つの演算ユニットを含む複数の演算モジュールを含み、
前記装置は、
前記少なくとも1つの演算モジュールのうちの第1演算モジュールに対して、第1テストベクトルを生成するように構成される第1テストベクトル生成モジュールと、
少なくとも1つの演算モジュールのうち前記第1演算モジュールとは異なる他の演算モジュールとは独立して、生成された第1テストベクトルを用いて、前記第1演算モジュールに対してメモリテストを実行するように構成される第1メモリテストモジュールと
を含んでなる、チップ用のメモリテスト装置。
A memory test device for chips
The chip comprises a plurality of arithmetic modules including at least one arithmetic unit including at least one said memory.
The device is
A first test vector generation module configured to generate a first test vector for the first calculation module of the at least one calculation module.
A memory test is executed on the first arithmetic module using the generated first test vector independently of the other arithmetic modules different from the first arithmetic module among at least one arithmetic module. A memory test device for a chip, including a first memory test module configured in.
前記他の演算モジュールのうちの第2演算モジュールと前記第1演算モジュールが第1基準を満たす場合、
前記第1テストベクトルを用いて、前記第2演算モジュールに対してメモリテストを実行するように構成される第2メモリテストモジュールをさらに含み、
前記他の演算モジュールのうちの前記第2演算モジュールと前記第1演算モジュールが前記第1基準を満たさない場合、
前記第2演算モジュールに対して、第2テストベクトルを生成するように構成される第2テストベクトル生成モジュールと、
少なくとも1つの演算モジュールのうちの他の演算モジュールとは独立して、前記第1テストベクトルとは異なる、生成された第2テストベクトルを用いて、前記第2演算モジュールに対してメモリテストを実行するように構成される第3メモリテストモジュールと
をさらに含む、請求項10に記載の装置。
When the second arithmetic module and the first arithmetic module among the other arithmetic modules satisfy the first criterion
A second memory test module configured to perform a memory test on the second arithmetic module using the first test vector is further included.
When the second arithmetic module and the first arithmetic module among the other arithmetic modules do not satisfy the first criterion.
A second test vector generation module configured to generate a second test vector for the second arithmetic module, and a second test vector generation module.
A memory test is executed on the second arithmetic module using the generated second test vector, which is different from the first test vector, independently of the other arithmetic modules of the at least one arithmetic module. 10. The apparatus of claim 10, further comprising a third memory test module configured to do so.
前記第1基準は、前記第2演算モジュールが前記前記第1演算モジュールと同じ構造又は演算機能を有することである、請求項12に記載の装置。 The apparatus according to claim 12, wherein the first criterion is that the second arithmetic module has the same structure or arithmetic function as the first arithmetic module. 前記第1テストベクトル生成モジュールは、
前記演算モジュールのうちの1つの演算ユニットに対して、サブテストベクトルを生成するように構成されるサブテストベクトル生成モジュールと、
前記第1演算モジュールの全ての演算ユニット間で前記サブテストベクトルを再利用することにより、第1テストベクトルを生成するように構成されるサブテストベクトル再利用モジュールと
を含む、請求項10に記載の装置。
The first test vector generation module is
A subtest vector generation module configured to generate a subtest vector for one of the arithmetic modules.
The tenth aspect of the present invention includes a subtest vector reuse module configured to generate a first test vector by reusing the subtest vector among all the arithmetic units of the first arithmetic module. Equipment.
第2基準に従って、前記演算ユニットの前記少なくとも1つのメモリを少なくとも1つのグループに分けるように構成される第1メモリ区分ブロックをさらに含み、
前記サブテストベクトル生成モジュールは、
分けられた前記少なくとも1つのグループの各々に対して、それぞれのグループテストベクトルをそれぞれ生成するように構成されるグループテストベクトル生成モジュールと、
生成されたグループテストベクトルに基づいて、前記サブテストベクトルを生成するように構成されるグループテストベクトル合成モジュールと
を含む、請求項13に記載の装置。
A first memory partition block configured to divide the at least one memory of the arithmetic unit into at least one group according to a second criterion is further included.
The subtest vector generation module is
A group test vector generation module configured to generate each group test vector for each of the at least one group divided.
13. The apparatus of claim 13, comprising a group test vector synthesis module configured to generate the subtest vector based on the generated group test vector.
前記第1メモリ区分ブロックは、
前記少なくとも1つのメモリの位置及びタイプに応じて、前記演算ユニットの前記少なくとも1つのメモリを前記少なくとも1つのグループに分けるように構成される第1メモリグループ区分モジュールを含む、請求項14に記載の装置。
The first memory division block is
14. The 14. Device.
前記第1メモリテストモジュールは、
前記第1演算モジュールの前記少なくとも1つの演算ユニットの各々に対して、異なるメモリサブテストが並列的又は直列的に実行されるように、対応するメモリサブテストを実行することにより、前記第1演算モジュールに対して前記メモリテストを実行するように構成されるメモリサブテストモジュールを含む、請求項9に記載の装置。
The first memory test module is
The first operation by executing the corresponding memory subtest so that different memory subtests are executed in parallel or serially for each of the at least one operation unit of the first operation module. 9. The apparatus of claim 9, comprising a memory subtest module configured to perform the memory test on the module.
第3基準に従って、前記演算ユニットの前記少なくとも1つのメモリを少なくとも1つのグループに分けるように構成される第2メモリ区分モジュールをさらに含み、
前記メモリサブテストモジュールは、
分けられた少なくとも1つのグループの各々に対して、異なるメモリグループテストが並列的に実行されるように、対応するメモリグループテストを実行することにより、前記メモリサブテストを実行することをさらに含む、請求項16に記載の装置。
A second memory partitioning module configured to divide the at least one memory of the arithmetic unit into at least one group according to a third criterion is further included.
The memory subtest module is
Further comprising running the memory subtest by running the corresponding memory group test such that different memory group tests are run in parallel for each of at least one group divided. The device according to claim 16.
前記第2メモリ区分モジュールは、
前記少なくとも1つのメモリの位置及びタイプに応じて、前記演算ユニットの前記少なくとも1つのメモリを前記少なくとも1つのグループに分けるように構成される第2メモリグループ区分モジュールを含む、請求項17に記載の装置。
The second memory division module is
17. The 17. Device.
電子機器であって、
1つ又は複数のプロセッサと、
1つ又は複数のプロセッサによって実行される際、請求項1〜9のいずれか一項に記載の方法を前記電子機器に実行させる1つ又は複数のプログラムを記憶するメモリと
を含んでなる電子機器。
It ’s an electronic device,
With one or more processors
An electronic device comprising a memory for storing one or more programs that causes the electronic device to perform the method according to any one of claims 1-9 when executed by one or more processors. ..
プロセッサによって実行される際、請求項1〜9のいずれか一項に記載の方法を実現させるコンピュータプログラムが記憶されているコンピュータ可読記憶媒体。 A computer-readable storage medium in which a computer program that realizes the method according to any one of claims 1 to 9 when executed by a processor is stored. コンピュータプログラムであって、前記コンピュータプログラムがプロセッサによって実行される際、請求項1〜9のいずれか一項に記載の方法を実現させる、コンピュータプログラム。 A computer program that realizes the method according to any one of claims 1 to 9 when the computer program is executed by a processor.
JP2021054103A 2020-07-20 2021-03-26 Memory test method and apparatus for chips, electronics, computer readable storage medium and computer program Active JP7317885B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010701037.2A CN111833959B (en) 2020-07-20 2020-07-20 Method and device for testing memory, electronic equipment and computer readable storage medium
CN202010701037.2 2020-07-20

Publications (2)

Publication Number Publication Date
JP2022003680A true JP2022003680A (en) 2022-01-11
JP7317885B2 JP7317885B2 (en) 2023-07-31

Family

ID=72923699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021054103A Active JP7317885B2 (en) 2020-07-20 2021-03-26 Memory test method and apparatus for chips, electronics, computer readable storage medium and computer program

Country Status (5)

Country Link
US (1) US11393552B2 (en)
EP (1) EP3879533B1 (en)
JP (1) JP7317885B2 (en)
KR (1) KR102448018B1 (en)
CN (1) CN111833959B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568821A (en) * 2021-07-26 2021-10-29 北京百度网讯科技有限公司 Method, device, equipment and medium for testing computation performance of AI chip
CN114062891A (en) * 2021-10-11 2022-02-18 深圳市德斯戈智能科技有限公司 Calculation force testing device based on AI chip
CN117783809A (en) * 2022-09-22 2024-03-29 深圳市中兴微电子技术有限公司 Chip testing method, device, chip and computer readable storage medium
CN117169700B (en) * 2023-11-03 2024-02-23 北京炬玄智能科技有限公司 Chip testing system and method based on grouping test

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000123600A (en) * 1998-10-13 2000-04-28 Advantest Corp Method and constitution for testing buried memory
JP2006105783A (en) * 2004-10-05 2006-04-20 Nec Electronics Corp Memory test circuit and method
US20120030509A1 (en) * 2010-07-27 2012-02-02 Wood Timothy J Mechanism for maintaining cache soft repairs across power state transitions
CN111158967A (en) * 2019-12-31 2020-05-15 北京百度网讯科技有限公司 Artificial intelligence chip testing method, device, equipment and storage medium

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288153A (en) * 1996-04-19 1997-11-04 Advantest Corp Testing equipment of semiconductor
JP3349123B2 (en) * 1999-11-01 2002-11-20 株式会社半導体理工学研究センター Integrated circuit and circuit design method for the integrated circuit
US7802155B2 (en) * 2000-01-06 2010-09-21 Super Talent Electronics, Inc. Non-volatile memory device manufacturing process testing systems and methods thereof
CA2321346A1 (en) * 2000-09-28 2002-03-28 Stephen K. Sunter Method, system and program product for testing and/or diagnosing circuits using embedded test controller access data
US7139955B2 (en) * 2002-12-17 2006-11-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Hierarchically-controlled automatic test pattern generation
US7484144B2 (en) * 2004-08-30 2009-01-27 Lattice Semiconductor Corporation Testing embedded memory in an integrated circuit
JP4494474B2 (en) * 2004-11-18 2010-06-30 メンター・グラフィクス・コーポレーション Programmable memory built-in self test (MBIST) method and apparatus
US7457987B2 (en) * 2006-03-09 2008-11-25 Lucent Technologies Inc. Test vector manager, method of managing test vectors and a test tool employing the manager and the method
US8607111B2 (en) * 2006-08-30 2013-12-10 Micron Technology, Inc. Sub-instruction repeats for algorithmic pattern generators
WO2010066207A1 (en) * 2008-12-12 2010-06-17 上海芯豪微电子有限公司 Method for self-testing and self-repairing on chip
TWI397080B (en) * 2009-03-12 2013-05-21 Realtek Semiconductor Corp Memory apparatus and testing method thereof
US10748641B2 (en) * 2017-10-13 2020-08-18 Qualcomm Incorporated Byte enable memory built-in self-test (MBIST) algorithm
CN109346119B (en) * 2018-08-30 2021-07-23 武汉精鸿电子技术有限公司 Semiconductor memory aging test core board
US10976367B2 (en) * 2018-12-13 2021-04-13 Micron Technology, Inc. Controller structural testing with automated test vectors

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000123600A (en) * 1998-10-13 2000-04-28 Advantest Corp Method and constitution for testing buried memory
KR20000028991A (en) * 1998-10-13 2000-05-25 어드밴테스트 코포레이션 Method and structure for testing embedded memories
US6249889B1 (en) * 1998-10-13 2001-06-19 Advantest Corp. Method and structure for testing embedded memories
JP2006105783A (en) * 2004-10-05 2006-04-20 Nec Electronics Corp Memory test circuit and method
US20120030509A1 (en) * 2010-07-27 2012-02-02 Wood Timothy J Mechanism for maintaining cache soft repairs across power state transitions
CN111158967A (en) * 2019-12-31 2020-05-15 北京百度网讯科技有限公司 Artificial intelligence chip testing method, device, equipment and storage medium
JP2021081413A (en) * 2019-12-31 2021-05-27 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッドBeijing Baidu Netcom Science Technology Co., Ltd. Artificial intelligence chip test method, device, apparatus, and storage medium

Also Published As

Publication number Publication date
US20210217483A1 (en) 2021-07-15
KR102448018B1 (en) 2022-09-26
JP7317885B2 (en) 2023-07-31
KR20210042855A (en) 2021-04-20
EP3879533B1 (en) 2023-05-10
CN111833959B (en) 2022-08-02
EP3879533A1 (en) 2021-09-15
US11393552B2 (en) 2022-07-19
CN111833959A (en) 2020-10-27

Similar Documents

Publication Publication Date Title
JP2022003680A (en) Method, apparatus and electronic device for testing memory of chip, computer-readable storage medium and computer program
JP7029873B2 (en) Artificial intelligence chip test methods, equipment, equipment, and storage media
US11983624B2 (en) Auto generation and tuning tool for convolution kernels
WO2014025678A1 (en) Stacked memory device with helper processor
US8681166B1 (en) System and method for efficient resource management of a signal flow programmed digital signal processor code
CN110837483B (en) Tensor dimension transformation method and device
US20090296505A1 (en) Memory test method and memory test device
CN111383704B (en) Built-in self-test circuit of memory and test method for memory
US20230409302A1 (en) Computer-readable recording medium storing conversion program and conversion processing method
US20230005562A1 (en) Scan chain compression for testing memory of a system on a chip
US11615296B2 (en) Methods, electronic devices, and computer storage media for testing depth learning chip
Al-Zoubi et al. Cnn implementation and analysis on xilinx versal acap at european xfel
US11455222B2 (en) Systems and methods for testing many-core processors
Hadjitheophanous et al. Utilizing shared memory multi-cores to speed-up the ATPG process
CN112540888B (en) Debugging method and device for large-scale reconfigurable processing unit array
US20230126594A1 (en) Instruction generating method, arithmetic processing device, and instruction generating device
CN117852600B (en) Artificial intelligence chip, method of operating the same, and machine-readable storage medium
CN112329362B (en) General method, device and storage medium for complex engineering modification of chip
US10642765B1 (en) Productivity language interface for synthesized circuits
US11527298B1 (en) On-chip memory diagnostics
US20220405594A1 (en) Composition conversion apparatus, composition conversion method, and computer readable medium
US20220284264A1 (en) Computer-readable recording medium storing program, computer, and learning method
CN116976248A (en) Circuit design adjustment using redundant nodes
KR20230059327A (en) Scan correlation-aware scan cluster reordering method and apparatus for low-power testing
CN114527374A (en) Nondestructive test Mode testing method for GPGPU chip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211015

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20211018

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20220413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230313

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: 20230711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230719

R150 Certificate of patent or registration of utility model

Ref document number: 7317885

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150