Persistent Memory Read Optimization via Cache Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current non-volatile storage systems face performance bottlenecks due to inefficient data reading processes, particularly in accessing and utilizing the parallelism within the storage system, leading to delays and reduced application performance in electronic devices.
Innovation Solution
Implementing a Persistent Memory Region (PMR) with a cache that shares its structure details with the host, allowing the host to send read requests that take advantage of parallelism by identifying and utilizing cache segments for concurrent data retrieval, thereby improving data reading efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional sequential read requests are sent to non-volatile storage system, then simplicity of host operation is maintained, but data reading speed and system performance deteriorate due to inability to utilize parallelism
Solution Approach 1:
The storage system divides the cache into multiple cache segments and provides segment information to the host. The host then sends read requests targeted at specific cache segments, enabling parallel processing of multiple requests simultaneously. This segmentation allows the host to efficiently utilize the storage system's parallelism without requiring complex operations.
2Productivity
If host sends multiple individual read requests for optimal data retrieval, then data reading efficiency improves, but operation complexity and time management burden increase
Solution Approach 1:
The storage system automatically manages the cache segments and handles read requests efficiently. Once the host sends initial read requests for cache segments, the storage system self-manages the data retrieval and delivery process, reducing the host's operational burden while maintaining high productivity.
3Loss of time
If storage system processes read requests sequentially, then processing simplicity is maintained, but latency increases and application performance deteriorates
Solution Approach 1:
The storage system pre-loads data into cache segments before the host needs it. By maintaining ready-to-use cache segments and providing segment information to the host, the system eliminates wait time and reduces latency without requiring complex parallelism management during actual read operations.
Data Source
AI summary
A non-volatile storage system that is implementing a storage region (e.g., a persistent memory region) which is accessible to a host (e.g., via a PCIe connection) and a cache for the storage region shares details of the structure of the storage region and/or the cache (e.g., cache segment size). With awareness of the shared details of the structure of the storage region and/or the cache, the host arranges and sends out requests to read data from the persistent memory region in a manner that takes advantage of parallelism within the non-volatile storage system. For example, the host may initially send out one read request per cache segment to cause the non-volatile storage system to load the cache. Subsequently, additional read requests are made to the non-volatile storage system, with the data already loaded (or starting to load) in the cache, thereby increasing performance.


