Patent ID: 8479211

Claim:
A computer-implemented method of storing data in a data volume, comprising: under control of one or more computer systems configured with executable instructions, receiving a request to store data to a data volume; if the data volume does not exist: determining at least one functional aspect of the data volume to be created; creating a data volume with a storage capacity and a number of partitions based at least in part upon the at least one functional aspect; distributing a number of logical areas across the number of partitions, each logical area configured to store a portion of the data in the data volume; and maintaining a first set of mappings indicating the logical areas associated with each partition; distributing the data across the logical areas associated with the number of partitions, the data in each logical area being mapped using a second set of mappings; monitoring the usage of the data volume; and in response to detecting at least one functional aspect of the data volume falling outside an allowable range for the current number of partitions, determining an adjusted number of partitions necessary to bring the detected at least one functional aspect within the allowable range; modifying the data volume to include the adjusted number of partitions; moving at least one logical area based at least in part upon the adjusted number of partitions in order to at least partially balance the number of logical areas across the adjusted number of partitions; and updating the first set of mappings to indicate the current partition associated with each logical area as a result of moving the at least one logical area, without having to update any of the second set of mappings as a result of the moving.