Column Scramble Pattern for Flash Memory Operational Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face challenges in ensuring the integrity and reliability of operational information storage due to shared sense lines among blocks, which can lead to data corruption if a fault occurs in one block, affecting all blocks on the same plane.

Innovation Solution

The method involves storing operational information in a column scramble pattern across multiple blocks, shifting the order of data units on different blocks to ensure that if a fault occurs, it does not simultaneously affect all copies of operational information stored on common sense lines, thereby maintaining data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If operational information is stored in the main array to reduce die size, then storage density is improved, but data integrity deteriorates due to shared sense lines

Engineering Contradiction:
Improvestorage densityVSAvoiddata integrity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the storage of operational information by distributing copies across multiple blocks with different sense line assignments. Each block stores a copy of the operational information on a different sense line, so that a fault in one sense line does not affect all copies. This segmentation approach maintains high storage density while improving data integrity through spatial distribution of data across independent sensing paths.

Inventive Principle:
Principle #1Segmentation

2Reliability

If multiple copies of operational information are stored on the same sense line for redundancy, then reliability is improved, but vulnerability to sense line faults increases

Engineering Contradiction:
Improvedata redundancyVSAvoidsense line fault propagation
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by assigning different sense lines to different blocks for storing operational information. Each block uses a dedicated sense line that is unique to that block, creating locally optimized storage where each copy is protected by its own dedicated sensing path. This prevents sense line faults from propagating across multiple blocks, as each block's sense line is isolated from others.

Inventive Principle:
Principle #3Local quality

3Device complexity

If operational information is stored in a single block for simplicity, then device complexity is reduced, but reliability deteriorates due to single point of failure

Engineering Contradiction:
Improvestorage structureVSAvoidfault tolerance
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments operational information storage across multiple blocks, with each block containing a copy of the operational information. This segmentation provides fault tolerance by ensuring that if one block experiences a fault, the other blocks still contain valid copies of the information. The complexity increase is minimal as the same memory array structure is utilized, only the distribution pattern changes.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8437217B2Storing operational information in an array of memory cells
Publication Date: 2013.05.07 MICRON TECHNOLOGY INC
  • US8437217B2 patent drawing
  • US8437217B2 patent drawing
  • US8437217B2 patent drawing

AI summary

The present disclosure includes methods, devices, modules, and systems for storing operational information in an array of memory cells. One method embodiment includes storing data units of operational information in memory cells of at least one row of a first block of memory cells. The method also includes using a column scramble to shift the order of the data units. The method includes storing the data units in memory cells of at least one row of a second block of memory cells, wherein an order of the data units stored in the at least one row of the second block is different than an order of the data units stored in memory cells of the at least one row of the first block.