Copying a storage tape

Embodiments are disclosed for a method. The method includes generating a file list of an original source tape. The file list identifies files that are stored on the original source tape. The method further includes determining a number of possible parallel copies for a data storage system having multiple tape drives. The method additionally includes generating multiple tape file lists. Each of the tape file lists identify copies of the files stored on one of multiple source tapes. Further, the method includes generating multiple new copies of the files by copying, in parallel, a subset of the files, and a subset of the copies, based on the tape files lists, and using a first of the tape drives, and a second of the tape drives.

BACKGROUND

The present disclosure relates to storage tape, and more specifically, to copying a storage tape.

Data storage systems can perform different types of copy operations that involve tape storage media (e.g., tape). One example of a copy operation results from a migrate command in the data storage system. Executing a migrate command can involve copying a substantive portion (e.g., the body) of a file from disk storage to tape, leaving a stub of the file on disk. Another example of a copy operation is a data migrate command in the data storage system. Executing the data migrate command can involve making a copy of an entire tape onto one or more other tapes.

SUMMARY

Embodiments are disclosed for a method. The method includes generating a file list of an original source tape. The file list identifies files that are stored on the original source tape. The method further includes determining a number of possible parallel copies for a data storage system having multiple tape drives. The method additionally includes generating multiple tape file lists. Each of the tape file lists identify copies of the files stored on one of multiple source tapes. Further, the method includes generating multiple new copies of the files by copying, in parallel, a subset of the files, and a subset of the copies, based on the tape files lists, and using a first of the tape drives, and a second of the tape drives.

Further aspects of the present disclosure are directed toward systems and computer program products with functionality similar to the functionality discussed above regarding the computer-implemented method. The present summary is not intended to illustrate each aspect of, every implementation of, and/or every embodiment of the present disclosure.

DETAILED DESCRIPTION

As stated previously, data storage systems can perform different types of copy operations involving tape, including migrate and data migrate commands. Additionally, data storage systems can include a reclaim command, which can re-use an area of tape storing data that is marked for deletion. However, tape storage is sequential, meaning that data storage systems write to tapes sequentially. Writing tapes sequentially can mean that the data storage system is restricted to writing files to the area of tape following the last storage block written to that tape. In other words, the data storage system is restricted to appending data to the end of the sequential data recorded on the tape medium. Accordingly, even if there is a re-usable area in the middle of the tape, the data storage system may not be able to reuse the area at the time of command execution. Thus, in order to make more efficient use of the tape, e.g., re-use the tape from beginning to end, the data storage system may copy all the valid files on the tape to other tapes, and re-claim the newly available space on the tape. In this way, the data storage system can begin sequentially re-writing the original tape from beginning with new data, without wasting unclaimed space.

With respect to executing the data migrate command, the data storage system can move data stored on previous generations of tape storage media from their original tapes to newer generations of tape that may, for example, have relatively higher data capacity. In some scenarios, most of the capacity of the original tapes can store valid files. While storing less capacity than their newer generation counterparts, these previous generation tapes can still tie up tape drives for ten or more hours while the data storage system sequentially copies all the valid files on the tape. Additionally, some data storage systems can consume additional time to perform file system overhead and consistency checks. As such, it can be challenging for the data storage system to manage its numerous other responsibilities when one of its tape drives is occupied for such a long period to execute just one migration command.

Accordingly, some embodiments of the present disclosure can enable data storage systems to reduce the amount of time to copy of all files on a specific tape to one or more other tapes. More specifically, some embodiments of the present disclosure can identify the files (e.g., source files) currently stored on a source tape that is selected for copying to another tape. In addition to copying source files from the source tape, some embodiments of the present disclosure can copy “copies” of the source files stored in other storage locations in parallel with the source tape copy.

In this way, some embodiments of the present disclosure can improve the operation of tape drives, and the various computer processing and/or other systems that use tape drives, by reducing the amount of time that the data storage system takes to make a copy of a storage tape. Further, by making copies of tapes more readily available, some embodiments of the present disclosure can improve the ability of data storage systems to also make re-usable tapes more readily available. Accordingly, the data storage system can make more efficient use of tape storage by reducing the number of tapes having unclaimed and wasted space.

FIG. 1is a block diagram of an example system100for copying a storage tape, in accordance with some embodiments of the present disclosure. The system100includes a network102, tape libraries104, and data storage system108. The network102may be a local area network, wide area network, or collection of computer communication networks that facilitates communication between components of the system100, specifically, between the tape libraries104, tape drives106, and data storage system108. In some embodiments, the network102can be the Internet.

