Method and System for Fast Incremental Backup Using Comparison of Descriptors
Total Page:16
File Type:pdf, Size:1020Kb
111111 1111111111111111111111111111111111111111111111111111111111111 US007831789B 1 c12) United States Patent (10) Patent No.: US 7,831,789 Bl Per et al. (45) Date of Patent: *Nov. 9, 2010 (54) METHOD AND SYSTEM FOR FAST 5,835,953 A * 1111998 Ohran ........................ 7111162 INCREMENTAL BACKUP USING 6,625,623 B1 * 9/2003 Midgley et a!. ............. 707/204 COMPARISON OF DESCRIPTORS 6,665,815 B1 12/2003 Goldstein eta!. 7,434,052 B1 * 10/2008 Rump ........................ 713/171 (75) Inventors: Yuri S. Per, Moscow (RU); Maxim V. 2006/0075294 A1 * 4/2006 Ma eta!. ...................... 714/13 Tsypliaev, Moscow (RU); Maxim V. Lyadvinsky, Moscow (RU); Alexander G. Tormasov, Moscow (RU); Serguei * cited by examiner M. Beloussov, Singapore (SG) Primary Examiner-Brian R Peugh (73) Assignee: Acronis Inc., Tortola (VG) Assistant Examiner-Nicholas Simonetti (74) Attorney, Agent, or Firm-Bardmesser Law Group ( *) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 (57) ABSTRACT U.S.C. 154(b) by 494 days. This patent is subject to a terminal dis A method, system computer program product recorded on a claimer. computer readable medium, for fast incremental backup of a storage device includes selecting an area of the data storage (21) Appl. No.: 11/686,454 device for backup; creating the bitmap of data storage device; reading the selected area of the data storage device; convert (22) Filed: Mar. 15, 2007 ing data read from the data storage device into a usable format for the comparison of descriptors; reading descriptors oflogi Related U.S. Application Data cal storage units of the selected area; discarding selected data access attributes ofthe descriptors; generating hash values for (63) Continuation-in-part of application No. 11/244,298, the descriptors; comparing the hash values of the descriptors filed on Oct. 6, 2005, now Pat. No. 7,366,859. of the logical storage units of the selected area with the hash values of the descriptors of previously archived logical stor (51) Int. Cl. age units; for physical storage units related to logical storage G06F 12116 (2006.01) units of the selected area whose hash values of the descriptors (52) U.S. Cl. ....................................... 7111162; 707/625 are identical to the hash values of the descriptors of the (58) Field of Classification Search ................. 711/161, archived logical storage units, checking if these physical stor 711/162, 216; 707/624-625, 634, 639, 646, age units need to be backed up; updating the bitmap of data 707/745, 747, 999.202, 999.204 storage device; and backing up contents of the physical stor See application file for complete search history. age units marked in the backup. The logical storage units can (56) References Cited be files. The descriptors can be compared on a physical stor age unit basis. U.S. PATENT DOCUMENTS 5,649,152 A 7I 1997 Ohran et a!. 31 Claims, 11 Drawing Sheets U.S. Patent Nov. 9, 2010 Sheet 1 of 11 US 7,831,789 Bl 102 Start 104 ,_) Suspend storage writes 106 ,_) Create bitmap of used storage units 110 Update bitmap ,_) (unmark some storage units) r 11 2 Archive marked units as an ,_) increment (may be executed simultaneously with 11 0) 114 ,_) Permit storage writes 116 Finish FIG. 1 U.S. Patent Nov. 9, 2010 Sheet 2 of 11 US 7,831,789 Bl Set Record Pointer (e.g. record's physical address) 220 Read Pointed Record from the Disk 250 Set Next Record from the Record Pointer backup No 235 Unmark blocks corresponding to the file in the bitmap Yes No 240 Finish Bitmap Updating FIG. 2 ~ 00 • ---------------, I 47 ~ System Memory I ~ ----------------- 20 I ~ (ROM) 24 Monitor ~ 21 ~ I -- BIOS ~ II 22 Processing = Unit Host (RAM) 25 OPERAT1 NG ' 56 z SYSTEM _,35 0 23 ~ FILE ~'-CI SYSTEM 36 N 0 APPLICATION .... Storage 0 PROGRAMS 37 Device OTHER PROGRAM MODULES 38 rFJ ('D= 51 ('D PROGRAM 391 LAN ..... I DATA (.H 0 I ..... I .... I .... I L / // // d OPERA TIN~ APPLICATION OTHER 381 PROGRAM rJl SYSTEM I 35 PROGRAMS PROGRAM DATA -....l FILESYS 36 37 MODULES 39 Oo w FIG. 3 ~""""' 00 \C =""""' ~ 00 • ~ ~ ~ ~ 1/0 application =~ FIG.4 z0 ~ 406 ~'-CI N 0.... 0 Backup Previous storage area Incremental backup rFJ (optional) ('D= ('D..... .j;o. 0..... MAIN .... STORAGE B .... d rJl -....l Oo w ~""""' 00 \C =""""' U.S. Patent Nov. 9, 2010 Sheet 5 of 11 US 7,831,789 Bl 502 Start 504 Reading disk area (on ~ data storage device or in backup for step 225) with descriptors information 506 Converting ~ descriptors information in the usable format , 2 Discarding data access 3 attributes 514 Converting ~ necessary and additional data into the hash 516 Finish FIG. 5 U.S. Patent Nov. 9, 2010 Sheet 6 of 11 US 7,831,789 Bl 603 f I I 30 601' 6' 506 ~6 Convert MFT into ,-/ usable format FILE 1 Record 631 I Ol HEADER 633 I c:: .s::: I <J) 35 $DATA 635 Cil I .s::: ... ~:::, IAI\IUAKU_ll\lt"UK ~ MATION 636 ~sc:: ! $A I I Kl~~~ t:_Ll::> I :::0 I ~ § /~ £.... $FILE_NAME 640 I <1; .8 IL.- $MFT 606 .... I c:: $0BJECT_ID 641 I $MFTMirr 608 FILE 2 Record 632 I $Log File 610 Ol HEADER I c:: .s::: I <J) $Volume 612 $DATA Cil ~ I .s::: LL $:::,I AI~:T~~Nll\lt-UK $AttrDef 614 .2!"' ~sc:: ~ :::0 -f:/7 $ATTRIBUTE_LIST I ~ $Bitmap 616 ~ § <1; I $FILE_NAME .8 $Boot618 I c:: $0BJECT_ID ) $BadCius 620 ... FILE N Record $Secure 622 'I HEADER Ol I c:: .s::: I <J) $DATA Cil I .s::: $:::, 1AN~:T~~NlNt-UK. ! ~sc:: :::0 $ATTRIBUTE_LIST ;J4 ~ I ~ ~ I § HASH VALUES $FILE_NAME .8 I c:: $0BJECT_ID ) FIG. 6 U.S. Patent Nov. 9, 2010 Sheet 7 of 11 US 7,831,789 Bl 602 6?3 7~ r- I I 600 ~'::'? '" I 601 6' 506 36 Convert MFT into ~ FILE 1 Record 631 '\ usable format I HEADER 633 I 605 Ol $DATA 635 I -~ .J:: (/) ... ~::,I AI'JUAK.U_li\Jt-UK. I l'l Cll "' MATION 636 I .J:: .2!"' ~A I I K.lt>U I t:_Ll!::> I ::. 638 ~~ ./ ~ $FILE_NAME 640 I 15 L.- $MFT 606 q; § $0BJECT_ID 641 I .2 ..1 -~ $MFTMirr 608 '\ FILE 2 Record 632 I $LogFile 610 HEADER I I Ol $DATA -~ $Volume 612 .J:: (/) I- ~::,I AI\JUAK.U_li\Jt-UK. I LL Cll $AttrDef 614 MAT! ON I .J:: !::. ~ $ATTRIBUTE_LIST ~ $Bitmap 616 s ~~0 ~ $FILE_NAME I ~ E I $Boot 618 $0BJECT_ID _, .E -~ $BadCius 620 ... FILE N Record I $Secure 622 I HEADER I Ol -~ $DATA I .J:: (/) ~::,I AI'JUAK.U_li\Jt-UK. I Cll .J:: !"' MATION I ::. $ATTRIBUTE_LIST .E 32 ~ ~g q; $FILE_NAME Cll HASH VALUES I E $0BJECT_ID I .E<= FIG. 7 U.S. Patent Nov. 9, 2010 Sheet 8 of 11 US 7,831,789 Bl Disk storage with ~0 FAT file system 1 Convert data in ~1 the usable format }J4 FAT ele1nent 1 FAT element 1 (804) ~ Directory table (822) I N I 0 FAT element 2 (806) I 00 ~ DOS file name (824) g I- I ..c <( FAT element 3 (806) ~ File AttributesJ826j <J) I co LL ..c ~ Reserved (828) I ..... ~ Create time (830) ~~co ~ Create time (832) I E ~ I £ ~4 ~ Last access date (834) .S HASH VALUES I ~..._ EA-IndexJ836j I Last modified data (838) I ......_ Last modified time (840) I ......_ I File size (842) I FIG. 8 U.S. Patent Nov. 9, 2010 Sheet 9 of 11 US 7,831,789 Bl 30 ~0 Disk storage with FAT file system I Converting data in ~1 the usable format FAT ele1nent 1 FAT element 1 804 '1 Directory table 822 N 0 FAT element 2 806 ro ......_ DOS file name 824 1--t----------1 <( FAT element 3 806 ......_ File Attributes 826 LLt----------1 ......_ Reserved 828 ......_ Create time 830 .....,_ ......_ Create time 832 .---~--. 902 ......_ Last access date 834 HASH VALUES __:.) ......_ EA-Index 836 ......_ Last modified data 838 ......_ Last modified time 840 ......_ File size 842 FAT ele1nent 2 FIG. 9 U.S. Patent Nov. 9, 2010 Sheet 10 of 11 US 7,831,789 Bl lnode table Inode 1 '\ I 10 ~ Header 1012 I Owner 1014 I I Access 1:1me Cl I C) 1015 C) ... Group ID 1016 I .2!"' :::. Lastmodified :5! .h... 1018 I <t ~1ze (1::$ytes) 1020 I I I .J Inode 2 '\ I Header I 10 11 Owner I Ol '-.. I c FIG. 10 Access time ..c I rJ) C'il I ..c ~ Group ID :::. :5! .h... Lastmodified <t Size (Bytes) ..J ... 1030 HASH VALUES U.S. Patent Nov. 9, 2010 Sheet 11 of 11 US 7,831,789 Bl 1006 Converting data 1007 1100 into usable format Inode table Inode 1 10 "I ~ Header (1012) I I Owner (1014) Ol I ,£; 0'1 Access time ..c 0 I (/) 0 (1015) co ,.... I ..c Ill Group ID (1016) f Lastmod itied :::J :Q (1018) I i:: ~1ze {t;ytes) t (1020) I 'CC I ... J Inode 2 ' I Header I 10 11 I '-. Owner I Ol :.cc Access time I (/) Ill co .....Q) I ..c :::J Group ID .Q Lastmod ified s I 'CC Size (Bytes) I I I ... 1102 HASH VALUES FIG. 11 US 7,831,789 Bl 1 2 METHOD AND SYSTEM FOR FAST Accordingly, there is a need in the art for an effective and INCREMENTAL BACKUP USING efficient method of identifYing data blocks that are not subject COMPARISON OF DESCRIPTORS to archiving, with minimal time and effort. CROSS-REFERENCE TO RELATED SUMMARY OF THE INVENTION APPLICATIONS Accordingly, the present invention is related to a method This application is a continuation-in-part of U.S.