Patent ID: 8327043

Claim:
A buffer management device configured to manage data transfer specified by a data transfer command from a host, between a transmission FIFO and a buffer and between a reception FIFO and the buffer, the transmission FIFO being configured to store data to be transferred in frames to the host, and the reception FIFO being configured to store data transferred in frames from the host, the buffer management device comprising: an intermediate FIFO configured to store data transferred between the transmission FIFO and the buffer or between the reception FIFO and the buffer; a table configured to hold buffer transfer information for managing data transfer between the transmission FIFO and the buffer or between the reception FIFO and the buffer via the intermediate FIFO, the buffer transfer information comprising CRC data and a sector pointer; a first sequencer configured to activate buffer transfer for the data transfer specified by the data transfer command from the host in units of at least one frame based on buffer transfer information held in the table, the buffer transfer including transfer of data in sectors between the buffer and the intermediate FIFO; a second sequencer configured to transfer data in frames between the transmission FIFO and the intermediate FIFO or between the reception FIFO and the intermediate FIFO, in accordance with the activation of the buffer transfer, and to check the data transferred in sectors from the buffer to the intermediate FIFO for an error by generating CRC data for each sector data and comparing the generated CRC data with CRC data added to the corresponding sector data; a third sequencer configured to transfer data in sectors between the intermediate FIFO and the buffer in accordance with the activation of the buffer transfer; and an update control module configured to update CRC data and a sector pointer held as buffer transfer information in the table when the buffer transfer of a first frame, prior to the buffer transfer of a second frame, has completed, the updated CRC data being generated based on first data from the beginning of a first sector at the end of the first frame to a location in the first sector corresponding to the end of the first frame, and the updated sector pointer indicating the first sector.