Write-ahead log maintenance and recovery

    公开(公告)号:US11449239B2

    公开(公告)日:2022-09-20

    申请号:US17001294

    申请日:2020-08-24

    Applicant: NetApp, Inc.

    Abstract: A system for tracking metadata changes and recovering from system interruptions. 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.

    Memory Efficient Lookup Structure
    15.
    发明申请

    公开(公告)号:US20170316041A1

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

    申请号:US15142828

    申请日:2016-04-29

    Applicant: NetApp, Inc.

    CPC classification number: G06F16/2246 G06F16/2237 G06F16/9017

    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.

    Dynamic Caching Mode Based on Utilization of Mirroring Channels

    公开(公告)号:US20170115894A1

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

    申请号:US14922941

    申请日:2015-10-26

    Applicant: NetApp, Inc.

    Inventor: Randolph Sterns

    CPC classification number: G06F3/0613 G06F3/0635 G06F3/0683 G06F11/16

    Abstract: A high availability storage controller monitors characteristics representative of I/O workload related to processor and mirroring channel utilization. These are input into a model of the system, which provides a threshold curve therefore. The storage controller compares the monitored characteristics against the threshold curve. In write-back mirroring mode, the storage controller determines to remain in that mode when the characteristics fall below the threshold curve and switch to write-through mode when the characteristics fall at or above the threshold curve. In write-through mode, the storage controller determines to remain in that mode when the characteristics fall at or above a lower threshold derived from the generated threshold curve and switch to write-back mirroring mode when the characteristics fall below the lower threshold. The storage controller may repeat this monitoring, comparing, and determining whether to switch over time for a feedback loop to provide a responsive and dynamic caching mode system.

    Memory efficient lookup structure
    20.
    发明授权

    公开(公告)号: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