Storage Bandwidth Averaging via Sliding-Window Credits

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvebandwidth accuracyVSAvoiddata transfer efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvedata transfer speedVSAvoidmeasurement window synchronization
Core Design Contradiction:
SpeedVSAdaptability or versatility

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improveaverage performance accuracyVSAvoidFirmware processing load
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12457160B2Bandwidth averaging in a stochastic system
Publication Date: 2025.10.28 SANDISK TECHNOLOGIES LLC
  • US12457160B2 patent drawing
  • US12457160B2 patent drawing
  • US12457160B2 patent drawing

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.