Memory Sub-System Cache Coherent Storage Access
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Speed
If volatile memory is used as cache memory for proactive caching, then access speed is improved, but memory resource management complexity increases
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.
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.
3Productivity
If page replacement and prefetching techniques are employed, then cache hit rate is improved, but processing overhead increases
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.
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.
4Productivity
If non-volatile storage capacity is used for memory services, then storage efficiency is improved, but access latency increases
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.
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.
Data Source
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.


