IP Library Granted Patent US 9,513,810
Granted Patent B2
US 9,513,810 · App. 14/536,771 · Granted Dec 6, 2016

Fast accessible compressed thin provisioning volume

Inventor: Tomohiro Kawaguchi (Cupertino, CA)
Assignee: Hitachi, Ltd.
G06F3/0608G06F3/0656G06F3/0665G06F3/0689G06F12/0866
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,513,810
App. No.
14/536,771
Granted
Dec 6, 2016
Kind
B2
Abstract

A computerized data storage system includes at least one storage device including a nonvolatile writable medium; a cache memory and a data management controller and a storage port. The storage port is operable to receive a request to read data, and, in response to the request to read data, to send the data stored in the data storing area of the cache memory. The storage port is further operable to receive a request to write data, and, in response to the request to write data, to send the write data to the data storing area of the cache memory. The storage system further includes a thin provisioning controller operable to provide a virtual volume, and a capacity pool. The storage system further includes a data compression controller and a data decompression controller.

Claims (53)

1. A storage system comprising:

a plurality of storage devices on which a storage pool having a plurality of storage regions is configured; and

a storage controller configured to manage a virtual volume, which has a first attribute indicating that a compression function is not enabled for the virtual volume, the virtual volume having a plurality of virtual storage areas, the virtual storage areas including a first virtual storage area to which one or more first storage regions in the storage pool are allocated,

wherein, if the first attribute of the virtual volume is changed to a second attribute indicating that the compression function is enabled for the virtual volume, the storage controller is further configured to:

compress data read from the one or more first storage regions which are allocated to the first virtual storage area in the virtual volume;

correlate one or more second storage regions to the first virtual storage area to store the compressed data, the number of the one or more second storage regions being less than the number of the one or more first storage regions; and

free the one or more first storage regions from allocation to the first virtual storage area.

2. A storage system according to claim 1 ,

wherein the storage controller is further configured to:

determine whether the data is to be stored in the compressed form, and

correlate the one or more second storage regions to the first virtual storage area to store the compressed data if the storage controller determines the data is to be stored in the compressed form.

3. A storage system according to claim 1 ,

wherein the storage controller is further configured to:

determine whether another data, which is read from one or more third storage regions allocated to a second virtual storage area in the virtual volume stored, is to be stored in compressed form, and

maintain allocation of the one or more third storage regions to the second virtual storage area in the virtual volume if the storage controller determines the another data is not to be stored in the compressed form.

4. A storage system according to claim 1 ,

wherein the plurality of storage regions in the storage pool are fixed length storage regions.

5. A storage system according to claim 1 ,

wherein the storage controller includes a cache memory, and is further configured to compress the data read from the one or more first storage areas on the cache memory.

6. A storage system according to claim 2 ,

wherein the storage controller is further configured to check a size of the compressed form of the data to determine whether the data is to be stored in the compressed form.

7. A storage system according to claim 2 , wherein the storage controller is further configured to compare a size of the compressed form of the data and the size of the first virtual area to decide whether to store the data in the compressed form.

8. A storage system according to claim 2 , wherein the storage controller is further configured to compare a size of the compressed form of the data and a size of an uncompressed form of the data to decide whether to store the data in the compressed form.

9. A storage system according to claim 1 , wherein the storage controller, in response to receiving a read request for the compressed data stored in the one or more second storage regions allocated to the first virtual storage area, is further configured to:

read the compressed data from the one or more second storage regions allocated to the first virtual storage area;

decompress the compressed data as decompressed data; and

transfer the decompressed data as a response to the read request.

10. In a storage system having a plurality of storage devices on which a storage pool having a plurality of storage regions is configured and a storage controller, the method comprising the steps of:

managing a virtual volume, which has a first attribute indicating that a compression function is not enabled for the virtual volume, the virtual volume having a plurality of virtual storage areas, the virtual storage areas including a first virtual storage area to which one or more first storage regions in the storage pool are allocated,

if the first attribute of the virtual volume is changed to a second attribute indicating that the compression function is enabled for the virtual volume, the storage controller performing the steps of:

compressing data read from the one or more first storage regions which are allocated to the first virtual storage area in the virtual volume;

correlating one or more second storage regions to the first virtual storage area to store the compressed data, the number of the one or more second storage regions being less than the number of the one or more first storage regions; and

freeing the one or more first storage regions from allocation to the first virtual storage area.

11. A method according to claim 10 ,

wherein the storage controller further performs the steps of:

determining whether the data is to be stored in the compressed form, and

correlating the one or more second storage regions to the first virtual storage area to store the compressed data if the storage controller determines the data is to be stored in the compressed form.

12. A method according to claim 10 ,

wherein the storage controller further performs the steps of:

determining whether another data, which is read from one or more third storage regions allocated to a second virtual storage area in the virtual volume stored, is to be stored in compressed form, and

maintaining allocation of the one or more third storage regions to the second virtual storage area in the virtual volume if the storage controller determines the another data is not to be stored in the compressed form.

13. A method according to claim 10 ,

wherein the plurality of storage regions in the storage pool are fixed length storage regions.

14. A method according to claim 10 ,

wherein the storage controller includes a cache memory, and further performs the step of compressing the data read from the one or more first storage areas on the cache memory.

15. A method according to claim 11 ,

wherein the storage controller further performs the step of checking a size of the compressed form of the data to determine whether the data is to be stored in the compressed form.

16. A method according to claim 11 , wherein the storage controller further performs the step of comparing a size of the compressed form of the data and the size of the first virtual area to decide whether to store the data in the compressed form.

17. A method according to claim 11 , wherein the storage controller further performs the step of comparing a size of the compressed form of the data and a size of an uncompressed form of the data to decide whether to store the data in the compressed form.

18. A method according to claim 10 , wherein the storage controller, in response to receiving a read request for the compressed data stored in the one or more second storage regions allocated to the first virtual storage area, further performs the steps of:

reading the compressed data from the one or more second storage regions allocated to the first virtual storage area;

decompressing the compressed data as decompressed data; and

transferring the decompressed data as a response to the read request.

Assignments (1)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
Continuity (3)
Continuation 13234078 · Sep 15, 2011
Continuation 11948948 · Nov 30, 2007
Related Publication 20150067257A1 · Mar 5, 2015