Dual Volatile Cache Architecture for NAND Read Disturbance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory devices with non-volatile NAND memory suffer from read disturbance and cache trashing due to frequent replacement of data in volatile cache memory, leading to slowed response times and potential read errors, especially when multiple read requests access the same location.

Innovation Solution

A memory device with a control circuit, a first volatile cache memory for storing data to be written or read from non-volatile memory, and a second volatile cache memory dedicated for read operations, which uses a least-recently-used or frequency-based replacement policy to minimize cache trashing and read disturbance by storing additional pages in the second cache.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a small volatile cache memory is used to store frequently requested data, then cache access speed is improved, but cache trashing occurs when multiple frequently accessed pages map to the same cache line, causing data to be continually replaced and requiring direct NAND memory access

Engineering Contradiction:
Improvecache access speedVSAvoidcache hit rate
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The cache memory is divided into two separate caches: a first volatile cache memory for write operations and a second volatile cache memory for read operations. This segmentation allows each cache to be optimized for its specific function, preventing cache trashing by dedicating the second cache solely to read requests, thereby maintaining high cache hit rates for read operations while preserving fast access speed.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is frequently read from the same location in NAND memory, then data retrieval is achieved, but read disturbance occurs over time causing read errors

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidread error rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The second volatile cache memory is used to pre-load and store pages of NAND memory that are likely to be read. When a read request occurs, the data is retrieved from the second cache memory rather than directly from NAND memory. This preliminary action of caching read data prevents excessive reading of the same NAND memory locations, thereby reducing read disturbance and read errors while maintaining efficient data retrieval.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the cache memory is used to store entire pages from NAND memory, then efficient data retrieval is improved, but the cache memory size requirement increases

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidcache memory size
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The cache system is segmented into two separate volatile cache memories, each handling specific operations (write and read). This segmentation allows the second cache to be optimized for read operations with appropriate sizing, while the first cache handles write operations. The division enables efficient page-level caching without requiring a single large cache, as each cache can be sized according to its specific operational requirements.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7724568B2Memory device having read cache
Publication Date: 2010.05.25 GREENLIANT LLC
  • US7724568B2 patent drawing
  • US7724568B2 patent drawing
  • US7724568B2 patent drawing

AI summary

A memory device comprises a non-volatile electrically alterable memory which is susceptible to read disturbance. The device has a control circuit for controlling the operation of the non-volatile memory. The device further has a first volatile cache memory. The first volatile cache memory is connected to the control circuit and is for storing data to be written to or read from the non-volatile memory, as cache for the memory device. The device further has a second volatile cache memory. The second volatile cache memory is connected to the control circuit and is for storing data read from the non-volatile memory as read cache for the memory device. Finally the control circuit reads data from the second volatile cache memory in the event of a data miss from the first volatile cache memory, and reads data from the non-volatile memory in the event of a data miss from the first and second volatile cache memories.