Storage virtualization computer system and external controller thereof
First Claim
Patent Images
1. A storage virtualization computer system comprising:
- a host entity for issuing IO requests;
an external storage virtualization controller (SVC) 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 external storage virtualization controller through a point-to-point serial-signal interconnect, for providing storage to the storage virtualization computer system through the external 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 for performing said 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 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 through said point-to-point serial-signal interconnect, said device-side IO device interconnect port being a serial port for point-to-point serial-signal transmission;
wherein said computer system further comprises a detachable canister attached to said external storage virtualization controller for containing one of said PSDs therein;
wherein 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 SVC issues a device-side IO request to said IO device interconnect controller, and said IO device interconnect controller re-formats said device-side IO request and accompanying IO data into at least one data packet for transmission to said group of PSDs through said device-side IO device interconnect port; and
wherein a new PSD is attached to said external storage virtualization controller when said external storage virtualization controller is on-line,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;
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 storage virtualization controller coupled to the host entity for executing IO operations in response to the IO request, and a at least one physical storage device, each coupled to the storage virtualization controller through a point-to-point serial-signal interconnect, for providing storage to the storage virtualization computer system through the storage virtualization controller. As an example, the point-to-point serial-signal interconnect can be a Serial ATA IO device interconnect.
50 Citations
67 Claims
-
1. A storage virtualization computer system comprising:
-
a host entity for issuing IO requests; an external storage virtualization controller (SVC) 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 external storage virtualization controller through a point-to-point serial-signal interconnect, for providing storage to the storage virtualization computer system through the external 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 for performing said 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 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 through said point-to-point serial-signal interconnect, said device-side IO device interconnect port being a serial port for point-to-point serial-signal transmission; wherein said computer system further comprises a detachable canister attached to said external storage virtualization controller for containing one of said PSDs therein; wherein 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 SVC issues a device-side IO request to said IO device interconnect controller, and said IO device interconnect controller re-formats said device-side IO request and accompanying IO data into at least one data packet for transmission to said group of PSDs through said device-side IO device interconnect port; and wherein a new PSD is attached to said external storage virtualization controller when said external storage virtualization controller is on-line, 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;
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, 9, 10, 11, 12, 13, 14, 15, 16, 59, 63)
-
-
17. A storage virtualization subsystem for providing storage to a host entity, comprising:
-
an external storage virtualization controller for connecting to the 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 external storage virtualization controller through a point-to-point serial-signal interconnect, for providing storage to the host entity through the external 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 for performing said 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 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 through said point-to-point serial-signal interconnect, said device-side IO device interconnect port being a serial port for point-to-point serial-signal transmission; wherein 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; and wherein said external SVC issues a device-side IO request to said IO device interconnect controller, and said IO device interconnect controller re-formats said device-side IO request and accompanying IO data into at least one data packet for transmission to said group of PSDs through said device-side IO device interconnect port, 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;
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 (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, 60, 65)
-
-
45. A method for performing storage virtualization in a computer system with an external storage virtualization controller of the computer system, the method comprising:
-
receiving, by the external storage virtualization controller, an IO request from a host entity of the computer system; parsing, by the external storage virtualization controller, the IO request to decide at least one TO operation to perform in response to said IO request; performing, by the external storage virtualization controller, at least one TO operation to access a group of physical storage devices (PSDs) of the computer system in point-to-point serial-signal transmission; and performing said at least one TO operation by a central processing circuitry in the external storage virtualization controller in response to said IO request of said host entity; wherein said external storage virtualization controller includes; 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 TO device interconnect controller for coupling to said host entity; and at least one 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 through said point-to-point serial-signal interconnect, said device-side IO device interconnect port being a serial port for point-to-point serial-signal transmission; wherein said computer system further comprises a detachable canister attached to said external storage virtualization controller for containing one of said PSDs therein; wherein 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; and wherein said external SVC issues a device-side IO request to said IO device interconnect controller, and said IO device interconnect controller re-formats said device-side IO request and accompanying IO data into at least one data packet for transmission to said group of PSDs through said device-side IO device interconnect port, in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD); and
wherein said group of PSDs include a first set of PSDs and a second set of PSDs, said first set of PSDs and said second set of PSDs are not received in a same enclosure,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;
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 (46, 47, 48, 49, 50, 51, 52, 53, 54, 61, 66)
-
-
55. A non-transitory computer-readable storage medium having a computer program code stored therein that is capable of causing a computer system having an external storage virtualization controller and a group of physical storage devices (PSDs) connected to the external storage virtualization controller to perform the steps of:
-
Receiving, by the external storage virtualization controller, an IO request from a host entity of the computer system; Parsing, by the external storage virtualization controller, the IO request to decide at least one IO operation to perform in response to said IO request; performing said at least one IO operation with the external storage virtualization controller to access said group of PSDs in point-to-point serial-signal transmission; and performing said at least one IO operation by a central processing circuitry in the external storage virtualization controller in response to said IO request of said host entity; wherein said external storage virtualization controller includes; 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 TO device interconnect controller for coupling to said host entity; and at least one device-side IO device interconnect port provided in one of said at least one TO device interconnect controller for coupling to one of said PSDs through said point-to-point serial-signal interconnect, said device-side IO device interconnect port being a serial port for point-to-point serial-signal transmission, in which each of the PSDs is a hard disk drive (HDD) or a solid state drive (SSD); wherein said computer system further comprises a detachable canister attached to said external storage virtualization controller for containing one of said PSDs therein; wherein 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; and wherein said external SVC issues a device-side IO request to said IO device interconnect controller, and said IO device interconnect controller re-formats said device-side IO request and accompanying IO data into at least one data packet for transmission to said group of PSDs through said device-side IO device interconnect port, 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;
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 (56, 57, 58, 62, 64, 67)
-
Specification