Space allocation in a write anywhere file system
First Claim
Patent Images
1. A method comprising:
- identifying a multi-block storage region as satisfying a block vacancy criterion, the multi-block storage region being one of a plurality of multi-block storage regions of a file system in a data storage system, each multi-block storage region comprising a plurality of mass storage devices, bycomputing a value that represents an amount of block vacancy in said multi-block storage region based on identifying, using a block vacancy map of a current state of the file system and a block vacancy map of at least one past state of the file system, each block allocated on a mass storage device in said multi-block storage region during the current state and each block allocated on the mass storage device in said multi-block storage region during the at least one past state, anddetermining that the value has a particular relationship to an allocation threshold; and
in response to identifying the multi-block storage region as satisfying the block vacancy criterion, selecting the multi-block storage region as a destination for data to be written.
0 Assignments
0 Petitions
Accused Products
Abstract
A file system determines the relative vacancy of a collection of storage blocks, i.e., an “allocation area”. This is accomplished by recording an array of numbers, each of which describes the vacancy of a collection of storage blocks. The file system examines these numbers when attempting to record file blocks in relatively contiguous areas on a storage medium, such as a disk. When a request to write to disk occurs, the system determines the average vacancy of all of the allocation areas and queries the allocation areas for individual vacancy rates. 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.
81 Citations
18 Claims
-
1. A method comprising:
-
identifying a multi-block storage region as satisfying a block vacancy criterion, the multi-block storage region being one of a plurality of multi-block storage regions of a file system in a data storage system, each multi-block storage region comprising a plurality of mass storage devices, by computing a value that represents an amount of block vacancy in said multi-block storage region based on identifying, using a block vacancy map of a current state of the file system and a block vacancy map of at least one past state of the file system, each block allocated on a mass storage device in said multi-block storage region during the current state and each block allocated on the mass storage device in said multi-block storage region during the at least one past state, and determining that the value has a particular relationship to an allocation threshold; and in response to identifying the multi-block storage region as satisfying the block vacancy criterion, selecting the multi-block storage region as a destination for data to be written. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
mapping storage blocks of a mass storage system into a plurality of multi-block storage regions of a file system, each multi-block storage region comprising a plurality of mass storage devices; for each of the plurality of multi-block storage regions of the file system, computing a value that represents an amount of block vacancy in said multi-block storage region to produce a plurality of values, each value corresponding to a different one of the plurality of multi-block storage regions, said computing based on identifying, using a block vacancy map of a current state of the file system and a block vacancy map of at least one past state of the file system, each block allocated on a mass storage device in said multi-block storage region during the current state and each block allocated on the mass storage device in said multi-block storage region during the at least one past state; identify a multi-block storage region, of the plurality of multi-block regions, as satisfying a block vacancy criterion, by determining that the value corresponding to said region exceeds an allocation threshold; in response to identifying the multi-block storage region as satisfying the block vacancy criterion, selecting the multi-block storage region as a destination for data to be written; and writing data into the selected multi-block storage region after said multi-block storage region is selected. - View Dependent Claims (9, 10, 11, 12)
-
-
13. An apparatus comprising:
-
a mass storage system to store data; and a file system that manages a plurality of storage blocks stored in the mass storage system, the file system being configured to for each of a plurality of multi-block storage regions of the file system, wherein each multi-block storage region comprises a plurality of mass storage devices, compute a value that represents an amount of block vacancy in said multi-block storage region to produce a plurality of values, each corresponding to a different one of the plurality of multi-block storage regions, said computing based on identifying, using a block vacancy map of a current state of the file system and a block vacancy map of at least one past state of the file system, each block allocated on a mass storage device in said multi-block storage region during the current state and each block allocated on the mass storage device in said multi-block storage region during the at least one past state; identify a multi-block storage region, of the plurality of multi-block regions, as satisfying a block vacancy criterion, by determining that the value corresponding to said region has a particular relationship to an allocation threshold; and in response to identifying the multi-block storage region as satisfying the block vacancy criterion, select the multi-block storage region as a destination for data to be written. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification