Patents by Inventor Blake H. Lewis

Blake H. Lewis 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: 20160110120
    Abstract: A first plurality of block identifiers is sorted based, at least in part, on a measure of spatial locality. A second plurality of block identifiers is sorted based, at least in part, on the measure of spatial locality. At least the first plurality of block identifiers and the second plurality of block identifiers are incrementally merged into a third plurality of block identifiers based, at least in part, on the measure of spatial locality. A block of data corresponding to metadata associated with a plurality of block identifiers of the third plurality of block identifiers is updated.
    Type: Application
    Filed: October 20, 2014
    Publication date: April 21, 2016
    Inventors: Jayalakshmi Pattabiraman, Nikhil Mattankot, Deekshith Belchapada, Blake H. Lewis, Subramaniam Periyagaram, Satya Suresh Chouta Naga Veera, Rohit Singh, Rajesh Khandelwal, James Robert Morefield
  • Publication number: 20160110392
    Abstract: The embodiments described herein are directed to an organization of metadata managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The metadata managed by the volume layer, i.e., the volume metadata, is illustratively embodied as mappings from addresses, i.e., logical block addresses (LBAs), of a logical unit (LUN) accessible by a host to durable extent keys maintained by an extent store layer of the storage I/O stack. In an embodiment, the volume layer organizes the volume metadata as a mapping data structure, i.e., a dense tree metadata structure, which represents successive points in time to enable efficient access to the metadata.
    Type: Application
    Filed: December 22, 2015
    Publication date: April 21, 2016
    Inventors: Ling Zheng, Blake H. Lewis, Kayuri H. Patel
  • Publication number: 20160070495
    Abstract: A system and method for logically organizing compressed data. In one aspect, a destination storage server receives a write request that includes multiple data blocks and specifies corresponding file block numbers. An extent-based file system executing on the storage server accesses intermediate block entries that each associates one of the file block numbers with a respective extent block number. The file system, in cooperation with a compression engine, compresses the data blocks into a set of one or more compressed data blocks. The file system stores the compressed data blocks at physical locations corresponding to physical block numbers and allocates, within an extent map, pointers from an extent ID to the extent block numbers, and pointers from the extent ID to the physical block numbers.
    Type: Application
    Filed: October 30, 2015
    Publication date: March 10, 2016
    Inventors: Subramaniam Periyagaram, Sandeep Yadav, Blake H. Lewis, Rickard E. Faith
  • Patent number: 9268502
    Abstract: In one embodiment, a node coupled to one or more storage devices executes a storage input/output (I/O) stack having a volume layer. The volume layer manages volume metadata embodied as mappings from offsets of a logical unit (LUN) to extent keys associated with storage locations for extents on the one or more storage devices. Volume metadata is maintained as a dense tree metadata structure representing successive points in time. The dense tree metadata structure has multiple levels, wherein a top level of the dense tree metadata structure represents newer volume metadata changes and descending levels of the dense tree metadata structure represent older volume metadata changes. The node accesses a latest version of changes to the volume metadata by searching from the top level to the descending levels in the dense tree metadata structure.
    Type: Grant
    Filed: September 16, 2013
    Date of Patent: February 23, 2016
    Assignee: NetApp, Inc.
    Inventors: Ling Zheng, Blake H. Lewis, Kayuri H. Patel
  • Publication number: 20160048333
    Abstract: The embodiments described herein are directed to efficient merging of metadata managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The metadata managed by the volume layer, i.e., the volume metadata, is illustratively organized as a multi-level dense tree metadata structure, wherein each level of the dense tree metadata structure (dense tree) includes volume metadata entries for storing the volume metadata. The volume metadata entries of an upper level of the dense tree metadata structure are merged with the volume metadata entries of a next lower level of the dense tree metadata structure when the upper level is full. The volume metadata entries of the merged levels are organized as metadata pages and stored as one or more files on the SSDs.
    Type: Application
    Filed: October 30, 2015
    Publication date: February 18, 2016
    Inventors: Ling Zheng, Blake H. Lewis
  • Patent number: 9256378
    Abstract: A method for sharing data blocks in a hierarchical file system in a storage server includes allocating a plurality of data blocks in the file system, and sharing data blocks in the file system, without using a persistent point-in-time image, to avoid duplication of data blocks. A method for identifying data blocks that can be shared includes computing a fingerprint for each of multiple data blocks to be written to a storage facility and storing the fingerprint with information identifying the data block in an entry in a set of metadata. The set of metadata is used to identify data blocks which are duplicates.
    Type: Grant
    Filed: May 23, 2013
    Date of Patent: February 9, 2016
    Assignee: NetApp, Inc.
    Inventors: Ling Zheng, Blake H. Lewis, Daniel W. Ting, Robert M. English, Stephen L. Manley
  • Publication number: 20150370485
    Abstract: In one embodiment, a node coupled to one or more storage devices executes a storage input/output (I/O) stack having a volume layer, a persistence layer and an administration layer that interact to create a copy of a parent volume associated with a storage container on the one or more storage devices. A copy create start message is received at the persistence layer from the administration layer. The persistence layer ensures that dirty data for the parent volume is incorporated into the copy of the parent volume. New data for the parent volume received at the persistence layer during creation of the copy of the parent volume is prevented from incorporation into the copy of the parent volume. A reply to the copy create start message is sent from the persistence layer to the administration layer to initiate the creation of the copy of the parent volume at the volume layer.
    Type: Application
    Filed: August 28, 2015
    Publication date: December 24, 2015
    Inventors: Ling Zheng, Blake H. Lewis, Kayuri H. Patel
  • Patent number: 9201918
    Abstract: In one embodiment, a node of a cluster executing a storage input/output (I/O) stack having a volume layer, stores a multi-level dense tree metadata structure. Each level of the dense tree metadata structure includes volume metadata entries for storing volume metadata. One or more non-volatile logs (NVLogs) are updated. The one or more NVLogs including a volume layer log configured to record changes to the volume metadata, wherein volume metadata entries inserted into a top-level of the dense tree metadata structure are recorded in the volume layer log. The node writes volume metadata entries from the volume layer log to one or more storage devices to be stored as extents.
    Type: Grant
    Filed: November 19, 2013
    Date of Patent: December 1, 2015
    Assignee: NetApp, Inc.
    Inventors: Ling Zheng, Blake H. Lewis
  • Patent number: 9152684
    Abstract: In one embodiment, a node coupled to one or more storage devices executes a storage input/output (I/O) stack having a volume layer that manages volume metadata. The volume metadata is organized as one or more dense tree metadata structures having a top level residing in memory and lower levels residing on the one or more storage devices. The dense tree metadata structures include a first dense tree metadata structure associated with a parent volume and a second dense tree metadata structure associated with a copy of the parent volume. The top level of the first dense tree metadata structure may be copied to the second dense tree metadata structure. The lower levels of the first dense tree metadata structure are initially shared with the second dense tree metadata structure. The shared lower levels may eventually be split as the parent volume diverges from the copy of the parent volume.
    Type: Grant
    Filed: November 12, 2013
    Date of Patent: October 6, 2015
    Assignee: NetApp, Inc.
    Inventors: Ling Zheng, Blake H. Lewis, Kayuri H. Patel
  • Patent number: 9152335
    Abstract: In one embodiment, a layered file system of a storage input/output (I/O) stack executes on one or more nodes of a cluster. The layered file system includes a flash-optimized, log-structured layer configured to provide sequential storage of data and metadata (i.e., a log-structured layout) on solid state drives (SSDs) of storage arrays in the cluster to reduce write amplification, while leveraging a data de-duplication feature of the storage I/O stack. An extent store layer of the file system performs and maintains mappings of the extent keys to SSD storage locations, while a volume layer of the file system performs and maintains mappings of the LUN offset ranges to the extent keys. Separation of the mapping functions between the volume and extent store layers enables different volumes with different offset ranges to reference a same extent key (and thus a same extent).
    Type: Grant
    Filed: January 21, 2014
    Date of Patent: October 6, 2015
    Assignee: NetApp, Inc.
    Inventors: Rajesh Sundaram, Jeffrey S. Kimmel, Blake H. Lewis
  • Publication number: 20150193169
    Abstract: In one embodiment, a layered file system of a storage input/output (I/O) stack executes on one or more nodes of a cluster. The layered file system includes a flash-optimized, log-structured layer configured to provide sequential storage of data and metadata (i.e., a log-structured layout) on solid state drives (SSDs) of storage arrays in the cluster to reduce write amplification, while leveraging a data de-duplication feature of the storage I/O stack. An extent store layer of the file system performs and maintains mappings of the extent keys to SSD storage locations, while a volume layer of the file system performs and maintains mappings of the LUN offset ranges to the extent keys. Separation of the mapping functions between the volume and extent store layers enables different volumes with different offset ranges to reference a same extent key (and thus a same extent).
    Type: Application
    Filed: January 21, 2014
    Publication date: July 9, 2015
    Applicant: NetApp, Inc.
    Inventors: Rajesh Sundaram, Jeffrey S. Kimmel, Blake H. Lewis
  • Publication number: 20150193170
    Abstract: In one embodiment, a layered file system includes a volume layer and an extent store layer configured to provide sequential log-structured layout of data and metadata on solid state drives (SSDs) of one or more storage arrays. The data is organized as variable-length extents of one or more logical units (LUNs). The metadata includes volume metadata mappings from offset ranges of a LUN to extent keys and extent metadata mappings of the extent keys to storage locations of the extents on the SSDs. The extent store layer maintaining the extent metadata mappings determines whether an extent is stored on a storage array, and, in response to determination that the extent is stored on the storage array, returns an extent key for the stored extent to the volume layer to enable global inline de-duplication that obviates writing a duplicate copy of the extent on the storage array.
    Type: Application
    Filed: January 8, 2014
    Publication date: July 9, 2015
    Applicant: NetApp, Inc.
    Inventors: Rajesh Sundaram, Jeffrey S. Kimmel, Blake H. Lewis
  • Publication number: 20150193338
    Abstract: In one embodiment, storage arrays of solid state drives (SSDs) coupled to a node are organized as redundant array of independent disks (RAID) groups. Each storage array includes one or more segments. Each segment has contiguous free space on the SSDs. Data and metadata is organized on the SSDs with a sequential log-structured layout, with the data organized as variable-length extents of one or more logical units (LUNs). Segment cleaning is performed to clean a selected segment by moving the extents of the selected segment that contain valid data to one or more different segments so as to free the selected segment. Additional extents are written as a sequence of contiguous range write operations to the entire free segment with temporal locality to reduce data relocation within the SSDs as a result of the write operations.
    Type: Application
    Filed: January 8, 2014
    Publication date: July 9, 2015
    Applicant: NetApp, Inc.
    Inventors: Rajesh Sundaram, Stephen Daniel, Jeffrey S. Kimmel, Blake H. Lewis
  • Publication number: 20150142817
    Abstract: In one embodiment, a node of a cluster executing a storage input/output (I/O) stack having a volume layer, stores a multi-level dense tree metadata structure. Each level of the dense tree metadata structure includes volume metadata entries for storing volume metadata. One or more non-volatile logs (NVLogs) are updated. The one or more NVLogs including a volume layer log configured to record changes to the volume metadata, wherein volume metadata entries inserted into a top-level of the dense tree metadata structure are recorded in the volume layer log. The node writes volume metadata entries from the volume layer log to one or more storage devices to be stored as extents.
    Type: Application
    Filed: November 19, 2013
    Publication date: May 21, 2015
    Applicant: NetApp, Inc.
    Inventors: Ling Zheng, Blake H. Lewis
  • Patent number: 9037544
    Abstract: In one embodiment, snapshots and/or clones of storage objects are created and managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. Illustratively, the snapshots and clones may be represented as independent volumes, and embodied as respective read-only copies (snapshots) and read-write copies (clones) of a parent volume. Volume metadata is illustratively organized as one or more multi-level dense tree metadata structures, wherein each level of the dense tree metadata structure (dense tree) includes volume metadata entries for storing the metadata. Each snapshot/clone may be derived from a dense tree of the parent volume (parent dense tree). Portions of the parent dense tree may be shared with the snapshot/clone.
    Type: Grant
    Filed: January 23, 2014
    Date of Patent: May 19, 2015
    Assignee: NetApp, Inc.
    Inventors: Ling Zheng, Blake H. Lewis, Kayuri H. Patel
  • Publication number: 20150134879
    Abstract: In one embodiment, a node coupled to one or more storage devices executes a storage input/output (I/O) stack having a volume layer that manages volume metadata. The volume metadata is organized as one or more dense tree metadata structures having a top level residing in memory and lower levels residing on the one or more storage devices. The dense tree metadata structures include a first dense tree metadata structure associated with a parent volume and a second dense tree metadata structure associated with a copy of the parent volume. The top level of the first dense tree metadata structure may be copied to the second dense tree metadata structure. The lower levels of the first dense tree metadata structure are initially shared with the second dense tree metadata structure. The shared lower levels may eventually be split as the parent volume diverges from the copy of the parent volume.
    Type: Application
    Filed: November 12, 2013
    Publication date: May 14, 2015
    Applicant: NetApp, Inc.
    Inventors: Ling Zheng, Blake H. Lewis, Kayuri H. Patel
  • Publication number: 20150134616
    Abstract: In one embodiment, snapshots and/or clones of storage objects are created and managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. Illustratively, the snapshots and clones may be represented as independent volumes, and embodied as respective read-only copies (snapshots) and read-write copies (clones) of a parent volume. Volume metadata is illustratively organized as one or more multi-level dense tree metadata structures, wherein each level of the dense tree metadata structure (dense tree) includes volume metadata entries for storing the metadata. Each snapshot/clone may be derived from a dense tree of the parent volume (parent dense tree). Portions of the parent dense tree may be shared with the snapshot/clone.
    Type: Application
    Filed: January 23, 2014
    Publication date: May 14, 2015
    Applicant: NetApp, Inc.
    Inventors: Ling Zheng, Blake H. Lewis, Kayuri H. Patel
  • Publication number: 20150095346
    Abstract: In one embodiment, a technique is provided for distributing data and associated metadata within a distributed storage architecture. A set of hash tables that embody mappings of cluster-wide identifiers associated with storage locations are stored for write data of write requests organized into extents. A hash value is generated from a hash function applied to each extent. The hash value is overloaded and used for multiple purposes within the distributed storage architecture, including (i) a remainder computation on the hash value to select a bucket of a plurality of buckets representative of the extents, (ii) a hash table selector of the hash value to select a hash table from the set of hash tables, and (iii) a hash table index computed from the hash value to select an entry from a plurality of entries of the selected hash table having a cluster-wide identifier identifying a storage location for the extent.
    Type: Application
    Filed: October 2, 2013
    Publication date: April 2, 2015
    Applicant: NetApp, Inc.
    Inventors: Jeffrey S. Kimmel, Blake H. Lewis
  • Publication number: 20150095347
    Abstract: In one embodiment, an extent hashing technique is used to efficiently distribute data and associated metadata substantially evenly among nodes of a cluster. The data may be write data associated with a write request issued by a host and received at a node of the cluster. The write data may be organized into one or more extents. A hash function may be applied to the extent to generate a result which may be truncated or trimmed to generate a hash value. A hash space of the hash value may be divided into a plurality of buckets representative of the write data, i.e., the extents, and the associated metadata, i.e., extent metadata. A number of buckets may be assigned to each extent store instance of the nodes to distribute ownership of the buckets, along with their extents and extent metadata, across all of the extent store instances of the nodes.
    Type: Application
    Filed: January 21, 2014
    Publication date: April 2, 2015
    Applicant: NetApp, Inc.
    Inventors: Jeffrey S. Kimmel, Blake H. Lewis
  • Patent number: 8996797
    Abstract: The embodiments described herein are directed to efficient logging and checkpointing of metadata managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The metadata managed by the volume layer, i.e., the volume metadata, is illustratively organized as a multi-level dense tree metadata structure, wherein each level of the dense tree metadata structure (dense tree) includes volume metadata entries for storing the volume metadata. Each volume metadata entry may be a descriptor that embodies one of a plurality of types, including a data entry and an index entry, and a hole (i.e., absence of data) entry.
    Type: Grant
    Filed: January 22, 2014
    Date of Patent: March 31, 2015
    Assignee: NetApp, Inc.
    Inventors: Ling Zheng, Blake H. Lewis