Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for improved space allocation in a file system having a set of storage blocks in a mass storage system, including maintaining an active map of said storage blocks not available for writing data; generating, for each one of a plurality of regions of said storage blocks in said mass storage system, a value indicative of a number of storage blocks available for writing data in said region, based on said active map and at least one snapshot of the file system, each said region including a plurality of storage blocks in the active file system and a plurality of storage blocks in each of said at least one snapshot, each said at least one snapshot of the file system having a copy of said active map as said active map existed at a previous time; and setting an allocation threshold based on a number of storage blocks available for writing data in the file system; comparing the values to the allocation threshold; selecting one of said plurality of regions for which the corresponding value has a specified relationship to the allocation threshold; and writing the data into the selected one of said plurality of regions.
2. A method as in claim 1 , wherein said step of setting comprises setting the threshold based on a percentage of the number of storage blocks available for writing data in the file system.
3. A method as in claim 2 , wherein said step of selecting comprises selecting said one of the plurality of regions because the value corresponding to said region exceeds the threshold.
4. A method as in claim 1 , wherein each said value is a binary number.
5. A method as in claim 4 , wherein each said value is stored in a data block containing one or more binary numbers each corresponding to a unique region.
6. A method as in claim 1 , further comprising linearly searching said plurality of regions to select a first region with the corresponding value exceeding the threshold.
7. A method as in claim 1 , further comprising selecting an additional region when said data requires more blocks than available in the selected one of said plurality of regions.
8. An apparatus for improved data space allocation including a file system that has a set of storage blocks and a mass storage system; wherein said file system maintains an active map of storage blocks of the set of storage blocks that are not available to write data; said file system generates, for each one of a plurality of equal regions of said storage blacks in said mass storage system, a value that corresponds to said region and is indicative of a number of storage blocks available to write data in said region, based on said active map and at least one snapshot of the file system, each said region including a plurality of storage blocks in the active file system and a plurality of storage blocks in each 6 f said at least one snapshot, each said at least one snapshot of the file system having a copy of said active map as said active map existed at a previous time; said file system sets an allocation threshold based on a number of storage blocks available for writing data in the file system; said file system compares the values to the allocation threshold; said file system selects one of said plurality of regions for which the corresponding value has a specified relationship to the allocation threshold; and said file system writes the data into the selected one of said plurality of regions.
9. An apparatus as in claim 8 , wherein said file system sets the allocation threshold based on a percentage of the number of storage blocks available to write data in the file system.
10. An apparatus as in claim 8 , wherein said file system selects said one of the plurality of regions because the value corresponding to said region exceeds the threshold, using a linear search of said plurality of equal regions.
11. An article of manufacture comprising a memory with program code stored therein, which, when executed by a processor, directs the processor to cause a file system to perform the steps of any one of claims 1 , 2 , 3 , 5 , 6 , or 7 .
12. A method as in claim 1 , wherein said plurality of regions are equal in size.
13. A method as in claim 1 , wherein each of said plurality of regions of said storage blocks comprises a plurality of storage blocks, at least some of which store user data.
14. An apparatus as in claim 8 , wherein each of said plurality of regions of said storage blocks comprises a plurality of storage blocks, at least some of which store user data.
Unknown
October 30, 2007
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.