CI Hint Directories for Low-Latency Memory Bandwidth Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory bandwidth compression schemes face limitations due to the need for a master directory, which consumes system memory, requires additional logic, and incurs latency, or sacrifice memory access performance by determining compression states after initial reads.
Innovation Solution
Implementing a compression indicator (CI) hint directory in a CPU-based system that tracks compression states for each memory line, allowing for in-flight modification of memory read operations and avoiding the drawbacks of master directories.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a master directory is used to track compression status for each memory line, then compression state tracking is achieved, but system memory consumption increases and additional logic is required
Solution Approach 1:
The patent extracts the compression status tracking function from a traditional master directory structure and implements it using a simplified data structure that only stores compression status bits for active memory lines. This extraction removes the need for a complete directory covering all possible memory lines, thereby reducing system memory consumption while maintaining reliable compression state tracking for actually used memory locations.
Solution Approach 2:
The patent employs a lightweight compression status data structure that is created and discarded as needed, rather than maintaining a permanent master directory. This disposable approach uses minimal memory resources by only storing compression status information when actually needed for active memory lines, avoiding the overhead of a comprehensive directory structure.
2Reliability
If a master directory is used to track compression status, then compression state information is available, but access latency increases
Solution Approach 1:
The patent performs preliminary action by maintaining compression status information in a readily accessible format that is updated in real-time as memory lines are allocated and deallocated. This allows the system to have compression state information ready before it is needed, eliminating the latency associated with searching or constructing a master directory at access time.
Solution Approach 2:
The patent creates a simplified copy of the compression status information that is much smaller and faster to access than a complete master directory. This copy contains only the essential compression status bits for active memory lines, enabling rapid lookup without the overhead of a comprehensive directory structure, thereby reducing access latency while maintaining information reliability.
3Productivity
If compression state is determined after initial read, then memory access performance is maintained, but bandwidth compression efficiency is reduced
Solution Approach 1:
The patent performs preliminary action by determining compression status before memory read operations are completed. The compression status is checked in advance using the efficient data structure, allowing the system to apply compression optimizations during the read operation itself rather than after, thereby maintaining both memory access performance and bandwidth compression efficiency simultaneously.
Solution Approach 2:
The patent implements feedback by continuously updating compression status information as memory operations occur. This real-time feedback mechanism allows the system to adjust memory read operations dynamically based on current compression states, ensuring that bandwidth compression is applied efficiently while maintaining high memory access performance through informed decision-making about which reads to optimize.
Data Source
AI summary
Providing memory bandwidth compression using compression indicator (CI) hint directories in a central processing unit (CPU)-based system is disclosed. In this regard, a compressed memory controller provides multiple CI hint directory entries, each providing a plurality of CI hints. The compressed memory controller receives a memory write request comprising write data, determines a compression pattern for the write data, and generates a CI for the write data based on the compression pattern. The compressed memory controller writes the write data to the memory line, and writes the generated CI into one or more ECC bits of the memory line. In parallel, the compressed memory controller determines whether the physical address corresponds to a CI hint directory entry, and, if so, a CI hint of the CI hint directory entry corresponding to the physical address is updated based on the generated CI.


