WO2016047104A1 - データ転送制御システム、データ転送制御方法、及び、プログラム記憶媒体 - Google Patents

データ転送制御システム、データ転送制御方法、及び、プログラム記憶媒体 Download PDF

Info

Publication number
WO2016047104A1
WO2016047104A1 PCT/JP2015/004709 JP2015004709W WO2016047104A1 WO 2016047104 A1 WO2016047104 A1 WO 2016047104A1 JP 2015004709 W JP2015004709 W JP 2015004709W WO 2016047104 A1 WO2016047104 A1 WO 2016047104A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
data
reply
synchronization
clock signal
Prior art date
Application number
PCT/JP2015/004709
Other languages
English (en)
French (fr)
Inventor
小田 稔
Original Assignee
Necプラットフォームズ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Necプラットフォームズ株式会社 filed Critical Necプラットフォームズ株式会社
Priority to US15/512,604 priority Critical patent/US20170308487A1/en
Publication of WO2016047104A1 publication Critical patent/WO2016047104A1/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Definitions

  • the present invention relates to a data transfer control system in a system in which a plurality of information processing apparatuses are communicably connected.
  • a data transfer control system in which a plurality of information processing apparatuses are communicably connected.
  • the data is transmitted using a communication path which at least one of the information processing apparatuses in the system relays in order.
  • the present invention relates to a data transfer control system or the like that controls transferring.
  • daisy chain connection As a typical example of a form in which a master device connects a plurality of slave devices.
  • a master device connects multiple slave devices in a cascade. Then, when the master device accesses data stored in a specific slave device, the request data issued by the master device and the reply data issued by the specific slave device are relayed by another slave device, It is transferred to the target device.
  • advanced data transfer control technology Is expected.
  • advanced data transfer control technology is expected also when, for example, high-load access is simultaneously performed to a plurality of slave devices.
  • Patent Document 1 discloses a system in which a plurality of devices are daisy-chained to a host device.
  • This system comprises a communication device that adjusts the latency for each device so that the host device has the same latency (delay time) when reading data from each device.
  • Patent Document 2 discloses an apparatus in which devices are connected by a daisy chain cascade arrangement.
  • the output of the upstream device in the daisy chain cascade is coupled to the input of the downstream device so that information and control signals can be transferred to the downstream device.
  • the slave devices connected to the master device by daisy chain connection or the like are generally operated by individual clock signals generated by the respective slave devices. Therefore, the reply issued by each slave device to the request issued by the master device is issued at a timing synchronized with the individual clock, that is, at an asynchronous timing between the slave devices. This increases the possibility of contention among a plurality of slave devices with respect to the common reply path through which reply data flows.
  • the main object of the present invention is to provide a data transfer control system or the like which solves this problem.
  • the first information processing apparatus accesses the stored data stored in the own apparatus in synchronization with the individual clock signal unique to the own apparatus.
  • reply data representing an access result to the stored data issued by the specific information processing apparatus is the specific information processing apparatus
  • the second information processing apparatus is configured to use the individual clock for each of the second information processing apparatuses when acquiring using a communication path relayed by at least one of the second information processing apparatuses in order except the second information processing apparatus.
  • a synchronization system for outputting the reply data generated in synchronization with a signal in synchronization with a common clock signal commonly distributed to the plurality of second information processors Means, and the second information processor or the first information processing device, which operates in synchronization with the common clock signal and stores the reply data output from the synchronization control means for a predetermined period of time, And reply sending means for sending information to the information processing apparatus.
  • a data transfer control method is that the first information processing apparatus stores data stored in the own apparatus in synchronization with an individual clock signal unique to the own apparatus.
  • the reply data is obtained using a communication path sequentially relayed by at least one of the second information processing devices except the specific information processing device, the plurality of second information processing devices
  • the reply data generated by the second information processor in synchronization with the individual clock signal is commonly distributed to the plurality of second information processors
  • the common clock is output in synchronization with the clock signal, and the output reply data is stored for a predetermined time, and then the common clock is sent to the second information processor located at the subsequent stage or to the first information processor. Transmit in synchronization with the signal.
  • a program storage medium is a stored data stored in the first information processing apparatus in the own apparatus in synchronization with the individual clock signal unique to the own apparatus.
  • the access result to the stored data issued by the specific information processing apparatus is When the second information processing apparatus obtains the reply data representing the communication information using at least one of the second information processing apparatuses other than the specific information processing apparatus, using the communication path sequentially relayed;
  • the reply data generated in synchronization with the clock signal is output in synchronization with the common clock signal commonly distributed to the plurality of second information processing devices.
  • the present invention can also be realized by a program (computer program) stored by such a program storage medium.
  • program storage medium may be a computer readable non-volatile storage medium.
  • the present invention relates to a system in which a plurality of information processing devices that access data stored in the own device are connected by an individual clock signal, and data relating to access from other devices flows through a communication path relaying the plurality of information processing devices.
  • the data transfer performance between the information processing apparatuses can be improved.
  • FIG. 1 is a block diagram showing a configuration of a data transfer control system according to a first embodiment of the present invention. It is a block diagram showing composition of a data processing control part concerning a 1st embodiment of the present invention. It is a figure which illustrates the composition of request data concerning a 1st embodiment of the present invention. It is a figure which illustrates the composition of reply data concerning a 1st embodiment of the present invention. It is a block diagram showing composition of a synchronous control part concerning a 1st embodiment of the present invention. It is an example of the time chart regarding the data which flows to the request path and reply path which concern on the 1st Embodiment of this invention.
  • FIG. 1 is a block diagram conceptually showing the structure of a data transfer control system 1 according to the first embodiment.
  • the data transfer control system 1 includes a master device 10, three slave devices 20 to 40, and a common clock signal distribution device 50.
  • the master device 10 is, for example, an information processing device such as a server device.
  • the slave devices 20 to 40 are devices to which data stored in the device is accessed from the master device 10.
  • the slave devices 20 to 40 are peripheral devices such as a storage device controlled by the master device 10, for example.
  • the slave devices 20 to 40 are daisy chained so as to be communicable with the master device 10.
  • the number of slave devices connected to the master device 10 is not limited to three.
  • the slave devices 20, 30, 40 respectively include data processing control units 200, 300, 400.
  • the data processing control units 200, 300, and 400 are supplied with individual clock signals IC individually generated by the slave devices 20, 30, and 40, respectively.
  • the common clock signal distribution device 50 generates a common clock signal CC commonly used by the slave devices 20 to 40, and supplies the common clock signal CC to the data processing control units 20 to 40.
  • the common clock signal distribution device 50 may not be a single device, and may be, for example, an electronic circuit or the like built in the master device 10 or the like.
  • the master device 10 When accessing data stored in any of the slave devices 20 to 40, the master device 10 issues request data to a target slave device (slave device to be accessed).
  • the request data is supplied to the target slave device after flowing through the request path relayed by the slave device located between the master device 10 and the target slave device.
  • the target slave device performs processing required by the supplied request data, and then generates reply data which is the processing result.
  • the reply data is supplied to the master device 10 after flowing through the reply path relayed by the slave device located between the target slave device and the master device 10.
  • FIG. 2 is a block diagram conceptually showing the configuration of the data processing control unit 300 provided in the slave device 30 according to the present embodiment.
  • the configurations of the data processing control unit 200 included in the slave device 20 and the data processing control unit 400 included in the slave device 40 are similar to those of the data processing control unit 300.
  • the data processing control unit 300 includes a request receiving unit 310, a reply sending unit 320, a synchronization control unit 330, and a request processing unit 340.
  • the request receiving unit 310, the reply sending unit 320, the synchronization control unit 330, and the request processing unit 340 may be realized by an electronic circuit or may be realized by a computer program and a processor operating according to the computer program.
  • the request reception unit 310 includes a request determination unit 311 and a reply presence / absence determination unit 312.
  • the request reception unit 310 is supplied with the common clock signal CC distributed from the common clock signal distribution device 50.
  • the request receiving unit 310 operates in synchronization with the common clock signal CC.
  • the request determination unit 311 receives the request data issued by the master device, transferred from the slave device 20 located in the previous stage of the slave device 30 in the daisy chain connection.
  • the request data 100 includes a valid flag 101, an instruction type 102, an access destination apparatus 103, an access destination address 104, and write data 105.
  • the valid flag 101 is information indicating whether or not the request data 100 is valid, and stores “1” when valid, and “0” when invalid.
  • the instruction type 102 is information indicating whether the instruction indicated by the request data 100 is a read instruction or a write instruction.
  • the access target device 103 is an identifier that can identify any of the slave devices 20 to 40 that the master device 10 accesses.
  • the access destination address 104 is a value of an address at which data to be accessed by the master device 10 is stored.
  • the write data 105 is write data when the request data 100 is a write command. The storage area of the write data 105 is unused when the request data 100 is a read command.
  • the request determination unit 311 refers to the access target apparatus 103 in the received request data 100.
  • the request determination unit 311 determines that the received request data 100 is a slave located downstream of the slave device 30 in daisy chain connection. Transfer to device 40.
  • the request determination unit 311 supplies the received request data 100 to the reply presence determination unit 312 and the synchronization control unit 330.
  • the reply presence / absence determination unit 312 refers to the instruction type 102 in the request data 100 supplied from the request determination unit 311. When the instruction type 102 indicates a read instruction, the reply presence / absence determination unit 312 determines that a reply to the request is necessary, and supplies the determination result to the reply sending unit 320. When the instruction type 102 indicates a write instruction, the reply presence / absence determination unit 312 determines that a reply to the request is unnecessary, and does not supply the determination result to the reply sending unit 320.
  • the slave devices 20 to 40 return a reply to the master device 10 only when the request from the master device 10 is a read command. However, the present invention is not limited to this. That is, when the request is a write command, the slave devices 20 to 40 may return the write result as a reply. In that case, the request reception unit 310 may not include the reply presence / absence determination unit 312.
  • the reply sending unit 320 includes a reply generating unit 321, a reply timing generating unit 322, and a reply timing adjusting unit 323.
  • the common clock signal CC distributed from the common clock signal distribution device 50 is supplied to the reply sending unit 320.
  • the reply sending unit 320 operates in synchronization with the common clock signal CC.
  • the reply generation unit 321 transfers the reply data to the slave device 40.
  • reply data generated by the slave device 30 in response to a request from the master device 10 is supplied from the reply timing adjustment portion 323 to the reply generation portion 321, the reply generation portion 321 transfers the reply data to the slave device 40.
  • the reply timing generation unit 322 When the determination result on the reply is supplied from the reply presence / absence determination unit 312 to the reply timing generation unit 322, the reply timing generation unit 322 generates reply timing information according to a predetermined standard.
  • the reply timing information is information indicating the timing at which the slave device 30 transfers the reply data generated by the slave device 30 to the slave device 40.
  • the predetermined reference is "3 cycles after the slave device 30 receives the request data for itself" with respect to the cycle related to the common clock CC.
  • the reply timing generation unit 322 supplies an instruction to transfer the reply data to the reply timing adjustment unit 323 at the timing based on the generated reply timing information.
  • the reply sending unit 320 can transfer the reply data three cycles after the request receiving unit 310 receives the request data.
  • the reply timing adjustment unit 323 When the reply data generated by the slave device 30 in response to the request from the master device 10 is supplied from the synchronization control unit 330, the reply timing adjustment unit 323 temporarily stores the reply data.
  • the reply timing adjustment unit 323 supplies the reply data to the reply generation unit 321 when the instruction to transfer the reply data is supplied from the reply timing generation unit 322.
  • the reply timing adjustment unit 323 may include a plurality of buffers capable of storing a plurality of reply data, and supply the reply data to the reply generation unit 321, for example, in a first in first out (FIFO) format.
  • FIG. 5 is a block diagram conceptually showing the configuration of the synchronization control unit 330 according to the present embodiment.
  • the synchronization control unit 330 includes a request data input buffer 331, a request data output buffer 332, a reply data input buffer 333, and a reply data output buffer 334.
  • the common clock signal CC is input to the request data input buffer 331 and the reply data output buffer 334, and these buffers operate in synchronization with the common clock signal CC.
  • the separate clock signal IC is input to the request data output buffer 332 and the reply data input buffer 333 and these buffers operate in synchronization with the separate clock signal IC.
  • the request data input buffer 331 temporarily stores the request data input from the request receiving unit 310, and supplies the request data to the request data output buffer 332.
  • the request data output buffer 332 temporarily stores the request data supplied from the request data input buffer 331 and then supplies the request data to the request processing unit 340 at timing synchronized with the individual clock signal IC.
  • the reply data input buffer 333 temporarily stores the reply data input from the request processing unit 340, and then supplies the reply data to the reply data output buffer 334.
  • the reply data output buffer 334 temporarily stores the reply data supplied from the reply data input buffer 333 and then supplies the reply data to the reply sending unit 320 at timing synchronized with the common clock signal CC.
  • the request processing unit 340 performs a process instructed by the request data supplied from the synchronization control unit 330.
  • the request processing unit 340 is supplied with the individual clock signal IC, and the request processing unit 340 operates in synchronization with the individual clock signal IC.
  • the request processing unit 340 When the instruction type 102 shown in FIG. 3 indicates a write instruction, the request processing unit 340 writes the data indicated by the write data 105 to the address indicated by the access destination address 104. When the instruction type 102 shown in FIG. 3 indicates a read command, the request processing unit 340 reads data from the address indicated by the access destination address 104 and then generates reply data based on the read data.
  • the reply data 110 includes the valid flag 111, the access target apparatus 112, and the read data 113.
  • the valid flag 111 is information indicating whether or not the reply data 110 is valid, and stores “1” when it is valid, and “0” when it is invalid.
  • the request processing unit 340 sets the valid flag 111 to “1” when generating the reply data 110.
  • the access target apparatus 112 is an identifier that can identify the slave apparatus that has issued the reply data 110.
  • the request processing unit 340 sets an identifier that can identify the slave device 30 as the access destination device 112.
  • the read data 113 is data read by the request processing unit 340.
  • the request processing unit 340 supplies the generated reply data to the synchronization control unit 330.
  • FIG. 6 shows an example of a time chart regarding data flowing in the request path and the reply path according to the present embodiment.
  • all slave devices 20 to 40 receive the request data for the own device and place the generated reply data three cycles later on the basis of the cycle related to the common clock signal CC Are set to be transferred to the slave device or master device 10.
  • request A, request B, and request C are read requests issued from the master device 10 to the slave device 20, the slave device 30, and the slave device 40 in order.
  • the reply A, the reply B, and the reply C are replies generated by the slave device 20, the slave device 30, and the slave device 40 for the request A, the request B, and the request C, respectively.
  • the master device 10 receives the request A, the request B, and the request C sequentially to the slave device 20 in the cycles t1, t2 and t3 based on the common clock signal CC. Output to request path.
  • the slave device 20 processes the request A, which is a request for the own device, and then outputs the reply A to the reply path output from the slave device 20 in t4 cycle three cycles after t1.
  • the slave device 20 sequentially outputs the request B and the request C, which are requests for other devices, to the request path input to the slave device 30 in cycles t3 and t4.
  • the slave device 30 After processing the request B, which is a request for the slave device 30, the slave device 30 outputs the reply B to the reply path output from the slave device 30 in t6 cycle three cycles after t3.
  • the slave device 30 outputs the request C, which is a request for another device, to the request path input to the slave device 40 in t5 cycle.
  • the slave device 30 outputs the reply A generated by the other device to the reply path output from the slave device 30 in t5 cycle.
  • the slave device 40 processes the request C, which is a request for the own device, and then outputs the reply C to the reply path output from the slave device 40 in t8 cycle three cycles after t5.
  • the slave device 40 sequentially outputs the reply A and the reply B generated by the other device to the reply path output from the slave device 40 in the t6 and t7 cycles.
  • the requests A to C output from the master device 10 are sequentially processed by the slave devices 20 to 40, and then in the t6 to t8 cycles, the slave devices 40 located in the final stage. Then, replies A to C are output.
  • the request receiving unit 310 obtains request data from the slave device 20 (step S101). When the request data is not addressed to the own device (that is, the slave device 30) (No in step S102), the request reception unit 310 transfers the acquired request data to the slave device 40 (step S103). Then, the whole process ends.
  • the synchronization control unit 330 acquires the request data from the request receiving unit 310 at timing synchronized with the common clock signal CC (step S104).
  • the synchronization control unit 330 supplies the request data to the request processing unit 340 at timing synchronized with the individual clock signal IC (step S105).
  • step S106 If the request is not a read access (that is, a write access) (No in step S106), the request processing unit 340 writes data in the address indicated by the request data (step S107). Then, the whole process ends.
  • the request processing unit 340 reads data from the address indicated by the request data to generate reply data, and supplies the reply data to the synchronization control unit 330. (Step S108).
  • the synchronization control unit 330 stores the reply data at timing synchronized with the individual clock signal IC (step S109).
  • the synchronization control unit 330 supplies the reply data to the reply sending unit 320 at timing synchronized with the common clock signal CC (step S110).
  • the reply sending unit 320 stores the reply data for a predetermined time, and then transfers it to the slave device 40 (step S111). Then, the whole process ends.
  • the data transfer control system 1 can improve the data transfer performance between information processing devices in the following system. That is, it is a system in which a plurality of information processing apparatuses accessing data stored in the own apparatus are connected by the individual clock signal IC, and data relating to access from other apparatuses flows through a communication path relaying the plurality of information processing apparatuses.
  • the reason is as follows. That is, in each information processing apparatus (slave apparatus), the synchronization control unit supplies reply data generated by the own apparatus in response to the access request to the reply transmission unit in synchronization with the common clock signal CC.
  • the reply sending unit stores the reply data for a predetermined time, and then transfers the data in synchronization with the common clock signal CC to the information processing device located in the subsequent stage.
  • slave devices such as a plurality of peripheral devices accessed by the master device are connected to the master device
  • the slave devices operate in synchronization with an individual clock signal IC generated by the self device. Then, when these slave devices are, for example, daisy-chained, data concerning the request and the reply reach the target device after flowing through the shared communication path that relays the slave devices.
  • each slave device outputs reply data to the reply path at timing when synchronization is not achieved between the slave devices.
  • the data transfer performance between the master device and the slave device is degraded because the reply outputs from the plurality of slave devices frequently conflict in the shared reply path.
  • the common clock signal distribution device 50 distributes the common clock signal CC to the slave devices 20 to 40. Then, for example, in the case of the slave device 30, the synchronization control unit 330 supplies the reply data generated by the own device in synchronization with the individual clock signal IC to the reply transmission unit 320 in synchronization with the common clock signal CC.
  • the reply sending unit 320 in the slave device 30 stores the reply data supplied from the synchronization control unit 330 for a predetermined time, and then outputs it to the shared reply path in synchronization with the common clock signal CC.
  • the slave devices 20 to 40 output the reply data to the reply path at the timing when synchronization is achieved between the slave devices via the common clock signal CC.
  • the data transfer control system 1 prevents the master device 10 and the slave devices 20 to 40 from conflicting reply outputs output from the plurality of slave devices in the shared reply path. The data transfer performance between them can be improved.
  • the reply sending unit in the slave devices 20 to 40 stores the reply data for a predetermined time after the own device receives the request data for the own device. Do. Specifically, it is possible that the time required for the reply sending unit to output the reply data to the reply path becomes constant among the slave devices 20 to 40 after the own device receives the request data for the own device.
  • the reply data is stored for a predetermined time. For example, in the example shown in FIG. 6, the time required for the reply sending units in the slave devices 20 to 40 to output the reply data to the reply path after receiving the request data is 3 based on the common clock signal. Store reply data so that it becomes a cycle.
  • the data transfer control system 1 according to the present embodiment can efficiently use the request path and the reply path as shown in FIG. 6, so that the data transfer performance between the master device 10 and the slave devices 20 to 40 can be achieved. Can be further improved.
  • the reply sending unit in each of the slave devices 20 to 40 includes a plurality of buffers capable of storing the reply data for a predetermined time, and reads the reply data by the FIFO method. it can.
  • the data transfer control system 1 according to the present embodiment can continuously process a plurality of requests issued by the master device 10, so that system performance can be improved.
  • the data transfer control system 1 is not limited to a system in which a plurality of slave devices are daisy-chain connected to a master device.
  • the technical idea of the present embodiment can be applied to a system in which a plurality of circuits operating in synchronization with different clock signals are daisy-chained in one apparatus.
  • the data transfer control system 1 does not limit the form in which a plurality of information processing apparatuses are connected to daisy chain connection.
  • it is a multi-node system in which a plurality of information processing apparatuses are communicably connected to each other by a connection form other than a daisy chain, and the technical idea of the present embodiment can be applied to the following systems. . That is, the technical idea of the present embodiment can be applied to a system or the like provided with an architecture that reaches a target device after request data and reply data are relayed by a plurality of information processing devices. .
  • FIG. 8 is a block diagram conceptually showing the configuration of the data transfer control system 2 according to the second embodiment.
  • the data transfer control system 2 includes a first information processing apparatus 60 and n (n is an integer of 2 or more) second information processing apparatuses 70-1 to 70-n. .
  • the second information processing devices 70-1 to 70-n access stored data stored in the own device in synchronization with the individual clock signal IC unique to the own device.
  • the first information processing apparatus 60 is stored in a specific second information processing apparatus 70-i (i is an integer of 1 to n) among the second information processing apparatuses 70-1 to 70-n. Access stored data.
  • the first information processing apparatus 60 at least any one of the reply data representing the result of access to the stored data issued by the second information processing apparatus 70-i except for the second information processing apparatus 70-i.
  • the second information processing apparatus 70-i includes a reply sending unit 71-i and a synchronization control unit 72-i.
  • the synchronization control unit 72-i shares the reply data generated by the second information processor 70-i in synchronization with the individual clock signal IC with respect to the second information processors 70-1 to 70-n. It outputs in synchronization with the distributed common clock signal CC.
  • the reply sending unit 71-i operates in synchronization with the common clock signal CC.
  • the data transfer control system 2 has an effect that data transfer performance between information processing apparatuses can be improved.
  • the data transfer control system 2 is connected to a plurality of information processing devices that access data stored in the own device by an individual clock signal IC, and data on access from other devices is a plurality of information processing devices.
  • the above effect is achieved in a system that flows through a communication path to be relayed.
  • the reason is based on the following configuration. That is, in each second information processing apparatus, the synchronization control unit supplies reply data generated by the own apparatus in response to the access request to the reply sending unit in synchronization with the common clock signal CC. Then, after the reply sending unit stores the reply data for a predetermined time, the reply sending unit transfers the data in synchronization with the common clock signal CC to the information processing device located in the subsequent stage.
  • Each part shown in FIG. 2 and FIG. 8 in each embodiment described above can be realized by a dedicated HW (HardWare) (electronic circuit). Further, at least the reply sending units 320 and 71-i and the synchronization control units 330 and 72-i can be regarded as a function (processing) unit (software module) of the software program. However, the division of each part shown in these drawings is a configuration for convenience of explanation, and various configurations can be assumed at the time of mounting. An example of the hardware environment in this case will be described with reference to FIG.
  • FIG. 9 exemplarily illustrates the configuration of an information processing apparatus 900 (computer) capable of executing a slave apparatus or a second information processing apparatus according to an exemplary embodiment of the present invention. That is, FIG. 9 shows a configuration of a computer (information processing apparatus) capable of realizing the slave apparatus or the second information processing apparatus shown in FIG. 2 and FIG. 8, and realizes each function in the above-described embodiment. Represents a possible hardware environment.
  • the information processing apparatus 900 illustrated in FIG. 9 includes the following as constituent elements.
  • CPU Central Processing Unit
  • ROM Read_Only_Memory
  • RAM Random_Access_Memory
  • Hard disk 904 storage device
  • Communication interface 905 with an external device Interface: hereinafter referred to as “I / F”
  • a reader / writer 908 capable of reading and writing data stored in a storage medium 907 such as a CD-ROM (Compact_Disc_Read_Only_Memory), ⁇ Input / output interface 909
  • the information processing apparatus 900 is a general computer whose configuration is connected via a bus 906 (communication line).
  • the present invention described using the above-described embodiment as an example supplies a computer program capable of realizing the following functions to the information processing apparatus 900 shown in FIG.
  • the function is the reply sending units 320 and 71-i, the synchronization control units 330 and 72-i, or the flowchart (FIG. 2) in the block diagram (FIG. 2 and FIG. 8) referred to in the description of the embodiment. 7A and 7B).
  • the present invention is then achieved by reading, interpreting and executing the computer program on the CPU 901 of the hardware.
  • the computer program supplied to the apparatus may be stored in a readable / writable volatile storage memory (RAM 903) or a non-volatile storage device such as a hard disk 904.
  • the method of supplying the computer program into the hardware can adopt a general procedure at present.
  • the procedure for example, there is a method of installing in the device via various storage media 907 such as a CD-ROM, a method of downloading from the outside via a communication line such as the Internet, etc.
  • the present invention can be understood as being configured by the code that configures the computer program or the storage medium 907 in which the code is stored.
  • part or all of the components shown in the block configuration diagram may be realized by a general purpose or special purpose circuit, a processor or the like, or a combination thereof. These may be configured by a single chip or may be configured by a plurality of chips connected via a bus.
  • the present invention is applicable to, for example, a system in which a plurality of information processing devices are connected by daisy chain connection in which a master device connects a plurality of slave devices in a series connection.

