Microcode Update Error Handling via Status Flag Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing microcode update processes in devices like CD-ROM drives are prone to unrecoverable errors due to sudden power losses or unexpected reboots, leading to incomplete updates and rendering devices unusable.
Innovation Solution
A method and electronic device design that utilizes a status flag to indicate the completeness of microcode updates, incorporating a non-renewable part with an updating error handling code to ensure completion of the boot-up procedure and facilitate retrying updates after interruptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If microcode is stored in volatile memory (SDRAM) for updating, then microcode update speed is improved, but reliability deteriorates due to power loss causing data loss
Solution Approach 1:
The microcode is divided into two separate parts: a non-updatable main code stored in non-volatile memory (Flash ROM) for reliability, and an updatable program code stored in volatile memory (SDRAM) for update speed. This segmentation allows the system to maintain the original microcode for boot-up operations while enabling updates to the renewable part without risking the entire microcode.
Solution Approach 2:
A status flag word is introduced as an intermediary mechanism to track the completion status of microcode updates. The flag control unit uses this flag to detect whether updating is complete, enabling the system to distinguish between successful and failed update operations and take appropriate actions accordingly.
2Ease of operation
If microcode update flow control program is executed in volatile memory, then ease of operation is improved, but reliability deteriorates due to unexpected interruptions
Solution Approach 1:
The microcode structure is segmented into a non-updatable main code portion stored in non-volatile memory and an updatable program code portion stored in volatile memory. This allows the system to execute updates in volatile memory with ease while preserving the original microcode in non-volatile memory as a safety backup against unexpected interruptions.
3Device complexity
If conventional microcode update process is used, then device complexity is reduced, but productivity deteriorates due to failed updates requiring manual intervention
Solution Approach 1:
The system implements self-service capabilities through automatic detection of update completion status via the flag control unit and status flag. When an update is interrupted, the system automatically detects the incomplete state and enables retry operations without requiring manual intervention, thereby improving update productivity while maintaining relatively simple device architecture.
4Reliability
If status flag and error handling code are added, then reliability is improved, but device complexity increases
Solution Approach 1:
The error handling mechanism is implemented locally within the microcode structure itself through a dedicated status flag word and flag control unit, rather than requiring system-wide complexity changes. The non-updatable main code contains the error handling code that operates locally to detect and respond to update failures, improving reliability with minimal impact on overall device complexity.
Data Source
AI summary
A method of microcode updating error handling for an electronic device is disclosed. The method includes: providing a status flag to indicate if updating a renewable part of a microcode is complete, wherein the microcode comprises a non-renewable part having an updating error handling code; and detecting the status flag, and if the status flag corresponds to a first status, utilizing the updating error handling code for completing a boot-up procedure.


