IP Library Granted Patent US 12,321,635
Granted Patent B2
US 12,321,635 · App. 17/707,021 · Granted Jun 3, 2025

Method for accessing solid state disk and storage device

Inventors: Li Li (Shenzhen, CN); Yi He (Chengdu, CN); Tao Cheng (Shenzhen, CN)
Assignee: Huawei Technologies Co., Ltd.
G06F3/0659G06F3/0604G06F3/0634G06F3/067G06F3/0679
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 12,321,635
App. No.
17/707,021
Granted
Jun 3, 2025
Kind
B2
Abstract

A method for accessing a solid state disk and a storage device are provided. The storage device includes a network interface card, a memory, and a solid state disk, the network interface card receives to-be-written data and a write command, where the write command instructs to write the to-be-written data to the solid state disk; the network interface card writes the to-be-written data to the memory, and writes the write command to a submission queue of the solid state disk. Then, the network interface card notifies the solid state disk that there is a to-be-executed command in the submission queue of the solid state disk, where the to-be-executed command is the write command. The solid state disk obtains the to-be-written data from the memory and writes the to-be-written data to a medium of the solid state disk according to the write command.

Claims (56)

1. A method for accessing a solid state disk in a storage device having a network interface card and a central processing unit (CPU), the method comprising:

receiving, in the network interface card, to-be-written data and a write command, wherein the write command instructs to write the to-be-written data to the solid state disk;

writing, by the network interface card based on the write command, the to-be-written data to a memory, the memory being separate from the solid state disk;

writing, by the network interface card, the write command to a submission queue of the solid state disk;

notifying, by the network interface card, the solid state disk that there is a to-be-executed command in the submission queue, wherein the to-be-executed command is the write command to be written by the solid state disk to the submission queue of the network interface card; and

obtaining, by the solid state disk according to the to-be-executed command and without participation of the CPU, the to-be-written data from the memory and writing the to-be-written data to a medium of the solid state disk, wherein a completion of the writing the to-be-written data to the medium of the solid state disk avoids writing, by the network interface card, corresponding completion information to a completion queue.

2. The method according to claim 1 , wherein the submission queue of the solid state disk is located in the memory.

3. The method according to claim 1 , wherein the submission queue of the solid state disk is located in the solid state disk.

4. The method according to claim 1 , wherein the receiving, by the network interface card, the to-be-written data and the write command comprises:

receiving, by the network interface card, a first command, wherein the first command indicates the to-be-written data; and

receiving, by the network interface card, a second command, wherein the second command comprises the write command.

5. The method according to claim 1 , wherein the obtaining, by the solid state disk, the to-be-written data from the memory and writing the to-be-written data to the medium of the solid state disk according to the write command comprises:

parsing, by the solid state disk, the write command to obtain a storage address of the to-be-written data in the memory; and

obtaining, by the solid state disk, the to-be-written data from the storage address in the memory, and writing the to-be-written data to the medium of the solid state disk.

6. The method according to claim 1 , wherein the notifying, by the network interface card, the solid state disk that there is the to-be-executed command in the submission queue comprises:

sending, by the network interface card, notification information to a submission queue doorbell of the solid state disk, wherein the notification information notifies the solid state disk that there is the to-be-executed command in the submission queue.

7. The method according to claim 6 , wherein the sending, by the network interface card, the notification information to the submission queue doorbell of the solid state disk comprises:

sending, by the network interface card, the notification information to the submission queue doorbell of the solid state disk according to a received third command, wherein the third command comprises the notification information.

8. A storage device, comprising:

a central processing unit (CPU),

a network interface card,

a memory, and

a solid state disk separate from the memory, wherein:

the network interface card is configured to receive to-be-written data and a write command, wherein the write command instructs to write the to-be-written data to the solid state disk;

the network interface card is further configured to write, based on the write command, the to-be-written data to the memory;

the network interface card is further configured to write the write command to a submission queue of the solid state disk;

the network interface card is further configured to notify the solid state disk that there is a to-be-executed command in the submission queue, wherein the to-be-executed command is the write command to be written by the solid state disk to the submission queue of the network interface card; and

the solid state disk is configured to obtain, while without participation of the CPU, the to-be-written data from the memory and write the to-be-written data to a medium of the solid state disk according to the to-be-executed command, wherein a completion of writing the to-be-written data to the medium of the solid state disk avoids writing, by the network interface card, corresponding completion information to a completion queue.

9. The storage device according to claim 8 , wherein the submission queue of the solid state disk is located in the memory.

10. The storage device according to claim 8 , wherein the submission queue of the solid state disk is located in the solid state disk.

11. The storage device according to claim 8 , wherein the network interface card is further configured to:

receive an access request, wherein the access request comprises the to-be-written data and the write command.

12. The storage device according to claim 11 , wherein the network interface card is further configured to:

