Flash Memory Data Disordering With ECC for Secure Firmware Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage apparatuses using flash memory lack effective methods to securely store and transmit firmware codes, as data between the flash memory and controller is not encoded, making the data vulnerable to damage.

Innovation Solution

A storage apparatus with a controller that includes an error correction module and a data disordering module, which performs error correction encoding and disperses data codes to prevent identification, enhancing data security by converting sequence data codes into non-sequence data codes and using encryption/decryption for secure transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is transmitted between flash memory and controller without encoding, then transmission speed is fast, but data security deteriorates and firmware codes may be easily damaged

Engineering Contradiction:
Improvedata securityVSAvoiddata processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing error correction encoding on data before it is written to flash memory. The controller encodes the data in advance, storing both the encoded data and error correction codes in the flash memory. This preliminary encoding ensures that when data is read back, any transmission errors can be automatically detected and corrected, thereby improving data security and reliability without requiring complex real-time processing during data access operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If error correction encoding is performed on data packet, then data security is improved, but processing time increases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing the data packet into multiple segments or blocks, each of which is independently encoded with error correction codes. Instead of encoding the entire data packet as one large unit, the data is split into smaller manageable chunks. This segmentation reduces the processing time for each encoding operation while still providing comprehensive error protection across the entire data set, thereby balancing data integrity with processing efficiency.

Inventive Principle:
Principle #1Segmentation

3Reliability

If data codes are dispersed and encrypted, then data security is enhanced, but ease of operation deteriorates

Engineering Contradiction:
Improvedata protectionVSAvoiddata access convenience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary component in the form of a dedicated error correction module within the controller. This intermediary module automatically handles the complex tasks of encoding, dispersing, and encrypting data before it is stored in flash memory, and performs the reverse operations during data retrieval. By offloading these complex operations to a specialized intermediary component, the system enhances data protection while maintaining ease of operation for the end user, as the complexity is hidden within the controller's internal processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9348693B2Data accessing method for flash memory module
Publication Date: 2016.05.24 PHISON ELECTRONICS
  • US9348693B2 patent drawing
  • US9348693B2 patent drawing
  • US9348693B2 patent drawing

AI summary

A storage apparatus is provided. The controller of the storage apparatus includes an error correction module and a data disordering module. The error correction module is configured to perform an error correction procedure for a data packet to be written into a flash memory module of the storage apparatus for generating sequence data codes containing the data packet and corresponding error correcting codes, wherein the data packet includes a data area recording data to be written and a spare area recording data related to the data packet. The data disordering module is configured to convert the sequence data codes into non-sequence data codes, wherein the data of the data area and the spare area and error correcting codes are dispersed in the non-sequence data codes. Accordingly, it is possible to effectively increase the safety of the data packet.