Partially-Bad SLC Block Read Cache for MLC Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Partially-bad blocks in storage systems, which have unreliable data storage due to faulty word lines, are often marked as unavailable but can still store data with error correction, leading to performance issues and reliability concerns, especially in client and enterprise applications where reliability is critical.

Innovation Solution

Repurpose partially-bad single-level cell (SLC) blocks as a non-volatile read cache for data stored in multi-level cell (MLC) blocks, copying data from MLC blocks to SLC blocks for faster read access, allowing data to be read from the SLC blocks while maintaining the original data in MLC blocks for reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If partially-bad blocks are used to store data with error correction, then data storage capacity is improved, but reliability and performance deteriorate due to extensive error-handling requirements

Engineering Contradiction:
Improvedata storage capacityVSAvoiddata reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The storage system is segmented into multiple blocks with different reliability characteristics. Good blocks store primary data while partially-bad blocks store redundant copies. This segmentation allows the system to utilize previously unusable capacity while maintaining reliability through the good blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the operational parameters of partially-bad blocks by using them exclusively for redundant storage rather than primary data storage. This parameter change (from primary to redundant storage) allows utilization of blocks that would otherwise be discarded, improving overall storage capacity without compromising reliability.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If data is stored in partially-bad blocks with extensive error-correction handling, then storage capacity is improved, but access speed and performance deteriorate

Engineering Contradiction:
Improvestorage capacityVSAvoidread access speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-copying data from good blocks to partially-bad blocks before read requests arrive. This preliminary positioning of data in faster-access partially-bad blocks ensures that when read requests occur, data can be retrieved quickly without real-time error correction overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Data is copied from good blocks to partially-bad blocks, creating redundant copies. This copying strategy allows the system to serve read requests from the partially-bad blocks (which have faster access characteristics) while the original data remains safely stored in good blocks, thus improving read performance without sacrificing reliability.

Inventive Principle:
Principle #26Copying

3Reliability

If partially-bad blocks are marked as unavailable, then data reliability is maintained, but storage capacity is reduced

Engineering Contradiction:
Improvedata reliabilityVSAvoidusable storage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Partially-bad blocks are assigned a specific universal function: storing redundant copies of data. This multi-functionality approach allows these blocks to serve a useful purpose (redundancy storage) rather than being completely discarded, thereby increasing usable storage capacity while maintaining reliability through the primary-good blocks.

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

Solution Approach 2:

The previously harmful characteristic of partially-bad blocks (their unreliability for primary storage) is converted into a benefit by using them specifically for redundant storage. This conversion transforms blocks that would have been discarded into valuable resources for improving overall storage capacity and reliability through redundancy.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentUS11626183B2Method and storage system with a non-volatile bad block read cache using partial blocks
Publication Date: 2023.04.11 SANDISK TECHNOLOGIES LLC
  • US11626183B2 patent drawing
  • US11626183B2 patent drawing
  • US11626183B2 patent drawing

AI summary

A storage system has a memory with a multi-level cell (MLC) block and a partially-bad single-level cell (SLC) block. The storage system repurposes the partially-bad SLC block as a non-volatile read cache for data stored in the MLC block (e.g., cold data that is read relatively frequently) to improve performance of host reads. Because the original version of the data is still stored in the MLC block, the original version of the data can be read if there is an error in the copy of the data stored in the partially-bad SLC block, thus avoiding the need for extensive error-correction handling to account for the poor reliability of the partially-bad SLC block.