US-12621372-B2 - Data transfer device and method
Abstract
Provided is a technology of conducting data transfer without 4-kB boundary crossing. A data transfer device includes a metadata creation section that creates metadata including a transfer destination address, a data transfer section that divides transfer data into a plurality of packets, imparts the metadata to a head packet, and sequentially transfers the plurality of packets, and a data transmission section that transmits the plurality of packets transferred by the data transfer section to the transfer destination address included in the metadata. The data transfer section imparts the metadata to the head packet of the plurality of packets, and transfers the head packet according to a write address that simulates a 4-kB boundary position.
Inventors
- Kunihiro Nagasawa
- Shoji Kato
- Ryota TATSUUMA
Assignees
- HITACHI VANTARA, LTD.
Dates
- Publication Date
- 20260505
- Application Date
- 20240905
- Priority Date
- 20240327
Claims (4)
- 1 . A data transfer device for data transfer from a transmission-side data transfer device to a reception-side data transfer device in units of a predetermined size, the data transfer device comprising: a metadata creation section executed on a hardware processor that creates metadata including a transfer destination address; a data transfer section executed on the hardware processor that divides transfer data into a plurality of packets, imparts the metadata to a head packet, and sequentially transfers the plurality of packets; and a data transmission section executed on the hardware processor that transmits, to the transfer destination address included in the metadata, the plurality of packets transferred by the data transfer section, wherein the data transfer section transfers the head packet according to a write address that simulates a boundary position between the predetermined sizes, further comprising: a compression processing section executed on the hardware processor that compresses the packets, a decompression processing section executed on the hardware processor that decompresses the packets compressed by the compression processing section, a determination processing section executed on the hardware processor that executes a determination process of comparing the packets decompressed by the decompression processing section with the transfer data and determining whether the packets have been correctly decompressed by the decompression processing section and been transferred to the transfer destination address, wherein the determination processing section transmits determination information which indicates a result of the determination process to the transmission-side data transfer device, wherein the data transfer section transfers, together with the packets, determination processing setting information which indicates whether or not to execute the determination process, and the determination processing section determines whether or not to execute the determination process, by referring to the determination processing setting information.
- 2 . The data transfer device according to claim 1 , wherein the data transfer section transfers, together with each of the plurality of packets, compressed/clear determination information which indicates whether or not the packet is compressed data, and the decompression processing section determines whether or not to decompress the packet, by referring to the compressed/clear determination information.
- 3 . The data transfer device according to claim 1 , wherein, if the head packet has been successfully compressed by the compression processing section, the data transfer section imparts the metadata to a front side of the head packet, and, if compression of the head packet has failed by the compression processing section, the data transfer section imparts the metadata to a rear side of the head packet.
- 4 . A data transfer method for data transfer from a transmission-side data transfer device to a reception-side data transfer device in units of a predetermined size, the data transfer method comprising: a metadata creation step of creating metadata including a transfer destination address; a data transfer step of dividing transfer data into a plurality of packets, imparting the metadata to a head packet, and sequentially transferring the plurality of packets; and a data transmission step of transmitting the plurality of packets transferred at the data transfer step to the transfer destination address included in the metadata, wherein, in the data transfer step, the metadata is imparted to the head packet of the plurality of packets, and the head packet is transferred according to a write address that simulates a boundary position between the predetermined sizes, further comprising: a compression processing section that compresses the packets, a decompression processing section that decompresses the packets compressed by the compression processing section, a determination processing section that executes a determination process of comparing the packets decompressed by the decompression processing section with the transfer data and determining whether the packets have been correctly decompressed by the decompression processing section and been transferred to the transfer destination address, wherein the determination processing section transmits determination information which indicates a result of the determination process to the transmission-side data transfer device, wherein the data transfer section transfers, together with the packets, determination processing setting information which indicates whether or not to execute the determination process, and the determination processing section determines whether or not to execute the determination process, by referring to the determination processing setting information.
Description
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer device and a method. 2. Description of the Related Art There has been known path compression transfer of, in order to increase the speed of data transfer between controllers connected to each other via a Peripheral Component Interconnect Express (PCIe) switch in a storage apparatus, transferring compressed data and decompressing the data at a transfer destination. In the path compression transfer, 8320-byte (B) data is divided into 512-B transfer packets, and the 512-B transfer packets are compressed, for example. In path compression transfer, if a data transfer start position lies slightly before a 4-kilo byte (kB) boundary, there is a possibility that compressed transfer data crosses the 4-kB boundary. This violates the PCIe standard. In order to obtain transfer packets divided at a 4-kB boundary in a case where data transfer is conducted in bytes, division into transfer packets must be defined for each of 1024 types of lower level addresses which are 0x0 to 0xFFC, so that complicated control is required. A technology of preventing the size of compressed data from exceeding 4 kB is described in Japanese Patent Laid-Open No. 2018-132991 in which a division position for dividing input data into potions of a predetermined size is determined, compression positions in the input data corresponding to one position at which a size from two ends of compressed data obtained by compressing the input data is equal to or larger than the predetermined size and another position, the one position and the other position sandwiching adjacently-positioned division positions, a size between the one position and the other position being equal to or larger than the predetermined size, are determined, each preceding compression data set which is sandwiched between the compression positions that are adjacent to each other with the division position disposed therebetween is compressed, and each of following compression data sets which are obtained by dividing the input data by preceding compression data sets is compressed on the basis of the preceding compression data set adjoining the following compression data set and the following compression data sets. When the compression size is larger than 4 kB, it is determined that the compression has failed, and then, division and compression are conducted in such a way that data division is performed at the center position of the input data. SUMMARY OF THE INVENTION However, Japanese Patent Laid-Open No. 2018-132991 does not disclose a technology for transferring data without causing 4-kB boundary crossing in a case where a data transfer start position lies slightly before a 4-kB boundary. Therefore, an object of the present invention is to provide a technology for transferring data without causing 4-kB boundary crossing. In order to solve the above problems, representative one of data transfer devices according to the present invention is configured for data transfer from a transmission-side data transfer device to a reception-side data transfer device in units of a predetermined size, and includes a metadata creation section that creates metadata including a transfer destination address, a data transfer section that divides transfer data into a plurality of packets, imparts the metadata to a head packet, and sequentially transfers the plurality of packets, and a data transmission section that transmits, to the transfer destination address included in the metadata, the plurality of packets transferred by the data transfer section, in which the data transfer section transfers the head packet according to a write address that simulates a boundary position between the predetermined sizes. According to the present invention, data transfer can be conducted without causing 4-kB boundary crossing. Problems, configurations, and effects other than those described above will be apparent from the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1A is a block diagram depicting one configuration example of a data transfer device according to a present embodiment; FIG. 1B is a block diagram depicting a hardware configuration of a controller including the data transfer device according to the present embodiment; FIG. 2A is a diagram depicting one configuration example of data that is transferred by the data transfer device according to the present embodiment; FIG. 2B is a diagram depicting one configuration example of decompression control data; FIG. 3A is an explanatory diagram of path compression transfer that is performed by the data transfer device according to the present embodiment; FIG. 3B is an explanatory diagram of units in transfer data compression transfer that is performed by the data transfer device according to the present embodiment; FIG. 4 is a flowchart of one example of a path compression transfer process that is performed by the data transfer device accordi