The tape libraries104include tape drives106and pools110of tapes112-1. The tapes112-1can be magnetic tape storage devices. The tape libraries104and pools110are organizational structures for the track and use of the tapes112-1. In some cases, the tape libraries104and pools110can be distinguished based on the respective computer systems that use the tapes112-1. Additionally, the tape libraries104and pools110can be distinguished based on geographic location where the tapes112-1are housed.

The tape drives106can be electronic devices that can read and write a mounted tape112-2. The mounted tape112-2can be one of the tapes112-1mounted on a tape drive106. The data storage system108can include systems and/or processes for mounting individual mounted tapes112-2to a tape drive106.

The data storage system108can manage data storage for one or more computer systems (not shown). Data storage can involve reading and writing data to various types of computer-readable media, such as, flash, disk, and tapes112-1, for example. In some embodiments of the present disclosure, the data storage system108can use a linear tape file system (LTFS) (not shown) to enable the effective use of the capacity of a disk (not shown). More specifically, the data storage system108can use the LTFS to maintain copies on tape media, of files currently stored on disk media, for example. In some cases, the data storage system108can maintain metadata about the file on disk, and body data (e.g., the actual data provided to a user) on a tape112-1. The metadata can be information that describes the file and/or the contents thereof. To record the body data onto tape112-1, the data storage system108can periodically migrate data from disk to tape. Accordingly, a migrate command of the data storage system108can identify a recording destination pool, e.g., pool110that can include a group of tapes112-1, any of which the data storage system108can store the body data. Thus, upon reception of the migrate command, the data storage system108can select a tape112-1from the pool110, mount the tape112-1on the tape drive106and record the body data of the files on the mounted tape112-2. Further, the data storage system108can perform the migrate command for the same file multiple times.

However, in some cases, the recording destination can include multiple pools110. Further, the data storage system108can select the tape(s)112-1based on performance and efficiency parameters. As such, as multiple migrations occur for the same source file and the same destination pool(s), the tape112-1selected to store the data may be different for each migration. Thus, the same file can be copied on multiple tapes112-1in different pools. However, the data storage system108may not keep multiple copies of the same file on multiple tapes in the same pool110. Thus, when the destination of multiple migrate commands includes multiple pools110, each pool110may have a copy of the file. However, the data storage system108may limit the number of copies in each pool110to one. Further, the data storage system108can keep track of the tapes112-1storing the file copies by using extended attributes on the file in disk. Additionally, or alternatively, the data storage system108can use a tape location database114on which tape112-1a specific file is recorded. The tape location database114can be a local and/or remote datastore capable of mapping files to the tapes112-1that store their corresponding copies. In some embodiments of the present disclosure, the tape location database114can include an index based on the file name and/or other file identifier.

Accordingly, the data storage system108can include a tape copy manager116that can reduce the amount of time the data storage system108takes to make a copy of a tape112-1. More specifically, making a copy of a tape112-1can involve copying all the valid files on the tape112-1onto one or more other tapes112-1. The valid files can include the files stored on the tape that are still accessible to users of the data storage system108. Thus, the tape copy manager116can identify all the valid files on a tape112-1selected for copying (source tape), by using the tape location database114. Further, in addition to copying files from the source tape, the tape copy manager116can copy, in parallel, files on the source tape that have copies on other tapes112-1. In this way, the tape copy manager116can make a copy of the source tape in a shorter period of time than possible in current systems that make tape copies.

FIGS. 2A and 2Bare block diagrams of an example tape library202respectively, before and after copying a storage tape, in accordance with some embodiments of the present disclosure. The large arrow betweenFIGS. 2A and 2Brepresents the transition from the respective before and after states. The small arrows betweenFIGS. 2A and 2Bare described in greater detail below.

An example data storage system, such as the data storage system108, described with respect toFIG. 1, can store four files in two pools204-A,204-B (referred to collectively as pools204) of a tape library202. The tape library202, and pools204, can be respectively similar to the tape libraries104, and pools110. The pools204-A,204-B can respectively store, tapes206-A1through tapes206-A4, and tapes206-B1through tapes206-B4. While tapes206-A2, A3, A4, in pool204-A and tape206-B3in pool204-B do not contain any files, tape206-A1in pool204-A contains FILE A, FILE B, FILE C, and FILE D, collectively referred to as FILES. The FILES A, B, C, D are represented as solid and dash-lined boxes, to indicate their validity. More specifically, a solid-lined FILE indicates the FILE is valid, and thus, users of the data storage system108can read and write data respectively from, and to, FILES A, B, and D. In contrast, a dash-lined box indicates the FILE is not valid, e.g., invalid. An invalid FILE can be a file that a user of the data storage system108deletes. For a deleted file, the data storage system108may not erase the stored data, but instead indicate the file is deleted in an index. The data storage system108may read this index and prevent users of the data storage system108from accessing the deleted file, which can make the deleted file functionally deleted. For example, the data storage system108may not provide users access to FILE C.

As stated previously, the data storage system108can write to tapes206sequentially, which means further storage on the tape206-A1is appended to the last used byte of storage. As such, the data storage system cannot re-use the storage space occupied by FILE C. Thus, this storage space is essentially a wasted resource. Further, having numerous tapes206with such wasted space can be relatively large in the aggregate, potentially incurring costs for additional tapes to compensate for the lost storage. Further, tapes206can be housed in storage facilities, meaning additional tapes can incur additional costs in rent, utilities, maintenance, and the like. As such, it may be useful to reduce the number of tapes206in a data storage system by re-claiming the unused space on tapes206by copying all valid files from tapes with wasted space to other tapes. Making these new copies available would thus make it possible to invalidate, e.g., delete, all the files from the copied tapes, and make the copied tapes available for full sequential storage again.

Accordingly, in order to make the tape206-A1available for full sequential storage again, and thus re-claim the wasted space of FILE C, a tape copy manager, such as, the tape copy manager116, can copy FILE A, FILE B, and FILE D to other tapes. Further, the tape copy manager116can invalidate FILES A, B, Don tape206-A1. In this way, the tape copy manager116can make tape206-A1available to store a new set of files, thus freeing up the storage space of FILE C on tape206-A1that would otherwise go unused.

As stated previously, some files of the data storage system108can be copied on multiple tapes. For example, tapes206-B1and206-B2can also include copies of FILE B and FILE D, respectively. Additionally, tape206-B4includes copies of FILE A and FILE C. Accordingly, to reduce the costs, time, and other resources involved in sequentially copying all the valid FILES from tape206-A1to make the tape206-A1available for re-use, the tape copy manager116can copy FILES A, B, and D, in parallel to other tapes206in the same storage pool204-A. More specifically, as indicated by the arrows fromFIG. 2AtoFIG. 2B, the tape copy manager116can copy, in parallel, FILE A from tape206-A1to tape206-A2; FILE B from tape206-B1to tape206-A3; and FILE D from tape206-B2to tape206-A4.

Thus, while the copied FILES are stored on separate tapes206, the FILES remain in the same pool204-A. Additionally, the tape copy manager116can confirm that the FILES are correctly copied. If the tape copy manager116confirms that the FILES in the copy destinations, e.g., tapes206-A2through A4, are copied correctly, the tape copy manager116can invalidate FILES A, B, Don tape206-A1. In this way, the tape copy manager116can copy all the valid files on tape206-A1to the other tapes, and therefore, the data stored on tape206-A1becomes redundant, and the data storage system108can reuse tape206-A1.

While this example uses the same destination pool as the source pool, in some embodiments of the present disclosure, the tape copy manager116can copy tapes206to a different destination pool from the source pool. In this way, the tape copy manager116can facilitate copying files from older generation storage tapes to newer generation storage tapes, for example.

Further, some data storage systems108can limit the number of pools storing copies of the same file. While for the sake of simplicity, this example uses a data storage system having two pools204, each pool having four tapes206, in some embodiments, the data storage system108can have three or more pools, each having any number of tapes206.

FIG. 3is a process flow chart of a method300for copying a tape, in accordance with some embodiments of the present disclosure. In some embodiments, the tape copy manager116can perform the method300in response to a request to reclaim an original source tape for re-use, e.g., by performing a data migrate command. The original source tape can be similar to the tapes206described with respect toFIG. 2.

At operation302, the tape copy manager116can generate an original file list of the original source tape. The original file list can include all valid files of the original source tape. Additionally, the tape copy manager116can include in the original file list, the tapes where copies of the files are stored. In some embodiments, the tape copy manager116uses a file index hosted on disk that records the tape locations, e.g., as a file attribute. Alternatively, the tape copy manager116can use a tape location database, such as the tape location database114.

