Multi-Processor Firmware Integrity via Idle Cross-Verification

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

VSEngineering 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

Engineering Contradiction:
Improvefirmware integrityVSAvoidcontroller architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If firmware integrity checking is performed continuously, then error detection capability is improved, but processor productivity and system performance deteriorate

Engineering Contradiction:
Improvefirmware integrity verificationVSAvoidprocessor throughput
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #19Periodic action

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10282251B2System and method for protecting firmware integrity in a multi-processor non-volatile memory system
Publication Date: 2019.05.07 SANDISK TECHNOLOGIES LLC
  • US10282251B2 patent drawing
  • US10282251B2 patent drawing
  • US10282251B2 patent drawing

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.