Recovery of metadata from magnetic tape

By writing data blocks and metadata blocks in a specific order on magnetic storage tapes, the problems of slow loading speed and low writing performance in the prior art are solved, and the effect of fast recovery of metadata and extending the service life of the tape is achieved.

CN120530458APending Publication Date: 2025-08-22HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380091578.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-01-17
Publication Date
2025-08-22

AI Technical Summary

Technical Problem

The prior art has inefficiency and performance bottlenecks when recovering metadata from magnetic storage tapes, especially the slow loading of deduplication metadata, and existing methods can lead to shorter tape lifetime and degraded write performance.

Method used

Write data blocks and their associated metadata blocks to the magnetic storage tape in a specific order. The length of each data block is the length of the two reels of the magnetic storage tape. The metadata block is immediately written after the data block, ensuring that space is reserved for storage of the final metadata block when the tape is ejected, reducing seeking operations.

Benefits of technology

It realizes rapid loading of metadata, reduces tape read time, improves write performance, and extends the tape life.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120530458A_ABST
    Figure CN120530458A_ABST
Patent Text Reader

Abstract

Methods and systems for recovering metadata are described. The method and system includes a tape, a plurality of data objects to be written to the tape, and a processor to divide a data object to be stored into data blocks, determine metadata of data within each block such that each block has an associated metadata block, write a first block to the tape, and write a second block to the tape such that each block has an associated metadata block. Writing a metadata block associated with the first block to the tape immediately after the first block, and writing each subsequent block to the tape and writing an associated metadata block of the subsequent block to the tape immediately after the block of the associated metadata block, after a final block of data is stored on the tape, when the tape pops up, metadata associated with the final block is written to the tape. Related methods and systems are also described.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Technical Field and Background

[0002] In some embodiments of the present invention, the present invention relates to a method and system for recovering metadata from a magnetic storage tape backup system, and more particularly, but not limited to, a method and system for organizing metadata on a magnetic storage tape for easy recovery.

[0003] The demand for data storage is increasing, and hard disk drives, solid-state drives, and other storage devices are no longer sufficient to accommodate the required storage space. Consequently, the focus of secondary data storage and archiving is shifting from deduplication-capable disks to magnetic tape storage technologies, which offer lower prices and longer shelf life. Because magnetic tape seek times are relatively long, at tens of seconds, compared to disk technology, most applications use tapes without any optimization other than built-in compression.

[0004] Magnetic storage tapes can be moved to a different library or system, and may then need to be used at the new location.

[0005] One widely used approach is to avoid deduplication on magnetic storage tapes. Recent advances in deduplication technology, such as PCT applications PCT / EP2022 / 081145, "Hierarchical Directory for Storage Tapes," and PCT / EP2023 / 050695, "Location-Based Caching on Tapes," by Huawei Cloud Computing Technologies Co., Ltd., provide efficient methods and systems for deduplicating data stored on magnetic storage tapes.

[0006] Therefore, metadata is now more frequently stored on magnetic storage tapes, such as, but not limited to, deduplication metadata. However, this metadata is typically stored along with its associated data on fast storage devices (e.g., hard disk drives (HDDs), solid state drives (SSDs), etc.). Therefore, it is desirable to provide a method for rapidly loading this metadata from magnetic storage tapes into various fast storage systems. It should be understood that the metadata discussed herein is metadata that can be reconstructed from the data itself. Such data typically may include, for example, deduplication metadata or portions of a directory associated with the data.

[0007] A second approach that has been used is to maintain a closed unit ("silo") containing all deduplicated data. Each time the data in the silo is needed, even if only a portion of the deduplicated data is needed (for example), the entire silo is read. Summary of the Invention

[0008] According to an aspect of some embodiments of the present invention, a magnetic storage tape, a plurality of data objects to be written to the magnetic storage tape, and a processor are provided, the processor being configured to: divide the data objects to be stored on the magnetic storage tape into data blocks, wherein the length of each data block is the length of two wraps of the magnetic storage tape, determine metadata for the data within each of the data blocks such that each data block has an associated metadata block, wherein the metadata can be reconstructed from the data blocks, write a first data block to the magnetic storage tape, write a metadata block associated with the first data block to the magnetic storage tape, wherein the metadata block associated with the first data block is written immediately after the first data block, and write each subsequent data block of the data blocks to the magnetic storage tape, writing the associated metadata block of the subsequent data block to the magnetic storage tape immediately after the data block of the associated metadata block, wherein, after a final data block is stored on the magnetic storage tape, when the magnetic storage tape is ejected, the metadata associated with the final data block is written to the magnetic storage tape.

