IP Library › Granted Patent US 11,442,659
Granted Patent B2
US 11,442,659 · App. 16/689,127 · Granted Sep 13, 2022

Reading sequentially stored files based on read ahead groups

Inventors: Tsuyoshi Miyamura (Yokohama, CN); Hiroshi Itagaki (Yokohama, JP); Shinsuke Mitsuma (Machida, JP); Tohru Hasegawa (Tokyo, JP); Noriko Yamamoto (Tokyo, JP); Sosuke Matsui (Tokyo, JP)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F3/0656G06F3/0611G06F3/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,442,659
App. No.
16/689,127
Granted
Sep 13, 2022
Kind
B2
Abstract

A plurality of files are stored on magnetic tape having at least one wrap for storing data sets. Each data set includes one or more records. A number of data sets that will remain in a buffer memory after performing a read ahead operation is determined. A number of records that are likely to remain in the buffer memory after performing a read ahead operation is determined. For each record likely to remain in the buffer memory after performing a read ahead operation, positions of the records on the magnetic tape are determined. Each file of the plurality of files are classified into one group of a plurality of groups based on a position of a record corresponding with each respective file and the number of records that are likely to remain in the buffer memory after performing a read ahead operation.

Claims (60)

1. A method for reading a plurality of files stored on a magnetic tape having at least one wrap for storing one or more data sets, each data set including one or more records, comprising:

determining a number of data sets that will remain in a buffer memory after performing a read ahead operation;

determining a number of records that are likely to remain in the buffer memory after performing a read ahead operation;

for each record likely to remain in the buffer memory after performing a read ahead operation, determining positions of the records on the magnetic tape; and

classifying each file of the plurality of files into one group of a plurality of groups based on a position of a record corresponding with each respective file and the number of records that are likely to remain in the buffer memory after performing a read ahead operation.

2. The method of claim 1 , wherein the determining a number of records that are likely to remain in the buffer memory after performing a read ahead operation further comprises:

calculating an average of the number of records per data set for a plurality of data sets;

selecting a minimum average number of records per data set, wherein the minimum average number is a minimum of the average of the number of records per data set for the plurality of data sets; and

multiplying the minimum average number of records per data set by the number of data sets determined to remain in the buffer memory after performing a read ahead operation by the determined number of data sets that will remain in a buffer memory after performing a read ahead operation.

3. The method of claim 1 , wherein the classifying each file of the plurality of files into one group of a plurality of groups based on a position of a record corresponding with each respective file and the number of records that are likely to remain in the buffer memory after performing a read ahead operation further comprises:

for each record likely to remain in the buffer memory after performing a read ahead operation, determining the positions of the records on the magnetic tape:

obtaining a quotient by dividing the determined record position of the file by the determined number of records that are likely to remain in the buffer memory after performing a read ahead operation; and

classifying the file into a group based on the quotient.

4. The method of claim 1 , storing a plurality of data sets in the buffer memory during a read ahead operation.

5. The method of claim 1 , storing a plurality of data sets in the buffer memory during a read ahead operation.

6. The method of claim 1 , wherein the method further comprises:

performing, subsequent to the classifying each file of the plurality of files into one group of a plurality of groups, a locate operation to reposition a head of a tape drive to a position where a first group to which a first file of the plurality of files is assigned and reading out records of a number of records of the first group; and

moving, subsequent to the performing of the locate operation, the head of the tape drive on the tape to read records of a number of records to be read ahead for storage in the buffer memory.

7. The method of claim 6 , further comprising:

obtaining a number of divisions per wrap from a tape directory.

8. The method of claim 1 , further comprising:

reading out one or more files included in the first group in an arbitrary order.

9. A tape library system capable of reading a plurality of files stored on a magnetic tape having at least one wrap for storing one or more data sets, each data set including one or more records, the tape library system comprising:

a tape drive;

a buffer memory associated with the tape drive; and

a processing device for executing program instructions stored in memory, wherein the processing device performs operations to perform a method comp S determining a number of data sets that will remain in a buffer memory after performing a read ahead operation;

determining a number of records that are likely to remain in the buffer memory after performing a read ahead operation;

for each record likely to remain in the buffer memory after performing a read ahead operation, determining positions of the records on the magnetic tape; and

classifying each file of the plurality of files into one group of a plurality of groups based on a position of a record corresponding with each respective file and the number of records that are likely to remain in the buffer memory after performing a read ahead operation.