Landscapes

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

Abstract

 個別クロックにより自装置内に格納したデータにアクセスする複数の情報処理装置が接続され、他装置からのアクセスに関するデータが複数の情報処理装置を中継するパスを流れるシステムにおいて、情報処理装置間のデータ転送性能を向上するデータ転送制御システムを開示する。係るデータ転送制御システムは、第1の情報処理装置が、個別クロック信号と同期して自装置内の格納データにアクセスする複数の第2の情報処理装置のうちの何れかにアクセスする際に、リプライデータを第2の情報処理装置が順番に中継する通信パスを使用して入手する場合において、第2の情報処理装置ごとに、個別クロック信号と同期して生成されるリプライデータを、共通クロック信号と同期して出力する同期制御部と、共通クロック信号と同期して、同期制御部が出力したリプライデータを所定の時間記憶したのち、後段の第2の情報処理装置へ送信するリプライ送出手段と、を備える。

Description

データ転送制御システム、データ転送制御方法、及び、プログラム記憶媒体
 本願発明は、複数の情報処理装置が通信可能に接続されたシステムにおけるデータ転送制御システムに関する。特に、情報処理装置が他の情報処理装置に格納されたデータにアクセスする際に、そのシステム内の情報処理装置のうちの少なくともいずれかが順番に中継する通信パスを使用して、当該データを転送することを制御するデータ転送制御システム等に関する。
 複数の情報処理装置が通信可能に接続されたシステムに関して、これらの情報処理装置を接続する様々な形態が知られている。例えば、マスター装置が複数のスレーブ装置を接続する形態に関する代表的な例として、デイジーチェーン接続がある。このデイジーチェーン接続では、マスター装置が複数のスレーブ装置を数珠つなぎに接続する。そして、マスター装置が特定のスレーブ装置に格納されたデータにアクセスする場合、マスター装置が発行したリクエストデータ、及び、その特定のスレーブ装置が発行したリプライデータは、他のスレーブ装置が中継しながら、目的の装置まで転送される。
 このような、デイジーチェーン接続により複数の情報処理装置が接続されたシステムにおいては、例えば、複数のスレーブ装置に格納されたデータにアクセスするタイミングに所定の条件がある場合、高度なデータ転送制御技術が期待されている。あるいは、複数のスレーブ装置に同時に高負荷なアクセスを行う場合等においても、高度なデータ転送制御技術が期待されている。
 このような技術の一例として、特許文献1には、ホスト装置に複数のデバイスがデイジーチェーン接続されているシステムが開示されている。このシステムは、そのホスト装置が当該各デバイスからデータをリードする際のレイテンシ(遅延時間)が同じになるように、各デバイスに関するレンテンシを調整する通信装置を備える。
 また、特許文献2には、デバイスをデイジーチェーンカスケード配列によって連結した装置が開示されている。この装置では、デイジーチェーンカスケードにおける前段に位置するデバイスの出力部は、情報と制御信号を後段に位置するデバイスに転送できるように、その後段に位置するデバイスの入力部に連結される。
