Systems, methods, and computer readable media providing arbitrary sizing of data extents

    公开(公告)号:US12265716B2

    公开(公告)日:2025-04-01

    申请号:US18191985

    申请日:2023-03-29

    Applicant: NetApp, Inc.

    Abstract: The application relates to writing arbitrarily sized data extents using in-line descriptors, such as headers or footers, into physical blocks to describe the data extents in those physical blocks. Some data extents may be smaller than the size of a physical block, and some data extents may be larger than the size of a physical block. A given physical block therefore includes an in-line descriptor for a data extent in that block, indicating that the data extent starts within that block and also an offset from the beginning of the block to where the data extent starts. The in-line descriptor is included within the block so that when the block is read both the data and the descriptor are read, thereby eliminating performance penalty for reading the descriptor information.

    Dynamically Sizing a Hierarchical Tree Based on Activity

    公开(公告)号:US20170315924A1

    公开(公告)日:2017-11-02

    申请号:US15143135

    申请日:2016-04-29

    Applicant: NetApp, Inc.

    Abstract: A method, a computing device, and a non-transitory machine-readable medium for allocating memory to data structures that map a first address space to a second is provided. In some embodiments, the method includes identifying, by a storage system, a pool of memory resources to allocate among a plurality of address maps. Each of the plurality of address maps includes at least one entry that maps an address in a first address space to an address in a second address space. An activity metric is determined for each of the plurality of address maps, and a portion of the pool of memory is allocated to each of the plurality of address maps based on the respective activity metric. The allocating of the portion of the memory pool to a first map may be performed in response to a merge operation being performed on the first map.

    Garbage collection pacing in a storage system

    公开(公告)号:US11169707B2

    公开(公告)日:2021-11-09

    申请号:US15004318

    申请日:2016-01-22

    Applicant: NetApp, Inc.

    Inventor: Joseph Blount

    Abstract: A system and method for improving storage system performance by reducing or avoiding load spike amplification when performing garbage collection is disclosed. A storage controller in a storage system tracks system load including write load and read load, as well as available free segments. The storage controller uses these tracked values as inputs and, with these inputs, generates a garbage collection rate. Where read load is included, a scaled portion of the read load is taken into consideration so that, as the number of free segments nears the minimum amount desired and to prevent garbage collecting too slowly, the read load is gradually excluded from the garbage collection rate determination. The garbage collection rate is therefore responsive to system load so that, in times of high system load, the rate reduces as much as is safe so that the write load takes priority with computing resources of the storage controller.

    Write-Ahead Log Maintenance and Recovery
    5.
    发明申请

    公开(公告)号:US20170300250A1

    公开(公告)日:2017-10-19

    申请号:US15131658

    申请日:2016-04-18

    Applicant: NetApp, Inc.

    Abstract: A system for tracking metadata changes and recovering from system interruptions is provided. With host I/O, corresponding metadata incremental changes are aggregated and stored in a write-ahead log before being performed to their in-memory buffers. As those buffers are flushed, checkpoints are created and stored in the log. As the log wraps to the start, older entries are overwritten after they are freed from any remaining dependencies by newer checkpoints. If metadata entities have not created new checkpoints, they are instructed to in order to free up space for new aggregated batches and checkpoints. After an interruption, the wrap point is located in the log. From the wrap point, the log is scanned backwards to provide checkpoints to metadata entities. The log is then scanned forwards to perform changes specified by aggregated batches. The metadata entities' volatile memory states are recovered to what they were before the interruption.

    Garbage Collection Pacing in a Storage System

    公开(公告)号:US20170212678A1

    公开(公告)日:2017-07-27

    申请号:US15004318

    申请日:2016-01-22

    Applicant: NetApp, Inc.

    Inventor: Joseph Blount

    Abstract: A system and method for improving storage system performance by reducing or avoiding load spike amplification when performing garbage collection is disclosed. A storage controller in a storage system tracks system load including write load and read load, as well as available free segments. The storage controller uses these tracked values as inputs and, with these inputs, generates a garbage collection rate. Where read load is included, a scaled portion of the read load is taken into consideration so that, as the number of free segments nears the minimum amount desired and to prevent garbage collecting too slowly, the read load is gradually excluded from the garbage collection rate determination. The garbage collection rate is therefore responsive to system load so that, in times of high system load, the rate reduces as much as is safe so that the write load takes priority with computing resources of the storage controller.

    Systems and methods for reducing write tax, memory usage, and trapped capacity in metadata storage

    公开(公告)号:US11029862B2

    公开(公告)日:2021-06-08

    申请号:US15496206

    申请日:2017-04-25

    Applicant: NetApp, Inc.

    Inventor: Joseph Blount

    Abstract: A system and method for metadata storage includes use of a storage controller to receive a write operation from a host, create a metadata entry for storing metadata associated with data written by the write operation, and store the metadata entry into a metadata store. The metadata store includes a plurality of active partitions, a plurality of inactive partitions, and a queue identifying locations in the active partitions where the metadata entry may be stored. The metadata store is further used to access data written to one or more storage devices. Storing the metadata entry into the metadata store includes popping a first location from the queue, identifying a first active partition from the active partitions based on the first location, and storing the metadata entry in the first active partition. In some embodiments, each of the active partitions may be organized into two or more tiers.

    Memory efficient lookup structure
    10.
    发明授权

    公开(公告)号:US10366065B2

    公开(公告)日:2019-07-30

    申请号:US15142828

    申请日:2016-04-29

    Applicant: NetApp, Inc.

    Abstract: A method for mapping a first address space to a second address space is provided. In some embodiments, the method includes creating a first array of lookup entries and one or more second arrays of metadata entries for maintaining an ordering among the lookup entries using a tree structure. Each of the metadata entries includes one or more data index values identifying a corresponding one of the lookup entries by its position in the first array and one or more metadata index values identifying a corresponding one of the metadata entries by its position in one of the one or more second arrays. The method further includes receiving a request including a lookup value, traversing the tree structure to locate a lookup entry corresponding to the lookup value, and when the lookup value is located among the lookup entries, using the located lookup entry to process the request.

Patent Agency Ranking