IP Library › Granted Patent US 12,547,523
Granted Patent B2
US 12,547,523 · App. 18/577,972 · Granted Feb 10, 2026

Page access frequency tracking

Inventors: Matthew Lucien Evans (Cambridge, GB); Robert Gwilym Dimond (Cambridge, GB); Alexander Donald Charles Chadwick (Cambridge, GB)
Assignee: Arm Limited
G06F11/3471G06F12/1009G06F12/1027
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,547,523
App. No.
18/577,972
Granted
Feb 10, 2026
Kind
B2
Abstract

An apparatus comprises: memory access circuitry ( 11 ) to process memory access requests requesting access to a memory system ( 10, 32 ); and access frequency tracking circuitry ( 40 ). In response to a given memory access request requesting access to a given page of a memory address space, the access frequency tracking circuitry ( 40 ) determines an outcome of a chance-dependent test, where the outcome of the chance-dependent test is dependent on chance. When the outcome of the chance-dependent test is a first outcome, an access frequency tracking indicator corresponding to the given page is updated within an access frequency tracking structure. When the chance-dependent test has an outcome other than the first outcome, the access frequency tracking circuitry 40 omits updating of the access frequency tracking indicator corresponding to the given page.

Claims (47)

1 . An apparatus comprising:

memory access circuitry configured to process memory access requests requesting access to a memory system; and

access frequency tracking circuitry responsive to a given memory access request requesting access to a given page of a memory address space, to:

determine an outcome of a chance-dependent test, where the outcome of the chance-dependent test, when determined for the given memory access request, is dependent on chance;

when the outcome of the chance-dependent test is a first outcome, update an access frequency tracking indicator corresponding to the given page within an access frequency tracking structure; and

when the outcome of the chance-dependent test is an outcome other than the first outcome, omit updating of the access frequency tracking indicator corresponding to the given page; in which:

the chance-dependent test comprises determining whether a test evaluating counter, for counting memory access requests, satisfies a predetermined condition; and

the test evaluating counter is a global counter shared between all memory access requests.

2 . The apparatus according to claim 1 , in which the chance-dependent test has a software-configurable probability of providing the first outcome.

3 . The apparatus according to claim 2 , in which the software-configurable probability of providing the first outcome is dependent on at least one of:

a software-configured global parameter shared between all memory access requests; and

a software-configured local parameter specific to a particular subset of memory access requests including the given memory access request.

4 . The apparatus according to claim 2 , in which the software-configurable probability is specified in a software-configurable register.

5 . The apparatus according to claim 1 , in which:

the access frequency tracking circuitry is configured to set a probability of the chance-dependent test providing the first outcome separately for different pages of the memory address space; and

in response to a determination that a frequency of accesses to the given page has reached or exceeded a predetermined threshold, the access frequency tracking circuitry is configured to reduce a probability of the chance-dependent test providing the first outcome on subsequent instances of a memory access request requesting access to the given page.

6 . The apparatus according to claim 1 , in which the chance-dependent test comprises determining whether a random or pseudorandom number has a predetermined value.

7 . The apparatus according to claim 1 , in which the access frequency tracking indicator comprises a tracking flag; and

when the outcome of the chance-dependent test is the first outcome and the tracking flag corresponding to the given page has a first value, the access frequency tracking circuitry is configured to set the tracking flag corresponding to the given page to specify a second value.

8 . The apparatus according to claim 1 , in which the access frequency tracking indicator comprises a multi-bit access frequency tracking counter; and

when the outcome of the chance-dependent test is the first outcome, the access frequency tracking circuitry is configured to increment the multi-bit access frequency tracking counter corresponding to the given page.

9 . The apparatus according to claim 1 , in which the access frequency tracking structure comprises an access frequency tracking hardware structure comprising a plurality of entries each to store the access frequency tracking indicator for a corresponding page of the memory address space.

10 . The apparatus according to claim 9 , in which the access frequency tracking hardware structure is a translation lookaside buffer, and the plurality of entries are translation lookaside buffer entries each to store the access frequency tracking information and address translation information associated with the corresponding page.

11 . The apparatus according to claim 1 , in which the access frequency tracking structure comprises a memory-based data structure stored in the memory system.

12 . The apparatus according to claim 11 , in which the access frequency tracking structure comprises a linear data structure comprising a plurality of entries having addresses in a contiguous block of memory address space; and

the access frequency tracking circuitry is configured to identify the entry of the linear data structure providing the access frequency tracking indicator corresponding to the given page based on an offset determined based on an address of the given page.

13 . The apparatus according to claim 1 , in which the access frequency tracking structure comprises a tree structure.

14 . The apparatus according to claim 13 , in which the tree structure is a page table structure comprising a plurality of page table entries for specifying address translation information for corresponding pages of the memory address space, the page table entry corresponding to the given page comprising the access frequency tracking indicator corresponding to the given page.

15 . An apparatus comprising:

memory access circuitry to process memory access requests requesting access to a memory system; and

access frequency tracking circuitry responsive to a given memory access request requesting access to a given page of a memory address space, to:

determine an outcome of a chance-dependent test, where the outcome of the chance-dependent test, when determined for the given memory access request, is dependent on chance;

when the outcome of the chance-dependent test is a first outcome, update an access frequency tracking indicator corresponding to the given page within an access frequency tracking structure; and

when the outcome of the chance-dependent test is an outcome other than the first outcome, omit updating of the access frequency tracking indicator corresponding to the given page; in which:

the chance-dependent test comprises determining whether a test evaluating counter, for counting memory access requests, satisfies a predetermined condition; and

the test evaluating counter is one of a plurality of local counters each for counting memory access requests of a specific subset, and the chance-dependent test is based on the local counter which corresponds to a specific subset of memory access requests including the given memory access request.

16 . The apparatus according to claim 15 , in which the plurality of local counters correspond to specific subsets of memory access requests associated with different operating modes or execution states.

17 . The apparatus according to claim 15 , in which the plurality of local counters comprise a load counter for counting load memory access requests and a store counter for counting store memory access requests.

18 . The apparatus according to claim 15 , in which the plurality of local counters correspond to specific subsets of memory access requests requesting access to different regions or pages of the memory address space.

19 . The apparatus according to claim 15 , in which the plurality of local counters correspond to specific subsets of memory access requests requesting access to different pages of the memory address space.

20 . An apparatus comprising:

memory access circuitry to process memory access requests requesting access to a memory system; and

access frequency tracking circuitry responsive to a given memory access request requesting access to a given page of a memory address space, to:

determine an outcome of a chance-dependent test, where the outcome of the chance-dependent test, when determined for the given memory access request, is dependent on chance;

when the outcome of the chance-dependent test is a first outcome, update an access frequency tracking indicator corresponding to the given page within an access frequency tracking structure; and

when the outcome of the chance-dependent test is an outcome other than the first outcome, omit updating of the access frequency tracking indicator corresponding to the given page; in which:

the chance-dependent test comprises determining whether a portion of bits has a predetermined value, the portion of bits comprising bits sampled from: one or more items of internal control information of the apparatus, or a serial pulse train derived from one or more analogue or digital signals of the apparatus.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2024
From: EVANS, MATTHEW LUCIEN; DIMOND, ROBERT GWILYM; CHADWICK, ALEXANDER DONALD CHARLES
To: ARM LIMITED
Reel/Frame 066071/0468 →
Priority Claims (1)
GB 2110258 · Jul 16, 2021 · national
Continuity (1)
Related Publication 20240354216A1 · Oct 24, 2024
References Cited (15)
US 20060265552A1 · Davis · 2006 [cited by examiner]
US 20080263341A1 · Ozer · 2008 [cited by examiner]
US 20120317338A1 · Yi · 2012 [cited by examiner]
US 20150046653A1 · Soundararajan · 2015 [cited by examiner]
US 20180046378A1 · Coburn et al. · 2018 [cited by applicant]
US 20190102312A1 · McDonnell · 2019 [cited by examiner]
US 20190213131A1 · Sabba · 2019 [cited by examiner]
US 20190251275A1 · Ramrakhyani · 2019 [cited by examiner]
US 20200192809A1 · Mappouras · 2020 [cited by examiner]
US 20200409585A1 · Koufaty · 2020 [cited by examiner]
US 20220237124A1 · Gottin · 2022 [cited by examiner]
Combined International Search and Examination Report for International Application No. GB2110258.7 dated Apr. 14, 2022. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/GB2022/051454, dated Sep. 14, 2022. [cited by applicant]
Agarwal et al., “Thermostat: Application-transparent Page Management for Two-tiered Main Memory,” University of Michigan, 2017. [cited by applicant]
Yu et al., “Banshee: Bandwidth-Efficient DRAM Caching via Software/Hardware Cooperation,” p. 1-14, 2017. [cited by applicant]