Flexible Memory Compression for Change Log Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory systems face performance issues due to frequent transfers of data between volatile and non-volatile memory, leading to increased latency and reduced efficiency in updating physical-to-logical address mappings.
Innovation Solution
Implementing flexible information compression at the change log level, allowing the memory system to compress information associated with sequentially indexed addresses, thereby reducing the frequency of transfers between volatile and non-volatile memory and improving performance by switching between operating modes based on access patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If information is stored uncompressed in the change log, then all address mappings can be tracked, but the frequency of transfers between volatile and non-volatile memory increases, leading to higher latency
Solution Approach 1:
The patent extracts only the essential information needed for address mapping from the change log entries. By taking out only the critical address mapping data and storing it in a compressed format in non-volatile memory, the system reduces transfer frequency while maintaining the ability to track address mappings reliably.
Solution Approach 2:
The patent changes the parameter of information representation by compressing change log entries into a condensed format. This parameter change allows the same amount of information to be stored in fewer words, reducing the transfer size and frequency between memory types while maintaining reliability.
2Loss of time
If compression is applied to change log information, then transfer frequency between memory types is reduced, but the complexity of compression and decompression operations increases
Solution Approach 1:
The patent segments the change log into fixed-size entries with a standardized format (valid bit, LBA, PPA). This segmentation allows for systematic compression where consecutive valid entries are grouped together, reducing overall complexity while achieving effective compression.
Solution Approach 2:
Instead of compressing arbitrary data formats, the patent inverts the approach by designing the change log entry format specifically to enable compression. By organizing data in a structured, sequential manner from the beginning, the compression operation becomes simpler and more efficient.
3Speed
If the change log is kept in volatile memory, then fast access is achieved, but the memory capacity is consumed and requires frequent updates to non-volatile memory
Solution Approach 1:
The patent introduces a compressed change log structure as an intermediary representation. By compressing the change log entries before storing them in non-volatile memory, the system effectively increases the available capacity in volatile memory while maintaining fast access speeds, as the compressed data requires fewer transfers.
4Productivity
If sequential access patterns are detected, then compression efficiency is improved, but the overhead of detecting and managing patterns increases
Solution Approach 1:
The patent implements self-service pattern detection where the compression algorithm automatically identifies sequential access patterns through simple comparison of consecutive LBA values. The system serves its own compression needs by detecting patterns during the normal operation of writing to the change log, minimizing additional overhead.
Data Source
AI summary
Methods, systems, and devices for flexible information compression at a memory system are described. For example, a memory system may compress information in a change log to reduce the frequency of transfers of one or more mappings between volatile memory and non-volatile memory. The memory system may compress information associated with a sequence of sequentially-indexed addresses by storing the information associated with those addresses at a pair of entries in the change log. The memory system may additionally switch between a first operating mode associated with identifying sequentially-indexed addresses and generating compressed entries, and a second operating mode associated with generating entries of the change log for each address received in commands.


