Patent ID: 7664889

Claim:
A storage device comprising: a host bus adapter including a storage controller, the storage controller including: a local memory; a direct memory access (DMA) engine to insert a data integrity field (DIF) into a data block; and a DMA Descriptor Manager (DM) to generate DMA descriptors by monitoring user data and the DIF transferred between a host memory and the local memory based upon a function being performed, the DIF being a serial protocol Block Guard (BG), the DM also being to store a current running DIF in an input/output (I/O) context if the function is a particular BG function, the I/O context and the current running DIF being associated with an I/O sequence that includes a current received frame and a next received frame, the current received frame being associated with and used to generate the current running DIF, and the DM being to fetch, after arrival of the next received frame, the I/O context to synthesize new descriptors based upon the current running DIF stored in the I/O context, the next received frame, and upon buffer lengths and locations in the host memory and the local memory included in the DMA descriptors, the DM generating the DMA descriptors based on a request by at least one transport layer corresponding to one or more storage links for the frames.