Memory Sub-System Cache Coherent Storage Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems face challenges in optimizing peak performance for memory access by efficiently managing volatile and non-volatile memory resources, particularly in providing both memory and storage services over a physical connection, which leads to delays and inefficiencies in data retrieval and storage.

Innovation Solution

A memory sub-system configured to use a portion of its fast memory as cache memory, predicting memory page usage to proactively cache contents using a cache-coherent memory access protocol, and employing techniques like page replacement and prefetching based on usage hints from the host system to minimize delays and optimize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a memory sub-system provides both memory services and storage services over a physical connection, then service versatility is improved, but access latency increases and peak performance deteriorates

Engineering Contradiction:
Improveservice versatilityVSAvoidaccess latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the non-volatile storage capacity into distinct portions: one portion dedicated to memory services and another portion dedicated to storage services. This segmentation allows the system to provide both service types simultaneously while preventing interference between them, thereby maintaining low access latency for memory operations while preserving service versatility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements proactive caching of memory pages into volatile memory based on usage predictions before actual access occurs. By performing preliminary actions to load frequently accessed pages into faster volatile memory, the system reduces access latency for subsequent memory operations while maintaining the ability to provide both memory and storage services.

Inventive Principle:
Principle #10Preliminary action

2Speed

If volatile memory is used as cache memory for proactive caching, then access speed is improved, but memory resource management complexity increases

Engineering Contradiction:
Improveaccess speedVSAvoidmemory resource management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by predicting which memory pages will be accessed soon and proactively caching them in volatile memory before actual access occurs. This reduces access speed penalties while the prediction mechanism automates the management complexity, balancing performance improvement with manageable system complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs usage hints and access patterns as feedback mechanisms to dynamically adjust which pages are cached in volatile memory. This feedback-driven approach optimizes cache utilization and manages memory resources efficiently, reducing the perceived complexity through automated decision-making based on actual usage patterns.

Inventive Principle:
Principle #23Feedback

3Productivity

If page replacement and prefetching techniques are employed, then cache hit rate is improved, but processing overhead increases

Engineering Contradiction:
Improvecache hit rateVSAvoidprocessing overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary prefetching of memory pages based on usage predictions, loading pages into volatile memory before they are actually accessed. This increases cache hit rates by having data ready in advance, while the automated prediction algorithms manage the processing overhead without requiring complex real-time decision-making during access operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service mechanisms where the memory sub-system automatically monitors usage patterns, predicts future accesses, and manages page replacement without external intervention. This automation reduces the effective processing overhead by making the system self-regulating based on observed usage hints and access patterns.

Inventive Principle:
Principle #25Self-service

4Productivity

If non-volatile storage capacity is used for memory services, then storage efficiency is improved, but access latency increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidaccess latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the non-volatile storage capacity into separate portions for memory services and storage services. The memory service portion can be proactively cached in volatile memory, reducing access latency for frequently accessed data while maintaining high storage efficiency for less frequently accessed data in non-volatile memory. This segmentation resolves the latency-efficiency tradeoff by allowing different access paths for different data types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary caching of memory pages from non-volatile storage into volatile memory based on usage predictions. This preliminary action reduces the effective access latency for subsequent memory operations by having data ready in faster memory, while the non-volatile storage portion maintains high storage efficiency for the entire memory service capacity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250013570A1Performance Optimization for Loading Data in Memory Services Configured on Storage Capacity of a Data Storage Device
Publication Date: 2025.01.09 MICRON TECHNOLOGY INC
  • US20250013570A1 patent drawing
  • US20250013570A1 patent drawing
  • US20250013570A1 patent drawing

AI summary

Techniques to improve performance of loading data from memory addresses implemented in a storage capacity of a memory sub-system. A connection from the memory sub-system to a host system supports both a protocol for cache-coherent memory access to a memory device implemented in the storage capacity and a protocol for storage access. A cache memory is used in the memory sub-system to cache pages of the memory device for accessing over the connection. The host system can enter hints about future memory accesses in a storage access queue, which can be configured in the memory device, or a memory of the host system. Based on the hints the memory sub-system can prefetch pages from the storage capacity into the cache memory for improved performance in servicing requests from the host system to load data from the memory device.