Patent ID: 6892253

Claim:
A data transfer apparatus transferring data from a data source to a data destination comprising: a first-in-first-out buffer memory having an input connected to the data source, an output connected to said data destination and a predetermined number of data entries; a master queue counter storing a master count indicative of a number of data entries available for data storage within said first-in-first-out buffer memory, said master queue counter connected to the data source to decrement said master count upon allocation of data at said data source to be stored in said first-in-first-out buffer memory; a remote queue counter storing a remote count indicative of a number of data entries within said first-in-first-out buffer memory currently storing data, said remote queue counter connected to said data source for incrementing said remote count upon allocation of data at said data source to be stored in said first-in-first-out buffer memory, said remote queue counter connected to said data destination for decrementing said remote count and, generating a decrement confirmation signal upon transfer of data out of said first-in-first-out buffer memory to said data destination; wherein said master queue counter is further connected to said remote queue counter for incrementing said master count upon receipt of said decrement confirmation signal; said data source ma allocate data to said first-in-first-out buffer memory only if said master queue counter indicates a non-zero number of data entries available for data storage within said first-in-first-out buffer memory; and said data destination reads said first-in-first-out buffer memory only if said remote queue counter is non-zero.