IP Library › Granted Patent US 11,403,227
Granted Patent B2
US 11,403,227 · App. 17/199,492 · Granted Aug 2, 2022

Data storage method and apparatus, and server

Inventors: Chenji Gong (Hangzhou, CN); Chao Zhou (Hangzhou, CN); Junjie Chen (Hangzhou, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F12/0873G06F3/0604G06F3/067G06F3/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,403,227
App. No.
17/199,492
Granted
Aug 2, 2022
Kind
B2
Abstract

This disclosure relates to a data storage method and apparatus, and a server. The method includes receiving, by a first server, a write instruction sent by a second server, storing target data in a cache of a controller, detecting a read instruction for the target data, and storing the target data in a storage medium of a non-volatile memory based on the read instruction. In other words, when the second server needs to write the target data to the first server, the target data is not only written to the cache of the first server, but also written to the storage medium of the first server. This can ensure that the data in the cache is written to the storage medium promptly.

Claims (55)

1. A data storage method implemented via, at least, a first server having a non-volatile memory, the non-volatile memory including a controller and a storage medium, the data storage method comprising:

receiving, by the first server, a write instruction sent by a second server, wherein the first server communicates with the second server through a first network, and the write instruction comprises target data;

storing, by the first server, the target data in a cache of the controller;

detecting, by the first server, a read instruction for the target data, wherein the read instruction is used to instruct the first server to store the target data in the storage medium of the non-volatile memory; and

storing, by the first server, the target data in the storage medium of the non-volatile memory based on the read instruction.

2. The method of claim 1 , wherein the first server further comprises a first network interface card, and detecting the read instruction for the target data comprises:

when the first network interface card determines that the target data is written to the cache, generating, by the first network interface card, the read instruction for the target data; and

detecting, by the controller, the read instruction.

3. The method of claim 2 , wherein after storing the target data in the storage medium, the method further comprises:

sending, by the first server, a first acknowledgment message for the write instruction to the second server.

4. The method of claim 1 , wherein detecting the read instruction for the target data comprises:

when the first server determines that the target data is written to the cache, sending, by the first server, a second acknowledgment message for the write instruction to the second server, to enable the second server to send the read instruction for the target data to the first server when receiving the second acknowledgment message; and

receiving, by the first server, the read instruction for the target data, to enable the first server to detect the read instruction.

5. The method of claim 1 , wherein the read instruction for the target data comprises a storage address of the target data in the cache; and

storing the target data in the storage medium comprises:

obtaining, by the first server, the target data based on the storage address of the target data in the cache, and

storing the obtained target data in the storage medium of the non-volatile memory.

6. The method of claim 1 , wherein the first network comprises a remote direct memory access (RDMA) network, and the non-volatile memory is a storage class memory (SCM).

7. A server system, comprising:

a first server having at least a processor and a non-volatile memory, the non-volatile memory comprising a controller and a storage medium; and

a second server configured to communicate with the first server through a first network,

wherein the first server is configured to:

receive a write instruction sent by the second server, wherein the write instruction comprises target data;

store the target data in a cache of the controller;

detect a read instruction for the target data, wherein the read instruction is used to instruct the first server to store the target data in the storage medium of the non-volatile memory; and

store the target data in the storage medium of the non-volatile memory based on the read instruction.

8. The server system of claim 7 , wherein the first server further comprises a first network interface card, and the first server is further configured to:

generate, when the first network interface card determines that the target data is written to the cache, the read instruction for the target data; and

detect, by the controller, the read instruction.

9. The server system of claim 8 , wherein the first server is further configured to:

send, after the storing, by the first server, the target data in the storage medium of the non-volatile memory based on the read instruction, a first acknowledgment message for the write instruction to the second server.

10. The server system of claim 7 , wherein the first server is further configured to:

send, when the first server determines that the target data is written to the cache, a second acknowledgment message for the write instruction to the second server, to enable the second server to send the read instruction for the target data to the first server when receiving the second acknowledgment message; and

receive the read instruction for the target data, to enable the first server to detect the read instruction.

11. The server system of claim 7 , wherein the read instruction for the target data comprises a storage address of the target data in the cache, and the first server is further configured to:

obtain the target data based on the storage address of the target data in the cache; and

store the obtained target data in the storage medium of the non-volatile memory.

12. The server system of claim 7 , wherein the first network comprises a remote direct memory access (RDMA) network, and the non-volatile memory includes a storage class memory (SCM).

13. A non-transitory computer-readable storage medium storing instructions which, when executed by a computer, cause the computer to provide execution comprising:

receiving, by a first server having a non-volatile memory that includes a controller and a storage medium, a write instruction sent by a second server, wherein the first server communicates with the second server through a first network, and the write instruction comprises target data;

storing the target data in a cache of the controller;

detecting a read instruction for the target data, wherein the read instruction is used to instruct the first server to store the target data in the storage medium of the non-volatile memory; and

storing the target data in the storage medium of the non-volatile memory based on the read instruction.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the computer is further caused to provide execution comprising:

generating, when the first network interface card determines that the target data is written to the cache, the read instruction for the target data; and

detecting the read instruction.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the computer is further caused to provide execution comprising:

sending, after storing the target data in the storage medium of the non-volatile memory based on the read instruction, a first acknowledgment message for the write instruction to the second server.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the computer is further caused to provide execution comprising:

sending, when the first server determines that the target data is written to the cache, a second acknowledgment message for the write instruction to the second server, to enable the second server to send the read instruction for the target data to the first server when receiving the second acknowledgment message; and

receiving the read instruction for the target data, to enable the first server to detect the read instruction.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the computer is further caused to provide execution comprising:

obtaining the target data based on the storage address of the target data in the cache; and

storing the obtained target data in the storage medium of the non-volatile memory, wherein the read instruction for the target data comprises a storage address of the target data in the cache.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the first network comprises a remote direct memory access (RDMA) network, and the non-volatile memory includes a storage class memory (SCM).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2021
From: GONG, CHENJI; ZHOU, CHAO; CHEN, JUNJIE
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 056698/0846 →
Priority Claims (1)
CN 201811068815.8 · Sep 13, 2018 · national
Continuity (2)
Continuation PCTCN2019094164 · Jul 1, 2019
Related Publication 20210200681A1 · Jul 1, 2021