IP Library › Granted Patent US 12,730,763
Granted Patent B2
US 12,730,763 · App. 18/978,516 · Granted Sep 8, 2026

Mechanisms for processing memory requests based on criticality

Inventors: Qiong Cai (Menlo Park, CA); Tyler J. Huberty (Sunnyvale, CA); Anwar Q. Rohillah (Dublin, CA); Gregory S. Mathews (Saratoga, CA); Wolfgang H. Klingauf (Morgan Hill, CA); Rohit K. Gupta (Santa Clara, CA)
Assignee: Apple Inc.
G06F13/1626G06F12/1045G06F13/1642
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,730,763
App. No.
18/978,516
Granted
Sep 8, 2026
Kind
B2
Abstract

In an embodiment, a computer system includes a memory system configured to couple to one or more memory devices and processor circuitry configured to issue read and write requests to the memory system. The memory system is configured to receive, during a write turn in which a plurality of write requests are processed, a read request and an indication of a criticality of the read request assigned by the processor circuitry. The memory system is further configured to, based on the indication identifying that the read request is a critical read request and a detection that a set of activation criteria is satisfied, transition, to process the critical read request, from the write turn to a read turn without completing the write turn. The memory system is configured to perform the read turn in which a plurality of read requests are processed including the critical read request.

Claims (37)

1 . An apparatus, comprising:

a memory system configured to couple to one or more memory devices, wherein the memory system includes a set of write queues configured to store write requests;

processor circuitry configured to issue read and write requests to the memory system; and

wherein the memory system is configured to:

receive, during a write turn in which a plurality of write requests are processed, a read request and an indication of a criticality of the read request assigned by the processor circuitry; and

based on the indication identifying that the read request is a critical read request and a detection that a set of activation criteria is satisfied, transition, to process the critical read request, from the write turn to a read turn without completing the write turn, wherein the set of activation criteria includes a criterion that there is at least a threshold number of available entries in the set of write queues to store write requests having a first particular prioritization level.

2 . The apparatus of claim 1 , wherein the set of activation criteria includes a criterion that a fill level of the set of write queues is less than a write heavy threshold.

3 . The apparatus of claim 1 , wherein the set of activation criteria includes a criterion that read traffic having a second particular prioritization level is not in an escalated state.

4 . The apparatus of claim 1 , wherein the memory system is configured to, based on a detection that the set of activation criteria is not satisfied, complete the write turn before transitioning to the read turn to process the critical read request.

5 . The apparatus of claim 4 , wherein the memory system is configured to complete the write turn even in the case that the set of activation criteria is subsequently satisfied after the detection that the set of activation criteria is not satisfied.

6 . The apparatus of claim 1 , wherein the memory system includes a set of read queues configured to store read requests, and wherein the memory system is configured to prioritize the critical read request over other read requests in the set of read queues so that the critical read request is processed before the other read requests.

7 . The apparatus of claim 1 , wherein the processor circuitry includes cache circuitry configured to assign one of a plurality of criticality values to the read request as the indication of the criticality of the read request, wherein the plurality of criticality values includes a non-critical value and a critical value.

8 . The apparatus of claim 7 , wherein the cache circuitry is configured to assign the critical value to the read request based on a detection that the read request corresponds to an oldest load instruction represented in a load queue of the processor circuitry.

9 . A method, comprising:

performing, by a memory system of a computer system, a write turn in which a plurality of write requests to write data to one or more memory devices are processed, wherein the memory system includes a set of write queues configured to store write requests;

receiving, by the memory system during the write turn, a read request from processor circuitry of the computer system, wherein the read request is identified as critical by the processor circuitry;

tracking, by the memory system over a set of previous turns, a number of instances of a fill level of the set of write queues satisfying a write heavy threshold;

determining, by the memory system, whether transitioning to a read turn from the write turn without completing the write turn is permitted according to a set of activation criteria, wherein the set of activation criteria includes a criterion that the number of instances does not satisfy a threshold number of instances;

in response to determining that the set of activation criteria is satisfied, the memory system transitioning to the read turn from the write turn without completing the write turn; and

processing, by the memory system, the read request during the read turn.

10 . The method of claim 9 , wherein the set of activation criteria includes a criterion that traffic having a particular prioritization level is not in an escalated state.

11 . The method of claim 9 , wherein the set of activation criteria includes a criterion that there is at least a threshold number of available entries in the set of write queues of the memory system.

