Patents by Inventor Szu-Wen Kuo
Szu-Wen Kuo 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).
-
Patent number: 11971859Abstract: 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.Type: GrantFiled: April 28, 2022Date of Patent: April 30, 2024Assignee: NetApp, Inc.Inventors: Anil Paul Thoppil, Wei Sun, Meera Odugoudar, Szu-Wen Kuo, Santhosh Selvaraj
-
Patent number: 11960453Abstract: 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.Type: GrantFiled: February 28, 2023Date of Patent: April 16, 2024Assignee: NetApp, Inc.Inventors: Mardiros Z. Chakalian, Amber Palekar, Szu-Wen Kuo, Stephen Wu
-
Publication number: 20230376392Abstract: 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.Type: ApplicationFiled: August 1, 2023Publication date: November 23, 2023Inventors: Asif Imtiyaz Pathan, Parag Sarfare, Ananthan Subramanian, Szu-Wen Kuo, Santhosh Selvaraj, Nikhil Mattankot
-
Publication number: 20230350610Abstract: 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.Type: ApplicationFiled: April 28, 2022Publication date: November 2, 2023Inventors: Anil Paul Thoppil, We Sun, Meera Odugoudar, Szu-Wen Kuo, Santhosh Selvaraj
-
Publication number: 20230350850Abstract: 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.Type: ApplicationFiled: April 28, 2022Publication date: November 2, 2023Inventors: Anil Paul Thoppil, Wei Sun, Meera Odugoudar, Szu-Wen Kuo, Santhosh Selvaraj
-
Publication number: 20230350810Abstract: Techniques are provided for implementing a hash building process and an append hash building process. The hash building process builds in-memory hash entries for bins of keys stored within sorted logs of a log structured merge tree used to store keys of a key-value store. The in-memory hash entries can be used to identify the starting locations of bins of keys within the log structured merge tree so that a key within a bin can be searched for from the starting location of the bin as opposed to having to search the entire log structured merge tree. The append hash building process builds two hashes that can be used to more efficiently locate keys and/or ranges of keys within an unsorted append log that would otherwise require a time consuming binary search of the entire append log.Type: ApplicationFiled: April 28, 2022Publication date: November 2, 2023Inventors: Anil Paul Thoppil, Wei Sun, Meera Odugoudar, Szu-Wen Kuo, Santhosh Selvaraj
-
Patent number: 11762744Abstract: 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.Type: GrantFiled: May 24, 2022Date of Patent: September 19, 2023Assignee: NETAPP, INC.Inventors: Asif Imtiyaz Pathan, Parag Sarfare, Ananthan Subramanian, Szu-Wen Kuo, Santhosh Selvaraj, Nikhil Mattankot
-
Publication number: 20230214363Abstract: 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.Type: ApplicationFiled: February 28, 2023Publication date: July 6, 2023Inventors: Mardiros Z. Chakalian, Amber Palekar, Szu-Wen Kuo, Stephen Wu
-
Publication number: 20230176791Abstract: 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.Type: ApplicationFiled: October 10, 2022Publication date: June 8, 2023Inventors: Ananthan Subramanian, Kumaran Nagappan, Sriram Venketaraman, Szu-Wen Kuo, Yong Eun Cho
-
Patent number: 11593318Abstract: 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.Type: GrantFiled: November 22, 2020Date of Patent: February 28, 2023Assignee: NetApp, Inc.Inventors: Mardiros Z. Chakalian, Amber Palekar, Szu-Wen Kuo, Stephen Wu
-
Patent number: 11467774Abstract: 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.Type: GrantFiled: October 29, 2020Date of Patent: October 11, 2022Assignee: NetApp Inc.Inventors: Ananthan Subramanian, Kumaran Nagappan, Sriram Venketaraman, Szu-Wen Kuo, Yong Eun Cho
-
Publication number: 20220283915Abstract: 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.Type: ApplicationFiled: May 24, 2022Publication date: September 8, 2022Applicant: NETAPP, INC.Inventors: Asif Imtiyaz Pathan, Parag Sarfare, Ananthan Subramanian, Szu-Wen Kuo, Santhosh Selvaraj, Nikhil Mattankot
-
Patent number: 11416356Abstract: 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.Type: GrantFiled: April 22, 2020Date of Patent: August 16, 2022Assignee: NETAPP, INC.Inventors: Asif Imtiyaz Pathan, Parag Sarfare, Ananthan Subramanian, Szu-Wen Kuo, Santhosh Selvaraj, Nikhil Mattankot
-
Patent number: 11269744Abstract: 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.Type: GrantFiled: April 22, 2020Date of Patent: March 8, 2022Assignee: NETAPP, INC.Inventors: Parag Sarfare, Ananthan Subramanian, Szu-Wen Kuo, Asif Imtiyaz Pathan, Santhosh Selvaraj, Nikhil Mattankot, Manan Patel, Travis Ryan Grusecki
-
Patent number: 11216350Abstract: Failover methods and systems for a networked storage environment are provided. A metadata data structure is generated, before starting a replay of entries at 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, and the metadata structure stores a metadata attribute of each log entry. Furthermore, the metadata attribute of each log entry is persistently stored. The persistently stored metadata attribute is used to respond to a read request received during the replay by the second storage node, while a write request metadata attribute of a write request is used for executing the write request received by the second storage node during the replay.Type: GrantFiled: April 22, 2020Date of Patent: January 4, 2022Assignee: NETAPP, INC.Inventors: Szu-Wen Kuo, Parag Sarfare, Ananthan Subramanian, Asif Imtiyaz Pathan, Santhosh Selvaraj, Nikhil Mattankot
-
Publication number: 20210334179Abstract: 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.Type: ApplicationFiled: April 22, 2020Publication date: October 28, 2021Applicant: NETAPP, INC.Inventors: Parag Sarfare, Ananthan Subramanian, Szu-Wen Kuo, Asif Imtiyaz Pathan, Santhosh Selvaraj, Nikhil Mattankot, Manan Patel, Travis Ryan Grusecki
-
Publication number: 20210334180Abstract: 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.Type: ApplicationFiled: April 22, 2020Publication date: October 28, 2021Applicant: NETAPP, INC.Inventors: Asif Imtiyaz Pathan, Parag Sarfare, Ananthan Subramanian, Szu-Wen Kuo, Santhosh Selvaraj, Nikhil Mattankot
-
Publication number: 20210334182Abstract: Failover methods and systems for a networked storage environment are provided. A metadata data structure is generated, before starting a replay of entries at 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, and the metadata structure stores a metadata attribute of each log entry. Furthermore, the metadata attribute of each log entry is persistently stored. The persistently stored metadata attribute is used to respond to a read request received during the replay by the second storage node, while a write request metadata attribute of a write request is used for executing the write request received by the second storage node during the replay.Type: ApplicationFiled: April 22, 2020Publication date: October 28, 2021Applicant: NETAPP, INC.Inventors: Szu-Wen Kuo, Parag Sarfare, Ananthan Subramanian, Asif Imtiyaz Pathan, Santhosh Selvaraj, Nikhil Mattankot
-
Publication number: 20210073185Abstract: 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.Type: ApplicationFiled: November 22, 2020Publication date: March 11, 2021Inventors: Mardiros Z. Chakalian, Amber Palekar, Szu-Wen Kuo, Stephen Wu
-
Publication number: 20210042061Abstract: 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.Type: ApplicationFiled: October 29, 2020Publication date: February 11, 2021Inventors: Ananthan Subramanian, Kumaran Nagappan, Sriram Venketaraman, Szu-Wen Kuo, Yong Eun Cho