Asynchronous Storage Fabric Node Discovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large-scale data storage systems, maintaining an accurate and up-to-date namespace map across processing and storage nodes in a fabric is challenging due to asynchronous activation times of nodes, leading to inefficiencies in data transfer and management.
Innovation Solution
A decentralized, asynchronous approach is implemented where each node independently generates and maintains a local namespace map, with initiators and targets broadcasting discovery commands and responses to establish I/O communication links, eliminating the need for a centralized master map.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If a centralized master namespace map is used to manage storage devices in a fabric, then a complete view of all storage resources is maintained, but the system complexity and processing overhead increase significantly
Solution Approach 1:
The patent divides the centralized namespace map into multiple distributed namespace maps, with each processing node maintaining its own local map. This segmentation eliminates the need for a single centralized map, reducing the complexity associated with maintaining and updating a comprehensive view of all storage resources while still ensuring that each node has the necessary information for its operations.
Solution Approach 2:
Each processing node maintains a local namespace map tailored to its specific needs and context, rather than relying on a universal centralized map. This allows each node to optimize its namespace management for local conditions, reducing the overall system complexity while maintaining accurate namespace information where needed.
2Adaptability or versatility
If nodes in a fabric are activated asynchronously at different times, then the system supports flexible deployment and dynamic scaling, but the namespace map accuracy and data transfer efficiency deteriorate
Solution Approach 1:
The patent implements preliminary actions where processing nodes and storage nodes exchange identification information and namespace data during their activation process. When a node is activated, it proactively announces its presence and receives updates about existing namespace mappings, ensuring that the namespace map remains accurate even as nodes are dynamically added or removed from the fabric.
Solution Approach 2:
The system employs feedback mechanisms where nodes continuously update and synchronize their namespace maps based on discoveries about the fabric topology. When nodes are activated asynchronously, they send discovery requests and receive responses that update their local namespace maps, ensuring consistency across the distributed system without requiring simultaneous activation.
3Stability of the object's composition
If a centralized mechanism manages namespace maps across all nodes, then consistent namespace information is maintained, but the processing overhead and time for map updates increase
Solution Approach 1:
The centralized namespace map management is segmented into distributed namespace map maintenance at each processing node. Instead of one central authority updating a global map, each node independently maintains and updates its own local namespace map through peer-to-peer communication, significantly reducing the time required for map updates while maintaining consistency through distributed synchronization.
Solution Approach 2:
Each processing node autonomously manages its own namespace map without requiring centralized control for every update. Nodes independently discover storage nodes, receive namespace information, and update their local maps without waiting for centralized coordination, thereby eliminating the time delays associated with centralized map management while maintaining consistency through self-synchronization.
Data Source
AI summary
Method and apparatus for asynchronous discovery of processing and storage nodes coupled via an expander switch in a fabric. In some embodiments, an initiator device operates as a processing node to transfer data to and from a non-volatile memory (NVM) of a target device at a storage node. One of the initiator or target devices is activated prior to the other device. The second activated device broadcasts a discovery command responsive to the activation of the second activated device and prior to receipt of a request for the discovery command from the first activated device. The first activated device processes the discovery command to establish an I/O communication link between the first activated device and the second activated device. The discovery command may include a non-volatile memory express (NVMe) controller list, and the NVM may be arranged as one or more NVMe namespaces.