12 . The method of claim 9 , further comprising:

identifying, by the processor circuitry, the read request as critical based on a detection that the read request corresponds to an oldest instruction in an instruction cache miss queue of the processor circuitry.

13 . A system, comprising:

processor circuitry that includes cache circuitry configured to issue memory requests and assign one of a plurality of criticality values to a given one of the memory requests; and

a memory system configured to couple to one or more memory devices and to receive ones of the memory requests, wherein the memory system is configured to:

perform a first turn in which a plurality of memory requests of a first request type are processed;

receive, during the first turn, a memory request of a second request type;

issue, upon the reception of the memory request, a request to the processor circuitry to provide a criticality value of the memory request;

based on the criticality value of the memory request, transition, to process the memory request, from the first turn to a second turn without completing the first turn; and

perform the second turn in which a plurality of memory requests of the second request type are processed.

14 . The system of claim 13 , wherein the memory system includes a set of queues configured to store memory requests of the first request type, wherein the memory system is configured to manage the set of queues based on a pool of credits, and wherein the memory system is configured to transition from the first turn to the second turn without completing the first turn based on the criticality value and a detection that a set of activation criteria is satisfied, wherein the set of activation criteria includes a criterion that there is at least a threshold number of credits available in the pool of credits.

15 . The system of claim 13 , wherein the plurality of criticality values includes a critical value and at least one non-critical value, and wherein the processor circuitry further comprises:

memory management circuitry that is configured to translate virtual memory addresses to physical memory addresses, wherein the cache circuitry is configured to assign the critical value to the memory request based on a detection that the memory request corresponds to a transaction of the memory management circuitry.

16 . The system of claim 13 , wherein the memory system includes a set of queues configured to store memory requests of the second request type, and wherein the memory system is configured to, during the second turn, process the memory requests in the set of queues in an order in which the memory requests of the second request type are stored.

17 . The system of claim 13 , wherein the plurality of memory requests of the first request type are write requests and the plurality of memory requests of the second request type are read requests.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2024
From: CAI, QIONG; HUBERTY, TYLER J.; ROHILLAH, ANWAR Q.; MATHEWS, GREGORY S.; KLINGAUF, WOLFGANG H.; GUPTA, ROHIT K.
To: APPLE INC.
Reel/Frame 069567/0181 →
Continuity (2)
Provisional Application 63697112 · Sep 20, 2024
Related Publication 20260086957A1 · Mar 26, 2026
References Cited (24)
US 9323678B2 · Kumar et al. · 2016 [cited by applicant]
US 9690705B1 · Adda et al. · 2017 [cited by applicant]
US 10437758B1 · Mathews · 2019 [cited by examiner]
US 10705975B2 · Coburn et al. · 2020 [cited by applicant]
US 11868628B2 · Jain et al. · 2024 [cited by applicant]
US 11907528B2 · Chirca et al. · 2024 [cited by applicant]
US 11943351B2 · Ansari et al. · 2024 [cited by applicant]
US 20030093636A1 · Henry · 2003 [cited by examiner]
US 20070147142A1 · Schnell et al. · 2007 [cited by applicant]
US 20130124805A1 · Rafacz · 2013 [cited by examiner]
US 20180088944A1 · Subramanian et al. · 2018 [cited by applicant]
US 20180349300A1 · Bubb · 2018 [cited by examiner]
US 20200057579A1 · Mathews · 2020 [cited by examiner]
US 20200133905A1 · Mathews et al. · 2020 [cited by applicant]
US 20200159463A1 · Mathews et al. · 2020 [cited by applicant]
US 20230060225A1 · Huberty et al. · 2023 [cited by applicant]
US 20230066236A1 · Huberty · 2023 [cited by examiner]
US 20240036736A1 · Anderson · 2024 [cited by examiner]
CN 100456232C · 2009 [cited by applicant]
CN 116185310B · 2023 [cited by applicant]
CN 111176573B · 2024 [cited by applicant]
JP 4455673B2 · 2010 [cited by applicant]
Z. Wang, Q. Zuo and J. Li, “An Intelligent Multi-Port Memory,” 2008 International Symposium on Intelligent Information Technology Application Workshops, Shanghai, China, 2008, pp. 251-254 (Year: 2008). [cited by examiner]
International Search Report and Written Opinion in PCT Appl. No. PCT/US2025/045771 mailed Jan. 15, 2026, 10 pages. [cited by applicant]