Data Whitening for Non-Volatile Memory Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND Flash memory and other non-volatile memories face reliability issues due to program-disturb problems caused by densely packed memory cells, where data with a high proportion of ones or zeros can lead to incorrect programming and reading, reducing storage reliability.

Innovation Solution

Implementing a data whitening system using an encryption module, such as AES, to randomize data sequences and manage metadata, ensuring that all data, including non-sensitive information, is encrypted before storage to prevent program-disturb issues, and allowing secure and efficient data movement during operations like garbage collection and wear leveling without decrypting based on physical addresses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is stored directly in non-volatile memory without whitening, then storage speed and simplicity are improved, but program-disturb errors increase and reliability deteriorates

Engineering Contradiction:
Improvestorage speedVSAvoidprogram-disturb error rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by whitening the data before it is written to non-volatile memory. The data whitening module transforms the data into a whitened form that has a more balanced distribution of logic levels, preventing program-disturb errors during subsequent write operations. This preliminary transformation ensures reliability without slowing down the storage process.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all data is encrypted for whitening including non-sensitive data, then program-disturb reliability is improved, but processing complexity and overhead increase

Engineering Contradiction:
Improveprogram-disturb error rateVSAvoidencryption processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by implementing a single data whitening module that handles all types of data (sensitive and non-sensitive) using the same encryption mechanism. This unified approach simplifies the system architecture compared to having separate handling mechanisms for different data types, while maintaining high reliability through consistent whitening of all data before storage.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If data is whitened using encryption modules, then data randomness and reliability are improved, but hardware resources and device complexity increase

Engineering Contradiction:
Improvedata integrityVSAvoidhardware resource requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by making the encryption module serve dual purposes: it provides both security encryption for sensitive data and data whitening for all data before storage. This multi-functional use of the encryption module eliminates the need for separate dedicated whitening hardware, reducing overall device complexity while maintaining data integrity and reliability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8918655B2Data whitening for writing and reading data to and from a non-volatile memory
Publication Date: 2014.12.23 APPLE INC
  • US8918655B2 patent drawing
  • US8918655B2 patent drawing
  • US8918655B2 patent drawing

AI summary

Systems, apparatuses, and methods are provided for whitening and managing data for storage in non-volatile memories, such as Flash memory. In some embodiments, an electronic device such as media player is provided, which may include a system-on-a-chip (SoC) and a non-volatile memory. The SoC may include SoC control circuitry and a memory interface that acts as an interface between the SoC control circuitry and the non-volatile memory. The SoC can also include an encryption module, such as a block cipher based on the Advanced Encryption Standard (AES). The memory interface can direct the encryption module to whiten all types of data prior to storage in the non-volatile memory, including sensitive data, non-sensitive data, and memory management data. This can, for example, prevent or reduce program-disturb problems or other read/write/erase reliability issues.