Abstract:
A tape cartridge having dual cartridge memory modules to provide memory redundancy, and a method and apparatus for providing redundancy of cartridge memory information within a tape cartridge. The tape cartridge comprises at least first and second cartridge memory modules, each of which stores an identical set of critical information. Each of the first and second cartridge memory modules includes enough critical information to recover from a failure of either of the cartridge memory modules. The method comprises the steps of providing at least two cartridge memory modules in the tape cartridge, and storing an identical set of critical information in each of the two cartridge memory modules. Each of the two cartridge memory modules includes enough critical information to recover from a failure of either cartridge memory module. In a preferred embodiment, the CM modules are stacked one on top of another and increase the amount of space available for tape directory storage.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    This invention generally relates to cartridge memory modules. More specifically, the invention relates to a tape cartridge having dual cartridge memory modules to provide memory redundancy, and to a method and apparatus to provide redundancy of cartridge memory information by the use of dual cartridge memory modules.  
           [0003]    2. Background Art  
           [0004]    Accessing data stored on linear tape is a function of data density and tape length. The longer the tape length, the longer it may take to access data on it. Current Linear Tape Open (LTO) products make use of a cartridge memory (CM) module to store tape directory and end of data (EOD) information.  
           [0005]    In use, the CM modules are physically installed within tape cartridges, and the CM modules are addressed and modified by use of a contactless interface. Information read and updated in the CM module is accomplished from a transmitter incorporated into the tape drive. A list of standard or common CM memory contents, for example, is given in the LTO Tape Format Standard—ECMA 319 Data Interchange on 12, 7 mm 384 Track Magnetic Tape Cartridges—Ultrium 1 Format—Annex D LTO Cartridge Memory.  
           [0006]    One type of information stored on CM modules is tape directory information, which is comprised of data that relate the physical position of key landmarks on the tape to the logical record found at that landmark. On LTO media, the physical data are conventionally addressed as longitudinal position (LPOS) (length wise access) by wrap position (traverse wise access). According to industry standards, there are 0.0072 meters per LPOS unit, each wrap is 580 meters (or  80555  LPOS unit in length), and there are forty-eight wraps across the width of the tape.  
           [0007]    The cartridge memory technology used in the first generation LTO products (4 KB memory limitation) has imposed the limit on the number of tape directory entries to only 96 entries (two entries per wrap×48 wraps). Thus, the tape directory landmark information is limited to the mid-point and end-point of each wrap, resulting in 290 meters (580/2) meters between landmark information points. These landmark points, it may be noted, are referred to as wrap sections in the ECMA 319 Standard.  
           [0008]    Table I below gives an example of tape directory information, and Table II below gives an example of information available at a wrap section.  
                                                           TABLE I                           Tape Directory            Field   R/O   Offset   Bytes   Description                    Page Id   RI   0   2   This field shall be set to (0103)                       indicating the Tape Directory                       Page.       Page Length   RI   2   2   This field shall be set to (0610)                       which indicates the length of                       this Page.       FID Tape   O   4   4   The content of this field is not       Write Pass               defined by this RCMA Standard                       and shall be ignored in                       interchange.       Reserved   RU   8   8   These bytes shall be set to (00).       Wrap Section 0   RI   16   16   As defined below.       Wrap Section 1   RI   32   16       .   .   .   .       .   .   .   .       .   .   .   .       Wrap   RI   1520   16       Section 94       Wrap   RI   1536   16       Section 95                  
 
           [0009]    [0009]                                               TABLE II                           Wrap Section            Field   Bytes   Description                    Per   Data   4   This field shall specify the Data Set Identity of       Wrap   Set Id       the last Data Set written in this wrap section. If       Section           this wrap section does not contain valid Data                   Sets, then this field shall be set to (FFFFFFFF).           Record   4   If this Wrap Section is valid, this field shall           Count       contain the number of Records that are started                   in the current Wrap Section. If the Data Set                   ID of this Wrap Section is (FFFFFFFF) and                   hence this Wrap Section is invalid, the Record                   Count field is not defined for interchange           File   4   If this Wrap Section is valid, this field shall           Mark       contain the number of File Marks that are           Count       within the current Wrap Section. If the Data                   Set ID of this Wrap Section is (FFFFFFFF)                   and hence this Wrap Section is invalid, the                   File Mark Count field is not defined for                   interchange.           CRC   4   This field shall specify the CRC generated over                   bytes 0 to 11 of this section of this wrap                   section.                    
           [0010]    The logical record found at each landmark is also recorded in each tape directory entry. Due to variances in host transfer record sizes and in compression ratios, the location of records is not linear on the tape. Because of this, locating to a random logical block requires a specialized algorithm to interpolate the physical position of that record from the two reference points (the mid-point landmark and the end-point landmark) of each wrap. Given the coarse nature of the tape directory (one every half wrap, or wrap section), the algorithm must approximate such that overshoots are avoided. Such approximations limit the effectiveness and speed of the search algorithm. In addition, the algorithm must take extreme caution where repositioning records (establishing a new sequence) to prevent encountering and referencing records that have become obsolete due to on-the-fly rewriting, which is permitted by industry standards.  
           [0011]    End of data (EOD) information provides the physical position (LPOS and wrap) of the End-of-Data marker. Tables III and IV below give examples of end-of-data information.  
                                     TABLE III                           EOD Information            Field   R/O   Offset   Bytes   Description               Page Id   RI   0   2   This field shall be set to (0104)                       indicating the EOD                       Information Page.       Page Length   RI   2   2   This field shall be set to (0040)                       which indicates                       the length of this page.       Tape Write   RI   4   4   This field shall indicate the       Pass for last               current value of the Tape       written EOD               Write Pass.       Thread Count   RI   8   4   This field shall specify the value                       of the Thread Count field in the                       Cartridge Status Information                       when the EOD Data Set was                       written.       Record Count   RI   12   6   The field shall specify the       at EOD               number of Records that are                       contained on the tape between                       BOT and EOD.       File Mark   RI   18   6   This field shall specify the       Count at EOD               number of File Marks that are                       contained on the tape between                       the BOT and EOD.       EOD Data Set   RI   24   4   This field shall specify the Data       Number               Set number of the EOD Data                       Set.       Wrap Section   RI   28   4   This field shall specify the       Number of               identification of the wrap section       EOD               in which EOD is contained.                  
 
           [0012]    [0012]                                                     TABLE IV                       Field   R/O   Offset   Bytes   Description                                Validity of   RI   32   2   This field shall indicate the current       EOD               status of the information held about                       EOD. This shall be set to                       (0000): The position of EOD is                       unknown.                       (0001): The information in this area                       identifies the location of EOD.                       (00002): A Backup was in progress,                       and so there is no EOD Data                       Set on tape. The EOD Information                       Page shall specify details of a Data                       Set that is known to be at or before                       the current location on tape.                       (0003): A Backup has been                       performed, but the drive failed to                       write the EOD Data Set to tape                       correctly. The EOD Information Page                       shall contain details of the Data Set                       that caused the Backup to fail.       First CQ   RI   34   2   This field shall specify the Absolute       Set               CQ Set Number (CAN) of the first       Number               CQ Set in the EOD Data Set.       Physical   RI   36   4   This field shall specify the LPOS       Position               value information at which EOD was       of EOD               written. This shall be a value for a                       LPOS Mark that lies within, or                       before, the DSS preceding the EOD                       Data Set.       Reserved   RI   40   20   These bytes shall be set to all (00).       CRC   RI   60   4   This field shall specify the CRC                       generated over bytes 0 to 59 of                       this Page.                    
           [0013]    If a failure of a cartridge memory module occurs, accessing tape data is limited to linear (physical) searches, which may take a substantial length of time. For instance, on the first generation product, the time to locate to the last record on tape may take almost two hours (48 wraps×580 meters per wrap×4 meters per second (read velocity)=6960 seconds, which is nearly two hours). EOD information would also be limited to a linear search.  
         SUMMARY OF THE INVENTION  
         [0014]    An object of this invention is to provide redundancy of cartridge memory information in a tape cartridge.  
           [0015]    Another object of this invention is to provide a cartridge memory module with higher resolution tape directory information.  
           [0016]    A further object of this invention is to incorporate multiple cartridge memory modules in a tape cartridge.  
           [0017]    Another object of the present invention is to stack cartridge memory modules, one on top of the other, in a tape cartridge to increase the amount of space available for tape directory storage.  
           [0018]    A further object of the invention is to provide additional cartridge module memory space that can be used exclusively for tape directory and end-of-data information.  
           [0019]    These and other objectives are attained with a tape cartridge having dual cartridge memory modules to provide memory redundancy, and to a method and apparatus for providing redundancy of cartridge memory information within a tape cartridge. The tape cartridge comprises at least first and second cartridge memory modules, each of which stores an identical set of critical information. Each of the first and second cartridge memory modules includes enough critical information to recover from a failure of either of the cartridge memory modules. The method comprises the steps of providing at least two cartridge memory modules in the tape cartridge, and storing an identical set of critical information in each of the two cartridge memory modules. Each of the two cartridge memory modules includes enough critical information to recover from a failure of either cartridge memory module.  
           [0020]    In a preferred embodiment, multiple cartridge memory modules are incorporated in a tape cartridge. Stacked, one on top of the other, the CM modules increase the amount of space available for tape directory storage. The additional CM memory space can be set aside exclusively for tape directory and EOD information, effectively more than doubling the tape directory information. This may be used to provide redundancy of CM information and higher resolution of the tape directory.  
           [0021]    Further benefits and advantages of the invention will become apparent from a consideration of the following detailed description, given with reference to the accompanying drawings, which specify and show preferred embodiments of the invention. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0022]    [0022]FIGS. 1 and 2 show a tape cartridge including plural cartridge memory modules.  
         [0023]    [0023]FIGS. 3 and 4 are diagrammatic representations and block diagrams of a tape drive with which the present invention may be used.  
         [0024]    [0024]FIG. 5 is a flow chart illustrating a procedure that may be used to determine if plural cartridge memory modules are present in a tape cartridge.  
         [0025]    [0025]FIG. 6 is a flow chart showing a procedure for reading a pair of cartridge memory modules. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0026]    [0026]FIGS. 1 and 2 illustrate a tape cartridge  10 . In a conventional manner, the cartridge  10  includes a housing  12  and a recording tape  14  disposed in the housing for recording information or data; and, as is standard, the tape in cartridge  10  is preferably comprised of forty-eight wraps. Also, preferably, the tape cartridge  10  includes at least two cartridge memory module  16  that provides various functions.  
         [0027]    As discussed above, accessing data stored on the tape of cartridge  10  is a function of data density and tape length. Tape Directory information is stored in the cartridge memory module  16  and possibly on a portion of the recording tape, and this Directory information is comprised of data that relates the physical position of key landmarks on the tape to the logical record found at that landmark. Also, as is standard, the tape directory information is limited to identifying the mid-point and end-point of each wrap.  
         [0028]    In use, a tape drive is used to record and retrieve customer data onto/from the tape recording medium  14 . This is typically done by linearly and transversely positioning to physical position on the recording medium and accessing or updating logical data by means of a tape head.  
         [0029]    A tape drive is also used to read and update cartridge memory module information regarding the physical position of logical data on the tape recording medium, and commonly this may be done by a contactless transmitter incorporated into the tape drive. More specifically, when the tape drive wants to access a particular record on the tape  14  (for reading or updating purposes), the drive will access the Tape Directory from the cartridge memory to determine the physical position of where to look for that record. This procedure generally works very well. However, in the prior art, where a tape cartridge includes only one memory module  16 , if a failure of that one cartridge memory module occurs, accessing data is limited to linear searches from the physical beginning of the tape, and as a result, it may take almost two hours to locate the last record on the tape.  
         [0030]    In order to avoid this, and with particular reference to FIG. 2, the present invention incorporates plural cartridge memory modules  16  internal to tape cartridge  10 . Preferably, stacked one on top of the other, the cartridge memory modules  16  increase the amount of space available for Tape Directory storage. The additional cartridge memory space can be used exclusively for Tape Directory and end-of-data (EOD) information. This effectively more than doubles the space available for Tape Directory Information, and this added space may be used to provide redundancy of cartridge memory information and a higher resolution of the Tape Directory information. For example, critical Tape Directory information can be stored in both cartridge memory modules  16  so that, in case of a failure of one of the cartridge memory modules, that critical information can still be read from the other cartridge memory module. The end-of-data information, and other sensitive information, can be duplicated in both cartridge memory modules. This resolves the problem of a single point of failure.  
         [0031]    [0031]FIGS. 3 and 4 illustrate a tape drive  50  with which cartridge  10  may be used. Tape drive  50  may be located in a data storage library or may be a separate drive. Conventional elements of the tape drive include a loader  51 , which is a mechanism, operated by drive servos  52 , which moves a cartridge  10  into and out of the tape drive  50  in the direction of arrows  53  and either moves the cartridge vertically or moves a clutch  54  vertically in the direction of arrows  55 . The vertical movement of the cartridge or the vertical movement of the clutch brings the clutch into engagement with the hub  22  of the cartridge  10 . A tape threader  56  engages the tape cartridge leader block  24 , and, while the drive servos  52  cause a motor  57  to rotate the clutch  54  to release and unwind the tape media, drive servos operate the tape threader  56  to move the tape media along path  58  past and into engagement with “D” bearings  59  and tape head  60 , and into engagement with a take-up reel  61 . After the threading operation is complete, a drive controller  63  and head servos  64  operate a head servo-mechanism  65  to move the tape head  61  vertically in the directions of arrows  66  while the drive controller and drive servos  52  operate motor  57  and take-up reel  61  to move the tape media in the longitudinal direction. The vertical movement of head  60  brings the servo head, and therefore the data heads, into alignment.  
         [0032]    In the embodiment of tape drive  50  shown in FIGS. 3 and 4, memory interface  70  is located in the tape drive  50  so that the loader  51  first positions the memory device  16  at the memory interface. During any subsequent vertical motion of the cartridge  10 , the memory device  16  will stay adjacent with the memory interface  70 . In use, memory interface  70  transfers the tape directory and EOD information from the memory device  16  to the controller  63 . The controller  63  comprises a data processor and includes a memory  71 . The controller processor may have the capability of processing the tape directory and EOD information. The controller uses the tape directory and EOD information to access data which is to be recorded or sent to the host via the host interface  72 .  
         [0033]    Because two cartridge memory modules  16  may be within accessing range of the tape drive at the same time, preferably, the tape drive is provided with a procedure to determine if this is the case, and if so, to identify and to communicate with each of the individual modules  16 . Suitable procedures for doing this are known in the art, and for example, one procedure that may be used is illustrated at  75  in FIG. 5.  
         [0034]    Each cartridge module is provided with a unique serial number or identifier; and at step  76 , the tape drive, or, more specifically, a processor controlled transmit/receiver on the tape drive, sends a request for a cartridges serial number. If no reply is received at step  77 , then no LTO-cartridge module is within range, as indicated by step  78 , and the tape drive exits routine  75 . If, however, a reply is received, then the routine proceeds to step  79 , where it is determined whether more than one cartridge memory module is within range, a situation referred to as a collision. Any suitable sub-routine may be used for this purpose; and, for example, this may be done by determining whether the data received by the tape drive, in response to the request for the serial number, contains invalid bits.  
         [0035]    If all of the individual bits are valid, which indicates that no collision was detected, then the routine goes to step  80 , where the serial number, which typically is a byte, is checked to determine if it is valid. If it is not valid, an error condition has occurred, as indicated by step  81 . In contrast, if the serial number is valid, then the routine concludes that a single, valid cartridge memory module is present, as indicated by step  82 .  
         [0036]    If at step  79 , one or more of the received individual bits is not valid, then the routine  75  concludes that more than one cartridge memory module is present and moves to step  83 . These invalid bits are referred to as collided bits; and at step  83 , the routine sets each of the collided bits either to zero or one, thereby obtaining a possible serial number. At step  84 , the tape drive then transmits that serial number, and then waits for a reply, as represented by step  85 . If the transmitted serial number is the actual serial number of one of the cartridge memory modules that is present, that module will send out a confirmation signal. In contrast, if none of the cartridge memory modules present has the transmitted serial number, the tape drive does not receive any reply, as represented by step  86 .  
         [0037]    Steps  79 ,  83 ,  84  and  85  can be repeated until the routine  75  determines the serial numbers of all of the cartridge memory modules that are present within range. Once this is done, the tape drive can then address each of these cartridge memory modules by means of that modules serial number.  
         [0038]    Once the tape drive determines how many cartridge memory modules are within accessing range, the tape drive reads data from the module or modules, and FIG. 6 shows a procedure for doing this. At step  90  of this procedure, the tape drive reads data from a first of the modules, and at step  91  the tape drive determines whether the read data are valid by means of CRC or other commonly used method. If this data are valid, the data are stored at step  92 ; and then at step  93 , the tape drive determines if multiple modules are present. If multiple modules are present, then, at step  94 , a second module is read, and at step  95  the tape drive determines whether this read data are valid. If this data are valid, then, at step  96 , the data read from the first and second modules are combined for an aggregate tape directory information. If, however, at step  93 , a further module is not present, or at step  95  the data read from the second module are not valid, then the tape drive uses only the data read from the first module, as represented at step  97 .  
         [0039]    If at step  91 , the data read from the first module are not valid, the procedure of FIG. 6 proceeds the step  98 , where the tape drive determines whether a second module is present. If a second module is present, that module is read at step  99 ; and if this data are valid, as tested at step  100 , then the tape drive uses only the data read from this second module, as represented at step  101 . If at step  98 , a further module is not present, or at step  100 , the data read from the second module are not valid, then the procedure moves to step  102 . At this step, the tape drive concludes that critical data and tape directory information are not available. In this case, any needed information has to be found by performing linear searches on the tape recording medium, as represented at step  103 .  
         [0040]    The preferred embodiment of the present invention, as described above in detail, provides a number of significant advantages. First, the critical data, such as end-of-data information, maintained in a single cartridge memory module can be duplicated in the secondary module. Also, Tape Directory information can be partitioned such that in the event of a module failure, the data on the remaining module are sufficient to locate the tape data with the same level of resolution as is possible today with a single cartridge memory module. This resolves the problem of a single point-of-failure. Importantly, this redundancy cannot be achieved by simply using a larger cartridge memory module. Using a larger cartridge memory module does provide more memory storage space, but is still subject to a single point of failure. Second, the Tape Directory resolution may be increased, providing more landmark information. This information can be used to locate logical records faster than what can be done with the prior art.  
         [0041]    While it is apparent that the invention herein disclosed is well calculated to fulfill the objects stated above, it will be appreciated that numerous modifications and embodiments may be devised by those skilled in the art, and it is intended that the appended claims cover all such modifications and embodiments as fall within the true spirit and scope of the present invention.