# Patent

## Title
Method for using partitioning to provide capacity on demand in data libraries

## Abstract

A method for providing data storage capacity on demand comprises disabling a set of slot elements and data transfer elements of a data library disallowing access to the disabled set by end users of the library, partitioning at least a portion of a set of active data media storage slot elements and active data transfer elements of the data library, exclusive of the disabled set, into partitions for use by the end users; and redefining the sets in response to changes in storage capacity rights of the end users.

## Background
RELATED APPLICATIONS
The present invention is related to the following and commonly assigned United States patent applications: entitled System and Method for Partitioning a Storage Area Network Associated Data Library, filed Dec. 28, 2001 and issued as U.S. Pat. No. 6,715,031 on Mar. 30, 2004; entitled System and Method for Partitioning A Storage Area Network Associated Data Library Employing Element Addresses, filed Dec. 28, 2001 and issued as U.S. Pat. No. 6,839,824 on Jan. 4, 2005; Ser. No. 10/032,662, entitled System and Method for Managing Access to Multiple Devices in a Partitioned Data Library, filed Dec. 28, 2001 and issued as U.S. Pat. No. 7,062,614 on Jun. 13, 2006; Ser. No. 10/032,923, entitled System and Method for Peripheral Device Virtual Functionality Overlay, filed Dec. 28, 2001 and published as U.S. Pub. No. 2003/0126225 on Jul. 3, 2003; Ser. No. 10/034,518, entitled System and Method for Securing Drive Access to Media based On Medium Identification Numbers, filed Dec. 28, 2001 and issued as U.S. Pat. No.7,363,425 on Apr. 22, 2008; Ser. No. 10/034,888, entitled System and Method for Securing Drive Access to Data Storage Media Based On Medium Identifiers, filed Dec. 28, 2001 and issued as U.S. Pat. No. 7,000,085 on Feb. 14, 2006; Ser. No. 10/033,010, entitled System and Method for Securing Fiber Channel Drive Access in a Partitioned Data Library, filed. Dec. 28, 2001 and issued as U.S. Pat. No. 6,999,999 on Feb. 14, 2006; entitled System and Method for Intermediating Communication with a Moveable Media Library Utilizing a Plurality of Partitions, filed Dec. 28, 2001 and issued as U.S. Pat. No. 6,845,431 on Jan. 18, 2005; and Ser. No. 10/034,083, entitled System and Method for Managing a Moveable Media Library with Library Partitions, filed Dec. 28, 2001 and issued as U.S. Pat. No. 7,082,497 on Jul. 25, 2006; the disclosures of which are hereby incorporated herein by reference.
TECHNICAL FIELD
The present invention generally relates to data storage and specifically to a system and method for using partitioning to provide capacity on demand in data libraries.
BACKGROUND
Many types of service providers (xSPs) may provide data storage for a large number of customers. There are advantages in terms of device management overhead to having a small number of large storage devices in a storage area network (SAN) and sharing those devices among a number of users. The management overhead associated with administering a large number of small storage devices, each assigned to different users of a SAN or the like is cost-prohibitive. Therefore, to reduce storage device management overhead, a storage service provider (SSP), or the like, may prefer to employ a small number of large disk arrays and securely allocate a portion of the disk array storage capacity to each customer rather than employ separate smaller storage devices for each customer. While instant capacity on demand (iCOD) exists for CPU power and disk storage, iCOD is not available for data libraries, particularly data tape libraries.
SUMMARY OF THE INVENTION
A method for providing data storage capacity on demand comprises disabling a set of slot elements and data transfer elements of a data library disallowing access to the disabled set by end users of the library, partitioning at least a portion of a set of active data media storage slot elements and active data transfer elements of the data library, exclusive of the disabled set, into partitions for use by the end users; and redefining the sets in response to changes in storage capacity rights of the end users.
One embodiment of a method implementing the present invention for providing data storage capacity on demand comprises reserving a set of data media storage slot elements and data transfer elements in a data library for present and future use by a customer, disabling a subset of the set of slot elements and data transfer elements, partitioning the reserved set into a subset of the set of slot elements and data transfer elements activated as a partition secured for use by the customer, wherein the subsets are exclusive of one another, and redefining the partition by moving at least one element between the subsets in response to changes in storage capacity needs of the customer
Another embodiment of a method implementing the present invention for providing data storage capacity in a data library comprises disabling a set of slot elements and data transfer elements of the data library, disallowing access to the disabled set, partitioning at least a portion of a set of active slot elements and active data transfer elements of the data library into partitions for use by one customer, wherein the sets are exclusive of one another, and keying numbers of the elements in the partitioned set on a license purchased by the customer.



