IP Library › Granted Patent US 12,743,370
Granted Patent B2
US 12,743,370 · App. 18/954,112 · Granted Sep 22, 2026

Memory access statistics monitoring

Inventor: David A. Roberts (Wellesley, MA)
Assignee: Micron Technology, Inc.
G06F12/0238G06F12/0292G06F12/0882G06F13/1621G06F13/1689
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,743,370
App. No.
18/954,112
Granted
Sep 22, 2026
Kind
B2
Abstract

Systems, apparatuses, and methods related to memory access statistics monitoring are described. A host is configured to map pages of memory for applications to a number of memory devices coupled thereto. A first memory device comprises a monitoring component configured to monitor access statistics of pages of memory mapped to the first memory device. A second memory device does not include a monitoring component capable of monitoring access statistics of pages of memory mapped thereto. The host is configured to map a portion of pages of memory for an application to the first memory device in order to obtain access statistics corresponding to the portion of pages of memory upon execution of the application despite there being space available on the second memory device and adjust mappings of the pages of memory for the application based on the obtained access statistics corresponding to the portion of pages.

Claims (37)

1 . An apparatus, comprising:

a host configured to map virtual pages of memory for applications to a number of memory devices coupled thereto;

a first memory device; and

a second memory device;

wherein the host is configured to map a portion of virtual pages of a total number of virtual pages of memory for an application to the first memory device such that there is an equal number of remaining virtual pages of memory mapped to the second memory device between each page of the portion of virtual pages of the total number of virtual pages of memory mapped to the first memory device;

wherein the portion of virtual pages includes a plurality of virtual pages;

wherein obtained access statistics for the remaining portion of virtual pages of memory for the application mapped to the second memory device are extrapolated based on the access statistics of the portion of virtual pages of memory for the application mapped to the first memory device.

2 . The apparatus of claim 1 , wherein the first memory device includes a monitoring component configured to monitor the access statistics of the virtual pages of memory mapped to the first memory device.

3 . The apparatus of claim 2 , wherein the second memory device does not include a monitoring component capable of monitoring access statistics of pages of memory mapped thereto.

4 . The apparatus of claim 2 , wherein the monitoring component comprises a page table configured to maintain a map of virtual addresses to physical addresses of pages of memory.

5 . The apparatus of claim 4 , wherein the page table only includes page table entries from the second memory device when none of the page table entries are being monitored by the monitoring component on the first memory device.

6 . The apparatus of claim 1 , wherein a monitoring component is on the second memory device and not on the first memory device.

7 . An apparatus, comprising:

a first memory device comprising a monitoring component configured to monitor access statistics of virtual pages of memory mapped to the first memory device, wherein:

the first memory device is configured to receive at least one virtual page of a total number of virtual pages of memory corresponding to an application executed on a host such that there is an equal number of remaining virtual pages of memory mapped to a second memory device between the at least one virtual page mapped to the first memory device, wherein the at least one virtual page includes a plurality of virtual pages; and

the host extrapolates access statistics for the remaining virtual pages of the total number of virtual pages of memory, including virtual pages of memory mapped to the second memory device, corresponding to the application executed on the host based on the access statistics of the at least one virtual page of the total number of virtual pages of memory for the application being mapped to the first memory device.

8 . The apparatus of claim 7 , wherein the first memory device further comprises a page table configured to maintain a map of virtual addresses to physical addresses of pages of memory.

9 . The apparatus of claim 7 , wherein the access statistics of the at least one virtual page of memory corresponding to the application are read by the host coupled to the first memory device and the second memory device.

10 . The apparatus of claim 7 , wherein the monitoring component includes counters configured to store logical values.

11 . The apparatus of claim 10 , wherein the counters are a cache memory.

12 . A method, comprising:

mapping virtual pages of memory for applications to a number of memory devices coupled to a host such that, between each page of a portion of virtual pages of a total number of virtual pages of memory mapped to a first memory device, there is an equal number of remaining virtual pages of memory mapped to a second memory device;

monitoring, by the first memory device comprising a monitoring component, access statistics of virtual pages of memory mapped to the first memory device; and

extrapolating, based on the access statistics of the portion of virtual pages of memory for an application mapped to the first memory device, access statistics for the remaining virtual pages of memory that are mapped to the second memory device, wherein the portion of virtual pages includes a plurality of virtual pages.

13 . The method of claim 12 , further comprising using the access statistics to determine a frequency of accesses of data.

14 . The method of claim 13 , wherein the monitoring component is in the first memory device and, in response to the monitoring component being in the first memory device, allocating data that is more frequently accessed than other data to the second memory device.

15 . The method of claim 13 , wherein the monitoring component is in the first memory device and, in response to the monitoring component being in the first memory device, allocating data that is less frequently accessed than other data to the first memory device.

16 . The method of claim 12 , further comprising incrementing counters in the monitoring component in response to the monitoring component detecting one or more access statistics.

17 . The method of claim 16 , further comprising analyzing, by the monitoring component, access statistics stored in the counters.

18 . An apparatus, comprising:

a host configured to map virtual pages of memory for applications to a number of memory devices coupled thereto;

a first memory device; and

a second memory device;

wherein the host is configured to map a portion of virtual pages of a total number of virtual pages of memory for an application to the first memory device such that there is an equal number of remaining virtual pages of memory mapped to the second memory device between each page of the portion of virtual pages of the total number of virtual pages of memory mapped to the first memory device;

wherein the portion of virtual pages includes a plurality of virtual pages;

wherein obtained access statistics for the remaining portion of virtual pages of memory for the application mapped to the second memory device are extrapolated based on the access statistics of the portion of virtual pages of memory for the application mapped to the first memory device;

wherein the host is configured to, despite there being space available on the second memory device, or a third memory device when the remaining portion of virtual pages of memory for the application is mapped to the third memory device, map the portion of virtual pages of the total number of virtual pages of memory for the application to the first memory device in order to obtain the access statistics corresponding to the remaining portion of the virtual pages of memory of the application upon execution of the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2024
From: ROBERTS, DAVID A.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 069406/0672 →
Continuity (3)
Continuation 18512850 · Nov 17, 2023
Continuation 17591729 · Feb 3, 2022
Related Publication 20250077411A1 · Mar 6, 2025
References Cited (28)
US 8793434B2 · Hsu · 2014 [cited by applicant]
US 9727241B2 · Loh et al. · 2017 [cited by applicant]
US 9934148B2 · Roberts et al. · 2018 [cited by applicant]
US 10387340B1 · Baryudin · 2019 [cited by applicant]
US 10802977B2 · Mappouras · 2020 [cited by applicant]
US 11487675B1 · Volpe · 2022 [cited by examiner]
US 11635919B1 · Pohlack · 2023 [cited by applicant]
US 20060161719A1 · Bennett · 2006 [cited by examiner]
US 20090276600A1 · Wallman · 2009 [cited by examiner]
US 20110078361A1 · Chen · 2011 [cited by applicant]
US 20110238920A1 · Hooker · 2011 [cited by examiner]
US 20120017039A1 · Margetts · 2012 [cited by applicant]
US 20120047312A1 · Nathuji · 2012 [cited by applicant]
US 20130290597A1 · Faber · 2013 [cited by applicant]
US 20140281260A1 · Peterson · 2014 [cited by applicant]
US 20150058521A1 · Armstrong · 2015 [cited by applicant]
US 20150106582A1 · Mai et al. · 2015 [cited by applicant]
US 20150199126A1 · Jayasena · 2015 [cited by applicant]
US 20160021020A1 · Deguchi · 2016 [cited by applicant]
US 20160049181A1 · Jafri · 2016 [cited by applicant]
US 20160342364A1 · Ono · 2016 [cited by applicant]
US 20170068633A1 · Kwon · 2017 [cited by applicant]
US 20180260323A1 · John · 2018 [cited by applicant]
US 20190370177A1 · Olderdissen · 2019 [cited by applicant]
US 20200218668A1 · Han · 2020 [cited by applicant]
US 20210072918A1 · Gupta · 2021 [cited by applicant]
US 20230057083A1 · Rudoff · 2023 [cited by applicant]
Qureshi, et al., Adaptive Insertion Policies for High Performance Caching, Conference Paper in ACM SIGARCH Computer Architecture News, Jun. 2007, 12 pages. [cited by applicant]