Patents by Inventor Matthew A. Ahrens

Matthew A. Ahrens has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20070106678
    Abstract: A storage pool, that includes a hierarchical data structure, wherein the hierarchical data structure comprises a plurality of nodes, wherein one of the plurality of nodes corresponds to the file system, and the file system, wherein the file system is associated with a value corresponding to an attribute, wherein the value is determined using the hierarchical data structure.
    Type: Application
    Filed: May 11, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Matthew Ahrens, Mark Maybee
  • Publication number: 20070106862
    Abstract: A method for storing a data block in a storage pool, including receiving a write operation for the data block, writing the data block into the storage pool, determining a first indirect block to store in the storage pool, wherein the first indirect block references the data block, writing the first indirect block to a first location in the storage pool, creating a copy of the first indirect block, and writing the copy of first indirect block to a second location in the storage pool.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Jeffrey Bonwick, William Moore, Matthew Ahrens
  • Publication number: 20070106706
    Abstract: The invention relates to a system that includes a file system configured to create a snapshot of a hierarchical block tree (HBT) and a storage pool. After the snapshot has been created, the storage pool includes a snapshot, where the snapshot includes a copy of a first version of a root block and the HBT, where the HBT includes a second version of the root block. Further, the copy of the first version of the root block is created prior to overwriting the first version of the root block with the second version of the root block, the second version of the root block comprises references to a first block and a second block, and the copy of the first version of the root block comprises a reference to the first block and no reference to the second block.
    Type: Application
    Filed: August 31, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Matthew Ahrens, Mark Maybee, Jeffrey Bonwick
  • Publication number: 20070106632
    Abstract: A method for locating a root block in file system metadata, includes traversing the file system metadata to locate a leaf block, wherein the leaf block comprises a plurality of root blocks and at least one of the plurality of root blocks is unallocated, allocating the at least of one the plurality of unallocated root blocks to obtain an allocated root block, wherein the leaf block is associated with a fill count and the fill count is less than a maximum fill count of the leaf block.
    Type: Application
    Filed: April 20, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Jeffrey Bonwick, William Moore, Matthew Ahrens
  • Publication number: 20070106846
    Abstract: A method for caching a block, which includes receiving a request to store the block in a cache and determining whether the cache is able to expand. If the cache is not able to expand, then determining whether evictable blocks are present in the cache and, if evictable blocks are present in the cache determining whether a total size of the evictable blocks is greater than or equal to a size of the block, evicting a sufficient number of the evictable blocks from the cache and storing the block in the cache, if the total size of the evictable blocks is greater than or equal to the size of the block, and activating a cache throttle, if the total size of the evictable blocks is less than the size of the block.
    Type: Application
    Filed: May 3, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Jeffrey Bonwick, William Moore, Mark Maybee, Matthew Ahrens
  • Publication number: 20070106870
    Abstract: A system includes a storage pool including a first disk and a second disk, a data management unit (DMU), and a storage pool allocator (SPA). The SPA is configured to receive a request from the DMU to write a logical block, allocate a first physical block on the first disk, attempt to write the logical block to the first physical block, and allocate a second physical block on the second disk, if the attempt to write the logical block to the first physical block fails.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Jeffrey Bonwick, William Moore, Matthew Ahrens
  • Publication number: 20070106847
    Abstract: A method for caching a block of data. The method including receiving a request to store the block and determining whether an active cache is able to expand. If the active cache is able to expand, then expanding the active cache to obtain an expanded active cache, and storing the block in the expanded active cache. If the active cache is not able to expand, then determining whether evictable blocks are present in the victim cache. If evictable blocks are present in the victim cache, then evicting a sufficient number of the evictable blocks from the victim cache to facilitate storing the block in the active cache, where the evictable blocks in the victim cache are compressed.
    Type: Application
    Filed: August 31, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Jeffrey Bonwick, William Moore, Mark Maybee, Matthew Ahrens
  • Publication number: 20070106700
    Abstract: A storage pool including a file system, where the file system is associated with a name and the name is determined using a hierarchical data structure.
    Type: Application
    Filed: May 3, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Matthew Ahrens, Mark Maybee, Jeffrey Bonwick
  • Publication number: 20070106866
    Abstract: A method for resilvering a storage pool includes determining whether any of a first plurality of blocks in the storage pool, comprising metadata, require resilvering, determining whether any of a second plurality of blocks in the storage pool, comprising data, require resilvering, resilvering all of the first plurality of blocks that require resilvering, and resilvering all of the second plurality of blocks that require resilvering, wherein all of the first plurality of blocks that require resilvering are resilvered prior to resilvering any of the second plurality of blocks.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: William Moore, Jeffrey Bonwick, Matthew Ahrens
  • Publication number: 20070106863
    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.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Jeffrey Bonwick, William Moore, Matthew Ahrens
  • Publication number: 20070106677
    Abstract: A computer readable medium includes executable instructions for resilvering a hierarchical block tree in a storage pool by traversing a branch of the hierarchical block tree only if a birth time of a parent block of the branch is greater than or equal to a lowest birth time on a dirty time log (DTL), and resilvering a child block in the branch only if the DTL comprises a birth time of the child block.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: William Moore, Jeffrey Bonwick, Matthew Ahrens