ROM Boot Code Patching via Interrupt Manager
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for patching boot code in read-only memory (ROM) require re-fabrication of ROM hardware, which is time-consuming, costly, and resource-intensive, as the boot code is hard-coded and cannot be modified once manufactured.
Innovation Solution
The method involves executing first boot code from ROM and interrupting it to execute additional or alternate boot code from one-time-programmable (OTP) memory, allowing for patching without altering the ROM, and using a System-on-Chip (SoC) with an interrupt manager to manage the execution between ROM and OTP memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If boot code is hard-coded into ROM to prevent unauthorized modification, then security and authenticity are improved, but the ability to correct errors is lost and re-fabrication is required
Solution Approach 1:
The boot code is segmented into two parts: immutable boot code stored in ROM and patchable boot code stored in OTP memory. This segmentation allows the immutable portion to maintain security while the patchable portion can be corrected without re-fabrication.
Solution Approach 2:
An interrupt manager acts as an intermediary between the ROM and OTP memory, managing the execution flow. It interrupts execution of ROM boot code and redirects to OTP boot code when needed, enabling error correction while maintaining the original secure boot code in ROM.
2Stability of the object's composition
If boot code is hard-coded into ROM, then modification is prevented, but time and resources are consumed for re-fabrication when corrections are needed
Solution Approach 1:
The OTP memory is prepared in advance during manufacturing to store corrected or alternate boot code. This preliminary preparation allows immediate patching without re-fabrication, saving time and resources while maintaining the immutability of the original ROM.
3Ease of repair
If interrupt mechanism is added to enable patching, then ease of repair is improved, but device complexity increases
Solution Approach 1:
The interrupt manager is designed with multi-functionality, handling both normal boot code execution from ROM and patched execution from OTP memory. This universal component manages multiple boot scenarios without requiring separate dedicated hardware for each function.
Data Source
AI summary
The present disclosure describes apparatuses and techniques for patching boot code of read-only memory (ROM). In some aspects, execution of boot code from a ROM is initiated to start a boot process of a device. Execution of the boot code from the ROM is then interrupted to enable execution of other boot code, such as corrected boot code or additional boot code, from another memory. Once the other boot code is executed, execution of the boot code from the ROM is resumed to continue booting the computing device. By so doing, the corrected boot code or additional boot code can be executed during the boot process effective to patch the boot code stored in the ROM.


