IP Library › Granted Patent US 10,162,531
Granted Patent B2
US 10,162,531 · App. 15/411,985 · Granted Dec 25, 2018

Physical allocation unit optimization

Inventors: Preston A. Carpenter (Vail, AZ); Gregory E. McBride (Vail, AZ); David C. Reed (Tucson, AZ); Esteban Rios (Tucson, AZ)
Assignee: International Business Machines Corporation
G06F3/061G06F3/067G06F3/0608G06F3/0631G06F3/0689G06F12/023
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 10,162,531
App. No.
15/411,985
Granted
Dec 25, 2018
Kind
B2
Abstract

A method for optimizing the allocation of extents to data sets is disclosed. In one embodiment, such a method includes providing multiple storage classes. These storage classes may include a first storage class configured to allocate larger extents to data sets, a second storage class configured to allocate smaller extents to data sets, and a mixed-mode storage class configured to allocate a combination of the smaller and larger extents to data sets. The method further enables data sets to be assigned to one of the multiple storage classes. Upon assigning a data set to the mixed-mode storage class, the method causes an initial portion of the data set to be allocated the larger extents, and an ending portion of the data set to be allocated the smaller extents. A corresponding system and computer program product are also disclosed.

Claims (34)

1. A method for optimizing the allocation of extents to data sets, the method comprising:

providing a plurality of storage classes, the storage classes comprising a first storage class configured to allocate larger extents to data sets, a second storage class configured to allocate smaller extent to data sets, and a mixed-mode storage class configured to allocate a combination of the smaller extents and the larger extents to data sets;

enabling a sequentially-accessed data set to be assigned to the mixed-mode storage class;

upon assigning the sequentially-accessed data set to the mixed-mode storage class, allocating the larger extents to an initial portion of the sequentially-accessed data set, and the smaller extents to an ending portion of the sequentially-accessed data set; and

upon writing data to an end of the sequentially-accessed data set, writing the data to the smaller extents.

2. The method of claim 1 , further comprising assigning a data set to the first storage class in the event I/O activity to the data set occurs to specific areas of the data set.

3. The method of claim 1 , further comprising assigning a data set to the second storage class in the event I/O activity to the data set is substantially evenly distributed.

4. The method of claim 1 , wherein the larger extents of the sequentially-accessed data set are maintained on slower storage media and the smaller extents of the sequentially-accessed data set are maintained on faster storage media.

5. The method of claim 1 , further comprising selecting a storage class for a data set based on a size of the data set.

6. The method of claim 1 , further comprising selecting a storage class for a data set based on an access method used to access data in the data set.

7. The method of claim 1 , further comprising selecting a storage class for a data set based on a location of the data set in a tiered storage system.

8. A computer program product for optimizing the allocation of extents to data sets, the computer program product comprising a computer-readable storage medium having computer-usable program code embodied therein, the computer-usable program code configured to perform the following when executed by at least one processor:

provide a plurality of storage classes, the storage classes comprising a first storage class configured to allocate larger extents to data sets, a second storage class configured to allocate smaller extent to data sets, and a mixed-mode storage class configured to allocate a combination of the smaller extents and the larger extents to data sets;

enable a sequentially-accessed data set to be assigned to the mixed-mode storage class;

upon assigning the sequentially-accessed data set to the mixed-mode storage class, allocate the larger extents to an initial portion of the sequentially-accessed data set, and the smaller extents to an ending portion of the sequentially-accessed data set; and

upon writing data to an end of the sequentially-accessed data set, write the data to the smaller extents.

9. The computer program product of claim 8 , wherein the computer-usable program code is further configured to assign a data set to the first storage class in the event I/O activity to the data set occurs to specific areas of the data set.

10. The computer program product of claim 8 , wherein the computer-usable program code is further configured to assign a data set to the second storage class in the event I/O activity to the data set is substantially evenly distributed.

11. The computer program product of claim 8 , wherein the larger extents of the sequentially-accessed data set are maintained on slower storage media and the smaller extents of the sequentially-accessed data set are maintained on faster storage media.

12. The computer program product of claim 8 , wherein the computer-usable program code is further configured to select a storage class for a data set based on a size of the data set.

13. The computer program product of claim 8 , wherein the computer-usable program code is further configured to select a storage class for a data set based on an access method used to access data in the data set.

14. The computer program product of claim 8 , wherein the computer-usable program code is further configured to select a storage class for a data set based on a location of the data set in a tiered storage system.

15. A system for optimizing the allocation of extents to data sets, the system comprising:

at least one processor;

at least one memory device operably coupled to the at least one processor and storing instructions for execution on the at least one processor, the instructions causing the at least one processor to:

provide a plurality of storage classes, the storage classes comprising a first storage class configured to allocate larger extents to data sets, a second storage class configured to allocate smaller extent to data sets, and a mixed-mode storage class configured to allocate a combination of the smaller extents and the larger extents to data sets;

enable a sequentially-accessed data set to be assigned to the mixed-mode storage class;

upon assigning the sequentially-accessed data set to the mixed-mode storage class, allocate the larger extents to an initial portion of the sequentially-accessed data set, and the smaller extents to an ending portion of the sequentially-accessed data set; and

upon writing data to an end of the sequentially-accessed data set, write the data to the smaller extents.

16. The system of claim 15 , wherein the instructions further cause the at least one processor to assign a data set to the first storage class in the event I/O activity to the data set occurs to specific areas of the data set.

17. The system of claim 15 , wherein the instructions further cause the at least one processor to assign a data set to the second storage class in the event I/O activity to the data set is substantially evenly distributed.

18. The system of claim 15 , wherein the larger extents of the sequentially-accessed data set are maintained on slower storage media and the smaller extents of the sequentially-accessed data set are maintained on faster storage media.

19. The system of claim 15 , wherein the instructions further cause the at least one processor to select a storage class for a data set based on a size of the data set.

20. The system of claim 15 , wherein the instructions further cause the at least one processor to select a storage class for a data set based on an access method used to access data in the data set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2017
From: CARPENTER, PRESTON A.; MCBRIDE, GREGORY E.; REED, DAVID C.; RIOS, ESTEBAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041035/0281 →
Continuity (1)
Related Publication 20180210647A1 · Jul 26, 2018