IP Library Granted Patent US 11,366,770
Granted Patent B2
US 11,366,770 · App. 16/983,471 · Granted Jun 21, 2022

Storage controller managing completion timing, and operating method thereof

Inventors: Sangmuk Hwang (Jeonju-si, KR); Jaegeun Park (Suwon-si, KR); Hojun Shim (Seongnam-si, KR); Byungchul Yoo (Seongnam-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F13/1642G06F13/161G06F13/1689G06F13/28
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,366,770
App. No.
16/983,471
Granted
Jun 21, 2022
Kind
B2
Abstract

A method of operating a storage controller that communicates with a host including a submission queue and a completion queue is provided. The operating method includes receiving a submission queue doorbell from the host, fetching a first command including a latency from the submission queue of the host in response to the received submission queue doorbell, processing the fetched first command, and writing a first completion, which indicates that the first command is completely processed, into the completion queue of the host at a timing based on the latency.

Claims (46)

1. A method of operating a storage controller which is configured to communicate with a host including a submission queue and a completion queue, the method comprising:

receiving a submission queue doorbell from the host;

fetching a first command including a latency from the submission queue of the host in response to the received submission queue doorbell;

processing the fetched first command; and

writing a first completion, which indicates that the first command is completely processed, into the completion queue of the host at a timing based on the latency,

wherein the latency includes a processing latency indicating a time period from a time point at which the first command is fetched to a time point at which the first completion is to be written into the completion queue.

2. The method of claim 1 , wherein the latency is included in a reserved area of the first command.

3. The method of claim 1 , further comprising:

outputting an interrupt, which indicates that the first completion is written into the completion queue, to the host.

4. The method of claim 3 , further comprising:

writing a second completion, which indicates that a second command different from the first command is completely processed, into the completion queue of the host,

wherein the interrupt further indicates that the second completion has been written into the completion queue.

5. The method of claim 3 , further comprising:

in response to the interrupt, receiving a completion queue doorbell indicating that the host has processed the first completion that was written into the completion queue.

6. The method of claim 1 , wherein, in the processing of the fetched first command, the first command is processed based on a direct memory access (DMA) transfer.

7. The method of claim 1 , wherein the first command includes reserved bits for the latency within a body of the first command.

8. The method of claim 1 , wherein the latency comprises the processing latency and an interval latency indicating a time interval from one completion to a subsequent completion.

9. A method of operating a storage controller which is configured to communicate with a host including a submission queue and a completion queue, the method comprising:

receiving a submission queue doorbell from the host;

fetching a first command including a latency from the submission queue of the host in response to the received submission queue doorbell;

processing the fetched first command;

writing a first completion, which indicates that the first command is completely processed, into the completion queue of the host at a timing based on the latency;

writing a second completion, which indicates that a second command different from the first command is completely processed, into the completion queue of the host, before writing the first completion into the completion queue,

wherein the latency includes an interval latency indicating a time period from a time point at which the second completion is written to a time point at which the first completion is to be written.

10. The method of claim 9 , wherein the latency further includes a processing latency indicating a time period from a time point at which the first command is fetched to the time point at which the first completion is to be written into the completion queue, and

wherein the timing is based on the processing latency and the interval latency.

11. The method of claim 10 , wherein, when the processing latency is shorter than the interval latency, the timing is a time point at which the time period corresponding to the interval latency elapses from the time point at which the second completion has been written.

12. The method of claim 10 , further comprising:

writing a third completion, which indicates that a third command different from the first command and the second command is completely processed, into the completion queue of the host, after writing the second completion into the completion queue,

wherein, when the processing latency is longer than the interval latency, the timing is a time point at which the time period corresponding to the interval latency elapses from a time point at which the third completion has been written.

13. A method of operating a storage controller which is configured to communicate with a host including a submission queue and a completion queue, the method comprising:

receiving a submission queue doorbell from the host;

fetching a first command including a latency from the submission queue of the host in response to the received submission queue doorbell;

processing the fetched first command; and

writing a first completion, which indicates that the first command is completely processed, into the completion queue of the host according to the latency,

wherein the latency indicates a specific time point at which the first completion is to be written into the completion queue of the host.

14. The method of claim 13 , wherein the first command includes reserved bits for the latency within the first command.

15. The method of claim 13 , wherein the latency is a processing latency and the first command further includes an interval latency indicating a time interval from one completion to a subsequent completion.

16. The method of claim 13 , further comprising:

outputting an interrupt, which indicates that the first completion is written into the completion queue, to the host.

17. The method of claim 16 , further comprising:

writing a second completion, which indicates that a second command different from the first command is completely processed, into the completion queue of the host,

wherein the interrupt further indicates that the second completion has been written into the completion queue.

18. The method of claim 16 , further comprising:

in response to the interrupt, receiving a completion queue doorbell indicating that the host has processed the first completion that was written into the completion queue.

19. The method of claim 13 , wherein, in the processing of the fetched first command, the first command is processed based on a direct memory access (DMA) transfer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2020
From: HWANG, SANGMUK; PARK, JAEGEUN; SHIM, HOJUN; YOO, BYUNGCHUL
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 053385/0207 →
Priority Claims (1)
KR 10-2019-0172650 · Dec 23, 2019 · national
Continuity (1)
Related Publication 20210191884A1 · Jun 24, 2021