特開2010-57164号公報 特開2009-301586号公報
 マスター装置にデイジーチェーン接続等により接続されたスレーブ装置は、一般的に、それぞれのスレーブ装置が生成した個別クロック信号により動作している。したがって、マスター装置が発行したリクエストに対してそれぞれのスレーブ装置が発行するリプライは、個別クロックと同期したタイミング、すなわち、スレーブ装置間で非同期なタイミングで発行される。これにより、リプライデータが流れる共通のリプライパスに関して、複数のスレーブ装置間で競合が発生する可能性が高くなる。
 このようなリプライパスに関する競合を回避するために、例えば、リプライパスに流れるリプライデータを1つ、即ち、あるタイミングにおいて何れかのスレーブ装置によるリプライデータだけに制限することによって逐次処理することも考えられる。しかしながらこの場合、十分なデータ転送性能を確保できないことにより、システム性能が低下する問題がある。特許文献1に記載された装置では、このような問題を解決することはできない。
 本願発明の主たる目的は、この問題を解決した、データ転送制御システム等を提供することである。
 本願発明の一態様に係るデータ転送制御システムは、第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継する通信パスを使用して入手する場合において、前記第二の情報処理装置ごとに、前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力する同期制御手段と、前記共通クロック信号と同期して動作し、前記同期制御手段が出力した前記リプライデータを所定の時間記憶したのち、後段に位置する前記第二の情報処理装置、あるいは、前記第一の情報処理装置へ送信するリプライ送出手段と、を備える。
 上記目的を達成する他の見地において、本願発明の一態様に係るデータ転送制御方法は、第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継する通信パスを使用して入手する場合において、前記複数の第二の情報処理装置によって、前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力し、出力した前記リプライデータを所定の時間記憶したのち、後段に位置する前記第二の情報処理装置へ、あるいは、前記第一の情報処理装置へ、前記共通クロック信号と同期して送信する。
 また、上記目的を達成する更なる見地において、本願発明の一態様に係るプログラム記憶媒体は、第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継する通信パスを使用して入手する場合において、前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力する同期制御処理と、前記同期制御処理が出力した前記リプライデータを所定の時間記憶したのち、後段に位置する前記第二の情報処理装置、あるいは、前記第一の情報処理装置へ、前記共通クロック信号と同期して送信するリプライ送出処理と、を前記複数の第二の情報処理装置に実行させるプログラムを記憶する。
 更に、本発明は、係るプログラム記憶媒体が記憶するプログラム(コンピュータプログラム)によっても実現可能である。
 また、係るプログラム記憶媒体は、コンピュータ読み取り可能な、不揮発性の記憶媒体であってもよい。
 本願発明は、個別クロック信号により自装置内に格納したデータにアクセスする複数の情報処理装置が接続され、他装置からのアクセスに関するデータが複数の情報処理装置を中継する通信パスを流れるシステムにおいて、当該情報処理装置間のデータ転送性能を向上することを可能とする。
本願発明の第1の実施形態に係るデータ転送制御システムの構成を示すブロック図である。 本願発明の第1の実施形態に係るデータ処理制御部の構成を示すブロック図である。 本願発明の第1の実施形態に係るリクエストデータの構成を例示する図である。 本願発明の第1の実施形態に係るリプライデータの構成を例示する図である。 本願発明の第1の実施形態に係る同期制御部の構成を示すブロック図である。 本願発明の第1の実施形態に係るリクエストパス及びリプライパスに流れるデータに関するタイムチャートの例である。 本願発明の第1の実施形態に係るデータ転送制御システムの動作を示すフローチャート(1/2)である。 本願発明の第1の実施形態に係るデータ転送制御システムの動作を示すフローチャート(2/2)である。 本願発明の第2の実施形態に係るデータ転送制御システムの構成を示すブロック図である。 本願発明の各実施形態に係るスレーブ装置あるいは第2の情報処理装置が行う処理を実行可能な情報処理装置の構成を示すブロック図である。
 以下、本願発明の実施の形態について図面を参照して詳細に説明する。なお、各図面における矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
 <第1の実施形態>
 図1は、第1の実施形態に係るデータ転送制御システム1の構成を概念的に示すブロック図である。本実施形態に係るデータ転送制御システム1は、マスター装置10、3つのスレーブ装置20乃至40、及び、共通クロック信号分配装置50を備えている。マスター装置10は、例えば、サーバ装置等の情報処理装置である。スレーブ装置20乃至40は、装置内部に格納したデータをマスター装置10からアクセスされる装置である。スレーブ装置20乃至40は、例えば、マスター装置10によって制御される記憶装置等の周辺装置である。本実施形態では、スレーブ装置20乃至40は、マスター装置10と通信可能にデイジーチェーン接続されている。尚、マスター装置10に接続されるスレーブ装置は、3つに限定されない。
 スレーブ装置20、30、40は、それぞれ、データ処理制御部200、300、400を備えている。データ処理制御部200、300、400には、それぞれスレーブ装置20、30、40が個別に生成する個別クロック信号ICが供給されている。
 共通クロック信号分配装置50は、スレーブ装置20乃至40が共通して使用する共通クロック信号CCを生成して、その共通クロック信号CCを、データ処理制御部20乃至40に供給する。共通クロック信号分配装置50は、単体装置でなくてもよく、例えば、マスター装置10などに内蔵された電子回路等であってもよい。
 マスター装置10は、スレーブ装置20乃至40のいずれかに格納されたデータにアクセスする際に、目的のスレーブ装置(アクセス対象とするスレーブ装置)に対してリクエストデータを発行する。当該リクエストデータは、マスター装置10と目的のスレーブ装置との間に位置するスレーブ装置によって中継されるリクエストパスを流れたのちに、目的のスレーブ装置に供給される。目的のスレーブ装置は、供給されたリクエストデータが要求する処理を行ったのち、その処理結果であるリプライデータを生成する。当該リプライデータは、目的のスレーブ装置とマスター装置10との間に位置するスレーブ装置によって中継されるリプライパスを流れたのちに、マスター装置10に供給される。
 図2は、本実施形態に係るスレーブ装置30が備えるデータ処理制御部300の構成を概念的に示すブロック図である。スレーブ装置20が備えるデータ処理制御部200、及び、スレーブ装置40が備えるデータ処理制御部400の構成も、データ処理制御部300と同様である。
 データ処理制御部300は、リクエスト受信部310、リプライ送出部320、同期制御部330、及び、リクエスト処理部340を備えている。リクエスト受信部310、リプライ送出部320、同期制御部330、及び、リクエスト処理部340は、電子回路によって実現されてもよいし、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサによって実現されてもよい。
 リクエスト受信部310は、リクエスト判別部311、及び、リプライ有無判定部312を備えている。リクエスト受信部310には、共通クロック信号分配装置50から分配された共通クロック信号CCが供給される。リクエスト受信部310は、共通クロック信号CCと同期して動作する。リクエスト判別部311は、デイジーチェーン接続においてスレーブ装置30の前段に位置するスレーブ装置20から転送された、マスター装置によって発行されたリクエストデータを受信する。
 本実施形態に係るリクエストデータの構成例を図3に示す。図3に示す通り、リクエストデータ100は、有効フラグ101、命令種別102、アクセス先装置103、アクセス先アドレス104、及び、書き込みデータ105を包含している。有効フラグ101は、リクエストデータ100が有効であるか否かを示す情報であり、有効である場合は「1」、無効である場合は「0」が格納される。命令種別102は、リクエストデータ100が示す命令が、読み出し命令であるのか、あるいは、書き込み命令であるのかを示す情報である。アクセス先装置103は、マスター装置10がアクセスするスレーブ装置20乃至40の何れかを識別可能な識別子である。アクセス先アドレス104は、マスター装置10がアクセスするデータが格納されたアドレスの値である。書き込みデータ105は、リクエストデータ100が書き込み命令である場合における書き込みデータである。書き込みデータ105の格納領域は、リクエストデータ100が読み出し命令である場合は、未使用である。
 リクエスト判別部311は、受信したリクエストデータ100におけるアクセス先装置103を参照する。アクセス先装置103がスレーブ装置30を示していない場合(すなわち、スレーブ装置40を示す場合)、リクエスト判別部311は、受信したリクエストデータ100を、デイジーチェーン接続においてスレーブ装置30の後段に位置するスレーブ装置40に転送する。アクセス先装置103がスレーブ装置30を示している場合、リクエスト判別部311は、受信したリクエストデータ100を、リプライ有無判定部312、及び、同期制御部330へ供給する。
 リプライ有無判定部312は、リクエスト判別部311から供給されたリクエストデータ100における命令種別102を参照する。命令種別102が読み出し命令を示す場合、リプライ有無判定部312は、リクエストに対するリプライが必要であると判定し、その判定結果をリプライ送出部320へ供給する。命令種別102が書き込み命令を示す場合、リプライ有無判定部312は、リクエストに対するリプライが不要であると判定し、リプライ送出部320に対して、判定結果を供給しない。尚、本実施形態では、スレーブ装置20乃至40は、マスター装置10からのリクエストが読み出し命令のときのみマスター装置10に対してリプライを返す場合を例に説明しているが、これに限定されない。すなわち、スレーブ装置20乃至40は、当該リクエストが書き込み命令のときに、書き込み結果をリプライとして返すようにしてもよい。その場合は、リクエスト受信部310は、リプライ有無判定部312を備えなくてもよい。
 リプライ送出部320は、リプライ生成部321、リプライタイミング生成部322、及び、リプライタイミング調整部323を備えている。リプライ送出部320には、共通クロック信号分配装置50から分配された共通クロック信号CCが供給される。リプライ送出部320は、共通クロック信号CCと同期して動作する。
 リプライ生成部321は、スレーブ装置20がマスター装置10からのリクエストに対して生成したリプライデータを受信した場合、当該リプライデータをスレーブ装置40に転送する。リプライ生成部321にリプライタイミング調整部323から、スレーブ装置30がマスター装置10からのリクエストに対して生成したリプライデータが供給されたとき、リプライ生成部321は、当該リプライデータをスレーブ装置40に転送する。
 リプライタイミング生成部322にリプライ有無判定部312からリプライに関する判定結果が供給されたときに、リプライタイミング生成部322は、所定の基準に従って、リプライタイミング情報を生成する。このリプライタイミング情報は、スレーブ装置30が生成したリプライデータを、スレーブ装置30がスレーブ装置40に転送するタイミングを示す情報である。例えば、係る所定の基準が、「スレーブ装置30が自装置に対するリクエストデータを受信してから、共通クロックCCに関するサイクルを基準として、3サイクル後」であるとする。この場合、リプライタイミング生成部322は、生成したリプライタイミング情報に基づいたタイミングで、リプライデータを転送する指示を、リプライタイミング調整部323へ供給する。これにより、リプライ送出部320は、リクエスト受信部310がリクエストデータを受信してから3サイクル後に、リプライデータを転送することができる。
 リプライタイミング調整部323は、スレーブ装置30がマスター装置10からのリクエストに対して生成したリプライデータを同期制御部330から供給された場合、当該リプライデータを一時記憶する。リプライタイミング調整部323は、リプライタイミング生成部322から当該リプライデータを転送する指示を供給されたときに、当該リプライデータをリプライ生成部321へ供給する。尚、リプライタイミング調整部323は、複数のリプライデータを記憶可能な複数のバッファを備え、例えばFIFO(First In First Out)形式により、リプライデータをリプライ生成部321へ供給してもよい。
 図5は、本実施形態に係る同期制御部330の構成を概念的に示すブロック図である。同期制御部330は、リクエストデータ入力バッファ331、リクエストデータ出力バッファ332、リプライデータ入力バッファ333、及び、リプライデータ出力バッファ334を備えている。リクエストデータ入力バッファ331及びリプライデータ出力バッファ334には共通クロック信号CCが入力され、これらのバッファは、共通クロック信号CCと同期して動作する。リクエストデータ出力バッファ332及びリプライデータ入力バッファ333には個別クロック信号ICが入力され、これらのバッファは、個別クロック信号ICと同期して動作する。
 リクエストデータ入力バッファ331は、リクエスト受信部310から入力されたリクエストデータを一時記憶したのち、リクエストデータ出力バッファ332へ供給する。リクエストデータ出力バッファ332は、リクエストデータ入力バッファ331から供給されたリクエストデータを一時記憶したのち、個別クロック信号ICと同期したタイミングに、当該リクエストデータをリクエスト処理部340へ供給する。
 リプライデータ入力バッファ333は、リクエスト処理部340から入力されたリプライデータを一時記憶したのち、リプライデータ出力バッファ334へ供給する。リプライデータ出力バッファ334は、リプライデータ入力バッファ333から供給されたリプライデータを一時記憶したのち、共通クロック信号CCと同期したタイミングに、当該リプライデータをリプライ送出部320へ供給する。
 リクエスト処理部340は、同期制御部330から供給されたリクエストデータが指示する処理を行う。リクエスト処理部340には個別クロック信号ICが供給され、リクエスト処理部340は、個別クロック信号ICと同期して動作する。
 リクエスト処理部340は、図3に示す命令種別102が書き込み命令を示す場合、アクセス先アドレス104が示すアドレスに対して、書き込みデータ105が示すデータを書き込む。リクエスト処理部340は、図3に示す命令種別102が読み出し命令を示す場合、アクセス先アドレス104が示すアドレスからデータを読み出した後、読み出したデータに基づいてリプライデータを生成する。
 リクエスト処理部340が生成するリプライデータの構成例を図4に示す。図4に示す通り、リプライデータ110は、有効フラグ111、アクセス先装置112、及び、読み出しデータ113を包含している。有効フラグ111は、リプライデータ110が有効であるか否かを示す情報であり、有効である場合は「1」、無効である場合は「0」が格納される。リクエスト処理部340は、リプライデータ110を生成する際に、有効フラグ111を「1」に設定する。アクセス先装置112は、リプライデータ110を発行したスレーブ装置を識別可能な識別子である。リクエスト処理部340は、アクセス先装置112として、スレーブ装置30を識別可能な識別子を設定する。読み出しデータ113は、リクエスト処理部340によって読み出されたデータである。リクエスト処理部340は、生成したリプライデータを、同期制御部330へ供給する。
 図6に、本実施形態に係るリクエストパス及びリプライパスに流れるデータに関するタイムチャートの例を示す。図6に示す例の場合、スレーブ装置20乃至40はいずれも、自装置に対するリクエストデータを受信してから、共通クロック信号CCに関するサイクルを基準として3サイクル後に、生成したリプライデータを、後段に位置するスレーブ装置あるいはマスター装置10に転送するように設定されている。
 図6において、リクエストA、リクエストB、及び、リクエストCは、順に、スレーブ装置20、スレーブ装置30、及び、スレーブ装置40に対して、マスター装置10から発行された読み出しリクエストである。リプライA、リプライB、及び、リプライCは、順に、リクエストA、リクエストB、及び、リクエストCに対して、スレーブ装置20、スレーブ装置30、及び、スレーブ装置40が生成したリプライである。
 図6に示す通り、マスター装置10は、共通クロック信号CCを基準としたt1、t2、及び、t3サイクルにおいて、順に、リクエストA、リクエストB、及び、リクエストCを、スレーブ装置20へ入力されるリクエストパスに出力する。
 スレーブ装置20は、自装置に対するリクエストであるリクエストAを処理したのち、t1から3サイクル後のt4サイクルにおいて、リプライAを、スレーブ装置20から出力されるリプライパスに出力する。スレーブ装置20は、他装置に対するリクエストであるリクエストB及びリクエストCを、順に、t3及びt4サイクルにおいて、スレーブ装置30へ入力されるリクエストパスに出力する。
 スレーブ装置30は、自装置に対するリクエストであるリクエストBを処理したのち、t3から3サイクル後のt6サイクルにおいて、リプライBを、スレーブ装置30から出力されるリプライパスに出力する。スレーブ装置30は、他装置に対するリクエストであるリクエストCを、t5サイクルにおいて、スレーブ装置40へ入力されるリクエストパスに出力する。スレーブ装置30は、他装置が生成したリプライAを、t5サイクルにおいて、スレーブ装置30から出力されるリプライパスに出力する。
 スレーブ装置40は、自装置に対するリクエストであるリクエストCを処理したのち、t5から3サイクル後のt8サイクルにおいて、リプライCを、スレーブ装置40から出力されるリプライパスに出力する。スレーブ装置40は、他装置が生成したリプライA及びリプライBを、順に、t6及びt7サイクルにおいて、スレーブ装置40から出力されるリプライパスに出力する。
 このように、t1乃至t3サイクルにおいて、マスター装置10から出力されたリクエストA乃至Cは、順に、スレーブ装置20乃至40によって処理されたのち、t6乃至t8サイクルにおいて、最終段に位置するスレーブ装置40から、リプライA乃至Cが出力される。
 次に図7A及び7Bのフローチャートを参照して、本実施形態に係るデータ転送制御システム1の動作(処理)について、スレーブ装置30の場合を例に詳細に説明する。尚、スレーブ装置20及び40の動作についても、スレーブ装置30と同様である。
 リクエスト受信部310は、スレーブ装置20からリクエストデータを入手する(ステップS101)。当該リクエストデータが自装置(すなわちスレーブ装置30)宛でない場合(ステップS102でNo)、リクエスト受信部310は、入手したリクエストデータをスレーブ装置40へ転送する(ステップS103)。そして、全体の処理は終了する。
 当該リクエストデータが自装置宛である場合(ステップS102でYes)、同期制御部330は、共通クロック信号CCと同期したタイミングで、リクエスト受信部310から当該リクエストデータを入手する(ステップS104)。同期制御部330は、個別クロック信号ICと同期したタイミングで、リクエスト処理部340へ当該リクエストデータを供給する(ステップS105)。
 当該リクエストが読み出しアクセスでない(すなわち書き込みアクセスである)場合(ステップS106でNo)、リクエスト処理部340は、当該リクエストデータが示すアドレスにデータを書き込む(ステップS107)。そして、全体の処理は終了する。
 当該リクエストが読み出しアクセスである場合(ステップS106でYes)、リクエスト処理部340は、当該リクエストデータが示すアドレスから、データを読み出してリプライデータを生成し、当該リプライデータを同期制御部330へ供給する(ステップS108)。
 同期制御部330は、当該リプライデータを、個別クロック信号ICと同期したタイミングで記憶する(ステップS109)。同期制御部330は、当該リプライデータを、共通クロック信号CCと同期したタイミングで、リプライ送出部320へ供給する(ステップS110)。リプライ送出部320は、当該リプライデータを、所定の時間に亘って記憶したのち、スレーブ装置40へ転送する(ステップS111)。そして、全体の処理は終了する。
 本実施形態に係るデータ転送制御システム1は、以下のようなシステムにおいて、情報処理装置間のデータ転送性能を向上できる。すなわち、個別クロック信号ICにより自装置内に格納したデータにアクセスする複数の情報処理装置が接続され、他装置からのアクセスに関するデータが複数の情報処理装置を中継する通信パスを流れるシステムである。その理由は、以下の通りである。すなわち、各情報処理装置(スレーブ装置)において、同期制御部が、アクセスリクエストに対して自装置が生成したリプライデータを、共通クロック信号CCと同期してリプライ送出部へ供給する。リプライ送出部は、当該リプライデータを所定の時間に亘って記憶したのち、後段に位置する情報処理装置へ共通クロック信号CCと同期して転送する。
 マスター装置からアクセスされる複数の周辺装置等のスレーブ装置がマスター装置に接続されたシステムにおいて、一般的にそれらのスレーブ装置は、自装置が生成する個別クロック信号ICと同期して動作する。そして、これらのスレーブ装置が、例えばデイジーチェーン接続されている場合、リクエスト及びリプライに関するデータは、スレーブ装置を中継する共有する通信パスを流れた後、目的の装置に到達する。
 この場合、各スレーブ装置は、スレーブ装置間において、同期がとれていないタイミングに、リプライデータをリプライパスに出力する。この際、複数のスレーブ装置から出力されたリプライ出力が、共有するリプライパスにおいて競合することが頻繁に発生することによって、マスター装置とスレーブ装置との間のデータ転送性能が低下する問題がある。
 これに対して、本実施形態に係るデータ転送制御システム1では、共通クロック信号分配装置50が、スレーブ装置20乃至40に対して共通クロック信号CCを分配する。そして、例えばスレーブ装置30の場合、同期制御部330は、自装置が個別クロック信号ICと同期して生成したリプライデータを、共通クロック信号CCと同期してリプライ送出部320へ供給する。スレーブ装置30におけるリプライ送出部320は、同期制御部330から供給されたリプライデータを、所定の時間に亘って記憶したのち、共通クロック信号CCと同期して、共有するリプライパスに出力する。すなわち、スレーブ装置20乃至40は、スレーブ装置間において、共通クロック信号CCを介して同期がとれたタイミングに、リプライデータをリプライパスに出力する。これにより、本実施形態に係るデータ転送制御システム1は、複数のスレーブ装置から出力されたリプライ出力が、共有するリプライパスにおいて競合することを回避することによって、マスター装置10とスレーブ装置20乃至40との間のデータ転送性能を向上できる。
 また、本実施形態に係るデータ転送制御システム1では、スレーブ装置20乃至40におけるリプライ送出部は、自装置が自装置に対するリクエストデータを受信してから、該リプライデータを所定の時間に亘って記憶する。具体的には、リプライ送出部は、自装置が自装置に対するリクエストデータを受信してから、リプライデータをリプライパスに出力するまでに要する時間が、スレーブ装置20乃至40の間で一定となるように、リプライデータを所定の時間に亘って記憶する。例えば、図6に示す例では、スレーブ装置20乃至40におけるリプライ送出部は、リクエストデータを受信してから、リプライデータをリプライパスに出力するまでに要する時間が、共通クロック信号を基準として、3サイクルとなるように、リプライデータを記憶する。これにより、本実施形態に係るデータ転送制御システム1は、図6に示す通り、リクエストパス及びリプライパスを効率的に使用できるため、マスター装置10とスレーブ装置20乃至40との間のデータ転送性能をさらに向上できる。
 また、本実施形態に係るデータ転送制御システム1では、スレーブ装置20乃至40におけるリプライ送出部は、リプライデータを所定の時間記憶可能な複数のバッファを備え、FIFO方式によって、リプライデータを読み出すことができる。これにより、本実施形態に係るデータ転送制御システム1は、マスター装置10が発行した複数のリクエストを、連続的に処理することができるので、システム性能を向上することができる。
 尚、本実施形態に係るデータ転送制御システム1は、マスター装置に複数のスレーブ装置がデイジ-チェーン接続されたシステムに限定されない。例えば、1つの装置において、互いに異なるクロック信号に同期して動作する複数の回路がデイジーチェーン接続されたシステムにも、本実施形態が備える技術的思想を適用することができる。
 また、本実施形態に係るデータ転送制御システム1は、複数の情報処理装置を接続する形態をデイジーチェーン接続に限定しない。例えば、複数の情報処理装置がデイジーチェーン以外の接続形態により互いに通信可能に接続されたマルチノードシステムであって、以下のようなシステムにも本実施形態が備える技術的思想を適用することができる。すなわち、リクエストデータ及びリプライデータが、複数の情報処理装置によって中継されたのちに、目的の装置に到達するアーキテクチャを備えたシステム等にも、本実施形態が備える技術的思想を適用することができる。
 <第2の実施形態>
 図8は、第2の実施形態に係るデータ転送制御システム2の構成を概念的に示すブロック図である。
 本実施形態に係るデータ転送制御システム2は、第1の情報処理装置60、及び、n個(nは2以上の整数)の第2の情報処理装置70-1乃至70-nを備えている。第2の情報処理装置70-1乃至70-nは、自装置固有の個別クロック信号ICと同期して自装置に格納した格納データにアクセスする。第1の情報処理装置60は、第2の情報処理装置70-1乃至70-nのうちの特定の第2の情報処理装置70-i(iは1乃至nのいずれかの整数)に格納された格納データにアクセスする。この際、第1の情報処理装置60は、第2の情報処理装置70-iが発行した当該格納データへのアクセス結果を表すリプライデータを、第2の情報処理装置70-iを除く少なくともいずれかの第2の情報処理装置が順番に中継する通信パスを使用して入手する。図8に示す例の場合、第2の情報処理装置70-iが生成したリプライデータは、第2の情報処理装置70-(i+1)乃至70-nによって順番に中継されたのち、第1の情報処理装置60に供給される。
 第2の情報処理装置70-iは、リプライ送出部71-i、及び、同期制御部72-iを備えている。
 同期制御部72-iは、第2の情報処理装置70-iが個別クロック信号ICと同期して生成するリプライデータを、第2の情報処理装置70-1乃至70-nに対して共通に分配された共通クロック信号CCと同期して出力する。
 リプライ送出部71-iは、共通クロック信号CCと同期して動作する。リプライ送出部71-iは、同期制御部72-iが出力したリプライデータを所定の時間に亘って記憶したのち、後段に位置する第2の情報処理装置70-(i+1)へ(i=nでない場合)、あるいは、第1の情報処理装置60へ(i=nである場合)送信する。
 本実施形態に係るデータ転送制御システム2は、情報処理装置間のデータ転送性能を向上できるという効果を奏する。具体的には、データ転送制御システム2は、個別クロック信号ICにより自装置内に格納したデータにアクセスする複数の情報処理装置が接続され、他装置からのアクセスに関するデータが複数の情報処理装置を中継する通信パスを流れるシステムにおいて、上記効果を奏する。その理由は、以下の構成による。すなわち、各第2の情報処理装置において、同期制御部が、アクセスリクエストに対して自装置が生成したリプライデータを、共通クロック信号CCと同期してリプライ送出部へ供給する。そして、リプライ送出部が、当該リプライデータを所定の時間に亘って記憶したのち、後段に位置する情報処理装置へ共通クロック信号CCと同期して転送する。
 <ハードウェア構成例>
 上述した各実施形態において図2、及び、図8に示した各部は、専用のHW(HardWare)(電子回路)によって実現することができる。また、少なくとも、リプライ送出部320及び71-i、及び、同期制御部330及び72-iは、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図9を参照して説明する。
 図9は、本発明の模範的な実施形態に係るスレーブ装置あるいは第2の情報処理装置を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、図9は、図2、及び、図8に示したスレーブ装置あるいは第2の情報処理装置を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
 図9に示した情報処理装置900は、構成要素として下記を備えている。
