Storage Bandwidth Averaging via Sliding-Window Credits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for ensuring bandwidth accuracy in data storage devices fail to maintain a consistent average bandwidth due to lack of synchronization between the host and device, leading to overloading or underutilization of resources, especially when measuring bandwidth over a sliding window.
Innovation Solution
Implementing time slice credits (TSC) to manage bandwidth allocation over a sliding window, ensuring that the device meets the average bandwidth requirement by providing credits based on usage and accumulating them when not in use, sending data only when sufficient credits are available.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If write throttling based approach is used to limit bandwidth, then the device can control bandwidth, but during short periods (e.g., 10 mSec out of 100 mSec) there are no commands at all, requiring the device to provide more than average during other periods to compensate
Solution Approach 1:
The patent implements preliminary action by pre-allocating time slice credits to the device before the measurement window begins. These credits represent predetermined bandwidth allowances that are granted in advance, allowing the device to plan and execute data transfers without experiencing command gaps. The credits are calculated based on the average bandwidth requirement and the time slice duration, ensuring the device has sufficient 'fuel' to operate continuously throughout the window.
Solution Approach 2:
The patent applies dynamics by making the credit allocation adaptive rather than static. The system dynamically adjusts the number of credits granted based on actual bandwidth consumption patterns, device performance characteristics, and remaining time in the measurement window. This dynamic adjustment allows the device to optimize data transfer rates in real-time while maintaining compliance with average bandwidth limits, preventing both throttling-induced gaps and excessive bursts.
2Speed
If credit based approach is used, then data can be sent faster when credit is accumulated, but this approach only works when the timing of the 100 mSec measurement window is known
Solution Approach 1:
The patent implements self-service by enabling the device to autonomously manage its own credit allocation and bandwidth compliance without requiring synchronization with the host's measurement window timing. The device independently tracks its credit balance, monitors its own bandwidth consumption, and autonomously adjusts its data transfer rate to remain within limits. This self-service mechanism eliminates the need for host-device synchronization while maintaining accurate average bandwidth control.
Solution Approach 2:
The patent applies feedback by continuously monitoring the device's bandwidth consumption and credit balance, then using this information to dynamically adjust the data transfer rate. The system implements a closed-loop control mechanism where the device receives feedback about its current bandwidth usage and adjusts its transmission speed accordingly - slowing down when approaching credit limits and accelerating when credits are abundant. This feedback loop ensures compliance with average bandwidth requirements regardless of when measurements occur.
3Measurement precision
If Firmware based approach is used to schedule commands, then both read and write commands can be scheduled to meet required average performance, but the bandwidth is limited because the Firmware gets overloaded with write commands
Solution Approach 1:
The patent applies the extraction principle by removing the bandwidth control logic from the Firmware and implementing it in the device driver layer instead. This extraction eliminates the burden of complex scheduling and credit management from the Firmware, allowing it to focus solely on command execution. The device driver handles all credit tracking, bandwidth calculation, and command rate adjustment, significantly reducing Firmware processing load while maintaining precise average performance control.
Solution Approach 2:
The patent introduces an intermediary layer (the device driver) between the host and the Firmware that handles bandwidth management responsibilities. This intermediary absorbs the complexity of credit-based flow control, translating high-level bandwidth requirements into specific command scheduling decisions. The device driver acts as a buffer that protects the Firmware from being overwhelmed by write commands while ensuring average performance targets are met, effectively mediating between host requirements and device capabilities.
Data Source
AI summary
Instead of maximizing the possible bandwidth of device, utilize time slice credits (TSC), to ensure bandwidth average over a sliding window. When the average is ensured over a sliding window, the device should not care when the host decides to sample a 100 mSec for example, as the average will always be correct. By utilizing set percentage of predetermined allotment for the average bandwidth requirement, the system can give out credit on a predetermined interval. The credit is given out based on usage and once credit is depleted, data cannot be sent until more credit is accumulated. When data is not sent, the system is given a chance to accumulate credit to increase the amount of data sent. Once credit is at a level high enough to send data the device will send the data, but not at a speed that will surpass the average bandwidth requirement.


