This invention relates to data storage libraries having a plurality of data storage drives, and, more particularly, to data storage libraries in which the data storage drives may be interchanged, added, or removed.
Data processing systems typically require large amounts of data storage capacity, some of which is needed quickly and may be stored in memory and hard disk drives, and other of which is not immediately required. As an example, data not immediately required may comprise data that is infrequently accessed, and the storage of the data may be in removable data storage media, such as magnetic tape cartridges or optical disk cartridges, stored in data storage libraries for the use of host data processing systems. Such data storage libraries provide efficient access to large quantities of the data storage media, which are stored in storage shelves and which are accessed by one or more accessors and delivered to data storage drives in the library. In one example, a magnetic tape cartridge data storage library stores over 6,000 cartridges and has over 50 data storage drives.
Each time that a number of data storage drives are replaced or added, e.g., by replacing or adding a frame, the affected drives may need to be configured. Additionally, drives may be swapped with one another or with new drives, or several drives may be provided with code updates and reset, or there may be a power reset of the library, requiring configuration of the affected drives. In this context, a drive may comprise a tape drive for reading and/or writing a magnetic tape cartridge, an optical drive for reading and/or writing an optical disk cartridge, a disk drive for reading and/or writing a removable disk cartridge, or a data transfer station for transferring data with respect to a cartridge having a removable data storage device. The configuration of a drive in a library typically has two parts. In one part, library configuration data is supplied to the drive, such as a communication identifier (SCSI, Fibre Channel, etc.) for the drive to allow the drive to communicate with the library and with any attached host. In another part, the drive provides drive unique information to the library, such as its drive identifier (part number, serial number).
Drive allocation is known, e.g., in U.S. Pat. No. 6,052,341, which relates to a device element allocation manager for a multi-library system. The system shows, inter alia, a switching matrix coupled to a plurality of hosts for selectively allocating and connecting a plurality of known drives to the hosts for reading and writing data of cartridges, and providing dynamic tracking of all the physical cartridge locations. A cartridge requested by a host is moved to a free drive, and the drive is allocated to the host and coupled by the switching matrix. As another example, U.S. Pat. No. 5,623,471, shows backup copying from one cartridge to another employing a multi-threaded operation in which if two known drives are available, they are allocated to the process and interconnected. The interchange, addition, or removal of one or more of the drives is not discussed and is assumed to require, as in prior art libraries, a reconfiguration of the library or libraries, specifically by a library processor.
The typical configuration or reconfiguration is conducted serially. For example, each of the data storage drives is coupled to a library processor, and the processor and a first drive communicate until the configuration of that drive is complete, at which time the configuration process steps to the next drive. With a large number of data storage drives, the configuration process is very time consuming.
The data stored in data storage libraries is not frequently accessed, but when needed, is needed promptly. Also, data to be stored in a library builds up quickly and must be stored without undue delay. Thus, if the library is subject to a reconfiguration or a power-on reset, it must come up to full capability as soon as possible so that the library is available to provide data access and storage.
An object of the present invention is to allow configuration of data storage drives of a data storage library without undue delay.
Disclosed are a data storage library and a computer implemented method for concurrently configuring data storage drives of the library. The library comprises at least one processor for configuring the data storage drives.
The processor determines the presence of each of the data storage drives to be configured; and transmits library configuration data separately to each of the data storage drives to be configured. Each of the data storage drives is arranged to acknowledge receipt of the configuration data with a status response.
Upon the transmission of the library configuration data to a data storage drive, a configuration process state for the data storage drive is initialized to a first process state, for example, in a task monitor. A first time-out period is started for receipt of the status response from the data storage drive.
In response to receipt of the status response from a data storage drive to be configured within the first time-out period, in one embodiment, the configuration first process state for the status responding data storage drive is updated, for example, to xe2x80x9ccompletedxe2x80x9d.
The processor transmits a request for drive unique information to the status responding data storage drive, and, the configuration process state is advanced to a second process state for the status responding data storage drive. A second time-out period is started for receipt of the drive unique information for the status responding data storage drive.
In response to receipt of the drive unique information from a status responding data storage drive within the second time-out period, in the one embodiment, the configuration second process state for the information responding data storage drive is updated, for example, to xe2x80x9ccompletedxe2x80x9d.
The processor then stores the drive unique information received from the information responding data storage drive.
In another embodiment, an error is signalled upon expiration of the first time-out period without receipt of the status response for a data storage drive to be configured, or expiration of the second time-out period without receipt of the drive unique information for a status responding data storage drive.
In one example, the library configuration data comprises at least a communication identifier for the data storage drive, e.g., for communication between the drive and a host. In another example, e.g., when a host communicates with the library through a drive, the configuration data may additionally comprise an element address assignment for the data storage drive, and serial number for the data storage library.
The drive unique information, in one example, comprises at least a part number of the data storage drive and the serial number for the data storage drive.
For a fuller understanding of the present invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings.