Flash Memory ECC Allocation for Page Capacity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Previous flash memory systems are inefficient in utilizing page capacity and allocating error correction codes (ECCs) due to fixed ECC bit length and page size, leading to high overhead consumption and limited reliability and performance.

Innovation Solution

A flash memory system with pages partitioned into multiple memory zones of varying or identical sizes, utilizing multiple ECC engines with varying bit lengths and algorithms like Hamming, Reed-Solomon, and BCH codes, where ECCs with longer bit lengths are applied to areas with high error recurrence, and an ECC judgment unit selects the appropriate ECC based on memory zones and data characteristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If fixed ECC bit length and page size are used according to industry standard, then device complexity is reduced and ease of manufacture is improved, but page capacity utilization becomes inefficient and error correction overhead increases

Engineering Contradiction:
Improveease of manufactureVSAvoidpage capacity utilization
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic ECC allocation where the ECC bit length is not fixed but adapts based on the actual data size stored in each page. The system divides pages into multiple memory zones and dynamically selects appropriate ECC engines (with different bit lengths like 8-bit, 16-bit, 24-bit) based on the data characteristics and error recurrence patterns of each zone, thereby improving page capacity utilization without excessive complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of ECC bit length from a fixed industry standard value to a variable parameter that can be adjusted according to actual needs. By implementing multiple ECC engines with different bit lengths and selecting the appropriate one based on data characteristics, the system optimizes the balance between error correction capability and storage efficiency

Inventive Principle:
Principle #35Parameter changes

2Reliability

If longer ECC bit length is used to improve error correction capability in high error recurrence areas, then reliability is improved, but error correction overhead and device complexity increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies different ECC bit lengths to different memory zones based on their error recurrence characteristics. High error recurrence zones use longer ECC bit lengths (e.g., 24-bit) for better protection, while low error recurrence zones use shorter ECC bit lengths (e.g., 8-bit), thereby achieving reliable error correction where needed without unnecessarily increasing complexity and overhead in all areas

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system segments each page into multiple memory zones and applies different ECC strategies to each zone independently. This segmentation allows the system to manage complexity by handling each zone with an appropriate ECC level rather than applying a uniform complex ECC scheme to the entire page

Inventive Principle:
Principle #1Segmentation

3Device complexity

If uniform ECC allocation is applied to all memory zones, then device complexity is reduced, but efficiency in utilizing page capacity and error correction performance deteriorate

Engineering Contradiction:
Improvedevice complexityVSAvoiderror correction efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system changes from uniform ECC allocation to variable ECC allocation by implementing multiple ECC engines with different bit lengths and selecting the appropriate engine based on data characteristics and zone error patterns, thereby improving error correction efficiency without excessive complexity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements dynamic selection of ECC engines based on runtime conditions such as data characteristics and error recurrence patterns. The ECC judgment unit dynamically determines which ECC engine to use for each memory zone, achieving efficient error correction adaptation without requiring overly complex static design

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7900118B2Flash memory system and method for controlling the same
Publication Date: 2011.03.01 PHISON ELECTRONICS
  • US7900118B2 patent drawing
  • US7900118B2 patent drawing
  • US7900118B2 patent drawing

AI summary

A flash memory system comprises a group of pages each consisting of a plurality of memory zones with various sizes; a read/write controller for controlling reading or writing of data from or to one of the pages; an error correction unit including at least two ECC (Error Correction Code) engines each encoding or decoding the data for performing error detection and correction; and an ECC judgment unit for selecting one of the ECC engines on the basis of predetermined conditions.