・CPU(Central Processing Unit)901、
・ROM(Read_Only_Memory)902、
・RAM(Random_Access_Memory)903、
・ハードディスク904(記憶装置)、
・外部装置との通信インタフェース905(Interface:以降、「I/F」と称する)、
・CD-ROM(Compact_Disc_Read_Only_Memory)等の記憶媒体907に格納されたデータを読み書き可能なリーダライタ908、
・入出力インタフェース909、
情報処理装置900は、これらの構成がバス906(通信線)を介して接続された一般的なコンピュータである。
 そして、上述した実施形態を例に説明した本発明は、図9に示した情報処理装置900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(図2、及び、図8)における、リプライ送出部320及び71-i、及び、同期制御部330及び72-i、或いはフローチャート(図7A及び7B)の機能である。本発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ(RAM903)またはハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
 また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD-ROM等の各種記憶媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体907によって構成されると捉えることができる。また、ブロック構成図に示した各構成要素の一部又は全部は、汎用または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 この出願は、2014年9月25日に出願された日本出願特願2014-195182を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、例えば、マスター装置が複数のスレーブ装置を数珠つなぎに接続するデイジーチェーン接続により複数の情報処理装置が接続されたシステムに適用可能である。
 1  データ転送制御システム
 10  マスター装置
 20乃至40 スレーブ装置
 200乃至400 データ処理制御部
 50  共通クロック信号分配装置
 100  リクエストデータ
 101  有効フラグ
 102  命令種別
 103  アクセス先装置
 104  アクセス先アドレス
 105  書き込みデータ
 110  リプライデータ
 111  有効フラグ
 112  アクセス先装置
 113  読み出しデータ
 310  リクエスト受信部
 311  リクエスト判定部
 312  リプライ有無判定部
 320  リプライ送出部
 321  リプライ生成部
 322  リプライタイミング生成部
 323  リプライタイミング調整部
 330  同期制御部
 331  リクエストデータ入力バッファ
 332  リクエストデータ出力バッファ
 333  リプライデータ入力バッファ
 334  リプライデータ出力バッファ
 340  リクエスト処理部
 2  データ転送制御システム
 60  第1の情報処理装置
 70-1乃至70-n 第2の情報処理装置
 71-i  リプライ送出部
 72-i  同期制御部
 900  情報処理装置
 901  CPU
 902  ROM
 903  RAM
 904  ハードディスク
 905  通信インタフェース
 906  バス
 907  記憶媒体
 908  リーダライタ
 909  入出力インタフェース

