IP Library › Granted Patent US 12,499,054
Granted Patent B2
US 12,499,054 · App. 17/986,889 · Granted Dec 16, 2025

Systems, methods, and apparatus for accessing data in versions of memory pages

Inventors: Da Zhang (Blacksburg, VA); Jing Yang (San Jose, CA); Tong Zhang (Mountain View, CA); Shuyi Pei (Santa Clara, CA); Rekha Pitchumani (Oak Hill, VA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F12/0891G06F12/0804G06F2212/1024
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,499,054
App. No.
17/986,889
Granted
Dec 16, 2025
Kind
B2
Abstract

An apparatus may include at least one memory, and at least one processor configured to determine an accessibility of a first version of a page, wherein the first version of the page may be stored in the at least one memory, and perform, based on the accessibility of the first version of the page, an access of at least a portion of a second version of the page, wherein the second version of the page is stored in the at least one memory. The accessibility of the first version of the page may be based on an erase operation of the first version of the page. The access of the at least a portion of the second version of the page may include an access of a cache line of the second version of the page.

Claims (39)

1 . A method comprising:

determining an accessibility of a first version of a page, wherein the first version of the page is stored in at least one memory; and

accessing, based on the accessibility of the first version of the page, at least a portion of a second version of the page, wherein the second version of the page is stored in the at least one memory, wherein a part of the first version of the page is the same as a part of the second version of the page and a bitmap data structure is used to determine that the part of the first version of the page and the part of the second version are the same, the bitmap data structure indicating a status of one or more cache lines of the second version of the page and one or more cache lines of the first version of the page.

2 . The method of claim 1 , further comprising determining a modification status of a portion of the first version of the page, wherein the accessing the at least a portion of the second version of the page comprises accessing a portion of the second version of the page corresponding to the portion of the first version of the page.

3 . An apparatus comprising:

at least one memory; and

at least one processor configured to:

determine an accessibility of a first version of a page, wherein the first version of the page is stored in the at least one memory; and

perform, based on the accessibility of the first version of the page, an access of at least a portion of a second version of the page, wherein the second version of the page is stored in the at least one memory, wherein a part of the first version of the page is the same as a part of the second version of the page and a bitmap data structure is used to determine that the part of the first version of the page and the part of the second version are the same, the bitmap data structure indicating a status of one or more cache lines of the second version of the page and one or more cache lines of the first version of the page.

4 . The apparatus of claim 3 , wherein the accessibility of the first version of the page is based on an erase operation of the first version of the page.

5 . The apparatus of claim 3 , wherein the accessibility of the first version of the page is based on an amount of accesses of the first version of the page.

6 . The apparatus of claim 5 , wherein the accessibility of the first version of the page is further based on an amount of accesses of the second version of the page.

7 . The apparatus of claim 3 , wherein the access of the at least a portion of the second version of the page comprises an access of a cache line of the second version of the page.

8 . The apparatus of claim 3 , wherein the access of the at least a portion of the second version of the page is based on a modification status of the first version of the page.

9 . The apparatus of claim 8 , wherein:

the access of the at least a portion of the second version of the page comprises an access of a portion of the second version of the page; and

the modification status of the first version of the page is based on a modification status of a portion of the first version of the page corresponding to the portion of the second version of the page.

10 . The apparatus of claim 9 , wherein:

the portion of the first version of the page comprises a cache line of the first version of the page; and

the portion of the second version of the page comprises a cache line of the second version of the page corresponding to the cache line of the first version of the page.

11 . The apparatus of claim 3 , wherein the at least one processor is configured to track a modification status of the at least a portion of the second version of the page.

12 . The apparatus of claim 3 , wherein the access of the at least a portion of the second version of the page comprises a read operation.

13 . The apparatus of claim 3 , wherein the at least one processor is configured to:

store, in a first superblock, the first version of the page; and

store, in a second superblock, the second version of the page.

14 . The apparatus of claim 3 , further comprising a cache configured to store the first version of the page, wherein the at least one processor is configured to track a modification status of the first version of the page.

15 . The apparatus of claim 14 , wherein the at least one processor is configured to evict the first version of the page based on the modification status of the first version of the page.

16 . The apparatus of claim 3 , wherein:

the apparatus comprises a storage device; and

the at least one memory comprises at least one storage media.

17 . The apparatus of claim 16 , wherein the storage device is configured to operate in a coherent memory mode.

18 . An apparatus comprising:

at least one memory; and

at least one processor configured to:

store a first version of a page in at least one memory;

store a second version of the page in the at least one memory; and

track a modification status of at least a portion of the first version of the page, wherein a part of the first version of the page is the same as a part of the second version of the page and a bitmap data structure is used to determine that the part of the first version of the page and the part of the second version are the same, the bitmap data structure indicating a status of one or more cache lines of the second version of the page and one or more cache lines of the first version of the page.

19 . The apparatus of claim 18 , wherein the modification status of the at least a portion of the first version of the page comprises a modification status of a portion of the first version of the page.

20 . The apparatus of claim 19 , wherein the portion of the first version of the page comprises a cache line.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2023
From: ZHANG, DA; YANG, JING; ZHANG, TONG; PEI, SHUYI; PITCHUMANI, REKHA
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 064882/0058 →
Continuity (2)
Provisional Application 63400041 · Aug 22, 2022
Related Publication 20240061786A1 · Feb 22, 2024
References Cited (22)
US 8296498B2 · Gorobets et al. · 2012 [cited by applicant]
US 8364886B2 · Goss · 2013 [cited by applicant]
US 8464095B1 · Bonwick · 2013 [cited by examiner]
US 8504798B2 · Conley et al. · 2013 [cited by applicant]
US 10635609B2 · Olarig et al. · 2020 [cited by applicant]
US 20050141313A1 · Gorobets et al. · 2005 [cited by applicant]
US 20130019057A1 · Stephens · 2013 [cited by examiner]
US 20140143474A1 · Damle · 2014 [cited by examiner]
US 20150212937A1 · Stephens · 2015 [cited by applicant]
US 20160314161A1 · Wen et al. · 2016 [cited by applicant]
US 20170286297A1 · Voigt · 2017 [cited by examiner]
US 20210124532A1 · Shabi · 2021 [cited by examiner]
US 20210157723A1 · Byun · 2021 [cited by applicant]
US 20210182208A1 · Palmer · 2021 [cited by examiner]
US 20210303522A1 · Periyagaram et al. · 2021 [cited by applicant]
AU 6949600A · 2001 [cited by applicant]
CN 113590502A · 2021 [cited by applicant]
EP 1913480B1 · 2010 [cited by applicant]
EP 3552108B1 · 2021 [cited by applicant]
KR 20210106597A · 2021 [cited by applicant]
WO 2008150927A2 · 2008 [cited by applicant]
Abulila, Ahmed et al., “Flatflash: Exploiting the Byte-Accessibility of SSDs Within a Unified Memory-Storage Hierarchy,” Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming… [cited by applicant]