US 7,574,461 B1
Dividing data for multi-thread backup
Peter Armorer, Mississauga (Canada); Anselmo Barrero, San Jose, Calif. (US); Brian Gardner, San Jose, Calif. (US); Roger W. Kilday, Livermore, Calif. (US); Ken Owens, Burlington (Canada); Yasemin Ugur Ozekinci, Burlington (Canada); and Suavek Zajac, Oakville (Canada)
Assigned to EMC Corporation, Hopkinton, Mass. (US)
Filed on Dec. 28, 2005, as Appl. No. 11/322,176.
Int. Cl. G06F 12/00 (2006.01); G06F 17/30 (2006.01)
U.S. Cl. 707—204  [707/200; 707/205] 25 Claims
OG exemplary drawing
 
1. A method of performing a backup, comprising:
identifying one or more directories at a lowest level in a file directory associated with a storage using a processor, wherein the storage communicates with the processor via an interface, and wherein the file directory is constrained to grow in a balanced manner;
dividing the identified lowest level directories into one or more directory groups based at least in part on a determination that the total size of the identified lowest level directories is greater than a threshold size using a processor; and
performing the backup of the directory groups using parallel threads until all directory groups have been backed up using a processor, wherein the backup is performed without traversing the entire file directory and wherein the number of parallel threads used to perform the backup is determined using one or more of the following: a preconfigured value, a configuration value, a configuration preference, the number of lowest level directories that have been identified, and characteristics of one or more systems running the parallel threads.