Information handling system with immediate scheduling of load operations

US10489293B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10489293-B2
Application numberUS-42428409-A
CountryUS
Kind codeB2
Filing dateApr 15, 2009
Priority dateApr 15, 2009
Publication dateNov 26, 2019
Grant dateNov 26, 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.

An information handling system (IHS) includes a processor with a cache memory system. The processor includes a processor core with an L1 cache memory that couples to an L2 cache memory. The processor includes an arbitration mechanism that controls load and store requests to the L2 cache memory. The arbitration mechanism includes control logic that enables a load request to interrupt a store request that the L2 cache memory is currently servicing. When the L2 cache memory finishes servicing the interrupting load request, the L2 cache memory may return to servicing the interrupted store request at the point of interruption.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, implemented within a chiplet of a processor integrated circuit, comprising: requesting, by a processor element of the chiplet, access to a cache memory to conduct operations in the cache memory, the operations including load operations and store operations; interrupting, by control logic of the chiplet, a store operation in progress in the cache memory when the processor element sends a load operation to the cache memory; performing, by the cache memory of the chiplet, the load operation; and scheduling, by the control logic of the chiplet, the store operation for access to the cache memory to conduct a remainder of the store operation after the load operation completes, wherein the chiplet comprises: cache arbiter logic that is configured to schedule access operations for accessing the cache memory; directory arbiter logic, coupled to the cache arbiter logic, that is configured to access a directory that stores address and state information for cache lines in the cache memory; core interface unit control logic, coupled to the cache arbiter logic and directory arbiter logic, that is configured to receive load requests from a core load request bus associated with the processor element; and store queue control logic, coupled to the cache arbiter logic, the directory arbiter logic, and the core interface unit control logic, that is configured to receive store requests from a core store bus associated with the processor element, and wherein: the core interface unit control logic and the directory arbiter logic perform a first set of first stage arbitration operations, the cache arbiter logic and the store queue control logic perform a second set of first stage arbitration operations, results of the second set of first stage arbitration operations are provided to second stage arbitration logic, and interrupting the store operation in progress in the cache memory when the processor element sends a load operation to the cache memory comprises sending results of the first set of first stage arbitration operations directly to third stage arbitration logic thereby bypassing the second stage arbitration logic. 2. The method of claim 1 , wherein the third stage arbitration logic is configured to select a load request submitted by the core interface unit control logic, provided in an output of the first set of first stage arbitration operations, for immediate access to the directory ahead of any requests selected by the store queue control logic, the cache arbiter logic, or the directory arbiter logic. 3. The method of claim 1 , wherein the chiplet further comprises read claim (RC) dispatch control logic that is configured to dispatch load and store requests to at least one of a plurality of RC state machines or a plurality of cast out (CO) state machines, and wherein the cache arbiter logic arbitrates between a plurality of requests in the plurality of RC state machines and a plurality of requests in the plurality of CO state machines to generate a single output of a selected request that is output to the second stage arbitration logic, and wherein the store queue control logic arbitrates between a plurality of store requests to select a single selected store request to be output to the second stage arbitration logic. 4. The method of claim 1 , wherein the chiplet further comprises read claim (RC) dispatch control logic, that is configured to dispatch load and store requests to at least one of a plurality of RC state machines or a plurality of cast out (CO) state machines, and further comprises a plurality of snoop state machines, and wherein the directory arbiter logic arbitrates between the plurality of requests of the plurality of RC state machines and the plurality of snoop state machines to generate a single selected request output to the third state arbitration logic. 5. The method of claim 1 , wherein the third stage arbitration logic outputs a selected request to sequencer logic for sequencing of load requests and store requests in a sequential order, and wherein scheduling the store operation for access to the cache memory to conduct a remainder of the store operation after the load operation completes comprises utilizing the sequencer logic to place the store operation after the load operation in the sequential order. 6. A method, implemented within a chiplet of a processor integrated circuit, comprising: sending, by a processor element of the chiplet, a plurality of requests for memory operations to a cache memory of the chiplet, the memory operations including load operations and store operations; receiving, by control logic for the cache memory, a request for a first load operation; performing, by the cache memory, the first load operation that the request for the first load operation specifies; receiving, by the control logic for the cache memory, a request for a first store operation; commencing, by the cache memory, performance of the first store operation that the request for the first store operation specifies such that the first store operation is in progress; receiving, by the cache memory, a request for a second load operation while the first store operation is in progress in the cache memory; and interrupting, by the control logic, the in progress first store operation to perform the second load operation, wherein the chiplet comprises: cache arbiter logic that is configured to schedule access operations for accessing the cache memory; directory arbiter logic, coupled to the cache arbiter logic, that is configured to access a directory that stores address and state information for cache lines in the cache memory; core interface unit control logic, coupled to the cache arbiter logic and directory arbiter logic, that is configured to receive load requests from a core load request bus associated with the processor element; and store queue control logic, coupled to the cache arbiter logic, the directory arbiter logic, and the core interface unit control logic, that is configured to receive store requests from a core store bus associated with the processor element, and wherein: the core interface unit control logic and the directory arbiter logic perform a first set of first stage arbitration operations, the cache arbiter logic and the store queue control logic perform a second set of first stage arbitration operations, results of the second set of first stage arbitration operations are provided to second stage arbitration logic, and interrupting the in progress first store operation to perform the second load operation comprises sending results of the first set of first stage arbitration operations, the results comprising the request for the second load operation, directly to third stage arbitration logic thereby bypassing the second stage arbitration logic. 7. The method of claim 6 , wherein the third stage arbitration logic is configured to select a load request submitted by the core interface unit control logic, provided in an output of the first set of first stage arbitration operations, for immediate access to the directory ahead of any requests selected by the store queue control logic, the cache arbiter logic, or the directory arbiter logic. 8. The method of claim 6 , wherein the chiplet further comprises read claim (RC) dispatch control logic that is configured to dispatch load and store requests to at least one of a plurality of RC state machines or a plurality of cast out (CO) state machines, and wherein the cache arbiter logic arbitrates between a plurality of requests in the plurality of RC state machines and a plurality of requests in the plurality of CO state machines to generate a single output of a selected request that is output to the second stage arbitration logic, and wherein th

Assignees

Inventors

Classifications

  • Overlapped cache accessing, e.g. pipeline (G06F12/0846 takes precedence) · CPC title

  • with special data handling, e.g. priority of data or instructions, handling errors or pinning · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · 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 US10489293B2 cover?
An information handling system (IHS) includes a processor with a cache memory system. The processor includes a processor core with an L1 cache memory that couples to an L2 cache memory. The processor includes an arbitration mechanism that controls load and store requests to the L2 cache memory. The arbitration mechanism includes control logic that enables a load request to interrupt a store req…
Who is the assignee on this patent?
Ghai Sanjeev, Guthrie Guy Lynn, Powell Stephen, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F12/0855. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 26 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).