BRIEF DESCRIPTION OF THE DRAWING
FIG. 1 is a diagrammatic illustration of an embodiment of a data library employing the present invention to provide instant capacity on demand;
FIG. 2 is a flowchart of a first embodiment of the present invention;
FIG. 3 is a flowchart of a second embodiment of the present invention;
FIG. 4A is a diagrammatic illustration of a 160 slot, six-drive data library employing the embodiment discussed in connection with FIG. 2;
FIG. 4B is a diagrammatic illustration of the library of FIG. 4A in which a partition has been redefined in accordance with the present invention;
FIG. 5A is a diagrammatic illustration of a 160 slot, six-drive data library employing the embodiment discussed in connection with FIG. 3; and
FIG. 5B is a diagrammatic illustration of the library of FIG. 5A in which a partition has been added in accordance with the present invention.



DETAILED DESCRIPTION
The present invention provides systems and methods offering variable capacity resources, to provide iCOD for data libraries, by leveraging aspects of resource partitioning. For customers needing to cope with fast data storage growth or unpredictable demand, a vendor may offer iCOD in accordance with the present invention. Need for instant capacity on demand for data libraries generally falls into two broad usage categories: first, to allow a SSP to provide extra capacity when requested, for example to increase the number of drives and/or slots available for use by a customer of the storage service provider when requested; a second category of need for iCOD may arise if a user purchases a data library and only initially wishes to use and pay the vendor for managing a subset of slots/drives that the user will actually use in the library. However, the user should be able to increase the number of drives and/or slots he may use in the library as needed. In either case, there is a need for some mechanism to enforce limiting the number of drives and/or slots in the tape library a customer can use, and for a convenient mechanism to alter this limit. Consistent with the above- and below-described usage scenarios, customers as discussed herein may include a third party, relative to an SSP, or an internal entity of an SSP. Additionally, the terms “customer” and “end user” are used interchangeably herein.
To reduce management and physical overhead, an SSP might prefer to use a library that can be securely partitioned similar to a disk array. For example, an SSP may wish to share a library among a number of users. Secure library partitioning enables such sharing. The customer or vendor may configure a number of partitions in the tape library, using fibre channel (FC) world wide name (WWN)-based security with each partition only accessible to one computer or co-operating subset of computers. Such a system and method of secured data library partitioning in disclosed in U.S. patent application Ser. No. 10/034,691 entitled “System And Method For Partitioning A Storage Area Network Associated Data Library”. Secure library partitioning as shown and described in the above-referenced patent application enables an SSP to configure, preferably out-of-band on a private LAN using the library management card or library front panel, a number of secured partitions in a tape library well-suited for use by the present invention.
With library partitioning functionality, iCOD may be made available to end users of data libraries. Additionally or alternatively, a customer may pay to obtain use of a limited number of slots and drives in a tape library which may be physically located at a vendor site or on the customer's premises. Such limited access can be implemented by leveraging the aforementioned library partitioning system and method employing a license key mechanism to enforce the limits and allowing adjustments in the limits of the access according to changes in the license key.
As disclosed in the aforementioned co-pending application, a physical data library may be logically partitioned into many smaller virtual libraries, and each of the drives in the library designated for use by a different host system who has free access to the library robotics controller as well as the designated drives. Each of the drives or set of drives in the library are preferably assigned a limited range of media, such as data tapes, that each may access for read/write functions.
Exemplar data library 100 employing a preferred embodiment of the present system and method is illustrated in FIG. 1. As one skilled in the art will appreciate, other data library partitioning methods may be employed to carry out the present invention. In the illustrated example, library 100 has four data transfer elements or drives 101-104; forty media storage slot elements 105, organized into four trays 106-109 of ten slots each; two fiber channel (FC)-to-small computer systems interface (SCSI) bridges 110 and 111; a library management interface card or remote management card (RMC) 112; and library controller 113. Drives 101-104, FC-to-SCSI bridges 110 and 111, RMC 112 and library controller 113 preferably communicate with each other using an inter-integrated circuit (I2C) bus and/or automated control interface (ACI) 114, or the like. For partitions employed by the present system and method, at least one drive should be assigned to each partition. Preferably, media slots 105 are also assigned to each partition to house the media assigned to the partition. A virtual library controller should be addressable with respect to each partition to control movement of media between the slots and drives by library robotics 120. The example partitioning shown in FIG. 1 is indicated by boxes 115, 116 and 117. As illustrated, LUN0 corresponds to partition 115, LUN1 corresponds to partition 116 and LUN2 corresponds to partition 117. Preferably, easily accessible media storage slots may be configured as mailslots or import/export elements. These may be assigned to each partition or configured for use by the entire physical library.
Turning to FIG. 2, first method embodiment 200, preferably used to address the aforementioned first usage category, provides extra data library capacity on demand according to the present invention. In order to provide a fast response time to customer's changing backup and/or archiving requirements, an SSP can leverage the above-described secure partitioning capabilities for a data library to provide instant capacity on demand. Preferably, at box 201 an SSP or vendor sets aside a set of drives and slots for a customer, generally more than the customer initially requires. The customer may request and/or pay for a number of slots to be set aside, or reserved. Alternatively, the SSP or vendor may determine what of its resources it wishes to reserve for the future, potential use of the customer. Also, the SSP or vendor may set aside slots for its own internal use. In conformance with the partition method disclosed in the aforementioned secure library partitioning system and method, the slots and drives set aside are preferably contiguous in numbering so they can later be part of a single active partition. The customer should initially only use a subset of the slots and/or drives. At box 202, the subset to be used is established as an active partition secured to be only available to that customer or those designated by the customer. At box 203, the rest of the reserved drives and/or slots are preferably disabled and therefore unavailable for use by anyone. Preferably, the reservation is explicit. In other words, the SSP should ensure that these resources are kept disabled when not used by that customer and not accidentally assigned to another customer. Preferably, consistent with the aforementioned patent application Ser. No. 10/034,691, ventitled “System And Method For Partitioning A Storage Area Network Associated Data Library”, such disabled slots are not allowed to be part of any partition. Preferably, the library controller will not accept a media move command to an element that is disabled. Similarly such elements are preferably not reported in response to a read element status command. Hence, a disabled drive can not be loaded with media, so reading from and writing to a disabled drive is not possible. Therefore, the disabled resources may not be used by backup software, or the like employed by the customers.
Turning attention to FIG. 4A, by way of example a six-drive and 140 slot (14 tray) library 400 used in accordance with the present invention is illustrated. In the illustrated example, a library owner such as an SSP, or the like, has reserved eighty slots and four drives, such as the slots of trays 404 through 411, and four drives for a customer, such as drives 418 through 421, in accordance with step 201 described above. However, the customer may only have a current need for forty slots and two drives. Therefore, in accordance with the present invention and step 202 above, the SSP may establish a set of forty slots, such as provided by trays 404 through 407, and two drives, such drives 418 and 419, as a partition, such as partition 401, for the use of the customer. This partition may be secured using FC WWN-based security to ensure only the aforementioned customer and his designates may access the partition as disclosed in copending, commonly-owned U.S. patent application Ser. No. 10/034,691 entitled “System And Method For Partitioning a Storage Area Network Associated Data Library. Preferably”. The reserved drives and reserved slots, such as drives 420 and 421 and the slots of trays 408 through 411 are disabled to prevent anyone from accessing data using these drives or tapes from these slots. In such a case these disabled drives and disabled slots would not belong to any partition. The remaining slots and drives of library 400 may be partitioned and/or disabled as necessary, for example, drives 422 and 423 are shown as part of partition 403, along with the slots of trays 412 through 415, possibly for the use of another customer. The slots of trays 416 and 417 are shown as disabled, possibly reserved for the use of the second customer. Storage management software may be advantageously employed to aid in partition management.
Returning to FIG. 2, as the customer requires or desires more capacity, the SSP or vendor preferably makes some of the reserved disabled drives and/or media slots available to the customer by adding the required additional drives and/or slots to the customer's active partition at box 204, accordingly charging the customer. An SSP may have its own iCOD agreement with a library vendor that may operate similar to a second embodiment described below. In such a situation the SSP preferably only pays for library resources when the SSP's customers use or activate the resources.
Turning to FIG. 4B partition 401 of FIG. 4A has been redefined to add reserved drive 420 and reserved trays 408 and 409 in accordance with step 204 described above. Reserved drive 421 and reserved trays 410 and 411 remain disabled, but reserved for the customer's future use.
Also in accordance with the present invention active storage capacity may be reduced and formerly active drives or slots may be disabled. These disabled drives and slots may remain reserved for use by the initial user or may become available for reservation or use by other users.
Second method embodiment 300, illustrated in FIG. 3, may be used to address the second usage category discussed above. The second usage category is preferably for a customer to vendor relationship, wherein the customer has purchased a physical data library but initially only pays the vendor for use of a portion of the library's capacity, a subset of the library's slots and drives. The customer preferably has control of creating and/or resizing partitions of the library. Therefore, the library supplier or vendor needs a method of preventing the customer from using more capacity than the customer is paying for; a license key scheme is preferably used. In second method embodiment 300, the customer can be a xSP, for example, an SSP creating and extending partitions for its customers, the end users. In such a case, the SSP obtains and pays a vendor at box 301 for capacity to be used by the SSP's customers. Library slots or drives not yet paid for are disabled at box 302, and therefore, are not available for partitioning. Preferably, consistent with the aforementioned patent application Ser. No. 10/034,691, entitled “System And Method For Partitioning a Storage Area Network Associated Data Library”, such disabled slots are not allowed to be part of any partition. Preferably, the library controller will not accept a media move command to an element that is disabled. Similarly such elements are preferably not reported in response to a read element status command. Hence, a disabled drive can not be loaded with media, so reading from and writing to a disabled drive is not possible. Therefore, the disabled resources may not be used by backup software, or the like employed by the customers or end users.
With attention directed to FIG. 5A, exemplar library 500 employing the present system and method may be located at a customer's premises and partitioned by the customer for use by the customer's users or customers. In FIG. 5A, the customer or library owner has paid for a license to use drives 518 through 521 and the slots of trays 504 through 511. The remaining drives 522 and 523 and slots of remaining trays 512 through 517 have been disabled. The licensed portion of library 500 has been partitioned in FIG. 5A for the use of customers of the SSP. Example partition 501 includes one drive, 518 and one tray 304 of slots. Second example partition 502 includes 3 drives 519, 520 and 521 and 5 trays of slots 505 through 511.
Returning to FIG. 3, each time a library partition is created or extended, box 303, the management card, preferably RMC 112 of FIG. 1, checks at 304 to make sure that the number of drives and slots used in all the partitions of the library is not greater than the license key allows. If at 304 it is found that a creation or extension of a partition results in the total used library capacity exceeding the license key, the creation or extension is blocked at box 305 until the customer obtains, and pays for a new license key at box 306. Obtaining and paying for a new key or increased license rights may be accomplished in several manners, as determined by the vendor. For example, a key purchase may be manually made by the customer phoning or emailing for a new key; or the key purchase process could be automatic, for example, the library itself could automatically phone the vendor for a new key. Similarly, payment could be made or arranged for in advance, for example by providing credit card details, or billed to an account for later payment. If at decision box 304, creation or extension of a library falls within the paid capacity of the customer's license key or licensed capacity is extended at box 306, the partition is created or modified at box 307 in accordance with the secure partitioning system and method employed by the library.
In FIG. 5B new partition 503, including the slots of trays 512 through 515 and drives 522 have been established for use by a customer. To establish partition 503 the SSP had sufficient license rights at box 304 or purchased additional license rights at box 307 to make use of slots of trays 512 through 515 and drive 522. In FIG. 5B, slots of trays 516 and 517 and drive 523 remain disabled. This may be as a result of the SSP not having a license for use of the library capacity of this slot and drive or it may be as a result of the slots and drive not being assigned to a partition although licensed by the SSP.
Embodiment 300 preferably enables reducing active drives and slots in a partition as described above in relation to embodiment 200. In accordance with such a reduction the present invention may alternatively, enable a customer may to downgrade their license key, getting money back or reducing future license fees. Additionally, an alternative embodiment enables a license to be transferable. Another alternative embodiment calls for a license key to be tied to a specific library, for example, to the media access control (MAC) address of an Ethernet port on the RMC.

