7290013

Space Allocation in a Write Anywhere File System

PublishedOctober 30, 2007
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
14 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

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

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

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

4. A method as in claim 1 , wherein each said value is a binary number.

5

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

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

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

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

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

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

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

12. A method as in claim 1 , wherein said plurality of regions are equal in size.

13

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

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.

Patent Metadata

Filing Date

Unknown

Publication Date

October 30, 2007

Inventors

Douglas P. Doucette
Blake Lewis
John K. Edwards

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SPACE ALLOCATION IN A WRITE ANYWHERE FILE SYSTEM” (7290013). https://patentable.app/patents/7290013

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

SPACE ALLOCATION IN A WRITE ANYWHERE FILE SYSTEM — Douglas P. Doucette | Patentable