Title: Use of cartridge memory for storing logical library association information
Abstract: An automated data storage library is partitioned into multiple logical libraries. A cartridge memory attached to each data storage cartridge in the library is used to hold library identification information. The library identification information is used to associate each data cartridge with one or more logical libraries. The library identification information may also be used to associate each data storage cartridge to an automated data storage library.
Patent Number: 6,898,480 Issued on 05/24/2005 to Goodman,   et al.
| Inventors:
|
Goodman; Brian Gerard (Tucson, AZ);
Jesionowski; Leonard George (Tucson, AZ);
Etzel; Dietrich (Herrenberg, DE)
|
| Assignee:
|
International Business Machines Corporation (Armonk, NY)
|
| Appl. No.:
|
356577 |
| Filed:
|
February 3, 2003 |
| Current U.S. Class: |
700/213; 700/214; 700/215 |
| Intern'l Class: |
G06F 007/00 |
| Field of Search: |
700/213,214,215,218,219
|
References Cited [Referenced By]
U.S. Patent Documents
| 5164909 | Nov., 1992 | Leonhardt et al.
| |
| 5761503 | Jun., 1998 | Fisher.
| |
| 5786955 | Jul., 1998 | Kori et al.
| |
| 5819309 | Oct., 1998 | Gray.
| |
| 5963971 | Oct., 1999 | Fosler et al.
| |
| 6088182 | Jul., 2000 | Taki et al.
| |
| 6185165 | Feb., 2001 | Jesionowski et al.
| |
| 6195007 | Feb., 2001 | Takayama et al.
| |
| 6286079 | Sep., 2001 | Basham et al.
| |
| 6314338 | Nov., 2001 | Billington.
| |
| 6336163 | Jan., 2002 | Brewer et al.
| |
| 6421196 | Jul., 2002 | Takayama et al.
| |
Primary Examiner: Crawford; Gene O.
Attorney, Agent or Firm: Bates; Allen K.
Claims
1. An automated data storage library comprising:
a plurality of storage shelves for storing data storage cartridges, each of said
data storage cartridges including a cartridge shell and a storage medium;
a library controller for operating said automated data storage library, said
library controller further partitioning said automated data storage library into
one or more logical libraries;
at least one data storage drive coupled to said library controller, said data
storage drive used for reading and/or writing data on said data storage cartridges;
at least one accessor coupled to said library controller, said accessor used
for transporting said data storage cartridges between said storage shelves and
said data storage drive; and
a cartridge memory attached to said cartridge shell, said cartridge memory containing
association information capable of being communicated to said library controller;
wherein said library controller receives said association information from said
cartridge memory and uses said association information to associate one or more
of said data storage cartridges with one or more of said logical libraries.
2. An automated data storage library comprising:
a plurality of storage shelves for storing data storage cartridges, each of said
data storage cartridges including a cartridge shell and a storage medium;
a library controller for operating said automated data storage library, said
library controller further partitioning said automated data storage library into
one or more logical libraries;
at least one data storage drive coupled to said library controller, said data
storage drive used for reading and/or writing data on said data storage cartridges;
at least one accessor coupled to said library controller, said accessor used
for transporting said data storage cartridges between said storage shelves and
said data storage drive; and
a cartridge memory attached to said cartridge shell, said cartridge memory containing
association information capable of being communicated to said library controller;
wherein said library controller receives said association information from said
cartridge memory and uses said association information to associate one or more
of said data storage cartridges with said automated data storage library.
3. A data storage cartridge comprising:
a cartridge shell;
a storage medium for storing information; and
a cartridge memory attached to said cartridge shell, said cartridge memory having
a plurality of memory portions wherein at least one of said plurality of memory
locations contains association information, said association information includes
a logical library identifier and said logical library identifier is used to associate
said data storage cartridge with a logical library.
4. The data storage cartridge of claim 3 wherein said plurality of memory portions
are nonvolatile.
5. A data storage cartridge comprising:
a cartridge shell;
a storage medium for storing information; and
a cartridge memory attached to said cartridge shell, said cartridge memory having
a plurality of memory portions, wherein at least one of said plurality of memory
locations contains association information, said association information includes
an automated data storage library identifier and said automated data storage library
identifier is used to associate said data storage cartridge with an automated data
storage library.
6. The data storage cartridge of claim 5 wherein said plurality of memory portions
are nonvolatile.
7. An automated information storage and retrieval system, said system comprising:
a plurality of storage shelves for storing data storage cartridges, each of said
data storage cartridges including a cartridge shell and a storage medium;
a controller for operating said automated information storage and retrieval system,
said controller further partitioning said automated information storage and retrieval
system into one or more logical information storage and retrieval systems;
at least one information storage device coupled to said controller, said information
storage device used for storage and retrieval of information on said data storage
cartridges;
at least one accessor coupled to said controller, said accessor used for transporting
said data storage cartridges between said storage shelves and said information
storage device;
a cartridge memory attached to said cartridge shell, said cartridge memory containing
at least one memory portion for storing association information; and
a reader for reading said association information from said at least one memory
portion of said cartridge memory;
wherein said controller receives said association information from said reader
and uses said association information to associate one or more of said data storage
cartridges with one or more of said logical information storage and retrieval systems.
8. The system of claim 7, wherein said association information comprises a logical
information storage and retrieval system identifier.
9. The system of claim 7, wherein said association information comprises an automated
information storage and retrieval system identifier.
10. The system of claim 7, wherein said controller receives said association
information from said reader and uses said association information to associate
one or more of said data storage cartridges with said automated information storage
and retrieval system.
11. The system of claim 7 wherein said memory portion is nonvolatile.
12. The system of claim 7 wherein said reader is attached to said accessor.
13. The system of claim 7 wherein said reader is attached to said information
storage device.
14. An automated information storage and retrieval system, said system comprising:
a plurality of storage shelves for storing data storage cartridges, each of said
data storage cartridges including a cartridge shell and a storage medium;
a cartridge memory attached to said cartridge shell, said cartridge memory containing
at least one memory portion for storing association information, wherein said association
information comprises a logical information storage and retrieval system identifier;
a writer for writing said association information to said at least one memory
portion of said cartridge memory;
a controller coupled to said writer for assigning said association information
to said data storage media and directing said writer to write said association
information to said at least one memory portion of said cartridge memory;
at least one information storage device coupled to said controller, said information
storage device used for storage and retrieval of information on said data storage
cartridges; and
at least one accessor coupled to said controller, said accessor used for transporting
said data storage cartridges between said storage shelves and said information
storage device.
15. The system of claim 14, wherein said memory portion is nonvolatile.
16. The system of claim 14, wherein said writer is attached to said accessor.
17. The system of claim 14, wherein said writer is attached to said information
storage device.
18. An automated information storage and retrieval system, said system comprising:
a plurality of storage shelves for storing data storage cartridges, each of said
data storage cartridges including a cartridge shell and a storage medium;
a cartridge memory attached to said cartridge shell, said cartridge memory containing
at least one memory portion for storing association information, wherein said association
information comprises an automated information storage and retrieval system identifier;
a writer far writing said association information to said at least one memory
portion of said cartridge memory;
a controller coupled to said writer for assigning said association information
to said data storage media and directing said writer to write said association
information to said at least one memory portion of said cartridge memory;
at least one information storage device coupled to said controller, said information
storage device used for storage and retrieval of information on said data storage
cartridges; and
at least one accessor coupled to said controller, said accessor used for transporting
said data storage cartridges between said storage shelves and said information
storage device.
19. The system of claim 18, wherein said memory portion is nonvolatile.
20. The system of claim 18, wherein said writer is attached to said accessor.
21. The system of claim 18, wherein said writer is attached to said information
storage device.
22. A method for partitioning an automated data storage library into multiple
logical libraries, said automated data storage library having a plurality of data
storage cartridges and a plurality of storage shelves for storing said data storage
cartridges, said data storage cartridges each having a cartridge memory for holding
association information, said association information including a logical library
identifier, said automated data storage library having a controller for operating
said automated data storage library, said automated data storage library having
at least one accessor coupled to said controller, said accessor used for transporting
said data storage cartridges, said automated data storage library having a reader
coupled to said controller, said reader used for reading said cartridge memory,
said method comprising the steps of:
said controller directing said reader to read said association information from
said cartridge memory;
said controller receiving said association information from said reader; and
said controller using said logical library identifier from said association information
to associate one or more of said data storage cartridges to one or more of said
multiple logical libraries.
23. The method of claim 22 wherein said association information additionally
includes an automated data storage library identifier; and comprising the additional
step of:
said controller using said automated data storage library identifier from said
association information to associate one or more of said data storage cartridges
to said automated data storage library.
24. A method for partitioning an automated data storage library into multiple
logical libraries, said automated data storage library having a plurality of data
storage cartridges and a plurality of storage shelves for storing said data storage
cartridges, said data storage cartridges each having a cartridge memory for holding
association information, said association information including a logical library
identifier, said automated data storage library having a controller for operating
said automated data storage library, said automated data storage library having
a reader coupled to said controller, said reader used for reading said cartridge
memory, said automated data storage library having at least one accessor coupled
to said controller, said accessor used for transporting said data storage cartridges,
said reader attached to said accessor, said method comprising the steps of:
said controller directing said accessor to position said reader in proximity
of at least one of said plurality of data storage cartridges;
said controller directing said reader to read said association information from
said cartridge memory;
said controller receiving said association information from said reader; and
said controller using said logical library identifier from said association information
to associate said at least one of said plurality of data storage cartridges to
one or more of said multiple logical libraries.
25. The method of claim 24 wherein said association information additionally
includes an automated data storage library identifier; and comprising the additional
step of:
said controller using said automated data storage library identifier from said
association information to associate said at least one of said plurality of data
storage cartridges to said automated data storage library.
26. A method for partitioning an automated data storage library into multiple
logical libraries, said automated data storage library having a plurality of data
storage cartridges and a plurality of storage shelves for storing said data storage
cartridges, said data storage cartridges each having a cartridge memory for holding
association information, said association information including a logical library
identifier, said automated data storage library having a controller for operating
said automated data storage library, said automated data storage library having
and a reader coupled to said controller, said reader used for reading said cartridge
memory, said automated data storage library having at least one accessor coupled
to said controller, said accessor used for transporting said data storage cartridges,
said automated data storage library having at least one data storage drive coupled
to said controller, said data storage drive used for reading and/or writing data
on said data storage cartridges, said reader attached to said data storage drive,
said method comprising the steps of:
said controller directing said accessor to position one of said data storage
cartridges in said data storage drive;
said controller directing said data storage drive to read said association information
from said cartridge memory;
said controller receiving said association information from said data storage
drive; and
said controller using said logical library identifier from said association information
to associate said one of said cartridges to one or more of said multiple logical
libraries.
27. The method of claim 26 wherein said association information additionally
includes an automated data storage library identifier; and comprising the additional
step of:
said controller using said automated data storage library identifier from said
association information to associate said one of said cartridges to said automated
data storage library.
28. A method for partitioning an automated data storage library into multiple
logical libraries, said automated data storage library having a plurality of data
storage cartridges and a plurality of storage shelves for storing said data storage
cartridges, said data storage cartridges each having a cartridge memory for holding
association information, said association information including a logical library
identifier, said automated data storage library having a controller for operating
said automated data storage library, said automated data storage library having
at least one accessor coupled to said controller, said accessor used for transporting
said data storage cartridges, said automated data storage library having a writer
coupled to said controller, said writer used for writing said cartridge memory,
said method comprising the steps of:
said controller constructing said logical library identifier of said association
information to associate any of said data storage cartridges to any of said multiple
logical libraries; and
said controller directing said writer to write said association information to
said cartridge memory.
29. The method of claim 28 wherein said association information additionally
includes an automated data storage library identifier; and comprising the additional
step of:
said controller constructing said automated data storage library identifier of
said association information to associate any of said data storage cartridges to
said automated data storage library.
30. A method for partitioning an automated data storage library into multiple
logical libraries, said automated data storage library having a plurality of data
storage cartridges and a plurality of storage shelves for storing said data storage
cartridges, said data storage cartridges each having a cartridge memory for holding
association information, said association information including a logical library
identifier, said automated data storage library having a controller for operating
said automated data storage library, said automated data storage library having
and a writer coupled to said controller, said writer used for writing said cartridge
memory, said automated data storage library having at least one accessor coupled
to said controller, said accessor used for transporting said data storage cartridges,
said writer attached to said accessor, said method comprising the steps of:
said controller constructing said logical library identifier of said association
information to associate any of said data storage cartridges to any of said multiple
logical libraries;
said controller directing said accessor to position said writer in proximity
of at least one of said plurality of data storage cartridges; and
said controller directing said writer to write said association information to
said cartridge memory.
31. The method of claim 30 wherein said association information additionally
includes an automated data storage library identifier; and comprising the additional
step of:
said controller constructing said automated data storage library identifier of
said association information associating any of said data storage cartridges to
said automated data storage library.
32. A method for partitioning an automated data storage library into multiple
logical libraries, said automated data storage library having a plurality of data
storage cartridges and a plurality of storage shelves for storing said data storage
cartridges, said data storage cartridges each having a cartridge memory for holding
association information, said association information including a logical library
identifier, said automated data storage library having a controller for operating
said automated data storage library, said automated data storage library having
and a writer coupled to said controller, said writer used for writing said cartridge
memory, said automated data storage library having at least one accessor coupled
to said controller, said accessor used for transporting said data storage cartridges,
said automated data storage library having at least one data storage drive coupled
to said controller, said data storage drive used for reading and/or writing data
on said data storage cartridges, said writer attached to said data storage drive,
said method comprising the steps of:
said controller constructing said logical library identifier of said association
information to associate any of said data storage cartridges to any of said multiple
logical libraries;
said controller directing said accessor to position one of said data storage
cartridges in said data storage drive; and
said controller directing said data storage drive to write said association information
to said cartridge memory.
33. The method of claim 32 wherein said association information additionally
includes an automated data storage Library identifier; and comprising the additional
step of:
said controller constructing said automated data storage library identifier of
said association information associating any of said data storage cartridges to
said automated data storage library.
34. A computer program product on a computer-readable medium usable with a programmable
computer, said computer program product having computer readable program code embodied
therein for partitioning an automated data storage library into multiple logical
libraries, said automated data storage library having a plurality of data storage
cartridges and a plurality of storage shelves for storing said data storage cartridges,
said data storage cartridges each having a cartridge memory for holding association
information, said association information including a logical library identifier,
said automated data storage library having a controller for operating said automated
data storage library, said automated data storage library having at least one accessor
coupled to said controller, said accessor used for transporting said data storage
cartridges, said automated data storage library having a reader coupled to said
controller, said reader used for reading said cartridge memory, said computer program
product comprising:
computer readable program code which causes the reading of said association information
from said cartridge memory;
computer readable program code which causes said controller to receive said association
information from said reader; and
computer readable program code which causes said controller to use said logical
library identifier from said association information to associate one or more of
said data storage cartridges to one or more of said multiple logical libraries.
35. The computer readable program product of claim 34 wherein said association
information additionally includes an automated data storage library identifier;
and further comprising;
computer readable program code that causes said controller to use said automated
data storage library identifier from said association information to associate
one or more of said data storage cartridges to said automated data storage library.
36. A computer program product on a computer-readable medium usable with a programmable
computer, said computer program product having computer readable program code embodied
therein for partitioning an automated data storage library into multiple logical
libraries, said automated data storage library having a plurality of data storage
cartridges and a plurality of storage shelves for storing said data storage cartridges,
said data storage cartridges each having a cartridge memory for holding association
information, said association information including a logical library identifier,
said automated data storage library having a controller for operating said automated
data storage library, said automated data storage library having a reader coupled
to said controller, said reader used for reading said cartridge memory, said automated
data storage library having at least one accessor coupled to said controller, said
accessor used for transporting said data storage cartridges, said reader attached
to said accessor, said computer program product comprising:
computer readable program code which causes said accessor to position said reader
in proximity of one of said data storage cartridges;
computer readable program code which causes the reading of said association information
from said cartridge memory;
computer readable program code which causes said controller to receive said association
information from said reader; and
computer readable program code which causes said controller to use said logical
library identifier from said association information to associate one or more of
said data storage cartridges to one or more of said multiple logical libraries.
37. The computer readable program product of claim 36 wherein said association
information additionally includes an automated data storage library identifier,
and further comprising;
computer readable program code that causes said controller to use said automated
data storage library identifier from said association information to associate
one or more of said data storage cartridges to said automated data storage library.
38. A computer program product on a computer-readable medium usable with a programmable
computer, said computer program product having computer readable program code embodied
therein for partitioning an automated data storage library into multiple logical
libraries, said automated data storage library having a plurality of data storage
cartridges and a plurality of storage shelves for storing said data storage cartridges,
said data storage cartridges each having a cartridge memory for holding association
information, said association information including a logical library identifier,
said automated data storage library having a controller for operating said automated
data storage library, said automated data storage library having and a reader coupled
to said controller, said reader used for reading said cartridge memory, said automated
data storage library having at least one accessor coupled to said controller, said
accessor used for transporting said data storage cartridges, said automated data
storage library having at least one data storage drive coupled to said controller,
said data storage drive used for reading and/or writing data on said data storage
cartridges, said reader attached to said data storage drive, said computer program
product comprising:
computer readable program code which causes said controller to direct said accessor
to position one of said data storage cartridges in said data storage drive;
computer readable program code which causes the reading of said association information
from said cartridge memory;
computer readable program code which causes said controller to receive said association
information from said data storage drive; and
computer readable program code which causes said controller to use said logical
library identifier from said association information to associate one or more of
said data storage cartridges to one or more of said multiple logical libraries.
39. The computer readable program product of claim 38 wherein said association
information additionally includes an automated data storage library identifier;
and further comprising;
computer readable program code that causes said controller to use said automated
data storage library identifier from said association information to associate
one or more of said data storage cartridges to said automated data storage library.
40. A computer program product on a computer-readable medium usable with a programmable
computer, said computer program product having computer readable program code embodied
therein for partitioning an automated data storage library into multiple logical
libraries, said automated data storage library having a plurality of data storage
cartridges and a plurality of storage shelves for storing said data storage cartridges,
said data storage cartridges each having a cartridge memory for holding association
information, said association information including a logical library, said automated
data storage library having a controller for operating said automated data storage
library, said automated data storage library having at least one accessor coupled
to said controller, said accessor used for transporting said data storage cartridges,
said automated data storage library having a writer coupled to said controller,
said writer used for writing said cartridge memory, said computer program product comprising:
computer readable program code which causes said controller to construct said
logical library identifier of said association information to associate any of
said data storage cartridges to any of said multiple logical libraries; and
computer readable program code which causes said controller to direct said writer
to write said association information to said cartridge memory.
41. The computer readable program product of claim 40 wherein said association
information additionally includes an automated data storage library identifier,
and further comprising:
computer readable program code that causes said controller to construct said
automated data storage library identifier of said association information to associate
any of said data storage cartridge, to said automated data storage library.
42. A computer program product on a computer-readable medium usable with a programmable
computer, said computer program product having computer readable program code embodied
therein for partitioning an automated data storage library into multiple logical
libraries, said automated data storage library having a plurality of data storage
cartridges and a plurality of storage shelves for storing said data storage cartridges,
said data storage cartridges each having a cartridge memory for holding association
information, said association information including a logical library identifier,
said automated data storage library having a controller for operating said automated
data storage library, said automated data storage library having and a writer coupled
to said controller, said writer used for writing said cartridge memory, said automated
data storage library having at least one accessor coupled to said controller, said
accessor used for transporting said data storage cartridges, said writer attached
to said accessor, said computer program product comprising:
computer readable program code which causes said controller to construct said
logical library identifier of said association information to associate any of
said data storage cartridges to any of said multiple logical libraries;
computer readable program code which causes said controller to direct said accessor
to position said writer in proximity of at least one of said plurality of data
storage cartridges; and
computer readable program coda which causes said controller to direct said writer
to write said association information to said cartridge memory.
43. The computer readable program product of claim 42 wherein said association
information additionally includes an automated data storage library identifier;
and further comprising;
computer readable program code that causes said controller to construct said
automated data storage library identifier of said association information associating
any of said data storage cartridges to said automated data storage library.
44. A computer program product on a computer-readable medium usable with a programmable
computer, said computer program product having computer readable program code embodied
therein for partitioning an automated data storage library into multiple logical
libraries, said automated data storage library having a plurality of data storage
cartridges and a plurality of storage shelves for storing said data storage cartridges,
said data storage cartridges each having a cartridge memory for holding association
information, said association information including a logical library identifier,
said automated data storage library having a controller for operating said automated
data storage library, said automated data storage library having and a writer coupled
to said controller, said writer used for writing said cartridge memory, said automated
data storage library having at least one accessor coupled to said controller, said
accessor used for transporting said data storage cartridges, said automated data
storage library having at least one data storage drive coupled to said controller,
said data storage drive used for reading and/or writing data on said data storage
cartridges, said writer attached to said data storage drive, said computer program
product comprising:
computer readable program code which causes said controller to construct said
logical library identifier of said association information to associate any of
said data storage cartridges to any of said multiple logical libraries;
computer readable program code which causes said controller to direct said accessor
to position one of said data storage cartridges in said data storage drive; and
computer readable program code which causes said controller to direct said data
storage drive to write said association information to said cartridge memory.
45. The computer readable program product of claim 44 wherein said association
information additionally includes an automated data storage library identifier;
and further comprising;
computer readable program code that causes said controller to construct said
automated data storage library identifier of said association information associating
any of said data storage cartridges to said automated data storage library.
Description
TECHNICAL FIELD
This invention relates to automated data storage libraries which transport portable
data storage media cartridges between storage shelves and read/write drives, and,
more particularly the invention concerns a system to identify and track the cartridges
by the use of identification information contained in a memory device located inside
the cartridge.
BACKGROUND OF THE INVENTION
Automated data storage libraries are known for providing cost effective
storage and retrieval of large quantities of data. The data is stored on data storage
media that is typically contained within a cartridge and referred to as a data
storage media cartridge. The media comprises magnetic media (such as magnetic tape
or disks), optical media (such as optical tape or disks), electronic media (such
as PROM, EEPROM, flash PROM, Compactflash™, Smartmedia™, Memory Stick™,
etc.), or other suitable media. The data storage library contains data storage
read/write drives that store data to, and/or retrieve data from the data storage
media. The cartridges are stored inside the library in storage shelves when not
in use by the data storage drives. One or more robot accessors retrieve selected
cartridges from the storage shelves and provide them to data storage drives. Generally,
data storage libraries contain a large number of storage shelves to place the cartridges
when the cartridges are not in use by a read/write drive. Each storage shelve that
may contain a cartridge is referenced or located by the library by a storage shelve
address. The data storage library typically includes control electronics that direct
the accessors operation, communicate with the read/write drives and interface to
one or more host computers to transfer data between the host computer and the data
storage library. Typically, data stored on data storage media of an automated data
storage library, once requested, is needed quickly. Thus, it is desirable that
an automated data storage library be maintained in an operational condition as
much as possible, such as the well known "24×7×365" availability.
Various companies manufacture automated data storage libraries, and each
company has libraries with different features. Early data storage libraries could
only operate with a single host computer. Automated data storage libraries now
offer the capability of sharing the entire library with a plurality of host computers.
Any host computer that is attached to the library may obtain access to all, or
part of the cartridges in the library. The IBM 3584 Ultra Scalable Tape Library
is an example of a product that has the internal capability to allocate read/write
drives and storage shelves to multiple host computers. The data storage library
can be divided into two or more logical libraries, where the robotics and electronics
are usually shared throughout the library; however, the storage shelves and read/write
drives are assigned to one of the logical libraries and are not shared.
One problem with supporting multiple logical libraries within a single data storage
library is the management and tracking of each cartridge. For example, if storage
shelve locations are used to differentiate cartridges that belong to different
logical libraries then the cartridges may be moved around by an operator while
a door is open or the library is powered off. The association of a cartridge to
a logical library must be maintained so that a cartridge assigned to one logical
library does not accidentally end up with another logical library.
U.S. Pat. No. 6,185,165 describes a method of physically partitioning the library
storage and drives into physical areas that are associated with particular logical
libraries. One problem with U.S. Pat. No. 6,185,165 (and other physical mapping
solutions) is that it establishes a physical relationship between logical libraries
and their associated storage. This makes certain desirable library features difficult
(or even impossible) to implement, such as floating home cell (where the physical
location of a cartridge can move for better library efficiency) or logical library
spanning (where additional storage for a logical library may appear outside the
existing range of storage slots). In addition, if a cartridge is moved by an operator
then the logical library association would change, allowing the wrong host computer
to access the media.
One solution would be the use of organization tables, where each cartridge is
associated with a particular logical library, based on the cartridge label. One
problem with this approach is that very large libraries could consume a large amount
of memory to store the information needed to maintain the logical library association
for each cartridge. In addition the storage would have to be nonvolatile to prevent
the loss of the information when the library is powered off. A duplicate copy of
the information would also be necessary to safeguard against losing the information
in the event of a nonvolatile memory failure or component replacement. Another
problem is that it requires properly labeled media. Some customers do not want
labels on their cartridges and others want to control and perform their own cartridge
labeling. Defective labels that cannot be read properly can cause problems.
U.S. Pat. No. 5,761,503 describes a method where cartridge labels are used to
associate a particular cartridge with a particular logical library. Cartridge ranges
are assigned to logical libraries and any cartridge label that falls within the
range will be associated with that particular logical library. While the use of
cartridge label ranges have the potential to use less nonvolatile storage space
then organization tables, it still requires properly labeled media. Importing media
into a specific logical library may not be possible unless the cartridge label
is changed. Supporting range gaps or fragmented ranges using labels could result
in large memory requirements to store all of the ranges.
In view of the foregoing, there is a need for a more flexible and reliable system
for the management and tracking of cartridges in a data storage library.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a more reliable management
and tracking system for data storage cartridges in a data storage library.
Another object of the present invention is to use association information
in a memory device located inside the cartridge to associate the cartridge with
one of a plurality of logical and/or data storage libraries.
Another object of the present invention is to write information to a memory
device located inside the cartridge to associate the cartridge with one of a plurality
of logical and/or data storage libraries.
A further object of the present invention is to read the cartridge memory located
inside the cartridge upon a library power up or other library controller directed
operation so that any or all of the cartridges can be associated with any of a
plurality of logical and/or data storage libraries.
Disclosed are an apparatus, a system, a method, and a computer program
product for the use of association information stored in a memory device located
inside the cartridge to identify a cartridge. The library controller uses the association
information to associate the cartridge with a particular logical and/or data storage
library. Most modern data storage cartridges support this memory device and it
is typically referred to as cartridge memory. By using this association information
the library controller is able to associate the cartridge quickly and efficiently
even under adverse or unexpected operating conditions, and therefore provide reliable
management and tracking of data storage cartridges in a data storage library.
In one embodiment, a portion of the cartridge memory is used to indicate the
logical
library that the cartridge is associated with. This capability is used when a single
data storage library is configured to operate as multiple logical libraries. In
another embodiment, a portion of the cartridge memory is used to indicate the data
storage library that the cartridge is associated with. The identifier may be a
form of unique information associated with the particular library, such as a library
serial number. This capability would enable the library controller to identify
cartridges that may have been moved from one data storage library to another data
storage library. This provides for more reliable management and tracking of data
storage cartridges when cartridges are transported through the data storage library
input/output station or in situations where a human operator physically moves cartridges
between different data storage libraries.
For a more complete understanding of the present invention, reference should
be made to the following detailed description taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an isometric view of an automated data storage library in accordance
with an embodiment of the present invention.
FIG. 2 is a block diagrammatic representation of an embodiment of an automated
data storage library of FIG. 1.
FIG. 3 is a block diagrammatic representation of a plurality of processor nodes
of FIG. 2.
FIG. 4 is a block diagrammatic representation of an embodiment of an automated
data storage library of FIG. 1, configured into three logical libraries.
FIG. 5 is an isometric view of a data storage media cartridge containing a cartridge
memory in accordance with one embodiment of the present invention.
FIG. 6 is a block diagrammatic representation of the contents of cartridge memory
for use by an embodiment of the present invention.
FIG. 7 is a flow chart depicting a use of the present invention to write association
information to the cartridge memory during the configuration of the library.
FIG. 8 is a flow chart depicting a use of the present invention to read association
information from the cartridge memory when a cartridge is inserted into the library
through the I/O station.
FIG. 9 is a flow chart depicting a use of the present invention to read association
information from the cartridge memory when a cartridge is inserted into the library
manually by the operator.
FIG. 10 is a flow chart depicting a use of the present invention to read association
information from the cartridge memory during an inventory operation.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
This invention is described in preferred embodiments in the following description.
The preferred embodiments are described with reference to the Figures. While this
invention is described in conjunction with the preferred embodiments, it will be
appreciated by those skilled in the art that it is intended to cover alternatives,
modifications, and equivalents as may be included within the spirit and scope of
the invention as defined by the appended claims.
FIG. 1 illustrates an embodiment of an automated data storage library
10,
in accordance with the present invention, which is arranged for accessing data
storage media
14 (hereafter additionally referred to as cartridge, data
cartridge, data storage cartridge or data storage media cartridge) in response
to commands from at least one external host system, and comprises a plurality of
storage shelves
16 for storing data storage media; at least one data storage
drive for reading and/or writing data on the data storage media; and at least one
robot accessor
18 for transporting the data storage media between the plurality
of storage shelves
16 and the data storage drive(s). The library may also
comprise an operator panel
23 or other user interface, such as a web-based
interface, which allows a user to interact with the library. The library
10
may comprise one or more frames
11-
13, each having storage shelves
16 accessible by the robot accessor
18. The robot accessor
18
comprises a gripper assembly
20 for gripping one or more data storage media
14, and may include a bar code scanner
22 or reading system, such
as a smart card reader or similar system, mounted on the gripper
20, to
"read" identifying information about the data storage media
14.
FIG. 2 illustrates an embodiment of a data storage library
10 of FIG.
1, which employs a plurality of processor nodes. U.S. Pat. No. 6,356,803, entitled
"Automated Data Storage Library Distributed Control System" describes such a control
system and is hereby incorporated by reference. An example of a data storage library
which may implement the present invention is the IBM 3584 Tape Library. The library
comprises a base frame
11, may additionally comprise one or more extension
frames
12, and may comprise a high availability frame
13.
The base frame
11 of the library
10 comprises one or more data
storage drives
15, and a robot accessor
18. As discussed above, the
robot accessor
18 comprises a gripper assembly
20 and may include
a reading system
22 to "read" identifying information about the data storage
media
14. The data storage drives
15, for example, may be optical
disk drives or magnetic tape drives, and the data storage media
14 may comprise
optical or magnetic tape media, respectively, or any other removable media and
associated drives. As examples, a data storage drive may comprise an IBM LTO Ultrium
Drive, may comprise a DLT 8000 Drive, etc. Additionally, a control port may be
provided, which acts to communicate between a host and the library, e.g., receiving
commands from a host and forwarding the commands to the library, but which is not
a data storage drive.
The extension frame
12 comprises additional storage shelves, and may comprise
additional data storage drives
15. The high availability frame
13
may also comprise additional storage shelves and data storage drives
15,
and comprises a second robot accessor
28, which includes a gripper assembly
30 and may include a bar code scanner
32 or other reading device,
and an operator panel
280 or other user interface. In the event of a failure
or other unavailability of the robot accessor
18, or its gripper
20,
etc., the second robot accessor
28 may take over.
Each of the robot accessors
18,
28 moves its gripper in at least
two directions, called the horizontal "X" direction and vertical "Y" direction,
to retrieve and grip, or to deliver and release the data storage media
14
at the storage shelves
16 and to load and unload the data storage media
at the data storage drives
15.
Referring to FIG. 2, the library
10 receives commands from one or
more host systems
40,
41 or
42. The host systems, such as
host servers, communicate with the library directly, e.g., on path
80, through
one or more control ports (not shown), or through one or more data storage drives
15, providing commands to access particular data storage media and move
the media, for example, between the storage shelves and the data storage drives.
The commands are typically logical commands identifying the media and/or logical
locations for accessing the media.
The library is controlled by one or more processors, the processors receiving
the logical commands and converting the commands to physical movements of the robot
accessor
18,
28.
Referring additionally to FIG. 3, the processors may comprise a centralized
control system, or a distributed control system of a plurality of processor nodes.
In one example of a distributed control system, a communication processor node
50 may be located in the base frame
11. The communication processor
node provides a communication link for receiving the host commands, either directly
or from the drives
15, via at least one external interface
43. The
communication processor node
50 may additionally provide a communication
link
70 for operating and/or communicating with the data storage drives
15.
The communication processor node
50 may be located in the base frame
11,
close to the data storage drives
15. Additionally, in an example of a distributed
processor system, one or more additional work processor nodes are provided, which
may comprise, e.g., a work processor node
52 that may be located at the
robot accessor
18, and that is coupled to the communication processor node
50. Each work processor node may respond to received commands that are broadcast
to the work processor nodes from any communication processor node, and the work
processor node may also direct the operation of the robot accessor, providing move
commands. An XY processor node
55 may be provided and may be located at
an XY system of the robot accessor
18. The XY processor node
55 is
coupled to the work processor node
52, and is responsive to the move commands,
operating the XY system to position the gripper
20.
Also, an operator panel processor node
59 may be provided at the operator
panel
23 for providing an interface for communicating between the operator
panel and the communication processor node
50, the work processor node
52,
and the XY processor node
55.
A common bus
60 may be provided, allowing communication between the various
processor nodes. The common bus may comprise a redundant wiring network, such as
the commercially available "CAN" bus system, which is a multi-drop network, having
a standard access protocol and wiring standards, for example, as defined by CiA,
the CAN in Automation Association, Am Weich selgarten 26, D-91058 Erlangen, Germany.
Other similar bus networks, or a wireless network system, such as RF or infrared,
may be employed in the library as is known to those of skill in the art. The processor
nodes, e.g., nodes
50,
52,
55 and
59 of FIG. 3, may
be coupled to the common bus
60 at a nodal interface
132,
134,
136 and
138.
Referring to FIG. 2, the communication processor node
50 is coupled
to each of the data storage drives
15 of the base frame
11, via lines
70, communicating with the drives and with host systems
40,
41
and
42. Alternatively, the host systems may be directly coupled to the communication
processor node
50 at input
80, or to control port devices (not shown)
which connect the library to the host system(s) with a library interface similar
to the drive/library interface. As is known to those of skill in the art, various
communication arrangements may be employed for communication with the hosts and
with the data storage drives. In the example of FIG. 2, host connections
80
and
81 are SCSI busses. Bus
82 comprises an example of a Fibre Channel-Arbitrated
Loop which is a high speed serial data interface, allowing transmission over greater
distances than the SCSI bus systems.
The data storage drives
15 may be in close proximity to the communication
processor node
50, and may employ a short distance communication scheme,
such as SCSI, or a serial connection, such as RS-422. The data storage drives
15
are thus individually coupled to the communication processor node
50 by
means of lines
70. A data storage drive
15 providing communication
between a host system and the library is routed to an external interface
43
of FIG.
3.
An extension frame
12 may be provided, and may be coupled by an extension
common bus
152 to the base frame common bus
60. Another communication
processor node
155, similar to communication processor node
50 of
FIG. 3, may be located in the extension frame and may communicate with hosts, e.g.,
at input
156, and data storage drives
15 in frame
12, e.g.,
via lines
170. Thus, commands from hosts may be received either directly,
through a control port (not shown), or via the data storage drives, via an external
interface, similar to external interface
43 of FIG.
3. The communication
processor node
155 is coupled to the extension common bus
152 at
a nodal interface such as nodal interface
132 of FIG. 3, the communication
processor node
155 providing a communication link for the commands to the
extension common bus