Patent Publication Number: US-11032934-B1

Title: Apparatus, system, and method for enabling multiple storage-system configurations

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     This application is a continuation of U.S. application Ser. No. 15/688,830, filed 28 Aug. 2017, the disclosure of which is incorporated, in its entirety, by this reference. 
    
    
     BACKGROUND 
     Today, many entities must create and manage complex data centers capable of storing and accessing hundreds of terabytes of data (e.g., text, image, and video data) that are generated and consumed every day by their users. These complex data centers often need to be capable of creating and storing duplicate copies of this data for disaster-recovery, testing, regulatory, or other purposes. Generally, different types of data have different storage requirements. Moreover, the storage requirements for any particular instance of data may change over time. For example, new or popular data may be considered “hot data” and need to be stored to fast storage devices and managed by fast servers. Alternatively, old or unpopular data may be considered “cold data” that may be stored to slower storage devices and/or managed by slower servers. 
     A typical data center generally includes different types of storage systems that have each been designed and configured for a single fixed purpose (e.g., warm-data storage, cold-data storage, etc.). Unfortunately, these different types of storage systems often use or require different types of components (e.g., different types of storage devices, storage controllers, servers, and network interfaces) that each operate and/or interface using one of several incompatible protocols or technologies. These complexities may make managing, configuring, servicing, replacing, and reconfiguring a data center&#39;s storage-system components difficult for those individuals enlisted to perform these tasks. 
     SUMMARY 
     As will be described in greater detail below, the instant disclosure describes various apparatus, systems, and methods that enable a flexible storage-system drawer platform to take on many different storage-system configurations. In one example, a configurable storage-system drawer may include (1) a chassis, (2) a slide assembly coupled to a side of the chassis that is configured to enable the chassis to be temporarily pulled out of a data-center rack, and (3) a passive drive-plane board housed within the chassis and configured to enable storage-system modules that differ between two or more storage-system configurations of the storage-system drawer to be interchanged. In some examples, the passive drive-plane board may include (1) storage-drive connectors that are each configured to detachably mate with a storage drive, (2) a storage-system-module connector configured to detachably mate with a storage-system module that includes one or more components necessary for one of the two or more storage-system configurations, and (3) electrical interconnects that electrically couple the storage-drive connectors to the storage-system-module connector. 
     In some examples, the two or more storage-system configurations of the storage-system drawer may include a single-server configuration, a dual-server configuration, and/or a just-a-bunch-of-drives (JBOD) configuration. In some examples, the single-server configuration may require a first type of input/output module, the dual-server configuration may require a second type of input/output module, and the storage-system-module connector may be an input/output-module connector configured to accept any input/output module of the first type or any input/output module of the second type. In at least one example, the single-server configuration may require a first type of storage-controller module, the dual-server configuration may require a second type of storage-controller module, the JBOD configuration may require a third type of storage-controller module, and the storage-system-module connector may be a storage-controller-module connector configured to accept any storage-controller module of the first type, any storage-controller module of the second type, and/or any storage-controller module of the third type. 
     In some examples, the single-server configuration may require a first type of input/output module, one compute module, and a first type of storage-controller module; the dual-server configuration may require a second type of input/output module, two compute modules, and a second type of storage-controller module; and the JBOD configuration may require no input/output modules, no compute modules, but a third type of storage-controller module. In these examples, the storage-system-module connector may be a storage-controller-module connector configured to accept any storage-controller module of the first type, any storage-controller module of the second type, or any storage-controller module of the third type. In addition, the passive drive-plane board may further include (1) an input/output-module connector configured to accept any input/output module of the first type or any input/output module of the second type and (2) two compute-module connectors that each are configured to accept a compute module. In some examples, the storage-system-module connector may be a compute-module connector configured to detachably mate with a compute module that includes a central processing unit. 
     In at least one example, the chassis may include a front through which air is able to pass and a rear through which air is able to pass, and the configurable storage-system drawer may further include (1) a fan coupled to a rear of the chassis that is configured to pull an airflow rearward through the chassis and (2) airflow-retaining members that are configured to cause substantially all of the airflow to enter the chassis through the front of the chassis when the configurable storage-system drawer is pulled out of the data-center rack. In at least one example, the storage-system module may be an input/output module having a heatsink, and one of the airflow-retaining members may include an opening that is configured to enable a portion of the airflow to bypass the front of the chassis and instead pass from under the configurable storage-system drawer across the heatsink. In some examples, the slide assembly may include (1) a first dampening member configured to reduce a shock applied to the chassis when the configurable storage-system drawer is pulled out of the data-center rack and (2) a second dampening member configured to reduce a shock applied to the chassis when the configurable storage-system drawer is pushed into the data-center rack. 
     According to various embodiments, a corresponding storage-system drawer may include (1) storage drives, (2) a first storage-controller module that includes one or more storage-controller components necessary for one of two or more configurations of the storage-system drawer, (3) a second storage-controller module that includes the one or more storage-controller components necessary for one of the two or more configurations of the storage-system drawer, (4) a chassis, (5) a slide assembly coupled to a side of the chassis configured to enable the chassis to be temporarily pulled out of a data-center rack, and (6) a passive drive-plane board housed within the chassis and configured to enable storage-system modules that differ between the two or more configurations of the storage-system drawer to be interchanged. In some examples, the passive drive-plane board may include (1) storage-drive connectors that each are configured to detachably mate with one of the storage drives, (2) two storage-controller-module connectors that each are configured to detachably mate with the first storage-controller module or the second storage-controller module, (3) two input/output-module connectors that each are configured to detachably mate with an input/output module that includes one or more input/output components necessary for one of the two or more storage-system configurations, (4) two compute-module connectors that each are configured to detachably mate with a compute module that includes a central processing unit necessary for one of the two or more storage-system configurations, and (5) electrical interconnects that electrically couple the storage-drive connectors, the two storage-controller-module connectors, the two input/output-module connectors, and/or the two compute-module connectors. 
     In some examples, the two or more configurations of the storage-system drawer may include a single-server configuration, a dual-server configuration, and/or a JBOD configuration. In some examples, the single-server configuration may require a first type of storage-controller module, the dual-server configuration may require a second type of storage-controller module, the JBOD configuration may require a third type of storage-controller module, and the two storage-controller-module connectors may be configured to accept any storage-controller module of the first type, any storage-controller module of the second type, or any storage-controller module of the third type. In some examples, the single-server configuration may require a first type of input/output module, the dual-server configuration may require a second type of input/output module, and the two input/output-module connectors may be configured to accept any input/output module of the first type or any input/output module of the second type. 
     In certain examples, the single-server configuration may require a first type of input/output module, one compute module, and a first type of storage-controller module; the dual-server configuration may require a second type of input/output module, two compute modules, and a second type of storage-controller module; and the JBOD configuration may require no input/output modules, no compute modules, but a third type of storage-controller module. In one example, the storage-system drawer may have the single-server configuration, the first storage-controller module and the second storage-controller module may be of the first type of storage-controller module, and the storage-system drawer may further include an input/output module of the first type of input/output module coupled to one of the two input/output-module connectors and a compute module coupled to one of the two compute-module connectors. In another example, the storage-system drawer may have the dual-server configuration, the first storage-controller module and the second storage-controller module may be of the second type of storage-controller module, and the storage-system drawer may further include two input/output modules of the second type of input/output module coupled to the two input/output-module connectors and two compute modules coupled to the two compute-module connectors. In another example, the storage-system drawer may have the JBOD configuration, the first storage-controller module and the second storage-controller module may be of the third type of storage-controller module, the two input/output-module connectors may be empty, and the two compute-module connectors may be empty. 
     In addition to the various configurable storage-system drawers described herein, the instant disclosure presents exemplary methods associated with reconfiguring storage-system drawers. For example, a method may include pulling out a storage-system drawer capable of a first storage-system configuration and a second storage-system configuration from a data-center rack. In this example, the storage-system drawer may include (1) a chassis, (2) a slide assembly coupled to a side of the chassis and configured to enable the chassis to be temporarily pulled out of the data-center rack, (3) a first storage-system module that includes one or more components necessary for the first storage-system configuration, and (4) a passive drive-plane board housed within the chassis and configured to enable active storage-system modules that differ between the first storage-system configuration and the second storage-system configuration to be interchanged. In some examples, the passive drive-plane board may include (1) storage-drive connectors that each are configured to detachably mate with a storage drive, (2) a storage-controller-module connector configured to detachably mate with the first storage-system module, and (3) electrical interconnects that electrically couple the storage-drive connectors to the storage-controller-module connector. In some examples, the method may further include (1) removing the first storage-system module from the storage-controller-module connector, (2) inserting a second storage-system module into the storage-controller-module connector, with the second storage-system module including one or more components necessary for the second storage-system configuration, and (3) pushing the storage-system drawer back into the data-center rack. 
     Features from any of the above-mentioned embodiments may be used in combination with one another in accordance with the general principles described herein. These and other embodiments, features, and advantages will be more fully understood upon reading the following detailed description in conjunction with the accompanying drawings and claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings illustrate a number of exemplary embodiments and are a part of the specification. Together with the following description, these drawings demonstrate and explain various principles of the instant disclosure. 
         FIG. 1  is a top view of an exemplary passive drive-plane board. 
         FIG. 2  is a bottom view of the exemplary passive drive-plane board illustrated in  FIG. 1 . 
         FIG. 3  is a perspective view of the exemplary passive drive-plane board illustrated in  FIG. 1  in a disconnected state. 
         FIG. 4  is a block diagram of an exemplary dual-server configuration. 
         FIG. 5  is a partial perspective view of an exemplary storage-system drawer having the exemplary dual-server configuration illustrated in  FIG. 4 . 
         FIG. 6  is a block diagram of an exemplary single-server configuration. 
         FIG. 7  is a partial perspective view of an exemplary storage-system drawer having the exemplary single-server configuration illustrated in  FIG. 6 . 
         FIG. 8  is a block diagram of an exemplary JBOD configuration. 
         FIG. 9  is a partial perspective view of an exemplary storage-system drawer having the exemplary JBOD configuration illustrated in  FIG. 8 . 
         FIG. 10  is a perspective view of an exemplary storage-system drawer. 
         FIG. 11  is a perspective view of an exemplary data-center rack with several storage-system drawers. 
         FIG. 12  is a bottom view of the exemplary storage-system drawer illustrated in 
         FIG. 10 . 
         FIG. 13  is a flow diagram of an exemplary method for reconfiguring storage-system drawers. 
     
    
    
     Throughout the drawings, identical reference characters and descriptions indicate similar, but not necessarily identical, elements. While the exemplary embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. However, the exemplary embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the instant disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims. 
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
     The present disclosure is generally directed to a flexible storage-system drawer platform that may support a variety of storage-system configurations, such as single-server configurations, dual-server configurations, and JBOD configurations. As will be explained in greater detail below, by including some or all of the common components shared between two or more possible configurations of a storage system in a passive drive-plane board and modularizing the components that differ, the apparatus, systems, and methods disclosed herein may enable a storage-system drawer that contains the passive drive-plane board to take on any one of the configurations and/or be later reconfigured to take on any of the others. In some examples, the passive drive-plane board may include various connectors and electrical interconnects configured to mechanically and electrically couple various types of modularized components, such as compute modules, storage drives, storage controllers, input/output modules, auxiliary components, and other active storage-system components. In some examples, the passive drive-plane board may be protocol and/or connector agnostic to enable different forms of each type of modularized component to be mixed and matched. In some examples, the flexible storage-system drawer platform may be substantially self-contained. For example, the flexible storage-system drawer platform may contain substantially all necessary power cabling, fans, and sensors needed for each supported storage-system configuration. The flexible storage-system drawer platform may also include various cutouts and baffles that enable the flexible storage-system drawer platform to be extended from a data-center rack for long periods of time for servicing purposes without its components overheating. 
     Embodiments of the instant disclosure may provide various features and advantages over conventional storage-system drawers. For example, the flexible storage-system drawer platform disclosed herein may allow for modularized storage-system components to be replaced by modularized storage-system components of other types, formats, and/or form factors without requiring the purchase or configuration of entirely new drawer hardware and/or the reconfiguration of data-center racks. In addition, the mechanisms disclosed herein may facilitate more efficient management of data center facilities. For example, the flexible storage-system drawer platform disclosed herein may enable data-center administrators to reconfigure a storage-system drawer to meet their changing needs by simply changing or replacing the storage-system drawer&#39;s modularized components rather than replacing the entire storage-system drawer. 
     The following will provide, with reference to  FIGS. 1-3 , detailed descriptions of an example passive drive-plane board that enables a storage-system drawer to take on multiple different storage-system configurations. Detailed descriptions of example storage-system configurations will be provided in connection with  FIGS. 4-9 . In addition, detailed descriptions of an example storage-system drawer will be provided in connection with  FIGS. 10-12 . Detailed descriptions of an example method for reconfiguring a storage-system drawer will also be provided in connection with  FIG. 13 . 
       FIG. 1  shows a top view of an example passive drive-plane board  100 . Passive drive-plane board  100  generally represents any structure that is adapted to passively connect the various active components (e.g., compute modules, storage drives, storage-controller modules, and input/output modules) that make up a storage system and/or secure the components within a chassis. In some examples, passive drive-plane board  100  may be one or more printed circuit boards (PCBs) that include various connectors that are electrically connected by conductive traces. Passive drive-plane board  100  may be configured to support any number of drives, fans, and other computing components, as needed. In one example, passive drive-plane board  100  may be configured to support up to 72 storage drives, up to four fans, drive power control, sensors (e.g., temperature sensors or drawer open sensors), and incoming power. 
     In some examples, passive drive-plane board  100  may be adapted to enable a storage-system chassis, such as a rack-mounted drawer, to take on several different storage-system configurations. As used herein, the term “storage-system configuration” generally refers to the forms and/or arrangements of the components that make up a storage system. Two storage-system configurations may be considered as different if they use different types, forms, or arrangements of components. In some examples, passive drive-plane board  100  may include some or all of the common components that are shared between a dual-server configuration  400  illustrated in  FIG. 4 , a single-server configuration  600  illustrated in  FIG. 6 , and/or a JBOD configuration  800  illustrated in  FIG. 8 . 
     As shown in  FIG. 1 , passive drive-plane board  100  may have a top  102  on which are mounted various types of connectors. In one non-limiting example, passive drive-plane board  100  may include 72 storage-drive connectors  104 , two compute-module connectors  106 , two storage-controller connectors  108 , two I/O-module connectors  110 , four fan module connectors  112 , a front-panel connector  114 , and a power connector  116 . While not shown in  FIG. 1 , passive drive-plane board  100  may include electrical conductors that electrically connect some or all of the connectors shown in  FIG. 1 . 
     Each of storage-drive connectors  104  may be configured to interface with a single storage drive. The term “storage drive,” as used herein, generally refers to any device capable of storing electronic data. In some examples, storage-drive connectors  104  may be configured to interface with solid state drives, hard disk drives, and/or optical drives. In some examples, storage-drive connectors  104  may be configured to interface with two or more different types of storage drives. For example, storage-drive connectors  104  may be configured to interface with storage drives that have different physical form factors, that are made up of different types of storage (e.g., solid state or hard disk), that use different protocols, and/or that use different types of connectors. In some examples, storage-drive connectors  104  may be configured to interface with serial attached small computer system interface (SAS) drives, serial advanced technology attachment (SATA) drives, and/or Non-Volatile Memory Express (NVMe) drives. In some examples, storage-drive connectors  104  may be configured to enable hot-swapping of storage drives. 
     Each of compute-module connectors  106  may be configured to interface with a compute module. The term “compute module,” as used herein, generally refers to any server module whose primary function is computational and/or any server module whose primary function is to provide data storage services. In some examples, compute-module connectors  106  may be configured to interface with two or more different types of compute modules. Additionally or alternatively, passive drive-plane board  100  and compute-module connectors  106  may be collectively configured to allow one or both of compute-module connectors  106  to be left empty. In some examples, compute-module connectors  106  may be configured to enable hot-swapping of compute modules. In one non-limiting example, passive drive-plane board  100  and each of compute-module connectors  106  may be collectively configured to (1) connect a single compute module to a single storage-controller module that controls 36 storage drives in a storage-system drawer and (2) logically separate the compute module and the storage-controller module from other compute modules, storage-controller modules, and storage drives in the storage-system drawer. 
     Each of storage-controller connectors  108  may be configured to interface with a storage-controller module. The term “storage-controller module,” as used herein, generally refers to any storage-system module whose primary function is to control and communicate with storage drives. In some examples, storage-controller connectors  108  may be configured to interface with two or more different types of storage-controller modules, such as those illustrated in  FIGS. 4, 6, and 8 . Each of storage-controller connectors  108  may be connected to one or more of storage-drive connectors  104  via SATA, SAS, and/or Peripheral Component Interconnect express (PCIe) connections and may be configured to host SATA, SAS, and/or PCIe storage-controller modules. In some examples, passive drive-plane board  100  may be configured such that each of storage-controller connectors  108  are connected to a different portion of storage-drive connectors  104 . In addition, storage-controller connectors  108  may be configured to enable hot-swapping of storage-controller modules. 
     Each of I/O-module connectors  110  may be configured to interface with an I/O module. The term “I/O module,” as used herein, generally refers to any storage-system module whose primary function is to facilitate data transfer in and out of a storage system. In some examples, I/O-module connectors  110  may be configured to interface with two or more different types of I/O modules, such as those illustrated in  FIGS. 4 and 6 . In some examples, I/O-module connectors  110  may be configured to enable hot-swapping of I/O modules. 
     Passive drive-plane board  100  may have additional elements other than those illustrated in  FIG. 1 . In some examples, as shown in  FIG. 2 , a bottom  202  of passive drive-plane board  100  may include keyholes  204  for attaching passive drive-plane board  100  to a storage-system chassis and rails  206  that are configured to secure an I/O-module drawer containing an I/O module. As illustrated in  FIG. 3 , passive drive-board  100  may be made up of one or more separable pieces. In the example shown, passive drive-board  100  may include a front PCB  302  and a rear PCB  304  that may be electrically coupled via high-speed connectors  306 - 312 . In some examples, high-speed connectors  306 - 312  may provide power and communication pathways between the components of front PCB  302  and the components of rear PCB  304 . 
       FIGS. 4 and 5  show a block diagram of a dual-server configuration  400  and a partial perspective view of a storage-system drawer having dual-server configuration  400 , respectively. As illustrated in  FIG. 4 , passive drive-plane board  100  may be connected to one or more fans  428 , drive power control and sensors  430  and/or  432 , and/or drives  434  and/or  436 . In some embodiments, drive power control and sensors  430  and/or  432  may monitor the state of the storage-system drawer and/or devices housed within its chassis, such as whether the storage-system drawer is open and/or the temperature of the storage-system drawer and/or its components. In some embodiments, drives  434  may be connected to PCB  302 , and/or drives  436  may be connected to PCB  304 . In one non-limiting example, drives  434  and/or  436  may each represent 36 SAS drives or 36 SATA drives, for a total of 72 drives in the storage-system drawer. In one embodiment, an I/O module  404  may include a Network Interface Controller (NIC)  410 , a Baseboard Management Controller (BMC)  412 , a SAS Input/Output Controller (IOC)  414 , and/or a PCIe bus  416 . In one embodiment, a compute module  406  may include memory  418 , a Central Processing Unit (CPU)  420 , and/or a boot Solid State Drive (SSD)  422 . In some embodiments, compute module  406  may be an OPEN COMPUTE PROJECT (OCP) microserver. In some embodiments, a storage controller card  408  may include a SAS IOC  424  and/or a SAS expander  426 . 
     In some embodiments, NIC  410 , SAS IOC  414 , CPU  420 , and/or SAS IOC  424  may all be connected to PCIE bus  416  via PCIe connectors and electrical interconnects contained within passive drive-plane board  100 . In one embodiment, BMC  412 , CPU  420 , and/or drive power control and sensors  430  may be connected to SAS expander  426  via electrical interconnects contained within passive drive-plane board  100 . In some embodiments, BMC  412 , CPU  420 , and/or drive power control and sensors  430  may be connected to SAS expander  426  via eight lanes of PCIe generation  3  connectors contained within passive drive-plane board  100 . In some embodiments, SAS IOC  424  may be connected to SAS expander  426  via a SAS connection. For example, SAS IOC  424  may be connected to SAS expander  426  via eight lanes of twelve gigabyte SAS connections. In some embodiments, SAS expander  426  may be connected to drives  434  via a SATA connection contained within passive drive-plane board  100 . In other embodiments, SAS expander  426  may be connected to drives  434  via a SAS connection contained within passive drive-plane board  100 . For example, SAS expander  426  may be connected to drives  434  via thirty-six lanes of twelve gigabyte SAS connections contained within passive drive-plane board  100  and/or six gigabyte SATA connections contained within passive drive-plane board  100 . 
     Similarly, an I/O module  464  may include an NIC  440 , BMC  442 , SAS IOC  444 , and/or PCIe bus  446 ; a compute module  466  may include memory  448 , a CPU  450 , and/or a boot SSD  452 ; and/or a storage controller card  468  may include a SAS IOC  454  and/or a SAS expander  456 . The aforementioned components may be connected to one another and to the components on passive drive-plane board  100  in a similar manner to the components hosted within I/O module  404 , compute module  406 , and/or storage controller card  408 . In one embodiment, the only external connection between the storage-system drawer and other systems may be an Ethernet link. In at least one example, SAS IOC  414  may not be populated on I/O module  404  since drives  434  may be directly connected, and/or SAS IOC  444  may not be populated on I/O module  464  since drives  436  may be directly connected. In this example, SAS IOC  424  on storage controller card  408  may be used to connect to SAS expander  426 , which attaches drives  434 , and/or SAS IOC  454  on storage controller card  468  may be used to connect to SAS expander  456 , which attaches drives  436 . 
     In some examples, BMC  412  and BMC  442  may handle the majority of storage-system management in the storage-system drawer. For example, BMC  412  may manage compute module  406 , storage controller card  408 , drives  434 , fans  428 , and drive power control and sensors  430 . Similarly, BMC  442  may manage compute module  466 , storage controller card  468 , drives  436 , fans  428 , and drive power control and sensors  432 . Additionally, SAS Expanders  426  and  456  may handle communication with individual drives as well as monitor certain sensors. 
       FIGS. 6 and 7  show a block diagram of a single-server configuration  600  and a partial perspective view of a storage-system drawer having single-server configuration  600 , respectively. In some embodiments, a single-server configuration may be intended for applications that use a lower compute-to-storage ratio compared to applications that operate efficiently when hosted by a dual-server configuration (illustrated in  FIGS. 4 and 5 ). In some embodiments, a single-server drawer may serve as a head node for a cold-storage system that includes multiple servers storing data that does not need to be frequently accessed and may be connected to one or more JBOD drawers connected downstream to increase the number of storage drives behind the head node. 
     As illustrated in  FIG. 6 , passive drive-plane board  100  may be connected to fans  628 , drive power control and sensors  630 , drive power control and sensors  632 , drives  634 , and/or drives  636 . In some embodiments, drives  634  may be connected to PCB  302 , and/or drives  636  may be connected to PCB  304 . In some examples, drives  634  and/or  636  may each represent 36 SAS and/or SATA drives, for a total of 72 storage drives in the storage-system drawer. In one embodiment, an I/O module  604  may include a SAS connector  640 , an NIC  610 , a BMC  612 , a SAS IOC  614 , and/or a PCIe bus  616 . In some embodiments, a compute module  606  may include memory  618 , a CPU  620 , and/or a boot SSD  622 . In some embodiments, a storage controller card  608  may include a SAS IOC  624 , a SAS expander  626 , and/or a SAS connector  638 . In one embodiment, a storage controller card  650  may include a SAS IOC  644 , a SAS expander  646 , and/or a SAS connector  648 . 
     In some embodiments, NIC  610 , SAS IOC  614 , CPU  620 , and/or SAS IOC  624  may all be connected to PCIE bus  616  via PCIe connectors and electrical interconnects contained within passive drive-plane board  100 . In some embodiments, SAS connector  640  may be connected to SAS IOC  614  via a SAS connection. For example, SAS connector  640  may be connected to SAS IOC  614  via six lanes of twelve gigabyte SAS connections. In one embodiment, BMC  612 , fans  628 , drive power control and sensors  632 , and/or SAS expander  626  may all be connected to CPU  620  via connections contained within passive drive-plane board  100 . In some embodiments, SAS expander  626  may be connected to SAS IOC  624 , drives  634 , and/or SAS connector  638 . In some examples, SAS expander  626  may be connected to SAS IOC  624  and/or SAS connector  638  via 6 gigabyte SAS connections. Additionally, SAS expander  626  may be connected to drives  634  via 6 gigabyte SAS connections contained within passive drive-plane board  100 . In one example, SAS expander  626  may be connected to SAS IOC  624  via eight lanes of SAS connections, to SAS connector  638  via four lanes, and/or to drives  634  via thirty-six lanes. Similarly, SAS expander  646  may be connected to SAS IOC  644 , drives  636 , and/or SAS connector  648 . In some embodiments, SAS connector  638  may be connected to SAS connector  648  via a connection path not contained within passive drive-plane board  100 . In some examples, internal MiniSAS connectors of storage controller card  608  and storage controller card  650  may be connected via an x4 cable to connect drives  634  and  636 . 
     In some examples, BMC  612  may handle the majority of storage-system management in the storage-system drawer. For example, BMC  612  may manage compute module  606 , storage controller card  608 , drives  634 , fans  628 , and drive power control and sensors  632 . In some examples, storage controller card  650  may manage drives  636 , fans  628 , and drive power control and sensors  630 . Additionally, SAS Expanders  626  and  646  may handle communication with individual drives as well as monitor certain sensors. 
       FIGS. 8 and 9  show a block diagram of an exemplary JBOD configuration  800  and a perspective view of the storage-system drawer having JBOD configuration  800 , respectively. In some embodiments, an external compute module (like those illustrated in  FIGS. 4-7 ) may be connected to the storage-system drawer when the storage-system drawer is configured as a JBOD drawer. For example, an external compute module may be connected to the storage-system drawer via a SAS connector exposed at the front of the storage-system drawer. In one embodiment, passive drive-plane board  100  may be connected to fans  828 , drive power control and sensors  830  and/or  832 , and/or drives  834  and/or  836 . In some embodiments, drives  834  may be connected to PCB  302 , and/or drives  836  may be connected to PCB  304 . In some examples, drives  834  and/or  836  may each represent 36 SAS and/or SATA drives, for a total of 72 drives in the storage-system drawer. In one embodiment, a front panel  804  may include a SAS connector  822  and/or a SAS connector  824 . In some embodiments, a storage controller card  808  may host a SAS connector  810 , a SAS IOC  812 , and/or a SAS expander  814 . Similarly, a storage controller card  806  may include a SAS connector  820 , a SAS IOC  816 , and/or a SAS expander  818 . 
     In some embodiments, SAS expander  814  and/or SAS expander  818  may be connected to and/or control fans  828  via electrical interconnects contained within passive drive-plane board  100 . In one embodiment, SAS expander  814  may be connected to drive power control and sensors  830  via electrical interconnects contained within passive drive-plane board  100 . Similarly, SAS expander  818  may be connected to drive power control and sensors  832  via electrical interconnects contained within passive drive-plane board  100 . In one embodiment, SAS expander  814  may be connected to SAS connector  810 , SAS IOC  812 , SAS connector  822 , and/or drives  834 . In one example, SAS expander  814  may be connected to drives  834  via electrical interconnects contained within passive drive-plane board  100 . In some examples, SAS expander  814  may be connected to SAS connector  810  via four lanes of twelve gigabyte SAS connections, may be connected to SAS IOC  812  via eight lanes of twelve gigabyte SAS connections, may be connected to SAS connector  822  via a four lane miniSAS high-density (HD) internal cable, and/or may be connected to drives  834  via thirty-six lanes of twelve gigabyte SAS connections. In some embodiments, SAS expander  818  may be connected to SAS connector  820 , SAS IOC  816 , SAS connector  824 , and/or drives  836  in a similar fashion. In some examples, SAS IOC  812  and/or SAS IOC  816  may not be populated. In some embodiments, multiple JBOD servers may be used as nodes behind a head node that is configured as a single-server drawer and/or a JBOD-server drawer. In some examples, storage controller cards  806  and  808  may handle the majority of storage-system management in the storage-system drawer. For example, storage controller card  808  may manage drives  834 , fans  828 , and drive power control and sensors  830 . Similarly, storage controller card  806  may manage drives  836 , fans  828 , and drive power control and sensors  832 . 
       FIG. 10  shows a perspective view of a storage-system drawer  1000 . The term “storage-system drawer,” as used herein, generally refers to any structure that is adapted to house the various components that make up a storage system. As illustrated in  FIG. 10 , storage-system drawer  1000  may include a chassis (e.g., a metallic enclosure) made up of a front  1002 , a left side  1004 , a rear  1006 , and a right side  1008 . The chassis of storage-system drawer  1000  may be adapted to be housed in a data-center rack  1100  as illustrated in  FIG. 11 . In one example, storage-system drawer  1000  may be positioned on a support tray (such as support tray  1102 ) coupled to a frame  1104  of data-center rack  1100 . As used herein, the term “data-center rack” generally refers to any multi-system chassis structure for housing multiple storage-system drawers and chassis and/or providing support for one or more cables that connect to the storage-system drawers and chassis. In some examples, a single data-center rack may contain a homogeneous set of storage-system drawers. For example, a single data-center rack may contain multiple storage-system drawers that have the same single-server configuration, the same dual-server configuration, and/or the same JBOD configuration. Alternatively, a single data-center rack may contain a heterogeneous set of storage-system drawers. For example, a single data-center rack may contain two or more of a single-server storage-system drawer that has a single-server configuration, a dual-server storage-system drawer that has a dual-server configuration, and/or a storage-system drawer that has a JBOD configuration. In some examples, a data-center rack may also contain power supplies, network switches, and/or battery backup units. 
     Returning to  FIG. 10 , storage-system drawer  1000  may include slide mechanisms (e.g., drawer-slide mechanism  1010 ) that are coupled to left side  1004  and right side  1008  and enable storage-system drawer  1000  to be fully extended out of data-center rack  1100  for servicing. In at least one example, these slide mechanisms may include various dampening components configured to reduce the amount of shock applied to the components contained within storage-system drawer  1000  when storage-system drawer  1000  is opened/closed with force. These dampening components may be configured to dampen the movement of storage-system drawer  1000  when storage-system drawer  1000  is fully extended from data-center rack  1100  or fully inserted into data-center rack  1100 . As shown, storage-system drawer  1000  may include pull-handle  1012  and pull-handle  1014  configured to enable a technician to easily pull storage-system drawer  1000  out from and return storage-system drawer  1000  to data-center rack  1100 . 
     In some examples, the chassis of storage-system drawer  1000  may be sized to house all of the storage-system components illustrated in  FIGS. 5, 7, and 9 . As shown in  FIG. 10 , storage-system drawer  1000  may be configured so that most of the storage-system components that are contained within storage-system drawer  1000  may be serviced through the top side of storage-system drawer  1000 . For example, each storage drive contained in storage-system drawer  1000  may be secured within storage-system drawer  1000  via a latch (e.g., a latch  128 ) adapted to hold the storage drive in place when closed and enable removal of the storage drive when open. In some embodiments, storage-system drawer  1000  may include one or more removable covers (e.g., removable covers  1022  and  1026 ) that cover and provide access to other components contained within storage-system drawer  1000 , such as a compute module, a storage-controller card, and/or cables. 
     Additionally or alternatively, storage-system drawer  1000  may be configured so that some of the storage-system components that are contained within storage-system drawer  1000  may be serviced through the front, the bottom, or the rear of storage-system drawer  1000 . For example, storage-system drawer  1000  may include front-accessible I/O-module drawers, such as I/O-module drawers  1032  and  1034 , that are adapted to secure I/O modules within storage-system drawer  1000 . As shown in  FIG. 12 , I/O-module drawers  1032  and  1034  may include various holes and openings (e.g., opening  1204 ) in order to reduce the weight of storage-system drawer  1000 . In these examples, light-weight films (e.g., film  1206 ) may be used to cover the holes and openings in the I/O-module drawers in order to prevent air from passing through the holes and openings. In at least one example, these light-weight films may include their own holes or openings (e.g., opening  1208 ) that are located to allow air to enter an I/O-module drawer and to cool adjacent I/O module components, such as heatsinks. 
     As shown in  FIG. 10 , storage-system drawer  1000  may include a fan module  1016  and a fan module  1018  removably attached to rear  1006 . In some examples, fan module  1016  and fan module  1018  may include one or more fans that pull an airflow rearward through the chassis of storage-system drawer  1000  for the purpose of cooling the storage-system components housed within storage-system drawer  1000 . In order to retain the airflow and create plenum within its chassis, storage-system drawer  1000  may include one or more airflow-retaining mechanisms such as a removable baffle  1020 , removable cover  1022 , a removable baffle  1024 , and removable cover  1026 . In some examples, the storage-drive latches contained within storage-system drawer  1000  (e.g., latch  1028 ) may include a clear film that creates plenum and enables a technician to view an enclosed storage drive when the latch is closed. In some examples, the sides of storage-system drawer  1000  may include various holes and openings (e.g., opening  1030 ) in order to reduce the weight of storage-system drawer  1000 . In these examples, light-weight films (e.g., mylar films) may be used to cover the holes and openings in order to prevent air from passing through the sides of storage-system drawer  1000 . As shown in  FIG. 12 , storage-system drawer  1000  may also include passive drive-plane board  100 , a baffle  1210 , a baffle  1212 , and a baffle  1214  that may also be sized and configured to retain the airflows generated by fan modules  1016  and  1018  within storage-system drawer  1000 . In some examples, passive drive-plane board  100  may be accessed and/or removed from storage-system drawer  1000  from the bottom of storage-system for  1000 . In some examples, the various airflow-retaining mechanisms of storage-system drawer  1000  may enable storage-system drawer  1000  to be pulled out of a data-center rack for an extended period of time. In some configurations, the various airflow-retaining mechanisms of storage-system drawer  1000  may enable a service time of greater than 10 minutes. 
       FIG. 13  illustrates a flow diagram of a method  1300  for reconfiguring storage-system drawers. As shown in  FIG. 13 , at step  1310 , a storage-system drawer capable of a first storage-system configuration and a second storage-system configuration may be pulled out from a data-center rack. Using  FIG. 11  as an example, storage-system drawer  1000  may be pulled out from data-center rack  1100 . 
     As step  1320 , a first storage-system module that includes one or more components necessary for the first storage-system configuration may be removed from the storage-system drawer. For example, when reconfiguring storage-system drawer  1000  from configuration  400  to configuration  600  or configuration  800 , one or more of I/O module  404 , compute module  406 , storage controller card  408 , I/O module  464 , compute module  466 , and storage controller card  468  may be removed from storage-system drawer  1000 . Similarly, when reconfiguring storage-system drawer  1000  from configuration  600  to configuration  400  or configuration  800 , one or more of I/O module  604 , compute module  606 , storage controller card  608 , and storage controller card  650  may be removed from storage-system drawer  1000 . Likewise, when reconfiguring storage-system drawer  1000  from configuration  800  to configuration  400  or configuration  600 , storage controller card  808  and storage controller card  806  may be removed from storage-system drawer  1000 . 
     As step  1330 , a second storage-system module that includes one or more components necessary for the second storage-system configuration may be inserted into the storage-system drawer. For example, when reconfiguring storage-system drawer  1000  to configuration  400  from configuration  600  or configuration  800 , one or more of I/O module  404 , compute module  406 , storage controller card  408 , I/O module  464 , compute module  466 , and storage controller card  468  may be inserted into storage-system drawer  1000 . Similarly, when reconfiguring storage-system drawer  1000  to configuration  600  from configuration  400  or configuration  800 , one or more of I/O module  604 , compute module  606 , storage controller card  608 , and storage controller card  650  may be inserted into storage-system drawer  1000 . Likewise, when reconfiguring storage-system drawer  1000  to configuration  800  from configuration  400  or configuration  600 , storage controller card  808  and storage controller card  806  may be inserted into storage-system drawer  1000 . 
     As step  1340 , the storage-system drawer may be pushed back into the data-center rack. Using  FIG. 11  as an example, storage-system drawer  1000  may be pushed back into data-center rack  1100 . 
     As explained above, by including some or all of the common components shared between two or more possible configurations of a storage system in a passive drive-plane board and modularizing the components that differ, the apparatus, systems, and methods disclosed herein may enable a storage-system drawer that contains the passive drive-plane board to take on any one of the configurations and/or be later reconfigured to take on any of the others. In some examples, the passive drive-plane board may include various connectors and electrical interconnects configured to mechanically and electrically couple various types of modularized components, such as compute modules, storage drives, storage controllers, input/output modules, auxiliary components, and other active storage-system components. In some examples, the passive drive-plane board may be protocol and/or connector agnostic to enable different forms of each type of modularized component to be mixed and matched. 
     The process parameters and sequence of the steps described and/or illustrated herein are given by way of example only and can be varied as desired. For example, while the steps illustrated and/or described herein may be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various exemplary methods described and/or illustrated herein may also omit one or more of the steps described or illustrated herein or include additional steps in addition to those disclosed. 
     The preceding description has been provided to enable others skilled in the art to best utilize various aspects of the exemplary embodiments disclosed herein. This exemplary description is not intended to be exhaustive or to be limited to any precise form disclosed. Many modifications and variations are possible without departing from the spirit and scope of the instant disclosure. The embodiments disclosed herein should be considered in all respects illustrative and not restrictive. Reference should be made to the appended claims and their equivalents in determining the scope of the instant disclosure. 
     Unless otherwise noted, the terms “connected to” and “coupled to” (and their derivatives), as used in the specification and claims, are to be construed as permitting both direct and indirect (i.e., via other elements or components) connection. In addition, the terms “a” or “an,” as used in the specification and claims, are to be construed as meaning “at least one of.” Finally, for ease of use, the terms “including” and “having” (and their derivatives), as used in the specification and claims, are interchangeable with and have the same meaning as the word “comprising.”