SSD AER Command Handling via Dummy Response

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In existing PCIe-based SSDs, asynchronous Event Request (AER) commands can lead to resource starvation as these commands are processed asynchronously without timeouts, causing resources to be held indefinitely unless an event occurs or the controller is reset, limiting the number of outstanding AER commands that can be supported.

Innovation Solution

The SSD includes a command receiving circuit and a command management circuit that identifies AER commands, stores them in a reserved queue for deferred handling, and generates a dummy response to release resources, allowing for later processing when an asynchronous event occurs, thereby preventing resource starvation and supporting a higher number of outstanding AER commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If AER commands are processed asynchronously without timeouts, then the SSD can support asynchronous event handling, but resources are held indefinitely causing resource starvation

Engineering Contradiction:
Improveasynchronous event handlingVSAvoidavailable resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent introduces a dummy response mechanism as an intermediary between the AER command reception and actual event processing. When an AER command is received, the controller sends a dummy response immediately to release resources, while the actual event processing occurs later through an event notification mechanism. This intermediary response allows the system to maintain asynchronous event handling capability while preventing resource starvation by decoupling command reception from resource holding.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If resources are held for AER commands until event occurrence or reset, then correct event processing can be ensured, but the number of outstanding AER commands is limited

Engineering Contradiction:
Improveevent processing correctnessVSAvoidnumber of outstanding AER commands
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by sending the dummy response immediately upon receiving the AER command, before the actual asynchronous event occurs. This preliminary response releases resources in advance while the system prepares for the eventual event processing. The event notification mechanism later triggers the actual processing, ensuring correctness is maintained while productivity is improved through earlier resource release.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple controllers are provided for SR-IOV support, then versatility is improved, but resource starvation increases due to M*4 resources held permanently

Engineering Contradiction:
ImproveSR-IOV supportVSAvoidavailable resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the resource management for each controller independently. Each controller maintains its own AER command queue and applies the dummy response mechanism separately. This segmentation allows each controller to manage its resources autonomously, preventing resource starvation in one controller from affecting others while maintaining SR-IOV versatility. The resource release is segmented per-controller rather than system-wide.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10534563B2Method and system for handling an asynchronous event request command in a solid-state drive
Publication Date: 2020.01.14 SAMSUNG ELECTRONICS CO LTD
  • US10534563B2 patent drawing
  • US10534563B2 patent drawing
  • US10534563B2 patent drawing

AI summary

A solid-state drive (SSD) for handling an Asynchronous Event Request (AER) command includes a command receiving circuit and a command management circuit. The command receiving circuit is configured to receive at least one command from at least one host. The command management circuit is configured to determine if the received at least one command from the at least one host is an AER command, store the AER command into an AER queue reserved for deferred AER command handling, if the received at least one command is the AER command, and generate a dummy response for the AER command and release resources occupied by the AER command.