Patent ID: 7606845

Claim:
An apparatus to concurrently copy one or more data files to multiple pools, the apparatus comprising: a code storage device storing an executable code; a processor executing the executable code, the executable code comprising a copy module copying one or more data files from a client over a data channel in a first write to a storage pool, wherein all communications to the storage pool and a next pool are received from the data channel, the storage pool only stores active data files, and an active data file is a most recently backed up instance of a client data file; the copy module further concurrently copying the data files in the first write from the data channel to the next pool as the data files are copied from the data channel to the storage pool, wherein the next pool is organized in a storage hierarchy with the storage pool, offloads inactive data files from the storage pool, and stores active and inactive data files, wherein an inactive data file is a previous instance of the client data file; a migration module deleting first data files from the storage pool in response to a migration operation for moving inactive files from the storage pool to the next pool if the first data files become inactive files subsequent to active instances of the first files being concurrently copied to the storage pool and next pool; and an aggregation module aggregating a plurality of the data files into a first aggregate file referenced using a single database entry and copied and communicated as a single file, the first aggregate file comprising an index to the plurality of the data files, and the aggregation module further aggregating the first aggregate file into a second aggregate file subsequent to an active instance of a second file being concurrently copied to the storage pool and the next pool wherein the second aggregate file does not comprise an instance of the second file.