Memory Compression Write Credits for Guaranteed Storage Availability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data processing systems, the transparent use of compression techniques in memory can lead to issues when a processing element commits a write operation without knowing if there is sufficient storage space, as the storage device may be overcommitted, making it impractical to stall the processing element until the compression decision is made.
Innovation Solution
Implement a system of write credits managed by compression circuitry to reserve storage locations, ensuring the processing element obtains sufficient credits before issuing a write request, allowing transparent and efficient compression without performance impact.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If compression techniques are used transparently to increase memory capacity, then storage efficiency is improved, but the risk of insufficient physical storage space increases when data cannot be compressed sufficiently
Solution Approach 1:
The system performs preliminary actions by having the processing element reserve write credits before issuing write requests. This advance reservation ensures that sufficient storage locations are guaranteed to be available when data needs to be written, preventing the reliability issue of insufficient storage space while maintaining the benefit of transparent compression.
Solution Approach 2:
Write credits act as an intermediary mechanism between the processing element and the compression circuitry. The credits serve as a contractual guarantee that storage space will be available, allowing the processing element to operate transparently without needing to know the actual compression outcome while ensuring storage availability is maintained.
2Reliability
If the processing element is stalled until compression decision is made, then storage availability is ensured, but data processing performance deteriorates
Solution Approach 1:
The processing element performs preliminary action by reserving write credits in advance before the actual write operation. This allows the element to continue processing without stalling, as the credit reservation guarantees future storage availability. The actual compression decision can then be made independently without blocking the processing element.
Solution Approach 2:
The processing element serves itself by autonomously managing write credit reservations. It can independently determine when to request and reserve credits, and continue its processing pipeline without waiting for the compression circuitry to make decisions on other data blocks, thus maintaining high productivity while ensuring storage availability.
3Reliability
If write credits are reserved in advance, then storage locations are guaranteed available, but the complexity of the memory management system increases
Solution Approach 1:
Write credits serve as a simple intermediary abstraction that masks the underlying complexity. Instead of directly managing complex compression evaluations and storage allocation, the system uses credits as a straightforward counting mechanism. The processing element simply reserves and spends credits, while the compression circuitry independently manages the actual storage allocation based on compression outcomes.
Solution Approach 2:
The compression circuitry serves itself by autonomously managing the write credit pool. It independently tracks which credits are reserved, which are available, and automatically allocates storage locations based on compression decisions. This self-service approach minimizes the need for complex coordination protocols between the processing element and compression circuitry.
Data Source
AI summary
An apparatus is described having a processing element to perform data processing operations on data accessible in memory. The processing element identifies accesses to a given memory region of the memory using addresses specified within an uncompressed address space, whilst a storage device used to implement the memory provides, for the given memory region, a given pool of storage locations within a compressed address space. Compression circuitry is arranged, for a block of data to be written to an address within the given memory region, to perform a compression evaluation operation to determine a selected format in which the block of data is to be written to the given pool of storage locations, the selected format being chosen from an uncompressed format where a plurality M of storage locations are to be used to store the block of data, and one or more compressed formats where a number of storage locations less than M are to be used to store the block of data. The compression circuitry maintains a plurality of write credits in association with the given pool of storage locations, where the number of write credits is dependent on the number of storage locations within the given pool and the write credits are used to reserve storage locations within the given pool. The processing element is constrained, prior to issuing a write request seeking to write a given block of data to a given address within the given memory region, to obtain a sufficient number of the write credits to ensure that M storage locations within the given pool will be available when in due course the compression circuitry is triggered to perform the compression evaluation operation for the given block of data.


