NVMe Subsystem-Driven Zoning With Token-Based Zone Group Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing NVMe® over IP networking environments lack analogous zoning operations to Fibre Channel SANs, particularly in managing zone groups due to limitations in bidirectional data transfer and identifier size constraints.
Innovation Solution
Implement subsystem-driven zoning (SDZ) operations using unique tokens and decomposed zoning commands (FZL, FZS, FZR) to manage zone groups within NVMe® environments, allowing for unidirectional data transfer that mimics bidirectional functionality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If NVMe® over IP networking is used, then storage access performance is improved, but zoning operations capability deteriorates due to lack of bidirectional data transfer support
Solution Approach 1:
The patent segments zoning operations into multiple unidirectional commands (FZL, FZS, FZR) to overcome the limitation of lacking bidirectional data transfer in NVMe® over IP. Each command handles a specific aspect of zone group management, allowing complex zoning operations to be broken down into manageable sequential steps that work within the unidirectional transfer constraint.
Solution Approach 2:
The patent introduces an intermediary token-based identification system to bridge the gap between Fibre Channel zoning operations and NVMe® over IP capabilities. The token acts as a mediator that carries zone group identification information through the unidirectional NVMe® command structure, enabling zoning functionality without requiring native bidirectional support.
2Quantity of substance
If unique tokens are used for zone group identification, then identifier size constraints are overcome, but command structure complexity increases
Solution Approach 1:
The patent moves the complex zone group identification data from the command payload dimension to a separate token dimension. Instead of embedding large identifiers directly in commands, the system creates compact tokens that reference zone groups, and these tokens are transmitted through the available unidirectional command structure. This dimensional separation allows large identifier capacity while maintaining command structure simplicity.
3Adaptability or versatility
If unidirectional data transfer is used, then NVMe® protocol compatibility is maintained, but bidirectional functionality is lost
Solution Approach 1:
The patent performs preliminary actions by establishing token-based references before executing zoning operations. The FZL (Fabric Zoning Lookup) command is used beforehand to retrieve and cache zone group tokens, so that subsequent FZS (Fabric Zoning Send) and FZR (Fabric Zoning Receive) commands can operate efficiently using these pre-established tokens. This preliminary action compensates for the lack of bidirectional real-time communication.
Solution Approach 2:
The patent maintains continuity of useful action by designing a sequence of unidirectional commands (FZL → FZS → FZR) that together accomplish what would traditionally require bidirectional interaction. Each command in the sequence builds upon the previous one, creating a continuous workflow that achieves zone group management functionality despite the unidirectional transfer limitation.
Data Source
AI summary
Embodiments presented herein solve issues related to non-volatile memory express (NVMe®) protocol differences from other protocols, such as Fibre Channel Common Transport, which is the protocol used for Zoning management in Fibre Channel. Fibre Channel Common Transport supports bidirectional transfers of data. However, NVMe® commands support transfer of data either with the command (e.g., host-to-controller data transfer (e.g., a “write” operation)) or with the response (e.g., controller-to-host data transfer (e.g., a “read” operation)), but not both creates a problem related to zoning in NVMe® networks. Furthermore, data size limits for submission queue entries and completion queue entries for NVMe® commands add other obstacles. Embodiments herein address these limitations.


