IP Library Granted Patent US 12664093
Granted Patent B2
US 12664093 · App. 17/876,081 · Granted Jun 23, 2026

Scheduling merged store operations in compliance with store ordering rules

Inventors: Mark Dechene (Hillsboro, OR); Ryan Carlson (Hillsboro, OR); Ricardo Daniel Queiros Alves (Portland, OR); Yan Zeng (Portland, OR); Richard Klass (Hillsboro, OR); Brendan West (Hillsboro, OR)
Assignee: Intel Corporation
G06F12/0815G06F12/0864G06F2212/1021
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 12664093
App. No.
17/876,081
Granted
Jun 23, 2026
Kind
B2
Abstract

Techniques for scheduling merged store operations are described. In an embodiment, an apparatus includes a data cache; a fill buffer; a store buffer to store first information associated with a first retired store operation and second information associated with a second retired store operation; a store coalescing buffer (SCB) to receive the first information from the store buffer, to store the first information in an SCB entry, to merge the second information from the store buffer into the entry, and to provide data associated with the entry for a write to the data cache or the fill buffer; and a global store scheduler (GSS) to schedule the write relative to an other write from an other SCB in compliance with one or more store ordering rules.

Claims (41)

1 . An apparatus comprising:

a data cache;

a fill buffer;

a store buffer to store first information associated with a first retired store operation and second information associated with a second retired store operation;

a store coalescing buffer (SCB) to receive the first information from the store buffer, to store the first information in an SCB entry, to merge the second information from the store buffer into the entry, and to provide data associated with the entry for a write to the data cache in response to a cache hit or to the fill buffer in response to a cache miss;

a global store scheduler (GSS) to schedule the write relative to another write from another SCB in compliance with one or more store ordering rules; and

a global ordering buffer to order a memory write, in compliance with the one or more store ordering rules, from the fill buffer relative to another memory write from another fill buffer.

2 . The apparatus of claim 1 , wherein the SCB is to be associated with a slice of the data cache and the other SCB is to be associated with another slice of the data cache.

3 . The apparatus of claim 2 , wherein the slice is to be associated with an address range different from an address range to be associated with the other slice.

4 . The apparatus of claim 1 , wherein the SCB entry is to include an indicator to indicate whether the entry is eligible for merging.

5 . The apparatus of claim 1 , wherein the fill buffer is to be associated with a slice of the data cache and the other fill buffer is to be associated with another slice of the data cache.

6 . The apparatus of claim 5 , wherein the slice is to be associated with an address range different from an address range to be associated with the other slice.

7 . The apparatus of claim 6 , wherein the global ordering buffer includes a copy to be associated with the slice and another copy to be associated with the other slice.

8 . A method comprising:

storing, in a store buffer of a processor core, first information associated with a first retired store operation;

receiving, by a store coalescing buffer (SCB) of the processor core, the first information from the store buffer;

storing, in an SCB entry, the first information;

storing, in the store buffer, second information associated with a second retired store operation;

merging the second information from the store buffer into the entry of the SCB;

providing, by the SCB, data associated with the entry for a write to a data cache or a fill buffer; and

scheduling the write relative to another write from another SCB in compliance with one or more store ordering rules; and

ordering a memory write, in compliance with the one or more store ordering rules, from the fill buffer, relative to another memory write from another fill buffer, wherein the fill buffer is associated with an address-based slice of the data cache and the other fill buffer is associated with another address-based slice of the data cache.

9 . The method of claim 8 , wherein the SCB is associated with an address-based slice of the data cache and the other SCB is associated with another address-based slice of the data cache.

10 . The method of claim 8 , further comprising:

determining whether the SCB entry is eligible for merging; and

writing to an indicator in the SCB entry to indicate whether the entry is eligible for merging.

11 . The method of claim 10 , wherein determining is based at least in part on whether the second retired store operation is a next immediate store in program order of the first retired store operation.

12 . The method of claim 10 , wherein determining is based at least in part on whether a physical address tag associated with the second retired store operation matches a physical address tag associated with the first retired store operation.

13 . The method of claim 10 , wherein determining is based at least in part on whether a memory type indicator associated with the second retired store operation matches a memory type indicator associated with the first retired store operation.

14 . The method of claim 10 , wherein scheduling the write is based at least in part on the merge indicator field.

15 . The method of claim 8 , further comprising determining whether the write is to the data cache or to the fill buffer.

16 . A system comprising:

a processor core including:

a data cache;

a fill buffer;

a store buffer to store first information associated with a first retired store operation and second information associated with a second retired store operation;

a store coalescing buffer (SCB) to receive the first information from the store buffer, to store the first information in an SCB entry, to merge the second information from the store buffer into the entry, and to provide data associated with the entry for a write to the data cache or the fill buffer; and

a global store scheduler (GSS) to schedule the write relative to another write from another SCB in compliance with one or more store ordering rules; and

a global ordering buffer to order a memory write, in compliance with the one or more store ordering rules, from the fill buffer relative to another memory write from another fill buffer; and

a memory controller to couple the processor core to one or more memories of a system memory.

17 . The system of claim 16 , wherein the system memory comprises one or more dynamic random-access memories.