Intelligent IO Routing to SCM Namespaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems lack an efficient mechanism to manage incoming input/output (IO) operations in storage class memory (SCM) namespaces, as they are often unaware of the available namespaces and struggle to optimize IO handling based on varying attributes, leading to suboptimal performance and potential data loss during reconfiguration.

Innovation Solution

The implementation of a method that determines the attributes of incoming IO and queries a database to select the best-fit SCM namespace optimized for those attributes, redirecting IO to the appropriate namespace based on attributes such as workload patterns, size, and health, using machine learning algorithms to predict future behavior and optimize resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If incoming IO is directed to SCM namespaces without intelligent routing, then the system structure remains simple, but performance is suboptimal and data loss may occur during reconfiguration

Engineering Contradiction:
ImproveIO handling performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a namespace service as an intermediary component that sits between the IO source and SCM namespaces. This service receives IO requests, determines the appropriate namespace based on IO attributes and namespace characteristics, and forwards IO to the selected namespace. This mediator architecture improves IO handling performance without requiring complex changes to the underlying SCM infrastructure, thus resolving the contradiction between performance improvement and system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The namespace service implements feedback mechanisms by continuously monitoring namespace attributes (such as health status, capacity, performance metrics) and IO characteristics. Based on this feedback, the service dynamically adjusts namespace selection decisions to optimize performance and prevent data loss during reconfiguration events. The feedback loop enables adaptive routing without requiring manual intervention or complex static configuration.

Inventive Principle:
Principle #23Feedback

2Productivity

If namespaces are reconfigured to optimize for specific IO attributes, then performance for those attributes improves, but incoming IO unaware of namespace state may be misrouted

Engineering Contradiction:
Improvenamespace optimization performanceVSAvoiddata loss risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The namespace service performs preliminary actions by proactively discovering and caching namespace attributes before IO requests arrive. It pre-evaluates namespace characteristics such as health status, capacity, and optimization parameters, storing this information for rapid decision-making. This preliminary preparation ensures that when IO requests are received, the service can immediately make informed routing decisions without exposing the system to data loss risks during reconfiguration events.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous feedback monitoring of namespace state changes, including reconfiguration events. When namespace attributes change (such as during reconfiguration), the namespace service detects these changes through feedback mechanisms and updates its routing decisions accordingly. This ensures that optimized namespace performance is maintained while preventing misrouting of IO requests that could lead to data loss.

Inventive Principle:
Principle #23Feedback

3Loss of time

If real-time IO routing to optimized namespaces is implemented, then latency is reduced and performance improves, but the complexity of determining and matching attributes increases

Engineering Contradiction:
ImproveIO latencyVSAvoidattribute matching complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The namespace service performs preliminary discovery and characterization of namespaces, storing their attributes in a cached format optimized for rapid comparison. IO attributes are pre-extracted and prepared before routing decisions are needed. This preliminary preparation significantly reduces the computational complexity of real-time attribute matching, enabling low-latency routing decisions without requiring complex processing during the actual IO path.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates simplified copies or representations of namespace attributes and IO characteristics that can be rapidly compared and matched. Instead of performing complex real-time analysis of full namespace states, the service works with pre-processed attribute summaries and IO metadata. This copying approach maintains the ability to make intelligent routing decisions while dramatically reducing the computational complexity and time required for attribute matching.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12259828B2Forwarding incoming IO to SCM namespaces
Publication Date: 2025.03.25 EMC IP HLDG CO LLC
  • US12259828B2 patent drawing
  • US12259828B2 patent drawing
  • US12259828B2 patent drawing

AI summary

Techniques for intelligently routing IO to a storage class memory (SCM) namespace are disclosed. A configuration for a namespace is determined, where the configuration indicates a type of IO that the namespace is structured to handle. Details about the configuration of the namespace are stored in a repository. A forwarding rule is generated based on the namespace's stored configuration. When incoming IO having attributes similar to that type is received, implementation of the forwarding rule causes the incoming IO to be directed to the namespace. Attributes of a particular incoming IO are determined. As a result of the attributes satisfying a similarity threshold relative to the type, the forwarding rule is implemented such that the particular incoming IO is directed to the namespace.