Memory Controller Hot Page Detection via Dynamic Scanning Intervals
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In heterogeneous memory systems, accurately distinguishing between hot and cold data is crucial for optimizing storage efficiency, as existing methods lack effective mechanisms to quickly detect and manage access patterns across different memory devices with varying speeds.
Innovation Solution
A memory controller that includes a scanning period controller, an attribute determiner, and a memory allocator, which sets scanning intervals based on access intervals to determine whether pages are hot or cold, thereby optimizing data storage between high-speed and low-speed memory devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a heterogeneous memory system uses memory devices with different operation speeds to improve performance, then the storage capacity is limited, but the ability to accurately detect hot and cold data attributes deteriorates
Solution Approach 1:
The memory controller performs preliminary actions by setting scanning points in advance and resetting access information at these points. This allows the system to proactively monitor and detect access patterns before data access requests occur, enabling accurate classification of hot and cold data without delaying actual data operations.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring access information at scanning points and using this feedback to determine data attributes. The access information is reset and updated based on actual access patterns, allowing the system to adaptively classify pages as hot or cold and adjust memory allocation accordingly.
2Productivity
If the scanning interval for detecting hot pages is reduced to improve detection speed, then the detection accuracy deteriorates due to insufficient monitoring period
Solution Approach 1:
The scanning interval is made dynamic rather than fixed. The memory controller adjusts the scanning interval based on actual access patterns and data attributes. For pages with frequent accesses, the scanning interval is reduced to improve detection speed, while for pages with rare accesses, the interval is extended to ensure accurate measurement. This dynamic adjustment resolves the contradiction between detection speed and measurement accuracy.
Solution Approach 2:
The system changes the scanning interval parameter based on access information and data attributes. By modifying this critical parameter dynamically, the system can optimize both detection speed and accuracy simultaneously, avoiding the trade-off that would exist with a fixed scanning interval.
3Speed
If access information is reset frequently to improve detection responsiveness, then the overhead for managing scanning points increases
Solution Approach 1:
The memory address space is segmented into multiple pages, and the scanning process is applied to each page independently. This segmentation allows the system to manage scanning points efficiently by processing only relevant pages rather than the entire memory space, reducing overall overhead while maintaining responsive detection through targeted scanning.
Data Source
AI summary
Provided herein may be a memory controller and a memory system including the same. The memory controller includes a scanning period controller configured to reset, whenever scanning points sequentially arrive, access information indicating whether each of a plurality of pages is accessed, and set a scanning interval for each of the pages between the scanning points for the page based on an attribute of the page, an attribute determiner configured to determine, as a hot page or a cold page, the attribute of each of the pages based on an access interval for the page from the first scanning point among the scanning points for the page to time at which access to data stored in the page is requested, and a memory allocator configured to control first and second memory devices based on the attributes of the pages.


