US 12,169,639 B2
Data exchange between host and storage device using compute functions
Krishna R. Malakapalli, San Jose, CA (US); and Gary James Calder, San Jose, CA (US)
Assigned to KIOXIA CORPORATION, Tokyo (JP)
Filed by Kioxia Corporation, Tokyo (JP)
Filed on Mar. 12, 2021, as Appl. No. 17/200,349.
Prior Publication US 2022/0291861 A1, Sep. 15, 2022
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0655 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable medium comprising computer readable instructions, such that when executed by at least one processor of a storage device, causes the processor to:
receive a command from a host to read data from or write data to non-volatile storage memory of the storage device, wherein the read or write command contains a set of parameters including:
an identification of a Compute Function (CF),
locations of first and second data for the CF,
an address type for one or both of the locations of the first and second data, wherein the address type is configured to specify that one or both of the locations is either a bus-addressable physical memory or the non-volatile storage memory, and
first and second numbers of logical blocks of the first and second data, respectively,
wherein the first and second numbers of logical blocks for the data for the CF are different;
in response to receiving the command, perform the CF using the first and second data, wherein at least one of the first and second data comprises internal data stored in the storage device or external data transferred from the host to determine a computation result;
store the computation result in a drive buffer of the storage device that is separate from the non-volatile storage memory of the storage device; and
transfer data between the drive buffer of the storage device and the host in accordance with the command.