-
公开(公告)号:US20170315888A1
公开(公告)日:2017-11-02
申请号:US15142999
申请日:2016-04-29
Applicant: NetApp, Inc.
Inventor: Joseph Blount , William P. Delaney , Charles Binford , Joseph Moore , Randolph Sterns
CPC classification number: G06F11/2069 , G06F3/0619 , G06F3/065 , G06F3/0689 , G06F11/1092 , G06F2201/805 , G06F2211/104 , H04L67/1097
Abstract: Systems and techniques for recovering a storage array are disclosed. These systems and techniques include determining a size corresponding to a storage stripe of the storage array. Pieces assigned to the storage stripe are identified. A storage configuration corresponding to the pieces assigned to the storage stripe is detected. Ordinal information and parity information are determined corresponding to the pieces assigned to the storage stripe. The size determined corresponding to the storage stripe, identification of the pieces assigned to the storage stripe, the storage configuration, the ordinal information, and the parity information is stored in a data store to reconstruct lost or corrupted metadata corresponding to the storage array.
-
12.
公开(公告)号:US11662929B2
公开(公告)日:2023-05-30
申请号:US17008978
申请日:2020-09-01
Applicant: NetApp, Inc.
Inventor: Randolph Sterns , Charles Binford , William P. Delaney , Joseph Blount , Reid Kaufmann , Joseph Moore
CPC classification number: G06F3/064 , G06F3/067 , G06F3/0607 , G06F3/0689 , G06F11/1004
Abstract: A method includes: storing a first data extent on a physical medium, wherein the physical medium is divided into a plurality of storage blocks, wherein each of the storage blocks has a size that is different than a size of the first data extent, further wherein the first data extent is stored to a first block of the plurality of storage blocks; generating a descriptor for the first data extent, wherein the descriptor indicates that the first data extent starts within the first block of the plurality of blocks and indicates an offset from the beginning of the first block at which the first data extent starts; and storing the descriptor within the first block.
-
公开(公告)号:US11449239B2
公开(公告)日:2022-09-20
申请号:US17001294
申请日:2020-08-24
Applicant: NetApp, Inc.
Inventor: Randolph Sterns , Charles Binford , William Delaney , Joseph Blount , Keith Moyer , Joseph Moore
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.
-
公开(公告)号:US09990261B2
公开(公告)日:2018-06-05
申请号:US15142999
申请日:2016-04-29
Applicant: NetApp, Inc.
Inventor: Joseph Blount , William P. Delaney , Charles Binford , Joseph Moore , Randolph Sterns
CPC classification number: G06F11/2069 , G06F3/0619 , G06F3/065 , G06F3/0689 , G06F11/1092 , G06F2201/805 , G06F2211/104 , H04L67/1097
Abstract: Systems and techniques for recovering a storage array are disclosed. These systems and techniques include determining a size corresponding to a storage stripe of the storage array. Pieces assigned to the storage stripe are identified. A storage configuration corresponding to the pieces assigned to the storage stripe is detected. Ordinal information and parity information are determined corresponding to the pieces assigned to the storage stripe. The size determined corresponding to the storage stripe, identification of the pieces assigned to the storage stripe, the storage configuration, the ordinal information, and the parity information is stored in a data store to reconstruct lost or corrupted metadata corresponding to the storage array.
-
公开(公告)号:US20170316041A1
公开(公告)日:2017-11-02
申请号:US15142828
申请日:2016-04-29
Applicant: NetApp, Inc.
Inventor: William P. Delaney , Joseph Blount , Charles Binford , Joseph Moore , Randolph Sterns , Jeff Stilger
IPC: G06F17/30
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.
-
16.
公开(公告)号:US20170308303A1
公开(公告)日:2017-10-26
申请号:US15135161
申请日:2016-04-21
Applicant: NetApp, Inc.
Inventor: Randolph Sterns , Charles Binford , William P. Delaney , Joseph Blount , Reid Kaufmann , Joseph Moore
Abstract: A method includes: storing a first data extent on a physical medium, wherein the physical medium is divided into a plurality of storage blocks, wherein each of the storage blocks has a size that is different than a size of the first data extent, further wherein the first data extent is stored to a first block of the plurality of storage blocks; generating a descriptor for the first data extent, wherein the descriptor indicates that the first data extent starts within the first block of the plurality of blocks and indicates an offset from the beginning of the first block at which the first data extent starts; and storing the descriptor within the first block.
-
公开(公告)号:US20170115894A1
公开(公告)日:2017-04-27
申请号:US14922941
申请日:2015-10-26
Applicant: NetApp, Inc.
Inventor: Randolph Sterns
IPC: G06F3/06
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.
-
18.
公开(公告)号:US20230229328A1
公开(公告)日:2023-07-20
申请号:US18191985
申请日:2023-03-29
Applicant: NetApp, Inc.
Inventor: Randolph Sterns , Charles Binford , William P. Delaney , Joseph Blount , Reid Kaufmann , Joseph Moore
CPC classification number: G06F3/064 , G06F3/067 , G06F3/0607 , G06F3/0689 , G06F11/1004
Abstract: A method includes: storing a first data extent on a physical medium, wherein the physical medium is divided into a plurality of storage blocks, wherein each of the storage blocks has a size that is different than a size of the first data extent, further wherein the first data extent is stored to a first block of the plurality of storage blocks; generating a descriptor for the first data extent, wherein the descriptor indicates that the first data extent starts within the first block of the plurality of blocks and indicates an offset from the beginning of the first block at which the first data extent starts; and storing the descriptor within the first block.
-
19.
公开(公告)号:US10802740B2
公开(公告)日:2020-10-13
申请号:US15135161
申请日:2016-04-21
Applicant: NetApp, Inc.
Inventor: Randolph Sterns , Charles Binford , William P. Delaney , Joseph Blount , Reid Kaufmann , Joseph Moore
Abstract: A method includes: storing a first data extent on a physical medium, wherein the physical medium is divided into a plurality of storage blocks, wherein each of the storage blocks has a size that is different than a size of the first data extent, further wherein the first data extent is stored to a first block of the plurality of storage blocks; generating a descriptor for the first data extent, wherein the descriptor indicates that the first data extent starts within the first block of the plurality of blocks and indicates an offset from the beginning of the first block at which the first data extent starts; and storing the descriptor within the first block.
-
公开(公告)号:US10366065B2
公开(公告)日:2019-07-30
申请号:US15142828
申请日:2016-04-29
Applicant: NetApp, Inc.
Inventor: William P. Delaney , Joseph Blount , Charles Binford , Joseph Moore , Randolph Sterns , Jeff Stilger
IPC: G06F17/30 , G06F16/22 , G06F16/901
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.
-
-
-
-
-
-
-
-
-