Multi-Processor Firmware Integrity via Idle Cross-Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-processor non-volatile memory systems lack real-time error correction for firmware stored in volatile memory caches, leading to potential bit flips and integrity issues without a dedicated error correction code (ECC) engine in the data path.
Innovation Solution
Each processor in the multi-processor system checks the integrity of the other processor's firmware during idle states by retrieving and verifying executable instructions, using checksums or parity checks, and correcting errors by replacing corrupted pages with original versions from non-volatile memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a dedicated ECC engine is positioned in the data path between cache and processors, then real-time error correction capability is improved, but device complexity and cost increase
Solution Approach 1:
The patent implements a self-service mechanism where processors verify their own firmware integrity by calculating checksums on cached firmware images and comparing them against stored reference checksums. This eliminates the need for external ECC hardware, as each processor independently performs error detection and initiates correction by retrieving valid firmware from non-volatile memory when corruption is detected.
Solution Approach 2:
The patent introduces checksum values as an intermediary mechanism for error detection. Instead of using complex ECC hardware, the system uses simple checksum calculations as a mediator to verify firmware integrity. The checksum acts as a lightweight verification layer that detects corruption without requiring dedicated error correction hardware in the data path.
2Reliability
If firmware integrity checking is performed continuously, then error detection capability is improved, but processor productivity and system performance deteriorate
Solution Approach 1:
The patent implements periodic firmware verification where processors check firmware integrity at scheduled intervals or at specific operational milestones rather than continuously. The system can verify firmware during idle periods, between operations, or after a predetermined number of operations, maintaining reliability while minimizing impact on processor productivity.
Solution Approach 2:
The patent performs preliminary firmware verification by checking checksums when firmware is first loaded into cache from non-volatile memory. This preliminary check ensures integrity before the processor begins executing firmware, preventing errors from propagating during operation while avoiding continuous verification overhead during execution.
Data Source
AI summary
A system and method is disclosed for managing firmware in a non-volatile memory system having a multi-processor controller. The controller may be configured with a plurality of processors. Each of the plurality of processors may retrieve and check the integrity of firmware for a respective one of the other processors while the processor engaged in checking the respective one of the other processors is in an idle state.


