TECHNICAL FIELD

The present disclosure relates generally to providing high availability of storage systems, and more specifically high-availability using enclosures with passive and/or switch-less backplanes and single-port drives.

BACKGROUND

A backplane is a group of parallel electrical connectors used to connect disparate circuit boards to create a larger computer system. A passive backplane includes only the connectors and minimal, if any, additional circuitry. For example, a passive backplane may include only passive electrical components such as printed circuit boards (PCBs), connectors, resistors, and capacitors. Especially, a passive backplane does not include any active components which run firmware like central processing units (CPUs), peripheral component interconnect (PCI) switches, or ASICs that are more prone to bugs and failures. Therefore, passive backplanes are considered to be more robust than active backplanes.

Redundancy schemes such as redundant array of independent disks (RAID) and erasure coding schemes involve distributing data across multiple storage nodes to allow for data recovery in the event of a failure of one or more of the storage nodes.

One existing solution utilizing redundancy schemes is to spread data among different storage enclosures. Each enclosure has respective drive bays and controllers (also known as hosts) to allow remote access to drives. This configuration must be considered by the erasure coding scheme. For example, when a system has 5 enclosures, the erasure coding scheme may either be a 4+1 scheme with 25% overhead that can sustain one enclosure loss or a 3+2 scheme with 66% overhead that can sustain two enclosure losses. Enclosure-level redundancy with reasonable overhead is possible only for large installations with many enclosures.

Another existing solution utilizing redundancy schemes is to have a highly available enclosures with two redundant controllers using dual port drives. Such an enclosure can be built without any single point of failure. A highly available enclosure can provide access to its disks even during failures such as, for example, a single controller going offline, a single power supply failure, or a single network link failure. The RAID scheme, in this case, can be applied on the drive level rather than on the enclosure level. For example, a system with two controllers and 24 dual port drives can use a 22+2 redundancy scheme with 9% overhead. As a result, such a system can sustain two drive failures, a single controller failure, or both. The only non-hot-swappable components in such an enclosure are the backplanes and therefore, using a passive backplane dramatically increase the robustness of the solution.

Drawbacks of the existing solutions include complexity and cost. Specifically, the drives' firmware and internal structures should support working with two controllers simultaneously (dual port). This arrangement is considerably more complex than working with a single controller. The additional drive complexity, as well as marketing positioning, typically means that dual port drives are considerably more expensive than standard single port drives. Furthermore, given that single port drives are much more common, in many cases, new storage technologies are typically first introduced as single port drives and only later (if at all), are adapted to use dual port drives.

It would therefore be advantageous to provide a solution that would overcome the challenges noted above.

SUMMARY

A summary of several example embodiments of the disclosure follows. This summary is provided for the convenience of the reader to provide a basic understanding of such embodiments and does not wholly define the breadth of the disclosure. This summary is not an extensive overview of all contemplated embodiments, and is intended to neither identify key or critical elements of all embodiments nor to delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later. For convenience, the term “some embodiments” or “certain embodiments” may be used herein to refer to a single embodiment or multiple embodiments of the disclosure.

Certain embodiments disclosed herein include a storage system. The storage system comprises: a backplane; a plurality of single port storage devices; and a plurality of controllers, wherein the backplane is configured to route a plurality of interconnection lanes between the plurality of controllers and the plurality of single port storage devices, wherein each single port storage device is configured to communicate with one of the plurality of controllers via at least one of the plurality of interconnection lanes when the at least one of the plurality of interconnection lanes between the single port storage device and the controller is enabled, wherein the plurality of controllers is configured to: cause connectivity between the plurality of single port storage devices and at least one network; and enable at least one second interconnection lane of the plurality of interconnection lanes when a first controller of the plurality of controllers has failed, wherein a first interconnection lane of the plurality of interconnection lanes is between the first controller and a first single port storage device of the plurality of single port storage devices, wherein the at least one second interconnection lane is between a second controller of the plurality of controllers and the first single port storage device.

Certain embodiments disclosed herein a method for redundant control over single port storage devices. The method comprises: enabling at least one second interconnection lane of a plurality of interconnection lanes when a first controller of a plurality of controllers has failed, wherein a first interconnection lane of the plurality of interconnection lanes is between the first controller and a first single port storage device of a plurality of single port storage devices, wherein the at least one second interconnection lane is between a second controller of the plurality of controllers and the first single port storage device, wherein the plurality of interconnection lanes is routed between the plurality of controllers and the plurality of single port storage devices via a backplane, wherein each single port storage device is configured to communicate with one of the plurality of controllers via at least one of the plurality of interconnection lanes when the at least one of the plurality of interconnection lanes between the single port storage device and the controller is enabled, wherein the plurality of controllers is configured to cause connectivity between the plurality of single port storage devices and at least one network.

Certain embodiment disclosed herein also include a non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising: enabling at least one second interconnection lane of a plurality of interconnection lanes when a first controller of a plurality of controllers has failed, wherein a first interconnection lane of the plurality of interconnection lanes is between the first controller and a first single port storage device of a plurality of single port storage devices, wherein the at least one second interconnection lane is between a second controller of the plurality of controllers and the first single port storage device, wherein the plurality of interconnection lanes is routed between the plurality of controllers and the plurality of single port storage devices via a backplane, wherein each single port storage device is configured to communicate with one of the plurality of controllers via at least one of the plurality of interconnection lanes when the at least one of the plurality of interconnection lanes between the single port storage device and the controller is enabled, wherein the plurality of controllers is configured to cause connectivity between the plurality of single port storage devices and at least one network.

Certain embodiments disclosed herein also include a storage system. The storage system comprises: a backplane; a plurality of single port storage devices; a plurality of controllers, wherein the backplane routes a plurality of interconnection lanes between the plurality of controllers and the plurality of single port storage devices, wherein each single port storage device is configured to communicate with one of the plurality of controllers via at least one of the plurality of interconnection lanes when the at least one of the plurality of interconnection lanes between the single port storage device and the controller is enabled, wherein the plurality of controllers is configured to cause connectivity between the plurality of single port storage devices and at least one network; and a plurality of compute nodes, wherein each compute node of the plurality of compute nodes includes a processing circuitry and a memory, the memory of each compute node containing instructions that, when executed by the processing circuitry of the compute node, configures the compute node to: enable at least one second interconnection lane of the plurality of interconnection lanes when a first controller of the plurality of controllers has failed, wherein a first interconnection lane of the plurality of interconnection lanes is between the first controller and a first single port storage device of the plurality of single port storage devices, wherein the at least one second interconnection lane is between a second controller of the plurality of controllers and the first single port storage device.

