Storage Device Write Barriers for Command Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices that process data access commands out of order can lead to inconsistencies and inefficiencies, particularly when host computers need to ensure that certain commands are executed before others, such as data writes and index updates, or garbage collection operations, which can result in overhead and data loss.

Innovation Solution

The use of write barrier commands to indicate that specific data access commands should be processed before others, allowing the storage device to associate these commands with a write barrier and ensure they are executed in the intended order, even if the device processes other commands out of order.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the storage device processes data access commands out of order to improve efficiency, then command processing efficiency is improved, but data consistency and reliability deteriorate

Engineering Contradiction:
Improvecommand processing efficiencyVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The host computer performs preliminary actions by sending write barrier commands before data access commands. These write barrier commands are processed first by the storage device, establishing a predetermined execution order that ensures data consistency while allowing subsequent commands to be processed out of order for efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Write barrier commands serve as intermediary elements between the host computer and data access commands. The storage device controller identifies and processes these intermediary write barrier commands first, using them as markers to enforce ordering constraints on subsequent data access commands without preventing overall out-of-order processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the host computer waits for confirmation before sending subsequent commands to ensure correct ordering, then data consistency is improved, but processing time and overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The host computer sends write barrier commands as preliminary actions before batches of data access commands. This allows the storage device to pre-establish ordering constraints without requiring the host to wait for confirmation after each command, reducing round-trip time and overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The host computer can continuously send data access commands after issuing write barrier commands, maintaining a continuous stream of useful work. The storage device controller continuously processes commands while respecting the ordering constraints established by write barriers, eliminating idle waiting periods.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If the storage device reorders commands autonomously to improve efficiency, then command processing efficiency is improved, but the ability to honor host-defined ordering constraints deteriorates

Engineering Contradiction:
Improvecommand processing efficiencyVSAvoidability to honor ordering constraints
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

Write barrier commands act as intermediary markers that the storage device controller identifies and respects. The controller uses these markers to divide command streams into ordered segments, allowing autonomous reordering within segments while maintaining overall host-defined ordering across segment boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The command stream is segmented by write barrier commands into distinct groups. The storage device controller can reorder commands within each segment autonomously for efficiency, while ensuring that all commands in one segment are processed before commands in the next segment, thus honoring host-defined ordering constraints.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11474741B1Storage device write barriers
Publication Date: 2022.10.18 AMAZON TECH INC
  • US11474741B1 patent drawing
  • US11474741B1 patent drawing
  • US11474741B1 patent drawing

AI summary

Technologies are provided for supporting storage device write barriers. A host computer can be configured to transmit a write barrier command to a storage device to indicate that one or more data access commands should be processed before one or more other data access commands are processed. For example, a host computer can transmit one or more data access commands to a storage device. The host computer can then transmit a write barrier command to the storage device. The storage device can be configured to receive the write barrier command and to associate a write barrier with the one or more data access commands. The host computer can continue to transmit additional data access commands to the storage device. However, the storage device will not process the additional data access commands until after the one or more data access commands associated with the write barrier have been processed.