WO2010015610A1 - A method, apparatus and software for providing redundancy in a set of storage modules each comprising a set of one or more storage elements connected to a storage controller by connection means - Google Patents

A method, apparatus and software for providing redundancy in a set of storage modules each comprising a set of one or more storage elements connected to a storage controller by connection means Download PDF

Info

Publication number
WO2010015610A1
WO2010015610A1 PCT/EP2009/060054 EP2009060054W WO2010015610A1 WO 2010015610 A1 WO2010015610 A1 WO 2010015610A1 EP 2009060054 W EP2009060054 W EP 2009060054W WO 2010015610 A1 WO2010015610 A1 WO 2010015610A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
communication path
storage elements
connection means
storage module
Prior art date
Application number
PCT/EP2009/060054
Other languages
French (fr)
Inventor
Ian David Judd
Thomas William Rickard
Original Assignee
International Business Machines Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation filed Critical International Business Machines Corporation
Publication of WO2010015610A1 publication Critical patent/WO2010015610A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units

Definitions

  • the present invention relates to a method, apparatus and software for providing redundancy in a set of storage modules each comprising a set of one or more storage elements connected to a storage controller by connection means.
  • Storage systems commonly comprise groups of storage modules, such as disk arrays.
  • a storage module may be made up of a number of individual storage elements such as disk drives, all connected to a disk controller via a switch.
  • the controller manages the overall function of the storage module and the switch provides connectivity between the controller and the disk drives so that communications from the controller are sent to the appropriate disk drive.
  • the disk arrays available for use in such storage systems may be categorised into those with a single controller and those with two or more controllers. While single controller disk arrays generally costs less than a multiple controller disk arrays with equivalent storage capacity and performance, the lone controller provides a possible single point of failure. Therefore, such single controller disk arrays are less suitable as a component of a storage system.
  • An embodiment of the invention provides a method for providing redundancy in a storage module comprising a set of one or more storage elements connected to a storage module controller via connection means, the method comprising the steps of:
  • first connection means for connecting a group of one or more storage elements of a first storage module to a first storage controller for the first storage module so as to provide a first communication path to the storage elements
  • the first storage module may comprise a plurality of dual-ported storage elements and the first and second connection means may each comprise one or more switches for providing communication between the plurality of storage elements and the first and second controllers.
  • the storage elements may be disk drives or solid-state disks and the controllers may be disk controllers.
  • the first storage module may comprise the first storage controller, the storage elements and the first and second connection means.
  • the storage elements may be Serial Attached Small Computer System Interface (SCSI) (SAS) compatible devices.
  • SAS Serial Attached Small Computer System Interface
  • the first and second connection means may be provided by one or more SAS expanders.
  • the storage elements may be Serial Advanced Technology Attachment (SATA) compatible disks with dual-port multiplexers.
  • the storage system may comprise a Redundant Array of Independent Disks (RAID).
  • RAID Redundant Array of Independent Disks
  • Another embodiment provides apparatus for providing redundancy in a storage module comprising a set of one or more storage elements connected to a storage module controller via connection means, the apparatus being operable to:
  • first connection means for connecting a group of one or more storage elements of a first storage module to a first storage controller for the first storage module so as to provide a first communication path to the storage elements
  • a further embodiment provides a computer program product loadable into the internal memory of a digital computer, comprising software code portions for performing, when the product is run on a computer, a method for providing redundancy in a storage module comprising a set of one or more storage elements connected to a storage module controller via connection means, the method comprising the steps of:
  • first connection means for connecting a group of one or more storage elements of a first storage module to a first storage controller for the first storage module so as to provide a first communication path to the storage elements
  • Another embodiment provides a computer program product loadable into the internal memory of a digital computer, comprising software code portions for providing, when the product is run on a computer, apparatus for providing redundancy in a storage module comprising a set of one or more storage elements connected to a storage module controller via connection means, the apparatus being operable to:
  • first connection means for connecting a group of one or more storage elements of a first storage module to a first storage controller for the first storage module so as to provide a first communication path to the storage elements
  • Figure 1 is a schematic illustration of a computer system
  • Figure 2 is a schematic illustration of a storage system provided by the computer system of figure 1;
  • Figure 3 is a table illustrating data used in the storage system of figure 2;
  • Figure 4 is a flow chart illustrating processing performed in the storage system of figure 2.
  • a computer system comprises a first computer 102 loaded with a database server application program 103 and connected to a storage system 104 via a Storage Area Network (SAN) 105.
  • the first computer 102 is connected to two further computers 106 via a network in the form of a local area network (LAN) 107.
  • the further computers 106 are each loaded with a data processing application program 108 arranged to store and access data stored on the storage system 104 via the database server 103.
  • the data processing application programs 108 provide user input/output (I/O) to the database server 103 and storage system 104.
  • the database server 103 further comprises a multi-pathing driver module 109, which is described in further detail below.
  • the storage system 104 comprises a first, second and third storage modules 201 202, 203 in the form of disk arrays, each comprising four disk drives 204.
  • the disk drives are Serial Attached Small Computer System
  • Each disk array 201, 202, 203 further comprises a respective disk controller 205, 206, 207 and an associated first switch 208, 209, 210.
  • the disk controllers 205, 206, 207 typically provide high-level storage functions such as Redundant Array of Independent Disks (RAID), data snapshots, read/write caches and remote mirroring facilities.
  • the disk controllers 205, 206, 207 are attached to the database server 103 running on the first computer 102 via the SAN 105.
  • the first switches 208, 209, 210 provide a connectivity layer between respective disk controllers 205, 206, 207 and disk drives 204.
  • the respective disk controller 205, 206, 207 issues a read command packet addressed to the relevant disk drive 204 and the associated first switch 208, 209, 210 routes the read command packet to the correct disk drive 204.
  • the disk drive 204 executes the read command and issues the appropriate data packets addressed to the controller, followed by a status packet indicating whether the read command was successful.
  • each of the disk arrays 201, 202, 203 further comprises a respective second switch 211, 212, 213 arranged to connect the respective disk drives 204 of a given disk array 201, 202, 203 to the disk controller 205, 206, 207 of one of the other disk arrays 201, 202, 203.
  • the second switch 213 of the third disk array 203 connects the disks 204 of the third disk array 203 to the disk controller 205 of the first disk array 201.
  • the second switches 211, 212, 213 provide a redundant or secondary communications path to a given disk array 201, 202, 203 in addition to the primary communications path provided via the first switches 208, 209, 210.
  • the switches 208, 209, 210, 211, 212, 213 each comprise an SAS expander module, which provides a circuit switch.
  • Each of the disk controllers 205, 206, 207 is arranged to identify the primary and secondary
  • the multi-pathing driver 109 issues SCSI Inquiry commands to each disk controller in order to discover the communications path data.
  • the multi-pathing driver 109 in response to such communications path data, is arranged to build a path redundancy table 301.
  • the path redundancy table 301 comprises an entry for each of the disk arrays 201, 202, 203, which contains the respective primary and secondary SAN communications paths.
  • the multi-pathing driver 109 is then arranged to monitor a given communication path and, in response to the detection of a failure of the given communications path to swap, to the alternative communications path as defined in the path redundancy table 301. In other words, if a primary controller fails and stops responding to I/O requests, the multi-pathing driver 109 is arranged to automatically start sending I/O to the secondary controller.
  • processing is initiated in response to the detected failure of a given Communications path and processing moves to step 402.
  • the relevant disk controller is placed into a service mode in which no further user I/O is directed to the disk controller and processing moves to step 403.
  • the alternative path to the given disk array is identified from the Path redundancy table 301 and processing moves to step 404.
  • the alternative communications path is used to restore the connection to the given disk array and processing moves to step 405.
  • the new communications path is used to resume accessing the data from the disk drives 204 of the affected disk array.
  • processing then moves to step 406 where the completion of the service operation is awaited and once complete processing moves to step 407.
  • the communications are reverted to the original or primary communications path for the disk array. Processing then ends at step 408.
  • a disk controller in the adjacent disk array uses the alternative fabric to access the drives in the failed disk.
  • the alternative fabric can be provided at a lower cost than a disk array with dual disk controllers.
  • embodiments of the invention may be used to reduce the probability of data loss due to disk controller, when compared to single controller disk arrays, and therefore enable more drives to be attached to a given controller. This further reduces the overall storage system cost while maintaining data integrity.
  • the disk arrays comprise single-ported disk drives in the form of Serial Advanced Technology Attachment (SATA) drives in combination with an additional two port multiplexer in each module for providing the redundant communication path.
  • the multiplexer may be a simple fail-over multiplexer or an active-active multiplexer.
  • the disk arrays comprise Fibre Channel Arbitrated Loop (FCAL) drives, which have dual ports as standard, in combination with an FCAL loop switch for providing the redundant communication path.
  • FCAL Fibre Channel Arbitrated Loop
  • embodiment of the invention may make use of any drive interface format that has sufficient ports and the facility to provide switching to enable multiple communications paths for the set of drives.
  • the disk controller or switch may be internal or external to a given disk array module or brick. Preferably, each such module would have redundant power supply and cooling system.
  • disk drives may be provided by any suitable other technology such as one or more solid-state disks or other storage technology.
  • embodiments of the invention may be used in combination with software RAID systems provided by the host or with hardware RAID systems commonly provided by disk controllers.
  • the apparatus that embodies a part or all of the present invention may be a general purpose device having software arranged to provide a part or all of an embodiment of the invention.
  • the device could be a single device or a group of devices and the software could be a single program or a set of programs.
  • any or all of the software used to implement the invention can be communicated via any suitable transmission or storage means so that the software can be loaded onto one or more devices.