Claims (10)

  1.  第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継する通信パスを使用して入手する場合において、
     前記第二の情報処理装置ごとに、
      前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力する同期制御手段と、
      前記共通クロック信号と同期して動作し、前記同期制御手段が出力した前記リプライデータを所定の時間記憶したのち、後段に位置する前記第二の情報処理装置、あるいは、前記第一の情報処理装置へ送信するリプライ送出手段と、
     を備える、データ転送制御システム。
  2.  前記リプライ送出手段は、前記第二の情報処理装置が、自装置に格納した前記格納データに対する前記第一の情報処理装置からのリクエストデータを受信してから前記リクエストデータに対して生成した前記リプライデータを送信するまでに要する時間が、前記複数の第二の情報処理装置の間で一定となるように、前記リプライデータを所定の時間に亘って記憶する、
     請求項1に記載のデータ転送制御システム。
  3.  前記第二の情報処理装置ごとに、
     前記共通クロック信号と同期して動作し、入手した前記第一の情報処理装置からのリクエストデータが自装置宛である場合、当該リクエストデータを前記同期制御手段へ供給するリクエスト受信手段をさらに備え、
     前記同期制御手段は、前記共通クロック信号と同期して入手した前記リクエストデータを、前記個別クロック信号と同期して出力する、
     請求項1又は2に記載のデータ転送制御システム。
  4.  前記同期制御手段は、
      前記リクエスト受信手段から供給された前記リクエストデータを、前記共通クロック信号と同期して記憶するリクエストデータ入力バッファと、
      前記リクエストデータ入力バッファから出力された前記リクエストデータを、前記個別クロック信号と同期して記憶するリクエストデータ出力バッファと、
      前記第二の情報処理装置が生成した前記リプライデータを、前記個別クロック信号と同期して記憶するリプライデータ入力バッファと、
      前記リプライデータ入力バッファから出力された前記リプライデータを、前記共通クロック信号と同期して記憶するリプライデータ出力バッファと、
     を備える、請求項3に記載のデータ転送制御システム。
  5.  前記リクエスト受信手段は、入手した前記第一の情報処理装置からのリクエストデータが他装置宛である場合、当該リクエストデータを、後段に位置する前記第二の情報処理装置へ送信する、
     請求項3又は4に記載のデータ転送制御システム。
  6.  前記リプライ送出手段は、前記リプライデータを所定の時間記憶可能な1以上のバッファを備え、先入れ先出し方式によって、前記リプライデータを読み出す、
     請求項1乃至5のいずれかに記載のデータ転送制御システム。
  7.  前記共通クロック信号を生成し、生成した前記共通クロック信号を、前記複数の第二の情報処理装置に分配する共通クロック信号分配手段、
     をさらに備える、請求項1乃至6のいずれかに記載のデータ転送制御システム。
  8.  前記複数の第二の情報処理装置は、デイジーチェーン形式によって、前記第一の情報処理装置と接続する、
     請求項1乃至7のいずれかに記載のデータ転送制御システム。
  9.  第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継する通信パスを使用して入手する場合において、
     前記複数の第二の情報処理装置によって、
      前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力し、
      出力した前記リプライデータを所定の時間記憶したのち、後段に位置する前記第二の情報処理装置へ、あるいは、前記第一の情報処理装置へ、前記共通クロック信号と同期して送信する、
     データ転送制御方法。
  10.  第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継する通信パスを使用して入手する場合において、
     前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力する同期制御処理と、
     前記同期制御処理が出力した前記リプライデータを所定の時間記憶したのち、後段に位置する前記第二の情報処理装置、あるいは、前記第一の情報処理装置へ、前記共通クロック信号と同期して送信するリプライ送出処理と、
     を前記複数の第二の情報処理装置に実行させる、データ転送制御プログラムを記憶するプログラム記憶媒体。
