CN114816537A - Chip, electronic equipment and chip starting method - Google Patents

Chip, electronic equipment and chip starting method Download PDF

Info

Publication number
CN114816537A
CN114816537A CN202110064057.8A CN202110064057A CN114816537A CN 114816537 A CN114816537 A CN 114816537A CN 202110064057 A CN202110064057 A CN 202110064057A CN 114816537 A CN114816537 A CN 114816537A
Authority
CN
China
Prior art keywords
configuration information
chip
repair
processing unit
central processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110064057.8A
Other languages
Chinese (zh)
Inventor
王涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202110064057.8A priority Critical patent/CN114816537A/en
Publication of CN114816537A publication Critical patent/CN114816537A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The application provides a chip, an electronic device and a chip starting method, wherein the chip comprises a read-only memory, an electrically programmable fuse and a central processing unit. The read-only memory stores the starting code of the chip, including the fault configuration information which causes the chip to be incapable of being started normally. The electrically programmable fuses store repair configuration information corresponding to the fault configuration information. By changing the execution logic of the central processing unit to the boot code, the central processing unit can read the boot code from the read-only memory and execute the boot code; when the initialization of the electric programmable fuse is completed according to the starting code, reading the repair configuration information from the electric programmable fuse for configuration operation; and skipping over the failure configuration information when the failure configuration information is executed. Therefore, when the chip is started, the chip can be successfully started by carrying out configuration operation according to the repair configuration information in the electrically programmable fuse, so that the chip does not need to be scrapped, and the aim of reducing the production cost of the chip is fulfilled.

Description

