IP Library Granted Patent US 11,321,021
Granted Patent B2
US 11,321,021 · App. 16/906,832 · Granted May 3, 2022

Method and apparatus of managing mapping relationship between storage identifier and start address of queue of storage device corresponding to the storage identifier

Inventors: Dan Luo (Shenzhen, CN); Yu Liu (Shenzhen, CN); Wei Zhang (Shenzhen, CN); Wei Mao (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F3/067G06F3/061G06F3/0659
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,321,021
App. No.
16/906,832
Granted
May 3, 2022
Kind
B2
Abstract

In a method for managing a storage device in a storage system, a client may send, based on an obtained start address that is of a queue of an NVMe storage device and to which an access request points and an obtained logical address that is of the NVMe storage device and to which the access request points, a remote direct memory access command to a storage node in which the NVMe storage device is located.

Claims (64)

1. A method implemented by a management server of a storage system, the method comprising:

receiving, from a client, a query request comprising a first identifier of a first storage node in the storage system and a second identifier of a second storage node in the storage system, wherein the second storage node is different from the first storage node;

determining, from a first mapping relationship of a mapping table in the management server, that the first identifier maps to a first memory address in a first memory of the first storage node, wherein the first memory address is allocated to a first start address of a first queue of a first storage device in the first storage node;

determining, from a second mapping relationship of the mapping table, that the second identifier maps to a second memory address in a second memory of the second storage node, wherein the second memory address is allocated to a second start address of a second queue of a second storage device in the second storage node, wherein the second queue is different from the first queue; and

sending, to the client in response to the query request, a query request response comprising the first memory address and the second memory address.

2. The method of claim 1 , further comprising:

obtaining, from the first storage node, a first queue message comprising the first identifier and the first memory address;

obtaining, from the second storage node, a second queue message comprising the second identifier and the second memory address;

establishing the first mapping relationship between the first identifier and the first memory address; and

establishing the second mapping relationship between the second identifier and the second memory address.

3. The method of claim 1 , further comprising establishing a lock identifier that locks the first mapping relationship and the second mapping relationship.

4. The method of claim 3 , further comprising:

receiving, from the second storage node, a queue information deletion message comprising the second memory address; and

deleting, in response to the queue information deletion message, the second mapping relationship from the mapping table.

5. The method of claim 1 , further comprising:

obtaining, from the first storage node, a third queue message comprising the first identifier and a third memory address comprising a third start address of a third queue of a third storage device in the first storage node; and

establishing a third mapping relationship that maps the first identifier to the third memory address.

6. The method of claim 1 , further comprising:

detecting that communication with the first storage node is interrupted; and

deleting, in response to the detecting, the first mapping relationship.

7. The method of claim 6 , further comprising further detecting that the communication is interrupted when a heartbeat of the first storage node is not received within a predetermined time.

8. A management server in a storage system, the management server comprising:

a memory configured to store instructions; and

a processor coupled to the memory and configured to execute the instructions to:

receive, from a client, a query request comprising a first identifier of a first storage node in the storage system and a second identifier of a second storage node in the storage system, wherein the second storage node is different from the first storage node;

determine, from a first mapping relationship of a mapping table in the management server, that the first identifier maps to a first memory address in a first memory of the first storage node, wherein the first memory address is allocated to a first start address of a first queue of a first storage device in the first storage node;

determine, from a second mapping relationship of the mapping table, that the second identifier maps to a second memory address in a second memory of the second storage node, wherein the second memory address is allocated to a second start address of a second queue of a second storage device in the second storage node, wherein the second queue is different from the first queue; and

send, to the client in response to the query request, a query request response comprising the first memory address and the second memory address.

9. The management server of claim 8 , wherein the processor is further configured to:

obtain, from the first storage node, a first queue message comprising the first identifier and the first memory address;

obtain, from the second storage node, a second queue message comprising the second identifier and the second memory address;

establish the first mapping relationship between the first identifier and the first memory address;

and establish the second mapping relationship between the second identifier and the second memory address.

10. The management server of claim 8 , wherein the processor is further configured to establish a lock identifier that locks the first mapping relationship and the second mapping relationship.

11. The management server of claim 10 , wherein the processor is further configured to:

receive, from the second storage node, a queue information deletion message comprising the second memory address; and

delete, in response to the queue information deletion message, the second mapping relationship from the mapping table.

12. The management server of claim 8 , wherein the processor is further configured to:

obtain, from the first storage node, a third queue message comprising the first identifier and a third memory address comprising a third start address of a third queue of a third storage device in the first storage node; and

establish a third mapping relationship that maps the first identifier to the third memory address.

13. The management server of claim 8 , wherein the processor is further configured to:

detect that communication with the first storage node is interrupted; and

delete, in response to the detecting, the first mapping relationship.

14. The management server of claim 13 , wherein the processor is further configured to further detect that the communication is interrupted when a heartbeat of the first storage node is not received within a predetermined time.

15. A non-transitory computer-readable medium comprising instructions that, when executed by a processor, cause a management server in a storage system to:

receive, from a client, a query request comprising a first identifier of a first storage node in the storage system and a second identifier of a second storage node in the storage system, wherein the second storage node is different from the first storage node;

determine, from a first mapping relationship of a mapping table in the management server, that the first identifier maps to a first memory address in a first memory of the first storage node, wherein the first memory address is allocated to a first start address of a first queue of a first storage device in the first storage node;

determine, from a second mapping relationship of the mapping table, that the second identifier maps to a second memory address in a second memory of the second storage node, wherein the second memory address is allocated to a second start address of a second queue of a second storage device in the second storage node, wherein the second queue is different from the first queue;

and send, to the client in response to the query request, a query request response comprising the first memory address and the second memory address.

16. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processor, further cause the management server to:

obtain, from the first storage node, a first queue message comprising the first identifier and the first memory address;

obtain, from the second storage node, a second queue message comprising the second identifier and the second memory address;

establish the first mapping relationship between the first identifier and the first memory address;

and establish the second mapping relationship between the second identifier and the second memory address.

17. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processor, further cause the management server to establish a lock identifier that locks the first mapping relationship and the second mapping relationship.

18. The non-transitory computer-readable medium of claim 17 , wherein the instructions, when executed by the processor, further cause the management server to:

receive, from the second storage node, a queue information deletion message comprising the second memory address;

and delete, in response to the queue information deletion message, the second mapping relationship from the mapping table.

19. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processor, further cause the management server to:

obtain, from the first storage node, a third queue message comprising the first identifier and a third memory address comprising a third start address of a third queue of a third storage device in the first storage node;

and establish a third mapping relationship that maps the first identifier to the third memory address.

20. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processor, further cause the management server to:

detect that communication with the first storage node is interrupted when a heartbeat of the first storage node is not received within a predetermined time;

and delete, in response to the detecting, the first mapping relationship.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2020
From: LUO, DAN; LIU, YU; ZHANG, WEI; MAO, WEI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 054048/0474 →
Continuity (2)
Continuation PCTCN2017118642 · Dec 26, 2017
Related Publication 20200320014A1 · Oct 8, 2020
Cited By (1)
US 12,613,636