Swinging Buffer With Programmable Size
Original Publication Date: 1987-Sep-01
Included in the Prior Art Database: 2005-Feb-01
A design for a swinging buffer makes the size of the buffer variable so that the same hardware can interface between main storage and other devices having different block sizes. Also, for a given device block size, the buffer size may be adjusted so as to achieve different burst lengths to or from memory. A swinging buffer is used to transfer data between two interfaces that have different data rates. One of the buffers is filled with data from the source while the other is emptying data that has previously been loaded into it, to its destination. When the input buffer becomes full, control logic checks to see if the output buffer has finished unloading its data. If it is not yet empty, control logic stops the source from sending more data and then waits until the output has completed the emptying process.