PCT/JP2015/004709 2014-09-25 2015-09-16 データ転送制御システム、データ転送制御方法、及び、プログラム記憶媒体 WO2016047104A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/512,604 US20170308487A1 (en) 2014-09-25 2015-09-16 Data transfer control system, data transfer control method, and program storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014195182A JP6290761B2 (ja) 2014-09-25 2014-09-25 データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム
JP2014-195182 2014-09-25

Publications (1)

Publication Number Publication Date
WO2016047104A1 true WO2016047104A1 (ja) 2016-03-31

Family

ID=55580653

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/004709 WO2016047104A1 (ja) 2014-09-25 2015-09-16 データ転送制御システム、データ転送制御方法、及び、プログラム記憶媒体

Country Status (3)

Country Link
US (1) US20170308487A1 (ja)
JP (1) JP6290761B2 (ja)
WO (1) WO2016047104A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI612788B (zh) * 2015-12-21 2018-01-21 視動自動化科技股份有限公司 具有鏈結匯流排的通訊系統
US10212658B2 (en) * 2016-09-30 2019-02-19 Kinetic Technologies Systems and methods for managing communication between devices
US10757484B2 (en) 2017-01-05 2020-08-25 Kinetic Technologies Systems and methods for pulse-based communication
CN112765057B (zh) * 2020-12-30 2024-04-30 京信网络系统股份有限公司 数据传输方法、pcie系统、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004126647A (ja) * 2002-09-30 2004-04-22 Canon Inc 情報転送方法及び情報処理システム
US20130297829A1 (en) * 2012-05-02 2013-11-07 SMSC Holdings Sarl. Point-to-point serial peripheral interface for data communication between devices configured in a daisy-chain

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070076502A1 (en) * 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
JP5407633B2 (ja) * 2008-07-28 2014-02-05 株式会社リコー 通信装置及びそれを有する通信システム並びに通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004126647A (ja) * 2002-09-30 2004-04-22 Canon Inc 情報転送方法及び情報処理システム
US20130297829A1 (en) * 2012-05-02 2013-11-07 SMSC Holdings Sarl. Point-to-point serial peripheral interface for data communication between devices configured in a daisy-chain

