Microcode Update Error Handling via Status Flag Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemicrocode update speedVSAvoidmicrocode update reliability
Core Design Contradiction:
SpeedVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvemicrocode update ease of operationVSAvoidmicrocode update reliability
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If conventional microcode update process is used, then device complexity is reduced, but productivity deteriorates due to failed updates requiring manual intervention

Engineering Contradiction:
Improvemicrocode update device complexityVSAvoidmicrocode update productivity
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #25Self-service

4Reliability

If status flag and error handling code are added, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvemicrocode update reliabilityVSAvoidmicrocode update device complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7533290B2Microcode updating error handling apparatus and method thereof
Publication Date: 2009.05.12 REALTEK SEMICON CORP
  • US7533290B2 patent drawing
  • US7533290B2 patent drawing
  • US7533290B2 patent drawing

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.