synchronize the read and write pointers while the block is being transferred in addition to simplifying the synchronization of read and write pointers providing a block level buffer management allows the within block read or write operations to be nonsequential that is because the read access is not permitted into the block while the block is being written the write process can place the data within the block in any order without concern that the read process will read a mix of old and new data within the block in like manner if the read process is accessing a block the write process is precluded from modifying any of the data items within the block by managing buffer access at the block level the within block read and write accesses can be optimized for the particular process that is used for data transfer without constraining this optimization to a sequential transfer as in the prior art of fig1 the optimization of data access is particularly significant for applications involving access to data in a high speed pipeline data process or other multiple access processes a data access to high speed memory is often performed by pre charging the data read lines in a bank of memory and then driving the appropriate output device based on the value of the data being read preferably the pre charge process occurs before the time that the read request arrives so that the read request does not incur a delay while the pre charge occurs if a particular.