Storage Block Grouping by Deterministic Data Patterns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face inefficiencies in allocating memory blocks based on logical block addresses, leading to suboptimal performance and wear leveling, particularly with the transition from two-dimensional to three-dimensional NAND technology, which introduces significant variations in program speed, erase speed, and disturb characteristics.

Innovation Solution

A method is introduced where a storage system uses deterministic data patterns to infer characteristics of memory blocks, grouping them based on program speed, natural variation, four neighbor interference, and bit line inference, allowing for pre-allocation of blocks with similar characteristics to optimize read performance and wear leveling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If blocks are allocated randomly or based on logical block address, then allocation simplicity is maintained, but read performance and wear leveling deteriorate due to significant variations in program speed, erase speed, and disturb characteristics in 3D NAND technology

Engineering Contradiction:
Improveread performanceVSAvoidblock allocation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary characterization of memory blocks by writing deterministic data patterns and reading them back to infer characteristics such as program speed, erase speed, and disturb characteristics. This preliminary action allows blocks to be pre-grouped into categories (e.g., fast/slow program blocks, high/low disturb blocks) before actual data storage, enabling optimized allocation without adding complexity during normal operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameter of block allocation from random or address-based to characteristic-based grouping. By inferring multiple characteristics (program speed, erase speed, disturb characteristics) and grouping blocks according to these parameters, the system achieves better read performance and wear leveling while managing complexity through systematic characterization protocols.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If blocks are grouped based on multiple inferred characteristics, then allocation optimization is improved, but measurement and characterization complexity increases

Engineering Contradiction:
Improveblock allocation efficiencyVSAvoidcharacteristic characterization difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The characterization process is segmented into distinct phases: writing deterministic data patterns, reading back patterns, inferring individual characteristics (program speed, erase speed, disturb characteristics), and finally grouping blocks based on multiple characteristics. This segmentation makes the complex measurement process manageable and systematic, improving allocation efficiency without overwhelming complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses deterministic data patterns as copies or representations of ideal data states. By writing known patterns and reading them back, the system can infer block characteristics without needing to characterize actual user data, simplifying the measurement process while maintaining accuracy for allocation purposes.

Inventive Principle:
Principle #26Copying

3Measurement precision

If deterministic data patterns are written and read to infer characteristics, then block characterization accuracy is improved, but time required for characterization increases

Engineering Contradiction:
Improveblock characteristic measurement accuracyVSAvoidcharacterization time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Characterization using deterministic data patterns is performed as a preliminary action during initialization or idle periods, separate from normal data operations. This allows accurate measurement of block characteristics without impacting user data access performance, as the characterization occurs in advance and the results are cached for subsequent allocation decisions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9846554B1Storage system and method for grouping blocks based on deterministic data patterns
Publication Date: 2017.12.19 SANDISK TECHNOLOGIES LLC
  • US9846554B1 patent drawing
  • US9846554B1 patent drawing
  • US9846554B1 patent drawing

AI summary

A storage system and method for generating block allocation groups based on deterministic data patterns are provided. A storage system is provided comprising a memory comprising a plurality of blocks and a controller. The controller is configured to infer characteristics of the memory from data patterns of data stored in the plurality of blocks; and group the plurality of blocks based on the inferred characteristics of the memory.