Data transfer device, data receiving system and data receiving method
First Claim
1. A data transfer system comprising:
- a host CPU configured to specify an identifier of target file data; and
a data transfer device which receives the target file data having the identifier from a communication device in a network and writes the target file data into a storage device, the storage device being configured to manage data on a block basis and arranged outside the host CPU,wherein the host CPUreads out map information from a predetermined area of the storage device, the map information including one or more metadata each indicating correspondence between an identifier of file data and an area which the file data is stored in the storage device,specifies an available area to write the target file data in the storage device based on the map information and a size of the target file data, the available area including a plurality of blocks in the storage device,generates target metadata indicating correspondence between the specified available area and the identifier of the target file data, andadds the target metadata into the map information stored in the predetermined area of the storage device,wherein the data transfer device includesa receiving buffer configured to store data therein;
a communication processor configured toreceive a reception instruction of the target file data from the host CPU, the reception instruction including the identifier of the target file data and session information indicating a session for reception of the target file data,establish the session according to the session information with the communication device,receive a plurality of packets from the network,check whether a session of each of the received packets coincides with the established session, anddetermine an address for writing data of each of the received packets in the receiving buffer based on a relative position of the data within the target file data, the data of each of the received packets being part of the target file data, if the session of each of the received packets coincides with the established session, and write the data of each of the received packets at the determined address in the receiving buffer; and
a command issuance controller toreceive the target metadata from the host CPU,monitor the receiving buffer to determine whether a block size of continuous data is stored in the receiving buffer at addresses corresponding to the block size in order from a head of the target file data,issue a write command for writing the block size of continuous data at a corresponding block of the plurality of blocks in the storage device if the block size of continuous data is stored in the receiving buffer, andsend the write command to the storage device which executes the write command, andwherein the receiving buffer outputs the continuous data of the block size to the storage device to write the block size of continuous data at the corresponding block in the storage device.
5 Assignments
0 Petitions
Accused Products
Abstract
The data transfer device receives file data through a network and writes the file data to a storage device on a block basis, in which the communication processor receives a receiving instruction for the file data from an external host CPU and receives the file data via one or more packets from the network according to the receiving instruction, the receiving buffer stores data received in the communication processor therein upon receiving each packet, and the command issuance controller acquires, from the external host CPU, map information indicating a position to write the file data in a storage area of the storage device, specifies data in the receiving buffer for writing according to a data storing status of the receiving buffer, issues a write command for writing a specified data to the storage device and sends it to the storage device.
-
Citations
11 Claims
-
1. A data transfer system comprising:
-
a host CPU configured to specify an identifier of target file data; and a data transfer device which receives the target file data having the identifier from a communication device in a network and writes the target file data into a storage device, the storage device being configured to manage data on a block basis and arranged outside the host CPU, wherein the host CPU reads out map information from a predetermined area of the storage device, the map information including one or more metadata each indicating correspondence between an identifier of file data and an area which the file data is stored in the storage device, specifies an available area to write the target file data in the storage device based on the map information and a size of the target file data, the available area including a plurality of blocks in the storage device, generates target metadata indicating correspondence between the specified available area and the identifier of the target file data, and adds the target metadata into the map information stored in the predetermined area of the storage device, wherein the data transfer device includes a receiving buffer configured to store data therein; a communication processor configured to receive a reception instruction of the target file data from the host CPU, the reception instruction including the identifier of the target file data and session information indicating a session for reception of the target file data, establish the session according to the session information with the communication device, receive a plurality of packets from the network, check whether a session of each of the received packets coincides with the established session, and determine an address for writing data of each of the received packets in the receiving buffer based on a relative position of the data within the target file data, the data of each of the received packets being part of the target file data, if the session of each of the received packets coincides with the established session, and write the data of each of the received packets at the determined address in the receiving buffer; and a command issuance controller to receive the target metadata from the host CPU, monitor the receiving buffer to determine whether a block size of continuous data is stored in the receiving buffer at addresses corresponding to the block size in order from a head of the target file data, issue a write command for writing the block size of continuous data at a corresponding block of the plurality of blocks in the storage device if the block size of continuous data is stored in the receiving buffer, and send the write command to the storage device which executes the write command, and wherein the receiving buffer outputs the continuous data of the block size to the storage device to write the block size of continuous data at the corresponding block in the storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10, 11)
-
-
9. A data receiving method using a host CPU configured to specify an identifier of target file data:
- and a data transfer device which receives the target file data having the identifier from a communication device in a network and writes the target file data into a storage device, the storage device being configured to manage data on a block basis and arranged outside the host CPU, the method comprising;
reading out, by the host CPU, map information from a predetermined area of the storage device, the map information including one or more metadata each indicating correspondence between an identifier of file data and an area which the file data is stored in the storage device; specifying, by the host CPU, an available area to write the target file data in the storage device based on the map information and a size of the target file data, the available area including a plurality of blocks in the storage device; generating, by the host CPU, target metadata indicating correspondence between the specified available area and the identifier of the target file data; adding, by the host CPU, the target metadata into the map information stored in the predetermined area of the storage device; receiving, by the data transfer device, a reception instruction of the target file data from the host CPU, the reception instruction including the identifier of the target file data and session information indicating a session for reception of the target file data; establishing, by the data transfer device, the session according to the session information with the communication device; receiving, by the data transfer device, a plurality of packets from the network; checking, by the data transfer device, whether a session of each of the received packets coincides with the session indicated in the session information; receiving, by the data transfer device, the target metadata from the host CPU; determining, by the data transfer device, an address for write of data of each of the received packets in a receiving buffer based on a relative position of the data within the target file data if the session of each of the received packets coincides with the session indicated in the session information, the data of each of the received packets being part of the target file data, and writing the data of each of the received packets at the determined address in the receiving buffer; monitoring, by the data transfer device, the receiving buffer based on the target metadata to determine whether a block size of continuous data is stored in the receiving buffer at addresses corresponding to the block size in order from a head of the target file data; issuing, by the data transfer device, a write command for writing the block size of continuous data at a corresponding block of the plurality of blocks in the storage device if the block size of continuous data is stored in the receiving buffer; sending, by the data transfer device, the write command to the storage device which executes the write command; and outputting the block size of continuous data from the receiving buffer to the storage device to write the block size of continuous data at the corresponding block in the storage device.
- and a data transfer device which receives the target file data having the identifier from a communication device in a network and writes the target file data into a storage device, the storage device being configured to manage data on a block basis and arranged outside the host CPU, the method comprising;
Specification