Also Published As

Publication number Publication date
JP2016066278A (ja) 2016-04-28
JP6290761B2 (ja) 2018-03-07
US20170308487A1 (en) 2017-10-26

Similar Documents

Publication Publication Date Title
KR101016145B1 (ko) 통신 컴포넌트
US7308526B2 (en) Memory controller module having independent memory controllers for different memory types
US8719476B2 (en) Communication system, master device and slave device, and communication method, configured to handle plural concurrent requests
WO2016047104A1 (ja) データ転送制御システム、データ転送制御方法、及び、プログラム記憶媒体
JP2015520459A (ja) リングトポロジーステータス指示
KR20040044366A (ko) 공유 메모리 데이터 전송장치
US11341087B2 (en) Single-chip multi-processor communication
US10120815B2 (en) Configurable mailbox data buffer apparatus
JP2009538069A (ja) マルチプロセッサ・ゲートウェイ
US8341360B2 (en) Method and apparatus for memory write performance optimization in architectures with out-of-order read/request-for-ownership response
KR20020008955A (ko) 버스 시스템 및 그 실행 순서 조정방법
US20170024146A1 (en) Memory controller, information processing device, and control method
CN110169017B (zh) 控制装置以及通信装置
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
JP2012521588A (ja) 回路構成におけるデータ交換を制御するための回路構成、および方法
US7213092B2 (en) Write response signalling within a communication bus
CN116303221B (zh) 一种多核处理器片上网络系统的数据传输方法
JP4902640B2 (ja) 集積回路、及び集積回路システム
US8438523B2 (en) Integrated circuit manufacturing method and semiconductor integrated circuit
US7130946B2 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
JP2009116702A (ja) 半導体集積回路
US20220398208A1 (en) Bus system and method for operating a bus system
JP2004086798A (ja) マルチプロセッサシステム
KR20060112349A (ko) 에스오씨 버스 시스템 및 버스 데이터 처리방법
US7549004B1 (en) Split filtering in multilayer systems

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15512604

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15844652

Country of ref document: EP

Kind code of ref document: A1