IP Library › Granted Patent US 12,675,216
Granted Patent B2
US 12,675,216 · App. 18/055,760 · Granted Jul 7, 2026

Systems and methods for tier management in memory-tiering environments

Inventors: Ramzi Ammari (Santa Clara, CA); Mukesh Garg (Stanford, CA); Praveen Krishnamoorthy (Fremont, CA); Changho Choi (San Jose, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F3/0605G06F3/0649G06F3/0683
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,675,216
App. No.
18/055,760
Filed
Nov 15, 2022
Granted
Jul 7, 2026
Kind
B2
Examiner
SAIN, GAUTAM
Art Unit
2135
USPC
711/154
Abstract

Systems and methods for tier management in memory-tiering environments. In some embodiments, a method includes accessing, by a first process, a first page of the first process in a first tier of a non-uniform memory access memory; and locking, by a first thread, the first page against demotion. The first thread may be a tier-management thread of the first process, and the locking of the first page may be based on a service level of the first process.

Claims (46)

1 . A method, comprising:

generating a first application process;

generating, based on the generating of the first application process, a first thread of the first application process;

accessing, by the first application process, a first page of the first application process in a first tier of a non-uniform memory access memory; and

locking, by the first thread of the first application process, the first page against demotion by an operating system,

the first thread being a tier-management thread of the first application process, and

the locking of the first page being based on a service level of the first application process, wherein the service level determines a quantity of pages of the first application process to store in the first tier.

2 . The method of claim 1 , wherein the locking of the first page is further based on a first ranking of pages of the first application process, the first ranking of pages including the first page.

3 . The method of claim 1 , comprising locking a number of pages of the first application process including the first page, wherein the number of pages is based on the service level of the first application process.

4 . The method of claim 3 , wherein the number of pages is further based on a total number of pages of the first application process.

5 . The method of claim 1 , further comprising:

accessing, by the first application process, a second page of the first application process in the first tier of the non-uniform memory access memory; and

locking, by the first thread, the second page against demotion.

6 . The method of claim 5 , further comprising unlocking the first page, wherein the unlocking of the first page is based on the service level of the first application process.

7 . The method of claim 6 , wherein the unlocking of the first page is further based on a second ranking of pages of the first application process, the second ranking of pages including the first page and the second page.

8 . The method of claim 7 , wherein, in the second ranking, the second page is ranked higher than the first page.

9 . The method of claim 1 , wherein the first thread is dedicated to the first application process.

10 . A system, comprising:

a processing circuit; and

memory, operatively connected to the processing circuit and storing instructions that, when executed by the processing circuit, cause the system to perform a method, the method comprising:

generating a first application process;

generating, based on the generating of the first application process, a first thread of the first application process;

accessing, by the first application process, a first page of the first application process in a first tier of a non-uniform memory access memory; and

locking, by the first thread, the first page against demotion,

the first thread being a tier-management thread of the first application process, and

the locking of the first page being based on a service level of the first application process, wherein the service level determines a quantity of pages of the first application process to store in the first tier.

11 . The system of claim 10 , wherein the locking of the first page is further based on a first ranking of pages of the first application process, the first ranking of pages including the first page.

12 . The system of claim 10 , wherein the method comprises locking a number of pages of the first application process including the first page, wherein the number of pages is based on the service level of the first application process.

13 . The system of claim 12 , wherein the number of pages is further based on a total number of pages of the first application process.

14 . The system of claim 10 , wherein the method further comprises:

accessing, by the first application process, a second page of the first application process in the first tier of the non-uniform memory access memory; and

locking, by the first thread, the second page against demotion.

15 . The system of claim 14 , wherein the method further comprises unlocking the first page, wherein the unlocking of the first page is based on the service level of the first application process.

16 . The system of claim 15 , wherein the unlocking of the first page is further based on a second ranking of pages of the first application process, the second ranking of pages including the first page and the second page.

17 . The system of claim 16 , wherein, in the second ranking, the second page is ranked higher than the first page.

18 . The system of claim 10 , wherein the first thread is dedicated to the first application process.

19 . A system, comprising:

means for processing; and

memory operatively connected to the means for processing, wherein the memory stores instructions that, when executed by the means for processing, cause the system to perform a method, the method comprising:

generating a first application process;

generating, based on generating the first application process, a first thread of the first application process;

accessing, by the first application process, a first page of the first application process in a first tier of a non-uniform memory access memory; and

locking, by the first thread, the first page against demotion by an operating system,

the first thread being a tier-management thread of the first application process, and

the locking of the first page being based on a service level associated with the first application process, wherein the service level determines a quantity of pages of the first application process to store in the first tier.

20 . The system of claim 19 , wherein the locking of the first page is further based on a first ranking of pages of the first application process, the first ranking of pages including the first page.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2024
From: AMMARI, RAMZI; GARG, MUKESH; KRISHNAMOORTHY, PRAVEEN; CHOI, CHANGHO
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 066177/0874 →
Continuity (2)
Provisional Application 63408783 · Sep 21, 2022
Related Publication 20240094905A1 · Mar 21, 2024
References Cited (27)
US 6128713A · Eisler et al. · 2000 [cited by applicant]
US 6910106B2 · Sechrest et al. · 2005 [cited by applicant]
US 9740631B2 · Shiu · 2017 [cited by applicant]
US 11100091B2 · Padmanabhan et al. · 2021 [cited by applicant]
US 11106600B2 · Loh et al. · 2021 [cited by applicant]
US 11360901B2 · Eom et al. · 2022 [cited by applicant]
US 20100312955A1 · Hwang et al. · 2010 [cited by applicant]
US 20110010514A1 · Benhase · 2011 [cited by examiner]
US 20130111129A1 · Maki et al. · 2013 [cited by applicant]
US 20130290598A1 · Fiske · 2013 [cited by examiner]
US 20140115213A1 · Jacobs et al. · 2014 [cited by applicant]
US 20140115215A1 · Jacobs · 2014 [cited by examiner]
US 20160188490A1 · Samih · 2016 [cited by examiner]
US 20200264786A1 · Mukherjee · 2020 [cited by examiner]
US 20200371700A1 · Stabrawa · 2020 [cited by examiner]
US 20200382590A1 · Yudanov et al. · 2020 [cited by applicant]
US 20210185368A1 · Hao et al. · 2021 [cited by applicant]
US 20220011941A1 · Alverti et al. · 2022 [cited by applicant]
US 20220012184A1 · Arelakis et al. · 2022 [cited by applicant]
US 20220214825A1 · Ganguly et al. · 2022 [cited by applicant]
CN 105975817A · 2016 [cited by applicant]
CN 107408132A · 2017 [cited by applicant]
CN 111177024A · 2020 [cited by applicant]
JP 20161507A · 2016 [cited by applicant]
Panwar, Ashish et al., “Fast Local Page-Tables for Virtualized NUMA Servers with vMitosis,” ASPLOS '21, Apr. 2021, pp. 194-210. [cited by applicant]
EPO Extended European Search Report dated Jan. 26, 2024, issued in Corresponding European Patent Application No. 23198749.6, 8 pages. [cited by applicant]
Chinese Notice of Allowance corresponding to CN Application No. 202311208096.6, dated Jan. 14, 2026 (5 pages). [cited by applicant]