Storage Management System for PCIe SSD Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage management systems face inefficiencies due to limitations in memory technology, requiring complex methodologies to navigate around inherent shortcomings in data storage and retrieval operations.

Innovation Solution

A computer-implemented method determines the maximum quantity of unit write operations serviceable by a data bus coupled to a memory system, assigning unit write operations to data streams in a round-robin fashion, with supplemental operations added as needed to prevent exceeding this maximum, particularly for PCIe data buses and SSD memory systems, and addressing busy conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple unit write operations are assigned to data streams to maximize bandwidth utilization, then data write rate is improved, but the risk of exceeding maximum quantity limits and causing busy conditions increases

Engineering Contradiction:
Improvedata write rateVSAvoidbusy condition handling
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The storage management system continuously monitors the number of assigned unit write operations for each data stream and compares it against the maximum quantity serviceable by the data bus. When approaching the limit, the system dynamically adjusts assignments to prevent exceeding capacity, creating a feedback control mechanism that maintains reliable operation while maximizing throughput

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically assigns unit write operations to data streams based on current load conditions and available bandwidth capacity. Rather than static allocation, the system adapts assignments in real-time, assigning more operations when capacity is available and reducing assignments when approaching limits, thereby optimizing productivity while preventing busy conditions

Inventive Principle:
Principle #15Dynamics

2Productivity

If supplemental unit write operations are assigned to handle busy conditions, then storage efficiency is improved, but the complexity of managing multiple data streams increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata stream management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the management of unit write operations by creating independent trackers for each data stream. This segmentation allows the system to monitor and control assignments for multiple data streams separately, making the complex management task more manageable while maintaining overall storage efficiency through coordinated operation across all segments

Inventive Principle:
Principle #1Segmentation

3Reliability

If the maximum quantity of unit write operations is strictly enforced, then data bus capacity is preserved, but bandwidth utilization may not be fully maximized

Engineering Contradiction:
Improvedata bus capacity managementVSAvoidbandwidth utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system determines and applies the maximum quantity of unit write operations as a key parameter for the data bus. By establishing this parameter based on the specific capacity of the data bus and memory system, the system optimizes the balance between reliable capacity management and full bandwidth utilization, adjusting operational parameters to match the hardware capabilities

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10628359B2Storage management system and method
Publication Date: 2020.04.21 EMC IP HLDG CO LLC
  • US10628359B2 patent drawing
  • US10628359B2 patent drawing
  • US10628359B2 patent drawing

AI summary

A method, computer program product, and computing system for determining a maximum quantity of unit write operations serviceable by a data bus coupled to a memory system. A first data stream is received for writing data to the memory system. A first unit write operation is assigned to the first data stream. One or more supplemental unit write operations are assigned to the first data stream as needed provided that the one or more supplemental unit write operations do not result in the total unit write operations exceeding the maximum quantity of unit write operations.