Patents by Inventor ZUOYU TAO

ZUOYU TAO 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: 11573719
    Abstract: Techniques are described for providing one or more clients with direct access to cached data blocks within a persistent memory cache on a storage server. In an embodiment, a storage server maintains a persistent memory cache comprising a plurality of cache lines, each of which represent an allocation unit of block-based storage. The storage server maintains an RDMA table that include a plurality of table entries, each of which maps a respective client to one or more cache lines and a remote access key. An RDMA access request to access a particular cache line is received from a storage server client. The storage server identifies access credentials for the client and determines whether the client has permission to perform the RDMA access on the particular cache line. Upon determining that the client has permissions, the cache line is accessed from the persistent memory cache and sent to the storage server client.
    Type: Grant
    Filed: March 26, 2020
    Date of Patent: February 7, 2023
    Assignee: Oracle International Corporation
    Inventors: Wei Zhang, Jia Shi, Zuoyu Tao, Kothanda Umamageswaran
  • Patent number: 11556407
    Abstract: Described is an improved approach to implement fast detection of node death. Instead of just relying on multiple heart beats to fail in order to determine whether a node is dead, the present approach performs an on demand validation using RDMA to determine whether the node is reachable, where the approach of using RDMA is significantly faster than the heartbeat approach.
    Type: Grant
    Filed: September 14, 2020
    Date of Patent: January 17, 2023
    Inventors: Masakazu Bando, Zuoyu Tao, Jia Shi, Kothanda Umamageswaran, Vijay Sridharan
  • Patent number: 11138131
    Abstract: Techniques are provided to adjust the behavior of a cache based on a count of cache misses for items recently evicted. In an embodiment, a computer responds to evicting a particular item (PI) from a cache by storing a metadata entry for the PI into memory. In response to a cache miss for the PI, the computer detects whether or not the metadata entry for the PI resides in memory. When the metadata entry for the PI is detected in memory, the computer increments a victim hit counter (VHC) that may be used to calculate how much avoidable thrashing is the cache experiencing, which is how much thrashing would be reduced if the cache were expanded. Either immediately or arbitrarily later, the computer adjusts a policy of the cache based on the VHC's value. For example, the computer may adjust the capacity of the cache based on the VHC.
    Type: Grant
    Filed: April 19, 2019
    Date of Patent: October 5, 2021
    Assignee: Oracle International Corporation
    Inventors: Justin Matthew Lewis, Zuoyu Tao, Jia Shi, Kothanda Umamageswaran
  • Publication number: 20210303154
    Abstract: Techniques are described for providing one or more clients with direct access to cached data blocks within a persistent memory cache on a storage server. In an embodiment, a storage server maintains a persistent memory cache comprising a plurality of cache lines, each of which represent an allocation unit of block-based storage. The storage server maintains an RDMA table that include a plurality of table entries, each of which maps a respective client to one or more cache lines and a remote access key. An RDMA access request to access a particular cache line is received from a storage server client. The storage server identifies access credentials for the client and determines whether the client has permission to perform the RDMA access on the particular cache line. Upon determining that the client has permissions, the cache line is accessed from the persistent memory cache and sent to the storage server client.
    Type: Application
    Filed: March 26, 2020
    Publication date: September 30, 2021
    Inventors: Wei Zhang, Jia Shi, Zuoyu Tao, Kothanda Umamageswaran
  • Patent number: 10956335
    Abstract: Data blocks are cached in a persistent cache (“NV cache”) allocated from as non-volatile RAM (“NVRAM”). The data blocks may be accessed in place in the NV cache of a “source” computing element by another “remote” computing element over a network using remote direct memory access (“RMDA”). In order for a remote computing element to access the data block in NV cache on a source computing element, the remote computing element needs the memory address of the data block within the NV cache. For this purpose, a hash table is stored and maintained in RAM on the source computing element. The hash table identifies the data blocks in the NV cache and specifies a location of the cached data block within the NV cache.
    Type: Grant
    Filed: September 29, 2017
    Date of Patent: March 23, 2021
    Assignee: Oracle International Corporation
    Inventors: Zuoyu Tao, Jia Shi, Kothanda Umamageswaran, Juan R. Loaiza
  • Publication number: 20210081268
    Abstract: Described is an improved approach to implement fast detection of node death. Instead of just relying on multiple heart beats to fail in order to determine whether a node is dead, the present approach performs an on demand validation using RDMA to determine whether the node is reachable, where the approach of using RDMA is significantly faster than the heartbeat approach.
    Type: Application
    Filed: September 14, 2020
    Publication date: March 18, 2021
    Inventors: Masakazu Bando, Zuoyu Tao, Jia Shi, Kothanda Umamageswaran, Vijay Sridharan
  • Publication number: 20210073198
    Abstract: Described is an approach to implement persistent memory to hold log records upon a commit for a database system. The approach may use RDMA techniques to hold change records at a remote persistent memory location.
    Type: Application
    Filed: September 8, 2020
    Publication date: March 11, 2021
    Inventors: Kesavan SRINIVASAN, Jia SHI, Vijay SRIDHARAN, Zuoyu TAO, Shreyas UDGAONKAR
  • Patent number: 10802766
    Abstract: A shared storage architecture persistently stores database files in non-volatile random access memories (NVRAMs) of computing nodes of a multi-node DBMS. The computing nodes of the multi-node DBMS not only collectively store database data on NVRAMs of the computing nodes, but also host database server instances that process queries in parallel, host database sessions and database processes, and together manage access to a database stored on the NVRAMs of the computing nodes. To perform a data block read operation from persistent storage, a data block may be transferred directly over a network between NVRAM of a computing node that persistently stores the data block to a database buffer in non-volatile RAM of another computing node that requests the data block. The transfer is accomplished using remote direct memory access (“RDMA).
    Type: Grant
    Filed: September 29, 2017
    Date of Patent: October 13, 2020
    Assignee: Oracle International Corporation
    Inventors: Nilesh Choudhury, Kothanda Umamageswaran, Krishnan Meiyyappan, Jia Shi, Vijay Sridharan, Zuoyu Tao, Kai Zhang, Semen Ustimenko, Salini Selvaraj Kowsalya, Somayeh Sardashti
  • Patent number: 10732836
    Abstract: A shared storage architecture persistently stores database files in non-volatile random access memories (NVRAMs) of computing nodes of a multi-node DBMS. The computing nodes of the multi-node DBMS not only collectively store database data on NVRAMs of the computing nodes, but also host database server instances that process queries in parallel, host database sessions and database processes, and together manage access to a database stored on the NVRAMs of the computing nodes. To perform a data block read operation from persistent storage, a data block may be transferred directly over a network between NVRAM of a computing node that persistently stores the data block to a database buffer in non-volatile RAM of another computing node that requests the data block. The transfer is accomplished using remote direct memory access (“RDMA).
    Type: Grant
    Filed: September 29, 2017
    Date of Patent: August 4, 2020
    Assignee: Oracle International Corporation
    Inventors: Jia Shi, Yiliang Jin, Zheren R. Zhang, Zuoyu Tao, Vijay Sridharan, Kothanda Umamageswaran, Graham Ivey, Yunrui Li
  • Patent number: 10387447
    Abstract: Techniques herein are for creating a database snapshot by creating a sparse database. A method involves receiving a creation request to create a sparse database. The creation request has an identity of a parent database. The creation request is processed to create a sparse database. The sparse database has the identity of the parent database. The sparse database does not contain data copied from the parent database. A write request to write data into the sparse database is received. The write request is processed by writing the data into the sparse database. The parent database does not receive the data.
    Type: Grant
    Filed: August 11, 2015
    Date of Patent: August 20, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Nilesh Choudhury, Scott Martin, Zuoyu Tao, Jia Shi, Alexander Tsukerman, Kothanda Umamageswaran
  • Patent number: 10380021
    Abstract: No-loss rapid recovery performs resynchronization efficiently while concurrently allowing availability to mirrored data on the storage device. No-loss rapid recovery has two stages and involves storage devices that have both a non-volatile cache and primary storage and that operate as mirror buddies. The first stage is referred to herein as the buddy-retention stage. During the buddy-retention stage, writes to mirrored data are not performed on the offline mirror buddy but are performed on the online mirror buddy. The mirrored data changed in the online mirrored buddy is retained in the non-volatile cache of the retention buddy. The next stage is referred to herein as the rapid resynchronization stage. In this stage, the changed mirrored data retained by the retention buddy for no-loss rapid recovery is used to resynchronize the offline buddy. The storage device is resynchronized using the changed mirrored data retained in the cache of the mirror buddy.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: August 13, 2019
    Assignee: Oracle International Corporation
    Inventors: Juan R. Loaiza, Kothanda Umamageswaran, David Friedman, Jia Shi, Zuoyu Tao, Alex Tsukerman
  • Publication number: 20190243783
    Abstract: Techniques are provided to adjust the behavior of a cache based on a count of cache misses for items recently evicted. In an embodiment, a computer responds to evicting a particular item (PI) from a cache by storing a metadata entry for the PI into memory. In response to a cache miss for the PI, the computer detects whether or not the metadata entry for the PI resides in memory. When the metadata entry for the PI is detected in memory, the computer increments a victim hit counter (VHC) that may be used to calculate how much avoidable thrashing is the cache experiencing, which is how much thrashing would be reduced if the cache were expanded. Either immediately or arbitrarily later, the computer adjusts a policy of the cache based on the VHC's value. For example, the computer may adjust the capacity of the cache based on the VHC.
    Type: Application
    Filed: April 19, 2019
    Publication date: August 8, 2019
    Inventors: JUSTIN MATTHEW LEWIS, ZUOYU TAO, JIA SHI, KOTHANDA UMAMAGESWARAN
  • Patent number: 10331573
    Abstract: Techniques are provided to adjust the behavior of a cache based on a count of cache misses for items recently evicted. In an embodiment, a computer responds to evicting a particular item (PI) from a cache by storing a metadata entry for the PI into memory. In response to a cache miss for the PI, the computer detects whether or not the metadata entry for the PI resides in memory. When the metadata entry for the PI is detected in memory, the computer increments a victim hit counter (VHC) that may be used to calculate how much avoidable thrashing is the cache experiencing, which is how much thrashing would be reduced if the cache were expanded. Either immediately or arbitrarily later, the computer adjusts a policy of the cache based on the VHC's value. For example, the computer may adjust the capacity of the cache based on the VHC.
    Type: Grant
    Filed: August 25, 2017
    Date of Patent: June 25, 2019
    Assignee: Oracle International Corporation
    Inventors: Justin Matthew Lewis, Zuoyu Tao, Jia Shi, Kothanda Umamageswaran
  • Publication number: 20190102087
    Abstract: A shared storage architecture persistently stores database files in non-volatile random access memories (NVRAMs) of computing nodes of a multi-node DBMS. The computing nodes of the multi-node DBMS not only collectively store database data on NVRAMs of the computing nodes, but also host database server instances that process queries in parallel, host database sessions and database processes, and together manage access to a database stored on the NVRAMs of the computing nodes. To perform a data block read operation from persistent storage, a data block may be transferred directly over a network between NVRAM of a computing node that persistently stores the data block to a database buffer in non-volatile RAM of another computing node that requests the data block. The transfer is accomplished using remote direct memory access (“RDMA).
    Type: Application
    Filed: September 29, 2017
    Publication date: April 4, 2019
    Inventors: Jia Shi, Yiliang Jin, Zheren R. Zhang, Zuoyu Tao, Vijay Sridharan, Kothanda Umamageswaran, Graham Ivey, Yunrui Li
  • Publication number: 20190102113
    Abstract: A shared storage architecture persistently stores database files in non-volatile random access memories (NVRAMs) of computing nodes of a multi-node DBMS. The computing nodes of the multi-node DBMS not only collectively store database data on NVRAMs of the computing nodes, but also host database server instances that process queries in parallel, host database sessions and database processes, and together manage access to a database stored on the NVRAMs of the computing nodes. To perform a data block read operation from persistent storage, a data block may be transferred directly over a network between NVRAM of a computing node that persistently stores the data block to a database buffer in non-volatile RAM of another computing node that requests the data block. The transfer is accomplished using remote direct memory access (“RDMA).
    Type: Application
    Filed: September 29, 2017
    Publication date: April 4, 2019
    Inventors: Nilesh Choudhury, Kothanda Umamageswaran, Krishnan Meiyyappan, Jia Shi, Vijay Sridharan, Zuoyu Tao, Kai Zhang, Semen Ustimenko, Salini Selvaraj Kowsalya, Somayeh Sardashti
  • Publication number: 20190102309
    Abstract: Data blocks are cached in a persistent cache (“NV cache”) allocated from as non-volatile RAM (“NVRAM”). The data blocks may be accessed in place in the NV cache of a “source” computing element by another “remote” computing element over a network using remote direct memory access (“RMDA”). In order for a remote computing element to access the data block in NV cache on a source computing element, the remote computing element needs the memory address of the data block within the NV cache. For this purpose, a hash table is stored and maintained in RAM on the source computing element. The hash table identifies the data blocks in the NV cache and specifies a location of the cached data block within the NV cache.
    Type: Application
    Filed: September 29, 2017
    Publication date: April 4, 2019
    Inventors: Zuoyu Tao, Jia Shi, Kothanda Umamageswaran, Juan R. Loaiza
  • Patent number: 10031855
    Abstract: A method and system for fast file initialization is provided. An initialization request to create or extend a file is received. The initialization request comprises or identifies file template metadata. A set of allocation units are allocated, the set of allocation units comprising at least one allocation unit for the file on a primary storage medium without initializing at least a portion of the file on the primary storage medium. The file template metadata is stored in a cache. The cache resides in at least one of volatile memory and persistent flash storage. A second request is received corresponding to a particular allocation unit of the set of allocation units. Particular file template metadata associated with the particular allocation unit is obtained. In response to the second request, at least a portion of a new allocation unit is generated.
    Type: Grant
    Filed: July 22, 2016
    Date of Patent: July 24, 2018
    Assignee: Oracle International Corporation
    Inventors: Zuoyu Tao, Jia Shi, Kothanda Umamageswaran, Selcuk Aya
  • Publication number: 20180129612
    Abstract: Techniques are provided to adjust the behavior of a cache based on a count of cache misses for items recently evicted. In an embodiment, a computer responds to evicting a particular item (PI) from a cache by storing a metadata entry for the PI into memory. In response to a cache miss for the PI, the computer detects whether or not the metadata entry for the PI resides in memory. When the metadata entry for the PI is detected in memory, the computer increments a victim hit counter (VHC) that may be used to calculate how much avoidable thrashing is the cache experiencing, which is how much thrashing would be reduced if the cache were expanded. Either immediately or arbitrarily later, the computer adjusts a policy of the cache based on the VHC's value. For example, the computer may adjust the capacity of the cache based on the VHC.
    Type: Application
    Filed: August 25, 2017
    Publication date: May 10, 2018
    Inventors: JUSTIN MATTHEW LEWIS, ZUOYU TAO, JIA SHI, KOTHANDA UMAMAGESWARAN
  • Publication number: 20160328331
    Abstract: A method and system for fast file initialization is provided. An initialization request to create or extend a file is received. The initialization request comprises or identifies file template metadata. A set of allocation units are allocated, the set of allocation units comprising at least one allocation unit for the file on a primary storage medium without initializing at least a portion of the file on the primary storage medium. The file template metadata is stored in a cache. The cache resides in at least one of volatile memory and persistent flash storage. A second request is received corresponding to a particular allocation unit of the set of allocation units. Particular file template metadata associated with the particular allocation unit is obtained. In response to the second request, at least a portion of a new allocation unit is generated.
    Type: Application
    Filed: July 22, 2016
    Publication date: November 10, 2016
    Inventors: Zuoyu Tao, Jia Shi, Kothanda Umamageswaran, Selcuk Aya
  • Patent number: 9430383
    Abstract: A method and system for fast file initialization is provided. An initialization request to create or extend a file is received. The initialization request comprises or identifies file template metadata. A set of allocation units are allocated, the set of allocation units comprising at least one allocation unit for the file on a primary storage medium without initializing at least a portion of the file on the primary storage medium. The file template metadata is stored in a cache. The cache resides in at least one of volatile memory and persistent flash storage. A second request is received corresponding to a particular allocation unit of the set of allocation units. Particular file template metadata associated with the particular allocation unit is obtained. In response to the second request, at least a portion of a new allocation unit is generated.
    Type: Grant
    Filed: July 21, 2014
    Date of Patent: August 30, 2016
    Assignee: Oracle International Corporation
    Inventors: Zuoyu Tao, Jia Shi, Kothanda Umamageswaran, Selcuk Aya