Chip, electronic equipment and chip starting method
Technical Field
The present disclosure relates to the field of chip technologies, and in particular, to a chip, an electronic device, and a chip starting method.
Background
At present, most of chips (such as special processing chips, general processing chips, etc.) are started from a read-only memory, and the starting operation of the chips is realized by executing a starting code in the read-only memory. Therefore, once the written boot code in the rom has an error, such as a configuration information error therein, the chip cannot boot. The boot code in the rom cannot be modified, and only the chip that cannot be booted is discarded, thereby increasing the production cost of the chip.
Disclosure of Invention
The embodiment of the application provides a chip, electronic equipment and a chip starting method, which can reduce the production cost of the chip.
The application discloses chip includes:
the read-only memory is used for storing the starting code of the chip;
an electrically programmable fuse (Efuse) for storing repair configuration information corresponding to the fault configuration information in the boot code;
the central processing unit is used for reading the starting code from the read-only memory and executing the starting code; when the initialization of the electric programmable fuse is completed according to the starting code, reading the repair configuration information from the electric programmable fuse for configuration operation; and skipping the failure configuration information when the failure configuration information is executed.
The application also discloses an electronic device comprising the chip provided by the application.
The application also discloses a chip starting method, which is applied to a chip, wherein the chip comprises a read-only memory and a central processing unit, the read-only memory stores a starting code of the chip, and the chip starting method comprises the following steps:
the central processing unit reads the starting code from the read-only memory and executes the starting code;
when the initialization of the electric programmable fuse is completed according to the starting code, the central processing unit reads the repair configuration information from the electric programmable fuse to perform configuration operation;
and when the central processing unit executes the fault configuration information, skipping the fault configuration information.
The method comprises the steps that execution logic of a central processing unit on a starting code is changed, so that the central processing unit can read the starting code from a read-only memory and execute the starting code; when the initialization of the electric programmable fuse is completed according to the starting code, reading the repair configuration information from the electric programmable fuse for configuration operation; and skipping over the failure configuration information when the failure configuration information is executed. Therefore, when the chip is started, the chip can be successfully started by carrying out configuration operation according to the repair configuration information in the electrically programmable fuse, so that the chip does not need to be scrapped, and the aim of reducing the production cost of the chip is fulfilled.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings used in the description of the embodiments will be briefly introduced below.
Fig. 1 is a first structural schematic diagram of a chip provided in an embodiment of the present application.
Fig. 2 is a diagram illustrating a chip start-up process according to an embodiment of the present application.
Fig. 3 is a schematic diagram of a second structure of a chip according to an embodiment of the present application.
Fig. 4 is a schematic flowchart of a chip starting method according to an embodiment of the present application.
Detailed Description
Referring to fig. 1, fig. 1 is a schematic structural diagram of a chip 100 according to an embodiment of the present disclosure. The chip 100 may include a read only memory 110, an electrically programmable fuse 120, and a central processing unit 130. Wherein the content of the first and second substances,
the read only memory 110 is configured to store a boot code of the chip 100;
the electrically programmable fuses 120 are configured to store repair configuration information corresponding to the fault configuration information in the boot code;
the central processing unit 130 is configured to read the boot code from the read only memory 110 and execute the boot code; after the initialization of the electrically programmable fuse 120 is completed according to the boot code, reading the repair configuration information from the electrically programmable fuse 120 for configuration operation; and skipping over the fault configuration information in the execution to the boot code.
It should be noted that the chip 100 provided in the embodiment of the present application may be a dedicated processing chip, such as a dedicated image processing chip, an audio processing chip, or the like, or may be a general-purpose processing chip, such as a central processing unit chip, or the like. In the embodiment of the present application, the chip 100 includes, in addition to the read only memory 110, the electrically programmable fuse 120 and the central processing unit 130 shown in fig. 1, a random access memory not shown in fig. 1 and peripheral devices, where the peripheral devices include, but are not limited to, a universal serial bus, an embedded multimedia controller, and a universal asynchronous receiver transmitter.
As the name implies, the ROM 110 can only read, the ROM 110 has only one write opportunity after production, data cannot be changed once written, and the ROM 110 has another characteristic that the data in the memory is not lost after power failure. The start code is the first code executed after the chip 100 is powered on or reset, and is used to perform necessary initialization on the hardware devices and software environment inside the chip 100, including but not limited to:
(1) establishing an interrupt vector table;
(2) initializing a memory;
(3) initializing a stack register;
(4) initializing I/O and other necessary devices;
(5) changing the state and description of the central processing unit.
It can be understood that, when the chip 100 is started, the internal hardware devices and the software environment need to be configured correctly to start up normally. That is, the startup stored in the rom 110 will result in the chip 100 being unable to start up once an error occurs. The common error is a failure of related configuration information in the boot code, such as missing configuration information of some registers, or a mismatch between configuration information of registers and hardware devices (i.e., a configuration information error), etc. Once such a problem occurs, it can only be solved by reflowing the slices.
Therefore, in the embodiment of the present application, after the chip 100 is cut back, if it is found that the chip 100 cannot be normally started and it is determined that the chip 100 is caused by some configuration information faults, the configuration information that causes the chip 100 to be normally started is recorded as fault configuration information, and the repair configuration information corresponding to the fault configuration information is determined according to experience. As can be seen from the above, although the rom 110 is write-once during the production process of the chip 100, the contents inside the rom cannot be changed, but the data is not yet written into the electrically programmable fuses 120 inside the chip 100, so in the present application, the electrically programmable fuses 120 inside the chip 100 are multiplexed, and the repair configuration information corresponding to the failure configuration information in the boot code is written into the electrically programmable fuses 120.
It should be noted that, in addition to the writing of the repair configuration information described above into the electrically programmable fuse 120, data originally scheduled to be written into the electrically programmable fuse 120, such as voltage information, version number, production date, and the like of the chip, is also written at the same time.
In addition, in order to enable the normal start-up of the chip 100, the start-up logic of the chip 100 is also modified.
After the chip 100 is powered on, the central processing unit 130 reads the boot code stored in the rom 110 into the ram, and executes the boot code in the ram. Upon completion of initialization of the electrically programmable fuses 120 according to the boot code, repair configuration information is read from the electrically programmable fuses 120 for configuration operations. Further, upon execution of the failure configuration information into the boot code, the failure configuration information is skipped.
From the above, the chip provided by the present application includes a read only memory, an electrically programmable fuse, and a central processing unit. The read-only memory stores the starting code of the chip, including the fault configuration information which causes the chip to be incapable of being started normally. The electrically programmable fuses store repair configuration information corresponding to the fault configuration information in the boot code. And the execution logic of the central processing unit to the boot code is changed, so that the central processing unit can read the boot code from the read-only memory and execute the boot code; when the initialization of the electric programmable fuse is completed according to the starting code, reading the repair configuration information from the electric programmable fuse for configuration operation; and skipping over the failure configuration information when the failure configuration information is executed. Therefore, the chip can be successfully started by multiplexing the electrically programmable fuse and carrying out configuration operation according to the repair configuration information in the electrically programmable fuse when the chip is started, so that the chip does not need to be scrapped, and the aim of reducing the production cost of the chip is fulfilled.
Optionally, in an embodiment, the failure configuration information includes register configuration information of missing configuration and/or register configuration information of wrong configuration.
Optionally, in an embodiment, the central processing unit 130 is further configured to determine failure configuration information in the boot code when the boot fails due to execution of the boot code; and receives the input repair configuration information corresponding to the corresponding fault configuration information and writes the repair configuration information into the electrically programmable fuses 120.
In the embodiment of the present application, the read only memory 110 stores therein a failure detection code configured to perform failure detection on the chip 100 to determine a failure cause causing the startup failure of the chip 100. It should be noted that, in the embodiment of the present application, the writing of the fault detection code is not particularly limited, and may be written by a person having ordinary skill in the art according to actual needs.
Based on the foregoing fault detection code stored in the rom 110, when the boot code is executed and the boot fails, the cpu 130 reads the foregoing fault detection code into the ram, and executes the foregoing fault detection code in the ram, thereby determining fault configuration information in the boot code that causes the boot failure, and outputting the fault configuration information.
Accordingly, a technician can determine the repair configuration information corresponding to the failure configuration information according to experience, and write the repair configuration information and other data originally planned to be written into the electrically programmable fuses 120 in the chip 100 through a related burning device.
On the other hand, the central processing unit 130 writes the repair configuration information and other write data into the electrically programmable fuses 120 together when receiving the input corresponding failure configuration information and other write data.
Optionally, in an embodiment, the central processing unit 130 is configured to write the repair configuration information into the preset address of the electrically programmable fuse 120.
In the embodiment of the present application, the address written in the electrically programmable fuse 120 for repairing the configuration information is not random, but is a predetermined fixed address, which is recorded as the preset address. The configuration of the preset address is not particularly limited, and can be configured by those skilled in the art according to actual needs.
Accordingly, when writing the repair configuration information into the electrically programmable fuse 120, the central processing unit 120 specifically writes the repair configuration information into the preset address of the electrically programmable fuse 120.
It should be noted that the above preset address is only used for writing the repair configuration information, that is, as long as the preset address writes data, the written data is the repair configuration information.
During the startup process of the chip 100, when the initialization of the electrically programmable fuse 120 is completed according to the startup code, the central processing unit 130 directly reads the repair configuration information from the preset address of the electrically programmable fuse 120 to perform the configuration operation.
Optionally, in an embodiment, the central processing unit 130 is further configured to receive compressed and encoded repair configuration information corresponding to the input fault configuration information, and write the compressed and encoded repair configuration information into the electrically programmable fuse 120; when the initialization of the electric programmable fuse 120 is completed according to the starting code, reading the compressed and coded repair configuration information from the electric programmable fuse 120, and performing compression decoding on the compressed and coded repair configuration information; and carrying out configuration operation according to the compressed and decoded repair configuration information.
It should be noted that the storage space of the electrically programmable fuse 120 is very limited, and in order to effectively utilize the storage space of the electrically programmable fuse 120, in the embodiment of the present application, the repair configuration information is compressed and encoded and then written into the electrically programmable fuse 120. It can be understood that the repair configuration information is used to replace the failure configuration information in the boot code for configuration, and accordingly, the repair configuration information cannot be mistaken, and the repair configuration information is not damaged as a constraint, and a lossless compression encoding mode can be selected by a person skilled in the art according to actual needs to perform compression encoding on the repair configuration information.
Correspondingly, in this embodiment of the present application, after the configured lossless compression coding manner is adopted to perform compression coding on the repair configuration information, the compression coded repair configuration information is written into the electrically programmable fuse 120.
The central processing unit 130 receives the compressed and encoded repair configuration information corresponding to the input failure configuration information, and writes the compressed and encoded repair configuration information into the electrically programmable fuses 120. Accordingly, in the starting process of the chip 100, when the initialization of the electrical programmable fuse 120 is completed according to the starting code, the central processing unit 130 reads the compressed and encoded repair configuration information from the electrical programmable fuse 120, and performs compression decoding on the compressed and encoded repair configuration information, thereby performing configuration operation according to the compressed and decoded repair configuration information.
Optionally, in an embodiment, the central processing unit 130 is configured to: reading the repair configuration information from the electrically programmable fuse 120 and performing security verification on the repair configuration information; and when the repair configuration information passes the security verification, performing configuration operation according to the repair configuration information.
In this embodiment, when the initialization of the electrically programmable fuse 120 is completed according to the boot code, the central processing unit 130 reads the repair configuration information from the electrically programmable fuse 120, and performs security check on the repair configuration information according to the pre-configured security policy. And if the repair configuration information passes the safety check, performing configuration operation according to the configuration information, and otherwise, ending the starting.
Optionally, in an embodiment, the central processing unit 130 is configured to calculate a hash value of the repair configuration information by using a preset hash algorithm; and comparing the hash value with a preset hash value, and if the hash value is consistent with the preset hash value, judging that the repair configuration information passes the security check.
The embodiment of the application provides an optional security policy.
The selection of the preset hashing algorithm is not particularly limited in the embodiments of the present application, and can be selected by a person of ordinary skill in the art according to actual needs, including but not limited to SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, and the like.
In the embodiment of the present application, the execution code of the preset hash algorithm is also written into the read only memory 110 in advance. Correspondingly, when the read repair configuration information is subjected to security verification, the central processing unit 130 reads the execution code corresponding to the preset hash algorithm stored in the read only memory 110 into the random access memory for execution, and obtains the hash value of the repair configuration information through calculation of the preset hash algorithm.
It should be noted that, in the embodiment of the present application, a preset hash algorithm is further used to perform a hash operation on the original repair configuration information in advance, a corresponding hash value is obtained through calculation, the hash value is used as a preset hash value for performing security verification on the repair configuration information, and the preset hash value is written into the electrically programmable fuse 120 along with the repair configuration information.
Correspondingly, after the central processing unit 130 calculates the hash value of the read repair configuration information by using the preset hash algorithm, the calculated hash value is further compared with the preset hash value corresponding to the original repair configuration information, which is preset and written in the electrically programmable fuse 120, and if the two hash values are consistent, it indicates that the read repair configuration information is consistent with the original repair configuration information, and at this time, it is determined that the read repair configuration information passes the security check.
Optionally, in an embodiment, the central processing unit 130 is further configured to suspend execution of the boot code when initialization of the electrically programmable fuse 120 is completed according to the boot code; and continuing to execute the boot code after reading the repair configuration information from the electrically programmable fuses 120 for the configuration operation.
For example, in the embodiment of the present application, the repair configuration information is stored in a configuration information table according to an addr-value format, where for a piece of repair configuration information, "adrr" indicates an address of a register that needs to be configured by the repair configuration information, and "value" indicates a value of the register that needs to be configured by the repair configuration information.
Referring to fig. 2, after the chip 100 is powered on, the central processing unit 130 reads the boot code stored in the rom 110 into the ram, executes the boot code in the ram, and sequentially completes initialization of itself and initialization of the electrically programmable fuse 120 according to the boot code. At this time, the central processing unit 130 suspends the execution of the boot code and identifies whether the configuration information table is empty, that is, whether the repair configuration information is written in the configuration information table. If the configuration information table is not empty, that is, the repair configuration information is written, then the central processing unit 130 sequentially performs configuration operations according to the repair configuration information in the configuration information table. After each piece of repair configuration information is configured, the central processing unit 130 identifies whether the repair configuration information configured at this time is the last piece of repair configuration information in the configuration information table, if not, the repair configuration information in the configuration information table is continuously configured in sequence, and if yes, the start code is continuously executed.
As described above, in the subsequent execution of the boot code, if the fault configuration information is executed, the central processing unit 130 directly skips the fault configuration information and continues to execute other codes in the boot code.
Optionally, referring to fig. 3, in an embodiment, the chip 100 further includes:
an image signal processing unit 140 configured to perform a first image optimization process on the moving image data from the camera;
and a neural network processing unit 150 configured to perform a second image optimization process on the moving image data after the first image optimization process performed by the image signal processing unit 140.
In the embodiment of the present application, the chip 100 is a dedicated chip for image processing, and further includes an image signal processing unit 140 and a neural network processing unit 150.
The image signal processing unit 140 is configured to perform a first image optimization process on the dynamic image data from the camera, including but not limited to optimization processing manners such as dead pixel correction processing, time domain noise reduction processing, 3D noise reduction processing, linearization processing, black level correction processing, and the like, and certainly, may also include optimization processing manners not listed in this application. The moving image data may include image data of a recorded video, data of a preview image, and the like.
Further, the neural network processing unit 150 is also configured to perform the second image optimization processing on the moving image data after the first image optimization processing performed by the image signal processing unit 140. The neural network processing unit 150 may process the image data in such a manner that the data blocks are read in a line-by-line manner and processed in a line-by-line manner. Such as neural network processing unit 150, reads the data block in a multi-row fashion and processes the data block in a multi-row fashion. It is understood that a frame of image data may have multiple rows of data blocks, i.e., the neural network processing unit 150 may process a portion of a frame of image data, such as n rows of data blocks, where n is a positive integer, such as 2, 4, 5, etc. When the neural network processing unit 150 does not completely process the frame of image data, the neural network processing unit 150 may be configured with a buffer to store data of the multiple data blocks processed by the neural network processing unit 150 during the process of processing the frame of image data.
It should be noted that, the neural network processing unit 150 may complete the processing according to a preset time in the data stream. The preset time is, for example, 30fps to 33ms (milliseconds). Or the preset time for the neural network processing unit 150 to process one frame of image is 33ms, so that the neural network processing unit 150 can realize real-time data transmission on the basis of rapidly processing image data.
The second image optimization processing performed by the neural network processing unit 150 includes, but is not limited to, an optimization processing manner based on an algorithm such as a night scene algorithm, an HDR algorithm, a blurring algorithm, a noise reduction algorithm, and a super-resolution algorithm.
An embodiment of the present application further provides an electronic device, which includes the chip provided in the present application.
The present application further provides a chip starting method, which is applied to the chip 100 shown in fig. 1, where the chip includes a read only memory 110, an electrical programmable fuse 120 and a central processing unit 130, the read only memory 110 stores a starting code of the chip, and the electrical programmable fuse 120 stores repair configuration information corresponding to fault configuration information in the starting code, referring to fig. 4, the chip starting method includes:
at 210, the central processing unit 130 reads the boot code from the read only memory 110 and executes the boot code;
at 220, upon completing initialization of the electrically programmable fuse 120 according to the boot code, the central processing unit 130 reads the repair configuration information from the electrically programmable fuse 120 for configuration operations;
in 230, the central processing unit 130 skips the failure configuration information when executing to the failure configuration information.
The chip 100 may be a dedicated processing chip, such as a dedicated image processing chip, an audio processing chip, or the like, or may be a general-purpose processing chip, such as a central processing unit chip or the like. In the embodiment of the present application, the chip 100 includes, in addition to the read only memory 110, the electrically programmable fuse 120 and the central processing unit 130 shown in fig. 1, a random access memory not shown in fig. 1 and peripheral devices, where the peripheral devices include, but are not limited to, a universal serial bus, an embedded multimedia controller, and a universal asynchronous receiver transmitter.
As the name implies, the ROM 110 can only read, the ROM 110 has only one write opportunity after production, data cannot be changed once written, and the ROM 110 has another characteristic that the data in the memory is not lost after power failure. The start code is the first code executed after the chip 100 is powered on or reset, and is used to perform necessary initialization on the hardware devices and software environment inside the chip 100, including but not limited to:
(1) establishing an interrupt vector table;
(2) initializing a memory;
(3) initializing a stack register;
(4) initializing I/O and other necessary devices;
(5) changing the state and description of the central processing unit.
It can be understood that, when the chip 100 is started, the internal hardware devices and the software environment need to be configured correctly to start up normally. That is, the startup stored in the rom 110 will result in the chip 100 being unable to start up once an error occurs. The common error is a failure of related configuration information in the boot code, such as missing configuration information of some registers, or a mismatch between configuration information of registers and hardware devices (i.e., a configuration information error), etc. Once such a problem occurs, it can only be solved by reflowing the slices.
Therefore, in the embodiment of the present application, after the chip 100 is subjected to the rewinding, if it is found that the chip 100 cannot be normally started and it is determined that the chip 100 is caused by some configuration information faults, the configuration information that causes the chip 100 to be not normally started is recorded as fault configuration information, and the repair configuration information corresponding to the fault configuration information is determined according to experience. As can be seen from the above, although the rom 110 is write-once during the production process of the chip 100, the contents inside the rom cannot be changed, but the data is not yet written into the electrically programmable fuses 120 inside the chip 100, so in the present application, the electrically programmable fuses 120 inside the chip 100 are multiplexed, and the repair configuration information corresponding to the failure configuration information in the boot code is written into the electrically programmable fuses 120.
It should be noted that, in addition to writing the foregoing repair configuration information into the electrically programmable fuse 120, data originally scheduled to be written into the electrically programmable fuse 120, such as voltage information, version number, production date, and the like of the chip, is also written at the same time.
In addition, in order to enable the normal start-up of the chip 100, the start-up logic of the chip 100 is also modified.
After the chip 100 is powered on, the central processing unit 130 reads the boot code stored in the rom 110 into the ram, and executes the boot code in the ram. Upon completion of initialization of the electrically programmable fuses 120 according to the boot code, repair configuration information is read from the electrically programmable fuses 120 for configuration operations. Further, upon execution of the failure configuration information into the boot code, the failure configuration information is skipped.
Optionally, in an embodiment, the failure configuration information includes register configuration information of missing configuration and/or register configuration information of wrong configuration.
Optionally, in an embodiment, the chip starting method provided by the present application further includes:
when the central processing unit 130 executes the starting code and fails to start, determining fault configuration information in the starting code;
the central processing unit 130 receives the repair configuration information corresponding to the input corresponding fault configuration information and writes the repair configuration information into the electrically programmable fuses 120.
In the embodiment of the present application, the read only memory 110 stores therein a failure detection code configured to perform failure detection on the chip 100 to determine a failure cause causing the startup failure of the chip 100. It should be noted that, in the embodiment of the present application, the writing of the fault detection code is not particularly limited, and may be written by a person having ordinary skill in the art according to actual needs.
Based on the foregoing fault detection code stored in the rom 110, when the boot code is executed and the boot fails, the cpu 130 reads the foregoing fault detection code into the ram, and executes the foregoing fault detection code in the ram, thereby determining fault configuration information in the boot code that causes the boot failure, and outputting the fault configuration information.
Accordingly, a technician can determine the repair configuration information corresponding to the failure configuration information according to experience, and write the repair configuration information and other data originally planned to be written into the electrically programmable fuses 120 in the chip 100 through a related burning device.
Optionally, in an embodiment, the writing of the repair configuration information into the electrically programmable fuse 120 by the central processing unit 130 includes:
the repair configuration information is written into the preset address of the electrically programmable fuse 120.
In the embodiment of the present application, the address written in the electrically programmable fuse 120 for repairing the configuration information is not random, but is a predetermined fixed address, which is recorded as the preset address. The configuration of the preset address is not particularly limited, and can be configured by those skilled in the art according to actual needs.
Accordingly, when writing the repair configuration information into the electrically programmable fuse 120, the central processing unit 120 specifically writes the repair configuration information into the preset address of the electrically programmable fuse 120.
It should be noted that the above preset address is only used for writing the repair configuration information, that is, as long as the preset address writes data, the written data is the repair configuration information.
During the startup process of the chip 100, when the initialization of the electrically programmable fuse 120 is completed according to the startup code, the central processing unit 130 directly reads the repair configuration information from the preset address of the electrically programmable fuse 120 to perform the configuration operation.
Optionally, in an embodiment, the receiving, by the central processing unit 130, the input repair configuration information corresponding to the corresponding failure configuration information, and writing the repair configuration information into the electrically programmable fuse 120 includes:
the central processing unit 130 receives the input compressed and encoded repair configuration information corresponding to the fault configuration information, and writes the compressed and encoded repair configuration information into the electrically programmable fuse 120;
the central processing unit 130 reads the repair configuration information from the electrically programmable fuse 120 for configuration operations, including:
the central processing unit 130 reads the compressed and encoded repair configuration information from the electrically programmable fuse 120, and performs compression decoding on the compressed and encoded repair configuration information;
the central processing unit 130 performs configuration operation according to the compression-decoded repair configuration information.
It should be noted that the storage space of the electrically programmable fuse 120 is very limited, and in order to effectively utilize the storage space of the electrically programmable fuse 120, in the embodiment of the present application, the repair configuration information is compressed and encoded, and then written into the electrically programmable fuse 120. It can be understood that the repair configuration information is used to replace the failure configuration information in the boot code for configuration, and accordingly, the repair configuration information cannot be mistaken, and the repair configuration information is not damaged as a constraint, and a lossless compression encoding mode can be selected by a person skilled in the art according to actual needs to perform compression encoding on the repair configuration information.
Correspondingly, in this embodiment of the present application, after the configured lossless compression coding manner is adopted to perform compression coding on the repair configuration information, the compression coded repair configuration information is written into the electrically programmable fuse 120.
The central processing unit 130 receives the compressed and encoded repair configuration information corresponding to the input failure configuration information, and writes the compressed and encoded repair configuration information into the electrically programmable fuses 120. Accordingly, in the starting process of the chip 100, when the initialization of the electrically programmable fuse 120 is completed according to the starting code, the central processing unit 130 reads the repair configuration information after the compression coding from the electrically programmable fuse 120, and performs the compression decoding on the repair configuration information after the compression coding, so as to perform the configuration operation according to the repair configuration information after the compression decoding.
Optionally, in an embodiment, the central processing unit 130 reads the repair configuration information from the electrically programmable fuse 120 to perform a configuration operation, including:
the central processing unit 130 reads the repair configuration information from the electrically programmable fuse 120 and performs security verification on the repair configuration information;
when the repair configuration information passes the security check, the central processing unit 130 performs a configuration operation according to the repair configuration information.
In this embodiment, when the initialization of the electrically programmable fuse 120 is completed according to the boot code, the central processing unit 130 reads the repair configuration information from the electrically programmable fuse 120, and performs security check on the repair configuration information according to the pre-configured security policy. And if the repair configuration information passes the safety check, performing configuration operation according to the configuration information, and otherwise, ending the starting.
Optionally, in an embodiment, the performing, by the central processing unit 130, security check on the repair configuration information includes:
the central processing unit 130 calculates a hash value of the repair configuration information through a preset hash algorithm;
the central processing unit 130 compares the hash value with a preset hash value, and if the hash value is consistent with the preset hash value, it is determined that the repair configuration information passes the security check.
The embodiment of the application provides an optional security policy.
The selection of the preset hashing algorithm is not particularly limited in the embodiments of the present application, and can be selected by a person of ordinary skill in the art according to actual needs, including but not limited to SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, and the like.
In the embodiment of the present application, the execution code of the preset hash algorithm is also written into the read only memory 110 in advance. Correspondingly, when the read repair configuration information is subjected to security verification, the central processing unit 130 reads the execution code corresponding to the preset hash algorithm stored in the read only memory 110 into the random access memory for execution, and obtains the hash value of the repair configuration information through calculation of the preset hash algorithm.
It should be noted that, in the embodiment of the present application, a preset hash algorithm is further used to perform a hash operation on the original repair configuration information in advance, a corresponding hash value is obtained through calculation, the hash value is used as a preset hash value for performing security verification on the repair configuration information, and the preset hash value is written into the electrically programmable fuse 120 along with the repair configuration information.
Correspondingly, after the central processing unit 130 calculates the hash value of the read repair configuration information by using the preset hash algorithm, the calculated hash value is further compared with the preset hash value corresponding to the original repair configuration information, which is preset and written in the electrically programmable fuse 120, and if the two hash values are consistent, it indicates that the read repair configuration information is consistent with the original repair configuration information, and at this time, it is determined that the read repair configuration information passes the security check.
Optionally, in an embodiment, the chip starting method provided by the present application further includes:
upon completion of initialization of the electrically programmable fuse 120 according to the start code, the central processing unit 130 suspends execution of the start code; and
after reading the repair configuration information from the electrically programmable fuses 120 for the configuration operation, the central processing unit 130 continues to execute the boot code.
For example, in the embodiment of the present application, the repair configuration information is stored in a configuration information table according to an addr-value format, where for a piece of repair configuration information, "adrr" indicates an address of a register that needs to be configured by the repair configuration information, and "value" indicates a value of the register that needs to be configured by the repair configuration information.
Referring to fig. 2, after the chip 100 is powered on, the central processing unit 130 reads the boot code stored in the rom 110 into the ram, executes the boot code in the ram, and sequentially completes initialization of itself and initialization of the electrically programmable fuse 120 according to the boot code. At this time, the central processing unit 130 suspends the execution of the boot code and identifies whether the configuration information table is empty, that is, whether the repair configuration information is written in the configuration information table. If the configuration information table is not empty, that is, the repair configuration information is written, then the central processing unit 130 sequentially performs configuration operations according to the repair configuration information in the configuration information table. After each piece of repair configuration information is configured, the central processing unit 130 identifies whether the repair configuration information configured at this time is the last piece of repair configuration information in the configuration information table, if not, the repair configuration information in the configuration information table is continuously configured in sequence, and if yes, the start code is continuously executed.
As described above, in the subsequent execution of the boot code, if the fault configuration information is executed, the central processing unit 130 directly skips the fault configuration information and continues to execute other codes in the boot code.
The chip, the electronic device, and the chip starting method provided in the embodiments of the present application are described in detail above. The principles and implementations of the present application are described herein using specific examples, which are presented only to aid in understanding the present application. Meanwhile, for those skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (10)

