IP Library Granted Patent US 9,928,245
Granted Patent B2
US 9,928,245 · App. 14/143,312 · Granted Mar 27, 2018

Method and apparatus for managing memory space

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 9,928,245
App. No.
14/143,312
Granted
Mar 27, 2018
Kind
B2
Abstract

Embodiments of the present invention relate to a method, apparatus and computer product for managing memory space. In one aspect of the present invention, there is provided a method for managing memory space that is organized into pages, the pages being divided into a plurality of page sets, each page set being associated with one of a plurality of upper-layer systems, by: performing state monitoring to the plurality of upper-layer systems to assign priorities to the plurality of upper-layer systems; and determining an order of releasing the pages of the memory space based on the priorities of the plurality of upper-layer systems with the page sets as units. Other aspects and embodiments of invention are also disclosed.

Claims (50)

1. A method for managing, memory space, the method comprising:

monitoring a plurality of upper-layer systems using a memory space, wherein the memory space is organized into a plurality of pages, and each of the plurality of pages being further subdivided into a plurality of page sets and each page set of the plurality of page sets being associated with one of the plurality of upper-layer systems;

assigning priorities to the plurality of upper-layer systems, wherein higher priorities are enabled to be assigned to upper-layer systems which perform operations more frequently;

augmenting priorities of the plurality of upper-layer systems based on a snapshot weight of each of the upper-layer systems; and

based on the priorities assigned to each of the plurality of upper-layer system, defining an order of release of the pages in the memory space, wherein usage of the memory space is enabled to be reduced by releasing of the pages in the memory space, wherein the releasing of the pages in the memory space is enabled to be executed at a rate based on whether usage of memory space has exceeded threshold amounts of usage.

2. The method as claimed in claim 1 , wherein for each of the plurality of page sets,

determining a release order within the page set based on a most recent usage situation of the pages in the page set.

3. The method as claimed in claim 2 further comprising:

determining a page release amount for each of the page sets based on the order of release of the pages of the memory space.

4. The method as claimed in claim 3 , wherein determining the page release amount comprises:

determining a ratio between released pages of each of the page sets to the memory space quota.

5. The method as claimed in claim 3 , further comprising:

setting a threshold for the memory space quota; and

determining the page release amount by comparing a memory space usage amount in each page set with the threshold.

6. The method as claimed in claim 5 , wherein the threshold comprises an upper threshold and a lower threshold.

7. The method as claimed in claim 1 , wherein the plurality of page sets share a memory space quota.

8. The method as claimed in claim 1 , wherein monitoring the plurality of upper-layer systems comprises monitoring at least one of a snapshot count within a predetermined period or a memory consumption of the snapshots, or a predefined QoS parameter.

9. The method as claimed in claim 1 , wherein the upper-layer systems comprise at least one of a file system or a virtual machine system.

10. A computer program product for managing memory space, the computer program product comprising:

a non-transitory computer readable medium encoded with computer-executable code, the code configured to enable the execution of:

monitoring a plurality of upper-layer systems using a memory space, wherein the memory space is organized into a plurality of pages, and each of the plurality of pages being further subdivided into a plurality of page sets and each page set of the plurality of page sets being, associated with one of the plurality of upper-layer systems;

assigning priorities to the plurality of upper-layer systems, wherein higher priorities are enabled to be assigned to upper-layer systems which perform operations more frequently;

augmenting priorities of the plurality of upper-layer systems based on a snapshot weight of each of the upper-layer systems; and

based on the priorities assigned to the upper-layer system, defining an order of release of the pages in the memory space, wherein usage of the memory space is enabled to be reduced by releasing of the pages in the memory space, wherein the releasing of the pages in the memory space is enabled to be executed at a rate based on whether usage of memory space has exceeded threshold amounts of usage.

11. The computer program product as claimed in claim 10 , wherein the code is further configured to enable the execution of:

determining a release order within the page set based on a most recent usage situation of the pages in the page set, for the page set associated with the one of the upper-layer systems, and wherein the plurality of page sets share a memory space quota.

12. The computer program product as claimed in claim 11 , wherein the code is further configured to enable the execution of:

determining a page release amount for each of the page sets based on the order of release of the pages of the memory space, and determining the page release amount further comprises:

determining, a ratio between released pages of each of the page sets to the memory space quota;

setting a threshold for the memory space quota; and

determining the page release amount by comparing a memory space usage amount in each page set with the threshold, wherein the threshold comprises a upper threshold and a lower threshold.

13. The computer program product as claimed in claim 10 , wherein monitoring the plurality of upper-layer systems comprises monitoring at least one of a snapshot count within a predetermined period or a memory consumption of the snapshots, or a predefined QoS parameter, and wherein the upper-layer systems comprise at least one of a file system or a virtual machine system.

14. A System, comprising:

a data storage system including a memory space, wherein the memory space is organized into a plurality of pages, and each of the plurality of pages being further subdivided into a plurality of page sets and each page set being associated with one of a plurality of upper layer systems; and

computer-executable program logic encoded in memory of one or more computers enabled to manage memory space, wherein the computer-executable program logic is configured for the execution of:

monitoring the plurality of upper-layer systems;

assigning priorities to the plurality of upper-layer systems, wherein higher priorities are enabled to be assigned to upper-layer systems which perform operations more frequently;

augmenting priorities of the plurality of upper-layer systems based on a snapshot weight of each of the upper-layer systems; and

based on the priorities assigned to the upper-layer system, defining an order of release of the pages in the memory space, wherein usage of the memory space is enabled to be reduced by releasing of the pages in the memory space, wherein the releasing of the pages in the memory space is enabled to be executed at a rate based on whether usage of memory space has exceeded threshold amounts of usage.

15. The method as claimed in claim 14 , wherein for each of the plurality of page sets associated with each of the upper-layer systems,

determining a release order within the page set based on a most recent usage situation of the pages in the page set.

16. The System as claimed in claim 15 wherein the computer-executable program logic is further configured for the execution of:

determining a page release amount for each of the page sets based on the order of release of the pages of the memory space.

17. The System as claimed in claim 16 , wherein determining the page release amount comprises:

determining a ratio between released pages of each of the page sets to the memory space quota.

18. The System as claimed in claim 16 , wherein the computer-executable program logic is further configured for the execution of:

setting a threshold for the memory space quota; and

determining the page release amount by comparing a memory space usage amount in each page set with the threshold.

19. The System as claimed in claim 18 , wherein the threshold comprises an upper threshold and a lower threshold.

20. The System as claimed in claim 14 , wherein the plurality of page sets share a memory space quota.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (046366/0014) Recorded May 20, 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 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 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 058298/0093 →
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 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
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 046366/0014 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2016
From: QI, WEI; ZHAO, JUNPING; HU, FENGHUA; XIE, GANG; YANG, JIALIN
To: EMC CORPORATION
Reel/Frame 039169/0132 →