Memory testing method, device and testing equipment
By using pre-selected target address bits to automatically control registers in memory testing, automatic reading and writing of multiple data maps can be achieved, solving the problem of low memory test efficiency and improving DFT test efficiency.
Patent Information
- Application Number
- CN202310738724.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-19
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2043-06-19
AI Technical Summary
Existing memory testing methods are time-consuming and labor-intensive, resulting in low test efficiency. This is especially true in DFT testing of DRAM chips, where manually selecting and writing data maps is complex and time-consuming.
By pre-selecting the target address bit, the register that pre-stores the test data is automatically controlled to realize automatic reading and writing of various data maps, thereby improving test efficiency.
The efficiency of memory testing, especially DFT testing, is improved, and the time cost of manual intervention is reduced.
Smart Images

Figure CN119207533B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of integrated circuit manufacturing, and in particular to a memory testing method, device, and testing equipment. Background Art
[0002] Design-for-test (DFT) testing aims to ensure the reliability and consistency of DRAM chips during production. It involves embedding test circuits within DRAM chips to facilitate testing and troubleshooting during the production process. These test circuits can detect and correct faults in DRAM chips, thereby improving DRAM chip reliability and performance.
[0003] Currently, when performing DFT testing on a memory, multiple data topologies are typically used to frequently write and read the memory, while simultaneously applying various test conditions to capture specific error patterns.
[0004] During process scaling, test circuits are often shared across multiple memories, and address alignment rules can become complex. Consequently, memory manufacturers typically perform DFT testing on memories by manually selecting the data patterns to be written. This method is time-consuming and labor-intensive, significantly reducing memory testing efficiency.
[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute prior art known to ordinary technicians in the field. Summary of the Invention
[0006] The purpose of the present disclosure is to provide a memory testing method, apparatus and testing equipment to overcome the problem of improving memory testing efficiency.
[0007] According to a first aspect of an embodiment of the present disclosure, a memory testing method is provided, comprising: responding to a data write instruction, obtaining the numerical value of one or more target address bits, the data write instruction comprising a row address and a column address, the target address bit being a certain bit of the row address or a certain bit of the column address; determining a target register in one or more registers according to the numerical value of the one or more target address bits, each of the registers pre-stored with test data, different registers storing different test data; and writing the test data in the target register into a storage unit corresponding to the row address and the column address.
[0008] In an exemplary embodiment of the present disclosure, determining a target register in one or more registers based on the numerical values of the one or more target address bits includes: setting the register number in the register selection signal according to the numerical values of the one or more target address bits; and outputting the register selection signal to the memory to control the register corresponding to the register number to output the test data.
[0009] In an exemplary embodiment of the present disclosure, it also includes: determining the number of groups of test data corresponding to the test spectrum according to the test spectrum corresponding to the current test, where a group of the test data includes multiple first values, multiple second values, or a combination of the first values and the second values; when the test spectrum corresponds to multiple groups of test data, writing each group of the test data into one of the registers respectively; setting a correspondence between each of the registers and the register number of the register selection signal, and the register selection signal is used to control the register corresponding to the register number to output the test data.
[0010] In an exemplary embodiment of the present disclosure, the target address bit is the first preset bit in the row address, the one or more registers include a first register and a second register, when the first preset bit in the row address is equal to a first value, the target register is the first register, and when the first preset bit in the row address is equal to a second value, the target register is the second register; wherein, the first value is 1 and the second value is 0, or, the first value is 0 and the second value is 1.
[0011] In an exemplary embodiment of the present disclosure, the target address bit is the first preset bit in the column address, the one or more registers include a first register and a second register, when the first preset bit in the column address is equal to a first value, the target register is the first register, and when the first preset bit in the column address is equal to a second value, the target register is the second register; wherein, the first value is 1 and the second value is 0, or, the first value is 0 and the second value is 1.
[0012] In an exemplary embodiment of the present disclosure, the multiple target address bits are the first preset bit and the second preset bit in the row address, and the one or more registers include a first register, a second register, a third register and a fourth register. When the first preset bit and the second preset bit in the row address are both equal to the first value, the target register is the first register; when the first preset bit and the second preset bit in the row address are respectively equal to the second value and the first value, the target register is the second register; when the first preset bit and the second preset bit in the row address are respectively equal to the first value and the second value, the target register is the third register; when the first preset bit and the second preset bit in the row address are both equal to the second value, the target register is the fourth register; wherein, the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
[0013] In an exemplary embodiment of the present disclosure, the multiple target address bits are a first preset bit in a row address and a second preset bit in a column address, and the one or more registers include a first register, a second register, a third register and a fourth register. When the first preset bit in the row address and the second preset bit in the column address are both equal to a first value, the target register is the first register; when the first preset bit in the row address and the second preset bit in the column address are respectively equal to the second value and the first value, the target register is the second register; when the first preset bit in the row address and the second preset bit in the column address are respectively equal to the first value and the second value, the target register is the third register; when the first preset bit in the row address and the second preset bit in the column address are both equal to the second value, the target register is the fourth register; wherein, the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
[0014] According to a second aspect of an embodiment of the present disclosure, a memory testing device is provided, comprising: an address bit identification module, configured to respond to a data write instruction to obtain the numerical value of one or more target address bits, the data write instruction comprising a row address and a column address, the target address bit being a certain bit of the row address or a certain bit of the column address; a register screening module, configured to determine a target register in one or more registers based on the numerical value of the one or more target address bits, each of the registers pre-stored with test data, and different registers storing different test data; a data writing module, configured to write the test data in the target register into a storage unit corresponding to the row address and the column address.
[0015] According to a third aspect of the present disclosure, a testing device is provided, comprising: a memory; and a processor coupled to the memory, wherein the processor is configured to execute any one of the above methods based on instructions stored in the memory.
[0016] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which a program is stored. When the program is executed by a processor, the program implements any one of the above-mentioned memory testing methods.
[0017] The disclosed embodiment automatically controls a register that pre-stores data by using a pre-selected target address bit, and can automatically read and write multiple test patterns when using multiple data patterns for memory testing, thereby effectively improving the memory test efficiency, especially the test efficiency of DFT testing.
[0018] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.
[0020] Figure 1 is a flowchart of a memory testing method in an exemplary embodiment of the present disclosure.
[0021] Figure 2 This is a flowchart of pre-configured control in one embodiment of the present disclosure.
[0022] Figures 3A to 3E Schematic diagram of the test pattern in the embodiment of the present disclosure.
[0023] Figure 4A and Figure 4B They are Figures 3A to 3E Schematic diagram of the correspondence between the test spectrum and the test data.
[0024] Figures 5A to 5C FIG. 1 is a schematic diagram of using a target address bit to implement write control in one embodiment of the present disclosure.
[0025] Figures 6A to 6C FIG. 1 is a schematic diagram of using two target address bits to implement write control in one embodiment of the present disclosure.
[0026] Figure 7 It is a schematic diagram of the process of writing a checkerboard test pattern to a storage array in one embodiment of the present disclosure.
[0027] Figure 8 is a block diagram of a memory testing device in an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0028] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that the present disclosure will be more comprehensive and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or that other methods, components, devices, steps, etc. may be employed. In other cases, well-known technical solutions are not shown or described in detail to avoid obscuring various aspects of the present disclosure.
[0029] The accompanying drawings are merely schematic illustrations of the present disclosure. Identical reference numerals in the drawings denote identical or similar components, and thus their repeated descriptions will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0030] Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0031] Figure 1 is a flowchart of a memory testing method in an exemplary embodiment of the present disclosure.
[0032] refer to Figure 1 , the memory testing method 100 may include:
[0033] Step S1, in response to a data write instruction, obtaining the value of one or more target address bits, wherein the data write instruction includes a row address and a column address, and the target address bit is a bit of the row address or a bit of the column address;
[0034] Step S2, determining a target register from one or more registers according to the values of the one or more target address bits, each register pre-stores test data, and different registers store different test data;
[0035] Step S3: writing the test data in the target register into the storage unit corresponding to the row address and the column address.
[0036] The disclosed embodiment automatically controls a register that pre-stores data by using a pre-selected target address bit, and can automatically read and write multiple test patterns when using multiple data patterns for memory testing, thereby effectively improving the memory test efficiency, especially the test efficiency of DFT testing.
[0037] The method provided by the embodiment of the present disclosure may be applied to a test device capable of performing DFT testing, such as an integrated circuit automatic test equipment (ATE).
[0038] Next, each step of the memory testing method 100 is described in detail.
[0039] In step S1 , in response to a data write instruction, the values of one or more target address bits are acquired. The data write instruction includes a row address and a column address. The target address bit is a bit of the row address or a bit of the column address.
[0040] In DRAM memory, data write instructions are represented by command / address (CA) signals. Specifically, a preset field in the CA signal records the logical address of the operation (including the row address and column address), as well as the type of operation (read or write). When the DRAM receives the CA signal from the controller, it can extract data from the preset fields to distinguish whether the operation is a read or write instruction, and identify the row and column addresses corresponding to the operation.
[0041] Generally speaking, the DDR4 CA command contains information such as read and write control signals, row address, column address, and CAS latency. Assuming that the row address of a write operation is 1010, the column address is 0110, and the CAS latency is 3 clock cycles, the binary representation of the CA command is: 0001 1010 01100011, where the first 4 bits represent the write operation (1), the next 12 bits represent the row address and column address, and the last 4 bits represent the CAS latency. CAS latency refers to the time delay from when the column address is selected to when the data can be read or written. In DRAM, read and write operations require a series of steps, including row address selection, column address selection, and data transmission. CAS latency refers to how many clock cycles are required to wait after the column address is selected before the read or write operation can begin. The smaller the CAS latency value, the faster the DRAM read and write speed. Different DDR chips may have different CA command formats. The specific format needs to be referred to the DDR data manual.
[0042] During identification, the control signal portion can be read and written bit by bit to determine whether the command is a write command. Then, the row address and column address are identified bit by bit to obtain the value of the target address bit. For example, if the target address bit includes the 0th and 1st bits of the row address, the values of the target address bits in the above example are 0 and 1 respectively.
[0043] Next, the reading and writing of the test data is controlled according to the value of the target address bit.
[0044] In step S2, a target register is determined from one or more registers according to the values of one or more target address bits. Each register stores test data in advance, and different registers store different test data.
[0045] The disclosed embodiments can be applied during DFT testing of memories. Depending on the memory design, the correspondence between logical addresses and physical addresses may vary. When a test circuit or test equipment is used to test multiple memories, it is necessary to pre-set data maps and data writing strategies based on the different memories or different test objectives.
[0046] Figure 2 This is a flowchart of pre-configured control in one embodiment of the present disclosure.
[0047] refer to Figure 2 In one embodiment, before executing method 100, the following steps may be further included:
[0048] Step S21, determining the number of test data groups corresponding to the test pattern according to the test pattern corresponding to the current test, where a group of test data includes a plurality of first values, a plurality of second values, or a permutation and combination of the first value and the second value;
[0049] Step S22, when the test pattern corresponds to multiple groups of test data, each group of test data is written into a corresponding register;
[0050] Step S23 , setting a corresponding relationship between each register and the register number of the register selection signal, where the register selection signal is used to control the register corresponding to the register number to output test data.
[0051] In step S21, for the memory currently to be tested, a data map for this test may be determined first.
[0052] Figures 3A to 3E Schematic diagram of the test pattern in the embodiment of the present disclosure.
[0053] exist Figures 3A to 3EIn the illustrated embodiment, the bit lines BL and the word lines WL are arranged orthogonally, and the memory cell 31 is connected to a word line WL and a bit line BL at the same time. Different memory cells are connected to different word lines and bit lines, and the data states of the memory cells corresponding to the test spectrum are divided into write 1 and write 0.
[0054] refer to Figure 3A In one embodiment, the test pattern includes a "vertical zebra stripe" test pattern, for example, all memory cells connected to even-numbered word lines (such as WL0, WL2, WL4, etc.) are written with 1, and all memory cells connected to odd-numbered word lines (such as WL1, WL3, WL5, etc.) are written with 0.
[0055] refer to Figure 3B In another embodiment, the test pattern may also be presented with Figure 3A The test pattern shown is the opposite of the "vertical zebra stripe" shape, where all the memory cells connected to the even-numbered word lines (such as WL0, WL2, WL4...) are written with 0, and all the memory cells connected to the odd-numbered word lines (such as WL1, WL3, WL5...) are written with 1.
[0056] Figure 3A and Figure 3B The illustrated embodiments are typically implemented in conjunction with each other to separately test memory cells connected to odd-numbered word lines and memory cells connected to even-numbered word lines. The test objectives may be adjusted based on other configured test conditions.
[0057] Except for Figure 3A and Figure 3B The "vertical zebra stripe" test pattern shown can also be set to store the same data in the storage cells connected to the M word lines in every N columns. For example, when N=M=2, the storage cells connected to WL0 and WL1 write 1, the storage cells connected to WL2 and WL3 write 0, the storage cells connected to WL4 and WL5 write 1, etc.; when N=2 and M=1, the storage cells connected to WL0 write 1, the storage cells connected to WL1 and WL2 write 0, the storage cells connected to WL3 write 1, the storage cells connected to WL4 and WL5 write 0, etc.
[0058] The "vertical zebra crossing" test pattern can have various forms according to the test purpose. The above is only an example and is not a special limitation. In addition to the "vertical zebra crossing" test pattern, there can also be a "horizontal zebra crossing" test pattern, such as Figure 3C and Figure 3D shown.
[0059] refer to Figure 3CIn one embodiment, the test pattern includes a "horizontal zebra stripe" test pattern, for example, all memory cells connected to even-numbered bit lines (such as BL0, BL2, BL4, etc.) are written with 1, and all memory cells connected to odd-numbered bit lines (such as BL1, BL3, BL5, etc.) are written with 0. Correspondingly, Figure 3D , you can also set Figure 3C The test pattern is exactly the opposite, that is, all the memory cells connected to the even-numbered bit lines (such as BL0, BL2, BL4, ...) are written with 0, and all the memory cells connected to the odd-numbered bit lines (such as BL1, BL3, BL5, ...) are written with 1.
[0060] Figure 3C The test patterns and Figure 3D The test patterns shown can be implemented in conjunction with each other to test memory cells connected to odd-numbered bit lines and memory cells connected to even-numbered bit lines respectively. The test objectives can be adjusted according to other configured test conditions.
[0061] and Figure 3A 、 Figure 3B The embodiment shown corresponds to, Figure 3C 、 Figure 3D The embodiment shown may also be configured to store the same data in the memory cells connected to the M bit lines in every N rows, which will not be described in detail.
[0062] Figure 3E Another common test pattern is a "checkerboard" test pattern. That is, 0 is written to the memory cells connected to even word lines and even bit lines, and odd word lines and odd bit lines, respectively. 1 is written to the memory cells connected to odd word lines and even bit lines, and even word lines and odd bit lines, respectively.
[0063] Another test pattern that is exactly the opposite is to swap the writing positions of 0 and 1 to test all the memory cells.
[0064] Furthermore, a checkerboard pattern with intervals of 2, 3, 4, or more word lines / bit lines can be configured. For example, N*M memory cells connected by N adjacent word lines and M adjacent bit lines can have the same data, and this data can be arranged in an orderly manner across the memory cells. A "checkerboard" test pattern can also be presented in a variety of ways, which are not listed here.
[0065] Next, the process proceeds to step S22 . When the test pattern corresponds to multiple groups of test data, each group of test data is written into a corresponding register.
[0066] Figure 4A and Figure 4B They are Figures 3A to 3E Schematic diagram of the correspondence between the test spectrum and the test data.
[0067] exist Figure 4A and Figure 4B In the embodiment shown, the test data is 8-bit data, which is written into 8 consecutive memory cells corresponding to the same word line. Figure 3A In the illustrated embodiment, test data A is 8-bit data: 00000000; test data B is 8-bit data: 11111111. The number of bits of test data A and test data B is determined by the Burst Length (BL) supported by the memory. In DDR5, the Burst Length can reach 16, so the number of bits of test data A and test data B can be 16 bits.
[0068] refer to Figure 4A , observed along the word line WL direction, although Figure 3A 、 Figure 3B The test patterns shown are different, but both test patterns can be composed of test data A and test data B. Therefore, in this application, when it is necessary to use Figure 3A 、 Figure 3B When using the test pattern shown in the figure, it is sufficient to write all 1s and all 0s to the two registers respectively in advance. The test pattern can be written later by controlling the writing order of the two registers.
[0069] refer to Figure 4B , observed along the word line WL direction, Figure 3C 、 Figure 3D 、 Figure 3E Although the test patterns shown are different, they can both be composed of test data C: 01010101 and test data D: 10101010. Therefore, in this application, when it is necessary to use Figure 3C 、 Figure 3D 、 Figure 3E When using the test pattern shown in FIG. 1 , it is sufficient to pre-write test data C: 10101010 and test data D: 01010101 into the two registers. The test pattern can be written subsequently by controlling the writing order of the two registers.
[0070] In the above example, since a set of test data is 8 bits, it is necessary to control the corresponding register to output the test data multiple times after writing one word line.
[0071] For other test patterns not shown, the above method can be used to observe along the word line WL to determine the number of test data types to be used, and then pre-set registers according to the number, and write each set of test data into a corresponding register.
[0072] After selecting registers and storing data, you can assign a number and a register select signal to each register. This allows you to subsequently configure the register select signal to enable the register to output the stored test data. After the register outputs test data, it still stores the test data. Each time the register select signal corresponding to a register is active, it controls the corresponding register to output a set of test data.
[0073] Since there may be multiple ways to implement a register, there may also be multiple formats of the corresponding register selection signal, and the present disclosure does not impose any special restrictions on this.
[0074] In actual use, for example, in step S2, when a target register is determined in one or more registers according to the numerical values of one or more target address bits, the register number in the register selection signal can be set according to the numerical values of one or more target address bits, and then the register selection signal is output to the memory to control the register corresponding to the register number to output test data.
[0075] Assume that four registers are pre-set, each storing four sets of test data. The four registers are numbered YA, YB, YC, and YD respectively. The combination of the target address bit values can assign values to the control parameter D[0:N]. There are two target address bits (i.e., N=1). When the values of the target address bits are 0 and 1 respectively, the control parameter D[0:N] is assigned values so that D[0:N]=01. D[0:N]=01 is set as the execution condition of the register selection signal of register YB. When it is judged that D[0:N]=01, the register selection signal of register YB can be directly called to control register YB to output a set of stored test data.
[0076] The number of target address bits can be determined based on the number of registers. If only two registers need to be set, one target address bit (values include 1 and 0) can be used to achieve control; if there are three or four registers, two target address bits (values include 1 and 0) can be used to achieve control. If the number of registers is NY and the number of target address bits is NA, then keep 2 NA-1 ≤NY≤2 NA The quantitative relationship is more reasonable. For example, if NY=6, then NA=3 can be set accordingly.
[0077] It should be noted that when the test pattern corresponds to only one set of test data, only one register storing the test data is set as the target register. For each data write instruction, the target register is controlled to output the test data in response to the data write instruction, so as to write the test data into the storage unit corresponding to the data write instruction. In this case, there is no need to set the target address bit or detect the target address bit.
[0078] For example, for Figure 3C 、 Figure 3D As shown in the "horizontal stripe" test pattern, when observed along WL, the test data written to each WL is the same. In this case, there is no need to set the target address bit, and the test data can be directly written in response to the data write instruction.
[0079] The control principles of the disclosed embodiments are explained below with reference to several embodiments.
[0080] Figures 5A to 5C FIG. 1 is a schematic diagram of using a target address bit to implement write control in one embodiment of the present disclosure.
[0081] refer to Figure 5A In one embodiment, the target address bit is the first preset bit in the row address (WL address), and the one or more registers include a first register Y1 and a second register Y2. When the first preset bit in the row address is equal to a first value, the target register is the first register Y1, and when the first preset bit in the row address is equal to a second value, the target register is the second register Y2; wherein the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
[0082] Figure 5A The embodiment shown is suitable for Figure 4A In the case shown, data writing can be achieved using two registers.
[0083] To write different data to odd and even rows, the first preset bit in the row address can be set to bit 0, RA0. Then, when the row address changes row by row, each time the row address increments by one, the target register for writing is changed. This allows test data A (11111111) stored in register Y1 and test data B (00000000) stored in register Y2 to be written alternately to adjacent rows. When RA0 = 1, register Y1 is enabled to write test data A; when RA0 = 0, register Y2 is enabled to write test data B.
[0084] It should be noted that, when the test patterns are different, the test data stored in the first register Y1 and the second register Y2 are different. In the following examples, the test data stored in the first register Y1 and the second register Y2 in each example varies according to the example.
[0085] refer to Figure 5B , when implemented as Figure 5BWhen a checkerboard-like test pattern is used, the target address bit is the first preset bit in the row address (BL address). In this case, the patterns of two adjacent rows are the same, and four adjacent rows are used as a pattern to implement repeated writing to form a checkerboard. The first preset bit can be set to the first bit RA1 of the row address instead of the 0th bit, thereby enabling the data of the first register Y1 (test data C: 01010101) and the data of the second register Y2 (test data D: 10101010) to be written alternately every two rows. When RA1 = 0, the first register Y1 is enabled to write test data C; when RA1 = 1, the second register Y2 is enabled to write test data D.
[0086] refer to Figure 5C In another embodiment, the target address bit is the first preset bit in the column address (BL address), and the one or more registers include a first register Y1 and a second register Y2. When the first preset bit in the column address is equal to a first value, the target register is the first register Y1, and when the first preset bit in the column address is equal to a second value, the target register is the second register Y2; wherein the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
[0087] and Figure 5A and Figure 5B The difference is that at the same row address, ie, on the same word line WL, different columns (bit lines BL) have different test data written into them. Figure 5C The illustrated embodiment involves only two types of test data, namely, test data A: 11111111 and test data B: 00000000. When the bit line BL address is encoded between 0 and 7 (i.e., the third bit CA3 of the column address = 0), the first register Y1 is enabled to write test data A. When the bit line BL address is encoded between 8 and 15 (i.e., the third bit CA3 of the column address = 1), the second register Y2 is enabled to write test data B. This scheme can also be interchanged to write another test pattern.
[0088] Figures 6A to 6C FIG. 1 is a schematic diagram of using two target address bits to implement write control in one embodiment of the present disclosure.
[0089] refer to Figure 6AIn one embodiment, the multiple target address bits are a first preset bit and a second preset bit in the row address, and the one or more registers include a first register Y1, a second register Y2, a third register Y3, and a fourth register Y4. When the first preset bit and the second preset bit in the row address are both equal to a first value, the target register is the first register Y1; when the first preset bit and the second preset bit in the row address are respectively equal to the second value and the first value, the target register is the second register Y2; when the first preset bit and the second preset bit in the row address are respectively equal to the first value and the second value, the target register is the third register Y3; when the first preset bit and the second preset bit in the row address are both equal to the second value, the target register is the fourth register Y4; wherein the first value is 0 and the second value is 1. In other embodiments, the first value may also be 1 and the second value may also be 0, which is not limited here.
[0090] Although four registers are provided in this embodiment, Figure 6A The illustrated embodiment can also be applied to a scenario where only three registers are set.
[0091] like Figure 6A As shown, when four types of test data are used and the same test data needs to be used for the same row (with the same WL address), the two bits in the row address can be used to implement write control. If the first preset bit and the second preset bit are set to the 0th bit and the 1st bit of the row address, different test data can be written to the four adjacent rows when the row address changes row by row. For example, when RA1=0, RA0=0, the first register Y1 is enabled and the test data 01010101 is written; when RA1=0, RA0=1, the second register Y2 is enabled and the test data 11001100 is written; when RA1=1, RA0=0, the third register Y3 is enabled and the test data 10101010 is written; when RA1=1, RA0=1, the fourth register Y4 is enabled and the test data 10001000 is written. When the row address changes, the change logic of the above-mentioned first preset bit and the second preset bit remains unchanged.
[0092] Under certain conditions, only one or two test data types may be used for the current test of the current memory model, but other tests may require another one or two test data types. In this case, four registers can be set. The number of registers can be determined by the total number of test data types involved in the current memory model, not just the test data used in the current test.
[0093] In the case of setting multiple registers, if only one test data is used in a test, such as Figure 3C or Figure 3D In the situation shown, it is also necessary to detect the value of the target address bit and then select the corresponding target register from multiple registers for data writing.
[0094] In some cases, different data can be written to different locations in the same row.
[0095] refer to Figure 6B In another embodiment, the plurality of target address bits are a first preset bit in the row address and a second preset bit in the column address, and the one or more registers include a first register Y1, a second register Y2, a third register Y3, and a fourth register Y4. When the first preset bit in the row address and the second preset bit in the column address are both equal to a first value, the target register is the first register Y1; when the first preset bit in the row address and the second preset bit in the column address are respectively equal to the first value and the second value, the target register is the second register Y2; when the first preset bit in the row address and the second preset bit in the column address are respectively equal to the second value and the first value, the target register is the third register Y3; when the first preset bit in the row address and the second preset bit in the column address are both equal to the second value, the target register is the fourth register Y4; wherein the first value is 0 and the second value is 1. In other embodiments, the first value may also be 0 and the second value may also be 1, which is not limited here.
[0096] Figure 6B In the illustrated scenario, the test data corresponding to different columns of the same row, between different rows, and between different columns are not completely identical. For example, a data write instruction with an even row address (WL0, WL2, etc.) and a column address of 0 (when the write length Brust length = 8, this instruction corresponds to writing to column addresses 0-7) corresponds to the first register Y1; a data write instruction with an even row address (WL0, WL2, etc.) and a column address of 8 (when the write length Brust length = 8, this instruction corresponds to writing to column addresses 8-15) corresponds to the second register Y2; a data write instruction with an odd row address (WL1, WL3, etc.) and a column address of 0 corresponds to the third register Y3; a data write instruction with an odd row address (WL1, WL3, etc.) and a column address of 8 corresponds to the fourth register Y4. In this embodiment, the first preset bit of the row address is bit 0 RA0 (determining whether the row address is odd or even), and the second preset bit of the column address is bit 3 CA3 (determining whether the column address ends in 8). For example, when CA3 = 0 and RA0 = 0, the first register Y1 is enabled and the test data 11111111 is written; when CA3 = 1 and RA0 = 0, the second register Y2 is enabled and the test data 00000000 is written; when CA3 = 0 and RA0 = 1, the third register Y3 is enabled and the test data 10001000 is written; when CA3 = 1 and RA0 = 1, the fourth register Y4 is enabled and the test data 10101010 is written. When the row address and column address change, the change logic of the first preset bit and the second preset bit remains unchanged.
[0097] Figure 6Cyes Figure 6B A special case of .
[0098] refer to Figure 6C , even if only two registers are used, it may be necessary to set the target address bits to two bits, such as a first preset bit in the row address and a second preset bit in the column address.
[0099] exist Figure 6C In the illustrated embodiment, two types of test data exist in the same row, namely, 00000000 corresponding to the first register Y1, and 11111111 corresponding to the second register Y2. For example, when CA3 = 0 and RA0 = 0, the first register Y1 is enabled and the test data 11111111 is written; when CA3 = 1 and RA0 = 0, the second register Y2 is enabled and the test data 00000000 is written; when CA3 = 0 and RA0 = 1, the second register Y2 is enabled and the test data 00000000 is written; when CA3 = 1 and RA0 = 1, the first register Y1 is enabled and the test data 11111111 is written.
[0100] In summary, various conditions need to be considered when setting the number of registers and the number of target address bits, and those skilled in the art can adjust them according to actual conditions.
[0101] In step S3, the test data in the target register is written into the storage unit corresponding to the row address and the column address.
[0102] In one embodiment, the register number in the register selection signal can be set in advance according to the numerical value of one or more target address bits. After the numerical value of the target address bit is obtained in step S1, the register selection signal is directly output to the memory according to the numerical value to control the register corresponding to the register number to output test data.
[0103] In actual implementation, the parameter D[0:N] for controlling the issuance of the register selection signal can be set, and the parameter D[0:N] can be assigned a value based on the corresponding relationship between the detected target address bit value and each data bit of the parameter D[0:N]. The parameter D[0:N] can, for example, include two bits (N=1), namely, the D0 bit and the D1 bit. When the 0th bit of the column address is set as the target address bit, the pointer is set to point the 0th bit of the column address to the D0 bit of the parameter D[0:N], thereby modifying the value of the parameter D[0:N]. The register selection signal corresponding to the current value can be controlled by the parameter D[0:N] of the current value. The register selection signal carries a register number, which belongs to the target register corresponding to the 0th bit of the column address as the current value.
[0104] There are many ways to control the corresponding register to output the stored test data. Program developers can build their own according to the actual control logic, and this disclosure does not impose any special restrictions on this.
[0105] Figure 7 It is a schematic diagram of the process of writing a checkerboard test pattern to a storage array in one embodiment of the present disclosure.
[0106] refer to Figure 7 , the first register Y1 stores the test data 10101010, the second register Y2 stores the test data 01010101, and the 0th bit RA0 of the row address is set as the target address bit.
[0107] In the first stage, a data write request with the address WL0 is received, the value of the target address bit is 0, pointing to the first register Y1, and the test data 10101010 is written to WL0; in the second stage, a data write request with the address WL1 is received, the value of the target address bit is 1, pointing to the first register Y2, and the test data 01010101 is written to WL1; in the third stage, a data write request with the address WL2 is received, the value of the target address bit is 0, pointing to the first register Y1, and the test data 10101010 is written to WL2; continuing, in the nth stage, a data write request with the address WLn is received, the value of the target address bit is 1, pointing to the first register Y2, and the test data 01010101 is written to WLn.
[0108] After writing to a bank, you can change the bank to write to it without changing the rules.
[0109] In addition to writing data, the data can also be read in the same manner as the writing method.
[0110] The disclosed embodiment uses address information in the process of switching test maps (data topology). During a read / write operation, multiple groups of test maps are pre-set and stored in registers. Row or column address information is used to generate different RA (Row address) values or CA (Column address) values. The RA value and / or CA value are used to control the writing or reading of the test map, which can effectively reduce read and write test errors and improve the test efficiency of the memory.
[0111] Corresponding to the above method embodiments, the present disclosure also provides a memory testing device that can be used to execute the above method embodiments.
[0112] Figure 8 is a block diagram of a memory testing device in an exemplary embodiment of the present disclosure.
[0113] refer to Figure 8 , the memory testing apparatus 800 may include:
[0114] An address bit identification module 81 is configured to obtain the value of one or more target address bits in response to a data write instruction, wherein the data write instruction includes a row address and a column address, and the target address bit is a bit of the row address or a bit of the column address;
[0115] a register screening module 82 configured to determine a target register from one or more registers according to the values of the one or more target address bits, each of the registers pre-stored with test data, and different registers storing different test data;
[0116] The data writing module 83 is configured to write the test data in the target register into the storage unit corresponding to the row address and the column address.
[0117] In an exemplary embodiment of the present disclosure, the register screening module 82 is configured to: set the register number in the register selection signal according to the value of one or more target address bits; output the register selection signal to the memory to control the register corresponding to the register number to output test data. In an exemplary embodiment of the present disclosure, a register setting module is also included, and the register setting module is configured to: determine the number of test data groups corresponding to the test pattern according to the test pattern corresponding to the current test, where a group of test data includes multiple first values, multiple second values, or a combination of first values and second values; when the test pattern corresponds to multiple groups of test data, write each group of test data into a corresponding register; and set a corresponding relationship between each register and the register number of the register selection signal, where the register selection signal is used to control the register corresponding to the register number to output test data.
[0118] In an exemplary embodiment of the present disclosure, the target address bit is the first preset bit in the row address, and the one or more registers include a first register and a second register. When the first preset bit in the row address is equal to a first value, the target register is the first register, and when the first preset bit in the row address is equal to a second value, the target register is the second register; wherein the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
[0119] In an exemplary embodiment of the present disclosure, the target address bit is the first preset bit in the column address, and the one or more registers include a first register and a second register. When the first preset bit in the column address is equal to a first value, the target register is the first register, and when the first preset bit in the column address is equal to a second value, the target register is the second register; wherein the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
[0120] In an exemplary embodiment of the present disclosure, multiple target address bits are the first preset bit and the second preset bit in the row address, and one or more registers include a first register, a second register, a third register and a fourth register. When the first preset bit and the second preset bit in the row address are both equal to the first value, the target register is the first register; when the first preset bit and the second preset bit in the row address are both equal to the second value, the target register is the second register; when the first preset bit and the second preset bit in the row address are equal to the first value and the second value respectively, the target register is the third register; when the first preset bit and the second preset bit in the row address are equal to the second value and the first value respectively, the target register is the fourth register; wherein the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
[0121] In an exemplary embodiment of the present disclosure, multiple target address bits are a first preset bit in a row address and a second preset bit in a column address, and one or more registers include a first register, a second register, a third register, and a fourth register. When the first preset bit in the row address and the second preset bit in the column address are both equal to a first value, the target register is the first register; when the first preset bit in the row address and the second preset bit in the column address are both equal to a second value, the target register is the second register; when the first preset bit in the row address and the second preset bit in the column address are equal to the first value and the second value respectively, the target register is the third register; when the first preset bit in the row address and the second preset bit in the column address are equal to the second value and the first value respectively, the target register is the fourth register; wherein the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
[0122] Since the functions of the apparatus 800 have been described in detail in the corresponding method embodiments, they will not be described in detail herein.
[0123] It should be noted that although several modules or units of the device for action execution are mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be concretized in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.
[0124] In an exemplary embodiment of the present disclosure, a test device capable of implementing the above method is further provided. The test device is, for example, an ATE device.
[0125] Those skilled in the art will appreciate that various aspects of the present invention may be implemented as systems, methods, or program products. Therefore, various aspects of the present invention may be implemented in the following forms: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits," "modules," or "systems."
[0126] In exemplary embodiments of the present disclosure, a computer-readable storage medium is also provided, on which is stored a program product capable of implementing the aforementioned methods of this specification. In some possible implementations, various aspects of the present invention may also be implemented in the form of a program product comprising program code. When the program product is executed on a terminal device, the program code is configured to cause the terminal device to execute the steps according to various exemplary embodiments of the present invention described in the "Exemplary Methods" section of this specification.
[0127] The program product for implementing the above-described method according to an embodiment of the present invention may be a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0128] The program product may be implemented in any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0129] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0130] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0131] The program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, and the like, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0132] Furthermore, the above-described figures are merely illustrative of the processes included in the method according to exemplary embodiments of the present invention and are not intended to be limiting. It is readily understood that the processes illustrated in the above-described figures do not indicate or limit the temporal order of these processes. Furthermore, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0133] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the claims.
Claims
1. A memory testing method, characterized in that: The test design and test phase applied to memory includes: In response to a data write instruction, obtaining a value of one or more target address bits, wherein the data write instruction includes a row address and a column address, and the target address bit is a bit of the row address or a bit of the column address; determining a target register from one or more registers according to the values of the one or more target address bits, each of the registers pre-stores test data, and different registers store different test data; The test data in the target register is written into the storage unit corresponding to the row address and the column address.
2. The memory testing method according to claim 1, wherein: Determining a target register from one or more registers according to the values of the one or more target address bits includes: setting a register number in a register select signal according to the value of the one or more target address bits; The register selection signal is output to the memory to control the register corresponding to the register number to output the test data.
3. The memory testing method according to claim 1, wherein: Also includes: Determining, based on a test pattern corresponding to a current test, the number of groups of test data corresponding to the test pattern, where a group of test data includes a plurality of first values, a plurality of second values, or a permutation and combination of the first values and the second values; When the test pattern corresponds to multiple groups of test data, each group of the test data is written into a corresponding register; A corresponding relationship is set between each of the registers and a register number of a register selection signal, wherein the register selection signal is used to control the register corresponding to the register number to output the test data.
4. The memory testing method according to claim 1, wherein: The target address bit is the first preset bit in the row address, and the one or more registers include a first register and a second register. When the first preset bit in the row address is equal to a first value, the target register is the first register, and when the first preset bit in the row address is equal to a second value, the target register is the second register; wherein the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
5. The memory testing method according to claim 1, wherein: The target address bit is the first preset bit in the column address, and the one or more registers include a first register and a second register. When the first preset bit in the column address is equal to a first value, the target register is the first register, and when the first preset bit in the column address is equal to a second value, the target register is the second register; wherein the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
6. The memory testing method according to claim 4 or 5, wherein: The data of the first register and the data of the second register are set to be written alternately, and the first preset bit is bit 0.
7. The memory testing method according to claim 1, wherein: The multiple target address bits are the first preset bit and the second preset bit in the row address, and the one or more registers include a first register, a second register, a third register and a fourth register. When the first preset bit and the second preset bit in the row address are both equal to the first value, the target register is the first register; when the first preset bit and the second preset bit in the row address are respectively equal to the second value and the first value, the target register is the second register; when the first preset bit and the second preset bit in the row address are respectively equal to the first value and the second value, the target register is the third register; when the first preset bit and the second preset bit in the row address are both equal to the second value, the target register is the fourth register; wherein, the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
8. The memory testing method according to claim 1, wherein: The multiple target address bits are a first preset bit in the row address and a second preset bit in the column address, and the one or more registers include a first register, a second register, a third register and a fourth register. When the first preset bit in the row address and the second preset bit in the column address are both equal to a first value, the target register is the first register; when the first preset bit in the row address and the second preset bit in the column address are respectively equal to the second value and the first value, the target register is the second register; when the first preset bit in the row address and the second preset bit in the column address are respectively equal to the first value and the second value, the target register is the third register; when the first preset bit in the row address and the second preset bit in the column address are both equal to the second value, the target register is the fourth register; wherein, the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1.
9. The memory testing method according to claim 1, wherein: The test data is 8-bit data, which is written into 8 consecutive storage cells corresponding to the same word line.
10. The memory testing method according to claim 3, wherein: Also includes: When the test pattern corresponds to only one set of test data, only one register storing the test data is set as the target register; For each data write instruction, the target register is controlled to output the test data in response to the data write instruction, so as to write the test data into the storage unit corresponding to the data write instruction.
11. A memory testing device, characterized in that: include: An address bit identification module is configured to obtain a value of one or more target address bits in response to a data write instruction, wherein the data write instruction includes a row address and a column address, and the target address bit is a bit of the row address or a bit of the column address; a register screening module configured to determine a target register from one or more registers according to the values of the one or more target address bits, each of the registers pre-stored with test data, and different registers storing different test data; The data writing module is configured to write the test data in the target register into the storage unit corresponding to the row address and the column address.
12. A testing device, characterized in that: connected to the memory to be tested, and used to execute the memory testing method according to any one of claims 1 to 10 to perform a test design test on the memory to be tested.
13. A computer-readable storage medium having a program stored thereon, wherein when the program is executed by a processor, the memory testing method according to any one of claims 1 to 10 is implemented.
Citation Information
Patent Citations
Chip testing method and device, electronic equipment and storage medium
CN114121139A
Method for testing bus connections of read / write integrated electronic circuits, in particular memory circuits
EP0913837A1