10. The tape library system of claim 9 , wherein the determining a number of records that are likely to remain in the buffer memory after performing a read ahead operation further comprises:

calculating an average of the number of records per data set for a plurality of data sets;

selecting a minimum average number of records per data set, wherein the minimum average number is a minimum of the average of the number of records per data set for the plurality of data sets; and

multiplying the minimum average number of records per data set by the number of data sets determined to remain in the buffer memory after performing a read ahead operation by the determined number of data sets that will remain in a buffer memory after performing a read ahead operation.

11. The tape library system of claim 9 , wherein the classifying each file of the plurality of files into one group of a plurality of groups based on a position of a record corresponding with each respective file and the number of records that are likely to remain in the buffer memory after performing a read ahead operation further comprises:

for each record likely to remain in the buffer memory after performing a read ahead operation, determining the positions of the records on the magnetic tape:

obtaining a quotient by dividing the determined record position of the file by the determined number of records that are likely to remain in the buffer memory after performing a read ahead operation; and

classifying the file into a group based on the quotient.

12. The tape library system of claim 9 , storing a plurality of data sets in the buffer memory during a read ahead operation.

13. The tape library system of claim 9 , storing a plurality of data sets in the buffer memory during a read ahead operation.

14. A computer program product for reading a plurality of files stored on a magnetic tape having at least one wrap for storing one or more data sets, each data set including one or more records, the computer program product comprising one or more non-transitory computer readable storage media, and program instructions collectively stored on the one or more non-transitory computer readable storage media, the program instructions executable by processing logic in a tape library to cause a processor to perform a method, comprising:

determining a number of data sets that will remain in a buffer memory after performing a read ahead operation;

determining a number of records that are likely to remain in the buffer memory after performing a read ahead operation;

for each record likely to remain in the buffer memory after performing a read ahead operation,

determining positions of the records on the magnetic tape; and

classifying each file of the plurality of files into one group of a plurality of groups based on a position of a record corresponding with each respective file and the number of records that are likely to remain in the buffer memory after performing a read ahead operation.

15. The computer program product of claim 14 , wherein the determining a number of records that are likely to remain in the buffer memory after performing a read ahead operation further comprises:

calculating an average of the number of records per data set for a plurality of data sets;

selecting a minimum average number of records per data set, wherein the minimum average number is a minimum of the average of the number of records per data set for the plurality of data sets; and

multiplying the minimum average number of records per data set by the number of data sets determined to remain in the buffer memory after performing a read ahead operation by the determined number of data sets that will remain in a buffer memory after performing a read ahead operation.

16. The computer program product of claim 14 , wherein the classifying each file of the plurality of files into one group of a plurality of groups based on a position of a record corresponding with each respective file and the number of records that are likely to remain in the buffer memory after performing a read ahead operation further comprises:

for each record likely to remain in the buffer memory after performing a read ahead operation, determining the positions of the records on the magnetic tape:

obtaining a quotient by dividing the determined record position of the file by the determined number of records that are likely to remain in the buffer memory after performing a read ahead operation; and

classifying the file into a group based on the quotient.

17. The computer program product of claim 14 , storing a plurality of data sets in the buffer memory during a read ahead operation.

18. The computer program product of claim 14 , storing a plurality of data sets in the buffer memory during a read ahead operation.

19. The computer program product of claim 14 , wherein the method further comprises:

performing, subsequent to the classifying each file of the plurality of files into one group of a plurality of groups, a locate operation to reposition a head of a tape drive to a position where a first group to which a first file of the plurality of files is assigned and reading out records of a number of records of the first group; and

moving, subsequent to the performing of the locate operation, the head of the tape drive on the tape to read records of a number of records to be read ahead for storage in the buffer memory.

20. The computer program product of claim 19 , further comprising:

reading out one or more files included in the first group in an arbitrary order.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2019
From: MIYAMURA, TSUYOSHI; ITAGAKI, HIROSHI; MITSUMA, SHINSUKE; HASEGAWA, TOHRU; YAMAMOTO, NORIKO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051058/0958 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2019
From: MIYAMURA, TSUYOSHI; ITAGAKI, HIROSHI; MITSUMA, SHINSUKE; HASEGAWA, TOHRU; YAMAMOTO, NORIKO; MATSUI, SOSUKE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051059/0066 →
Continuity (1)
Related Publication 20210149590A1 · May 20, 2021