IP Library › Granted Patent US 11,436,157
Granted Patent B2
US 11,436,157 · App. 16/880,003 · Granted Sep 6, 2022

Method and apparatus for accessing storage system

Inventors: Dan Luo (Shenzhen, CN); Wei Zhang (Shenzhen, CN); Jiaotong Zou (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F12/1081G06F12/0822G06F16/144G06F16/156G06F16/1827G06F2212/262G06F2212/7201
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,436,157
App. No.
16/880,003
Granted
Sep 6, 2022
Kind
B2
Abstract

In a solution for accessing a storage system, a client sends, 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 (61)

1. A method implemented by a client and comprising:

receiving a write request comprising a storage address;

querying a mapping relationship of the storage address, wherein the mapping relationship maps the storage address to a first logical address of a first storage device in a first storage node of a storage system;

obtaining a first memory address comprising a start address of a queue of the first storage device;

sending, to the first storage node, a first remote direct memory access write request comprising the first logical address of the first storage device and the first memory address;

accessing, based on the first logical address of the first storage device and the first memory address, the first storage device;

sending, to a management server in the storage system, a first query request comprising an identifier of the first storage node; and

receiving, from the management server in response to the first query request, a first query request response comprising the first memory address.

2. The method of claim 1 , further comprising:

sending, to the first storage node, a second query request comprising an identifier of the first storage device; and

receiving, from the first storage node in response to the second query request, a second query request response comprising the first memory address.

3. The method of claim 1 , wherein the mapping relationship maps the storage address to a first base address of a second storage device in a second storage node of the storage system, and wherein the method further comprises:

sending, to the second storage node, a second remote direct memory access write request comprising the first base address; and

accessing, based on the first base address, the second storage node.

4. The method of claim 3 , wherein the first storage device and the second storage device have a stripe relationship, and wherein the stripe relationship is an erasure coding stripe relationship or a multi-copying stripe relationship.

5. The method of claim 1 , wherein the mapping relationship maps the storage address to a third logical address of a third storage device in a third storage node of the storage system, and wherein the method further comprises:

sending, to the third storage node, a third write request comprising the third logical address; and

accessing, based on the third logical address, the third storage device.

6. The method of claim 5 , wherein the first storage device and the third storage device have a stripe relationship, and wherein the stripe relationship is an erasure coding stripe relationship or a multi-copying stripe relationship.

7. The method of claim 1 , wherein the mapping relationship maps the storage address to a fourth logical address of a fourth storage device in a fourth storage node of the storage system, and wherein the method further comprises:

obtaining a third memory address comprising a start address of a queue of the fourth storage device;

sending, to the fourth storage node, a fourth remote direct memory access write request comprising the third memory address and the fourth logical address; and

accessing, based on the third memory address and the fourth logical address, the fourth storage device.

8. A method for accessing, the method comprising:

receiving, by a storage node in a storage system, a remote direct memory access (RDMA) write request from a client, wherein the RDMA write request comprises a memory address in a memory of the storage node, a logical address of a storage device of the storage node, data, and a storage address for the client by the storage system, wherein the data are to be written to the logical address of the storage device of the storage node, and wherein the storage address maps to the logical address;

sending, by the storage node, the logical address and the data directed to the storage device to the memory address in the memory of the storage node;

receiving, from the client, a query request comprising an identifier of the storage node; and

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

9. A storage node comprising:

a memory comprising a memory address; and

an interface card coupled to the memory and configured to:

receive, from a client, a remote direct memory access write request comprising the memory address of the memory of the storage node, a logical address of a storage device of the storage node, data, and a storage address, wherein the data are to be written to the logical address of the storage device of the storage node, and wherein the storage address maps to the logical address of the storage device of the storage node;

allow access, based on the logical address of the storage device of the storage node and the memory address of the memory of the storage node, to the storage device;

send, for storage at the memory address of the memory of the storage node, the logical address and the data;

receive, from the client, a query request comprising an identifier of the storage node; and

send, to the client, a query request response comprising the memory address.

10. A client comprising:

a processor; and

an interface card coupled to the processor and configured to:

receive a write request comprising a storage address;

query a mapping relationship of the storage address, wherein the mapping relationship maps the storage address to a first logical address of a first storage device in a first storage node of a storage system;

obtain a first memory address comprising a start address of a queue of the first storage device;

send, to the first storage node, a first remote direct memory access write request comprising the first logical address of the first storage device in the first storage node of the storage system and the first memory address;

access, based on the first logical address of the first storage device in the first storage node of the storage system and the first memory address, the first storage device;

send, to a management server in the storage system, a first query request comprising an identifier of the first storage node; and

receive, from the management server in response to the first query request, a first query request response comprising the first memory address.

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

send, to the first storage node, a second query request comprising an identifier of the first storage device; and

receive, from the first storage node in response to the second query request, a second query request response comprising the first memory address.

12. The client of claim 10 , wherein the mapping relationship maps the storage address to a first base address of a second storage device in a second storage node of the storage system, and wherein the interface card is further configured to:

send, to the second storage node, a second remote direct memory access write request comprising the first base address; and

access, based on the first base address, the second storage device.

13. The client of claim 12 , wherein the first storage device and the second storage device have a stripe relationship, and wherein the stripe relationship is an erasure coding stripe relationship or a multi-copying stripe relationship.

14. The client of claim 10 , wherein the mapping relationship maps the storage address to a third logical address of a third storage device in a third storage node of the storage system, and wherein the interface card is further configured to:

send, to the third storage node, a third write request comprising the third logical address; and

access, based on the third logical address, the third storage device.

15. The client of claim 14 , wherein the first storage device and the third storage device have a stripe relationship, and wherein the stripe relationship is an erasure coding stripe relationship or a multi-copying stripe relationship.

16. The client of claim 10 , wherein the mapping relationship maps the storage address to a fourth logical address of a fourth storage device in a fourth storage node of the storage system, and wherein the interface card is further configured to:

obtain a third memory address comprising a start address of a queue of the fourth storage device;

send, to the fourth storage node, a fourth remote direct memory access write request comprising the third memory address and the fourth logical address; and

access, based on the third memory address and the fourth logical address, the fourth storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2020
From: LUO, DAN; ZHANG, WEI; ZOU, JIAOTONG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 052723/0282 →
Continuity (2)
Continuation PCTCN2017118645 · Dec 26, 2017
Related Publication 20200285591A1 · Sep 10, 2020
Cited By (1)
US 12,613,636