A remote DMA (RDMA) shim protocol laid atop an existing network data transfer protocol but logically underneath higher level disk and file access protocols specifies the portion of a data packet to be transferred directly into a separate area of memory such as an application layer memory buffer. This RDMA protocol identifies the area of memory into which the data should be delivered, a data ID, data start, data length or end, and flag bits. Option fields added to (or already present in) the transport protocol describe the RDMA transfer. On reception of a packet specifying RDMA, the receiving device delivers the data directly into the correct memory location using the RDMA description data. In some embodiments of the present invention, the RDMA shim protocol is implemented with TCP options specifically introduced to enable RDMA and thus reduce the overhead of transferring and receiving data with a TCP-based protocol such as NFS or HTTP. Use of a TCP option technique enables the construction of simple hardware accelerators to copy data directly from the incoming packet into application memory buffers, thus avoiding expensive copies within the protocol stack. Alternatively, software techniques may be used to perform direct copying to the application memory buffer. The RDMA protocol options thus enable the protocol stack to decrease the number of copies required to perform data transfers, thus lowering overhead costs.

 
Web www.patentalert.com

< Raid5 error recovery logic

> System and method for using a memory mapping function to map memory defects

> HyperLock technique for high-speed network data monitoring

~ 00557