WO2010103987A1 - データ伝送システムおよびそのデータ読出し方法 - Google Patents

データ伝送システムおよびそのデータ読出し方法 Download PDF

Info

Publication number
WO2010103987A1
WO2010103987A1 PCT/JP2010/053515 JP2010053515W WO2010103987A1 WO 2010103987 A1 WO2010103987 A1 WO 2010103987A1 JP 2010053515 W JP2010053515 W JP 2010053515W WO 2010103987 A1 WO2010103987 A1 WO 2010103987A1
Authority
WO
WIPO (PCT)
Prior art keywords
read
packet
write
address
memory
Prior art date
Application number
PCT/JP2010/053515
Other languages
English (en)
French (fr)
Inventor
英治 中山
Original Assignee
京セラ株式会社
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 京セラ株式会社 filed Critical 京セラ株式会社
Priority to US13/255,682 priority Critical patent/US8521943B2/en
Publication of WO2010103987A1 publication Critical patent/WO2010103987A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks

Definitions

  • the present invention relates to a data transmission system and a data reading method thereof, and more particularly to a data transmission system in which a plurality of devices are connected via a serial bus to a switch that performs priority control according to the type of packet, and a data reading method thereof.
  • Serial RapidIO (registered trademark) is a standard for connecting various devices in such a board to a switch via a serial line and enabling high-speed communication of up to 10 Gbps between the devices (for example, RapidIO TM).
  • Wireless base station devices that are compatible with the Serial RapidIO (registered trademark) standard are being put into practical use.
  • a packet for performing communication is defined.
  • a packet whose type is NREAD is a read packet that requests reading of data from the counterpart device.
  • a packet whose type is NWRITE is a write packet for writing data to the counterpart device.
  • RapidIOTM Interconnect Specification Part1 Input / Output Logical Specification Rev1.3, June 2005, Internet (URL: http://www.rapidio.org/zdata/specs/IO_logical.pdf)
  • the write packet of Serial RapidIO (registered trademark) is set to have a higher priority than the read packet for the same transfer source and transfer destination devices.
  • FIG. 9 is a diagram for explaining a conventional packet transmission example.
  • Write packets NWRITE (4) are sequentially output from device A, input to multiport switch 1, and stored in a buffer in multiport switch 1.
  • the multiport switch 1 extracts the write packets NWRITE (3) and NWRITE (4) from the buffer before the read packet NREAD (1) and outputs them to the device B.
  • the read packet NREAD (1) is output from the buffer only when there is no write packet in which the transfer source device is the device A and the transfer destination device is the device B in the buffer of the multiport switch 1.
  • the present invention provides a data transmission system and a method for reading the data transmission system that can deliver a read request to a counterpart device without delay even when the read packet transmission priority is lower than that of a write packet. That is.
  • a data transmission system includes a multiport switch, and a first device and a second device connected to a port of the multiport switch via one or more serial buses.
  • the multiport switch includes a buffer and a priority control unit that preferentially outputs a write packet when there are a write packet and a read packet having the same transfer destination and transfer source in the buffer,
  • the first device and the second device include a memory, an output unit that outputs the generated packet to the multiport switch, a reception unit that receives the packet from the multiport switch, and a write address included in the received write packet.
  • the first device includes a predetermined address of the memory of the second device as a write address, and a read request including the read address of the memory of the second device in the payload
  • a read request unit for generating a write packet is provided, and the second device detects that a read request has been received when data is written to a predetermined address of the memory, and is written to the predetermined address
  • a read response unit that reads data from a read address of the memory and generates a read response write packet including the read data in a payload is provided.
  • the read request unit in the first device, the read request unit generates a read request write packet including a read size in the payload, and in the second device, the read response unit writes to a predetermined address in the memory. Data is read from the memory for the read size that has been read, and a read response write packet including the read data for the read size in the payload is generated.
  • the read request unit generates a read request write packet including, in the payload, an address of the memory of the first device to which the read data is written, and in the second device
  • the read response unit generates a read response write packet including the address of the memory of the first device written at a predetermined address of the memory as a write address.
  • the read response unit generates an interrupt packet notifying that the response to the detected read request is completed after generating the read response write packet.
  • the read request unit when the read request unit receives the interrupt packet, the read request unit detects that the response to the read request is completed.
  • an interrupt line is further connected between the first device and the second device, and in the second device, the read response unit transmits the read response write packet through the interrupt line. And that the response to the detected read request is completed.
  • the read request unit detects the completion of the response to the read request when receiving a notification that the response to the detected read request is completed through the interrupt wiring. .
  • a data transmission method includes a multiport switch, and a first device and a second device connected to a port of the multiport switch via one or more serial buses.
  • a data read method in a system wherein a multiport switch includes a buffer and a priority control unit that preferentially outputs a write packet when there are a write packet and a read packet having the same transfer destination and transfer source in the buffer
  • the read request can be delivered to the counterpart device without delay.
  • FIG. 1 is a diagram showing a data transmission system according to an embodiment of the present invention.
  • a plurality of devices A to D and a multiport switch 1 are mounted on a substrate 90.
  • Device A is connected to port A of multiport switch 1 through serial bus 51.
  • Device B is connected to port B of multiport switch 1 through serial bus 52.
  • Device C is connected to port C of multiport switch 1 through serial bus 53.
  • the device D is connected to the port D of the multiport switch 1 through the serial bus 54.
  • FIG. 2 is a diagram for explaining an example of packet transmission according to the embodiment of this invention.
  • the write packet NWRITE (4) is sequentially output from the device A, input to the multiport switch 1, and stored in a buffer in the multiport switch 1.
  • the read request write packet NWRITE (R) has a write packet configuration, but is a packet that requests the transfer destination device B to read data. Details of this packet will be described later.
  • the multiport switch 1 takes out the read request write packet NWRITE (R) from the buffer next to the write packet NWRITE (2) and outputs it to the device B.
  • FIG. 3 is a diagram illustrating a configuration of a request source device that issues a request, a multiport switch, and a request destination device that receives the request.
  • the request source device is, for example, device A in FIG. 1
  • the request destination device is, for example, device B in FIG.
  • the request source device 10 and the multiport switch 1 are connected by a serial bus 41.
  • the multiport switch 1 and the requested device 20 are connected by a serial bus 42.
  • the request source device 10 includes a memory 11, a write request unit 12, a normal read request unit 14, a special read request unit 13, a write processing unit 15, a packet output unit 16, a packet reception unit 17, A packet interpretation unit 18.
  • the packet output unit 16 outputs the generated packet to the multiport switch 1 via the serial bus.
  • the packet receiver 17 receives a packet output from the multiport switch 1 via the serial bus.
  • the packet interpretation unit 18 refers to the transaction type of the received packet and interprets whether the received packet is a write packet (NWRITE), a response packet (RESPONSE), or an interrupt packet (DOORBELL).
  • NWRITE write packet
  • RESPONSE response packet
  • DOORBELL interrupt packet
  • the packet interpretation unit 18 outputs the received packet to the write processing unit 15.
  • the packet interpretation unit 18 outputs the received packet to the normal read request unit 14.
  • the packet interpretation unit 18 outputs the received packet to the special read request unit 13.
  • write data included in the payload of the received write packet is written.
  • the write request unit 12 specifies the address of the memory 27 of the request destination device 20 in the write address portion, specifies the size of the write data in the write size portion, and generates a write packet including the write data in the payload.
  • the normal read request unit 14 designates the address of the memory 27 of the request destination device 20 in the read address portion, and generates a read packet in which the size of the read data is designated in the read size portion.
  • the normal read request unit 14 extracts the read data from the payload of the response packet transmitted from the request destination device 20 in response to the read packet.
  • the special read request unit 13 designates a predetermined address (fixed address) of the memory 27 of the request destination device 20 in the write address portion, and includes the address of the memory 27 of the request destination device 20 in the payload as a read address.
  • the read request write packet is generated so as to include the size of the read data read from the read address as the read size and the address of the memory 11 of the request source device 10 as the read data write address. Further, the special read request unit 13 detects that the response of the special read request is completed when an interrupt packet is received from the request destination device 20.
  • the write processing unit 15 writes the data included in the payload of the received write packet to the address of the memory 11 specified by the write address portion of the received write packet.
  • the multiport switch 1 includes a communication unit 4, a buffer 2, and a priority control unit 3.
  • the communication unit 4 receives the packet output from the device 10 or 20 and outputs it to the buffer 2. Further, the communication unit 4 transmits the packet stored in the buffer 2 to the device 10 or 20.
  • Buffer 2 stores packets output from one device, and outputs when the other device is ready to receive.
  • the priority control unit 3 preferentially outputs a write packet when there are a write packet and a read packet having the same transfer destination and transfer source in the buffer 2.
  • the priority control unit 3 identifies whether it is a write packet (NWRITE) or a read packet (NREAD) according to the transaction type included in the packet.
  • the request destination device 20 includes a memory 27, a packet receiving unit 21, a packet interpretation unit 22, a packet output unit 23, a write processing unit 24, a read processing unit 25, and a special read request response unit 26. .
  • the packet output unit 23 outputs the generated packet to the multiport switch 1 via the serial bus.
  • the packet receiving unit 21 receives a packet output from the multiport switch 1 via the serial bus.
  • the packet interpretation unit 22 refers to the transaction type of the received packet and interprets whether the received packet is a write packet (NWRITE) or a read packet (NREAD). When the received packet is a write packet, the packet interpretation unit 22 outputs the received packet to the write processing unit 24. When the received packet is a read packet, the packet interpretation unit 22 outputs the received packet to the read processing unit 25.
  • NWRITE write packet
  • NREAD read packet
  • the write data included in the payload of the write packet output from the request source device 10 is written in the memory 27.
  • the read data read from the memory 27 is embedded in the payload of the response packet or read response write packet output to the request source device 10.
  • the write processing unit 24 writes the write data included in the payload to the address of the memory 27 specified by the write address portion of the received write packet by the size specified by the write size portion.
  • the read processing unit 25 reads data from the memory 27 by the size specified in the read size portion starting from the address of the memory 27 specified in the read address portion of the received packet.
  • the read processing unit 25 generates a response packet including the read data read in the payload.
  • the special read request response unit 26 detects that a read request has been received when data is written to a predetermined address of the memory 27, and the read address of the memory 27 written to the predetermined address of the memory 27. (A), read size (b), and write address (c) of memory 11 are read.
  • the special read request response unit 26 reads data from the read address (a) of the memory 27 by the read size (b).
  • the special read request response unit 26 generates a read response write packet including the read address (c) of the memory 11 read in the write address portion and the read data read out in the payload.
  • the special read request response unit 26 further generates an interrupt packet after generating the read response write packet.
  • FIG. 4 is a diagram illustrating a packet configuration according to the embodiment of this invention. These packets conform to the Serial RapidIO (registered trademark) standard.
  • FIG. 4A shows the structure of the read packet. This read packet is transmitted when a normal read request is issued.
  • the read packet includes a request source device ID, a request destination device ID, a transaction type, a transaction ID, R_ADD, and R_SIZE.
  • the request source device ID describes an ID for identifying the device that has issued the normal read request.
  • an ID for identifying a device that receives a normal read request is described.
  • NREAD is described in the transaction type.
  • the transaction ID describes an ID for identifying this packet.
  • R_ADD read address portion
  • R_SIZE read size portion
  • FIG. 4B is a diagram showing the configuration of a normal write packet. This normal write packet is transmitted when a write request is issued.
  • the normal write packet includes a request source device ID, a request destination device ID, a transaction type, a transaction ID, W_ADD, W_SIZE, and write data.
  • the request source device ID describes an ID for identifying the device that has issued the write request.
  • an ID for identifying a device that receives a write request is described.
  • NWRITE is described in the transaction type.
  • the transaction ID describes an ID for identifying this packet.
  • W_ADD write address portion
  • W_SIZE write size portion
  • the payload includes write data.
  • FIG. 4C shows the structure of the response packet. This response packet is transmitted when a response (response) is made to a normal read request.
  • the response packet includes a request source device ID, a request destination device ID, a transaction type, a status, and read data.
  • the request source device ID describes an ID for identifying a device that has issued a response, that is, a device that has received a normal read request.
  • the request destination device ID describes an ID for identifying a device that receives a response, that is, a device that has issued a normal read request.
  • RESPONSE is described in the transaction type.
  • the transaction ID describes an ID for identifying this packet.
  • the status describes whether or not the process according to the normal read request, that is, the read process has been executed normally.
  • the payload includes read data obtained by the reading process.
  • FIG. 4D shows the structure of the read request write packet. This read request write packet is transmitted when a special read request is issued.
  • the read request write packet includes a request source device ID, a request destination device ID, a transaction type, a transaction ID, W_ADD, and W_SIZE.
  • the request source device ID an ID for identifying the device that has issued the special read request is described.
  • the request destination device ID describes an ID for identifying a device that receives a special read request.
  • NWRITE is described in the transaction type.
  • the transaction ID describes an ID for identifying this packet.
  • W_ADD write address portion
  • W_ADD is a memory address of a request destination device into which payload data is written.
  • W_ADD is a predetermined value “10000”.
  • W_SIZE write size portion
  • W_SIZE write size portion
  • the read request write packet includes R_ADD, R_SIZE, and RT_ADD in the payload.
  • R_ADD a memory address of a request destination device which is a data read target is described.
  • R_SIZE describes how many bytes of data are to be read starting from the memory address specified by R_ADD.
  • RT_ADD describes the memory address of the request source device to which the read data is written.
  • FIG. 4 (e) is a diagram showing the configuration of a read response write packet. This read response write packet is transmitted when a response is made to a special read request.
  • the read response write packet includes a request source device ID, a request destination device ID, a transaction type, a transaction ID, W_ADD, W_SIZE, and read data.
  • the request source device ID describes an ID for identifying a device that has issued a response to the special read request.
  • the request destination device ID describes an ID for identifying a device that receives a response to the special read request.
  • NWRITE is described in the transaction type.
  • the transaction ID describes an ID for identifying this packet.
  • W_ADD write address portion
  • W_ADD write address portion
  • W_SIZE write size portion
  • W_ADD write size portion
  • R_SIZE included in the read request write packet is described.
  • the payload includes read data obtained by the reading process.
  • FIG. 4 (f) is a diagram showing the configuration of the interrupt packet. This interrupt packet is transmitted when notifying that the response to the special read request has been completed.
  • the interrupt packet includes a request source device ID, a request destination device ID, a transaction type, and a transaction ID.
  • the request source device ID describes an ID for identifying the device that issued the interrupt notification.
  • the request destination device ID describes an ID for identifying a device that receives an interrupt notification.
  • the transaction type describes DOORBELL.
  • the transaction ID describes an ID for identifying this packet.
  • FIG. 5 is a flowchart showing the write operation procedure.
  • the write request unit 12 of the request source device 10 generates a normal write packet as shown in FIG. 4B (step S101).
  • the packet output unit 16 of the request source device 10 outputs the normal write packet to the multiport switch 1 (step S102).
  • the communication unit 4 of the multiport switch 1 receives the normal write packet and stores the write packet in the buffer 2.
  • the priority control unit 3 takes out the write packet and outputs it to the communication unit 4 when there is no longer any packet accumulated in the buffer 2.
  • the priority control unit 3 extracts the write packet before the read packet, 4 is output.
  • the communication unit 4 outputs the write packet to the request destination device 20 (step S103).
  • the packet receiver 21 of the request destination device 20 receives a packet from the multiport switch 1 (step S104).
  • the packet interpretation unit 22 of the request destination device 20 interprets the received packet as a write packet because the transaction type of the received packet is NWRITE (step S105).
  • the write processing unit 24 of the request destination device 20 writes the write data included in the payload to the memory 27 by the size specified by W_SIZE, starting from the memory address specified by W_ADD of the received write packet ( Step S106).
  • FIG. 6 is a flowchart showing a normal read operation procedure.
  • the normal read request unit 14 of the request source device 10 generates a read packet as shown in FIG. 4A (step S201).
  • the packet output unit 16 of the request source device 10 outputs the read packet to the multiport switch 1 (step S202).
  • the communication unit 4 of the multiport switch 1 receives the read packet and stores the read packet in the buffer 2.
  • the priority control unit 3 extracts the stored read packet when there is no write packet having the same request source and request destination device in the buffer 2 and there is no preceding read packet, and the communication unit Output to 4.
  • the communication unit 4 outputs the read packet to the request destination device 20 (step S203).
  • the packet receiver 21 of the request destination device 20 receives a packet from the multiport switch 1 (step S204).
  • the packet interpretation unit 22 of the request destination device 20 interprets the received packet as a read packet because the transaction type of the received packet is NREAD (step S205).
  • the read processing unit 25 of the requested device 20 reads data from the memory 27 by the size specified by R_SIZE, starting from the memory address specified by R_ADD of the received packet (step S206).
  • the read processing unit 25 of the request destination device 20 generates a response packet as shown in FIG. 4C (step S207).
  • the packet output unit 23 of the request destination device 20 outputs a response packet to the multiport switch 1 (step S208).
  • the communication unit 4 of the multiport switch 1 receives the response packet and stores the response packet in the buffer 2.
  • the priority control unit 3 takes out the stored response packet and outputs it to the communication unit 4 when there is no preceding packet in the buffer 2.
  • the communication unit 4 outputs a response packet to the request destination device 20 (step S209).
  • the packet receiver 7 of the request source device 10 receives a packet from the multiport switch 1 (step S210).
  • the packet interpretation unit 18 of the request source device 10 interprets the received packet as a response packet because the transaction type of the received packet is RESPONSE (step S211).
  • the normal read request unit 14 of the request source device 10 extracts the read data from the payload of the received response packet (step S212).
  • FIG. 7 is a flowchart showing the operation procedure of the special read.
  • the special read request unit 13 of the request source device 10 generates a read request write packet as shown in FIG. 4D (step S301).
  • the packet output unit 16 of the request source device 10 outputs the read request write packet to the multiport switch 1 (step S302).
  • the communication unit 4 of the multi-port switch 1 receives the read request write packet and stores the read request write packet in the buffer 2.
  • the priority control unit 3 takes out the read request write packet and outputs it to the communication unit 4 when there is no longer any packet accumulated in the buffer 2. However, even when the request source device and the request destination device are the same in the buffer 2 and there is a preceding read bucket, the priority control unit 3 takes out the read request write packet before the read packet.
  • the communication unit 4 outputs the read request write packet to the request destination device 20 (step S303).
  • the packet receiver 21 of the request destination device 20 receives the packet from the multiport switch 1 (step S304).
  • the packet interpretation unit 22 of the request destination device 20 interprets it as a write packet because the transaction type of the received packet is NWRITE (step S305).
  • the write processing unit 24 of the requested device 20 writes the data included in the payload to the memory 27 by the size specified by W_SIZE, starting from the memory address specified by W_ADD of the received write packet (step S40). S306).
  • the special read request response unit 26 of the request destination device 20 detects that a special read request has been received since the data is stored at the address “10000” in the memory 27 (step S307).
  • the special read request response unit 26 of the request destination device 20 reads R_ADD, R_SIZE, and RT_ADD, which are data written to the address “10000”.
  • the special read request response unit 26 reads data from the memory 27 by the size specified by R_SIZE, starting from the memory address specified by the read R_ADD (step S308).
  • the special read request response unit 26 of the request destination device 20 generates a read response write packet as shown in FIG.
  • the special read request response unit 26 uses the RT_ADD and R_SIZE data read in step S308 as the W_ADD and W_SIZE data of the read response write packet, and uses the read data read in step S308 as payload data (step S309). ).
  • the packet output unit 23 of the request destination device 20 outputs the read response write packet to the multiport switch 1 (step S310).
  • the communication unit 4 of the multi-port switch 1 receives the read response write packet and stores the read response write packet in the buffer 2.
  • the priority control unit 3 takes out the read response write packet and outputs it to the communication unit 4 when there is no longer any packet accumulated in the buffer 2. However, even if the request source device and the request destination device are the same in the buffer 2 and there is a preceding read bucket, the priority control unit 3 takes out the read response write packet before the read packet.
  • the communication unit 4 outputs the read response write packet to the request destination device 20 (step S311).
  • the packet receiver 7 of the request source device 10 receives a packet from the multiport switch 1 (step S312).
  • the packet interpretation unit 18 of the request source device 10 interprets the received packet as a write packet because the transaction type of the received packet is NWRITE (step S313).
  • the write processing unit 15 of the request source device 10 writes the write data included in the payload by the size specified by W_SIZE from the memory address specified by W_ADD of the received write packet to the memory 27 ( Step S314).
  • the special read request response unit 26 of the request destination device 20 generates an interrupt packet as shown in FIG. 4F (step S315).
  • the packet output unit 23 of the request destination device 20 outputs the interrupt packet to the multiport switch 1 (step S316).
  • the communication unit 4 of the multiport switch 1 receives the interrupt packet and stores the interrupt packet in the buffer 2.
  • the priority control unit 3 takes out the stored interrupt packet and outputs it to the communication unit 4 when there is no preceding packet in the buffer 2 (step S317).
  • the packet receiver 7 of the request source device 10 receives a packet from the multiport switch 1 (step S318).
  • the packet interpretation unit 18 of the request source device 10 interprets it as an interrupt packet because the transaction type of the received packet is DOORBELL, and outputs this interrupt packet to the special read request unit 13. (Step 319).
  • step S320 when the special read request unit 13 of the request source device 10 receives the interrupt packet, it detects that the response of the special read request has been completed.
  • FIG. 8 is a diagram showing a configuration of a modified example.
  • FIG. 8 the modification of FIG. 8 differs from the configuration of the embodiment of FIG. 3 in the following points.
  • the request source device 10 and the request destination device 20 are directly connected by the interrupt wiring 61.
  • the special read request response unit 126 After generating the read response write packet, the special read request response unit 126 notifies the special read request unit 113 that the response process for the special read request is completed through the interrupt wiring 61.
  • the device is described as being connected to the port of the multiport switch via one serial bus.
  • the present invention is not limited to this.
  • a device may be connected to a port of a multiport switch via a plurality of serial buses.
  • 1 multi-port switch 2 buffer, 3 priority control unit, 4 communication unit, 10 request source device, 11, 27 memory, 13,113 special read request unit, 14 normal read request unit, 15, 24 write processing unit, 16 , 23 packet output unit, 17, 21 packet receiving unit, 18, 22 packet interpretation unit, 25 read processing unit, 26, 126 special read request response unit, 61 interrupt wiring, 41, 42, 51, 52, 53, 54 serial bus, 90 board.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

 要求元デバイス(10)では、特殊読出要求部(13)は、要求先デバイス(20)のメモリ(27)の所定のアドレスを書込みアドレスとして含み、かつペイロードにメモリ(27)のアドレスを読出しアドレスとして含む読出要求用ライトパケットを生成する。要求先デバイス(20)では、特殊読出要求応答部(26)は、メモリ(27)の所定のアドレスにデータが書込まれた場合に、読出要求を受けたことを検知し、所定のアドレスに書込まれたメモリ(27)の読出しアドレスからデータを読出し、読出したデータをペイロードに含む読出応答用ライトパケットを生成する。

