Apparatus, system and method for offloading data transfer operations between source and destination storage devices to a hardware accelerator

US11604594B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11604594-B2
Application numberUS-202117390441-A
CountryUS
Kind codeB2
Filing dateJul 30, 2021
Priority dateApr 12, 2019
Publication dateMar 14, 2023
Grant dateMar 14, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Provided are an apparatus, system and method for offloading data transfer operations between source and destination storage devices to a hardware accelerator. The hardware accelerator includes a memory space and control logic to receive, from a host processor, a command descriptor indicating at least one source storage device having transfer data to transfer to at least one destination storage device and a computational task to perform on the transfer data. The control logic sends read commands to the at least one source storage device to read the transfer data to at least one read buffer in the memory space and performs the computational task on the transfer data to produce modified transfer data. The control logic writes the modified transfer data to at least one write buffer in the memory space to cause the modified transfer data to be written to the at least one destination storage device.

First claim

Opening claim text (preview).

What is claimed: 1. A hardware accelerator comprising: a memory space to include read buffers and write buffers for a plurality of storage devices having respective storage device controllers, the plurality of storage devices coupled with and separate from the hardware accelerator; and control logic to: receive, from a host processor coupled with the hardware accelerator, a command descriptor that indicates a source storage device having data to modify and store to a destination storage device and a computational task to perform on the data, the source storage device and the destination storage device included in the plurality of storage devices; send at least one read command to the source storage device to cause the source storage device to store the data in at least one read buffer in the memory space; perform the computational task using the data stored in the at least one read buffer to modify the data; and write the modified data to at least one write buffer in the memory space to cause the modified data to be stored to the destination storage device. 2. The hardware accelerator of claim 1 , comprising the command descriptor to also include: a source pointer to source information in a host memory space of the host processor, the source information to indicate a source address location for the data maintained at the source storage device; and a destination pointer to destination information in the host memory space, the destination information to indicate a destination address location to which the modified data is to be stored at the destination storage device. 3. The hardware accelerator of claim 2 , further comprising: the source information to include a source entry for the source storage device, the source entry to indicate a source address range of the source storage device that stores the data; and the destination information to include a destination entry for the destination storage device, the destination entry to indicate a destination address range of the destination storage device to which the modified data is to be stored at the destination storage device. 4. The hardware accelerator of claim 3 , further comprising the source entry to also include a source queue doorbell address for the source storage device and the destination entry to also include a destination queue doorbell address for destination storage device, wherein the control logic is further to: write information to the source queue doorbell address indicated in the source entry to cause the source storage device to transfer the data stored in the source address range; and write information to the destination queue doorbell address indicated in the destination entry to cause the modified data to be stored to the destination storage device. 5. The hardware accelerator of claim 1 , further comprising the control logic to receive a configuration command from the host processor to extend a memory space of the host processor, wherein the read and the write buffers are configured in mapped addresses in the memory space, and wherein the mapped addresses in the memory space extends the memory space of the host processor. 6. The hardware accelerator of claim 1 , further comprising the control logic to receive, from the host processor, configuration commands, the configuration commands to cause the control logic to: configure read and write buffers in the memory space; and configure submission queues in the memory space, wherein the control logic adds the at least one read command to a first submission queue of the submission queues to cause the source storage device to transfer data to the read buffers and adds a write command to a second submission queue of the submission queues to cause the destination storage device to obtain the modified data from the write buffers to store the modified data to the destination storage device. 7. The hardware accelerator of claim 1 , the control logic comprises a field programmable gate array (FPGA). 8. The hardware accelerator of claim 1 , the control logic comprises an application specific integrated circuit (ASIC). 9. A system comprising: dual in-line memory modules (DIMMs) to support a system memory space of a host processor; a plurality of storage device having respective storage device controllers; and a hardware accelerator that includes: a memory space to include read buffers and write buffers for the plurality of storage devices; and control logic to: receive, from the host processor, a command descriptor that indicates a source storage device maintains data to modify, a destination storage device and a computational task to perform on the data, the source storage device and the destination storage device included in the plurality of storage devices; send at least one read command to the source storage device to cause the source storage device to store the data in at least one read buffer in the memory space; perform the computational task using the data stored in the at least one read buffer to modify the data; and write the modified data to at least one write buffer in the memory space to cause the modified data to be stored to the destination storage device. 10. The system of claim 9 , comprising the command descriptor to also include: a source pointer to source information in the system memory space of the host processor, the source information to indicate a source address location for the data maintained at the source storage device; and a destination pointer to destination information in the system memory space of the host processor, the destination information to indicate a destination address location to which the modified data is to be stored at the destination storage device. 11. The system of claim 10 , further comprising: the source information to include a source entry for the source storage device, the source entry to indicate a source address range of the source storage device that stores the data; and the destination information to include a destination entry for the destination storage device, the destination entry to indicate a destination address range of the destination storage device to which the modified data is to be stored at the destination storage device. 12. The system of claim 11 , further comprising the source entry to also include a source queue doorbell address for the source storage device and the destination entry to also include a destination queue doorbell address for destination storage device, wherein the control logic is further to: write information to the source queue doorbell address indicated in the source entry to cause the source storage device to transfer the data stored in the source address range; and write information to the destination queue doorbell address indicated in the destination entry to cause the modified data to be stored to the destination storage device. 13. The system of claim 9 , further comprising the control logic to: receive a configuration command from the host processor to extend the system memory space of the host processor, wherein the read and the write buffers are configured in mapped addresses in the memory space, and wherein the mapped addresses in the memory space extends the system memory space of the host processor. 14. The system claim 9 , further comprising the control logic to receive, from the host processor, configuration commands, the configuration commands to cause the control logic to: configure read and write buffers in the memory space; and configure submission queues in the memory space, wherein the control logic adds the at least one read command to a first submission queue of the submiss

Assignees

Inventors

Classifications

  • G06F3/0647Primary

    Migration mechanisms · CPC title

  • Data buffering arrangements · CPC title

  • G06F3/0646Primary

    Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Plurality of storage devices · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11604594B2 cover?
Provided are an apparatus, system and method for offloading data transfer operations between source and destination storage devices to a hardware accelerator. The hardware accelerator includes a memory space and control logic to receive, from a host processor, a command descriptor indicating at least one source storage device having transfer data to transfer to at least one destination storage …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/0647. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 14 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).