Search

US-12619381-B2 - Management-subsystem-based software raid configuration system

US12619381B2US 12619381 B2US12619381 B2US 12619381B2US-12619381-B2

Abstract

A management-subsystem-based software RAID configuration system includes a chassis housing storage devices that each include a respective storage device memory subsystem and that are each coupled to a management subsystem and a software RAID subsystem. The software RAID subsystem uses the storage devices to create a RAID. When the software RAID subsystem receives a configuration command that instructs a configuration of the RAID from the management subsystem via the respective storage device memory subsystem in a first of the storage devices, it identifies a subset of the storage devices that require configuration based on the configuration command, generates a respective configuration sub-command that instructs the configuration of each of the subset of the storage devices to provide the configuration of the RAID according to the configuration command, and transmits the respective configuration sub-command to each of the subset of the storage devices for which that respective configuration sub-command was generated.

Inventors

  • Nikhith Ganigarakoppal Kantharaju
  • Sumalatha Pagadala
  • Sushmitha Naik
  • Dharma Bhushan Ramaiah
  • Vineeth Radhakrishnan
  • Shinose Abdul RAHIMAN
  • Rama Rao Bisa

Assignees

  • DELL PRODUCTS L.P.

Dates

Publication Date
20260505
Application Date
20230731

Claims (20)

  1. 1 . A management-subsystem-based software Redundant Array of Independent Disk (RAID) configuration system, comprising: a chassis; a management subsystem that is housed in the chassis; a plurality of storage devices that are housed in the chassis, that are separate from the management subsystem and that are each coupled to the management subsystem, and that each includes a respective storage device memory subsystem; and a software Redundant Array of Independent Disk (RAID) subsystem that is housed in the chassis, and that is separate from the plurality of storage devices and coupled to the plurality of storage devices, wherein the software RAID subsystem is configured to: create a RAID using the plurality of storage devices; receive, via the respective storage device memory subsystem in a first storage device that is included in the plurality of storage devices, a configuration command that was provided in the respective storage device memory subsystem in the first storage device by the management subsystem and that instructs a configuration of software RAID volumes provided by the RAID; identify a subset of the plurality of storage devices that require configuration based on the configuration command; generate a respective configuration sub-command that instructs the configuration of each of the subset of the plurality of storage devices to provide the configuration of the software RAID volumes provided by the RAID according to the configuration command; and transmit the respective configuration sub-command to each of the subset of the plurality of storage devices for which that respective configuration sub-command was generated.
  2. 2 . The system of claim 1 , wherein the software RAID subsystem is configured to: indicate, prior to receiving the configuration command and in a header included in the respective storage device memory subsystem in a first storage device, that the management subsystem may begin providing configuration commands via the respective storage device memory subsystem in a first storage device.
  3. 3 . The system of claim 1 , wherein the software RAID subsystem is configured to: identify the first storage device including the respective storage device memory subsystem and, in response, designate the first storage device for configuration communications with the management subsystem.
  4. 4 . The system of claim 1 , wherein the software RAID subsystem is configured to: periodically access the respective storage device memory subsystem in the first storage device to determine whether the management subsystem has provided configuration commands.
  5. 5 . The system of claim 1 , wherein the software RAID subsystem is configured to: provide, in the respective storage device memory subsystem in the first storage device, a configuration command queue that is configured to receive configuration commands.
  6. 6 . The system of claim 1 , wherein the software RAID subsystem is configured to: monitor for the completion of the respective configuration sub-command transmitted to each of the subset of the plurality of storage devices; and transmit, to the management subsystem in response to determining that the respective configuration sub-command transmitted to each of the subset of the plurality of storage devices has been completed, a configuration command confirmation.
  7. 7 . An Information Handling System (IHS), comprising: a processing system; and a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a software Redundant Arrayof Independent Disk (RAID) engine that is configured to: create a RAID using a plurality of storage devices that are coupled to the processing system and a management subsystem, wherein the plurality of storage devices are separate from each of the processing system and the management subsystem; receive, via the respective storage device memory subsystem in a first storage device that is included in the plurality of storage devices, a configuration command that was provided in the respective storage device memory subsystem in the first storage device by the management subsystem and that instructs a configuration of software RAID volumes provided by the RAID; identify a subset of the plurality of storage devices that require configuration based on the configuration command; generate a respective configuration sub-command that instructs the configuration of each of the subset of the plurality of storage devices to provide the configuration of the software RAID volumes provided by the RAID according to the configuration command; and transmit the respective configuration sub-command to each of the subset of the plurality of storage devices for which that respective configuration sub-command was generated.
  8. 8 . The IHS of claim 7 , wherein the software RAID engine is configured to: indicate, prior to receiving the configuration command and in a header included in the respective storage device memory subsystem in a first storage device, that the management subsystem may begin providing configuration commands via the respective storage device memory subsystem in a first storage device.
  9. 9 . The IHS of claim 7 , wherein the software RAID engine is configured to: identify the first storage device including the respective storage device memory subsystem and, in response, designate the first storage device for configuration communications with the management subsystem.
  10. 10 . The IHS of claim 7 , wherein the software RAID engine is configured to: periodically access the respective storage device memory subsystem in the first storage device to determine whether the management subsystem has provided configuration commands.
  11. 11 . The IHS of claim 7 , wherein the software RAID engine is configured to: provide, in the respective storage device memory subsystem in the first storage device, a configuration command queue that is configured to receive configuration commands.
  12. 12 . The IHS of claim 7 , wherein the software RAID engine is configured to: monitor for the completion of the respective configuration sub-command transmitted to each of the subset of the plurality of storage devices; and transmit, to the management subsystem in response to determining that the respective configuration sub-command transmitted to each of the subset of the plurality of storage devices has been completed, a configuration command confirmation.
  13. 13 . The IHS of claim 7 , wherein the first storage device is a Non-Volatile Memory express (NVMe) storage device, and wherein the storage device memory subsystem is a Controller Memory Buffer (CMB) memory subsystem in the NVMe storage device.
  14. 14 . A method for management-subsystem-based software Redundant Array of Independent Disk (RAID) configuration, comprising: Creating a RAID by a software Redundant Array of Independent Disk (RAID) subsystem using a plurality of storage devices that are coupled to the software RAID subsystem and the management subsystem, wherein the plurality of storage devices are separate from each of the software RAID subsystem and the management subsystem; receiving, by the software RAID subsystem via the respective storage device memory subsystem in a first storage device that is included in the plurality of storage devices, a configuration command that was provided in the respective storage device memory subsystem in the first storage device by the management subsystem and that instructs a configuration of software RAID volumes provided by the RAID; identifying, by the software RAID subsystem, a subset of the plurality of storage devices that require configuration based on the configuration command; generating, by the software RAID subsystem, a respective configuration sub-command that instructs the configuration of each of the subset of the plurality of storage devices to provide the configuration of the software RAID volumes provided by the RAID according to the configuration command; and transmitting, by the software RAID subsystem, the respective configuration sub-command to each of the subset of the plurality of storage devices for which that respective configuration sub- command was generated.
  15. 15 . The method of claim 14 , further comprising: indicating, by the software RAID subsystem prior to receiving the configuration command and in a header included in the respective storage device memory subsystem in a first storage device, that the management subsystem may begin providing configuration commands via the respective storage device memory subsystem in a first storage device.
  16. 16 . The method of claim 14 , further comprising: identifying, by the software RAID subsystem, the first storage device including the respective storage device memory subsystem and, in response, designating the first storage device for configuration communications with the management subsystem.
  17. 17 . The method of claim 14 , further comprising: periodically accessing, by the software RAID subsystem, the respective storage device memory subsystem in the first storage device to determine whether the management subsystem has provided configuration commands.
  18. 18 . The method of claim 14 , further comprising: providing, by the software RAID subsystem in the respective storage device memory subsystem in the first storage device, a configuration command queue that is configured to receive configuration commands.
  19. 19 . The method of claim 14 , further comprising: monitoring, by the software RAID subsystem, for the completion of the respective configuration sub-command transmitted to each of the subset of the plurality of storage devices; and transmitting, by the software RAID subsystem to the management subsystem in response to determining that the respective configuration sub-command transmitted to each of the subset of the plurality of storage devices has been completed, a configuration command confirmation.
  20. 20 . The method of claim 14 , wherein the first storage device is a Non-Volatile Memory express (NVMe) storage device, and wherein the storage device memory subsystem is a Controller Memory Buffer (CMB) memory subsystem in the NVMe storage device.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS The present application is related to the following co-pending applications: (1) U.S. patent application Ser. No. 18/228,136, filed Jul. 31, 2023; (2) U.S. patent application Ser. No. 18/228,240, filed Jul. 31,2023; (3) U.S. patent application Ser. No. 18/228,538, filed Jul. 31, 2023; (4) U.S. patent application Serial No. 18/229,360, filed Aug. 2, 2023; and (5) U.S. patent application Ser. No. 18/446,692, filed Aug. 9, 2023. BACKGROUND The present disclosure relates generally to information handling systems, and more particularly to configuring software Redundant Array of Independent Disks (RAIDs) using management subsystems in information handling systems. As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems. Information handling systems such as, for example, server devices and/or other computing devices known in the art, sometimes include a management subsystem such as a Baseboard Management Controller (BMC) device (e.g., an integrated DELL® Remote Access Controller (iDRAC) device included in server devices provided by DELL® Inc. of Round Rock, Texas, United States) and/or other management subsystems known in the art. Furthermore, server devices are sometimes configured to provide a software Redundant Array of Independent Disk (RAID) subsystem (e.g., including a MICROSOFT® software RAID miniport driver available from MICROSOFT® Corp. of Redmond, Washington, United States; an ESXi® software RAID driver available from VMWARE® Inc. of Palo Alto, California, United States; an open-source LINUX® software RAID driver; etc.) that may be configured to utilize hardware resources in the server device (e.g., a processing system such as a Central Processing Unit (CPU) in the server device) in order to provide data storage virtualization technology and perform any of a variety of RAID operations that combine physical storage device(s) into logical storage device(s) for the purposes of data redundancy, perform improvements, and/or other RAID services that would be apparent to one of skill in the art. However, the conventional provisioning of software RAID subsystems in server devices with management subsystems suffers from several deficiencies. For example, conventional software RAID subsystems and management subsystems in server devices are relatively limited in their communications. To provide a specific example, the software RAID subsystem and the management subsystem in a server device may benefit from the sharing of relatively critical real-time data such as virtual disk state changes, software RAID critical logs, software RAID initialization failures (e.g., during initialization/boot of the server device, during storage device hot plug operations, etc.), and/or other critical data known in the art, and conventional server devices do not enable the communication of such relatively critical real-time data between the software RAID subsystem and the management subsystem. As such, conventional server devices do not provide any option for a software RAID subsystem to provide software RAID subsystem logs, software RAID subsystem data, Input/Output (I/O) failures, hot-plug information, and/or other software RAID subsystem information in real-time to the management subsystem in its server device. To provide another specific example, the software RAID subsystem may require information about storage devices that are coupled to the software RAID subsystem via a server backplane. While a System Management Basic Input/Output System (BIOS) (SMBIOS) may be used to read management information available via the BIOS in the server device such as storage device slot-related information (e.g., storage device form factor information, sto