The embodiments described in this disclosure relate to storage systems, and in particular, storage systems with sled assemblies that enable multiple internal drives to be grouped into a single sled assembly, and said sled assemblies enabling independent removal of any one of the multiple internal drives or removal of any internal drive present in the sled assembly together.
Storage arrays are computer systems that are designed to store data and efficiently serve data to processing applications. Typically, storage arrays are provisioned for entities that require specific storage capacity and performance. Often, one or more storage arrays are provisioned for entities having multiple clients, local or remote, that require efficient access to mission critical data. In some configurations, storage arrays are installed in data centers, where multiple storage arrays are clustered together to deliver either higher storage capacity and/or performance.
Although storage arrays work well to provide necessary data storage and performance, components of storage arrays will reach an expected useful end of life. Although other components can fail, e.g., power supplies, processors, etc., storage arrays implement redundancy to account for such failures, whether physical or software related. Most commonly, storage arrays will experience the most stress and wear by the continuous use of hard disk drives (HDDs) and solid state drives (SSDs) that define the storage capacity of the storage array. Given the inherent wear characteristic of HDDs and SSDs, manufacturers of storage arrays understand and indeed program expected end of life for HDDs and SSDs. However, in addition to expected end of life, there are times when HDDs or SSDs fail, either mechanically, physically, or logically. Most storage arrays implement physical redundancy and processes such as redundant array of inexpensive disks (RAID) to protect against such failures. However, once a drive fails, there is still a need to remove and replace such drives. Unfortunately, as the density of drives in storage arrays continues to grow, removal of drives from a storage array can be complicated or time consuming. In some cases, the drive configuration requires that the system be powered down to remove failed drives. In other cases, the drive configuration requires that operating drives be removed together with failed drives. In either of these cases, replacement of failed drives in storage arrays can impose significant time burdens upon storage array technicians and in some cases, can also impact access to data if the storage array is powered down.
It is in this context that embodiments of this disclosure arise.
Embodiments are provided that enable efficient insertion and removal of internal drives, in storage arrays. In one configuration, a sled assembly is provided with capacity for internal drives. The sled assembly, holding one or two internal drives can be installed into a storage array and connected to the storage controller as one unit. Further, the sled assembly is configured to enable independent insertion and removal of internal dives, without removal of the sled assembly from the storage array. In one configuration, the sled assembly includes an ejector body disposed as a front plate of the ejector body, provides a button that enables removal or insertion locking of the sled assembly out of or into the storage array. The ejector body, in one configuration, further includes front slots that can independently receive two internal drive assemblies. The ejector body includes an ejector handle that pivots on a hinge of the ejector body. When the button on the ejector body is activated, the ejector handle enables release of the sled assembly from a compartment of the storage array. Independent from the insertion and the removal of the sled assembly from the storage array, internal drive assemblies are capable of being inserted into the front slots of the ejector body, leading into the sled assembly. In one configuration, an internal drive assembly will have one internal drive. Thus, the sled assembly can receive two internal drive assemblies. Thus, if replacement of one drive is required, either to add a drive to increase storage capacity, replace a drive that may be reaching end of life or replace a failed drive, that one drive can be removed and/or inserted into the sled assembly without operational disruption to the other drive, if present, or requirement to pull out the sled assembly.
In one embodiment, a sled assembly for a storage array is provided. The sled assembly includes a first rail extending between a first end and a second end and a second rail extending between the first end and the second end. The second rail is parallel to the first rail. Further included is an ejector body that is coupled to the first rail and the second rail at the first end. A first drive guide having a first pair of channels is provided. The first drive guide is disposed adjacent to and parallel to the first rail and interfaced with the ejector body at the first end. A second drive guide having a second pair of channels is further provided. The second drive guide is disposed adjacent to and parallel to the second rail and interfaced with the ejector body at the first end. A first drive and a second drive are configured to be disposed between the first rail and the second rail and respectively enabled to slide into and out of the sled assembly. The sled assembly is further configured for sliding into and out of the storage array. The first drive and the second drive are each configured for independent insertion or removal into and out of the sled assembly without removal of the sled assembly from the storage array.
In another embodiment, a sled assembly for a storage array is disclosed. The sled assembly includes a first rail extending between a first end and a second end and a second rail extending between the first end and the second end. Further, an ejector body is coupled to the first rail and the second rail at the first end. A first drive guide has a first pair of channels, and the first drive guide is disposed adjacent to and parallel to the first rail and interfaced with the ejector body at the first end. A second drive guide has a second pair of channels, and the second drive guide is disposed adjacent to and parallel to the second rail and interfaced with the ejector body at the first end. A first internal drive assembly for receiving a first drive and a second internal drive assembly for receiving a second drive are provided. Each of said first and second internal drive assemblies include a first sub-rail and a second sub-rail disposed parallel to the first sub-rail, a sub-ejector body coupled to the first and second sub-rails, and a frame base. Further, each of said first and second internal drive assemblies are configured to slide in and out of the sled assembly independent of removal of said sled assembly from said storage array.
In yet another embodiment, a sled assembly for a storage array is disclosed. The storage array includes a first rail extending between a first end and a second end and a second rail extending between the first end and the second end. An ejector body is coupled to the first rail and the second rail at the first end. A first internal drive assembly for receiving a first drive, and a second internal drive assembly for receiving a second drive. Each of said first and second internal drive assemblies include a first sub-rail and a second sub-rail disposed parallel to the first sub-rail, a sub-ejector body coupled to the first and second sub-rails, and a frame base. Further included is a paddle card disposed between the first rail and the second rail. The paddle card has an internal side facing toward the first end and an external side facing toward the second end. A first sled connector is disposed on the internal side of the paddle card, and a second sled connector is disposed on the internal side of the paddle card. The second sled connector is parallel to the first sled connector. The first and second sled connectors provide connection to drive connectors of the first and second drives when disposed in the sled assembly, and a third sled connector is disposed on the external side of the paddle card. The third connector providing an interface for the sled assembly with a connector of a storage controller of the storage array. Each of said first and second internal drive assemblies are configured to slide in and out of the sled assembly independent of removal of said sled assembly from said storage array.
The disclosed embodiments relate to sled assemblies usable to insert and remove hard disk drives (HDDs) and/or solid state drivers (SSDs) from storage arrays, used for storing and serving data used by executing applications. The storage arrays may be used as primary storage for small entities, or may be part of data centers of varying sizes. The sled assemblies described herein are configured for insertion into standard slots sizes used by 3.5 in HDDs. In one embodiment, the sled assembly includes an ejector body that enables two separate 2.5 in internal SSDs to be inserted independently into a same form factor of the 3.5 in HDD.
In one configuration, the ejector body of the sled assembly has front slots that enable each of two SSDs to be inserted therein, using a respective internal sled assembly. An internal sled assembly will also include a sub-ejector body, and a sub-ejector handle. When the internal sled assembly is inserted in the sled assembly, via a slot in the front face thereof, the SSD is installed and connected via internal connectors integrated with the sled assembly. In one configuration, the sled assembly includes two internal connectors for coupling to SSD drivers when inserted into the sled assembly and one external connector that enables connection of the sled assembly to a backplane or connection to a controller of the storage array. Integrated with the sled assembly is a paddle board that includes a bridge chip for enabling translation between communication protocols used by the SSD drives and the back plane connector of the sled assembly.
By way of example, one communication protocol may be a serial attached SCSI (SAS) protocol and another protocol may be a serial AT attachment (SATA) protocol. As will be described in greater detail below, the sled assembly having the ejector body with front slots enables independent and efficient insertion and removal of internal sled assemblies, without requiring the removal of the sled assembly from the storage array. Further, the front face of the sled assembly, when installed in a storage array efficiently and ergonomically exposes quick access to remove the entire sled assembly, while holding any drive disposed therein, or separate removal of any drive disposed therein from its internal slots, without operationally disturbing another drive that may be connected in an operational state. Still further, the independent insertion and removal functionality of the internal sled assemblies from the sled assembly introduces additional efficiencies related to drive maintenance and/or replacement. In some embodiments, when internal drives, e.g., SSDs need replacement on some schedule, each drive in a single sled assembly may be removed and replaced, with minimal system disruption and with ergonomic ease, as the SSDs can be simply removed by release of a button and handle on the internal sled assembly.
In one example, the sled slots 180 are configured to receive standard size 3.5 inch hard drives, and the respective sled assembly. In accordance with one embodiment, the same standard 3.5 inch hard drive sled slot 180 is provided, but each sled assembly 100 will include two internal drive assemblies 200. In one embodiment, a 2.5 inch SSD has a slim form factor. By way of example, some SSDs are about 7 mm thick. In contrast, most commonly used 3.5 inch HDDs, are about 25 mm thick. Volume wise, one 3.5 inch drive is almost 8 times of 2.5 inch drive, i.e., 7 mm drive (386 cm̂3/49 cm̂3=7.8). Thus, it is more than feasible to fit two SSD drives, side-by-side between rails of the sled assembly 100. As technology continues to decrease the size of storage drives, it is envisioned that it would be possible to integrated more than two SSD drives into a single sled assembly 100.
In one configuration, each sled assembly has a front face 182 that includes front slots 106a and 106b. By way of the front slots 106a and 106b, the internal drive assemblies 200 may be inserted into a sled slot 180, allowing the SSD drive house by the internal drive assembly 200 to be provided into the sled assembly 100. As shown, each sled assembly 100 will include SSD drives that function in accordance with a specific protocol, e.g., protocol B. By way of example, protocol B may be a SATA protocol, which has an associated connector configuration and pin arrangement defined by standards. Further shown is a backplane connector 113 that interfaces with the storage controller 111, such that when sled assembly 100 is inserted into the storage array 101, a sled connector 117 mates with the backplane connector 113 of the storage controller 111. In one embodiment, the storage controller interface may utilize protocol A, which by way of example can be a SAS protocol, which has associated connector configurations and pin arrangements defined by standards.
Further shown is first sled connector 116a and second sled connector 116b, which are respectively coupled to drive connectors of the SSD drives housed in the internal drive assemblies 200. Further shown is a paddle card 104 that provides an interface between the internal drive assemblies 200 and the backplane connector 113 of the storage controller 111. In one configuration, the paddle card 104 is defined by a printed circuit board (PBC), which has electronics integrated to enable translation of communication signals between the SSD drives utilizing protocol B and the storage controller 111 utilizing protocol A. As will be described in more detail below, the paddle card 104 is fixed to the sled assembly 100, such that the connectors 116a and 116b stay integrated with the sled assembly 100. Further, the paddle card 104 is configured to include an A/B interposer 115, which includes Bridget circuitry for enabling the communication between the two protocols A/B, and also providing the functional sensing of presence of SSD drives in the sled assembly 100 and interconnection status with the storage controller 111.
The bridging function therefore translates signals propagated between the two protocols, such that communication to and from the SSD drives and the storage controller are in accordance with the standard understood by the controller or SSD drives, respectively. Further, the paddle board 104 also includes switches 140a and 140b, to determine signaling information that identifies when SSD drives are connected to either of the connectors 116a or 116b, so as to provide status data to the hot-swap 142. The hot-swap 142 may also communicate with connector 117, such as to determine when the sled assembly 100 has been removed. As used herein, hot swapping refers to the ability to remove a drive without turning off the system. For example, the sled assembly 100 can be removed from the storage array 101 without having to turn off the storage array 101. In the same form, the individual SSD drives present in the internal drive assembly 200 may be removed from the sled assembly 100, without having to turn off the storage array 101 or other functionality.
Hot-swap 142 therefore provide signaling to the bridge circuit 144, which can also communicate such information to the storage controller 111 of the storage array 101. Still further, the paddle card 104 can include status indicators, which can be used to identify the status of the SSD drives connected to the connectors 116a and 116b. In one embodiment, the status indicators can be used to command that a light be turned on, indicative of the status of the SSD drive. In one embodiment, if the SSD drive is not appropriately connected to the sled assembly 100, a particular color can be identified indicating the same. For example, the light or lights can be integrated on the sub-ejector body 206 of the internal drive assembly 200, such that the light indicators can be visible from the front face 182 of the sled assembly 100.
In one embodiment, the lever 110a is defined by one or more movable metal connectors that apply a force when the ejector handle 108 is opened that also dislodges or pulls the sled assembly 100 out of the sled slot 180. The lever 110a is therefore composed of one or more links that allow for force to occur against a surface of the opening of the sled slot 180, which allows for the dislodging or disengaging of the sled assembly 100 from the sled slot 180, thus disengaging sled connector 117 from the backplane connector 113 of the storage controller 111. As shown, the ejector body 106 also includes a first slot 106a and a second slot 106b at the front face 182 of the sled assembly 100. The first and second slots 106a and 106b provide a pathway for inserting to internal drive assemblies 200 (as shown in
For example, when an internal drive assembly 200 is inserted from the front face 182 of this letter assembly 100, the internal drive assembly 200 slides into one of the channels 114 until the drive connector 216 and the respective sled connector 116 of the paddle card 104 mate and engage in functional communication. In one embodiment, the pair of channels 114a and 114b are defined on both of a first drive guide 112a and a second drive guide 112b. As shown, the first drive guide 112a has its channels 114 facing the channels of the second drive guide 112b, such that the internal drive assemblies 200 can fit between respective channels of the parallel and opposing drive guides 112a and 112b.
In one embodiment, the paddle card 104 is coupled to the back ends 156 of the first and second drive guides 112a, and a front end 157 of the drive guides 112a and 112b are coupled to the ejector body 106. In one embodiment, the paddle card 104 holds the back end 156 of the drive guides 112, while the ejector body 106 holds the front ends 157 of the drive guides 112. As shown, the first sled connector 116a is substantially aligned with the first drive guide 112a, while the second sled connector 116b is substantially aligned with the second drive guide 112b. In this manner, when the internal drive assembly 200 is inserted via the front face 182 into the respective front slots 106a and 106b, the drive connector 216 can be guided to mate with the respective sled connector 116.
As further shown, the sub-ejector body 206 is integrated with a sub-ejector handle 208. A button 212 may be integrated into the sub-ejector body 206, which can provide for functionality of releasing the sub-ejector handle 208. By releasing the sub-ejector handle 208, the sub-ejector handle 208 may be pulled by a human hand, just as the ejector handle 108 can be pulled by a human hand, so as to cause the pivot about a hinge 210. As the sub-ejector handle 208 is pulled, the pivoting motion will cause a lever action by the sub-ejector body proximate to the sub-ejector handle 208, which enables or facilitates release of the internal drive assembly 200 from the sled assembly 100. In one embodiment, once the sub-ejector handle 208 has been released, this provides a sufficient grip or area by which a user can pull upon the internal drive assembly 200, so as to release it from the sled assembly 100.
As described above, access to the button 212 and the sub-ejector handle 208 of the internal drive assembly 200 can be facilitated from the front face 182 of the sled assembly 100. This provides for an efficient access to either one of the internal drive assemblies 200 that may be inserted at any time in the sled assembly 100. As mentioned above, the insertion or removal of any one of the internal drive assemblies 200 from the sled assembly 100 will be independent of each other, thus removing functional interruption of the sled assembly 100 with the storage controller 111.
In one embodiment, the sub-rails 202 may be made of steel, stainless steel, plastic, molded plastic, carbon fiber, plastic coated metal, fiberglass, etc. One requirement is that the sub-rails 202 provide sufficient rigidity to support and connect to other components of the internal drive assembly 200. In a similar manner, the frame-based 204 may be made from steel, stainless steel, plastic, molded plastic, carbon fiber, plastic coated metal, fiberglass, etc. In some embodiments, components of the sled assembly 100 and/or the internal drive assembly 200 are may be connected using screws, welds, glue, or may be molded into specific forms, shapes, etc. In still other embodiments, some components may maybe made using 3D-digital printers.
This configuration shows in alternate arrangement where buttons 212 of the internal drive assemblies 200 are disposed on a same side as the button 112 of the sled assembly 100. This configuration can be accommodated if the sled connectors 116a and 116b are reversed. Therefore, the positioning of the buttons 212 relative to button112 provides flexibility depending upon the desired ergonomics or ease of access. For example, some implementations will benefit from having the buttons 112 further apart from button 112, and vice versa.
In some configurations, storage arrays 101 can be designed so that only one of the slots of a sled assembly 100 is occupied with an SSD. For instance, if a storage array has three rows of sled assemblies 100, it is possible that only the top or the bottom SSD is present in each sled assembly 100. Over time, if expansion is needed, e.g., to add more SSD space, the second row can be filled with SSDs.
In other embodiments, it is possible to intentionally leave one slot open in each sled assembly 100. Then, on a schedule, as anticipated wear of the SSDs occurs, the slot that was left open can be filled with an SSD, enabling migration of data from the existing, older SSD, to the new SSD. Once the data has been migrated, e.g., via a hot swap in real-time without taking down the system, the older SSDs can be removed, leaving that slot open. Thus, providing two slots for SSDs in each sled assembly 100 allows for programmatic replacement of SSDs based on anticipated wear life or desire for swap or replace schedule.
The storage array 100′, for example may be defined by twelve HDDs, in arrangement 308. By comparison, twice the amount of drives can be integrated into storage array 101 versus storage array 101′. More significantly, any one of the internal drive assemblies 200 may be inserted or removed from any one of the sled assemblies 100 integrated into the storage array 101, no matter what the chosen form factor is for the storage array configuration. By way of example,
This modularity, as mentioned above, provides for the uninterrupted removal of SSD drives from a storage array, even when a particular sled assembly is not removed and maintains another SSD drive in operational condition. Further,
One or more processing functions can also be defined by computer readable code on a non-transitory computer readable storage medium. The non-transitory computer readable storage medium is any non-transitory data storage device that can store data, which can thereafter be read by a computer system. For example, the processing operations performed by the A/B interposer 115 may include computer readable code, which is executed. The code can be, in some configurations, embodied in one or more integrated circuit chips that execute instructions of the computer readable code. In some examples, the integrated circuit chips maybe be in the form of general processors or special purpose integrated circuit devices In some cases, the processing may access memory for storage in order to render one or more processing operations.
By way of example, the storage controller 111 of the storage array 101 can include a processor, on or more memory systems and buses for exchanging data when processing storage access operations. In some embodiments, the storage array may include redundant systems, such as an active controller and a standby controller. The active controller operates as the primary computing system for the storage array, while the standby controller is ready to take over during a failover operation. In each case, a controller, e.g., storage controller 111 is configured to interface with connections and electronics of a backplane to interface to the many storage drives of the storage array. In this case, the storage array 101 will include many sled assemblies 100, which of which may include one or two SSD drives. Furthermore, the storage array 101 may be a hybrid system, wherein the both HDDs and SSDs make up the storage capacity of the storage array. These examples are simply provided to illustrate the integrated computing nature of a storage array and the tight interchange needed with drives, e.g., HDDs and SSD, which forms the physical storage of the storage array. Still further, other examples of non-transitory computer readable storage medium include hard drives, network attached storage (NAS), read-only memory, random-access memory, CD-ROMs, CD-Rs, CD-RWs, magnetic tapes and other optical and non-optical data storage devices. The non-transitory computer readable storage medium can include computer readable storage medium distributed over a network-coupled computer system so that the computer readable code is stored and executed in a distributed fashion.
Further, for method operations that were described in a specific order, it should be understood that other housekeeping operations may be performed in between operations, or operations may be adjusted so that they occur at slightly different times, or may be distributed in a system which allows the occurrence of the processing operations at various intervals associated with the processing, as long as the processing of the overlay operations are performed in the desired way.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications can be practiced within the scope of the appended claims. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the embodiments are not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.