DRAM Mapping Table Swapping via Access Pattern Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for managing the swapping of pieces of a mapping table between non-volatile and volatile memory in storage devices are inefficient, as they either disallow swapping or constantly swap pieces without considering the characteristics of access requests, leading to suboptimal use of volatile memory.
Innovation Solution
A method and system that analyze the characteristics of request streams to determine whether to copy pieces of the mapping table from non-volatile memory into volatile memory, using randomness analysis and hit rates to decide on swapping, thereby optimizing the storage and retrieval of pieces in DRAM.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the entire mapping table is stored in DRAM, then read and write performance is improved, but memory cost and device complexity increase
Solution Approach 1:
The mapping table is divided into multiple pieces, with only a subset stored in DRAM while the rest remain in non-volatile memory. This segmentation allows the system to maintain performance benefits of having mapping data in fast memory without requiring DRAM to hold the entire table, thus resolving the contradiction between performance and memory capacity requirements
2Adaptability or versatility
If pieces are constantly swapped between DRAM and non-volatile memory, then memory utilization is improved, but swap overhead and processing time increase
Solution Approach 1:
The system dynamically adjusts the set of mapping table pieces stored in DRAM based on actual access patterns and workload characteristics. Rather than constant swapping or static allocation, the system adapts its memory allocation strategy in response to observed access behavior, reducing unnecessary swaps while maintaining good memory utilization
Solution Approach 2:
The system monitors access patterns to mapping table pieces and uses this feedback information to make intelligent decisions about which pieces to load into or evict from DRAM. This feedback-driven approach ensures that swapping operations are performed only when beneficial, reducing overall swap overhead while maintaining adaptive memory utilization
3Device complexity
If swapping is disallowed, then processing simplicity is improved, but memory efficiency and adaptability deteriorate
Solution Approach 1:
The system performs preliminary analysis of access patterns and proactively loads promising mapping table pieces into DRAM before they are needed, rather than reacting to each access individually. This preliminary action reduces the need for complex real-time swapping decisions while improving memory efficiency by having relevant data readily available
Data Source
AI summary
A system and method for managing swaps of pieces of an address mapping table is disclosed. The method may include a controller of a storage device receiving a stream of requests for accesses to the mapping table, analyzing the stream of requests to determine at least one characteristic of the stream of requests, and determining whether to copy a piece of the mapping table stored in non-volatile memory into the volatile memory based on the determined at least one characteristic. The system may include a storage device with a controller configured to perform the method noted above.