Description

データ伝送システムおよびそのデータ読出し方法
 本発明は、データ伝送システムおよびそのデータ読出し方法に関し、特に複数のデバイスがシリアルバスを介して、パケットの種別に応じた優先制御を行なうスイッチに接続されたデータ伝送システムおよびそのデータ読出し方法に関する。
 近年、無線基地局では、通信データ量は飛躍的に増加している。それに伴い、無線基地局での処理を実行する基板内部のCPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)などのデバイスでの信号処理量も増加している。その結果、これらのデバイス間での通信速度も増加している。
 Serial RapidIO(登録商標)は、このような基板内部の各種デバイスをシリアル回線を介してスイッチと接続し、各デバイス間で最大10Gbpsの高速通信を可能にするための規格である(たとえば、RapidIOTM Interconnect Specification Part1:Input/Output Logical Specification Rev1.3(非特許文献1)を参照)。無線基地局のデバイスも、このSerial RapidIO(登録商標)の規格に対応したものが実用化されつつある。
 Serial RapidIO(登録商標)では、通信を行なうためのパケットが規定されている。たとえば、タイプがNREADであるパケットは、相手側のデバイスからデータのリードを要求するリードパケットである。また、タイプがNWRITEであるパケットは、相手側のデバイスへデータをライトするライトパケットである。
