Meaning
Embedded system architectures that load correction code from non-volatile storage into volatile memory during the early startup phase allow hardware developers to fix bugs in read-only memories. Using boot ROM patch RAM enables the redirection of execution paths from permanent, unalterable mask ROM to writeable memory blocks. This mechanism applies solely during the initial boot sequence before the main operating system or application firmware starts executing.
Redirection Mechanism
Hardware registers within the memory management unit or system controller monitor the program counter during boot. When the program counter reaches an address containing a known error, the hardware intercepts the fetch and redirects it to the boot ROM patch RAM address. This jump permits the execution of corrected instructions without modifying the silicon layer of the chip.
Execution Sequence
The initialization sequence begins by reading the patch payload from an external non-volatile source like Serial Peripheral Interface flash. Once the payload is verified via a secure hash, it is copied into the dedicated patch memory area. System controllers then enable the address match registers, which establishes the active redirection environment before the main code execution starts.
This setup must be complete before the processor enters its user execution mode.
Storage Footprint
Allocated patch memory is typically small due to the high cost of embedded static random-access memory. Designers must optimize the patch size to fit within these tight hardware boundaries.