IP Library Granted Patent US 11,755,470
Granted Patent B2
US 11,755,470 · App. 16/525,337 · Granted Sep 12, 2023

System and method for reduced lock contention and improved performance

Inventors: William C. Davenport (San Diego, CA); Dixitkumar Vishnubhai Patel (Monroe, NJ)
Assignee: EMC IP Holding Company, LLC
G06F12/0238G06F9/5016G06F12/1009
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,470
App. No.
16/525,337
Granted
Sep 12, 2023
Kind
B2
Abstract

A method, computer program product, and computer system for setting a preferred alignment value to a size of an address space mapped by one or more root pages. An allocation request may be received for the address space. A binary buddy allocation scheme may be executed to allocate an extent for the allocation request based upon, at least in part, the preferred alignment value.

Claims (27)

1. A computer-implemented method comprising:

setting a preferred alignment value to a size of an address space mapped by one or more root pages, wherein the address space includes one or more volumes, and wherein each volume of the one or more volumes is distributed to a different root indirect block page of the one or more root pages based upon, at least in part, the preferred alignment value being set to the size of the address space mapped by the one or more root pages;

receiving an allocation request for the address space; and

executing a binary buddy allocation scheme to allocate an extent for the allocation request based upon, at least in part, the preferred alignment value, wherein executing the binary buddy allocation scheme includes

searching allocatable blocks in the address space to determine if the extent matches the preferred alignment value.

2. The computer-implemented method of claim 1 wherein a remainder of the address space associated with the extent is freed.

3. The computer-implemented method of claim 1 further comprising one of iteratively splitting the extent into smaller blocks when the extent matches the preferred alignment value and iteratively splitting a larger extent with a larger alignment value into smaller blocks when the extent does not match the preferred alignment value.

4. The computer-implemented method of claim 1 further comprising utilizing a next smaller power of the preferred alignment value when the extent does not match the preferred alignment value.

5. The computer-implemented method of claim 1 further comprising adding additional volumes to the one or more volumes, wherein the additional volumes created in the address space are spread uniformly through the one or more root pages.

6. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising:

setting a preferred alignment value to a size of an address space mapped by one or more root pages, wherein the address space includes one or more volumes, and wherein each volume of the one or more volumes is distributed to a different root indirect block page of the one or more root pages based upon, at least in part, the preferred alignment value being set to the size of the address space mapped by the one or more root pages;

receiving an allocation request for the address space; and

executing a binary buddy allocation scheme to allocate an extent for the allocation request based upon, at least in part, the preferred alignment value, wherein executing the binary buddy allocation scheme includes

searching allocatable blocks in the address space to determine if the extent matches the preferred alignment value.

7. The computer program product of claim 6 wherein a remainder of the address space associated with the extent is freed.

8. The computer program product of claim 6 wherein the operations further comprise one of iteratively splitting the extent into smaller blocks when the extent matches the preferred alignment value and iteratively splitting a larger extent with a larger alignment value into smaller blocks when the extent does not match the preferred alignment value.

9. The computer program product of claim 6 wherein the operations further comprise utilizing a next smaller power of the preferred alignment value when the extent does not match the preferred alignment value.

10. The computer program product of claim 6 further comprising adding additional volumes to the one or more volumes, wherein the additional volumes created in the address space are spread uniformly through the one or more root pages.

11. A computing system including one or more processors and one or more memories configured to perform operations comprising:

setting a preferred alignment value to a size of an address space mapped by one or more root pages, wherein the address space includes one or more volumes, and wherein each volume of the one or more volumes is distributed to a different root indirect block page of the one or more root pages based upon, at least in part, the preferred alignment value being set to the size of the address space mapped by the one or more root pages;

receiving an allocation request for the address space; and

executing a binary buddy allocation scheme to allocate an extent for the allocation request based upon, at least in part, the preferred alignment value, wherein executing the binary buddy allocation scheme includes

searching allocatable blocks in the address space to determine if the extent matches the preferred alignment value.

12. The computing system of claim 11 wherein a remainder of the address space associated with the extent is freed.

13. The computing system of claim 11 wherein the operations further comprise one of iteratively splitting the extent into smaller blocks when the extent matches the preferred alignment value and iteratively splitting a larger extent with a larger alignment value into smaller blocks when the extent does not match the preferred alignment value.

14. The computing system of claim 11 wherein the operations further comprise utilizing a next smaller power of the preferred alignment value when the extent does not match the preferred alignment value.

15. The computing system of claim 11 wherein the operations further comprise adding additional volumes to the one or more volumes, wherein the additional volumes created in the address space are spread uniformly through the one or more root pages.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2019
From: DAVENPORT, WILLIAM C.; PATEL, DIXITKUMAR VISHNUBHAI
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 049893/0690 →