[0009] According to an aspect of some embodiments of the present invention, a method is provided, the method comprising: dividing data to be stored on a magnetic storage tape into data blocks, wherein the length of each data block is the length of two reels of the magnetic storage tape, determining metadata for the data within each of the data blocks so that each data block has an associated metadata block, wherein the metadata can be reconstructed from the data blocks, writing a first data block to the magnetic storage tape, writing a metadata block associated with the first data block to the magnetic storage tape, wherein the metadata block associated with the first data block is written immediately after the first data block, and writing each subsequent data block in the data blocks to the magnetic storage tape, and writing the associated metadata block of the subsequent data block to the magnetic storage tape immediately after the data block of the associated metadata block, wherein, after a final data block is stored on the magnetic storage tape, when the magnetic storage tape is ejected, the metadata associated with the final data block is written to the magnetic storage tape.

[0010] According to an aspect of some embodiments of the present invention, there is provided a computer program for transferring data and metadata to a magnetic tape, the computer program comprising program instructions that, when executed by at least one processor, cause the at least one processor to perform the following operations: divide a data object to be stored on the magnetic storage tape into data blocks, wherein the length of each data block is the length of two reels of the magnetic storage tape, determine metadata for the data within each of the data blocks such that each data block has an associated metadata block, wherein the metadata can be reconstructed from the data blocks, write a first data block to the magnetic storage tape, write a metadata block associated with the first data block to the magnetic storage tape, wherein the metadata block associated with the first data block is written immediately after the first data block, and write each subsequent data block of the data blocks to the magnetic storage tape, writing the associated metadata block of the subsequent data block to the magnetic storage tape immediately after the data block of the associated metadata block, wherein, after a final data block is stored on the magnetic storage tape, the metadata associated with the final data block is written to the magnetic storage tape when the magnetic storage tape is ejected.

[0011] According to some embodiments of the present invention, it also includes: the processor is used to reserve space of the maximum possible size of the metadata block at the end of the magnetic storage tape, wherein the final metadata block is written to the magnetic storage tape after the last data block is written to the magnetic storage tape and before the magnetic storage tape is ejected from the tape drive.

[0012] According to some embodiments of the present invention, the space reserved on the magnetic storage tape depends on the type of metadata to be stored.

[0013] Unless otherwise defined, all technical and / or scientific terms used herein have the same meaning as those known to those of ordinary skill in the art. Although methods and materials similar or equivalent to those described herein can be used in the practice or testing of embodiments of the present invention, exemplary methods and / or materials are described below. In the event of a conflict, this patent specification (including definitions) shall prevail. In addition, these materials, methods, and examples are merely illustrative and are not necessarily restrictive.

[0014] Implementations of the methods and / or systems provided by embodiments of the present invention may include: executing or completing selected tasks manually, automatically, or a combination thereof. Furthermore, actual instruments and devices according to embodiments of the methods and / or systems of the present invention may complete multiple selected tasks using hardware, software, firmware, or a combination thereof through an operating system.

[0015] For example, the hardware for performing the selected tasks according to the embodiments of the present invention can be implemented as a chip or circuit. For software, the selected tasks according to the embodiments of the present invention can be implemented as multiple software instructions executed by a computer through any suitable operating system. In an exemplary embodiment of the present invention, one or more tasks provided by the exemplary embodiments of the method and / or system described herein are performed by a data processor such as a computing platform for executing multiple instructions. Optionally, the data processor includes a volatile memory for storing instructions and / or data and / or a non-volatile memory for storing instructions and / or data, such as a hard disk and / or removable media. Optionally, a network connection is also provided. Optionally, a display and / or a user input device such as a keyboard or mouse is also provided. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Some embodiments of the present invention have been described herein by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings, it should be emphasized that the details shown are for illustration only and for purposes of illustrative discussion of the embodiments of the present invention. In this regard, it will be apparent to those skilled in the art from the accompanying drawings how to practice the embodiments of the present invention.

[0017] In the attached figure:

[0018] Figure 1 A system for placing metadata on a magnetic storage tape for efficient recovery from the magnetic storage tape is shown;

