Cache-Line Memory Delta Tracking to Reduce Bandwidth Amplification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory tracking methods at virtual memory page granularity result in significant space and bandwidth amplification, leading to performance issues and inefficiencies in data transmission, particularly when using larger page sizes.
Innovation Solution
Implementing a system that tracks memory changes at cache line granularity, utilizing a cache coherency protocol to maintain memory coherency and log memory deltas at a finer level, allowing for contiguous memory delta logs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If memory tracking is performed at virtual memory page granularity, then implementation simplicity is maintained, but space amplification and bandwidth amplification increase significantly
Solution Approach 1:
The patent segments the memory tracking granularity from page-level to cache line-level (64 bytes vs. 4KB pages). This segmentation allows tracking only the specific cache lines that have been modified rather than entire pages, reducing the quantity of data that needs to be logged and transmitted. The controller divides memory into cache line units and uses cache coherency protocols to identify and log only modified cache lines.
Solution Approach 2:
The patent applies local quality by tracking memory modifications at the specific location level (cache line) rather than uniformly tracking entire pages. The cache line granularity allows the system to log only the specific local regions that have changed, rather than treating all pages uniformly. This selective tracking reduces bandwidth amplification and space requirements for the delta log.
2Device complexity
If memory tracking is performed at virtual memory page granularity, then implementation simplicity is maintained, but transmission bandwidth increases
Solution Approach 1:
The patent segments the memory tracking granularity from page-level to cache line-level (64 bytes vs. 4KB pages). This segmentation allows tracking only the specific cache lines that have been modified rather than entire pages, reducing the quantity of data that needs to be logged and transmitted. The controller divides memory into cache line units and uses cache coherency protocols to identify and log only modified cache lines.
Solution Approach 2:
The patent applies local quality by tracking memory modifications at the specific location level (cache line) rather than uniformly tracking entire pages. The cache line granularity allows the system to log only the specific local regions that have changed, rather than treating all pages uniformly. This selective tracking reduces bandwidth amplification and space requirements for the delta log.
3Productivity
If larger page sizes are used, then fewer pages need to be tracked, but space amplification and bandwidth amplification worsen
Solution Approach 1:
The patent segments the memory tracking granularity from page-level to cache line-level (64 bytes vs. 4KB pages). This segmentation allows tracking only the specific cache lines that have been modified rather than entire pages, reducing the quantity of data that needs to be logged and transmitted. The controller divides memory into cache line units and uses cache coherency protocols to identify and log only modified cache lines.
Solution Approach 2:
The patent applies local quality by tracking memory modifications at the specific location level (cache line) rather than uniformly tracking entire pages. The cache line granularity allows the system to log only the specific local regions that have changed, rather than treating all pages uniformly. This selective tracking reduces bandwidth amplification and space requirements for the delta log.
Data Source
AI summary
Systems, methods, and computer readable media for tracking memory deltas at a cache line granularity. The method includes determining a state of a cache line stored on the memory device; responsive to determining that the cache line is in a modified state, store the cache line in an active log memory buffer associated with the memory device; and associating, with the active log memory buffer, a flag indicating that the active log memory buffer is full; and sending a status message to a host system.


