IP Library Granted Patent US 11,474,744
Granted Patent B2
US 11,474,744 · App. 17/018,095 · Granted Oct 18, 2022

Method, device, and computer program product for managing memories

Inventors: Chi Chen (Chengdu, CN); Hailan Dong (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/0611G06F3/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 11,474,744
App. No.
17/018,095
Granted
Oct 18, 2022
Kind
B2
Abstract

Techniques for managing memory involve: determining a set of weights corresponding to a plurality of command queues in the memory, each weight indicating the number of commands allowed to be transmitted in a corresponding command queue; detecting whether a transmission delay occurs in the plurality of command queues; and adjusting the set of weights based on a result of the detection. Accordingly, transmission and processing efficiencies of commands in a command queue can be improved, and transmission bandwidth can be used more efficiently.

Claims (47)

1. A method for managing memory, comprising:

determining a set of weights corresponding to a plurality of command queues in the memory, the plurality of command queues all having the same priority and the set of weights comprising a plurality of different individual weights, each weight indicating the number of commands allowed to be transmitted in a corresponding command queue;

detecting whether a transmission delay occurs in the plurality of command queues; and

adjusting the set of weights based on a result of the detection, wherein adjusting the set of weights comprises:

acquiring, according to a determination that the transmission delay does not occur in the plurality of command queues, initial weights corresponding to the plurality of command queues; and

adjusting the set of weights by using the initial weights, wherein adjusting the set of weights by using the initial weights comprises:

determining a current weight of a first command queue in the plurality of command queues from the set of weights; and

increasing the current weight according to a determination that the current weight is lower than the initial weight of the first command queue.

2. The method of claim 1 , wherein detecting whether the transmission delay occurs in the plurality of command queues comprises:

determining a time length required to transmit commands in a first command queue of the plurality of command queues; and

determining, according to a determination that the time length is greater than a threshold time length, that the transmission delay occurs in the first command queue.

3. The method of claim 1 , wherein adjusting the set of weights comprises:

determining, according to a determination that the transmission delay occurs in a first command queue of the plurality of command queues, a first weight corresponding to the first command queue from the set of weights;

determining at least one weight lower than the first weight from the set of weights; and

decreasing the at least one weight.

4. An electronic device, comprising:

at least one processing unit; and

memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, wherein when executed by the at least one processing unit, the instructions cause the electronic device to perform actions comprising:

determining a set of weights corresponding to a plurality of command queues in the memory, the plurality of command queues all having the same priority and the set of weights comprising a plurality of different individual weights, each weight indicating the number of commands allowed to be transmitted in a corresponding command queue;

detecting whether a transmission delay occurs in the plurality of command queues; and

adjusting the set of weights based on a result of the detection, wherein adjusting the set of weights comprises:

acquiring, according to a determination that the transmission delay does not occur in the plurality of command queues, initial weights corresponding to the plurality of command queues; and

adjusting the set of weights by using the initial weights, wherein adjusting the set of weights by using the initial weights comprises:

determining a current weight of a first command queue in the plurality of command queues from the set of weights; and

increasing the current weight according to a determination that the current weight is lower than the initial weight of the first command queue.

5. The electronic device of claim 4 , wherein detecting whether the transmission delay occurs in the plurality of command queues comprises:

determining a time length required to transmit commands in a first command queue of the plurality of command queues; and

determining, according to a determination that the time length is greater than a threshold time length, that the transmission delay occurs in the first command queue.

6. The electronic device of claim 4 , wherein adjusting the set of weights comprises:

determining, according to a determination that the transmission delay occurs in a first command queue of the plurality of command queues, a first weight corresponding to the first command queue from the set of weights;

determining at least one weight lower than the first weight from the set of weights; and

decreasing the at least one weight.

7. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage memory; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

determining a set of weights corresponding to a plurality of command queues in the memory, the plurality of command queues all having the same priority and the set of weights comprising a plurality of different individual weights, each weight indicating the number of commands allowed to be transmitted in a corresponding command queue;

detecting whether a transmission delay occurs in the plurality of command queues; and

adjusting the set of weights based on a result of the detection, wherein adjusting the set of weights comprises:

acquiring, according to a determination that the transmission delay does not occur in the plurality of command queues, initial weights corresponding to the plurality of command queues; and

adjusting the set of weights by using the initial weights, wherein adjusting the set of weights by using the initial weights comprises:

determining a current weight of a first command queue in the plurality of command queues from the set of weights; and

increasing the current weight according to a determination that the current weight is lower than the initial weight of the first command queue.

8. The method of claim 1 , wherein the plurality of queues include a user I/O command queue and a reconstruction I/O command queue, and further comprising:

in response to detecting that a transmission delay occurs in the user I/O command queue, decreasing a weight corresponding to the reconstruction I/O command queue.

9. The method of claim 8 , wherein the plurality of queues further includes a replication I/O command queue, and further comprising:

further in response to detecting that a transmission delay occurs in the user I/O command queue, also decreasing a weight corresponding to the replication I/O command queue.

10. The method of claim 2 , wherein detecting whether the transmission delay occurs in the plurality of queues further comprises:

determining a time length required to transmit commands in a second command queue of the plurality of command queues; and

determining, according to a determination that the time length is not greater than the threshold time length, that the transmission delay does not occur in the second command queue.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2020
From: CHEN, CHI; DONG, HAILAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054050/0548 →