Patent ID: 7047379

Claim:
A method for organizing and storing data comprising the steps of: receiving a block of data from a data source at a first data storage site; maintaining addressing information in a tree data structure for said block of data; determining a storage device address to store said block of data; determining a logical block address within said storage device address to store said block of data; determining said tree data structure for said block of data; determining a depth in said tree data structure of said storage device address; in response to said storage device address not existing in said tree data structure, creating said storage device address in said tree data structure; in response to said logical block address existing in said tree data structure, overwriting an existing block of data with said block of data at said logical address; in response to said logical block address not existing in said tree data structure, storing said block of data at said logical block address; in response to said depth in said tree data structure of said storage device address being greater than a depth threshold, K, adjusting said depth in said tree data structure of said storage device address to be less than said depth threshold, K; in response to said block of data not being a final block of data of a group of data, returning to the step of receiving a block of data; and transferring said group of data to a second data storage site.