[0019] Figure 2 is a block diagram of an exemplary architecture of a computer 200 used in a system Figure 1 placing metadata on magnetic storage tapes; and

[0020] Figure 3 A flow chart of a first method for placing metadata on a magnetic storage tape for efficient recovery from the magnetic storage tape is shown. DETAILED DESCRIPTION

[0021] In some embodiments of the present invention, the present invention relates to a method and system for restoring metadata from a backup system, and more particularly, but not exclusively, to a method and system for organizing metadata on magnetic storage tapes for easy restoration.

[0022] Before explaining at least one embodiment of the present invention in detail, it should be understood that the present invention is not necessarily limited to the details of construction and arrangement of components and / or methods described in the following description and / or drawings and / or examples. The present invention is capable of other embodiments or can be practiced or carried out in various ways.

[0023] The metadata described herein refers to metadata that can be reconstructed from the data. Therefore, when recovering metadata-associated data from magnetic storage tapes, the simplest method for recovering metadata is to reconstruct the metadata from the recovered data. However, this requires reading the entire magnetic storage tape. For example, for deduplication metadata, a hash function is performed on the data segments to generate the associated metadata. This is very time-consuming. To avoid this, it is best to place the metadata on the magnetic storage tape itself, making it faster to load the metadata than to reconstruct it.

[0024] Therefore, data is divided into data blocks for storage on the magnetic storage tape, where each data block is the size of two reels of the magnetic storage tape, as will be explained below. Then, a metadata block associated with the data block is stored on the magnetic storage tape after the metadata block's associated data block. Taking into account various limitations of data stored on the magnetic storage tape (e.g., long read times from the tape), by ensuring that the data block is the size of two reels of the magnetic storage tape, a single operation, the size of the magnetic storage tape reel, is required to read the metadata block associated with the data block, and no further operations are required to load the metadata from the magnetic storage tape. This allows for faster loading of metadata compared to the time required to reconstruct the metadata.

[0025] Magnetic storage tape is divided into multiple bands. The tape drive head covers the width of a single band. Magnetic storage tape is laid out with four data bands sandwiched between five narrow servo bands. The tape head has 8, 16, or 32 data read / write head elements and two servo read elements. A collection of 8, 16, or 32 tracks is read or written in a single, unidirectional, end-to-end pass called a "reel." The tape head moves laterally to access different reels within each tape, as well as to access other tapes.

[0026] Data is recorded on magnetic storage tape in a linear, serpentine fashion. The first tape is written from the beginning to the end, then the second tape is written from the end to the beginning, then the third tape is written from the beginning to the end, and so on. The direction of recording and reading is the direction of the relevant tape. So, tapes 0, 2, 4, ... are from the beginning to the end of the magnetic storage tape, while tapes 1, 3, 5, ... are from the end to the beginning of the magnetic storage tape. A tape consists of an equal number of tapes that run from the beginning to the end and tapes that run from the end to the beginning. For example, in an LTO 9 tape (a tape constructed according to the Linear Tape Open protocol, generation 9), each tape has 32 tracks, each tape has 52 tapes (26 tapes from the beginning to the end and 26 tapes from the end to the beginning), and has 4 tapes. LTO 9 magnetic storage tape. In addition, constantly stopping and restarting the tape movement is inefficient and reduces the durability of the tape.

[0027] In the Time-based Access Order System (TAOS) and Recommended Access Order (RAO) systems, the user provides a list of locations on the magnetic storage tape to be read. The system then calculates the optimal order in which to read the magnetic storage tapes and returns that order to the user. Ideally, the user reads the desired data from the magnetic storage tapes in that order. This optimal order is based on a "nearest neighbor algorithm," which takes into account that moving the tape drive's head between reels is sometimes faster than moving it along the length of the tape.

[0028] Referring to the accompanying drawings, Figure 1 A system for placing metadata on magnetic storage tapes to facilitate efficient recovery from magnetic storage tapes is described. As described above, metadata associated with stored data is stored along with the stored data in fast storage. Fast storage may include hard disk drives (HDDs), solid-state drives (SSDs), and the like. This metadata can be used for various operations, such as deduplication and file search. Figure 1 Accordingly, a fast storage unit 110 is shown. The fast storage unit 110 may include a data buffer 120 in which data blocks 130 (shown as data block 1 ... data block n) are stored before being written to the magnetic storage tape 145. The data blocks are of uniform size, with each data block being the size of two reels of magnetic storage tape, as discussed below. Each data block in the buffer may include a single file, data object, etc., multiple files, data objects, etc., or only a portion of a file, data object, etc. The fast storage unit 110 may also include a metadata buffer 140 that stores metadata associated with each data block. In this example, data block 1 is associated with metadata block 1 ... data block n is associated with metadata block n.

[0029] During normal system operation, metadata such as metadata block 1, metadata block n, etc. are stored on faster storage and / or in memory. However, when moving data from a magnetic storage tape storing the data offline to another system, or in the case of recovery after a fast storage failure, it is preferable to also store the metadata on the magnetic storage tape.

[0030] In some systems, metadata is stored in a dedicated partition on the magnetic storage tape. Using a separate partition allows new metadata to be written regardless of the location of the data being written. Furthermore, there's no need to skip across different data blocks to read the next metadata block. In magnetic storage tape systems, this skipping operation is expensive (i.e., time-consuming) because it requires a seek operation on the tape.

[0031] Using separate partitions is very wasteful in terms of space usage. The minimum size of each partition of a magnetic storage tape is two tape reels (i.e., one forward tape reel followed by a reverse tape reel). If each tape reel is tens of gigabytes in size, the total size reserved for the metadata partition will inevitably be many gigabytes larger than the actual size required for the metadata.

[0032] Alternatively, metadata can be appended to the end of all written data on magnetic storage tapes. This approach allows metadata to be read with a single seek operation. However, each write operation requires a seek to the last written block, overwriting the metadata with the new data to be written, and then writing the entire metadata again after the new data. As a result, the metadata is again placed at the end of the written data. This technique significantly reduces write performance.

[0033] like Figure 1As shown, data blocks 1, 3, and so on are buffered before being written to magnetic storage tape 145. Each data block (except the last) is two tape lengths long. Each data block is then followed by metadata (MD) associated with that data block on the magnetic storage tape. Processor 155 writes data block 130 to magnetic storage tape 145. Taking data block 1130 as an example, data block 1130 is written as data block 1130-1a on tape 0 and as data block 1130-1b on tape 1 on magnetic storage tape 145. Following data block 1, processor 155 retrieves metadata block 1150-1, the metadata block associated with data block 1130, and writes it to magnetic storage tape 145 after data block 1, in this case, at the beginning of tape 2. Then, the next data block 130, in this case, data block 2 (DB2) (not shown in data buffer 120 for ease of description), is written as data block 2 130-2a to the continuation of reel 2 on magnetic storage tape 145. The continuation of data block 2 is then written as data block 2 130-2b to reel 3. The end of data block 2 is then written as data block 2 (DB2) 130-2c to the beginning of reel 4. Following data block 2 130-2c, processor 155 retrieves metadata block 2 (not shown in data buffer 120), the metadata block associated with data block 2, and writes it to magnetic storage tape 145 following data block 130-2c, in this case, to reel 4. The process continues with data block 3 (DB3) being written as 130-3a on the remainder of reel 4, as 130-3b on reel 5, and as DB-3c at the beginning of reel 6. Metadata block 3 associated with data block 3 is then written by processor 155 from metadata buffer 140 to after the end of data block 3 on reel 6 of magnetic storage tape 145.

[0034] When a seek operation is to be performed for a given metadata block, a limited number of seek operations need to be performed, typically as little as one seek operation. Specifically, in order to locate the metadata block associated with a given data block, it is necessary to move to a different reel while minimizing tape roll (determined by the cumulative offset in each subsequent reel containing metadata 130).

[0035] After the final data block 130-3 is stored on the magnetic storage tape 145, when the magnetic storage tape 145 is ejected from the tape drive, metadata 130 associated with the final data block (e.g., DB3 130-3) is written to the magnetic storage tape 145. It should be understood that in the above example, more than three data blocks can be written to the magnetic storage tape 145, and the use of three data blocks is merely for ease of description and does not represent a limitation.

[0036] The processor is configured to reserve space for the maximum possible size of metadata block 130 at the end of magnetic storage tape 140. Thus, when magnetic storage tape 140 is to be ejected from the tape drive after the last data block 160 is written to magnetic storage tape 140, there is room to write metadata block 130 associated with the final data block 160 to magnetic storage tape 140 before the magnetic storage tape is ejected. The amount of space reserved on the magnetic storage tape depends on the type of metadata to be stored with data block 160.

[0037] like Figure 1 As shown in the example provided in FIG, all metadata blocks 130 are written to the tape in the same orientation. Figure 1 Although not shown, eventually the total size of the metadata block 130 will reach the size of one tape, and then the direction of the tape for writing the metadata block 130 will be reversed. Therefore, when reading the entire metadata, there is no need to seek due to the change in reading direction.

[0038] To restate the above discussion in a more algebraic way, if metadata block 130, denoted as N, is recorded on tape K at offset X, and the size of metadata block 130 is M, then metadata block N+1 130 will be recorded on tape K+2 starting at offset X+M, provided that offset X+M < tape size. If offset X+M > tape size, then it will be recorded in tape K+3 at offset 0, where tape K+3 is in the opposite direction. Since the tape size in bytes is known or can be easily calculated (discussed briefly below), writing twice the tape size + the size of the last metadata block provides the location of the desired data block for the metadata block.

[0039] The capacity of a magnetic storage tape compliant with LTO-8 is 12TB. The magnetic storage tape has four tapes, each with a capacity of 3TB. Each tape has 52 reels, so the capacity of each reel is 3TB / 52 = 57.7GB. Therefore, each data buffer 120 will be written to 115.4GB (i.e., 57.7×2). The capacity of a magnetic storage tape compliant with LTO-9 is 18TB, so the capacity of each tape is 4.5TB. Each tape has 70 reels, so the capacity of each reel is 4.5TB / 70 = 64.3GB. Therefore, each data buffer 120 will be written to 128.6GB (i.e., 64.3×2). When determining the offset value, a similar calculation can be used to determine the size of each data block.

[0040] Thus, when the metadata 130 needs to be read, for example, when the magnetic storage tape 140 is moved to a new system, the following operations may be performed:

[0041] 1. Perform a seek to volume 2 offset 0.

[0042] 2. Read the first metadata block from Reel 2 offset 0 to an offset equal to the size of the metadata block.

[0043] 3. Seek to a reel 4 offset equal to the size of the first metadata block (denoted as X in this example) Note that this requires moving between blocks, not scrolling the tape.

[0044] 4. From reel 4 offset X to 2X, read metadata block 2.

[0045] 5. Continue in this manner until all metadata 130 has been read.

[0046] At the end of the final tape, space is reserved for a final metadata block 130. This final metadata block 130 will represent a data block that is less than 2 tapes in size. After the final data block 120 is written to the magnetic storage tape 140, the final metadata block 130 is recorded to the tape.

[0047] The size of the metadata block 130 is bounded. Specifically, the actual bound depends on various considerations and the content of the metadata block 130. For example, the size of the deduplication metadata block 130 may depend on the average segment size and other considerations (e.g., as mentioned above, for LTO 8, two tapes are approximately 120 GB in size). For an average segment size of 16 KB, the deduplication metadata block would contain a subset of the complete index of 7,864,320 entries. Each entry might contain, for example, a 20-byte strong hash, an 8-byte offset into the data block, and a 4-byte segment size, for a total of 32 bytes (i.e., 20 + 8 + 4 bytes). In this case, the deduplication metadata block size is a maximum of 251,658,240 bytes, or 240 MB. Therefore, approximately 240 MB or slightly more can be reserved at the end of the final tape. In some deduplication scenarios, it may also be necessary to store an index to help locate deduplicated data on the magnetic storage tape, so an appropriate amount of space must also be reserved. As mentioned above, it should be understood that the above calculations are by way of example only and are not intended to limit the scope of the present description or claims to deduplicated data and metadata.

[0048] When reading metadata on restore, a seek to reach the final metadata block 130 is expensive, but since this is only for the final metadata block 130, the overhead is much less than if each metadata block 130 required a separate seek.

[0049] It should be understood that if the source system crashes, there may not be an opportunity to record the final metadata block 130 for the last data block 160 written before the crash. In this case, the metadata of the last data block 160 needs to be reconstructed from the data blocks 160. However, reconstructing the metadata of a single data block 160 still takes less time than reconstructing the metadata blocks for the entire magnetic storage tape.

[0050] Reference below Figure 2 , Figure 2 is a block diagram of an exemplary architecture of a computer 200 for caching data stored in a system. Figure 1 A and Figure 1 Computer 200 may be suitable for implementing any of the above-described systems, methods, or processes. Computer 200 may include one or more processors, such as processor 201. Processor 201 may be the same as or similar to processor 150 described above. Processor 201 provides an execution platform for executing machine-readable instructions, such as software. One of processors 201 may be a dedicated processor for performing the caching operations on the tape system described above.