At operation304, the tape copy manager116can determine the number of possible parallel copy processes (e.g., copies). The number of parallel copies possible may be limited by the availability of tape drives, such as the tape drives106. Accordingly, in some embodiments of the present disclosure, the tape copy manager116can determine the number of tape drives106available without mounted tapes. Because a copy involves two different tapes on two different tape drives106, the tape copy manager116can divide this number by two, and round down to determine the number of possible copies, referred to herein as N.

At operation306, the tape copy manager116can generate a source tape list. Thus, the tape copy manager116can use the tapes in the source tape list to copy the files in parallel. Generating the source tape list is described in greater detail with respect toFIG. 4.

At operation308, the tape copy manager116can copy the files on the original file list in N parallel processes. In some embodiments of the present disclosure, tape copy manager116can identify the number of files to copy on each of the available tape drives. Further, the tape copy manager116can make requests to the data storage system108to direct the tape drives106to perform the parallel copies.

At operation310, the tape copy manager116can confirm the copies. Confirming the copies can involve making a determination that the data storage system108copied each of the files successfully. If the files are not copied successfully, the method300may end.

At operation312, the tape copy manager116can invalidate the files on the original source tape. Invalidating the files can involve deleting (or marking for deletion) all the files. In this way, the tape copy manager116can make the original source tape available for reuse.

FIG. 4is a process flow chart of a method400for copying a tape, in accordance with some embodiments of the present disclosure. In some embodiments, the tape copy manager116can perform the method400in response to a request to reclaim or data migrate an original source tape, such as a tape206, described with respect toFIG. 2. The method400involves selecting the tapes206for copying the files identified in the original file list. The method400may start at operation402.

At operation404, the tape copy manager116can create the original file list for the original source tape (S). The original file list can include the valid files recorded on S. Further, for each of the files listed, the tape copy manager116can determine which tapes store a copy of the file. In some embodiments, the tape copy manager116makes this determination using metadata stored on a disk storage device. Additionally, tape copy manager116can generate an original file list (e.g., tape file list) for each of the tapes identified in the original file list for S (e.g., source tapes). In some embodiments, the tape copy manager116can sort the tape file lists in order of the positions at which each of the files are recorded on the tape. In some embodiments, the tape copy manager116can determine the positions at which the files are recorded on the tape, using an index.

At operation406, the tape copy manager116can create a list of files on source tapes from other pools. Because some of the source tapes may be in different pools from the original source tape, the tape copy manager116can identify files that can be copied from these different pools. In this way, the tape copy manager116can ensure that different files are copied from both the source tapes and the original source tape.

In some embodiments of the present disclosure, second and third tapes on which the same files are recorded may not be the same. This may result from the designation of the storage destination during migrations that use a pool, not a specific tape. Therefore, copies of the files recorded on the original source tape may be recorded on multiple tapes in the same pool. Thus, if the copies of the files on original source tape A are also on tape B, there are two tapes in the data storage system108available for performing a data migrate command of the original source tape, i.e., N=2.

At operation408, the tape copy manager116can determine the number of parallel processes, N. In order to copy the files directly from the source tape to the target tapes (e.g., copy destination tapes), the data storage system108can use two drives for one copy process. Thus, if a total of five tape drives are usable, the data storage system108can perform two (N=2) copy processes in parallel. Similarly, if eight drives are usable, the data storage system108can perform four (N=4) copy processes in parallel.

For tapes belonging to a pool that is different from the pool that the original source tape belongs to, the tape copy manager116can sequentially select N−1 tape lists in descending order of size (e.g., by the number of files listed). However, if the total number of tape lists is smaller than N−1, the tape copy manager116can increment the value of N by one to the total number of tapes112. For example, for ten tape drives106, N=5. However, there may only be two tapes112that have copies of the files from the original source tape. Thus, 2<4 (=N−1). As such, N=2+1=3. Thus, the tape copy manager116can perform the data migrate using 3 parallel processes involving the original source tape plus two tapes from a different pool110.

As stated previously, S can represent the original file list for the original source tape. Further, s can represent the size of S. Accordingly, each of the sizes of the tape file lists can be equal to or less than s. Herein, the tape file lists are referred to as, M(1), M(2) . . . M(N−1), and their respective sizes as, m(1), m(2), . . . , m(N−1).

At operation412, the tape copy manager116can determine if s−T>=s/N. The term, s−T, represents the total number of files in the original file list minus the total number of files in other pools. Further, s/N represents the number of parallel copies that the tape copy manager116performs to copy all the files on the original file list. Thus, if the files to be copied from the original source tape are greater than the number of parallel copies that the tape copy manager116performs for all the files, method400can flow to operation414.

At operation414, the tape copy manager116can delete, from S, the files included in lists M(1) to M(N−1), and update s to the new size of the original file list.

At operation416, the tape copy manager116can use the N lists to copy the files included in the respective lists, S and M(1), . . . , M(N−1), from the respective source tapes to copy destination tapes. Accordingly, by using the method400, the tape copy manager116can reduce the time involved in copying all the valid files recorded on the original source tape. This reduced time can result from the time involved in copying, in parallel, an approximately equally divided number of parallel processes. However, in the scenario where s−T>s/N, there may not be an approximately equally divided result. As such, the tape copy manager116can copy files from tapes112in different pools as much as possible, e.g., T. However, s is larger than s/N (i.e. equally divided size), meaning the result is better than the conventional method (i.e. copy all files from one tape) but not better than the approximately equally divided case.

At operation418, the tape copy manager116can update the tape locations of each of the copied files. In some embodiments, the tape copy manager116can update these locations as attributes of a file index. Alternatively, the tape copy manager116can update the tape locations in a tape location database114.

For example, where FILE A is recorded on tape206-A1, which is the original source tape, and a copy of file A is recorded on tape206-B1in a different pool, the tape copy manager116can record the updated tape locations as tape206-B1in an attribute of FILE A stored on disk.

Further, even if FILE A is copied from tape206-B1to tape206-A2using the methods300,400for tape206-A1, the tape copy manager116can delete the information about tape206-A1storing FILE A, and update the attribute representing the tape location, to tape206-A2. Accordingly, the file attributes can indicate copies of FILE A are recorded on tapes206-A2and206-B1. Using the N lists created in the preceding step, the files included in the respective lists are copied from the respective source tapes to the relevant copy destination tapes.

If, at operation412, the tape copy manager116can determine that s−T is not >=s/N, control can flow to operation420.

At operation420, the tape copy manager116can determine the number, P, of lists M larger than s/N. Thus, P can represent the number of tape file lists whose sizes are larger than s/N. Further, the sum of sizes of the P lists can be represented as p. Additionally, the sum of the sizes of the remaining lists (N−1−P) can be represented as q.

At operation422, the tape copy manager116can determine if P<N. If P<N, there is a list having a size that is smaller than s/N. Accordingly, the method400can flow to operation424.

At operation424, the tape copy manager116can delete, from S, the files listed on the tape file list having a size that is smaller than s/N. Further, based on taking s=s−q and N=P+1, the method400can flow to operation410.

However, if P is not <N, the method400can flow to operation426. If P not less than N, then P can equal N, meaning all the lists have a size that is larger than s/N.

Accordingly, at operation426, the tape copy manager116can update list M(x) to reduce the number of list size to s/N. For each of lists M(1) to M(N−1), the tape copy manager116can validate the top s/N (e.g., rounded down if not a whole number) files and delete the rest of the files. Further, the tape copy manager116can perform operation412again using the updated lists M(1) to M(N−1). In some embodiments of the present disclosure, the tape copy manager116can repeat operations410through426until the tape copy manager116determines that s−T>=s/N at operation412.

For example, an original source tape, A, can store files 1 to 1,000,000 each having a number as a file name; all the files are valid; and the files are recorded in numerical order on tape A. Thus, the size, s, of the original file list, S, is equal to 1,000,000.

Also, the files 1 to 1,000,000 can be stored on tapes belonging to a different pool than the original source tape, as shown in EXAMPLE TABLE 1:

In this example, the number of possible parallel copies, N, may be 4.

Accordingly, the tape copy manager116can select N−1 tape file lists belonging to the other pools in descending order of size. As such, M(1) is tape B, M(2) is tape E, and M(3) is tape C. Further, the sizes of the lists are m(1)=430,000, m(2)=269,999, and m(3)=200,000, respectively.

Based on T=m(1)+m(2)+m(3)=899,999, s−T=100,001 and s/N=250,000, s−T<s/N, the tape copy manager116can perform operations412through426as described above. Accordingly, the tape copy manager116can determine P (the number of original file lists M(x) having a size larger than s/N=250,000)=2. As such, the sum of the sizes of the P lists p=m(1)+m(2)=699,999. Further, the sum of the sizes of the remaining lists, q=m(3)=200,000