## Claims

1. A method for providing data storage capacity on demand comprising;
disabling a set of slot elements and data transfer elements of a data library disallowing access to said disabled set by end users of said library, wherein the disabled set is explicit and the disabled set is not allowed to he part of any partition and is unavailable for use by anyone;
partitioning at least a portion of a set of active data media storage slot elements and active data transfer elements of said data library, exclusive of said disabled set, into partitions for use by said end users; and
redefining said partitions in response to changes in storage capacity rights of said end users.

2. The method of claim 1 further comprising reserving at least a portion of said disabled set of data media storage slot elements and data transfer elements for present and future use by one of said end users.

3. The method of claim 1 wherein said redefining step further comprises moving at least one element of said active set to said disabled set in response to an order from one of said end users for additional storage capacity.

4. The method of claim 1 wherein said redefining step comprises:
moving at least one element of said active set to said disabled set in response to an order from said one end user for additional storage capacity and availability of said elements.

5. The method of claim 4 wherein said availability is based at least in part on a license by one of said end users.

6. The method of claim 5 further comprising blocking said redefining step in response to said license lacking sufficient rights for said redefining.

7. The method of claim 5 further comprising extending licensed library capacity.

8. The method of claim 1 wherein said data library is physically located on a premises of one of said end users.

9. The method of claim 1 wherein a library controller does not accept a media move command to an element in the disabled set.