Abstract

A method, apparatus and software is disclosed for managing storage controller failure in a set of storage modules each comprising a set of one or more storage elements connected to a storage controller via connection means, in which at least one of the storage modules is provided with additional storage system fabric for providing a redundant connection to a storage controller of another storage module.

Description

A METHOD, APPARATUS AND SOFTWARE FOR PROVIDING REDUNDANCY
IN A SET OF STORAGE MODULES EACH COMPRISING A SET OF ONE OR
MORE STORAGE ELEMENTS CONNECTED TO A STORAGE CONTROLLER
BY CONNECTION MEANS
Field of Invention
The present invention relates to a method, apparatus and software for providing redundancy in a set of storage modules each comprising a set of one or more storage elements connected to a storage controller by connection means.
Background of the Invention
Storage systems commonly comprise groups of storage modules, such as disk arrays. A storage module may be made up of a number of individual storage elements such as disk drives, all connected to a disk controller via a switch. The controller manages the overall function of the storage module and the switch provides connectivity between the controller and the disk drives so that communications from the controller are sent to the appropriate disk drive.
The disk arrays available for use in such storage systems may be categorised into those with a single controller and those with two or more controllers. While single controller disk arrays generally costs less than a multiple controller disk arrays with equivalent storage capacity and performance, the lone controller provides a possible single point of failure. Therefore, such single controller disk arrays are less suitable as a component of a storage system.
Multiple controller disk arrays enable redundancy to be built in to the disk array, Thus, if one disk controller fails the redundant controller can be used to recover data from the disk drives. One problem with such multiple controller disk arrays is that they generally have a higher cost than equivalent single controller disk arrays. Summary of the Invention
An embodiment of the invention provides a method for providing redundancy in a storage module comprising a set of one or more storage elements connected to a storage module controller via connection means, the method comprising the steps of:
a) providing first connection means for connecting a group of one or more storage elements of a first storage module to a first storage controller for the first storage module so as to provide a first communication path to the storage elements;
b) providing a second connection means for connecting one or more of the first storage elements to a second storage controller for a second storage module so as to provide a second communication path to the storage elements; and
c) in response to the failure of the first communication path, accessing one or more of the storage elements of the first storage module using the second communication path via the second storage controller and the second connection means of the first storage module.
The first storage module may comprise a plurality of dual-ported storage elements and the first and second connection means may each comprise one or more switches for providing communication between the plurality of storage elements and the first and second controllers. The storage elements may be disk drives or solid-state disks and the controllers may be disk controllers. The first storage module may comprise the first storage controller, the storage elements and the first and second connection means. The storage elements may be Serial Attached Small Computer System Interface (SCSI) (SAS) compatible devices. The first and second connection means may be provided by one or more SAS expanders.
The storage elements may be Serial Advanced Technology Attachment (SATA) compatible disks with dual-port multiplexers. The storage system may comprise a Redundant Array of Independent Disks (RAID). In response to the detection of the failure of the first communication path data from the first storage module may be recovered via the second communication path. The first communication path may be the preferred communication path and the second communication path may be a redundant communication path.
Another embodiment provides apparatus for providing redundancy in a storage module comprising a set of one or more storage elements connected to a storage module controller via connection means, the apparatus being operable to:
provide first connection means for connecting a group of one or more storage elements of a first storage module to a first storage controller for the first storage module so as to provide a first communication path to the storage elements;
provide a second connection means for connecting one or more of the first storage elements to a second storage controller for a second storage module so as to provide a second communication path to the storage elements; and
access one or more of the storage elements of the first storage module using the second communication path via the second storage controller and the second connection means of the first storage module in response to the failure of the first communication path.
A further embodiment provides a computer program product loadable into the internal memory of a digital computer, comprising software code portions for performing, when the product is run on a computer, a method for providing redundancy in a storage module comprising a set of one or more storage elements connected to a storage module controller via connection means, the method comprising the steps of:
a) providing first connection means for connecting a group of one or more storage elements of a first storage module to a first storage controller for the first storage module so as to provide a first communication path to the storage elements;
b) providing a second connection means for connecting one or more of the first storage elements to a second storage controller for a second storage module so as to provide a second communication path to the storage elements; and c) in response to the failure of the first communication path, accessing one or more of the storage elements of the first storage module using the second communication path via the second storage controller and the second connection means of the first storage module.
Another embodiment provides a computer program product loadable into the internal memory of a digital computer, comprising software code portions for providing, when the product is run on a computer, apparatus for providing redundancy in a storage module comprising a set of one or more storage elements connected to a storage module controller via connection means, the apparatus being operable to:
provide first connection means for connecting a group of one or more storage elements of a first storage module to a first storage controller for the first storage module so as to provide a first communication path to the storage elements;
provide a second connection means for connecting one or more of the first storage elements to a second storage controller for a second storage module so as to provide a second communication path to the storage elements; and
access one or more of the storage elements of the first storage module using the second communication path via the second storage controller and the second connection means of the first storage module in response to the failure of the first communication path.
Brief Description of the Drawings
Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
Figure 1 is a schematic illustration of a computer system;
Figure 2 is a schematic illustration of a storage system provided by the computer system of figure 1; Figure 3 is a table illustrating data used in the storage system of figure 2; and
Figure 4 is a flow chart illustrating processing performed in the storage system of figure 2.
Detailed Description of Embodiments of the Invention
With reference to figure 1, a computer system comprises a first computer 102 loaded with a database server application program 103 and connected to a storage system 104 via a Storage Area Network (SAN) 105. The first computer 102 is connected to two further computers 106 via a network in the form of a local area network (LAN) 107. The further computers 106 are each loaded with a data processing application program 108 arranged to store and access data stored on the storage system 104 via the database server 103. In other words, the data processing application programs 108 provide user input/output (I/O) to the database server 103 and storage system 104. The database server 103 further comprises a multi-pathing driver module 109, which is described in further detail below.
With reference to figure 2, the storage system 104 comprises a first, second and third storage modules 201 202, 203 in the form of disk arrays, each comprising four disk drives 204. In the present embodiment, the disk drives are Serial Attached Small Computer System
Interface (SCSI) (SAS) compatible disks. Each disk array 201, 202, 203 further comprises a respective disk controller 205, 206, 207 and an associated first switch 208, 209, 210. The disk controllers 205, 206, 207 typically provide high-level storage functions such as Redundant Array of Independent Disks (RAID), data snapshots, read/write caches and remote mirroring facilities. The disk controllers 205, 206, 207 are attached to the database server 103 running on the first computer 102 via the SAN 105. The first switches 208, 209, 210 provide a connectivity layer between respective disk controllers 205, 206, 207 and disk drives 204. For example, in order to read data from a given disk 204, the respective disk controller 205, 206, 207 issues a read command packet addressed to the relevant disk drive 204 and the associated first switch 208, 209, 210 routes the read command packet to the correct disk drive 204. In response to the read command packet, the disk drive 204 executes the read command and issues the appropriate data packets addressed to the controller, followed by a status packet indicating whether the read command was successful.
In the present embodiment, each of the disk arrays 201, 202, 203 further comprises a respective second switch 211, 212, 213 arranged to connect the respective disk drives 204 of a given disk array 201, 202, 203 to the disk controller 205, 206, 207 of one of the other disk arrays 201, 202, 203. For example, the second switch 213 of the third disk array 203 connects the disks 204 of the third disk array 203 to the disk controller 205 of the first disk array 201. In this manner, the second switches 211, 212, 213 provide a redundant or secondary communications path to a given disk array 201, 202, 203 in addition to the primary communications path provided via the first switches 208, 209, 210. In the present embodiment, the switches 208, 209, 210, 211, 212, 213 each comprise an SAS expander module, which provides a circuit switch.
Each of the disk controllers 205, 206, 207 is arranged to identify the primary and secondary
SAN communications paths for each disk array 201, 202, 203 and to present this communications path data to the multi-pathing driver 109 in the database server 102. The multi-pathing driver 109 issues SCSI Inquiry commands to each disk controller in order to discover the communications path data. With reference to figure 3, in the present embodiment, in response to such communications path data, the multi-pathing driver 109 is arranged to build a path redundancy table 301. The path redundancy table 301 comprises an entry for each of the disk arrays 201, 202, 203, which contains the respective primary and secondary SAN communications paths. The multi-pathing driver 109, is then arranged to monitor a given communication path and, in response to the detection of a failure of the given communications path to swap, to the alternative communications path as defined in the path redundancy table 301. In other words, if a primary controller fails and stops responding to I/O requests, the multi-pathing driver 109 is arranged to automatically start sending I/O to the secondary controller.
The processing performed by the multi-pathing driver 109 in response to the detection of the failure of a given disk controller will now be described further with reference to the flow chart of figure 4. At step 401, processing is initiated in response to the detected failure of a given Communications path and processing moves to step 402. At step 402, the relevant disk controller is placed into a service mode in which no further user I/O is directed to the disk controller and processing moves to step 403. At step 403, the alternative path to the given disk array is identified from the Path redundancy table 301 and processing moves to step 404. At step 404, the alternative communications path is used to restore the connection to the given disk array and processing moves to step 405. At step 405, the new communications path is used to resume accessing the data from the disk drives 204 of the affected disk array. Processing then moves to step 406 where the completion of the service operation is awaited and once complete processing moves to step 407. At step 407, the communications are reverted to the original or primary communications path for the disk array. Processing then ends at step 408.
Thus, in the event that a disk controller fails, a disk controller in the adjacent disk array uses the alternative fabric to access the drives in the failed disk. The alternative fabric can be provided at a lower cost than a disk array with dual disk controllers. Furthermore, embodiments of the invention may be used to reduce the probability of data loss due to disk controller, when compared to single controller disk arrays, and therefore enable more drives to be attached to a given controller. This further reduces the overall storage system cost while maintaining data integrity.
In another embodiment, the disk arrays comprise single-ported disk drives in the form of Serial Advanced Technology Attachment (SATA) drives in combination with an additional two port multiplexer in each module for providing the redundant communication path. The multiplexer may be a simple fail-over multiplexer or an active-active multiplexer. In a further embodiment, the disk arrays comprise Fibre Channel Arbitrated Loop (FCAL) drives, which have dual ports as standard, in combination with an FCAL loop switch for providing the redundant communication path. As will be understood by those skilled in the art, embodiment of the invention may make use of any drive interface format that has sufficient ports and the facility to provide switching to enable multiple communications paths for the set of drives. As will be understood by those skilled in the art, the disk controller or switch may be internal or external to a given disk array module or brick. Preferably, each such module would have redundant power supply and cooling system.
As will be understood by those skilled in the art, the storage elements described above in the form of disk drives may be provided by any suitable other technology such as one or more solid-state disks or other storage technology.
As will be understood by those skilled in the art, embodiments of the invention may be used in combination with software RAID systems provided by the host or with hardware RAID systems commonly provided by disk controllers.
It will be understood by those skilled in the art that the apparatus that embodies a part or all of the present invention may be a general purpose device having software arranged to provide a part or all of an embodiment of the invention. The device could be a single device or a group of devices and the software could be a single program or a set of programs. Furthermore, any or all of the software used to implement the invention can be communicated via any suitable transmission or storage means so that the software can be loaded onto one or more devices.
While the present invention has been illustrated by the description of the embodiments thereof, and while the embodiments have been described in considerable detail, it is not the intention of the applicant to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will readily appear to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details representative apparatus and method, and illustrative examples shown and described. Accordingly, departures may be made from such details without departure from the spirit or scope of applicant's general inventive concept.

