Redundant SAS storage virtualization subsystem and system using the same and method therefor
First Claim
1. A redundant storage virtualization subsystem (SVS) for providing data storage space, comprising:
- a redundant external storage virtualization controller (SVC) pair which are for performing IO operations in response to IO requests from a host entity, and comprise a first external SVC and a second external SVC both for coupling to the host entity; and
a group of physical storage devices (PSDs) for providing data storage space to the host entity, in which at least one member of said group of PSDs is coupled to the said redundant external SVC pair through a serial signal interconnect for transmission with serial attached small computer system interface-(SAS) protocol, in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD);
wherein in the redundant external SVC pair, each of the external SVCs further comprises;
a central processing circuitry for performing the IO operations in response to the IO requests;
at least one IO device interconnect controller coupled to said central processing circuitry;
at least one host-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to said host entity; and
at least one SAS device-side IO device interconnect port provided in one of said at least one IO device interconnect controller coupled to said PSDs through said serial-signal interconnect;
wherein when one SVC in said redundant external SVC pair is not on line or goes off line after being on line, the alternate SVC in said redundant external SVC pair will automatically take over the functionality originally performed by said one SVC in the redundant external SVC pair;
wherein an inter-controller communication channel (ICC) is provided between the two SVCs in said redundant external SVC pair for communicating state synchronization information;
wherein said inter-controller communication channel is to exchange parameters and data relating to operation of the redundant storage virtualization subsystem;
wherein said first external SVC and said second external SVC are configured to define at least one virtualized logical media unit (LMU) consisting of sections of said group of PSDs, and are configured to provide a mapping that maps combination of the sections of said group of PSDs to the at least one virtualized LMU visible to the host entity, and the at least one virtualized LMU is contiguously addressable by the host entity to which the at least one virtualized LMU is made available;
wherein the IO requests are parsed to determine what operation is to be performed and on which sections of the virtualized LMU the operation is to be performed;
wherein when the operation comprises internally-emulated, asynchronous device sub-operations, then the SVC executes the associated sub-operations including transferring any associated data to/from the host entity, and wherein when there is a failed operation, the SVC responds to the host entity with a status report indicating that the operation failed;
wherein when one of the SVC pair detects a malfunction of the other SVC, the one SVC monitors a state of the SVS to determine whether to send a signal to the malfunctioning SVC; and
wherein said redundant external SVC pair are alive and perform an IO request rerouting function such that when one of said redundant external SVC pair, both of which are alive, receives one of the I/O requests accessing the at least one virtualized LMU, then the I/O request is dispatched through the one SVC or the other SVC to access the at least one virtualized LMU.
0 Assignments
0 Petitions
Accused Products
Abstract
A redundant external storage virtualization computer system. The redundant storage virtualization computer system includes a host entity for issuing an IO request, a redundant external SAS storage virtualization controller pair coupled to the host entity for performing an IO operation in response to the IO request issued by the host entity, and a plurality of physical storage devices for providing storage to the computer system. Each of the physical storage devices is coupled to the redundant storage virtualization controller pair through a SAS interconnect. The redundant storage virtualization controller pair includes a first and a second SAS storage virtualization controller both coupled to the host entity. In the redundant SAS storage virtualization controller pair, when the second storage virtualization controller is not on line, the first storage virtualization controller will take over the functionality originally performed by the second storage virtualization controller.
-
Citations
50 Claims
-
1. A redundant storage virtualization subsystem (SVS) for providing data storage space, comprising:
-
a redundant external storage virtualization controller (SVC) pair which are for performing IO operations in response to IO requests from a host entity, and comprise a first external SVC and a second external SVC both for coupling to the host entity; and a group of physical storage devices (PSDs) for providing data storage space to the host entity, in which at least one member of said group of PSDs is coupled to the said redundant external SVC pair through a serial signal interconnect for transmission with serial attached small computer system interface-(SAS) protocol, in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD); wherein in the redundant external SVC pair, each of the external SVCs further comprises; a central processing circuitry for performing the IO operations in response to the IO requests; at least one IO device interconnect controller coupled to said central processing circuitry; at least one host-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to said host entity; and at least one SAS device-side IO device interconnect port provided in one of said at least one IO device interconnect controller coupled to said PSDs through said serial-signal interconnect; wherein when one SVC in said redundant external SVC pair is not on line or goes off line after being on line, the alternate SVC in said redundant external SVC pair will automatically take over the functionality originally performed by said one SVC in the redundant external SVC pair; wherein an inter-controller communication channel (ICC) is provided between the two SVCs in said redundant external SVC pair for communicating state synchronization information; wherein said inter-controller communication channel is to exchange parameters and data relating to operation of the redundant storage virtualization subsystem; wherein said first external SVC and said second external SVC are configured to define at least one virtualized logical media unit (LMU) consisting of sections of said group of PSDs, and are configured to provide a mapping that maps combination of the sections of said group of PSDs to the at least one virtualized LMU visible to the host entity, and the at least one virtualized LMU is contiguously addressable by the host entity to which the at least one virtualized LMU is made available; wherein the IO requests are parsed to determine what operation is to be performed and on which sections of the virtualized LMU the operation is to be performed; wherein when the operation comprises internally-emulated, asynchronous device sub-operations, then the SVC executes the associated sub-operations including transferring any associated data to/from the host entity, and wherein when there is a failed operation, the SVC responds to the host entity with a status report indicating that the operation failed; wherein when one of the SVC pair detects a malfunction of the other SVC, the one SVC monitors a state of the SVS to determine whether to send a signal to the malfunctioning SVC; and wherein said redundant external SVC pair are alive and perform an IO request rerouting function such that when one of said redundant external SVC pair, both of which are alive, receives one of the I/O requests accessing the at least one virtualized LMU, then the I/O request is dispatched through the one SVC or the other SVC to access the at least one virtualized LMU. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. An external storage virtualization controller (SVC) for using in a redundant external SVC pair of a redundant storage virtualization subsystem (SVS), said external storage virtualization controller comprising:
-
a central processing circuitry for performing IO operations in response to IO requests from a host entity; at least one IO device interconnect controller coupled to said central processing circuitry; at least one host-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to said host entity; and at least one serial attached small computer system interface (SAS) device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for performing serial signal transmission with SAS protocol with a group of PSDs, in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD); wherein the said external SVC will automatically take over the functionality originally performed by the alternate external SVC in the said redundant external SVC pair when said alternate external SVC is not on line or goes off line after being on line;
wherein an inter-controller communication channel is provided between the two SVCs in said redundant external SVC pair for communicating state synchronization information;wherein said inter-controller communication channel is to exchange parameters and data relating to operation of a redundant storage virtualization subsystem; wherein said two SVCs are configured to define at least one virtualized logical media unit (LMU) consisting of sections of said group of PSDs, and are configured to provide a mapping that maps combination of the sections of said group of PSDs to the at least one virtualized LMU visible to the host entity, and the at least one virtualized LMU is contiguously addressable by the host entity to which the at least one virtualized LMU is made available; and wherein the IO requests are parsed to determine what operation is to be performed and on which sections of the virtualized LMU the operation is to be performed; wherein when the operation comprises internally-emulated, asynchronous device sub-operations, then the SVC executes the associated sub-operations including transferring any associated data to/from the host entity, and wherein when there is a failed operation, the SVC responds to the host entity with a status report indicating that the operation failed; wherein when one of the SVC pair detects a malfunction of the other SVC, the one SVC monitors a state of the SVS to determine whether to send a signal to the malfunctioning SVC; and wherein said redundant external SVC pair are alive and perform an IO request rerouting function such that when one of said redundant external SVC pair, both of which are alive, receives one of the I/O requests accessing the at least one virtualized LMU, then the I/O request is dispatched through the one SVC or the other SVC to access the at least one virtualized LMU. - View Dependent Claims (45, 46, 47, 48, 49)
-
-
50. A method for performing storage virtualization in a computer system having a first and a second external storage virtualization controller (SVC) configured into a redundant external SVC pair, where each of said first and second external SVC comprises:
- a central processing circuitry for performing IO operations in response to IO requests from a host entity;
at least one IO device interconnect controller coupled to said central processing circuitry(CPC);
at least one host-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to said host entity; and
at least one serial attached small computer system interface (SAS) device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for performing serial-signal transmission with SAS protocol with a group of PSDs, the method comprising;in response to the IO requests from the host entity of the computer system, performing the IO operations, by said CPC of one SVC in said redundant external SVC pair, to access said group of PSDs of the computer system using serial signal transmission with SAS protocol, in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD); when said one SVC in said redundant external SVC pair is not on line or goes off line after being on line, performing, by said CPC of the alternate SVC in said redundant external SVC pair, the said IO operations in response to said IO requests issued by said host entity to access said group of PSDs of the computer system; wherein an inter-controller communication channel is provided between the two SVCs in said redundant external SVC pair for communicating state synchronization information; wherein said inter-controller communication channel is to exchange parameters and data relating to operation of a redundant storage virtualization subsystem; wherein said first and second external SVC are configured to define at least one virtualized logical media unit (LMU) consisting of sections of said group of PSDs, and are configured to provide a mapping that maps combination of the sections of said group of PSDs to the at least one virtualized LMU visible to the host entity, and the at least one virtualized LMU is contiguously addressable by the host entity to which the at least one virtualized LMU is made available; and wherein the IO requests are parsed to determine what operation is to be performed and on which sections of the virtualized LMU the operation is to be performed; wherein when the operation comprises internally-emulated, asynchronous device sub-operations, then the SVC executes the associated sub-operations including transferring any associated data to/from the host entity, and wherein when there is a failed operation, the SVC responds to the host entity with a status report indicating that the operation failed; wherein when one of the SVC pair detects a malfunction of the other SVC, the one SVC monitors a state of the computer system to determine whether to send a signal to the malfunctioning SVC; wherein said alternate SVC will automatically take over the functionality originally performed by said one of the SVCs when said one SVC is not on line or goes off line after being on line; and wherein said redundant external SVC pair are alive and perform an IO request rerouting function such that when one of said redundant external SVC pair, both of which are alive, receives one of the I/O requests accessing the at least one virtualized LMU, then the I/O request is dispatched through the one SVC or the other SVC to access the at least one virtualized LMU.
- a central processing circuitry for performing IO operations in response to IO requests from a host entity;
Specification