Method and system for using a block allocation policy
First Claim
Patent Images
1. A method for writing logical blocks into a storage pool organized in a hierarchical tree structure, comprising:
- receiving a request to write first logical block;
selecting a block allocation policy, by a file system associated with the storage pool, from a plurality of allocation policies;
obtaining a list of free physical blocks in the storage pool;
allocating a first physical block from the list of free physical blocks, based on the block allocation policy;
writing the first logical block to the first physical block on a first level of the hierarchical tree structure;
calculating a first checksum for the first logical block;
assembling a second logical block, wherein the second logical block comprises a first block pointer that stores the first checksum and references the first logical block;
allocating a second physical block from the list of free physical blocks, based on the block allocation policy;
writing the second logical block to the second physical block on a second level of the hierarchical tree structure;
calculating a second checksum for the second logical block;
assembling a third logical block, wherein the third logical block comprises a second block pointer that stores the second checksum and references the second logical block;
allocating a third physical block from the list of free physical blocks, based on the block allocation policy; and
writing the third logical block to the third physical block on a third level of the hierarchical tree structure.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for writing a logical block into a storage pool includes receiving a request to write the logical block, selecting a block allocation policy, by a file system associated with the storage pool, from a set of allocation policies, obtaining a list of free physical blocks in the storage pool, allocating a physical block from the list of free physical blocks, based on the block allocation policy, and writing the logical block to the physical block.
-
Citations
20 Claims
-
1. A method for writing logical blocks into a storage pool organized in a hierarchical tree structure, comprising:
-
receiving a request to write first logical block; selecting a block allocation policy, by a file system associated with the storage pool, from a plurality of allocation policies; obtaining a list of free physical blocks in the storage pool; allocating a first physical block from the list of free physical blocks, based on the block allocation policy; writing the first logical block to the first physical block on a first level of the hierarchical tree structure; calculating a first checksum for the first logical block; assembling a second logical block, wherein the second logical block comprises a first block pointer that stores the first checksum and references the first logical block; allocating a second physical block from the list of free physical blocks, based on the block allocation policy; writing the second logical block to the second physical block on a second level of the hierarchical tree structure; calculating a second checksum for the second logical block; assembling a third logical block, wherein the third logical block comprises a second block pointer that stores the second checksum and references the second logical block; allocating a third physical block from the list of free physical blocks, based on the block allocation policy; and writing the third logical block to the third physical block on a third level of the hierarchical tree structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a storage pool organized in a hierarchical tree structure; and a file system operatively connected to the storage pool and configured to; receive a request to write a first logical block; select a block allocation policy from a plurality of allocation policies; obtain a list of free physical blocks in the storage pool; allocate a first physical block from the list of free physical blocks based on the block allocation policy; write the first logical block to the first physical block on a first level of the hierarchical tree structure; calculate a checksum for the first logical block; assemble a second logical block, wherein the second logical block comprises a block pointer that stores the checksum and references the first logical block; allocate a second physical block from the list of free physical blocks, based on the block allocation policy; write the second logical block to the second physical block on a second level of the hierarchical tree structure; calculate a second checksum for the second logical block; assemble a third logical block, wherein the third logical block comprises a second block pointer that stores the second checksum and references the second logical block; allocate a third physical block from the list of free physical blocks, based on the block allocation policy; and write the third logical block to the third physical block on a third level of the hierarchical tree structure. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer readable medium comprising instructions, which when executed by a processor, cause the processor to perform a method for writing logical blocks into a storage pool organized in a hierarchical tree structure by:
-
receiving a request to write a first logical block; selecting a block allocation policy, by a file system associated with the storage pool, from a plurality of allocation policies; obtaining a list of free physical blocks in the storage pool; allocating a first physical block from the list of free physical blocks, based on the block allocation policy; writing the first logical block to the first physical block on a first level of the hierarchical tree structure; calculating a checksum for the first logical block; assembling a second logical block, wherein the second logical block comprises a block pointer that stores the checksum and references the first logical block; allocating a second physical block from the list of free physical blocks, based on the block allocation policy; writing the second logical block to the second physical block on a second level of the hierarchical tree structure; calculating a second checksum for the second logical block; assembling a third logical block, wherein the third logical block comprises a second block pointer that stores the second checksum and references the second logical block; allocating a third physical block from the list of free physical blocks, based on the block allocation policy; and writing the third logical block to the third physical block on a third level of the hierarchical tree structure. - View Dependent Claims (17, 18, 19, 20)
-
Specification