IP Library Granted Patent US 9,575,672
Granted Patent B2
US 9,575,672 · App. 14/483,808 · Granted Feb 21, 2017

Storage system comprising flash memory and storage control method in which a storage controller is configured to determine the number of allocatable pages in a pool based on compression information

Inventors: Akira Yamamoto (Sagamihara, JP); Masayuki Yamamoto (Sagamihara, JP)
Assignee: Hitachi, Ltd.
G06F3/0619G06F3/064G06F3/067G06F3/0608G06F3/0665G06F3/0688
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,575,672
App. No.
14/483,808
Granted
Feb 21, 2017
Kind
B2
Abstract

A storage system has a plurality of flash packages, and a storage controller for receiving a write request from a host and sending a write-data write request based on data conforming to this write request to a write-destination flash package. A virtual capacity, which is larger than the physical capacity of the flash package, is defined in the storage controller. The storage system compresses the write data, and writes the compressed write data to the write-destination flash chip.

Claims (104)

1. A storage system comprising: a plurality of storage devices; and

a storage controller configured to manage a plurality of pages in a pool provided by a set of the storage devices, to provide a virtual volume to a host, to allocate a page of the plurality of allocatable pages from the pool to a part of the virtual volume in response to a write request from the host, to manage a number of allocatable pages in the pool, and to send write data to at least one of the set of storage devices corresponding to the allocated page;

wherein at least one of the set of storage devices is configured to compress the write data sent from the storage controller and to store the compressed data in the storage device,

wherein at least one of the set of storage devices is configured to generate compression information based on an amount of compressed data stored in the storage device, wherein at least one of the set of storage devices is configured to send the compression information to the storage controller, and

wherein the storage controller is configured to change the number of allocatable pages in the pool based on the compression information sent from at least one of the set of storage devices.

2. The storage system according to claim 1 ,

wherein in addition to change the number of allocatable pages in the pool based on the compression information, the storage controller is configured to change a number of unavailable pages in the pool.

3. The storage system according to claim 1 ,

wherein at least one of the set of storage devices is configured to send the compression information to the storage controller unrelated to I/O request from the storage controller.

4. The storage system according to claim 1 ,

wherein when the storage controller allocates one page of the plurality of pages from the pool to the virtual volume, the storage controller decreases one allocatable page from the number of allocatable pages in the pool.

5. The storage system according to claim 1 ,

wherein each storage device is configured to include data storage area, and wherein the compressed data is configured to be stored in the data storage area.

6. The storage system according to claim 5 ,

wherein the compression information is an available amount of the data storage area based on the amount of compressed data stored in the data storage area.

7. The storage system according to claim 6 ,

wherein the storage controller changes the number of allocatable pages based on a smallest available amount of the data storage area among the set of the storage devices, according to the compression information sent from each of the set of storage devices.

8. The storage system according to claim 7 ,

wherein the storage controller decreases the number of allocatable pages in the pool, if the smallest available amount of the data storage area of the set of the storage devices decreases.

9. The storage system according to claim 7 ,

wherein the storage controller increases the number of allocatable pages in the pool, if the smallest available amount of the data storage area of the set of the storage devices increases.

10. The storage system according to claim 5 ,

wherein the compression information is a compression ratio based on the amount of compressed data stored in the data storage area and total amount of the write data sent from the storage controller.

11. The storage system according to claim 1 ,

wherein the storage controller allocates the page from the pool to the part of the virtual volume, if the page is not allocated to the virtual volume.

12. The storage system according to claim 1 ,

wherein the storage devices are flash packages each including a plurality of flash memory chips.

13. The storage system according to claim 1 ,

wherein at least one of the plurality of storage devices is HDD.

14. The storage system according to claim 1 ,

wherein the set of storage devices is a RAID group.

15. The storage system according to claim 1 ,

wherein the storage controller configures a first group of storage devices from the plurality of storage devices and a second group of storage devices from the plurality of storage devices different from the first group of storage devices,

wherein if the storage controller determines an available capacity related to the first group is less than a predetermined value, the storage controller transfers data from the first group to the second group, in which the data is corresponding to a specified allocated page related to the first group,

wherein the storage controller updates management information identifying that the specified allocated page is related to the second group.

16. The storage system according to claim 15 ,

wherein if the storage controller determines a number of allocatable pages related to the first group is less than a predetermined value, the storage controller transfers data from the first group to the second group, in which the data is corresponding to a specified allocated page related to the first group.

17. The storage system according to claim 16 ,

wherein the storage controller updates the management information as to increment one allocatable page related to the first group and to decrement one allocatable page related to the second group.

18. The storage system according to claim 15 ,

wherein at least one of the first group of storage devices is configured to release data storage area corresponding to the transferred data after transferring the data from the first group to the second group by the storage controller.

19. A storage controller comprising:

an interface configured to be coupled to a plurality of storage devices; and

a processor configured to manage a plurality of pages in a pool provided by a set of the storage devices, to provide a virtual volume to a host, to allocate a page of the plurality of allocatable pages from the pool to a part of the virtual volume in response to a write request from the host, to manage a number of allocatable pages in the pool, and to send write data to at least one of the set of storage devices corresponding to the allocated page;

wherein the processor is configured to receive compression information from at least one of the set of storage devices which is configured to compress and store the write data sent from the processor, the compression information is based on an amount of compressed data stored in at least one of the set of storage device,

wherein the processor is configured to change the number of allocatable pages in the pool based on the compression information sent from at least one of the set of storage devices.

20. The storage controller according to claim 19 ,

wherein, in addition to change the number of allocatable pages in the pool based on the compression information, the processor is configured to change a number of unavailable pages in the pool.

21. The storage controller according to claim 19 ,

wherein the processor is configured to receive the compression information unrelated to I/O request.

22. The storage controller according to claim 19 ,

wherein the set of storage devices is a RAID group.

23. The storage controller according to claim 19 ,

wherein each storage device is configured to include data storage area, and wherein the compressed data is configured to be stored in the data storage area.

24. The storage controller according to claim 19 ,

wherein the compression information is an available amount of the data storage area based on the amount of compressed data stored in the data storage area.

25. The storage controller according to claim 24 ,

wherein the processor changes the number of allocatable pages based on a smallest available amount of the data storage area among the set of the storage devices, according to the compression information sent from each of the set of storage devices.

26. The storage controller according to claim 25 ,

wherein the processor decreases the number of allocatable pages in the pool, if the smallest available amount of the data storage area of the set of the storage devices decreases.

27. The storage controller according to claim 25 ,

wherein the processor increases the number of allocatable pages in the pool, if the smallest available amount of the data storage area of the set of the storage devices increases.

28. A storage system comprising: a plurality of storage devices; and

a storage controller configured to allocate an allocatable page from a pool provided by a set of storage devices to a virtual volume dynamically;

wherein at least one of the set of storage devices is configured to compress write data sent from the storage controller and to store the compressed data in the storage device,

wherein at least one of the set of storage devices is configured to generate compression information based on an amount of compressed data stored in the storage device,

wherein at least one of the set of storage devices is configured to send the compression information to the storage controller, and

wherein the storage controller is configured to change a number of allocatable pages in the pool based on the compression information sent from at least one of the set of storage devices.

29. The storage system according to claim 28 ,

wherein in addition to change the number of allocatable pages in the pool based on the compression information, the storage controller is configured to change a number of unavailable pages in the pool.

30. The storage system according to claim 28 ,

wherein at least one of the set of storage devices is configured to send the compression information to the storage controller unrelated to I/O request from the storage controller.

31. The storage system according to claim 28 ,

wherein when the storage controller allocates one page of the plurality of pages from the pool to the virtual volume, the storage controller decreases one allocatable page from the number of allocatable pages in the pool.

32. The storage system according to claim 28 ,

wherein each storage device is configured to include data storage area, and wherein the compressed data is configured to be stored in the data storage area.

33. The storage system according to claim 32 ,

wherein the compression information is an available amount of the data storage area based on the amount of compressed data stored in the data storage area.

34. The storage system according to claim 33 ,

wherein the storage controller changes the number of allocatable pages based on a smallest available amount of the data storage area among the set of the storage devices, according to the compression information sent from each of the set of storage devices.

35. The storage system according to claim 34 ,

wherein the storage controller decreases the number of allocatable pages in the pool, if the smallest available amount of the data storage area of the set of the storage devices decreases.

36. The storage system according to claim 34 ,

wherein the storage controller increases the number of allocatable pages in the pool, if the smallest available amount of the data storage area of the set of the storage devices increases.

37. The storage system according to claim 33 ,

wherein the compression information is a compression ratio based on the amount of compressed data stored in the data storage area and total amount of the write data sent from the storage controller.

38. The storage system according to claim 28 ,

wherein the storage controller allocates the page from the pool to the part of the virtual volume, if the page is not allocated to the virtual volume.

39. The storage system according to claim 28 ,

wherein the storage devices are flash packages each including a plurality of flash memory chips.

40. The storage system according to claim 28 ,

wherein at least one of the plurality of storage devices is HDD.

41. The storage system according to claim 28 ,

wherein the set of storage devices is a RAID group.

42. The storage system according to claim 28 ,

wherein the storage controller configures a first group of storage devices from the plurality of storage devices and a second group of storage devices from the plurality of storage devices different from the first group of storage devices,

wherein if the storage controller determines an available capacity related to the first group is less than a predetermined value, the storage controller transfers data from the first group to the second group, in which the data is corresponding to a specified allocated page related to the first group,

wherein the storage controller updates management information identifying that the specified allocated page is related to the second group.

43. The storage system according to claim 42 ,

wherein if the storage controller determines a number of allocatable pages related to the first group is less than a predetermined value, the storage controller transfers data from the first group to the second group, in which the data is corresponding to a specified allocated page related to the first group.

44. The storage system according to claim 43 ,

wherein the storage controller updates the management information as to increment one allocatable page related to the first group and to decrement one allocatable page related to the second group.

45. The storage system according to claim 42 ,

wherein at least one of the first group of storage devices is configured to release data storage area corresponding to the transferred data after transferring the data from the first group to the second group by the storage controller.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2014
From: YAMAMOTO, AKIRA; YAMAMOTO, MASAYUKI
To: HITACHI, LTD.
Reel/Frame 033747/0562 →
Continuity (2)
Continuation 13140327
Related Publication 20140379974A1 · Dec 25, 2014