Exchange Message Protocol for SSD PCIe Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems, particularly those using Solid State Drives (SSDs), lack a standard protocol for communication across PCIe buses, hindering efficient data frame transmission between host and memory devices.

Innovation Solution

The implementation of an Exchange Message Protocol (EMP) that enables the transmission of SCSI-compliant frames between a host side and a memory device side, involving the transmission of command frames, processing, and response frames across a PCIe bus, utilizing a command and response ring structure for asynchronous communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a standard protocol is implemented for SSD communications across PCIe buses, then communication efficiency and data frame transmission are improved, but device complexity and protocol implementation requirements increase

Engineering Contradiction:
Improvedata frame transmission efficiencyVSAvoidprotocol implementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The communication protocol is segmented into distinct functional components: command frames for initiating operations, data frames for transferring information, and response frames for acknowledging completion. This segmentation allows each component to be processed independently, improving transmission efficiency while maintaining manageable complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an Exchange Message Protocol (EMP) as an intermediary layer between the host and SSD. This intermediary protocol translates between PCIe bus communications and SCSI command structures, enabling efficient data frame transmission without requiring direct integration of complex protocols at each endpoint.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If asynchronous communication with command and response rings is implemented, then processing speed and system responsiveness are improved, but device complexity and buffer management requirements increase

Engineering Contradiction:
Improveprocessing speedVSAvoidbuffer management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Command rings and response rings are pre-configured as circular buffers with defined head and tail pointers before communication begins. This preliminary setup enables asynchronous operations to proceed without dynamic buffer allocation overhead, improving processing speed while keeping buffer management predictable and manageable.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The ring buffer structure implements periodic wrapping of indices, where the buffer transitions from the last element back to the first element. This periodic action allows continuous asynchronous communication without requiring complex dynamic memory management, maintaining high processing speed with simplified buffer handling.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10025736B1Exchange message protocol message transmission between two devices
Publication Date: 2018.07.17 BITMICRO LLC
  • US10025736B1 patent drawing
  • US10025736B1 patent drawing
  • US10025736B1 patent drawing

AI summary

In an embodiment of the invention, a method comprises: transmitting, by a host side, an exchange message protocol (EMP) command frame to a memory device side; informing, by the host side, the memory device side to process the command frame; executing, by the memory device side, the command frame; and transmitting, by the memory device side, an EMP response frame to the host side, in response to the command frame. In another embodiment of the invention, an apparatus comprises: a host side configured to transmit an exchange message protocol (EMP) command frame to a memory device side; wherein the host side is configured to inform the memory device side to process the command frame; wherein the memory device side is configured to execute the command frame; and wherein the memory device side is configured to transmit an EMP response frame to the host side, in response to the command frame.