Electronic fuse burning method, device, chip, system and storage medium
By performing safety verification after the chip power supply and internal power supply voltages are stabilized, the problem of incorrect eFuse programming caused by unstable power supply voltage is solved, thus improving the programming safety and reliability of the chip.
Patent Information
- Application Number
- CN202511676288.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-14
- Publication Date
- 2026-02-13
AI Technical Summary
During the chip programming process, signal fluctuations caused by unstable power supply voltage can easily lead to incorrect programming of eFuse, resulting in chip performance degradation or functional failure.
By acquiring the voltages of the chip's power supply terminal and internal power supply terminal, it is determined whether the voltage is within the preset threshold range. After ensuring stability, a safety verification of the programming program is performed, including steps such as data format and address matching. The eFuse programming is only performed after the signal is stable.
This improves the security and reliability of eFuse programming, avoids false triggering, ensures that programming operations are only performed under stable conditions, and enhances the reliability and security of the chip.
Smart Images

Figure CN121528280A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of chip burning, and in particular to an electronic fuse burning method, device, chip, system and storage medium. BACKGROUND
[0002] An electric fuse (eFuse) is a one-time programmable memory that realizes data storage by melting metal fuses. As a medium for chip data storage, the eFuse plays an important role. For example, the encryption key of a chip application is usually burned into the eFuse memory of the chip. Therefore, it is particularly important to ensure the data security of the eFuse.
[0003] In related technologies, the way of burning the eFuse of a chip is basically based on serial communication. A host computer can send a burning timing to the burning special pin of the eFuse of the chip through serial communication, and directly burn the eFuse, which is simple and easy to implement. However, the signal on the pin of the chip is easily affected by unstable power supply voltage, thereby causing signal fluctuation on the pin. Since the burning timing of the eFuse is simple, such signal fluctuation easily triggers the burning condition, thereby causing the eFuse to be burned incorrectly, changing the content stored in the eFuse, and further causing the performance of the chip to decrease or even fail. SUMMARY
[0004] The present application provides an electronic fuse burning method, device, chip, system and storage medium to solve the problem of eFuse incorrect burning caused by signal fluctuation due to unstable power supply voltage.
[0005] In a first aspect, the present application provides an electronic fuse burning method, comprising: obtaining a first voltage of a power supply end of a chip and a second voltage of an internal power supply end of the chip; in a case where it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, starting a burning program of a burning device for burning an electronic fuse (eFuse) of the chip.
[0006] Optionally, the starting of the burning program of the burning device for burning the eFuse of the chip in the case where it is determined that the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage comprises: in the case where it is determined that the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage, receiving a preset waveform signal sent by the burning device to a target pin of a communication interface of the chip; determining whether the preset waveform signal is correctly identified continuously for a preset number of times, wherein the preset number of times is at least two times; in a case where it is determined that the preset waveform signal is correctly identified continuously for the preset number of times, starting a burning program in which the burning device burns the eFuse of the chip.
[0007] Optionally, the starting of the burning program in which the burning device burns the eFuse of the chip in the case where it is determined that the preset waveform signal is correctly identified continuously for the preset number of times comprises: in the case where it is determined that the preset waveform signal is correctly identified continuously for the preset number of times, receiving target data sent by the burning device through a communication interface of the chip; detecting a data format of the target data; in a case where it is determined that the data format of the target data conforms to a data format specified by a communication protocol corresponding to the communication interface, starting the burning program in which the burning device burns the eFuse of the chip.
[0008] Optionally, the starting of the burning program in which the burning device burns the eFuse of the chip in the case where it is determined that the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface comprises: in the case where it is determined that the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface, determining whether the target data is written into and matches a target address; in the case where it is determined that the target data is written into and matches the target address, starting the burning program in which the burning device burns the eFuse of the chip.
[0009] Optionally, the starting of the burning program in which the burning device burns the eFuse of the chip in the case where it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage comprises: in the case where it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, receiving target data sent by the burning device through a communication interface between the chip and the burning device; detecting a data format of the target data; in a case where it is determined that the data format of the target data conforms to a data format specified by a communication protocol corresponding to the communication interface, starting the burning program in which the burning device burns the eFuse of the chip.
[0010] Optionally, the step of starting the programming program to program the eFuse of the chip when it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage includes: If it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, the determination data written by the programming device to the target address of the chip is received. If the determination data matches the target address, the programming device is started to program the eFuse of the chip.
[0011] Optionally, the electronic fuse programming method also includes: Timing begins after the chip is detected to be powered on; If the timeout exceeds a preset time threshold and no security verification completion information is detected, the programming permission for programming the eFuse is disabled.
[0012] Secondly, this application provides an electronic fuse programming device, comprising: The acquisition module is used to acquire the first voltage of the power supply terminal of the chip and the second voltage of the internal power supply terminal of the chip; The programming module is used to start the programming device to program the electronic fuse eFuse of the chip when it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage.
[0013] Thirdly, this application provides a chip including an electronic fuse and a processor, the processor being configured to perform the steps of the electronic fuse programming method as described in any of the first aspects above.
[0014] Fourthly, this application provides an electronic fuse programming system, including a programming device and a chip as described in the third aspect above, wherein the programming device is communicatively connected to the chip.
[0015] Fifthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the electronic fuse burning method as described in any of the first aspects above.
[0016] The electronic fuse programming method, apparatus, chip, system, and storage medium provided in this application acquire a first voltage at the chip's power supply terminal and a second voltage at its internal power supply terminal, and detect the first and second voltages. If the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, the chip is determined to be in a stable working state, and no signal fluctuations caused by unstable power supply voltage will occur, thus avoiding false triggering of the eFuse. At this time, the programming device can be started to program the chip's eFuse, thereby improving the safety and reliability of eFuse programming. Attached Figure Description
[0017] Figure 1 This is one of the flowcharts illustrating the eFuse programming method provided in the embodiments of this application; Figure 2 This is a schematic diagram illustrating the principle of detecting the voltage of the chip's power supply terminal VDD and internal power supply terminal VOUT in an embodiment of this application. Figure 3 This is a schematic diagram illustrating the data format specified by the I²C communication protocol in the embodiments of this application; Figure 4 This is a schematic diagram illustrating the principle of determining the legitimacy of the burning request source by sending a preset waveform signal to the target pin of the communication interface in this embodiment of the application. Figure 5 A second schematic flowchart of the eFuse programming method provided in this application embodiment; Figure 6 A schematic diagram of the electronic fuse programming device provided in the embodiments of this application; Figure 7 A schematic diagram of the electronic fuse programming system provided in this application embodiment. Detailed Implementation
[0018] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone. A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c alone can mean: a alone, b alone, c alone, a combination of a and b, a combination of a and c, a combination of b and c, or a, b, and c. a, b, and c can be single or multiple. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0019] The terms "connected" and "connected" should be interpreted broadly. For example, in circuit structures, "connected" or "connected" can refer not only to physical connections but also to electrical or signal connections. This could be a direct connection (physical connection) or an indirect connection via at least one intermediate component, as long as the circuit is connected. It could also refer to the internal connection between two components. Similarly, a signal connection can refer to a connection via a circuit or a medium, such as radio waves. Those skilled in the art will understand the specific meaning of these terms in this application based on the specific circumstances.
[0020] eFuse is a one-time programmable memory that stores data by melting a metal fuse. It plays a crucial role as a medium for data storage on a chip. For example, the encryption keys for the application programs of the main control chip are often programmed into the eFuse memory of the main control chip. By writing special security information (such as keys) into the eFuse memory of the main control chip, the program on the storage chip and the security information on the main control chip can mutually verify each other, completing the signature authentication of the program on the storage chip. Because eFuse is one-time programmable, once the special security information is programmed into eFuse, it cannot be programmed with any other security information. Therefore, as long as attackers cannot copy or tamper with the security information on the main control chip, they also cannot copy the contents of the storage chip, thus preventing the risk of potential attackers tampering with the contents of the storage chip. Therefore, ensuring the data security of eFuse is particularly important.
[0021] In related technologies, the programming of eFuse chips is primarily based on serial communication. A host computer can send the programming program to the dedicated programming pins of the eFuse chip via serial communication, directly programming the eFuse. While this method is simple and easy to implement, the signals on the chip pins are easily affected by unstable power supply voltage, leading to signal fluctuations. Because the eFuse programming timing is simple, these signal fluctuations can easily cause false triggering of programming conditions, resulting in incorrect programming of the eFuse, altering the stored content, and ultimately causing chip performance degradation or even functional failure.
[0022] Based on this, this application provides an improved eFuse programming method, which performs security verification before programming through a designed security verification mechanism. The eFuse programming process is only started after the verification is passed, thus avoiding false programming caused by signal fluctuations.
[0023] The eFuse programming method provided in this application can be applied to chips containing eFuse, such as the main control chip of an embedded system, but is not limited thereto.
[0024] The following is combined with Figures 1-5 The eFuse programming method provided in the embodiments of this application will be described in detail.
[0025] Figure 1 This paper illustrates one of the flowcharts of the eFuse programming method provided in an embodiment of this application. (Refer to...) Figure 1 As shown, the eFuse programming method may include the following steps 110 to 120.
[0026] Step 110: Obtain the first voltage of the chip's power supply terminal and the second voltage of its internal power supply terminal.
[0027] In this embodiment of the application, the chip is the chip to be programmed with eFuse. For example, in an embedded system, it can be the main control chip of the embedded system, which includes eFuse.
[0028] Specifically, a chip may include a power supply terminal VDD, which connects to the power output terminal of a power module, allowing the power module to supply power to the chip. An internal power supply terminal VOUT supplies power to the chip's internal core modules and serves as an analog signal input. In chips with limited pins, this internal power supply terminal VOUT can be designed as a multi-functional pin, functioning as both an analog signal input and a signal output.
[0029] In the scenario of eFuse programming of a chip, the chip to be programmed is connected to the programming device, which can drive the power module to supply power to the chip's VDD pin. Before eFuse programming, the chip will perform a pre-programming security verification according to a set security verification mechanism. This involves detecting the voltage status of the chip's VDD pin and VOUT pin, obtaining the first voltage of VDD and the second voltage of VOUT, and determining whether the chip is currently in a stable operating environment based on these voltages.
[0030] The programming device is the host computer device, which can be an electronic device such as a computer, laptop, tablet, or terminal device.
[0031] Step 120: When it is determined that the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage, start the programming device to program the electronic fuse eFuse of the chip.
[0032] The first and second threshold voltages are critical values determined based on the requirements for the safe and stable operation of the chip. They can be determined based on the chip's operating parameters, experience, or experiments. For example, if the standard power supply voltage of the chip is 5V, the first threshold voltage can be designed to be greater than 5V, such as 6.5V. The chip's internal power supply terminal VOUT usually has a stable output voltage, which can be proportional to the standard power supply voltage of the chip, such as a 1:2 ratio. The second threshold voltage can be set based on this output voltage, for example, it can be set to 0.125V.
[0033] After acquiring the first voltage at its power supply terminal VDD and the second voltage at its internal power supply terminal VOUT, the chip can determine whether the first and second threshold voltages meet the requirements for stable chip operation based on the first and second threshold voltages. If the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage, it is determined that the power supply voltage is stable, and the voltage states of the two pins, the power supply terminal VDD and the internal power supply terminal VOUT, meet the voltage requirements. That is, it is determined that the signals of these two pins are stable and will not cause false triggering of the eFuse programming conditions. At this time, the subsequent eFuse programming program is allowed, and the chip starts the programming device to program the eFuse.
[0034] For example, the chip can determine whether the first voltage is greater than a preset first threshold voltage and whether the second voltage is less than a preset second threshold voltage through software program, or the chip can determine whether the first voltage is greater than a preset first threshold voltage and whether the second voltage is less than a preset second threshold voltage through hardware circuit.
[0035] For example, Figure 2 This illustration shows a schematic diagram of the principle for detecting the voltage of the chip's power supply terminal VDD and internal power supply terminal VOUT in an embodiment of this application. (Refer to...) Figure 2 As shown, the chip can determine whether the first voltage of the power supply terminal VDD is greater than the preset first threshold voltage VH1 by the first comparator 21, and whether the second voltage of the internal power supply terminal VOUT is less than the preset second threshold voltage VH2 by the second comparator 22. The comparison results of the two comparators are then ANDed by the AND gate 23 and the result is output through the output terminal P. If the output terminal P outputs the true value "1", the chip can determine that the first voltage is greater than the preset first threshold voltage VH1 and the second voltage is less than the preset second threshold voltage VH2.
[0036] The eFuse programming method provided in this application obtains the first voltage of the chip's power supply terminal and the second voltage of its internal power supply terminal, and detects the first and second voltages. If the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, the chip is determined to be in a stable working state, and there will be no signal fluctuations caused by unstable power supply voltage, thus avoiding false triggering of the eFuse. At this time, the programming device can be started to program the chip's eFuse, thereby improving the safety and reliability of eFuse programming.
[0037] based on Figure 1 In one embodiment of the eFuse programming method corresponding to the embodiments, the validity of data transmitted through the communication interface between the chip and the programming device can be determined even when the chip is in a stable operating state. Only after the data is deemed valid will the chip's eFuse be programmed. That is, the programming device and the chip only respond to data interaction behaviors that conform to the communication protocol format specified by the communication interface; inputs that do not conform to the communication protocol specification will not be responded to.
[0038] Specifically, step 120, which involves starting the programming program to program the electronic fuse (eFuse) of the chip when the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, may include: If the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, the target data sent by the programming device through the communication interface between the chip and the programming device is received; the data format of the target data is detected; if the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface, the programming device starts the programming program to program the chip's eFuse.
[0039] The target data is the communication data sent by the programming device to the chip. It can be any data for data interaction or specific data sent by the programming device to the chip. For example, the specific data can be the judgment data for programming permission authentication written to the target address of the chip.
[0040] The programming device and the chip can connect and communicate via a communication interface. For this communication interface to work, the transmitted data must conform to the data format requirements specified in its communication protocol to ensure secure, legal, and accurate data transmission.
[0041] For example, if the communication interface conforms to the Inter-Integrated Circuit (I²C) communication protocol, the data transmitted must meet the data format specified by the I²C communication protocol. Figure 3 A schematic diagram of the data format specified in the I²C communication protocol is shown. (Refer to...) Figure 3 As shown, it specifies the data format requirements for the Serial Data (SDA) signal pin and the Serial Clock (SCL) signal pin of the communication interface, as well as the timing requirements between them. Specifically, after the start timing is detected, in the first set of 1 to 9 bits, bits 1 to 7 are address bits, bit 8 is a read / write control bit, and bit 9 is an acknowledgment bit; in the second set of 1 to 9 bits, bits 1 to 8 are data bits, and bit 9 is an acknowledgment bit; in the third set of 1 to 9 bits, bits 1 to 8 are data bits, and bit 9 is an acknowledgment bit.
[0042] When the chip determines that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, it can conclude that the chip is in a stable operating state, unaffected by external signals. Based on this, the chip can continue to receive target data sent by the programming device through the communication interface and then detect the data format of the target data. If the chip determines that the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface, the validity verification of the communication interface passes, and the chip can respond to the target data. At this time, the chip can start the programming program of the programming device to program the chip's eFuse. If the chip determines that the data format of the target data does not conform to the data format specified by the communication protocol corresponding to the communication interface, it indicates that the validity verification of the communication interface fails, and the chip does not respond to the target data. At this time, the chip will not start the programming program of the programming device to program the chip's eFuse.
[0043] The eFuse programming method provided in this application determines that the chip is in a stable operating state, unaffected by external signals, when a first voltage is greater than a preset first threshold voltage and a second voltage is less than a preset second threshold voltage. Based on the chip's stable operating state, the target data sent by the programming device is verified for its data format. The programming device is only allowed to program the chip's eFuse after successful verification. This allows for responding only to data interactions conforming to the data format specified by the communication protocol corresponding to the communication interface, while ignoring inputs that do not conform to the communication protocol. This enhances the legitimacy verification of the communication interface and further strengthens the security and reliability of eFuse programming.
[0044] based on Figure 1 In one embodiment of the eFuse programming method corresponding to the embodiment, dual password determination can be performed on the basis that the chip is in a stable working state. The programming permission is authenticated by determining whether the determination data written to the target address of the chip matches the target address. Only after the programming permission authentication is passed can the programming device be allowed to program the eFuse of the chip.
[0045] Specifically, step 120, which involves starting the programming program to program the chip's eFuse when the first voltage is determined to be greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, may include: If it is determined that the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage, the determination data written by the programming device to the target address of the chip is received; if it is determined that the determination data matches the target address, the programming device starts the programming program to program the eFuse of the chip.
[0046] The target address is a preset address used for security verification, that is, an address used for burning permission authentication.
[0047] When the chip determines that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, it can conclude that the chip is in a stable operating state, unaffected by external signals. Based on this, the chip can receive judgment data written by the programming device to a preset target address according to the communication protocol of the communication interface, and determine whether the judgment data matches the target address. If the written judgment data matches the target address, the verification is confirmed as successful. At this time, the chip can start the programming program of the programming device to program the chip's eFuse, allowing the programming device to program the chip's eFuse. If the written judgment data does not match the target address, the verification is confirmed as failed. At this time, it is considered that the programming device does not have permission to program the chip's eFuse, and the programming device is prohibited from accessing the chip's eFuse.
[0048] For example, determining that the data matches the target address means that the data is written to the specified target address and is consistent with the data specified for that target address.
[0049] For example, the programming device can display an information prompt interface on the screen indicating that decision data is to be written to the target address. This interface may include an address input control and a data input control. The programming device can determine the target address to be written based on the user's input operation on the address input control, and determine the decision data to be written to the target address based on the user's input operation on the data input control.
[0050] For example, different target addresses and different judgment data can be set for different users. Only when a user writes the correct judgment data to the target address set for them will the programming device be allowed to program the chip's eFuse. For instance, suppose user A is allowed to write judgment data 'a' to target address Aa, and user B is allowed to write judgment data 'b' to target address Bb. When user A writes data to the chip through the programming device, the chip will determine whether the data is written to target address Aa and whether the written data is the specified judgment data 'a'. If so, it confirms that the judgment data matches the target address, the security authentication is successful, and user A is allowed to program the chip's eFuse through the programming device. Otherwise, the security authentication fails, and user A is not allowed to program the chip's eFuse through the programming device. When user B writes data to the chip through the programming device, the same judgment method as user A can be used for security authentication. Only after the security authentication is successful will user B be allowed to program the chip's eFuse through the programming device.
[0051] This effectively restricts the scope of access for burning permissions, ensuring that only authorized users can perform eFuse burning operations.
[0052] Understandably, the chip can also use the judgment data sent during the dual password judgment process to verify the legitimacy of the communication interface, and determine whether the judgment data sent by the programming device to the chip conforms to the data format requirements specified by the communication protocol of the communication interface. If it does not conform, the programming program will not respond.
[0053] For example, the chip can first verify the data format of the judgment data written by the programming device. If the data format conforms to the requirements of the communication protocol of the communication interface, then it can proceed with dual password verification. This allows for simultaneous verification of the communication interface's legitimacy and programming permissions, further enhancing the security and reliability of eFuse programming.
[0054] The eFuse programming method provided in this application determines that the chip is in a stable working state when the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage. Based on the chip being in a stable working state, programming permission security authentication is performed by judging whether the judgment data written to the target address of the chip matches the target address. Only after the programming permission authentication is passed is the programming device allowed to program the chip's eFuse. In this way, the access scope of programming permission can be effectively restricted, ensuring that only authorized users can perform eFuse programming operations, thereby further enhancing the security and reliability of eFuse programming.
[0055] based on Figure 1 In one embodiment of the eFuse programming method corresponding to the embodiments, the source of the programming request can be further determined as to be legitimate and whether it is random noise interference, even when the chip is in a stable operating state. The programming of the chip's eFuse is only performed after the determination is successful. For example, a predefined waveform signal can be sent to the target pin of the chip's communication interface. The chip determines the legitimacy of the programming request source and whether it is random noise interference by judging whether it can correctly identify the waveform signal.
[0056] Specifically, step 120, which involves starting the programming program to program the electronic fuse eFuse of the chip when the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage, can be achieved through the following steps 121 to 123.
[0057] Step 121: When it is determined that the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage, receive the preset waveform signal sent by the programming device to the target pin of the chip's communication interface.
[0058] The target pin is the core pin that ensures normal communication of the communication interface. For example, in the I²C communication protocol, the target pin of the communication interface may include the serial data SDA signal pin and the SCL signal pin. Similarly, in the Universal Asynchronous Receiver / Transmitter (UART) protocol, the target pin of the communication interface may include the data transmission (Transmit, Tx) pin and the data reception (Receive, Rx) pin.
[0059] The programming device and the chip can connect and communicate via a communication interface. For this communication interface, the signals at the target pins must conform to the waveform requirements specified in its communication protocol to ensure secure and legitimate data transmission. Based on this, when the chip determines that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, it can determine that it is in a stable operating state. Furthermore, the chip can receive preset waveform signals sent by the programming device to the target pins of the chip's communication interface. By detecting these preset waveform signals, it can determine whether the source of the programming request is legitimate and whether it is subject to random noise interference.
[0060] Step 122: Determine whether the preset waveform signal has been correctly identified for a preset number of consecutive times.
[0061] The preset number of times is at least two. For example, it can be 2 times, 4 times, 5 times, etc., and this application does not make a specific limitation on it.
[0062] The chip can receive a preset waveform signal sent by the programming device to the target pin of the chip's communication interface, and then determine whether the waveform of the received signal meets the waveform requirements specified by the target pin of the communication interface, and determine whether the waveform requirements are met for a preset number of consecutive times, that is, whether the preset waveform signal can be correctly identified for a preset number of consecutive times.
[0063] Step 123: After confirming that the preset waveform signal has been correctly identified a preset number of times, start the programming device to program the chip's eFuse.
[0064] If the chip consistently determines that the waveform of the received signal meets the waveform requirements specified by the target pin of the communication interface a predetermined number of times, meaning it can correctly identify the predetermined waveform signal of the target pin a predetermined number of times, then it is confirmed that the programming device can send the correct predetermined waveform signal to the target pin of the chip's communication interface. This confirms that the programming request originates from the programming device performing the programming of the eFuse, and not from any other illegal device. The source of the programming request is legitimate and not due to random noise interference. At this point, the chip can initiate the programming program of the programming device to program the chip's eFuse, allowing the programming device to begin programming the eFuse.
[0065] If, during the process of determining whether the chip can correctly identify the preset waveform signal of the target pin for a preset number of consecutive times, any identification fails or an abnormal signal occurs midway, it is determined that the preset waveform signal cannot be correctly identified for a preset number of consecutive times. This is equivalent to detecting that the programming request may not come from the programming device that programs the eFuse, the source of the programming request is illegal or may be random noise interference, posing a security risk. At this time, the determination process can be terminated immediately, the chip will not start the programming program, and the programming device will not be allowed to program the chip's eFuse.
[0066] Taking an interface with the I²C communication protocol as an example, the target pins include the SDA signal pin and the SCL signal pin. Figure 4 This diagram illustrates the principle of determining the legitimacy of a programming request source by sending a preset waveform signal to the target pin of the communication interface. (Refer to...) Figure 3 As shown, according to the requirements of the I²C communication protocol, there is a certain timing relationship between the waveforms of the SDA and SCL signal pins. Only waveforms that meet this timing relationship are considered to conform to the I²C communication protocol requirements. The programming device can continuously send preset waveform signals to the SDA and SCL signal pins of the chip. The chip will only determine that the programming request is legitimate and free from random noise interference if it correctly identifies the preset waveform signal a preset number of times consecutively, such as four consecutive correct identifications. If, during the continuous transmission of the preset waveform signal, the chip fails to identify the signal at any point during the preset number of identifications, or if an abnormal signal occurs midway, the chip will determine that the identification has failed and immediately terminate the determination process; the chip will not start the programming program. In this way, the security and reliability of eFuse programming are further guaranteed through the verification of the legitimacy of the programming request.
[0067] The eFuse programming method provided in this application determines that the chip is in a stable working state when the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage. Based on this, it receives a preset waveform signal sent by the programming device to the target pin of the chip's communication interface and detects whether the preset waveform signal has been correctly identified a preset number of times consecutively. This determines whether the source of the programming request is legitimate, originating from the programming device performing the eFuse programming and not from other illegal devices, and whether it is random noise interference. If the chip determines that the preset waveform signal has been correctly identified a preset number of times consecutively, it determines that the source of the programming request is legitimate and not random noise interference. At this point, the chip starts the programming program for the programming device to program the chip's eFuse, allowing the programming device to begin programming the eFuse. If the chip determines that the request is illegitimate, it directly terminates the determination process, and the chip does not start the programming program. Thus, by verifying the legitimacy of the programming request and determining whether it is random noise interference, the security and reliability of eFuse programming are further enhanced.
[0068] In one embodiment of the eFuse programming method based on the above embodiments, after the chip determines that the source of the programming request is legitimate and is not subject to random noise interference, it can further determine whether the data transmitted through the communication interface between the chip and the programming device is legitimate. Only after the data is determined to be legitimate can the chip's eFuse be programmed.
[0069] Specifically, step 123 above, which involves starting the programming program to program the chip's eFuse after confirming that the preset waveform signal has been correctly identified a preset number of times, may include: If the preset waveform signal is correctly identified a preset number of times, the target data sent by the programming device through the chip's communication interface is received; the data format of the target data is detected; if the data format of the target data is determined to conform to the data format specified by the communication protocol corresponding to the communication interface, the programming device is started to program the chip's eFuse.
[0070] The target data is the communication data sent by the programming device to the chip. It can be any data for data interaction or specific data sent by the programming device to the chip. For example, the specific data can be the judgment data for programming permission authentication written to the target address of the chip.
[0071] Based on this, in one embodiment, when the target data is any communication data sent to the chip by the programming device, if the chip correctly identifies the preset waveform signal a preset number of times consecutively, it indicates that the source of the programming request is legitimate and not subject to random noise interference. In this case, the chip can continue to receive the target data sent by the programming device through the communication interface and then detect the data format of the target data. If the chip determines that the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface, the legality verification of the communication interface passes, and the chip can respond to the target data. At this time, the chip can start the programming program of the programming device to program the chip's eFuse. If the chip determines that the data format of the target data does not conform to the data format specified by the communication protocol corresponding to the communication interface, it indicates that the legality verification of the communication interface fails, and the chip does not respond to the target data. In this case, the chip will not start the programming program of the programming device to program the chip's eFuse.
[0072] In this way, provided that the source of the programming request is legitimate and not subject to random noise interference, it can only respond to data interaction behaviors that conform to the data format specified by the communication protocol corresponding to the communication interface, and will not respond to inputs that do not conform to the data format specified by the communication protocol. This enhances the verification of the legitimacy of the communication interface and further enhances the security and reliability of eFuse programming.
[0073] In another embodiment, when the target data is determination data written to the target address of the chip for programming permission authentication, the programming program that starts the programming device to program the chip's eFuse when it is determined that the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface may include: If the target data format is determined to be consistent with the data format specified by the communication protocol corresponding to the communication interface, determine whether the target data has been written to the target address and matches the target address; if the target data has been written to the target address and matches the target address, start the programming device to program the chip's eFuse.
[0074] The target address is a preset address used for security verification, that is, the address used for verifying burning permissions. The target data is the judgment data used for verifying burning permissions.
[0075] If the target data format conforms to the data format specified by the communication protocol corresponding to the communication interface, the data interaction behavior of the communication interface is considered legitimate. Based on this, the chip can respond to the target data and further determine whether the address to which the target data is written is the set target address, and whether the target data matches the data required to be written at that target address. If the address to which the target data is written is the target address and matches the data required to be written at that target address (i.e., the target data is written to the target address and matches the target address), then the programming permission authentication is successful. At this point, the chip allows the programming device to program the chip's eFuse. Otherwise, the programming permission authentication fails, and the chip does not allow the programming device to program the chip's eFuse.
[0076] In this way, by determining whether the target data written to the target address of the chip matches the target address, the programming permission is authenticated. Only after the programming permission is authenticated is the programming device allowed to program the chip's eFuse. This effectively limits the scope of programming permission access and ensures that only authorized users can perform eFuse programming operations, thereby further enhancing the security and reliability of eFuse programming.
[0077] In another embodiment, when the target data is any communication data sent to the chip by the programming device, if the chip determines that the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface, it can continue to receive judgment data written by the programming device to the target address of the chip, which conforms to the data format specified by the communication protocol of the communication interface. If it is determined that the judgment data matches the target address, the programming device starts the programming program to program the chip's eFuse. Here, "the judgment data matches the target address" means that the judgment data is written to the set target address and is consistent with the data specified by the target address.
[0078] The eFuse programming method based on the above embodiments. Figure 5 This is a second schematic flowchart of the eFuse programming method provided in this application embodiment. (Refer to...) Figure 5 As shown, the eFuse programming method may include the following steps 501 to 510.
[0079] Step 501: Obtain the first voltage of the chip's power supply terminal and the second voltage of its internal power supply terminal.
[0080] The chip's power supply terminal VDD is used to connect to the power output terminal of the power module, allowing the power module to supply power to the chip. The internal power supply terminal VOUT can supply power to the chip's internal core modules. The specific implementation process and principle of step 501 can be referred to step 110 above, and will not be repeated here.
[0081] Step 502: Determine whether the first voltage is greater than the preset first threshold voltage and whether the second voltage is less than the preset second threshold voltage.
[0082] The first threshold voltage and the second threshold voltage are critical values determined based on the requirements for the safe and stable operation of the chip. They can be determined based on the chip's operating parameters, experience, or experiments. If the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage, then step 503 is executed; otherwise, step 510 is executed.
[0083] Step 503: Receive the preset waveform signal sent by the programming device to the target pin of the chip's communication interface.
[0084] Step 504: Determine whether the preset waveform signal has been correctly identified a preset number of times consecutively.
[0085] If the chip determines that it has correctly identified the preset waveform signal a preset number of times in a row, then step 505 is executed; otherwise, step 510 is executed.
[0086] Steps 503 to 504 correspond one-to-one with steps 121 to 122 above. The specific implementation process and principle can be referred to steps 121 to 122 above, and will not be repeated here.
[0087] Step 505: Receive the target data sent by the programming device.
[0088] The chip receives target data sent by the programming device through the communication interface between the chip and the programming device. This target data can be specific data sent by the programming device to the chip, such as determination data for programming authorization authentication written to the target address of the chip.
[0089] Step 506: Detect the data format of the target data.
[0090] Step 507: Determine whether the data format of the target data conforms to the data format specified by the communication protocol.
[0091] The chip detects the data format of the target data and determines whether the data format conforms to the data format specified by the communication protocol corresponding to the communication interface. If the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface, step 508 is executed; otherwise, step 510 is executed.
[0092] Step 508: Determine whether the target data has been written to the target address and matches the target address.
[0093] The target data can be determination data written to the target address of the chip for programming permission authentication. The target address is a preset address used for security verification, that is, the address used for programming permission authentication.
[0094] If the chip determines that the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface, it can confirm that the data interaction behavior of the communication interface is legitimate. Based on this, the chip can respond to the target data and continue to determine whether the address to which the target data is written is the set target address, and whether the target data is consistent with the data required to be written at the target address. If the address to which the target data is written is the target address and is consistent with the data required to be written at the target address, that is, the target data is written to the target address and matches the target address, then the programming permission authentication is determined to be successful, and step 509 is executed; otherwise, the programming permission authentication is determined to be unsuccessful, and step 510 is executed.
[0095] Step 509: Start the programming device to program the electronic fuse eFuse of the chip.
[0096] Once the chip determines that the target data has been written to the target address and matches the target address, it confirms that the programming permission authentication is successful. At this point, the chip allows the programming device to program the chip's eFuse and starts the programming program to program the chip's eFuse.
[0097] After the eFuse programming is completed, the chip can automatically exit the security verification process. If programming is required again, all security verification processes need to be executed completely again.
[0098] Step 510: Terminate the security verification process.
[0099] If the chip determines that the first voltage is less than or equal to a preset first threshold voltage, or if it determines that the second voltage is greater than or equal to a preset second threshold voltage, or if it determines that a recognition failure or an abnormal signal has occurred during a preset number of consecutive recognitions of preset waveform signals, or if it determines that the data format of the target data does not conform to the data format specified by the communication protocol, or if it determines that the target data has not been written to the target address or that the target data does not match the target address, the chip will terminate the security verification process and wait for the next security verification. The chip will not allow the programming device to program the chip's eFuse.
[0100] The eFuse programming method provided in this application, on the one hand, through dual voltage determination, continuous determination based on a special timing sequence of preset waveform signals, interface communication protocol determination, and dual password determination based on address and data, can perform multiple verifications of the security and reliability of the programming environment before programming the eFuse. Only after all determination conditions have been verified and passed can the programming device start the programming program to program the chip's eFuse, effectively avoiding the risk of incorrect programming of the eFuse caused by external interference or unauthorized access, and improving the security and reliability of eFuse programming. On the other hand, these determination conditions can form a multi-level, closed-loop security verification mechanism for eFuse programming. Each determination condition can be executed in the following order: first dual voltage determination, then continuous determination based on a special timing sequence of preset waveform signals, then interface communication protocol determination, and then dual password determination based on address and data, forming a sequential dependency relationship. If any determination condition fails or the order is disordered, the entire determination process will terminate, and all determination processes need to be re-executed. This sequential design can ensure the controllability of the entire programming process and further enhance the security of programming. In addition, the dual voltage determination adopts a dual threshold comparison method, which improves the ability of the programming system to judge the stability of the working environment; the continuous determination based on the special timing of the preset waveform signal requires multiple correct identifications of the preset waveform signal, which improves the anti-interference capability; the dual password determination based on address and data can further restrict the access scope of programming permissions, ensuring that only authorized users can perform programming operations on eFuse.
[0101] Based on the eFuse programming method provided in the above embodiments, in one embodiment, the eFuse programming method may further include: starting a timer after detecting that the chip is powered on; and closing the programming permission for programming the eFuse if the timer exceeds a preset time threshold and no security verification end information is detected.
[0102] The preset time threshold can be designed to be 220 milliseconds, 260 milliseconds, etc., and can be determined based on the design of the security verification process, either through experience or experimentation. For example, if the designed security verification process includes dual voltage determination, continuous determination based on a special timing sequence of a preset waveform signal, interface communication protocol determination, and dual password determination based on address and data, and completing this security verification process requires a maximum of 220 milliseconds, then the preset time threshold can be designed to be 220 milliseconds. This preset time threshold represents the maximum allowable time from chip power-on to completion of security detection and commencement of eFuse programming. The security verification mechanism before eFuse programming needs to be completed within this preset time threshold range.
[0103] After the chip is powered on, it starts timing. If the timing time exceeds the preset time threshold and no security verification completion information is detected, it means that the security verification process has not been completed within the preset time threshold. At this time, eFuse programming is not allowed, and the chip can automatically close the programming permission for eFuse and no longer respond to any operation requests for eFuse.
[0104] In this way, by setting a security verification time window between chip power-on and start programming, the security verification process is limited to be completed within this security verification time window, which effectively prevents the security risks caused by prolonged exposure of the programming interface and further enhances the controllability and security of eFuse programming.
[0105] The eFuse programming method provided in the above embodiments of this application effectively prevents the problem of incorrect programming of eFuse caused by external interference or abnormal power supply, avoids the risk of illegal tampering or accidental modification of the contents in eFuse, thereby ensuring the stability and security of chip operation, and can be applied to integrated circuit application scenarios with high security requirements.
[0106] This application also provides an electronic fuse programming device. Figure 6 A schematic diagram of the electronic fuse programming device provided in an embodiment of this application is shown. (Refer to...) Figure 6 As shown, the electronic fuse programming device may include: The acquisition module 610 is used to acquire the first voltage of the power supply terminal of the chip and the second voltage of the internal power supply terminal of the chip; The programming module 620 is used to start the programming device to program the electronic fuse eFuse of the chip when it is determined that the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage.
[0107] In one embodiment, the programming module 620 may include: The first receiving unit is configured to receive a preset waveform signal sent by the programming device to the target pin of the communication interface of the chip when it is determined that the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage. The first determining unit is used to determine whether the preset waveform signal has been correctly identified for a preset number of consecutive times; wherein, the preset number of times is at least two times. The first startup unit is used to start the programming program of the programming device to program the chip's eFuse after the preset waveform signal has been correctly identified a preset number of times.
[0108] In one embodiment, the startup unit may include: The receiving subunit is used to receive target data sent by the programming device through the chip's communication interface after a predetermined number of consecutive times of correctly identifying the preset waveform signal. The format detection subunit is used to detect the data format of the target data; The startup subunit is used to start the programming program of the programming device to program the chip's eFuse when the data format of the target data is determined to conform to the data format specified by the communication protocol corresponding to the communication interface.
[0109] In one embodiment, the startup subunit may be specifically used to: determine whether the target data is written to the target address and matches the target address when the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface; and start the programming program of the programming device to program the eFuse of the chip when it is determined that the target data has been written to the target address and matches the target address.
[0110] In one embodiment, the programming module 620 may include: The second receiving unit is used to receive target data sent by the programming device through the communication interface between the chip and the programming device when it is determined that the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage. The format detection unit is used to detect the data format of the target data; The second startup unit is used to start the programming program of the programming device to program the chip's eFuse when the data format of the target data is determined to conform to the data format specified by the communication protocol corresponding to the communication interface.
[0111] In one embodiment, the programming module 620 may include: The third receiving unit is used to receive determination data written by the programming device to the target address of the chip when it is determined that the first voltage is greater than the preset first threshold voltage and the second voltage is less than the preset second threshold voltage. The third startup unit is used to start the programming program of the programming device to program the chip's eFuse when it is determined that the judgment data matches the target address.
[0112] In one embodiment, the electronic fuse programming device may further include: The timing module is used to start timing after detecting that the chip is powered on; The shutdown module is used to disable the programming permission for eFuse when the timing time exceeds a preset time threshold and no security verification end information is detected.
[0113] The electronic fuse programming device provided in this application embodiment has the same implementation principle and beneficial effects as the electronic fuse programming method provided in the above embodiments, and will not be repeated here.
[0114] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any inventive effort.
[0115] This application also provides a chip that may include an electronic fuse and a processor. The processor can be used to perform the steps of the eFuse programming method described in any of the above method embodiments, which will not be repeated here.
[0116] This application also provides an electronic fuse programming system. Figure 7 A schematic diagram of the electronic fuse programming system provided in this application embodiment is shown. (Refer to...) Figure 7 As shown, the electronic fuse programming system may include a programming device 710 and a chip 720, and the programming device 710 is communicatively connected to the chip 720.
[0117] The programming device 710 can communicate with the chip 720 via a communication interface and can exchange data with the chip 720 via the communication interface. The chip 720 is the chip provided in the above embodiment.
[0118] For example, the burning device 710 can be a host computer device, such as a computer, laptop, or tablet.
[0119] Based on the eFuse programming method described in any of the above embodiments, this application also provides a computer-readable storage medium. For example, a non-transitory computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a CD-ROM, magnetic tape, a floppy disk, and an optical data storage device, etc. This storage medium stores computer instructions for executing the eFuse programming method described in any of the above embodiments, which will not be elaborated further here.
[0120] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware, or by a program instructing related hardware to implement them. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0121] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This application is intended to cover any variations, uses, or adaptations thereof that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the claims.
Claims
1. A method for programming an electronic fuse, characterized in that, include: Obtain the first voltage at the power supply terminal of the chip and the second voltage at the internal power supply terminal of the chip; When it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, the programming device is started to program the electronic fuse eFuse of the chip.
2. The electronic fuse programming method according to claim 1, characterized in that, The programming procedure for starting the programming device to program the electronic fuse (eFuse) of the chip when it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage includes: When it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, a preset waveform signal is received from the programming device to the target pin of the communication interface of the chip. Determine whether the preset waveform signal has been correctly identified a preset number of times consecutively; wherein, the preset number of times is at least two times. If the preset waveform signal is correctly identified a preset number of times consecutively, the programming device is started to program the eFuse of the chip.
3. The electronic fuse programming method according to claim 2, characterized in that, The programming procedure, which involves starting the programming device to program the eFuse of the chip after correctly identifying the preset waveform signal a predetermined number of times consecutively, includes: If the preset waveform signal is correctly identified a preset number of times consecutively, the target data sent by the programming device through the chip's communication interface is received. The data format of the target data is detected; If the data format of the target data is determined to conform to the data format specified by the communication protocol corresponding to the communication interface, the programming device is started to program the eFuse of the chip.
4. The electronic fuse programming method according to claim 3, characterized in that, The step of starting the programming program to program the eFuse of the chip by the programming device when it is determined that the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface includes: If it is determined that the data format of the target data conforms to the data format specified by the communication protocol corresponding to the communication interface, it is determined whether the target data is written to the target address and matches the target address; If it is determined that the target data has been written to the target address and matches the target address, the programming device is started to program the eFuse of the chip.
5. The electronic fuse programming method according to claim 1, characterized in that, The programming procedure for starting the programming device to program the electronic fuse (eFuse) of the chip when it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage includes: If it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, the target data sent by the programming device through the communication interface between the chip and the programming device is received. The data format of the target data is detected; If the data format of the target data is determined to conform to the data format specified by the communication protocol corresponding to the communication interface, the programming device is started to program the eFuse of the chip.
6. The electronic fuse programming method according to claim 1, characterized in that, The step of starting the programming device to program the eFuse of the chip when it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage includes: If it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage, the determination data written by the programming device to the target address of the chip is received. If the determination data matches the target address, the programming device is started to program the eFuse of the chip.
7. The method for programming an electronic fuse according to any one of claims 1 to 6, characterized in that, Also includes: Timing begins after the chip is detected to be powered on; If the timeout exceeds a preset time threshold and no security verification completion information is detected, the programming permission for programming the eFuse is disabled.
8. An electronic fuse programming device, characterized in that, include: The acquisition module is used to acquire the first voltage of the power supply terminal of the chip and the second voltage of the internal power supply terminal of the chip; The programming module is used to start the programming device to program the electronic fuse eFuse of the chip when it is determined that the first voltage is greater than a preset first threshold voltage and the second voltage is less than a preset second threshold voltage.
9. A chip, characterized in that, It includes an electronic fuse and a processor, the processor being used to perform the steps of the electronic fuse programming method as described in any one of claims 1 to 7.
10. An electronic fuse programming system, characterized in that, It includes a programming device and a chip as described in claim 9, wherein the programming device is communicatively connected to the chip.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the electronic fuse programming method as described in any one of claims 1 to 7.