Flash Memory Block Configuration for ECC Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing flash memory devices have a fixed configuration of memory cells, which can lead to inefficiencies in user data storage and error correction code (ECC) data storage, as different ECC codes require varying amounts of memory cells, resulting in unused space or insufficient ECC data for desired reliability levels, and do not allow for flexible allocation based on specific application needs.

Innovation Solution

The memory array configuration is made adaptable by allowing user data and ECC data storage areas to be dynamically allocated based on the specific requirements of the application, with the ability to configure blocks to store either user data or ECC data, and to vary the size of ECC data storage areas depending on the desired level of reliability, enabling efficient use of memory cells across the array.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a fixed configuration of memory cells is used, then the device structure is simple and manufacturing is easier, but memory cell utilization efficiency deteriorates due to unused space or insufficient ECC data

Engineering Contradiction:
Improvedevice structure simplicityVSAvoidmemory cell utilization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic configuration of memory blocks, where each block can be programmatically assigned to store either user data or ECC data based on runtime requirements. This is achieved through configuration registers that allow the controller to dynamically adjust the allocation of memory blocks between user data storage and ECC data storage, transforming a static fixed configuration into a dynamic adaptable structure that optimizes memory cell utilization for different applications and error correction requirements

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the configurable parameters of memory blocks from fixed physical design to programmatically adjustable parameters. By introducing configuration registers that control the function assignment of each memory block, the system allows parameter changes in memory allocation ratios, block sizes, and distribution patterns without requiring physical redesign, thereby improving memory cell utilization efficiency while maintaining manufacturing simplicity

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If memory allocation is permanently configured during design, then device complexity is reduced, but adaptability to different applications deteriorates

Engineering Contradiction:
Improvememory allocation configurationVSAvoidapplication-specific flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent makes each memory block universal by enabling it to serve multiple functions - either storing user data or ECC data based on configuration settings. This multi-functionality is achieved through configuration registers that allow the same physical memory block structure to be dynamically assigned to different logical functions, providing application-specific flexibility without increasing device complexity or requiring separate dedicated structures for each function

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

Solution Approach 2:

The patent introduces dynamic configurability to memory block allocation through configuration registers that can be programmed at different stages (manufacturing, initialization, or runtime). This dynamic aspect allows the system to adapt to different applications and requirements without changing the physical device structure, maintaining low device complexity while achieving high adaptability through software-controlled configuration

Inventive Principle:
Principle #15Dynamics

3Reliability

If ECC data storage area is increased to ensure sufficient error correction capability, then reliability improves, but memory space for user data decreases

Engineering Contradiction:
Improveerror correction capabilityVSAvoiduser data storage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic allocation between ECC data storage and user data storage through configuration registers. The system can programmatically adjust the ratio of memory blocks assigned to ECC data versus user data based on the desired level of reliability and the available capacity requirements. This dynamic configuration allows optimization of both reliability and storage capacity without requiring a fixed trade-off ratio determined solely at manufacturing time

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces configurable parameters that control the allocation ratio between ECC data storage area and user data storage area. By allowing these parameters to be adjusted through configuration registers, the system can change the balance between reliability (ECC capability) and storage capacity (user data space) according to specific application needs, rather than being locked into a fixed design-time allocation

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10891188B2Memory devices having differently configured blocks of memory cells
Publication Date: 2021.01.12 MICRON TECHNOLOGY INC
  • US10891188B2 patent drawing
  • US10891188B2 patent drawing
  • US10891188B2 patent drawing

AI summary

A memory device has a plurality of individually erasable blocks of memory cells and a controller configured to configure a first block of memory cells of the plurality of blocks of memory cells in a first configuration comprising one or more groups of overhead data memory cells, to configure a second block of memory cells of the plurality of blocks of memory cells in a second configuration comprising a group of user data memory cells and a group of overhead data memory cells, and to configure a third block of memory cells of the plurality of blocks of memory cells in a third configuration comprising only a group of user data memory cells. The group of overhead data memory cells of the second block of memory cells has a different storage capacity than at least one group of overhead data memory cells of the one or more groups of overhead data memory cells of the first block of memory cells.