The described subject matter relates to electronic computing, and more particularly to error management in tape libraries.
Tape libraries may be used as one component of a data storage architecture. A conventional tape library comprises a plurality of tape drives, the operations of which are controlled by one or more tape drive controllers, and a separate controller that controls the operations of the library.
Periodically, errors occur in tape drives. Some tape drives maintain a log of drive errors that occur to facilitate analysis and correction of technical problems with the drive. The event log records information about the nature of the error and operations of the drive, and may also include information about the operating hardware and software.
In an exemplary embodiment a method of recording an error in a tape drive comprises receiving, in a tape drive controller, an external identifier associated with a tape cartridge, recording that external identifier in a memory location associated with the tape, reading the external identifier from the memory associated with the tape, recording the external identifier in an memory location associated with the tape controller, and associating, in a subsequent error analysis routine, an error in the tape drive with the external identifier of the tape cartridge in the tape drive.
Described herein are exemplary tape library architectures, and methods for recording an error in a tape drive. The methods described herein may be embodied as logic instructions on a computer-readable medium. When executed on a processor, the logic instructions cause a general purpose computing device to be programmed as a special-purpose machine that implements the described methods. The processor, when configured by the logic instructions to execute the methods recited herein, constitutes structure for performing the described methods.
In exemplary embodiments, the architectures and methods may be implemented in tape storage libraries such as the tape storage libraries described in U.S. Pat. Nos. 5,926,341; 6,028,733; or U.S. Pat. No. 6,421,306, commonly assigned to the assignee of the present application, the disclosures of which are incorporated by reference herein in their entirety.
Exemplary Tape Library Architecture
The tape library controllers 120 coordinate data transfer to and from the one or more tape drives 130a-130b. In one embodiment, the library includes two tape drive controllers: a first tape drive controller 122a and a second tape drive controller 122b. The controllers may operate independently or may be configured to operate in parallel to enhance reliability by providing continuous backup and redundancy in the event that one controller becomes inoperable. Tape drive controllers 122a and 122b have respective processors 128a and 128b and respective memories 124a and 124b. Processors 128a, 128b may be implemented as general purpose processors that may be configured to execute logic instructions in the respective memories 124a, 124b, or as special purpose processors adapted to implement logic instructions embodied as firmware, or as ASICs. The memories 124a and 124b may be implemented as battery-backed, non-volatile RAMs (NVRAMs). Although only two controllers 122a and 122b are shown and discussed generally herein, aspects of this invention can be extended to other multi-controller configurations where more than two controllers are employed.
The controller's memories 122a and 122b may be physically coupled via a communication interface 126 such as, e.g., communication bus. Controllers 122a and 122b may monitor data transfers between them to ensure that data is accurately transferred and that transaction ordering is preserved (e.g., read/write ordering).
In one embodiment, the tape drives 130a, 130b are configured to receive a tape cartridge 132a, 132b, respectively. Input/Output (I/O) operations requested by host computer 150 may be executed against the respective tape cartridges 132a, 132b. The tape cartridges 132a, 132b may include respective unique external identifiers 134a, 134b, which may be implemented as a bar code or other external identifying indicia associated with the respective tape cartridge 132a, 132b.
In one embodiment one or more of the tape controllers maintains one or more logs including a tape log and an event log. Errors that occur in the tape drive are recorded in the tape drive's event log. In the embodiment illustrated in
The respective event logs 222, 232, 242 may include information identifying, among other things, hardware and software packages operating on the controllers, the version number(s) of firmware executing on the controller, and other information associated with the controller. The event logs 222, 232, 242 may also log information regarding an error, including an error number 222a, 232a, 242a assigned to the error, a tape serial number 222b, 232b, 242b and an error identifier 222c, 232c, 242c associated with the error. The tape serial number is not necessarily associated with a human-readable identifier on the tape cartridge. In one embodiment, the respective tape logs 224, 234, 244 may include fields for storing information identifying, among other things, the respective tape serial numbers 224a, 234a, 244a and external identifiers 224b, 234b, 244b associated with each tape inserted into the drive. Optionally the respective tape logs 224, 234, 244 may also include an identifier associated with one or more drives in which the tape was previously inserted. In an alternate embodiment, the respective event logs 222, 232, 242 may include a field for recording the external identifier 134a, 134b of a tape cartridge 132a, 132b that resides in a tape drive 130a, 130b when an error occurs.
Exemplary Operations
Operations for recording errors in tape drives will be explained with reference to
At operation 315 the library controller may verify the format of the external identifier. In one embodiment the format of the external identifier is encoded into a multi-character symbol, which may be verified by comparing the external identifier against one or more templates for external identifiers. If the format is incorrect, then an error routine may be invoked.
At operation 320 the library controller transfers indicia of the external identifier to a drive controller, such as one of the drive controllers 220, 230, 240. In one embodiment the multi-character symbol is transferred to the drive controller using SCSI commands executed by the library controller such as, e.g., the SCSI Write Attribute command, and the external identifier may be attached to the SCSI command in a payload section of a data packet.
At operation 325 the drive controller receives the external identifier transmitted by the library controller. At operation 330 the drive controller determines whether there is a tape cartridge in the drive, and if not an error routine may be invoked, at operation 350. In one embodiment the error routine may include transmitting a reply to the library controller, wherein the reply indicates that a tape cartridge is not properly installed in the drive. In response to the reply, the library controller may initiate a routine to locate the tape cartridge and insert the cartridge into the drive. Alternatively, or in addition, the error routine may involve generating an alert to notify a user or administrator of the system of a malfunction.
By contrast, if there is a tape cartridge in the drive at operation 330, then control passes to operation 335, in which the drive controller determines whether the format of the received external identifier is correct. In one embodiment the format of the external identifier is encoded into a multi-character symbol, which may be verified by comparing the external identifier against one or more templates for identifiers. If the format is incorrect, then an error routine may be invoked at operation 350. In one embodiment the error routine may include transmitting a reply to the library controller, wherein the reply indicates that a received external identifier is incorrectly formatted. In response to the reply, the library controller may initiate a read of the external identifier again and transfer the identifier to the drive controller. Alternatively, or in addition, the error routine may involve generating an alert to notify a user or administrator of the system of the error.
By contrast, if at operation 335 the received external identifier is formatted correctly, then the received identifier is recorded in a suitable memory medium (operation 340). In one embodiment, the received identifier may be recorded in a media auxiliary memory (MAM) associated with the tape cartridge. In alternate embodiments, the identifier may be recorded on a portion of the tape media.
If, at operation 415, the cartridge is loaded correctly in the drive, then control passes to operation 420, and the drive controller reads the external identifier from the memory medium, i.e., either the MAM or the tape. At operation 422 the drive controller records the external identifier in a suitable memory location. In one embodiment, the external identifier is recorded in a tape log such as one of the tape logs 224, 234, 244. At operation 425 the drive controller executes one or more data operations against the storage medium in the tape cartridge. If, at operation 430, there are no errors, then control passes back to operation 425 and additional data operations may be executed against the tape drive.
By contrast, if at operation 430 a drive error occurs then control passes to operation 435 and then an error event is recorded in an event log, such as the event logs 222, 232, 242 depicted in
In an alternate embodiment, the tape serial number is recorded with the error event. In this embodiment, the tape serial number may be used as a search key to locate the external identifier associated with the tape cartridge in the tape log. This operation may be performed manually, e.g., by a technician, or automatically, e.g., by a software routine. Again, the external identifier enables a technician charged with analyzing the event log to locate the tape readily.
The operations of
Although the described arrangements and procedures have been described in language specific to structural features and/or methodological operations, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or operations described. Rather, the specific features and operations are disclosed as preferred forms of implementing the claimed present subject matter.
Number | Name | Date | Kind |
---|---|---|---|
5471561 | Cowgill et al. | Nov 1995 | A |
5819309 | Gray | Oct 1998 | A |
5923876 | Teague | Jul 1999 | A |
6100788 | Frary | Aug 2000 | A |
6161192 | Lubbers | Dec 2000 | A |
6170063 | Golding | Jan 2001 | B1 |
6295578 | Dimitroff | Sep 2001 | B1 |
6397293 | Shrader | May 2002 | B2 |
6476725 | Aguren et al. | Nov 2002 | B2 |
6487636 | Dolphin | Nov 2002 | B1 |
6490122 | Holmquist | Dec 2002 | B1 |
6493656 | Houston | Dec 2002 | B1 |
6505268 | Schultz | Jan 2003 | B1 |
6523749 | Reasoner | Feb 2003 | B2 |
6546459 | Rust | Apr 2003 | B2 |
6560673 | Elliot | May 2003 | B2 |
6587962 | Hepner | Jul 2003 | B1 |
6594745 | Grover | Jul 2003 | B2 |
6601187 | Sicola | Jul 2003 | B1 |
6606690 | Padovano | Aug 2003 | B2 |
6609145 | Thompson | Aug 2003 | B1 |
6612491 | Iwaguchi et al. | Sep 2003 | B1 |
6628205 | Aguren et al. | Sep 2003 | B2 |
6629108 | Frey | Sep 2003 | B2 |
6629273 | Patterson | Sep 2003 | B1 |
6643795 | Sicola | Nov 2003 | B1 |
6647514 | Umberger | Nov 2003 | B1 |
6658590 | Sicola | Dec 2003 | B1 |
6663003 | Johnson | Dec 2003 | B2 |
6672509 | Shimada et al. | Jan 2004 | B2 |
6681308 | Dallmann | Jan 2004 | B1 |
6708285 | Oldfield | Mar 2004 | B2 |
6715101 | Oldfield | Mar 2004 | B2 |
6718404 | Reuter | Apr 2004 | B2 |
6718434 | Veitch | Apr 2004 | B2 |
6721902 | Cochran | Apr 2004 | B1 |
6725393 | Pellegrino | Apr 2004 | B1 |
6742020 | Dimitroff | May 2004 | B1 |
6745207 | Reuter | Jun 2004 | B2 |
6763409 | Elliot | Jul 2004 | B1 |
6772231 | Reuter | Aug 2004 | B2 |
6775790 | Reuter | Aug 2004 | B2 |
6795904 | Kamvysselis | Sep 2004 | B1 |
6802023 | Oldfield | Oct 2004 | B2 |
6807605 | Umberger | Oct 2004 | B2 |
6817522 | Brignone | Nov 2004 | B2 |
6823453 | Hagerman | Nov 2004 | B1 |
6839824 | Camble | Jan 2005 | B2 |
6842833 | Phillips | Jan 2005 | B1 |
6845403 | Chadalapaka | Jan 2005 | B2 |
20020019863 | Reuter | Feb 2002 | A1 |
20020019908 | Reuter | Feb 2002 | A1 |
20020019920 | Reuter | Feb 2002 | A1 |
20020019922 | Reuter | Feb 2002 | A1 |
20020019923 | Reuter | Feb 2002 | A1 |
20020048284 | Moulton | Apr 2002 | A1 |
20020188800 | Tomaszewski | Dec 2002 | A1 |
20030051109 | Cochran | Mar 2003 | A1 |
20030056038 | Cochran | Mar 2003 | A1 |
20030063134 | Lord | Apr 2003 | A1 |
20030074492 | Cochran | Apr 2003 | A1 |
20030079014 | Lubbers | Apr 2003 | A1 |
20030079074 | Sicola | Apr 2003 | A1 |
20030079082 | Sicola | Apr 2003 | A1 |
20030079083 | Lubbers | Apr 2003 | A1 |
20030079102 | Lubbers | Apr 2003 | A1 |
20030079156 | Sicola | Apr 2003 | A1 |
20030084241 | Lubbers | May 2003 | A1 |
20030101318 | Kaga | May 2003 | A1 |
20030110237 | Kitamura | Jun 2003 | A1 |
20030126315 | Tan | Jul 2003 | A1 |
20030126347 | Tan | Jul 2003 | A1 |
20030140191 | McGowen | Jul 2003 | A1 |
20030145045 | Pellegrino | Jul 2003 | A1 |
20030145130 | Schultz | Jul 2003 | A1 |
20030170012 | Cochran | Sep 2003 | A1 |
20030177323 | Popp | Sep 2003 | A1 |
20030187847 | Lubbers | Oct 2003 | A1 |
20030187947 | Lubbers | Oct 2003 | A1 |
20030188085 | Arakawa | Oct 2003 | A1 |
20030188114 | Lubbers | Oct 2003 | A1 |
20030188119 | Lubbers | Oct 2003 | A1 |
20030188153 | Demoff | Oct 2003 | A1 |
20030188218 | Lubbers | Oct 2003 | A1 |
20030188229 | Lubbers | Oct 2003 | A1 |
20030188233 | Lubbers | Oct 2003 | A1 |
20030191909 | Asano | Oct 2003 | A1 |
20030191919 | Sato | Oct 2003 | A1 |
20030196023 | Dickson | Oct 2003 | A1 |
20030212781 | Kaneda | Nov 2003 | A1 |
20030229651 | Mizuno | Dec 2003 | A1 |
20030236952 | Grieff | Dec 2003 | A1 |
20030236953 | Grieff | Dec 2003 | A1 |
20040019740 | Nakayama | Jan 2004 | A1 |
20040022546 | Cochran | Feb 2004 | A1 |
20040024838 | Cochran | Feb 2004 | A1 |
20040024870 | Hirata | Feb 2004 | A1 |
20040024961 | Cochran | Feb 2004 | A1 |
20040034745 | Hameed | Feb 2004 | A1 |
20040049634 | Cochran | Mar 2004 | A1 |
20040078638 | Cochran | Apr 2004 | A1 |
20040078641 | Fleischmann | Apr 2004 | A1 |
20040128404 | Cochran | Jul 2004 | A1 |
20040215602 | Cioccarelli | Oct 2004 | A1 |
20040230859 | Cochran | Nov 2004 | A1 |
20040267959 | Cochran | Dec 2004 | A1 |
20050190660 | Wakelin et al. | Sep 2005 | A1 |
20050229020 | Goodman et al. | Oct 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20060171055 A1 | Aug 2006 | US |