Abstract:
A system and method for efficient parity mirroring between controllers of an active-active controller pair in a redundant array of inexpensive disks (RAID) system is disclosed. When a second controller in an active-active controller pair receives new data to be written to a disk array, it mirrors the new data to a first controller in the active-active controller pair. The second controller then computes new parity for the data stripe associated with the new data. The second controller then opens a parity log and mirrors logical block address (LBA) information for the new data to a first controller in the active-active controller pair. In the event of a failure of the second controller after mirroring the LBA information and prior to completing the write operation, the first controller uses the LBA information to complete the write operation, assuring that the new data and new parity are properly stored on the disk array. If a hard disk in the disk array fails, parity is mirrored between the first and second controllers, rather than just LBA information. If a hard disk and the second controller fail when the first controller contains LBA information, a list containing the LBAs is created and a media error is returned in the event that a host requests in the form of a read operation data contained in the listed LBAs.
Abstract:
A system and method for efficient parity mirroring between controllers of an active-active controller pair in a redundant array of inexpensive disks (RAID) system (600) is disclosed. When a second controller (616) in an active controller pair receives new data to be written to a disk array, it mirrors the new data to a first controller (608) in the active-active controller pair. The second controller (616) then computes new parity for the data stripe associated with the new data. The second controller (616) then opens a parity log and mirrors logical block address (LBA) information for the new data to a first controller (608) in the active-active controller pair. In the event of a failure of the second controller after mirroring the LBA information and prior to completing the write operation, the first controller uses the LBA information to complete the write operation, assuring that the new data and new parity are properly stored on the disk array. If a hard disk in the disk array fails, parity is mirrored between the first and second controllers, rather than just LBA information. If a hard disk and the second controller fail when the first controller contains LBA information, a list containing the LBA is created and a media error is returned in the event that a host requests in the form of a read operation data contained in the listed LBAs.
Abstract:
A data storage system that includes first and second controllers is provided. Data is mirrored from one controller to the other controller according to different steps depending on the amount of data to be mirrored. When the data to be mirrored is less than or equal to a predetermined number of bytes, one less interrupt is generated than when the data to be mirrored is greater than the predetermined number of bits.
Abstract:
A network storage controller for transferring data between a host computer and a storage device, such as a redundant array of inexpensive disks (RAID), is disclosed. The network storage controller includes at least one channel interface module which is adapted to be connected to the host computer and storage device. The channel interface module is connected to a passive backplane, and selectively transfers data between the host computer and storage device and the passive backplane. The network storage controller also includes at least one controller management module, attached to the passive backplane. The controller management module communicates with the channel interface module via the passive backplane, and processes and temporarily stores data received from the host computer or storage device. In applications where redundancy is required, at least two controller management modules and at least two channel interface modules may be used. The controller management modules may mirror data between one another using the passive backplane and a shared communication path on the channel interface modules, thereby substantially avoiding the use of host or disk channels to mirror data. The channel interface modules are operable to connect the host computer or storage device to one or more controller memory modules. The controller memory modules may include a DMA engine to facilitate the transfer of mirrored data.
Abstract:
A network storage controller (100) for transferring data between a host computer and a storage device, such as a redundant array of inexpensive disks (RAI), is disclosed. The network storage controller (100) includes at least one channel interface module (136, 140) which is adapted to be connected to the host computer and storage device. The channel interface module (136, 140) is connected to a passive backplane (116), and selectively transfers data between the host computer and storage device and the passive backplane (116). The network storage controller (100) also includes at least one controller management module (104, 108), attached to the passive backplane (116). The controller management module (104, 108) communicates with the channel interface module (136, 140) via the passive backplane (116), and processes and temporarily stores data received from the host computer or storage device. In applications where redundancy is required, at least two controller management modules (104, 108) and at least two channel interface modules (136, 140) may be used. The controller management modules (104, 108) may mirror data between one another using the passive backplane (116) and a shared communication path on the channel interface modules (136, 140), thereby substantially avoiding the use of host or disk channels to mirror data. The channel interface modules (136, 140) are operable to connect the host computer or storage device to one or more controller memory modules (104, 108). The controller management modules (104, 108) may include a DMA engine to facilitate the transfer of mirrored data.
Abstract:
A network storage controller for transferring data between a host computer and a storage device, such as a redundant array of inexpensive disks (RAID), is disclosed. The network storage controller includes at least one channel interface module which is adapted to be connected to the host computer and storage device. The channel interface module is connected to a passive backplane, and selectively transfers data between the host computer and storage device and the passive backplane. The network storage controller also includes at least one controller management module, attached to the passive backplane. The controller management module communicates with the channel interface module via the passive backplane, and processes and temporarily stores data received from the host computer or storage device. In applications where redundancy is required, at least two controller management modules and at least two channel interface modules may be used. The controller management modules may mirror data between one another using the passive backplane and a shared communication path on the channel interface modules, thereby substantially avoiding the use of host or disk channels to mirror data. The channel interface modules are operable to connect the host computer or storage device to one or more controller memory modules. The controller memory modules may include a DMA engine to facilitate the transfer of mirrored data.