Patent ID: 7398335
Filing Date: 2008-07-08
Classification: G06F

Abstract:
1. A storage area network (“SAN”), comprising: a host computing system with a host memory interfacing with a host bus adapter (HBA), where the HBA enables transfer of information to and from the host memory to a network storage system, and the HBA includes: (a) a transmit side direct memory access (DMA) module that generates a DMA read request to transfer information stored in the host memory to the networked storage system; (b) a receive side DMA module that generates a DMA write request that transfers information received from the networked storage system to the host memory; (c) an arbitration module that receives the DMA read request and the DMA write request to grant access to a bus for transferring information to and from the host memory; and (d) a DMA optimizer module that receives information from the arbitration module regarding a currently active DMA request that has been granted; information regarding whether the currently active DMA request is a read request or a write request; and a byte count value for the currently active DMA request; where the DMA optimizer module adjusts a write burst size based on a first output from a DMA request monitoring logic and a second output from a logic that determines a difference between an amount of data transferred for DMA read requests and DMA write requests during a time interval; wherein the DMA request monitoring logic determines if a DMA read or a DMA write request is pending based on a comparison of a number of clocks for DMA read requests that have not been granted by the arbitration module within a time interval to a threshold value and a comparison of a number of clocks for DMA write requests that have not been granted by the arbitration module within a time interval to a threshold value; and the DMA request monitoring logic generates the first output based on the comparison, where the first output is used by the DMA optimizer module for adjusting the write burst size.