IP Library Granted Patent US 11,531,478
Granted Patent B1
US 11,531,478 · App. 17/341,055 · Granted Dec 20, 2022

Optimizing memory usage to enable larger-sized deployments and client servicing

Inventors: Gokul Thiruchengode Vajravel (Bangalore, IN); Vishal Kumar Singh (East Singhbum, IN)
Assignee: Dell Products L.P.
G06F3/0631G06F3/061G06F3/0679G06F9/5016
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,531,478
App. No.
17/341,055
Granted
Dec 20, 2022
Kind
B1
Abstract

Memory usage can be optimized during an imaging process to enable larger-sized deployments and client servicing. A variety of components can be employed on a computing device to present a hybrid virtual volume to the operating system during an imaging process. The hybrid virtual volume will appear to the operating system as having a large size while consuming minimal amounts of memory and disk. As a result, the risk of the imaging process failing for lack of resources will be minimized even when the image is large.

Claims (51)

1. A method for optimizing resource usage during an imaging process, the method comprising:

maintaining, by an I/O helper service, an allocation bitmap and a location bitmap for a virtual volume, the virtual volume encompassing memory and a disk of a computing device, the allocation bitmap and the location bitmap each including bits that correspond with logical cluster numbers of the virtual volume;

in response to a first I/O request that attempts to write a file to the virtual volume, causing the file to be stored on the virtual volume by writing the file to the memory; and

updating the allocation bitmap and the location bitmap to indicate that the file is stored in the memory.

2. The method of claim 1 , wherein updating the allocation bitmap and the location bitmap to indicate that the file is stored in the memory comprises setting a first bit in the allocation bitmap, the first bit in the allocation bitmap corresponding with a first logical cluster number of the virtual volume.

3. The method of claim 2 , wherein updating the allocation bitmap and the location bitmap to indicate that the file is stored in the memory further comprises setting a first bit in the location bitmap, the first bit in the location bitmap corresponding with the first logical cluster number of the virtual volume.

4. The method of claim 3 , further comprising:

creating a mapping between the first logical cluster number and a particular address in the memory where the file is stored.

5. The method of claim 4 , wherein the mapping is created in a hash table.

6. The method of claim 3 , further comprising:

in response to a second I/O request that attempts to read the file, accessing the allocation bitmap and the location bitmap to determine that the file is stored in the memory.

7. The method of claim 4 , further comprising:

in response to a second I/O request that attempts to read the file, accessing the allocation bitmap and the location bitmap to determine that the file is stored in the memory; and

accessing the mapping to determine that the file is stored in the memory at the particular address.

8. The method of claim 7 , further comprising:

reading content of the file stored in the memory at the particular address to complete the second I/O request.

9. The method of claim 1 , further comprising:

in response to a second I/O request that attempts to write a second file to the virtual volume, causing the second file to be stored on the virtual volume by writing the second file to the disk; and

updating the allocation bitmap and the location bitmap to indicate that the second file is stored on the disk.

10. The method of claim 9 , wherein the second file is stored in a sparse file on the disk.

11. The method of claim 9 , wherein the second file is caused to be stored on the virtual volume by writing the second file to the disk in response to determining that consumption of the memory exceeds a threshold.

12. The method of claim 9 , further comprising:

in response to a third I/O request that attempts to delete the second file from the virtual volume, accessing the allocation bitmap and the location bitmap to determine that the second file is stored on the disk;

determining that the second file is stored on the disk at a particular address; and

freeing the particular address on the disk.

13. The method of claim 12 , wherein freeing the particular address on the disk comprises issuing an FSCTL_SET_ZERO_DATA command.

14. The method of claim 1 , further comprising:

reparsing the first I/O request.

15. One or more computer storage media storing computer executable instructions which when executed on a computing device implement a method for optimizing resource usage during an imaging process, the method comprising:

maintaining an allocation bitmap and a location bitmap for a virtual volume, the virtual volume encompassing memory and a disk of a computing device, the allocation bitmap and the location bitmap each including bits that correspond with logical cluster numbers of the virtual volume;

receiving a first I/O request that attempts to write a first file to the virtual volume;

determining that the first file should be written to the virtual volume by storing the first file on the disk of the computing device, rather than in the memory of the computing device; and

in conjunction with storing the first file on the disk, updating the location bitmap to identify that the first file is stored on the disk rather than in memory.

16. The computer storage media of claim 15 , wherein the method further comprises:

in conjunction with updating the location bitmap, mapping an address representing where the first file is stored on the disk to a logical cluster number of the first file.

17. The computer storage media of claim 16 , wherein the method further comprises:

receiving a second I/O request that attempts to read the first file on the virtual volume;

accessing the location bitmap to determine that the first file is stored on the disk;

accessing the mapping to obtain the address; and

reading the first file using the address.

18. The computer storage media of claim 17 , wherein the first file is stored as part of a sparse file on the disk.

19. The computer storage media of claim 18 , wherein the method further comprises:

receiving a third I/O request that attempts to delete the first file from the virtual volume;

accessing the location bitmap to determine that the first file is stored on the disk;

accessing the mapping to obtain the address; and

deleting the first file by causing a range of the sparse file to be filled with zeros, the range being defined by the address.

20. A method for optimizing resource usage during an imaging process, the method comprising:

maintaining an allocation bitmap and a location bitmap for a virtual volume, the virtual volume encompassing memory and a disk of computing device, the allocation bitmap and the location bitmap each including bits that correspond with logical cluster numbers of the virtual volume;

setting the bits in the allocation bitmap to define whether each of the plurality of logical cluster numbers of the virtual volume is allocated;

setting the bits in the location bitmap to define whether allocated logical cluster numbers of the plurality of logical cluster numbers are allocated in memory or on disk; and

handling I/O requests using the allocation bitmap and the location bitmap.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) 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/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) 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/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) 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 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 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 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 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 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 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 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2021
From: VAJRAVEL, GOKUL THIRUCHENGODE; SINGH, VISHAL KUMAR
To: DELL PRODUCTS L.P.
Reel/Frame 056459/0429 →