IP Library Granted Patent US 12,373,125
Granted Patent B2
US 12,373,125 · App. 18/204,076 · Granted Jul 29, 2025

Randomization-based protection for memory deduplication

Inventors: Michael Tsirkin (Westford, MA); Uri Lublin (Ra'anana, IL)
Assignee: Red Hat, Inc.
G06F3/0641G06F3/0608G06F3/0673
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,373,125
App. No.
18/204,076
Granted
Jul 29, 2025
Kind
B2
Abstract

Systems, methods, and apparatuses for managing memory usage in virtualized computing environments are provided herein. An example method includes generating a random key, associating the key with a page or range of pages in a memory, and selectively deduplicating pages based upon the key associated with each respective page.

Claims (36)

1. A method, comprising:

generating a key, wherein the key is randomly generated;

associating the key with a page or range of pages in a memory;

selectively deduplicating pages based upon the key associated with each respective page;

reserving the key while a user, virtual machine, container, application, or library is inactive; and

reassociating the key with the user, the virtual machine, the container, the application, or the library responsive to the user, the virtual machine, the container, the application, or the library becoming active again.

2. The method of claim 1 , further comprising associating a category of memory pages with a single key.

3. The method of claim 2 , wherein the category of memory pages is based upon at least one of an originating user, an originating virtual machine, an originating container, an originating application, or an originating library.

4. The method of claim 2 , wherein the associating includes associating at least one category of pages with one of a null key or no key.

5. The method of claim 4 , wherein the deduplicating includes deduplicating pages which are associated with the null key or no key with other pages that have been assigned the null key or no key.

6. The method of claim 1 , wherein the deduplicating includes deduplicating pages that possess a same key with one another, and not deduplicating pages that possess differing keys with one another.

7. The method of claim 1 , wherein the generating and associating is performed by a centralized key managing process.

8. The method of claim 1 , wherein a hypervisor stores data associating the page with the key.

9. A system, comprising:

a first memory; and

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

generate a key, wherein the key is randomly generated;

associate the key with a page or range of pages in a second memory;

selectively deduplicate pages based upon the key associated with each respective page;

reserve the key while a user, virtual machine, container, application, or library is inactive; and

reassociate the key with the user, the virtual machine, the container, the application, or the library responsive to the user, the virtual machine, the container, the application, or the library becoming active again.

10. The system of claim 9 , wherein the first memory and the second memory are a same memory.

11. The system of claim 9 , wherein the processing device is further configured to associate a category of memory pages with a single key.

12. The system of claim 11 , wherein the category of memory pages is based upon at least one of an originating user, an originating virtual machine, an originating container, an originating application, or an originating library.

13. The system of claim 11 , wherein the processing device is configured to assign at least one category of pages one of a null key or no key.

14. The system of claim 13 , wherein the processing device is configured to deduplicate pages that have been assigned the null key or no key with other pages that have been assigned the null key or no key.

15. The system of claim 9 , wherein the processing device is configured to deduplicate pages that possess a same key with one another, and not deduplicate pages that possess differing keys with one another.

16. A non-transitory computer-readable storage medium storing instructions which, when executed by a processing device, cause the processing device to:

generate a key, wherein the key is randomly generated;

associate the key with a page or range of pages in a memory;

selectively deduplicate pages based upon the key associated with each respective page;

reserve the key while a user, virtual machine, container, application, or library is inactive; and

reassociate the key with the user, the virtual machine, the container, the application, or the library responsive to the user, the virtual machine, the container, the application, or the library becoming active again.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further cause the processing device to associate a category of memory pages with a single key.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the category of memory pages is based upon at least one of an originating user, an originating virtual machine, an originating container, an originating application, or an originating library.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further cause the processing device to deduplicate pages that possess a same key with one another, and not deduplicate pages that possess differing keys with one another.

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 May 31, 2023
From: TSIRKIN, MICHAEL; LUBLIN, URI
To: RED HAT, INC.
Reel/Frame 063813/0778 →