NAND Flash Distributed Virtual Cache Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current non-volatile memory devices, such as NAND flash memory, face performance limitations due to the use of volatile memory in controllers, which increases costs and reduces efficiency in random programming operations.

Innovation Solution

Implementing a distributed virtual cache architecture within NAND flash memory devices using separate registers for read and programming operations, allowing for interleaved operations and data swapping between cache and data registers to optimize performance without increasing volatile memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If volatile memory is used in controllers of managed memory devices, then data buffering and operation translation can be performed, but the area consumption increases and controller costs increase

Engineering Contradiction:
Improvedata buffering capabilityVSAvoidcontroller area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent extracts the volatile memory buffer function from the external controller and relocates it to the NAND flash memory device itself by repurposing the data register as a distributed virtual cache. This eliminates the need for volatile memory in the controller while maintaining the data buffering capability, directly resolving the contradiction between productivity and area consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The data register in the NAND flash memory device is given multiple functions: it serves as both the traditional data register for programming operations and as a distributed virtual cache for buffering data. This multi-functionality allows the system to maintain buffering capabilities without adding dedicated volatile memory, addressing the contradiction between productivity and area usage.

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

2Productivity

If separate registers are used for read and programming operations, then random programming performance is improved, but device complexity increases

Engineering Contradiction:
Improverandom programming performanceVSAvoidregister architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the data register into multiple independent banks (e.g., four 512-byte banks). This segmentation allows simultaneous read and programming operations to occur in parallel across different banks, improving random programming performance while keeping the overall architecture manageable through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the register architecture by organizing data banks in a two-dimensional array structure with row and column addressing. This dimensional organization enables efficient simultaneous access patterns for both read and programming operations without significantly increasing control logic complexity.

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

3Productivity

If data is swapped between cache register and data register, then interleaved operations can be performed, but control complexity increases

Engineering Contradiction:
Improveinterleaved operation capabilityVSAvoidcontrol logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-organizing data into separate banks within the data register before operations begin. This pre-organization allows the controller to perform interleaved read and programming operations without complex real-time data movement logic, as the data is already positioned for efficient access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a bank address counter and control logic that acts as an intermediary between the controller and the data banks. This intermediary automatically manages the swapping and selection of data banks during interleaved operations, simplifying the control complexity by encapsulating the complexity in a dedicated control module rather than distributing it throughout the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3053168B1Volatile memory architecture in non-volatile memory devices and related controllers
Publication Date: 2022.11.30 MICRON TECHNOLOGY INC
  • EP3053168B1 patent drawingFigure 1
  • EP3053168B1 patent drawingFigure 2
  • EP3053168B1 patent drawingFigure 3

AI summary

In some embodiments, one register of a non-volatile memory can be used for read operations and another register of the non-volatile memory can be used for programming operations. For instance, a cache register of a NAND flash memory can be used in connection with read operations and a data register of the NAND flash memory can be used in connection with programming operations. Data registers of a plurality of non-volatile memory devices, such as NAND flash memory devices, can implement a distributed volatile cache (DVC) architecture in a managed memory device, according to some embodiments. According to certain embodiments, data can be moved and/or swapped between registers to perform certain operations in the non-volatile memory devices without losing the data stored while other operations are performed.