Patent ID: 7680996

Claim:
A method for shrinking a set of data, comprising: providing a writable volume presented in a computer and used for storing data; providing a differential snapshot of one or more blocks of said volume, said differential snap shot comprising: a retention container for storing copies of the one or more blocks of said volume; a watch-list structure identifying a first set of blocks of said volume remaining unchanged since a moment of creation of said snapshot; a retention-list structure identifying updated blocks of said volume and keeping associations of references to said updated blocks with references to original copies of said updated blocks stored in said retention container; a space allocation list structure identifying unused space in said retention container; providing an input structure specifying a second set of blocks of said volume to be removed from a set of data included in said snapshot; providing to said computer a set of instructions, said computer operable to execute said instructions to perform: removing references to said second set of blocks from said watch-list, adding locations referenced by said associations stored in said retention-list which include references to blocks specified by said input structure into said space allocation list: removing associations stored in said retention-list which include references to blocks specified by said input structure from said retention-list; releasing retained data from said retention container; and whereby the number of unchanged blocks included into said snapshot is shrunk.