[0051] Commands and data from processor 201 can be sent via communication bus 202. Computer 200 may include primary memory 203, such as random access memory (RAM) 204, and secondary memory 205, where machine-readable instructions may reside during runtime. For example, secondary memory 205 may include a hard disk drive 206 and / or a solid-state drive 207, and / or a removable storage drive 208 (typically not regularly accessible but accessible by service personnel or installers, etc.), such as a floppy disk drive, a tape drive 210, an optical drive, a flash drive, or the like, or non-volatile memory that can store copies of machine-readable instructions or software. Secondary memory 205 may also include read-only memory (ROM), erasable programmable ROM (EPROM), or electrically erasable programmable ROM (EEPROM). In addition to software, data related to caches of data stored on magnetic storage tapes or other similar data may be stored in primary memory 203 or secondary memory 205. The removable storage drive 208 can read from or write to the removable storage unit 209 .

[0052] A user can interact with the computer 200 through a user interface to provide user input data or other commands. The user interface includes an input device 211 such as a touch screen, keyboard, mouse, stylus, and an interface for input via a wireless interface. A display adapter 215 interacts with the communication bus 202 and the display 217, receives display data from the processor 201, and converts the display data into display commands for the display 217.

[0053] The network interface 219 is used to communicate with other systems and devices via a network (e.g., a wireless network). The network interface 219 typically includes a wireless interface for communicating with wireless devices in the wireless community. A wired network interface (e.g., an Ethernet interface) may also be present. The computer 200 may also include other interfaces, including but not limited to Bluetooth or a High-Definition Multimedia Interface (HDMI).

[0054] Reference below Figure 3 , Figure 31 is a flow chart of a first method for placing metadata on a magnetic storage tape to facilitate efficient recovery from the magnetic storage tape. In step 310, data to be stored on the magnetic storage tape 145 is divided into data blocks, such as data blocks 130, where each data block is two reels of the magnetic storage tape long. In step 320, metadata 150 for the data within each of the data blocks 130 is determined, such that each data block 130 has an associated metadata block 150, where the metadata can be reconstructed from the data block. In step 330, a first data block 130 is written to the magnetic storage tape 145. In step 340, a metadata block 150-1 associated with the first data block 130-1 is written to the magnetic storage tape 145, where the metadata block 150-1 associated with the first data block 130-1 is written immediately after the first data block 130-1. In step 350, each subsequent data block 130-2, 130-3 in the data block 130 is written to the magnetic storage tape 145, and the associated metadata block 150-2, 150-3 of the subsequent data block 130-2, 130-3 is written to the magnetic storage tape 145 immediately after the data block 130-2, 130-3 of the associated metadata block 150-2, 150-3, wherein the metadata 150 associated with the final data block 130 is written to the magnetic storage tape 145 when the magnetic storage tape 145 is ejected from the tape drive 210 after the final data block 130 is stored on the magnetic storage tape 145.

[0055] Figure 3 The method shown in the flowchart of can be implemented in a computer program. Such a computer program can be provided on a non-transitory storage medium.

[0056] It is anticipated that many related magnetic storage tape deduplication and metadata storage technologies will be developed during the life of the patents derived from this application, and the scope of the term "magnetic storage tape deduplication and metadata storage technology" is intended a priori to include all such new technologies.

[0057] The terms "including," "having," and variations thereof mean "including but not limited to."

[0058] The term "consisting of" means "including and limited to."

[0059] The term "consisting essentially of" means that a composition, method, or structure may include additional ingredients, steps, and / or parts, but only if the additional ingredients, steps, and / or parts do not materially change the basic and novel characteristics of the claimed composition, method, or structure.

[0060] As used herein, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise. For example, the term "a compound" or "at least one compound" may include a plurality of compounds, including mixtures thereof.

[0061] It should be understood that, for the sake of clarity, certain features of the present invention described in the context of separate embodiments may also be provided in combination in a single embodiment. Conversely, for the sake of brevity, various features of the present invention described in the context of a single embodiment may also be provided individually or in any suitable subcombination or as any suitable other embodiment of the present invention. Certain features described in the context of individual embodiments are not considered essential features of those embodiments, unless the embodiment is inoperable without those elements.

