Protected Flash Data Programming With Power-Loss Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices, particularly NAND flash devices, lack random access capabilities, necessitating serial access and requiring secure data programming that is vulnerable to sudden power loss, leading to potential data integrity issues.

Innovation Solution

A method and apparatus for programming and recovering protected data using parallel authentication and data operations, including generating intermediate calculation results and metadata to ensure secure data storage, with metadata and error correction mechanisms to handle sudden power off scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If authentication calculation operations are performed sequentially before data programming operations, then data security is ensured through proper authentication, but programming time and processing efficiency deteriorate

Engineering Contradiction:
Improvedata securityVSAvoidprogramming time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary authentication calculations on received protected data batches before initiating data programming operations. By completing authentication checks in advance, the system ensures data security is verified prior to programming, while the sequential structure prevents unauthorized data from being programmed. This resolves the contradiction by maintaining security requirements while organizing operations to optimize time management.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides protected data into multiple batches and processes each batch through authentication calculation operations separately before programming. This segmentation allows the system to handle authentication and programming as distinct, manageable stages, ensuring that each data portion is properly verified before being programmed into the flash module, thereby maintaining security without compromising overall programming efficiency.

Inventive Principle:
Principle #1Segmentation

2Productivity

If authentication operations are performed in parallel with data programming operations, then programming time is reduced through parallel processing, but data integrity may deteriorate due to sudden power loss during simultaneous operations

Engineering Contradiction:
Improveprogramming speedVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements beforehand cushioning by performing complete authentication calculation operations on all data batches before initiating any data programming operations. This preparatory authentication phase acts as a cushion that ensures data integrity is verified in advance, so that even if power loss occurs during the subsequent programming phase, only authenticated data is at risk, and the system can recover properly using the authentication results already obtained.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The patent maintains continuity of useful action by organizing the process into two continuous phases: first, continuous authentication calculation operations on all data batches; second, continuous data programming operations. This continuous structure ensures that authentication is completed without interruption before programming begins, maintaining data integrity while maximizing programming efficiency through uninterrupted operation sequences.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If protected data is programmed into flash module without proper authentication, then programming speed is improved, but data security and reliability deteriorate

Engineering Contradiction:
Improveprogramming efficiencyVSAvoiddata security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary authentication verification on all protected data batches before initiating programming operations into the flash module. This preliminary action ensures that only authenticated, secure data is programmed, maintaining data security and reliability while allowing efficient programming of verified data without repeated security checks during the programming process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12505242B2Method and non-transitory computer-readable storage medium and apparatus for programming and recovering protected data
Publication Date: 2025.12.23 SILICON MOTION INC
  • US12505242B2 patent drawing
  • US12505242B2 patent drawing
  • US12505242B2 patent drawing

AI summary

The invention introduces a method for programming and recovering protected data. Protected data instructed by a data write command is received from a host side in multiple batches. After an encoding algorithm is used to generate an intermediate calculation result according to a first portion of the protected data, and an authentication key, multiple authentication calculation operations for remaining portions of the protected data, and multiple data programming operations for all portions of the protected data are arranged to enable the authentication calculation operations to be performed in parallel to the data programming operations. Each data programming operation is performed to program a corresponding portion of the protected data and a metadata associated with the corresponding portion of the protected data into a current block of a flash module. The metadata comprises information about whether the protected data has passed an authentication.