-
公开(公告)号:US12210429B2
公开(公告)日:2025-01-28
申请号:US18229107
申请日:2023-08-01
Applicant: NETAPP, INC.
Inventor: Asif Imtiyaz Pathan , Parag Sarfare , Ananthan Subramanian , Szu-Wen Kuo , Santhosh Selvaraj , Nikhil Mattankot
Abstract: Failover methods and systems for a networked storage environment are provided. In one aspect, a read request associated with a first storage object is received, during a replay of entries of a log stored in a non-volatile memory of a second storage node for a failover operation initiated in response to a failure at a first storage node. The second storage node operates as a partner node of the first storage node. The read request is processed using a filtering data structure that is generated from the log prior to the replay and identifies each log entry. The read request is processed when the log does not have an entry associated with the read request, and when the filtering data structure includes an entry associated with the read request, the requested data is located at the non-volatile memory.
-
公开(公告)号:US20240419363A1
公开(公告)日:2024-12-19
申请号:US18815747
申请日:2024-08-26
Applicant: NetApp, Inc.
Inventor: Ananthan Subramanian , Kumaran Nagappen , Sriram Venketaraman , Szu-Wen Kuo , Yong Eun Cho
IPC: G06F3/06
Abstract: Techniques are provided for compacting indirect blocks. For example, an object is represented as a structure comprising data blocks within which data of the object is stored and indirect blocks comprising block numbers of where the data blocks are located in storage. Block numbers within a set of indirect blocks are compacted into a compacted indirect block comprising a base block number, a count of additional block numbers after the base block number in the compacted indirect block, and a pattern of the block numbers in the compacted indirect block. The compacted indirect block is stored into memory for processing access operations to the object. Storing compacted indirect blocks into memory allows for more block numbers to be stored within memory. This improves the processing of access operations because reading the block numbers from memory is faster than loading the block numbers from disk.
-
23.
公开(公告)号:US20230350850A1
公开(公告)日:2023-11-02
申请号:US17732046
申请日:2022-04-28
Applicant: NetApp Inc.
Inventor: Anil Paul Thoppil , Wei Sun , Meera Odugoudar , Szu-Wen Kuo , Santhosh Selvaraj
IPC: G06F3/06
CPC classification number: G06F3/0605 , G06F3/0685 , G06F3/0649
Abstract: Techniques are provided for implementing a defragmentation process during a merge operation performed by a re-compaction process upon a log structured merge tree. The log structured merge tree is used to store keys of key-value pairs within a key-value store. As the log structured merge tree fills with keys over time, the re-compaction process is performed to merge keys down to lower levels of the log structured merge tree to re-compact the keys. Re-compaction can result in fragmentation because there is a lack of spatial locality of where the re-compaction operations re-writes the keys within storage. Fragmentation increases read and write amplification when accessing the keys stored in different locations within the storage. Accordingly, the defragmentation process is performed during a last merge operation of the re-compaction process in order to store keys together within the storage, thus reducing read and write amplification when accessing the keys.
-
公开(公告)号:US20230350610A1
公开(公告)日:2023-11-02
申请号:US17732065
申请日:2022-04-28
Applicant: NetApp Inc.
Inventor: Anil Paul Thoppil , We Sun , Meera Odugoudar , Szu-Wen Kuo , Santhosh Selvaraj
IPC: G06F3/06
CPC classification number: G06F3/0652 , G06F3/0602 , G06F3/068
Abstract: Techniques are provided for implementing a garbage collection process and a prediction read ahead mechanism to prefetch keys into memory to improve the efficiency and speed of the garbage collection process. A log structured merge tree is used to store keys of key-value pairs within a key-value store. If a key is no longer referenced by any worker nodes of a distributed storage architecture, then the key can be freed to store other data. Accordingly, garbage collection is performed to identify and free unused keys. The speed and efficiency of garbage collection is improved by dynamically adjusting the amount and rate at which keys are prefetched from disk and cached into faster memory for processing by the garbage collection process.
-
公开(公告)号:US20230214363A1
公开(公告)日:2023-07-06
申请号:US18176028
申请日:2023-02-28
Applicant: NetApp Inc.
Inventor: Mardiros Z. Chakalian , Amber Palekar , Szu-Wen Kuo , Stephen Wu
IPC: G06F16/182
CPC classification number: G06F16/1827
Abstract: Asynchronous snapshot invalidation techniques are described. According to various such techniques, an enhanced file handle structure may be defined that includes a snapshot generation ID that is to comprise a value that singularly identifies a snapshot performed at a particular point in time. In some embodiments, when a snapshot ID assigned to that snapshot is reused at a subsequent point in time, a different snapshot generation ID may be assigned to that subsequent snapshot. With respect to an in-core cache, the differing snapshot generation IDs may eliminate unacceptable ambiguity regarding respective file information sets corresponding to the initial and subsequent snapshots sharing the same snapshot ID. As a result, obsolete file information sets may be cleared from the in-core cache asynchronously, enabling improved performance. The embodiments are not limited in this context.
-
公开(公告)号:US20230176791A1
公开(公告)日:2023-06-08
申请号:US17963077
申请日:2022-10-10
Applicant: NetApp Inc.
Inventor: Ananthan Subramanian , Kumaran Nagappan , Sriram Venketaraman , Szu-Wen Kuo , Yong Eun Cho
IPC: G06F3/06
CPC classification number: G06F3/0661 , G06F3/064 , G06F3/0673 , G06F3/0608
Abstract: Techniques are provided for compacting indirect blocks. For example, an object is represented as a structure comprising data blocks within which data of the object is stored and indirect blocks comprising block numbers of where the data blocks are located in storage. Block numbers within a set of indirect blocks are compacted into a compacted indirect block comprising a base block number, a count of additional block numbers after the base block number in the compacted indirect block, and a pattern of the block numbers in the compacted indirect block. The compacted indirect block is stored into memory for processing access operations to the object. Storing compacted indirect blocks into memory allows for more block numbers to be stored within memory. This improves the processing of access operations because reading the block numbers from memory is faster than loading the block numbers from disk.
-
公开(公告)号:US20210334179A1
公开(公告)日:2021-10-28
申请号:US16855837
申请日:2020-04-22
Applicant: NETAPP, INC.
Inventor: Parag Sarfare , Ananthan Subramanian , Szu-Wen Kuo , Asif Imtiyaz Pathan , Santhosh Selvaraj , Nikhil Mattankot , Manan Patel , Travis Ryan Grusecki
Abstract: Failover methods and systems for a networked storage environment are provided. A filtering data structure and a metadata data structure are generated before starting a replay of a log stored in a non-volatile memory of a second storage node, during a failover operation initiated in response to a failure at a first storage node. The second storage node operates as a partner node of the first storage node to mirror at the log one or more write requests received by the first storage node prior to the failure, and data associated with the one or more write requests. The filtering data structure identifies each log entry and the metadata structure stores a metadata attribute of each log entry. The filtering data structure and the metadata structure are used for providing access to a logical storage object during the log replay from the second storage node.
-
公开(公告)号:US20210073185A1
公开(公告)日:2021-03-11
申请号:US17100896
申请日:2020-11-22
Applicant: NetApp Inc.
Inventor: Mardiros Z. Chakalian , Amber Palekar , Szu-Wen Kuo , Stephen Wu
IPC: G06F16/182
Abstract: Asynchronous snapshot invalidation techniques are described. According to various such techniques, an enhanced file handle structure may be defined that includes a snapshot generation ID that is to comprise a value that singularly identifies a snapshot performed at a particular point in time. In some embodiments, when a snapshot ID assigned to that snapshot is reused at a subsequent point in time, a different snapshot generation ID may be assigned to that subsequent snapshot. With respect to an in-core cache, the differing snapshot generation IDs may eliminate unacceptable ambiguity regarding respective file information sets corresponding to the initial and subsequent snapshots sharing the same snapshot ID. As a result, obsolete file information sets may be cleared from the in-core cache asynchronously, enabling improved performance. The embodiments are not limited in this context.
-
公开(公告)号:US20210042061A1
公开(公告)日:2021-02-11
申请号:US17083945
申请日:2020-10-29
Applicant: NetApp Inc.
Inventor: Ananthan Subramanian , Kumaran Nagappan , Sriram Venketaraman , Szu-Wen Kuo , Yong Eun Cho
IPC: G06F3/06
Abstract: Techniques are provided for compacting indirect blocks. For example, an object is represented as a structure comprising data blocks within which data of the object is stored and indirect blocks comprising block numbers of where the data blocks are located in storage. Block numbers within a set of indirect blocks are compacted into a compacted indirect block comprising a base block number, a count of additional block numbers after the base block number in the compacted indirect block, and a pattern of the block numbers in the compacted indirect block. The compacted indirect block is stored into memory for processing access operations to the object. Storing compacted indirect blocks into memory allows for more block numbers to be stored within memory. This improves the processing of access operations because reading the block numbers from memory is faster than loading the block numbers from disk.
-
公开(公告)号:US20180300322A1
公开(公告)日:2018-10-18
申请号:US16015730
申请日:2018-06-22
Applicant: NetApp Inc.
Inventor: Mardiros Z. Chakalian , Amber Palekar , Szu-Wen Kuo , Stephen Wu
IPC: G06F17/30
Abstract: Asynchronous snapshot invalidation techniques are described. According to various such techniques, an enhanced file handle structure may be defined that includes a snapshot generation ID that is to comprise a value that singularly identifies a snapshot performed at a particular point in time. In some embodiments, when a snapshot ID assigned to that snapshot is reused at a subsequent point in time, a different snapshot generation ID may be assigned to that subsequent snapshot. With respect to an in-core cache, the differing snapshot generation IDs may eliminate unacceptable ambiguity regarding respective file information sets corresponding to the initial and subsequent snapshots sharing the same snapshot ID. As a result, obsolete file information sets may be cleared from the in-core cache asynchronously, enabling improved performance. The embodiments are not limited in this context.
-
-
-
-
-
-
-
-
-