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 PDFInfo
- 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
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 474
- 238000000034 method Methods 0.000 title claims description 37
- 230000004044 response Effects 0.000 claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims description 115
- 238000012937 correction Methods 0.000 claims description 60
- 238000004891 communication Methods 0.000 claims description 17
- 239000000872 buffer Substances 0.000 description 119
- 238000010586 diagram Methods 0.000 description 31
- 239000012536 storage buffer Substances 0.000 description 12
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000002542 deteriorative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
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
しかしながら、特許文献1に記載の技術は、パケット交換網を介してデータ転送を行う装置において、転送するデータがアドレス境界条件を満たしていない場合に、転送するデータのメモリアクセス性能を低下させないようにするという課題を解決していない。その理由は、特許文献1のデータ転送装置は、転送元と転送先とがバッファを直接介してデータ転送を行うものであって、所定のサイズの転送データをパケットに格納して順次転送するパケット交換方式には対応していないためである。
However, the technique disclosed in
本発明の目的は、上述した課題を解決するデータ転送制御装置、データ転送制御方法、及びそのためのプログラムを提供することにある。 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.
次に、本発明の実施形態について図面を参照して詳細に説明する。 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
転送命令実行部330は、送信側転送開始アドレスと受信側転送開始アドレスとを少なくとも含むデータ転送命令に基づいて、送信側メモリアクセス単位で転送データを読み出すことを送信側メモリ(図示しない)に要求する、データ読出要求を出力する。また、転送命令実行部330は、データ転送命令に含まれる送信側転送開始アドレスと受信側転送開始アドレスとを転送パケット生成部350に出力する。図2は、データ転送命令の例を示す図である。図2に示すように、データ転送命令610は、送信側転送開始アドレス611と受信側転送開始アドレス612とを少なくとも含む。図3は、データ読出要求の例を示す図である。図3に示すように、データ読出要求620は、少なくとも読出アドレス621を含む。
The transfer
転送パケット生成部350は、送信側転送開始アドレス611と受信側転送開始アドレス612と受信側メモリアクセス単位(例えば、64バイト)と転送データを送信側から受信側へ転送する際の転送パケットサイズ(例えば、128バイト)に基づいて、データ読出要求620に応答して送信側メモリから出力された転送データを、受信側メモリアクセス単位の境界で分割して転送パケットを生成し、出力する。
The transfer
次に、本実施形態の動作について、以下の前提に基づいて、図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
送信側メモリアクセス単位及び受信側メモリアクセス単位は、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
受信側転送開始アドレス612は、ある受信側メモリアクセス境界アドレス[B]に、「40(40バイト分のアドレス増分値)」を加えた「B+40」である。
The receiving-side
転送パケットサイズは、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
以下の説明において、データ転送命令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
図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
次に、転送命令実行部330は、読出アドレス621を含むデータ読出要求620を出力する(S404)。
Next, the transfer
次に、転送パケット生成部350は、S404で出力されたデータ読出要求620に応答して送信側メモリ370から出力された、転送データを受け取る(S406)。前述の前提に基づいて例を示すと、例えば1回目にこのステップを実施する場合、受け取る転送データは、要素データD0〜D6である。また例えば2回目にこのステップを実施する場合、受け取る転送データは、要素データD7〜D14である。また例えば3回目にこのステップを実施する場合、受け取る転送データは、要素データD15〜D22である。
Next, the
次に、転送パケット生成部350は、受信側転送開始アドレス612[B+40]と既にカレントデータバッファに書き込んだ転送データのサイズに対応するアドレス増分値とを加算し、カレントアドレスを算出する(S408)。前述の前提に基づいて例を示すと、例えば1回目にこのステップを実施する場合、カレントアドレスは、B+40である。また例えば2回目にこのステップを実施する場合、カレントアドレスは、B+40+56である。また例えば3回目にこのステップを実施する場合、カレントアドレスは、B+40+56+64である。
Next, the transfer
次に、転送パケット生成部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
図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
また例えば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
次に、転送パケット生成部350は、S406で受け取った転送データが、リミットアドレス未満に収まるか否かを確認する(S412)。リミットアドレス未満に収まる場合(S412でYES)、処理はS414へ進む。リミットアドレス未満に収まらない場合(S412でNO)、処理はS420へ進む。前述の前提に基づいて例を示すと、例えば1回目、2回目及び3回目にこのステップを実施する場合、それぞれ、S412でYES、S412でNO及びS412でYESである。
Next, the transfer
S414において、転送パケット生成部350は、S404で出力されたデータ読出要求620に応答して送信側メモリ370から出力された転送データを、パケット生成用のカレントデータバッファに書き込む(S414)。前述の前提に基づいて例を示すと、例えば1回目にこのステップを実施する場合、カレントデータバッファに書き込む転送データは要素データD0〜D6である。また例えば2回目にこのステップを実施する場合、カレントデータバッファは次のデータバッファであり、カレントデータバッファに書き込む転送データは要素データD15〜D18である。
In S414, the transfer
次に、転送パケット生成部350は、カレントデータバッファのリミットアドレスの直前のアドレスまで転送データを書き込んだ(転送データ書き込み完了)か否かを確認する(S416)。書き込んだ場合(S416でYES)、処理はS430へ進む。書き込んでない場合(S416でNO)、処理はS418へ進む。前述の前提に基づいて例を示すと、例えば1回目、2回目及び3回目にこのステップを実施する場合、それぞれ、S416でNO、S416でYES及びS416でNOである。
Next, the transfer
次に、転送パケット生成部350は、最後の転送データ(即ち、要素データD57)を書き込んだ(最後の書き込み完了)か否かを確認する(S418)。書き込んだ場合(S418でYES)、処理はS430へ進む。書き込んでない場合(S418でNO)、処理はS432へ進む。
Next, the transfer
S420において、転送パケット生成部350は、S404で出力されたデータ読出要求620に応答して送信側メモリ370から出力された転送データを、リミットアドレス未満に収まる分の転送データと、収まらない分の転送データとに分割する(S420)。続けて転送パケット生成部350は、リミットアドレス未満に収まる分の転送データをカレントデータバッファに書き込む(S421)。更に続けて、転送パケット生成部350は、カレントデータバッファに書き込まなかった分の転送データ、即ちリミットアドレス未満に収まらない分の転送データをネクストデータバッファに書き込む(S422)。前述の前提に基づいて例を示すと、例えば1回目にこのステップを実施する場合、カレントデータバッファに書き込む転送データは要素データD0〜D6である。また例えば2回目にこのステップを実施する場合、カレントデータバッファに書き込む転送データは要素データD7〜D10であり、ネクストデータバッファに書き込む転送データは要素データD11〜D14である。
In S420, the
次に、転送パケット生成部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
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
S426において、転送パケット生成部350は、ネクストデータバッファをカレントデータバッファとし、更に次のデータバッファをネクストデータバッファとする(S426)。そして、処理は、S434へ進む。
In S426, the
S430において、転送パケット生成部350は、カレントデータバッファの転送データ(例えば、要素データD0〜D10)に、先頭データ(即ち、要素データD0)の受信側メモリへの書き込みアドレスとして受信側転送開始アドレス612を付加した転送パケットを生成し出力する(S430)。図12は、4つ目の転送パケット634の例を示す図である。転送パケット633の詳細は、転送パケット632と同様に考えればよいため説明を省略する。
In S430, the transfer
次に、転送命令実行部330は、このデータ転送命令610の処理で転送する総転送サイズ分の転送データの読み出しを完了したか否かを確認する(S432)。完了した場合(S432でYES)、処理は終了する。完了していない場合(S432でNO)、処理はS434へ進む。
Next, the transfer
S434において、転送命令実行部330は、読出アドレス621を更新し、データ読出要求620を出力する(S434)。そして、処理は、S404に進む。尚、転送命令実行部330は、先に出力したデータ読出要求620の読出アドレス621に送信側メモリアクセス単位(64バイト)分のアドレス増分値(例えば、64)を加算することで、読出アドレス621を更新する。
In S434, the transfer
本実施形態に係るデータ転送制御装置300は、以上説明したように動作する。
The data
尚、上述のデータ転送制御装置300が送信する転送パケットを受信した場合、受信側の記憶装置は、以下のように動作する。
Note that when the transfer packet transmitted by the data
最初に、受信側の記憶装置は、例えばノード間ネットワーク網を介して、データ転送制御装置300が送信する転送パケット631を受信する。
First, the storage device on the receiving side receives the transfer packet 631 transmitted by the data
次に、受信側の記憶装置は、転送パケット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
図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
CPU302は、ディスク装置303に格納されたプログラムを、例えば記憶部304に展開し、展開したプログラムに基づいて図6、図7に示すフローチャートに基づく処理を実行する。
The
ディスク装置303は、上述したデータ転送制御装置300の処理をコンピュータに実行させるプログラムを記憶する。
The
記憶部304は、そのプログラム及びプログラムが動作するための制御情報を記憶し、また上述の送信側メモリとして転送データを、及びデータバッファとして転送パケットを記憶する。
The
上位インタフェース部305は、CPU302の指示に基づいて、データ転送命令を発行する回路デバイスまたは装置と送受信する。
The
ノード間ネットワークインタフェース部306は、CPU302の指示に基づいて、ノード間ネットワークと送受信する。ここで、ノードとは、図1に示すデータ転送装置300を収納する送信側ノードまたは受信側ノードに対応し、ノード間ネットワークは、送信側ノードまたは受信側ノードが接続されるネットワークである。
The inter-node
上述した本実施形態における効果は、パケット交換網を介してデータ転送を行う装置において、転送するデータがアドレス境界条件を満たしていない場合に、転送するデータのメモリアクセス性能を低下させないようにすることが可能になる点である。 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
[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
通信ノード100は、リクエスタ101とメモリ103とデータ転送制御装置200とを含む。
The communication node 100 includes a
リクエスタ101は、データ転送制御装置200にデータ転送命令を発行して、転送指示を行う。
The requester 101 issues a data transfer instruction by issuing a data transfer command to the data
メモリ103は、転送データ104を記憶する。
The
通信ノード110は、メモリ113と受信側パケット転送制御部112とを含む。
The communication node 110 includes a
メモリ113は、転送データ114を記憶する。
The
ノード間ネットワーク網120は、少なくともパケット交換による通信を行う。
The
尚、通信ノード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
まず、リクエスタ101は、データ転送命令をデータ転送制御装置200に出力する。図15は、データ転送命令650の例を示す図である。図15に示すように、データ転送命令650は、送信側転送開始アドレス611と、受信側転送開始アドレス612と、総転送サイズ613とを含む。
First, the
次に、データ転送命令650を受け取ったデータ転送制御装置200は、総転送サイズ613を、ノード間転送の転送パケットのサイズに分解して、メモリ103から転送データ104を読み出す。
Next, the data
続けて、データ転送制御装置200は、例えば転送パケット105〜108(図9から図12に示す転送パケット631〜634に対応、但し要素データの格納位置は必ずしも同一ではない)を生成しノード間ネットワーク網120に送信する。
Subsequently, the data
次に、通信ノード110の受信側パケット転送制御部112は、送信側ノードが送信した転送パケット105〜108を、ノード間ネットワーク網120から転送パケット115〜118として受け取る。
Next, the reception side packet
次に、受信側パケット転送制御部112は、受け取った転送データ104を、転送パケット単位に、転送データ114としてメモリ113へ書き込む。
Next, the reception side packet
上述の転送パケット105〜108の生成において、まず、データ転送制御装置200は、メモリ103から読み出した転送データ104について、8バイトを1単位とする要素データ毎に、転送パケットへの相対的な格納位置を示す番号(以下、要素番号と呼ぶ)を付加する。尚、この要素番号は、メモリ103が読出データに付加してデータ転送制御装置200に対して出力するようにしてもよい。
In the generation of the
続けて、データ転送制御装置200は、転送パケット105〜108の境界がメモリ113のメモリアクセス境界に一致するように要素番号を補正する。
Subsequently, the data
続けて、データ転送制御装置200は、この補正した要素番号に基づいて、転送データ104を分割し、転送パケットに格納する。
Subsequently, the data
以上が、本実施形態に係るデータ転送制御装置200を適用したデータ転送システムの動作の概要の説明である。
The above is the outline of the operation of the data transfer system to which the data
次に、本実施形態に係るデータ転送制御装置200の詳細について説明する。
Next, details of the data
図16は、本実施形態に係るデータ転送制御装置200の構成を示すブロック図である。
FIG. 16 is a block diagram showing the configuration of the data
図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
パケット分割部220は、受け取った送信側転送開始アドレス611と受信側転送開始アドレス612と総転送サイズ613とに基づいて、ノード間転送の転送パケットサイズ単位に、図14に示すメモリ103の読出アドレス(以後、送信側パケットアドレスと呼ぶ)と受信側メモリの書込アドレス(以後、受信側パケットアドレスと呼ぶ)とを生成する。
Based on the received transmission-side
また、パケット分割部220は、パケットデータ整列部250に対し、1パケット分の転送データを整列させるデータバッファ要求を出力する。次に、パケット分割部220は、パケットデータ整列部250がデータバッファ要求への応答として出力したデータバッファ番号を受け取る。図17は、パケットデータ整列部250が出力するデータバッファ番号641の例を示す図である。
Further, the
尚、送信側メモリアクセス単位で読み出された転送データは、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
次に、パケット分割部220は、パケット単位のメモリアクセス情報である、1パケット情報643をメモリリクエスト発行部230に出力する。図18は、1パケット情報643の例を示す図である。図18に示すように、1パケット情報643は、送信側パケットアドレス671とカレントデータバッファ番号672とネクストデータバッファ番号673とから成る、
同時に、パケット分割部220は、転送パケットのヘッダ情報となるパケット単位の受信側パケットアドレスをパケットデータ整列部250に出力する。図19は、パケット分割部220が出力する受信側パケットアドレス642の例を示す図である。
Next, the
At the same time, the
補正情報生成部280は、送信側転送開始アドレス611と受信側転送開始アドレス612とに基づいて、補正情報(mとも呼ぶ)を算出する。図20は、補正情報生成部280が算出する補正情報675の例を示す図である。補正情報675は、送信側転送開始アドレス611とこれを含む送信側メモリアクセス単位のメモリアクセス境界アドレスとの差分を要素数で示す値と、受信側転送開始アドレス612とこれを含む受信側メモリアクセス単位のメモリアクセス境界アドレスとの差分を要素数で示す値、との差分である。そして、補正情報生成部280は、算出した補正情報675を要素番号補正部240に出力する。
The correction
メモリリクエスト発行部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
続けて、メモリリクエスト発行部230は、送信側パケットアドレス671に基づいて、メモリ103に送信側メモリアクセス境界アドレス371を含むメモリ読出リクエストを出力する。同時に、メモリリクエスト発行部230は、メモリリクエスト情報644を、要素番号付与部290に出力する。
Subsequently, the memory
メモリ103は、受け取ったメモリ読み出しリクエストに応答して、メモリ読出リクエストで指定されたアドレスに基づいて読み出した、送信側メモリアクセス単位の転送データをデータ転送制御装置200の要素番号付与部290に出力する。
In response to the received memory read request, the
要素番号付与部290は、メモリ103から受け取った転送データから送信側メモリアクセス単位データを生成し、要素番号補正部240に出力する。図22は、送信側メモリアクセス単位データ645の例を示す図である。図22に示すように、送信側メモリアクセス単位データ645は、要素番号686及び対応する要素データ640の複数の組とカレントデータバッファ番号672とネクストデータバッファ番号673とパケット内リクエスト番号674とを含む。
The element
要素番号付与部290は、メモリ103から送信された送信側メモリアクセス単位の転送データを受信し、例えば以下のように、送信側メモリアクセス単位データ645を生成する。最初に、要素番号付与部290は、受け取った転送データに含まれる要素データ640に、メモリ103に格納されていた際のアドレスの若い順に、0オリジンで要素番号686を付与する。次に、要素番号付与部290は、付与した要素番号686と対応する要素データ640とを組にして並べ、更に、カレントデータバッファ番号672とネクストデータバッファ番号673とパケット内リクエスト番号674とを付加する。
The element
尚、要素番号付与部290は、メモリ103に含まれてもよい。
Note that the element
要素番号補正部240は、データバッファ格納データを生成し、パケットデータ整列部250に出力する。
The element
図23は、データバッファ格納データ647の例を示す図である。図23を参照すると、データバッファ格納データ647は、格納バッファ番号649と格納要素番号688と要素データ640との組を複数含む。
FIG. 23 is a diagram illustrating an example of the data
要素番号補正部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
要素番号補正部240は、例えば、送信側メモリアクセス単位に含まれる要素データそれぞれに対応するデータバッファ格納要素番号演算回路を含み、各要素データに対応する格納要素番号688を並列に算出するようにしてもよい。
The element
パケットデータ整列部250は、データバッファ251〜254を含む。データバッファ251〜254それぞれは、「0」〜「4」のデータバッファ番号641を有する。
The packet
パケットデータ整列部250は、受け取ったデータバッファ要求に応答して、未使用状態のデータバッファ251〜254の内のいずれかのデータバッファ番号641を出力する。また、パケットデータ整列部250は、データバッファ格納データ647を受信し、要素データ640毎に付加されている格納バッファ番号649と格納要素番号688とに基づいて、対応するデータバッファの対応する位置に要素データ640を格納する。
In response to the received data buffer request, the packet
転送パケット発行部260は、要素データの格納が完了したデータバッファのデータに、ヘッダ情報として受信側パケットアドレス642を付加し、転送パケットとして図12に示すノード間ネットワーク網120に送信する。そして、転送パケット発行部260は、送信処理を完了すると、データバッファを解放する。
The transfer
次に、本実施形態の動作について、図を参照して詳細に説明する。尚、本実施形態の動作の説明における前提は、第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
図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 /
次に、パケット分割部220は、受け取った送信側転送開始アドレス611と受信側転送開始アドレス612と総転送サイズ613とに基づいて、送信側パケットアドレス671と受信側パケットアドレス642とを生成する(S504)。具体的には、パケット分割部220は、転送データが含まれる64バイト境界アドレスから、128バイト単位の送信側パケットアドレス671及び受信側パケットアドレス642を総転送サイズ分生成する。
Next, the
前述の前提に基づいて例を示すと、パケット分割部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
次に、パケット分割部220は、パケットデータ整列部250からデータバッファ番号を取得する(S506)。尚、パケット分割部220は、S506を1回目に実行する場合は、カレントデータバッファ番号672用とネクストデータバッファ番号673用の2つのデータバッファ番号641を取得する。そして、パケット分割部220は、S506を2回目以降に実行する場合は、現在のネクストデータバッファ番号673を次のカレントデータバッファ番号672とし、次のネクストデータバッファ番号673用の1つのデータバッファ番号641を新たに取得する。
Next, the
ここで、カレントデータバッファとネクストデータバッファの2つのデータバッファ251〜254が必要な場合を具体的に説明する。
Here, the case where the two
図25は、メモリ103から読み出された転送データをデータバッファに格納する動作を示す図である。
FIG. 25 is a diagram illustrating an operation of storing transfer data read from the
メモリ読出データ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
このため、パケット分割部220は、1パケット情報643にカレントデータバッファ番号672及びネクストデータバッファ番号673を含めて出力する。
Therefore, the
次に、パケット分割部220は、パケット単位のメモリアクセス情報である、1パケット情報643を生成し、メモリリクエスト発行部230に出力する(S508)。
Next, the
続けて、パケット分割部220は、受信側パケットアドレス642をパケットデータ整列部250に出力する(S510)。
Subsequently, the
次に、補正情報生成部280は、送信側転送開始アドレス611と受信側転送開始アドレス612とに基づいて、補正情報675を算出し、要素番号補正部240に算出した補正情報675を出力する。(S512)。以下に、前述の前提に基づいて例を示す。
Next, the correction
図4に示すように送信側転送開始アドレス611は「A+8」であり、これを含む送信側メモリアクセス単位のメモリアクセス境界アドレス[A]との差分「8」の要素数は、「1」である。
As shown in FIG. 4, the transmission side
図5に示すように受信側転送開始アドレス612は「B+40」であり、これを含む受信側メモリアクセス単位のメモリアクセス境界アドレス[B]との差分「40」の要素数は、「5」である。従って、補正情報生成部280は、補正情報675[4(5−1=4)]を算出する。
As shown in FIG. 5, the receiving side
また、例えば、図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
次に、メモリリクエスト発行部230は、送信側メモリアクセス単位にメモリリクエスト情報644を生成して要素番号付与部290に出力し、メモリ103にメモリ読出リクエストを出力する(S514)。尚、前述の前提の場合、メモリリクエスト発行部230は、受け取った1パケット情報643に基づいて、メモリアクセス単位のメモリリクエスト情報644と対応するメモリ読出リクエストとの送信を、2回実行する。
Next, the memory
メモリ103は、受け取ったメモリ読出リクエストに応答して、メモリ読出リクエストで指定されたアドレスに基づいて読み出した、送信側メモリアクセス単位の転送データをデータ転送制御装置200に出力する(S516)。
In response to the received memory read request, the
次に、要素番号付与部290は、送信側メモリアクセス単位データ645を生成し、要素番号補正部240に出力する(S518)。
Next, the element
次に、要素番号補正部240は、データバッファ格納データ647を生成し、パケットデータ整列部250に出力する(S520)。
Next, the element
以下に、前述の前提に基づいて、データバッファ格納データ647に含まれる、格納要素番号688の算出と格納バッファ番号649の決定とについて、以下に具体的な例を説明する。図28及び図29は、格納要素番号688の算出と格納バッファ番号649の決定との手順を示す図である。
Below, based on the above-mentioned premise, a specific example of calculation of the
まず、要素番号補正部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
次に、要素番号補正部240は、1パケット分要素番号687を補正情報675で補正(k+m)し、格納要素番号688を算出する。具体的には、要素番号補正部240は、メモリ読出データ651の要素データそれぞれの格納要素番号688として「4」〜「11」を算出し、メモリ読出データ652の要素データそれぞれの格納要素番号688として「12」〜「19」を算出する。
Next, the element
ここで、パケットサイズの最大は128バイトであるため、格納要素番号688の最大値は、「15」である。そこで、要素番号補正部240は、「16」〜「19」と算出した格納要素番号688を「0」〜「3」に変換する。
Here, since the maximum packet size is 128 bytes, the maximum value of the
こうして、要素番号補正部240は、格納要素番号688を算出する。
Thus, the element
次に、要素番号補正部240は、先頭の要素データ640から格納要素番号688が「15」の要素データ640までの格納バッファ番号649として、カレントデータバッファ番号672である「0」を決定する。同時に、要素番号補正部240は、格納要素番号688が「0」の要素データ640から最後の要素データ640までの格納バッファ番号649として、ネクストデータバッファ番号673である「1」を決定する。
Next, the element
以下、要素番号補正部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
パケットデータ整列部250は、データバッファ格納データ647を受け取り、要素データ640毎に付加されている格納バッファ番号649と格納要素番号688とに基づいて、対応するデータバッファに要素データ640を格納する。
The packet
次に、転送パケット発行部260は、要素データの格納が完了したデータバッファのデータに、ヘッダ情報として受信側パケットアドレス642を付加し、転送パケットとしてノード間ネットワーク網120に送信する(S522)。尚、転送パケット発行部260は、送信処理を完了すると、データバッファを解放する。
Next, the transfer
次に、パケット分割部220は、S504で生成した全ての送信側パケットアドレス671について、1パケット情報643を出力した(転送データ送信完了)か否かを確認する(S524)。送信を完了した場合(S524でYES)、処理は終了する。送信を完了していない場合(S524でNO)、処理は、S506へ進む。
Next, the
上述した本実施形態における効果は、第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
以下に、パケット交換網を介してデータ転送を行う装置において、例えば前述の実施形態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
次に、送信側記憶装置は、第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
尚、例えば、受信側転送開始アドレスに基づいて、受信側記憶装置での書き込み回数を少なくなるような転送パケットを生成する場合、送信側記憶装置は同一アドレスに対して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
303
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.
前記要素番号補正部は、前記要素番号に前記リクエスト番号と前記送信側メモリアクセス単位に対応する前記要素データの数とを乗算した数を加算し、前記加算された要素番号を前記補正情報に基づいて補正して前記格納要素番号に変換する
請求項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.
前記要素番号の補正は、前記要素番号に前記リクエスト番号と前記送信側メモリアクセス単位に対応する前記要素データの数とを乗算した数を加算し、前記加算された要素番号を前記補正情報に基づいて補正して前記格納要素番号に変換する処理
をコンピュータに実行させる請求項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.
データ転送システム。 A data transfer system including a communication node equipped with the data transfer control device according to claim 1.
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)
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 |
-
2011
- 2011-01-07 JP JP2011002242A patent/JP5314056B2/en not_active Expired - Fee Related
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 |