10. The method of claim 1 wherein elements in the disabled set are not reported in response to a read element status command.

11. The method of claim 1 wherein a disabled drive cannot be loaded with media, and wherein reading from and writing to a disabled drive is not possible.

12. The method of claim 1 further comprising each time a library partition is created or extended, checking to ensure that a number of drives and slots in all of the library partitions of the library is not eater than a license key allows.

13. A method for providing data storage capacity on demand comprising:
reserving a set of data media storage slot elements and data transfer elements in a data library for present and future use by a customer;
disabling a subset of said set of slot elements and data transfer elements, wherein the disabled subset is not allowed to he part of any partition and is unavailable for use by anyone;
partitioning said reserved set into a subset of said set of slot elements and data transfer elements activated as a partition secured for use by said customer, wherein said disabled subset and said partitioned subset are exclusive of one another; and
redefining said partition by moving at least one element between said disabled subset and said partitioned subset in response to changes in storage capacity needs of said customer.

14. The method of claim 13 further comprising:
adjusting customer charges according to said redefining.

15. The method of claim 13 wherein said library is controlled by a storage service provider.

16. The method of claim 13 wherein said customer is a customer of said storage service provider.

17. A method for limiting access to data storage capacity in a data library, said method comprising:
disabling a set of slot elements and data transfer elements of said data library, wherein the disabled set is not allowed to be part of any partition and is unavailable for use by anyone;
partitioning at least a portion of a set of active slot elements and active data transfer elements of said data library into partitions for use by one customer, wherein said active set and said disabled set are exclusive of one another; and
keying numbers of said elements in said partitioned set on a license purchased by said customer.

18. The method of claim 17 further comprising redefining said partitioned set by moving at least one element between said active set and said disabled set in response to a change in storage capacity needs of said customer and availability of said elements.

19. The method of claim 18 wherein said availability is based at least in part on a license by said customer.

20. The method of claim 19 further comprising blocking said redefining in response to said license lacking sufficient rights for said redefining.

21. The method of claim 19 further comprising increasing said license.

22. The method of claim 17 wherein said data library is physically located on a premises of said customer.

23. The method of claim 17 wherein said customer is a storage service provider.