Storage virtualization computer system and external controller therefor
First Claim
Patent Images
1. A storage virtualization computer system comprising:
- a host entity for issuing host IO requests;
an external storage virtualization controller (SVC) comprising at least one I/O controller and being coupled to said host entity for executing IO operations in response to said host 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;
wherein said external storage virtualization controller is configured to define at least one logical media unit (LMU) consisting of sections of said group of PSDs;
wherein the host IO requests are parsed to determine what operation is to be performed and on which section(s) of the LMU the operation is to be performed; and
wherein when the operation comprises internally-emulated, asynchronous device sub-operations, then the external SVC executes the associated sub-operations including transferring any associated data to/from the host entity and then, when there is a failed operation, the external SVC generates a status report and responds to the host entity with the status report indicating the failed operation;
wherein the asynchronous device sub-operations comprise device-side IO requests to be sent to the PSDs, and when one of the device-side IO requests does not complete successfully, the SVC engages a backup operation that allows successful completion of the sub-operations, where when one of the PSDs is inaccessible, the backup operation includes generating at least one other device-side IO request to at least one media section that is different from a media section to be accessed by the one device-side IO request which does not complete successfully; and
wherein when one of the host IO requests from the host entity is received by the SVC, an IO complete report that the one of the host I/O requests is successfully complete is first issued to the host entity by the SVC before the SVC completes the operation performed on the section(s) of the LMU associated with said one host IO request.
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.
-
Citations
95 Claims
-
1. A storage virtualization computer system comprising:
-
a host entity for issuing host IO requests; an external storage virtualization controller (SVC) comprising at least one I/O controller and being coupled to said host entity for executing IO operations in response to said host 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; wherein said external storage virtualization controller is configured to define at least one logical media unit (LMU) consisting of sections of said group of PSDs; wherein the host IO requests are parsed to determine what operation is to be performed and on which section(s) of the LMU the operation is to be performed; and wherein when the operation comprises internally-emulated, asynchronous device sub-operations, then the external SVC executes the associated sub-operations including transferring any associated data to/from the host entity and then, when there is a failed operation, the external SVC generates a status report and responds to the host entity with the status report indicating the failed operation; wherein the asynchronous device sub-operations comprise device-side IO requests to be sent to the PSDs, and when one of the device-side IO requests does not complete successfully, the SVC engages a backup operation that allows successful completion of the sub-operations, where when one of the PSDs is inaccessible, the backup operation includes generating at least one other device-side IO request to at least one media section that is different from a media section to be accessed by the one device-side IO request which does not complete successfully; and wherein when one of the host IO requests from the host entity is received by the SVC, an IO complete report that the one of the host I/O requests is successfully complete is first issued to the host entity by the SVC before the SVC completes the operation performed on the section(s) of the LMU associated with said one host IO request. - 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. A storage virtualization subsystem for providing storage to a host entity for issuing host IO requests, comprising:
-
an external storage virtualization controller (SVC) comprising at least one I/O controller and being coupled to said host entity for executing IO operations in response to said host 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 host entity through the external storage virtualization controller; wherein said external storage virtualization controller is configured to define at least one logical media unit (LMU) consisting of sections of said group of PSDs; wherein the host IO requests are parsed to determine what operation is to be performed and on which section(s) of the 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 then, when there is a failed operation, the SVC generates a status report and responds to the host entity with the status report indicating the failed operation; wherein the asynchronous device sub-operations comprise device-side IO requests to be sent to the PSDs, and when one of the device-side IO requests does not complete successfully, the SVC engages backup operation that allows successful completion of the sub-operations, where when one of the PSDs is inaccessible, the backup operation includes generating at least one other device-side IO request to at least one media section that is different from a media section to be accessed by the one device-side IO request which does not complete successfully; and wherein when one of the host IO requests from the host entity is received by the SVC, an IO complete report that the one of the host I/O requests is successfully complete is first issued to the host entity by the SVC before the SVC completes the operation performed on the section(s) of the LMU associated with said one host IO request. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. An external storage virtualization controller (SVC) for executing IO operations in response to host IO requests from a host entity, comprising:
-
a central processing circuitry for performing IO operations in response to said host 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 a 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 a said at least one IO device interconnect controller for coupling to and performing point-to-point serial-signal transmission with a group of physical storage devices (PSDs); wherein said external storage virtualization controller is configured to define at least one logical media unit (LMU) consisting of sections of said group of PSDs; wherein the host IO requests are parsed to determine what operation is to be performed and on which section(s) of the 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 then, when there is a failed operation, the SVC generates a status report and responds to the host entity with the status report indicating the failed operation; wherein the asynchronous device sub-operations comprise device-side IO requests to be sent to the PSDs, and when one of the device-side IO requests does not complete successfully, the SVC engages backup operation that allows successful completion of the sub-operations, where when one of the PSDs is inaccessible, the backup operation includes generating at least one other device-side IO request to at least one media section that is different from a media section to be accessed by the one device-side IO request which does not complete successfully; and wherein when one of the host IO requests from the host entity is received by the SVC, an IO complete report that the one of the host I/O requests is successfully complete is first issued to the host entity by the SVC before the SVC completes the operation performed on the section(s) of the LMU associated with said one host IO request. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71)
-
-
72. A method for performing storage virtualization in a computer system with an external storage virtualization controller (SVC) of the computer system, comprising:
-
receiving host IO requests from a host entity of the computer system with the storage virtualization controller; parsing the host IO requests with the storage virtualization controller to decide at least one IO operation to perform in response to said host IO requests; and performing at least one IO operation with the storage virtualization controller to access a group of physical storage devices (PSDs) of the computer system in point-to-point serial-signal transmission; wherein said external storage virtualization controller is configured to define at least one logical media unit (LMU) consisting of sections of said group of PSDs; wherein the host IO requests are parsed to determine what operation is to be performed and on which section(s) of the 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 then, when there is a failed operation, the SVC generates a status report and responds to the host entity with the status report indicating the failed operation; wherein the asynchronous device sub-operations comprise device-side IO requests to be sent to the PSDs, and when one of the device-side IO requests does not complete successfully, the SVC engages backup operation that allows successful completion of the sub-operations, where when one of the PSDs is inaccessible, the backup operation includes generating at least one other device-side IO request to at least one media section that is different from a media section to be accessed by the one media section which does not complete successfully; and wherein when one of the host IO requests from the host entity is received by the SVC, an IO complete report that the one of I/O requests is successfully complete is first issued to the host entity by the SVC before the SVC completes the operation performed on the section(s) of the LMU associated with said one host IO request. - View Dependent Claims (73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95)
-
Specification