Storage management has traditionally either used vendor-specific tools, a collection of unrelated tools for different tasks or a standards-based management ecosystem with scalability constraints. That model is unnecessarily complicated and difficult to navigate, so NVMe experts from across the storage industry have been developing a cohesive suite of management capabilities that work together to support the various requirements of NVMe customers and providers.
Redfish, Storage Networking Industry Association (SNIA) Swordfish, NVM Express Management Interface (NVMe-MI), out-of-band management, in-band management -- what do they all mean, and how are they important parts of the NVMe management ecosystem?
The fine print on NVMe-MI
One of the earliest identified requirements for NVMe management was the capability to have a low-cost interface that could be accessed by enclosure management systems, such as baseboard management controllers. This form of management, over an interface that is separate from the interface used for data transfers, is called out-of-band management in the NVMe specifications.
The NVM Express organization formed a team to collaborate on NVMe-MI, an out-of-band management interface. The requirements and capabilities of NVMe-MI are specified in the NVM Express Management Interface specification, which is part of the NVMe family of specifications and is available from NVM Express.
NVMe-MI initially defined only out-of-band management. Some storage products require the capability for managing NVMe drives using management commands sent through the same connection that is used for data. Management over the same interface used for data transfers is called in-band management in the NVMe specifications. The NVMe-MI specification was expanded in revision 1.1 to define special NVMe Admin Commands that could be used to send management commands in-band. The latest version of the NVMe-MI specification is 1.2b.
NVMe-MI provides all the management functionality that is required for inside of an enclosure or inside of a storage platform but is only available with access to the dedicated management bus or to the data interface. What management capabilities exist for systems that need to manage the storage system remotely using a network connection? Enter DMTF -- formerly known as the Distributed Management Task Force -- and SNIA, working together to define models for NVMe management over Ethernet using the DMTF Redfish protocol.
Deep dive into Redfish and Swordfish
DMTF defined the Redfish standard to deliver simple and secure management for converged, hybrid IT and the software-defined data center. SNIA formed a technical work group that is working with DMTF to create extensions to Redfish for managing storage systems. These SNIA-defined storage management extensions are called Swordfish. The DMTF Redfish model provides the functionality for management of computer systems and simple DAS. The SNIA Swordfish extensions bring that same management model to storage systems.
One key part of the Redfish and Swordfish ecosystem is called profiles. Profiles define detailed standard implementation requirements for specific configurations.
Developing implementations based on the right set of profiles enables all clients to know exactly what functionality they can rely on as having been implemented by the device.
The Swordfish team developed an extensive set of profiles, covering expected block functionality, such as block and file capabilities, supporting active configuration and provisioning, and replication capabilities. Working jointly with NVM Express, the team has also developed a set of NVMe-specific profiles. These cover NVMe drives; NVMe front-end interfaces for devices such as arrays; EBOFs, or Ethernet bunch of flash; Ethernet-attached drives; and JBOFs, or just a bunch of flash.
In general, all of these profiles are defined in combinable chunks so that an implementation can "advertise" what functionality it supports. For example, an Ethernet-attached drive needs to implement a minimum of two profiles but can add others depending on the capabilities of the specific device: NVMe Drive and NVMe Drive Ethernet Attach are required, while NVMe Drive Advanced Features, Swordfish Discovery and Swordfish Block Provisioning are some common options.
Swordfish is the only option for a standardized interface to manage NVMe devices at scale. Redfish is rapidly becoming the standard of choice for managing servers. Since Swordfish is built on top of Redfish, many of the capabilities being incorporated to manage your server environment can easily be extended to manage your storage ecosystem.
Swordfish is designed to be the API presenting your management needs for your storage devices. Swordfish continues to be in active development and adds more functionality identified by implementers.
The Swordfish specifications for most common storage functionality and for NVMe storage-specific requirements are now released and starting to show up in product specifications.
Is Swordfish part of your requirements yet? Remember that the SNIA Swordfish Conformance Test Program is designed specifically to ensure vendor conformance with the various Swordfish profiles.
About the authors
Richelle Ahlvers has been engaged with industry standards initiatives with SNIA and DMTF for many years. She is on the SNIA board of directors and leads the Scalable Storage Management Technical Work Group developing the Swordfish SSM API.
Curtis Ballard is a distinguished technologist with HPE in the HPE Storage organization. He is on the NVM Express board of directors, is a member of the SNIA Technical Council and is the vice chair of INCITS/T10 SCSI Storage Interfaces Technical Committee.
SNIA is a not-for-profit global organization made up of member companies spanning the storage market. SNIA's mission is to lead the storage industry in developing and promoting vendor-neutral architectures, standards and educational services that facilitate the efficient management, movement and security of information.
SNIA's Storage Management Initiative was created to develop and standardize interoperable storage management technologies and aggressively promote them to the storage, networking and end-user communities.