BACKGROUND AND RELATED ART
For several decades, magnetic tape media and corresponding data storage devices known as tape drives have been used for storing digital data in non-volatile form, most commonly with the application of providing secondary or backup storage and retrieval. Initially the magnetic tapes were wound about large reels in similar manner as film for film projectors. In more recent years the magnetic tape has typically been housed in a cartridge or cassette, extending internally in the cartridge from a supply reel to a take-up reel. To allow interoperability between different tape media and tape drives, including those of different vendors, the mechanical dimensions and magnetic properties of the tape media, as well as the exact method according to which data is to be recorded on the tape media are typically governed by agreed industry standards.
With corporations shifting from single tape drives attached to single host computers to deploying large numbers of tape drives organised in tape libraries, the ability to use tape media interchangeably with a large number of tape drives has grown in importance. Adherence of tape media and tape drives used in a corporation to a common format, or to a set of compatible formats is therefore of great value. In another consequence, in order to early diagnose technical problems with a particular tape medium or tape drive it becomes increasingly important to be able to uniquely identify and track the tape usage history of each tape medium.
One known format of magnetic tape media for providing storage and retrieval of digital data is the Digital Data Storage (DDS) format, which has evolved from Digital Audio Tape (DAT) technology and developed through a number of versions. Each new version provided improvements over the preceding version, among those being one or more of enlarged capacity of the tape medium, higher speed of data recording and retrieval, improved reliability, and additional functionality for tape medium management.
The 6th version of the DDS format, which is known as DAT 160, provides the capability of the tape drive to uniquely identify a tape medium by recording a unique cartridge serial number on the tape medium. A further improvement introduced by the DAT 160 version is the capability to store an extended log of tape usage information on the tape medium, the extended log including twelve log sections in which tape usage information is recorded relating respectively to the last twelve data recording sessions. Tape usage information recorded in each log section includes usage and error statistics as well as an identification of the tape drive on which the tape medium was loaded during the respective session. Tape media complying with the DAT 160 version of the DDS format cannot be read or written to using tape drives produced according to an earlier version of the DDS format.
Among the versions of the DDS format in widespread use are the 3rd, 4th, and 5th version, known respectively as DDS-3, DDS-4, and DAT-72. These versions do not provide within their respective format specifications for the storage of a tape medium identifier that would allow uniquely identifying a tape medium.
The TapeWare backup application embeds a tape medium identifier within user data written to a tape medium. This identifier is lost when a different application is used to overwrite the user data on the tape medium.
SUMMARY OF THE INVENTION
According to the present invention, there is now provided a method of storing data on a tape medium in at least one data recording session employing a tape drive apparatus operable to record the data in accordance with a format that specifies an unused area of the tape medium. The method comprises formatting the tape medium according to the format, and recording a tape medium identifier in the specified unused area of the tape medium.
The invention is advantageous because it enables to uniquely identify the tape medium in a backward compatible way. Because the format according to which the tape medium is formatted specifies an unused area, the tape medium on which the tape medium identifier is recorded during a data recording session in the tape drive apparatus can be loaded for further data recording sessions not only on the tape drive apparatus itself but also on a legacy tape drive apparatus that is compliant with the format and does not alter the unused area. Recording sessions employing the legacy tape drive apparatus do not affect the unused area of the tape medium, where the tape medium identifier is stored. Therefore, the tape medium identifier will not be overwritten, erased, or altered during recording sessions employing the legacy tape drive apparatus. When after one or more recording sessions employing the legacy tape drive apparatus the tape medium is again loaded on the tape drive apparatus, the unchanged tape medium identifier allows the tape drive apparatus to uniquely identify the tape medium.
For example, when the legacy tape drive apparatus is one of an installed base of legacy tape drive apparatuses used by an enterprise, the legacy tape drive apparatuses being operable to record data on tape media according to a common format, the enterprise can use the same type of tape media interchangeably in all of the legacy tape drive apparatuses. The present invention enables the enterprise to supplement the installed base of legacy tape drive apparatuses with enhanced tape drive apparatuses that are capable of uniquely identifying tape media, and use the same type of tape media interchangeably in both the legacy tape drive apparatuses and the enhanced tape drive apparatuses. In this way the enterprise benefits from the continued interchangeability of the tape media among the tape drive apparatuses without the high cost of replacing all legacy tape apparatuses with enhanced tape drive apparatuses.
In accordance with an embodiment, the method further comprises determining whether the unused area of the tape medium comprises a previously recorded tape medium identifier, and reading the previously recorded tape medium identifier from the unused area for re-use of the same tape medium identifier for the recording of the tape medium identifier. This embodiment is particularly advantageous because it enables the tape medium to remain uniquely identifiable even after being subjected to re-formatting in the tape drive apparatus.
In accordance with an embodiment, the method further comprises determining whether the tape medium has previously been formatted. The recording of the tape medium identifier is then performed only when the unused area of the tape medium comprises a previously recorded tape identifier or the tape medium has not previously been formatted. The recording of the tape medium identifier is not performed for tape media that have initially been formatted in the legacy tape drive apparatus, which does not record a tape drive identifier in the unused area according to the present invention, or that have been re-formatted in another tape drive apparatus compatible with the format that erases the tape medium identifier from the unused area during formatting. This embodiment is particularly advantageous because it enables to track the entire history of past use of a tape medium using the tape medium identifier, by relying on the tape medium having been identifiable by the same tape medium identifier throughout its entire history of past use.
In accordance with an embodiment, the format further specifies the tape medium to comprise mandatory content in a specified location on the tape medium, for example tape management information or separator marks that separate different areas of the formatted tape medium. The determining whether the tape medium has previously been formatted comprises reading data from the specified location of the tape medium, detecting from the data whether the tape medium comprises the mandatory content in the specified location, and determining that the tape medium has previously been formatted when the tape medium comprises the mandatory content in the specified location.
In accordance with an embodiment, the determining whether the tape medium has previously been formatted further comprises writing first test data to a test location of the tape medium, and reading second test data from the test location of the tape medium. Comparing the second test data with the first test data, an error rate is calculated based on the comparison. The tape medium is determined to not have previously been formatted when the tape medium does not comprise the mandatory content in the specified location and the error rate does not exceed a predefined threshold. This embodiment is particularly advantageous because it enables to prevent erroneously finding the tape medium to be unformatted when clogged tape heads or other causes interfere with reading any data from the tape medium.
In accordance with an embodiment, the format further specifies a count of data recording sessions in a tape drive apparatus to be stored in a system area of the tape medium. The method further comprises reading the count of recording sessions from the system area of the tape medium, updating the count of recording sessions, and recording an extended log of tape usage information in the unused area of the tape medium, the extended log comprising the updated count of recording sessions. Being recorded in the unused area, the extended log is not altered during recording sessions in the legacy tape drive apparatus and thus in this case will not reflect the last recording session of the tape medium. In contrast, the legacy tape drive apparatus as every tape drive apparatus that is in compliance with the specifications of the format does update the count of recording sessions in the system area.
This embodiment is particularly advantageous because it enables to store on the tape medium tape usage information that relates to the present recording session and is not limited by the specifications of the format. Because the extended log comprises a count of recording sessions reflecting the recording session during which the extended log was recorded, the embodiment enables to compare the count of recording sessions from the extended log to the count of recording sessions from the system area to determine whether the extended log refers to the last recording session.
According to an embodiment, the extended log comprises a plurality of log sections in which tape usage information is recorded relating respectively to corresponding ones of the at least one data recording sessions, the log sections together constituting a cumulative record of tape usage, each log section in respect of a recording session comprising the count of recording sessions. This embodiment is particularly advantageous because it enables to provide a cumulative record of tape usage on a tape medium formatted according to a format that does not specify such a cumulative record.
In another aspect the present invention relates to a backward compatible storage apparatus for storing data on a sequential storage medium. The apparatus comprises means for transferring data between the sequential storage medium and the backward compatible storage apparatus in at least one data recording session, and means for formatting the sequential storage medium according to a legacy format. The legacy format specifies an unused area of the sequential storage medium that is unaffected by data recording sessions employing the legacy storage apparatus. The backward compatible storage apparatus further comprises means for recording an identifier of the sequential storage medium in the unused area of the sequential storage medium.
BRIEF DESCRIPTION OF THE DRAWINGS
In the following embodiments of the invention will be described in greater detail by way of example only making reference to the drawings in which:
FIG. 1 is a block diagram of a tape drive apparatus of an embodiment, and a legacy tape drive apparatus to which it is backward compatible,
FIG. 2 is a schematic depiction of a layout of a tape medium, on which data have been stored according to a method embodying the invention,
FIG. 3 is a flowchart of a method embodying the invention,
FIG. 4 is a flowchart of a determining step of an embodiment, and
FIG. 5 is a diagram depicting the recording of an extended log of tape usage according to an embodiment.
DETAILED DESCRIPTION
Referring to FIG. 1, there is shown a first tape drive apparatus 102 embodying the present invention, and a second tape drive apparatus 104 to which the first tape drive apparatus 102 is backward compatible. The first tape drive apparatus 102 comprises a data transfer unit 106, adapted to load a tape medium 100 and capable of transferring data between the loaded tape medium 100 and the first tape drive apparatus 102. The second tape drive apparatus 104 analogously comprises a data transfer unit 106′ adapted to load the same tape medium 104 and capable of transferring data between the tape medium 104 and the second tape drive apparatus.
The first 102 and second 104 tape drive apparatuses comprise respective data processing units 134, 134′ for controlling the reading and writing of data on the tape medium 100. The data processing unit 134 of the first tape drive apparatus 102 is connected via an interface 135 to a host computer 136 comprising a processor 138 capable of executing a backup application 140 for sending commands and data to be stored on the tape medium 100 to the data processing unit 134. Analogously, the data processing unit 134′ of the second tape drive apparatus 104 is connected via an interface 135′ to a host 136′ comprising a processor 138′ capable of executing a backup application 140′ for sending commands and data to be stored on the tape medium 100 to the data processing unit 134′ when the tape medium 100 is loaded on the second tape drive apparatus.
The data processing unit 134 of the first tape drive apparatus comprises a formatting module 108 operable to control the data transfer unit 106 to format the tape medium according to a format that is compatible with an analogous formatting module 108′ of the second tape drive apparatus 104. In operation, after having been formatted either in the first tape drive apparatus 102 under the control of formatting module 108, or in the second tape drive apparatus 104 under the control of formatting module 108′, tape medium 100 can be loaded interchangeably on either the first 102 or the second 104 tape drive apparatus for data recording sessions, in which data stored in preceding recording sessions is overwritten or appended to.
In data recording sessions employing the second tape drive apparatus 104, an unused area of the tape medium that is specified by the format is excluded from being written to and therefore remains unaffected. Optionally, the unused area also remains unaffected when the tape medium 100 is formatted in the second tape drive apparatus 104 under the control of formatting module 108′.
The data processing unit 134 of the first tape drive apparatus 102 comprises a recording module 110 for recording a tape medium identifier in the unused area of the tape medium 100. Optionally, the recording module 110 is controlled by a determiner 112 operable to determine whether the tape medium has previously been formatted, and whether a previously recorded tape medium identifier is present in the unused area of the tape medium 100. The determiner 112 relies on a first reading module 114 for controlling the data transfer unit 106 to read a previously recorded tape medium identifier from the unused area of the tape medium 100. A second reading module 116 and a detector 118 enable the determiner to determine whether the tape medium 100 has previously been formatted. A writing module 120, a third reading module 122, a comparer 124, and a calculator 126 in conjunction enable the determiner 112 to verify a finding that the tape medium 100 is unformatted by performing an error rate test for testing the reliable operation of the data transfer unit 106.
Optionally, the data processing unit 134 of the first tape drive apparatus comprises a fourth reading module 128 for reading from the tape medium 100 a count of the data recording sessions that the tape medium 100 has so far been subjected to, the count of data recording sessions being recorded in the system area of the tape medium 100 in accordance with the specifications of the format. Both the first 102 and the second 104 tape drive apparatuses comprise respective counting modules 130, 130′ for updating the count of data recording sessions during a data recording session. The data processing unit 134 of the first tape drive apparatus optionally comprises a logger 132 for controlling the data transfer unit 106 to record an extended log of tape usage information in the unused area of the tape medium 100.
FIG. 2 schematically depicts a layout of the tape medium 100 on which data have been stored according to a method embodying the invention. To enable the tape medium 100 to be used for recording data in recording sessions employing the second tape drive apparatus, the layout follows the format specifications. As specified by the format, the layout is divided into adjacent areas 200, 210, 214, comprising a data area 214 for recording user data, a system area 210 for recording information for managing the tape medium, in particular a count of data recording sessions 208, and an unused area 200. The use of the unused area 200 is not specified by the format. The unused area 200 remains unaffected by recording sessions in the second tape drive apparatus, and optionally also by using the second tape drive apparatus to format the tape medium 100.
While both first and second tape drive apparatuses record data in the data 214 and system 210 areas in accordance with the specifications of the format, the first tape drive apparatus additionally uses the unused area 200 to record a tape medium identifier 202 and an extended log 212 of tape usage information. Optionally, a test location 206 for writing and reading test data as part of an error rate test is also located in the unused area. In this way it is assured that user data from the user area and information for managing the tape medium from the system area remain unaffected by an error rate test performed in the test location. Optionally, the test location 206 furthermore does not overlap with locations in which the first tape drive apparatus records the tape medium identifier 202 and the extended log 212.
When tape medium 100 is formatted in either the first or second tape drive apparatus, mandatory content 203 specified by the format is written to a specified location 204 of the tape medium, optionally located within the system area 210. Optionally, the format specifies the location 204 involving a range of distances measured from the beginning of the tape medium 100, between which the mandatory content is specified to start. Optionally, the format further specifies the mandatory content 204, for example by specifying frame numbers of data frames constituting the mandatory content, in such a way that compliance of the mandatory content with the format specifications is verifiable. In this way, the presence of the mandatory data 204 in the specified location and its compliance with the format specification provides a criterion enabling the first tape drive apparatus to determine whether the tape medium 100 has previously been formatted.
In accordance with the format specifications, the layout of tape medium 100 can comprise further areas such as an end-of-data area following the end of the data area 214, or additional position tolerance bands interspersed between areas. The tape medium 100 can furthermore be formatted as a partitioned tape, in which data can be recorded in one partition independently of data recorded in another partition of the tape medium 100, each partition comprising a separate data area corresponding to data area 214.
FIG. 3 shows a flowchart of a method of an embodiment of the invention. In decision step 308 the tape medium is examined to determine whether the medium is blank or has been previously formatted. If the tape medium is found to not have been formatted before, a new tape medium identifier is generated in step 310 to be assigned to the tape medium. Optionally, the tape medium identifier is generated in such a way that it is unique to the tape medium, avoiding assigning the same identifier to two or more tape media. One way of achieving the tape medium identifier to be unique involves using a counter that changes its counter value each time the tape drive apparatus performs a formatting operation, and combining the counter value with a tape drive identifier that uniquely identifies the tape drive apparatus. In step 302, the first tape drive apparatus records the tape drive identifier in the unused area of the tape medium, followed in step 300 by formatting the tape medium according to the format, preserving the tape medium identifier recorded in the unused area.
If in decision step 308 it is found that the tape medium has been previously formatted, in a further decision step 304 it is determined whether the unused area of the tape medium comprises a tape medium identifier. Optionally the unused area of the tape medium is unaffected by both formatting and data recording sessions in the second tape drive apparatus, so that the unused area will be found to not comprise any data, and a in particular comprise no tape medium identifier if the tape medium has been used for formatting and data recording sessions in the second tape drive apparatus only. However, since the format does not specify the use of the unused area, the tape medium can comprise arbitrary data frames recorded in the unused area, for example stemming from recording sessions in a further tape drive apparatus that is compliant with the format and uses the unused area for proprietary purposes. Optionally the likelihood of misinterpreting an arbitrary data frame recorded in the unused area as the tape medium identifier is significantly reduced by adding a verifiable redundancy check to the tape medium identifier.
If in decision step 304 it is found that the unused area of the tape medium comprises a tape medium identifier, in step 306 the tape medium identifier is read from the unused area. Optionally, step 306 is integrated with decision step 304, in such a way that a function is called to read the tape medium identifier from the unused area, where the function either returns an indication of success together with the tape medium identifier, or an indication that the function failed to read a tape medium identifier. In step 302, the tape medium identifier is then re-recorded in the unused area, followed by formatting of the tape medium according to the format in step 300.
If in decision step 304 it is found that the unused area of the tape medium does not comprise a tape medium identifier, the method proceeds to step 300, formatting the tape medium according to the legacy format. In this way, the method enables to rely on that any tape medium bearing a tape medium identifier in the unused area has been identifiable by the same tape medium identifier throughout its entire history of past use.
Alternatively, the method can be modified to proceed to step 310 from decision step 304 if it is found that the unused area of the tape medium does not comprise a tape medium identifier, generating in step 310 a new tape medium identifier for the tape medium. In this way, the method enables to track the future use also for tape media that have not been identifiable by a tape medium identifier during a part of its past use history.
FIG. 4 shows a flowchart depicting in detail how a method of an embodiment of the invention determines whether the tape medium has previously been formatted. In step 410, data are read from a location of the tape medium that is specified by the format to comprise mandatory content. In step 412, the data read from the location is examined to detect whether it comprises the mandatory content. Optionally, steps 410 and 412 are integrated, in such a way that a function is called to read the mandatory content from the specified location, the function returning an indication of either success or failure. If the mandatory content is read successfully from the specified location, decision step 414 arrives at the conclusion that the tape medium is formatted.
Failure to detect the mandatory content in step 412 can be caused by the tape medium being unformatted, or by improper functioning of the first tape drive apparatus, for example by clogged tape heads preventing data from being read from the tape medium. In order to verify that the tape medium is unformatted, a test is performed in steps 416-422 to confirm that the first tape drive apparatus is functional for reading data from the tape medium.
In step 416, first test data are written to a test location of the tape medium, optionally within the unused area. In step 418, second test data are read from the same test location. In step 420, the first and second test data are compared, optionally in a bit-by-bit fashion. In step 422, an error rate is calculated, optionally by dividing the number of bits found to differ between the first and second test data by the overall number of bits written to the tape medium in step 416. If the calculated error rate remains below a predefined threshold, decision step 424 arrives at the conclusion that the first tape drive apparatus is functional for reading data from the tape medium and therefore the tape medium has been verified to be unformatted.
If the error rate exceeds the predefined threshold, decision step 424 arrives at the conclusion that the first tape drive apparatus is not functioning correctly. Optionally, the first tape drive apparatus indicates a trouble condition 426, for example by flashing an indicator light.
FIG. 5 is a diagram depicting the recording of an extended log 212 of tape usage information in the unused area 200 of the tape medium 100 according to an embodiment. The same tape medium 100 is shown in four stages, demonstrating the effect of subsequently subjecting the tape medium 100 to a data recording session 506 in the first tape drive apparatus, a data recording session 508 in the second tape drive apparatus, and a further data recording session 506′ in the first tape drive apparatus.
In each stage the system area 210 of tape medium 100 is shown to comprise the count 208 of recording sessions. The contents of the system area 210, including the count 208 of recording sessions, are specified by the format, and in accordance with the format specifications updated by both the first and second tape drive apparatuses. Optionally, the count 208 of recording sessions is set to zero upon the first formatting of the tape medium 100, and during each recording session in either the first or second tape apparatus incremented by one. Optionally, during re-formatting of the tape medium 100 in either the first or second tape drive apparatuses, the count 208 of recording sessions is read from the tape medium and re-used for the re-formatting operation, thus preserving the value of the count 208.
The tape medium 100 is shown in the first of the four depicted stages to comprise a value “6” for the count of recording sessions, signifying that the tape medium 100 at this stage has been subjected to six data recording sessions since it was first formatted. During data recording session 506 the first tape drive apparatus in reading operation 500 reads the value “6” of count 208 into a volatile memory, in updating operation 502 increments it by one, and in writing operation 505 writes the resulting value of “7” back to the system area 210 of the tape medium 100.
The tape medium 100 is now ejected from the first tape drive apparatus and loaded on the second tape drive apparatus for recording session 508. The second tape drive apparatus in reading operation 500′ reads the value “7” of count 208 into a volatile memory, in updating operation 502′ increments it by one, and in writing operation 505′ writes the resulting value of “8” back to the system area 210 of the tape medium 100.
The tape medium 100 is in turn ejected from the second tape drive apparatus and loaded on the first tape drive apparatus for a further recording session 506′, which results in an updated value “9” of the count 208 of recording sessions being written to the system area 210 of the tape medium 100. In the way shown, the first tape drive apparatus updates the count 208 of recording sessions analogously to the second tape drive apparatus, observing the specifications of the format.
For each stage, the unused area 200 of the tape medium 100 is shown to comprise the extended log 212 of tape usage information. Optionally, the extended log 212 comprises a plurality of log sections 510. Each of the log sections 510 contains information relating to a corresponding one of the data recording sessions that the tape medium 100 has so far been subjected to. In particular, each of the log sections 510 is shown to comprise the value that the count 208 of recording sessions was updated to during the corresponding recording session. In the first stage of the tape medium, the log sections 510 of the extended log 212 are shown as respectively relating to the 6th, 5th, 4th, 3rd, and 2nd data recording session that the tape medium 100 was subjected to since formatting, thus constituting a cumulative record of tape usage covering the previous five recording sessions.
During data recording session 506, which according to the count 208 of recording sessions amounts to the 7th data recording session that the tape medium 100 was subjected to since formatting, the first tape drive apparatus in copying operation 510 copies the log sections 510 respectively relating to the 6th, 5th, 4th, and 3rd recording session to the respective positions previously occupied by the log sections 510 respectively relating to the 5th, 4th, 3rd, and 2nd recording sessions. Then, in recording operation 504 a log section relating to the recording session 506 and comprising the updated value “7” of the count 208 is written as part of the extended log 212, overwriting the position previously occupied by the log section relating to the 6th recording session.
During data recording session 508 in the second tape drive apparatus, the extended log 212 in the unused area 200 is not updated. Because the second tape drive apparatus updates the count 208 of recording sessions, a mismatch arises between the count 208 of recording sessions and the value of the count in the log section 510 of the extended log 212 that relates to the last recording session in the first tape drive apparatus.
During the following data recording session 506′ in the first apparatus the same copying 512 and recording 504 operations are carried out as described for the data recording session 506. There no longer is a mismatch between the count 208 of recording sessions and the value of the count in the log section 510 of the extended log 212 that relates to the last recording session in the first tape drive apparatus. However, because data recording session 508 employed the second tape drive apparatus, there is no section 510 relating to it in the extended log 212.
Optionally, the extended log 212 is used by the first tape drive apparatus, or by an external backup or utility application for analysing the history of past use of the tape medium. Because of the correspondence between the count 208 of recording sessions and the values of the count 208 stored in each log section 510 of the extended log 212, the analysing tape drive apparatus or application is enabled to identify to which of the sequence of past recording sessions each of the log sections 510 relates.
LIST OF REFERENCE NUMERALS
- 100 Tape medium
- 102 First tape drive apparatus
- 104 Second tape drive apparatus
- 106, 106′ Data transfer unit
- 108, 108′ Formatting module
- 110 Recording module
- 112 Determiner
- 114 First reading module
- 116 Second reading module
- 118 Detector
- 120 Writing module
- 122 Third reading module
- 124 Comparer
- 126 Calculator
- 128 Fourth reading module
- 130, 130′ Counting module
- 132 Logger
- 134 Data processing unit
- 135, 135′ Interface
- 136, 136′ Host computer
- 138, 138′ Processor
- 140, 140′ Backup application
- 200 Unused area
- 202 Tape medium identifier
- 203 Mandatory content
- 204 Specified location on the tape medium
- 206 Test location
- 208 Count of data recording sessions
- 210 System area
- 212 Extended log of tape usage information
- 214 Data area
- 300 Formatting of tape medium
- 302 Recording of tape medium identifier
- 304 Determining of existence of previously recorded tape identifier
- 306 Reading of previously recorded tape identifier
- 308 Determining whether tape medium has previously been formatted
- 310 Generating of tape medium identifier
- 410 Reading from specified location
- 412 Detecting of presence of mandatory content
- 414 Determining that tape medium has previously been formatted
- 416 Writing of first test data
- 418 Reading of second test data
- 420 Comparing of first and second test data
- 422 Calculating of an error rate
- 424 Determining that tape medium has not previously been formatted
- 426 Trouble condition
- 500 Reading of count of recording sessions
- 502, 502′ Updating of count of recording sessions
- 504 Recording of extended log
- 505, 505′ Writing of count of recording sessions
- 506, 506′ Data recording session in first tape drive apparatus
- 508 Data recording session if second tape drive apparatus
- 510 Log sections of extended log
- 512 Copying of log sections of extended log