Hierarchical Memory System Using Persistent Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face challenges in efficiently utilizing non-volatile memory resources due to their non-deterministic behavior, leading to increased costs and limitations in providing memory resources to multi-user networks, as they rely heavily on volatile memory for main memory provisioning.

Innovation Solution

Implementing a hierarchical memory system that redirects data requests from volatile memory to non-volatile memory, using logic circuitry to intercept and manage data access, allowing non-volatile memory to be used as part of the main memory, and utilizing a hypervisor to selectively store data in persistent or non-persistent memory based on access patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If volatile memory is used for main memory provisioning, then memory access speed and system performance are improved, but cost increases and memory capacity is limited

Engineering Contradiction:
Improvememory access speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the memory system into multiple levels: volatile memory (DRAM) for frequently accessed data and non-volatile memory (NAND flash) for less frequently accessed data. The memory controller divides memory management tasks between these segments, allowing the system to leverage the speed of volatile memory while utilizing the large capacity of non-volatile memory, thereby resolving the contradiction between access speed and memory capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the memory system by stacking volatile and non-volatile memory layers. Instead of treating memory as a single uniform resource, the system creates a multi-dimensional memory architecture where data can be stored at different levels based on access frequency, enabling both fast access for critical data and large capacity for bulk storage.

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

2Quantity of substance

If non-volatile memory is used for main memory, then cost is reduced and memory capacity is increased, but memory access speed and system performance deteriorate due to non-deterministic behavior

Engineering Contradiction:
Improvememory capacityVSAvoidmemory access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent implements preliminary actions by pre-loading frequently accessed data from non-volatile memory into volatile memory buffers before they are needed. The memory controller predicts access patterns and proactively transfers data to faster storage locations, ensuring that when data is actually accessed, it is already in high-speed memory, thus maintaining performance while using non-volatile memory for bulk storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces volatile memory buffers and a sophisticated memory controller as intermediaries between non-volatile memory and the CPU. These intermediaries cache data from non-volatile memory and manage transfer operations, shielding the CPU from the non-deterministic access times of non-volatile memory while still enabling large capacity storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If non-volatile memory is used for main memory, then available memory resources are increased at lower cost, but system reliability and determinism worsen

Engineering Contradiction:
Improvememory resourcesVSAvoidmemory access determinism
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where the memory controller continuously monitors access patterns, timing, and performance metrics. Based on this feedback, the controller dynamically adjusts data placement between volatile and non-volatile memory, optimizes buffer management, and makes real-time decisions to maintain deterministic access times. This feedback loop ensures that the system adapts to maintain reliability while utilizing large non-volatile memory capacity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11586556B2Hierarchical memory systems
Publication Date: 2023.02.21 MICRON TECHNOLOGY INC
  • US11586556B2 patent drawing
  • US11586556B2 patent drawing
  • US11586556B2 patent drawing

AI summary

Apparatuses, systems, and methods for hierarchical memory systems are described. A hierarchical memory system can leverage persistent memory to store data that is generally stored in a non-persistent memory, thereby increasing an amount of storage space allocated to a computing system at a lower cost than approaches that rely solely on non-persistent memory. An example method includes receiving a request to access data via an input/output (I/O) device, determining whether the data is stored in a non-persistent memory device or a persistent memory device, and redirecting the request to access the data to logic circuitry in response to determining that the data is stored in the persistent memory device.