A data transfer device comprising: a storage controller that is arranged to store received response data, divided into plural response packets, in a buffer with respect to identification information included in the response packets when receiving the response packets from a first device, the response packets being transferred from the first device in response to a transfer request packet transferred from a second device, the identification information in each response packet being a tag used for associating the request packet with the response packet; and a transfer unit that is arranged to read out, from the buffer, the response data corresponding to the identification information, and transfer the read response data to the second device; characterised by: a division number storage unit that is arranged to store a division number of the response data included in the request packet as a specified value with respect to the identification information when receiving the identification information and the division number identified by the identification information from the second device; a counting unit arranged to count the number of response packets stored in the buffer by the storage controller with respect to the identification information, by obtaining the division number from the division number storage unit, arranged to set an initial value of a counter of the counting unit by using the obtained division number, and to decrement a value of the counter when receiving each response packet from the storage controller, and a determination unit arranged to determine that the number reaches the division number as said specified value when the value of the counter is "0"; wherein the transfer unit is arranged to read out, from the buffer, the response data corresponding to the identification information for which the number of response packets is determined by the determination unit to reach the division number, and to transfer the read response data to the second device. a storage controller that is arranged to store received response data, divided into plural response packets, in a buffer with respect to identification information included in the response packets when receiving the response packets from a first device, the response packets being transferred from the first device in response to a transfer request packet transferred from a second device, the identification information in each response packet being a tag used for associating the request packet with the response packet; and a transfer unit that is arranged to read out, from the buffer, the response data corresponding to the identification information, and transfer the read response data to the second device; characterised by: a division number storage unit that is arranged to store a division number of the response data included in the request packet as a specified value with respect to the identification information when receiving the identification information and the division number identified by the identification information from the second device; a counting unit arranged to count the number of response packets stored in the buffer by the storage controller with respect to the identification information, by obtaining the division number from the division number storage unit, arranged to set an initial value of a counter of the counting unit by using the obtained division number, and to decrement a value of the counter when receiving each response packet from the storage controller, and a determination unit arranged to determine that the number reaches the division number as said specified value when the value of the counter is "0"; wherein the transfer unit is arranged to read out, from the buffer, the response data corresponding to the identification information for which the number of response packets is determined by the determination unit to reach the division number, and to transfer the read response data to the second device. a division number storage unit that is arranged to store a division number of the response data included in the request packet as a specified value with respect to the identification information when receiving the identification information and the division number identified by the identification information from the second device; a counting unit arranged to count the number of response packets stored in the buffer by the storage controller with respect to the identification information, by obtaining the division number from the division number storage unit, arranged to set an initial value of a counter of the counting unit by using the obtained division number, and to decrement a value of the counter when receiving each response packet from the storage controller, and a determination unit arranged to determine that the number reaches the division number as said specified value when the value of the counter is "0"; wherein