IP Library Granted Patent US 8,495,010
Granted Patent B2
US 8,495,010 · App. 11/406,957 · Granted Jul 23, 2013

Method and system for adaptive metadata replication

Inventors: William H. Moore (Fremont, CA); Jeffrey S. Bonwick (Los Altos, CA); Matthew A. Ahrens (San Francisco, AZ)
Assignee: Oracle America, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,495,010
App. No.
11/406,957
Granted
Jul 23, 2013
Kind
B2
Abstract

A method for writing a data block to a storage pool. The method including receiving a write operation for a block, determining whether the block comprises metadata, and if the block comprises metadata: determining a first replication type for the block, and writing the block to the storage pool in accordance with the first replication type. If the block does not comprise metadata: determining a second replication type for the block and writing the block to the storage pool in accordance with the second replication type.

Claims (53)

1. A method for writing data to a storage pool, comprising:

receiving a first write operation for a first block;

determining that the first block comprises metadata;

determining a first replication type for the first block, wherein determining the first replication type comprises:

determining a class of metadata to which the first block belongs,

determining that the class of metadata is associated with a class-specific replication policy, and

using the class-specific replication policy to determine the first replication type;

writing the first block to the storage pool in accordance with the first replication type;

receiving a second write operation for a second block;

determining that the second block does not comprise metadata;

determining a second replication type for the second block; and

writing the second block to the storage pool in accordance with the second replication type.

2. The method of claim 1 , wherein determining that the first block comprises metadata includes determining that the block is one selected from a group consisting of a root block of the storage pool, a block associated with a global file system metadata, a block associated with a file system in the storage pool, and an indirect block associated with a file.

3. The method of claim 1 , wherein the class of metadata corresponds to one selected from a group consisting of a root block class, a global file system metadata class, a file system metadata class, and an indirect block class.

4. The method of claim 1 , wherein the first block is associated with a file.

5. The method of claim 4 , wherein the file is organized as a hierarchy of blocks and the first block is part of the hierarchy of blocks.

6. A system, comprising:

a computer processor;

a storage pool;

and a file system executing on the computer processor and configured to:

receive a first write operation for a first block,

determine that the first block comprises metadata,

determine a first replication type for the first block;

write the first block to the storage pool in accordance with the first replication type,

receive a second write operation for a second block,

determine that the second block does not comprise metadata,

determine a second replication type for the second block, and

write the second block to the storage pool in accordance with the second replication type,

wherein, to determine the first replication type, the file system is configured to:

determine a class of metadata to which the first block belongs,

determine that the class of metadata is associated with a class-specific replication policy, and

use the class-specific replication policy to determine the first replication type.

7. The system of claim 6 , wherein determining that the first block comprises metadata includes determining that the first block is one selected from a group consisting of a root block of the storage pool, a block associated with a global file system metadata, a block associated with a file system in the storage pool, and an indirect block associated with a file.

8. The system of claim 6 , wherein the class of metadata corresponds to one selected from a group consisting of a root block class, a global file system metadata class, a file system metadata class, and an indirect block class.

9. The system of claim 6 , wherein the first block is associated with a file in the file system.

10. The system of claim 9 , wherein the file is organized as a hierarchy of blocks and the first block is part of the hierarchy of blocks of the file system.

11. A non-transitory computer readable storage medium comprising executable instructions for writing data to a storage pool, the executable instructions comprising instructions to:

receive a first write operation for a first block;

determine that the first block comprises metadata;

determine a first replication type for the first block, wherein instructions to

determine the first replication type comprise instructions to:

determine a class of metadata to which the first block belongs,

determine that the class of metadata is associated with a class-specific replication policy, and

use the class-specific replication policy to determine the first replication type;

write the first block to the storage pool in accordance with the first replication type;

receive a second write operation for a second block;

determine that the second block does not comprise metadata;

determine a second replication type for the second block; and

write the second block to the storage pool in accordance with the second replication type.

12. The non-transitory computer readable storage medium of claim 11 , wherein instructions to determine that the first block comprises metadata include instructions to determine that the block is one selected from a group consisting of a root block of the storage pool, a block associated with a global file system metadata, a block associated with a file system in the storage pool, and an indirect block associated with a file.

13. The non-transitory computer readable storage medium of claim 11 , wherein the class of metadata corresponds to one selected from a group consisting of a root block class, a global file system metadata class, a file system metadata class, and an indirect block class.

14. The non-transitory computer readable storage medium of claim 11 , wherein the first block is associated with a file.

15. The non-transitory computer readable storage medium of claim 14 , wherein the file is organized as a hierarchy of blocks and the first block is part of the hierarchy of blocks.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2006
From: MOORE, WILLIAM H.; BONWICK, JEFFREY S.; AHRENS, MATTHEW A.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017798/0223 →
Continuity (3)
Provisional Application 60733848 · Nov 4, 2005
Provisional Application 60734023 · Nov 4, 2005
Related Publication 20070118576A1 · May 24, 2007