Selectively reading data from cache and primary storage based on whether cache is overloaded

US10430338B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10430338-B2
Application numberUS-69114610-A
CountryUS
Kind codeB2
Filing dateJan 21, 2010
Priority dateSep 19, 2008
Publication dateOct 1, 2019
Grant dateOct 1, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are provided for using an intermediate cache to provide some of the items involved in a scan operation, while other items involved in the scan operation are provided from primary storage. Techniques are also provided for determining whether to service an I/O request for an item with a copy of the item that resides in the intermediate cache based on factors such as a) an identity of the user for whom the I/O request was submitted, b) an identity of a service that submitted the I/O request, c) an indication of a consumer group to which the I/O request maps, d) whether the I/O request is associated with an offloaded filter provided by the database server to the storage system, or e) whether the intermediate cache is overloaded. Techniques are also provided for determining whether to store items in an intermediate cache in response to the items being retrieved, based on logical characteristics associated with the requests that retrieve the items.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising, during a period in which an intermediate cache is already storing a copy of a particular item and a particular cache is not storing the particular item: receiving an I/O request at a storage system, from a database server executing in a computer system that includes volatile memory; wherein the volatile memory has at least a portion that is used as the particular cache; wherein the I/O request is to retrieve, for a scan operation being performed by the database server, a plurality of items that includes the particular item; wherein the particular item resides on persistent primary storage managed by the storage system; wherein the intermediate cache, managed by the storage system, is logically positioned between the volatile memory of the computer system and the persistent primary storage; in response to receiving the I/O request, the storage system performing the steps of: determining whether to service the I/O request with the copy of the particular item that resides in the intermediate cache based on one or more factors, wherein the one or more factors include at least one of: an identity of a user for whom the I/O request was submitted, an identity of a service that submitted the I/O request, an indication of a consumer group to which the I/O request maps, whether the I/O request is associated with an offloaded filter provided by the database server to the storage system, or whether the intermediate cache is overloaded; in response to determining, based on the one or more factors, that the I/O request should be serviced with the copy of the particular item that resides in the intermediate cache, responding to the I/O request with the copy of the particular item that resides the intermediate cache without retrieving the particular item from primary storage; wherein the storage system applies filter criteria, provided to the storage system by the database server, to items involved in the scan operation; and wherein the method is performed by one or more computing devices. 2. A method comprising, during a period in which an intermediate cache is already storing a copy of an item and a particular cache is not storing the item: receiving at a storage system, from a database server executing in a computer system that includes volatile memory, at least a portion of which is used as the particular cache, an I/O request; wherein the I/O request is to retrieve the item that resides on persistent primary storage managed by the storage system; wherein the intermediate cache, managed by the storage system, is logically positioned between the volatile memory of the computer system and the persistent primary storage; in response to receiving the I/O request, the storage system performing the steps of: determining whether to service the I/O request with the copy of the item that resides in the intermediate cache based, at least in part, on an identity of a user for whom the I/O request was submitted; in response to determining, based, at least in part, on the identity of the user for whom the I/O request was submitted, that the I/O request should be serviced with the copy of the item that resides in the intermediate cache, responding to the I/O request with the copy of the item that resides the intermediate cache without retrieving the item from primary storage; wherein the method is performed by one or more computing devices. 3. A method comprising, during a period in which an intermediate cache is already storing a copy of an item and a particular cache is not storing the item: receiving at a storage system, from a database server executing in a computer system that includes volatile memory, at least a portion of which is used as the articular cache, an I/O request; wherein the I/O request is to retrieve the item that resides on persistent primary storage managed by the storage system; wherein the intermediate cache, managed by the storage system, is logically positioned between the volatile memory of the computer system and the persistent primary storage; in response to receiving the I/O request, the storage system performing the steps of: determining whether to service the I/O request with the copy of the item that resides in the intermediate cache based, at least in part, on an identity of a service that submitted the I/O request; in response to determining, based, at least in part, on the identity of the service that submitted the I/O request, that the I/O request should be serviced with the copy of the item that resides in the intermediate cache, responding to the I/O request with the copy of the item that resides the intermediate cache without retrieving the item from primary storage; wherein the method is performed by one or more computing devices. 4. A method comprising, during a period in which an intermediate cache is already storing a copy of an item and a particular cache is not storing the item: receiving at a storage system, from a database server executing in a computer system that includes volatile memory, at least a portion of which is used as the particular cache, an I/O request; wherein the I/O request is to retrieve the item that resides on persistent primary storage managed by the storage system; wherein the intermediate cache, managed by the storage system, is logically positioned between the volatile memory of the computer system and the persistent primary storage; in response to receiving the I/O request, the storage system performing the steps of: determining whether to service the I/O request with the copy of the item that resides in the intermediate cache based, at least in part, on an indication of a consumer group to which the I/O request maps; in response to determining, based, at least in part, on the indication of the consumer group to which the I/O request maps, that the I/O request should be serviced with the copy of the item that resides in the intermediate cache, responding to the I/O request with the copy of the item that resides the intermediate cache without retrieving the item from primary storage; wherein the method is performed by one or more computing devices. 5. A method comprising, during a period in which an intermediate cache is already storing a copy of an item and a particular cache is not storing the item: receiving at a storage system, from a database server executing in a computer system that includes volatile memory, at least a portion of which is used as the particular cache, an I/O request; wherein the I/O request is to retrieve the item that resides on persistent primary storage managed by the storage system; wherein the intermediate cache, managed by the storage system, is logically positioned between the volatile memory of the computer system and the persistent primary storage; in response to receiving the I/O request, the storage system performing the steps of: determining whether to service the I/O request with the copy of the item that resides in the intermediate cache based, at least in part, on whether the I/O request is associated with an offloaded filter provided by the database server to the storage system; in response to determining, based, at least in part, on whether the I/O request is associated with an offloaded filter provided by the database server to the storage system, that the I/O request should be serviced with the copy of the item that resides in the intermediate cache, responding to the I/O request with the copy of the item that resides the intermediate cache without retrieving the item from primary storage; wherein the method is performed by one or more computing devices. 6. A method comprising: receiving from a database server, at a storage system, an I/O request for an item that resides on primary storage but that does not cur

Assignees

Inventors

Classifications

  • with multilevel cache hierarchies · CPC title

  • Efficient disk access during query execution · CPC title

  • using selective caching, e.g. bypass · CPC title

  • G06F12/084Primary

    with a shared cache · CPC title

  • for peripheral storage systems, e.g. disk cache · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10430338B2 cover?
Techniques are provided for using an intermediate cache to provide some of the items involved in a scan operation, while other items involved in the scan operation are provided from primary storage. Techniques are also provided for determining whether to service an I/O request for an item with a copy of the item that resides in the intermediate cache based on factors such as a) an identity of t…
Who is the assignee on this patent?
Umamageswaran Kothanda, Loaiza Juan R, Panchaksharaiah Umesh, and 11 more
What technology area does this patent fall under?
Primary CPC classification G06F12/084. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 01 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).