ECC Code Word Distribution Across Storage Strings

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile storage devices like Flash memory have varying error rates across different storage locations, leading to uneven error correction requirements for ECC code words, which can increase storage and processing overheads due to the need for stronger error correction codes.

Innovation Solution

A method and apparatus for distributing the storage of ECC code words across multiple memory elements with different error rates, where portions of an ECC code word are stored in locations with varying reliability to level out error rates, thereby optimizing storage capacity and processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a stronger ECC is used to correct errors in all ECC code words, then error correction capability is improved, but storage overhead increases due to more redundant data

Engineering Contradiction:
Improveerror correction capabilityVSAvoidstorage overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by distributing different portions of the same ECC code word to storage locations with different error rates. Specifically, it separates the ECC code word into multiple portions and stores them in different memory regions (e.g., SLC and MLC regions), allowing each portion to benefit from the error correction capabilities appropriate to its location's reliability characteristics. This resolves the contradiction by avoiding the need to use strong ECC across all locations, thereby reducing overall storage overhead while maintaining adequate error correction where needed.

Inventive Principle:
Principle #3Local quality

2Reliability

If a stronger ECC is used to correct errors in all ECC code words, then error correction capability is improved, but processing overhead increases for encoding and decoding

Engineering Contradiction:
Improveerror correction capabilityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent reduces processing overhead by applying different error correction strategies to different portions of ECC code words based on their storage locations. By storing portions in regions with different error rates and applying appropriate ECC strengths locally, the system avoids the computational burden of uniformly applying strong ECC to all data, thus improving processing efficiency while maintaining reliability.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If ECC code words are stored in locations with higher error rates, then storage capacity utilization is improved, but error rates increase requiring stronger ECC

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoiderror rate
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the ECC code word into multiple portions and distributes them across storage locations with different error rates. This segmentation allows the system to utilize high-capacity storage regions (with higher error rates) for some portions while protecting critical portions in more reliable regions. The segmentation strategy enables better storage capacity utilization without requiring stronger ECC for all data, as each segment can be protected according to its specific location's characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By applying local quality principles, the patent tailors the error protection strategy to each storage location's characteristics. Portions stored in high-error-rate locations receive appropriate protection levels matched to their environment, optimizing the balance between storage capacity utilization and error rate management without unnecessarily strengthening ECC across the entire code word.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9984768B2Distributing storage of ECC code words
Publication Date: 2018.05.29 SANDISK TECHNOLOGIES LLC
  • US9984768B2 patent drawing
  • US9984768B2 patent drawing
  • US9984768B2 patent drawing

AI summary

Apparatuses, systems, methods, and computer program products are disclosed for distributing error-correction codes. A correction module is configured to determine an error correction code (ECC) code word for storage on one or more non-volatile storage media. A mapping module is configured to determine one or more addresses for the ECC code word so that a portion of the ECC code word is stored at a first physical address within a first set of strings of storage cells of the one or more non-volatile storage media and a portion of the ECC code word is stored at a different physical address within a second set of strings of storage cells of the one or more non-volatile storage media. A storage module is configured to cause the ECC code word to be stored in the one or more non-volatile storage media based on the determined one or more addresses.