1. A chip, wherein the chip comprises:
the read-only memory is used for storing the starting code of the chip;
the electrically programmable fuse is used for storing repair configuration information corresponding to the fault configuration information in the starting code;
the central processing unit is used for reading the starting code from the read-only memory and executing the starting code; when the initialization of the electric programmable fuse is completed according to the starting code, reading the repair configuration information from the electric programmable fuse for configuration operation; and skipping the failure configuration information when the failure configuration information is executed.
2. The chip of claim 1, wherein the central processing unit is further to:
when the starting code is executed and the starting fails, determining the fault configuration information in the starting code;
and receiving input repair configuration information corresponding to the fault configuration information, and writing the repair configuration information into the electrically programmable fuse.
3. The chip of claim 2, wherein the central processing unit is to:
and writing the repair configuration information into a preset address of the electrically programmable fuse.
4. The chip of claim 2, wherein the central processing unit is to:
receiving input compressed and encoded repair configuration information corresponding to the fault configuration information, and writing the compressed and encoded repair configuration information into the electrically programmable fuse; when the initialization of the electric programmable fuse is completed according to the starting code, reading the compressed and coded repair configuration information from the electric programmable fuse, and performing compression decoding on the compressed and coded repair configuration information; and carrying out configuration operation according to the compressed and decoded repair configuration information.
5. The chip of claim 1, wherein the central processing unit is to:
reading the repair configuration information from the electrically programmable fuse and performing security verification on the repair configuration information; and when the repair configuration information passes the security verification, performing configuration operation according to the repair configuration information.
6. The chip of claim 5, wherein the central processing unit is to:
calculating to obtain a hash value of the repair configuration information through a preset hash algorithm;
and comparing the hash value with a preset hash value, and if the hash value is consistent with the preset hash value, judging that the repair configuration information passes the security verification.
7. The chip of claim 1, wherein the central processing unit is further to:
upon completion of initialization of the electrically programmable fuse in accordance with the boot code, suspending execution of the boot code; and
continuing to execute the boot code after reading the repair configuration information from the electrically programmable fuses for a configuration operation.
8. The chip of any one of claims 1 to 7, wherein the fault configuration information comprises register configuration information of missing configurations and/or register configuration information of erroneous configurations.
9. An electronic device, characterized in that the electronic device comprises a chip according to any of claims 1-8.
10. A chip starting method, the chip includes read only memory and central processing unit, the read only memory stores the starting code of the chip, characterized by that, the chip also includes the electric programmable fuse, the electric programmable fuse stores the repair configuration information corresponding to the fault configuration information in the starting code, the chip starting method includes:
the central processing unit reads the starting code from the read-only memory and executes the starting code;
when the initialization of the electric programmable fuse is completed according to the starting code, the central processing unit reads the repair configuration information from the electric programmable fuse to perform configuration operation;
and the central processing unit skips the fault configuration information when executing the fault configuration information.
CN202110064057.8A 2021-01-18 2021-01-18 Chip, electronic equipment and chip starting method Pending CN114816537A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110064057.8A CN114816537A (en) 2021-01-18 2021-01-18 Chip, electronic equipment and chip starting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110064057.8A CN114816537A (en) 2021-01-18 2021-01-18 Chip, electronic equipment and chip starting method