Since P<N, the tape copy manager116can delete from the original file list, S, the files in list M(3). The resultant tape file lists are shown in EXAMPLE TAPE FILE LISTS 1:

The size of list S is updated to s=s−m(3)=800,000 and the number of parallel processes is updated to N=P+1=3. Further, the tape copy manager116can repeat operation412.

Because T=m(1)+m(2)=699,999, s−T=100,001 and s/N=266,666, s−T<s/N. Accordingly, the method400flows to operation420, where the tape copy manager116can determine that lists m(1) and m(2) are both larger than s/N=266,666. As such, P=N. Therefore, the tape copy manager116can perform operation424, to delete the files from M(1) and M(2) in excess of s/N. The resultant tape file lists are shown in EXAMPLE TAPE FILE LISTS 2:

Upon repeating operation412, the tape copy manager116can determine that T=m(1)+m(2)=533,332; s−T=266,668; thus, s−T>s/N. Accordingly, the tape copy manager116can perform operation414, removing the files in the tape file lists M(1) through M(3) from S. The resultant tape file lists are shown in EXAMPLE TAPE FILE LISTS 3:

Accordingly, the tape copy manager116can perform operation416, copying tapes A, B, C, and E, in parallel, to a designated copy destination pool. In this way, the tape copy manager116can make a copy of all the files on the original source tape. Further, the tape copy manager116can perform operations418and420, thus making the original source tape available for re-use.

FIG. 5is a block diagram of an example tape copy manager500, in accordance with some embodiments of the present disclosure. In various embodiments, the tape copy manager500is similar to the tape copy manager116and can perform the methods described inFIGS. 3 and 4and/or the functionality discussed inFIGS. 1 and 2A-2B. In some embodiments, the tape copy manager500provides instructions for the aforementioned methods and/or functionalities to a client machine such that the client machine executes the method, or a portion of the method, based on the instructions provided by the tape copy manager500. In some embodiments, the tape copy manager500comprises software executing on hardware incorporated into a plurality of devices.

The tape copy manager500includes a memory525, storage530, an interconnect (e.g., BUS)520, one or more CPUs505(also referred to as processors505herein), an I/O device interface510, I/O devices512, and a network interface515.

Each CPU505retrieves and executes programming instructions stored in the memory525or the storage530. The interconnect520is used to move data, such as programming instructions, between the CPUs505, I/O device interface510, storage530, network interface515, and memory525. The interconnect520can be implemented using one or more busses. The CPUs505can be a single CPU, multiple CPUs, or a single CPU having multiple processing cores in various embodiments. In some embodiments, a CPU505can be a digital signal processor (DSP). In some embodiments, CPU505includes one or more 3D integrated circuits (3DICs) (e.g., 3D wafer-level packaging (3DWLP), 3D interposer based integration, 3D stacked ICs (3D-SICs), monolithic 3D ICs, 3D heterogeneous integration, 3D system in package (3DSiP), and/or package on package (PoP) CPU configurations). Memory525is generally included to be representative of a random access memory (e.g., static random access memory (SRAM), dynamic random access memory (DRAM), or Flash). The storage530is generally included to be representative of a non-volatile memory, such as a hard disk drive, solid state device (SSD), removable memory cards, optical storage, and/or flash memory devices. Additionally, the storage530can include storage area-network (SAN) devices, the cloud, or other devices connected to the tape copy manager500via the I/O device interface510or to a network550via the network interface515.

In some embodiments, the memory525stores instructions560. However, in various embodiments, the instructions560are stored partially in memory525and partially in storage530, or they are stored entirely in memory525or entirely in storage530, or they are accessed over a network550via the network interface515.

Instructions560can be processor-executable instructions for performing any portion of, or all, any of the methods described inFIGS. 3 and 4and/or the functionality discussed inFIGS. 1 and 2A-2B.

In various embodiments, the I/O devices512include an interface capable of presenting information and receiving input. For example, I/O devices512can present information to a listener interacting with tape copy manager500and receive input from the listener.

The tape copy manager500is connected to the network550via the network interface515. Network550can comprise a physical, wireless, cellular, or different network.

It is noted thatFIG. 5is intended to depict the representative major components of an exemplary tape copy manager500. In some embodiments, however, individual components can have greater or lesser complexity than as represented inFIG. 5, components other than or in addition to those shown inFIG. 5can be present, and the number, type, and configuration of such components can vary.