Compressor-Decompressor Unit at Memory Interface for Distributed Cache
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing systems face challenges in optimizing memory bandwidth and power usage while minimizing processing time, particularly when handling compressed data in a distributed cache hierarchy, where variable length compression and decompression lead to disjointed data pieces and increased power and area consumption.
Innovation Solution
Implementing a compressor-decompressor unit at the memory interface to manage and track uncompressed data, allowing for efficient data allocation and compression during LOAD and STORE operations, with features like back-filling and snooping to consolidate complementary data pieces, thereby reducing power usage and maintaining data integrity across a distributed cache fabric.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If compression elements are included in processing blocks, then data compression capability is improved, but power consumption and area increase
Solution Approach 1:
The patent extracts the compression/decompression functionality from the processing blocks and relocates it to the memory interface. This allows compression capability to be maintained while reducing power consumption and area in the processing blocks, as the compression engine is now shared across multiple processing elements through the memory interface location.
Solution Approach 2:
By placing the compression engine at the memory interface, the same compression resource serves multiple processing elements and handles both compression and decompression operations. This universal approach eliminates the need for dedicated compression elements in each processing block, thereby reducing overall power consumption and area while maintaining compression capability.
2Adaptability or versatility
If compression elements are included in processing blocks, then data compression capability is improved, but device area increases
Solution Approach 1:
The compression functionality is extracted from individual processing blocks and consolidated at the memory interface. This extraction reduces the area required in each processing block while maintaining the system's overall compression capability through the shared memory interface compression engine.
Solution Approach 2:
The patent merges the compression functionality across multiple processing elements by placing a single compression engine at the memory interface. This consolidation eliminates redundant compression hardware in each processing block, thereby reducing total device area while preserving compression capability through shared resources.
3Productivity
If compressed data is stored in memory, then memory bandwidth utilization is improved, but data management complexity increases
Solution Approach 1:
The memory interface acts as an intermediary that automatically handles the complexity of compressed data management. It performs compression/decompression operations and manages data format conversions between compressed storage in memory and uncompressed data in the cache fabric, thereby simplifying the data management burden on processing elements while maintaining improved memory bandwidth utilization.
Solution Approach 2:
The system implements self-service by having the memory interface automatically perform compression and decompression operations without requiring complex data management logic in the processing elements. The compression engine at the memory interface autonomously handles data format conversions, reducing the complexity of data management across the system while preserving memory bandwidth efficiency.
4Productivity
If variable length compression is used, then data compression efficiency is improved, but cache fabric data tracking complexity increases
Solution Approach 1:
The memory interface serves as an intermediary that manages the complexity of tracking variable length compressed data. It handles the conversion between variable length compressed data in memory and fixed length cache lines in the cache fabric, automatically managing the tracking requirements without burdening the cache fabric with complex variable length data handling logic.
Data Source
AI summary
Technologies are presented that optimize data processing cost and efficiency. A computing system may comprise at least one processing element; a memory communicatively coupled to the at least one processing element; at least one compressor-decompressor communicatively coupled to the at least one processing element, and communicatively coupled to the memory through a memory interface; and a cache fabric comprising a plurality of distributed cache banks communicatively coupled to each other, to the at least one processing element, and to the at least one compressor-decompressor via a plurality of nodes. In this system, the at least one compressor-decompressor and the cache fabric are configured to manage and track uncompressed data of variable length for data requests by the processing element(s), allowing usage of compressed data in the memory.


