USPatent applicationPatented

Method for fast format of a fully allocated volume when copied from a space efficient volume

Granted 24 Mar 2015 · 2 office actions

Life of the application

13 dated events
⤢ drag to zoom2010201220142016201820202022202420262028ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A computer system for fast format or reproducing data of a computer data storage device includes a computer system executing a reproducing process for reproducing data. A source disk (Ds) data storage device and a target disk (Dt) data storage device have data communication between each other and communicate with the computer system. The Ds data is reproducible to the Dt, and the Ds has blank regions with no data which corresponds to zero. The Ds having data regions and an intermediary flash copy map (D 0 ) is generated by the program having all logical zeros for copying blank regions in the Ds to the Dt. The Ds is disengaged from reproducing after all data regions are copied from the Ds to the Dt. The reproducing of the Ds to the Dt continues after disengaging the Ds from the reproducing process by copying the zeros of the D 0 to the Dt.

Description

5 parts
›FIELD OF THE INVENTION

The present invention relates to a method and system for reproducing data of a computer data storage device, and more particularly, relates to a method, and system for employing the method, for fast format and reproducing data of a fully allocated volume.

›BACKGROUND OF THE INVENTION

In current data copying methods and/or systems, for example, a point in time copy of a data storage disk or device in a storage system such as switched virtual circuit (SVC), launch a background process to copy the data from an old disk (source device or disk) to a new disk (target device or disk). While the background process is copying, the method redirects reads of the new disk to the old disk. However if the source disk is space efficient, it will have a potentially large number of unallocated blank regions. If the target disk is fully allocated, these blank regions on the source disk will have to be copied across as zeros to the target disk. This process is disadvantageous when the source disk only has a small amount of real data on it in comparison to the total size of the data storage disk, because the source disk will need to remain part of the copy process while large amounts of zeros (representing blank or empty space on the data storage disk) are being written to the target disk. The source disk is thereby unable to resume normal operations while it is engaged and retained in the copying process, resulting in undesirable data retrieval times for data on the source disk.

Therefore, it would be desirable to provide a method, and system employing the method, for copying data from a source device to a target device without retaining the source device in the copying process while unallocated blank storage regions are copied to the target device.

›SUMMARY OF THE INVENTION

A method for copying data from a computer data storage device includes: providing a computer system; providing a source disk (Ds) data storage device and a target disk (Dt) data storage device having data communication between each other, the Ds and the Dt electrically communicating with the computer system; generating a intermediary flash copy map (D 0 ) logically full of zeros; copying data from the Ds to the Dt; detecting a blank region in the Ds; indicating copy of blank region completed to D 0 ; finishing copying of data from Ds to Dt; removing Ds from flash copy map; and copying zeros from D 0 to Dt representing blank regions in the Ds.

In a related aspect, the method further comprises: generating a plurality of bitmaps each having one bit for each grain on the Ds for copying; and initializing the bits in each bitmap to zero. The method may further include: correlating the grains of Ds with the bits in a first bitmap; correlating the grains of Dt with bits in a second bitmap; correlating the bits between the first and second bitmaps in relation to the copying status of the grains from Ds to Dt. A phase one may be completed when all the bits in the first bitmap are a logical 1, and a phase two may be completed when all the bits in the second bitmap are a logical 1. The step of removing the source disk (Ds) from the flash copy map may occur after phase one is complete. The step of copying zeros from D 0 to Dt may be complete when phase two is complete. In another related aspect, the steps after providing the source disk (Ds) are executed using a computer program embodied on computer readable medium in the computer system, and the computer system includes a processor for executing the program. The step of copying data from Ds to Dt may include fast formatting Dt.

In another aspect of the invention, a computer system for fast format or reproducing data of a computer data storage device includes a computer system executing a reproducing process for reproducing data. The computer system includes a computer program embodied on computer readable medium in the computer system, and the computer system includes a processor for executing the program. A source disk (Ds) data storage device and a target disk (Dt) data storage device have data communication between each other, and the Ds and the Dt electrically communicate with the computer system. The Ds data is reproducible to the Dt and the Ds having blank regions with no data which corresponds to zero. The Ds having data regions, and an intermediary flash copy map (D 0 ) generated by the program having all logical zeros for copying blank regions in the Ds to the Dt by representing the blank regions as zeros. The Ds is disengaged from reproducing after all data regions are copied from the Ds to the Dt.

In a related aspect, the reproducing of the Ds to the Dt continues after disengaging the Ds from the reproducing process by copying the zeros of the D 0 to the Dt.

In another aspect of the invention, a computer program product for use with a computer includes a computer readable medium having recorded thereon a computer program or program code for causing the computer to perform a method for fast format of a computer data storage device. A source disk (Ds) data storage device and a target disk (Dt) data storage device have data communication between each other, and the Ds and the Dt electrically communicate with the computer, the method comprising the steps of: generating a intermediary flash copy map (D 0 ) logically full of zeros; copying data from the Ds to the Dt;

detecting a blank region in the Ds; indicating copy of blank region completed to D 0 ; finishing copying of data from Ds to Dt; removing Ds from flash copy map; and copying zeros from D 0 to Dt representing blank regions in the Ds.

In a related aspect, the computer program product further includes: generating a plurality of bitmaps each having one bit for each grain on the Ds for copying; and initializing the bits in each bitmap to zero. In another related aspect, the computer program product further includes: correlating the grains of Ds with the bits in a first bitmap; correlating the grains of Dt with bits in a second bitmap; and correlating the bits between the first and second bitmaps in relation to the copying status of the grains from Ds to Dt. A phase one series of steps may be completed when all the bits in the first bitmap are a logical 1, and a phase two series of steps may be completed when all the bits in the second bitmap are a logical 1. The step of removing the source disk (Ds) from the flash copy map may occur after phase one is complete. The step of copying zeros from D 0 to Dt may be completed when phase two is complete.

›BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings, in which:

FIG. 1 is a block diagram according to an embodiment of the invention depicting a computer connected to source and target disks and communicating with a logical disk; and

FIGS. 2-3 are block diagrams of bitmaps used in a data copying process according to the invention and related to the source and target disks shown in FIG. 1 .

›DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 1 in an illustrative embodiment of the invention, a method and system 10 employing the method, is provided for creating a copy or a fast format of a source device to a target device. The fast format may include file formatting of the target disk and copying all or part of the data from a source disk to the target disk. In the embodiment of FIG. 1 , the method and system creates a flash (or instant) copy map with the source device embodied as a source disk (Ds) 50 being space efficient and the target device embodied as a fully allocated target disk (Dt) 60 (such as, Ds-->Dt). A computer program is embodied as virtualization software 16 and is recorded on a computer readable medium embodied as a data storage device 18 . The virtualization software 16 causes the computer 14 to perform a method for creating an intermediary flash copy map to a special/virtual disk (D 0 ) 70 that doesn't physically exist, but is logically full of zeros (for example, Ds-->D 0 -->Dt).

When the flash copy map is started, all grain (or data) splits that occur cause the grain to be copied straight through D 0 70 (without a write to D 0 ) to Dt 60 . When the background copy process reaches the unallocated blank regions, the method marks or indicates that blank region has been copied to D 0 70 (but not to Dt), and moves to the next region. When all the real data from the source Ds 50 is copied, then the source disk 50 is removed from the flash copy map, and the method starts copying zeros from D 0 70 to Dt 60 which relate to the unallocated blank regions. One advantage of the invention is that the source disk Ds 50 will be removed from the flash copy map before all the blank regions have been written to Dt 60 as zeros. Therefore, the source disk 50 will be removed from the flash copy map faster and is thereby available for such things as deletion, resizing, etc, which aren't allowed while it's part of a flash copy map.

Further, referring to FIG. 1-3 , in the illustrative embodiment of the present invention, the system and method 10 includes creating a flash copy mapping between the space efficient source disk (Ds) 50 and the fully allocated target disk (Dt) 60 . Two bitmaps are created (b 1 100 and b 2 120 ), each bitmap contains one bit for each grain of the source disk 50 to be copied, each of the bits in both bitmaps are initialized to 0 (for example, Ds--b 1 -->D 0 --b 2 -->Dt). Logical disk D 0 70 does not physically exist, and is logically full of zeros.

