Providing Real Addresses in Infiniband work requests.
Original Publication Date: 2005-May-10
Included in the Prior Art Database: 2005-May-10
Disclosed is a mechanism for improving the performance of local access by an InfiniBand* (IB) Host Channel Adapter (HCA) by bypassing the protection checks and address translation associated with standard IB memory regions.
Providing Real Addresses in Infiniband work requests .
Infiniband* (IB) work requests, as defined by the Infiniband specification, reference data segments using virtual addresses, local keys (L_Keys) and a length. These data segments must reside within a memory region which has been previously registered with a Host Channel Adapter (HCA) and for which all the address translation definitions and access controls have been defined. The HCA uses this information to perform protection checks and address translation so that it can either fetch the data from system memory prior to transmission on the IB link or store the data to system memory after receiving it on the IB link. The registration of the memory region and the protection checks and address translation performed by the HCA provide considerable overhead in the transmission and reception of data on IB links.
In some environments, it is more efficient to provide the real addresses directly to the HCA hardware, whereby the HCA can avoid the protection checks and address translation described above. This is the case when privileged software, such as a device driver, is communicating using the HCA. It is also the model that is currently used for legacy I/O applications such as DB2 and TCP/IP communications stacks.
Described is a mechanism whereby the real addresses that reference the data segment are provided directly to the HCA in the work queue element (WQE). It only applies to channel semantic I/O. The L_Key tha...