SYSTEMS AND METHODS FOR TAPE DATA ACCESS
20230273882 · 2023-08-31
Inventors
Cpc classification
International classification
Abstract
Retrieval of files containing audiovisual information from tape may be accelerated by reading from tape metadata in the files, storing the metadata in cache memory, and subsequently reading the file from tape, with reads of the metadata fulfilled from the cache. In some embodiments a memory map of objects in the file is created when the file is written to tape, and utilized to determine metadata locations in the file when reading the metadata to store in the cache.
Claims
1. A method useful in relation to processing of files containing audiovisual information, comprising: sending information of a file of audiovisual information, stored in a workstation memory, to a server, the audiovisual information comprising audiovisual information objects and metadata comprising headers to the audiovisual information objects, at least some of the metadata interspersed between blocks of the audiovisual information objects of the file of audiovisual information; reading, by the workstation, the file of audiovisual information, stored in the workstation memory, to create, by the workstation, a memory map specifying offsets of the audiovisual information objects and the metadata in the file of audiovisual information; sending the memory map specifying offsets of the audiovisual information objects and the metadata in the file of audiovisual information to the server; storing the memory map specifying offsets of the audiovisual information objects and the metadata in the file of audiovisual information by the server; determining that access to the file of audiovisual information is requested; in response to determining that access to the file of audiovisual information is requested, reading the metadata using the memory map in and retrieving a plurality of audiovisual information objects of the file of audiovisual information .
2-6. (canceled)
7. The method of claim 1, wherein the audiovisual information objects in the file are at least one thousand times larger than the metadata in the file.
8. The method of claim 7, wherein at least one block of metadata is between any two blocks of audiovisual information objects in the file.
9. The method of claim 1, further comprising transcoding the audiovisual information objects in the file of audiovisual information.
10. The method of claim 1, further comprising performing video editing operations on the audiovisual objects of the file of audiovisual information.
11. The method of claim 1, wherein the metadata comprises at least one header and at least one footer for each of the audiovisual objects of the file of audiovisual information.
12. The method of claim 1, wherein at least two blocks of the metadata are dispersed between blocks of the audiovisual objects of the file of audiovisual information.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
DETAILED DESCRIPTION
[0017]
[0018] In operation, the workstation may have audiovisual information, for example of a movie, stored in memory. The audiovisual information may be stored in memory as a file. The audiovisual information generally includes video information, audio information, and metadata relating to the video information and the audio information. In some embodiments, however, the audiovisual information may omit one or the other of the video information or the audio information, although for simplicity of exposition the term “audiovisual” shall be used to refer to all or any of “audiovisual,” “audio,” or “video,” herein, unless the context indicates otherwise. In operation, it may be desirable to store the audiovisual information to tape. Conversely, in operation it may also be desirable to retrieve audiovisual from tape, for example to allow for operations by the workstation relating to the audiovisual information. Preferably, the audiovisual information is stored as a file.
[0019] In accordance with aspects of the information, the workstation may command storage of the audiovisual information to tape, with the workstation for example sending the audiovisual information, and a command to store the audiovisual information on tape, to the server. When performing such an operation, or more generally upon completion of such an operation and prior to deleting the audiovisual information from local storage, the workstation reads the file containing audiovisual information from local storage, and creates a memory map of the file containing the audiovisual information. The memory map includes, in various embodiments, information regarding offset locations, within the file, of objects in the file. For example, the file may include multiple audiovisual information objects, and, interspersed between the audiovisual information objects, metadata, for example in the form of headers and footers to the audiovisual information objects. In some embodiments the workstation stores the memory map in local memory, for later use. In some embodiments the workstation, in addition or instead, sends the memory map to the server, which may store the memory map on the same tape(s) as the file containing audiovisual information and/or in memory associated with the server and available to a plurality of workstations.
[0020] Also in accordance with aspects of the information, the workstation may command retrieval of the file containing audiovisual information from tape, for example to perform transcoding of the audiovisual information or some other operation. Prior to commanding retrieval the workstation accesses the memory map for the audiovisual information, from local memory if there stored, or by way of accessing memory of the server or by reading the memory map from tape. The workstation accesses the memory map to determine offsets of metadata within the file containing the audiovisual information, and the workstation commands reading of the metadata from the tape. In most embodiments the metadata is read by commanding a read of a section of the tape beginning at each of the offsets for the metadata. In some embodiments the workstation stores the metadata in cache memory of the workstation. In some embodiments storage of the metadata in the cache is a result of reading of the metadata. In some embodiments the workstation explicitly commands the metadata to be stored in the cache. The workstation thereafter commands reading of the file of the audiovisual information from tape, with reading of the metadata fulfilled from the cache of the workstation, instead of from the tape.
[0021]
[0022]
[0023]
[0024]
[0025] In operation, when commanding writing of a file containing audiovisual information to the tape, the processor creates a memory map of objects within the file. The objects may be for example, audiovisual information and metadata concerning the audiovisual information. In most embodiments the memory map specifies objects and an offset value indicating their position in the file. In some embodiments the processor writes the memory map to memory of the workstation. In some embodiments the processor, in addition or instead, commands writing of the memory map to network accessible memory. In some embodiments the processor creates the memory map prior to commanding writing of the file to tape. In some embodiments, and generally more conveniently, the processor creates the memory map upon completion of writing the file to tape, while the file remains in memory of the workstation. In some embodiments the processor additionally, or instead, commands writing of the memory map to the tape.
[0026] When commanding reading of a file containing audiovisual information from the tape, the processor reads a memory map of objects within the file. The memory map may be stored locally at the workstation, for example if the workstation commanded writing of the file to tape, or the memory map may be read from a shared memory, for example accessible over a network. In some embodiments the processor may command reading of the memory map from the tape.
[0027] In commanding read of the file containing audiovisual information from the tape, the processor first commands reading of segments of the tape. Each of the segments begins at a tape position indicated by an offset in the memory map associated with metadata in the file. The processor stores information of the segments in the memory cache of the workstation. In some embodiments the information of the segments is stored in a normal course of operation of the processor in obtaining information of the segments from the tape. In some embodiments the processor is programmed to explicitly command storage of the information of the segments in the cache.
[0028] During reading of the file containing audiovisual information from the tape, audiovisual data is read from the tape. During reading of the audiovisual data, metadata is also to be accessed. As the metadata is already stored in the cache of the workstation, however, accesses to the metadata are to the metadata in the cache, rather than rereading the metadata from the tape. In some embodiments, reading of the file from the tape is significantly faster as multiple seeks to the metadata during reading of the file may be avoided.
[0029] In some embodiments, after reading the file, the workstation performs a process on the audiovisual information. In some embodiments the process is transcoding of the audiovisual information. In some embodiments the process is performance of video editing operations on the audiovisual information.
[0030]
[0031] In block 611 the process creates a memory map of an audiovisual file. In some embodiments the memory map specifies locations of metadata in the file. In some embodiments the locations are specified as an offset from a beginning of the file. In some embodiments the offsets are specified as a number of bytes. In some embodiments the memory map specifies locations of objects in the file. In some embodiments the objects include metadata and audio/video essence data.
[0032] In block 613 the process determines if access to an audiovisual file on tape is requested. If so, the process continues to block 615, otherwise the process returns.
[0033] In block 615 the process stores metadata of the file on tape in cache memory of a workstation. In some embodiments the process determines locations of the metadata on the tape using the memory map. In some embodiments the process commands reads of segments of tape beginning at locations of the metadata on tape. In some embodiments the process stores the metadata in the cache memory as part of a process of reading the metadata from the tape. In some embodiments the process explicitly commands storage of the metadata in the cache memory.
[0034] In block 617 the process retrieves audiovisual information of the file from tape, with the process retrieving metadata of the file from cache memory. In some embodiments, the process retrieves a plurality of objects of audiovisual information from the tape, with retrieval of metadata, in the context of retrieving the objects of audiovisual information, fulfilled by reading the metadata from the memory cache.
[0035] The process thereafter returns.
[0036]
[0037] In block 711 the process archives a file containing audiovisual information to tape. In some embodiments the tape is an LTO-compliant tape implementing an LTFS. In some embodiments a workstation contains the file in local storage of the workstation, and the workstation commands writing of the file to the tape. In some embodiments a tape drive writes the file to tape.
[0038] In block 713 the file is read to create a memory map of objects in the file. In some embodiments the file is stored in local storage of the workstation. In some embodiments the memory map specifies objects in the file and values indicative of locations of the objects in the file. In some embodiments the values indicative of locations in the file are offsets. In some embodiments the offsets are offsets from a first byte of the file. In some embodiments the objects are arranged sequentially in the file, and the offsets, other than possibly a first offset, are indicative of location from a beginning location of a prior object in the file.
[0039] In block 715 the process stores the memory map. In some embodiments the memory map is stored in local memory of the workstation. In some embodiments the memory map is stored in memory of a network device. In some embodiments the memory map is stored by writing the memory map to tape, which in some embodiments is the same tape to which the file was written.
[0040] The process thereafter returns.
[0041]
[0042] In block 811 the process reads a memory map for a file stored on tape. In some embodiments the memory map is stored in local memory of the workstation. In some embodiments the memory map is stored on a network accessible storage device. In some embodiments the memory map is stored on the tape. In various embodiments the memory map indicates locations of objects stored on the tape. In some embodiments the objects include audiovisual information and metadata.
[0043] In block 813 the process retrieves the metadata from the tape.
[0044] In block 815 the process stores the metadata in cache memory of the workstation.
[0045] The process thereafter returns.
[0046]
[0047] In block 911 the process determines if an access request for information stored on tape is for metadata of a file being read from the tape. If so, the process continues to block 913, otherwise the process goes to block 915.
[0048] In block 913 the process retrieves the metadata from cache memory and stores the metadata in local memory. In some embodiments the cache memory is cache memory of a workstation requesting reading of the file from tape.
[0049] In block 915 the process determines if the access request for information stored on tape is for audiovisual information of the file being read from tape. If so, the process continues to block 917, otherwise the process goes to block 919.
[0050] In block 917 the process retrieves the audiovisual information from the tape and stores the audiovisual information in local memory.
[0051] In block 919 the process determines if reading of the file is complete. If not, the process goes to block 911. Otherwise the process returns.
[0052] Although the invention has been discussed with respect to various embodiments, it should be recognized that the invention comprises the novel and non-obvious claims supported by this disclosure.