DRAM Mapping Table Swapping via Access Pattern Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveread and write performanceVSAvoidDRAM capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

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

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvememory utilizationVSAvoidswap overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #23Feedback

3Device complexity

If swapping is disallowed, then processing simplicity is improved, but memory efficiency and adaptability deteriorate

Engineering Contradiction:
Improveswapping management complexityVSAvoidmemory efficiency
Core Design Contradiction:
Device complexityVSProductivity

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9081660B2Method and system for efficiently swapping pieces into and out of DRAM
Publication Date: 2015.07.14 SANDISK TECHNOLOGIES LLC
  • US9081660B2 patent drawing
  • US9081660B2 patent drawing
  • US9081660B2 patent drawing

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.