US 12,169,634 B2
Asynchronous operation completion notification
Eyal Hamo, Naharia (IL); Tomer Spector, Kibbutz Ginegar (IL); and Sagi Taragan, Ramat Ishay (IL)
Assigned to Western Digital Technologies, Inc., San Jose, CA (US)
Filed by Western Digital Technologies, Inc., San Jose, CA (US)
Filed on Jun. 29, 2022, as Appl. No. 17/852,360.
Prior Publication US 2024/0004556 A1, Jan. 4, 2024
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0619 (2013.01) [G06F 3/0625 (2013.01); G06F 3/0659 (2013.01); G06F 3/0679 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A data storage device comprising:
a non-volatile storage medium configured to store block data for a host computer system;
a data port configured to receive and transmit, using a data storage command set, the block data between the host computer system and the data storage device, wherein:
command data structures are transmitted between the host computer system as initiator and the data storage device as target in request-response operations; and
the data storage command set comprises a first command data structure, a second command data structure, and a third command data structure; and
one or more processors configured to, alone or in combination:
receive, via the data port, a first notification activation;
selectively activate, responsive to the first notification activation, a completion status notification for a first operation;
receive, via the data port, the first command data structure comprising a first command for the data storage device to perform the first operation;
in response to receiving the first command data structure, perform the first operation, wherein operations are defined by an in-progress state and a completed state;
in response to the activated completion status notification and determining that the first operation is in the completed state, transmit, via the data port, a first response data structure comprising an indication that the first operation is in the completed state;
receive, via the data port, the second command data structure comprising a second command for the data storage device to perform a second operation;
in response to receiving the second command data structure, perform the second operation;
receive, via the data port, the third command data structure comprising a status inquiry for the second operation; and
in response to the status inquiry, transmit, via the data port, a second response data structure comprising an indication of a state of the second operation.