parse the access request to obtain the write command, and write the write command to the submission queue of the solid state disk.

13. The storage device according to claim 8 , wherein the network interface card is further configured to:

receive a first command, wherein the first command indicates the to-be-written data; and

receive a second command, wherein the second command comprises the write command.

14. The storage device according to claim 8 , wherein the solid state disk is further configured to:

parse the write command to obtain a storage address of the to-be-written data in the memory; and

obtain the to-be-written data from the storage address in the memory, and write the to-be-written data to the medium of the solid state disk.

15. The storage device according to claim 8 , wherein the network interface card is further configured to:

send notification information to a submission queue doorbell of the solid state disk, wherein the notification information notifies the solid state disk that there is the to-be-executed command in the submission queue.

16. The storage device according to claim 15 , wherein the network interface card is further configured to:

send the notification information to the submission queue doorbell of the solid state disk according to a received third command, wherein the third command comprises the notification information.

17. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising:

receiving, by a network interface card of a storage device, to-be-written data and a write command, wherein the write command instructs to write the to-be-written data to a solid state disk of the storage device, the storage device including a central processing unit (CPU) distinct from the network interface card;

writing, by the network interface card based on the write command, the to-be-written data to a memory of the storage device, the memory being separate from the solid state disk;

writing, by the network interface card, the write command to a submission queue of the solid state disk;

notifying, by the network interface card, the solid state disk that there is a to-be-executed command in the submission queue, wherein the to-be-executed command is the write command to be written by the solid state disk to the submission queue of the network interface card; and

obtaining, by the solid state disk according to the to-be-executed command and without participation of the CPU of the storage device, the to-be-written data from the memory and writing the to-be-written data to a medium of the solid state disk, wherein a completion of the writing the to-be-written data to the medium of the solid state disk avoids writing, by the network interface card, corresponding completion information to a completion queue.

18. The non-transitory machine-readable medium according to claim 17 , wherein the submission queue of the solid state disk is located in the memory or in the solid state disk.

19. The non-transitory machine-readable medium according to claim 17 , wherein the receiving, by the network interface card, the to-be-written data and the write command comprises:

receiving, by the network interface card, a first command, wherein the first command indicates the to-be-written data; and

receiving, by the network interface card, a second command, wherein the second command comprises the write command.

20. The non-transitory machine-readable medium according to claim 17 , wherein the notifying, by the network interface card, the solid state disk that there is the to-be-executed command in the submission queue comprises:

sending, by the network interface card, notification information to a submission queue doorbell of the solid state disk, wherein the notification information notifies the solid state disk that there is the to-be-executed command in the submission queue.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2022
From: LI, LI; HE, YI; CHENG, TAO
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 060971/0067 →
Priority Claims (1)
CN 201910939824.8 · Sep 30, 2019 · national
Continuity (2)
Continuation PCTCN2020114348 · Sep 10, 2020
Related Publication 20220222016A1 · Jul 14, 2022
References Cited (28)
US 10860511B1 · Thompson · 2020 [cited by examiner]
US 20060256784A1 · Feng · 2006 [cited by examiner]
US 20130198311A1 · Tamir · 2013 [cited by examiner]
US 20150134857A1 · Hahn et al. · 2015 [cited by applicant]
US 20150261434A1 · Kagan · 2015 [cited by examiner]
US 20150261720A1 · Kagan · 2015 [cited by examiner]
US 20160117277A1 · Raindel · 2016 [cited by examiner]
US 20160127493A1 · Shalom · 2016 [cited by examiner]
US 20160139981A1 · Chennamsetty et al. · 2016 [cited by applicant]
US 20170177541A1 · Berman · 2017 [cited by examiner]
US 20170286363A1 · Joshua · 2017 [cited by examiner]
US 20180018101A1 · Benisty et al. · 2018 [cited by applicant]
US 20180275921A1 · Katagiri et al. · 2018 [cited by applicant]
US 20190079895A1 · Kim et al. · 2019 [cited by applicant]
US 20190155760A1 · Chang · 2019 [cited by examiner]
US 20190310964A1 · Zhang · 2019 [cited by examiner]
US 20200050551A1 · He · 2020 [cited by examiner]
US 20200326891A1 · Luo · 2020 [cited by examiner]
US 20220179809A1 · Venkataramani · 2022 [cited by examiner]
US 20230401079A1 · Radi · 2023 [cited by examiner]
CN 101097519A · 2008 [cited by applicant]
CN 102308274A · 2012 [cited by applicant]
CN 104267912A · 2015 [cited by applicant]
CN 106527974A · 2017 [cited by applicant]
CN 107077426A · 2017 [cited by applicant]
CN 107992436A · 2018 [cited by applicant]
CN 108369530A · 2018 [cited by applicant]
CN 110086571A · 2019 [cited by applicant]