A bit of bit block 104 in b 1 100 is:

0 if the corresponding grain of Ds 50 has not been read yet; 1 if the corresponding grain of Ds 50 has been read, so either

i) data exist and therefore has been written to Dt 60 ; or

ii) data does not exist, zeros (D 0 ) may or may not have been written to Dt 60 .

A bit of bit block 124 in b 2 120 is:

0 if the corresponding grain of Dt 60 has not been written yet, so either

i) Ds 50 have not been read yet; or ii) Ds 50 have been read and data does not exist, therefore zeros (D 0 ) 70 need to be written to Dt 60 ; and

1 if the corresponding grain of Dt 60 has been written.

Referring to FIGS. 2 and 3 , illustrative embodiments of bitmap 1 100 and bitmap 2 120 include bit blocks (or sample states) 104 , 108 and bit blocks (or sample states) 124 , 128 , respectively, which depict sample states 104 , 108 of bitmap 1 100 and sample states 124 , 128 of bitmap 2 120 . When the program starts the flash copy, a background copy process starts which has two phases. During phase one, b 1 100 is processed, if a bit is 0 (as shown in bit block 104 ), then the program reads the corresponding grain of Ds 50 . If data exists, the program writes the grain to Dt 60 , once the write has completed the program sets the corresponding bit in b 1 (as shown in bit block 108 ) and b 2 to 1 (as shown in bit block 124 ). If data does not exists, the program sets the corresponding bit in b 1 to 1 and leaves b 2 as 0, as shown in bit blocks 108 and 128 , respectively.

Phase one is over when all bits in b 1 100 are 1. At this point, the program does not need to read the space efficient source disk (Ds) 50 and this can be freed up from the flash copy map. The background copy process moves on to phase two. During phase two the program accesses b 2 120 . If a bit is 0 then the program writes zeros (D 0 ) 70 to the corresponding grain of the fully allocated target 60 . Phase two is over when all bits in b 2 120 are 1.

While generating the background copy, reads and writes to the source disk 50 and target disk 60 are handled or executed as followings:

A read to Ds 50;

Return Ds 50;

A read to Dt 60;

If b2 is 1 then return Dt 60;

else if b1 is 1 then return zeros D0 70;

else return Ds 50;

A write to Ds 50;

If b1 is 1 then write to Ds 50;

else, read Ds 50;

if data exists then copy it to Dt 60, set b1 and b2 to 1 then

perform the write to Ds 50;

else (data does not exist), set b1 to 1 then perform the write to

Ds 50;

A write to Dt 60;

If b2 is 1 then write to Dt 60;

else if b1 is 1 then fill Dt 60 with zeros D0 70, set b2 to 1, then

perform the write to Dt 60;

else copy the grain from Ds 50 to Dt 60, set b1 and b2 to 1, then

perform the write to Dt 60.

While the present invention has been particularly shown and described with respect to preferred embodiments thereof, it will be understood by those skilled in the art that changes in forms and details may be made without departing from the spirit and scope of the present application. It is therefore intended that the present invention not be limited to the exact forms and details described and illustrated herein but falls within the scope of the appended claims.

Claims as granted

3 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

4 codes
IPC · International Patent Classification
Section G — Physics
  • G06F12/00
  • G06F3/06
USPC · US Patent Classification
711/162711/161

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoom2009201020112012201320142015USPTOApplicantNon-final rejectionFinal rejectionExaminer-initiated interview
USPTOApplicanthover for detail · click to open
Pendency
6.2 y
2,268 days filing → grant
Office actions
2
non-final + final
Responses
2
1 RCE
Interviews
1
examiner interview summaries
Examiner
Matthew Bradley
art unit 2182 · TC 2100
Citations: 7 back · 1 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom2010201220142016201820202022202420262028Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock