IP Library Granted Patent US 7,716,445
Granted Patent B2
US 7,716,445 · App. 11/406,592 · Granted May 11, 2010

Method and system for storing a sparse file using fill counts

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 7,716,445
App. No.
11/406,592
Granted
May 11, 2010
Kind
B2
Abstract

A method for storing a first block and a second block, the includes storing the first block and the second block in a storage pool, and storing a third block in the storage pool, wherein the third block references the first block and second block and comprises a first fill count and a second fill count, wherein the first fill count corresponds to one selected from the group consisting of a number of data blocks directly referenced by the first block, a number of data blocks indirectly referenced by the first block, if the first block is an indirect block, wherein the first fill count is one if the first block is a data block.

Claims (22)

1. A computer readable medium comprising instructions, which when executed by a processor perform a method for storing a first block and a second block, the method comprising:

storing the first block and the second block in a storage pool;

storing a third block in the storage pool, wherein the third block references the first block and second block and comprises a first fill count and a second fill count,

wherein, if the first block is an indirect block, the first fill count corresponds to one selected from a group consisting of a number of data blocks directly referenced by the first block, and a number of data blocks indirectly referenced by the first block,

wherein the first fill count is one if the first block is a data block; and

storing a fourth block in the storage pool, wherein the fourth block references the third block and comprises a third fill count, wherein the third fill count comprises the sum of the first fill count and the second fill count.

2. The computer readable medium of claim 1 , wherein the second fill count corresponds to the sum of fill counts recorded in all blocks referenced by the second block.

3. The computer readable medium of claim 1 , wherein the first block, the second block, and the third block are associated with a sparse file.

4. A system, comprising:

a storage pool comprising:

a first block and a second block, and

a third block referencing the first block and second block and comprising a first fill count and a second fill count, wherein the first fill count is associated with the first block and the second fill count is associated with the second block,

a fourth block referencing the third block and comprising a third fill count, wherein the third fill count comprises the sum of the first fill count and the second fill count; and

a storage pool allocator configured to store the first block, the second block, and the third block in the storage pool

wherein, if the first block is an indirect block, the first fill count corresponds to one selected from a group consisting of a number of data blocks directly referenced by the first block, and a number of data blocks indirectly referenced by the first block,

wherein the first fill count is one if the first block is a data block.

5. The system of claim 4 , wherein the second fill count corresponds to the sum of fill counts recorded in all blocks referenced by the second block.

6. The system of claim 4 , wherein the first block, the second block, and the third block are associated with a sparse file.

7. The system of claim 4 , wherein the third block comprises:

a first block pointer referencing the first block, wherein the first block pointer comprises the first fill count;

a second block pointer referencing the second block, wherein the second block pointer comprises the second fill count; and

a third block pointer comprises a third fill count, wherein the third fill count is zero.

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 037306/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2006
From: BONWICK, JEFFREY S.; MOORE, WILLIAM H.; AHRENS, MATTHEW A.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017797/0444 →
Continuity (2)
Provisional Application 6073370600 · Nov 4, 2005
Related Publication 20070106863A1 · May 10, 2007