Storage Device Command Barriers for Data Integrity and Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices face a trade-off between data integrity and processing speed, as supporting command ordering improves integrity but reduces speed, while not supporting ordering enhances speed but compromises integrity.

Innovation Solution

A storage device with a controller circuitry that supports ordering between commands using barrier commands, and provides a device descriptor to ensure integrity and speed through selective ordering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the storage device supports command ordering, then data integrity is improved, but processing speed is reduced

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

A barrier command is introduced as an intermediary element between normal commands. This barrier command acts as a synchronization point that allows the storage device to maintain command ordering when required while still enabling parallel processing optimization. The barrier command mediates between the host's ordering requirements and the device's performance optimization needs, allowing selective enforcement of ordering only where necessary.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The storage device dynamically adjusts its command execution strategy based on the presence of barrier commands. When barrier commands are detected, the device switches to ordered execution mode for commands separated by barriers. When no barriers are present, the device can freely optimize execution order for parallel commands, thus adapting the ordering behavior to actual needs rather than enforcing it universally.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the storage device does not support command ordering, then processing speed is improved, but data integrity is reduced

Engineering Contradiction:
Improveprocessing speedVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Instead of enforcing command ordering for all commands (excessive action), the barrier command mechanism applies ordering only partially - specifically for commands that are separated by barrier commands. This partial enforcement is sufficient to maintain data integrity where needed while avoiding the performance penalty of universal ordering enforcement.

Inventive Principle:
Principle #16Partial or excessive action

3Manufacturing precision

If the storage device enforces strict command ordering, then command execution accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvecommand execution accuracyVSAvoidcontroller complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The ordering enforcement logic is extracted from the normal command processing flow and isolated to specific barrier command handling. The controller maintains a simple default behavior (parallel processing without ordering) and only activates ordering logic when barrier commands are encountered. This extraction reduces the overall complexity burden on the command execution path.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12360705B2Storage device, operating method of storage device, and operating method of computing device including storage device
Publication Date: 2025.07.15 SAMSUNG ELECTRONICS CO LTD
  • US12360705B2 patent drawing
  • US12360705B2 patent drawing
  • US12360705B2 patent drawing

AI summary

Disclosed is a storage device, which includes a nonvolatile memory device, and a controller that controls the nonvolatile memory device. In response to a first command, a barrier command, and a second command being received from an external host device, the controller supports an order guarantee between the first command and the second command. Each of the first command and the second command is selected from two or more different commands. In response to a request from the external host device, the controller circuitry is configured to provide the external host device with a device descriptor associated with the ordering.