METHOD AND APPARATUS FOR ANALYZING A MASS DATA STORAGE DEVICE, SUCH AS FOR TROUBLESHOOTING A CARTRIDGE TAPE DRIVE
Method and apparatus for analyzing a mass data storage device, such as for troubleshooting a cartridge tape drive device. In one embodiment, the method comprises: physically associating non-volatile memory with a removable media storage device, storing information in the non-volatile memory regarding characteristics of the removable media storage device, and providing the non-volatile memory and the removable media storage device for service. Information stored in the non-volatile memory is available for use by a service technician. This information includes at least a first data structure associated with a state of the removable media storage device before servicing and at least a second data structure associated with historical information regarding operation of the removable media storage device.
This patent application is a divisional of and Claims the benefit of co-pending U.S. patent application Ser. No. 10/413,867 filed on Apr. 14, 2003 entitled “Method and Apparatus for Analyzing a Mass Data Storage Device, Such as for Troubleshooting a Cartridge Tape Drive Device” by Rod Wideman et al., which is assigned to the assignee of the present invention, and is hereby incorporated by reference in its entirety herein.
Further, co-pending U.S. patent application Ser. No. 10/413,867 filed on Apr. 14, 2003 entitled “Method and Apparatus for Analyzing a Mass Data Storage Device, Such as for Troubleshooting a Cartridge Tape Drive Device” by Rod Wideman et al., is related to and claims the benefit of U.S. provisional application entitled “MASS DATA STORAGE LIBRARY, SUCH AS AN AUTOMATED TAPE LIBRARY,” No. 60/434,268, filed on Dec. 17, 2002, and incorporated herein by reference.
BACKGROUNDA mass data storage device (“Storage Device”) is a device used for storing large amounts of data. Storage Devices come in a variety of forms. One type of Storage Device uses removable mass data-storage media (“Removable Media”). Examples of Storage Devices that use Removable Media are floppy disk drives, compact disk read-only memory (“CD-ROM”) drives, digital video disk read-only memory (“DVD-ROM”) drives, and cartridge tape drives. Examples of Removable Media types used by such devices include floppy disks, CD-ROM disks, DVD-ROM disks, and Digital Linear Tape (“DLT”) cartridges. An example of a type of Storage Device that does not use removable media includes a conventional hard disk drive.
Multiple Storage Devices may be used concurrently by a coupled computer system to store or retrieve very large amounts of data. Multiple Storage Devices may be found in an array configuration or other “library” type of configuration. When used in such a manner, Storage Devices that fail or need servicing may be configured for easy removal and replacement. As an example, a Storage Device may be coupled to a “sled” or tray with a handle on one side such that the Storage Device can be easily removed or added to an array or library of other Storage Devices. In such a configuration, an operator merely slides a Storage Device out of or into a “slot” capable of housing one or more Storage Devices for coupling to a computing device.
A Storage Device that fails to function as expected may be removed for analysis or troubleshooting. A service technician may then attempt to diagnose what caused the failure or unexpected behavior of the removed Storage Device. Another Storage Device or the same Storage Device that was previously removed for analysis or troubleshooting may fill the slot position left vacant by the removed Storage Device.
The inventors have discovered several limitations in the relevant art. For example, when a Storage Device is removed for analysis or troubleshooting, a service technician generally has extremely limited means to determine what problems occurred during operation of the Storage Device. The service technician must analyze or troubleshoot a removed Storage Device without the benefit of information related to the Storage Device that may be used for analysis or troubleshooting. Examples of such information related to the removed Storage Device include: a sequence of commands issued to it, its internal operating environment (such as fan speed or temperature), errors it detected before failure, amount of data written or read between cleanings, or what Removable Media brands were used. This problem is exacerbated when the service technician is not physically located in the same operating premises as the Storage Device. As an example, an operator may remove and send a Storage Device for servicing by a manufacturer of the Storage Device and the manufacturer would typically not be able to determine such information remotely. The Storage Device, if it stores any information locally, is limited to static information, such as information regarding the vendor, product ID, and other identifiers, such as the serial number, and may include a count of the number of removable media loaded on to the drive.
There are presently limited means to anticipate operating problems in Storage Devices before they occur. As an example, by storing information such as the type, number, and frequency of errors experienced with each brand of Removable Media used in a device, and periodically retrieving and analyzing the stored information, it becomes possible to select Removable Media brands causing the fewest errors. Further, a service technician troubleshooting a removed Storage Device may not be aware of additional information available from the external operating environment of the Storage Device that may be useful for analysis or troubleshooting. As an example, it may be useful for the service technician to have access to information from a Storage Device array controller or other library unit such as a robotic arm that removes or inserts Removable Media.
In the drawings, the same reference numbers identify identical or substantially similar elements or acts. To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the figure number in which that element is first introduced and discussed (e.g., element 102 is first introduced and discussed with respect to
Note: The headings provided herein are for convenience and do not necessarily affect the scope or interpretation of the invention.
DETAILED DESCRIPTIONAn embodiment of the invention described below permits analysis or troubleshooting of Storage Devices. In one embodiment, a Storage Device is coupled to persistent storage that does not form a part of the storage normally associated with that Storage Device, such as nonvolatile random access memory coupled to a cartridge tape drive. In the persistent storage, the Storage Device stores device analysis information. Examples of device analysis information include static and historical information that may assist in the analysis or troubleshooting of the Storage Device when the Storage Device is removed from operation. When a Storage Device is removed from operation, the persistent storage remains coupled or physically associated with the removed Storage Device. As a result, a service technician is able to retrieve the stored device analysis information from the coupled persistent storage anywhere and anytime it may be convenient to analyze or troubleshoot the Storage Device. As an example, an operator can remove a Storage Device from operation and send it to a manufacturer of that Storage Device. A service technician can then analyze or troubleshoot the Storage Device several days or weeks later using the device analysis information stored in the persistent storage that is coupled to the removed Storage Device.
Described below is one embodiment of the present invention. It provides for a thorough understanding of, and enabling description for, the depicted embodiment. However, one skilled in the relevant art will understand that the invention may be practiced without many of these details. In other instances, well known structures and functions have not been shown or described in detail to avoid unnecessarily obscuring the description of the embodiments of the invention.
Depicted EmbodimentThe processor 105 is also connected to communications ports 109. The communications ports 109 may be connected to other mass data storage devices similar to or different from the tape drive device 101, host computers, and other devices needing to communicate with the tape drive device 101. The processor 105 communicates with these other devices via the communications ports 109. The processor 105 may react to commands issued from these other devices and command other elements of the tape drive device 101 via the communications bus 111. For example, reacting to an UNLOAD command from a host computer, the processor 105 may issue an unload command to the tape drive 103 via the communications bus 111. The processor 105 may also read and write a historical log of commands it has issued or that were issued to it in the persistent storage 107. When the processor 105 detects errors, such as may occur in the tape drive 103, the processor 105 may store such error conditions in the persistent storage 107. The processor 105 may also collect other information from the tape drive device 101 or its additional elements, including temperatures, fan speeds, serial numbers, and other attributes that may be useful in analyzing or troubleshooting the tape drive device 101. After collecting this information, the processor 105 stores the information in the persistent storage 107. Although such additional elements of the tape drive device 101 are not shown or further described, one skilled in the relevant art will understand what other elements could be found coupled to a mass data storage device and how a processor 105 would detect and collect such information.
One feature of a tape drive device 101 as described above is that the information gathered and stored in the persistent storage 107 is not lost when the tape drive device 101 loses power or is removed for servicing. After the tape drive device 101 is removed for servicing, it will be appreciated that information stored in the persistent storage 107 can still be read, modified, and erased by an operator. For example, as shown in
Elements of the tape drive device 101 described above are carried by a “sled” or tray 115. Several such trays together comprise a library of mass data storage devices (not shown). A tray 115 can be removed from the library for analysis or troubleshooting by using a handle 117.
Alternate embodiments of a tape drive device 101 include additional elements 113 including fans, motors for automated removal of the tray 115, and additional buses 111. An alternate embodiment omits the processor 105 coupled to the tray 115; the tape drive device 101 is instead commanded by a processor located outside the tray 115.
In another embodiment, additional buses are used, such as a first bus for directly coupling the drive 103 and a host or automated tape library system to receive commands (e.g., via the communications port(s) 109, a second bus (not shown) to provide a direct data path from/to the drive 103, a third bus between the persistent storage 107 and a component outside the tray 115, or any combination of such buses.
Some information is collected on a periodic basis. A Timer event triggers the periodic collection of this information. If the event at block 201 is a Timer event, information is updated in the persistent storage 107 at block 205, but block 203 to log the event is bypassed. One familiar with the relevant art will recognize that the frequency with which a Timer event occurs can be varied during development, operation, or both. One familiar with the relevant art will also recognize that a Timer event does not need to be logged because its frequency is predetermined. Not all stored information is updated after every event. Which information is updated upon the occurrence of a given event depends on the type of event.
Referring to
CartridgeLabel 602, CartridgeManufacturer 604, TapeLoadCount 606, and TapeLength 608 fields are updated after a Tape Load event 404. TapeWriteRetries 610 and TapeReadRetries 612 after a Tape Load event 404, before a Tape Unload event 406, or after a Timer event 418. TapeUnrecoveredWriteErrors 614 and TapeUnrecoveredReadErrors 616 fields are updated after a Tape Load event 404, before a Tape Unload event 406, or after an Error event 416. One familiar with the relevant art will understand how to read and understand the remainder of the table illustrated. One familiar with the relevant art will appreciate that not all Events or Information fields appear in the table but can deduce described Events or Information fields nonetheless. For example, a MultiCartridgeVendors field 822 is updated to TRUE only when more than one vendor (or brand) of a tape is used in the tape drive. As another example, Checksum information fields do not appear in this or subsequent tables. One familiar with the relevant art will appreciate that a Checksum field is used to check the integrity of an information record, and is updated whenever any field in the record is updated.
Referring to
Referring to
Referring to
Referring to
Referring to
An RCUmessage field 928 is an array of characters representing information provided by the external operating environment of the tape drive device. The RCUmessage field 928 may be used as a scratchpad to store information about the external environment of the tape drive device 101 that would be useful for analysis or troubleshooting. As an example, this information may be provided by a tape drive device array controller or other library unit, such as a robotic arm. The RCUmessage field 928 may store any information related to systems or operations external to the tape drive device 101, such as information that a servicing technician or third party may wish to obtain. Since the tape drive device 101 may be regularly sent for servicing, this data then becomes available to such third parties. A reserved field 930 is reserved for future use.
Referring to
Referring to
Referring to
Referring to
Various other records or data structures are possible. For example, data structures may also include a Checksum field. A Checksum field may be used for data integrity validation. Some or all of the above data structures may be reset following servicing of the drive.
While the above embodiment emphasizes the use of a tape drive in a Storage Device, and a tape cartridge as a Removable Media, it will be appreciated by those familiar with the relevant art that the above embodiment also applies to other forms of Storage Devices. As examples, the disclosed method and apparatus can be used with recordable and non-recordable varieties of CD-ROM drives, DVD-ROM drives, and hard disk drives. Aspects of the invention can be embodied not only in a Storage Device, but also in other aspects of computing systems and associated peripheral devices. For example, it is anticipated that a method or apparatus as described herein may be used to analyze or troubleshoot digital cameras, printers, and photocopiers. Although the only example of persistent storage given above is nonvolatile random access memory, it is anticipated that other forms of persistent storage can also be used instead of, or in addition to, such persistent physical memory. Data structures described herein may also be modified by changing the types of data collected, the amount of data collected, the data types used, and the order in which the data elements appear in the structures herein described. As an example, when the method described herein is practiced with Storage Devices using read-only media types such as digital video disk drives, the data elements relating to the number of megabytes written may not be used. In general, while specific hardware is described herein, aspects of the invention are equally applicable to other forms of data processing hardware.
While the above embodiment emphasizes the use of physical coupling between a Storage Device and a host or automated library system, it will be appreciated by one familiar with the relevant art that the above embodiment also applies to other forms of coupling, such as via a wireless link.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive as opposed to exclusive or exhaustive sense; that is to say, in a sense of “including, but not limited to.” Words using the singular or plural number also include the plural or singular number respectively. The words “herein,” “above,” “below,” and words of similar import, when used in this application, shall refer to this application as a whole and not to any particular portion of this application. The word “information” relates to any form of data that is capable of being stored in digital form. The word “update” in its various forms as used above relates to storing information for the first time, modifying information already stored, or removing previously stored information. The word “service” in its various forms as used herein relating to a Storage Device includes removing a Storage Device for analysis or troubleshooting.
The above detailed descriptions of embodiments of this invention are not intended to be exhaustive or to limit the invention to the precise form disclosed above. While specific embodiments of, and examples for, the invention are described above for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. For example, while steps or blocks are presented in a given order, alternative embodiments may perform routines having steps or blocks in a different order. The teachings of the invention provided herein can be applied to other systems, and not necessarily just to tape drives as described herein. The various embodiments described herein can be combined to provide further embodiments. These and other changes can be made to the invention in light of the detailed description.
In general, the terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification, unless the above detailed description explicitly defines such terms. Accordingly, the actual scope of the invention encompasses the disclosed embodiments and all equivalent ways of practicing or implementing the invention under the claims. While certain aspects of the invention are presented below in certain claim forms, the inventors contemplate the various aspects of the invention in any number of claim forms. Accordingly, the inventors reserve the right to add additional claims after filing the application to pursue such additional claim forms for other aspects of the invention.
Claims
1. A method associated with a removable media data storage device, the method comprising:
- physically associating non-volatile memory with the removable media storage device;
- storing information in the non-volatile memory regarding characteristics of the removable media storage device; and
- providing the non-volatile memory and the removable media storage device for service, wherein the information stored in the non-volatile memory is available for use by a servicing technician.
2. The method of claim 1 further comprising:
- storing information associated with a state of the removable media storage device before servicing of the removable media storage device.
3. The method of claim 1 further comprising:
- storing information associated with historical information regarding operation of the removable media storage device.
4. Them method of claim 3 wherein said historical information is selected from the group consisting of: a fan speed, a temperature, a number of read and write errors, and a use time of the removable media storage device.
5. The method of claim 1 further comprising:
- storing information associated with status conditions of a storage library from which the removable media storage device was previously associated.
6. The method of claim 1 wherein said physically associating comprises:
- mounting said non-volatile memory and said removable media storage device on a tray.
7. A removable media data storage troubleshooting system comprising:
- a removable media storage device,
- a non-volatile memory unit physically associated with but separate from the removable media storage device, said non-volatile memory unit external to a housing associated with the removable media storage device;
- a log information stored in the non-volatile memory unit, wherein the log information relates to operation or performance of the removable media storage device for troubleshooting the removable media storage device.
8. The removable media data storage troubleshooting system of claim 7 wherein said log information further comprising:
- at least a first data structure storing a state of the removable media storage device.
9. The removable media data storage troubleshooting system of claim 7 wherein said log information further comprising:
- at least a second data structure storing cumulative information regarding operation and performance of the removable media storage device.
10. Them removable media data storage troubleshooting system of claim 9 wherein said cumulative information is selected from the group consisting of: a fan speed, a temperature, a number of read and write errors, and a use time of the removable media storage device.
11. The removable media data storage troubleshooting system of claim 7 wherein said log information further comprising:
- at least a third data structure storing commands associated with said removable media storage device.
12. Them removable media data storage troubleshooting system of claim 11 wherein said commands are selected from the group consisting of: load, unload, read tape motion status and read cartridge information.
13. The removable media data storage troubleshooting system of claim 7 further comprising:
- a sled for mounting said non-volatile memory and said removable media storage device thereon.
14. A method associated with a removable media data storage device, the method comprising:
- physically associating non-volatile memory with the removable media storage device;
- storing information in the non-volatile memory regarding characteristics of the removable media storage device; and
- providing the non-volatile memory and the removable media storage device for service, wherein the information stored in the non-volatile memory is available for use by a servicing technician, and
- wherein the stored information includes: at least a first data structure associated with a state of the removable media storage device before servicing of the removable media storage device, and at least a second data structure associated with historical information regarding operation of the removable media storage device.
15. The method of claim 14 wherein the stored information includes a data structure representing information regarding status conditions of a storage library from which the removable media storage device was previously associated.
16. Them method of claim 14 wherein said historical information is selected from the group consisting of: a fan speed, a temperature, a number of read and write errors, and a use time of the removable media storage device.
17. The method of claim 14 further comprising:
- storing information associated with status conditions of a storage library from which the removable media storage device was previously associated.
18. The method of claim 14 wherein said physically associating comprises:
- mounting said non-volatile memory and said removable media storage device on a tray.
19. The method of claim 14 further comprising:
- storing in the non-volatile memory unit at least a third data structure associated with commands associated with said removable media storage device.
20. Them method of claim 19 wherein said commands are selected from the group consisting of: load, unload, read tape motion status and read cartridge information.
Type: Application
Filed: Feb 27, 2009
Publication Date: Jun 25, 2009
Inventors: Roderick B. WIDEMAN (Shakopee, MN), Carsten H. PRIGGE (Parker, CO), Roger B. COOK (Highlands Ranch, CO)
Application Number: 12/395,552
International Classification: G06F 12/00 (20060101); H05K 5/00 (20060101); G06F 12/16 (20060101);