Store Buffer Latency Tracking for Deterministic Data Delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data handling systems with shared store buffers face inefficiencies due to reservation schemes that partition buffers, leading to potential stalls and delays when handling interrupts or events requiring deterministic latency, as they reserve entries for TCM accesses, which can negate the benefits of shared buffering.
Innovation Solution
Implementing a control mechanism that tracks buffer entries based on expected delivery latency, allowing buffer use without strict reservation, ensuring that a threshold number of entries are available within a threshold availability period to handle events efficiently, thereby optimizing buffer usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a reservation scheme is used to reserve store buffer entries for TCM accesses, then deterministic latency for TCM writes is ensured, but buffer utilization efficiency deteriorates due to partitioning and potential stalls
Solution Approach 1:
The patent implements dynamic buffer management where the availability of buffer entries is determined by tracking delivery latencies of currently held data items rather than static reservation. The control circuitry continuously monitors when buffer entries will become available based on their respective delivery latencies to different destinations, allowing the buffer to adapt its capacity allocation dynamically based on real-time conditions rather than fixed partitions
Solution Approach 2:
The system changes the parameter of buffer entry availability from a static reserved state to a dynamic state based on delivery latency predictions. By calculating when each buffer entry will be freed based on its delivery latency to the destination, the system transforms the buffer management approach from fixed reservation to flexible time-based availability, enabling better utilization while maintaining deterministic guarantees
2Productivity
If a shared store buffer is used without reservation, then buffer utilization efficiency is improved, but deterministic latency for time-critical accesses deteriorates due to potential full buffer conditions
Solution Approach 1:
The control circuitry performs preliminary assessment of buffer availability by calculating when buffer entries will become free based on their delivery latencies before accepting new data items. This preliminary action of predicting future buffer availability prevents buffer overflow conditions that would stall time-critical accesses, while still allowing high utilization by accepting items that won't conflict with deterministic latency requirements
3Quantity of substance
If buffer entries are held for high-latency destinations, then storage capacity is utilized, but availability of entries for low-latency TCM accesses deteriorates
Solution Approach 1:
The system implements feedback by continuously monitoring the delivery latencies of data items held in the buffer and using this information to determine future buffer availability. The control circuitry receives feedback about when each buffer entry will be freed based on its destination's latency characteristics, allowing it to make informed decisions about accepting new items while ensuring deterministic availability for time-critical accesses
Data Source
AI summary
Apparatus comprises source circuitry to provide data items; buffer circuitry having a set of buffer entries to hold one or more data items, provided by the source circuitry, for delivery to one or more destinations within a respective delivery latency, in which a buffer entry holding an initial data item becomes available to hold another data item in response to delivery of the initial data item to its respective destination; and control circuitry to control acceptance of data items from the source circuitry for holding by the buffer circuitry, the control circuitry being configured to control the buffer circuitry to accept a given data item when: (i) a buffer entry is available to hold the given data item and (ii) the delivery latency of data items including the given data item held by the buffer circuitry is such that at least a threshold number of buffer entries may be made available within no more than a threshold availability period.


