IP Library Granted Patent US 10,534,563
Granted Patent B2
US 10,534,563 · App. 15/887,237 · Granted Jan 14, 2020

Method and system for handling an asynchronous event request command in a solid-state drive

Inventors: Vikram Singh (Karnataka, IN); Abhinav Kumar Singh (Karnataka, IN); Chandrashekar Tandavapura Jagadish (Karnataka, IN)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/0659G06F3/0604G06F3/0679G06F13/4226G06F13/24
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 10,534,563
App. No.
15/887,237
Granted
Jan 14, 2020
Kind
B2
Abstract

A solid-state drive (SSD) for handling an Asynchronous Event Request (AER) command includes a command receiving circuit and a command management circuit. The command receiving circuit is configured to receive at least one command from at least one host. The command management circuit is configured to determine if the received at least one command from the at least one host is an AER command, store the AER command into an AER queue reserved for deferred AER command handling, if the received at least one command is the AER command, and generate a dummy response for the AER command and release resources occupied by the AER command.

Claims (41)

1. A solid state drive (SSD) for handling an Asynchronous Event Request (AER) command, the SSD comprising:

a command receiving circuit configured to receive at least one command from at least one host; and

a command management circuit configured to:

determine if the received at least one command from the at least one host is an AER command;

store the AER command into an AER queue reserved for deferred AER command handling, if the received at least one command is the AER command; and

generate a dummy response for the AER command and release resources occupied by the AER command.

2. The SSD of claim 1 , wherein the command management circuit is further configured to send an AER response to the at least one host when an asynchronous event occurs in the SSD.

3. The SSD of claim 1 , wherein the command management circuit is configured to store the AER command into the AER queue by:

determining the AER command is logically correct for processing and there is no outstanding AER event available for the at least one host; and

storing the AER command into the AER queue.

4. The SSD of claim 1 , wherein the received at least one command is at least one of the AER command and an input output (I/O) command.

5. The SSD of claim 1 , wherein the SSD is a bare metal multi-core peripheral component interconnect express (PCIe) based SSD including multiple controllers and supporting multipath input/output (I/O) and single root input/output virtualization (SR-IOV).

6. A method for handling an Asynchronous Event Request (AER) command in a solid-state drive (SSD), the method comprising:

receiving, by the SSD, at least one command from at least one host;

determining, by the SSD, if the received at least one command is an AER command;

storing, by the SSD, the AER command into an AER queue reserved for deferred AER command handling, if the received at least one command is the AER command; and

generating, by the SSD, a dummy response for the AER command to release resources occupied by the AER command.

7. The method of claim 6 , wherein the method further comprises sending an AER response, by the SSD, to the at least one host when an asynchronous event occurs in the SSD.

8. The method of claim 6 , wherein storing the AER command into the AER queue comprises:

determining, by the SSD, the AER command is logically correct for processing and there is no outstanding AER event available for the at least one host; and

storing, by the SSD, the AER command into the AER queue.

9. The method of claim 6 , wherein the received at least one command is at least one of the AER command and an input output (I/O) command.

10. A method for handling an Asynchronous Event Request (AER) command in a solid-state drive (SSD) including a command receiving circuit and a command management circuit, the method comprising:

receiving, by the command receiving circuit, at least one command from at least one host;

determining, by the command management circuit, the received at least one command is an AER command;

determining, by the command management circuit, the AER command is logically correct for processing and there is no outstanding AER event available for the at least one host;

storing, by the command management circuit, the AER command into a first AER queue reserved for deferred AER command handling; and

sending an AER response, by the command management circuit, to the at least one host when an asynchronous event occurs in the SSD.

11. The method of claim 10 further comprising:

generating, by the command management circuit, a dummy response for the AER command to release hardware resources occupied by the AER command; and

transmitting the dummy response to a controller included in the SSD.

12. The method of claim 11 , wherein the dummy response is not posted to the at least one host.

13. The method of claim 11 , wherein the controller is a Non-Volatile Memory Express (NVMe) controller.

14. The method of claim 10 , when a reset request is triggered from the at least one host, the SSD invalidates all outstanding AER commands stored internally therein.

15. The method of claim 10 , wherein the SSD further includes a memory and the memory is configured to store the at least one command from the at least one host.

16. The method of claim. 10 , wherein the SSD includes a plurality of AER queues including the first AER queue, and

each of the plurality of AER queues is mapped to one of a plurality of hosts including the at least one host.

17. The method of claim 10 , wherein the received at least one command is at least one of the AER command and an input output (I/O) command.

18. The method of claim 10 , wherein the SSD is a bare metal multi-core peripheral component interconnect express (PCIe) based SSD including multiple controllers and supporting multipath input/output (I/O) and single root input/output virtualization (SR-IOV).

19. The method of claim 10 , wherein the SSD further includes a communication interface unit configured to establish communication between the at least one host and the SSD.

20. The method of claim 10 , wherein the received at least one command is mapped to an index queue.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: SINGH, VIKRAM; SINGH, ABHINAV KUMAR; JAGADISH, CHANDRASHEKAR TANDAVAPURA
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 044819/0224 →
Priority Claims (1)
IN 201741004479 · Feb 7, 2017 · national
Continuity (1)
Related Publication 20180225065A1 · Aug 9, 2018
Cited By (1)
US 12,656,965