SSD Write Ordering via Sequence Tags

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices face challenges in maintaining write coherency and consistency due to out-of-order processing of I/O commands, which can lead to incorrect data retrieval and illegal overwrites, especially when multiple applications access shared data and background operations interfere with processing queues.

Innovation Solution

Implementing a sequence tag generator logic to assign sequence tags to I/O commands, a command handler logic to process commands in order based on these tags, and a notification logic to coalesce and return completion notices in the correct order, ensuring that I/O commands are processed and notified in the sequence they were issued.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If I/O commands are processed in parallel across multiple internal channels to improve throughput, then productivity increases, but write coherency and data consistency deteriorate due to out-of-order execution

Engineering Contradiction:
ImproveI/O command throughputVSAvoidwrite coherency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by assigning sequence tags to I/O commands before they are dispatched to multiple internal channels. This pre-tagging allows the storage device to track and reorder command completions according to their original sequence, ensuring write coherency is maintained even when commands are executed in parallel across different channels.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the storage device monitors the completion status of I/O commands across multiple channels and uses sequence tags to determine the correct order for notifying the host. This feedback loop ensures that despite parallel processing, the host receives completions in the correct sequential order, maintaining data consistency.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If multiple applications are allowed to access shared data simultaneously to improve versatility, then adaptability increases, but data consistency deteriorates due to conflicting write operations

Engineering Contradiction:
Improvemulti-application accessVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by assigning unique sequence tags to each I/O command from multiple applications before processing. This pre-tagging enables the storage device to maintain a global sequence order across all applications, ensuring that write operations are executed and completed in a consistent order regardless of which application initiated them.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The sequence tag mechanism acts as an intermediary that mediates between multiple applications accessing shared data. By using sequence tags to order and track commands from different applications, the storage device ensures that data consistency is maintained while allowing simultaneous access from multiple sources.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If background operations like garbage collection are performed to improve storage media health, then reliability improves, but I/O command processing speed deteriorates due to channel occupation

Engineering Contradiction:
Improvestorage media healthVSAvoidcommand processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing I/O command processing across multiple independent internal channels, each with its own processing queue. This allows background operations like garbage collection to occur on specific channels without completely blocking I/O processing, as other channels can continue handling commands simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent ensures continuity of useful action by allowing I/O command processing to continue on available channels even when some channels are occupied by background operations. The sequence tag mechanism tracks all commands across channels, ensuring that processing remains continuous and efficient while maintaining the ability to perform necessary background maintenance tasks.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11579801B2Write ordering in SSDs
Publication Date: 2023.02.14 SAMSUNG ELECTRONICS CO LTD
  • US11579801B2 patent drawing
  • US11579801B2 patent drawing
  • US11579801B2 patent drawing

AI summary

Disclosed are systems and methods by which a storage device may process and return I/O commands to a host in the order in which the host provided the commands, thereby reducing host overhead, including but not limited to the following: receiving a first I/O command and a second I/O command, the first I/O command and the second I/O command being assigned a sequence tag, issuing the first I/O command and the second I/O command to one or more storage channels based on their respective sequence tags, collecting a command completion notice of the first I/O command or the second I/O command when the first I/O command or the second I/O command has been respectively completed; and issuing a command completion notification to a host based on the sequence tag of the associated completed first I/O command or the second I/O command.