Patent ID: 7216185

Claim:
A buffering apparatus comprising: input control means that permits the input of a plurality of groups of a series of data, which have been combined in time sequence, detects a break of each group of a series of data, and separates address information from on an input bus; buffer means comprising a plurality of buffers; buffer control means for writing, based on the break information, each group of a series of data transferred from the input control means into each buffer in the buffer means and for reading the written group of data; address administration means which holds the address information, sent from the input control means, in relationship with each group of a series of data written in the buffer means, and, at the time of output involving reading the group of a series of data from the buffer means, upon the receipt of a request for address, fetches the held address and sends the fetched address to the buffer control means; and output control means which, in response to a request from an external part for reading, makes a request to the address administration means for address notification and sends the address information received from the address administration means, to the external part and, in addition, controls the buffer control means so as to read the data group from the buffer means, divides or combines a bus width of the read data group and selectively sends the data to an output bus having a required bus width in a plurality of output buses having mutually different bus widths; wherein, at the time of writing of the group of a series of data into the buffer means, the buffer control means updates group attribute value for each writing of the group of a series of data and notifies the buffer means and an address control means of the group attribute value and, in addition, updates a write pointer for each data and performs writing in the buffer means, and the buffer means writes, in the buffer at the storage position of the write pointer, the data, the group attribute value, and a predetermined storage attribute value representing the storage.