IP Library Granted Patent US 11,061,579
Granted Patent B2
US 11,061,579 · App. 16/566,964 · Granted Jul 13, 2021

Access ordering for tape cycle optimization

Inventors: Slavisa Sarafijanovic (Adliswil, CH); Mark Alfred Lantz (Adliswil, CH); Vinodh Venkatesan (Waedenswil, CH); Paul Merrill Greco (Tucson, AZ)
Assignee: International Business Machines Corporation
G06F3/0611G06F3/0643G06F3/0659G06F3/0682
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 11,061,579
App. No.
16/566,964
Granted
Jul 13, 2021
Kind
B2
Abstract

A method for data storage tape access optimization is provided. The method identifies a plurality of data segments stored on a data storage tape. Each segment having a location and a size on the data storage tape. The method determines a subset of data segments stored on the data storage tape selected for retrieval. The method determines an access order for the subset of data segments. The access order represents a minimized tape cycle time for retrieving the subset of data segments. The method retrieves the subset of data segments from the data storage tape based on the access order.

Claims (58)

1. A computer-implemented method, comprising:

identifying a plurality of data segments stored on a data storage tape, each data segment having a location and a size on the data storage tape;

determining a subset of data segments, of the plurality of data segments, stored on the data storage tape, the subset of data segments selected for retrieval from the data storage tape;

determining an access order for the subset of data segments, the access order representing a minimized tape cycle time for retrieving the subset of data segments, wherein the tape cycle time represents a combination of total seek time to locate the subset of data segments, total read time to access the subset of data segments, and a rewind time to return the data storage tape to a start position after accessing a last data segment of the subset of data segments, the access order determined by:

determining a number of data segments within the subset of data segments by comparing the number of data segments to a threshold value representing a permutation calculation time for determining a final access order;

generating an initial access order for the subset of data segments, the initial access order having an initial tape cycle time;

generating a plurality of subsequent access orders for the subset of data segments, each subsequent access order having an associated tape cycle time; and

selecting the access order from the initial access order and the plurality subsequent access orders; and

retrieving the subset of data segments from the data storage tape based on the access order.

2. The method of claim 1 , further comprising:

identifying a new data segment to be stored on the data storage tape;

in response to identifying the new data segment, identifying a new tape location at which the new data segment is to be written on the data storage tape and a new size of the new data segment; and

writing the new tape location and the new size, for the new data segment, in a tape map portion of the data storage tape.

3. The method of claim 1 , further comprising:

determining the data storage tape is coupled to a tape drive; and

in response to determining the data storage tape is coupled, accessing a tape map portion of the data storage tape, and wherein the plurality of data segments are identified in response to the data storage tape drive being coupled to a tape drive and accessing of the tape map portion of the data storage tape.

4. The method of claim 1 , further comprising:

based on comparing the number of data segments to the threshold value, generating a permutation limit for a number of subsequent access orders to be generated within the plurality of subsequent access orders.

5. The method of claim 1 , further comprising:

based on comparing the number of data segments to the threshold value, generating a set of data segment groups from the subset of data segments, wherein the initial access order and the plurality of subsequent access orders are generated based on the set of data segment groups.

6. A system, comprising:

one or more processors; and

a computer-readable storage medium, coupled to the one or more processors, storing program instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

identifying a plurality of data segments stored on a data storage tape, each data segment having a location and a size on the data storage tape;

determining a subset of data segments, of the plurality of data segments, stored on the data storage tape, the subset of data segments selected for retrieval from the data storage tape;

determining an access order for the subset of data segments, the access order representing a minimized tape cycle time for retrieving the subset of data segments, wherein the tape cycle time represents a combination of total seek time to locate the subset of data segments, total read time to access the subset of data segments, and a rewind time to return the data storage tape to a start position after accessing a last data segment of the subset of data segments, the access order determined by:

determining a number of data segments within the subset of data segments by comparing the number of data segments to a threshold value representing a permutation calculation time for determining a final access order;

generating an initial access order for the subset of data segments, the initial access order having an initial tape cycle time;

generating a plurality of subsequent access orders for the subset of data segments, each subsequent access order having an associated tape cycle time; and

selecting the access order from the initial access order and the plurality subsequent access orders; and

retrieving the subset of data segments from the data storage tape based on the access order.

7. The system of claim 6 , wherein the operations further comprise:

identifying a new data segment to be stored on the data storage tape;

in response to identifying the new data segment, identifying a new tape location at which the new data segment is to be written on the data storage tape and a new size of the new data segment; and

writing the new tape location and the new size, for the new data segment, in a tape map portion of the data storage tape.

8. The system of claim 6 , wherein the operations further comprise:

determining the data storage tape is coupled to a tape drive; and

in response to determining the data storage tape is coupled, accessing a tape map portion of the data storage tape, and wherein the plurality of data segments are identified in response to the data storage tape drive being coupled to a tape drive and accessing of the tape map portion of the data storage tape.

9. The system of claim 6 , wherein the operations further comprise:

based on comparing the number of data segments to the threshold value, generating a permutation limit for a number of subsequent access orders to be generated within the plurality of subsequent access orders.

10. The system of claim 6 , wherein the operations further comprise:

based on comparing the number of data segments to the threshold value, generating a set of data segment groups from the subset of data segments, wherein the initial access order and the plurality of subsequent access orders are generated based on the set of data segment groups.

11. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions being executable by one or more processors to cause the one or more processors to perform operations comprising:

identifying a plurality of data segments stored on a data storage tape, each data segment having a location and a size on the data storage tape;

determining a subset of data segments, of the plurality of data segments, stored on the data storage tape, the subset of data segments selected for retrieval from the data storage tape;

determining an access order for the subset of data segments, the access order representing a minimized tape cycle time for retrieving the subset of data segments, wherein the tape cycle time represents a combination of total seek time to locate the subset of data segments, total read time to access the subset of data segments, and a rewind time to return the data storage tape to a start position after accessing a last data segment of the subset of data segments, the access order determined by:

determining a number of data segments within the subset of data segments by comparing the number of data segments to a threshold value representing a permutation calculation time for determining a final access order;

generating an initial access order for the subset of data segments, the initial access order having an initial tape cycle time;

generating a plurality of subsequent access orders for the subset of data segments, each subsequent access order having an associated tape cycle time; and

selecting the access order from the initial access order and the plurality subsequent access orders; and

retrieving the subset of data segments from the data storage tape based on the access order.

12. The computer program product of claim 11 , wherein the operations further comprise:

identifying a new data segment to be stored on the data storage tape;

in response to identifying the new data segment, identifying a new tape location at which the new data segment is to be written on the data storage tape and a new size of the new data segment; and

writing the new tape location and the new size, for the new data segment, in a tape map portion of the data storage tape.

13. The computer program product of claim 11 , wherein the operations further comprise

determining the data storage tape is coupled to a tape drive; and

in response to determining the data storage tape is coupled, accessing a tape map portion of the data storage tape, and wherein the plurality of data segments are identified in response to the data storage tape drive being coupled to a tape drive and accessing of the tape map portion of the data storage tape.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2019
From: SARAFIJANOVIC, SLAVISA; LANTZ, MARK ALFRED; VENKATESAN, VINODH; GRECO, PAUL MERRILL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 050336/0082 →
Continuity (1)
Related Publication 20210072900A1 · Mar 11, 2021