Systems and methods for active raid
AssigneeAmerican Megatrends, Inc.
InventorsSrikumar Subramanian, Senthilkumar Ramasamy, Loganathan Ranganathan, Paresh Chatterjee
Life of this patent
Estimating the term…
Abstract
A first RAID module is added to a first RAID controller and a second RAID module is added to a second RAID controller. An array of physical disks is partitioned into two partitions across the array of physical disks. The first partition is assigned to the first RAID module and the second partition is exposed to the second RAID module. Each of the RAID modules exposes their respective partitions to their associated RAID controller as a single array. Each RAID module further receives I/O from its respective RAID controller, and translates the I/O to access its associated partition.
Claims18
A method of providing an active/active clustered redundant array of inexpensive disks (RAID), comprising:
- partitioning an array of physical disks into a volume comprising at least two sub-volumes, wherein each physical disk of the array is divided among each of the at least two sub-volumes;
- providing a first RAID controller and a second RAID controller, a first RAID stack of the first RAID controller and a second RAID stack of the second RAID controller being unaware that they are part of a multi-controller array, wherein the first RAID controller and the second RAID controller share the physical disks that comprise the volume;
- providing a module within the first RAID controller and the second RAID controller that exposes a first sub-volume of the volume to the first RAID stack and a second sub-volume of the volume to the second RAID stack;
- generating an input/output (I/O) request by one of the first RAID controller or the second RAID controller;
- receiving the I/O request at the module associated with the one of the first RAID controller or the second RAID controller;
- determining a physical location within the array of physical disks that corresponds to the I/O request;
- and
- fulfilling the I/O request at the physical location, wherein the first RAID controller and the second RAID controller are configurable to implement a different RAID level in the first and second sub-volumes of the volume, respectively.
A data storage system, comprising:
- a storage server;
- a physical storage device associated with storage server;
- a processing unit associated with the storage server;
- and
- one or more modules for execution on the processing unit, operable to partition an array of physical disks into a volume comprising at least two sub-volumes, wherein each physical disk of the array is divided among each of the at least two sub-volumes, provide a first RAID controller and a second RAID controller, provide a module within the first RAID controller and the second RAID controller that exposes a first sub-volume of the volume to a first RAID stack of the first RAID controller and a second sub-volume of the volume to a second RAID stack of the second RAID controller, generate an input/output (I/O) request by one of the first RAID controller or the second RAID controller, receive the I/O request at the module associated with the one of the first RAID controller or the second RAID controller, determine a physical location within the array of physical disks that corresponds to the I/O request, and fulfill the I/O request at the physical location,
- wherein the first RAID stack and the second RAID stack are unaware that they are part of a multi-controller array, and the first RAID controller and the second RAID controller share the physical disks that comprise the volume, and wherein the first RAID controller and the second RAID controller are configurable to implement a different RAID level in the first and second sub-volumes of the volume, respectively.
A non-transitory computer storage medium having computer-executable instructions stored thereon which, when executed by a computer system, cause the computer system to:
- partition an array of physical disks into a volume comprising at least two sub-volumes, wherein each physical disk of the array is divided among each of the at least two sub-volumes;
- provide a first RAID controller and a second RAID controller, a first RAID stack of the first RAID controller and a second RAID stack of the second RAID controller being unaware that they are part of a multi-controller array, wherein the first RAID controller and the second RAID controller share the physical disks that comprise the volume;
- provide a module within the first RAID controller and the second RAID controller that exposes a first sub-volume of the volume to the first RAID stack and a second sub-volume of the volume to the second RAID stack;
- generate an input/output (I/O) request by one of the first RAID controller or the second RAID controller;
- receive the I/O request at the module associated with the one of the first RAID controller or the second RAID controller;
- determine a physical location within the array of physical disks that corresponds to the I/O request;
- and
- fulfill the I/O request at the physical location, wherein the first RAID controller and the second RAID controller are configurable to implement a different RAID level in the first and second sub-volumes of the volume, respectively.
Dependencies are inferred from the claim text.