Computational data storage systems
AssigneeIntel Corporation
InventorsMichael P. Mesnier, John S. Keys, Ian F. Adams, Yi Zou, Luis Carlos Maria Remis, Daniel Robert McLeran, Mariusz Barczak, Arun Raghunath, Lay Wai Kong
Life of this patent
Estimating the term…
Abstract
In one embodiment, a system comprises a host processor and a storage system. The storage system comprises one or more storage devices, and each storage device comprises a non-volatile memory and a compute offload controller. The non-volatile memory stores data, and the compute offload controller performs compute tasks on the data based on compute offload commands from the host processor.
Claims26
-11. (canceled)
A storage device, comprising:
- a non-volatile storage medium;
- and
- processing circuitry to:
- receive, via interface circuitry, a chained compute offload command from a host computing device, wherein the chained compute offload command instructs the storage device to perform a plurality of chained operations on an input data object stored on the non-volatile storage medium;
- read the input data object from the non-volatile storage medium;
- perform the plurality of chained operations on the input data object, wherein an output data object is computed based on performing the plurality of chained operations;
- and
- return the output data object as an output of the chained compute offload command.
At least one non-transitory machine-readable medium having instructions stored thereon, wherein the instructions, when executed on processing circuitry of a storage device, cause the processing circuitry to:
- receive, via interface circuitry, a chained compute offload command from a host computing device, wherein the chained compute offload command instructs the storage device to perform a plurality of chained operations on an input data object stored on a non-volatile storage medium of the storage device;
- read the input data object from the non-volatile storage medium;
- perform the plurality of chained operations on the input data object, wherein an output data object is computed based on performing the plurality of chained operations;
- and
- return the output data object as an output of the chained compute offload command.
A method performed by processing circuitry of a storage device, the method comprising:
- receiving a chained compute offload command from a host computing device, wherein the chained compute offload command instructs the storage device to perform a plurality of chained operations on an input data object stored on a non-volatile storage medium of the storage device;
- reading the input data object from the non-volatile storage medium;
- performing the plurality of chained operations on the input data object, wherein an output data object is computed based on performing the plurality of chained operations;
- and
- returning the output data object as an output of the chained compute offload command.
A system, comprising:
- interface circuitry to communicatively couple a host processor and a storage device;
- the host processor, wherein the host processor is to send, via the interface circuitry, a chained compute offload command to the storage device, wherein the chained compute offload command instructs the storage device to perform a plurality of chained operations on an input data object stored on the storage device;
- and
- the storage device, wherein the storage device comprises a non-volatile storage medium and compute offload circuitry, wherein the compute offload circuitry is to:
- receive, via the interface circuitry, the chained compute offload command from the host processor;
- read the input data object from the non-volatile storage medium;
- perform the plurality of chained operations on the input data object, wherein an output data object is computed based on performing the plurality of chained operations;
- and
- return the output data object as an output of the chained compute offload command.
Dependencies are inferred from the claim text.