PCIe Storage QoS Management via Dynamic Transfer Mode Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data handling systems, particularly those using PCIe storage, lack methods to combine or dynamically switch between DMA, DCA, and DDIO protocols for multiplexing, QoS control, and cache flow-control, limiting their ability to optimize data transfer modes for throughput or latency.

Innovation Solution

Implementing a QoS-aware IO management system with reconfigurable multi-ports that selects transfer modes (throughput-oriented, latency-sensitive, or balanced) based on data characteristics and available ports, using a data communication controller with a receiver interface, transfer mode selector, and block distribution unit to manage data transfer over PCIe storage systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single data transfer protocol (DMA, DCA, or DDIO) is used for all data access ports, then the system configuration is simple, but the system cannot optimize for both throughput and latency requirements simultaneously

Engineering Contradiction:
Improveprotocol adaptabilityVSAvoiddata communication controller complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system dynamically selects transfer modes (DMA, DCA, DDIO) for each data access port based on real-time QoS requirements. The transfer mode selector component changes the operational state of each port individually, allowing the system to adapt to varying throughput and latency demands without redesigning the entire controller architecture.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The data communication controller is segmented into independent functional components: multiple data access ports, a transfer mode selector, and a block distribution unit. Each port can be independently configured with different transfer modes, allowing granular control over protocol selection without increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

2Speed

If data is always transferred to host system memory (DMA), then data availability is high, but cache utilization is low and latency performance suffers

Engineering Contradiction:
Improvedata access speedVSAvoiddata availability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system changes the destination parameter for data transfers based on QoS requirements. For latency-sensitive applications, data is directed to CPU caches (DDIO mode) for faster access. For throughput-oriented applications, data is directed to host system memory (DMA mode) ensuring high availability. The transfer mode selector dynamically adjusts this parameter.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

CPU caches serve as an intermediary between host system memory and IO devices. The DDIO protocol utilizes this intermediary to provide fast data access for latency-sensitive applications, while the DMA protocol bypasses the intermediary for high-throughput scenarios. The block distribution unit directs data flows through appropriate paths.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple data access ports are configured with different transfer modes, then QoS control is improved, but the complexity of managing and switching between modes increases

Engineering Contradiction:
Improvesystem throughputVSAvoidtransfer mode management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The transfer mode selector component provides multi-functionality by supporting all three transfer modes (DMA, DCA, DDIO) within a single unified component. Each data access port can be independently configured with any of these modes, allowing the system to achieve high productivity through diverse protocol support without requiring separate control logic for each mode.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The block distribution unit automatically directs data blocks to appropriate destinations based on the configured transfer modes of available ports. This self-service mechanism eliminates the need for complex external management logic, as the controller autonomously manages mode switching and port allocation based on pre-configured parameters.

Inventive Principle:
Principle #25Self-service

4Reliability

If data is prefetched to CPU caches (DCA), then cache utilization is improved, but memory bandwidth is consumed and throughput may be reduced

Engineering Contradiction:
Improvecache utilizationVSAvoidmemory bandwidth availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically selects between DCA and DMA modes based on real-time bandwidth availability and cache utilization metrics. When cache capacity is available and latency is critical, DCA prefetching is activated. When memory bandwidth is abundant and throughput is prioritized, direct DMA transfers are used, preserving bandwidth for other operations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10713202B2Quality of service (QOS)-aware input/output (IO) management for peripheral component interconnect express (PCIE) storage system with reconfigurable multi-ports
Publication Date: 2020.07.14 SAMSUNG ELECTRONICS CO LTD
  • US10713202B2 patent drawing
  • US10713202B2 patent drawing
  • US10713202B2 patent drawing

AI summary

Embodiments of methods and systems for quality of service (QoS)-aware input/output (IO) management for a Peripheral Component Interconnect Express (PCIe) storage system with reconfigurable multi-ports are described. In an embodiment, a method includes receiving, in a receiver interface, an IO request from a software application, the IO request comprising information for communicating data over a data access port. The method may also include determining, in a transfer mode selector, a transfer mode selection for communicating the data over the data access port, the transfer mode being selected from a throughput-oriented mode, a latency-sensitive mode, or a balanced mode. Additionally, the method may include communicating, by a block distribution unit, the data over the data access port in response to the IO request, and according to the data transfer mode.