Abstract:
A method and system are disclosed for assisting an administrator of a system, such as including a storage area network (112) (SAN), in managing tasks that may include tasks related to data storage, wherein typically a plurality of host systems (104a, 104b) contact the SAN. The system detects a new host contact that is the result of a bus scan on the new host H, and captures a world wide name for H provided by the bus scan. The system uses the WWN to retrieve additional information describing H from, e.g., a fiber channel switch, and presents both the WWN and the additional information for H to the administrator (154), wherein the presentation is distinguished from presentations of other hosts, and allows the administrator to modify the presentation for H by adding to or replacing at least a portion of the presentation for H with further data that makes it easier for the administrator to identify the presentation for H from corresponding presentations for other hosts. Since the system uses a host bus scan to contact the SAN, no special purpose software is required on the hosts.
Abstract:
A network storage controller (30) for transferring data between a host computer (50) and a storage device (54), such as a redundant array of inexpensive disks (RAID), is disclosed. The network storage controller includes at least one channel interface module (42) which is adapted to be connected to the host computer and storage device. The channel interface module (42) is connected to a passive backplane (38), 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 memory module, attached to the passive backplane (38). The controller memory module communicates with the channel interface module via the passive backplane (38), and processes and temporarily stores data received from the host computer or storage device. In applications where redundancy is required, at least two controller memory modules and at least two channel interface modules are used. The controller memory 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 selectively 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 (30) for transferring data between a host computer (50) and a storage device (54), such as a redundant array of inexpensive disks (RAID), is disclosed. The network storage controller includes at least one channel interface module (42) which is adapted to be connected to the host computer and storage device. The channel interface module (42) is connected to a passive backplane (38), 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 memory module, attached to the passive backplane (38). The controller memory module communicates with the channel interface module via the passive backplane (38), and processes and temporarily stores data received from the host computer or storage device. In applications where redundancy is required, at least two controller memory modules and at least two channel interface modules are used. The controller memory 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 selectively 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 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 direct memory access (DMA) engine (70) has virtually all control in connection with data transfers that can involve one or both of primary and secondary controllers. The DMA engine receives a command related to a data transfer from a processor (78) associated with the primary controller. This command causes the DMA engine to access processor memory (74) to obtain medtdata therfrom. In performing a DMA operation, the metadata enables the DMA engine to conduct data transfers between local memory (82) and remote memory. In performing exclusive OR operations, the DMA engine is involved with conducting data transfers using local memory.
Abstract:
A data storage system (400) that includes first and second controllers ( 404,408) is provided. Data is mirrored from one controller (404) to the other controller (408) 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 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 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.