Namespace Auto-Routing Firmware for NVMe Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems employing the NVMe standard, simple arbitration schemes for data access requests lead to inequitable resource utilization among queues, affecting consistent data access performance and increasing request execution times due to controller resource conflicts and redundancies, particularly in environments prioritizing I/O determinism.

Innovation Solution

Implementing namespace auto-routing via upstream firmware to assign optimal physical data addresses before data access requests reach the data storage controller, allowing efficient data access command routing without direct controller involvement, thus optimizing system operation and resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If simple arbitration schemes are used for data access requests, then device complexity is reduced, but data access consistency and performance deteriorate due to resource conflicts and inequitable resource utilization

Engineering Contradiction:
Improvecontroller complexityVSAvoiddata access consistency
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements namespace auto-routing via upstream firmware that assigns optimal physical data addresses to data access requests before they reach the storage controller. This preliminary action resolves the contradiction by pre-processing request routing upstream, freeing the controller from complex arbitration while ensuring consistent data access performance through optimized address assignment.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If namespace auto-routing is implemented via upstream firmware, then data access efficiency is improved, but system complexity increases due to additional firmware processing

Engineering Contradiction:
Improvedata access efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the namespace assignment and optimal physical address routing functions from the storage controller and implements them in upstream firmware. This extraction improves data access efficiency by handling routing decisions earlier in the data path, while the controller complexity is minimized by removing these functions from the controller itself.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If controllers directly handle all data access requests, then ease of operation is maintained, but resource conflicts increase leading to longer request execution times

Engineering Contradiction:
Improvecontroller operation simplicityVSAvoidrequest execution time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary namespace assignment and optimal physical address routing in upstream firmware before requests reach the controller. This preliminary action reduces the controller's workload and eliminates resource conflicts during request handling, thereby reducing execution time while maintaining operational simplicity through automated routing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The upstream firmware acts as an intermediary that pre-processes data access requests by assigning namespaces and optimal physical addresses before requests reach the storage controller. This intermediary processing reduces controller resource conflicts and execution time while keeping controller operation simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11307768B2Namespace auto-routing data storage system
Publication Date: 2022.04.19 SEAGATE TECH LLC
  • US11307768B2 patent drawing
  • US11307768B2 patent drawing
  • US11307768B2 patent drawing

AI summary

A data storage system can employ namespace auto-routing by connecting a host to a data storage device via a system module. A data access request may be generated with the host and a namespace is then assigned to the data access request with a firmware upstream of the system module. An optimal physical data address in the data storage device can be assigned with the system module prior to writing the data associated with the data access request to the assigned physical data address of the assigned namespace.