Flash Storage Read Cache for Reducing Disturb Errors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash storage devices experience read disturb errors due to repeated read operations, which cause bit errors and data loss in frequently accessed pages, as unprogrammed transistors can be incorrectly read as programmed due to charge transfer during read operations.

Innovation Solution

Implementing a read cache organized by virtual unit addresses and virtual page addresses to reduce the number of read operations in flash memory, where data read from flash memory is stored in a cache with tag tables, allowing subsequent read requests to retrieve data from the cache instead of re-reading from flash memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If repeated read operations are performed on flash memory, then data accessibility is improved, but read disturb errors increase causing data loss

Engineering Contradiction:
Improvedata accessibilityVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a read cache that pre-stores frequently accessed data from flash memory before actual read requests occur. This preliminary action reduces the need for repeated read operations on the same data, thereby preventing read disturb errors while maintaining fast data accessibility. The cache is populated in advance based on access patterns or anticipation of read requests.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The read cache acts as an intermediary layer between the host system and the flash memory. Instead of the host directly reading from flash memory multiple times, the intermediary cache satisfies repeated read requests, reducing the number of direct read operations on flash memory and thus mitigating read disturb effects while maintaining data accessibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a read cache is implemented to reduce read operations, then read disturb errors are mitigated, but device complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidcache management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The read cache is segmented into multiple cache lines, each associated with specific flash memory blocks or pages. This segmentation allows independent management of different cache segments, reducing the overall complexity of cache management. Each cache line can be managed separately with its own tag and validity status, making the system more tractable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache management structure employs dynamic replacement policies that adapt to access patterns. The cache dynamically determines which entries to retain or evict based on recent access behavior, rather than using fixed static structures. This dynamic approach optimizes performance while keeping the management logic manageable through adaptive rather than exhaustive control.

Inventive Principle:
Principle #15Dynamics

3Productivity

If virtual address mapping is used to organize read cache, then read operations are reduced, but cache management complexity increases

Engineering Contradiction:
Improveread operation efficiencyVSAvoidaddress mapping structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The virtual address space is segmented into virtual blocks that map to physical cache lines. This segmentation creates a hierarchical address mapping structure where virtual block numbers and offsets are separately handled. The tag storage is organized by virtual block, allowing efficient lookup while reducing the complexity of managing the entire address space as a single structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a two-dimensional address mapping structure: virtual block dimension and offset dimension. Instead of linear address mapping, the system uses virtual block numbers as one dimension and byte offsets as another, enabling more efficient cache organization and lookup. This dimensional transformation simplifies the management of large address spaces by breaking them into manageable virtual blocks.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9223702B2Systems and methods for read caching in flash storage
Publication Date: 2015.12.29 WESTERN DIGITAL TECHNOLOGIES INC
  • US9223702B2 patent drawing
  • US9223702B2 patent drawing
  • US9223702B2 patent drawing

AI summary

A flash controller receives a read request for reading a page of data from the flash memory from a host system, and identifies, in a cache tag table stored in the random access memory, a virtual unit address associated with the page of data. In response to identifying the virtual unit address in the cache tag table, controller determines whether a valid tag line for the page of data is associated with the virtual unit address in the cache tag table. In response to determining that the valid tag line is associated with the virtual unit address in the cache tag table, the controller reads the page of data from the random access memory in accordance with the read request and returns the read data to the host system.