A tape drive adapted for providing a best access order for files or data sets on a tape loaded into the tape drive. The tape drive includes a processor and memory storing a file location table for the tape. The file location table includes identifiers for a plurality of files on the tape and location information for the plurality of files on the tape. The tape drive includes an order determination module, executed by the processor, processing an order request. The order request, from a host or user, includes a list of the files on the tape from which to generate, based on the location information in the file location table, a reordered list defining an order for accessing the files on the tape. The reordered list or best access order has (or produces via tape drive access) an access time for the files that is minimal or reduced.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A tape drive for providing best access order for data on a tape, comprising: a processor; memory storing a file location table for a tape loaded into the tape drive, wherein the file location table includes identifiers for a plurality of files on the tape and location information for the plurality of files on the tape; and an order determination module, executed by the processor, processing an order request comprising a list including a number of the files on the tape to generate, based on the location information in the file location table, a reordered list defining an order for accessing the number of the files on the tape, wherein an access time for the number of the files for the reordered list is less than for an order of files in the list of the order request.
A tape drive optimizes file access order. It contains a processor and memory. The memory stores a file location table, mapping file identifiers to their locations on the tape. An "order determination module" in the processor receives a list of files from a host and reorders them based on their locations. The goal is to create a new order where accessing the files takes less time than the original order.
2. The tape drive of claim 1 , wherein the order determination module further comprises a time determination routine processing each of the possible orders in the set of all possible orders to determine an access time for the number of the files and wherein the order determination module selects the reordered list as an order from the set of all possible orders with a shortest of the access times.
This tape drive (as described previously) includes a time determination routine within the "order determination module". This routine calculates the access time for every possible file order and picks the order with the shortest access time as the reordered list, which optimizes the tape head movement.
3. The tape drive of claim 2 , wherein the time determination routine determines the access times based on a distance between start of file locations for pairs of adjacent ones of the files in each of the possible orders and by adding time penalties when a next one of the files in one of the possible orders is in a different wrap or in a different servo band on the tape.
In this tape drive (as previously described), the access time calculation considers the distance between consecutive files in each possible order. It adds time penalties for switching between different "wraps" (sections) or "servo bands" on the tape. This refined calculation improves accuracy in determining the fastest access order.
4. The tape drive of claim 2 , wherein a time determination table is stored in the memory and the determination of the access times comprises looking up travel times between pairs of the end and start of file locations.
In this tape drive (as previously described), the access time is determined by looking up pre-calculated travel times between file locations stored in a "time determination table". This table is stored in memory and allows faster access time calculation than direct calculation, as described in the earlier claim.
5. The tape drive of claim 1 , wherein the order determination module includes a factorial routine that is performed when the number of the files is less than or equal to a threshold value and wherein the factorial routine generates a set of all possible orders for accessing the number of the files.
In this tape drive, when the number of files is small enough (less than or equal to a "threshold value"), the "order determination module" uses a "factorial routine" to generate every single possible file order. This ensures the absolute best order is found for small sets of files.
6. The tape drive of claim 5 , wherein the threshold value is 10.
In this tape drive (as previously described), the "threshold value" for using the factorial routine is set to 10 files. This means the tape drive will exhaustively calculate all possible access orders if the requested file set contains 10 or fewer files.
7. A tape drive for providing best access order for data on a tape, comprising: a processor; memory storing a file location table for a tape loaded into the tape drive, wherein the file location table includes identifiers for a plurality of files on the tape and location information for the plurality of files on the tape; and an order determination module, executed by the processor, processing an order request comprising a list including a number of the files on the tape to generate, based on the location information in the file location table, a reordered list defining an order for accessing the number of the files on the tape, wherein an access time for the number of the files for the reordered list is less than for an order of files in the list of the order request, wherein the order determination module includes a factorial routine that is performed when the number of the files is less than or equal to a threshold value, wherein the factorial routine generates a set of all possible orders for accessing the number of the files, wherein the order determination module includes a next closest in same direction routine outputting a first reordered list and a next closest in both directions routine outputting a second reordered list that are both performed when the number of the files is greater than the threshold value, and wherein the order determination module compares an access time associated with the first ordered list with an access time associated with the second reordered list to determine which is shorter to select as the reordered list.
The tape drive optimizes file access order. It contains a processor and memory. The memory stores a file location table, mapping file identifiers to their locations on the tape. An "order determination module" receives a file list and reorders them for faster access. If the number of files is low (<= threshold), it uses a factorial routine to find the absolute best order. Otherwise, it uses two heuristic routines: "next closest in same direction" and "next closest in both directions," compares their access times, and picks the shorter one.
8. The tape drive of claim 7 , wherein the next closest in same direction routine generates the first reordered list by choosing next ones of the files in the list of the order request by finding a next file that has a closest start of file location relative to a start of file of a current one of the files in the list, with the next file being in same head travel direction as the current one of the files.
In this tape drive (as previously described), the "next closest in same direction" routine generates an ordered list by picking the next file closest to the current file's starting location, but ONLY considering files in the same direction the tape head is already moving.
9. The tape drive of claim 7 , wherein the next closest in both directions routine generates the second reordered list by choosing next ones of the files in the list of the order request by finding a next file that has closest start of file location relative to an end of file of a current one of the files in the list with the next file being in either head travel direction on the tape.
In this tape drive (as previously described), the "next closest in both directions" routine generates an ordered list by picking the next file closest to the current file's ENDING location, considering files in EITHER direction the tape head could move.
10. A tape drive comprising: a processor executing code to provide an order determination module for receiving an order request from a host and for, in response, generating a best access order for a set of files on a tape loaded in the tape drive and identified in the order request, the order determination module comprising: a first ordering routine producing a first access order of the files by selecting a first file closest to a current head position in a current direction of travel of the tape drive as a current file, identifying a next closest one of the files with a start of file location nearest to a start of file location of the current file and in the current direction of travel, and repeating the identifying step with the next closest file as the current file; and a second ordering routine producing a second access order of the files by selecting a first file closest to the current head position without regard to the current direction of travel of the tape drive as a current file, identifying a next closest one of the file with a start of file location nearest to an end of file location of the current file, and repeating the identifying step with the next closest file as the current file, wherein the order determination module assigns the one of the first and second assess orders that has a shorter overall travel time as the best access order.
A tape drive optimizes file access order. It has a processor with an "order determination module" that receives a file list from a host. This module uses two routines: 1) "First ordering routine" finds the closest file in the current tape direction, 2) "Second ordering routine" finds the closest file regardless of direction. It then picks the order generated by the faster routine.
11. The tape drive of claim 10 , wherein the order determination module further comprises a third ordering routine producing the best access order by generating each possible order of accessing the files on the tape and by selecting a one of the possible orders with a shortest overall travel time.
This tape drive (as previously described) also uses a "third ordering routine". This routine generates ALL possible access orders and picks the one with the shortest overall travel time. This brute-force approach guarantees the optimal access order.
12. The tape drive of claim 11 , wherein the third ordering routine is performed when the files number less than 10.
In this tape drive (as previously described), the "third ordering routine," which calculates all possible orders, is only used when the number of files is less than 10. This limits the computation time required for the brute-force method.
13. The tape drive of claim 10 , further comprising memory storing a time determination table comprising a number of pairs of locations on the tape and a travel time assigned to each of the pairs.
This tape drive (as previously described) includes memory storing a "time determination table". This table contains pairs of locations on the tape and the corresponding travel time between them, allowing for quicker access time calculations.
14. A tape drive comprising: a processor executing code to provide an order determination module for receiving an order request from a host and for, in response, generating a best access order for a set of files on a tape loaded in the tape drive and identified in the order request, the order determination module comprising: a first ordering routine producing a first access order of the files by selecting a first file closest to a current head position in a current direction of travel of the tape drive as a current file, identifying a next closest one of the files with a start of file location nearest to a start of file location of the current file and in the current direction of travel, and repeating the identifying step with the next closest file as the current file; a second ordering routine producing a second access order of the files by selecting a first file closest to the current head position without regard to the current direction of travel of the tape drive as a current file, identifying a next closest one of the file with a start of file location nearest to an end of file location of the current file, and repeating the identifying step with the next closest file as the current file, wherein the order determination module assigns the one of the first and second assess orders that has a shorter overall travel time as the best access order; and memory storing a time determination table comprising a number of pairs of locations on the tape and a travel time assigned to each of the pairs, wherein the order determination module determines overall travel times for the first and second access orders by looking up each of the pairs in the time determination table to determine associated ones of the travel times and by summing the determined ones of the travels times.
A tape drive optimizes file access order. It has a processor with an "order determination module" that receives a file list from a host. This module uses two routines: 1) "First ordering routine" finds the closest file in the current tape direction, 2) "Second ordering routine" finds the closest file regardless of direction. It then picks the order generated by the faster routine. The "order determination module" determines overall travel times by looking up travel times between pairs of locations in a "time determination table" stored in memory and adding them up.
15. A method for generating a best access order for a tape loaded onto a tape drive, comprising: from a host or user, receiving an order request for the tape identifying a number of files on the tape; retrieving locations of the files on the tape from a file location table stored in memory; generating a first access order for the files by successively determining a next closest file in a current travel direction starting with one of the files most proximate to the current head position and continuing until the first access order includes all of the files; generating a second access order for the files by successively determining a next closest file in either travel direction starting with one of the files most proximate to the current head position and continuing until the second access order includes all of the files; determining an overall travel time for the first and second access orders; and returning the one of the first and second access orders with a shorter one of the overall travel times to the host or user.
A method for optimizing file access order on a tape involves receiving a list of files from a host, retrieving their locations, generating two access orders ("next closest in current direction" and "next closest in either direction"), calculating travel times for each order, and returning the faster one.
16. The method of claim 15 , wherein the determining of the overall travel time comprises retrieving from a table in memory predefined travel times between end of file locations and start of file locations in adjacent ones of the files in the first and second access orders.
The method (as previously described) of determining travel time calculates it by retrieving pre-defined travel times between the end of one file and the start of the next from a lookup table in memory.
17. The method of claim 16 , wherein the table includes the predefined travel times between at least about 50,000 pairs of locations on the tape.
The method (as previously described), contains the table that has predefined travel times for at least 50,000 pairs of locations on the tape.
18. The method of claim 15 , further comprising, when the files number less than or equal to a predefined threshold number, determining all possible access order for the files on the tape and returning one of the possible access orders with a shortest travel time to the host or user as the best access order.
The method (as previously described) can optionally calculate all possible access orders when the number of files is less than a threshold, ensuring the absolute shortest access time.
19. The method of claim 18 , wherein the predefined threshold number is 10.
The method (as previously described) uses a threshold value of 10 for calculating all possible access orders.
20. The method of claim 15 , wherein the next closest file is determined by choosing one of the files with a shortest distance from an end of file of a current one of the files to a start of file location of the one of the files.
The method (as previously described) determines the "next closest file" by finding the file with the shortest distance from the end of the current file to the beginning of the next file.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 27, 2016
July 4, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.