Throttling Host Writes in Storage Device Buffer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NAND flash memory devices, host writes are not adequately regulated, leading to a rate matching problem where garbage collection fails to free up pages at a sufficient rate to match the host write rate, potentially causing storage device stalls due to a lack of usable blocks.

Innovation Solution

Implementing throttle logic in the storage device to program a host interface, setting a timer to delay accepting writes from the host system, allowing garbage collection to free up pages while continuing to process reads, thus preventing storage device stalls by using the host buffer to manage writes instead of internal buffering resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If host writes are not regulated, then host write rate can be maintained, but garbage collection fails to free up pages at sufficient rate causing storage device stalls

Engineering Contradiction:
Improvehost write rateVSAvoidstorage device stall prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The storage device monitors the number of free pages and dynamically adjusts the host write rate based on garbage collection progress. When free pages fall below a threshold, the device sends throttle commands to reduce host write rate, and resumes normal writes when sufficient free pages are available, creating a closed-loop feedback system that prevents stalls

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The host write rate is made dynamic rather than static. The storage device continuously adjusts the write rate based on real-time conditions (free page count, garbage collection status), transitioning between different operational states (throttled vs. normal rate) to maintain system reliability under varying workloads

Inventive Principle:
Principle #15Dynamics

2Reliability

If garbage collection is performed to free up pages, then usable blocks are replenished, but host write throughput is reduced

Engineering Contradiction:
Improveusable block availabilityVSAvoidhost write throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of continuous throttling, the system applies periodic control by monitoring free page thresholds and alternating between throttled and normal write states. Writes are throttled only when free pages fall below the threshold, and normal throughput is restored when the threshold is replenished, creating a rhythmic on-off control pattern

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system changes the operational parameter (host write rate) based on the state of the system (free page count). By adjusting the write rate parameter dynamically in response to changing conditions, the system optimizes both reliability and throughput at different operational phases

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If internal buffering resources are used to manage writes, then write regulation is achieved, but storage device buffering capacity is consumed

Engineering Contradiction:
Improvewrite regulation capabilityVSAvoidinternal buffering resources
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The write regulation function is extracted from the storage device and relocated to the host system. Instead of using internal buffering resources, the storage device sends throttle commands to the host, which then regulates its own write operations, effectively moving the buffering function to external host memory

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11954022B2Throttling host writes in a host buffer to a storage device
Publication Date: 2024.04.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11954022B2 patent drawing
  • US11954022B2 patent drawing
  • US11954022B2 patent drawing

AI summary

Provided are a storage device, system, and method for throttling host writes in a host buffer to a storage device. The storage device is coupled to a host system having a host buffer that includes reads and writes to pages of the storage device. Garbage collection consolidates valid data from pages in the storage device to fewer pages. A determination is made as to whether a processing measurement at the storage device satisfies a threshold. A timer value is set to a positive value in response to determining that the processing measurement satisfies the threshold. The timer is started to run for the timer value. Writes from the host buffer are blocked while the timer is running. Writes remain in the host buffer while the timer is running. A write is accepted from the host buffer to process in response to expiration of the timer.