Processor Microcode Rollback Using Dual Secure Patch Regions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems face challenges in rolling back invalid or deficient microcode updates without rebooting, especially in data centers with strict uptime requirements, as existing OS runtime patch updates can cause performance degradation and lack seamless rollback mechanisms.
Innovation Solution
Implementing an on-die security controller with a secure patch memory that partitions regions for storing 'good' and 'new' patches, allowing seamless rollback through a Patch Commit instruction to revert to the last known working patch during runtime without system reboot.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If microcode updates are applied at runtime to improve system functionality and security, then system reliability and security are improved, but the ability to rollback invalid updates without reboot becomes problematic, causing loss of time and potential system downtime
Solution Approach 1:
The patent applies preliminary action by maintaining multiple patch regions (first patch region and second patch region) in advance, where the second patch region stores backup patches before they are needed. When a rollback is required, the system can immediately switch to the pre-stored valid patch in the second region without requiring a reboot, thus preventing system downtime while maintaining reliability.
Solution Approach 2:
The patent changes the state parameter of patch regions by switching between 'active' and 'standby' states. The first patch region and second patch region can be swapped or activated/deactivated based on patch validity, allowing the system to transition from an invalid patch state to a valid patch state without rebooting, thereby eliminating downtime while maintaining system reliability.
2Adaptability or versatility
If multiple patch regions are maintained for rollback capability, then rollback ability is improved, but device complexity increases due to additional memory management requirements
Solution Approach 1:
The patent segments the secure patch memory into distinct first and second patch regions, each capable of storing patches independently. This segmentation allows the system to maintain multiple patch versions simultaneously and switch between them by activating different regions, providing rollback capability while managing complexity through clear spatial separation of patch storage.
3Stability of the object's composition
If patch validation is performed before committing updates, then system stability is improved, but the time required for patch deployment increases due to additional validation steps
Solution Approach 1:
The patent performs patch validation in advance before committing patches to the active region. Patches are validated while stored in the second patch region (standby region), and only after successful validation are they activated or swapped to the first patch region. This preliminary validation ensures system stability while minimizing deployment time by avoiding validation during the critical switching phase.
Data Source
AI summary
Techniques for updates and rollbacks of firmware patches in a computing system during runtime are provided. A processor includes one or more intellectual property (IP) blocks; a secure patch memory to store a first firmware patch in a primary patch region and a second firmware patch in a secondary patch region; a processing core to execute a first patch commit instruction; and a security controller to send the second firmware patch to the one or more IP blocks, set the secondary patch region to the primary patch region when the first patch commit instruction indicates the second firmware patch is valid, and get the first firmware patch from the primary patch region and send the first firmware patch to the one or more IP blocks when the first patch commit instruction indicates the second firmware patch is invalid.