Claims

1. A method for providing redundancy in a storage module comprising a set of one or more storage elements connected to a storage module controller via connection means, said method comprising the steps of: a) providing first connection means for connecting a group of one or more storage elements of a first storage module to a first storage controller for said first storage module so as to provide a first communication path to said storage elements; b) providing a second connection means for connecting one or more of said first storage elements to a second storage controller for a second storage module so as to provide a second communication path to said storage elements; and c) in response to the failure of said first communication path, accessing one or more of said storage elements of said first storage module using said second communication path via said second storage controller and said second connection means of said first storage module.
2. A method according to claim 1 in which said first storage module comprises a plurality of dual-ported storage elements and said first and second connection means each comprise one or more switches for providing communication between said plurality of storage elements and said first and second controllers.
3. A method according to any preceding claim in which said storage elements are disk drives or solid-state disks and said controllers are disk controllers.
4. A method according to any preceding claim in which said first storage module comprises said first storage controller, said storage elements and said first and second connection means.
5. A method according to any preceding claim in which said storage elements are Serial Attached Small Computer System Interface (SCSI) (SAS) compatible devices.
6. A method according to claim 5 in which said first and second connection means are provided by one or more SAS expanders.
7. A method according to any of claims 1 to 4 in which said storage elements are Serial Advanced Technology Attachment (SATA) compatible disks with dual-port multiplexers.
8. A method according to any preceding claim in which said storage system comprises a Redundant Array of Independent Disks (RAID).
9. A method according to any preceding claim in which in response to said detection of the failure of said first communication path data from the first storage module is recovered via said second communication path.
10. A method according to any preceding claim in which said first communication path is the preferred communication path and said second communication path is a redundant communication path.
11. Apparatus for providing redundancy in a storage module comprising a set of one or more storage elements connected to a storage module controller via connection means, said apparatus being operable to: provide first connection means for connecting a group of one or more storage elements of a first storage module to a first storage controller for said first storage module so as to provide a first communication path to said storage elements; provide a second connection means for connecting one or more of said first storage elements to a second storage controller for a second storage module so as to provide a second communication path to said storage elements; and access one or more of said storage elements of said first storage module using said second communication path via said second storage controller and said second connection means of said first storage module in response to the failure of said first communication path.
12. Apparatus according to claim 11 in which said first storage module comprises a plurality of dual-ported storage elements and said first and second connection means each comprise one or more switches for providing communication between said plurality of storage elements and said first and second controllers.
13. Apparatus according to any of claims 11 or 12 in which said storage elements are disk drives or solid-state disks and said controllers are disk controllers.
14. Apparatus according to any of claims 11 to 13 in which said first storage module comprises said first storage controller, said storage elements and said first and second connection means.
15. Apparatus according to any of claims 11 to 14 in which said storage elements are Serial Attached Small Computer System Interface (SCSI) (SAS) compatible devices.
16. Apparatus according to claim 15 in which said first and second connection means are provided by one or more SAS expanders.
17. Apparatus according to any of claims 11 to 14 in which said storage elements are Serial Advanced Technology Attachment (SATA) compatible disks with dual-port multiplexers.
18. Apparatus according to any of claims 11 to 17 in which said storage system comprises a Redundant Array of Independent Disks (RAID).
19. Apparatus according to any of claims 11 to 18 in which in response to said detection of the failure of said first communication path data from the first storage module is recovered via said second communication path.
20. Apparatus according to any of claims 11 to 19 in which said first communication path is the preferred communication path and said second communication path is a redundant communication path.
21. A computer program product loadable into the internal memory of a digital computer, comprising software code portions for performing, when said product is run on a computer, the method as claimed in any of claims 1 to 10.
22. A computer program product loadable into the internal memory of a digital computer, comprising software code portions for providing, when said product is run on a computer, the apparatus as claimed in any of claims 11 to 20.
23. A group of one or more programs arranged to enable a group of one or more programmable devices to perform the method of any of claims 1 to 10 or to provide the apparatus of any of claims 11 to 20.
PCT/EP2009/060054 2008-08-08 2009-08-03 A method, apparatus and software for providing redundancy in a set of storage modules each comprising a set of one or more storage elements connected to a storage controller by connection means WO2010015610A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08162078 2008-08-08
EP08162078.3 2008-08-08

