Patent ID: 8032675
Filing Date: 2011-10-04
Classification: G06F

Abstract:
1. A method comprising: initializing a buffer pool, wherein the buffer pool includes a plurality of data buffers available for use during a plurality of I/O transfers; monitoring the buffer pool and a source buffer associated with a first data source to determine an available size of the source buffer and each of the plurality of data buffers of the buffer pool; in response to the initiation of a first I/O transfer concerning a first data portion being transferred from the first data source to a first data target, writing the first data portion to a first portion of the plurality of data buffers; transferring the first data portion to the first data target only if the first data portion has a size that is less than or equal to the smaller of: (a) the available buffer space in the source buffer and (b) the available buffer space in the first portion of the plurality of data buffers; releasing the first portion of the plurality of data buffers back to the buffer pool for use during one or more subsequent I/O transfers; in response to the initiation of a subsequent I/O transfer concerning a subsequent data portion being transferred from the first data source to the first data target, writing the subsequent data portion to an available portion of the plurality of data buffers; and transferring the subsequent data portion to the first data target only if the subsequent data portion has a size that is less than or equal to the smaller of: (a) the available buffer space in the source buffer and (b) the minimum remaining available buffer space in any one of the plurality of data buffers.