Dynamic SSD Timeout Assignment for Throughput Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Default timeout values assigned by OS-level device drivers to SSD IO operations are overly conservative, leading to reduced SSD throughput during throttling scenarios, such as increased die or ambient temperatures, resulting in slower performance compared to HDDs and potentially causing users to incorrectly restart devices.

Innovation Solution

A method to dynamically assign timeout values to SSD IO operations based on the number of outstanding commands and operational throughputs, which takes into account throttling feedback from the SSD, allowing for more accurate timing and reducing IO command processing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If default timeout values are assigned to SSD IO operations, then reliability is improved by ensuring sufficient time for command processing, but productivity deteriorates due to overly conservative timeout values reducing SSD throughput

Engineering Contradiction:
Improvecommand processing completionVSAvoidSSD throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic timeout value adjustment based on real-time SSD operational state. The device driver monitors the number of outstanding commands and dynamically calculates appropriate timeout values, transitioning from static default timeouts to adaptive timeouts that respond to current workload conditions. This resolves the contradiction by making timeout values flexible rather than fixed, allowing them to optimize both reliability and productivity under different operating conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms where the device driver continuously monitors SSD command processing status and adjusts timeout values accordingly. By tracking the number of outstanding commands and using this information to recalculate timeout values, the system creates a closed-loop control that adapts to changing conditions. This feedback approach ensures timeout values remain appropriate for current workload while preventing excessive delays that would reduce throughput.

Inventive Principle:
Principle #23Feedback

2Productivity

If timeout values are reduced to improve productivity, then SSD throughput is improved, but reliability deteriorates as commands may not complete within the shortened timeout period

Engineering Contradiction:
ImproveSSD throughputVSAvoidcommand processing completion
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent makes timeout values dynamic rather than static, allowing them to adapt to current SSD workload conditions. When the number of outstanding commands is low, timeout values can be reduced to improve throughput. When outstanding commands increase or processing is slower, timeout values automatically increase to ensure reliable completion. This dynamic adjustment resolves the contradiction by making timeout values responsive to real-time conditions rather than fixed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the timeout parameter based on monitored SSD operational state. By calculating timeout values as a function of the number of outstanding commands and other operational factors, the system adjusts this critical parameter dynamically. This allows timeout values to be optimized for each specific operational context, achieving both high throughput when conditions permit and reliable completion when workload demands longer times.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If conservative timeout values are used during throttling scenarios, then reliability is maintained, but productivity deteriorates significantly causing SSD performance to fall below HDD levels

Engineering Contradiction:
Improvecommand processing completion under throttlingVSAvoidSSD throughput under throttling
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic timeout adjustment that responds to throttling conditions. Rather than using fixed conservative timeouts that remain overly cautious even when throttling occurs, the system calculates timeout values based on the current number of outstanding commands and actual processing rates. This dynamic approach allows timeout values to be appropriately adjusted for throttled conditions without being excessively conservative, maintaining reliability while maximizing achievable throughput under reduced performance conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The device driver monitors SSD operational state including throttling conditions and uses this feedback to adjust timeout values appropriately. By continuously tracking the number of outstanding commands and processing rates, the system adapts timeout values to current conditions. This feedback mechanism ensures that even during throttling, timeout values are optimized for the actual processing capacity rather than assuming worst-case scenarios, thereby maintaining reliability while improving productivity under throttled conditions.

Inventive Principle:
Principle #23Feedback

4Ease of operation

If default timeout values are assigned, then ease of operation is improved by simplifying device driver implementation, but loss of time occurs due to excessive timeout delays causing command processing images to appear extended

Engineering Contradiction:
Improvedevice driver implementationVSAvoidcommand processing delay
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent performs preliminary calculation of appropriate timeout values based on the number of outstanding commands before issuing IO requests. By pre-calculating timeout values using the formula that considers current workload conditions, the system avoids excessive delays without requiring complex real-time adjustments during command execution. This preliminary action maintains ease of operation by keeping the timeout assignment logic in the device driver while significantly reducing unnecessary wait times that cause extended command processing images.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes timeout parameter values from fixed defaults to dynamically calculated values based on operational conditions. By implementing a calculation that adjusts timeout values according to the number of outstanding commands and other factors, the system reduces excessive delays while maintaining manageable complexity. The parameter change from static to dynamic timeout values eliminates unnecessary wait times that cause extended command processing images, while the calculation remains sufficiently simple for device driver implementation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9727248B2Dynamic IO operation timeout assignment for a solid state drive
Publication Date: 2017.08.08 APPLE INC
  • US9727248B2 patent drawing
  • US9727248B2 patent drawing
  • US9727248B2 patent drawing

AI summary

A storage system having an input-output (IO) component, a solid state drive (SSD) with multiple logical units (LUNs), e.g., flash storage units, and a controller coupled to the IO component and the SSD. The controller can cause the storage system to receive an operation request, determine various operational throughputs associated with outstanding commands of the SSD (e.g., read or write commands to be performed by the SSD), determine a time required for the SSD to process the outstanding commands based in part on the operational throughputs, and assign a timeout value to the received operation request. The timeout value may correspond to the time required for the SSD to process the outstanding commands. Any of the operational throughputs may be throttled when a die temperature of any of the SSD's LUNs exceeds an operating temperature threshold, or when an ambient temperature affecting SSD exceeds an ambient temperature threshold.