IP Library › Granted Patent US 11,941,298
Granted Patent B2
US 11,941,298 · App. 17/724,347 · Granted Mar 26, 2024

Abort handling by host controller for storage device

Inventors: Chih-Chieh Chou (Hsinchu, TW); Chia-Chun Wang (Hsinchu, TW); Liang-Yen Wang (Hsinchu, TW); Chin Chin Cheng (Hsinchu, TW); Szu-Chi Liu (Hsinchu, TW)
Assignee: MediaTek Inc.
G06F3/0659G06F3/0607G06F3/0658G06F3/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 11,941,298
App. No.
17/724,347
Granted
Mar 26, 2024
Kind
B2
Abstract

A host system initiates an abort of a command that has been placed into a submission queue (SQ) of the host system. The host system identifies at least one of a first outcome and a second outcome. When the first outcome indicates that the command is not completed and the second outcome indicates that the SQ entry has been fetched from the SQ, the host system sends an abort request to a storage device, and issues a cleanup request to direct the host controller to reclaim host hardware resources allocated to the command. The host system adds a completion queue (CQ) entry to a CQ and sets an overall command status (OCS) value of the CQ entry based on at least one of the first outcome and the second outcome.

Claims (39)

1. A method performed by a host system coupled to a storage device, comprising:

initiating an abort of a command, wherein the command has been placed into a submission queue (SQ) of the host system as an SQ entry; and

identifying at least one of a first outcome and a second outcome,

wherein, when the first outcome indicates that the host system has not received a command completion response from the storage device and the second outcome indicates that the SQ entry has been fetched from the SQ, the method further comprises:

sending an abort request from the host system to the storage device;

issuing a cleanup request to direct a host controller to reclaim host hardware resources allocated to the command; and

adding a completion queue (CQ) entry to a CQ and setting an overall command status (OCS) value of the CQ entry to indicate command abort regardless of status of the command in the storage device.

2. The method of claim 1 , wherein the second outcome is identified based on a position of an entry pointed to by a head pointer of the SQ.

3. The method of claim 1 , further comprising:

setting the OCS value to indicate command abort after the host controller receives the cleanup request.

4. The method of claim 1 , wherein the OCS value is set to indicate command nullification under a scenario in which the first outcome indicates that the execution of the command is not completed and the second outcome indicates that the SQ entry for the command has not been fetched from the SQ.

5. The method of claim 1 , further comprising:

setting the OCS value to indicate command nullification after the host controller detects that the SQ entry for the command has been marked by a host driver as nullified.

6. The method of claim 1 , wherein the OCS value is set to indicate command completion after the host system receives the command completion response from the storage device.

7. The method of claim 1 , further comprising:

resetting, by a host driver, a 1-bit value in an abort interface between the host driver and the host controller to stop the host controller from further fetching entries from the SQ; and

setting the 1-bit value in the abort interface to direct the host controller to resume fetching from the SQ.

8. The method of claim 1 , wherein issuing the cleanup request further comprises:

setting, by a host driver, a 1-bit value in a cleanup interface between the host driver and the host controller to direct the host controller to clean up the host hardware resources allocated to the command; and

after cleaning up the host hardware resources, the host controller resetting the 1-bit value in the cleanup interface.

9. The method of claim 1 , wherein the host system communicates with the storage device according to a Universal Flash Storage (UFS) standard.

10. A host system that is coupled to a storage device, comprising:

a host controller;

memory to store a plurality of submission queues (SQs) and a plurality of completion queues (CQs); and

one or more processors,

wherein the host system is operative to:

initiate an abort of a command, wherein the command has been placed into an SQ as an SQ entry; and

identify at least one of a first outcome and a second outcome, wherein, when the first outcome indicates that the host system has not received a command completion response from the storage device and the second outcome indicates that the SQ entry has been fetched from the SQ, the host system is further operative to:

send an abort request to the storage device; and

issue a cleanup request to direct the host controller to reclaim host hardware resources allocated to the command; and

add a CQ entry to a CQ and set an overall command status (OCS) of the CQ entry to indicate command abort regardless of status of the command in the storage device.

11. The host system of claim 10 , wherein the second outcome is identified based on a position of an entry pointed to by a head pointer of the SQ.

12. The host system of claim 10 , wherein the OCS value is set to indicate command abort after the host controller receives the cleanup request.

13. The host system of claim 10 , wherein the OCS value is set to indicate command nullification under a scenario in which the first outcome indicates that the execution of the command is not completed and the second outcome indicates that the SQ entry for the command has not been fetched from the SQ.

14. The host system of claim 10 , wherein the OCS value is set to indicate command nullification after the host controller detects that the SQ entry for the command has been marked by a host driver as nullified.

15. The host system of claim 10 , wherein the OCS value is set to indicate command completion after the host system receives the command completion response from the storage device.

16. The host system of claim 10 , further comprises an abort interface between a host driver and the host controller, wherein the host driver operative to reset a 1-bit value in the abort interface to stop the host controller from further fetching entries from the SQ, and to set the 1-bit value in the abort interface to direct the host controller to resume fetching from the SQ.

17. The host system of claim 10 , further comprises an abort interface between a host driver and the host controller, wherein the host driver operative to set a 1-bit value in the cleanup interface to direct the host controller to clean up the host hardware resources allocated to the command, and the host controller operative to reset the 1-bit value in the cleanup interface after cleaning up the host hardware resources.

18. The host system of claim 10 , wherein the host system communicates with the storage device according to a Universal Flash Storage (UFS) standard.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2022
From: CHOU, CHIH-CHIEH; WANG, CHIA-CHUN; WANG, LIANG-YEN; CHENG, CHIN CHIN; LIU, SZU-CHI
To: MEDIATEK INC.
Reel/Frame 059642/0271 →
Continuity (2)
Provisional Application 63186854 · May 11, 2021
Related Publication 20220365724A1 · Nov 17, 2022