Multiple replication levels with pooled devices
First Claim
Patent Images
1. A method for writing data to a storage pool, comprising:
- receiving a first write operation for a first block;
determining a first replication type for the first block;
determining a number of physical blocks (n1) required to write the first block to the storage pool using a size of the first block and the first replication type;
if n1 is not a multiple of a maximum supported replication level of the storage pool;
allocating a number of padded physical blocks (p1) to n1 until n1+p1 is a multiple of the maximum supported replication level of the storage pool, andwriting the first block to the storage pool by filling in the n1 physical blocks; and
if n1 is a multiple of the maximum supported replication level of the storage pool, writing the first block to the storage pool by filling in n1 physical blocks.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for writing data to a storage pool, including receiving a first write operation for a first block, determining a first replication type for the first block, determining a number of physical blocks (n1) required to write the first block to the storage pool using a size of the first block and the first replication type, if n1 is not a multiple of the maximum supported replication level of the storage pool: allocating a number of padded physical blocks (p1) to n1 until n1+p1 is a multiple of a maximum supported replication level of the storage pool, and writing the first block to the storage pool by filling in the n1 physical blocks.
-
Citations
20 Claims
-
1. A method for writing data to a storage pool, comprising:
-
receiving a first write operation for a first block; determining a first replication type for the first block; determining a number of physical blocks (n1) required to write the first block to the storage pool using a size of the first block and the first replication type; if n1 is not a multiple of a maximum supported replication level of the storage pool; allocating a number of padded physical blocks (p1) to n1 until n1+p1 is a multiple of the maximum supported replication level of the storage pool, and writing the first block to the storage pool by filling in the n1 physical blocks; and if n1 is a multiple of the maximum supported replication level of the storage pool, writing the first block to the storage pool by filling in n1 physical blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for writing data, comprising:
-
a storage pool comprising; a plurality of child blocks, wherein each of the plurality of child blocks comprises one selected from the group consisting of a data block and an indirect block, wherein the indirect block references at least one of the plurality of child blocks; a parent block referencing at least one indirect block; and a storage pool allocator configured to store the root block and the plurality of child blocks, a file system operatively connected to the storage pool, wherein the file system is configured to store a first block in the storage pool using the following method; determining a first replication type for a first block; determining a number of physical blocks (n1) required to write the block to the storage pool using a size of the first block and the first replication type; if n1 is not a multiple of a maximum supported replication level of the storage pool; allocating a number of padded physical blocks (p1) to n1 until n1+p1 is a multiple of the maximum supported replication level of the storage pool, and writing the first block to the storage pool by filling in n1 physical blocks; and if n1 is a multiple of the maximum supported replication level of the storage pool, writing the first block to the storage pool by filling in n1 physical blocks, wherein the first block is one selected from the group consisting of the child block and the parent block. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium comprising computer readable program code embodied therein for causing a computer system to:
-
receiving a first write operation for a first block; determining a first replication type for the first block; determining a number of physical blocks (n1) required to write the first block to the storage pool using a size of the first block and the first replication type; if n1 is not a multiple of a maximum supported replication level of the storage pool; allocating a number of padded physical blocks (p1) to n1 until n1+p1 is a multiple of the maximum supported replication level of the storage pool, and writing the first block to the storage pool by filling in n1 physical blocks; and if n1 is a multiple of the maximum supported replication level of the storage pool, writing the first block to the storage pool by filling in n1 physical blocks. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification