[go: up one dir, main page]

JP2022061674A - Memory control device and control method - Google Patents

Memory control device and control method Download PDF

Info

Publication number
JP2022061674A
JP2022061674A JP2020169750A JP2020169750A JP2022061674A JP 2022061674 A JP2022061674 A JP 2022061674A JP 2020169750 A JP2020169750 A JP 2020169750A JP 2020169750 A JP2020169750 A JP 2020169750A JP 2022061674 A JP2022061674 A JP 2022061674A
Authority
JP
Japan
Prior art keywords
memory
receiving
transmission
descriptor
data
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.)
Granted
Application number
JP2020169750A
Other languages
Japanese (ja)
Other versions
JP7615598B2 (en
Inventor
好博 中谷
Yoshihiro Nakatani
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2020169750A priority Critical patent/JP7615598B2/en
Priority to PCT/JP2021/008885 priority patent/WO2022074858A1/en
Publication of JP2022061674A publication Critical patent/JP2022061674A/en
Application granted granted Critical
Publication of JP7615598B2 publication Critical patent/JP7615598B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】DMA方式でデータ転送を行う場合に、DMA方式以外の方法によるメモリの読み書きを低減する。【解決手段】転送装置(230)は、第1ファームウェア(112)からタグ番号を受信し、タグ番号に応じた送信ディスクリプタテーブルから、当該送信ディスクリプタテーブルによって指定される順番で、当該送信ディスクリプタテーブルに含まれている複数の送信ディスクリプタを読み出し、順次読み出す複数の送信ディスクリプタの記述に従って、複数の転送対象データを順次転送する。【選択図】図1[Problem] When data transfer is performed by the DMA method, memory reads and writes by methods other than the DMA method are reduced. [Solution] A transfer device (230) receives a tag number from a first firmware (112), reads out a plurality of transmission descriptors included in a transmission descriptor table corresponding to the tag number in an order specified by the transmission descriptor table, and sequentially transfers a plurality of transfer target data according to the descriptions of the plurality of transmission descriptors read out in sequence. [Selected Figure] Figure 1

Description

本発明は、メモリ制御装置および制御方法に関する。 The present invention relates to a memory control device and a control method.

CPU(Central Processing Unit)ユニット間、またはCPUユニットとデバイスユニットの間でデータを転送する場合、DMA(Direct Memory Access)方式でデータを転送する場合がある。例えば、下掲の特許文献1には、ディスクリプタを読み出すときに、ディスクリプタが正しいか否かを確認して、メモリのデータのDMA転送の可否を判定するDMA回路が開示されている。 When transferring data between CPU (Central Processing Unit) units or between CPU units and device units, data may be transferred by the DMA (Direct Memory Access) method. For example, Patent Document 1 below discloses a DMA circuit that confirms whether or not a descriptor is correct when reading a descriptor and determines whether or not DMA transfer of memory data is possible.

DMA方式でデータの転送を行う場合、送信側および/または受信側のユニットのメモリに転送対象のデータと転送量などを記載したディスクリプタを用意しておき、該ディスクリプタをDMAC(DMA Controller)に読み込ませる必要がある。このディスクリプタはDMACが一塊のデータ(例えば、1つのパケット)を転送する毎に1つ必要である。 When transferring data by the DMA method, prepare a descriptor that describes the data to be transferred and the transfer amount in the memory of the unit on the transmitting side and / or the receiving side, and read the descriptor into the DMAC (DMA Controller). I need to let you. One descriptor is required for each DMAC that transfers a chunk of data (eg, one packet).

特開2006-178795号公報Japanese Unexamined Patent Publication No. 2006-178795

ところが、複数の転送対象データをパケット等にまとめて転送する場合、送信側ユニットを統括する制御部(例えば、CPU、MPU等)において、パケット作成に伴うメモリコピーが頻繁に発生する虞がある。また、受信側ユニットを統括する制御部でも、パケット解凍に伴うメモリコピーが頻繁に発生する虞がある。 However, when a plurality of transfer target data are collectively transferred to a packet or the like, a memory copy associated with packet creation may frequently occur in a control unit (for example, CPU, MPU, etc.) that controls the transmitting side unit. Further, even in the control unit that controls the receiving side unit, there is a possibility that memory copying due to packet decompression occurs frequently.

図6は、DMA方式を用いた従来のデータ転送方法においてデータをパケット化する場合の処理を模式的に示した図である。図中のメモリは、データを送信する側のユニット(すなわち、送信側ユニット)のメモリである。 FIG. 6 is a diagram schematically showing a process when data is packetized in a conventional data transfer method using a DMA method. The memory in the figure is the memory of the unit on the side of transmitting data (that is, the unit on the transmitting side).

複数のデータA~Eがメモリ上で連続しないアドレスに存在する場合、送信側ユニットの制御部は、まずデータA~Eをタグにしたい順番に並び替える。例えば、図6に示すように、制御部はデータA~Eが連続したアドレスに格納された状態になるように、データA~Eをメモリ内のいずれかの領域にコピーする(STEP:1)。次に、CPUは並べ替えて格納したデータA~EからタグXを生成して、タグXをメモリ内のいずれかの領域にコピーする(STEP:2)。例えば、他に一緒にパケット化したいタグYが存在する場合、タグXを、タグYと連続するアドレスにコピーする。最後に、連続するアドレスに格納されたタグ(図6の例では、タグXとタグY)をまとめて、パケットを生成する(STEP:3)。 When a plurality of data A to E exist at non-consecutive addresses on the memory, the control unit of the transmitting unit first sorts the data A to E in the order in which they are desired to be tags. For example, as shown in FIG. 6, the control unit copies the data A to E to any area in the memory so that the data A to E are stored at consecutive addresses (STEP: 1). .. Next, the CPU generates the tag X from the sorted and stored data A to E, and copies the tag X to any area in the memory (STEP: 2). For example, if there is another tag Y to be packetized together, the tag X is copied to an address contiguous with the tag Y. Finally, the tags stored in the consecutive addresses (tag X and tag Y in the example of FIG. 6) are put together to generate a packet (STEP: 3).

このように、転送対象のデータの格納先アドレスが連続していない場合、それらのデータをタグ化、および/またはパケット化するためには、それらのデータがメモリ上で連続したアドレスに格納されるように、データを整理してメモリにコピーし直す必要がある。したがって、送信側ユニットのCPUにおいてメモリコピーが頻繁に発生し、送信側ユニットのCPUにかえって処理負荷がかかってしまうという問題があった。 In this way, when the storage destination addresses of the data to be transferred are not contiguous, those data are stored in contiguous addresses in the memory in order to tag and / or packetize the data. So you need to organize the data and copy it back to memory. Therefore, there is a problem that memory copying frequently occurs in the CPU of the transmitting side unit, and the processing load is applied to the CPU of the transmitting side unit instead.

また、パケットまたはタグを受信した受信側ユニットのCPUまたはMPU等では、パケットおよび/またはタグを解凍して、これらに含まれているデータをメモリ上の適切な領域にコピーする必要がある。具体的には、受信側ユニットの制御部は、各データを、メモリ上の受信側ユニットのアプリケーションが使用可能な領域にコピーする必要がある。 Further, the CPU or MPU of the receiving unit that has received the packet or tag needs to decompress the packet and / or the tag and copy the data contained therein to an appropriate area on the memory. Specifically, the control unit of the receiving unit needs to copy each data to an area on the memory that can be used by the application of the receiving unit.

本発明の一態様は、上記課題を鑑みたものであり、DMA方式でデータ転送を行う場合に、DMA方式以外の方法によるメモリの読み書きを低減することを目的とする。 One aspect of the present invention has been made in view of the above problems, and an object thereof is to reduce reading and writing of a memory by a method other than the DMA method when data is transferred by the DMA method.

上記の課題を解決するために、本発明の一態様に係るメモリ制御装置は、送信側メモリおよび受信側メモリにDMA(Direct Memory Access)方式でアクセスして、複数の転送対象データを前記送信側メモリから前記受信側メモリへと転送するメモリ制御装置であって、前記送信側メモリには、少なくとも、前記複数の転送対象データと、複数の送信ディスクリプタを含んだ送信ディスクリプタテーブルとが記憶されており、送信側制御部から、前記送信ディスクリプタテーブルを指定する識別子を受信する識別子受信部と、前記識別子が指定する前記送信ディスクリプタテーブルから、当該送信ディスクリプタテーブルによって指定される順番で、当該送信ディスクリプタテーブルに含まれている複数の送信ディスクリプタを読み出す送信ディスクリプタ読出部と、前記送信側メモリから順次読み出す前記複数の送信ディスクリプタの記述に従って、前記送信側メモリから前記複数の転送対象データを順次読み出すデータ読出部と、を備える。 In order to solve the above problems, the memory control device according to one aspect of the present invention accesses the transmission side memory and the reception side memory by a DMA (Direct Memory Access) method, and transmits a plurality of transfer target data to the transmission side. A memory control device that transfers data from a memory to the receiving memory, and the transmitting memory stores at least the plurality of transfer target data and a transmitting descriptor table including a plurality of transmitting descriptors. From the sender control unit to the identifier receiver that receives the identifier that specifies the transmit descriptor table, and from the transmit descriptor table that the identifier specifies, to the transmit descriptor table in the order specified by the transmit descriptor table. A transmission descriptor reading unit that reads out a plurality of included transmission descriptors, and a data reading unit that sequentially reads the plurality of transfer target data from the transmitting side memory according to the description of the plurality of transmitting descriptors that are sequentially read from the transmitting side memory. , Equipped with.

上記の課題を解決するために、本発明の一態様に係るメモリ制御装置の制御方法は、送信側メモリおよび受信側メモリにDMA(Direct Memory Access)方式でアクセスして、複数の転送対象データを前記送信側メモリから前記受信側メモリへと転送するメモリ制御装置の制御方法であって、前記送信側メモリには、少なくとも、前記複数の転送対象データと、複数の送信ディスクリプタを含んだ送信ディスクリプタテーブルとが記憶されており、送信側制御部から、前記送信ディスクリプタテーブルを指定する識別子を受信する識別子受信ステップと、前記識別子が指定する前記送信ディスクリプタテーブルから、当該送信ディスクリプタテーブルによって指定される順番で、当該送信ディスクリプタテーブルに含まれている複数の送信ディスクリプタを読み出す送信ディスクリプタ読出ステップと、前記送信側メモリから順次読み出す前記複数の送信ディスクリプタの記述に従って、前記送信側メモリから前記複数の転送対象データを順次読み出すデータ読出ステップと、を含む。 In order to solve the above problems, the control method of the memory control device according to one aspect of the present invention accesses the transmission side memory and the reception side memory by the DMA (Direct Memory Access) method, and transfers a plurality of data to be transferred. A method of controlling a memory control device for transferring data from a transmitting side memory to the receiving side memory, wherein the transmitting side memory includes at least the plurality of transfer target data and a plurality of transmitting descriptors. Is stored, and the identifier receiving step for receiving the identifier specifying the transmission descriptor table from the transmitting side control unit and the transmission descriptor table specified by the identifier are in the order specified by the transmission descriptor table. According to the description of the transmission descriptor read step for reading a plurality of transmission descriptors included in the transmission descriptor table and the plurality of transmission descriptors sequentially read from the transmission side memory, the plurality of transfer target data are transferred from the transmission side memory. Includes a data read step to read sequentially.

前記の構成によれば、メモリ制御装置は、送信ディスクリプタを送信ディスクリプタテーブルが指定する順番で読み出す。そして、メモリ制御装置は、それらの送信ディスクリプタの記述にしたがって、転送対象データを送信側メモリから順次読み出すことができる。したがって、メモリ制御装置は、送信側制御部から識別子を受信するだけで、複数の転送対象データの読み出しを行うことができる。換言すると、送信側制御部は、最初に識別子をメモリ制御装置に送信した後は、送信側メモリにアクセスしなくてもよい。したがって、前記の構成によれば、送信側制御部が送信側メモリにアクセスする頻度を低減することができる。 According to the above configuration, the memory controller reads the transmit descriptors in the order specified by the transmit descriptor table. Then, the memory control device can sequentially read the transfer target data from the transmission side memory according to the description of those transmission descriptors. Therefore, the memory control device can read out a plurality of transfer target data only by receiving the identifier from the transmission side control unit. In other words, the transmitting side control unit does not have to access the transmitting side memory after first transmitting the identifier to the memory control device. Therefore, according to the above configuration, it is possible to reduce the frequency with which the transmitting side control unit accesses the transmitting side memory.

また、メモリ制御装置は、例えば、複数の転送対象データが送信側メモリの中で連続しないアドレスに格納されていた場合でも、それらの転送対象データを別個に読み出すことができる。そのため、送信側制御部は、予め複数の転送対象データを1つのパケット等にまとめておく必要がない。すなわち、送信側制御部は、パケットおよび/またはタグ生成のために、送信側メモリにアクセスしてデータのコピー等を行う必要が無い。したがって、前記の構成によれば、複数の転送対象データをパケットおよび/またはタグ等にまとめて転送する場合に比べて、送信側制御部が送信側メモリにアクセスする頻度を低減することができる。 Further, the memory control device can read out the transfer target data separately even when a plurality of transfer target data are stored at non-consecutive addresses in the transmission side memory, for example. Therefore, the transmitting side control unit does not need to combine a plurality of transfer target data into one packet or the like in advance. That is, the transmitting side control unit does not need to access the transmitting side memory and copy data or the like in order to generate packets and / or tags. Therefore, according to the above configuration, it is possible to reduce the frequency with which the transmitting side control unit accesses the transmitting side memory, as compared with the case where a plurality of transfer target data are collectively transferred as a packet and / or a tag or the like.

上記の課題を解決するために、本発明の一態様に係るメモリ制御装置は、送信側メモリおよび受信側メモリにDMA(Direct Memory Access)方式でアクセスして、複数の転送対象データを前記送信側メモリから前記受信側メモリへと転送するメモリ制御装置であって、前記受信側メモリには、少なくとも、複数の受信ディスクリプタを含んだ受信ディスクリプタテーブルが記憶されており、送信側制御部から、前記受信ディスクリプタテーブルを指定する識別子を受信する識別子受信部と、送信側制御部が決定した前記識別子に応じた前記受信ディスクリプタテーブルから、当該受信ディスクリプタテーブルによって指定される順番で、当該受信ディスクリプタテーブルに含まれている複数の受信ディスクリプタを読み出す受信ディスクリプタ読出部と、前記受信側メモリから順次読み出す前記複数の受信ディスクリプタの記述に従って、前記送信側メモリから読み出された前記複数の転送対象データを前記受信側メモリに順次書き込むデータ書込部と、を備える。 In order to solve the above problems, the memory control device according to one aspect of the present invention accesses the transmission side memory and the reception side memory by a DMA (Direct Memory Access) method, and transmits a plurality of transfer target data to the transmission side. It is a memory control device that transfers data from a memory to the receiving side memory, and the receiving side memory stores at least a receiving descriptor table including a plurality of receiving descriptors, and the receiving side control unit gives the receiving side control unit. The identifier receiving unit that receives the identifier that specifies the descriptor table and the receiving descriptor table that corresponds to the identifier determined by the transmitting side control unit are included in the receiving descriptor table in the order specified by the receiving descriptor table. According to the description of the receiving descriptor reading unit that reads a plurality of receiving descriptors and the plurality of receiving descriptors that are sequentially read from the receiving side memory, the plurality of transfer target data read from the transmitting side memory is stored in the receiving side memory. A data writing unit for sequentially writing to the data is provided.

上記の課題を解決するために、本発明の一態様に係るメモリ制御装置の制御方法は、送信側メモリおよび受信側メモリにDMA(Direct Memory Access)方式でアクセスして、複数の転送対象データを前記送信側メモリから前記受信側メモリへと転送するメモリ制御装置の制御方法であって、前記受信側メモリには、少なくとも、複数の受信ディスクリプタを含んだ受信ディスクリプタテーブルが記憶されており、送信側制御部から、前記受信ディスクリプタテーブルを指定する識別子を受信する識別子受信ステップと、送信側制御部が決定した前記識別子に応じた前記受信ディスクリプタテーブルから、当該受信ディスクリプタテーブルによって指定される順番で、当該受信ディスクリプタテーブルに含まれている複数の受信ディスクリプタを読み出す受信ディスクリプタ読出ステップと、前記受信側メモリから順次読み出す前記複数の受信ディスクリプタの記述に従って、前記送信側メモリから読み出された前記複数の転送対象データを前記受信側メモリに順次書き込むデータ書込ステップと、を含む。 In order to solve the above problems, the control method of the memory control device according to one aspect of the present invention accesses the transmission side memory and the reception side memory by the DMA (Direct Memory Access) method, and transfers a plurality of transfer target data. A control method for a memory control device for transferring data from a transmitting side memory to the receiving side memory, wherein a receiving descriptor table including at least a plurality of receiving descriptors is stored in the receiving side memory, and the transmitting side has a storage side. From the identifier receiving step of receiving the identifier specifying the receiving descriptor table from the control unit and the receiving descriptor table corresponding to the identifier determined by the transmitting side control unit, the order specified by the receiving descriptor table is specified. The plurality of transfer targets read from the transmitting side memory according to the description of the receiving descriptor reading step of reading a plurality of receiving descriptors included in the receiving descriptor table and the plurality of receiving descriptors sequentially read from the receiving side memory. A data writing step of sequentially writing data to the receiving side memory is included.

前記の構成によれば、メモリ制御装置は、受信ディスクリプタを受信ディスクリプタテーブルが指定する順番で読み出す。そして、メモリ制御装置は、それらの受信ディスクリプタの記述にしたがって、転送対象データを受信側メモリに順次書き込むことができる。これにより、受信側制御部は受信側メモリにアクセスせずとも、転送対象データの書き込みが可能になる。したがって、前記の構成によれば、受信側制御部が受信側メモリにアクセスする頻度を低減することができる。 According to the above configuration, the memory controller reads the receive descriptors in the order specified by the receive descriptor table. Then, the memory control device can sequentially write the transfer target data to the receiving side memory according to the description of those receiving descriptors. As a result, the receiving side control unit can write the data to be transferred without accessing the receiving side memory. Therefore, according to the above configuration, it is possible to reduce the frequency with which the receiving side control unit accesses the receiving side memory.

また、メモリ制御装置は、複数の転送対象データを別個に書き込んでいく。そのため、例えば、具体的には、受信側制御部が、複数の転送対象データをまとめたパケットおよび/またはタグを解凍して、各転送対象データを適切な領域にコピーし直す必要が無い。したがって、前記の構成によれば、複数の転送対象データをパケットおよび/またはタグ等にまとめて転送する場合に比べて、受信側制御部が受信側メモリにアクセスする頻度を低減することができる。 In addition, the memory control device writes a plurality of transfer target data separately. Therefore, for example, it is not necessary for the receiving side control unit to decompress a packet and / or a tag that summarizes a plurality of transfer target data and copy each transfer target data back to an appropriate area. Therefore, according to the above configuration, it is possible to reduce the frequency with which the receiving side control unit accesses the receiving side memory as compared with the case where a plurality of transfer target data are collectively transferred as a packet and / or a tag or the like.

前記受信側メモリには、少なくとも、複数の受信ディスクリプタを含んだ受信ディスクリプタテーブルが記憶されていてもよく、前記識別子は、前記送信ディスクリプタテーブルと、当該送信ディスクリプタテーブルに対応する前記受信ディスクリプタテーブルとを指定する識別子であってもよい。そして、前記メモリ制御装置は、前記識別子が指定する前記受信ディスクリプタテーブルから、当該受信ディスクリプタテーブルによって指定される順番で、当該受信ディスクリプタテーブルに含まれている複数の受信ディスクリプタを読み出す受信ディスクリプタ読出部と、前記受信側メモリから順次読み出す前記複数の受信ディスクリプタの記述に従って、前記送信側メモリから読み出された前記複数の転送対象データを前記受信側メモリに順次書き込むデータ書込部と、を備えていてもよい。 The receiving side memory may store at least a receiving descriptor table including a plurality of receiving descriptors, and the identifier includes the transmitting descriptor table and the receiving descriptor table corresponding to the transmitting descriptor table. It may be a designated identifier. Then, the memory control device includes a receive descriptor reading unit that reads a plurality of receive descriptors included in the receive descriptor table in the order specified by the receive descriptor table from the receive descriptor table designated by the identifier. A data writing unit for sequentially writing the plurality of transfer target data read from the transmitting side memory to the receiving side memory according to the description of the plurality of receiving descriptors sequentially read from the receiving side memory. May be good.

前記の構成によれば、メモリ制御装置は送信側制御部から、送信ディスクリプタテーブルと、受信ディスクリプタテーブルとを指定する識別子を受信する。これにより、メモリ制御装置は、送信ディスクリプタと対になる受信ディスクリプタを、識別子により指定された受信ディスクリプタテーブルから、該受信ディスクリプタテーブルが指定する順番で読み出すことができる。そして、メモリ制御装置は、それらの受信ディスクリプタの記述にしたがって、転送対象データを受信側メモリに順次書き込むことができる。これにより、受信側制御部は受信側メモリにアクセスせずとも、転送対象データの書き込みが可能になる。したがって、前記の構成によれば、送信側制御部が送信側メモリにアクセスする頻度と、受信側制御部が受信側メモリにアクセスする頻度との両方を低減することができる。 According to the above configuration, the memory control device receives an identifier for designating the transmission descriptor table and the reception descriptor table from the transmission side control unit. As a result, the memory control device can read the receive descriptor paired with the transmit descriptor from the receive descriptor table designated by the identifier in the order specified by the receive descriptor table. Then, the memory control device can sequentially write the transfer target data to the receiving side memory according to the description of those receiving descriptors. As a result, the receiving side control unit can write the data to be transferred without accessing the receiving side memory. Therefore, according to the above configuration, it is possible to reduce both the frequency with which the transmitting side control unit accesses the transmitting side memory and the frequency with which the receiving side control unit accesses the receiving side memory.

また、メモリ制御装置は、送信側メモリから複数の転送対象データを別個に読出し、別個に書き込んでいく。そのため、送信側制御部が、パケットおよび/またはタグ生成のために送信側メモリにアクセスする必要が無くなり、受信側制御部が、複数の転送対象データをまとめたパケットおよび/またはタグを解凍して、各転送対象データを適切な領域にコピーし直す必要が無くなる。したがって、前記の構成によれば、複数の転送対象データをパケットおよび/またはタグ等にまとめて転送する場合に比べて、送信側制御部が送信側メモリにアクセスする頻度と、受信側制御部が受信側メモリにアクセスする頻度との両方を低減することができる。 Further, the memory control device separately reads a plurality of transfer target data from the transmission side memory and writes them separately. Therefore, the sender control unit does not need to access the sender memory for packet and / or tag generation, and the receiver control unit decompresses the packet and / or tag that summarizes a plurality of transfer target data. , It is not necessary to copy each transfer target data to an appropriate area again. Therefore, according to the above configuration, the frequency with which the transmitting side control unit accesses the transmitting side memory and the frequency with which the receiving side control unit accesses the storage side memory, as compared with the case where a plurality of transfer target data are collectively transferred to a packet and / or a tag or the like. Both the frequency of accessing the receiving memory can be reduced.

前記メモリ制御装置において、前記送信側メモリは第1デバイスに設けられていてもよく、前記受信側メモリは、前記第1デバイスと異なるデバイスであって、前記第1デバイスとDMA方式で通信する第2デバイスに設けられていてもよい。 In the memory control device, the transmitting side memory may be provided in the first device, and the receiving side memory is a device different from the first device and communicates with the first device by a DMA method. It may be provided in two devices.

前記の構成によれば、それぞれ異なる装置に搭載されている送信側メモリと受信側メモリの間でのデータ転送において、DMA方式以外の方法によるメモリへのアクセス頻度を低減することができる。 According to the above configuration, in the data transfer between the transmitting side memory and the receiving side memory mounted on different devices, it is possible to reduce the frequency of accessing the memory by a method other than the DMA method.

前記メモリ制御装置において、前記送信側メモリと前記受信側メモリは同一であってもよい。前記の構成によれば、ある1つのメモリ内でのデータ転送において、DMA方式以外の方法によるメモリへのアクセス頻度を低減することができる。 In the memory control device, the transmitting side memory and the receiving side memory may be the same. According to the above configuration, in data transfer within a certain memory, it is possible to reduce the frequency of access to the memory by a method other than the DMA method.

本発明の一態様によれば、DMA方式でデータ転送を行う場合に、DMA方式以外の方法によるメモリへのアクセス頻度を低減することができる。 According to one aspect of the present invention, when data is transferred by the DMA method, the frequency of accessing the memory by a method other than the DMA method can be reduced.

実施形態1に係るデータ転送システムの要部構成の一例を示すブロック図である。It is a block diagram which shows an example of the main part structure of the data transfer system which concerns on Embodiment 1. FIG. タグテーブルおよびディスクリプタテーブルのデータ構造を示す図である。It is a figure which shows the data structure of a tag table and a descriptor table. 送信ディスクリプタおよび受信ディスクリプタのデータ構造を示す図である。It is a figure which shows the data structure of the transmit descriptor and the receive descriptor. 前記データ転送システムにおける、下りデータ転送の処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the process of downlink data transfer in the said data transfer system. 実施形態2に係るデータ転送システムの要部構成の一例を示すブロック図である。It is a block diagram which shows an example of the main part structure of the data transfer system which concerns on Embodiment 2. DMA(Direct Memory Access)方式を用いた従来のデータ転送方法においてデータをパケット化する場合の処理を模式的に示した図である。It is a figure which schematically showed the process in the case of packetizing data in the conventional data transfer method using the DMA (Direct Memory Access) method.

〔実施形態1〕
§1.適用例
本実施形態では一例として、第1ユニット(第1デバイス、第2デバイス)100に含まれる第1処理装置110と、第2ユニット(第1デバイス、第2デバイス)200に含まれる第2処理装置210との間で、双方向にデータの転送が可能なデータ転送システムについて説明する。
[Embodiment 1]
§1. Application example In this embodiment, as an example, the first processing device 110 included in the first unit (first device, second device) 100 and the second processing device 110 included in the second unit (first device, second device) 200 are included. A data transfer system capable of bidirectional data transfer to and from the processing device 210 will be described.

なお、以降の説明では、第1処理装置110から第2処理装置210へデータを転送することを、「下り転送」と称することもある。また、第2処理装置210から第1処理装置110へデータを転送することを、「上り転送」と称することもある。 In the following description, transferring data from the first processing device 110 to the second processing device 210 may be referred to as "downlink transfer". Further, transferring data from the second processing device 210 to the first processing device 110 may be referred to as "uplink transfer".

図1は、本実施形態に係るデータ転送システム500の要部構成の一例を示すブロック図である。データ転送システム500は、第1ユニット100と第2ユニット200を含む。第1ユニット100は第1処理装置110および第1メモリ120を含み、第2ユニット200は第2処理装置210、第2メモリ220、および転送装置230を含む。 FIG. 1 is a block diagram showing an example of a main part configuration of the data transfer system 500 according to the present embodiment. The data transfer system 500 includes a first unit 100 and a second unit 200. The first unit 100 includes a first processing device 110 and a first memory 120, and the second unit 200 includes a second processing device 210, a second memory 220, and a transfer device 230.

(第1ユニット100)
第1ユニット100は、例えば、産業用機器の制御を行うユニットである。第1ユニット100はPLC(Programmable Logic Controller)等で実現できる。第1処理装置110は、第1ユニット100におけるプロセッサである。第1処理装置110は、例えば、CPU(Central Processing Unit)であってよい。第1メモリ120は、第1ユニット100における揮発性の記憶装置である。第1メモリ120は、例えば、DRAM(Dynamic Random Access Memory)であってよい。
(1st unit 100)
The first unit 100 is, for example, a unit that controls industrial equipment. The first unit 100 can be realized by a PLC (Programmable Logic Controller) or the like. The first processing device 110 is a processor in the first unit 100. The first processing device 110 may be, for example, a CPU (Central Processing Unit). The first memory 120 is a volatile storage device in the first unit 100. The first memory 120 may be, for example, a DRAM (Dynamic Random Access Memory).

(第2ユニット200)
第2ユニット200は、例えば、第1ユニット100の機能を補完または拡張するためのユニットである。より具体的には、第2ユニット200は、データの統計機能、ルータ機能またはデータベース機能などの機能を担うユニットであってよい。
(2nd unit 200)
The second unit 200 is, for example, a unit for complementing or expanding the function of the first unit 100. More specifically, the second unit 200 may be a unit having a function such as a data statistical function, a router function, or a database function.

第2処理装置210は、第2ユニット200のプロセッサである。第2処理装置210は、例えばMPU(Micro Processing Unit)であってよい。第2メモリ220は第2ユニット200における揮発性の記憶装置である。第2メモリ220は、例えば、DRAMであってよい。 The second processing device 210 is a processor of the second unit 200. The second processing unit 210 may be, for example, an MPU (Micro Processing Unit). The second memory 220 is a volatile storage device in the second unit 200. The second memory 220 may be, for example, a DRAM.

転送装置230は、第1処理装置110と第2処理装置210との間で、DMA方式によるデータ転送を実現するための装置である。転送装置230は、例えば、FPGA(Field-Programmable gate array)で実現できる。なお、本実施形態では、転送装置230は第2ユニット200に設けられているが、データ転送システム500において、転送装置230は第1ユニット100に設けられていてもよい。 The transfer device 230 is a device for realizing data transfer by the DMA method between the first processing device 110 and the second processing device 210. The transfer device 230 can be realized by, for example, an FPGA (Field-Programmable gate array). In the present embodiment, the transfer device 230 is provided in the second unit 200, but in the data transfer system 500, the transfer device 230 may be provided in the first unit 100.

いずれの場合においても、第1処理装置110と転送装置230、ならびに、第2処理装置210と転送装置230はそれぞれ、PCIe(Peripheral Component Interconnect Express)の規格に準拠したbusで接続されている。これにより、第1処理装置110と第2処理装置210は、転送装置230を介してPCIeで通信することができる。 In either case, the first processing device 110 and the transfer device 230, and the second processing device 210 and the transfer device 230 are each connected by a bus conforming to the PCIe (Peripheral Component Interconnect Express) standard. As a result, the first processing device 110 and the second processing device 210 can communicate with each other by PCIe via the transfer device 230.

(データの転送)
詳細は後述するが、データ転送システム500では、送信側ユニットが受信側ユニットに、とある識別子を送信する。識別子は、送信側ユニットで使用する送信ディスクリプタテーブルを指定するための情報であり、受信側ユニットで使用する受信ディスクリプタテーブルを指定するための情報でもある。
(Data transfer)
Although the details will be described later, in the data transfer system 500, the transmitting side unit transmits a certain identifier to the receiving side unit. The identifier is information for specifying the transmit descriptor table used by the transmitting unit, and is also information for specifying the receiving descriptor table used by the receiving unit.

送信ディスクリプタテーブルには、複数の送信ディスクリプタが含まれている。受信ディスクリプタテーブルには、複数の受信ディスクリプタが含まれている。そのため、前述の識別子は、複数の転送対象データを転送する際に使用する送信ディスクリプタ群と受信ディスクリプタ群を指定しているともいえる。 The transmit descriptor table contains a plurality of transmit descriptors. The receive descriptor table contains a plurality of receive descriptors. Therefore, it can be said that the above-mentioned identifier specifies a transmission descriptor group and a reception descriptor group used when transferring a plurality of transfer target data.

転送装置230は、送信側メモリの送信ディスクリプタテーブルから送信ディスクリプタを読み出す。また、転送装置230は、受信側メモリの受信ディスクリプタテーブルから受信ディスクリプタを読み出す。そして、転送装置230は、1セットの送信ディスクリプタおよび受信ディスクリプタの記述にしたがって、転送対象データを送信側メモリから受信側メモリへと転送する。転送装置230は、このような送信ディスクリプタおよび受信ディスクリプタの読み出しと、転送対象データの転送とを、送信ディスクリプタおよび受信ディスクリプタのセットの数だけ繰り返す。 The transfer device 230 reads a transmission descriptor from the transmission descriptor table of the transmission side memory. Further, the transfer device 230 reads the receive descriptor from the receive descriptor table of the receiving side memory. Then, the transfer device 230 transfers the transfer target data from the transmission side memory to the reception side memory according to the description of one set of transmission descriptor and reception descriptor. The transfer device 230 repeats reading such a transmission descriptor and a reception descriptor and transferring data to be transferred by the number of sets of transmission descriptors and reception descriptors.

図4に示す処理によれば、データ転送システム500では、送信側ユニットは識別子を決定して、当該識別子を転送装置230に送信するだけでよい。そのため、転送対象データが複数ある場合も、転送対象データのタグ化、および/またはパケット化を行う必要が無い。さらに言えば、転送対象データをタグ化、および/またはパケット化するための、メモリ上でのデータの並び替えも不要である。したがって、データ転送システム500によれば、送信側ユニットの制御部によるメモリのアクセス頻度を低減することができる。 According to the process shown in FIG. 4, in the data transfer system 500, the transmitting unit need only determine an identifier and transmit the identifier to the transfer device 230. Therefore, even when there are a plurality of transfer target data, it is not necessary to tag and / or packetize the transfer target data. Furthermore, it is not necessary to rearrange the data on the memory for tagging and / or packetizing the data to be transferred. Therefore, according to the data transfer system 500, it is possible to reduce the frequency of memory access by the control unit of the transmitting side unit.

また、データ転送システム500では、受信側ユニットは、パケットまたはタグではなく、転送対象データをそのまま受信する。そのため、パケットまたはタグを一旦メモリに書き込んでから解凍するという処理が発生しない。また、解凍した転送対象データをそれぞれ、メモリ上の適切な領域に再移動させる必要もない。したがって、データ転送システム500によれば、受信側ユニットの制御部によるメモリのアクセス頻度を低減することができる。 Further, in the data transfer system 500, the receiving unit receives the transfer target data as it is, not the packet or the tag. Therefore, the process of writing the packet or tag to the memory and then decompressing it does not occur. Further, it is not necessary to relocate each of the decompressed transfer target data to an appropriate area on the memory. Therefore, according to the data transfer system 500, it is possible to reduce the frequency of memory access by the control unit of the receiving side unit.

§2.構成例
(第1ユニット100)
次に、図1に示す第1ユニット100および第2ユニット200の要部構成について説明する。図1の例において、第1ユニット100は、第1処理装置110および第1メモリ120を備える。第1ユニット100は、他にも、入力装置、出力装置、および、ROM(Read Only Memory)等の不揮発性の記憶装置などを備えていてもよい。
§2. Configuration example (1st unit 100)
Next, the main components of the first unit 100 and the second unit 200 shown in FIG. 1 will be described. In the example of FIG. 1, the first unit 100 includes a first processing device 110 and a first memory 120. The first unit 100 may also include an input device, an output device, a non-volatile storage device such as a ROM (Read Only Memory), and the like.

(第1処理装置110)
第1処理装置110(送信側制御部)は、第1ユニット100を統括的に制御するプロセッサである。第1処理装置110は、例えば、CPUで実現される。第1処理装置110は、不図示の不揮発性記憶装置に記憶された第1ユニット100の制御プログラムを第1メモリ120に展開する。そして、第1処理装置110は、第1メモリ120に展開された制御プログラムを解釈および実行して、各構成要素を制御する。これによって、図1に示される通り、本実施形態に係る第1処理装置110は、第1制御部111と、第1ファームウェア(FW)112と、第1PCIeインタフェース113として機能する。
(First processing device 110)
The first processing device 110 (transmitting side control unit) is a processor that collectively controls the first unit 100. The first processing device 110 is realized by, for example, a CPU. The first processing device 110 expands the control program of the first unit 100 stored in the non-volatile storage device (not shown) into the first memory 120. Then, the first processing apparatus 110 interprets and executes the control program expanded in the first memory 120, and controls each component. As a result, as shown in FIG. 1, the first processing apparatus 110 according to the present embodiment functions as the first control unit 111, the first firmware (FW) 112, and the first PCIe interface 113.

第1制御部111は、第1ユニット100に接続される機器(例えば、産業用機器)を制御するものである。また、第1制御部111は、接続された機器と定周期で通信し、各種機器から、下流の工程で処理されるデータを取得してもよい。また例えば、第1制御部111が取得したデータは、第2ユニット200に転送されたのち、第2ユニット200によって処理されてもよい。 The first control unit 111 controls a device (for example, an industrial device) connected to the first unit 100. Further, the first control unit 111 may communicate with the connected device at a fixed cycle and acquire data processed in a downstream process from various devices. Further, for example, the data acquired by the first control unit 111 may be transferred to the second unit 200 and then processed by the second unit 200.

第1ファームウェア112は、第1ユニット100と第2ユニット200とのデータの転送に係る各種処理を実行する。例えば、第1ファームウェア112は、下りデータ転送時のタグ番号を決定し、転送装置230に通知する。なお、タグ番号については後で詳述する。また、第1ファームウェア112は、第1ユニット100と第2ユニット200とのデータ転送の開始前に、予め、タグテーブル、送信ディスクリプタテーブル、および受信ディスクリプタテーブルを作成またはダウンロードする処理と、当該作成またはダウンロードしたタグテーブル、送信ディスクリプタテーブル、および受信ディスクリプタテーブルを第1メモリ120に書き込む処理も行う。すなわち、第1ファームウェア112は、予め、タグテーブル、送信ディスクリプタテーブル、および受信ディスクリプタテーブルを準備して、第1メモリ120に記憶させておく。 The first firmware 112 executes various processes related to data transfer between the first unit 100 and the second unit 200. For example, the first firmware 112 determines the tag number at the time of downlink data transfer and notifies the transfer device 230. The tag number will be described in detail later. Further, the first firmware 112 performs a process of creating or downloading a tag table, a transmission descriptor table, and a reception descriptor table in advance before starting data transfer between the first unit 100 and the second unit 200, and the creation or download thereof. It also performs a process of writing the downloaded tag table, transmission descriptor table, and receive descriptor table to the first memory 120. That is, the first firmware 112 prepares the tag table, the transmit descriptor table, and the receive descriptor table in advance and stores them in the first memory 120.

第1PCIeインタフェース113は、第1処理装置110が、PCIebusを介して、転送装置230とPCIeで接続するためのインタフェースである。 The first PCIe interface 113 is an interface for the first processing device 110 to connect to the transfer device 230 via PCIe via PCIe bus.

(第1メモリ120)
第1メモリ120は、揮発性の記憶領域(RAM;Random Access Memory)である。第1メモリ120は、第1処理装置110によって生成された送信データ、第1処理装置110が処理すべき、第2処理装置210によって生成された受信データ、および、第1処理装置110で実行されるべき各種プログラムを格納する。また、第1メモリ120は、第1処理装置110による各種プログラムの実行時の作業用メモリとして使用されてもよい。第1メモリ120としては、典型的には、DRAM(Dynamic Random Access Memory)を用いることができる。
(First memory 120)
The first memory 120 is a volatile storage area (RAM; Random Access Memory). The first memory 120 is executed by the transmission data generated by the first processing device 110, the received data generated by the second processing device 210 to be processed by the first processing device 110, and the first processing device 110. Stores various programs to be used. Further, the first memory 120 may be used as a working memory when executing various programs by the first processing device 110. As the first memory 120, a DRAM (Dynamic Random Access Memory) can be typically used.

第1メモリ120には、送信タグテーブル、送信ディスクリプタテーブル、受信タグテーブル、受信ディスクリプタテーブル、および、転送対象のデータ(図1では、データ1~m)が記憶されている。 The transmission tag table, the transmission descriptor table, the reception tag table, the reception descriptor table, and the data to be transferred (data 1 to m in FIG. 1) are stored in the first memory 120.

第1メモリ120の送信ディスクリプタは、転送装置230のDMAC233(後述)が下り転送を実現するための動作の一部を規定するディスクリプタである。これにより、第1処理装置110の第1ファームウェア112が、第2処理装置210の第2ファームウェア212へデータを送信することが可能となる。 The transmission descriptor of the first memory 120 is a descriptor that defines a part of the operation for the DMAC233 (described later) of the transfer device 230 to realize downlink transfer. As a result, the first firmware 112 of the first processing device 110 can transmit data to the second firmware 212 of the second processing device 210.

第1メモリ120の受信ディスクリプタは、DMAC233が上り転送を実現するための動作の一部を規定する。これにより、第1処理装置110の第1ファームウェア112が、第2処理装置210の第2ファームウェア212から送信されたデータを受信することが可能となる。 The receive descriptor of the first memory 120 defines a part of the operation for the DMAC233 to realize the uplink transfer. As a result, the first firmware 112 of the first processing device 110 can receive the data transmitted from the second firmware 212 of the second processing device 210.

(タグテーブルとディスクリプタテーブル)
図2は、タグテーブルおよびディスクリプタテーブルのデータ構造を示す図である。なお、タグテーブルであれば、送信タグテーブルでも受信タグテーブルでも、基本的なデータ構造は同一である。また、ディスクリプタテーブルであれば、送信ディスクリプタテーブルでも受信ディスクリプタテーブルでも、基本的なデータ構造は同一である。
(Tag table and descriptor table)
FIG. 2 is a diagram showing the data structures of the tag table and the descriptor table. If it is a tag table, the basic data structure is the same whether it is a transmission tag table or a reception tag table. Further, if it is a descriptor table, the basic data structure is the same whether it is a transmit descriptor table or a receive descriptor table.

「タグテーブル」とは、複数のディスクリプタテーブルそれぞれの、メモリ上での格納先の先頭アドレスをリストにしたものである。送信タグデーブルは、データ送信の際に用いられるテーブルであって、送信ディスクリプタテーブルの先頭アドレスのリストである。受信タグテーブルは、データ受信の際に用いられるテーブルであって、受信ディスクリプタテーブルの先頭アドレスのリストである。 The "tag table" is a list of start addresses of storage destinations in the memory of each of a plurality of descriptor tables. The transmission tag table is a table used when transmitting data, and is a list of start addresses of the transmission descriptor table. The receive tag table is a table used when receiving data, and is a list of start addresses of the receive descriptor table.

図2では便宜上、タグテーブルの、あるディスクリプタテーブル(ディスクリプタテーブル1)の先頭アドレスが指定するディスクリプタをタグテーブルと対応付けて、並べて記載している。しかしながら、タグテーブルと、そのタグテーブルに対応するディスクリプタテーブルとは、メモリ上の連続しないアドレスに格納されていてもよい。また、図2のタグテーブルは、ディスクリプタテーブルの先頭アドレスを指定するものであり、ディスクリプタテーブルそのものは含んでいなくてよい。 In FIG. 2, for convenience, the descriptors specified by the start address of a certain descriptor table (descriptor table 1) of the tag table are shown side by side in association with the tag table. However, the tag table and the descriptor table corresponding to the tag table may be stored at non-consecutive addresses in the memory. Further, the tag table in FIG. 2 specifies the start address of the descriptor table, and does not have to include the descriptor table itself.

また、図2のタグテーブルにおける、各ディスクリプタテーブルの先頭アドレスの並び順は特に限定されない。例えば、同図の例では、X個のディスクリプタテーブルの先頭アドレスをそれぞれ、ディスクリプタテーブルXからディスクリプタテーブル1まで逆順で指定するような並び順としているが、ディスクリプタテーブル1からディスクリプタテーブルXまで順で指定するような並び順であってもよい。 Further, the order of the start addresses of each descriptor table in the tag table of FIG. 2 is not particularly limited. For example, in the example of the figure, the start addresses of the X descriptor tables are specified in reverse order from the descriptor table X to the descriptor table 1, but the descriptor table 1 to the descriptor table X are specified in order. It may be arranged in such an order.

「ディスクリプタテーブル」とは、複数のディスクリプタをデータ転送に用いる順に格納しているデータテーブルである。図2の例では、ディスクリプタテーブルは、ディスクリプタ1~ディスクリプタiを含んでいる。送信ディスクリプタテーブルは、複数の送信ディスクリプタをデータ転送に用いる順に格納しているデータテーブルである。受信ディスクリプタテーブルは、複数の受信ディスクリプタをデータ転送に用いる順に格納しているデータテーブルである。例えば図2のディスクリプタが送信ディスクリプタである場合、送信側メモリからのデータの読み出しの際は、ディスクリプタ1から順に送信ディスクリプタが使用される。また例えば、図2のディスクリプタが受信ディスクリプタである場合、受信側メモリへのデータの書き込みの際は、ディスクリプタ1から順に受信ディスクリプタが使用される。 The "descriptor table" is a data table that stores a plurality of descriptors in the order of being used for data transfer. In the example of FIG. 2, the descriptor table includes descriptors 1 to descriptor i. The transmission descriptor table is a data table that stores a plurality of transmission descriptors in the order of being used for data transfer. The receive descriptor table is a data table that stores a plurality of receive descriptors in the order of being used for data transfer. For example, when the descriptor in FIG. 2 is a transmission descriptor, the transmission descriptor is used in order from the descriptor 1 when reading data from the transmission side memory. Further, for example, when the descriptor in FIG. 2 is a receiving descriptor, the receiving descriptor is used in order from the descriptor 1 when writing data to the receiving side memory.

(送信ディスクリプタと受信ディスクリプタ)
図3は、送信ディスクリプタおよび受信ディスクリプタのデータ構造を示す図である。送信ディスクリプタは、図2に示す通り、以下の(1)~(3)を含んでいる。
(Send descriptor and receive descriptor)
FIG. 3 is a diagram showing the data structures of the transmit descriptor and the receive descriptor. As shown in FIG. 2, the transmission descriptor includes the following (1) to (3).

(1)送信対象に指定するデータの、メモリ上での格納先アドレス
(2)送信対象に指定するデータのサイズ
(3)その他のデータ
このうち、(3)に示す「その他のデータ」には、例えば、転送が無事に完了したときに立てる転送完了フラグなどが含まれる。
(1) Storage address of the data specified as the transmission target in the memory (2) Size of the data specified as the transmission target (3) Other data Of these, the "other data" shown in (3) For example, a transfer completion flag set when the transfer is completed successfully is included.

受信ディスクリプタは、図2に示す通り、以下の(4)および(5)を含んでいる。 The receive descriptor includes the following (4) and (5) as shown in FIG.

(4)受信対象のデータの、メモリ上での保存先アドレス
(5)その他のデータ
このうち、(5)に示す「その他のデータ」には、例えば、転送が無事に完了したときに立てる転送完了フラグなどが含まれる。
(4) Storage destination address of the data to be received in the memory (5) Other data Of these, the "other data" shown in (5) is, for example, a transfer to be set when the transfer is completed successfully. Includes completion flags and more.

(第2ユニット200)
図1の例では、第2ユニット200は、第2処理装置210、第2メモリ220、および、転送装置230を備える。
(2nd unit 200)
In the example of FIG. 1, the second unit 200 includes a second processing device 210, a second memory 220, and a transfer device 230.

(第2処理装置210)
第2処理装置(送信側制御部)210は、第2ユニット200を統括的に制御するものである。第2処理装置210は、例えば、MPUで実現される。第2処理装置210は、不図示の不揮発性記憶装置に記憶された第2ユニット200の制御プログラムを、第2メモリ220に展開する。そして、第2処理装置210は、第2メモリ220に展開された制御プログラムを解釈および実行して、各構成要素を制御する。これによって、図1に示される通り、本実施形態に係る第2処理装置210は、第2制御部211と、第2ファームウェア212と、第2PCIeインタフェース213として機能する。
(Second processing device 210)
The second processing device (transmitting side control unit) 210 collectively controls the second unit 200. The second processing device 210 is realized by, for example, an MPU. The second processing device 210 expands the control program of the second unit 200 stored in the non-volatile storage device (not shown) into the second memory 220. Then, the second processing apparatus 210 interprets and executes the control program expanded in the second memory 220 to control each component. As a result, as shown in FIG. 1, the second processing apparatus 210 according to the present embodiment functions as the second control unit 211, the second firmware 212, and the second PCIe interface 213.

第2制御部211は、第2ユニット200自体が担う各種機能に係る処理を実行する。例えば、第2制御部211は、第1ユニット100から取得したデータを集計してもよい。 The second control unit 211 executes processing related to various functions carried out by the second unit 200 itself. For example, the second control unit 211 may aggregate the data acquired from the first unit 100.

第2ファームウェア212は、第2ユニット200と第1ユニット100とのデータの転送に係る各種処理を実行する。例えば、第2ファームウェア212は、上りデータ転送時のタグ番号を決定し、転送装置230に通知する。また、第2ファームウェア212は、第2ユニット200と第1ユニット100とのデータ転送の開始前に、予め、タグテーブル、送信ディスクリプタテーブル、および受信ディスクリプタテーブルを作成またはダウンロードする処理と、当該作成またはダウンロードした、送信ディスクリプタテーブル、および受信ディスクリプタテーブルを第2メモリ220に書き込む処理も行う。すなわち、第2ファームウェア212は、予め、タグテーブル、送信ディスクリプタテーブル、および受信ディスクリプタテーブルを準備して、第2メモリ220に記憶させておく。 The second firmware 212 executes various processes related to data transfer between the second unit 200 and the first unit 100. For example, the second firmware 212 determines the tag number at the time of uplink data transfer and notifies the transfer device 230. Further, the second firmware 212 performs a process of creating or downloading a tag table, a transmission descriptor table, and a receive descriptor table in advance before the start of data transfer between the second unit 200 and the first unit 100, and the creation or download thereof. It also performs a process of writing the downloaded transmit descriptor table and receive descriptor table to the second memory 220. That is, the second firmware 212 prepares the tag table, the transmission descriptor table, and the receive descriptor table in advance and stores them in the second memory 220.

第2PCIeインタフェース213は、第2処理装置210が、PCIebusを介して、転送装置230とPCIeで接続するためのインタフェースである。 The second PCIe interface 213 is an interface for the second processing device 210 to connect to the transfer device 230 via PCIe bus.

(第2メモリ220)
第2メモリ220は、揮発性の記憶領域(RAM)である。第2メモリ220は、第2処理装置210によって生成された送信データ、第2処理装置210が処理すべき、第1処理装置110によって生成された受信データ、および、第2処理装置210で実行されるべき各種プログラムを格納する。また、第2メモリ220は、第2処理装置210による各種プログラムの実行時の作業用メモリとして使用されてもよい。第2メモリ220としては、典型的には、DRAM等を用いることができる。
(Second memory 220)
The second memory 220 is a volatile storage area (RAM). The second memory 220 is executed by the transmission data generated by the second processing device 210, the received data generated by the first processing device 110 to be processed by the second processing device 210, and the second processing device 210. Stores various programs to be used. Further, the second memory 220 may be used as a working memory when executing various programs by the second processing device 210. As the second memory 220, a DRAM or the like can be typically used.

第2メモリ220は、第1メモリ120と同様に、送信タグテーブル、送信ディスクリプタテーブル、受信タグテーブル、受信ディスクリプタテーブル、および、転送対象のデータを記憶している。タグテーブルおよびディスクリプタテーブルのデータ構造は、第1メモリ120で説明した同名のデータと同様である。 Like the first memory 120, the second memory 220 stores a transmission tag table, a transmission descriptor table, a reception tag table, a reception descriptor table, and data to be transferred. The data structures of the tag table and the descriptor table are the same as the data of the same name described in the first memory 120.

第2メモリ220の送信ディスクリプタは、転送装置230のDMAC233が上り転送を実現するための動作の一部を規定するディスクリプタである。これにより、第2処理装置210の第2ファームウェア212が、第1処理装置110の第1ファームウェア112へデータを送信することが可能となる。 The transmission descriptor of the second memory 220 is a descriptor that defines a part of the operation for the DMAC233 of the transfer device 230 to realize the uplink transfer. As a result, the second firmware 212 of the second processing device 210 can transmit data to the first firmware 112 of the first processing device 110.

第2メモリ220の受信ディスクリプタは、DMAC233が下り転送を実現するための動作の一部を規定する。これにより、第2メモリ220の第2ファームウェア212が、第1処理装置110の第1ファームウェア112から送信されたデータを受信することが可能となる。 The receive descriptor of the second memory 220 defines a part of the operation for the DMAC 233 to realize the downlink transfer. As a result, the second firmware 212 of the second memory 220 can receive the data transmitted from the first firmware 112 of the first processing device 110.

(転送装置230)
転送装置(メモリ制御装置)230は、第1処理装置110および第2処理装置210とPCIeで通信を行うための装置である。転送装置230は、第1処理装置110と第2処理装置210との間の下り転送、および、必要に応じて上り転送を制御する。
(Transporter 230)
The transfer device (memory control device) 230 is a device for communicating with the first processing device 110 and the second processing device 210 by PCIe. The transfer device 230 controls the downlink transfer between the first processing device 110 and the second processing device 210, and the uplink transfer as needed.

転送装置230は、下り転送を実現するために、少なくとも、DMAC(Direct Memory Access Controller)233と、下り送信ディスクリプタコントローラ(識別子受信部、送信ディスクリプタ読出部)235と、下り受信ディスクリプタコントローラ(受信ディスクリプタ読出部)234とを備える。 In order to realize downlink transfer, the transfer device 230 has at least a DMAC (Direct Memory Access Controller) 233, a downlink transmission descriptor controller (identifier receiving unit, transmitting descriptor reading unit) 235, and a downlink receiving descriptor controller (receiving descriptor reading unit). Part) 234 and.

DMAC233(データ読出部、データ書込部)は、第1処理装置110の第1メモリ120から第2処理装置210の第2メモリ220へのデータ転送を制御する。DMAC233は、送信ディスクリプタの記述に従って、順次転送するデータを読み出す。DMAC233は読み出したデータを、受信ディスクリプタの記述に従って、第2メモリ220に書き込む。 The DMAC233 (data reading unit, data writing unit) controls data transfer from the first memory 120 of the first processing device 110 to the second memory 220 of the second processing device 210. The DMAC233 reads out the data to be sequentially transferred according to the description of the transmission descriptor. The DMAC 233 writes the read data to the second memory 220 according to the description of the receiving descriptor.

下り送信ディスクリプタコントローラ235は、転送対象データの転送に用いる送信および受信ディスクリプタテーブルを指定するタグ番号を、第1ファームウェア112から受信する。 The downlink transmission descriptor controller 235 receives from the first firmware 112 a tag number that specifies a transmission and reception descriptor table used for transferring data to be transferred.

ここで、「タグ番号」とは、タグテーブル内のディスクリプタテーブルを指定する識別子である。ディスクリプタテーブルにはディスクリプタが含まれているため、「タグ番号」とはすなわち、転送対象データの転送に用いるディスクリプタ群を指定する識別子であるといえる。すなわち、送信側のユニットにおける「タグ番号」とは、これからデータを受信する際に用いる送信ディスクリプタ群を指定する識別子である。受信側のユニットにおける「タグ番号」とは、これからデータを受信する際に用いる受信ディスクリプタ群を指定する識別子である。 Here, the "tag number" is an identifier that specifies the descriptor table in the tag table. Since the descriptor table contains descriptors, it can be said that the "tag number" is an identifier that specifies the descriptor group used for transferring the data to be transferred. That is, the "tag number" in the unit on the transmitting side is an identifier that specifies a group of transmission descriptors to be used when receiving data from now on. The "tag number" in the unit on the receiving side is an identifier that specifies a group of receiving descriptors to be used when receiving data from now on.

なお、タグ番号の形式は特に限定されない。例えば、タグ番号とは、数値、文字列、符号等の少なくともいずれかが含まれた識別子であってよい。本実施形態では、タグ番号とは、メモリ内の特定のアドレスを指定する値であることとする。 The format of the tag number is not particularly limited. For example, the tag number may be an identifier including at least one of a numerical value, a character string, a code, and the like. In the present embodiment, the tag number is a value that specifies a specific address in the memory.

下り送信ディスクリプタコントローラ235は、第1メモリ120に記憶されている送信ディスクリプタテーブルの中から、タグ番号が指定する送信ディスクリプタテーブルを特定する。下り送信ディスクリプタコントローラ235は、特定した送信ディスクリプタテーブルを参照して、当該テーブルに格納されている(すなわち、当該テーブルで指定されている)順に、送信ディスクリプタを読み出す。この送信ディスクリプタが、第1メモリ120における転送対象データ(すなわち、第1メモリ120から読み出すデータ)が格納されているアドレスに関する送信ディスクリプタである。 The downlink transmission descriptor controller 235 specifies the transmission descriptor table specified by the tag number from the transmission descriptor tables stored in the first memory 120. The downlink transmit descriptor controller 235 refers to the specified transmit descriptor table and reads out the transmit descriptors in the order stored in the table (that is, specified in the table). This transmission descriptor is a transmission descriptor related to an address in which transfer target data (that is, data read from the first memory 120) in the first memory 120 is stored.

下り受信ディスクリプタコントローラ234は、第2メモリ220に記憶されている受信ディスクリプタテーブルの中から、タグ番号が指定する受信ディスクリプタテーブルを特定する。下り受信ディスクリプタコントローラ234は、特定した受信ディスクリプタテーブルを参照して、当該テーブルに格納されている(すなわち、当該テーブルで指定されている)順に、受信ディスクリプタを読み出す。この受信ディスクリプタが、第2メモリ220における転送対象データ(すなわち、第2メモリ220に書き込むデータ)を格納すべきアドレスに関する受信ディスクリプタである。 The downlink receive descriptor controller 234 specifies the receive descriptor table specified by the tag number from the receive descriptor tables stored in the second memory 220. The downlink receive descriptor controller 234 refers to the specified receive descriptor table and reads the receive descriptor in the order stored in the table (that is, specified in the table). This receive descriptor is a receive descriptor relating to an address for storing transfer target data in the second memory 220 (that is, data to be written in the second memory 220).

転送装置230は、上り転送を実現するために、さらに、上り送信ディスクリプタコントローラ(識別子受信部、送信ディスクリプタ読出部)237と、上り受信ディスクリプタコントローラ(受信ディスクリプタ読出部)236とを備えてもよい。 The transfer device 230 may further include an uplink transmission descriptor controller (identifier reception unit, transmission descriptor reading unit) 237 and an uplink reception descriptor controller (reception descriptor reading unit) 236 in order to realize uplink transfer.

上り転送を実現する場合、DMAC(データ読出部、データ書込部)233は、第2処理装置210の第2メモリ220から第1処理装置110の第1メモリ120へのデータ転送を制御する。DMAC233は、送信ディスクリプタの記述に従って、順次転送するデータを読み出す。DMAC233は読み出したデータを、受信ディスクリプタの記述に従って、第1メモリ120に書き込む。 When the uplink transfer is realized, the DMAC (data reading unit, data writing unit) 233 controls the data transfer from the second memory 220 of the second processing device 210 to the first memory 120 of the first processing device 110. The DMAC233 reads out the data to be sequentially transferred according to the description of the transmission descriptor. The DMAC233 writes the read data to the first memory 120 according to the description of the receiving descriptor.

上り送信ディスクリプタコントローラ237は、転送対象データの転送に用いる送信および受信ディスクリプタテーブルを指定するタグ番号を、第2ファームウェア212から受信する。 The uplink transmission descriptor controller 237 receives from the second firmware 212 a tag number that specifies a transmission and reception descriptor table used for transferring data to be transferred.

上り送信ディスクリプタコントローラ237は、第2メモリ220に記憶されている送信ディスクリプタテーブルの中から、タグ番号が指定する送信ディスクリプタテーブルを特定する。上り送信ディスクリプタコントローラ237は、特定した送信ディスクリプタテーブルを参照して、当該テーブルに格納されている(すなわち、当該テーブルで指定されている)順に、送信ディスクリプタを読み出す。この送信ディスクリプタが、第2メモリ220における転送対象データ(すなわち、第2メモリ220から読み出すデータ)が格納されているアドレスに関する送信ディスクリプタである。 The uplink transmission descriptor controller 237 specifies the transmission descriptor table specified by the tag number from the transmission descriptor tables stored in the second memory 220. The uplink transmit descriptor controller 237 refers to the identified transmit descriptor table and reads out the transmit descriptors in the order stored in the table (that is, specified in the table). This transmission descriptor is a transmission descriptor related to an address in which transfer target data (that is, data read from the second memory 220) in the second memory 220 is stored.

上り受信ディスクリプタコントローラ236は、第1メモリ120に記憶されている受信ディスクリプタテーブルの中から、タグ番号が指定する受信ディスクリプタテーブルを特定する。上り受信ディスクリプタコントローラ236は、特定した受信ディスクリプタテーブルを参照して、当該テーブルに格納されている(すなわち、当該テーブルで指定されている)順に、受信ディスクリプタを読み出す。この受信ディスクリプタが、第1メモリ120における転送対象データ(すなわち、第1メモリ120に書き込むデータ)を格納すべきアドレスに関する受信ディスクリプタである。 The uplink receive descriptor controller 236 specifies the receive descriptor table specified by the tag number from the receive descriptor tables stored in the first memory 120. The uplink receive descriptor controller 236 refers to the specified receive descriptor table and reads the receive descriptor in the order stored in the table (that is, specified in the table). This receive descriptor is a receive descriptor relating to an address for storing transfer target data in the first memory 120 (that is, data to be written in the first memory 120).

第1PCIeインタフェース231は、転送装置230が、PCIebusを介して、第1処理装置110とPCIeで接続するためのインタフェースである。 The first PCIe interface 231 is an interface for the transfer device 230 to connect to the first processing device 110 via PCIe via PCIe bus.

第2PCIeインタフェース232は、転送装置230が、PCIebusを介して、第2メモリ220とPCIeで接続するためのインタフェースである。 The second PCIe interface 232 is an interface for the transfer device 230 to connect to the second memory 220 by PCIe via via PCIe bus.

§3.処理の流れ
図4は、データ転送システム500における下りデータ転送の流れを示すシーケンス図である。なお、図4に示す一連の処理の前に、初期処理として、第1処理装置110の第1ファームウェア112は第1メモリ120に、少なくとも送信タグテーブルおよび送信ディスクリプタテーブルを準備しておく。また、第2処理装置210の第2ファームウェア212は第2メモリ220に、少なくとも受信タグテーブル、および、受信ディスクリプタテーブルを準備しておく。また、第1メモリ120には、複数の転送対象データが記憶されていることとする。
§3. Process flow FIG. 4 is a sequence diagram showing a flow of downlink data transfer in the data transfer system 500. Before the series of processes shown in FIG. 4, as an initial process, the first firmware 112 of the first processing device 110 prepares at least a transmission tag table and a transmission descriptor table in the first memory 120. Further, the second firmware 212 of the second processing device 210 prepares at least a receive tag table and a receive descriptor table in the second memory 220. Further, it is assumed that a plurality of transfer target data are stored in the first memory 120.

各種タグテーブルおよびディスクリプタテーブルの準備が完了すると、第1処理装置110の第1ファームウェア112は、転送装置230の下り送信ディスクリプタコントローラ235に、タグ番号を送信する。下り送信ディスクリプタコントローラ235はタグ番号を受信し(S100。識別子受信ステップ)、当該タグ番号を下り受信ディスクリプタコントローラ234に出力する(S101)。下り受信ディスクリプタコントローラ234は入力されたタグ番号を受け付ける(S201)。 When the preparations of the various tag tables and the descriptor tables are completed, the first firmware 112 of the first processing device 110 transmits the tag number to the downlink transmission descriptor controller 235 of the transfer device 230. The downlink transmission descriptor controller 235 receives the tag number (S100. Identifier reception step), and outputs the tag number to the downlink reception descriptor controller 234 (S101). The downlink receive descriptor controller 234 accepts the input tag number (S201).

S101~S201のタグ番号の通知が終了すると、下り送信ディスクリプタコントローラ235は、第1メモリ120の送信タグテーブルから、タグ番号に対応する送信ディスクリプタテーブル(送信DescT)を特定する(S102)。下り送信ディスクリプタコントローラ235は、特定した送信ディスクリプタテーブルの1番目(すなわち、先頭)に格納された送信ディスクリプタ(送信Desc)を、第1メモリ120から読み出す(S103、送信ディスクリプタ読出ステップ)。 When the notification of the tag number of S101 to S201 is completed, the downlink transmission descriptor controller 235 identifies the transmission descriptor table (transmission DescT) corresponding to the tag number from the transmission tag table of the first memory 120 (S102). The downlink transmission descriptor controller 235 reads the transmission descriptor (transmission Desc) stored in the first (that is, the head) of the specified transmission descriptor table from the first memory 120 (S103, transmission descriptor read step).

一方、下り受信ディスクリプタコントローラ234は、タグ番号の受信(S201)後、第2メモリ220の受信タグテーブルから、タグ番号に対応する受信ディスクリプタテーブル(受信DescT)を特定する(S202)。下り受信ディスクリプタコントローラ234は、特定した受信ディスクリプタテーブルの1番目(すなわち、先頭)に格納された受信ディスクリプタ(受信Desc)を、第2メモリ220から読み出す(S203、受信ディスクリプタ読出ステップ)。 On the other hand, after receiving the tag number (S201), the downlink receive descriptor controller 234 identifies the receive descriptor table (reception DeskT) corresponding to the tag number from the receive tag table of the second memory 220 (S202). The downlink receive descriptor controller 234 reads the receive descriptor (reception Desk) stored in the first (that is, the head) of the specified receive descriptor table from the second memory 220 (S203, receive descriptor read step).

DMAC233は、下り送信ディスクリプタコントローラ235が読み出した送信ディスクリプタに記載された情報に従って、第1メモリ120からデータ(すなわち、1番目のデータ)を読み出す(S301、データ読出ステップ)。DMAC233は、読み出したデータを、下り受信ディスクリプタコントローラ234が読み出した受信ディスクリプタに記載された情報に従って、第2メモリ220に書き込む(S302、データ書込ステップ)。 The DMAC 233 reads data (that is, the first data) from the first memory 120 according to the information described in the transmission descriptor read by the downlink transmission descriptor controller 235 (S301, data read step). The DMAC 233 writes the read data to the second memory 220 according to the information described in the receive descriptor read by the downlink reception descriptor controller 234 (S302, data writing step).

1番目のデータの第2メモリ220への書き込み(S302)が終了すると、続いて、下り送信ディスクリプタコントローラ235はS102で特定した送信ディスクリプタテーブルの、次に格納された送信ディスクリプタ(すなわち、2番目の送信ディスクリプタ)を読み出す(S104、送信ディスクリプタ読出ステップ)。下り受信ディスクリプタコントローラ234も、S302の処理が終了した後、S202で特定した受信ディスクリプタテーブルの、次に格納された受信ディスクリプタ(すなわち、2番目の受信ディスクリプタ)を読み出す(S204、受信ディスクリプタ読出ステップ)。 When the writing of the first data to the second memory 220 (S302) is completed, the downlink transmit descriptor controller 235 subsequently stores the transmit descriptor (that is, the second) of the transmit descriptor table specified in S102. Read the transmit descriptor) (S104, transmit descriptor read step). The downlink receive descriptor controller 234 also reads the next stored receive descriptor (that is, the second receive descriptor) of the receive descriptor table specified in S202 after the processing of S302 is completed (S204, receive descriptor read step). ..

DMAC233は、2番目の送信ディスクリプタおよび2番目の受信ディスクリプタに基づいて、S301~S302と同様の処理を実行する。すなわち、DMAC233は、2番目の送信ディスクリプタに記載された情報に従って2番目のデータを読み出し(S303、データ読出ステップ)、2番目の受信ディスクリプタに基づいて、2番目のデータを第2メモリ220に書き込む(S304、データ書込ステップ)。 The DMAC233 executes the same processing as in S301 to S302 based on the second transmit descriptor and the second receive descriptor. That is, the DMAC233 reads the second data according to the information described in the second transmit descriptor (S303, data read step), and writes the second data to the second memory 220 based on the second receive descriptor. (S304, data writing step).

以降、転送対象データが全て転送終了するまで、下り送信ディスクリプタコントローラ235、下り受信ディスクリプタコントローラ234、およびDMAC233は同様の処理を繰り返す。すなわち、下り送信ディスクリプタコントローラ235はS102で特定した送信ディスクリプタテーブルの、次に格納された送信ディスクリプタ(m番目の送信ディスクリプタ)を読み出す(S105、送信ディスクリプタ読出ステップ)。下り受信ディスクリプタコントローラ234は、S202で特定した受信ディスクリプタテーブルの、次に格納された受信ディスクリプタ(すなわち、m番目の受信ディスクリプタ)を読み出す(S205、受信ディスクリプタ読出ステップ)。 After that, the downlink transmission descriptor controller 235, the downlink reception descriptor controller 234, and the DMAC233 repeat the same processing until all the transfer target data is transferred. That is, the downlink transmission descriptor controller 235 reads the transmission descriptor (mth transmission descriptor) stored next in the transmission descriptor table specified in S102 (S105, transmission descriptor read step). The downlink receive descriptor controller 234 reads the next stored receive descriptor (that is, the m-th receive descriptor) of the receive descriptor table specified in S202 (S205, receive descriptor read step).

DMAC233は、m番目の送信ディスクリプタおよびm番目の受信ディスクリプタに基づいて、S301~S302と同様の処理を実行する。すなわち、DMAC233は、m番目の送信ディスクリプタに記載された情報に従ってm番目のデータを読み出し(S305、データ読出ステップ)、m番目の受信ディスクリプタに基づいて、m番目のデータを第2メモリ220に書き込む(S306、データ書込ステップ)。 The DMAC233 executes the same processing as in S301 to S302 based on the m-th transmit descriptor and the m-th receive descriptor. That is, the DMAC233 reads the mth data according to the information described in the mth transmission descriptor (S305, data read step), and writes the mth data to the second memory 220 based on the mth receive descriptor. (S306, data writing step).

図4に示す処理によれば、転送装置230は、それぞれ異なる装置に搭載されている第1メモリ120と第2メモリ220の間でのデータ転送において、第1処理装置110から第1メモリ120へのアクセス頻度を低減することができる。また、図4に示す処理によれば、転送装置230は、それぞれ異なる装置に搭載されている第1メモリ120と第2メモリ220の間でのデータ転送において、第2処理装置210から第2メモリ220へのアクセス頻度を低減することができる。すなわち、転送装置230は、DMA方式以外の方法によるメモリへのアクセス頻度を低減することができる。 According to the process shown in FIG. 4, the transfer device 230 transfers data between the first memory 120 and the second memory 220 mounted on different devices from the first processing device 110 to the first memory 120. Access frequency can be reduced. Further, according to the process shown in FIG. 4, the transfer device 230 has the second memory 210 to the second memory in the data transfer between the first memory 120 and the second memory 220 mounted on different devices. The frequency of access to 220 can be reduced. That is, the transfer device 230 can reduce the frequency of access to the memory by a method other than the DMA method.

図4に示す処理によれば、転送装置230は、送信ディスクリプタを送信ディスクリプタテーブルが指定する順番で読み出す。そして、転送装置230は、それらの送信ディスクリプタの記述にしたがって、転送対象データを第1メモリ120から順次読み出すことができる。したがって、転送装置230は、第1処理装置110からタグ番号を受信するだけで、複数の転送対象データの読み出しを行うことができる。換言すると、第1処理装置110は、最初にタグ番号を転送装置230に送信した後は、第1メモリ120にアクセスしなくてもよい。したがって、図4に示す処理によれば、第1処理装置110が第1メモリ120にアクセスする頻度を低減することができる。 According to the process shown in FIG. 4, the transfer device 230 reads out the transmission descriptors in the order specified by the transmission descriptor table. Then, the transfer device 230 can sequentially read the transfer target data from the first memory 120 according to the description of those transmission descriptors. Therefore, the transfer device 230 can read out a plurality of transfer target data only by receiving the tag number from the first processing device 110. In other words, the first processing device 110 does not have to access the first memory 120 after first transmitting the tag number to the transfer device 230. Therefore, according to the process shown in FIG. 4, the frequency with which the first processing device 110 accesses the first memory 120 can be reduced.

また、転送装置230は、例えば、複数の転送対象データが第1メモリ120の中で連続しないアドレスに格納されていた場合でも、それらの転送対象データを別個に読み出すことができる。そのため、第1処理装置110は、予め複数の転送対象データを1つのパケット等にまとめておく必要がない。すなわち、第1処理装置110は、パケットおよび/またはタグ生成のために、第1メモリ120にアクセスしてデータのコピー等を行う必要が無い。したがって、図4に示す処理によれば、複数の転送対象データをパケットおよび/またはタグ等にまとめて転送する場合に比べて、第1処理装置110が第1メモリ120にアクセスする頻度を低減することができる。 Further, the transfer device 230 can read the transfer target data separately even when a plurality of transfer target data are stored at non-consecutive addresses in the first memory 120, for example. Therefore, the first processing device 110 does not need to combine a plurality of transfer target data into one packet or the like in advance. That is, the first processing device 110 does not need to access the first memory 120 to copy data or the like in order to generate packets and / or tags. Therefore, according to the process shown in FIG. 4, the frequency with which the first processing device 110 accesses the first memory 120 is reduced as compared with the case where a plurality of transfer target data are collectively transferred to a packet and / or a tag or the like. be able to.

図4に示す処理によれば、転送装置230は、受信ディスクリプタを受信ディスクリプタテーブルが指定する順番で読み出す。そして、転送装置230は、それらの受信ディスクリプタの記述にしたがって、転送対象データを第2メモリ220に順次書き込むことができる。これにより、第2処理装置210は第2メモリ220にアクセスせずとも、転送対象データの書き込みが可能になる。したがって、図4に示す処理によれば、第2処理装置210が第2メモリ220にアクセスする頻度を低減することができる。 According to the process shown in FIG. 4, the transfer device 230 reads the receive descriptors in the order specified by the receive descriptor table. Then, the transfer device 230 can sequentially write the transfer target data to the second memory 220 according to the description of those receive descriptors. As a result, the second processing device 210 can write the data to be transferred without accessing the second memory 220. Therefore, according to the process shown in FIG. 4, the frequency with which the second processing device 210 accesses the second memory 220 can be reduced.

また、転送装置230は、複数の転送対象データを別個に書き込んでいく。そのため、例えば、具体的には、第2処理装置210が、複数の転送対象データをまとめたパケットおよび/またはタグを解凍して、各転送対象データを適切な領域にコピーし直す必要が無い。したがって、図4に示す処理によれば、複数の転送対象データをパケットおよび/またはタグ等にまとめて転送する場合に比べて、第2処理装置210が第2メモリ220にアクセスする頻度を低減することができる。 Further, the transfer device 230 writes a plurality of transfer target data separately. Therefore, for example, specifically, it is not necessary for the second processing device 210 to decompress the packet and / or tag that summarizes the plurality of transfer target data and copy each transfer target data back to an appropriate area. Therefore, according to the process shown in FIG. 4, the frequency with which the second processing device 210 accesses the second memory 220 is reduced as compared with the case where a plurality of transfer target data are collectively transferred to a packet and / or a tag or the like. be able to.

なお、データ転送システム500における上りデータ転送の流れは、各種処理の主体以外は下りデータ転送の場合と同様である。具体的には、上りデータ転送の場合、送信側の制御装置およびメモリが第2処理装置210および第2メモリ220に、受信側の制御装置が第1処理装置110および第1メモリ120に変わる。また、上りデータ転送の場合、下り送信ディスクリプタコントローラ235と、下り受信ディスクリプタコントローラ234が行っている処理をそれぞれ、上り送信ディスクリプタコントローラ237と、上り受信ディスクリプタコントローラ236とが実行すればよい。また、DMAC233は、第2メモリ220から読み出したデータを、第1メモリ120に書き込めばよい。 The flow of uplink data transfer in the data transfer system 500 is the same as that of downlink data transfer except for the main body of various processes. Specifically, in the case of uplink data transfer, the control device and memory on the transmitting side are changed to the second processing device 210 and the second memory 220, and the control device on the receiving side is changed to the first processing device 110 and the first memory 120. Further, in the case of uplink data transfer, the uplink transmission descriptor controller 237 and the uplink reception descriptor controller 236 may execute the processes performed by the downlink transmit descriptor controller 235 and the downlink receive descriptor controller 234, respectively. Further, the DMAC 233 may write the data read from the second memory 220 to the first memory 120.

〔実施形態2〕
本発明において、送信側メモリと前記受信側メモリは同一であってもよい。すなわち、本発明に係るデータ転送システムは、独立した2装置間のデータ転送だけでなく、ある1つの装置の、ある1つのメモリ内でのデータ転送(すなわち、ある1つのメモリ内でのデータの読み書き)に適用してもよい。
[Embodiment 2]
In the present invention, the transmitting side memory and the receiving side memory may be the same. That is, the data transfer system according to the present invention not only transfers data between two independent devices, but also transfers data in one memory of one device (that is, data transfer in one memory). It may be applied to read / write).

以下、本発明の第2の実施形態について説明する。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。また、本実施形態では一例として、第3ユニット300の装置内でのデータ転送を行う場合について説明する。 Hereinafter, a second embodiment of the present invention will be described. For convenience of explanation, the same reference numerals are given to the members having the same functions as the members described in the above-described embodiment, and the description thereof will not be repeated. Further, in the present embodiment, as an example, a case where data transfer is performed in the device of the third unit 300 will be described.

図5は、本実施形態に係るデータ転送システム600の要部構成の一例を示すブロック図である。データ転送システム600に係る第3ユニット300は、第1処理装置(送信側制御部)110と、第1メモリ120と、転送装置(メモリ制御装置)330とを含む。 FIG. 5 is a block diagram showing an example of the configuration of a main part of the data transfer system 600 according to the present embodiment. The third unit 300 according to the data transfer system 600 includes a first processing device (transmitter control unit) 110, a first memory 120, and a transfer device (memory control device) 330.

転送装置330は、DMAC(データ読出部、データ書込部)331と、受信ディスクリプタコントローラ(受信ディスクリプタ読出部)332と、送信ディスクリプタコントローラ(識別子受信部、送信ディスクリプタ読出部)333と、PCIeインタフェース334と、を備える。送信ディスクリプタコントローラ333は下り送信ディスクリプタコントローラ235および上り送信ディスクリプタコントローラ237と同様の処理を実行する。受信ディスクリプタコントローラ332は下り受信ディスクリプタコントローラ234および上り受信ディスクリプタコントローラ236と同様の処理を実行する。 The transfer device 330 includes a DMAC (data reading unit, data writing unit) 331, a receiving descriptor controller (receiving descriptor reading unit) 332, a transmitting descriptor controller (identifier receiving unit, transmitting descriptor reading unit) 333, and a PCIe interface 334. And prepare. The transmission descriptor controller 333 executes the same processing as the downlink transmission descriptor controller 235 and the uplink transmission descriptor controller 237. The receive descriptor controller 332 executes the same processing as the downlink receive descriptor controller 234 and the uplink receive descriptor controller 236.

データ転送システム600における上りおよび下りデータ転送の基本的な流れは、実施形態1に係るデータ転送システム500における上りおよび下りデータ転送の流れと同様である。具体的には、本実施形態の場合、送信側メモリも受信側メモリも第1メモリ120である。すなわち、図4に示した処理において第2メモリ220の情報が読み書きされていたところは、第1メモリ120に対し同様の情報を読み書きすればよい。また、本実施形態の場合、第1処理装置110の第1ファームウェア112は、転送対象データの転送に用いる送信ディスクリプタテーブルおよび受信ディスクリプタテーブルを指定するタグ番号を決定して、下り送信ディスクリプタコントローラ333に送信する。 The basic flow of uplink and downlink data transfer in the data transfer system 600 is the same as the flow of uplink and downlink data transfer in the data transfer system 500 according to the first embodiment. Specifically, in the case of the present embodiment, both the transmitting side memory and the receiving side memory are the first memory 120. That is, where the information in the second memory 220 was read / written in the process shown in FIG. 4, the same information may be read / written to / from the first memory 120. Further, in the case of the present embodiment, the first firmware 112 of the first processing device 110 determines the tag number for designating the transmit descriptor table and the receive descriptor table used for transferring the transfer target data, and determines the tag number to be used in the downlink transmission descriptor controller 333. Send.

また、図4において下り送信ディスクリプタコントローラ235が実行していた処理は、送信ディスクリプタコントローラ333が実行する。また、図4において下り受信ディスクリプタコントローラ234が実行していた処理は、受信ディスクリプタコントローラ332が実行する。また、図4においてDMAC233が実行していた処理は、DMAC331が実行する。 Further, the process executed by the downlink transmission descriptor controller 235 in FIG. 4 is executed by the transmission descriptor controller 333. Further, the process executed by the downlink receive descriptor controller 234 in FIG. 4 is executed by the receive descriptor controller 332. Further, the process executed by the DMAC 233 in FIG. 4 is executed by the DMAC 331.

以上の構成によれば、DMA方式でデータ転送を行う場合に、第1処理装置110が第1メモリ120にアクセスする頻度を低減することができる。 According to the above configuration, when data is transferred by the DMA method, the frequency of access by the first processing device 110 to the first memory 120 can be reduced.

〔変形例〕
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
[Modification example]
Although the embodiments of the present invention have been described in detail above, the above description is merely an example of the present invention in all respects. Needless to say, various improvements and modifications can be made without departing from the scope of the present invention. For example, the following changes can be made. In the following, the same reference numerals will be used for the same components as those in the above embodiment, and the same points as in the above embodiment will be omitted as appropriate. The following modifications can be combined as appropriate.

実施形態1に係るデータ転送システム500は、1台の第1ユニット100と、複数台の第2ユニット200を備えていてもよい。なお、この場合、転送装置230は第1ユニット100に1台備えられていてもよいし、複数台の第2ユニット200それぞれに備えられていてもよい。これにより、複数の第2ユニット200は、それぞれ、転送装置230を介して第1ユニット100とデータの送受信を行うことができる。 The data transfer system 500 according to the first embodiment may include one first unit 100 and a plurality of second units 200. In this case, one transfer device 230 may be provided in the first unit 100, or each of the plurality of second units 200 may be provided. As a result, the plurality of second units 200 can transmit and receive data to and from the first unit 100 via the transfer device 230, respectively.

〔ソフトウェアによる実現例〕
第1処理装置110、第2処理装置210、転送装置230、および転送装置330の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
[Example of implementation by software]
The control blocks of the first processing device 110, the second processing device 210, the transfer device 230, and the transfer device 330 may be realized by a logic circuit (hardware) formed in an integrated circuit (IC chip) or the like. It may be realized by software.

後者の場合、第1処理装置110、第2処理装置210、転送装置230、および転送装置330は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。 In the latter case, the first processing device 110, the second processing device 210, the transfer device 230, and the transfer device 330 include a computer that executes instructions of a program that is software that realizes each function. The computer includes, for example, one or more processors and a computer-readable recording medium that stores the program. Then, in the computer, the processor reads the program from the recording medium and executes the program, thereby achieving the object of the present invention. As the processor, for example, a CPU (Central Processing Unit) can be used. As the recording medium, a "non-temporary tangible medium", for example, a ROM (Read Only Memory) or the like, a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like can be used. Further, a RAM (Random Access Memory) for expanding the above program may be further provided. Further, the program may be supplied to the computer via any transmission medium (communication network, broadcast wave, etc.) capable of transmitting the program. It should be noted that one aspect of the present invention can also be realized in the form of a data signal embedded in a carrier wave, in which the above program is embodied by electronic transmission.

本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。 The present invention is not limited to the above-described embodiments, and various modifications can be made within the scope of the claims, and the embodiments obtained by appropriately combining the technical means disclosed in the different embodiments. Is also included in the technical scope of the present invention.

100 第1ユニット(第1デバイス、第2デバイス)
110 第1処理装置(送信側制御部)
111 第1制御部
112 第1ファームウェア
113、213、231、232、334 インタフェース
120 第1メモリ(送信側メモリ、受信側メモリ)
200 第2ユニット(第1デバイス、第2デバイス)
210 第2処理装置(送信側制御部)
211 第2制御部
212 第2ファームウェア
220 第2メモリ(送信側メモリ、受信側メモリ)
230、330 転送装置(メモリ制御装置)
233、331 DMAC(データ読出部、データ書込部)
234 下り受信ディスクリプタコントローラ
235 下り送信ディスクリプタコントローラ(識別子受信部、送信ディスクリプタ読出部)
236 上り受信ディスクリプタコントローラ(受信ディスクリプタ読出部)
237 上り送信ディスクリプタコントローラ(識別子受信部、送信ディスクリプタ読出部)
332 受信ディスクリプタコントローラ(受信ディスクリプタ読出部)
333 送信ディスクリプタコントローラ(識別子受信部、送信ディスクリプタ読出部)
300 第3ユニット
500、600 データ転送システム
100 1st unit (1st device, 2nd device)
110 First processing device (transmitter control unit)
111 1st control unit 112 1st firmware 113, 213, 231, 232, 334 Interface 120 1st memory (sending side memory, receiving side memory)
200 2nd unit (1st device, 2nd device)
210 Second processing device (transmitter control unit)
211 2nd control unit 212 2nd firmware 220 2nd memory (sending side memory, receiving side memory)
230, 330 Transfer device (memory control device)
233,331 DMAC (data reading unit, data writing unit)
234 Downstream receive descriptor controller 235 Downstream transmission descriptor controller (identifier receiver, transmit descriptor read section)
236 Uplink receive descriptor controller (receive descriptor read unit)
237 Uplink transmission descriptor controller (identifier receiver, transmit descriptor reader)
332 Receive descriptor controller (Receive descriptor reader)
333 Transmit descriptor controller (identifier receiver, transmit descriptor reader)
300 3rd unit 500, 600 Data transfer system

Claims (7)

送信側メモリおよび受信側メモリにDMA(Direct Memory Access)方式でアクセスして、複数の転送対象データを前記送信側メモリから前記受信側メモリへと転送するメモリ制御装置であって、
前記送信側メモリには、少なくとも、前記複数の転送対象データと、複数の送信ディスクリプタを含んだ送信ディスクリプタテーブルとが記憶されており、
送信側制御部から、前記送信ディスクリプタテーブルを指定する識別子を受信する識別子受信部と、
前記識別子が指定する前記送信ディスクリプタテーブルから、当該送信ディスクリプタテーブルによって指定される順番で、当該送信ディスクリプタテーブルに含まれている複数の送信ディスクリプタを読み出す送信ディスクリプタ読出部と、
前記送信側メモリから順次読み出す前記複数の送信ディスクリプタの記述に従って、前記送信側メモリから前記複数の転送対象データを順次読み出すデータ読出部と、を備えることを特徴とする、メモリ制御装置。
A memory control device that accesses a transmission side memory and a reception side memory by a DMA (Direct Memory Access) method and transfers a plurality of transfer target data from the transmission side memory to the reception side memory.
At least the plurality of transfer target data and the transmission descriptor table including the plurality of transmission descriptors are stored in the transmission side memory.
An identifier receiving unit that receives an identifier that specifies the transmit descriptor table from the transmitting side control unit, and
A transmission descriptor reading unit that reads a plurality of transmission descriptors included in the transmission descriptor table in the order specified by the transmission descriptor table from the transmission descriptor table designated by the identifier.
A memory control device comprising: a data reading unit for sequentially reading the plurality of transfer target data from the transmitting side memory according to the description of the plurality of transmitting descriptors sequentially read from the transmitting side memory.
送信側メモリおよび受信側メモリにDMA(Direct Memory Access)方式でアクセスして、複数の転送対象データを前記送信側メモリから前記受信側メモリへと転送するメモリ制御装置であって、
前記受信側メモリには、少なくとも、複数の受信ディスクリプタを含んだ受信ディスクリプタテーブルが記憶されており、
送信側制御部から、前記受信ディスクリプタテーブルを指定する識別子を受信する識別子受信部と、
送信側制御部が決定した前記識別子に応じた前記受信ディスクリプタテーブルから、当該受信ディスクリプタテーブルによって指定される順番で、当該受信ディスクリプタテーブルに含まれている複数の受信ディスクリプタを読み出す受信ディスクリプタ読出部と、
前記受信側メモリから順次読み出す前記複数の受信ディスクリプタの記述に従って、前記送信側メモリから読み出された前記複数の転送対象データを前記受信側メモリに順次書き込むデータ書込部と、を備えることを特徴とする、メモリ制御装置。
A memory control device that accesses a transmission side memory and a reception side memory by a DMA (Direct Memory Access) method and transfers a plurality of transfer target data from the transmission side memory to the reception side memory.
The receiving side memory stores at least a receiving descriptor table including a plurality of receiving descriptors.
An identifier receiving unit that receives an identifier that specifies the receiving descriptor table from the transmitting side control unit, and
A receive descriptor reading unit that reads a plurality of receiving descriptors included in the receiving descriptor table in the order specified by the receiving descriptor table from the receiving descriptor table according to the identifier determined by the transmitting side control unit.
It is characterized by comprising a data writing unit for sequentially writing the plurality of transfer target data read from the transmitting side memory to the receiving side memory according to the description of the plurality of receiving descriptors sequentially read from the receiving side memory. A memory control device.
前記受信側メモリには、少なくとも、複数の受信ディスクリプタを含んだ受信ディスクリプタテーブルが記憶されており、
前記識別子は、前記送信ディスクリプタテーブルと、当該送信ディスクリプタテーブルに対応する前記受信ディスクリプタテーブルとを指定する識別子であって、
前記識別子が指定する前記受信ディスクリプタテーブルから、当該受信ディスクリプタテーブルによって指定される順番で、当該受信ディスクリプタテーブルに含まれている複数の受信ディスクリプタを読み出す受信ディスクリプタ読出部と、
前記受信側メモリから順次読み出す前記複数の受信ディスクリプタの記述に従って、前記送信側メモリから読み出された前記複数の転送対象データを前記受信側メモリに順次書き込むデータ書込部と、を備えることを特徴とする、請求項1に記載のメモリ制御装置。
The receiving side memory stores at least a receiving descriptor table including a plurality of receiving descriptors.
The identifier is an identifier that specifies the transmit descriptor table and the receive descriptor table corresponding to the transmit descriptor table.
A receive descriptor reading unit that reads a plurality of receive descriptors included in the receive descriptor table in the order specified by the receive descriptor table from the receive descriptor table designated by the identifier.
It is characterized by comprising a data writing unit for sequentially writing the plurality of transfer target data read from the transmitting side memory to the receiving side memory according to the description of the plurality of receiving descriptors sequentially read from the receiving side memory. The memory control device according to claim 1.
前記送信側メモリは第1デバイスに設けられており、
前記受信側メモリは、前記第1デバイスと異なるデバイスであって、前記第1デバイスとDMA方式で通信する第2デバイスに設けられていることを特徴とする、請求項3に記載のメモリ制御装置。
The transmitting side memory is provided in the first device, and is provided in the first device.
The memory control device according to claim 3, wherein the receiving side memory is a device different from the first device and is provided in a second device that communicates with the first device by a DMA method. ..
前記送信側メモリと前記受信側メモリは同一であることを特徴とする、請求項3に記載のメモリ制御装置。 The memory control device according to claim 3, wherein the transmission side memory and the reception side memory are the same. 送信側メモリおよび受信側メモリにDMA(Direct Memory Access)方式でアクセスして、複数の転送対象データを前記送信側メモリから前記受信側メモリへと転送するメモリ制御装置の制御方法であって、
前記送信側メモリには、少なくとも、前記複数の転送対象データと、複数の送信ディスクリプタを含んだ送信ディスクリプタテーブルとが記憶されており、
送信側制御部から、前記送信ディスクリプタテーブルを指定する識別子を受信する識別子受信ステップと、
前記識別子が指定する前記送信ディスクリプタテーブルから、当該送信ディスクリプタテーブルによって指定される順番で、当該送信ディスクリプタテーブルに含まれている複数の送信ディスクリプタを読み出す送信ディスクリプタ読出ステップと、
前記送信側メモリから順次読み出す前記複数の送信ディスクリプタの記述に従って、前記送信側メモリから前記複数の転送対象データを順次読み出すデータ読出ステップと、を含むことを特徴とする、制御方法。
It is a control method of a memory control device that accesses a transmission side memory and a reception side memory by a DMA (Direct Memory Access) method and transfers a plurality of transfer target data from the transmission side memory to the reception side memory.
At least the plurality of transfer target data and the transmission descriptor table including the plurality of transmission descriptors are stored in the transmission side memory.
An identifier receiving step that receives an identifier that specifies the transmit descriptor table from the transmitting side control unit, and
A transmission descriptor read step for reading a plurality of transmission descriptors included in the transmission descriptor table in the order specified by the transmission descriptor table from the transmission descriptor table designated by the identifier.
A control method comprising: a data reading step of sequentially reading the plurality of transfer target data from the transmitting side memory according to the description of the plurality of transmitting descriptors sequentially read from the transmitting side memory.
送信側メモリおよび受信側メモリにDMA(Direct Memory Access)方式でアクセスして、複数の転送対象データを前記送信側メモリから前記受信側メモリへと転送するメモリ制御装置の制御方法であって、
前記受信側メモリには、少なくとも、複数の受信ディスクリプタを含んだ受信ディスクリプタテーブルが記憶されており、
送信側制御部から、前記受信ディスクリプタテーブルを指定する識別子を受信する識別子受信ステップと、
送信側制御部が決定した前記識別子に応じた前記受信ディスクリプタテーブルから、当該受信ディスクリプタテーブルによって指定される順番で、当該受信ディスクリプタテーブルに含まれている複数の受信ディスクリプタを読み出す受信ディスクリプタ読出ステップと、
前記受信側メモリから順次読み出す前記複数の受信ディスクリプタの記述に従って、前記送信側メモリから読み出された前記複数の転送対象データを前記受信側メモリに順次書き込むデータ書込ステップと、を含むことを特徴とする、制御方法。
It is a control method of a memory control device that accesses a transmission side memory and a reception side memory by a DMA (Direct Memory Access) method and transfers a plurality of transfer target data from the transmission side memory to the reception side memory.
The receiving side memory stores at least a receiving descriptor table including a plurality of receiving descriptors.
An identifier receiving step for receiving an identifier specifying the receiving descriptor table from the transmitting side control unit, and
A receive descriptor read step for reading a plurality of receive descriptors included in the receive descriptor table in the order specified by the receive descriptor table from the receive descriptor table according to the identifier determined by the transmission side control unit.
It is characterized by including a data writing step of sequentially writing the plurality of transfer target data read from the transmitting side memory to the receiving side memory according to the description of the plurality of receiving descriptors sequentially read from the receiving side memory. The control method.
JP2020169750A 2020-10-07 2020-10-07 MEMORY CONTROL DEVICE AND METHOD Active JP7615598B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020169750A JP7615598B2 (en) 2020-10-07 2020-10-07 MEMORY CONTROL DEVICE AND METHOD
PCT/JP2021/008885 WO2022074858A1 (en) 2020-10-07 2021-03-08 Memory control device and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020169750A JP7615598B2 (en) 2020-10-07 2020-10-07 MEMORY CONTROL DEVICE AND METHOD

Publications (2)

Publication Number Publication Date
JP2022061674A true JP2022061674A (en) 2022-04-19
JP7615598B2 JP7615598B2 (en) 2025-01-17

Family

ID=81125806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020169750A Active JP7615598B2 (en) 2020-10-07 2020-10-07 MEMORY CONTROL DEVICE AND METHOD

Country Status (2)

Country Link
JP (1) JP7615598B2 (en)
WO (1) WO2022074858A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140286A (en) * 2000-10-31 2002-05-17 Ricoh Co Ltd Information processing apparatus and DMA transfer method
JP2005222469A (en) * 2004-02-09 2005-08-18 Kyocera Mita Corp Dma transfer control system
JP2006293800A (en) * 2005-04-13 2006-10-26 Sony Corp Information processing apparatus and information processing method
JP2010157129A (en) * 2008-12-27 2010-07-15 Toshiba Information Systems (Japan) Corp Semiconductor memory device
JP2012014436A (en) * 2010-06-30 2012-01-19 Toshiba Corp Direct memory access control device and method
US20160291867A1 (en) * 2015-03-31 2016-10-06 Kabushiki Kaisha Toshiba Method and design for dynamic management of descriptors for sgl operation
JP2018129614A (en) * 2017-02-07 2018-08-16 オムロン株式会社 Control device and communication device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140286A (en) * 2000-10-31 2002-05-17 Ricoh Co Ltd Information processing apparatus and DMA transfer method
JP2005222469A (en) * 2004-02-09 2005-08-18 Kyocera Mita Corp Dma transfer control system
JP2006293800A (en) * 2005-04-13 2006-10-26 Sony Corp Information processing apparatus and information processing method
JP2010157129A (en) * 2008-12-27 2010-07-15 Toshiba Information Systems (Japan) Corp Semiconductor memory device
JP2012014436A (en) * 2010-06-30 2012-01-19 Toshiba Corp Direct memory access control device and method
US20160291867A1 (en) * 2015-03-31 2016-10-06 Kabushiki Kaisha Toshiba Method and design for dynamic management of descriptors for sgl operation
JP2018129614A (en) * 2017-02-07 2018-08-16 オムロン株式会社 Control device and communication device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LNTERFACE増刊 SH−1&SH−2マイコン入門, JPN6021021741, 1 September 2004 (2004-09-01), JP, pages 222 - 237, ISSN: 0005425444 *
岩田 利王 他, FPGAパソコンZYBOで作るLINUX I/Oミニコンピュータ, vol. 第2版, JPN6021021740, 1 June 2016 (2016-06-01), JP, pages 110 - 112, ISSN: 0005425443 *

Also Published As

Publication number Publication date
JP7615598B2 (en) 2025-01-17
WO2022074858A1 (en) 2022-04-14

Similar Documents

Publication Publication Date Title
JP4452690B2 (en) Electronic device, control method thereof, host device and control method thereof
JP2018190277A (en) Memory access control device and control method thereof
CN119226205A (en) A method and device for data processing
JP6290761B2 (en) Data transfer control system, data transfer control method, and data transfer control program
US7864359B2 (en) Data compression and decompression unit
US8151015B2 (en) Systems and methods for effecting DMA data transfers
JP2022061674A (en) Memory control device and control method
JP3412342B2 (en) Image drawing apparatus and data decompression method
JP2008236378A (en) Data transfer method, program, and network interface controller between host computer and network interface controller
US9619423B1 (en) Memory-mapped state bus for integrated circuit
US12124737B2 (en) Storage system capable of operating at a high speed including storage device and control device
CN109324994B (en) Chip interconnection method and system
JP2009025896A (en) Data processing apparatus and data processing method
CN117692450A (en) Transmission protocol optimization method, device, equipment and storage medium
CN111382088B (en) Semiconductor device and method for controlling data access
JP4261886B2 (en) Information processing apparatus and information processing method
KR102536943B1 (en) Data Reduction Device, Data Reduction Method And System Including Data Reduction Device
JP7752716B1 (en) Data transfer device and method
CN118363901B (en) PCIe device, electronic component and electronic device
WO2020235174A1 (en) Transfer device, information processing device, and data transfer method
JP7609172B2 (en) Management device, system, management method, and management program
JP3362922B2 (en) Programmable controller
JP2023152146A (en) Memory control device and memory control method
JP2006139766A (en) Information processor
CN109803401B (en) Method and terminal device for processing data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241112

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: 20241203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241216

R150 Certificate of patent or registration of utility model

Ref document number: 7615598

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150