Disclosed are a method, a system and a computer program product for
managing direct memory access (DMA) operations in a double buffering
system. During direct memory access operations in a computer system, data
is transferred from a source memory location to a destination memory
location with minimal use of the computer's processing unit. Double
buffering utilizes two separate memory buffers to perform simultaneous
DMA operations. Prior to processing a DMA request each buffer in a double
buffering system is assigned a channel identification (ID), or tag. When
reading, writing, or polling status of data in a buffer, the tag
identifies the buffer. A toggle factor is utilized to conveniently switch
between each buffer in the double buffering system. Utilizing a toggle
factor decreases latencies in DMA operations.