Publications (1)

Publication Number Publication Date
WO2010015610A1 true WO2010015610A1 (en) 2010-02-11

Family

ID=41077686

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/060054 WO2010015610A1 (en) 2008-08-08 2009-08-03 A method, apparatus and software for providing redundancy in a set of storage modules each comprising a set of one or more storage elements connected to a storage controller by connection means

Country Status (1)

Country Link
WO (1) WO2010015610A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812754A (en) * 1996-09-18 1998-09-22 Silicon Graphics, Inc. Raid system with fibre channel arbitrated loop
US20060020711A1 (en) * 2004-07-22 2006-01-26 Dell Products L.P. Cluster network with redundant communication paths
US20070088978A1 (en) * 2005-10-14 2007-04-19 International Business Machines (Ibm) Corporation Internal failover path for SAS disk drive enclosure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812754A (en) * 1996-09-18 1998-09-22 Silicon Graphics, Inc. Raid system with fibre channel arbitrated loop
US20060020711A1 (en) * 2004-07-22 2006-01-26 Dell Products L.P. Cluster network with redundant communication paths
US20070088978A1 (en) * 2005-10-14 2007-04-19 International Business Machines (Ibm) Corporation Internal failover path for SAS disk drive enclosure

Similar Documents

Publication Publication Date Title
JP5523468B2 (en) Active-active failover for direct attached storage systems
US8020035B2 (en) Expander circuit for a solid state persistent storage device that provides a plurality of interfaces to corresponding storage controllers
US7607035B2 (en) Disk array apparatus and method for controlling the same
EP1674980B1 (en) Redundant SAS storage virtualization subsystem and system using the same, and controller and method therefor
US6446141B1 (en) Storage server system including ranking of data source
CN101651559B (en) Failover method of storage service in double controller storage system
US8402212B2 (en) Storage system and management method of its storage medium
US8775867B2 (en) Method and system for using a standby server to improve redundancy in a dual-node data storage system
US20070088978A1 (en) Internal failover path for SAS disk drive enclosure
US7506200B2 (en) Apparatus and method to reconfigure a storage array disposed in a data storage system
CN101923444A (en) N-way directly connected any to any controller architecture
CN102164165B (en) Management method and device for network storage system
US20130132766A1 (en) Method and apparatus for failover and recovery in storage cluster solutions using embedded storage controller
US7752358B2 (en) Storage apparatus and conversion board for increasing the number of hard disk drive heads in a given, limited space
JP2008250458A (en) Storage system, and method for managing storage system
US7506201B2 (en) System and method of repair management for RAID arrays
KR20050033060A (en) System and method for constructing a hot spare using a network
US20080126697A1 (en) Apparatus, system, and method for selective cross communications between autonomous storage modules
US8370569B2 (en) Method for remote data back up with de-duplication and recovery from clustered secondary storage arrays
WO2012035618A1 (en) Storage system, access control method for storage system, and computer program
CN102158538B (en) Management method and device of network storage system
JP2000347812A (en) Information processor and disk array device
WO2010015610A1 (en) A method, apparatus and software for providing redundancy in a set of storage modules each comprising a set of one or more storage elements connected to a storage controller by connection means
US11467930B2 (en) Distributed failover of a back-end storage director
WO2010056239A1 (en) Active-active failover for a direct-attached storage system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09781442

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09781442

Country of ref document: EP

Kind code of ref document: A1