Application-controlled sub-LUN level data migration

US10831727B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10831727-B2
Application numberUS-201213482819-A
CountryUS
Kind codeB2
Filing dateMay 29, 2012
Priority dateMay 29, 2012
Publication dateNov 10, 2020
Grant dateNov 10, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An application programming interface (API) is used to migrate, from a specified source LUN to a specified target LUN, at least one specified sub-LUN data chunk, the API functioning as an interface between a storage controller and an owning application.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for sub-Logical Unit Name (LUN) data migration in a computing environment, comprising: a processor, operable in the computing environment, wherein the processor is configured for, in host-based data migration, using an application programming interface (API) on a host to migrate as directed by an owning application comprising a database application, from a specified source LUN to a new physical location on a specified target LUN and at a specific predetermined time as specified by the owning application, at least one specified sub-LUN data chunk, each of the at least one specified sub-LUN data chunks comprised of a single database table associated with and generated by the owning application such that the single database table associated with and generated by the owning application is individually migrated from within the specified source LUN to the specified target LUN in lieu of migrating an entire volume containing multiple ones of the database tables, the API functioning as an interface between a storage controller and the owning application, and the data being migrated based upon a frequency of access and a hardware Input/Output Operations per second (IOPs) rate of the target LUN; wherein the at least one specified sub-LUN data chunk is transferred transparently to the owning application such that the storage controller executes the migration independently notwithstanding the migration being commanded by the owning application, wherein the owning application specifies the source LUN and the target LUN; generating an API call by the database application executing on the host directly to the storage controller using the API to initiate the migration of the at least one sub-LUN data chunk such that, between a first time at which the database application determines the at least one sub-LUN data chunk should be migrated and a second time at which the storage controller completes the migration of the at least one sub-LUN data chunk to the specified target LUN, only a single migration instruction, comprising the API call issued by the database application on the host to the storage controller, is issued in connection with the migration of the at least one sub-LUN data chunk; wherein the storage controller comprises a storage server managing Input/Output (I/O) requests to read and write data from multiple hosts including the host to storage pools over a Storage Area Network (SAN); wherein a migration size of the data migrated commensurate with the API call is fixed such that additional instances of the API call are generated until the migration of the chunk of the data is completed; exposing to the database application, using the API, a list of physical storage devices of the storage pools supported by the storage controller along with at least one storage characteristic associated with at least one of the list of the storage pools; wherein the storage characteristic includes at least a size and an available storage space; and responsive to receiving the exposed list of physical storage devices of the storage pools supported by the storage controller, determining a best fit for the at least one specified sub-LUN data chunk on the target storage pool by the storage controller according to an identification as to whether the at least one specified sub-LUN data chunk should be stored on one physical volume and whether the at least one specified sub-LUN data chunk should be split across multiple physical volumes. 2. The system of claim 1 , wherein the processor is further configured for specifying, by the owning application in operable communication with the API, a start Logical Block Address (LBA) and the size of the sub-LUN data chunk on a virtual disk and a target physical storage description to identify the new physical location. 3. The system of claim 2 , wherein the processor is further configured for receiving the API call via the API requesting data from the start LBA and the at least one specified sub-LUN data chunk to be migrated to a target storage pool of the exposed list of storage pools. 4. The system of claim 1 , wherein the processor is further configured for, as a migration operation, migrating the sub-LUN data chunk to the target storage pool as a background process, the background process transparent to the owning application. 5. The system of claim 4 , wherein the processor is further configured for pointing a virtual disk map to the new physical location on the target storage pool. 6. The system of claim 5 , wherein the processor is further configured for, subsequent to completing pointing the virtual disk map to the new physical location, committing the migration operation. 7. The system of claim 1 , wherein the API is one of provided inline to the owning application via a small computer systems interface (SCSI), and provided out-of-band to the owning application via an internet protocol (IP). 8. A computer program product for sub-Logical Unit Name (LUN) data migration by a processor in a computing environment, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising: a first executable portion for, in host-based data migration, using an application programming interface (API) on a host to migrate as directed by an owning application comprising a database application, from a specified source LUN to a new physical location on a specified target LUN and at a specific predetermined time as specified by the owning application, at least one specified sub-LUN data chunk, each of the at least one specified sub-LUN data chunks comprised of a single database table associated with and generated by the owning application such that the single database table associated with and generated by the owning application is individually migrated from within the specified source LUN to the specified target LUN in lieu of migrating an entire volume containing multiple ones of the database records tables, the API functioning as an interface between a storage controller and the owning application, and the data being migrated based upon a frequency of access and a hardware Input/Output Operations per second (IOPs) rate of the target LUN; wherein the at least one specified sub-LUN data chunk is transferred transparently to the owning application such that the storage controller executes the migration independently notwithstanding the migration being commanded by the owning application, wherein the owning application specifies the source LUN and the target LUN; a second executable portion for generating an API call by the database application executing on the host directly to the storage controller using the API to initiate the migration of the at least one sub-LUN data chunk such that, between a first time at which the database application determines the at least one sub-LUN data chunk should be migrated and a second time at which the storage controller completes the migration of the at least one sub-LUN data chunk to the specified target LUN, only a single migration instruction, comprising the API call issued by the database application on the host to the storage controller, is issued in connection with the migration of the at least one sub-LUN data chunk; wherein the storage controller comprises a storage server managing Input/Output (I/O) requests to read and write data from multiple hosts including the host to storage pools over a Storage Area Network (SAN); wherein a migration size of the data migrated commensurate with the API call is fixed such that additional instances of the API call are generated until the migration of the chunk of the data is completed; a third executable portion for exposing to the

Assignees

Inventors

Classifications

  • G06F16/214Primary

    Database migration support · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10831727B2 cover?
An application programming interface (API) is used to migrate, from a specified source LUN to a specified target LUN, at least one specified sub-LUN data chunk, the API functioning as an interface between a storage controller and an owning application.
Who is the assignee on this patent?
Bavishi Pankaj S, Chhaunker Gaurav, Jones Carl Evan, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F16/214. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 10 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).