Adaptive Programming for Nonvolatile Memory Cell Levels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current non-volatile memory technologies, such as flash memories and phase-change memories, face challenges in accurately programming multiple levels due to noise, cell heterogeneity, and the need for conservative programming approaches, which limit the number of data values that can be stored and the storage capacity of these devices.

Innovation Solution

An adaptive programming system that determines the maximum number of cell levels and associates specific sets of cell values with each level based on the physical properties of the memory device and the voltage applied, allowing for flexible configuration of cell levels and increased data storage capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conservative programming approach is used to avoid overshooting cell levels, then programming reliability is improved, but the number of configurable cell levels is limited

Engineering Contradiction:
Improveprogramming reliabilityVSAvoidnumber of configurable cell levels
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic cell level configuration where the number of cell levels is not fixed but adapts based on actual programming results. The system determines the maximum attainable cell level for each cell individually, allowing the memory device to flexibly utilize available programming ranges without being constrained by predetermined conservative level settings.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of cell level configuration from static to dynamic by measuring actual cell responses to programming voltages and adjusting the number of configurable levels accordingly. This allows the memory device to optimize between reliability and capacity by adapting parameters based on real-time cell performance data.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If fixed cell levels are used to represent data, then data storage simplicity is improved, but storage capacity is limited

Engineering Contradiction:
Improvedata storage simplicityVSAvoidstorage capacity
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent transitions from fixed cell levels to dynamic cell levels where each cell can have a different number of configurable levels based on its individual programming characteristics. This dynamic approach maintains the simplicity of level-based data representation while significantly increasing storage capacity by utilizing the full programming range of each cell.

Inventive Principle:
Principle #15Dynamics

3Productivity

If parallel programming is used to program cells, then programming speed is improved, but cell heterogeneity causes inaccurate programming

Engineering Contradiction:
Improveprogramming speedVSAvoidprogramming accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent applies local quality by treating each cell individually with its own determined maximum level and value set, rather than applying uniform programming parameters to all cells. This allows parallel programming to maintain speed while each cell receives customized programming parameters tailored to its specific characteristics, thereby improving accuracy.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system incorporates feedback by measuring the actual cell values attained after programming and using this information to determine the maximum number of cell levels and associate appropriate value sets. This feedback mechanism enables the system to adjust programming parameters based on actual cell responses, improving accuracy while maintaining parallel programming efficiency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8780620B2Information representation and coding for nonvolatile memories
Publication Date: 2014.07.15 CALIFORNIA INST OF TECH
  • US8780620B2 patent drawing
  • US8780620B2 patent drawing
  • US8780620B2 patent drawing

AI summary

A memory device having a plurality of cells, each of which stores a value, where the values of the cells are mapped to discrete levels and the discrete levels represent data, is programmed by determining a maximum number of cell levels in the memory device, and determining the set of values that are associated with each of the cell levels. The maximum number of cell levels for the memory device is determined by an adaptive programming system connected to the memory device, based on a plurality of cell values attained by at least one cell of the memory device, in response to voltage applied by the adaptive programming system to the cells of the memory device. The adaptive programming system associates, for each of the cell levels, a different set of cell values of the plurality of cell values attained by the cells to which voltage is applied. This technique increases the number of cell levels that can be configured in a memory device as compared with conventional techniques, and increases the number of data values that can be programmed into the cells of a memory device.