[0062] Although the present invention has been described in conjunction with its specific embodiments, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. It is therefore intended to encompass all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims.

[0063] It is the applicant's intention that all publications, patents, and patent applications mentioned in this specification are incorporated herein by reference in their entirety, as if each individual publication, patent, or patent application were specifically and individually indicated when mentioned to be incorporated herein by reference. Furthermore, citation or identification of any reference in this application is not to be construed as allowing such reference to take precedence over the present invention in the prior art. To the extent that section headings are used, they should not be construed as necessarily limiting. In addition, the entire contents of any one or more priority documents of this application are incorporated herein by reference.

Claims

1. A system, characterized in that: include: magnetic storage tapes; a plurality of data objects to be written to the magnetic storage tape; Processor for: dividing a data object to be stored on the magnetic storage tape into data blocks, wherein the length of each data block is the length of two reels of the magnetic storage tape; determining metadata for data within each of the data blocks such that each data block has an associated metadata block, wherein the metadata can be reconstructed from the data blocks; writing a first data block to the magnetic storage tape; writing a metadata block associated with the first data block to the magnetic storage tape, wherein the metadata block associated with the first data block is written immediately after the first data block; and writing each subsequent one of the data blocks to the magnetic storage tape and writing the subsequent data block's associated metadata block to the magnetic storage tape immediately following the data block of the associated metadata block, After the final data block is stored on the magnetic storage tape, when the magnetic storage tape is ejected, metadata associated with the final data block is written to the magnetic storage tape.

2. The system according to claim 1, wherein: Also includes: The processor is configured to reserve space of a maximum possible size of a final metadata block at the end of the magnetic storage tape, wherein the metadata block is written to the magnetic storage tape after the last data block is written to the magnetic storage tape and before the magnetic storage tape is ejected from the tape drive.

3. The system according to claim 2, characterized in that The space reserved on the magnetic storage tape depends on the type of metadata to be stored.

4. A method, characterized in that include: dividing data to be stored on a magnetic storage tape into data blocks, wherein the length of each data block is the length of two reels of the magnetic storage tape; determining metadata for data within each of the data blocks such that each data block has an associated metadata block, wherein the metadata can be reconstructed from the data blocks; writing a first data block to the magnetic storage tape; writing a metadata block associated with the first data block to the magnetic storage tape, wherein the metadata block associated with the first data block is written immediately after the first data block; and writing each subsequent one of the data blocks to the magnetic storage tape and writing the subsequent data block's associated metadata block to the magnetic storage tape immediately following the data block of the associated metadata block, After the final data block is stored on the magnetic storage tape, when the magnetic storage tape is ejected, metadata associated with the final data block is written to the magnetic storage tape.

5. The method according to claim 4, characterized in that Also includes: The processor is configured to reserve space for a maximum possible size of a metadata block at the end of the magnetic storage tape, wherein a final metadata block is written to the magnetic storage tape after a last data block is written to the magnetic storage tape and before the magnetic storage tape is ejected from the tape drive.

6. The method according to claim 5, characterized in that The space reserved on the magnetic storage tape depends on the type of metadata to be stored.

7. A computer program, characterized in that The computer program is for transferring data and metadata to a magnetic tape, the computer program comprising program instructions which, when executed by at least one processor, cause the at least one processor to: dividing a data object to be stored on the magnetic storage tape into data blocks; determining metadata for data within each of the data blocks such that each data block has an associated metadata block, wherein the metadata can be reconstructed from the data blocks; writing a first data block to the magnetic storage tape; writing a metadata block associated with the first data block to the magnetic storage tape, wherein the metadata block associated with the first data block is written immediately after the first data block; and writing each subsequent one of the data blocks to the magnetic storage tape and writing the subsequent data block's associated metadata block to the magnetic storage tape immediately following the data block of the associated metadata block, After the final data block is stored on the magnetic storage tape, when the magnetic storage tape is ejected, metadata associated with the final data block is written to the magnetic storage tape.

8. The computer program according to claim 7, wherein Also includes: The processor is configured to reserve space for a maximum possible size of a metadata block at the end of the magnetic storage tape, wherein a final metadata block is written to the magnetic storage tape after a last data block is written to the magnetic storage tape and before the magnetic storage tape is ejected from the tape drive.

9. The computer program according to claim 8, characterized in that The space reserved on the magnetic storage tape depends on the type of metadata to be stored.