Multicast SSD Controller Reduces Command Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current communication methods between hosts and SSDs using peer-to-peer protocols lead to increased latency due to the need for command propagation and acknowledgment between storage devices, requiring additional memory space and processing time.

Innovation Solution

Implementing a multicast communication protocol that allows a host to transmit commands to multiple SSDs simultaneously, with each SSD determining its role as either a master or replica based on logical addresses, enabling parallel processing and reduced latency through shared submission and completion queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If peer-to-peer communication method is used between host and SSDs, then commands can be transmitted to multiple SSDs, but latency increases due to command propagation and acknowledgment requirements

Engineering Contradiction:
Improvecommand processing throughputVSAvoidcommand processing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments the command processing role into two distinct parts: the master SSD that receives and processes commands from the host, and replica SSDs that only execute commands and send acknowledgments. This segmentation allows the master SSD to handle command interpretation and decision-making, while replica SSDs focus solely on execution, reducing overall processing latency and improving throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The master SSD acts as an intermediary between the host and replica SSDs. It receives commands from the host, determines which replica should execute each command based on logical addresses, and coordinates the acknowledgment process. This intermediary role eliminates the need for direct host-to-replica communication and reduces command propagation latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If peer-to-peer communication method is used between host and SSDs, then multiple SSDs can be accessed, but additional memory space is required for command propagation and acknowledgment

Engineering Contradiction:
Improvemulti-SSD access capabilityVSAvoidmemory space requirement
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system merges the submission queue and completion queue resources at the master SSD level, allowing all replica SSDs to share these memory structures through the master's coordination. Instead of each SSD requiring separate queues, the master SSD manages a single set of queues that serve the entire system, significantly reducing total memory space requirements while maintaining multi-SSD access capability.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If each SSD processes commands independently, then processing parallelism is achieved, but load balance among SSDs deteriorates

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidload balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system assigns different functional qualities to different SSDs based on their roles. Master SSDs are equipped with command processing and decision-making capabilities, while replica SSDs are optimized for command execution and acknowledgment. This local quality differentiation allows parallel processing of commands while maintaining centralized load distribution, ensuring balanced workload across the storage system.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10572402B2Storage device communicating with host according to multicast communication protocol and communication method of host
Publication Date: 2020.02.25 SAMSUNG ELECTRONICS CO LTD
  • US10572402B2 patent drawing
  • US10572402B2 patent drawing
  • US10572402B2 patent drawing

AI summary

A storage device includes a memory device; and a controller configured to fetch a command from a host, the command indicating a logical address, process the command based on the logical address, and receive, from a first replica storage device, an acknowledgment signal indicating that the command has been processed by the first replica storage device.