IP Library Granted Patent US 12,468,634
Granted Patent B2
US 12,468,634 · App. 18/346,698 · Granted Nov 11, 2025

System and method for page mirroring for storage

Inventors: Heekwon Park (San Jose, CA); Jongmin Gim (Pleasanton, CA); Jaemin Jung (San Jose, CA); Changho Choi (San Jose, CA); Yang Seok Ki (Palo Alto, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F12/0882G06F12/0804G06F13/1668
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,468,634
App. No.
18/346,698
Granted
Nov 11, 2025
Kind
B2
Abstract

A system and method for page mirroring for storage. In some embodiments, the method includes: reading first data from a persistent memory device; establishing that the first data is stored in a first cache; and copying the first data from the first cache to a system memory, wherein the persistent memory device supports an external protocol and a memory protocol.

Claims (77)

1 . A method, comprising:

reading first data from a persistent memory device;

determining that the first data is stored in a first cache;

determining that the first data is a candidate for promotion to a system memory based on an access frequency of the first data;

copying the first data from the first cache to the system memory; and

modifying an entry corresponding to the first data in an access table based on the first data being a candidate for promotion,

wherein the persistent memory device supports an external protocol and a memory protocol.

2 . The method of claim 1 , wherein the first data is a page of the persistent memory device.

3 . The method of claim 1 , wherein the determining that the first data is stored in the first cache comprises determining that a page of the persistent memory device containing the first data comprises accessed data.

4 . The method of claim 1 , further comprising:

determining from a page table entry corresponding to the first data that a page of the persistent memory device containing the first data comprises accessed data; and

setting a bit corresponding to the modified entry in an access history table,

wherein the determining that the first data is stored in the first cache comprises determining that the bit is set.

5 . The method of claim 1 , further comprising:

determining from metadata of a page of the persistent memory device containing the first data that the page of the persistent memory device containing the first data comprises accessed data; and

setting a bit corresponding to the modified entry in an access history table,

wherein the determining that the first data is stored in the first cache comprises determining that the bit is set.

6 . The method of claim 1 , further comprising:

determining, by a first process, that a page of the persistent memory device containing the first data comprises accessed data; and

setting, by the first process, a bit corresponding to the modified entry in an access history table,

wherein the determining that the first data is stored in the first cache comprises determining that the bit is set.

7 . The method of claim 1 , further comprising:

determining, by a first process, that a page of the persistent memory device containing the first data comprises accessed data; and

setting, by the first process, a bit corresponding to the modified entry in an access history table,

wherein the determining that the first data is stored in the first cache comprises determining, by a second process, that the bit is set.

8 . The method of claim 1 , further comprising:

determining, by a first process, that a page of the persistent memory device containing the first data comprises accessed data; and

setting, by the first process, a bit corresponding to the modified entry in an access history table,

wherein:

the determining that the first data is stored in the first cache comprises determining, by a second process, that the bit is set, and

the copying of the first data from the first cache to the system memory comprises copying, by the second process, the first data from the first cache to the system memory.

9 . The method of claim 1 , further comprising:

determining that a page of the persistent memory device containing second data is a candidate for promotion to a page cache in the system memory; and

based on a bit corresponding to the modified entry in an access history table entry corresponding to the page, copying the second data from the persistent memory device to the system memory.

10 . The method of claim 1 , further comprising:

determining that a page of the persistent memory device containing second data is a candidate for promotion to a page cache in the system memory; and

based on a bit corresponding to the modified entry in an access history table entry corresponding to the page, copying the second data from the persistent memory device to the system memory using the external protocol.

11 . 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:

reading first data from a persistent memory device, the persistent memory device being operatively connected to the processing circuit;

determining that the first data is stored in a first cache;

determining that the first data is a candidate for promotion to a system memory based on an access frequency of the first data;

copying the first data from the first cache to the system memory; and

modifying an entry corresponding to the first data in an access table based on the first data being a candidate for promotion,

wherein the persistent memory device supports an external protocol and a memory protocol.

12 . The system of claim 11 , wherein the first data is a page of the persistent memory device.

13 . The system of claim 11 , wherein the determining that the first data is stored in the first cache comprises determining that a page of the persistent memory device containing the first data comprises accessed data.

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

determining from a page table entry corresponding to the first data that a page of the persistent memory device containing the first data comprises accessed data; and

setting a bit corresponding to the modified entry in an access history table,

wherein the determining that the first data is stored in the first cache comprises determining that the bit is set.

15 . The system of claim 11 , wherein the method further comprises:

determining from metadata of a page of the persistent memory device containing the first data that the page of the persistent memory device containing the first data comprises accessed data; and

setting a bit corresponding to the modified entry in an access history table,

wherein the determining that the first data is stored in the first cache comprises determining that the bit is set.

16 . The system of claim 11 , wherein the method further comprises:

determining, by a first process, that a page of the persistent memory device containing the first data comprises accessed data; and

setting, by the first process, a bit corresponding to the modified entry in an access history table,

wherein the determining that the first data is stored in the first cache comprises determining that the bit is set.

17 . The system of claim 11 , wherein the method further comprises:

determining, by a first process, that a page of the persistent memory device containing the first data comprises accessed data; and

setting, by the first process, a bit corresponding to the modified entry in an access history table,

wherein the determining that the first data is stored in the first cache comprises determining, by a second process, that the bit is set.

18 . A device, comprising:

a processing circuit;

a first cache, operatively coupled to the processing circuit; and

a system memory, operatively coupled to the processing circuit,

the device being configured to:

read first data from a persistent memory device, the persistent memory device being operatively connected to the processing circuit;

determine that the first data is stored in the first cache;

determine that the first data is a candidate for promotion to the system memory based on an access frequency of the first data; and

copy the first data from the first cache to the system memory; and

modify an entry corresponding to the first data in an access table based on the first data being a candidate for promotion,

wherein the persistent memory device supports an external protocol and a memory protocol.

19 . The device of claim 18 , wherein the first data is a page of the persistent memory device.

20 . The device of claim 18 , wherein the determining that the first data is stored in the first cache comprises determining that a page of the persistent memory device containing the first data comprises accessed data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2025
From: PARK, HEEKWON; GIM, JONGMIN; CHOI, CHANGHO; KI, YANG SEOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 072541/0809 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2025
From: JUNG, JAEMIN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 072541/0830 →
Continuity (2)
Provisional Application 63457357 · Apr 5, 2023
Related Publication 20240338317A1 · Oct 10, 2024
References Cited (16)
US 8799580B2 · Sakashita et al. · 2014 [cited by applicant]
US 10235054B1 · Clark et al. · 2019 [cited by applicant]
US 10248576B2 · Jin et al. · 2019 [cited by applicant]
US 10691614B1 · Subramani · 2020 [cited by examiner]
US 20090182947A1 · van Riel · 2009 [cited by applicant]
US 20200050541A1 · Johannes de Jong et al. · 2020 [cited by applicant]
US 20200151098A1 · Bruce et al. · 2020 [cited by applicant]
US 20200226066A1 · Shifer et al. · 2020 [cited by applicant]
US 20210374056A1 · Malladi et al. · 2021 [cited by applicant]
US 20220075733A1 · Lea · 2022 [cited by applicant]
US 20230014565A1 · Ray · 2023 [cited by examiner]
US 20230019878A1 · Park et al. · 2023 [cited by applicant]
US 20230038517A1 · Natu · 2023 [cited by applicant]
US 20230066951A1 · Sankaranarayanan · 2023 [cited by examiner]
US 20230099831A1 · Soltaniyeh et al. · 2023 [cited by applicant]
EPO Extended European Search Report dated Oct. 1, 2024, issued in corresponding European Patent Application No. 24165414.4 (7 pages). [cited by applicant]