Data storage control on storage devices
First Claim
1. A storage system having a plurality of storage devices and a controller that controls data input and output to/from the plurality of storage devices in response to an access request from an application mounted on a host computer being coupled to the storage system via a communication path, the storage system comprising:
- a pool having a plurality of pool volumes each including a plurality of storage extents in the storage devices, anda virtual volume accessed by the application of the host computer and including a plurality of virtual extents, at least one of the plurality of storage extents being allocated to at least one of the plurality of virtual extents, and at least one storage extent of the plurality of storage extents not being allocated to at least one of the plurality of virtual extents,wherein in response to a write access request from the application, to a first virtual extent of the virtual volume, the controller is configured to allocate a first storage extent of the plurality of storage extents to the first virtual extent of the plurality of the virtual extents if no storage extent in the storage device has been allocated to the first virtual extent, and the controller is configured to write data related to the write access to the first storage extent,wherein in response to a release request, which specifies a first address of at least one virtual extent in the virtual volume, issued by the host computer, the controller is configured to release the at least one storage extent allocated to the at least one virtual extent specified by the first address from the allocation and to write a specified data pattern in the released at least one storage extent.
0 Assignments
0 Petitions
Accused Products
Abstract
An object of the present invention is to improve the usage efficiency of a storage extent in a storage system using the Allocation on Use (AOU) technique. A controller in the storage system allocates a storage extent in an actual volume to an extent in a virtual volume accessed by a host computer, detects any decrease in necessity for maintaining that allocation, and cancels the allocation of the storage extent in the actual volume to the extent in the virtual volume based on the detection result.
20 Citations
18 Claims
-
1. A storage system having a plurality of storage devices and a controller that controls data input and output to/from the plurality of storage devices in response to an access request from an application mounted on a host computer being coupled to the storage system via a communication path, the storage system comprising:
-
a pool having a plurality of pool volumes each including a plurality of storage extents in the storage devices, and a virtual volume accessed by the application of the host computer and including a plurality of virtual extents, at least one of the plurality of storage extents being allocated to at least one of the plurality of virtual extents, and at least one storage extent of the plurality of storage extents not being allocated to at least one of the plurality of virtual extents, wherein in response to a write access request from the application, to a first virtual extent of the virtual volume, the controller is configured to allocate a first storage extent of the plurality of storage extents to the first virtual extent of the plurality of the virtual extents if no storage extent in the storage device has been allocated to the first virtual extent, and the controller is configured to write data related to the write access to the first storage extent, wherein in response to a release request, which specifies a first address of at least one virtual extent in the virtual volume, issued by the host computer, the controller is configured to release the at least one storage extent allocated to the at least one virtual extent specified by the first address from the allocation and to write a specified data pattern in the released at least one storage extent. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data transfer method for a storage system having a plurality of storage devices and a controller that controls data input and output to/from the plurality of storage devices in response to an access request from an application mounted on a host computer being coupled to the storage system via a communication path, the method comprising:
-
accessing, by the application of the host computer, a virtual volume, wherein the virtual volume includes a plurality of virtual extents, at least one of a plurality of storage extents being allocated to at least one of the plurality of virtual extents, and wherein at least one storage extent of the plurality of storage extents not being allocated to at least one of the plurality of virtual extents; allocating, by the controller in response to a write access request from the application, to a first virtual extent of the virtual volume, a first storage extent of the plurality of storage extents to the first virtual extent of the plurality of the virtual extents if no storage extent in the storage device has been allocated to the first virtual extent, and writing, by the controller, data related to the write access to the first storage extent; and releasing, in response to a release request, which specifies a first address of at least one virtual extent in the virtual volume, issued by the host computer, the at least one storage extent allocated to the at least one virtual extent specified by the first address from the allocation and writing specified data pattern in the released at least one storage extent. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer-readable storage medium storing a software program, the software program for transferring data in a storage system having a plurality of storage devices and a controller that controls data input and output to/from the plurality of storage devices in response to an access request from an application mounted on a host computer being coupled to the storage system via a communication path, the program, when executed by a computer, performing a process, comprising:
-
accessing, by the application of the host computer, a virtual volume, wherein the virtual volume includes a plurality of virtual extents, at least one of a plurality of storage extents being allocated to at least one of the plurality of virtual extents, and wherein at least one storage extent of the plurality of storage extents not being allocated to at least one of the plurality of virtual extents; allocating, by the controller in response to a write access request from the application, to a first virtual extent of the virtual volume, a first storage extent of the plurality of storage extents to the first virtual extent of the plurality of the virtual extents if no storage extent in the storage device has been allocated to the first virtual extent, and writing, by the controller, data related to the write access to the first storage extent; and releasing, in response to a release request, which specifies a first address of at least one virtual extent in the virtual volume, issued by the host computer, the at least one storage extent allocated to the at least one virtual extent specified by the first address from the allocation and writing specified data pattern in the released at least one storage extent. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification