IP Library Granted Patent US 12,045,474
Granted Patent B2
US 12,045,474 · App. 17/392,031 · Granted Jul 23, 2024

Efficient dirty page expiration

Inventors: Andrea Arcangeli (New York, NY); Giuseppe Scrivano (Pezzano della Sila, IT); Michael Tsirkin (Haifa, IL)
Assignee: Red Hat, Inc.
G06F3/0631G06F3/0604G06F3/0635G06F3/0659G06F3/067G06F3/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,045,474
App. No.
17/392,031
Granted
Jul 23, 2024
Kind
B2
Abstract

Systems and methods providing efficient dirty memory page expiration. In one implementation, a processing device may identify a storage device. The processing device may determine a value of an indicator associated with the storage device. The indicator may indicate a level of consistency between a volatile memory device and a non-volatile memory device of the storage device. In view of the value of the indicator, the processing device may modify a synchronization timeout value associated with the volatile memory device.

Claims (38)

1. A method comprising:

identifying an instruction to mount a storage device, wherein the instruction comprises a consistency indicator, and wherein the storage device is associated with a build container for creating an application image in a cloud execution environment;

determining a value of the consistency indicator associated with the storage device, wherein the consistency indicator indicates a level of consistency between a volatile memory device and a non-volatile memory device of the storage device; and

setting a plurality of synchronization timeout values associated with the volatile memory device, wherein the synchronization timeout values are based on the value of the consistency indicator, and wherein setting the plurality of synchronization timeout values comprises disabling at least one of the plurality of synchronization timeout values associated with the volatile memory device.

2. The method of claim 1 , wherein a synchronization timeout value of the plurality of synchronization timeout values indicates a rate at which to store one of one or more memory pages of the volatile memory device to the non-volatile memory device.

3. The method of claim 1 , wherein setting the plurality of synchronization timeout values comprises:

setting a value of an access time expiration to a predefined value associated with the volatile memory device, wherein a memory page of the volatile memory device is written to the non-volatile memory device when the value of the access time expiration matches an elapsed time since the memory page was last accessed.

4. The method of claim 1 , wherein setting the plurality of synchronization timeout values comprises:

setting a value of a timestamp expiration to a predefined value associated with the volatile memory device, wherein a memory page of the volatile memory device is written to the non-volatile memory device at a time interval equal to the value of the timestamp expiration.

5. The method of claim 1 , further comprising:

responsive to determining that the volatile memory device has reached a threshold capacity, storing a share of the volatile memory device to the non-volatile memory device.

6. The method of claim 1 , wherein the storage device is mounted by the build container in the cloud execution environment.

7. A system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

identify an instruction to mount a storage device, wherein the instruction comprises a consistency indicator, and wherein the storage device is associated with a build container for creating an application image in a cloud execution environment;

determine a value of the consistency indicator associated with the storage device, wherein the consistency indicator indicates a level of consistency between a volatile memory device and a non-volatile memory device of the storage device; and

set a plurality of synchronization timeout values associated with the volatile memory device, wherein the synchronization timeout values are based on the value of the consistency indicator, and wherein setting the plurality of synchronization timeout values comprises disabling at least one of the plurality of synchronization timeout values associated with the volatile memory device.

8. The system of claim 7 , wherein a synchronization timeout value of the plurality of synchronization timeout values indicates a rate at which to store one of one or more memory pages of the volatile memory device to the non-volatile memory device.

9. The system of claim 7 , wherein to set the plurality of synchronization timeout values comprises:

setting a value of an access time expiration to a predefined value associated with the volatile memory device.

10. The system of claim 7 , wherein to set the plurality of synchronization timeout values comprises:

setting a value of a timestamp expiration to a predefined value associated with the volatile memory device.

11. The system of claim 7 , wherein the processing device is further to:

responsive to determining that the volatile memory device has reached a threshold capacity, store a share of the volatile memory device to the non-volatile memory device.

12. A non-transitory computer-readable media storing instructions that, when executed, cause a processing device to perform operations comprising:

identifying an instruction to mount a storage device, wherein the instruction comprises a consistency indicator, and wherein the storage device is associated with a build container for creating an application image in a cloud execution environment;

determining a value of the consistency indicator associated with the storage device, wherein the consistency indicator indicates a level of consistency between a volatile memory device and a non-volatile memory device of the storage device; and

setting a plurality of synchronization timeout values associated with the volatile memory device, wherein the plurality of synchronization timeout values are based on the value of the consistency indicator, and wherein setting the plurality of synchronization timeout values comprises disabling at least one of the plurality of synchronization timeout values associated with the volatile memory device.

13. The non-transitory computer-readable media of claim 12 , wherein a synchronization timeout value of the plurality of synchronization timeout values indicates a rate at which to store one of one or more memory pages of the volatile memory device to the non-volatile memory device.

14. The non-transitory computer-readable media of claim 12 , wherein setting the plurality of synchronization timeout values comprises:

setting a value of an access time expiration to a predefined value associated with the volatile memory device.

15. The non-transitory computer-readable media of claim 12 , wherein setting the plurality of synchronization timeout values comprises:

setting a value of a timestamp expiration to a predefined value associated with the volatile memory device.

16. The non-transitory computer-readable media of claim 12 , further comprising:

responsive to determining that the volatile memory device has reached a threshold capacity, storing a share of the volatile memory device to the non-volatile memory device.

17. The non-transitory computer-readable media of claim 12 , wherein the storage device is mounted by the build container in the cloud execution environment.

18. The system of claim 7 , wherein the storage device is mounted by the build container in the cloud execution environment.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2021
From: ARCANGELI, ANDREA; SCRIVANO, GIUSEPPE; TSIRKIN, MICHAEL
To: RED HAT, INC.
Reel/Frame 057058/0582 →
Continuity (1)
Related Publication 20230032137A1 · Feb 2, 2023