RapidIOTM Interconnect Specification Part1:Input/Output Logical Specification Rev1.3、2005年6月、インターネット(URL: http://www.rapidio.org/zdata/specs/IO_logical.pdf)
 ところで、Serial RapidIO(登録商標)のライトパケットは、同一の転送元、転送先のデバイスについてのリードパケットよりもプライオリティが高く設定されている。
 図9は、従来のパケットの伝送例を説明するための図である。
 図9を参照して、デバイスAを転送元デバイス、デバイスBを転送先デバイスとしたライトパケットNWRITE(1)、ライトパケットNWRITE(2)、リードパケットNREAD(1)、ライトパケットNWRITE(3)、ライトパケットNWRITE(4)が順次デバイスAから出力されて、マルチポートスイッチ1へ入力されて、マルチポートスイッチ1内のバッファ内に蓄積される。
 ライトパケットNWRITE(3),NWRITE(4)はリードパケットNREAD(1)よりも後の時刻にマルチポートスイッチ1に入力されたにも係らず、ライトパケットのプライオリティは、リードパケットのプライオリティよりも高いため、マルチポートスイッチ1は、バッファからライトパケットNWRITE(3),NWRITE(4)をリードパケットNREAD(1)よりも先に取り出してデバイスBへ出力する。マルチポートスイッチ1のバッファ内に転送元デバイスがデバイスAで、転送先デバイスがデバイスBであるライトパケットが存在しなくなってはじめて、リードパケットNREAD(1)がバッファから出力される。
 しかしながら、無線通信の処理を行なうデバイス間では、連続してデータ通信がなされることが多く、多数のライトパケットの間にリードパケットが挿入される場合がある。このような場合には、リードパケットはマルチポートスイッチ1のバッファ2に蓄積されたままとなり、読出要求が相手先のデバイスへいつまで経っても届かないという問題がある。
 それゆえに、本発明では、リードパケットの伝送のプライオリティがライトパケットよりも低い場合でも、読出要求を遅延することなく相手先のデバイスへ届けることができるようなデータ伝送システムおよびその読出し方法を提供することである。
 本発明のある局面に係るデータ伝送システムは、マルチポートスイッチと、マルチポートスイッチのポートに1または複数のシリアルバスを介して接続される第1のデバイスおよび第2のデバイスとを備えたデータ伝送システムであって、マルチポートスイッチは、バッファと、バッファ内に転送先と転送元が同一のライトパケットとリードパケットがある場合に、ライトパケットを優先して出力する優先制御部とを備え、第1のデバイスおよび第2のデバイスは、メモリと、生成したパケットをマルチポートスイッチへ出力する出力部と、マルチポートスイッチからパケットを受信する受信部と、受信したライトパケットに含まれる書込アドレスで指定されるメモリのアドレスに、受信したライトパケットのペイロードに含まれるデータを書込む書込処理部とを備え、第1のデバイスは、第2のデバイスのメモリの所定のアドレスを書込アドレスとして含み、かつペイロードに第2のデバイスのメモリの読出アドレスを含む読出要求用ライトパケットを生成する読出要求部を備え、第2のデバイスは、メモリの所定のアドレスにデータが書込まれた場合に、読出要求を受けたことを検知し、所定のアドレスに書込まれたメモリの読出アドレスからデータを読出し、読出したデータをペイロードに含む読出応答用ライトパケットを生成する読出応答部を備える。
 好ましくは、第1のデバイスにおいて、読出要求部は、ペイロードに、さらに読出サイズを含む読出要求用ライトパケットを生成し、第2のデバイスにおいて、読出応答部は、メモリの所定のアドレスに書込まれた読出サイズだけ、メモリからデータを読出し、読出サイズ分の読出したデータをぺイロードに含む読出応答用ライトパケットを生成する。
 好ましくは、第1のデバイスにおいて、読出要求部は、ペイロードに、さらに読出したデータの書込先の第1のデバイスのメモリのアドレスを含む読出要求用ライトパケットを生成し、第2のデバイスにおいて、読出応答部は、メモリの所定のアドレスに書込まれた第1のデバイスのメモリのアドレスを書込アドレスとして含む読出応答用ライトパケットを生成する。
 好ましくは、第2のデバイスにおいて、読出応答部は、読出応答用ライトパケットの生成後に、検知した読出要求への応答が終了したことを通知する割込パケットを生成する。
 好ましくは、第1のデバイスにおいて、読出要求部は、割込パケットを受信した場合に、読出要求に対する応答が終了したことを検知する。
 好ましくは、第1のデバイスと第2のデバイスの間に、さらに割込用配線が接続され、第2のデバイスにおいて、読出応答部は、読出応答用ライトパケットの生成後に、割込用配線を通じて、検知した読出要求への応答が終了したことを通知する。
 好ましくは、第1のデバイスにおいて、読出要求部は、割込用配線を通じて、検知した読出要求への応答が終了したことの通知を受信した場合に、読出要求に対する応答が終了したことを検知する。
 本発明のある局面に係るデータ伝送方法は、マルチポートスイッチと、マルチポートスイッチのポートに1または複数のシリアルバスを介して接続される第1のデバイスおよび第2のデバイスとを備えたデータ伝送システムにおけるデータ読出し方法であって、マルチポートスイッチは、バッファと、バッファ内に転送先と転送元が同一のライトパケットとリードパケットがある場合に、ライトパケットを優先して出力する優先制御部とを備え、データ読出し方法は、第1のデバイスが、第2のデバイスのメモリの所定のアドレスを書込アドレスとして含み、かつペイロードに第2のデバイスのメモリの読出アドレスを含む読出要求用ライトパケットを生成するステップと、第1のデバイスが、生成された読出要求用ライトパケットをマルチポートスイッチを介して第2のデバイスに送信するステップと、第2のデバイスが、読出要求用ライトパケットを受信するステップと、第2のデバイスが、受信した読出要求用ライトパケットに含まれる書込アドレスで指定されるメモリのアドレスに、受信した読出要求用ライトパケットのペイロードに含まれるデータを書込むステップと、第2のデバイスが、メモリの所定のアドレスにデータが書込まれた場合に、読出要求を受けたことを検知し、所定のアドレスに書込まれたメモリの読出アドレスからデータを読出し、読出したデータをペイロードに含む読出応答用ライトパケットを生成するステップと、第2のデバイスが、生成された読出応答用ライトパケットをマルチポートスイッチを介して第1のデバイスに送信するステップと、第1のデバイスが、読出応答用ライトパケットを受信するステップとを備える。
 本発明によれば、リードパケットの伝送のプライオリティがライトパケットよりも低い場合でも、読出要求を遅延することなく相手先のデバイスへ届けることができる。
本発明の実施形態のデータ伝送システムを表わす図である。 本発明の実施形態のパケットの伝送例を説明するための図である。 要求を発する要求元デバイスと、スイッチと、要求を受ける要求先デバイスの構成を表わす図である。 本発明の実施形態のパケットの構成を表わす図である。 ライトの動作手順を表わすフローチャートである。 通常リードの動作手順を表わすフローチャートである。 特殊リードの動作手順を表わすフローチャートである。 変形例の構成を表わす図である。 従来のパケットの伝送例を説明するための図である。
 以下、本発明の実施形態について図面を参照して説明する。
 (データ伝送システム構成)
 図1は、本発明の実施形態のデータ伝送システムを表わす図である。
 図1を参照して、このデータ伝送システムは、基板90上に、複数のデバイスA~Dとマルチポートスイッチ1とが搭載されている。デバイスAは、マルチポートスイッチ1のポートAとシリアルバス51を通じて接続する。デバイスBは、マルチポートスイッチ1のポートBとシリアルバス52を通じて接続する。デバイスCは、マルチポートスイッチ1のポートCとシリアルバス53を通じて接続する。デバイスDは、マルチポートスイッチ1のポートDとシリアルバス54を通じて接続する。
 (本発明の実施形態の処理概要)
 図2は、本発明の実施形態のパケットの伝送例を説明するための図である。
 図2を参照して、デバイスAを転送元デバイス、デバイスBを転送先デバイスとしたライトパケットNWRITE(1)、ライトパケットNWRITE(2)、読出要求用ライトパケットNWRITE(R)、ライトパケットNWRITE(3)、ライトパケットNWRITE(4)が順次デバイスAから出力されて、マルチポートスイッチ1へ入力されて、マルチポートスイッチ1内のバッファ内に蓄積される。読出要求用ライトパケットNWRITE(R)は、ライトパケットの構成を有するが、転送先デバイスBに対して、データのリードを要求するパケットである。このパケットの詳細は、後述する。
 読出要求用ライトパケットNWRITE(R)は、ライトパケットなので、後続のNWRITE(3),NWRITE(4)と同一のプライオリティを有するため、出力順序が変更されない。したがって、マルチポートスイッチ1は、ライトパケットNWRITE(2)の次に読出要求用ライトパケットNWRITE(R)をバッファから取り出してデバイスBへ出力する。
 (デバイスおよびマルチポートスイッチの構成)
 図3は、要求を発する要求元デバイスと、マルチポートスイッチと、要求を受ける要求先デバイスの構成を表わす図である。要求元デバイスは、たとえば図1のデバイスAとし、要求先デバイスは、たとえば図1のデバイスBとする。
 図3を参照して、要求元デバイス10とマルチポートスイッチ1の間は、シリアルバス41で接続されている。マルチポートスイッチ1と要求先デバイス20の間は、シリアルバス42で接続されている。
 要求元デバイス10は、メモリ11と、書込要求部12と、通常読出要求部14と、特殊読出要求部13と、書込処理部15と、パケット出力部16と、パケット受信部17と、パケット解釈部18とを備える。
 パケット出力部16は、生成したパケットをシリアルバスを介してマルチポートスイッチ1へ出力する。
 パケット受信部17は、シリアルバスを介してマルチポートスイッチ1から出力されるパケットを受信する。
 パケット解釈部18は、受信したパケットのトランザクションタイプを参照して、受信したパケットがライトパケット(NWRITE)か、レスポンスパケット(RESPONSE)か、割込パケット(DOORBELL)のいずれであるかを解釈する。パケット解釈部18は、受信したパケットがライトパケットの場合には、受信したパケットを書込処理部15に出力する。パケット解釈部18は、受信したパケットがレスポンスパケットの場合には、受信したパケットを通常読出要求部14に出力する。パケット解釈部18は、受信したパケットが割込パケットの場合には、受信したパケットを特殊読出要求部13に出力する。
 メモリ11には、受信したライトパケットのペイロードに含まれるライトデータが書込まれる。
 書込要求部12は、書込アドレス部分に要求先デバイス20のメモリ27のアドレスを指定し、書込サイズ部分でライトデータのサイズを指定し、ペイロードにライトデータを含むライトパケットを生成する。
 通常読出要求部14は、読出アドレス部分に要求先デバイス20のメモリ27のアドレスを指定し、読出サイズ部分でリードデータのサイズを指定したリードパケットを生成する。通常読出要求部14は、リードパケットに応答して要求先デバイス20から送信されてくるレスポンスパケットのペイロードからリードデータを取り出す。
 特殊読出要求部13は、書込アドレス部分に要求先デバイス20のメモリ27の所定のアドレス(固定アドレス)を指定し、ペイロードに要求先デバイス20のメモリ27のアドレスを読出アドレスとして含み、メモリ27の読出アドレスから読出すリードデータのサイズを読出サイズとして含み、要求元デバイス10のメモリ11のアドレスを読出したリードデータの書込アドレスとして含むような読出要求用ライトパケットを生成する。また、特殊読出要求部13は、要求先デバイス20から割込パケットを受信したときに、特殊読出要求の応答が終了したことを検知する。
 書込処理部15は、受信したライトパケットの書込アドレス部分で指定されるメモリ11のアドレスに、受信したライトパケットのペイロードに含まれるデータを書込む。
 マルチポートスイッチ1は、通信部4と、バッファ2と、優先制御部3とを備える。
 通信部4は、デバイス10または20から出力されたパケットを受信し、バッファ2に出力する。また、通信部4は、バッファ2に蓄積されているパケットをデバイス10または20へ送信する。
 バッファ2は、一方のデバイスから出力されたパケットを蓄積し、他方のデバイスが受信可能になったときに出力する。
 優先制御部3は、バッファ2内に転送先と転送元が同一のライトパケットとリードパケットがある場合に、ライトパケットを優先して出力する。優先制御部3は、パケットに含まれるトランザクションタイプに従って、ライトパケット(NWRITE)かリードパケット(NREAD)かを識別する。
 要求先デバイス20は、メモリ27と、パケット受信部21と、パケット解釈部22と、パケット出力部23と、書込処理部24と、読出処理部25と、特殊読出要求応答部26とを備える。
 パケット出力部23は、生成したパケットをシリアルバスを介してマルチポートスイッチ1へ出力する。
 パケット受信部21は、シリアルバスを介してマルチポートスイッチ1から出力されるパケットを受信する。
 パケット解釈部22は、受信したパケットのトランザクションタイプを参照して、受信したパケットがライトパケット(NWRITE)か、リードパケット(NREAD)のいずれであるかを解釈する。パケット解釈部22は、受信したパケットがライトパケットの場合には、受信したパケットを書込処理部24に出力する。パケット解釈部22は、受信したパケットがリードパケットの場合には、受信したパケットを読出処理部25に出力する。
 メモリ27には、要求元デバイス10から出力されたライトパケットのペイロードに含まれるライトデータが書込まれる。また、メモリ27から読出されたリードデータが要求元デバイス10へ出力されるレスポンスパケットまたは読出応答用ライトパケットののペイロードに埋め込まれる。
 書込処理部24は、受信したライトパケットの書込アドレス部分で指定されるメモリ27のアドレスに、書込サイズ部分で指定されるサイズだけ、ペイロードに含まれるライトデータを書込む。
 読出処理部25は、受信したパケットの読出アドレス部分で指定されるメモリ27のアドレスを起点として読出サイズ部分で指定されるサイズだけメモリ27からデータを読出す。読出処理部25は、読出したリードデータをぺイロードに含むレスポンスパケットを生成する。
 特殊読出要求応答部26は、メモリ27の所定のアドレスにデータが書込まれた場合に、読出要求を受けたことを検知し、メモリ27の所定のアドレスに書込まれたメモリ27の読出アドレス(a)と、読出サイズ(b)と、メモリ11の書込アドレス(c)とを読出す。特殊読出要求応答部26は、メモリ27の読出アドレス(a)から読出サイズ(b)だけデータを読出す。特殊読出要求応答部26は、書込アドレス部分に読出したメモリ11の書込アドレス(c)を含み、ペイロードに読出したリードデータを含む読出応答用ライトパケットを生成する。また、特殊読出要求応答部26は、読出応答用ライトパケットの生成後、さらに割込パケットを生成する。
 (パケットの構成)
 図4は、本発明の実施形態のパケットの構成を表わす図である。これらのパケットは、Serial RapidIO(登録商標)規格に準拠する。
 図4(a)は、リードパケットの構成を表わす図である。このリードパケットは、通常読出要求を発するときに伝送される。
 図4(a)を参照して、リードパケットは、要求元デバイスIDと、要求先デバイスIDと、トランザクションタイプと、トランザクションIDと、R_ADDと、R_SIZEとを含む。要求元デバイスIDには、通常読出要求を発したデバイスを識別するためのIDが記述される。要求先デバイスIDには、通常読出要求を受けるデバイスを識別するためのIDが記述される。トランザクションタイプには、NREADが記述される。トランザクションIDには、このパケットを識別するためのIDが記述される。R_ADD(読出アドレス部分)には、データの読出し対象である要求先デバイスのメモリアドレスが記述される。R_SIZE(読出サイズ部分)には、R_ADDで指定されるメモリアドレスを起点として何バイトのデータを読出すかが記述される。
 図4(b)は、通常ライトパケットの構成を表わす図である。この通常ライトパケットは、書込要求を発するときに伝送される。
 図4(b)を参照して、通常ライトパケットは、要求元デバイスIDと、要求先デバイスIDと、トランザクションタイプと、トランザクションIDと、W_ADDと、W_SIZEと、ライトデータを含む。要求元デバイスIDには、書込要求を発したデバイスを識別するためのIDが記述される。要求先デバイスIDには、書込要求を受けるデバイスを識別するためのIDが記述される。トランザクションタイプには、NWRITEが記述される。トランザクションIDには、このパケットを識別するためのIDが記述される。W_ADD(書込アドレス部分)には、ペイロードのデータが書込まれる要求先デバイス20のメモリアドレスが記述される。W_SIZE(書込サイズ部分)には、W_ADDで指定されるメモリアドレスを起点として何バイトのデータを書込むかが記述される。ペイロードは、ライトデータを含む。
 図4(c)は、レスポンスパケットの構成を表わす図である。このレスポンスパケットは、通常読出要求に対して返信(レスポンス)するときに伝送される。
 図4(c)を参照して、レスポンスパケットは、要求元デバイスIDと、要求先デバイスIDと、トランザクションタイプと、ステータスと、リードデータを含む。要求元デバイスIDには、レスポンスを発したデバイス、つまり通常読出要求を受けたデバイスを識別するためのIDが記述される。要求先デバイスIDには、レスポンスを受けるデバイス、つまり通常読出要求を発したデバイスを識別するためのIDが記述される。トランザクションタイプには、RESPONSEが記述される。トランザクションIDには、このパケットを識別するためのIDが記述される。ステータスには、通常読出要求による処理、つまり読出し処理が正常に実行されたかが記述される。ペイロードは、読出し処理で得られたリードデータを含む。
 図4(d)は、読出要求用ライトパケットの構成を表わす図である。この読出要求用ライトパケットは、特殊読出要求を発するときに伝送される。
 図4(d)を参照して、読出要求用ライトパケットは、要求元デバイスIDと、要求先デバイスIDと、トランザクションタイプと、トランザクションIDと、W_ADDと、W_SIZEとを含む。要求元デバイスIDには、特殊読出要求を発したデバイスを識別するためのIDが記述される。要求先デバイスIDには、特殊読出要求を受けるデバイスを識別するためのIDが記述される。トランザクションタイプには、NWRITEが記述される。トランザクションIDには、このパケットを識別するためのIDが記述される。W_ADD(書込アドレス部分)には、ペイロードのデータが書込まれる要求先デバイスのメモリアドレスが記述される。読出要求用ライトパケットでは、W_ADDは、所定の値「10000」である。W_SIZE(書込サイズ部分)には、W_ADDで指定されるメモリアドレスを起点として何バイトのデータを書込むかが記述される。さらに、読出要求用ライトパケットは、ぺイロードに、R_ADDと、R_SIZEと、RT_ADDを含む。R_ADDには、データの読出し対象である要求先デバイスのメモリアドレスが記述される。R_SIZEには、R_ADDで指定されるメモリアドレスを起点として何バイトのデータを読出すかが記述される。RT_ADDには、読出したデータを書込む要求元デバイスのメモリアドレスが記述される。
 図4(e)は、読出応答用ライトパケットの構成を表わす図である。この読出応答用ライトパケットは、特殊読出要求に対して返信(レスポンス)するときに伝送される。
 図4(e)を参照して、読出応答用ライトパケットは、要求元デバイスIDと、要求先デバイスIDと、トランザクションタイプと、トランザクションIDと、W_ADDと、W_SIZEと、リードデータとを含む。要求元デバイスIDには、特殊読出要求に対するレスポンスを発したデバイスを識別するためのIDが記述される。要求先デバイスIDには、特殊読出要求に対するレスポンスを受けるデバイスを識別するためのIDが記述される。トランザクションタイプには、NWRITEが記述される。トランザクションIDには、このパケットを識別するためのIDが記述される。W_ADD(書込アドレス部分)には、ペイロードのデータが書込まれる要求先デバイスのメモリアドレスが記述される。読出応答用ライトパケットでは、読出要求用ライトパケットに含まれるRT_ADDが記述される。W_SIZE(書込サイズ部分)には、W_ADDで指定されるメモリアドレスを起点として何バイトのデータを書込むかが記述される。読出応答用ライトパケットでは、読出要求用ライトパケットに含まれるR_SIZEが記述される。ペイロードは、読出し処理で得られたリードデータを含む。
 図4(f)は、割込パケットの構成を表わす図である。この割込パケットは、特殊読出要求に対するレスポンスが終了したことを割込通知するときに伝送される。
 図4(f)を参照して、割込パケットは、要求元デバイスIDと、要求先デバイスIDと、トランザクションタイプと、トランザクションIDとを含む。要求元デバイスIDには、割込通知を発したデバイスを識別するためのIDが記述される。要求先デバイスIDには、割込通知を受けるデバイスを識別するためのIDが記述される。トランザクションタイプには、DOORBELLが記述される。トランザクションIDには、このパケットを識別するためのIDが記述される。
 (通常ライト動作)
 図5は、ライトの動作手順を表わすフローチャートである。
 図5を参照して、まず、要求元デバイス10の書込要求部12が、図4(b)に示すような通常ライトパケットを生成する(ステップS101)。
 次に、要求元デバイス10のパケット出力部16が、通常ライトパケットをマルチポートスイッチ1へ出力する(ステップS102)。
 次に、マルチポートスイッチ1の通信部4が、通常ライトパケットを受信して、バッファ2にライトパケットを記憶する。優先制御部3は、バッファ2内に先に蓄積されたパケットが存在しなくなったときに、ライトパケットを取り出して、通信部4へ出力する。ただし、優先制御部3は、バッファ2内に、要求元と要求先のデバイスが同一で、かつ先行するリードバケットが存在する場合でも、そのリードパケットよりも先にライトパケットを取り出して、通信部4に出力する。通信部4は、ライトパケットを要求先デバイス20に出力する(ステップS103)。
 次に、要求先デバイス20のパケット受信部21が、マルチポートスイッチ1からパケットを受信する(ステップS104)。
 次に、要求先デバイス20のパケット解釈部22が、受信したパケットのトランザクションタイプがNWRITEであることから、ライトパケットであると解釈する(ステップS105)。
 次に、要求先デバイス20の書込処理部24が、受信したライトパケットのW_ADDで指定されるメモリアドレスを起点としてW_SIZEで指定されるサイズだけペイロードに含まれるライトデータをメモリ27に書込む(ステップS106)。
 (通常リード動作)
 図6は、通常リードの動作手順を表わすフローチャートである。
 図6を参照して、まず、要求元デバイス10の通常読出要求部14が、図4(a)に示すようなリードパケットを生成する(ステップS201)。
 次に、要求元デバイス10のパケット出力部16が、リードパケットをマルチポートスイッチ1へ出力する(ステップS202)。
 次に、マルチポートスイッチ1の通信部4が、リードパケットを受信して、バッファ2にリードパケットを記憶する。優先制御部3は、バッファ2内に要求元と要求先のデバイスが同一のライトパケットが存在せず、かつ先行するリードパケットが存在しなくなったときに、記憶したリードパケットを取り出して、通信部4へ出力する。通信部4は、リードパケットを要求先デバイス20に出力する(ステップS203)。
 次に、要求先デバイス20のパケット受信部21が、マルチポートスイッチ1からパケットを受信する(ステップS204)。
 次に、要求先デバイス20のパケット解釈部22が、受信したパケットのトランザクションタイプがNREADであることから、リードパケットであると解釈する(ステップS205)。
 次に、要求先デバイス20の読出処理部25が、受信したパケットのR_ADDで指定されるメモリアドレスを起点としてR_SIZEで指定されるサイズだけメモリ27からデータを読出す(ステップS206)。
 次に、要求先デバイス20の読出処理部25が、図4(c)に示すようなレスポンスパケットを生成する(ステップS207)。
 次に、要求先デバイス20のパケット出力部23が、レスポンスパケットをマルチポートスイッチ1へ出力する(ステップS208)。
 次に、マルチポートスイッチ1の通信部4が、レスポンスパケットを受信して、バッファ2にレスポンスパケットを記憶する。優先制御部3は、バッファ2内に先行するパケットが存在しなくなったときに、記憶したレスポンスパケットを取り出して、通信部4へ出力する。通信部4は、レスポンスパケットを要求先デバイス20に出力する(ステップS209)。
 次に、要求元デバイス10のパケット受信部7が、マルチポートスイッチ1からパケットを受信する(ステップS210)。
 次に、要求元デバイス10のパケット解釈部18が、受信したパケットのトランザクションタイプがRESPONSEであることから、レスポンスパケットであると解釈する(ステップS211)。
 次に、要求元デバイス10の通常読出要求部14が、受信したレスポンスパケットのペイロードからリードデータを取り出す(ステップS212)。
 (特殊リード動作)
 図7は、特殊リードの動作手順を表わすフローチャートである。
 図7を参照して、まず、要求元デバイス10の特殊読出要求部13が、図4(d)に示すような読出要求用ライトパケットを生成する(ステップS301)。
 次に、要求元デバイス10のパケット出力部16が、読出要求用ライトパケットをマルチポートスイッチ1へ出力する(ステップS302)。
 次に、マルチポートスイッチ1の通信部4が、読出要求用ライトパケットを受信して、バッファ2に読出要求用ライトパケットを記憶する。優先制御部3は、バッファ2内に先に蓄積されたパケットが存在しなくなったときに、読出要求用ライトパケットを取り出して、通信部4へ出力する。ただし、優先制御部3は、バッファ2内に、要求元と要求先のデバイスが同一で、かつ先行するリードバケットが存在する場合でも、そのリードパケットよりも先に読出要求用ライトパケットを取り出して、通信部4に出力する。通信部4は、読出要求用ライトパケットを要求先デバイス20に出力する(ステップS303)。
 次に、要求先デバイス20のパケット受信部21が、マルチポートスイッチ1からパケットを受信する(ステップS304)。
 次に、要求先デバイス20のパケット解釈部22が、受信したパケットのトランザクションタイプがNWRITEであることから、ライトパケットであると解釈する(ステップS305)。
 次に、要求先デバイス20の書込処理部24が、受信したライトパケットのW_ADDで指定されるメモリアドレスを起点としてW_SIZEで指定されるサイズだけペイロードに含まれるデータをメモリ27に書込む(ステップS306)。
 次に、要求先デバイス20の特殊読出要求応答部26が、メモリ27内のアドレス「10000」にデータが記憶されていることから、特殊読出要求を受けたことを検知する(ステップS307)。
 次に、要求先デバイス20の特殊読出要求応答部26が、アドレス「10000」に書込まれたデータであるR_ADDと、R_SIZEと、RT_ADDとを読出す。特殊読出要求応答部26が、読出したR_ADDで指定されるメモリアドレスを起点としてR_SIZEで指定されるサイズだけメモリ27からデータを読出す(ステップS308)。
 次に、要求先デバイス20の特殊読出要求応答部26が、図4(e)に示すような読出応答用ライトパケットを生成する。特殊読出要求応答部26は、ステップS308で読み出したRT_ADDおよびR_SIZEのデータを、読出応答用ライトパケットのW_ADDおよびW_SIZEのデータとして用い、ステップS308で読出したリードデータがペイロードのデータとして用いる(ステップS309)。
 次に、要求先デバイス20のパケット出力部23が、読出応答用ライトパケットをマルチポートスイッチ1へ出力する(ステップS310)。
 次に、マルチポートスイッチ1の通信部4が、読出応答用ライトパケットを受信して、バッファ2に読出応答用ライトパケットを記憶する。優先制御部3は、バッファ2内に先に蓄積されたパケットが存在しなくなったときに、読出応答用ライトパケットを取り出して、通信部4へ出力する。ただし、優先制御部3は、バッファ2内に、要求元と要求先のデバイスが同一で、かつ先行するリードバケットが存在する場合でも、そのリードパケットよりも先に読出応答用ライトパケットを取り出して、通信部4に出力する。通信部4は、読出応答用ライトパケットを要求先デバイス20に出力する(ステップS311)。
 次に、要求元デバイス10のパケット受信部7が、マルチポートスイッチ1からパケットを受信する(ステップS312)。
 次に、要求元デバイス10のパケット解釈部18が、受信したパケットのトランザクションタイプがNWRITEであることから、ライトパケットであると解釈する(ステップS313)。
 次に、要求元デバイス10の書込処理部15が、受信したライトパケットのW_ADDで指定されるメモリアドレスを起点としてW_SIZEで指定されるサイズだけペイロードに含まれるライトデータをメモリ27に書込む(ステップS314)。
 次に、要求先デバイス20の特殊読出要求応答部26が、図4(f)に示すような割込パケットを生成する(ステップS315)。
 次に、要求先デバイス20のパケット出力部23が、割込パケットをマルチポートスイッチ1へ出力する(ステップS316)。
 次に、マルチポートスイッチ1の通信部4が、割込みパケットを受信して、バッファ2に割込みパケットを記憶する。優先制御部3は、バッファ2内に先行するパケットが存在しなくなったときに、記憶した割込パケットを取り出して、通信部4へ出力する(ステップS317)。
 次に、要求元デバイス10のパケット受信部7が、マルチポートスイッチ1からパケットを受信する(ステップS318)。
 次に、要求元デバイス10のパケット解釈部18が、受信したパケットのトランザクションタイプがDOORBELLであることから、割込パケットであると解釈して、この割込パケットを特殊読出要求部13に出力する(ステップ319)。
 次に、要求元デバイス10の特殊読出要求部13が、割込パケットを受けることによって、特殊読出要求の応答が終了したことを検知する(ステップS320)。
 以上のように、本発明の実施形態の伝送システムによれば、Serial RapidIO(登録商標)のようなリードパケットの伝送のプライオリティがライトパケットよりも低い場合でも、ライトパケットを用いて、相手側のデバイスの特定のアドレスに、相手先のデバイスのメモリの読出アドレスと、読出サイズと、自分側のデバイスのメモリの書込アドレスを書込むことで、読出要求を遅延することなく相手先のデバイスへ届けることができる。
 (変形例)
(1) 割込み
 図8は、変形例の構成を表わす図である。
 図8を参照して、図8の変形例が図3の実施形態の構成と相違するのは、次の点である。
 まず、要求元デバイス10と要求先デバイス20とが直接、割込用配線61で接続されている。特殊読出要求応答部126は、読出応答用ライトパケットの生成後に、特殊読出要求部113に対して、割込用配線61を通じて、特殊読出要求に対する応答処理が終了したことを通知する。
 (2) 要求元デバイスと要求先デバイス
 本発明の実施形態では、デバイス10が読出要求、特殊読出および書込要求を発し、デバイス20がこれらの要求を受けるものとして説明したが、これに限定するものではない。デバイスAが、ある時点でこれらの要求をデバイスBに発するとともに、別の時点でデバイスBまたはデバイスCからこれらの要求を受けるものとしてもよい。この場合には、デバイスAには、本発明の実施形態で説明した要求元デバイスの構成要素と、要求先デバイスの構成要素の両方を備えることとなる。
 (3) シリアルバス
 本発明の実施形態では、デバイスがマルチポートスイッチのポートに1つのシリアルバスを介して接続されるものとして説明したが、これに限定するものではない。たとえば、デバイスがマルチポートスイッチのポートに複数本のシリアルバスを介して接続されるものとしてもよい。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 マルチポートスイッチ、2 バッファ、3 優先制御部、4 通信部、10 要求元デバイス、11,27 メモリ、13,113 特殊読出要求部、14 通常読出要求部、15,24 書込処理部、16,23 パケット出力部、17,21 パケット受信部、18,22 パケット解釈部、25 読出処理部、26,126 特殊読出要求応答部、61 割込用配線、41,42,51,52,53,54 シリアルバス、90 基板。

Claims (8)

  1.  マルチポートスイッチ(1)と、
     前記マルチポートスイッチ(1)のポートに1または複数のシリアルバス(41,42)を介して接続される第1のデバイス(10)および第2のデバイス(20)とを備えたデータ伝送システムであって、
     前記マルチポートスイッチ(1)は、
     バッファ(2)と、
     前記バッファ(2)内に転送先と転送元が同一のライトパケットとリードパケットがある場合に、ライトパケットを優先して出力する優先制御部(3)とを備え、
     前記第1のデバイス(10)および前記第2のデバイス(20)は、
     メモリ(11,27)と、
     生成したパケットを前記マルチポートスイッチへ出力する出力部(16,23)と、
     前記マルチポートスイッチからパケットを受信する受信部(17,21)と、
     受信したライトパケットに含まれる書込アドレスで指定されるメモリのアドレスに、前記受信したライトパケットのペイロードに含まれるデータを書込む書込処理部(15,24)とを備え、
     前記第1のデバイス(10)は、
     前記第2のデバイス(20)のメモリ(27)の所定のアドレスを書込アドレスとして含み、かつペイロードに前記第2のデバイス(20)のメモリ(27)の読出アドレスを含む読出要求用ライトパケットを生成する読出要求部(13,113)を備え、
     前記第2のデバイス(20)は、
     前記メモリ(27)の所定のアドレスにデータが書込まれた場合に、読出要求を受けたことを検知し、前記所定のアドレスに書込まれたメモリ(27)の読出アドレスからデータを読出し、前記読出したデータをペイロードに含む読出応答用ライトパケットを生成する読出応答部(26,126)を備えたデータ伝送システム。
  2.  前記第1のデバイス(10)において、
     前記読出要求部(13,113)は、前記ペイロードに、さらに読出サイズを含む前記読出要求用ライトパケットを生成し、
     前記第2のデバイス(20)において、
     前記読出応答部(26,126)は、前記メモリ(27)の所定のアドレスに書込まれた読出サイズだけ、前記メモリ(27)からデータを読出し、前記読出サイズ分の読出したデータをぺイロードに含む前記読出応答用ライトパケットを生成する、請求の範囲1記載のデータ伝送システム。
  3.  前記第1のデバイス(10)において、
     前記読出要求部(13,113)は、前記ペイロードに、さらに読出したデータの書込先の前記第1のデバイス(10)のメモリ(11)のアドレスを含む前記読出要求用ライトパケットを生成し、
     前記第2のデバイス(20)において、
     前記読出応答部(26,126)は、前記メモリ(27)の所定のアドレスに書込まれた前記第1のデバイス(10)のメモリ(11)のアドレスを書込アドレスとして含む前記読出応答用ライトパケットを生成する、請求の範囲1記載のデータ伝送システム。
  4.  前記第2のデバイス(20)において、
     前記読出応答部(26)は、前記読出応答用ライトパケットの生成後に、前記検知した読出要求への応答が終了したことを通知する割込パケットを生成する、請求の範囲1記載のデータ伝送システム。
  5.  前記第1のデバイス(10)において、
     前記読出要求部(13)は、前記割込パケットを受信した場合に、前記読出要求に対する応答が終了したことを検知する、請求の範囲4記載のデータ伝送システム。
  6.  前記第1のデバイス(10)と前記第2のデバイス(20)の間に、さらに割込用配線(61)が接続され、
     前記第2のデバイス(20)において、
     前記読出応答部(126)は、前記読出応答用ライトパケットの生成後に、前記割込用配線(61)を通じて、前記検知した読出要求への応答が終了したことを通知する、請求の範囲1記載のデータ伝送システム。
  7.  前記第1のデバイス(10)において、
     前記読出要求部(113)は、前記前記割込用配線(61)を通じて、前記検知した読出要求への応答が終了したことの通知を受信した場合に、前記読出要求に対する応答が終了したことを検知する、請求の範囲6記載のデータ伝送システム。
  8.  マルチポートスイッチ(1)と、前記マルチポートスイッチ(1)のポートに1または複数のシリアルバス(41,42)を介して接続される第1のデバイス(10)および第2のデバイス(20)とを備えたデータ伝送システムにおけるデータ読出し方法であって、
     前記マルチポートスイッチ(1)は、バッファ(2)と、前記バッファ(2)内に転送先と転送元が同一のライトパケットとリードパケットがある場合に、ライトパケットを優先して出力する優先制御部(3)とを備え、
     前記データ読出し方法は、
     第1のデバイス(10)が、第2のデバイス(20)のメモリ(27)の所定のアドレスを書込アドレスとして含み、かつペイロードに前記第2のデバイス(20)のメモリ(27)の読出アドレスを含む読出要求用ライトパケットを生成するステップと、
     前記第1のデバイス(10)が、前記生成された読出要求用ライトパケットを前記マルチポートスイッチ(1)を介して前記第2のデバイス(20)に送信するステップと、
     前記第2のデバイス(20)が、前記読出要求用ライトパケットを受信するステップと、
     前記第2のデバイス(20)が、前記受信した読出要求用ライトパケットに含まれる書込アドレスで指定されるメモリ(27)のアドレスに、前記受信した読出要求用ライトパケットのペイロードに含まれるデータを書込むステップと、
     前記第2のデバイス(20)が、前記メモリ(27)の所定のアドレスにデータが書込まれた場合に、読出要求を受けたことを検知し、前記所定のアドレスに書込まれたメモリ(27)の読出アドレスからデータを読出し、前記読出したデータをペイロードに含む読出応答用ライトパケットを生成するステップと、
     前記第2のデバイス(20)が、前記生成された読出応答用ライトパケットを前記マルチポートスイッチ(1)を介して前記第1のデバイス(10)に送信するステップと、
     前記第1のデバイス(10)が、前記読出応答用ライトパケットを受信するステップとを備えた、データ読出し方法。
PCT/JP2010/053515 2009-03-10 2010-03-04 データ伝送システムおよびそのデータ読出し方法 WO2010103987A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/255,682 US8521943B2 (en) 2009-03-10 2010-03-04 Data transmission system and method of reading data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009056860A JP2010212987A (ja) 2009-03-10 2009-03-10 データ伝送システムおよびそのデータ読出し方法
JP2009-056860 2009-03-10

Publications (1)

Publication Number Publication Date
WO2010103987A1 true WO2010103987A1 (ja) 2010-09-16

Family

ID=42728277

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/053515 WO2010103987A1 (ja) 2009-03-10 2010-03-04 データ伝送システムおよびそのデータ読出し方法

Country Status (4)

Country Link
US (1) US8521943B2 (ja)
JP (1) JP2010212987A (ja)
KR (1) KR20110134465A (ja)
WO (1) WO2010103987A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364864B2 (en) * 2010-03-17 2013-01-29 Juniper Networks, Inc. Multi-bank queuing architecture for higher bandwidth on-chip memory buffer
JP5282124B2 (ja) * 2011-06-29 2013-09-04 アンリツ株式会社 パケット転送装置およびパケット転送方法
CN103986931B (zh) * 2014-04-25 2017-01-25 北京航空航天大学 一种fpga+dsp结构上基于srio总线传输视频数据的实现方法
US10019174B2 (en) * 2015-10-27 2018-07-10 Sandisk Technologies Llc Read operation delay
CN114691571B (zh) * 2020-12-28 2024-05-28 上海寒武纪信息科技有限公司 数据处理方法、重排序缓存器及互联设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250846A (ja) * 1999-02-26 2000-09-14 Matsushita Electric Ind Co Ltd シーケンス処理装置
JP2004234150A (ja) * 2003-01-29 2004-08-19 Ricoh Co Ltd ドライブ装置及び情報処理システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4992296B2 (ja) * 2006-05-30 2012-08-08 株式会社日立製作所 転送処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250846A (ja) * 1999-02-26 2000-09-14 Matsushita Electric Ind Co Ltd シーケンス処理装置
JP2004234150A (ja) * 2003-01-29 2004-08-19 Ricoh Co Ltd ドライブ装置及び情報処理システム

Also Published As

Publication number Publication date
US8521943B2 (en) 2013-08-27
US20120005399A1 (en) 2012-01-05
JP2010212987A (ja) 2010-09-24
KR20110134465A (ko) 2011-12-14

Similar Documents

Publication Publication Date Title
JP4589384B2 (ja) 高速メモリモジュール
KR101298862B1 (ko) Pci 익스프레스를 통해 ⅰd 기반 스트림을 가능하게 하는 방법 및 장치
KR100555394B1 (ko) Ngio/infiniband 어플리케이션용 리모트 키검증을 위한 방법 및 메커니즘
KR100666515B1 (ko) 저장 및 포워드 스위치 장치, 시스템 및 방법
CN114443529B (zh) 内存直接访问架构、系统、方法、电子设备和介质
KR102416283B1 (ko) 직렬 주변장치 인터페이스
JP4966695B2 (ja) マルチマスタのチェーン接続された二線シリアルバス装置及びディジタル状態機械
WO2010103987A1 (ja) データ伝送システムおよびそのデータ読出し方法
CN114388040B (zh) 通知进程或可编程原子操作捕获的方法
CN101937417B (zh) Usb中断端点共享
JP2007220046A (ja) バス装置、バスシステムおよび情報転送方法
CN114265800B (zh) 中断消息处理方法、装置、电子设备及可读存储介质
JP2019507926A (ja) モジュールバスとaxiバスの間のリクエストを変換するためのバスブリッジ
CN102073611B (zh) 一种i2c总线控制系统及方法
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
JP2011170848A (ja) トレースデータの優先度の選択
CN116547644A (zh) 检测可编程原子事务中的无限循环
CN116583829A (zh) 可编程原子操作符资源锁定
US7047343B2 (en) System and method for communication of keyboard and touchpad inputs as HID packets embedded on a SMBus
WO2005046146A1 (en) Method, system, and program for constructing a packet
JP2010211322A (ja) ネットワークプロセッサ、受信コントローラ、及びデータ受信処理方法
CN107291641B (zh) 用于计算单元的存储器直接访问控制装置及其运行方法
WO2010122897A1 (ja) データ伝送システムおよびデータ伝送方法
US10185684B2 (en) System interconnect and operating method of system interconnect
CN116529721A (zh) 按需可编程原子内核加载

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10750741

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13255682

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20117023657

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 10750741

Country of ref document: EP

Kind code of ref document: A1