×

Gang blocks

  • US 7,437,528 B1
  • Filed: 08/17/2004
  • Issued: 10/14/2008
  • Est. Priority Date: 08/17/2004
  • Status: Active Grant
First Claim
Patent Images

1. A method for allocating space on a disk comprising:

  • receiving a first request to allocate space on the disk having a first size;

    allocating, in response to the first request, a first contiguous space having the first size and storing a first indirect block in the first contiguous space;

    storing a second indirect block comprising a first block pointer referencing the first indirect block, wherein the first block pointer comprises a first gang block header bit that is not set;

    receiving a second request to allocate space on the disk having a second size, wherein no contiguous space of the second size exists on the disk;

    allocating, in response to the second request, a gang block header, wherein the gang block header occupies a minimum allocateable portion on the disk;

    populating the gang block header; and

    responding to the second request to allocate space on the disk by storing a second block pointer in the second indirect block, wherein the second block pointer comprises a second gang block header bit that is set, wherein the second block pointer references the gang block header and comprises a disk virtual address (DVA), a birth, and a checksum field and wherein the DVA comprises the second gang block header bit and a size field,wherein populating the gang block header comprises;

    obtaining a second contiguous space on the disk having a third size, wherein the third size is less than the second size,storing a third pointer to the second contiguous space in the gang block header,obtaining a third contiguous space on the disk having a fourth size, wherein the fourth size is less than the second size, andstoring a fourth pointer to the third contiguous space in the gang block header.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×