Flash Memory Data Maintenance via Seed Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices, such as NAND Flash, suffer from data damage due to repeated access to the same page or block, necessitating a data maintenance method to prevent such damage.

Innovation Solution

A data maintenance method involving a controller that calculates an offset index based on the erase count of a block, retrieves seeds from a random seed table, and encodes data sectors using these seeds to write encoded data sectors into the pages, thereby preventing damage from repeated writes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is repeatedly written to the same page or block in flash memory, then data storage capacity is maintained, but data damage occurs due to wear

Engineering Contradiction:
Improvedata integrityVSAvoidflash memory lifespan
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The flash memory is divided into multiple blocks, each block containing multiple pages. The system tracks erase counts at the block level and applies different encoding seeds to different pages within the same block based on their position. This segmentation allows data to be distributed across multiple pages, preventing any single page from being overwritten too frequently and thus extending flash memory lifespan while maintaining data integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Before writing data to flash memory pages, the system pre-calculates an offset index based on the erase count of the containing block and retrieves appropriate encoding seeds from a random seed table. This preliminary encoding preparation ensures that each page receives uniquely encoded data before the write operation, preventing wear from repeated identical writes and extending the duration of flash memory operation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If encoding is applied to data sectors using seeds from a random seed table, then page damage is reduced, but device complexity increases

Engineering Contradiction:
Improvepage durabilityVSAvoidcontroller complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The random seed table stores multiple pre-generated encoding seeds, and the system selects specific seeds based on the offset index derived from the block's erase count and page position. This local quality approach means that only the necessary encoding operations are performed on specific pages that need protection, rather than encoding all data uniformly. The controller maintains a compact seed table and uses simple index calculations, adding minimal complexity while effectively reducing page damage through targeted encoding.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9933958B2Data storage device and data maintenance method thereof
Publication Date: 2018.04.03 SILICON MOTION INC
  • US9933958B2 patent drawing
  • US9933958B2 patent drawing
  • US9933958B2 patent drawing

AI summary

A data storage device including a flash memory and a controller. The flash memory includes a plurality of blocks, and each of the blocks has a plurality of pages. The controller receives a write command which is arranged to write a plurality of data sectors into a plurality of first pages of a first block of the blocks, calculates an offset index according to a first erase count of the first block, retrieving a plurality of seeds from a random seed table according to the offset index, encodes the data sectors by using the retrieved seeds to obtain a plurality of encoded data sectors, and writes the encoded data sectors into the first pages.