JP5314056B2 - Data transfer control device, data transfer control method, and program therefor - Google Patents

Data transfer control device, data transfer control method, and program therefor Download PDF

Info

Publication number
JP5314056B2
JP5314056B2 JP2011002242A JP2011002242A JP5314056B2 JP 5314056 B2 JP5314056 B2 JP 5314056B2 JP 2011002242 A JP2011002242 A JP 2011002242A JP 2011002242 A JP2011002242 A JP 2011002242A JP 5314056 B2 JP5314056 B2 JP 5314056B2
Authority
JP
Japan
Prior art keywords
data
transfer
transmission
packet
memory access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011002242A
Other languages
Japanese (ja)
Other versions
JP2012146027A (en
Inventor
孝人 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2011002242A priority Critical patent/JP5314056B2/en
Publication of JP2012146027A publication Critical patent/JP2012146027A/en
Application granted granted Critical
Publication of JP5314056B2 publication Critical patent/JP5314056B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent memory access performance of data to be transferred from being degraded when the data to be transferred do not satisfy an address boundary condition in a storage device which performs data transfer between storage devices over a packet switched network. <P>SOLUTION: A data transfer control apparatus includes: a transfer instruction execution unit which outputs a data read request requesting a transmitting-side memory to read out transfer data for the unit of transmitting-side memory access on the basis of a data transfer instruction containing at least a transmitting-side transfer starting address and a receiving-side transfer starting address; and a transfer packet generation unit which generates and outputs a transfer packet by dividing the transfer data outputted from the transmitting-side memory on a boundary of the unit of receiving-side memory access in response to the data read request on the basis of the transmitting-side transfer starting address, the receiving-side transfer starting address, the unit of receiving-side memory access and a transfer packet size when transferring data from the transmitting side to the receiving side. <P>COPYRIGHT: (C)2012,JPO&amp;INPIT

Description

本発明は、装置間のデータ転送に係る、データ転送制御装置、データ転送制御方法、及びそのためのプログラムに関する。   The present invention relates to a data transfer control device, a data transfer control method, and a program therefor relating to data transfer between devices.

記憶装置間のデータ転送に係るさまざまな関連技術が知られている。   Various related techniques relating to data transfer between storage devices are known.

例えば、2つの記憶装置間においてデータの転送を行う場合、転送するデータがアドレス境界条件を満たす場合のほうが、満たさない場合に比べて、制御方法が簡単であり、かつ高速な転送が行えることは、周知である。ここで、転送するデータがアドレス境界条件を満たすとは、各記憶装置間における転送開始アドレスが、それぞれの記憶装置における転送データの読み出し書き込みのアドレス境界に一致するということである。   For example, when transferring data between two storage devices, the control method is simpler and faster transfer is possible when the data to be transferred satisfies the address boundary condition than when the data does not satisfy the address boundary condition. Is well known. Here, the data to be transferred satisfies the address boundary condition means that the transfer start address between the storage devices coincides with the read / write address boundary of the transfer data in each storage device.

しかし、記憶装置のハードウェアの制限(例えば、使用するメモリ素子の構成による制限)や、ソフトウェアのメモリ使用方法(例えば、転送データの格納場所の決定方法)によっては、必ずしもアドレス境界条件が満たされるとは限らない。そのような場合、必要なメモリアクセス性能を得られない場合があった。   However, the address boundary condition is always satisfied depending on the hardware limitation of the storage device (for example, the limitation due to the configuration of the memory element to be used) and the memory usage method of the software (for example, the determination method of the storage location of the transfer data). Not necessarily. In such a case, the required memory access performance may not be obtained.

このような問題点を解決する技術が特許文献1に記載されている。特許文献1に記載のデータ転送装置は、転送データを一時的に蓄えるための、バッファを3つ以上備えている。このバッファは、任意のサイズのデータを、送信側と受信側で競合しない限り任意のタイミングで、アクセス可能なバッファである。更に、このデータ転送装置は、それらバッファを転送元記憶装置と転送先記憶装置との間で順次切り替えてデータ転送を行う、転送元側制御手段と転送先側制御手段とを有している。このような構成を有するこのデータ転送装置は、転送元及び転送先の、いずれか一方または両方の、記憶装置の転送開始アドレスがアドレス境界条件を満たしていない場合であっても、転送元記憶装置からデータ転送装置へのデータ転送と、データ転送装置から転送先記憶装置へのデータ転送を並列に実行する。こうして、このデータ転送装置は、高速なデータ転送を実現する。   A technique for solving such problems is described in Patent Document 1. The data transfer device described in Patent Document 1 includes three or more buffers for temporarily storing transfer data. This buffer is an accessible buffer at an arbitrary timing as long as data of an arbitrary size does not compete between the transmission side and the reception side. Further, the data transfer device includes a transfer source side control unit and a transfer destination side control unit that perform data transfer by sequentially switching the buffers between the transfer source storage device and the transfer destination storage device. The data transfer device having such a configuration is provided with the transfer source storage device even when the transfer start address of the storage device, either or both of the transfer source and the transfer destination, does not satisfy the address boundary condition The data transfer from the data transfer device to the data transfer device and the data transfer from the data transfer device to the transfer destination storage device are executed in parallel. Thus, this data transfer apparatus realizes high-speed data transfer.

特開平7−105128号公報JP 7-105128 A

しかしながら、特許文献1に記載の技術は、パケット交換網を介してデータ転送を行う装置において、転送するデータがアドレス境界条件を満たしていない場合に、転送するデータのメモリアクセス性能を低下させないようにするという課題を解決していない。その理由は、特許文献1のデータ転送装置は、転送元と転送先とがバッファを直接介してデータ転送を行うものであって、所定のサイズの転送データをパケットに格納して順次転送するパケット交換方式には対応していないためである。   However, the technique disclosed in Patent Document 1 is such that, in an apparatus that performs data transfer via a packet switching network, when the data to be transferred does not satisfy the address boundary condition, the memory access performance of the data to be transferred is not deteriorated. The problem of doing is not solved. The reason is that in the data transfer device of Patent Document 1, a transfer source and a transfer destination directly transfer data via a buffer, and transfer data of a predetermined size is stored in a packet and sequentially transferred. This is because the exchange method is not supported.

本発明の目的は、上述した課題を解決するデータ転送制御装置、データ転送制御方法、及びそのためのプログラムを提供することにある。   An object of the present invention is to provide a data transfer control device, a data transfer control method, and a program therefor that solve the above-described problems.

本発明のデータ転送制御装置は、送信側転送開始アドレスと受信側転送開始アドレスとを少なくとも含むデータ転送命令に基づいて、送信側メモリアクセス単位で転送データを読み出すことを送信側メモリに要求する、データ読出要求を出力する転送命令実行部と、
前記送信側転送開始アドレスと前記受信側転送開始アドレスと受信側メモリアクセス単位と前記データを送信側から受信側へ転送する際の転送パケットサイズに基づいて、前記データ読出要求に応答して前記送信側メモリから出力された前記転送データを、前記受信側メモリアクセス単位の境界で分割して転送パケットを生成し、出力する転送パケット生成部と、を含む。
The data transfer control device of the present invention requests the transmission side memory to read the transfer data in units of the transmission side memory access based on a data transfer instruction including at least the transmission side transfer start address and the reception side transfer start address. A transfer instruction execution unit for outputting a data read request;
Based on the transmission side transfer start address, the reception side transfer start address, a reception side memory access unit, and a transfer packet size when transferring the data from the transmission side to the reception side, the transmission side in response to the data read request A transfer packet generation unit that generates the transfer packet by dividing the transfer data output from the side memory at the boundary of the reception side memory access unit, and outputs the transfer packet.

本発明のデータ転送制御方法は、パケット交換網を介してデータ転送を行う装置が、
送信側転送開始アドレスと受信側転送開始アドレスとを少なくとも含むデータ転送命令に基づいて、送信側メモリアクセス単位で転送データを読み出すことを送信側メモリに要求する、データ読出要求を出力し、
前記送信側転送開始アドレスと前記受信側転送開始アドレスと受信側メモリアクセス単位と前記データを送信側から受信側へ転送する際の転送パケットサイズに基づいて、前記データ読出要求に応答して前記送信側メモリから出力された前記転送データを、前記受信側メモリアクセス単位の境界で分割して転送パケットを生成し、出力する。
In the data transfer control method of the present invention, an apparatus for transferring data via a packet switching network includes:
Based on a data transfer command including at least a transmission-side transfer start address and a reception-side transfer start address, a data read request is output to request the transmission-side memory to read transfer data in a transmission-side memory access unit,
Based on the transmission side transfer start address, the reception side transfer start address, a reception side memory access unit, and a transfer packet size when transferring the data from the transmission side to the reception side, the transmission side in response to the data read request The transfer data output from the side memory is divided at the boundary of the reception side memory access unit to generate a transfer packet and output it.

本発明のプログラムは、送信側転送開始アドレスと受信側転送開始アドレスとを少なくとも含むデータ転送命令に基づいて、送信側メモリアクセス単位で転送データを読み出すことを送信側メモリに要求する、データ読出要求を出力し、
前記送信側転送開始アドレスと前記受信側転送開始アドレスと受信側メモリアクセス単位と前記データを送信側から受信側へ転送する際の転送パケットサイズに基づいて、前記データ読出要求に応答して前記送信側メモリから出力された前記転送データを、前記受信側メモリアクセス単位の境界で分割して転送パケットを生成し、出力する処理
をコンピュータに実行させる。
A program according to the present invention requests a transmission side memory to read out transfer data in units of transmission side memory access based on a data transfer instruction including at least a transmission side transfer start address and a reception side transfer start address. Output
Based on the transmission side transfer start address, the reception side transfer start address, a reception side memory access unit, and a transfer packet size when transferring the data from the transmission side to the reception side, the transmission side in response to the data read request The transfer data output from the side memory is divided at the boundary of the reception side memory access unit to generate a transfer packet and cause the computer to execute a process of outputting.

本発明は、パケット交換網を介してデータ転送を行う装置において、転送するデータがアドレス境界条件を満たしていない場合に、転送するデータのメモリアクセス性能を低下させないようにするという課題を解決することが可能になるという効果がある。   The present invention solves the problem of preventing the memory access performance of data to be transferred from deteriorating when the data to be transferred does not satisfy the address boundary condition in an apparatus that performs data transfer via a packet switching network. Has the effect of becoming possible.

本発明の第1の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 1st Embodiment of this invention. 本発明の第1の実施形態における、データ転送命令の例を示す図である。It is a figure which shows the example of the data transfer command in the 1st Embodiment of this invention. 本発明の第1の実施形態における、データ読出要求の例を示す図である。It is a figure which shows the example of the data reading request | requirement in the 1st Embodiment of this invention. 本発明の第1の実施形態の送信側メモリの一部の例を示す図である。It is a figure which shows the example of a part of transmission side memory of the 1st Embodiment of this invention. 本発明の第1の実施形態の受信側メモリの一部の例を示す図である。It is a figure which shows the example of a part of receiving side memory of the 1st Embodiment of this invention. 本発明の第1の実施形態の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the 1st Embodiment of this invention. 本発明の第1の実施形態の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the 1st Embodiment of this invention. 本発明の第1の実施形態における、カレントアドレスとリミットアドレスとの具体的な例を示す図である。It is a figure which shows the specific example of a current address and a limit address in the 1st Embodiment of this invention. 本発明の第1の実施形態における、1つ目の転送パケット631の例を示す図である。It is a figure which shows the example of the 1st transfer packet 631 in the 1st Embodiment of this invention. 本発明の第1の実施形態における、2つ目の転送パケット632の例を示す図である。It is a figure which shows the example of the 2nd transfer packet 632 in the 1st Embodiment of this invention. 本発明の第1の実施形態における、3つ目の転送パケット633の例を示す図である。It is a figure which shows the example of the 3rd transfer packet 633 in the 1st Embodiment of this invention. 本発明の第1の実施形態における、4つ目の転送パケット634の例を示す図である。It is a figure which shows the example of the 4th transfer packet 634 in the 1st Embodiment of this invention. 本発明の第1の実施形態のプログラムにより所定の処理をコンピュータに実行させるデータ転送制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data transfer control apparatus which makes a computer perform a predetermined | prescribed process with the program of the 1st Embodiment of this invention. 本発明の第2の実施形態のデータ転送システムの構成を示すブロック図である。It is a block diagram which shows the structure of the data transfer system of the 2nd Embodiment of this invention. 本発明の第2の実施形態における、データ転送命令650の例を示す図である。It is a figure which shows the example of the data transfer command 650 in the 2nd Embodiment of this invention. 本発明の第2の実施形態のデータ転送制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data transfer control apparatus of the 2nd Embodiment of this invention. 本発明の第2の実施形態における、データバッファ番号の例を示す図である。It is a figure which shows the example of the data buffer number in the 2nd Embodiment of this invention. 本発明の第2の実施形態における、1パケット情報の例を示す図である。It is a figure which shows the example of 1 packet information in the 2nd Embodiment of this invention. 本発明の第2の実施形態における、受信側パケットアドレスの例を示す図である。It is a figure which shows the example of the receiving side packet address in the 2nd Embodiment of this invention. 本発明の第2の実施形態における、補正情報の例を示す図である。It is a figure which shows the example of the correction information in the 2nd Embodiment of this invention. 本発明の第2の実施形態における、メモリリクエスト情報の例を示す図である。It is a figure which shows the example of the memory request information in the 2nd Embodiment of this invention. 本発明の第2の実施形態における、送信側メモリアクセス単位データの例を示す図である。It is a figure which shows the example of the transmission side memory access unit data in the 2nd Embodiment of this invention. 本発明の第2の実施形態における、データバッファ格納データの例を示す図である。It is a figure which shows the example of the data buffer storage data in the 2nd Embodiment of this invention. 本発明の第2の実施形態の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the 2nd Embodiment of this invention. 本発明の第2の実施形態における、転送データをデータバッファに格納する動作を示す図である。It is a figure which shows the operation | movement which stores the transfer data in the data buffer in the 2nd Embodiment of this invention. 本発明の第2の実施形態の送信側メモリの一部の例を示す図である。It is a figure which shows the example of a part of transmission side memory of the 2nd Embodiment of this invention. 本発明の第2の実施形態の受信側メモリの一部の例を示す図である。It is a figure which shows the example of a part of receiving side memory of the 2nd Embodiment of this invention. 本発明の第2の実施形態における、格納要素番号の算出と格納バッファ番号の決定との手順を示す図である。It is a figure which shows the procedure of calculation of a storage element number, and determination of a storage buffer number in the 2nd Embodiment of this invention. 本発明の第2の実施形態における、格納要素番号の算出と格納バッファ番号の決定との手順を示す図である。It is a figure which shows the procedure of calculation of a storage element number, and determination of a storage buffer number in the 2nd Embodiment of this invention. 関連技術の、課題が解決されていない場合の記憶装置間のデータ転送において、生成される転送パケットを示す図である。It is a figure which shows the transfer packet produced | generated in the data transfer between the memory | storage devices when the subject is not solved of related technology. 関連技術の、課題が解決されていない場合の記憶装置間のデータ転送において、転送パケットデータの受信側メモリへの書き込みの動作を示す図である。It is a figure which shows the operation | movement of writing to the receiving side memory of transfer packet data in the data transfer between memory | storage devices when the subject is not solved of related technology.

次に、本発明の実施形態について図面を参照して詳細に説明する。   Next, embodiments of the present invention will be described in detail with reference to the drawings.

[第1の実施形態]
図1は、本発明の第1の実施形態の構成を示すブロック図である。図1に示すように本実施形態に係るデータ転送制御装置300は、転送命令実行部330と転送パケット生成部350とを含む。
[First Embodiment]
FIG. 1 is a block diagram showing the configuration of the first exemplary embodiment of the present invention. As shown in FIG. 1, the data transfer control device 300 according to the present embodiment includes a transfer command execution unit 330 and a transfer packet generation unit 350.

転送命令実行部330は、送信側転送開始アドレスと受信側転送開始アドレスとを少なくとも含むデータ転送命令に基づいて、送信側メモリアクセス単位で転送データを読み出すことを送信側メモリ(図示しない)に要求する、データ読出要求を出力する。また、転送命令実行部330は、データ転送命令に含まれる送信側転送開始アドレスと受信側転送開始アドレスとを転送パケット生成部350に出力する。図2は、データ転送命令の例を示す図である。図2に示すように、データ転送命令610は、送信側転送開始アドレス611と受信側転送開始アドレス612とを少なくとも含む。図3は、データ読出要求の例を示す図である。図3に示すように、データ読出要求620は、少なくとも読出アドレス621を含む。   The transfer command execution unit 330 requests a transmission side memory (not shown) to read transfer data in units of transmission side memory access based on a data transfer command including at least a transmission side transfer start address and a reception side transfer start address. A data read request is output. Also, the transfer command execution unit 330 outputs the transmission side transfer start address and the reception side transfer start address included in the data transfer command to the transfer packet generation unit 350. FIG. 2 is a diagram illustrating an example of a data transfer instruction. As shown in FIG. 2, the data transfer instruction 610 includes at least a transmission side transfer start address 611 and a reception side transfer start address 612. FIG. 3 is a diagram illustrating an example of a data read request. As shown in FIG. 3, the data read request 620 includes at least a read address 621.

転送パケット生成部350は、送信側転送開始アドレス611と受信側転送開始アドレス612と受信側メモリアクセス単位(例えば、64バイト)と転送データを送信側から受信側へ転送する際の転送パケットサイズ(例えば、128バイト)に基づいて、データ読出要求620に応答して送信側メモリから出力された転送データを、受信側メモリアクセス単位の境界で分割して転送パケットを生成し、出力する。   The transfer packet generation unit 350 transmits a transfer packet size (a transfer-side transfer start address 611, a reception-side transfer start address 612, a reception-side memory access unit (eg, 64 bytes), and transfer packet size when transferring transfer data from the transmission side to the reception side ( For example, based on 128 bytes), the transfer data output from the transmission side memory in response to the data read request 620 is divided at the boundary of the reception side memory access unit to generate and output a transfer packet.

次に、本実施形態の動作について、以下の前提に基づいて、図1〜5を参照して詳細に説明する。   Next, the operation of the present embodiment will be described in detail with reference to FIGS.

送信側転送開始アドレス611及び受信側転送開始アドレス612のアドレス境界は、8バイト境界である。   The address boundary between the transmission side transfer start address 611 and the reception side transfer start address 612 is an 8-byte boundary.

送信側メモリアクセス単位及び受信側メモリアクセス単位は、64バイトである。従って、送信側メモリアクセス境界アドレス及び受信側メモリアクセス境界アドレスのアドレス境界は、64バイト境界である。   The transmission side memory access unit and the reception side memory access unit are 64 bytes. Therefore, the address boundary of the transmission side memory access boundary address and the reception side memory access boundary address is a 64-byte boundary.

送信側転送開始アドレス611は、ある送信側メモリアクセス境界アドレス[A]に、「8(8バイト分のアドレス増分値)」を加えた「A+8」である。尚、“[A]”は、“A”がある送信側メモリアクセス境界アドレスの値であることを表している(以下、他の要素についても同様のことを意味する)。   The transmission-side transfer start address 611 is “A + 8” obtained by adding “8 (8-byte address increment value)” to a certain transmission-side memory access boundary address [A]. Note that “[A]” indicates that “A” is a value of a certain transmission side memory access boundary address (hereinafter, the same applies to other elements).

受信側転送開始アドレス612は、ある受信側メモリアクセス境界アドレス[B]に、「40(40バイト分のアドレス増分値)」を加えた「B+40」である。   The receiving-side transfer start address 612 is “B + 40” obtained by adding “40 (address increment value for 40 bytes)” to a certain receiving-side memory access boundary address [B].

転送パケットサイズは、128バイトである。即ち、転送パケット生成用のデータバッファ(図示しない)のサイズは、128バイトである。尚、転送パケット生成部350は、複数のデータバッファを含んでいる。   The transfer packet size is 128 bytes. That is, the size of the data buffer (not shown) for generating the transfer packet is 128 bytes. Note that the transfer packet generation unit 350 includes a plurality of data buffers.

以下の説明において、データ転送命令610に基づいて転送するデータの量を示す総転送サイズは、64×58=3712バイトである。尚、転送サイズは、データ転送命令に含まれていても良いし、データ転送制御装置300の図示しない記憶部に予め保持されていてもよい。   In the following description, the total transfer size indicating the amount of data transferred based on the data transfer command 610 is 64 × 58 = 3712 bytes. The transfer size may be included in the data transfer command, or may be held in advance in a storage unit (not shown) of the data transfer control device 300.

図4は、転送データが格納されている、送信側メモリの一部の例を示す図である。   FIG. 4 is a diagram illustrating an example of a part of the transmission-side memory in which transfer data is stored.

図4において、転送データを、送信側転送開始アドレス611のアドレス境界である8バイト境界のデータ単位(以後、このデータ単位を要素データと呼ぶ)毎に、D0〜D57の識別子を付して示す。図4を参照すると、要素データD0(D0の識別子が付された要素データ、以下同様)〜要素データD57は、送信側メモリ370の送信側メモリアクセス境界アドレス371[A]から送信側メモリアクセス境界アドレス371[A+64*7]それぞれで始まる8つの送信側メモリアクセス単位に含まれている。   In FIG. 4, transfer data is shown with identifiers D0 to D57 for each data unit of an 8-byte boundary that is the address boundary of the transmission-side transfer start address 611 (hereinafter, this data unit is referred to as element data). . Referring to FIG. 4, element data D0 (element data to which an identifier of D0 is attached, the same applies hereinafter) to element data D57 are transmitted from the transmission side memory access boundary address 371 [A] of the transmission side memory 370 to the transmission side memory access boundary. It is included in eight transmission side memory access units starting with each address 371 [A + 64 * 7].

図5は、転送データが格納された、受信側メモリの一部の例を示す図である。図5を参照すると、要素データD0〜要素データD57は、受信側メモリ380の送信側メモリアクセス境界アドレス381[B]から送信側メモリアクセス境界アドレス381[B+64*7]それぞれで始まる8つの受信側メモリアクセス単位に含まれている。   FIG. 5 is a diagram illustrating an example of a part of the reception-side memory in which transfer data is stored. Referring to FIG. 5, element data D0 to element data D57 are eight reception sides starting from the transmission side memory access boundary address 381 [B] of the reception side memory 380 to the transmission side memory access boundary address 381 [B + 64 * 7], respectively. It is included in the memory access unit.

本動作の説明において、先に送信する転送パケットの転送データを格納するデータバッファをカレントデータバッファと、その次に送信する転送パケットの転送データを格納するデータバッファをネクストデータバッファと呼ぶ。   In the description of this operation, a data buffer that stores transfer data of a transfer packet to be transmitted first is called a current data buffer, and a data buffer that stores transfer data of a transfer packet to be transmitted next is called a next data buffer.

以上を前提として、以下に動作を説明する。   Based on the above, the operation will be described below.

図6及び図7は、本実施形態の動作を示すフローチャートである。   6 and 7 are flowcharts showing the operation of this embodiment.

最初に、転送命令実行部330は、送信側転送開始アドレス611[A+8]を含む送信側メモリアクセス境界アドレス371[A]を、読出アドレス621として取得する(S402)。   First, the transfer command execution unit 330 acquires the transmission side memory access boundary address 371 [A] including the transmission side transfer start address 611 [A + 8] as the read address 621 (S402).

次に、転送命令実行部330は、読出アドレス621を含むデータ読出要求620を出力する(S404)。   Next, the transfer instruction execution unit 330 outputs a data read request 620 including the read address 621 (S404).

次に、転送パケット生成部350は、S404で出力されたデータ読出要求620に応答して送信側メモリ370から出力された、転送データを受け取る(S406)。前述の前提に基づいて例を示すと、例えば1回目にこのステップを実施する場合、受け取る転送データは、要素データD0〜D6である。また例えば2回目にこのステップを実施する場合、受け取る転送データは、要素データD7〜D14である。また例えば3回目にこのステップを実施する場合、受け取る転送データは、要素データD15〜D22である。   Next, the transfer packet generator 350 receives the transfer data output from the transmission side memory 370 in response to the data read request 620 output in S404 (S406). If an example is shown based on the above-mentioned assumption, for example, when this step is performed for the first time, the transfer data to be received is element data D0 to D6. For example, when this step is performed for the second time, the transfer data to be received is element data D7 to D14. For example, when this step is executed for the third time, the transfer data to be received is element data D15 to D22.

次に、転送パケット生成部350は、受信側転送開始アドレス612[B+40]と既にカレントデータバッファに書き込んだ転送データのサイズに対応するアドレス増分値とを加算し、カレントアドレスを算出する(S408)。前述の前提に基づいて例を示すと、例えば1回目にこのステップを実施する場合、カレントアドレスは、B+40である。また例えば2回目にこのステップを実施する場合、カレントアドレスは、B+40+56である。また例えば3回目にこのステップを実施する場合、カレントアドレスは、B+40+56+64である。   Next, the transfer packet generation unit 350 adds the reception-side transfer start address 612 [B + 40] and the address increment value corresponding to the size of the transfer data already written in the current data buffer, and calculates the current address (S408). . Taking an example based on the above assumption, for example, when this step is performed for the first time, the current address is B + 40. For example, when this step is executed for the second time, the current address is B + 40 + 56. For example, when this step is executed for the third time, the current address is B + 40 + 56 + 64.

次に、転送パケット生成部350は、次の転送データを書き込むカレントデータバッファ内のアドレスをカレントアドレスに対応させた場合に、カレントデータバッファの「カレントアドレスに対応するアドレス」から「最大のアドレス+1」までの内で、最も大きな「受信側メモリアクセス境界アドレスに対応するアドレス」に対応するカレントデータバッファアドレスを、リミットアドレスとして算出する(S410)。図8は、カレントアドレスとリミットアドレスとの具体的な例を示す図である。   Next, when the address in the current data buffer in which the next transfer data is written is associated with the current address, the transfer packet generator 350 changes the “address corresponding to the current address” to “maximum address + 1”. The current data buffer address corresponding to the largest “address corresponding to the receiving-side memory access boundary address” is calculated as a limit address (S410). FIG. 8 is a diagram illustrating a specific example of the current address and the limit address.

図8を参照して、前述の前提に基づいて例を示すと、例えば1回目にこのステップを実施する場合、次の転送データは要素データD0である。この転送データを書き込むカレントデータバッファアドレス352は、「0」である。このカレントデータバッファアドレス352をカレントアドレス353[B+40]に対応させた場合に、カレントデータバッファアドレス352「0」からカレントデータバッファ最大+1アドレス354[8*16]までの内で対応する受信側メモリアクセス境界アドレスの内の、最も大きな受信側メモリアクセス境界アドレスである最大対応受信側メモリアクセス境界アドレス355は、「B+64*2」である。この最大対応受信側メモリアクセス境界アドレス355に対応するカレントデータバッファアドレス356、即ちリミットアドレス357は「8*11」である。   Referring to FIG. 8, an example based on the above-mentioned assumption will be described. For example, when this step is performed for the first time, the next transfer data is element data D0. The current data buffer address 352 for writing the transfer data is “0”. When this current data buffer address 352 is made to correspond to the current address 353 [B + 40], the receiving side memory corresponding to the current data buffer address 352 “0” to the current data buffer maximum +1 address 354 [8 * 16] Among the access boundary addresses, the maximum corresponding reception side memory access boundary address 355 which is the largest reception side memory access boundary address is “B + 64 * 2”. The current data buffer address 356 corresponding to the maximum corresponding receiving side memory access boundary address 355, that is, the limit address 357 is “8 * 11”.

また例えば2回目にこのステップを実施する場合、次の転送データは要素データD7である。そして、リミットアドレスは、受信側メモリアクセス境界アドレス[B+64*2]に対応するカレントデータバッファアドレスである、「8*11」である。また例えば3回目にこのステップを実施する場合、次の転送データは要素データD15であり、リミットアドレスは受信側メモリアクセス境界アドレス[B+64*4]に対応するカレントデータバッファ最大+1アドレス354である、「8*16」である。   For example, when this step is performed for the second time, the next transfer data is the element data D7. The limit address is “8 * 11”, which is the current data buffer address corresponding to the receiving-side memory access boundary address [B + 64 * 2]. For example, when this step is executed for the third time, the next transfer data is the element data D15, and the limit address is the current data buffer maximum +1 address 354 corresponding to the receiving side memory access boundary address [B + 64 * 4]. “8 * 16”.

次に、転送パケット生成部350は、S406で受け取った転送データが、リミットアドレス未満に収まるか否かを確認する(S412)。リミットアドレス未満に収まる場合(S412でYES)、処理はS414へ進む。リミットアドレス未満に収まらない場合(S412でNO)、処理はS420へ進む。前述の前提に基づいて例を示すと、例えば1回目、2回目及び3回目にこのステップを実施する場合、それぞれ、S412でYES、S412でNO及びS412でYESである。   Next, the transfer packet generation unit 350 checks whether or not the transfer data received in S406 falls below the limit address (S412). If it falls below the limit address (YES in S412), the process proceeds to S414. If it does not fall below the limit address (NO in S412), the process proceeds to S420. If an example is shown based on the above-mentioned premise, for example, when this step is performed for the first time, the second time, and the third time, YES in S412, NO in S412 and YES in S412, respectively.

S414において、転送パケット生成部350は、S404で出力されたデータ読出要求620に応答して送信側メモリ370から出力された転送データを、パケット生成用のカレントデータバッファに書き込む(S414)。前述の前提に基づいて例を示すと、例えば1回目にこのステップを実施する場合、カレントデータバッファに書き込む転送データは要素データD0〜D6である。また例えば2回目にこのステップを実施する場合、カレントデータバッファは次のデータバッファであり、カレントデータバッファに書き込む転送データは要素データD15〜D18である。   In S414, the transfer packet generation unit 350 writes the transfer data output from the transmission side memory 370 in response to the data read request 620 output in S404 in the current data buffer for packet generation (S414). If an example is shown based on the above-mentioned premise, for example, when this step is executed for the first time, the transfer data to be written to the current data buffer is element data D0 to D6. For example, when this step is performed for the second time, the current data buffer is the next data buffer, and the transfer data to be written to the current data buffer is the element data D15 to D18.

次に、転送パケット生成部350は、カレントデータバッファのリミットアドレスの直前のアドレスまで転送データを書き込んだ(転送データ書き込み完了)か否かを確認する(S416)。書き込んだ場合(S416でYES)、処理はS430へ進む。書き込んでない場合(S416でNO)、処理はS418へ進む。前述の前提に基づいて例を示すと、例えば1回目、2回目及び3回目にこのステップを実施する場合、それぞれ、S416でNO、S416でYES及びS416でNOである。   Next, the transfer packet generation unit 350 checks whether or not the transfer data has been written up to the address immediately before the limit address of the current data buffer (transfer data write completion) (S416). If written (YES in S416), the process proceeds to S430. If not written (NO in S416), the process proceeds to S418. If an example is shown based on the above-mentioned assumption, for example, when this step is performed for the first time, the second time, and the third time, NO in S416, YES in S416, and NO in S416, respectively.

次に、転送パケット生成部350は、最後の転送データ(即ち、要素データD57)を書き込んだ(最後の書き込み完了)か否かを確認する(S418)。書き込んだ場合(S418でYES)、処理はS430へ進む。書き込んでない場合(S418でNO)、処理はS432へ進む。   Next, the transfer packet generation unit 350 checks whether or not the last transfer data (that is, the element data D57) has been written (the last write is completed) (S418). If written (YES in S418), the process proceeds to S430. If not written (NO in S418), the process proceeds to S432.

S420において、転送パケット生成部350は、S404で出力されたデータ読出要求620に応答して送信側メモリ370から出力された転送データを、リミットアドレス未満に収まる分の転送データと、収まらない分の転送データとに分割する(S420)。続けて転送パケット生成部350は、リミットアドレス未満に収まる分の転送データをカレントデータバッファに書き込む(S421)。更に続けて、転送パケット生成部350は、カレントデータバッファに書き込まなかった分の転送データ、即ちリミットアドレス未満に収まらない分の転送データをネクストデータバッファに書き込む(S422)。前述の前提に基づいて例を示すと、例えば1回目にこのステップを実施する場合、カレントデータバッファに書き込む転送データは要素データD0〜D6である。また例えば2回目にこのステップを実施する場合、カレントデータバッファに書き込む転送データは要素データD7〜D10であり、ネクストデータバッファに書き込む転送データは要素データD11〜D14である。   In S420, the transfer packet generator 350 sends the transfer data output from the transmission-side memory 370 in response to the data read request 620 output in S404 to the transfer data that does not fit within the limit address. The data is divided into transfer data (S420). Subsequently, the transfer packet generation unit 350 writes the transfer data corresponding to less than the limit address in the current data buffer (S421). Subsequently, the transfer packet generation unit 350 writes the transfer data that has not been written to the current data buffer, that is, the transfer data that does not fall below the limit address, to the next data buffer (S422). If an example is shown based on the above-mentioned premise, for example, when this step is executed for the first time, the transfer data to be written to the current data buffer is element data D0 to D6. For example, when this step is performed for the second time, the transfer data to be written to the current data buffer is element data D7 to D10, and the transfer data to be written to the next data buffer is element data D11 to D14.

次に、転送パケット生成部350は、カレントデータバッファの転送データ(例えば、要素データD0〜D10)に、先頭データ(例えば、要素データD0)の受信側メモリ書込アドレスを付加した転送パケットを生成し、出力する(S423)。図9は、1つ目の転送パケット631の例を示す図である。図9に示すように、転送パケット631は、受信側メモリ書込アドレスとして、受信側転送開始アドレス612である「B+40」が付加され、要素データD0からD10が格納されている。図10は、2つ目の転送パケット632の例を示す図である。図10に示すように、転送パケット632は、受信側メモリ書込アドレスとして、受信側転送開始アドレス612[B+40]に1つ目の転送パケット631で転送した転送データ長(例えば、88)を加算した値(即ち、受信側メモリアクセス境界アドレスである「B+64*2」が付加され、要素データD11からD26が格納されている。
図11は、3つ目の転送パケット633の例を示す図である。転送パケット633の詳細は、転送パケット632と同様に考えればよいため説明を省略する。
Next, the transfer packet generation unit 350 generates a transfer packet by adding the reception memory write address of the head data (for example, element data D0) to the transfer data (for example, element data D0 to D10) in the current data buffer. And output (S423). FIG. 9 is a diagram illustrating an example of the first transfer packet 631. As shown in FIG. 9, in the transfer packet 631, “B + 40” that is the reception side transfer start address 612 is added as the reception side memory write address, and element data D0 to D10 are stored. FIG. 10 is a diagram illustrating an example of the second transfer packet 632. As shown in FIG. 10, the transfer packet 632 adds the transfer data length (for example, 88) transferred by the first transfer packet 631 to the reception-side transfer start address 612 [B + 40] as the reception-side memory write address. The value (ie, “B + 64 * 2” which is the receiving side memory access boundary address) is added, and element data D11 to D26 are stored.
FIG. 11 is a diagram illustrating an example of the third transfer packet 633. The details of the transfer packet 633 may be considered in the same manner as the transfer packet 632, and thus the description thereof is omitted.

次に、転送パケット生成部350は、ネクストデータバッファに最後の転送データ(即ち、要素データD57)を書き込んだか否かを確認する(S424)。書き込んだ場合(S424でYES)、処理はS430へ進む。書き込んでない場合(S424でNO)、処理はS426へ進む。   Next, the transfer packet generator 350 confirms whether or not the last transfer data (that is, the element data D57) has been written in the next data buffer (S424). If written (YES in S424), the process proceeds to S430. If not written (NO in S424), the process proceeds to S426.

S426において、転送パケット生成部350は、ネクストデータバッファをカレントデータバッファとし、更に次のデータバッファをネクストデータバッファとする(S426)。そして、処理は、S434へ進む。   In S426, the transfer packet generator 350 sets the next data buffer as the current data buffer, and further sets the next data buffer as the next data buffer (S426). Then, the process proceeds to S434.

S430において、転送パケット生成部350は、カレントデータバッファの転送データ(例えば、要素データD0〜D10)に、先頭データ(即ち、要素データD0)の受信側メモリへの書き込みアドレスとして受信側転送開始アドレス612を付加した転送パケットを生成し出力する(S430)。図12は、4つ目の転送パケット634の例を示す図である。転送パケット633の詳細は、転送パケット632と同様に考えればよいため説明を省略する。   In S430, the transfer packet generation unit 350 adds the transfer data (for example, element data D0 to D10) in the current data buffer to the reception side transfer start address as the write address of the head data (ie, element data D0) to the reception side memory. A transfer packet with 612 added is generated and output (S430). FIG. 12 is a diagram illustrating an example of the fourth transfer packet 634. The details of the transfer packet 633 may be considered in the same manner as the transfer packet 632, and thus the description thereof is omitted.

次に、転送命令実行部330は、このデータ転送命令610の処理で転送する総転送サイズ分の転送データの読み出しを完了したか否かを確認する(S432)。完了した場合(S432でYES)、処理は終了する。完了していない場合(S432でNO)、処理はS434へ進む。   Next, the transfer command execution unit 330 confirms whether or not reading of transfer data for the total transfer size transferred in the processing of the data transfer command 610 has been completed (S432). If completed (YES in S432), the process ends. If not completed (NO in S432), the process proceeds to S434.

S434において、転送命令実行部330は、読出アドレス621を更新し、データ読出要求620を出力する(S434)。そして、処理は、S404に進む。尚、転送命令実行部330は、先に出力したデータ読出要求620の読出アドレス621に送信側メモリアクセス単位(64バイト)分のアドレス増分値(例えば、64)を加算することで、読出アドレス621を更新する。   In S434, the transfer instruction execution unit 330 updates the read address 621 and outputs a data read request 620 (S434). Then, the process proceeds to S404. The transfer instruction execution unit 330 adds an address increment value (for example, 64) for the transmission side memory access unit (64 bytes) to the read address 621 of the data read request 620 output previously, thereby reading the read address 621. Update.

本実施形態に係るデータ転送制御装置300は、以上説明したように動作する。   The data transfer control device 300 according to the present embodiment operates as described above.

尚、上述のデータ転送制御装置300が送信する転送パケットを受信した場合、受信側の記憶装置は、以下のように動作する。   Note that when the transfer packet transmitted by the data transfer control device 300 is received, the storage device on the receiving side operates as follows.

最初に、受信側の記憶装置は、例えばノード間ネットワーク網を介して、データ転送制御装置300が送信する転送パケット631を受信する。   First, the storage device on the receiving side receives the transfer packet 631 transmitted by the data transfer control device 300 via, for example, the inter-node network.

次に、受信側の記憶装置は、転送パケット631に基づいて、受信側メモリ380の受信側メモリ書込アドレスとして示される「B+40」に基づいて、要素データD0〜D10を書き込む。要素データD0〜D2及び要素データD3〜D10それぞれを書き込む領域は、受信側メモリアクセス境界アドレスをまたいでいない、即ち1つの受信側メモリアクセス単位に含まれる。従って、受信側の記憶装置は、転送パケット631で受け取った転送データを、最少の2回の書き込み動作で書き込む。   Next, the storage device on the receiving side writes the element data D0 to D10 based on “B + 40” indicated as the receiving side memory write address of the receiving side memory 380 based on the transfer packet 631. The areas in which the element data D0 to D2 and the element data D3 to D10 are written are not included in the reception-side memory access boundary address, that is, included in one reception-side memory access unit. Therefore, the storage device on the receiving side writes the transfer data received by the transfer packet 631 with a minimum of two write operations.

以後、受信側の記憶装置は、転送パケット632〜634についても同様に処理する。   Thereafter, the storage device on the receiving side processes the transfer packets 632 to 634 in the same manner.

次に、データ転送制御装置300を、プログラムにより所定の処理をコンピュータに実行させるように構成する場合を説明する。   Next, a case where the data transfer control device 300 is configured to cause a computer to execute predetermined processing by a program will be described.

図13は、プログラムにより所定の処理をコンピュータに実行させるデータ転送制御装置300(コンピュータとも呼ばれる)の構成を示すブロック図である。   FIG. 13 is a block diagram illustrating a configuration of a data transfer control device 300 (also referred to as a computer) that causes a computer to execute predetermined processing using a program.

図13を参照すると、データ転送制御装置300は、CPU(Central Processing Unit)302、ディスク装置303、記憶部304、上位インタフェース部305及びノード間ネットワークインタフェース部306を含む。   Referring to FIG. 13, the data transfer control device 300 includes a CPU (Central Processing Unit) 302, a disk device 303, a storage unit 304, an upper interface unit 305, and an inter-node network interface unit 306.

CPU302は、ディスク装置303に格納されたプログラムを、例えば記憶部304に展開し、展開したプログラムに基づいて図6、図7に示すフローチャートに基づく処理を実行する。   The CPU 302 expands the program stored in the disk device 303 to the storage unit 304, for example, and executes processing based on the flowcharts shown in FIGS. 6 and 7 based on the expanded program.

ディスク装置303は、上述したデータ転送制御装置300の処理をコンピュータに実行させるプログラムを記憶する。   The disk device 303 stores a program that causes a computer to execute the processing of the data transfer control device 300 described above.

記憶部304は、そのプログラム及びプログラムが動作するための制御情報を記憶し、また上述の送信側メモリとして転送データを、及びデータバッファとして転送パケットを記憶する。   The storage unit 304 stores the program and control information for operating the program, and stores transfer data as the above-described transmission-side memory and a transfer packet as a data buffer.

上位インタフェース部305は、CPU302の指示に基づいて、データ転送命令を発行する回路デバイスまたは装置と送受信する。   The upper interface unit 305 transmits and receives to / from a circuit device or apparatus that issues a data transfer command based on an instruction from the CPU 302.

ノード間ネットワークインタフェース部306は、CPU302の指示に基づいて、ノード間ネットワークと送受信する。ここで、ノードとは、図1に示すデータ転送装置300を収納する送信側ノードまたは受信側ノードに対応し、ノード間ネットワークは、送信側ノードまたは受信側ノードが接続されるネットワークである。   The inter-node network interface unit 306 transmits and receives to and from the inter-node network based on instructions from the CPU 302. Here, the node corresponds to the transmission side node or the reception side node accommodating the data transfer apparatus 300 shown in FIG. 1, and the inter-node network is a network to which the transmission side node or the reception side node is connected.

上述した本実施形態における効果は、パケット交換網を介してデータ転送を行う装置において、転送するデータがアドレス境界条件を満たしていない場合に、転送するデータのメモリアクセス性能を低下させないようにすることが可能になる点である。   The effect of the present embodiment described above is to prevent the memory access performance of the data to be transferred from deteriorating when the data to be transferred does not satisfy the address boundary condition in the apparatus that performs data transfer via the packet switching network. It is a point that becomes possible.

その理由は、転送命令実行部330が、送信側転送開始アドレス611と受信側転送開始アドレス612とに基づいて、送信側メモリアクセス単位で転送データを読み出し、転送パケット生成部350が、送信側転送開始アドレス611と受信側転送開始アドレス612と受信側メモリアクセス単位と転送パケットサイズに基づいて、転送データを、受信側メモリアクセス単位の境界で分割して転送パケットを生成するようにしたからである。
[第2の実施形態]
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
The reason is that the transfer instruction execution unit 330 reads the transfer data in units of the transmission side memory access based on the transmission side transfer start address 611 and the reception side transfer start address 612, and the transfer packet generation unit 350 This is because, based on the start address 611, the reception side transfer start address 612, the reception side memory access unit, and the transfer packet size, the transfer data is divided at the boundary of the reception side memory access unit to generate the transfer packet. .
[Second Embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. Hereinafter, the description overlapping with the above description is omitted as long as the description of the present embodiment is not obscured.

まず、本実施形態に係るデータ転送制御装置を適用したデータ転送システムの動作の概要を説明する。   First, the outline of the operation of the data transfer system to which the data transfer control device according to this embodiment is applied will be described.

図14は、本実施形態に係るデータ転送制御装置を適用したデータ転送システム10の構成を示すブロック図である。図14を参照すると、データ転送システム10は、通信ノード100と通信ノード110とがノード間ネットワーク網120で接続されている。   FIG. 14 is a block diagram showing the configuration of the data transfer system 10 to which the data transfer control device according to this embodiment is applied. Referring to FIG. 14, in the data transfer system 10, a communication node 100 and a communication node 110 are connected by an inter-node network 120.

通信ノード100は、リクエスタ101とメモリ103とデータ転送制御装置200とを含む。   The communication node 100 includes a requester 101, a memory 103, and a data transfer control device 200.

リクエスタ101は、データ転送制御装置200にデータ転送命令を発行して、転送指示を行う。   The requester 101 issues a data transfer instruction by issuing a data transfer command to the data transfer control device 200.

メモリ103は、転送データ104を記憶する。   The memory 103 stores transfer data 104.

通信ノード110は、メモリ113と受信側パケット転送制御部112とを含む。   The communication node 110 includes a memory 113 and a reception side packet transfer control unit 112.

メモリ113は、転送データ114を記憶する。   The memory 113 stores transfer data 114.

ノード間ネットワーク網120は、少なくともパケット交換による通信を行う。   The inter-node network 120 performs communication by at least packet switching.

尚、通信ノード100は、通信ノード110が含む要素と同様の要素を更に含んでもよい。また、通信ノード110は、通信ノード100が含む要素と同様の要素を更に含んでもよい。   Note that the communication node 100 may further include an element similar to the element included in the communication node 110. The communication node 110 may further include an element similar to the element included in the communication node 100.

通信ノード100及び通信ノード110それぞれは、1以上の任意の台数であってよい。   Each of the communication node 100 and the communication node 110 may be one or more arbitrary numbers.

以下の説明では、通信ノード100を送信側ノードとして、通信ノード110を受信側ノードとして説明する。従って、以下の説明において、メモリ103は図4に示すような送信側メモリ370であり、メモリ113は図5に示すような受信側メモリ380である。   In the following description, the communication node 100 is described as a transmission side node, and the communication node 110 is described as a reception side node. Therefore, in the following description, the memory 103 is a transmission side memory 370 as shown in FIG. 4, and the memory 113 is a reception side memory 380 as shown in FIG.

まず、リクエスタ101は、データ転送命令をデータ転送制御装置200に出力する。図15は、データ転送命令650の例を示す図である。図15に示すように、データ転送命令650は、送信側転送開始アドレス611と、受信側転送開始アドレス612と、総転送サイズ613とを含む。   First, the requester 101 outputs a data transfer command to the data transfer control device 200. FIG. 15 is a diagram illustrating an example of the data transfer instruction 650. As shown in FIG. 15, the data transfer instruction 650 includes a transmission side transfer start address 611, a reception side transfer start address 612, and a total transfer size 613.

次に、データ転送命令650を受け取ったデータ転送制御装置200は、総転送サイズ613を、ノード間転送の転送パケットのサイズに分解して、メモリ103から転送データ104を読み出す。   Next, the data transfer control device 200 that has received the data transfer command 650 decomposes the total transfer size 613 into the sizes of transfer packets for inter-node transfer, and reads the transfer data 104 from the memory 103.

続けて、データ転送制御装置200は、例えば転送パケット105〜108(図9から図12に示す転送パケット631〜634に対応、但し要素データの格納位置は必ずしも同一ではない)を生成しノード間ネットワーク網120に送信する。   Subsequently, the data transfer control device 200 generates, for example, transfer packets 105 to 108 (corresponding to the transfer packets 631 to 634 shown in FIGS. 9 to 12, but the storage positions of the element data are not necessarily the same), and the inter-node network Transmit to the network 120.

次に、通信ノード110の受信側パケット転送制御部112は、送信側ノードが送信した転送パケット105〜108を、ノード間ネットワーク網120から転送パケット115〜118として受け取る。   Next, the reception side packet transfer control unit 112 of the communication node 110 receives the transfer packets 105 to 108 transmitted by the transmission side node as transfer packets 115 to 118 from the inter-node network 120.

次に、受信側パケット転送制御部112は、受け取った転送データ104を、転送パケット単位に、転送データ114としてメモリ113へ書き込む。   Next, the reception side packet transfer control unit 112 writes the received transfer data 104 to the memory 113 as transfer data 114 for each transfer packet.

上述の転送パケット105〜108の生成において、まず、データ転送制御装置200は、メモリ103から読み出した転送データ104について、8バイトを1単位とする要素データ毎に、転送パケットへの相対的な格納位置を示す番号(以下、要素番号と呼ぶ)を付加する。尚、この要素番号は、メモリ103が読出データに付加してデータ転送制御装置200に対して出力するようにしてもよい。   In the generation of the transfer packets 105 to 108 described above, first, the data transfer control device 200 stores the transfer data 104 read from the memory 103 relative to the transfer packet for each element data having 8 bytes as one unit. A number indicating the position (hereinafter referred to as an element number) is added. The element number may be added to the read data by the memory 103 and output to the data transfer control device 200.

続けて、データ転送制御装置200は、転送パケット105〜108の境界がメモリ113のメモリアクセス境界に一致するように要素番号を補正する。   Subsequently, the data transfer control device 200 corrects the element number so that the boundary between the transfer packets 105 to 108 matches the memory access boundary of the memory 113.

続けて、データ転送制御装置200は、この補正した要素番号に基づいて、転送データ104を分割し、転送パケットに格納する。   Subsequently, the data transfer control device 200 divides the transfer data 104 based on the corrected element number and stores it in the transfer packet.

以上が、本実施形態に係るデータ転送制御装置200を適用したデータ転送システムの動作の概要の説明である。   The above is the outline of the operation of the data transfer system to which the data transfer control device 200 according to this embodiment is applied.

次に、本実施形態に係るデータ転送制御装置200の詳細について説明する。   Next, details of the data transfer control device 200 according to the present embodiment will be described.

図16は、本実施形態に係るデータ転送制御装置200の構成を示すブロック図である。   FIG. 16 is a block diagram showing the configuration of the data transfer control device 200 according to this embodiment.

図16を参照すると、本実施形態に係るデータ転送制御装置200は、命令受信発行部210、パケット分割部220、メモリリクエスト発行部230、要素番号補正部240、パケットデータ整列部250、転送パケット発行部260、補正情報生成部280及び要素番号付与部290を含む。第1の実施形態と比較すると、本実施形態に係るデータ転送制御装置200は、命令受信発行部210、パケット分割部220及びメモリリクエスト発行部230が第1の実施形態の転送命令実行部330に対応し、パケットデータ整列部250及び転送パケット発行部260が第1の実施形態の転送パケット生成部350に対応している。更に、本実施形態に係るデータ転送制御装置200は、第1の実施形態と比べて、要素番号補正部240、補正情報生成部280及び要素番号付与部290が追加されている
命令受信発行部210は、図14に示すリクエスタ101から、データ転送命令650を受け取る。そして、命令受信発行部210は、受け取ったデータ転送命令610に基づいて、パケット分割部220に送信側転送開始アドレス611と受信側転送開始アドレス612と総転送サイズ613とを出力する。また、命令受信発行部210は、補正情報生成部280に送信側転送開始アドレス611と受信側転送開始アドレス612とを出力する。
Referring to FIG. 16, the data transfer control device 200 according to the present embodiment includes an instruction reception issue unit 210, a packet division unit 220, a memory request issue unit 230, an element number correction unit 240, a packet data alignment unit 250, and a transfer packet issue. Section 260, correction information generation section 280, and element number assignment section 290. Compared to the first embodiment, in the data transfer control device 200 according to the present embodiment, the command reception issue unit 210, the packet division unit 220, and the memory request issue unit 230 are included in the transfer command execution unit 330 of the first embodiment. Correspondingly, the packet data aligning unit 250 and the transfer packet issuing unit 260 correspond to the transfer packet generating unit 350 of the first embodiment. Furthermore, in the data transfer control device 200 according to the present embodiment, an element number correction unit 240, a correction information generation unit 280, and an element number assignment unit 290 are added as compared to the first embodiment. Receives a data transfer instruction 650 from the requester 101 shown in FIG. Then, the command reception issue unit 210 outputs the transmission side transfer start address 611, the reception side transfer start address 612, and the total transfer size 613 to the packet division unit 220 based on the received data transfer command 610. In addition, the command reception issuance unit 210 outputs the transmission side transfer start address 611 and the reception side transfer start address 612 to the correction information generation unit 280.

パケット分割部220は、受け取った送信側転送開始アドレス611と受信側転送開始アドレス612と総転送サイズ613とに基づいて、ノード間転送の転送パケットサイズ単位に、図14に示すメモリ103の読出アドレス(以後、送信側パケットアドレスと呼ぶ)と受信側メモリの書込アドレス(以後、受信側パケットアドレスと呼ぶ)とを生成する。   Based on the received transmission-side transfer start address 611, reception-side transfer start address 612, and total transfer size 613, the packet division unit 220 reads the read address of the memory 103 shown in FIG. (Hereinafter, referred to as “transmission side packet address”) and a write address (hereinafter, referred to as “reception side packet address”) of the reception side memory are generated.

また、パケット分割部220は、パケットデータ整列部250に対し、1パケット分の転送データを整列させるデータバッファ要求を出力する。次に、パケット分割部220は、パケットデータ整列部250がデータバッファ要求への応答として出力したデータバッファ番号を受け取る。図17は、パケットデータ整列部250が出力するデータバッファ番号641の例を示す図である。   Further, the packet division unit 220 outputs a data buffer request for aligning transfer data for one packet to the packet data alignment unit 250. Next, the packet division unit 220 receives the data buffer number output by the packet data alignment unit 250 as a response to the data buffer request. FIG. 17 is a diagram illustrating an example of the data buffer number 641 output from the packet data alignment unit 250.

尚、送信側メモリアクセス単位で読み出された転送データは、2つのパケットに分割されて格納される場合がある。このため、パケット分割部220は、カレントデータバッファ番号用とネクストデータバッファ番号用の2つのデータバッファ番号641を要求し、取得する。そして、以後、パケット分割部220は、現ネクストデータバッファ番号を次の転送パケットのカレントデータバッファ番号とし、新たにデータバッファ番号641を取得してネクストデータバッファ番号とし、使用する。   Note that transfer data read in units of memory access on the transmission side may be divided into two packets and stored. Therefore, the packet division unit 220 requests and acquires two data buffer numbers 641 for the current data buffer number and the next data buffer number. Thereafter, the packet division unit 220 uses the current next data buffer number as the current data buffer number of the next transfer packet, newly acquires the data buffer number 641 and uses it as the next data buffer number.

次に、パケット分割部220は、パケット単位のメモリアクセス情報である、1パケット情報643をメモリリクエスト発行部230に出力する。図18は、1パケット情報643の例を示す図である。図18に示すように、1パケット情報643は、送信側パケットアドレス671とカレントデータバッファ番号672とネクストデータバッファ番号673とから成る、
同時に、パケット分割部220は、転送パケットのヘッダ情報となるパケット単位の受信側パケットアドレスをパケットデータ整列部250に出力する。図19は、パケット分割部220が出力する受信側パケットアドレス642の例を示す図である。
Next, the packet dividing unit 220 outputs 1-packet information 643 that is memory access information in units of packets to the memory request issuing unit 230. FIG. 18 is a diagram illustrating an example of 1-packet information 643. As shown in FIG. 18, one packet information 643 includes a transmission side packet address 671, a current data buffer number 672, and a next data buffer number 673.
At the same time, the packet dividing unit 220 outputs the packet address on the packet side that is the header information of the transfer packet to the packet data alignment unit 250. FIG. 19 is a diagram illustrating an example of the reception-side packet address 642 output by the packet dividing unit 220.

補正情報生成部280は、送信側転送開始アドレス611と受信側転送開始アドレス612とに基づいて、補正情報(mとも呼ぶ)を算出する。図20は、補正情報生成部280が算出する補正情報675の例を示す図である。補正情報675は、送信側転送開始アドレス611とこれを含む送信側メモリアクセス単位のメモリアクセス境界アドレスとの差分を要素数で示す値と、受信側転送開始アドレス612とこれを含む受信側メモリアクセス単位のメモリアクセス境界アドレスとの差分を要素数で示す値、との差分である。そして、補正情報生成部280は、算出した補正情報675を要素番号補正部240に出力する。   The correction information generation unit 280 calculates correction information (also referred to as m) based on the transmission-side transfer start address 611 and the reception-side transfer start address 612. FIG. 20 is a diagram illustrating an example of the correction information 675 calculated by the correction information generation unit 280. The correction information 675 includes a value indicating the difference between the transmission side transfer start address 611 and the memory access boundary address of the transmission side memory access unit including the transmission side transfer start address 611, the reception side transfer start address 612, and the reception side memory access including the difference. This is a difference from a value indicating the difference from the unit memory access boundary address in terms of the number of elements. Then, the correction information generation unit 280 outputs the calculated correction information 675 to the element number correction unit 240.

メモリリクエスト発行部230は、受け取った1パケット情報643に基づいて、送信側メモリアクセス単位にメモリリクエスト情報を生成する。図21は、メモリリクエスト情報644の例を示す図である。図21に示すように、メモリリクエスト情報644は、カレントデータバッファ番号672とネクストデータバッファ番号673とパケット内リクエスト番号674とを含む。パケット内リクエスト番号674は、1パケットの転送サイズが送信側メモリアクセス単位よりも大きい場合にメモリリクエスト発行部230が複数回発行する、1パケット内のメモリ読出リクエストの順番を0オリジンで示す番号である。   Based on the received 1-packet information 643, the memory request issuing unit 230 generates memory request information for each transmission-side memory access unit. FIG. 21 is a diagram illustrating an example of the memory request information 644. As shown in FIG. 21, the memory request information 644 includes a current data buffer number 672, a next data buffer number 673, and an in-packet request number 674. The in-packet request number 674 is a number indicating, in 0 origin, the order of memory read requests in one packet issued by the memory request issuing unit 230 a plurality of times when the transfer size of one packet is larger than the memory access unit on the transmission side. is there.

続けて、メモリリクエスト発行部230は、送信側パケットアドレス671に基づいて、メモリ103に送信側メモリアクセス境界アドレス371を含むメモリ読出リクエストを出力する。同時に、メモリリクエスト発行部230は、メモリリクエスト情報644を、要素番号付与部290に出力する。   Subsequently, the memory request issuing unit 230 outputs a memory read request including the transmission side memory access boundary address 371 to the memory 103 based on the transmission side packet address 671. At the same time, the memory request issuing unit 230 outputs the memory request information 644 to the element number giving unit 290.

メモリ103は、受け取ったメモリ読み出しリクエストに応答して、メモリ読出リクエストで指定されたアドレスに基づいて読み出した、送信側メモリアクセス単位の転送データをデータ転送制御装置200の要素番号付与部290に出力する。   In response to the received memory read request, the memory 103 outputs, to the element number assigning unit 290 of the data transfer control device 200, the transfer data in the transmission side memory access unit read based on the address specified by the memory read request. To do.

要素番号付与部290は、メモリ103から受け取った転送データから送信側メモリアクセス単位データを生成し、要素番号補正部240に出力する。図22は、送信側メモリアクセス単位データ645の例を示す図である。図22に示すように、送信側メモリアクセス単位データ645は、要素番号686及び対応する要素データ640の複数の組とカレントデータバッファ番号672とネクストデータバッファ番号673とパケット内リクエスト番号674とを含む。   The element number assigning unit 290 generates transmission-side memory access unit data from the transfer data received from the memory 103, and outputs it to the element number correcting unit 240. FIG. 22 is a diagram illustrating an example of the transmission-side memory access unit data 645. As shown in FIG. 22, the transmission-side memory access unit data 645 includes an element number 686 and a plurality of sets of corresponding element data 640, a current data buffer number 672, a next data buffer number 673, and an in-packet request number 674. .

要素番号付与部290は、メモリ103から送信された送信側メモリアクセス単位の転送データを受信し、例えば以下のように、送信側メモリアクセス単位データ645を生成する。最初に、要素番号付与部290は、受け取った転送データに含まれる要素データ640に、メモリ103に格納されていた際のアドレスの若い順に、0オリジンで要素番号686を付与する。次に、要素番号付与部290は、付与した要素番号686と対応する要素データ640とを組にして並べ、更に、カレントデータバッファ番号672とネクストデータバッファ番号673とパケット内リクエスト番号674とを付加する。   The element number assigning unit 290 receives the transmission data in the transmission side memory access unit transmitted from the memory 103 and generates the transmission side memory access unit data 645 as follows, for example. First, the element number assigning unit 290 assigns element numbers 686 with 0 origin to the element data 640 included in the received transfer data in ascending order of the addresses stored in the memory 103. Next, the element number assigning unit 290 arranges the assigned element number 686 and the corresponding element data 640 in pairs, and further adds the current data buffer number 672, the next data buffer number 673, and the in-packet request number 674. To do.

尚、要素番号付与部290は、メモリ103に含まれてもよい。   Note that the element number assigning unit 290 may be included in the memory 103.

要素番号補正部240は、データバッファ格納データを生成し、パケットデータ整列部250に出力する。   The element number correction unit 240 generates data buffer storage data and outputs it to the packet data alignment unit 250.

図23は、データバッファ格納データ647の例を示す図である。図23を参照すると、データバッファ格納データ647は、格納バッファ番号649と格納要素番号688と要素データ640との組を複数含む。   FIG. 23 is a diagram illustrating an example of the data buffer storage data 647. Referring to FIG. 23, data buffer storage data 647 includes a plurality of sets of storage buffer number 649, storage element number 688, and element data 640.

要素番号補正部240は、要素番号付与部290から受け取った送信側メモリアクセス単位データ645と、補正情報生成部280から受け取った補正情報675とに基づいて、以下のように、データバッファ格納データ647を生成する。最初にデータバッファ格納データ647は、パケット内リクエスト番号674と補正情報675とに基づいて、要素番号686を補正して格納要素番号688を算出する。続けて、要素番号補正部240は、カレントデータバッファ番号672とネクストデータバッファ番号673と格納要素番号688とに基づいて、要素データ640それぞれを格納するデータバッファの格納バッファ番号649を決定する。続けて、要素番号補正部240は、各要素データ640に格納要素番号688及び格納バッファ番号649を付加する。   Based on the transmission-side memory access unit data 645 received from the element number assignment unit 290 and the correction information 675 received from the correction information generation unit 280, the element number correction unit 240 performs data buffer storage data 647 as follows. Is generated. First, the data buffer storage data 647 corrects the element number 686 based on the in-packet request number 674 and the correction information 675 to calculate the storage element number 688. Subsequently, the element number correction unit 240 determines the storage buffer number 649 of the data buffer that stores the element data 640 based on the current data buffer number 672, the next data buffer number 673, and the storage element number 688. Subsequently, the element number correction unit 240 adds the storage element number 688 and the storage buffer number 649 to each element data 640.

要素番号補正部240は、例えば、送信側メモリアクセス単位に含まれる要素データそれぞれに対応するデータバッファ格納要素番号演算回路を含み、各要素データに対応する格納要素番号688を並列に算出するようにしてもよい。   The element number correction unit 240 includes, for example, a data buffer storage element number calculation circuit corresponding to each element data included in the transmission side memory access unit, and calculates the storage element number 688 corresponding to each element data in parallel. May be.

パケットデータ整列部250は、データバッファ251〜254を含む。データバッファ251〜254それぞれは、「0」〜「4」のデータバッファ番号641を有する。   The packet data alignment unit 250 includes data buffers 251 to 254. Each of the data buffers 251 to 254 has a data buffer number 641 of “0” to “4”.

パケットデータ整列部250は、受け取ったデータバッファ要求に応答して、未使用状態のデータバッファ251〜254の内のいずれかのデータバッファ番号641を出力する。また、パケットデータ整列部250は、データバッファ格納データ647を受信し、要素データ640毎に付加されている格納バッファ番号649と格納要素番号688とに基づいて、対応するデータバッファの対応する位置に要素データ640を格納する。   In response to the received data buffer request, the packet data alignment unit 250 outputs one of the data buffer numbers 641 among the unused data buffers 251 to 254. Further, the packet data alignment unit 250 receives the data buffer storage data 647, and based on the storage buffer number 649 and the storage element number 688 added to each element data 640, the packet data alignment unit 250 takes the corresponding position in the corresponding data buffer. Element data 640 is stored.

転送パケット発行部260は、要素データの格納が完了したデータバッファのデータに、ヘッダ情報として受信側パケットアドレス642を付加し、転送パケットとして図12に示すノード間ネットワーク網120に送信する。そして、転送パケット発行部260は、送信処理を完了すると、データバッファを解放する。   The transfer packet issuing unit 260 adds the reception side packet address 642 as header information to the data in the data buffer in which the element data has been stored, and transmits the packet to the internode network 120 shown in FIG. Then, the transfer packet issuing unit 260 releases the data buffer when the transmission process is completed.

次に、本実施形態の動作について、図を参照して詳細に説明する。尚、本実施形態の動作の説明における前提は、第1の実施形態の動作の説明における前提と比べて、データバッファ251〜254がパケットデータ整列部250に含まれていることと、送信側メモリ370及び受信側メモリ380がメモリ103及びメモリ113にそれぞれ対応していることとである。   Next, the operation of the present embodiment will be described in detail with reference to the drawings. Note that the premise in the description of the operation of the present embodiment is that the data buffers 251 to 254 are included in the packet data alignment unit 250 and the transmission side memory is different from the premise in the description of the operation of the first embodiment. 370 and the receiving side memory 380 correspond to the memory 103 and the memory 113, respectively.

図24は、本実施形態の動作を示すフローチャートである。   FIG. 24 is a flowchart showing the operation of this embodiment.

まず、命令受信発行部210は、受け取ったデータ転送命令650に基づいて、パケット分割部220に送信側転送開始アドレス611と受信側転送開始アドレス612と総転送サイズ613とを、補正情報生成部280に送信側転送開始アドレス611と受信側転送開始アドレス612とを出力する(S502)。   First, based on the received data transfer command 650, the command reception / issuing unit 210 sends the transmission side transfer start address 611, the reception side transfer start address 612, and the total transfer size 613 to the packet division unit 220, and the correction information generation unit 280. The transmission side transfer start address 611 and the reception side transfer start address 612 are output to (S502).

次に、パケット分割部220は、受け取った送信側転送開始アドレス611と受信側転送開始アドレス612と総転送サイズ613とに基づいて、送信側パケットアドレス671と受信側パケットアドレス642とを生成する(S504)。具体的には、パケット分割部220は、転送データが含まれる64バイト境界アドレスから、128バイト単位の送信側パケットアドレス671及び受信側パケットアドレス642を総転送サイズ分生成する。   Next, the packet dividing unit 220 generates a transmission side packet address 671 and a reception side packet address 642 based on the received transmission side transfer start address 611, reception side transfer start address 612, and total transfer size 613 ( S504). Specifically, the packet division unit 220 generates a transmission side packet address 671 and a reception side packet address 642 in units of 128 bytes from the 64-byte boundary address including the transfer data for the total transfer size.

前述の前提に基づいて例を示すと、パケット分割部220は、送信側パケットアドレス671[A+64*n(n=0、2、4、6)]を生成し、受信側パケットアドレス642[B+64*n(n=0、2、4、6)]を生成する。   To give an example based on the above-mentioned assumption, the packet dividing unit 220 generates a transmission side packet address 671 [A + 64 * n (n = 0, 2, 4, 6)] and receives a reception side packet address 642 [B + 64 *. n (n = 0, 2, 4, 6)] is generated.

次に、パケット分割部220は、パケットデータ整列部250からデータバッファ番号を取得する(S506)。尚、パケット分割部220は、S506を1回目に実行する場合は、カレントデータバッファ番号672用とネクストデータバッファ番号673用の2つのデータバッファ番号641を取得する。そして、パケット分割部220は、S506を2回目以降に実行する場合は、現在のネクストデータバッファ番号673を次のカレントデータバッファ番号672とし、次のネクストデータバッファ番号673用の1つのデータバッファ番号641を新たに取得する。   Next, the packet division unit 220 acquires the data buffer number from the packet data alignment unit 250 (S506). Note that the packet division unit 220 acquires two data buffer numbers 641 for the current data buffer number 672 and the next data buffer number 673 when executing S506 for the first time. Then, when executing S506 for the second time or later, the packet dividing unit 220 sets the current next data buffer number 673 as the next current data buffer number 672, and one data buffer number for the next next data buffer number 673. 641 is newly acquired.

ここで、カレントデータバッファとネクストデータバッファの2つのデータバッファ251〜254が必要な場合を具体的に説明する。   Here, the case where the two data buffers 251 to 254 of the current data buffer and the next data buffer are necessary will be specifically described.

図25は、メモリ103から読み出された転送データをデータバッファに格納する動作を示す図である。   FIG. 25 is a diagram illustrating an operation of storing transfer data read from the memory 103 in a data buffer.

メモリ読出データ651〜654それぞれは、メモリ103(即ち、図4に示す送信側メモリ370)から、送信側パケットアドレス671に基づいて読み出された転送データである。   Each of the memory read data 651 to 654 is transfer data read from the memory 103 (that is, the transmission side memory 370 shown in FIG. 4) based on the transmission side packet address 671.

転送パケットデータ661〜663は、メモリ113(即ち、図5に示す受信側メモリ380)へ書き込む単位で、データバッファ251〜254に格納された転送データである。   The transfer packet data 661 to 663 are transfer data stored in the data buffers 251 to 254 in units of writing to the memory 113 (that is, the reception side memory 380 shown in FIG. 5).

図4と図5に示すように、送信側転送開始アドレス611[A+8]と受信側転送開始アドレス612[B+40]とは、メモリアクセス境界内の8バイト境界位置にずれがある。   As shown in FIGS. 4 and 5, the transmission-side transfer start address 611 [A + 8] and the reception-side transfer start address 612 [B + 40] have a shift in the 8-byte boundary position within the memory access boundary.

このような場合、パケットデータ整列部250は、例えば、メモリ読出データ652を転送パケットデータ661と転送パケットデータ662とに分割し、データバッファ251〜254に格納する。   In such a case, for example, the packet data alignment unit 250 divides the memory read data 652 into transfer packet data 661 and transfer packet data 662 and stores them in the data buffers 251 to 254.

このため、パケット分割部220は、1パケット情報643にカレントデータバッファ番号672及びネクストデータバッファ番号673を含めて出力する。   Therefore, the packet division unit 220 outputs the one packet information 643 including the current data buffer number 672 and the next data buffer number 673.

次に、パケット分割部220は、パケット単位のメモリアクセス情報である、1パケット情報643を生成し、メモリリクエスト発行部230に出力する(S508)。   Next, the packet dividing unit 220 generates 1-packet information 643 that is memory access information in units of packets, and outputs the packet information 643 to the memory request issuing unit 230 (S508).

続けて、パケット分割部220は、受信側パケットアドレス642をパケットデータ整列部250に出力する(S510)。   Subsequently, the packet division unit 220 outputs the reception side packet address 642 to the packet data alignment unit 250 (S510).

次に、補正情報生成部280は、送信側転送開始アドレス611と受信側転送開始アドレス612とに基づいて、補正情報675を算出し、要素番号補正部240に算出した補正情報675を出力する。(S512)。以下に、前述の前提に基づいて例を示す。   Next, the correction information generation unit 280 calculates correction information 675 based on the transmission-side transfer start address 611 and the reception-side transfer start address 612, and outputs the calculated correction information 675 to the element number correction unit 240. (S512). Below, an example is shown based on the above-mentioned premise.

図4に示すように送信側転送開始アドレス611は「A+8」であり、これを含む送信側メモリアクセス単位のメモリアクセス境界アドレス[A]との差分「8」の要素数は、「1」である。   As shown in FIG. 4, the transmission side transfer start address 611 is “A + 8”, and the number of elements of the difference “8” from the memory access boundary address [A] of the transmission side memory access unit including this is “1”. is there.

図5に示すように受信側転送開始アドレス612は「B+40」であり、これを含む受信側メモリアクセス単位のメモリアクセス境界アドレス[B]との差分「40」の要素数は、「5」である。従って、補正情報生成部280は、補正情報675[4(5−1=4)]を算出する。   As shown in FIG. 5, the receiving side transfer start address 612 is “B + 40”, and the number of elements of the difference “40” from the memory access boundary address [B] of the receiving side memory access unit including this is “5”. is there. Therefore, the correction information generation unit 280 calculates the correction information 675 [4 (5-1 = 4)].

また、例えば、図26に示すように転送データが送信側メモリ370に格納され、図27に示すように転送データが受信側メモリ380に格納される場合、補正情報生成部280は、補正情報675を以下のよう算出する。但し、図26は、送信側メモリ370の一部の例を示す図である。また、図27は、受信側メモリ380の一部の例を示す図である。図26に示すように送信側転送開始アドレス611が「A+40」、図27に示すように受信側転送開始アドレス612が「B+8」の場合、補正情報生成部280は、補正情報675[−4(1−5=−4)]を算出する。   For example, when the transfer data is stored in the transmission side memory 370 as illustrated in FIG. 26 and the transfer data is stored in the reception side memory 380 as illustrated in FIG. 27, the correction information generation unit 280 includes the correction information 675. Is calculated as follows. However, FIG. 26 is a diagram illustrating an example of a part of the transmission side memory 370. FIG. 27 is a diagram illustrating an example of a part of the reception-side memory 380. 26, when the transmission-side transfer start address 611 is “A + 40” and the reception-side transfer start address 612 is “B + 8” as shown in FIG. 27, the correction information generation unit 280 corrects the correction information 675 [−4 ( 1-5 = −4)] is calculated.

次に、メモリリクエスト発行部230は、送信側メモリアクセス単位にメモリリクエスト情報644を生成して要素番号付与部290に出力し、メモリ103にメモリ読出リクエストを出力する(S514)。尚、前述の前提の場合、メモリリクエスト発行部230は、受け取った1パケット情報643に基づいて、メモリアクセス単位のメモリリクエスト情報644と対応するメモリ読出リクエストとの送信を、2回実行する。   Next, the memory request issuing unit 230 generates memory request information 644 for each transmission side memory access unit, outputs the memory request information 644 to the element number assigning unit 290, and outputs a memory read request to the memory 103 (S514). In the case of the above premise, the memory request issuing unit 230 executes transmission of the memory request information 644 in units of memory access and the corresponding memory read request twice based on the received one packet information 643.

メモリ103は、受け取ったメモリ読出リクエストに応答して、メモリ読出リクエストで指定されたアドレスに基づいて読み出した、送信側メモリアクセス単位の転送データをデータ転送制御装置200に出力する(S516)。   In response to the received memory read request, the memory 103 outputs the transfer data in the transmission side memory access unit read based on the address specified in the memory read request to the data transfer control device 200 (S516).

次に、要素番号付与部290は、送信側メモリアクセス単位データ645を生成し、要素番号補正部240に出力する(S518)。   Next, the element number assigning unit 290 generates the transmission side memory access unit data 645 and outputs it to the element number correcting unit 240 (S518).

次に、要素番号補正部240は、データバッファ格納データ647を生成し、パケットデータ整列部250に出力する(S520)。   Next, the element number correction unit 240 generates the data buffer storage data 647 and outputs it to the packet data alignment unit 250 (S520).

以下に、前述の前提に基づいて、データバッファ格納データ647に含まれる、格納要素番号688の算出と格納バッファ番号649の決定とについて、以下に具体的な例を説明する。図28及び図29は、格納要素番号688の算出と格納バッファ番号649の決定との手順を示す図である。   Below, based on the above-mentioned premise, a specific example of calculation of the storage element number 688 and determination of the storage buffer number 649 included in the data buffer storage data 647 will be described below. FIG. 28 and FIG. 29 are diagrams showing procedures for calculating the storage element number 688 and determining the storage buffer number 649.

まず、要素番号補正部240は、受け取った送信側メモリアクセス単位データ645に含まれる要素番号686(j)とパケット内リクエスト番号674(h)とから、送信側パケットアドレス671で読み出された1パケット分要素番号687(k)を算出(k=j+h*8)する。具体的には、要素番号補正部240は、メモリ読出データ651の要素データそれぞれの1パケット分要素番号687として「0」〜「7」を算出し、メモリ読出データ652の要素データそれぞれの1パケット分要素番号687として「8」〜「15」を算出する。   First, the element number correction unit 240 reads 1 from the element number 686 (j) and the in-packet request number 674 (h) included in the received transmission-side memory access unit data 645 as the transmission-side packet address 671. The packet element number 687 (k) is calculated (k = j + h * 8). Specifically, the element number correction unit 240 calculates “0” to “7” as the element number 687 for each packet of the element data of the memory read data 651, and 1 packet of each element data of the memory read data 652 “8” to “15” are calculated as the minute element numbers 687.

次に、要素番号補正部240は、1パケット分要素番号687を補正情報675で補正(k+m)し、格納要素番号688を算出する。具体的には、要素番号補正部240は、メモリ読出データ651の要素データそれぞれの格納要素番号688として「4」〜「11」を算出し、メモリ読出データ652の要素データそれぞれの格納要素番号688として「12」〜「19」を算出する。   Next, the element number correction unit 240 corrects the element number 687 for one packet with the correction information 675 (k + m), and calculates the storage element number 688. Specifically, the element number correction unit 240 calculates “4” to “11” as the storage element number 688 of each element data of the memory read data 651 and stores the storage element number 688 of each element data of the memory read data 652. As a result, “12” to “19” are calculated.

ここで、パケットサイズの最大は128バイトであるため、格納要素番号688の最大値は、「15」である。そこで、要素番号補正部240は、「16」〜「19」と算出した格納要素番号688を「0」〜「3」に変換する。   Here, since the maximum packet size is 128 bytes, the maximum value of the storage element number 688 is “15”. Therefore, the element number correction unit 240 converts the storage element numbers 688 calculated as “16” to “19” into “0” to “3”.

こうして、要素番号補正部240は、格納要素番号688を算出する。   Thus, the element number correction unit 240 calculates the storage element number 688.

次に、要素番号補正部240は、先頭の要素データ640から格納要素番号688が「15」の要素データ640までの格納バッファ番号649として、カレントデータバッファ番号672である「0」を決定する。同時に、要素番号補正部240は、格納要素番号688が「0」の要素データ640から最後の要素データ640までの格納バッファ番号649として、ネクストデータバッファ番号673である「1」を決定する。   Next, the element number correction unit 240 determines “0” that is the current data buffer number 672 as the storage buffer number 649 from the first element data 640 to the element data 640 whose storage element number 688 is “15”. At the same time, the element number correction unit 240 determines “1” which is the next data buffer number 673 as the storage buffer number 649 from the element data 640 having the storage element number 688 of “0” to the last element data 640.

以下、要素番号補正部240は、次の1パケット情報643に対応するメモリ読出データ653以後についても同様に処理する。メモリ読出データ653に対応するカレントデータバッファ番号672は、メモリ読出データ651とメモリ読出データ652とに対応するネクストデータバッファ番号673と同一である。従って、メモリ読出データ653の格納要素番号688が「4」〜「11」の要素データ640は、メモリ読出データ652の格納要素番号688が「0」〜「3」の要素データ640に続けて、データバッファ番号641が「1」のデータバッファ252に格納される。   Thereafter, the element number correction unit 240 processes the memory read data 653 and subsequent data corresponding to the next one packet information 643 in the same manner. The current data buffer number 672 corresponding to the memory read data 653 is the same as the next data buffer number 673 corresponding to the memory read data 651 and the memory read data 652. Therefore, the element data 640 having the storage element number 688 of “4” to “11” in the memory read data 653 is followed by the element data 640 having the storage element number 688 of the memory read data 652 of “0” to “3”. The data buffer number 641 is stored in the data buffer 252 with “1”.

パケットデータ整列部250は、データバッファ格納データ647を受け取り、要素データ640毎に付加されている格納バッファ番号649と格納要素番号688とに基づいて、対応するデータバッファに要素データ640を格納する。   The packet data alignment unit 250 receives the data buffer storage data 647 and stores the element data 640 in the corresponding data buffer based on the storage buffer number 649 and the storage element number 688 added to each element data 640.

次に、転送パケット発行部260は、要素データの格納が完了したデータバッファのデータに、ヘッダ情報として受信側パケットアドレス642を付加し、転送パケットとしてノード間ネットワーク網120に送信する(S522)。尚、転送パケット発行部260は、送信処理を完了すると、データバッファを解放する。   Next, the transfer packet issuing unit 260 adds the reception side packet address 642 as header information to the data in the data buffer in which the element data has been stored, and transmits the packet to the inter-node network 120 as a transfer packet (S522). The transfer packet issuing unit 260 releases the data buffer when the transmission process is completed.

次に、パケット分割部220は、S504で生成した全ての送信側パケットアドレス671について、1パケット情報643を出力した(転送データ送信完了)か否かを確認する(S524)。送信を完了した場合(S524でYES)、処理は終了する。送信を完了していない場合(S524でNO)、処理は、S506へ進む。   Next, the packet division unit 220 confirms whether or not the 1-packet information 643 has been output (transfer data transmission completion) for all the transmission-side packet addresses 671 generated in S504 (S524). If the transmission is completed (YES in S524), the process ends. If transmission has not been completed (NO in S524), the process proceeds to S506.

上述した本実施形態における効果は、第1の実施形態の効果に加えて、転送パケットを生成する時間を短縮することが可能になる点である。   The effect of the present embodiment described above is that the time for generating a transfer packet can be shortened in addition to the effect of the first embodiment.

その理由は、要素番号付与部290が各要素データ640に要素番号686を付与し、要素番号補正部240が各要素番号686を並列に補正して格納要素番号688を算出し、パケットデータ整列部250が格納要素番号688に基づいて転送パケットを生成するようにしたからである。   The reason is that the element number assigning unit 290 assigns an element number 686 to each element data 640, the element number correcting unit 240 corrects each element number 686 in parallel to calculate the storage element number 688, and the packet data aligning unit This is because 250 generates a transfer packet based on the storage element number 688.

以下に、パケット交換網を介してデータ転送を行う装置において、例えば前述の実施形態1或いは実施形態2のように構成されていないために、転送するデータのメモリアクセス性能を低下させないようにするという課題が解決されていない場合について、具体的に説明する。前提条件は、前述の前提条件と同様である。   In the following, in an apparatus that performs data transfer via a packet switching network, for example, because it is not configured as in the first or second embodiment, the memory access performance of the data to be transferred is not reduced. The case where the problem has not been solved will be specifically described. The preconditions are the same as the preconditions described above.

図30は、課題が解決されていない記憶装置間のデータ転送において、生成される転送パケットを示す図である。   FIG. 30 is a diagram illustrating a transfer packet generated in the data transfer between the storage devices in which the problem has not been solved.

図30に示すように、まず、送信側記憶装置(図示しない)は、送信側転送開始アドレス611に基づいて、送信側メモリ370からデータを読み出す。次に、送信側記憶装置は、第1転送パケットデータ〜第4転送パケットデータのように、その読み出したデータ単位で区切った転送パケットデータを生成する。   As shown in FIG. 30, first, the transmission side storage device (not shown) reads data from the transmission side memory 370 based on the transmission side transfer start address 611. Next, the transmission side storage device generates transfer packet data divided in units of the read data, such as first transfer packet data to fourth transfer packet data.

次に、送信側記憶装置は、第1転送パケットデータ〜第4転送パケットデータそれぞれを含む第1転送パケット〜第4転送パケット(図示しない)を、パケット交換網(図示しない)を介して、受信側記憶装置(図示しない)へ転送する。   Next, the transmission side storage device receives the first transfer packet to the fourth transfer packet (not shown) including the first transfer packet data to the fourth transfer packet data through the packet switching network (not shown). Transfer to the side storage device (not shown).

図31は、受信側記憶装置における、転送パケットデータの受信側メモリ380への書き込みの動作を示す図である。   FIG. 31 is a diagram illustrating an operation of writing transfer packet data to the reception-side memory 380 in the reception-side storage device.

受信側記憶装置は、受信側転送開始アドレス612に基づいて、例えば第1転送パケットのメモリ書き込みを3回(第1転送パケットのメモリ書き込み1〜3)実行し、例えば第2パケットのメモリ書き込みを3回(第2転送パケットのメモリ書き込み1〜3)実行する。また、例えば、第1転送パケットのメモリ書き込み3と第2転送パケットのメモリ書き込み1とは、同一メモリアクセス単位への書き込みを行うことになり、一方のメモリ書き込み中は他方のメモリ書き込みが待たされる。   The receiving side storage device executes, for example, memory writing of the first transfer packet three times (memory writing 1 to 3 of the first transfer packet) based on the receiving side transfer start address 612, for example, memory writing of the second packet. Execute 3 times (second transfer packet memory write 1 to 3). Also, for example, the memory transfer 3 of the first transfer packet and the memory write 1 of the second transfer packet are written to the same memory access unit, and the other memory write is awaited during one memory write. .

尚、例えば、受信側転送開始アドレスに基づいて、受信側記憶装置での書き込み回数を少なくなるような転送パケットを生成する場合、送信側記憶装置は同一アドレスに対して2回のメモリ読み出しを行う必要がある。その結果、送信側記憶装置側におけるメモリアクセス性能が低下する。   For example, when generating a transfer packet that reduces the number of writes in the receiving side storage device based on the receiving side transfer start address, the sending side storage device performs memory read twice for the same address. There is a need. As a result, the memory access performance on the transmission side storage device side is degraded.

上述のように、パケット交換網を介して記憶装置間のデータ転送を行う記憶装置において、例えば前述の実施形態1或いは実施形態2のように構成されていない場合、転送するデータのメモリアクセス性能を低下させないようにするという課題が解決されない。   As described above, in a storage device that performs data transfer between storage devices via a packet switching network, for example, when the storage device is not configured as in the first or second embodiment, the memory access performance of the data to be transferred is increased. The problem of not reducing it is not solved.

以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が1個のモジュールとして実現されたり、一つの構成要素が複数のモジュールで実現されたりしてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であったり、ある構成要素の一部と他の構成要素の一部とが重複していたり、といったような構成であってもよい。   Each component described in each of the above embodiments does not necessarily have to be individually independent. For example, for each component, a plurality of components may be realized as one module, or one component may be realized as a plurality of modules. Each component is configured such that a component is a part of another component, or a part of a component overlaps a part of another component. Also good.

また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。   Further, in each of the embodiments described above, a plurality of operations are described in order in the form of a flowchart, but the described order does not limit the order in which the plurality of operations are executed. For this reason, when each embodiment is implemented, the order of the plurality of operations can be changed within a range that does not hinder the contents.

更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。   Furthermore, in each embodiment described above, a plurality of operations are not limited to being executed at different timings. For example, another operation may occur during the execution of a certain operation, or the execution timing of a certain operation and another operation may partially or entirely overlap.

更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作の全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。   Furthermore, in each of the embodiments described above, a certain operation is described as a trigger for another operation, but the description does not limit all relationships between the certain operation and the other operations. For this reason, when each embodiment is implemented, the relationship between the plurality of operations can be changed within a range that does not hinder the contents. The specific description of each operation of each component does not limit each operation of each component. For this reason, each specific operation | movement of each component may be changed in the range which does not cause trouble with respect to a functional, performance, and other characteristic in implementing each embodiment.

尚、以上説明した各実施形態における各構成要素は、必要に応じ可能であれば、ハードウェアで実現されても良いし、ソフトウェアで実現されても良いし、ハードウェアとソフトウェアの混在により実現されても良い。   Each component in each embodiment described above may be realized by hardware, software, or a mixture of hardware and software, if necessary. May be.

また、各構成要素の物理的な構成は、以上の実施形態の記載に限定されることはなく、独立して存在しても良いし、組み合わされて存在しても良いしまたは分離して構成されても良い。   Further, the physical configuration of each component is not limited to the description of the above embodiment, and may exist independently, may exist in combination, or may be configured separately. May be.

100 通信ノード
101 リクエスタ
103 メモリ
104 転送データ
105〜108 転送パケット
110 通信ノード
112 受信側パケット転送制御部
113 メモリ
114 転送データ
115 転送パケット
120 ノード間ネットワーク網
200 データ転送制御装置
210 命令受信発行部
220 パケット分割部
230 メモリリクエスト発行部
240 要素番号補正部
250 パケットデータ整列部
251〜254 データバッファ
260 転送パケット発行部
280 補正情報生成部
290 要素番号付与部
300 データ転送制御装置
302 CPU
303 ディスク装置
304 記憶部
305 上位インタフェース部
306 ノード間ネットワークインタフェース部
330 転送命令実行部
350 転送パケット生成部
352 カレントデータバッファアドレス
353 カレントアドレス
354 カレントデータバッファ最大+1アドレス
355 最大対応受信側メモリアクセス境界アドレス
356 カレントデータバッファアドレス
357 リミットアドレス
370 送信側メモリ
371 送信側メモリアクセス境界アドレス
380 受信側メモリ
381 送信側メモリアクセス境界アドレス
610 データ転送命令
611 送信側転送開始アドレス
612 受信側転送開始アドレス
613 総転送サイズ
620 データ読出要求
621 読出アドレス
631 転送パケット
632 転送パケット
633 転送パケット
634 転送パケット
640 要素データ
641 データバッファ番号
642 受信側パケットアドレス
643 1パケット情報
644 メモリリクエスト情報
645 送信側メモリアクセス単位データ
647 データバッファ格納データ
649 格納バッファ番号
650 データ転送命令
651〜654 メモリ読出データ
661〜663 転送パケットデータ
671 送信側パケットアドレス
672 カレントデータバッファ番号
673 ネクストデータバッファ番号
674 パケット内リクエスト番号
675 補正情報
686 要素番号
687 1パケット分要素番号
688 格納要素番号
DESCRIPTION OF SYMBOLS 100 Communication node 101 Requester 103 Memory 104 Transfer data 105-108 Transfer packet 110 Communication node 112 Reception side packet transfer control part 113 Memory 114 Transfer data 115 Transfer packet 120 Inter-node network 200 Data transfer control apparatus 210 Command reception issue part 220 Packet Dividing unit 230 Memory request issuing unit 240 Element number correcting unit 250 Packet data alignment unit 251 to 254 Data buffer 260 Transfer packet issuing unit 280 Correction information generating unit 290 Element number giving unit 300 Data transfer control device 302 CPU
303 Disk Device 304 Storage Unit 305 Upper Interface Unit 306 Inter-Node Network Interface Unit 330 Transfer Command Execution Unit 350 Transfer Packet Generation Unit 352 Current Data Buffer Address 353 Current Address 354 Current Data Buffer Maximum + 1 Address 355 Maximum Corresponding Receiver Memory Access Boundary Address 356 Current data buffer address 357 Limit address 370 Transmit memory 371 Transmit memory access boundary address 380 Receive memory 381 Transmit memory access boundary address 610 Data transfer instruction 611 Transmit transfer start address 612 Receive transfer start address 613 Total transfer size 620 Data read request 621 Read address 631 Transfer packet 632 Transfer packet 633 Transfer packet 634 Transfer packet 640 Element data 641 Data buffer number 642 Reception side packet address 643 1 packet information 644 Memory request information 645 Transmission side memory access unit data 647 Data buffer storage data 649 Storage buffer number 650 Data transfer instruction 651-654 Memory read Data 661 to 663 Transfer packet data 671 Transmission side packet address 672 Current data buffer number 673 Next data buffer number 674 Request number in packet 675 Correction information 686 Element number 687 Element number for one packet 688 Storage element number

Claims (10)

送信側転送開始アドレスと受信側転送開始アドレスとを少なくとも含むデータ転送命令に基づいて、送信側メモリアクセス単位で転送データを読み出すことを送信側メモリに要求する、データ読出要求を出力する転送命令実行部と、
前記送信側転送開始アドレスと前記受信側転送開始アドレスと受信側メモリアクセス単位と前記データを送信側から受信側へ転送する際の転送パケットサイズに基づいて、前記データ読出要求に応答して前記送信側メモリから出力された前記転送データを、前記受信側メモリアクセス単位の境界で分割して、前記転送パケットサイズを超えない範囲で最大限の当該分割した転送データと当該転送データの受信側メモリへの書き込みアドレスとを含むパケット交換網用の転送パケットを生成し、出力する転送パケット生成部と、を含む
Based on a data transfer instruction including at least a transmission-side transfer start address and a reception-side transfer start address, execution of a transfer instruction that outputs a data read request that requests the transmission-side memory to read transfer data in units of transmission-side memory access And
Based on the transmission side transfer start address, the reception side transfer start address, a reception side memory access unit, and a transfer packet size when transferring the data from the transmission side to the reception side, the transmission side in response to the data read request The transfer data output from the side memory is divided at the boundary of the reception side memory access unit, and the transfer data is divided to the maximum within a range not exceeding the transfer packet size and to the reception side memory of the transfer data A transfer packet generation unit that generates and outputs a transfer packet for a packet switching network including a write address of
前記転送データに、前記送信側転送開始アドレスとなり得るアドレス境界の単位で区切られるデータを要素データとして、前記送信側メモリアクセス単位内での要素データ順を示す要素番号を各要素データに付与する要素番号付与部と、
前記送信側転送開始アドレスとこれを含む前記送信側メモリアクセス単位の境界アドレスとの差分に含まれる前記要素データの数と、前記受信側転送開始アドレスとこれを含む前記受信側メモリアクセス単位の境界アドレスとの差分に含まれる前記要素データの数との差分の数を補正情報として算出する補正情報生成部と、を更に含み、
前記転送パケット生成部は、前記補正情報に基づいて、前記要素番号を補正して格納要素番号に変換し、
前記格納要素番号に基づいて、前記転送データを前記転送パケットに格納するパケットデータ整列部とを含む
請求項1記載のデータ転送制御装置。
An element for giving each element data an element number indicating the order of element data within the transmission side memory access unit, with the data divided in units of address boundaries that can be the transmission side transfer start address as element data. A numbering unit;
The number of the element data included in the difference between the transmission side transfer start address and the boundary address of the transmission side memory access unit including the boundary, the boundary of the reception side memory access unit including the reception side transfer start address and the reception side transfer start address A correction information generation unit that calculates, as correction information, the number of differences from the number of element data included in the difference from the address,
The transfer packet generation unit corrects the element number based on the correction information and converts it into a storage element number,
The data transfer control device according to claim 1, further comprising: a packet data alignment unit that stores the transfer data in the transfer packet based on the storage element number.
前記要素番号付与部は、前記転送パケットサイズが前記送信側メモリアクセス単位のn(nは自然数)倍である場合に、前記送信側メモリから読み出された前記送信側メモリアクセス単位の前記転送データ毎に0からn−1のリクエスト番号を周期的に対応させて、各前記要素データに付与し、
前記要素番号補正部は、前記要素番号に前記リクエスト番号と前記送信側メモリアクセス単位に対応する前記要素データの数とを乗算した数を加算し、前記加算された要素番号を前記補正情報に基づいて補正して前記格納要素番号に変換する
請求項2記載のデータ転送制御装置。
The element number assigning unit, when the transfer packet size is n (n is a natural number) times the transmission-side memory access unit, the transfer data of the transmission-side memory access unit read from the transmission-side memory. A request number from 0 to n-1 is periodically associated with each element data and given to each element data,
The element number correction unit adds a number obtained by multiplying the element number by the request number and the number of element data corresponding to the transmission side memory access unit, and the added element number is based on the correction information. The data transfer control device according to claim 2, wherein the data is converted into the storage element number after correction.
パケット交換網を介してデータ転送を行う装置が、
送信側転送開始アドレスと受信側転送開始アドレスとを少なくとも含むデータ転送命令に基づいて、送信側メモリアクセス単位で転送データを読み出すことを送信側メモリに要求する、データ読出要求を出力し、
前記送信側転送開始アドレスと前記受信側転送開始アドレスと受信側メモリアクセス単位と前記データを送信側から受信側へ転送する際の転送パケットサイズに基づいて、前記データ読出要求に応答して前記送信側メモリから出力された前記転送データを、前記受信側メモリアクセス単位の境界で分割して、前記転送パケットサイズを超えない範囲で最大限の当該分割した転送データと当該転送データの受信側メモリへの書き込みアドレスとを含むパケット交換網用の転送パケットを生成し、出力する
A device that transfers data via a packet switching network
Based on a data transfer command including at least a transmission-side transfer start address and a reception-side transfer start address, a data read request is output to request the transmission-side memory to read transfer data in a transmission-side memory access unit,
Based on the transmission side transfer start address, the reception side transfer start address, a reception side memory access unit, and a transfer packet size when transferring the data from the transmission side to the reception side, the transmission side in response to the data read request The transfer data output from the side memory is divided at the boundary of the reception side memory access unit, and the transfer data is divided to the maximum within a range not exceeding the transfer packet size and to the reception side memory of the transfer data Generate and output a packet for packet switching that includes the write address of
パケット交換網を介してデータ転送を行う装置が、
前記転送データに、前記送信側転送開始アドレスとなり得るアドレス境界の単位で区切られるデータを要素データとして、前記送信側メモリアクセス単位内での要素データ順を示す要素番号を各要素データに付与し、
前記送信側転送開始アドレスとこれを含む前記送信側メモリアクセス単位の境界アドレスとの差分に含まれる前記要素データの数と、前記受信側転送開始アドレスとこれを含む前記受信側メモリアクセス単位の境界アドレスとの差分に含まれる前記要素データの数との差分の数を補正情報として算出し、
前記補正情報に基づいて、前記要素番号を補正して格納要素番号に変換し、
前記格納要素番号に基づいて、前記転送データを前記転送パケットに格納する
請求項4記載のデータ転送制御方法。
A device that transfers data via a packet switching network
To the transfer data, as element data, data that is delimited in units of address boundaries that can be the transmission-side transfer start address, an element number indicating the element data order within the transmission-side memory access unit is given to each element data,
The number of the element data included in the difference between the transmission side transfer start address and the boundary address of the transmission side memory access unit including the boundary, the boundary of the reception side memory access unit including the reception side transfer start address and the reception side transfer start address Calculating the number of differences from the number of element data included in the difference from the address as correction information,
Based on the correction information, the element number is corrected and converted into a storage element number,
The data transfer control method according to claim 4, wherein the transfer data is stored in the transfer packet based on the storage element number.
パケット交換網を介してデータ転送を行う装置が、
前記転送パケットサイズが前記送信側メモリアクセス単位のn(nは自然数)倍である場合に、前記送信側メモリから読み出された前記送信側メモリアクセス単位の前記転送データ毎に0からn−1のリクエスト番号を周期的に対応させて、各前記要素データに付与し、
前記要素番号の補正は、前記要素番号に前記リクエスト番号と前記送信側メモリアクセス単位に対応する前記要素データの数とを乗算した数を加算し、前記加算された要素番号を前記補正情報に基づいて補正して前記格納要素番号に変換する
請求項5記載のデータ転送制御方法。
A device that transfers data via a packet switching network
When the transfer packet size is n (n is a natural number) times the transmission-side memory access unit, 0 to n−1 for each transfer data of the transmission-side memory access unit read from the transmission-side memory. The request numbers are periodically associated with each element data,
The correction of the element number is performed by adding a number obtained by multiplying the element number by the request number and the number of element data corresponding to the transmission side memory access unit, and the added element number is based on the correction information. The data transfer control method according to claim 5, wherein the data is corrected and converted into the storage element number.
送信側転送開始アドレスと受信側転送開始アドレスとを少なくとも含むデータ転送命令に基づいて、送信側メモリアクセス単位で転送データを読み出すことを送信側メモリに要求する、データ読出要求を出力し、
前記送信側転送開始アドレスと前記受信側転送開始アドレスと受信側メモリアクセス単位と前記データを送信側から受信側へ転送する際の転送パケットサイズに基づいて、前記データ読出要求に応答して前記送信側メモリから出力された前記転送データを、前記受信側メモリアクセス単位の境界で分割して、前記転送パケットサイズを超えない範囲で最大限の当該分割した転送データと当該転送データの受信側メモリへの書き込みアドレスとを含むパケット交換網用の転送パケットを生成し、出力する処理
をコンピュータに実行させるプログラム。
Based on a data transfer command including at least a transmission-side transfer start address and a reception-side transfer start address, a data read request is output to request the transmission-side memory to read transfer data in a transmission-side memory access unit,
Based on the transmission side transfer start address, the reception side transfer start address, a reception side memory access unit, and a transfer packet size when transferring the data from the transmission side to the reception side, the transmission side in response to the data read request The transfer data output from the side memory is divided at the boundary of the reception side memory access unit, and the transfer data is divided to the maximum within a range not exceeding the transfer packet size and to the reception side memory of the transfer data A program that causes a computer to execute a process that generates and outputs a transfer packet for a packet-switched network that includes the write address of the packet .
前記転送データに、前記送信側転送開始アドレスとなり得るアドレス境界の単位で区切られるデータを要素データとして、前記送信側メモリアクセス単位内での要素データ順を示す要素番号を各要素データに付与し、
前記送信側転送開始アドレスとこれを含む前記送信側メモリアクセス単位の境界アドレスとの差分に含まれる前記要素データの数と、前記受信側転送開始アドレスとこれを含む前記受信側メモリアクセス単位の境界アドレスとの差分に含まれる前記要素データの数との差分の数を補正情報として算出し、
前記補正情報に基づいて、前記要素番号を補正して格納要素番号に変換し、
前記格納要素番号に基づいて、前記転送データを前記転送パケットに格納する処理
をコンピュータに実行させる請求項7記載のプログラム。
To the transfer data, as element data, data that is delimited in units of address boundaries that can be the transmission-side transfer start address, an element number indicating the element data order within the transmission-side memory access unit is given to each element data,
The number of the element data included in the difference between the transmission side transfer start address and the boundary address of the transmission side memory access unit including the boundary, the boundary of the reception side memory access unit including the reception side transfer start address and the reception side transfer start address Calculating the number of differences from the number of element data included in the difference from the address as correction information,
Based on the correction information, the element number is corrected and converted into a storage element number,
8. The program according to claim 7, which causes a computer to execute a process of storing the transfer data in the transfer packet based on the storage element number.
前記転送パケットサイズが前記送信側メモリアクセス単位のn(nは自然数)倍である場合に、前記送信側メモリから読み出された前記送信側メモリアクセス単位の前記転送データ毎に0からn−1のリクエスト番号を周期的に対応させて、各前記要素データに付与し、
前記要素番号の補正は、前記要素番号に前記リクエスト番号と前記送信側メモリアクセス単位に対応する前記要素データの数とを乗算した数を加算し、前記加算された要素番号を前記補正情報に基づいて補正して前記格納要素番号に変換する処理
をコンピュータに実行させる請求項8記載のプログラム。
When the transfer packet size is n (n is a natural number) times the transmission-side memory access unit, 0 to n−1 for each transfer data of the transmission-side memory access unit read from the transmission-side memory. The request numbers are periodically associated with each element data,
The correction of the element number is performed by adding a number obtained by multiplying the element number by the request number and the number of element data corresponding to the transmission side memory access unit, and the added element number is based on the correction information. The program according to claim 8, which causes a computer to execute a process of correcting and converting to the storage element number.
請求項1乃至3のいずれかに記載のデータ転送制御装置を搭載した通信ノードを含む
データ転送システム。
A data transfer system including a communication node equipped with the data transfer control device according to claim 1.
JP2011002242A 2011-01-07 2011-01-07 Data transfer control device, data transfer control method, and program therefor Expired - Fee Related JP5314056B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011002242A JP5314056B2 (en) 2011-01-07 2011-01-07 Data transfer control device, data transfer control method, and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011002242A JP5314056B2 (en) 2011-01-07 2011-01-07 Data transfer control device, data transfer control method, and program therefor

Publications (2)

Publication Number Publication Date
JP2012146027A JP2012146027A (en) 2012-08-02
JP5314056B2 true JP5314056B2 (en) 2013-10-16

Family

ID=46789544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011002242A Expired - Fee Related JP5314056B2 (en) 2011-01-07 2011-01-07 Data transfer control device, data transfer control method, and program therefor

Country Status (1)

Country Link
JP (1) JP5314056B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105128A (en) * 1993-10-07 1995-04-21 Mitsubishi Electric Corp Data transfer device
JPH0879310A (en) * 1994-08-31 1996-03-22 Kawasaki Steel Corp Transmission buffer data storage method and transmission buffer data storage device
JP4207323B2 (en) * 1999-08-26 2009-01-14 富士通株式会社 Data transfer apparatus and data transfer method
JP4463097B2 (en) * 2004-12-24 2010-05-12 エヌイーシーコンピュータテクノ株式会社 Data transfer system, data transfer method, and crossbar LSI
JP4260753B2 (en) * 2005-01-27 2009-04-30 三菱電機株式会社 Wireless sensor network

Also Published As

Publication number Publication date
JP2012146027A (en) 2012-08-02

Similar Documents

Publication Publication Date Title
KR20070039120A (en) Method and device for accessing data of a message memory of a communication component
KR20070037634A (en) Flexray communication component
KR20070039580A (en) Message administrator and method for controlling access to data of the message memory of a communications component
CN103324592A (en) Data migration control method, data migration method and data migration device
JPWO2005057400A1 (en) Electronic device, control method thereof, host device and control method thereof
KR20070039937A (en) Method for storing messages in a message memory and corresponding message memory
WO2019047573A1 (en) Downlink data transmission cache method, terminal, and base station
JP2011150666A (en) Communication device, information processing apparatus, and method and program for controlling the communication device
KR101847366B1 (en) Time synchronization device and time synchronization system
JP6290761B2 (en) Data transfer control system, data transfer control method, and data transfer control program
JP2010193012A (en) Apparatus and method for calculating route
JP5372699B2 (en) In-vehicle network device
JP5314056B2 (en) Data transfer control device, data transfer control method, and program therefor
JP4814882B2 (en) Communication system and communication apparatus
CN102193884B (en) Data transfer circuit and method
US20070189296A1 (en) Data transmission circuit and method for controlling the data transmission circuit
JP6493756B2 (en) Transmission device, reception device, transmission / reception system, and program
CN114546928B (en) Method and device for synchronizing core cluster, control method and device, core and medium
JP4891204B2 (en) Video processing apparatus, video processing method, video processing program, and storage medium
JP5400577B2 (en) Communication control device and communication control method
JP5493880B2 (en) Parallel computer system, processor, synchronization device, communication method, and communication support method
JP7027145B2 (en) Communication equipment, control methods and programs for communication equipment
CN117544640A (en) Method, device and system for synchronizing behaviors of multiple devices in local area network and electronic device
JP5738224B2 (en) Cyclic communication system
JP2014022956A (en) Receiving device and receiving method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130704

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5314056

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees