IP Library Granted Patent US 11,755,233
Granted Patent B2
US 11,755,233 · App. 17/239,243 · Granted Sep 12, 2023

System and method for memory management using memory device cleansing

Inventors: Vamsi K. Vankamamidi (Hopkinton, MA); Bruce E. Caram (Hudson, MA); Ajay Karri (South Grafton, MA); Alexei Karaban (Northborough, MA)
Assignee: EMC IP Holding Company, LLC
G06F3/0652G06F3/0604G06F3/0679G06F12/023
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 11,755,233
App. No.
17/239,243
Granted
Sep 12, 2023
Kind
B2
Abstract

A method, computer program product, and computing system for identifying a first memory device source that includes first content; identifying a second memory device source that include second content; and initiating a first iteration of a memory device cleansing procedure wherein first content and at least a first portion of the second content are moved to a first unused memory device.

Claims (57)

1. A computer-implemented method, executed on a computing device, comprising:

identifying a first memory device source that includes first content;

identifying a second memory device source that include second content; and

initiating a first iteration of a memory device cleansing procedure wherein the first content and at least a first portion of the second content are moved to a first unused memory device to generate an unutilized memory device source,

wherein the first and the second memory device sources are identified for processing if a utilization level of the first memory device source is compatible with a utilization level of the second memory device source,

wherein one or more of the identifying a first memory device source and a second memory device source includes identifying a backpointer utilization level fora backpointer associated with a respective memory device source based, at least in part, upon an estimated usage of the respective memory device source, and

wherein the backpointer associated with the respective memory device source is configured to map a physical memory space of the respective memory device source to a virtual memory space of the respective memory device source.

2. The computer-implemented method of claim 1 further comprising:

identifying a third memory device source that includes third content; and

initiating a second iteration of the memory device cleansing procedure wherein at least a second portion of the second content and at least a first portion of the third content are moved to a second unused memory device.

3. The computer-implemented method of claim 2 further comprising:

identifying additional memory device sources that include additional content; and

initiating additional iterations of the memory device cleansing procedure wherein portions of the additional content are moved from the additional memory device sources to additional unused memory devices.

4. The computer-implemented method of claim 1 wherein one or more of the identifying a first memory device source and a second memory device source includes:

identifying a utilization level of the respective memory device source.

5. The computer-implemented method of claim 1 wherein one or more of the identifying a first memory device source and a second memory device source includes:

identifying a backpointer utilization level fora backpointer associated with the memory device source based, at least in part, upon an actual usage of the respective memory device source.

6. The computer-implemented method of claim 1 wherein identifying a first or second memory device source includes:

identifying a backpointer utilization level fora backpointer associated with the respective memory device source based, at least in part, upon a mapped page count of the backpointer.

7. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:

identifying a first memory device source that includes first content;

identifying a second memory device source that include second content; and

initiating a first iteration of a memory device cleansing procedure wherein first content and at least a first portion of the second content are moved to a first unused memory device to generate an unutilized memory device source,

wherein the first and the second memory device sources are identified for processing if a utilization level of the first memory device source is compatible with a utilization level of the second memory device source,

wherein one or more of the identifying a first memory device source and a second memory device source includes identifying a backpointer utilization level fora backpointer associated with a respective memory device source based, at least in part, upon an estimated usage of the respective memory device source, and

wherein the backpointer associated with the respective memory device source is configured to map a physical memory space of the respective memory device source to a virtual memory space of the respective memory device source.

8. The computer program product of claim 7 further comprising:

identifying a third memory device source that includes third content; and

initiating a second iteration of the memory device cleansing procedure wherein at least a second portion of the second content and at least a first portion of the third content are moved to a second unused memory device.

9. The computer program product of claim 8 further comprising:

identifying additional memory device sources that include additional content; and

initiating additional iterations of the memory device cleansing procedure wherein portions of the additional content are moved from the additional memory device sources to additional unused memory devices.

10. The computer program product of claim 7 wherein one or more of the identifying a first memory device source and a second memory device source includes:

identifying a utilization level of the respective memory device source.

11. The computer program product of claim 7 wherein one or more of the identifying first memory device source and a second memory device source includes:

identifying a backpointer utilization level fora backpointer associated with the respective memory device source based, at least in part, upon an actual usage of the one or more of the first memory device source and the second memory device source memory device source.

12. The computer program product of claim 7 wherein one or more of the identifying a first memory device source and a second memory device source includes:

identifying a backpointer utilization level fora backpointer associated with the respective memory device source based, at least in part, upon a mapped page count of the backpointer.

13. A computing system including a processor and memory configured to perform operations comprising:

identifying a first memory device source that includes first content;

identifying a second memory device source that include second content; and

initiating a first iteration of a memory device cleansing procedure wherein first content and at least a first portion of the second content are moved to a first unused memory device to generate an unutilized memory device source,

wherein the first and the second memory device sources are identified for processing if a utilization level of the first memory device source is compatible with a utilization level of the second memory device source,

wherein one or more of the identifying a first memory device source and a second memory device source includes identifying a backpointer utilization level fora backpointer associated with a respective memory device source based, at least in part, upon an estimated usage of the respective memory device source, and

wherein the backpointer associated with the respective memory device source is configured to map a physical memory space of the respective memory device source to a virtual memory space of the respective memory device source.

14. The computing system of claim 13 further comprising:

identifying a third memory device source that includes third content; and

initiating a second iteration of the memory device cleansing procedure wherein at least a second portion of the second content and at least a first portion of the third content are moved to a second unused memory device.

15. The computing system of claim 14 further comprising:

identifying additional memory device sources that include additional content; and

initiating additional iterations of the memory device cleansing procedure wherein portions of the additional content are moved from the additional memory device sources to additional unused memory devices.

16. The computing system of claim 13 wherein one or more of the identifying a first memory device source and a second memory device source includes:

identifying a utilization level of the respective memory device source.

17. The computing system of claim 13 wherein one or more of the identifying a first memory device source and a second memory device source includes:

identifying a backpointer utilization level fora backpointer associated with the respective memory device source based, at least in part, upon an actual usage of the respective memory device source.

18. The computing system of claim 13 wherein one or more of the identifying a first memory device source and a second memory device source includes:

identifying a backpointer utilization level fora backpointer associated with the respective memory device source based, at least in part, upon a mapped page count of the backpointer.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2021
From: VANKAMAMIDI, VAMSI K.; CARAM, BRUCE E.; KARRI, AJAY; KARABAN, ALEXEI
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 056026/0405 →