Space allocation in a write anywhere file system
First Claim
1. A method for improved space allocation in a write anywhere file system, including a file system having a set of storage blocks in a mass storage system, includingmaintaining an active map of said storage blocks not available for writing data;
- recording a consistency point in said file system including a consistent version of said file system at a previous time, said consistency point including a copy of said active map at said previous time;
determining, for each one of a plurality of regions of said storage blocks in said mass storage system, a spacemap including an array of binary numbers, each said binary number being count related to a number of blocks available or not available for writing data in one of said regions, wherein said spacemap is responsive to said active map and a summary map; and
selecting at least one of said plurality of regions in response to said spacemap.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for improving data access of a reliable file system is provided. In a first aspect of the invention, the file system determines the relative vacancy of a collection of storage blocks, herein called an “allocation area”. This is accomplished by recording an array of binary numbers. Each binary number in the array describes the vacancy of a collection of storage blocks. The file system examines these binary numbers when attempting to record file blocks in relatively contiguous areas on a storage medium, such as a hard disk. When a request to write to disk occurs, the system determines the average vacancy of all the allocation areas and queries the allocation areas for individual vacancy rates such as sequentially. The system preferably writes file blocks to the allocation areas that are above a threshold related to the average storage block vacancy of the file system. If the file in the request to write is larger than the selected allocation area, the next allocation area above the threshold is preferably used to write the remaining blocks of the file.
302 Citations
39 Claims
-
1. A method for improved space allocation in a write anywhere file system, including 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; -
recording a consistency point in said file system including a consistent version of said file system at a previous time, said consistency point including a copy of said active map at said previous time;
determining, for each one of a plurality of regions of said storage blocks in said mass storage system, a spacemap including an array of binary numbers, each said binary number being count related to a number of blocks available or not available for writing data in one of said regions, wherein said spacemap is responsive to said active map and a summary map; and
selecting at least one of said plurality of regions in response to said spacemap. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for improved space allocation in a write anywhere file system, including a file system having a set of storage blocks in a mass storage system, including
maintaining a collection of bit maps responsive to the set of storage blocks available for writing data; -
determining, for each one of a plurality of regions of said storage blocks in said mass storage system, a spacemap including an array of binary numbers, each said binary number being count related to a number of blocks available or not available for writing data in one of said regions, wherein said spacemap is responsive to at least two bitmaps included in said collection of bitmaps;
selecting at least one of said plurality of regions in response to said spacemap; and
writing at least part of a file composed of a collection of file blocks to the selected one of said plurality of regions. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. An apparatus for improved space allocation in a write anywhere file system, including a file system that has a set of storage blocks in a mass storage system;
- wherein
said file system maintains an active map of one of said storage blocks not available to write data;
said file system records a consistency point which includes a consistent version of said file system at a previous time, said consistency point includes a copy of said active map at said previous time;
said file system determines, for each one of a plurality of regions of said storage blocks in said mass storage system, a spacemap including an array of binary numbers, each said binary number being count related to a number of blocks available or not available for writing data in one of said regions, wherein said spacemap is responsive to said active map and a summary map; and
said file system selects at least one of said plurality of regions in response to said spacemap. - View Dependent Claims (15, 16, 17, 18)
- wherein
-
19. An apparatus for improved space allocation in a write anywhere file system, including a file system having a set of storage blocks in a mass storage system including
means for maintaining an active map of said storage blocks not available for writing data; -
means for recording a consistency point including a consistent version of said file system at a previous time, said consistency point including a copy of said active map at said previous time;
means for determining, for each one of a plurality of regions of said storage blocks in said mass storage system, a spacemap including an array of binary numbers, each said binary number being count related to a number of blocks available or not available for writing data in one of said regions, wherein said spacemap is responsive to said active map and a summary map; and
means for selecting at least one of said plurality of regions in response to said spacemap. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
-
27. A memory storing information including instruction, the instructions for improved space allocation in a write anywhere file system, including a file system having a set of storage blocks in a mass storage system, the instructions including the steps of
maintaining an active map of said storage blocks not available for writing data; -
recording a consistency point in said file system including a consistent version of said file system at a previous time, said consistency point including a copy of said active map at said previous time;
determining, for each one of a plurality of regions of said storage blocks in said mass storage system, a spacemap including an array of binary numbers, each said binary number being count related to a number of blocks available or not available for writing data in one of said regions, wherein said spacemap is responsive to said active map and a summary map; and
selecting at least one of said plurality of regions in response to said spacemap. - View Dependent Claims (28, 29, 30, 31, 32, 33)
-
-
34. A memory storing information including instruction, the instructions for improved space allocation in a write anywhere file system, including a file system having a set of storage blocks in a mass storage system, the instructions including the steps of
maintaining a collection of bit maps responsive to the set of storage blocks available for writing data; -
determining, for each one of a plurality of regions of said storage blocks in said mass storage system, a spacemap including an array of binary numbers, each said binary number being count related to a number of blocks available or not available for writing data in one of said regions, wherein said spacemap is responsive to at least two bitmaps included in said collection of bitmaps;
selecting at least one of said plurality of regions in response to said spacemap; and
writing at least part of a file composed of a collection of file blocks to the selected one of said plurality of regions. - View Dependent Claims (35, 36, 37, 38, 39)
-
Specification