Semiconductor device testing method and memory testing method
By using multiple burn processes and read check operations for different types of information on DRAM chips, the problems of different fuse addresses and success rates for each chip were solved, achieving a higher write success rate and process stability, and shortening test time.
Patent Information
- Application Number
- CN202310755696.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-21
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2043-06-21
AI Technical Summary
In DRAM production testing, the fuse addresses required to be burned for each chip are different and the success rates vary. There is a lack of fuse burning control processes and calculation methods suitable for mass production testing, resulting in insufficient stability and reliability, and long testing time.
Different burning processes are used for different types of information to be burned, including at least one first burning process, a second burning process and a third burning process when necessary, combined with reading and checking operations to ensure that information of different types and information that failed to be burned is re-burned in different locations, ensuring the writing success rate of all information to be burned and the stability of the burning process.
The success rate of writing all the information to be programmed for each semiconductor device is improved, the stability and reliability of all the programming processes of each semiconductor device are guaranteed, and the overall programming process time is reduced.
Smart Images

Figure CN119229919B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present disclosure relate to the field of semiconductor technology, and in particular to a semiconductor device testing method and a memory testing method. Background Art
[0002] Semiconductor devices, such as dynamic random access memory (DRAM), include anti-fuse cells and fuse cells. The anti-fuse cells and fuse cells are primarily used to record important information such as DRAM chip identification, trimming information, and repair information.
[0003] During DRAM production testing, an algorithm is used to determine the fuse address that needs to be programmed for each die based on the test conditions of each die. Typically, the required fuse address varies significantly from die to die, and the success rate of fuse programming also varies from die to die. Therefore, a fuse programming control process and calculation method suitable for mass production testing is urgently needed. Summary of the Invention
[0004] In view of this, embodiments of the present disclosure provide a conductor device testing method and a memory testing method.
[0005] According to a first aspect of an embodiment of the present disclosure, a semiconductor device testing method is provided, comprising: performing a first burn process on a first type of information to be burned at least once; performing a second burn process on a second type of information to be burned at least once; the second type of information to be burned is different from the information type recorded in the first type of information to be burned; if the second burn process fails to burn, performing a third burn process on the second type of information to be burned that failed to burn at least once; the burn position corresponding to the third burn process is different from the burn position corresponding to the second burn process.
[0006] An embodiment of the present disclosure provides another semiconductor device testing method, comprising: performing at least one programming process on information to be programmed; wherein each programming process in the at least one programming process comprises: performing a programming operation on a programming fuse unit to be programmed corresponding to the corresponding information to be programmed; after the programming operation, performing a reading operation on the corresponding programming fuse unit to be programmed; and performing a programming check operation based on a reading result corresponding to the reading operation to check whether the read information is consistent with the corresponding information to be programmed.
[0007] The embodiment of the present disclosure provides another semiconductor device testing method, comprising: performing a first burn process three times on a first type of information to be burnt; performing a second burn process three times on a second type of information to be burnt; the information type recorded in the second type of information to be burnt is different from that in the first type of information to be burnt; if the burn process fails three times, performing a third burn process three times on the second type of information to be burnt that failed; the burn position corresponding to the third burn process is different from the burn position corresponding to the second burn process; performing the first burn process three times, the second burn process three times or the third burn process three times, comprising: performing a first burn operation, a second burn operation or a third burn operation on all the programming fuse units to be burnt corresponding to the corresponding information to be burnt, and then performing a first read operation, a second read operation or a third read operation. Three read operations, and perform the first first write check operation, the second write check operation or the third write check operation according to the read results; perform the second first write operation, the second write operation or the third write operation on the programming fuse unit that fails the first write, and then perform the second first read operation, the second read operation or the third read operation, and perform the second first write check operation, the second write check operation or the third write check operation according to the read results; perform the third first write operation, the second write operation or the third write operation on the programming fuse unit that fails the second write, and then perform the third first read operation, the second read operation or the third read operation, and perform the third first write check operation, the second write check operation or the third write check operation according to the read results.
[0008] According to a second aspect of an embodiment of the present disclosure, a memory testing method is provided, including: a semiconductor device testing method applied to a dynamic random access memory, including any one of the above solutions.
[0009] In each embodiment of the present disclosure, different programming processes are used for different types of information to be programmed. Specifically, the first programming process is performed at least once for the first type of information to be programmed, the second programming process is performed at least once for the second type of information to be programmed, and the third programming process is performed at least once at a different location from the programming location corresponding to the second programming process for the second type of information to be programmed that fails to be programmed. In this way, more appropriate programming processes are developed for different types of information to be programmed. For all information to be programmed for each semiconductor device, the success rate of programming for all information to be programmed can be guaranteed. For all programming processes for each semiconductor device, the stability and reliability of all programming processes can be guaranteed, and the total time of all programming processes can be reduced. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1A A schematic cross-sectional view of an anti-fuse unit before programming provided by an embodiment of the present disclosure;
[0011] Figure 1B A schematic cross-sectional view of an anti-fuse unit after programming provided by an embodiment of the present disclosure;
[0012] Figure 1C for Figure 1A and Figure 1B Schematic diagram of the resistance state of the anti-fuse unit before and after programming;
[0013] Figure 2 A schematic diagram of a process framework of a semiconductor device testing method provided by an embodiment of the present disclosure;
[0014] Figure 3 One of the flow charts of a semiconductor device testing method provided in an embodiment of the present disclosure;
[0015] Figure 4 A second flow chart of a semiconductor device testing method provided by an embodiment of the present disclosure;
[0016] Figure 5 A third flow chart of a semiconductor device testing method provided by an embodiment of the present disclosure;
[0017] Figure 6 A fourth flowchart of a semiconductor device testing method provided by an embodiment of the present disclosure;
[0018] Figure 7 A schematic diagram of a first programming process of a semiconductor device testing method provided by an embodiment of the present disclosure;
[0019] Figure 8 A schematic flow chart of a second programming process and a third programming process of a semiconductor device testing method provided by an embodiment of the present disclosure;
[0020] Figure 9 A schematic flow chart of an inspection operation of a semiconductor device testing method provided by an embodiment of the present disclosure;
[0021] Figure 10 A schematic diagram of a one-time programming process of a semiconductor device testing method provided by an embodiment of the present disclosure;
[0022] Figure 11 This is a fifth flow chart of a semiconductor device testing method provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0023] The following will be combined with the embodiments of the present disclosure and the accompanying drawings to clearly and completely describe the technical solutions in the embodiments of the present disclosure. The described embodiments are only part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in this field without making any creative efforts are within the scope of protection of the present disclosure.
[0024] In the following description, numerous specific details are provided to provide a more thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure can be practiced without one or more of these details. In other instances, certain technical features known in the art are not described to avoid confusion with the present disclosure; that is, all features of actual embodiments are not described herein, nor are well-known functions and structures described in detail.
[0025] The purpose of the terms used herein is only to describe specific embodiments and is not intended to limit the present disclosure. When used herein, the singular forms "a", "an", and "the" are intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the terms "comprising" and / or "comprising", when used in this specification, determine the presence of the features, integers, steps, operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts and / or groups. When used herein, the term "and / or" includes any and all combinations of the relevant listed items.
[0026] In order to fully understand the present disclosure, detailed steps and detailed structures will be presented in the following description to illustrate the technical solution of the present disclosure. The preferred embodiments of the present disclosure are described in detail below. However, in addition to these detailed descriptions, the present disclosure may also have other implementation methods.
[0027] Antifuse units and fuse units are one-time programmable (OTP) devices and are widely used in memories such as DRAM and NAND.
[0028] Figure 1A and Figure 1B Schematic cross-sectional views of an anti-fuse unit before and after programming provided by an embodiment of the present disclosure. Figure 1A and Figure 1B The antifuse unit 100 is a semiconductor device composed of two conductive layers 102 and 106 and a dielectric layer 104 between the conductive layers 102 and 106. The dielectric layer 104 can be a thin layer that is easily broken down.
[0029] refer to Figure 1ABefore programming, the conductive layer is separated by the dielectric layer, and the two ends of the antifuse unit are disconnected. Figure 1B After programming (with applied high voltage), the dielectric layer is broken down by the high electric field, forming a leakage path LP between the conductive layers on either side. The two conductive layers 102 and 106 are electrically connected, and the antifuse cell is short-circuited (melted). This melting process (programming) is physically one-time, permanent, and irreversible. The two states of the antifuse cell, melted and open, can represent logic "0" and logic "1," respectively.
[0030] Figure 1C for Figure 1A and Figure 1B Schematic diagram of the anti-fuse unit before and after programming. Figure 1C Before programming, the conductive layer is separated by the dielectric layer, and the two ends of the anti-fuse unit are open and in a high-resistance state; after programming, the dielectric layer is broken down by the high electric field, and an electrical connection is formed between the conductive layers on both sides, and the anti-fuse unit is short-circuited and in a low-resistance state.
[0031] Accordingly, the fuse unit ( Figure 1A 、 Figure 1B for peace Figure 1C A one-time programmable (OTP) device (not shown) can also be used. A fuse cell is a semiconductor device consisting of two conductive layers and an electrical fuse between them. The electrical fuse can be easily blown. Before programming, the conductive layers are connected, the ends of the fuse cell are conductive, and the fuse cell is in a low-resistance state. After programming (by applying high voltage or current), the electrical fuse is blown, the ends of the fuse cell are disconnected, and the fuse cell is in a high-resistance state. The two states of the fuse cell, on and off, can represent a logic "1" and a logic "0," respectively. A fuse cell or antifuse cell, as an OTP, uses the difference in resistance before and after programming to record essential information in memories such as DRAM and NAND. For example, it records chip identification, trimming information, and repair information for DRAM. It is widely used in the design and production of DRAM chips. The essential information recorded by the fuse cell or antifuse cell is crucial to the normal operation of the DRAM. Typically, each DRAM chip is designed with thousands to hundreds of thousands of fuse cells or antifuse cells. Any abnormality in the information in a fuse cell or antifuse cell can cause the DRAM chip to fail.
[0032] Generally speaking, each DRAM chip requires a different fuse address to be programmed. Furthermore, the success rate of fuse programming varies from chip to chip. Therefore, a fuse programming control process and calculation method suitable for mass production testing is required to ensure the stability and reliability of each DRAM chip during the fuse programming process while reducing the testing time of the programming process.
[0033] Figure 2A schematic diagram of a process framework of a semiconductor device testing method provided by an embodiment of the present disclosure. Figure 2 After the semiconductor device testing method starts, after the following steps S201 to S205 are sequentially executed, the semiconductor device testing method ends. The specific details of sequentially executing the following steps S201 to S205 are as follows:
[0034] Execute step S201, a first pre-programming process test.
[0035] It should be noted that the first programming process includes direct current (DC) programming, which is used to program parameters such as internal voltage, trimming information, and chip identification of semiconductor devices (hereinafter using a DRAM chip as an example). For example, the pre-programming test includes an internal voltage test to obtain information such as chip trimming requirements.
[0036] Execute step S202, a second pre-programming process test.
[0037] It should be noted that the second programming process includes alternating current (AC) programming, which is used to program information related to the repair, such as repair information. For example, the pre-programming test includes functional testing, margin testing, etc., to obtain the chip's repair information.
[0038] Execute step S203 to confirm the burning plan.
[0039] Exemplarily, different programming schemes for different types of information are determined according to the aforementioned chip repair-required information and chip repair information.
[0040] Execute step S204 to program the fuse.
[0041] Exemplarily, fuse burning according to the determined burning scheme includes burning parameters such as the internal voltage of the chip, trimming information, chip identification, etc.; fuse burning includes burning information related to the repair, such as the repair information.
[0042] Execute step S205, and perform testing after the programming process.
[0043] Exemplarily, the post-programming process detection includes determining the effects after programming (or fusing), such as internal voltage accuracy test, repair success test, etc.
[0044] Figure 3 One of the flow charts of a semiconductor device testing method provided in an embodiment of the present disclosure; Figure 4This is a second flow chart of a semiconductor device testing method provided by an embodiment of the present disclosure. Figure 3 and Figure 4 According to a first aspect of an embodiment of the present disclosure, a semiconductor device testing method is provided, comprising:
[0045] Performing a first programming process on the first type of information to be programmed at least once;
[0046] performing at least one second programming process on the second type of information to be programmed; the second type of information to be programmed is different from the first type of information to be programmed;
[0047] If the second programming process fails, the third programming process is performed at least once on the second type of information to be programmed that failed to be programmed; the programming position corresponding to the third programming process is different from the programming position corresponding to the second programming process.
[0048] In some embodiments, the programming fuse units to be programmed corresponding to the first type of information to be programmed are fixed programming fuse units; and the programming fuse units to be programmed corresponding to the second type of information to be programmed are allowed to be reallocated.
[0049] Here, the semiconductor device includes but is not limited to a DRAM chip. The following description only takes the DRAM chip as an example.
[0050] In some embodiments, as described above, before performing the first and second programming processes, information to be programmed of the semiconductor device is obtained and classified into a first category of information to be programmed and a second category of information to be programmed. The first programming process is performed on the first category of information to be programmed; the second programming process is performed on the second category of information to be programmed; and a third programming process is performed on the second category of information to be programmed that fails programming.
[0051] In some embodiments, the first type of information to be programmed includes parameters such as the internal voltage of the semiconductor device, trim information, chip identification, etc. In some specific embodiments, the first programming process is used to program parameters such as the internal voltage of the DRAM chip, trim information, chip identification, etc. The second programming process is used to program the second type of information to be programmed.
[0052] In some embodiments, the second type of information to be programmed includes information related to repair of the semiconductor device, such as repair information. In some specific embodiments, the second programming process is used to program information related to repair of a DRAM chip, such as repair information of row and column addresses of memory cells.
[0053] It should be noted that the fuse unit or anti-fuse unit is an electrically programmable fuse (fuse, electrically programmable fuse) unit (hereinafter referred to as programming fuse or programming fuse unit). The programming fuse unit to be programmed can be understood as the aforementioned fuse unit or anti-fuse unit. The functional types of the programming fuse units to be programmed corresponding to the first programming process and the second programming process are different. Specifically:
[0054] The programming fuse units to be burned corresponding to the first burning process are used to burn the first type of information to be burned. These programming fuse units to be burned are fixed programming fuse units whose positions cannot be changed. It is understandable that the programming fuse units corresponding to the first burning process are used to burn information such as trimming voltage. If the trimming voltage and other information are not burned successfully, the trimming voltage will deviate from the expected value and become unusable, which may cause the semiconductor device to fail. In other words, the programming fuse units to be burned corresponding to the first type of information to be burned are not allowed to be replaced.
[0055] The programming fuse cells to be burned corresponding to the second burn process are used to burn the second type of information to be burned. Exemplarily, the programming fuse cells corresponding to the second burn process are used to burn row / column repair information. If the burning of the row / column repair information is unsuccessful, because the redundant row / column programming fuse cells that can repair the faulty row / column are not unique, if the programming fuse cells corresponding to some of the allocated redundant rows / columns fail to burn, the redundant rows / columns can be reallocated and the programming fuse cells corresponding to the reallocated redundant rows / columns can be used to continue burning the row / column repair information, thereby achieving the repair effect and preventing the semiconductor device from being defective due to the failure of the second burn process. In other words, the programming fuse cells to be burned corresponding to the second type of information to be burned can be replaced. In some embodiments, the first type of information to be burned can be burned first, and then the second type of information to be burned; alternatively, the second type of information to be burned can be burned first, and then the first type of information to be burned.
[0056] refer to Figure 3 In some embodiments, the method further comprises:
[0057] After the first programming process is successfully programmed, a second programming process is performed on the second type of information to be programmed.
[0058] For example, after executing step S302 and completing the first programming process, execute step S303 to perform the second programming process. If after executing step S303, there is still the second type of information to be programmed that failed to be programmed, execute step S304 to perform the third programming process for the second type of information to be programmed that failed to be programmed. Figure 4 In some embodiments, the method further comprises:
[0059] After the second programming process is successfully programmed, the first programming process is executed on the first type of information to be programmed.
[0060] For example, step S402 is executed to perform the second programming process; step S404 is executed to complete the second programming process and then perform the first programming process. If after executing step S402, there is still second-category information to be programmed that failed to be programmed, then step S403 is executed after completing the second programming process to perform the third programming process for the second-category information to be programmed that failed to be programmed; and step S403 is executed again after executing step S404.
[0061] It can be understood that the failure to burn the first type of information to be burned will cause the semiconductor device to be unqualified, while the failure to burn the second type of information to be burned can replace the programming fuse unit and re-burn. After the first burning process is successfully burned, executing the second burning process on the second type of information to be burned can avoid the problem of a long time for judging the semiconductor device as unqualified due to the failure of the first burning process after the second burning process is successfully burned, thereby reducing the average burning time of the semiconductor device.
[0062] In some embodiments, the method further comprises:
[0063] Before executing the first programming process, performing a pre-programming fuse unit reading operation to determine a reference state of the programming fuse unit;
[0064] The reference state of the programming fuse cells is used to exclude the programming fuse cells that have been programmed, and at least part of the remaining programming fuse cells are used as programming fuse cells to be programmed.
[0065] like Figure 3 Step S301, Figure 4 Step S401, Figure 5 Step S501, Figure 6 Step S601, Figure 11 In step S1101, a pre-programmed fuse cell read operation is added to determine the baseline state of the programming fuse cell, based on which subsequent calculations are performed. For example, it is determined whether there are any programming fuse cells that have already been programmed or any programming fuse cells that are naturally programmed. It is understood that the programming fuse cells to be programmed need to exclude the programming fuse cells that have already been programmed.
[0066] In some embodiments, the method further comprises:
[0067] After the second programming process is successfully programmed or the third programming process is successfully programmed, a post-programming fuse unit reading operation and a post-programming check operation are performed;
[0068] The judgment standard of the programming fuse unit burning through resistance corresponding to the post-programming fuse unit reading operation is lower than the judgment standard of the programming fuse unit burning through resistance corresponding to the reading operation in the first programming process, the second programming process and the third programming process.
[0069] Compared to the tighter criteria (or higher criteria) used in the first, second, and third programming processes, a looser criteria (or lower criteria) is used in the post-programmed fuse cell read operation.
[0070] Exemplarily, if the programming fuse unit is an anti-fuse unit, the judgment standard resistance value of the anti-fuse unit fuse resistance corresponding to the post-anti-fuse unit read operation is greater than the judgment standard resistance value of the anti-fuse unit fuse resistance corresponding to the read operation in the first programming process, the second programming process and the third programming process.
[0071] Exemplarily, if the programming fuse unit is a fuse unit, the judgment standard resistance value of the fuse unit blown resistance corresponding to the post-fuse unit read operation is smaller than the judgment standard resistance value of the fuse unit blown resistance corresponding to the read operation in the first programming process, the second programming process and the third programming process.
[0072] like Figure 3 Step S305, Figure 4 Step S405, Figure 5 Step S505, Figure 6 Step S605, Figure 11 In step S1105, in the first programming process, the second programming process, and the third programming process, a tighter standard (or a higher standard) is used to determine whether the anti-fuse unit has been programmed (for example, a lower resistance value is used to determine whether the anti-fuse unit has been programmed). This is mainly used to ensure that the anti-fuse unit is reliably broken down and reaches a short-circuit (fused) state.
[0073] A post-antifuse read operation is added, using a looser standard to determine the state of the antifuse (for example, using a higher resistance value to determine the state of the antifuse). This is primarily used to detect whether the antifuse programming process damages other antifuse cells not to be programmed. For example, if other antifuse cells not to be programmed are damaged or programming of the antifuse cell to be programmed fails, the semiconductor device is deemed unqualified.
[0074] Exemplarily, a post-antifuse unit read operation and a post-check operation are performed, such as a post-programming process detection to determine the effect after programming (or blowing): such as internal voltage accuracy test, repair success test, etc.
[0075] For details, please refer to Figure 2 Understand the relevant content of step S205 in .
[0076] Figure 5 This is a flow chart of a semiconductor device testing method provided by an embodiment of the present disclosure. Figure 5 In some embodiments, performing each of the first programming process, the second programming process, or the third programming process at least once includes:
[0077] Performing a corresponding first programming operation, a second programming operation, or a third programming operation on a programming fuse unit to be programmed corresponding to corresponding information to be programmed;
[0078] After the first programming operation, the second programming operation or the third programming operation, performing a corresponding first reading operation, a second reading operation or a third reading operation on the corresponding fuse unit to be programmed;
[0079] According to the corresponding reading results of the first reading operation, the second reading operation or the third reading operation, the corresponding first programming check operation, the second programming check operation or the third programming check operation is performed to check whether the read information is consistent with the corresponding information to be programmed.
[0080] The write operation (including the first write operation, the second write operation or the third write operation) is used to write the first type of information to be written, the second type of information to be written or the second type of information to be written that failed to be written into the programming fuse unit; the read operation (including the first read operation, the second read operation or the third read operation) is used to read the information stored in the corresponding programming fuse unit that passed the write; the write check operation (including the first write check operation, the second write check operation or the third write check operation) is used to check whether the information read from the corresponding programming fuse unit that passed the write is consistent with the written first type of information to be written, the second type of information to be written or the second type of information to be written that failed to be written.
[0081] Exemplarily, step S502 is executed to perform a first burn-in process, which includes a first burn-in operation, a first read operation, and a first burn-in check operation; or, the first burn-in process is performed multiple times, and each first burn-in process includes a first burn-in operation, a first read operation, and a first burn-in check operation.
[0082] The first write operation can burn the corresponding programming fuse unit in the semiconductor device and write the first type of information to be burned into the programming fuse unit; the first read operation can read the information stored in the corresponding programming fuse unit that has passed the writing; the first write check operation can check whether the information read from the corresponding programming fuse unit that has passed the writing is consistent with the written first type of information to be burned.
[0083] Accordingly, step S503 is executed to perform the second programming process once, or multiple times; step S504 is executed to perform the third programming process once, or multiple times. Each second programming process or each third programming process includes corresponding programming operations, reading operations, and programming check operations; the corresponding programming operations, reading operations, and programming check operations correspond to the corresponding information to be programmed (including the second type of programming information or the second type of programming information to be programmed that failed). The specific details of the corresponding programming operations, reading operations, and programming check operations can be understood by referring to the example of the first programming process described above and will not be repeated here.
[0084] Figure 6 This is a fourth flow chart of a semiconductor device testing method provided by an embodiment of the present disclosure. Figure 6 In some embodiments, performing at least one of the first programming process, the second programming process, or the third programming process includes:
[0085] performing at least one of the first programming process, the second programming process, or the third programming process multiple times;
[0086] Perform the first programming process, the second programming process, or the third programming process multiple times, including:
[0087] Performing the current first programming process, the second programming process or the third programming process on the programming fuse unit to be programmed corresponding to the information of programming failure in the corresponding information to be programmed;
[0088] When the programming check result of the current first programming process, the second programming process or the third programming process shows that there is a programming fuse unit that fails to be programmed, the next first programming process, the second programming process or the third programming process is performed on the programming fuse unit that failed to be programmed in the current programming process;
[0089] When the programming check result of the next first programming process, the second programming process or the third programming process shows that there are still programming fuse units that fail to be programmed, the next first programming process, the second programming process or the third programming process is continued for the programming fuse units that failed to be programmed.
[0090] The first programming process can be performed once or multiple times; the second programming process can be performed once or multiple times; the third programming process can be performed once or multiple times. The number of times the first programming process is performed can be the same as or different from the number of times the second programming process is performed, and the number of times the second programming process is performed can be the same as or different from the number of times the third programming process is performed.
[0091] It should be noted that the "current first, second, or third programming process" can be understood as every first, second, or third programming process except the last one; and the "next first, second, or third programming process" can be understood as the first, second, or third programming process except the first one, of course, the next one must be within the specified total number of executions. The total number of executions of the first, second, and third programming processes can be set according to actual needs.
[0092] It should be noted that, for a single programming operation, if the programming fuse unit does not reach the target state, it is called programming failure; for multiple programming processes, if the programming fuse unit does not reach the target state, it is called programming failure. Figure 6 Perform the first programming process, the second programming process, or the third programming process multiple times, including:
[0093] The first programming process, the second programming process or the third programming process is performed three times respectively.
[0094] Exemplarily, the first programming process is performed three times, then the first programming process and the second programming process may be the current first programming process, and the third programming process may be the last first programming process.
[0095] Execute step S602 to perform the first programming process three times; specifically:
[0096] Executing step S6021, performing a first programming process for all programming fuse units to be programmed corresponding to the information of programming failure in the corresponding information to be programmed;
[0097] Executing step S6022, when the programming check result of the first programming process shows that there are programming fuse units that fail to be programmed, performing the second first programming process on the programming fuse units that failed to be programmed for the first time;
[0098] Executing step S6023, when the programming inspection result of the second first programming process shows that there are still programming fuse units that fail to be programmed, a new third first programming process is continued for the programming fuse units that failed to be programmed for the second time.
[0099] Accordingly, step S603 is executed to perform the second programming process three times, including: executing step S6031 to perform the first second programming process; executing step S6032 to perform the second second programming process; executing step S6033 to perform the third second programming process.
[0100] Execute step S604 to perform the third programming process three times, including: execute step S6041 to perform the third programming process for the first time; execute step S6042 to perform the third programming process for the second time; execute step S6043 to perform the third programming process for the third time.
[0101] The specific details of the corresponding three second programming processes and three third programming processes can be understood by referring to the example of the above three first programming processes, and will not be repeated here.
[0102] In this way, performing at least one of the first programming process, the second programming process or the third programming process multiple times can improve the success rate of the corresponding information to be programmed.
[0103] Among them, the current first burning process, the second burning process or the third burning process does not need to burn all the programming fuse units to be burned. The first burning process, the second burning process or the third burning process after the current time only needs to burn the programming fuse units that failed to be burned in the current first burning process, the second burning process or the third burning process, which can greatly reduce the overall test time.
[0104] Figure 9 A schematic diagram of a flow chart of an inspection operation of a semiconductor device testing method provided by an embodiment of the present disclosure. Figure 9 In some embodiments, performing a burn check operation includes:
[0105] After all programming fuse units to be currently programmed have completed the current programming operation, a judgment operation is performed on each programming fuse unit actually programmed in the semiconductor device;
[0106] If the address of the programming fuse unit actually written is within the address region where all programming fuse units currently to be written are located, and the state attribute of the programming fuse unit actually written is consistent with the state attribute indicated in the corresponding information to be written, it is determined that the programming fuse unit actually written is a programming fuse unit that has been successfully written.
[0107] removing the programming fuse units that have been successfully programmed from all programming fuse units currently to be programmed, and treating the remaining programming fuse units as programming fuse units that have failed to be programmed;
[0108] If the address of the programming fuse unit actually burned is not in the address area where all the programming fuse units currently to be burned are located, it is determined that the programming fuse unit actually burned is an erroneously burned programming fuse unit.
[0109] It should be noted that the calculation method used in the programming check operation is defined as follows: a programming fuse cell to be programmed is an element. Each element includes the address information and status information of the programming fuse cell. The address information is used to find the key attribute of the programming fuse cell (the mapping value of the address), and the status information is used to provide the data information stored in the programming fuse cell. For example, the element FBE includes the address information fba and status information fbs of the programming fuse cell. The address information fba represents the search key attribute of the programming fuse cell, and the status information fbs represents the status attribute of the programming fuse cell (including the data information stored in the programming fuse cell).
[0110] The test input set for the burn check operation has the following definitions:
[0111] The set gF composed of all programming fuse units contained in the semiconductor device includes elements FBE_1~FBE_n, and is represented by gF={FBE_1, FBE_2,...,FBE_n}; the set gT composed of all programming fuse units to be burned includes elements FBE_t1~FBE_ti, and is represented by gT={FBE_t1, FBE_t2,...,FBE_ti}; the set gB composed of the burned programming fuse units includes elements FBE_b1~FBE_bj, and is represented by gB={FBE_b1, FBE_b2,...,FBE_bj}; wherein n, i, and j are positive integers, and i≤n, j≤n.
[0112] The calculation result set in the programming check operation has the following relevant definitions:
[0113] The set of programming fuse units gU that failed to be burned represents the set of programming fuse units that failed to be burned; the set of programming fuse units gM that were mistakenly burned represents the set of programming fuse units whose actual burning position in a burning operation is not the target burning position; the set of programming fuse units gN to be burned in the next step represents the set of programming fuse units that need to be burned in the next burning operation.
[0114] Exemplarily, step S901 is executed to assign the set gT consisting of all programming fuse units to be burned to the programming fuse unit set gU that has not been burned (i.e., gU=gT); that is, all programming fuse units to be burned are first regarded as belonging to the programming fuse unit set gU that has not passed the burning.
[0115] After executing step 901, execute step S902 to obtain any element from the programmed fuse unit set gB; for example, the first information element FBE_b k Programming fuse unit; obtaining an element from the programming fuse unit set gU that failed to be programmed; for example, the second information element FBE_um After executing step 902, execute step S903 to determine the first information element FBE_b k Whether it belongs to the programming fuse unit set gT to be burned (i.e., judging FBE_b k ∈gT? ), when the first information element FBE_b k If it belongs to the programming fuse unit set gT to be burned, step S904 is executed. When the first information element FBE_b k If it does not belong to the programming fuse unit set gT to be burned, execute step S921 to program the fuse unit. In the process of executing step S904, the current value of FBE_um(fbs) is XORed with FBE_bk(fbs) and then assigned to FBE_um(fbs) (i.e., FBE_u m (fbs)⊕=FBE_b k (fbs) Program fuse cell Program fuse cell.
[0116] After executing step S904, execute step S905 to determine whether FBE_u m Is the value of (fbs) zero (FBE_u m (fbs)=0?) It can be understood that when FBE_um(fbs)=0, it means that FBE_um(fbs) is the same as FBE_bk(fbs), that is, step S904 and step S905 together realize the judgment of whether FBE_um(fbs) is the same as FBE_bk(fbs). It should be noted that the second information element FBE_um(fbs) here is m It is understood as any element in the programming fuse unit set gU that has not been burned. Here, the data information FBE_b of the first information element is determined. k (fbs) and the data information of the second information element FBE_u m (fbs) are the same, it should be understood as: judging the data information FBE_b of the first information element k (fbs) is the same as the data information of any element in the programming fuse unit set gU that failed to be burned.
[0117] When the data information FBE_b of the first information element k (fbs) and the data information of the second information element FBE_u m (fbs) are the same, execute step S906, and replace the second information element FBE_u m Remove from the programming fuse unit set gU that fails to be written; when the data information FBE_b of the first information element k (fbs) and the data information of the second information element FBE_u m(fbs) are not the same, execute step S907. After executing step 906, continue to execute step S907. In the process of executing step S907, it is determined whether all loops are completed, that is, whether all elements in gB have executed similar FBE_b k When the polling is completed, step S908 is executed, that is, each element in the programmed programming fuse unit set gB is polled to obtain the unprogrammed programming fuse unit set gU and the incorrectly programmed programming fuse unit set gM, and the programming fuse unit set gU that fails to be programmed is assigned to the programming fuse unit set gN to be programmed next, and the current incorrectly programmed programming fuse unit set gM is assigned to the next incorrectly programmed programming fuse unit set gM; when the polling is not completed, the process returns to step 902 and performs similar FBE_b on the remaining elements in gB. k judgment.
[0118] That is, if the first information element FBE_b k Belongs to the programming fuse unit set gT to be burned, and the data information of the first information element FBE_b k (fbs) and the data information of the second information element FBE_u m (fbs) are the same, it is determined that the programming fuse unit actually burned is the programming fuse unit that has passed the burning; if the first information element FBE_b k Does not belong to the programming fuse unit set gT to be burned, regardless of the first information element FBE_b k Whether it belongs to the programming fuse unit set gM that is mistakenly burned, it is determined that the programming fuse unit actually burned is the programming fuse unit that is mistakenly burned; if the first information element FBE_b k Belongs to the programming fuse unit set gT to be burned, and the data information FBE_b of the first information element k (fbs) and the data information of the second information element FBE_u m (fbs) are different, it is determined that the programming fuse unit actually burned is the programming fuse unit that failed to be burned.
[0119] During the execution of step S921, it is determined that the first information element FBE_b k Whether it belongs to the current mis-written programming fuse unit set gM:
[0120] When the first information element FBE_b k If it does not belong to the current mis-written programming fuse unit set gM, step S923 is executed to set the first information element FBE_b k Add to the current mis-written programming fuse unit set gM; when the first information element FBE_b kWhen the current mis-written programming fuse unit set gM is in progress, step S922 is executed to perform a bitwise operation (bitwise OR) on the current value of FBE_mx(fbs) and FBE_bk(fbs) and then assign it to FBE_bk(fbs) (i.e., FBE_mx(fbs)). x (fbs)|=FBE_b k (fbs)), mark FBE_bk(fbs) into gM. The third information element FBE_u m Any element in the current mis-programmed fuse unit set gM.
[0121] In some embodiments, when it is determined that the programming fuse unit actually burned is a programming fuse unit that was burned incorrectly, and / or when it is determined that the programming fuse unit actually burned is a programming fuse unit that was not burned, the semiconductor device is determined to be unqualified, or the semiconductor device needs to be further tested before determining whether the semiconductor device is qualified.
[0122] Figure 7 A schematic diagram of the first programming process of a semiconductor device testing method provided by an embodiment of the present disclosure. Figure 7 In some embodiments, the method further comprises:
[0123] If the result of any of the first programming check operations indicates that there is a programming error or the result of the last first programming check operation indicates that there is a programming fuse unit that fails the first programming, it is determined that the first programming process fails and the semiconductor device is unqualified;
[0124] If the result of any first programming check operation shows that there is no erroneous programming, and the result of the previous first programming check operation shows that there is a programming fuse unit that fails the first programming, the next first programming operation is performed;
[0125] If the result of each first programming check operation shows that there is no misprogramming, and the result of the last first programming check operation shows that there is no programming fuse unit that fails the first programming, it is determined that the first programming process is successful.
[0126] It should be noted that the judgment of the embodiment of the present disclosure is based on Figure 9 For example, the judgment of the embodiment of the present disclosure is based on the result of the inspection operation. Figure 9 The judgment is based on whether the erroneously programmed programming fuse unit set gM obtained by the checking operation is an empty set, and / or whether the programming fuse unit set gN to be programmed in the next step is an empty set.
[0127] Here, three first programming processes (including a first first programming process, a second first programming process, and a third first programming process) are taken as an example for description.
[0128] Execute step S701 to perform the first programming process for the first time.
[0129] After completing step S701, proceed to step S702 to determine whether the miswritten programming fuse unit set gM is an empty set. When the erroneously written programming fuse unit set gM is not an empty set, it indicates that there is erroneously written information in the first information to be written. At this time, the trimming voltage corresponding to the semiconductor device will deviate from the expected value, and the semiconductor device cannot be used normally. Based on this, it can be determined that the semiconductor device is unqualified; when the erroneously written programming fuse unit set gM is an empty set, it indicates that there is no erroneously written information in the first information to be written, and step S703 is continued to be executed.
[0130] During the execution of step S703, it is determined whether the programming fuse unit set gN to be programmed in the next step is an empty set. When the programming fuse unit set gN to be burned in the next step is an empty set, it means that all the programming fuse units to be burned in the first burning operation have passed the burning. At this time, step S710 is executed to determine that the first burning process is burned successfully. It can be understood that in this case, the first burning process can be executed only once; when the programming fuse unit set gN to be burned in the next step is not an empty set, it means that there are programming fuse units to be burned in the first burning operation that have not passed the burning. At this time, step S704 is executed to perform the next first burning process.
[0131] During the execution of step S704 , the second first programming process is performed.
[0132] After completing step S704, proceed to step S705 to determine whether the miswritten programming fuse unit set gM is an empty set. When the incorrectly programmed fuse unit set gM is not an empty set, the semiconductor device is determined to be unqualified; when the incorrectly programmed fuse unit set gM is an empty set, step S706 is continued. It should be noted that the details of step S705 can be understood with reference to step 702.
[0133] During the execution of step S706, it is determined whether the programming fuse unit set gN to be programmed in the next step is an empty set. If the next programming fuse unit set gN to be programmed is empty, step S710 is executed to determine that the first programming process is successful. If the next programming fuse unit set gN to be programmed is not empty, step S707 is executed. It should be noted that the details of step S706 can be understood with reference to step 703. During the execution of step S707, the first programming process is performed for the third time.
[0134] After completing step S707, proceed to step S708 to determine whether the miswritten programming fuse unit set gM is an empty set. When the incorrectly written programming fuse unit set gM is not an empty set, the semiconductor device is determined to be unqualified; when the incorrectly written programming fuse unit set gM is an empty set, step S709 is continued. It should be noted that the specific situation of step S708 can be understood with reference to step 702. During the execution of step S709, it is determined whether the next programming fuse unit set gN to be written is an empty set. If the next programming fuse unit set gN to be programmed is an empty set, step S710 is executed to determine that the first programming process is successful. If the next programming fuse unit set gN to be programmed is not an empty set, it means that there are still programming fuse units to be programmed that have failed to be programmed in the third programming operation. In this case, it is considered that the programming has not passed after multiple programming operations, and the semiconductor device is determined to be unqualified. During the execution of step S710, it is determined that the first programming process is successful.
[0135] In some embodiments, after determining that the first programming process is successful, the semiconductor device needs to undergo further testing before determining whether the semiconductor device is qualified based on the results of the further testing. For example, after determining that the first programming process is successful, it is also necessary to confirm whether the second and third programming processes are successful before determining whether the semiconductor device is qualified.
[0136] Figure 8 This is a flow chart of the second programming process and the third programming process of a semiconductor device testing method provided by an embodiment of the present disclosure. Figure 8 In some embodiments, the method further comprises:
[0137] If the result of the second programming check operation or the third programming check operation shows that there is a programming fuse unit that fails programming, the next second programming operation or the third programming operation is performed;
[0138] If the result of the last second programming check operation or the third programming check operation shows that there is no programming fuse unit that fails programming, and the result of the last second programming check operation or the third programming check operation shows that there is no erroneous programming, it is determined that the second programming process or the third programming process is successful;
[0139] If the result of the last second programming check operation shows that there is a programming fuse unit that fails the second programming, or if the result of the last second programming check operation shows that there is an erroneous programming, it is determined that the second programming process fails, and the third programming process is performed;
[0140] If the result of the last third programming check operation shows that there is a programming fuse unit that fails the third programming, or the result of the last third programming check operation shows that there is erroneous programming, it is determined that the third programming process fails and the semiconductor device is unqualified.
[0141] It should be noted that the judgment of the embodiment of the present disclosure is based on Figure 9 For example, the judgment of the embodiment of the present disclosure is based on the result of the inspection operation. Figure 9 The judgment is based on whether the erroneously programmed programming fuse unit set gM obtained by the checking operation is an empty set, and / or whether the programming fuse unit set gN to be programmed in the next step is an empty set.
[0142] Here, three second programming processes (including the first second programming process, the second second programming process and the third second programming process) and three third programming processes (including the first third programming process, the second third programming process and the third third programming process) are used as examples for explanation.
[0143] Execute step S801 to perform the first second programming process.
[0144] After completing step S801, proceed to step S802 to determine whether the programming fuse unit set gN to be burned is an empty set. When the programming fuse unit set gN to be burned in the next step is not an empty set, it means that after the first second burning process, there is unburned information in the second information to be burned, and the programming fuse unit corresponding to the unburned information needs to continue burning; when the programming fuse unit set gN to be burned in the next step is an empty set, it means that there is no unburned information in the second information to be burned, and step S807 is directly executed.
[0145] During the execution of step S803 , the second programming process is performed for the second time.
[0146] After completing step S803, proceed to step S804 to determine whether the programming fuse unit set gN to be burned is an empty set. When the programming fuse unit set gN to be burned in the next step is not an empty set, it means that after the second second burning process, there is still unburned information in the second information to be burned, and the programming fuse unit corresponding to the unburned information needs to continue burning; when the programming fuse unit set gN to be burned in the next step is an empty set, it means that there is no unburned information in the second information to be burned, and step S807 is directly executed.
[0147] During the execution of step S805 , the second programming process is performed for the third time.
[0148] After completing step S805, proceed to step S806 to determine whether the programming fuse unit set gN to be burned is an empty set. When the programming fuse unit set gN to be burned in the next step is not an empty set, it means that after the third second burning process, there is still unburned information in the second information to be burned, and it is determined that the second burning process has failed. When the second burning process fails, a third burning process is required to determine whether the third burning process is successful or failed. For details, see the following steps S821 to S827; when the programming fuse unit set gN to be burned in the next step is an empty set, it means that there is no unburned information in the second information to be burned, and step S807 is directly executed.
[0149] After completing step S806, proceed to step S807 to determine whether the miswritten programming fuse unit set gM is an empty set. When the erroneously written programming fuse unit set gM is not an empty set, it means that after the third second programming process, there is still erroneously written information in the second information to be programmed, and it is determined that the second programming process has failed. When the second programming process fails, a third programming process is required to determine whether the third programming process is successful or failed. For details, see the following steps S821 to S827; when the erroneously written programming fuse unit set gM is an empty set, execute step S808.
[0150] During the execution of step S808 , it is determined that the second programming process is successful.
[0151] After the third second programming process, if there is still unprogrammed information in the first information to be programmed, or if there is still erroneously programmed information in the first information to be programmed, it is determined that the second programming process has failed. When the second programming process fails, the information that failed to be programmed in the second programming process needs to be replaced and the third programming process needs to be performed. For example, if the programming of the row / column patch information corresponding to the second programming process is unsuccessful, the third programming process can be performed. That is, if the first programming fuse unit for programming the row / column patch information fails to be programmed, the second programming fuse unit can be replaced to program the row / column patch information.
[0152] Execute step S821 to perform the first third programming process.
[0153] After completing step S21, proceed to step S822 to determine whether the programming fuse unit set gN to be burned is an empty set. When the programming fuse unit set gN to be burned in the next step is not an empty set, it means that after the first third burning process, there is unburned information in the information of the second burning process failure, and the programming fuse unit corresponding to the unburned information needs to continue burning; when the programming fuse unit set gN to be burned in the next step is an empty set, it means that there is no unburned information in the information of the second burning process failure, and step S827 is directly executed.
[0154] During the execution of step S823, the second and third programming processes are performed.
[0155] After completing step S23, proceed to step S824 to determine whether the programming fuse unit set gN to be burned is an empty set. When the programming fuse unit set gN to be burned in the next step is not an empty set, it means that after the second and third burning processes, there is still unburned information in the information of the second burning process failure, and the programming fuse unit corresponding to the unburned information needs to continue burning; when the programming fuse unit set gN to be burned in the next step is an empty set, it means that there is no unburned information in the information of the second burning process failure, and step S827 is directly executed.
[0156] During the execution of step S825, the third programming process is performed for the third time.
[0157] After completing step S25, proceed to step S826 to determine whether the programming fuse unit set gN to be burned is an empty set. When the programming fuse unit set gN to be burned in the next step is not an empty set, it means that after the third second burning process, there is still unburned information in the information of the second burning process failure, and it is determined that the third burning process has failed. When the third burning process fails, the information corresponding to the semiconductor device for burning row / column repair and other information is still not correctly repaired, and the semiconductor device cannot be used normally. Based on this, it can be determined that the semiconductor device is unqualified; when the programming fuse unit set gN to be burned in the next step is an empty set, step S827 is executed. After completing step S26, step S827 is continued to determine whether the programming fuse unit set gM that was mistakenly burned is an empty set. When the incorrectly burned programming fuse unit set gM is not an empty set, it means that after the third second burning process, there is still incorrectly burned information in the information of the second burning process failure, and it is determined that the third burning process has failed. When the third burning process fails, the information corresponding to the semiconductor device for burning row / column repair and other information is still not correctly repaired, and the semiconductor device cannot be used normally. Based on this, it can be determined that the semiconductor device is unqualified; when the incorrectly burned programming fuse unit set gM is an empty set, execute step S808.
[0158] During the execution of step S808 , it is determined that the third programming process is successful.
[0159] In this way, during the first programming process, the second programming process and the third programming process, early termination checks are added to the processes respectively, so as to identify the qualified or unqualified conditions of semiconductor devices as early as possible, skip unnecessary processes, and thus achieve the effect of reducing the overall process time.
[0160] Figure 10 A schematic diagram of a one-time programming process of a semiconductor device testing method provided by an embodiment of the present disclosure. Figure 10 , an embodiment of the present disclosure provides another semiconductor device testing method, comprising: performing at least one programming process on information to be programmed;
[0161] Each of the at least one programming process includes:
[0162] Performing a programming operation on the programming fuse unit to be programmed corresponding to the corresponding information to be programmed;
[0163] After the programming operation, a reading operation is performed on the corresponding programming fuse unit to be programmed;
[0164] According to the read result corresponding to the read operation, a programming check operation is performed to check whether the read information is consistent with the corresponding information to be programmed.
[0165] Here, step S1001 is executed, and a programming process is executed including step S10011, programming operation; step S10012, reading operation; and step S10013, checking operation.
[0166] Executing step S10011, a programming operation is performed on a corresponding programming fuse unit in the semiconductor device to be programmed, and writing information to be programmed into the programming fuse unit;
[0167] Executing step S10012, a reading operation is used to read the information stored in the corresponding programming fuse unit that has passed programming;
[0168] Step S10013 is executed, and the checking operation is used to check whether the information read from the corresponding programming fuse unit that has passed programming is consistent with the written information to be programmed.
[0169] For details on the corresponding programming, reading, and checking operations, refer to Figure 5 to understand the relevant content.
[0170] In some embodiments, the information to be burned includes a first category of information to be burned and a second category of information to be burned; the second category of information to be burned is different from the information type recorded in the first category of information to be burned; the information to be burned is subjected to at least one burning process, including: performing at least one first burning process on the first category of information to be burned; performing at least one second burning process on the second category of information to be burned; if the second burning process fails, performing at least one third burning process on the second category of information to be burned that failed to be burned; the burning position corresponding to the third burning process is different from the burning position corresponding to the second burning process.
[0171] In some embodiments, performing at least one of the first, second, or third programming processes comprises: performing at least one of the first, second, or third programming processes multiple times; performing the first, second, or third programming processes multiple times comprises: performing the current first, second, or third programming process on the programming fuse unit to be programmed corresponding to the information of programming failure in the corresponding information to be programmed; when the programming check result of the current first, second, or third programming process shows that there is a programming fuse unit that fails to be programmed, performing the next first, second, or third programming process on the programming fuse unit that fails to be programmed; when the programming check result of the next first, second, or third programming process shows that there is still a programming fuse unit that fails to be programmed, continuing to perform the next first, second, or third programming process on the programming fuse unit that fails to be programmed next time.
[0172] In some embodiments, performing the first programming process, the second programming process, or the third programming process multiple times includes performing the first programming process, the second programming process, or the third programming process three times respectively.
[0173] In some embodiments, the programming fuse units to be programmed corresponding to the first type of information to be programmed are fixed programming fuse units; and the programming fuse units to be programmed corresponding to the second type of information to be programmed are allowed to be reallocated.
[0174] In some embodiments, the method further includes: after the first programming process is successfully programmed, executing a second programming process on the second type of information to be programmed.
[0175] In some embodiments, the method further includes: before executing the first programming process, performing a pre-programming fuse unit reading operation to determine a reference state of the programming fuse unit; using the reference state of the programming fuse unit to exclude the programming fuse units that have been burned, and using at least part of the remaining programming fuse units as programming fuse units to be burned.
[0176] In some embodiments, the method further includes: performing a post-programming fuse unit reading operation and a post-checking operation after the second programming process or the third programming process is successfully programmed; wherein, the judgment standard of the programming fuse unit writing through resistance corresponding to the post-programming fuse unit reading operation is lower than the judgment standard of the programming fuse unit writing through resistance corresponding to the reading operation in the first programming process, the second programming process and the third programming process.
[0177] In some embodiments, the method further comprises:
[0178] If the result of any of the first programming check operations indicates that there is a programming error or the result of the last first programming check operation indicates that there is a programming fuse unit that fails the first programming, it is determined that the first programming process fails and the semiconductor device is unqualified;
[0179] If the result of any first programming check operation shows that there is no erroneous programming, and the result of the previous first programming check operation shows that there is a programming fuse unit that fails the first programming, the next first programming operation is performed;
[0180] If the result of each first programming check operation shows that there is no misprogramming, and the result of the last first programming check operation shows that there is no programming fuse unit that fails the first programming, it is determined that the first programming process is successful.
[0181] In some embodiments, the method further comprises:
[0182] If the result of the second programming check operation or the third programming check operation shows that there is a programming fuse unit that fails programming, the next second programming operation or the third programming operation is performed;
[0183] If the result of the last second programming check operation or the third programming check operation shows that there is no programming fuse unit that fails programming, and the result of the last second programming check operation or the third programming check operation shows that there is no erroneous programming, it is determined that the second programming process or the third programming process is successful;
[0184] If the result of the last second programming check operation shows that there is a programming fuse unit that fails the second programming, or if the result of the last second programming check operation shows that there is an erroneous programming, it is determined that the second programming process fails, and the third programming process is performed;
[0185] If the result of the last third programming check operation shows that there is a programming fuse unit that fails the third programming, or the result of the last third programming check operation shows that there is erroneous programming, it is determined that the third programming process fails and the semiconductor device is unqualified.
[0186] In some embodiments, performing a burn check operation includes:
[0187] After all programming fuse units to be currently programmed have completed the current programming operation, a judgment operation is performed on each programming fuse unit actually programmed in the semiconductor device;
[0188] If the address of the programming fuse unit actually written is within the address region where all programming fuse units currently to be written are located, and the state attribute of the programming fuse unit actually written is consistent with the state attribute indicated in the corresponding information to be written, the programming fuse unit actually written is determined to be the programming fuse unit that has passed the writing;
[0189] Remove the programming fuse units that have been successfully programmed from all programming fuse units currently to be programmed, and use the remaining programming fuse units as programming fuse units that have failed to be programmed;
[0190] If the address of the programming fuse unit actually burned is not in the address area where all the programming fuse units currently to be burned are located, it is determined that the programming fuse unit actually burned is an erroneously burned programming fuse unit. Figure 11 This is a fifth flow chart of a semiconductor device testing method provided by an embodiment of the present disclosure. Figure 11 The present disclosure provides another semiconductor device testing method, including:
[0191] Executing step S1102, performing the first programming process three times on the first type of information to be programmed;
[0192] Executing step S1103, performing the second programming process three times on the second type of information to be programmed; the second type of information to be programmed is different from the first type of information to be programmed;
[0193] Executing step S1104, if the third programming process fails, performing the third programming process three times on the second type of information to be programmed that failed to be programmed; the programming position corresponding to the third programming process is different from the programming position corresponding to the second programming process;
[0194] Performing the first programming process three times, the second programming process three times, or the third programming process three times, executing step S1102, step S1103, or step S1104 includes:
[0195] Executing step S11021, step S11031, or step S11041, performing a first write operation, a second write operation, or a third write operation on all to-be-written reverse-programmed fuse units corresponding to the corresponding to-be-written information, then performing a first read operation, a second read operation, or a third read operation, and performing a first write check operation, a second write check operation, or a third write check operation based on the read result;
[0196] Executing step S11022, step S11032, or step S11042, performing a second first write operation, a second write operation, or a third write operation on the reverse-programming fuse unit that failed the first write operation, then performing a second first read operation, a second read operation, or a third read operation, and performing a second first write check operation, a second write check operation, or a third write check operation based on the read result;
[0197] Execute step S11023, step S11033 or step S11043, perform the third first write operation, the second write operation or the third write operation on the reverse programming fuse unit that fails the second write, then perform the third first read operation, the second read operation or the third read operation, and perform the third first write check operation, the second write check operation or the third write check operation based on the read result.
[0198] In some embodiments, the programming fuse units to be programmed corresponding to the first type of information to be programmed are fixed programming fuse units; and the programming fuse units to be programmed corresponding to the second type of information to be programmed are allowed to be reallocated.
[0199] In some embodiments, the method further includes: after the first programming process is successfully programmed, executing a second programming process on the second type of information to be programmed.
[0200] In some embodiments, the method further includes: before executing the first programming process, performing a pre-programming fuse unit reading operation to determine a reference state of the programming fuse unit; using the reference state of the programming fuse unit to exclude the programming fuse units that have been burned, and using at least part of the remaining programming fuse units as programming fuse units to be burned.
[0201] In some embodiments, the method further includes: performing a post-programming fuse unit reading operation and a post-checking operation after the second programming process or the third programming process is successfully programmed; wherein, the judgment standard of the programming fuse unit writing through resistance corresponding to the post-programming fuse unit reading operation is lower than the judgment standard of the programming fuse unit writing through resistance corresponding to the reading operation in the first programming process, the second programming process and the third programming process.
[0202] In some embodiments, the method further comprises:
[0203] If the result of any of the first programming check operations indicates that there is a programming error or the result of the third first programming check operation indicates that there is a programming fuse unit that fails the first programming, it is determined that the first programming process fails and the semiconductor device is unqualified;
[0204] If the result of any first programming check operation shows that there is no erroneous programming, and the result of the first or second first programming check operation shows that there is a programming fuse unit that fails the first programming, the next first programming operation is performed;
[0205] If the results of the first and second first programming check operations show that there is no misprogramming, and the result of the third first programming check operation shows that there is no programming fuse unit that failed the first programming, it is determined that the first programming process is successful.
[0206] In some embodiments, the method further comprises:
[0207] If the result of the first or second second programming check operation or the third programming check operation shows that there is a programming fuse unit that fails programming, the next second programming operation or the third programming operation is performed;
[0208] If the result of the third second programming check operation or the third programming check operation shows that there is no programming fuse unit that fails programming, and the result of the third second programming check operation or the third programming check operation shows that there is no erroneous programming, it is determined that the second programming process or the third programming process is successful;
[0209] If the result of the third second programming check operation shows that there is a programming fuse unit that fails the second programming, or the result of the third second programming check operation shows that there is an erroneous programming, it is determined that the second programming process fails, and the third programming process is performed;
[0210] If the result of the third programming check operation shows that there is a programming fuse unit that fails the third programming, or the result of the third programming check operation shows that there is erroneous programming, it is determined that the third programming process fails and the semiconductor device is unqualified.
[0211] In some embodiments, performing a burn check operation includes:
[0212] After all programming fuse units to be currently programmed have completed the current programming operation, a judgment operation is performed on each programming fuse unit actually programmed in the semiconductor device;
[0213] If the address of the programming fuse unit actually written is within the address region where all programming fuse units currently to be written are located, and the state attribute of the programming fuse unit actually written is consistent with the state attribute indicated in the corresponding information to be written, the programming fuse unit actually written is determined to be the programming fuse unit that has passed the writing;
[0214] Remove the programming fuse units that have been successfully programmed from all programming fuse units currently to be programmed, and use the remaining programming fuse units as programming fuse units that have failed to be programmed;
[0215] If the address of the programming fuse unit actually burned is not in the address area where all programming fuse units currently to be burned are located, it is determined that the programming fuse unit actually burned is an erroneously burned programming fuse unit. According to a second aspect of the embodiments of the present disclosure, a memory testing method is provided, including: a semiconductor device testing method according to any one of the above embodiments, applied to a dynamic random access memory.
[0216] In an exemplary embodiment, the memory may be any of a variety of memory devices that support high-speed operation, such as dynamic random access memory. For example, the test may be performed in response to a test command sent by a memory controller (not shown in the present disclosure). The memory may be implemented in a module structure such as a dual inline memory module (DIMM) or a high bandwidth memory (HBM) device, in which the memory and the memory controller are integrated into a substrate (not shown in the present disclosure).
[0217] The above description is only a preferred embodiment of the present disclosure and does not limit the patent scope of the present disclosure. Under the inventive concept of the present disclosure, equivalent structural transformations made using the contents of the present disclosure specification and drawings, or direct / indirect application in other related technical fields are all included in the patent protection scope of the present disclosure.
Claims
1. A semiconductor device testing method, characterized in that: include: Performing a first programming process on the first type of information to be programmed at least once; Performing at least one second programming process on the second type of information to be programmed; The second type of information to be written is different from the first type of information to be written; If the second programming process fails, performing at least one third programming process on the second type of information to be programmed that failed to be programmed; the programming position corresponding to the third programming process is different from the programming position corresponding to the second programming process; Performing each of the first programming process, the second programming process, or the third programming process at least once includes: Performing a corresponding first programming operation, a second programming operation, or a third programming operation on a programming fuse unit to be programmed corresponding to corresponding information to be programmed; After the first programming operation, the second programming operation or the third programming operation, performing a corresponding first reading operation, a second reading operation or a third reading operation on the corresponding fuse unit to be programmed; performing a corresponding first writing check operation, a second writing check operation, or a third writing check operation according to a corresponding reading result of the first reading operation, the second reading operation, or the third reading operation to check whether the read information is consistent with the corresponding information to be written; The programming fuse units to be written corresponding to the first type of information to be written are fixed programming fuse units; and the programming fuse units to be written corresponding to the second type of information to be written are allowed to be reallocated.
2. The semiconductor device testing method according to claim 1, wherein: Performing the first programming process, the second programming process, or the third programming process at least once includes: performing at least one of the first programming process, the second programming process, or the third programming process multiple times; Performing the first programming process, the second programming process, or the third programming process multiple times includes: Performing the current first programming process, the second programming process or the third programming process on the programming fuse unit to be programmed corresponding to the information of programming failure in the corresponding information to be programmed; When the writing check result of the current first writing process, the second writing process or the third writing process shows that there is a programming fuse unit that fails to be written, the next first writing process, the second writing process or the third writing process is performed on the programming fuse unit that failed to be written in the current time; When the writing inspection result of the next first writing process, the second writing process or the third writing process shows that there are still programming fuse units that fail to be written, the next first writing process, the second writing process or the third writing process is continued for the programming fuse units that fail to be written next time.
3. The semiconductor device testing method according to claim 2, wherein: Performing the first programming process, the second programming process, or the third programming process multiple times includes: The first programming process, the second programming process or the third programming process is performed three times respectively.
4. The semiconductor device testing method according to claim 1, wherein: The method further comprises: After the first programming process is successfully programmed, the second programming process is executed on the second type of information to be programmed.
5. The semiconductor device testing method according to claim 4, wherein: The method further comprises: Before executing the first programming process, performing a pre-programming fuse unit reading operation to determine a reference state of the programming fuse unit; The reference state of the programming fuse unit is used to exclude the programming fuse units that have been programmed, and at least part of the remaining programming fuse units are used as programming fuse units to be programmed.
6. The semiconductor device testing method according to claim 5, wherein: The method further comprises: After the second programming process is successfully programmed or after the third programming process is successfully programmed, performing a post-programming fuse unit reading operation and a post-programming check operation; The judgment standard of the programming fuse unit burning through resistance corresponding to the post-programming fuse unit reading operation is lower than the judgment standard of the programming fuse unit burning through resistance corresponding to the reading operation in the first, second and third programming processes.
7. The semiconductor device testing method according to claim 2, wherein: The method further comprises: If the result of any of the first programming check operations indicates that there is a programming error or the result of the last first programming check operation indicates that there is a programming fuse unit that fails the first programming, it is determined that the first programming process fails and the semiconductor device is unqualified; If the result of any first programming check operation shows that there is no erroneous programming, and the result of the previous first programming check operation shows that there is a programming fuse unit that fails the first programming, the next first programming operation is performed; If the result of each first programming check operation shows that there is no erroneous programming, and the result of the last first programming check operation shows that there is no programming fuse unit that fails the first programming, it is determined that the first programming process is successful.
8. The semiconductor device testing method according to claim 2, wherein: The method further comprises: If the result of the second programming check operation or the third programming check operation shows that there is a programming fuse unit that fails programming, the next second programming operation or the third programming operation is performed; If the result of the last second programming check operation or the third programming check operation shows that there is no programming fuse unit that fails to be programmed, and the result of the last second programming check operation or the third programming check operation shows that there is no erroneous programming, it is determined that the second programming process or the third programming process is successful; If the result of the last second programming check operation shows that there is a programming fuse unit that fails the second programming, or if the result of the last second programming check operation shows that there is an erroneous programming, it is determined that the second programming process fails, and the third programming process is performed; If the result of the last third programming check operation shows that there is a programming fuse unit that fails the third programming, or the result of the last third programming check operation shows that there is erroneous programming, it is determined that the third programming process fails and the semiconductor device is unqualified.
9. The semiconductor device testing method according to claim 1, wherein: Performing the burn-in check operation includes: After all programming fuse units to be currently programmed have completed the current programming operation, performing a judgment operation on each programming fuse unit actually programmed in the semiconductor device; If the address of the programming fuse unit actually written is within the address region where all the programming fuse units currently to be written are located, and the state attribute of the programming fuse unit actually written is consistent with the state attribute indicated in the corresponding information to be written, it is determined that the programming fuse unit actually written is the programming fuse unit that has passed the writing; Removing the programming fuse units that have passed the programming from all programming fuse units currently to be programmed, and using the remaining programming fuse units as programming fuse units that have failed the programming; If the address of the programming fuse unit actually burned is not in the address area where all the programming fuse units currently to be burned are located, it is determined that the programming fuse unit actually burned is an erroneously burned programming fuse unit.
10. A semiconductor device testing method, characterized in that: include: Perform the first programming process three times on the first type of information to be programmed; Perform the second programming process three times for the second type of information to be programmed; The second type of information to be written is different from the first type of information to be written; If the three second programming processes fail, performing three third programming processes on the second type of information to be programmed that failed to be programmed; the programming position corresponding to the third programming process is different from the programming position corresponding to the second programming process; Perform the first programming process three times, the second programming process three times, or the third programming process three times, including: Performing a first write operation, a second write operation, or a third write operation on all programming fuse units to be written corresponding to the corresponding information to be written, then performing a first read operation, a second read operation, or a third read operation, and performing a first write check operation, a second write check operation, or a third write check operation based on the read result; Performing a second first write operation, a second write operation, or a third write operation on the program fuse unit that fails the first write operation, then performing a second first read operation, a second read operation, or a third read operation, and performing a second first write check operation, a second write check operation, or a third write check operation according to the read result; performing a third first write operation, a second write operation, or a third write operation on the program fuse unit that fails the second write operation, and then performing a third first read operation, a second read operation, or a third read operation, and performing a third first write check operation, a second write check operation, or a third write check operation based on the read result; The programming fuse units to be written corresponding to the first type of information to be written are fixed programming fuse units; and the programming fuse units to be written corresponding to the second type of information to be written are allowed to be reallocated.
11. A memory testing method, characterized in that: Applied to dynamic random access memory, comprising: the semiconductor device testing method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Data burning and writing method, system and equipment and target equipment
CN104461641A
Chip trimming circuit and chip trimming method
CN107743035A