Multi-host direct memory access system for integrated circuits
AssigneeXilinx, Inc.
InventorsChandrasekhar S. Thyamagondlu, Darren Jue, Ravi Sunkavalli, Akhil Krishnan, Tao Yu, Kushagra Sharma
Life of this patent
Estimating the term…
Abstract
A direct memory access (DMA) system can include a memory configured to store a plurality of host profiles, a plurality of interfaces, wherein two or more of the plurality of interfaces correspond to different ones of a plurality of host processors, and a plurality of data engines coupled to the plurality of interfaces. The plurality of data engines are independently configurable to access different ones of the plurality of interfaces for different flows of a DMA operation based on the plurality of host profiles.
Claims20
A direct memory access system, comprising:
- a memory configured to store a plurality of host profiles;
- a plurality of interfaces, wherein two or more of the plurality of interfaces correspond to different ones of a plurality of host processors;
- a plurality of data engines coupled to the plurality of interfaces;
- and
- a plurality of switches coupling the plurality of interfaces to the plurality of data engines;
- wherein each data engine of the plurality of data engines is independently configurable to access different ones of the plurality of host processors via the plurality of interfaces for different flows of a direct memory access operation based on the plurality of host profiles;
- wherein the plurality of host profiles specifies addressing information for respective ones of the plurality of host processors and particular ones of the plurality of interfaces to be used to access the respective ones of the plurality of host processors;
- and
- wherein the plurality of switches are configured to connect the plurality of data engines to different ones of the plurality of host processors via the plurality of interfaces using the addressing information from the host profiles for performing the different flows.
A method of performing direct memory accesses in a multi-host system, the method comprising:
- selecting, using a descriptor engine of a direct memory access system, a first host profile from a plurality of host profiles stored in a memory based on a received doorbell message;
- fetching, using the descriptor engine, a descriptor specified by the doorbell message via a first interface of a plurality of interfaces of the direct memory access system, wherein two or more of the plurality of interfaces correspond to different ones of a plurality of host processors, and wherein a plurality of switches couples the plurality of interfaces to a plurality of data engines, the plurality of data engines including the descriptor engine and a data mover engine;
- wherein each data engine of the plurality of data engines is independently configurable to access different ones of the plurality of host processors via the plurality of interfaces for different flows of a direct memory access operation based on the plurality of host profiles;
- wherein the plurality of host profiles specifies addressing information for respective ones of the plurality of host processors and particular ones of the plurality of interfaces to be used to access the respective ones of the plurality of host processors, and wherein the first interface is specified by the first host profile;
- initiating, using a data mover engine of the direct memory access system, a data transfer flow based on the descriptor;
- and
- wherein the plurality of switches are configured to connect the plurality of data engines to different ones of the plurality of host processors via the plurality of interfaces using the addressing information from the host profiles for performing the different flows, the different flows including the data transfer flow.
Dependencies are inferred from the claim text.