Publications (1)

Publication Number Publication Date
CN114816537A true CN114816537A (en) 2022-07-29

Family

ID=82524237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110064057.8A Pending CN114816537A (en) 2021-01-18 2021-01-18 Chip, electronic equipment and chip starting method

Country Status (1)

Country Link
CN (1) CN114816537A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180261301A1 (en) * 2017-03-13 2018-09-13 SK Hynix Inc. Repair device and semiconductor device including the same
CN209785927U (en) * 2019-04-18 2019-12-13 长鑫存储技术有限公司 Chip and method for manufacturing the same
CN111352764A (en) * 2020-03-27 2020-06-30 上海金卓网络科技有限公司 Chip repairing method, device, equipment and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180261301A1 (en) * 2017-03-13 2018-09-13 SK Hynix Inc. Repair device and semiconductor device including the same
CN209785927U (en) * 2019-04-18 2019-12-13 长鑫存储技术有限公司 Chip and method for manufacturing the same
CN111352764A (en) * 2020-03-27 2020-06-30 上海金卓网络科技有限公司 Chip repairing method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
US10136163B2 (en) Method and apparatus for repairing video file
US7424648B2 (en) Nonvolatile memory system, nonvolatile memory device, data read method, and data read program
WO2020151323A1 (en) Data slicing-based data storage method, device, and medium
US9813739B2 (en) Backward adaptation apparatus for applying backward adaptation to probability table at end of processing of frame and related backward adaptation method
CN114816537A (en) Chip, electronic equipment and chip starting method
US20210294899A1 (en) Semiconductor device and method for controlling semiconductor device
US20120033893A1 (en) Image reproduction apparatus and image reproduction method
CN113055455A (en) File uploading method and equipment
CN116701048A (en) Data verification method, data memory and storage medium
JP2014011572A5 (en) Moving picture predictive decoding apparatus, method and program
AU2019370804B2 (en) Methods, apparatuses, computer programs and computer-readable media for scalable video coding and transmission
WO2021139443A1 (en) Data access control method and apparatus, and data access device and system
US9307259B2 (en) Image decoding methods and image decoding devices
JPH08305638A (en) Rom data check method
CN109697993B (en) Data error correction method and device
CN109871679A (en) Data display method, system, device and medium
JP2003125401A (en) Video data reproducing method
CN117440166B (en) Video coding and decoding mode detection method based on memory access characteristic analysis
US20040001550A1 (en) Method of detecting internal frame skips by MPEG video decoders
CN108009035B (en) MP4 file damage detection method and device
CN118132335A (en) Method, system and device for recovering starting exception of embedded device
EA045133B1 (en) METHOD, DEVICE AND MACHINE READABLE MEDIA CONTAINING A COMPUTER PROGRAM FOR FORMING A CONFIGURATION MESSAGE TO ENABLE THE DECODER TO RESTORE THE FIRST IMAGE REPRESENTATION WITH THE FIRST LEVEL OF QUALITY USING U CONFIGURATION DATA
CN113727190A (en) Multi-format video image conversion method, system, terminal and storage medium
CN104699494A (en) Method and system for updating firmware data
CN113362401A (en) Data processing method and device and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination