Storage System Command Processing with Port Revision Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems continue to process commands and data 'in flight' even after a host disconnects, leading to resource wastage and performance degradation due to the inability to proactively identify and purge stale commands.

Innovation Solution

Implementing a command processing component within the storage device's system controller to proactively identify commands associated with status changes, tag them with port revision identifiers, and abort or purge commands that are no longer valid, thereby preventing resource consumption and improving SSD performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the storage device continues processing commands after host disconnection, then command execution completeness is maintained, but resource consumption increases and performance degrades

Engineering Contradiction:
Improvecommand execution completenessVSAvoidSSD performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by tagging commands with port revision identifiers before execution. When a host disconnects, the port revision identifier changes, allowing the system to proactively identify and purge stale commands before they complete execution, thus preventing resource wastage while maintaining reliability for valid commands.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the storage device purges commands upon detecting host disconnection, then resource consumption is reduced, but commands may be aborted before completion

Engineering Contradiction:
Improveresource efficiencyVSAvoidcommand completion reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The port revision identifier serves as an intermediary mechanism that mediates between command execution and host connection status. Commands are tagged with the port revision identifier at issuance, and the system compares current port revision identifiers with those associated with in-flight commands to determine whether to purge, thus ensuring only stale commands are aborted while valid commands complete reliably.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If the storage device tracks and monitors command status continuously, then stale commands can be identified accurately, but system complexity increases

Engineering Contradiction:
Improvestale command identification accuracyVSAvoidcommand processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system changes the parameter tracking approach by using port revision identifiers instead of continuously monitoring individual command statuses. When a host disconnects, the port revision identifier is updated, and this single parameter change automatically invalidates all associated in-flight commands, achieving accurate stale command identification with minimal complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11010055B2Command processing for a storage system
Publication Date: 2021.05.18 MICRON TECHNOLOGY INC
  • US11010055B2 patent drawing
  • US11010055B2 patent drawing
  • US11010055B2 patent drawing

AI summary

A command from a host is received via a port of a storage system. The port is assigned a current port revision identifier. The current port revision identifier of the port is associated with the command. Responsive to a status change associated with the port, an updated port revision identifier is assigned to the port to replace the current port revision identifier of the port and execution of the command is aborted responsive to determining that the current port revision identifier associated with the command is different than the updated port revision identifier of the port.