SAS storage virtualization controller, subsystem and system using the same, and method therefor
First Claim
Patent Images
1. A storage virtualization computer system comprising:
- a host entity for issuing IO requests;
an external storage virtualization controller coupled to said host entity for executing IO operations in response to said IO requests; and
a group of physical storage devices (PSDs), each coupled to the storage virtualization controller through a SAS interconnect, for providing data storage space to the storage virtualization computer system through the storage virtualization controller in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD);
wherein said external storage virtualization controller comprises;
a central processing circuitry (CPC) for performing IO operations in response to said IO requests of said 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 SAS device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to one of said at least one physical storage device;
wherein said storage virtualization controller is configured to define at least one virtualized logical media unit consisting of sections of said group of PSDs, and said storage virtualization controller is configured for accommodating said group of PSDs having a SAS PSD in said group of PSDs or a SATA PSD in said group of PSDs connected to the same SAS interconnect;
wherein said external storage virtualization controller is configured to define the at least one virtualized logical media unit (LMU) consisting of the sections of said group of PSDs, and is 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 section of the virtualized LMU the operation is to be performed; and
wherein when the operation consists only of internally-emulated, asynchronous, and synchronous device sub-operations, then the SVC executes the associated sub-operations including transferring any associated data to/from the host entity and then, when there is a failed operation, responding to the host entity with a status report that indicates the reason for the failed operation.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage virtualization computer system. The storage virtualization computer system comprises a host entity for issuing an IO request, a SAS storage virtualization controller coupled to the host entity for executing IO operations in response to the IO request, and at least one physical storage device, each coupled to the storage virtualization controller through a SAS interconnect, for providing data storage space to the storage virtualization computer system through the SAS storage virtualization controller.
-
Citations
49 Claims
-
1. A storage virtualization computer system comprising:
-
a host entity for issuing IO requests; an external storage virtualization controller coupled to said host entity for executing IO operations in response to said IO requests; and a group of physical storage devices (PSDs), each coupled to the storage virtualization controller through a SAS interconnect, for providing data storage space to the storage virtualization computer system through the storage virtualization controller in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD); wherein said external storage virtualization controller comprises; a central processing circuitry (CPC) for performing IO operations in response to said IO requests of said 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 SAS device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to one of said at least one physical storage device; wherein said storage virtualization controller is configured to define at least one virtualized logical media unit consisting of sections of said group of PSDs, and said storage virtualization controller is configured for accommodating said group of PSDs having a SAS PSD in said group of PSDs or a SATA PSD in said group of PSDs connected to the same SAS interconnect; wherein said external storage virtualization controller is configured to define the at least one virtualized logical media unit (LMU) consisting of the sections of said group of PSDs, and is 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 section of the virtualized LMU the operation is to be performed; and wherein when the operation consists only of internally-emulated, asynchronous, and synchronous device sub-operations, then the SVC executes the associated sub-operations including transferring any associated data to/from the host entity and then, when there is a failed operation, responding to the host entity with a status report that indicates the reason for the failed operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 45, 46)
-
-
9. A storage virtualization subsystem for providing data storage space, comprising:
-
an external storage virtualization controller for connecting to a host entity and executing IO operations in response to IO requests issued from said host entity; and a group of physical storage devices (PSDs), each coupled to the storage virtualization controller through a SAS interconnect, for providing data storage space to the host entity through the storage virtualization controller in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD); wherein said external storage virtualization controller comprises; a central processing circuitry (CPC) for performing IO operations in response to said IO requests of said 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 SAS device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to said group of PSDs; and wherein said external storage virtualization controller is configured to define at least one virtualized logical media unit consisting of said group of PSDs, and said storage virtualization controller is configured for accommodating said group of PSDs having a SAS PSD in said group of PSDs or a SATA PSD in said group of PSDs connected to the same SAS interconnect; wherein said storage virtualization controller is configured to define the at least one virtualized logical media unit (LMU) consisting of the sections of said group of PSDs, and is 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 section of the virtualized LMU the operation is to be performed; and wherein when the operation consists only of internally-emulated, asynchronous, and synchronous device sub-operations, then the SVC executes the associated sub-operations including transferring any associated data to/from the host entity and then, when there is a failed operation, responding to the host entity with a status report that indicates the reason for the failed operation. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 47)
-
-
10. The storage virtualization subsystem of claiml 9, wherein one of said host-side IO device interconnect port and one of said SAS device-side IO device interconnect port are provided in a same IO device interconnect controller.
-
25. An 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 SAS device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to and performing serial-signal transmission with a group of physical storage devices (PSDs) in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD); and wherein said storage virtualization controller is configured to define at least one virtualized logical media unit consisting of sections of said group of PSDs, and the storage virtualization controller is configured for accommodating said group of PSDs having a SAS PSD in said group of PSDs or a SATA PSD in said group of PSDs connected to the same SAS interconnect; wherein said external storage virtualization controller is configured to define the at least one virtualized logical media unit (LMU) consisting of the sections of said group of PSDs, and is 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 section of the virtualized LMU the operation is to be performed; and wherein when the operation consists only of internally-emulated, asynchronous, and synchronous device sub-operations, then the SVC executes the associated sub-operations including transferring any associated data to/from the host entity and then, when there is a failed operation, responding to the host entity with a status report that indicates the reason for the failed operation. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A method for performing storage virtualization in a computer system with an external storage virtualization controller of the computer system, wherein said external storage virtualization controller comprises:
- a central processing circuitry (CPC) for performing IO operations in response to said IO requests of said 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 SAS device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to a group of physical storage devices (PSDs), the method comprising;receiving, by one of said host-side IO device interconnect port, an IO request from a host entity of the computer system; parsing, by said CPC, the IO request to decide at least one IO operation to perform in response to said IO request; and performing, by said CPC, at least one IO operation to access, by one of said SAS device-side IO device interconnect port, said group of PSDs of the computer system in serial-signal transmission complying with SAS protocol; said external storage virtualization controller is configured to define at least one virtualized logical media unit (LMU) consisting of sections of said group of PSDs, and is 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 said external storage virtualization controller is configured to define at least one virtualized logical media unit consisting of sections of said group of PSDs in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD), and the storage virtualization controller is configured for accommodating said group of PSDs having a SAS PSD in said group of PSDs or a SATA PSD in said group of PSDs connected to the same SAS interconnect; wherein the IO requests are parsed to determine what operation is to be performed and on which section of the virtualized LMU the operation is to be performed; and wherein when the operation consists only of internally-emulated, asynchronous, and synchronous device sub-operations, then the SVC executes the associated sub-operations including transferring any associated data to/from the host entity and then, when there is a failed operation, responding to the host entity with a status report that indicates the reason for the failed operation. - View Dependent Claims (40, 41, 42, 43, 48)
- a central processing circuitry (CPC) for performing IO operations in response to said IO requests of said host entity;
-
44. A storage virtualization computer system comprising:
-
a host entity for issuing IO requests; an external storage virtualization controller coupled to said host entity for executing IO operations in response to said IO requests; and a group of physical storage devices (PSDs), each coupled to the storage virtualization controller through a SAS interconnect, for providing data storage space to the storage virtualization computer system through the storage virtualization controller in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD); wherein said external storage virtualization controller comprises; a central processing circuitry (CPC) for performing IO operations in response to said IO requests of said 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 SAS device-side IO device interconnect port provided in one of said at least one IO device interconnect controller for coupling to one of said at least one physical storage device; wherein said storage virtualization controller is configured to define at least one virtualized logical media unit consisting of sections of said group of PSDs, and the storage virtualization controller is configured for accommodating said group of PSDs having a SAS PSD in said group of PSDs or a SATA PSD in said group of PSDs connected to the same SAS interconnect; wherein said external storage virtualization controller is configured to define the at least one virtualized logical media unit (LMU) consisting of the sections of said group of PSDs, and is 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 section of the virtualized LMU the operation is to be performed; and wherein when the operation consists only of internally-emulated, asynchronous, and synchronous device sub-operations, then the SVC executes the associated sub-operations including transferring any associated data to/from the host entity and then, when there is a failed operation, responding to the host entity with a status report that indicates the reason for the failed operation. - View Dependent Claims (49)
-
Specification