WO2013001631A1 - 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法 - Google Patents

伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法 Download PDF

Info

Publication number
WO2013001631A1
WO2013001631A1 PCT/JP2011/064979 JP2011064979W WO2013001631A1 WO 2013001631 A1 WO2013001631 A1 WO 2013001631A1 JP 2011064979 W JP2011064979 W JP 2011064979W WO 2013001631 A1 WO2013001631 A1 WO 2013001631A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
transmission
operation clock
symbol
unit
Prior art date
Application number
PCT/JP2011/064979
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 PCT/JP2011/064979 priority Critical patent/WO2013001631A1/ja
Publication of WO2013001631A1 publication Critical patent/WO2013001631A1/ja
Priority to US14/102,581 priority patent/US20140101356A1/en

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
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Definitions

  • the present invention relates to a transmission device, a transmission circuit, a transmission system, and a control method for the transmission device.
  • PCIe Peripheral Component Interconnect express
  • each port that transmits and receives data operates with a different clock, so the clock frequency at which the transmission-side port operates and the clock at which the reception-side port operates There is an error with the frequency.
  • the transmission apparatus on the transmission side executes the following processing.
  • the transmission apparatus on the transmission side periodically generates fixed-length data called SKP (Skip) Order Set (hereinafter referred to as a skip ordered set), and transmits the data transmitted through each path. Insert at the same time. Specifically, the transmission apparatus on the transmission side inserts a skip ordered set having a 4-symbol length having one “C (COM)” symbol and three “S (SKIP)” symbols. Then, the transmission device on the transmission side transmits the data with the skip ordered set inserted to the opposite transmission device.
  • SKP Sudp
  • a skip ordered set having a 4-symbol length having one “C (COM)” symbol and three “S (SKIP)” symbols.
  • the transmission device on the reception side has a plurality of elastic buffers for storing received data for each transmission path, and stores the data received from the transmission device on the transmission side in each elastic buffer.
  • the transmission device on the receiving side performs the following processing to prevent overflow or underflow of each elastic buffer due to an error in the clock frequency. Runs independently for each elastic buffer.
  • the receiving side transmission apparatus deletes a part of the “S” symbol included in the skip ordered set inserted in the data. To do.
  • the transmission apparatus on the receiving side uses a part of “S” symbols included in the skip ordered set inserted in the data as 2 A part of the skip ordered set is added by reading each time.
  • the transmission apparatus on the receiving side adds or deletes the “S” symbol independently for each elastic buffer. Therefore, if only the positions of the detected “C” symbols in the skip ordered set are aligned, Data deskew processing cannot be performed. Therefore, the transmission apparatus on the receiving side detects the skip ordered set inserted in each data, and aligns the positions of the “C” symbols of the detected skip ordered set. Then, the transmission apparatus on the receiving side compares the symbol length of the skip ordered set inserted in each data, and deletes or adds a part of the skip ordered set, so that the symbol length of each skip ordered set is Aligning process is performed.
  • FIG. 22 is a diagram for explaining an example of a conventional transmission apparatus.
  • the transmission device 50 on the transmission side and the transmission device 51 on the reception side each have eight ports # 1 to # 8 and link eight serial transmission lines # 1 to # 8. Data transmission / reception.
  • the transmission device 51 has elastic buffers (hereinafter referred to as ES) # 1 to # 8 for storing data # 1 to # 8 received via the serial transmission lines # 1 to # 8. To do.
  • ES elastic buffers
  • the transmission apparatus 50 transmits the data # 1 to # 8 into which the skip ordered set is inserted via the serial transmission lines # 1 to # 8 which are different from SerDes (SERializer / DESerializer).
  • the transmission device 50 generates a SKP Ins instruction that is an instruction to insert a skip ordered set at a predetermined time interval, as shown in FIG.
  • the transmission apparatus 50 inserts a skip ordered set at the same time for all data # 1 to # 8 at the data break immediately after SKP Ins.
  • FIG. 23 is a diagram for explaining a conventional skip ordered set insertion process.
  • the transmission apparatus 51 receives the data # 1 to # 8 with the skip ordered set inserted at different timings, and receives the received data # 1 to # 8. Store in different ES # 1 to # 8. Then, the transmission device 51 executes the following processing when reading the data # 1 to # 8 from the ESs # 1 to # 8.
  • the transmission apparatus 51 determines whether the skip ordered data inserted in each data # 1 to # 8 according to the amount of data stored in each ES # 1 to # 8. Delete or add part of a set. After that, the transmission apparatus 51 aligns the start position of the skip ordered set inserted in the read data # 2 to # 8 with the position of the skip ordered set of data # 1, and each data # 2 to # 8. The length of the skip ordered set inserted in is aligned with the length of the skip ordered set of data # 1.
  • the transmission apparatus 51 detects the skip ordered set inserted in the data # 2 and # 8, and the detected symbol length and data of the skip ordered set. The symbol length of the skip ordered set inserted in # 1 is compared. Then, the transmission apparatus 51 determines that the skip ordered set inserted in the data # 2 is shorter than the skip ordered set inserted in the data # 1, and the skip ordered set inserted in the data # 8 is the data It is determined that it is longer than the skip ordered set inserted in # 1. And the transmission apparatus 51 duplicates by reading a part of the skip ordered set inserted in the data # 2 twice, and deletes a part of the skip ordered set inserted in the data # 8. The length is the same as the skip ordered set inserted in each data # 1, # 2, # 8.
  • FIG. 24 is a diagram (1) for explaining an example of the conventional deskew process.
  • the transmission device 51 deletes the skip symbol of data # 8. Then, as shown in (i) in FIG. 24, when the “COM” symbol of the skip ordered set is combined, the head of the data is shifted, so that the transmission device 51 is as shown in (j) in FIG. A skip symbol is added when the deskew process is performed.
  • FIG. 25 is a diagram (2) for explaining an example of conventional deskew processing.
  • the transmission device 51 adds a skip symbol of data # 8.
  • the head of the data is shifted, so that the transmission apparatus 51 is as shown in (m) in FIG.
  • the skip symbol is deleted when the deskew process is performed.
  • the transmission apparatus on the receiving side performs complicated deskew processing, the processing delay is increased.
  • the delay device on the receiving side installs a data buffer for adding or deleting skip symbols in each lane, the circuit scale increases.
  • the transmission device stores data received in a buffer and transmits the data to the opposite device that reads the data stored in the buffer.
  • Such a transmission apparatus transmits data to the opposite apparatus through different paths.
  • the transmission device compares the operation clock of the opposite device with its own operation clock, and determines which operation clock is faster.
  • the transmission device determines that the operation clock of the opposite device is the same as its own operation clock, the transmission device inserts first error absorption data having a predetermined data length into the data to be transmitted.
  • the transmission device determines that the operation clock of the opposite device is fast, the transmission device inserts second error absorption data shorter than a predetermined data length into the data to be transmitted.
  • the transmission device determines that its own operation clock is fast, the transmission device inserts third error absorption data longer than a predetermined data length into the data to be transmitted.
  • the logic of deskew processing by the transmission device on the receiving side is facilitated.
  • FIG. 1 is a schematic diagram illustrating an example of an information processing system according to the first embodiment.
  • FIG. 2 is a schematic diagram illustrating an example of a transmission apparatus according to the first embodiment.
  • FIG. 3 is a diagram for explaining the skip insertion unit according to the first embodiment.
  • FIG. 4 is a diagram for explaining a skip ordered set to be inserted when there is no difference in operation clock.
  • FIG. 5 is a diagram for explaining a skip ordered set to be inserted when the operation clock on the transmission side is fast.
  • FIG. 6 is a diagram for explaining a skip ordered set to be inserted when the operation clock on the receiving side is fast.
  • FIG. 7 is a diagram for explaining a flow of processing executed by the slip detection unit according to the first embodiment.
  • FIG. 1 is a schematic diagram illustrating an example of an information processing system according to the first embodiment.
  • FIG. 2 is a schematic diagram illustrating an example of a transmission apparatus according to the first embodiment.
  • FIG. 3 is a diagram for explaining the skip insertion
  • FIG. 8 is a diagram for explaining values counted by the slip detection unit according to the first embodiment.
  • FIG. 9 is a diagram for explaining an example of the determination process executed by the slip detection unit according to the first embodiment.
  • FIG. 10 is a schematic diagram illustrating an example of an elastic buffer according to the first embodiment.
  • FIG. 11a is a diagram for explaining the flow of processing of the skip ordered set transmitted when there is no difference in the operation clocks.
  • FIG. 11 b is a diagram for explaining the flow of processing of the skip ordered set inserted when the operation clock on the transmission side is faster than the operation clock on the reception side.
  • FIG. 11c is a diagram for explaining the processing flow of the skip ordered set inserted when the operation clock on the reception side is faster than the operation clock on the transmission side.
  • FIG. 11a is a diagram for explaining the flow of processing of the skip ordered set transmitted when there is no difference in the operation clocks.
  • FIG. 11 b is a diagram for explaining the flow of processing of the skip ordered set inserted when the operation
  • FIG. 12 is a diagram for explaining processing in which the transmission apparatus according to the first embodiment inserts a skip ordered set.
  • FIG. 13 is a diagram for explaining skip ordered set processing by the transmission apparatus on the reception side according to the first embodiment.
  • FIG. 14 is a diagram for explaining an example of the skip ordered set inserted when the operation clock of the transmission apparatus according to the second embodiment is faster than the operation clock of the transmission destination.
  • FIG. 15 is a diagram for explaining an example of the skip ordered set inserted when the operation clock of the transmission apparatus according to the second embodiment is slower than the operation clock of the transmission destination.
  • FIG. 16A is a diagram for explaining an example of a skip symbol inserted when the operation clock of the transmission device on the transmission side according to the second embodiment is faster than the operation clock of the transmission device on the reception side.
  • FIG. 16B is a diagram for explaining an example of skip symbols inserted when the operation clock of the transmission device on the reception side according to the second embodiment is faster than the operation clock of the transmission device on the transmission side.
  • FIG. 17 is a diagram for explaining an example of the skip ordered set inserted when the operation clock of the transmission apparatus according to the third embodiment is faster than the operation clock of the transmission destination.
  • FIG. 18 is a diagram for explaining an example of the skip ordered set inserted when the operation clock of the transmission apparatus according to the third embodiment is slower than the operation clock of the transmission destination.
  • FIG. 19A is a diagram (1) illustrating how the transmission apparatuses on the transmission side and the reception side according to the third embodiment process skip symbols.
  • FIG. 19B is a diagram (2) for explaining how the transmission devices on the transmission side and the reception side according to the third embodiment process skip symbols.
  • FIG. 19c is a diagram (3) for explaining how the transmission devices on the transmission side and the reception side according to the third embodiment process skip symbols.
  • FIG. 20 is a diagram for explaining the flow of processing executed by the transmission apparatus on the reception side according to the third embodiment.
  • FIG. 21 is a diagram for explaining the flow of processing executed by the transmission apparatus on the transmission side according to the third embodiment.
  • FIG. 22 is a diagram for explaining an example of a conventional transmission apparatus.
  • FIG. 23 is a diagram for explaining a conventional skip ordered set insertion process.
  • FIG. 24 is a diagram (1) for explaining an example of conventional deskew processing.
  • FIG. 25 is a diagram (2) for explaining an example of the conventional deskew process.
  • FIG. 1 is a schematic diagram illustrating an example of an information processing system according to the first embodiment.
  • the information processing system 1 includes a CPU (Central Processing Unit) 2, a data transmission device 3, a memory 4, a switch 5, and input / output devices 6 to 6b.
  • the data transmission device 3 is a data transmission device such as Root Complex that conforms to the PCI Express (PCIe) standard.
  • the input / output devices 6 to 6b are so-called end points.
  • the data transmission apparatus 3 includes transmission apparatuses 10 and 10a
  • the switch 5 includes transmission apparatuses 10b to 10d
  • the input / output devices 6 to 6b include transmission apparatuses 10e to 10g, respectively.
  • the data transmission device 3 is connected to the switch 5 via the transmission devices 10 and 10b, and is connected to the input / output device 6 via the transmission devices 10a and 10e.
  • the switch 5 is connected to the input / output device 6b via the transmission devices 10c and 10f, and is connected to the input / output device 6a via the transmission devices 10d and 10g.
  • Each transmission device 10 to 10g is connected by eight serial links, and transmits and receives data using a protocol compliant with the PCIe standard.
  • Each of the transmission apparatuses 10 to 10g transmits and receives data by linking eight serial links. Note that the transmission devices 10a to 10g perform the same functions as the transmission device 10 and will not be described below.
  • transmission apparatus 10 a plurality of data transmitted from the transmission apparatus 10 to the transmission apparatus 10b are referred to as transmission data # 1 to # 8
  • reception data # 1 to # 8 a plurality of data received by the transmission apparatus 10 from the transmission apparatus 10b
  • FIG. 2 is a diagram for explaining an example of the transmission apparatus according to the first embodiment.
  • the transmission apparatus 10 includes an upper layer 11 that requests transmission / reception of data, and a MAC unit 20 that performs processing of a MAC (Media Access Control) layer.
  • the transmission apparatus 10 also includes a PCS (Physical Coding Sublayer) unit 30 that performs data encoding, and a SerDes (SERializer / DESerializer) 40 that performs data transmission and reception.
  • PCS Physical Coding Sublayer
  • SerDes SerDes
  • the MAC unit 20 includes a skip insertion unit 21, a scrambler 23, a slip detection unit 22, a deskew 24, a descrambler 25, and a control unit 26.
  • the PCS unit 30 has eight PCS layers 30a to 30h.
  • the PCS layer 30 a includes an encoder 31, a loopback unit 32, a reversing unit 33, an align 34, an elastic buffer 35, a decoder 36, and a reception status determination unit 37.
  • the PCS layers 30a to 30h execute similar processing, and the following description is omitted for the PCS layers 30b to 30h other than the PCS layer 30a.
  • the skip insertion unit 21 receives transmission data # 1 to # 8 transmitted from the upper layer 11 to the transmission device 10b. Further, the skip insertion unit 21 inserts a skip symbol for absorbing an error between the transmission device 10 and the transmission device 10b into the received data. Then, the skip insertion unit 21 transmits the data with the skip symbol inserted to the scrambler 23.
  • FIG. 3 is a diagram for explaining the skip insertion unit according to the first embodiment.
  • the skip insertion unit 21 includes a plurality of buffers 21a to 21h, a generation unit 21i, a control unit 21k, and a skip insertion selector 21j.
  • Each of the buffers 21a to 21h is a so-called FIFO (First In, First Out), and receives transmission data # 1 to # 8 from the upper layer 21, respectively. Then, each of the buffers 21a to 21h transmits the received transmission data # 1 to # 8 to the skip insertion selector 21j.
  • the generation unit 21i generates skip symbols to be stored in the transmission data # 1 to # 8 based on the frequency of the operation clock of the transmission device 10 and the frequency of the operation clock of the transmission device 10b.
  • the generation unit 21i notifies the slip detection unit 22 that the operation clock of the transmission device 10 is fast, the notification that the operation clock of the transmission device 10b is fast, or the operation clock. Receive a notification to this effect. And the production
  • FIG. 4 is a diagram for explaining a skip ordered set to be inserted when there is no difference in operation clock.
  • the generation unit 21i receives a notification that there is no difference in the operation clock from the slip detection unit 22, the generation unit 21i executes the following processing. That is, as illustrated in FIG. 4, the generation unit 21i generates a skip ordered set having one “COM” symbol and three “SKP (Skip)” symbols, and skip-inserts the generated skip ordered set. Transmit to the selector 21j.
  • FIG. 5 is a diagram for explaining a skip ordered set to be inserted when the operation clock on the transmission side is fast.
  • the generation unit 21i receives a notification from the slip detection unit 22 that the operation clock of the transmission apparatus 10 is fast, as illustrated in FIG. 5, one “COM” symbol, four “SKP” symbols, Generate a skip ordered set with That is, the generation unit 21i generates a skip ordered set longer than the skip ordered set shown in FIG. 4 when the operation clock of the transmission device 10 is faster than the operation clock of the transmission device 10b. Then, the generation unit 21i transmits the generated skip ordered set to the skip insertion selector 21j.
  • FIG. 6 is a diagram for explaining a skip ordered set to be inserted when the operation clock on the receiving side is fast.
  • the generation unit 21i receives a notification from the slip detection unit 22 that the operation clock of the transmission apparatus 10b is fast, as shown in FIG. 6, one “COM” symbol, two “SKP” symbols, Generate a skip ordered set with That is, the generation unit 21i generates a skip ordered set shorter than the skip ordered set shown in FIG. 4 when the operation clock of the transmission device 10b is faster than the operation clock of the transmission device 10. Then, the generation unit 21i transmits the generated skip ordered set to the skip insertion selector 21j.
  • the skip insertion selector 21j receives the transmission data # 1 to # 8 from the buffers 21a to 21h.
  • the skip insertion selector 21j transmits the received transmission data # 1 to # 8 to the scrambler 23 through different paths.
  • the skip insertion selector 21j receives a notification from the control unit 21k to switch the route
  • the skip insertion selector 21j receives the skip ordered set generated by the generation unit 21i, and receives the received skip ordered set via each route. To the scrambler 23.
  • the skip insertion selector 21j transmits the transmission data received from the buffers 21a to 21h to the scrambler 23 again.
  • the skip insertion selector 21j switches the path to each of the buffers 21a to 21h and the path to the generation unit 21i, thereby transmitting the transmission data # 1 to # 8 and the skip ordered set generated by the generation unit 21i. insert.
  • the control unit 21k controls the skip insertion selector 21j. Specifically, the control unit 21k generates an SKP Ins instruction that indicates the timing at which the skip ordered set is inserted at regular intervals, and transmits the generated SKP Ins instruction to the slip detection unit 22. In addition, the control unit 21k notifies the slip detection unit 22 that the operation clock of the transmission device 10 is fast, the notification that the operation clock of the transmission device 10b is fast, or the notification that there is no difference in the operation clock. Receive.
  • control part 21k performs the following processes at the timing which produced
  • control unit 21k when the control unit 21k receives a notification that the operation clock of the transmission apparatus 10 is fast, the control unit 21k executes the following processing at the timing when the SKP Ins instruction is generated. That is, the control unit 21k transmits a notification of switching the route to the skip insertion selector 21j, and after the time for the generation unit 21i to transmit the skip ordered set having five symbol lengths has elapsed, the control unit 21k switches the route again. Is sent to the skip insertion selector 21j.
  • control unit 21k executes the following processing at the timing when the SKP Ins instruction is generated. That is, the control unit 21k transmits a notification of switching the route to the skip insertion selector 21j, and after the time for the generation unit 21i to transmit the skip ordered set having three symbol lengths has elapsed, the control unit 21k switches the route again. Is sent to the skip insertion selector 21j.
  • the slip detection unit 22 compares the operation clock of the transmission device 10 and the operation clock of the transmission device 10b to determine which operation clock is faster. That is, the slip detection unit 22 detects slip, which is an error generated in the operation clock between the transmission device 10 on the transmission side and the transmission device 10b on the reception side. Specifically, the slip detection unit 22 acquires a recovery clock that is an operation clock of the transmission apparatus 10b from SerDes40 described later. Then, the slip detection unit 22 compares the recovery clock with the operation clock of the transmission device 10.
  • FIG. 7 is a diagram for explaining a flow of processing executed by the slip detection unit according to the first embodiment.
  • the slip detection unit 22 includes gray code counters 22a and 22b, a D-type flip-flop 22c, a shift register 22d, and a comparison unit 22e.
  • the gray code counter 22a receives the recovery clock from the SerDes 40. Then, the gray code counter 22a periodically counts up edges of the received recovery clock. For example, each time the recovery clock up-edge is input, the gray code counter 22a is “00 (0)”, “01 (1)”, “11 (2)”, “10 (3)”, “00 ( 0) ”, and the values from“ 0 ”to“ 3 ”are periodically counted. Then, the gray code counter 22a inputs the counted value to the D terminal of the flip-flop 22c.
  • the gray code counter 22b receives a system clock that is an operation clock of the transmission apparatus 10. Then, the gray code counter 22b periodically counts up edges of the received system clock. For example, the gray code counter 22b receives "00 (0)”, “01 (1)”, “11 (2)”, “10 (3)”, “00 ( 0) ”, and the values from“ 0 ”to“ 3 ”are periodically counted. The gray code counter 22b inputs a signal indicating the check timing to the C terminal of the flip-flop 22c when the counted value is “0”.
  • the flip-flop 22c operates as follows in accordance with the rising edge of the system clock. That is, the flip-flop 22c holds the value input to the D terminal at the timing when the value input to the C terminal transitions from “0” to “1”, and outputs the held value to the shift register 22d.
  • FIG. 8 is a diagram for explaining values counted by the slip detection unit according to the first embodiment.
  • the example shown in FIG. 8 shows a signal indicating the waveform of the system clock of the transmission apparatus 10, the value counted by the gray code counter 22b (system clock counter: SCNT), and the check timing output by the gray code counter 22b.
  • FIG. 8 shows the waveform of the recovery clock, the value counted by the gray code counter 22a (recovery clock counter: RCNT), and the value of RCNT output from the flip-flop 22c.
  • the gray code counter 22b inputs a signal that becomes “High” when the SCNT is “0” to the flip-flop 22c. Further, the gray code counter 22a counts RCNT in accordance with the recovery clock, and inputs the RCNT to the flip-flop 22c.
  • the flip-flop 22c holds the output of the gray code counter 22a, that is, the RCNT at the down edge timing when the check timing transitions from “High” to “Low”.
  • the RCNT values held by the flip-flop 22c are “1”, “1”, “1”, “1”, “2”, “2”, “2”, “2”. And transition. That is, the example illustrated in FIG. 8 is an example in which the value of RCNT that is periodically measured is shifted in an increasing direction with time because the operation clock of the transmission device 10b is faster than the operation clock of the transmission device 10.
  • the shift register 22d is a register that holds the output of the flip-flop 22c twice. Specifically, the shift register 22d executes the following process when receiving the SKP Ins instruction from the control unit 21k. That is, the shift register 22d stores the output of the flip-flop 22c in accordance with the up edge of the system clock. The shift register 22d erases the output of the flip-flop 22c stored last time. Then, the shift register 22d outputs the stored output of the flip-flop 22c, that is, the value output this time by the flip-flop 22c and the value previously output by the flip-flop 22c to the comparison unit 22e.
  • the comparison unit 22e receives the previous output value and the current output value from the flip-flop 22c from the shift register 22d. Then, the comparison unit 22e compares the current output value of the flip-flop 22c with the previous output value, and determines whether or not the current output value is larger than the previous output value. When the comparison unit 22e determines that the value output by the flip-flop 22c is large, the comparison unit 22e transmits a notification that the operation clock of the transmission device 10b is fast to the skip insertion unit 21.
  • the comparison unit 22e determines that the previous value output by the flip-flop 22c is large, the comparison unit 22e transmits a notification that the operation clock of the transmission device 10 is fast to the skip insertion unit 21. Further, the comparison unit 22e transmits a notification to the skip insertion unit 21 that there is no difference in the operation clock when the value output by the flip-flop 22c this time is the same as the previous output value.
  • FIG. 9 is a diagram for explaining an example of the determination process executed by the slip detection unit according to the first embodiment.
  • the timing of the SKP Ins instruction, the output of the shift register 22d, that is, the previous RCNT value and the current RCNT value, and the discrimination result by the comparison unit 22e are shown.
  • the shift register 22d outputs the current RCNT value and the previous RCNT value in accordance with the SKP Ins instruction.
  • the values output from the shift register 22d are described as “current RCNT value, previous RCNT value” as follows. That is, the values output from the shift register 22d are “1, null”, “2, 1”, “2, 2,” “3, 2”, “3, 3”, “0, 3”, “1, Transition to “0”, “1, 1”, “2, 1”. Note that “null” represents a blank.
  • the comparison unit 22e increases or decreases the current RCNT value with respect to the previous RCNT value by “null”, “+1”, “ ⁇ 0”, “+1”, “ ⁇ 0”, “+1”, “+1”, Discriminate between “ ⁇ 0” and “+1”. Then, when the increase / decrease of the current RCNT value with respect to the previous RCNT value is a positive value, that is, when the comparison unit 22e is “+1” in the example illustrated in FIG. 9, the comparison unit 22e indicates that the operation clock of the transmission device 10b is fast. Output the notification.
  • the comparison unit 22e outputs a notification that the operation clock does not change when the previous RCNT value is the same as the current RCNT value, that is, “ ⁇ 0” in the example shown in FIG.
  • the increase / decrease of the current RCNT value is a negative value (eg, “ ⁇ 1”) with respect to the previous RCNT value
  • the operation clock of the transmission apparatus 10 is fast. A notification to that effect is output.
  • the PCIe standard stipulates that the error of the operation clock is within “ ⁇ 300 ppm”. For this reason, when the clock error on the transmission side is “ ⁇ 300 ppm” and the clock error on the reception side is “300 ppm”, an error of “600 ppm” exists on both sides. When the error of “600 ppm” exists, one slip occurs every time the operation clock is about 1666 cycles. If the operation clock of the transmission device on the transmission side is fast due to the occurrence of slip, data loss occurs in the transmission device on the reception side, and if the operation clock of the transmission device on the reception side is fast, transmission on the reception side Data duplication occurs in the device.
  • the transmission apparatus 10 performs error absorption processing by skip ordered set.
  • the transmission apparatus 10 needs to identify the slip direction and the degree of occurrence of slip, which of the operating clock of the transmission side and reception side is faster. .
  • the transmission device 10 uses the slip detection unit 22 to detect the direction of slip and the degree of occurrence of slip.
  • the scrambler 23 executes scramble processing. Specifically, the scrambler 23 performs a scramble process on the transmission data # 1 to # 8 in which the skip ordered set is inserted by the skip insertion unit 21. Then, the scrambler 23 transmits the transmission data # 1 to # 8 subjected to the scramble process to the encoder 31. Specifically, the scrambler 23 transmits the transmission data # 1 to # 8 to encoders of different PCS layers 30a to 30h.
  • the deskew unit 24 performs a deskew process on the data received from the PCS unit 30. Specifically, the deskew unit 24 receives a plurality of received data # 1 to # 8 from the PCS unit 30. The deskew unit 24 executes a deskew process that absorbs a skew between transmission paths due to a transmission delay error and a delay error due to a difference in processing timing in an elastic buffer 35 described later.
  • the deskew unit 24 detects the skip ordered set inserted in the received data # 1 to # 8 received. Then, the deskew unit 24 aligns the positions of the “COM” symbols in the skip ordered set inserted in the received data # 1 to # 8. For example, the deskew unit 24 detects “COM” symbols of the received data # 1 to # 8.
  • the deskew unit 24 receives each received data # 1. Delay the output of # 7 by one symbol. Then, the deskew unit 24 transmits the received data # 1 to # 8 subjected to the deskew process to the descrambler 25.
  • the descrambler 25 When the descrambler 25 receives the received data # 1 to # 8 from the deskew unit 24, the descrambler 25 performs a descrambling process on the received data # 1 to # 8. Then, the descrambler 25 transmits descrambled received data # 1 to # 8 to the upper layer 11.
  • the control unit 26 acquires the reception status related to the reception data # 1 from the reception status determination unit 37 included in the PCS unit 30. Then, the control unit 26 determines whether or not the reception data # 1 has been correctly received based on the acquired reception status, and when determining that the reception data # 1 has not been received, instructs the polarity reversing unit 33 to invert the polarity. Send.
  • the control unit 26 receives the reception statuses of the reception data # 1 to # 8 from the reception status determination units of the PCS layers 30a to 30h of the PCS unit 30, and the PCS layers 30a to 30h. A polarity reversal instruction is transmitted independently for each inversion part of the.
  • the encoder 31 encodes the data received from the scrambler 23 from 8-bit data to 10-bit data. This is performed in order for the SerDes 40 to acquire the operation clock of the transmission apparatus 10b using a technique such as clock data recovery (CDR). Thereafter, the encoder 31 transmits the 10-bit encoded data to the loopback unit 32.
  • CDR clock data recovery
  • the loopback unit 32 is a selection unit that selects data to be transmitted to the transmission device 10b. That is, the data received from the transmission device 10b is input to the loopback unit 32 in addition to the transmission data # 1. Then, when the loopback unit 32 does not perform the loopback, the encoder 31 transmits the transmission data # 1 encoded into 10-bit data to the SerDes 40.
  • the loopback unit 32 when receiving an instruction to perform loopback, sends data read from an elastic buffer 35 described later, that is, data received from the transmission apparatus 10b via a serial link to the SerDes 40. Send. Whether or not the loopback unit 32 executes the loopback process can be set by an arbitrary method. In the following description, data received from the transmission apparatus 10b via the serial link is referred to as received data # 1 to # 8.
  • the SerDes 40 receives the transmission data # 1 to # 8 or the reception data # 1 to # 8 that loops back to the transmission device 10b from the PCS layers 30a to 30h of the PCS unit 30. Then, the SerDes 40 converts the received transmission data # 1 to # 8 or the reception data # 1 to # 8 into serial data, and transmits the converted serial data to the transmission apparatus 10b via different paths. To do.
  • the SerDes 40 receives the received data # 1 to # 8 from the transmission device 10b. Then, the SerDes 40 transmits the received data # 1 to # 8 to the polarity changing units of the PCS layers 30a to 30h. In addition, when receiving the received data # 1 to # 8 from the transmission apparatus 10b, the SerDes 40 acquires the operation clock of the transmission apparatus 10b using a technique such as clock data recovery (CDR).
  • CDR clock data recovery
  • the SerDes 40 transmits the acquired operation clock as a recovery clock to the reversing unit, the alignment, the elastic buffer, and the slip detection unit 22 of the MAC unit 20 included in each of the PCS layers 30a to 30h.
  • the SerDes 40 transmits the recovery clock to the reversing unit 33, the align 34, the elastic buffer 35, and the slip detection unit 22 included in the PCS layer 30a.
  • the polarity reversing unit 33 is a polarity inverting device that operates according to the recovery clock.
  • the polarity inverting unit 33 inverts the polarity of the received data # 1 received from the SerDes 40. Then, the reversing unit 33 transmits the received data # 1 to the align 34.
  • Align 34 performs processing for establishing symbol synchronization in accordance with the recovery clock. That is, the align 34 stores the received data # 1 received from the reversing unit 33 in the elastic buffer 35, so that the data width of the received data # 1 is aligned with the data width of the data stored in the elastic buffer 35. The align 34 then sends the received data # 1 with the same data width to the elastic buffer 35.
  • the elastic buffer 35 is a buffer for transferring clocks between the transmission device 10b and the transmission device 10. That is, the elastic buffer 35 is a buffer used to absorb an error in the operation clock between the transmission device 10 and the transmission device 10b. Specifically, since the transmission device 10 receives the reception data # 1 to # 8 in accordance with the operation clock of the transmission device 10b, the transmission device 10 once stores the reception data # 1 to # 8 in the elastic buffer 35. Then, the transmission apparatus 10 reads out the received data # 1 to # 8 stored in the elastic buffer 35 by using its own operation clock, thereby changing the clock.
  • the elastic buffer 35 detects the skip ordered set inserted in each received data # 1 when storing the received data # 1 and when reading the stored received data # 1.
  • the elastic buffer 35 detects a skip ordered set having a symbol length of 4 or more
  • the elastic buffer 35 corrects the detected skip ordered set to four symbol lengths, and receives the skip ordered set corrected. Data # 1 is stored.
  • the elastic buffer 35 detects a skip ordered set having a symbol length of 4 or less when reading the stored received data # 1. Then, the elastic buffer 35 corrects the detected skip ordered set symbol length to four, and transmits the reception data # 1 in which the skip ordered set is corrected to the decoder 36.
  • the elastic buffer 35 detects the skip ordered set having one “COM” symbol and four “SKIP” symbols when storing the received data # 1, the “SKIP” Delete one symbol.
  • the elastic buffer 35 stores the reception data # 1 in which the skip ordered set having one “COM” symbol and three “SKIP” symbols is inserted.
  • the elastic buffer 35 When the elastic buffer 35 detects a skip ordered set having one “COM” symbol and two “SKIP” symbols when reading the received data # 1, the elastic buffer 35 selects the “SKIP” symbol. Duplicate by reading twice.
  • the elastic buffer 35 transmits to the decoder 36 the reception data # 1 in which the skip ordered set having one “COM” symbol and three “SKIP” symbols is inserted.
  • the elastic buffer 35 when the elastic buffer 35 detects the skip ordered set having the symbol length of 4 or more when storing the received data # 1, the elastic buffer 35 converts the detected skip ordered set to the skip ordered order having the symbol length 4. Then, the received data # 1 is stored.
  • the elastic buffer 35 detects the skip ordered set having a symbol length of 4 or less when reading the received data # 1, the elastic buffer 35 detects the “SKIP” symbol of the detected skip ordered set twice. It is corrected to a skip ordered set with a symbol length of 4 by reading.
  • the elastic buffer 35 transmits the presence / absence of an error and the contents of the writing and reading processing of the reception data # 1 to the reception status determination unit 37.
  • the decoder 36 decodes the received data # 1 read from the elastic buffer 35 from 10-bit data to 8-bit data. Then, the decoder 36 transmits the decoded reception data # 1 to the deskew unit 24 of the MAC unit 20. In addition, the decoder 36 transmits the presence / absence of an error in the decoding process to the reception status determination unit 37.
  • the reception status determination unit 37 determines whether or not the reception data # 1 has been normally received according to the presence / absence of an error received from the elastic buffer 35 and the decoder 36 and the contents of the write / read processing of the reception data # 1. To do. Then, the reception status determination unit 37 transmits the determination result as the reception status to the control unit 26 of the MAC unit 20.
  • FIG. 10 is a schematic diagram illustrating an example of an elastic buffer according to the first embodiment.
  • an example of the elastic buffer 35 included in the PCS layer 30a, the decoder 36, and the deskew unit 24 included in the MAC unit 20 will be described.
  • the elastic buffer 35 includes a clock transfer data register 35a, a write control unit 35b, and a read control unit 35c.
  • the clock transfer data register 35a is a register for storing the received data # 1 received from the align 34.
  • the write control unit 35b is a control unit that controls the writing of the reception data # 1 to the clock transfer data register 35a in accordance with the recovery clock received from the SerDes 40.
  • the write controller 35b monitors the received data # 1 transmitted from the align 34 to the clock transfer data register 35a, and detects a skip ordered set having a symbol length of 4 or more. When the write control unit 35b detects a skip ordered set having a symbol length of 4 or more, the write control unit 35b discards the last symbol, that is, the “SKIP” symbol without storing it in the clock transfer data register 35a. .
  • the read control unit 35c is a control unit that controls reading of the reception data # 1 from the clock transfer data register 35a in accordance with the system clock of the transmission apparatus 10. Specifically, the read control unit 35c detects a skip ordered set having a symbol length of 3 or less from the received data # 1 read from the clock transfer data register 35a.
  • the read control unit 35c detects a skip ordered set having a symbol length of 3 or less, the read control unit 35c reads the last “SKIP” symbol of the detected skip ordered set twice, thereby skipping the skip ordered set. Modify the symbol length of the set to 4.
  • the decoder 36 decodes the received data # 1 read by the read control unit 35 c into 8 bits and transmits the decoded data to the deskew unit 24.
  • the deskew unit 24 includes a delay absorption data register 24a and a deskew control unit 24b.
  • the delay absorption data register 24a receives the received data # 1 to # 8 from the PSC unit 30 and temporarily stores them.
  • the deskew control unit 24b detects the “COM” symbol from each of the received data # 1 to # 8 stored in the delay absorption data register 24a. Then, the deskew control unit 24b aligns the detected “COM” symbol positions and outputs the received data # 1 to # 8.
  • the deskew control unit 24b detects the position of the “COM” symbol of each received data # 1 to # 8, and determines that the “COM” symbol of the skip ordered set of the received data # 2 exists at the latest position. . In such a case, the deskew control unit 24b delays the output timing of the other received data # 1, # 3 to # 8. Then, the deskew control unit 24b outputs the “COM” symbol of the skip ordered set of the reception data # 2, and simultaneously outputs the “COM” symbols of the other reception data # 1, # 3 to # 8.
  • the delay absorption data register 24a is controlled.
  • the unit 37 is an electronic circuit.
  • an integrated circuit such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), CPU (Central Processing Unit), MPU (Micro Processing Unit), or the like is applied.
  • the elastic buffer 35 is realized by a combination of a semiconductor memory element such as a RAM (Random Access Memory), a ROM (Read Only Memory), and a flash memory and an electronic circuit.
  • a semiconductor memory element such as a RAM (Random Access Memory), a ROM (Read Only Memory), and a flash memory and an electronic circuit.
  • FIG. 11a is a diagram for explaining the flow of processing of the skip ordered set transmitted when there is no difference in the operation clocks.
  • the skip ordered set to be inserted the skip ordered set when the transmission device 10b receives, the skip ordered set when the transmission device 10b stores in the elastic buffer, and the transmission device 10b Indicates the skip ordered set when reading from the stick buffer.
  • the transmission apparatus 10 inserts a skip ordered set having one “COM” symbol and three “SKIP” symbols into the transmission data # 1 to # 8.
  • the transmission apparatus 10b performs writing to and reading from the elastic buffer without correcting the skip ordered set inserted in each of the transmission data # 1 to # 8.
  • FIG. 11 b is a diagram for explaining the flow of processing of the skip ordered set inserted when the operation clock on the transmission side is faster than the operation clock on the reception side.
  • the transmission apparatus 10 inserts a skip ordered set having one “COM” symbol and four “SKIP” symbols into each transmission data # 1 to # 8.
  • the transmission apparatus 10b discards the last “SKIP” symbol when storing each of the transmission data # 1 to # 8 in the elastic buffer, so that the skip ordered set inserted is discarded. Correct the symbol length to four.
  • FIG. 11c is a diagram for explaining the processing flow of the skip ordered set inserted when the operation clock on the reception side is faster than the operation clock on the transmission side.
  • the transmission apparatus 10 inserts a skip ordered set having one “COM” symbol and two “SKIP” symbols into each transmission data # 1 to # 8.
  • the transmission device 10b when the transmission device 10b reads the transmission data # 1 to # 8 from the elastic buffer, the transmission device 10b duplicates the last “SKIP” symbol by reading it twice and inserts it. Dosset symbol length is corrected to 4.
  • the transmission device 10 transmits a 4-symbol-length skip ordered set as the transmission data # 1 as a normal skip ordered set. Insert into # 8. Further, when the operation clock of the transmission device 10 is faster than the operation clock of the transmission device 10b, the transmission device 10 transmits a skip ordered set having a length of 5 symbols longer than the normal skip ordered set to the transmission data # 1 to # 1. Insert into # 8.
  • the transmission device 10 transmits a skip ordered set having a three symbol length shorter than the normal skip ordered set to the transmission data # 1 to # 1. Insert into # 8. For this reason, the transmission apparatus 10 can absorb the clock error between the transmission apparatus 10 and the transmission apparatus 10b.
  • the transmission apparatus 10b does not detect and compare the symbol length of the skip ordered set for each transmission data # 1 to # 8, but corrects the symbol length of the skip ordered set to the normal skip order. To the same symbol length as the set. For this reason, the transmission apparatus 10 can easily correct the symbol length of the skip ordered set, thereby facilitating the logic when performing the deskew process.
  • the transmission apparatus 10 does not require a process for correcting the symbol length of the skip ordered set when the transmission apparatus 10b performs the deskew process, so that a data register for correcting the symbol length is not necessary.
  • the transmission apparatus 10 can reduce the circuit scale for performing the deskew process.
  • FIG. 12 is a diagram for explaining processing in which the transmission apparatus according to the first embodiment inserts a skip ordered set.
  • the data A_1 to G_8 which are the contents of the transmission data # 1 to # 8 transmitted from the upper layer 11 to the MAC unit 20, the slip detected by the slip detection unit 22, the skip order to be inserted Desset, SKP Ins instruction timing is shown. Further, in the example shown in FIG. 12, each transmission data # 1 to # 8 into which the skip ordered set is inserted is shown.
  • transmission data # 1 to # 8 are input from the upper layer 11. Also, as shown in FIG. 12A, the skip insertion unit 21 generates an SKP Ins instruction for every about 1500 symbols. For this reason, the transmission apparatus 10 simultaneously inserts skip symbols having a normal 4-symbol length between data A_1 to A_8 and data B_1 to B_8 as shown in FIG.
  • the transmission apparatus 10 when a positive slip is detected, that is, when it is determined that the operation clock of the transmission apparatus 10 is faster than the operation clock of the transmission apparatus 10b, transmission is performed.
  • the apparatus 10 performs the following processing. That is, the transmission apparatus 10 generates a skip ordered set having a length of 5 symbols longer than usual, as shown in (D) of FIG.
  • the transmission apparatus 10 generates the skip ordered data generated between the data B_1 to _8 and the data C_1 to C_8, which are data delimiters, after the SKP Ins instruction is generated. Insert a set.
  • FIG. 12F when a skip ordered set of 5 symbol length is inserted, a normal skip ordered set of 4 symbol length is generated.
  • the transmission apparatus 10 generates data D_1 to D_8 because a normal skip ordered set having a length of 4 symbols is generated when the SKP Ins instruction is generated. And a normal skip ordered set having a length of 4 symbols is inserted between the data E_1 to E_8.
  • the transmission device 10 is determined to detect that a negative slip is detected, that is, the operation clock of the transmission device 10b is faster than the operation clock of the transmission device 10. In this case, the transmission device 10 performs the following process.
  • the transmission apparatus 10 generates a skip ordered set having a three-symbol length shorter than usual, as indicated by (I) in FIG. Then, after the SKP Ins instruction is generated as shown in (J) in FIG. 12, the transmission apparatus 10 receives data F_1 to F_8 and data G_1 as data delimiters as shown in (K) in FIG. Inserted simultaneously with ⁇ G_8. Thereafter, as illustrated in (L) in FIG. 12, the transmission apparatus 10 has inserted a skip ordered set having a symbol length shorter than 3 symbols, and thus generates a skip ordered set having a length of 4 symbols.
  • FIG. 13 is a diagram for explaining skip ordered set processing by the transmission apparatus on the reception side according to the first embodiment.
  • transmission data # 1 to # 8 received by the transmission apparatus 10b, transmission data # 1 to # 8 stored in the elastic buffer by the transmission apparatus 10b, and transmission data # 1 to # 8 read from the elastic buffer are shown. 8 was shown.
  • FIG. 13 shows the contents of the deskew process by the transmission apparatus 10b.
  • the “COM” symbol is read as “C”
  • the normal “SKIP” symbol is read as “S”
  • the added “SKIP” symbol is read as “X” twice.
  • the “SKIP” symbol to be used is indicated by “Y”.
  • a skip ordered set having a length of 5 symbols is inserted between data B_1 to B_8 and data C_1 to C_8.
  • a skip ordered set having a length of 3 symbols is inserted between data F_1 to F_8 and data G_1 to G_8.
  • the transmission apparatus 10b deletes the last symbol “X” of the skip ordered set when storing the transmission data # 1 to # 8 in the elastic buffer as shown in (O) of FIG. Then, it is corrected to a skip ordered set having a length of 4 symbols. Further, as shown in (P) of FIG. 13, the transmission device 10b reads the last symbol “Y” of the skip ordered set twice when reading each transmission data # 1 to # 8 from the elastic buffer. Then, by duplicating, it is corrected to a skip ordered set having a length of 4 symbols.
  • the transmission apparatus 10b delays the transmission data # 8 to thereby position “COM” of the skip ordered set inserted in each of the transmission data # 1 to # 8.
  • Deskew processing is performed. That is, the transmission apparatus 10b can perform the deskew process without detecting and comparing the number of skip ordered sets inserted into the transmission data # 1 to # 8.
  • the transmission apparatus 10 transmits a plurality of transmission data # 1 to # 8 to the transmission apparatus 10b via different paths. At this time, the transmission device 10 compares the operation clock of the transmission device 10 with the operation clock of the transmission device 10b.
  • the transmission device 10 determines that its own operation clock is faster than the operation clock of the transmission device 10b, the transmission device 10 sets a skip ordered set having a length of 5 symbols longer than usual to each of the transmission data # 1 to # 8. insert. Also, when the transmission device 10 determines that the operation clock of the transmission device 10b is faster than its own operation clock, the transmission device 10 sets a skip ordered set having a symbol length shorter than normal to each of the transmission data # 1 to # 8. insert. For this reason, the transmission apparatus 10 can absorb an error between its own operation clock and the operation clock of the transmission apparatus 10b.
  • the transmission apparatus 10b only corrects the symbol length of the skip ordered set inserted in each of the transmission data # 1 to # 8 to the four symbol length which is a normal symbol length, and transmits each of the transmission data # 1 to ##.
  • the symbol lengths of the skip ordered set inserted in 8 can be made uniform.
  • the transmission apparatus 10 since the transmission apparatus 10 does not need to detect and compare the symbol length of the skip ordered set in the deskew process in the transmission apparatus 10b, the logic of the deskew process can be facilitated.
  • the transmission apparatus 10 can facilitate the deskew processing logic, thereby reducing the circuit scale and facilitating circuit verification and design.
  • the transmission apparatus 10 includes a gray code counter 22b that periodically operates according to its own operation clock, and a gray code counter 22a that operates periodically according to the operation clock of the transmission apparatus 10b. Then, the transmission apparatus 10 acquires the value of the gray code counter 22a when the value of the gray code counter 22b becomes “0”, and determines whether or not the acquired value is larger than the previously acquired value.
  • the own operation clock is compared with the operation clock of the transmission apparatus 10b. Therefore, even when the error between the operation clock of the transmission device 10 and the operation clock of the transmission device 10b is small, the transmission device 10 can insert skip orders into the transmission data # 1 to # 8 based on the accumulated error. Can be changed appropriately.
  • the transmission apparatus 10 detects a skip ordered set from the received data, and when the detected skip ordered set is shorter than a predetermined length, a part of the skip ordered set is duplicated. In addition, when the length of the detected skip ordered set is longer than a predetermined length, the transmission apparatus 10 deletes a part of the skip ordered set. For this reason, the transmission apparatus can easily absorb an error between its own operation clock and the operation clock of the transmission apparatus 10b.
  • the transmission apparatus 10 that inserts skip ordered sets having different symbol lengths into the transmission data # 1 to # 8 based on the error between its own operation clock and the operation clock of the transmission apparatus 10b will be described. did.
  • the embodiment is not limited to this.
  • the transmission apparatus 10 may insert different types of skip ordered sets.
  • the transmission device of transmission data # 1 to # 8 is a transmission device 10h
  • the transmission device of the transmission destination is a transmission device 10i.
  • the four symbols including one “COM” symbol and three “SKP” symbols.
  • a long skip ordered set is inserted simultaneously into each transmission data # 1 to # 8.
  • the operation clock of itself is faster than the operation clock of the transmission apparatus 10i that is the transmission destination of the transmission data # 1 to # 8, the following processing is executed.
  • the transmission apparatus 10h adds a symbol “RMV” to be deleted when the transmission apparatus 10i stores it in the elastic buffer to one “COM” symbol and three “SKP” symbols. A skip ordered set having a length of 5 symbols is generated. Then, the transmission apparatus 10h inserts the generated skip ordered set into the transmission data # 1 to # 8 at the same time.
  • FIG. 14 is a diagram for explaining an example of the skip ordered set inserted when the operation clock of the transmission apparatus according to the second embodiment is faster than the operation clock of the transmission destination.
  • the transmission device 10h executes the following processing when the operation clock of the transmission device 10i is faster than its own operation clock. That is, as shown in FIG. 15, in addition to one “COM” and one “SKP”, the transmission apparatus 10h includes a skip ordered code having a symbol “ADD” that is duplicated when the transmission apparatus 10h reads from the buffer. Generate a set. Then, the transmission apparatus 10h inserts the generated skip ordered set into the transmission data # 1 to # 8 at the same time.
  • FIG. 15 is a diagram for explaining an example of the skip ordered set inserted when the operation clock of the transmission apparatus according to the second embodiment is slower than the operation clock of the transmission destination.
  • the transmission apparatus 10i can easily correct the skip ordered set. That is, the transmission apparatus 10i inserts the transmission data # 1 to # 8 into the transmission data # 1 to # 8 when storing the transmission data # 1 to # 8 in the elastic buffer without counting the number of skip ordered sets. Only the symbol “RMV” may be detected, and the detected “RMV” may be deleted. Further, when reading the transmission data # 1 to # 8 from the elastic buffer, the transmission device 10i only detects the symbol “ADD” and converts the detected “ADD” into two “SKPs”. .
  • the transmission device 10i detects the symbol length of the skip ordered set when the transmission device 10h simultaneously inserts the skip ordered sets shown in FIGS. 14 and 15 into the transmission data # 1 to # 8. Instead, it is only necessary to detect two types of symbols. For this reason, the transmission apparatus 10h can make the process for absorbing the error of the operation clock easier.
  • FIG. 16A is a diagram for explaining an example of a skip symbol inserted when the operation clock of the transmission device on the transmission side according to the second embodiment is faster than the operation clock of the transmission device on the reception side.
  • the transmission apparatus 10h transmits a skip ordered set having one “COM” symbol, three “SKP” symbols, and one “RMV” symbol to transmission data # 1 to # 8. Insert at the same time.
  • the transmission apparatus 10i detects “RMV” and deletes the detected “RMV” when storing the transmission data # 1 to # 8 in the elastic buffer.
  • FIG. 16B is a diagram for explaining an example of a skip symbol inserted when the operation clock of the transmission device on the reception side according to the second embodiment is faster than the operation clock of the transmission device on the transmission side.
  • the transmission apparatus 10h transmits a skip ordered set having one “COM” symbol, one “SKP” symbol, and one “ADD” symbol to each of the transmission data # 1 to # 8. Insert at the same time.
  • the transmission apparatus 10i stores the transmission data # 1 to # 8 in the elastic buffer, and then detects only the “ADD” symbol when reading the transmission data # 1 to # 8. . Then, the transmission apparatus 10 i converts the detected “ADD” symbol into two “SKP” symbols.
  • the disparity of the transmission apparatus 10i and the transmission apparatus 10h is defined as a neutral code. That is, for PCIe serial transmission, data is converted from 8 bits to 10 bits at the time of transmission, and data is decoded from 10 bits to 8 bits at the time of reception.
  • one 8-bit code there are two corresponding 10-bit codes (Current RD-, Current RD +), and one of the codes is selected depending on the content of the 10-bit code in the immediately preceding encoding process. .
  • the transmission side sets the initial value of running disparity to ( ⁇ ) after power-on, and the transmission side calculates a new running disparity value based on the content of the transmitted 10-bit code.
  • Such running disparity is (+) when “1” is larger than “0” of the transmitted data bits, and is ( ⁇ ) when “0” is larger than “1”. If the transmitted data bits “0” and “1” are the same neutral, the running disparity does not change. Under such rules, the transmission side selects a 10-bit code corresponding to the running disparity when converting an 8-bit code to a 10-bit code.
  • the receiving side has both (+) and (-) initial running disparity values after power-on.
  • the receiving side determines that the received 10-bit code is valid / invalid, and calculates a new running disparity value based on the content of the received 10-bit code.
  • the receiving side regards that the received 10-bit code is valid and decodes it to an 8-bit code.
  • the receiving side considers that the received 10-bit code is invalid.
  • the “ADD” symbol and the “RMV” symbol are not neutral codes, the running disparity changes when the “ADD” symbol or the “RMV” symbol is transmitted. Then, when the “RMV” symbol is deleted on the receiving side, since the running disparity does not change, a disparity error may occur in the symbol received next to the “RMV” symbol. As a result, the “ADD” symbol and the “RMV” symbol are defined as codes in which the disparity is neutral.
  • the transmission device 10h adds each skip ordered set obtained by adding symbols to be deleted by the transmission device 10i to the normal 4-symbol skip ordered set. It is simultaneously inserted into transmission data # 1 to # 8.
  • the transmission device 10 is a skip ordered set having a length of 3 symbols shorter than usual, and the symbol to be duplicated by the transmission device 10i. The skip ordered set is inserted into each transmission data # 1 to # 8 simultaneously.
  • the transmission device 10h can absorb the error between its own operation clock and the operation clock of the transmission device 10i on the receiving side without correcting the length of the skip ordered set by the transmission device 10i.
  • the deskew processing logic can be facilitated.
  • the transmission apparatus 10i detects the “RMV” symbol and the “ADD” symbol without detecting the symbol length of the skip ordered set, and performs the processing according to the detected symbol to transmit each transmission data # 1 to # 1.
  • the symbol length of the skip ordered set inserted in # 8 can be made uniform. For this reason, the transmission apparatus 10h can further facilitate the process of aligning the symbol length of the skip ordered set on the receiving side.
  • each of the transmission devices 10 to 10i described above facilitates processing in the transmission device at the transmission destination.
  • the embodiment is not limited to this.
  • each of the transmission apparatuses 10 to 10i performs a process for facilitating the process when receiving the transmission data # 1 to # 8 returned by the loopback process. May be further executed.
  • the transmission device of transmission data # 1 to # 8 is a transmission device 10j and the transmission device of the transmission destination is a transmission device 10k.
  • the transmission device 10j and the transmission device 10k detect the “RMV” symbol when storing the transmission data # 1 to # 8 in the elastic buffer, and delete the detected “RMV” symbol. Further, the transmission device 10j and the transmission device 10k detect the “ADD” symbol when reading the transmission data # 1 to # 8 from the elastic buffer, and detect the detected “ADD” symbol as the “SKP” symbol and the “ADD” symbol. Modify with symbols. Further, the transmitting device 10j and the transmitting device 10k detect the “ADD-r” symbol when reading the transmission data # 1 to # 8 from the elastic buffer, and the detected “ADD-r” symbol is converted into the “SKP” symbol. And “RMV” symbol.
  • the “SKP” symbol is a symbol that is not added or deleted
  • the “RMV” symbol is a symbol that is deleted when stored in the elastic buffer.
  • the “ADD” symbol is a symbol to which one symbol that is not added or deleted when read from the elastic buffer is added.
  • the “ADD-r” symbol is converted into one symbol that is not added or deleted when read from the elastic buffer and one symbol that is deleted when stored in the elastic buffer. Symbol.
  • FIG. 17 is a diagram for explaining an example of the skip ordered set inserted when the operation clock of the transmission apparatus according to the third embodiment is faster than the operation clock of the transmission destination.
  • FIG. 18 is a diagram for explaining an example of the skip ordered set inserted when the operation clock of the transmission apparatus according to the third embodiment is slower than the operation clock of the transmission destination.
  • FIG. 19A is a diagram (1) illustrating how the transmission apparatuses on the transmission side and the reception side according to the third embodiment process skip symbols.
  • FIG. 19B is a diagram (2) for explaining how the transmission devices on the transmission side and the reception side according to the third embodiment process skip symbols.
  • FIG. 19c is a diagram (3) for explaining how the transmission devices on the transmission side and the reception side according to the third embodiment process skip symbols.
  • the skip ordered set inserted by the transmission apparatus 10j is shown as the own apparatus transmission side process.
  • FIGS. 19a to 19c as an opposite reception process, a skip ordered set input to the transmission apparatus 10k as a transmission destination, a skip ordered set stored in the elastic buffer by the transmission apparatus 10k, and the transmission apparatus 10k are illustrated. Indicates a skip ordered set read from the elastic buffer.
  • FIGS. 19a to 19c as the reception processing on the own device, the skip ordered set that is loopback transmitted to the transmission device 10j, the skip ordered set that the transmission device 10j stores in the elastic buffer, and the transmission device 10j Indicates a skip ordered set read from the elastic buffer.
  • the transmission apparatus 10j on the transmission side simultaneously inserts skip ordered sets having “COM”, “SKP”, “SKP”, and “SKP” into the transmission data # 1 to # 8.
  • the transmission apparatus 10k on the receiving side stores the transmission data # 1 to # 8 in the elastic buffer or reads the transmission data # 1 to # 8 from the elastic buffer.
  • the “SKP” symbol is not deleted or added.
  • the transmission apparatus 10j on the transmission side can acquire the transmission data # 1 to # 8 in which the skip ordered set having the same symbol length as that at the time of transmission is stored.
  • FIG. 19B is a diagram (2) for explaining how the transmission apparatuses on the transmission side and the reception side according to the third embodiment process skip symbols.
  • the transmission apparatus 10j on the transmission side adds a skip ordered set having “COM”, “SKP”, “ADD”, “RMV”, and “RMV” to each of the transmission data # 1 to # 8. Insert at the same time.
  • the transmission apparatus 10k on the receiving side deletes the two “RMV” symbols when storing the transmission data # 1 to # 8 in the elastic buffer.
  • the transmission device 10k corrects the “ADD” symbol to the “SKP” symbol and the “ADD” symbol when reading the transmission data # 1 to # 8 from the elastic buffer. That is, the transmission apparatus 10k adds the “SKP” symbol. The transmission device 10k then loops back transmission data # 1 to # 8 read from the elastic buffer to the transmission device 10j.
  • the transmission apparatus 10j stores the transmission data # 1 to # 8 transmitted in the loopback in the elastic buffer. Then, the transmission device 10j corrects the “ADD” symbol to the “SKP” symbol and the “ADD” symbol when reading the transmission data # 1 to # 8 from the elastic buffer. For this reason, the transmission apparatus 10j can acquire the transmission data # 1 to # 8 in which the skip ordered set having the same symbol length as the 5-symbol skip ordered set inserted by itself is stored.
  • FIG. 19c is a diagram (3) for explaining how the transmission devices on the transmission side and the reception side according to the third embodiment process skip symbols.
  • the transmission apparatus 10j on the transmission side stores the skip symbols having “COM”, “SKP”, and “ADD-r” simultaneously in the transmission data # 1 to # 8.
  • the transmission device 10k corrects the “ADD-r” symbol to the “SKP” symbol and the “RMV” symbol when reading the transmission data # 1 to # 8 from the elastic buffer. Then, the transmission device 10k loops back the transmission data # 1 to # 8 read from the elastic buffer to the transmission device 10j.
  • the transmission device 10j deletes the “RMV” symbol inserted in each of the transmission data # 1 to # 8 when storing the transmission data # 1 to # 8 transmitted in the loopback in the elastic buffer. Then, the transmission device 10j acquires the transmission data # 1 to # 8 stored in the elastic buffer. That is, the transmission apparatus 10j can acquire the transmission data # 1 to # 8 in which the skip ordered set having the same symbol length as the skip ordered set having the three symbol length inserted by itself is stored.
  • FIG. 20 is a diagram for explaining the flow of processing executed by the transmission apparatus on the reception side according to the third embodiment.
  • FIG. 21 is a diagram for explaining the flow of processing executed by the transmission apparatus on the transmission side according to the third embodiment.
  • the “COM” symbol is “C”
  • the “SKIP” symbol is “S”
  • the “ADD” symbol is “A”
  • the “RMV” symbol is “R”
  • “ADD ⁇ ” is denoted as “Ar”.
  • the received data # 1 to # 8 read from the data are shown.
  • the transmission apparatus 10k includes a skip symbol including the “RMV” symbol, and a skip symbol including the “ADD-r” symbol as illustrated in (S) in FIG.
  • Each of the received data # 1 to # 8 in which is inserted is acquired.
  • the transmission apparatus 10k discards the “RMV” symbol when storing the received data # 1 to # 8 in the elastic buffer, as indicated by (T) in FIG.
  • the transmission apparatus 10k reads the “ADD-r” symbol, the “SKP” symbol, and the “RMV” when reading the received data # 1 to # 8 from the elastic buffer. Convert to symbol.
  • the transmission device 10j shows reception data # 1 to # 8 transmitted in a loopback from the transmission device 10k, and the transmission device 10j shows reception data # 1 to # 8 stored in an elastic buffer.
  • received data # 1 to # 8 read from the elastic buffer by the transmission apparatus 10j and received data # 1 to # 8 subjected to the deskew process are shown.
  • the transmission device 10j acquires the received data # 1 to # 8 read from the elastic buffer by the transmission device 10k shown in FIG. Next, the transmission apparatus 10j deletes the “RMV” symbol when writing the received data # 1 to # 8 in the elastic buffer, as shown in FIG.
  • the transmission apparatus 10j when the transmission apparatus 10j reads the received data # 1 to # 8 from the elastic buffer, the “ADD” symbol is replaced with the “ADD” symbol and the “SKP” symbol. And convert to For this reason, the transmission apparatus 10j sets the number of skip ordered sets inserted in the received data # 1 to # 8 transmitted in the loopback to the same number of skip ordered sets as the skip ordered set inserted by itself. Can be modified into a set.
  • the transmission apparatus 10j receives the position of the “COM” symbol inserted into the reception data # 8 and the “COM” inserted into the other reception data # 1 to # 7.
  • Deskew processing is performed to align the positions of symbols.
  • the transmission apparatus 10j can easily perform the deskew process on each of the received data # 1 to # 8 transmitted in the loopback without detecting and correcting the number of symbols of each skip ordered set. .
  • the “ADD” symbol, “RMV” symbol, and “ADD-r” symbol according to the third embodiment are defined as codes having a neutral disparity as in the case of the “RMV” and “ADD” symbols according to the second embodiment. Is done.
  • the transmission device 10j has “COM”, “SKP”, “ADD”, “RMV”, and “RMV” symbols when its own operation clock is faster than the operation clock of the transmission device 10k.
  • a skip ordered set is inserted simultaneously into each transmission data # 1 to # 8.
  • the transmission device 10j adds a skip ordered set having “COM”, “SKP”, and “ADD-r” symbols to each transmission data #. Insert into 1 to # 8 at the same time.
  • the transmission device 10j can absorb an error between its own operation clock and the operation clock of the transmission device 10k. Further, the transmission apparatus 10j can obtain the following effects only by detecting the “ADD” symbol and the “RMV” symbol without performing complicated processing. That is, the transmission apparatus 10j can easily align the number of symbols of the skip ordered set inserted in the transmission data # 1 to # 8 returned by the loopback processing with the number of symbols of the skip ordered set inserted by itself. Can do. Further, the transmission device 10j can easily perform the deskew processing of the transmission data # 1 to # 8 returned by the loopback processing.
  • the transmission device 10j can facilitate deskew processing in the transmission device 10k. For this reason, the transmission apparatus 10j can facilitate the logic of the deskew process on the transmission side and the reception side, reduce the circuit scale, and facilitate the design and verification even when the loopback process is performed. Further, the transmission apparatus 10j can reduce a processing delay related to the deskew process.
  • the transmission device 10k when the transmission device 10k performs the loopback process, the transmission device 10k does not compare the operation clock of the transmission device 10k with the operation clock of the transmission device 10j that is the transmission destination, and the data with the appropriate skip ordered set inserted therein. It can be transmitted to the transmission device 10j. For this reason, the transmission apparatus 10j can further reduce the circuit scale of the transmission apparatuses 10j and k.
  • Each of the transmission apparatuses 10 to 10k described above is assumed to be connected to another transmission apparatus through eight serial links. However, the embodiment is not limited to this, and each of the transmission apparatuses 10 to 10k can be connected to other transmission apparatuses via an arbitrary number of transmission paths.
  • Each of the transmission paths 10 to 10k described above has “COM” symbol, “SKP” symbol, “ADD” symbol, “RMV” symbol, and “ADD-r” symbol as symbols to be stored in the skip ordered set. Defined. However, the embodiment is not limited to this, and an arbitrary symbol is defined as long as the same processing as in each of the first to third embodiments is executed when each of the transmission paths 10 to 10k is detected. be able to.

Abstract

 伝送装置(10)は、複数の経路を介してデータを送信する。また、伝送装置(10)は、対向装置の動作クロックと、自身の動作クロックとを比較し、どちらの動作クロックが速いかを判別する。また、伝送装置(10)は、伝送装置(10b)の動作クロックが速いと判別した場合には、所定のデータ長よりも短い第2の誤差吸収データを各経路を介して送信するデータに格納する。また、伝送装置(10)は、自身の動作クロックが速いと判別した場合には、所定のデータ長よりも長い第3の誤差吸収データを各経路を介して送信するデータに挿入する。

Description

伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法
 本発明は、伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法に関する。
 従来、複数の経路を介してデータの送受信を行う伝送装置の技術が知られている。このような伝送装置の一例として、対向する伝送装置との間を複数の経路で接続し、複数の経路をリンクさせてデータを送受信するPCIe(Peripheral Component Interconnect express)の技術が知られている。
 このようなPCIeの技術が適用された伝送装置においては、データの送受信を行うポートごとにそれぞれ異なるクロックで動作するため、送信側のポートが動作するクロック周波数と、受信側のポートが動作するクロック周波数との間に誤差が存在する。このような誤差が存在する場合には、送受信するデータの欠損や重複読出しが発生するので、送信側の伝送装置は、以下の処理を実行する。
 すなわち、送信側の伝送装置は、SKP(Skip) Orderd Set(以下、スキップオーダードセットと記載する)と呼ばれる固定長のデータを定期的に生成し、各経路を介して送信するデータに対して同時に挿入する。具体的には、送信側の伝送装置は、1つの「C(COM)」シンボルと3つの「S(SKIP)」シンボルとを有する4シンボル長のスキップオーダードセットを挿入する。そして、送信側の伝送装置は、スキップオーダードセットを挿入したデータを対向する伝送装置へ送信する。
 一方、受信側の伝送装置は、受信したデータを格納する複数のエラスティックバッファを伝送経路ごとに有し、送信側の伝送装置から受信したデータを各エラスティックバッファに格納する。また、受信側の伝送装置は、各エラスティックバッファに格納されたデータの読出しを行う場合には、クロック周波数の誤差による各エラスティックバッファのオーバーフローやアンダーフローを防止するため、以下の処理を各エラスティックバッファごとに独立して実行する。
 すなわち、受信側の伝送装置は、エラスティックバッファに格納されているデータ量が所定の閾値よりも多い場合には、データに挿入されたスキップオーダードセットが有する「S」シンボルの一部を削除する。また、受信側の伝送装置は、エラスティックバッファに格納されているデータ量が所定の閾値よりも少ない場合には、データに挿入されたスキップオーダードセットが有する「S」シンボルの一部を2度読み出すことにより、スキップオーダードセットの一部を追加する。
特開2006-202281号公報 特開2006-060507号公報
 しかしながら、上述した固定長のスキップシンボルを全レーンに対して定期的に挿入する技術では、エラスティックバッファごとに独立して「S」シンボルの削除や追加を行う。このため、各エラスティックバッファから読み出したデータの先頭を合わせるデスキュー処理の論理が複雑になる。
 すなわち、受信側の伝送装置は、各エラスティックバッファごとに独立して「S」シンボルの追加又は削除を行うので、検出されたスキップオーダードセットの「C」シンボルの位置をそろえるだけでは、各データのデスキュー処理を行うことができない。そこで、受信側の伝送装置は、各データに挿入されたスキップオーダードセットを検出し、検出されたスキップオーダードセットの「C」シンボルの位置をそろえる。そして、受信側の伝送装置は、各データに挿入されたスキップオーダードセットのシンボル長を比較し、スキップオーダードセットの一部を削除、または追加することで、各スキップオーダードセットのシンボル長をそろえる合わせ込み処理を行う。
 以下、図面を用いて、このような伝送装置が実行処理の一例を説明する。図22は、従来の伝送装置の一例を説明するための図である。図22に示す例では、送信側の伝送装置50と受信側の伝送装置51とは、それぞれ8つのポート#1~#8を有し、8本のシリアル伝送路#1~#8をリンクさせて、データの送受信を行うものとする。
 また、各シリアル伝送路#1~#8を介して送信されるデータをデータ#1~#8とする。また、伝送装置51は、各シリアル伝送路#1~#8を介して受信したデータ#1~#8を格納するエラスティックバッファ(以下、ESと記載する)#1~#8を有するものとする。
 図22中(A)に示すように、伝送装置50は、スキップオーダードセットを挿入したデータ#1~#8を、SerDes(SERializer/DESerializer)からそれぞれ異なるシリアル伝送路#1~#8を介して、伝送装置51へ送信する。ここで、伝送装置50は、図23中(e)に示すように、所定の時間間隔でスキップオーダードセットの挿入指示であるSKP Ins指示を生成する。そして、伝送装置50は、図23中(f)、(g)に示すように、SKP Ins直後のデータの区切りに対して、全データ#1~#8同時にスキップオーダードセットを挿入する。なお、図23は、従来のスキップオーダードセットの挿入処理を説明するための図である。
 すると、図22中(B)に示すように、伝送装置51は、スキップオーダードセットが挿入されたデータ#1~#8をそれぞれ異なるタイミングで受信し、受信した各データ#1~#8をそれぞれ異なるES#1~#8に格納する。そして、伝送装置51は、各ES#1~#8からデータ#1~#8を読み出す場合には、以下の処理を実行する。
 すなわち、伝送装置51は、図22中(C)に示すように、各ES#1~#8に格納されたデータの量に応じて、各データ#1~#8に挿入されたスキップオーダードセットの一部を削除、又は追加する。その後、伝送装置51は、読み出されたデータ#2~#8に挿入されたスキップオーダードセットの先頭位置をデータ#1のスキップオーダードセットの位置に合わせるとともに、各データ#2~#8に挿入されたスキップオーダードセットの長さをデータ#1のスキップオーダードセットの長さとそろえる。
 具体的には、図22中(D)に示す例では、伝送装置51は、データ#2、#8に挿入されたスキップオーダードセットを検出し、検出したスキップオーダードセットのシンボル長とデータ#1に挿入されたスキップオーダードセットのシンボル長とを比較する。そして、伝送装置51は、データ#2に挿入されたスキップオーダードセットがデータ#1に挿入されたスキップオーダードセットよりも短いと判別し、データ#8に挿入されたスキップオーダードセットがデータ#1に挿入されたスキップオーダードセットよりも長いと判別する。そして、伝送装置51は、データ#2に挿入されたスキップオーダードセットの一部を2回読み出すことで複製し、データ#8に挿入されたスキップオーダードセットの一部を削除することで、各データ#1、#2、#8に挿入されたスキップオーダードセットと同じ長さにする。
 ここで、図24は、従来のデスキュー処理の一例を説明するための図(1)である。例えば、図24中(h)に示すように、伝送装置51は、データ#8のスキップシンボルを削除する。すると、図24中(i)に示すように、スキップオーダードセットの「COM」シンボルを合わせた際に、データの先頭がずれるので、伝送装置51は、図24中(j)に示すように、デスキュー処理を行う際にスキップシンボルを追加する。
 また、図25は、従来のデスキュー処理の一例を説明するための図(2)である。例えば、図25中(k)に示すように、伝送装置51は、データ#8のスキップシンボルを追加する。すると、図24中(l)に示すように、スキップオーダードセットの「COM」シンボルを合わせた際に、データの先頭がずれるので、伝送装置51は、図24中(m)に示すように、デスキュー処理を行う際にスキップシンボルを削除する。
 このように、受信側の伝送装置は、複雑なデスキュー処理を行うため、処理遅延を大きくしてしまう。また、受信側の遅延装置は、スキップシンボルの追加や削除を行うためのデータバッファを各レーンに設置するので、回路規模が大きくなってしまう。
 本願に開示の技術は、上述した問題に鑑みてなされたものであって、デスキュー処理の論理を単純化する。
 1つの側面では、受信したデータをバッファに格納し、当該バッファに格納したデータを読み出す対向装置に対してデータを送信する伝送装置である。このような伝送装置は、対向装置に対してそれぞれ異なる経路でデータを送信する。また、伝送装置は、対向装置の動作クロックと、自身の動作クロックとを比較し、どちらの動作クロックが速いかを判別する。また、伝送装置は、対向装置の動作クロックと自身の動作クロックとが同じであると判別した場合には、所定のデータ長を有する第1の誤差吸収データを送信するデータに挿入する。また、伝送装置は、対向装置の動作クロックが速いと判別した場合には、所定のデータ長よりも短い第2の誤差吸収データを送信するデータに挿入する。また、伝送装置は、自身の動作クロックが速いと判別した場合には、所定のデータ長よりも長い第3の誤差吸収データを送信するデータに挿入する。
 1つの側面では、受信側の伝送装置によるデスキュー処理の論理を容易にする。
図1は、実施例1に係る情報処理システムの一例を説明するための図である。 図2は、実施例1に係る伝送装置の一例を説明するための図である。 図3は、実施例1に係るスキップ挿入部を説明するための図である。 図4は、動作クロックに違いが無い場合に挿入するスキップオーダードセットを説明するための図である。 図5は、送信側の動作クロックが速い場合に挿入するスキップオーダードセットを説明するための図である。 図6は、受信側の動作クロックが速い場合に挿入するスキップオーダードセットを説明するための図である。 図7は、実施例1に係るスリップ検出部が実行する処理の流れを説明するための図である。 図8は、実施例1に係るスリップ検出部が計数する値を説明するための図である。 図9は、実施例1に係るスリップ検出部が実行する判別処理の一例を説明するための図である。 図10は、実施例1に係るエラスティックバッファの一例を説明するための図である。 図11aは、動作クロックに差がない場合に送信されたスキップオーダードセットの処理の流れを説明するための図である。 図11bは、送信側の動作クロックが受信側の動作クロックよりも速い場合に挿入されるスキップオーダードセットの処理の流れを説明するための図である。 図11cは、受信側の動作クロックが送信側の動作クロックよりも速い場合に挿入されるスキップオーダードセットの処理の流れを説明するための図である。 図12は、実施例1に係る伝送装置がスキップオーダードセットを挿入する処理を説明するための図である。 図13は、実施例1に係る受信側の伝送装置によるスキップオーダードセットの処理を説明するための図である。 図14は、実施例2に係る伝送装置の動作クロックが送信先の動作クロックよりも速い場合に挿入されるスキップオーダードセットの一例を説明するための図である。 図15は、実施例2に係る伝送装置の動作クロックが送信先の動作クロックよりも遅い場合に挿入されるスキップオーダードセットの一例を説明するための図である。 図16aは、実施例2に係る送信側の伝送装置の動作クロックが受信側の伝送装置の動作クロックよりも速い場合に挿入されるスキップシンボルの一例を説明するための図である。 図16bは、実施例2に係る受信側の伝送装置の動作クロックが送信側の伝送装置の動作クロックよりも速い場合に挿入されるスキップシンボルの一例を説明するための図である。 図17は、実施例3に係る伝送装置の動作クロックが送信先の動作クロックよりも速い場合に挿入されるスキップオーダードセットの一例を説明するための図である。 図18は、実施例3に係る伝送装置の動作クロックが送信先の動作クロックよりも遅い場合に挿入されるスキップオーダードセットの一例を説明するための図である。 図19aは、実施例3に係る送信側および受信側の伝送装置がスキップシンボルをどのように処理するかを説明するための図(1)である。 図19bは、実施例3に係る送信側および受信側の伝送装置がスキップシンボルをどのように処理するかを説明するための図(2)である。 図19cは、実施例3に係る送信側および受信側の伝送装置がスキップシンボルをどのように処理するかを説明するための図(3)である。 図20は、実施例3に係る受信側の伝送装置が実行する処理の流れを説明する図である。 図21は、実施例3に係る送信側の伝送装置が実行する処理の流れを説明するための図である。 図22は、従来の伝送装置の一例を説明するための図である。 図23は、従来のスキップオーダードセットの挿入処理を説明するための図である。 図24は、従来のデスキュー処理の一例を説明するための図(1)である。 図25は、従来のデスキュー処理の一例を説明するための図(2)である。
 以下に添付図面を参照して本願に係る伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法について説明する。
 以下の実施例1では、図1を用いて、伝送装置を有する情報処理システムの一例を説明する。図1は、実施例1に係る情報処理システムの一例を説明するための図である。
 図1に示すように、情報処理システム1は、CPU(Central Processing Unit)2、データ伝送装置3、メモリ4、スイッチ5、入出力デバイス6~6bを有する。ここで、データ伝送装置3とは、PCI Express(PCIe)規格に準拠したRoot Complex等のデータ伝送装置である。入出力デバイス6~6bとは、いわゆる終端ポイント(End Point)である。
 また、データ伝送装置3は、伝送装置10、10aを有し、スイッチ5は、伝送装置10b~10dを有し、入出力デバイス6~6bは、それぞれ伝送装置10e~10gを有する。また、データ伝送装置3は、伝送装置10、10bを介してスイッチ5と接続され、伝送装置10aおよび10eを介して入出力デバイス6と接続される。また、スイッチ5は、伝送装置10c、10fを介して入出力デバイス6bと接続され、伝送装置10d、10gを介して入出力デバイス6aと接続される。
 各伝送装置10~10gは、8本のシリアルリンクで接続され、PCIe規格に準拠したプロトコルでデータの送受信を行う。また、各伝送装置10~10gは、8本のシリアルリンクをリンクさせてデータの送受信を行う。なお、伝送装置10a~10gは、伝送装置10と同様の機能を発揮するものとして、以下の説明を省略する。
 以下、図面を用いて、伝送装置10の一例について説明する。なお、以下の説明においては、伝送装置10と伝送装置10bとがデータの送受信を行う例について説明するものとする。また、伝送装置10が伝送装置10bへ送信する複数のデータを送信データ#1~#8とし、伝送装置10が伝送装置10bから受信した複数のデータを受信データ#1~#8とする。
 図2は、実施例1に係る伝送装置の一例を説明するための図である。図2に示す例では、伝送装置10は、データの送受信を要求する上位層11、MAC(Media Access Control)層の処理を行うMAC部20を有する。また、伝送装置10は、データの符号化を行うPCS(Physical Coding Sublayer)部30、データの送受信を行うSerDes(SERializer/DESerializer)40を有する。
 MAC部20は、スキップ挿入部21、スクランブラ23、スリップ検出部22、デスキュー24、デスクランブラ25、制御部26を有する。またPCS部30は、8つのPCSレイヤ30a~30hを有する。PCSレイヤ30aは、エンコーダ31、ループバック部32、転極部33、アライン34、エラスティックバッファ35、デコーダ36、受信ステータス判定部37を有する。なお、各PCSレイヤ30a~30hは、同様の処理を実行するものとし、PCSレイヤ30a以外のPCSレイヤ30b~30hについては、以下の説明を省略する。
 スキップ挿入部21は、上位層11から、伝送装置10bに対して送信する送信データ#1~#8を受信する。また、スキップ挿入部21は、受信したデータに伝送装置10と伝送装置10bとの誤差を吸収するためのスキップシンボルを挿入する。そして、スキップ挿入部21は、スキップシンボルを挿入したデータをスクランブラ23に送信する。
 ここで、スキップ挿入部21がデータにスキップシンボルを挿入する処理について具体的に説明する。図3は、実施例1に係るスキップ挿入部を説明するための図である。図3に示す例では、スキップ挿入部21は、複数のバッファ21a~21h、生成部21i、制御部21k、スキップ挿入セレクタ21jを有する。
 各バッファ21a~21hは、いわゆるFIFO(First In, First Out)であり、上位層21から、それぞれ送信データ#1~#8を受信する。そして、各バッファ21a~21hは、受信した送信データ#1~#8をスキップ挿入セレクタ21jに送信する。生成部21iは、伝送装置10の動作クロックの周波数と伝送装置10bの動作クロックの周波数とに基づいて、各送信データ#1~#8に格納するスキップシンボルを生成する。
 具体的には、生成部21iは、スリップ検出部22から、伝送装置10の動作クロックが速い旨の通知、または、伝送装置10bの動作クロックが速い旨の通知、又は、動作クロックに違いが無い旨の通知を受信する。そして、生成部21iは、スリップ検出部22から各通知を受信した場合には、以下の処理を実行する。以下、図4~図6を用いて説明する。
 図4は、動作クロックに違いが無い場合に挿入するスキップオーダードセットを説明するための図である。生成部21iは、動作クロックに違いが無い旨の通知をスリップ検出部22から受信した場合には、以下の処理を実行する。すなわち、生成部21iは、図4に示すように、1つの「COM」シンボルと3つの「SKP(Skip)」シンボルとを有するスキップオーダードセットを生成し、生成したスキップオーダードセットをスキップ挿入セレクタ21jに送信する。
 図5は、送信側の動作クロックが速い場合に挿入するスキップオーダードセットを説明するための図である。生成部21iは、スリップ検出部22から、伝送装置10の動作クロックが速い旨の通知を受信した場合には、図5に示すように、1つの「COM」シンボルと4つの「SKP」シンボルとを有するスキップオーダードセットを生成する。つまり、生成部21iは、伝送装置10の動作クロックが伝送装置10bの動作クロックよりも速い場合には、図4に示すスキップオーダードセットよりも長いスキップオーダードセットを生成する。そして、生成部21iは、生成したスキップオーダードセットをスキップ挿入セレクタ21jへ送信する。
 図6は、受信側の動作クロックが速い場合に挿入するスキップオーダードセットを説明するための図である。生成部21iは、スリップ検出部22から、伝送装置10bの動作クロックが速い旨の通知を受信した場合には、図6に示すように、1つの「COM」シンボルと2つの「SKP」シンボルとを有するスキップオーダードセットを生成する。つまり、生成部21iは、伝送装置10bの動作クロックが伝送装置10の動作クロックよりも速い場合には、図4に示すスキップオーダードセットよりも短いスキップオーダードセットを生成する。そして、生成部21iは、生成したスキップオーダードセットをスキップ挿入セレクタ21jへ送信する。
 図3に戻って、スキップ挿入セレクタ21jは、各バッファ21a~21hから送信データ#1~#8を受信する。そして、スキップ挿入セレクタ21jは、受信した送信データ#1~#8をそれぞれ異なる経路を介してスクランブラ23に送信する。また、スキップ挿入セレクタ21jは、制御部21kから経路を切替える旨の通知を受付けた場合には、生成部21iが生成したスキップオーダードセットを受信し、受信したスキップオーダードセットを各経路を介してスクランブラ23に送信する。
 その後、スキップ挿入セレクタ21jは、制御部21kから再度経路を切替える旨の通知を受付けた場合には、再度バッファ21a~21hから受信した送信データをスクランブラ23に送信する。つまり、スキップ挿入セレクタ21jは、各バッファ21a~21hとの経路と、生成部21iとの経路を切替えることによって、各送信データ#1~#8と、生成部21iが生成したスキップオーダードセットを挿入する。
 制御部21kは、スキップ挿入セレクタ21jの制御を行う。具体的には、制御部21kは、一定期間ごとに、スキップオーダードセットを挿入するタイミングを示すSKP Ins指示を生成し、生成したSKP Ins指示をスリップ検出部22に送信する。また、制御部21kは、スリップ検出部22から伝送装置10の動作クロックが速い旨の通知、または、伝送装置10bの動作クロックが速い旨の通知、又は、動作クロックに違いが無い旨の通知を受信する。
 そして、制御部21kは、動作クロックに違いが無い旨の通知を受信した場合には、SKP Ins指示を生成したタイミングで、以下の処理を実行する。すなわち、制御部21kは、経路を切替える旨の通知をスキップ挿入セレクタ21jに送信し、生成部21iが4つのシンボル長を有するスキップオーダードセットを送信する時間が経過した後に、再度経路を切替える旨の通知をスキップ挿入セレクタ21jに送信する。
 また、制御部21kは、伝送装置10の動作クロックが速い旨の通知を受信した場合には、SKP Ins指示を生成したタイミングで、以下の処理を実行する。すなわち、制御部21kは、経路を切替える旨の通知をスキップ挿入セレクタ21jに送信し、生成部21iが5つのシンボル長を有するスキップオーダードセットを送信する時間が経過した後に、再度経路を切替える旨の通知をスキップ挿入セレクタ21jに送信する。
 また、制御部21kは、伝送装置10bの動作クロックが速い旨の通知を受信した場合には、SKP Ins指示を生成したタイミングで、以下の処理を実行する。すなわち、制御部21kは、経路を切替える旨の通知をスキップ挿入セレクタ21jに送信し、生成部21iが3つのシンボル長を有するスキップオーダードセットを送信する時間が経過した後に、再度経路を切替える旨の通知をスキップ挿入セレクタ21jに送信する。
 図2に戻って、スリップ検出部22は、伝送装置10の動作クロックと伝送装置10bの動作クロックとを比較し、どちらの動作クロックが速いかを判別する。つまり、スリップ検出部22は、送信側の伝送装置10と受信側の伝送装置10bとの動作クロックに生じた誤差であるスリップの検出を行う。具体的には、スリップ検出部22は、後述するSerDes40から伝送装置10bの動作クロックであるリカバリクロックを取得する。そして、スリップ検出部22は、リカバリクロックと伝送装置10の動作クロックとを比較する。
 以下、スリップ検出部22がリカバリクロックと伝送装置10の動作クロックとを比較する処理の一例について説明する。図7は、実施例1に係るスリップ検出部が実行する処理の流れを説明するための図である。図7に示す例では、スリップ検出部22は、グレーコードカウンタ22a、22b、D型フリップフロップ22c、シフトレジスタ22d、比較部22eを有する。
 グレーコードカウンタ22aは、SerDes40からリカバリクロックを受信する。そして、グレーコードカウンタ22aは、受信したリカバリクロックのアップエッジを周期的にカウントする。例えば、グレーコードカウンタ22aは、リカバリクロックのアップエッジが入力されるたびに「00(0)」、「01(1)」、「11(2)」、「10(3)」、「00(0)」というように「0」~「3」までの値を周期的にカウントする。そして、グレーコードカウンタ22aは、カウントした値をフリップフロップ22cのD端子に入力する。
 グレーコードカウンタ22bは、伝送装置10の動作クロックであるシステムクロックを受信する。そして、グレーコードカウンタ22bは、受信したシステムクロックのアップエッジを周期的に計数する。例えば、グレーコードカウンタ22bは、システムクロックのアップエッジが入力されるたびに「00(0)」、「01(1)」、「11(2)」、「10(3)」、「00(0)」というように「0」~「3」までの値を周期的にカウントする。そして、グレーコードカウンタ22bは、カウントした値が「0」の時に、チェックタイミングを示す信号をフリップフロップ22cのC端子に入力する。
 フリップフロップ22cは、システムクロックのアップエッジに合わせて以下のように動作する。すなわち、フリップフロップ22cは、C端子に入力された値が「0」から「1」に遷移するタイミングで、D端子に入力された値を保持し、保持した値をシフトレジスタ22dに出力する。
 ここで、図8を用いて、フリップフロップ22cが出力する値について説明する。図8は、実施例1に係るスリップ検出部が計数する値を説明するための図である。図8に示す例では、伝送装置10のシステムクロックの波形、グレーコードカウンタ22bが計数した値(システムクロックカウンタ:SCNT)、グレーコードカウンタ22bが出力するチェックタイミングを示す信号を示す。また、図8には、リカバリクロックの波形、グレーコードカウンタ22aが計数した値(リカバリクロックカウンタ:RCNT)、フリップフロップ22cが出力するRCNTの値を示す。
 図8に示すように、グレーコードカウンタ22bは、SCNTが「0」の時に「High」となる信号をフリップフロップ22cに入力する。また、グレーコードカウンタ22aは、リカバリクロックに合わせて、RCNTを計数し、フリップフロップ22cに入力する。
 そして、フリップフロップ22cは、チェックタイミングが「High」から「Low」へと遷移するダウンエッジのタイミングで、グレーコードカウンタ22aの出力、すなわちRCNTを保持する。なお、図8に示す例では、フリップフロップ22cが保持するRCNT値は、「1」、「1」、「1」、「1」、「2」、「2」、「2」、「2」と遷移する。すなわち、図8に示す例は、伝送装置10bの動作クロックが伝送装置10の動作クロックよりも速いため、定期的に測定するRCNTの値が時間と共に増加方向にずれている例である。
 図7に戻って、シフトレジスタ22dは、フリップフロップ22cの出力を2回分保持するレジスタである。具体的には、シフトレジスタ22dは、制御部21kからSKP Ins指示を受信した場合には、以下の処理を実行する。すなわち、シフトレジスタ22dは、システムクロックのアップエッジに合わせて、フリップフロップ22cの出力を記憶する。また、シフトレジスタ22dは、前々回に記憶したフリップフロップ22cの出力を消去する。そして、シフトレジスタ22dは、記憶したフリップフロップ22cの出力、すなわち、フリップフロップ22cが今回出力した値とフリップフロップ22cが前回出力した値とを比較部22eに出力する。
 比較部22eは、シフトレジスタ22dから、フリップフロップ22cが前回出力した値と今回出力した値とを受信する。そして、比較部22eは、フリップフロップ22cが今回出力した値と前回出力した値とを比較し、今回出力した値が前回出力した値よりも大きいか否かを判別する。そして、比較部22eは、フリップフロップ22cが今回出力した値が大きいと判別した場合には、伝送装置10bの動作クロックが速い旨の通知をスキップ挿入部21へ送信する。
 また、比較部22eは、フリップフロップ22cが前回出力した値が大きいと判別した場合には、伝送装置10の動作クロックが速い旨の通知をスキップ挿入部21へ送信する。また、比較部22eは、フリップフロップ22cが今回出力した値と前回出力した値とが同じ場合には、動作クロックに違いがない旨の通知をスキップ挿入部21へ送信する。
 ここで、図9を用いて、シフトレジスタ22dが記憶する値および比較部22eが実行する判別処理の一例を説明する。図9は、実施例1に係るスリップ検出部が実行する判別処理の一例を説明するための図である。図9に示す例では、SKP Ins指示のタイミングと、シフトレジスタ22dの出力、すなわち、前回のRCNTの値と今回のRCNTの値と、比較部22eによる判別結果とを示す。
 図9に示す例では、SKP Ins指示に合わせて、シフトレジスタ22dが今回のRCNT値と前回のRCNT値とを出力する。なお、図9に示す例では、シフトレジスタ22dが出力する値を「今回のRCNT値、前回のRCNT値」というように記載すると、以下のようになる。すなわち、シフトレジスタ22dが出力する値は、「1、null」、「2、1」、「2、2」、「3、2」、「3、3」、「0、3」、「1、0」、「1、1」、「2、1」と遷移する。なお、「null」は、空欄を表す。
 このため、比較部22eは、前回のRCNT値に対する今回のRCNT値の増減を「null」、「+1」、「±0」、「+1」、「±0」、「+1」、「+1」、「±0」、「+1」と判別する。そして、比較部22eは、前回のRCNT値に対する今回のRCNT値の増減が正の値である際、つまり図9に示す例では「+1」である際に、伝送装置10bの動作クロックが速い旨の通知を出力する。
 また、比較部22eは、前回のRCNT値と今回のRCNT値が同じ、つまり図9に示す例では「±0」である際に、動作クロックが変わらない旨の通知を出力する。また、図9には記載されていないが、前回のRCNT値に対して今回のRCNT値の増減が負の値(例えば「-1」)である際には、伝送装置10の動作クロックが速い旨の通知を出力する。
 PCIeの規格では、動作クロックの誤差が「±300ppm」以内に収まるよう定められている。このため、送信側のクロック誤差が「-300ppm」であり、受信側のクロック誤差が「300ppm」であった場合には、双方で「600ppm」の誤差が存在することとなる。「600ppm」の誤差が存在する場合には、動作クロックが約1666周期するたびに1回のスリップが発生することとなる。スリップの発生によって、送信側の伝送装置の動作クロックが速い場合には、受信側の伝送装置においてデータの欠落が発生し、受信側の伝送装置の動作クロックが速い場合には、受信側の伝送装置においてデータの重複が発生する。
 このようなスリップが発生した際のデータ欠落および重複を回避するため、伝送装置10は、スキップオーダードセットによる誤差吸収処理を行う。ここで、伝送装置10は、スキップオーダードセットによる誤差吸収処理を行う場合には、送信側と受信側のどちらの動作クロックが速いかというスリップの方向とスリップの発生度合いを識別する必要がある。このため、伝送装置10は、スリップ検出部22を用いて、スリップの方向とスリップの発生度合いを検出する。
 図2に戻って、スクランブラ23は、スクランブル処理を実行する。具体的には、スクランブラ23は、スキップ挿入部21によってスキップオーダードセットが挿入された各送信データ#1~#8に対して、スクランブル処理を実行する。そして、スクランブラ23は、スクランブル処理を施した各送信データ#1~#8をエンコーダ31に送信する。具体的には、スクランブラ23は、各送信データ#1~#8を、それぞれ異なるPCSレイヤ30a~30hのエンコーダに送信する。
 デスキュー部24は、PCS部30から受信したデータのデスキュー処理を行う。具体的には、デスキュー部24は、PCS部30から複数の受信データ#1~#8を受信する。そしてデスキュー部24は、伝送遅延誤差による伝送経路間のスキューや、後述するエラスティックバッファ35での処理タイミングの差による遅延誤差を吸収するデスキュー処理を実行する。
 具体的には、デスキュー部24は、受信した受信データ#1~#8に挿入されたスキップオーダードセットを検出する。そして、デスキュー部24は、各受信データ#1~#8に挿入されたスキップオーダードセットのうち、「COM」シンボルの位置をそろえる。例えば、デスキュー部24は、各受信データ#1~#8の「COM」シンボルを検出する。
 そして、デスキュー部24は、受信データ#8の「COM」シンボルの位置が他の受信データ#1~#7の「COM」シンボルの位置よりも1シンボル分遅い場合には、各受信データ#1~#7の出力を1シンボル分遅延させる。そして、デスキュー部24は、デスキュー処理を行った各受信データ#1~#8をデスクランブラ25へ送信する。
 デスクランブラ25は、デスキュー部24から受信データ#1~#8を受信した場合には、受信した各受信データ#1~#8のデスクランブル処理を行う。そして、デスクランブラ25は、デスクランブル済みの受信データ#1~#8を上位層11へ送信する。
 制御部26は、PCS部30が有する受信ステータス判定部37から受信データ#1に関する受信ステータスを取得する。そして、制御部26は、取得した受信ステータスに基づいて、正しく受信データ#1が受信できているかを判別し、受信できていないと判別した場合には、転極部33に、極性反転指示を送信する。なお、制御部26は、PCS部30が有する各PCSレイヤ30a~30hが有する各受信ステータス判定部から、各受信データ#1~#8の受信ステータスを受信しており、各PCSレイヤ30a~30hが有する転極部ごとに独立して極性反転指示を送信する。
 続いて、PCS部30が有する各部およびSerDes40が実行する処理について説明する。エンコーダ31は、スクランブラ23から受信したデータを8bitのデータから10bitのデータにエンコードする。これは、SerDes40がクロック・データ・リカバリ(Clock Data Recovery、CDR)等の技術を用いて、伝送装置10bの動作クロックを取得するために行われる。その後、エンコーダ31は、10bitにエンコードしたデータをループバック部32へ送信する。
 ループバック部32は、伝送装置10bに対して送信するデータを選択する選択部である。すなわち、ループバック部32には、送信データ#1の他に、伝送装置10bから受信したデータが入力される。そして、ループバック部32は、ループバックを行わない場合には、エンコーダ31によって10bitのデータにエンコードされた送信データ#1をSerDes40に送信する。
 また、ループバック部32は、ループバックを行う指示を受けた場合には、後述するエラスティックバッファ35から読み出されたデータ、つまり、伝送装置10bからシリアルリンクを介して受信したデータをSerDes40へ送信する。なお、ループバック部32がループバック処理を実行するか否かは、任意の方法で設定することができる。また、以下の説明においては、伝送装置10bからシリアルリンクを介して受信したデータを受信データ#1~#8とする。
 なお、上述した説明においては、PCSレイヤ30aが有するエンコーダ31およびループバック部32が実行する処理について説明したが、他のPCSレイヤ30b~30hが有するエンコーダおよびループバック部も、同様の処理を実行するものとする。
 SerDes40は、PCS部30が有する各PCSレイヤ30a~30hから送信データ#1~#8、または、伝送装置10bへループバックする受信データ#1~#8を受信する。そして、SerDes40は、受信した送信データ#1~#8または、受信データ#1~#8を、それぞれシリアルデータに変換し、変換後のシリアルデータをそれぞれ異なる経路を介して、伝送装置10bへ送信する。
 また、SerDes40は、伝送装置10bから受信データ#1~#8を受信する。そして、SerDes40は、受信データ#1~#8を、各PCSレイヤ30a~30hの転極部に送信する。また、SerDes40は、伝送装置10bから受信データ#1~#8を受信する際に、クロック・データ・リカバリ(Clock Data Recovery、CDR)等の技術を用いて伝送装置10bの動作クロックを取得する。
 そして、SerDes40は、取得した動作クロックをリカバリクロックとして、各PCSレイヤ30a~30hが有する転極部、アライン、エラスティックバッファ、およびMAC部20が有するスリップ検出部22へ送信する。例えば、SerDes40は、リカバリクロックを、PCSレイヤ30aが有する転極部33、アライン34、エラスティックバッファ35、スリップ検出部22へ送信する。
 転極部33は、リカバリクロックに合わせて動作する極性反転装置であり、制御部26から極性反転指示を受信した場合には、SerDes40から受信した受信データ#1の極性を反転させる。そして、転極部33は、受信データ#1をアライン34に送信する。
 アライン34は、リカバリクロックに合わせて、シンボル同期を確立させる処理を行う。すなわち、アライン34は、転極部33から受信した受信データ#1をエラスティックバッファ35に格納するため、エラスティックバッファ35に格納するデータのデータ幅に受信データ#1のデータ幅をそろえる。そして、アライン34は、データ幅をそろえた受信データ#1をエラスティックバッファ35に送信する。
 エラスティックバッファ35は、伝送装置10bと伝送装置10とのクロック乗せ換え用のバッファである。すなわち、エラスティックバッファ35は、伝送装置10と伝送装置10bとの動作クロックの誤差を吸収するために用いられるバッファである。具体的には、伝送装置10は、伝送装置10bの動作クロックに合わせて受信データ#1~#8を受信するので、一度受信データ#1~#8をエラスティックバッファ35に格納する。そして、伝送装置10は、エラスティックバッファ35に格納した受信データ#1~#8を自身の動作クロックで読み出すことで、クロックの乗せ換えを行う。
 また、エラスティックバッファ35は、受信データ#1を記憶する際、および、記憶した受信データ#1を読み出す際に、各受信データ#1に挿入されたスキップオーダードセットを検出する。そして、エラスティックバッファ35は、シンボル長が4つ以上のスキップオーダードセットを検出した場合には、検出したスキップオーダードセットのシンボル長を4つに修正し、スキップオーダードセットを修正した受信データ#1を記憶する。
 また、エラスティックバッファ35は、記憶した受信データ#1を読み出す際に、シンボル長が4つ以下のスキップオーダードセットを検出する。そして、エラスティックバッファ35は、検出したスキップオーダードセットのシンボル長を4つに修正し、スキップオーダードセットを修正した受信データ#1をデコーダ36へ送信する。
 具体的には、エラスティックバッファ35は、受信データ#1を記憶する際に、1つの「COM」シンボルと4つの「SKIP」シンボルとを有するスキップオーダードセットを検出した場合には、「SKIP」シンボルを1つ削除する。そして、エラスティックバッファ35は、1つの「COM」シンボルと3つの「SKIP」シンボルとを有するスキップオーダードセットが挿入された受信データ#1を記憶する。
 また、エラスティックバッファ35は、受信データ#1の読出しの際に、1つの「COM」シンボルと2つの「SKIP」シンボルとを有するスキップオーダードセットを検出した場合には、「SKIP」シンボルを2度読みすることで複製する。そして、エラスティックバッファ35は、1つの「COM」シンボルと3つの「SKIP」シンボルとを有するスキップオーダードセットが挿入された受信データ#1をデコーダ36に送信する。
 このように、エラスティックバッファ35は、受信データ#1を記憶する際にシンボル長が4以上のスキップオーダードセットを検出した場合には、検出したスキップオーダードセットをシンボル長4のスキップオーダードセットに修正し、その後、受信データ#1を記憶する。また、エラスティックバッファ35は、受信データ#1の読出しを行う際に、シンボル長が4以下のスキップオーダードセットを検出した場合には、検出したスキップオーダードセットの「SKIP」シンボルを2度読みすることにより、シンボル長4のスキップオーダードセットに修正する。また、エラスティックバッファ35は、エラーの有無や、受信データ#1の書き込みおよび読み出し処理の内容を、受信ステータス判定部37に送信する。
 デコーダ36は、エラスティックバッファ35から読み出された受信データ#1を10bitデータから8bitデータへのデコードを行う。そして、デコーダ36はデコード済みの受信データ#1をMAC部20のデスキュー部24へ送信する。また、デコーダ36は、デコード処理におけるエラーの有無を受信ステータス判定部37に送信する。
 受信ステータス判定部37は、エラスティックバッファ35およびデコーダ36から受信したエラーの有無や受信データ#1の書き込みおよび読み出し処理の内容に応じて、受信データ#1を正常に受信できたか否かを判定する。そして、受信ステータス判定部37は、判定結果を受信ステータスとして、MAC部20の制御部26へ送信する。
 次に、図10を用いて、エラスティックバッファ35が実行する処理の一例について説明する。図10は、実施例1に係るエラスティックバッファの一例を説明するための図である。なお、図10に示す例では、PCSレイヤ30aが有するエラスティックバッファ35、デコーダ36、およびMAC部20が有するデスキュー部24の一例について説明する。
 図10に示す例では、エラスティックバッファ35は、クロック乗せ換え用データレジスタ35a、書き込み制御部35b、読み出し制御部35cを有する。クロック乗せ換え用データレジスタ35aは、アライン34から受信した受信データ#1を記憶するレジスタである。書き込み制御部35bは、SerDes40から受信したリカバリクロックに合わせて、クロック乗せ換え用データレジスタ35aへの受信データ#1の書き込みを制御する制御部である。
 ここで、書き込み制御部35bは、アライン34からクロック乗せ換え用データレジスタ35aに送信される受信データ#1を監視し、シンボル長が4つ以上のスキップオーダードセットを検出する。そして、書き込み制御部35bは、シンボル長が4つ以上のスキップオーダードセットを検出した場合には、最後のシンボル、つまり「SKIP」シンボルをクロック乗せ換え用データレジスタ35aに格納せずに破棄する。
 また、読み出し制御部35cは、伝送装置10のシステムクロックに合わせて、クロック乗せ換え用データレジスタ35aから受信データ#1の読み出しを制御する制御部である。具体的には、読み出し制御部35cは、クロック乗せ換え用データレジスタ35aから読み出される受信データ#1から、シンボル長が3つ以下のスキップオーダードセットを検出する。
 そして、読み出し制御部35cは、シンボル長が3つ以下のスキップオーダードセットを検出した場合には、検出したスキップオーダードセットの最後の「SKIP」シンボルを2度読みさせることによって、スキップオーダードセットのシンボル長を4つに修正する。次に、デコーダ36は、読み出し制御部35cによって読み出された受信データ#1を8bitにデコードし、デコード済みのデータをデスキュー部24に送信する。
 デスキュー部24は、遅延吸収用データレジスタ24aとデスキュー制御部24bとを有する。まず、遅延吸収用データレジスタ24aは、PSC部30から受信データ#1~#8を受信し、一時的に記憶する。次に、デスキュー制御部24bは、遅延吸収用データレジスタ24aに記憶された各受信データ#1~#8から「COM」シンボルを検出する。そして、デスキュー制御部24bは、検出した「COM」シンボルの位置をそろえて各受信データ#1~#8を出力する。
 例えば、デスキュー制御部24bは、各受信データ#1~#8の「COM」シンボルの位置を検出し、受信データ#2のスキップオーダードセットの「COM」シンボルが最も遅い位置に存在すると判別する。このような場合には、デスキュー制御部24bは、他の受信データ#1、#3~#8の出力タイミングを遅延させる。そして、デスキュー制御部24bは、受信データ#2のスキップオーダードセットの「COM」シンボルが出力されると同時に、他の受信データ#1、#3~#8の「COM」シンボルを出力させるように、遅延吸収用データレジスタ24aを制御する。
 例えば、スキップ挿入部21、スリップ検出部22、スクランブラ23、デスキュー部24、デスクランブラ25、制御部26、エンコーダ31、ループバック部32、転極部33、アライン34、デコーダ36、受信ステータス判定部37とは、電子回路である。ここで、電子回路の例として、ASIC(Application Specific Integrated Circuit)やFPGA (Field Programmable Gate Array)などの集積回路、またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などを適用する。
 また、エラスティックバッファ35とは、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ (flash memory)などの半導体メモリ素子と電子回路等との組み合わせによって実現される。
 次に、図11a~図11cを用いて、伝送装置10が挿入したスキップオーダードセットが伝送装置10bによってどのように処理されるかを説明する。なお、以下の説明においては、伝送装置10bは、伝送装置10と同様の処理を実行するものとする。
 まず、図11aを用いて、動作クロックに差が無い場合に送信されるシンボル長が4つのスキップオーダードセットがどのように処理されるかを説明する。図11aは、動作クロックに差がない場合に送信されたスキップオーダードセットの処理の流れを説明するための図である。なお、図11aには、挿入されるスキップオーダードセット、伝送装置10bが受信した際のスキップオーダードセット、伝送装置10bがエラスティックバッファに格納する際のスキップオーダードセット、伝送装置10bがエラスティックバッファから読み出す際のスキップオーダードセットを示す。
 図11aに示す例では、伝送装置10は、1つの「COM」シンボルと3つの「SKIP」シンボルとを有するスキップオーダードセットを送信データ#1~#8に挿入する。このような場合には、伝送装置10bは、各送信データ#1~#8に挿入されたスキップオーダードセットの修正を行わず、エラスティックバッファへの書き込み、および、読み出しを行う。
 次に、図11bを用いて、伝送装置10の動作クロックが伝送装置10bの動作クロックよりも速い場合に挿入されるシンボル長が5つのスキップオーダードセットがどのように処理されるかを説明する。図11bは、送信側の動作クロックが受信側の動作クロックよりも速い場合に挿入されるスキップオーダードセットの処理の流れを説明するための図である。図11bに示す例では、伝送装置10は、1つの「COM」シンボルと4つの「SKIP」シンボルとを有するスキップオーダードセットを各送信データ#1~#8に挿入する。
 このような場合には、伝送装置10bは、各送信データ#1~#8をエラスティックバッファに格納する際に、最後の「SKIP」シンボルを破棄することで、挿入されたスキップオーダードセットのシンボル長を4つに修正する。
 次に、図11cを用いて、伝送装置10bの動作クロックが伝送装置10の動作クロックよりも速い場合に挿入されるシンボル長が3つのスキップオーダードセットがどのように処理されるかを説明する。図11cは、受信側の動作クロックが送信側の動作クロックよりも速い場合に挿入されるスキップオーダードセットの処理の流れを説明するための図である。図11cに示す例では、伝送装置10は、1つの「COM」シンボルと2つの「SKIP」シンボルとを有するスキップオーダードセットを各送信データ#1~#8に挿入する。
 このような場合には、伝送装置10bは、各送信データ#1~#8をエラスティックバッファから読み出す際に、最後の「SKIP」シンボルを2度読みすることで複製し、挿入されたスキップオーダードセットのシンボル長を4つに修正する。
 このように、伝送装置10は、伝送装置10の動作クロックと伝送装置10bの動作クロックとが等しい場合には、通常のスキップオーダードセットとして、4シンボル長のスキップオーダードセットを送信データ#1~#8に挿入する。また、伝送装置10は、伝送装置10の動作クロックが伝送装置10bの動作クロックよりも速い場合には、通常のスキップオーダードセットよりも長い5シンボル長のスキップオーダードセットを送信データ#1~#8に挿入する。
 また、伝送装置10は、伝送装置10bの動作クロックが伝送装置10の動作クロックよりも速い場合には、通常のスキップオーダードセットよりも短い3シンボル長のスキップオーダードセットを送信データ#1~#8に挿入する。このため伝送装置10は、伝送装置10と伝送装置10bとの間のクロック誤差を吸収することができる。
 また、伝送装置10bは、スキップオーダードセットのシンボル長を、各送信データ#1~#8ごとに検出および比較して修正するのではなく、スキップオーダードセットのシンボル長を、通常のスキップオーダードセットと同じシンボル長に修正する。このため、伝送装置10は、容易にスキップオーダードセットのシンボル長を修正することができる結果、デスキュー処理を行う際の論理を容易にすることができる。
 また、伝送装置10は、伝送装置10bがデスキュー処理を行う際にスキップオーダードセットのシンボル長を修正する処理を不要とする結果、シンボル長を修正するためのデータレジスタを不要とする。この結果、伝送装置10は、デスキュー処理を行うための回路規模を減少させることができる。
 次に、図12を用いて、伝送装置10がスキップオーダードセットを挿入する処理の流れについて説明する。図12は、実施例1に係る伝送装置がスキップオーダードセットを挿入する処理を説明するための図である。なお、図12に示す例では、上位層11からMAC部20に送信される各送信データ#1~#8の内容であるデータA_1~G_8、スリップ検出部22が検出したスリップ、挿入するスキップオーダードセット、SKP Ins指示のタイミングを示す。また、図12に示す例では、スキップオーダードセットが挿入された各送信データ#1~#8を示す。
 図12に示す例では、上位層11から送信データ#1~#8が入力される。また、図12中(A)に示すように、スキップ挿入部21は、約1500シンボルごとに、SKP Ins指示を生成する。このため、伝送装置10は、図12中(B)に示すように、通常の4シンボル長を有するスキップシンボルをデータA_1~A_8とデータB_1~B_8との間に同時に挿入する。
 ここで、図12中(C)に示すように、正のスリップが検出された場合、すなわち、伝送装置10の動作クロックが伝送装置10bの動作クロックよりも速いと判別された場合には、伝送装置10は、以下の処理を実行する。すなわち、伝送装置10は、図12中(D)に示すように、通常よりも長い5シンボル長のスキップオーダードセットを生成する。そして、伝送装置10は、図12中(E)に示すように、SKP Ins指示が生成された後に、データの区切りであるデータB_1~_8とデータC_1~C_8との間に生成したスキップオーダードセットを挿入する。また、図12中(F)に示すように、5シンボル長のスキップオーダードセットを挿入した場合には、通常の4シンボル長のスキップオーダードセットを生成する。
 次に、伝送装置10は、図12中(G)に示すように、SKP Ins指示が生成された際に、通常の4シンボル長のスキップオーダードセットが生成されているため、データD_1~D_8とデータE_1~E_8との間に通常の4シンボル長のスキップオーダードセットを挿入する。次に、伝送装置10は、図12中(H)に示すように、負のスリップが検出された場合、すなわち、伝送装置10bの動作クロックが伝送装置10の動作クロックよりも速いと判別された場合には、伝送装置10は、以下の処理を実行する。
 すなわち、伝送装置10は、図12中(I)に示すように、通常よりも短い3シンボル長のスキップオーダードセットを生成する。そして、伝送装置10は、図12中(J)に示すように、SKP Ins指示が生成された後に、図12中(K)に示すように、データの区切りであるデータF_1~F_8とデータG_1~G_8との間に同時に挿入する。その後、図12中(L)に示すように、伝送装置10は、通常よりも短い3シンボル長のスキップオーダードセットを挿入したので、通常の4シンボル長を有するスキップオーダードセットを生成する。
 次に、図13を用いて、伝送装置10bに送信されたスキップオーダードセットがどのように処理されるかを説明する。図13は、実施例1に係る受信側の伝送装置によるスキップオーダードセットの処理を説明するための図である。なお、図13には、伝送装置10bが受信した送信データ#1~#8、伝送装置10bがエラスティックバッファに格納する送信データ#1~#8、エラスティックバッファから読み出す送信データ#1~#8を示した。また、図13には、伝送装置10bによるデスキュー処理の内容を示した。また、図13中では、「COM」シンボルを「C」で、通常の「SKIP」シンボルを「S」で、追加された「SKIP」シンボルを「X」で、2度読みされることで複製される「SKIP」シンボルを「Y」で示す。
 例えば、図13中(M)に示すように、データB_1~B_8とデータC_1~C_8との間には、5シンボル長のスキップオーダードセットが挿入されている。また、図13中(N)に示すように、データF_1~F_8とデータG_1~G_8との間には、3シンボル長のスキップオーダードセットが挿入されている。
 このため、伝送装置10bは、図13中(O)に示すように、各送信データ#1~#8をエラスティックバッファに格納する際に、スキップオーダードセットの最後のシンボル「X」を削除し、4シンボル長のスキップオーダードセットに修正する。また、伝送装置10bは、図13中(P)に示すように、各送信データ#1~#8をエラスティックバッファから読み出す際に、スキップオーダードセットの最後のシンボル「Y」を2度読みし、複製することによって、4シンボル長のスキップオーダードセットに修正する。
 また、伝送装置10bは、図13中(Q)に示すように、送信データ#8を遅延させることで、各送信データ#1~#8に挿入されたスキップオーダードセットの「COM」の位置をそろえるデスキュー処理を行う。つまり、伝送装置10bは、各送信データ#1~#8に挿入されたスキップオーダードセットの数を検出および比較することなく、デスキュー処理を行う事ができる。
[実施例1の効果]
 上述したように、伝送装置10は、複数の送信データ#1~#8をそれぞれ異なる経路を介して、伝送装置10bに送信する。この際、伝送装置10は、伝送装置10の動作クロックと伝送装置10bとの動作クロックとを比較する。
 そして、伝送装置10は、自身の動作クロックが伝送装置10bの動作クロックよりも速いと判別した場合には、通常よりも長い5シンボル長のスキップオーダードセットを各送信データ#1~#8に挿入する。また、伝送装置10は、伝送装置10bの動作クロックが自身の動作クロックよりも速いと判別した場合には、通常よりも短い3シンボル長のスキップオーダードセットを各送信データ#1~#8に挿入する。このため、伝送装置10は、自身の動作クロックと、伝送装置10bの動作クロックとの誤差を吸収させることができる。
 また、伝送装置10bは、各送信データ#1~#8に挿入されたスキップオーダードセットのシンボル長を、通常のシンボル長である4シンボル長に修正するだけで、各送信データ#1~#8に挿入されたスキップオーダードセットのシンボル長をそろえることができる。この結果、伝送装置10は、伝送装置10bにおけるデスキュー処理において、スキップオーダードセットのシンボル長の検出や比較を不要とするため、デスキュー処理の論理を容易にすることができる。また、伝送装置10は、デスキュー処理の論理を容易にすることにより、回路規模の縮小や、回路の検証や設計を容易にすることができる。
 また、伝送装置10は、自身の動作クロックに合わせて周期的に動作するグレーコードカウンタ22bと、伝送装置10bの動作クロックに合わせて周期的に動作するグレーコードカウンタ22aとを有する。そして、伝送装置10は、グレーコードカウンタ22bの値が「0」となった際に、グレーコードカウンタ22aの値を取得し、取得した値が前回取得した値よりも大きいか否かを判別することで、自身の動作クロックと伝送装置10bの動作クロックとを比較する。このため、伝送装置10は、伝送装置10の動作クロックと伝送装置10bの動作クロックとの誤差が小さい場合にも、蓄積した誤差に基づいて、各送信データ#1~#8に挿入するスキップオーダードセットを適切に変更することができる。
 また、伝送装置10は、受信したデータからスキップオーダードセットを検出し、検出したスキップオーダードセットの長さが所定の長さよりも短い場合には、スキップオーダードセットの一部を複製する。また、伝送装置10は、検出したスキップオーダードセットの長さが所定の長さよりも長い場合には、スキップオーダードセットの一部を削除する。このため、伝送装置は、自身の動作クロックと伝送装置10bの動作クロックとの誤差を容易に吸収することができる。
 上述した実施例1では、自身の動作クロックと伝送装置10bの動作クロックとの誤差に基づいて、シンボル長の異なるスキップオーダードセットを各送信データ#1~#8に挿入する伝送装置10を説明した。しかし、実施例は、これに限定されるものではない。例えば、伝送装置10は、異なる形式のスキップオーダードセットを挿入することとしてもよい。以下、送信データ#1~#8の送信元の伝送装置を伝送装置10h、送信先の伝送装置を伝送装置10iとして説明する。
 例えば、実施例2に係る伝送装置10hは、自身の動作クロックと伝送装置10iの動作クロックとに差がない場合には、1つの「COM」シンボルと3つの「SKP」シンボルとを有する4シンボル長のスキップオーダードセットを各送信データ#1~#8に同時に挿入する。また、自身の動作クロックが送信データ#1~#8の送信先となる伝送装置10iの動作クロックよりも速い場合には以下の処理を実行する。
 すなわち、伝送装置10hは、図14に示すように、1つの「COM」シンボルと3つの「SKP」シンボルとに、伝送装置10iがエラスティックバッファに格納する際に削除するシンボル「RMV」を追加した5シンボル長のスキップオーダードセットを生成する。そして、伝送装置10hは、生成したスキップオーダードセットを各送信データ#1~#8に対して同時に挿入する。図14は、実施例2に係る伝送装置の動作クロックが送信先の動作クロックよりも速い場合に挿入されるスキップオーダードセットの一例を説明するための図である。
 また伝送装置10hは、伝送装置10iの動作クロックが自身の動作クロックよりも速い場合には、以下の処理を実行する。すなわち、伝送装置10hは、図15に示すように、1つの「COM」と1つの「SKP」とに加えて、伝送装置10hがバッファから読み出す際に複製するシンボル「ADD」を有するスキップオーダードセットを生成する。そして、伝送装置10hは、生成したスキップオーダードセットを各送信データ#1~#8に対して同時に挿入する。図15は、実施例2に係る伝送装置の動作クロックが送信先の動作クロックよりも遅い場合に挿入されるスキップオーダードセットの一例を説明するための図である。
 このような場合には、伝送装置10iは、容易にスキップオーダードセットの修正を行う事が可能となる。すなわち、伝送装置10iは、スキップオーダードセットの数を計数せずとも、各送信データ#1~#8をエラスティックバッファに格納する場合には、各送信データ#1~#8に挿入されたシンボル「RMV」のみを検出し、検出した「RMV」を削除すればよい。また、伝送装置10iは、各送信データ#1~#8をエラスティックバッファから読み出す場合には、シンボル「ADD」のみを検出し、検出した「ADD」を2つの「SKP」に変換すればよい。
 このように、伝送装置10iは、伝送装置10hが図14、図15に示すスキップオーダードセットを各送信データ#1~#8に同時に挿入した場合には、スキップオーダードセットのシンボル長を検出せずとも、2種類のシンボルを検出するだけでよい。このため、伝送装置10hは、動作クロックの誤差を吸収するための処理をより容易にすることができる。
 次に、図16a、16bを用いて、伝送装置10hが各送信データ#1~#8に対して同時に挿入したスキップシンボルを伝送装置10iがどのように処理するかを説明する。図16aは、実施例2に係る送信側の伝送装置の動作クロックが受信側の伝送装置の動作クロックよりも速い場合に挿入されるスキップシンボルの一例を説明するための図である。
 図16aに示す例では、伝送装置10hは、1つの「COM」シンボルと、3つの「SKP」シンボルと、1つの「RMV」シンボルとを有するスキップオーダードセットを、送信データ#1~#8に対して同時に挿入する。このような場合には、伝送装置10iは、各送信データ#1~#8をエラスティックバッファに格納する際に、「RMV」を検出し、検出した「RMV」を削除する。
 一方、図16bは、実施例2に係る受信側の伝送装置の動作クロックが送信側の伝送装置の動作クロックよりも速い場合に挿入されるスキップシンボルの一例を説明するための図である。図16bに示す例では、伝送装置10hは、1つの「COM」シンボルと、1つの「SKP」シンボルと、1つの「ADD」シンボルとを有するスキップオーダードセットを各送信データ#1~#8に対して同時に挿入する。
 このような場合には、伝送装置10iは、各送信データ#1~#8をエラスティックバッファに格納し、その後、各送信データ#1~#8を読み出す際に「ADD」シンボルのみを検出する。そして、伝送装置10iは、検出した「ADD」シンボルを2つの「SKP」シンボルに変換する。
 なお、このようなスキップオーダードセットを定義するためには、伝送装置10iおよび伝送装置10hのディスパリティーがニュートラルなコードとして定義される。すなわち、PCIeのシリアル伝送には送信時にデータを8bitから10bitに変換し、受信時にデータを10bitから8bitにデコードする。ここで、1つの8bitのコードには、対応する2種類の10bitのコード(Current RD-、Current RD+)が存在し、直前のエンコード処理における10bitのコードの内容によりいずれかのコードが選択される。
 ここで、8B/10Bエンコード処理には、ディスパリティーのルールがある。すなわち、送信側は、電源投入後、ランニングディスパリティの初期値が(-)に設定され、送信側は、送信した10bitコードの内容に基づき新しいランニングディスパリティーの値を計算する。このようなランニングディスパリティーは、送信したデータビットの「0」よりも「1」が多ければ(+)となり、「1」よりも「0」が多ければ(-)となる。また、送信したデータビットの「0」と「1」が同じニュートラルであれば、ランニングディスパリティーは変化しない。このようなルールの下、送信側は、8bitのコードを10bitのコードへ変換する場合、ランニングディスパリティーに応じた10bitのコードを選択する。
 また受信側は、電源投入後、ランニングディスパリティの初期値が(+)および(-)の両方が想定される。受信側は、受信した10bitコードが有効化無効化を判断し、受信した10bitコードの内容に基づき、新たなランニングディスパリティーの値を計算する。また、受信側は、受信した10bitコードが現在のランニングディスパリティーのテーブルに存在する場合には、受信した10bitコードが有効であるとみなし、8bitのコードにデコードする。一方、受信側は、受信した10bitコードが現在のランニングディスパリティーのテーブルに存在しない場合には、受信した10bitコードが無効であるとみなす。
 このようなルールの下、上記「ADD」シンボルと「RMV」シンボルとがニュートラルなコードでないとすると、「ADD」シンボル、または、「RMV」シンボルの送信時にランニングディスパリティが変化する。すると、受信側で「RMV」シンボルが削除された場合には、ランニングディスパリティの変化が起きないので、「RMV」シンボルの次に受信したシンボルでディスパリティーエラーが生する可能性がある。この結果、「ADD」シンボルおよび「RMV」シンボルは、ディスパリティーがニュートラルなコードとして定義される。
[実施例2の効果]
 上述したように、伝送装置10hは、自身の動作クロックよりも速い場合には、通常の4シンボル長のスキップオーダードセットに、伝送装置10iで削除されるシンボルを追加したスキップオーダードセットを各送信データ#1~#8に同時に挿入する。また、伝送装置10は、伝送装置10iの動作クロックが自身の動作クロックよりも速い場合には、通常よりも短い3シンボル長のスキップオーダードセットであって、伝送装置10iが複製を行うシンボルを有するスキップオーダードセットを各送信データ#1~#8に同時に挿入する。
 このため、伝送装置10hは、伝送装置10iでスキップオーダードセットの長さを修正せずとも、自身の動作クロックと受信側の伝送装置10iの動作クロックとの誤差を吸収することができるので、デスキュー処理の論理を容易にすることができる。また、伝送装置10iは、スキップオーダードセットのシンボル長を検出せずとも、「RMV」シンボルと「ADD」シンボルとを検出し、検出したシンボルに応じた処理を行えば各送信データ#1~#8に挿入されたスキップオーダードセットのシンボル長をそろえることができる。このため、伝送装置10hは、受信側において、スキップオーダードセットのシンボル長をそろえる処理をさらに容易にすることができる。
 上述した各伝送装置10~10iは、送信先の伝送装置における処理を容易にするものであった。しかし、実施例はこれに限定されるものではなく、例えば、各伝送装置10~10iは、ループバック処理によって返信された各送信データ#1~#8を受信する際の処理を容易にする処理をさらに実行してもよい。以下、送信データ#1~#8の送信元の伝送装置を伝送装置10j、送信先の伝送装置を伝送装置10kとして説明する。
 例えば、送信装置10jおよび伝送装置10kは、各送信データ#1~#8をエラスティックバッファに格納する際に「RMV」シンボルを検出し、検出した「RMV」シンボルを削除する。また、伝送装置10jおよび伝送装置10kは、各送信データ#1~#8をエラスティックバッファから読み出す際に「ADD」シンボルを検出し、検出した「ADD」シンボルを「SKP」シンボルと「ADD」シンボルとに修正する。また、送信装置10jおよび伝送装置10kは、各送信データ#1~#8をエラスティックバッファから読み出す際に「ADD-r」シンボルを検出し、検出した「ADD-r」シンボルを「SKP」シンボルと「RMV」シンボルとに修正する。
 つまり、「SKP」シンボルとは、追加および削除が行われないシンボルであり、「RMV」シンボルとは、エラスティックバッファに格納される際に削除されるシンボルである。また、「ADD」シンボルとは、エラスティックバッファから読み出される際に追加および削除が行われないシンボルを1つ追加するシンボルである。また、「ADD-r」シンボルとは、エラスティックバッファから読み出される際に、追加及び削除が行われない1つのシンボルとエラスティックバッファに格納される際に削除される1つのシンボルとに変換されるシンボルである。
 このような処理を行う伝送装置10jは、自身の動作クロックが伝送装置10kの動作クロックよりも速い場合には、図17に示すように、「COM」、「SKP」、「ADD」、「RMV」、「RMV」シンボルを有する5シンボル長のスキップオーダードセットを生成する。そして、伝送装置10jは、生成したスキップオーダードセットを各送信データ#1~#8に同時に挿入する。なお、図17は、実施例3に係る伝送装置の動作クロックが送信先の動作クロックよりも速い場合に挿入されるスキップオーダードセットの一例を説明するための図である。
 また、伝送装置10jは、伝送装置10kの動作クロックが自身の動作クロックよりも速い場合には、図18に示すように、「COM」、「SKP」、「ADD-r」シンボルを有する3シンボル長のスキップオーダードセットを生成する。そして、伝送装置10jは、生成したスキップオーダードセットを各送信データ#1~#8に同時に挿入する。なお、図18は、実施例3に係る伝送装置の動作クロックが送信先の動作クロックよりも遅い場合に挿入されるスキップオーダードセットの一例を説明するための図である。
 次に、図19a、19b、19cを用いて、伝送装置10kが各送信データ#1~#8に対して同時に挿入したスキップシンボルをどのように処理するかを説明する。図19aは、実施例3に係る送信側および受信側の伝送装置がスキップシンボルをどのように処理するかを説明するための図(1)である。図19bは、実施例3に係る送信側および受信側の伝送装置がスキップシンボルをどのように処理するかを説明するための図(2)である。図19cは、実施例3に係る送信側および受信側の伝送装置がスキップシンボルをどのように処理するかを説明するための図(3)である。
 なお、図19a~図19cに示す例では、伝送装置10jが挿入するスキップオーダードセットを自装置送信側処理として示す。また、図19a~図19cには、対向受信側処理として、送信先の伝送装置10kに入力されるスキップオーダードセット、伝送装置10kがエラスティックバッファに格納するスキップオーダードセット、伝送装置10kがエラスティックバッファから読み出すスキップオーダードセットを示す。また、図19a~図19cには、自装置受信側処理として、伝送装置10jにループバック送信されたスキップオーダードセット、伝送装置10jがエラスティックバッファに格納するスキップオーダードセット、伝送装置10jがエラスティックバッファから読み出すスキップオーダードセットを示す。
 図19aに示すように、送信側の伝送装置10jは、「COM」、「SKP」、「SKP」、「SKP」を有するスキップオーダードセットを各送信データ#1~#8に同時に挿入する。このような場合には、受信側の伝送装置10kは、エラスティックバッファに各送信データ#1~#8を格納する際や、エラスティックバッファから各送信データ#1~#8を読み出す際に、「SKP」シンボルの削除や追加を行わない。このため、送信側の伝送装置10jは、送信した際と同じシンボル長のスキップオーダードセットが格納された各送信データ#1~#8を取得することができる。
 図19bは、実施例3に係る送信側および受信側の伝送装置がスキップシンボルをどのように処理するかを説明するための図(2)である。図19bに示すように、送信側の伝送装置10jは、「COM」、「SKP」、「ADD」、「RMV」、「RMV」を有するスキップオーダードセットを各送信データ#1~#8に同時に挿入する。このような場合には、受信側の伝送装置10kは、エラスティックバッファに各送信データ#1~#8を格納する際に、2つの「RMV」シンボルを削除する。
 また、伝送装置10kは、エラスティックバッファから各送信データ#1~#8を読み出す際に「ADD」シンボルを「SKP」シンボルと「ADD」シンボルとに修正する。つまり、伝送装置10kは、「SKP」シンボルを追加する。そして、伝送装置10kは、エラスティックバッファから読み出した送信データ#1~#8を伝送装置10jにループバック送信する。
 一方、伝送装置10jは、ループバック送信された各送信データ#1~#8をエラスティックバッファに格納する。そして、伝送装置10jは、各送信データ#1~#8をエラスティックバッファから読み出す際に、「ADD」シンボルを「SKP」シンボルと「ADD」シンボルとに修正する。このため、伝送装置10jは、自身が挿入した5シンボル長のスキップオーダードセットと同じシンボル長のスキップオーダードセットが格納された各送信データ#1~#8を取得することができる。
 また、図19cは、実施例3に係る送信側および受信側の伝送装置がスキップシンボルをどのように処理するかを説明するための図(3)である。図19cに示すように、送信側の送信装置10jは、「COM」、「SKP」、「ADD-r」を有するスキップシンボルを各送信データ#1~#8に同時に格納する。このような場合には、送信装置10kは、エラスティックバッファから各送信データ#1~#8を読取る際に、「ADD-r」シンボルを「SKP」シンボルと「RMV」シンボルとに修正する。そして、送信装置10kは、エラスティックバッファから読み出した各送信データ#1~#8を伝送装置10jにループバック送信する。
 一方、伝送装置10jは、ループバック送信された各送信データ#1~#8をエラスティックバッファに格納する際に、各送信データ#1~#8に挿入された「RMV」シンボルを削除する。そして、伝送装置10jは、エラスティックバッファに格納された各送信データ#1~#8を取得する。つまり、伝送装置10jは、自身が挿入した3シンボル長のスキップオーダードセットと同じシンボル長のスキップオーダードセットが格納された各送信データ#1~#8を取得することができる。
 次に、図20および図21を用いて、伝送装置10jおよび伝送装置10kが実行する処理の流れについて説明する。図20は、実施例3に係る受信側の伝送装置が実行する処理の流れを説明する図である。また、図21は、実施例3に係る送信側の伝送装置が実行する処理の流れを説明するための図である。なお、図20、21に示す例では、「COM」シンボルを「C」、「SKIP」シンボルを「S」、「ADD」シンボルを「A」、「RMV」シンボルを「R」、「ADD-r」シンボルを「Ar」と示す。
 まず、図20を用いて、伝送装置10kが実行する処理の流れの一例を説明する。図20に示す例では、伝送装置10kが伝送装置10jから受信した受信データ#1~#8、伝送装置10kがエラスティックバッファに格納する受信データ#1~#8、伝送装置10kがエラスティックバッファから読み出す受信データ#1~#8を示す。
 図20中(R)に示すように、伝送装置10kは、「RMV」シンボルが含まれるスキップシンボルと、図20中(S)に示すように、「ADD-r」シンボルが含まれるスキップシンボルとが挿入された各受信データ#1~#8を取得する。このような場合には、伝送装置10kは、図20中(T)に示すように、各受信データ#1~#8をエラスティックバッファに格納する際に、「RMV」シンボルを破棄する。また、伝送装置10kは、図20中(U)に示すように、各受信データ#1~#8をエラスティックバッファから読み出す際に、「ADD-r」シンボルを「SKP」シンボルと「RMV」シンボルとに変換する。
 次に、図21を用いて、伝送装置10jが実行する処理の流れの一例を説明する。図21に示す例では、伝送装置10jが伝送装置10kからループバック送信された受信データ#1~#8、伝送装置10jがエラスティックバッファに格納する受信データ#1~#8を示す。また、図21に示す例では、伝送装置10jがエラスティックバッファから読み出す受信データ#1~#8、伝送装置10jがデスキュー処理を行った受信データ#1~#8を示す。
 図21に示す例では、伝送装置10jは、図20に示した伝送装置10kがエラスティックバッファから読み出した各受信データ#1~#8を取得する。次に、伝送装置10jは、図21中(V)に示すように、エラスティックバッファに各受信データ#1~#8を書き込む際に、「RMV」シンボルを削除する。
 次に、伝送装置10jは、図21中(W)に示すように、エラスティックバッファから各受信データ#1~#8を読み出す際に、「ADD」シンボルを「ADD」シンボルと「SKP」シンボルとに変換する。このため、伝送装置10jは、ループバック送信された各受信データ#1~#8に挿入されたスキップオーダードセットのシンボル数を、自身が挿入したスキップオーダードセットと同じシンボル数のスキップオーダードセットに修正することができる。
 次に、伝送装置10jは、図21中(X)に示すように、受信データ#8に挿入された「COM」シンボルの位置と他の受信データ#1~#7に挿入された「COM」シンボルの位置とをそろえるデスキュー処理を行う。このように、伝送装置10jは、ループバック送信された各受信データ#1~#8についても、各スキップオーダードセットのシンボル数を検出、修正することなく、容易にデスキュー処理を行うことができる。
 なお、実施例3に係る「ADD」シンボル、「RMV」シンボルおよび「ADD-r」シンボルは、実施例2に係る「RMV」、「ADD」シンボルと同様に、ディスパリティーがニュートラルなコードとして定義される。
[実施例3の効果]
 上述したように、伝送装置10jは、自身の動作クロックが伝送装置10kの動作クロックよりも速い場合には、「COM」、「SKP」、「ADD」、「RMV」、「RMV」シンボルを有するスキップオーダードセットを各送信データ#1~#8に同時に挿入する。また、伝送装置10jは、伝送装置10kの動作クロックが自身の動作クロックよりも速い場合には、「COM」、「SKP」、「ADD-r」シンボルを有するスキップオーダードセットを各送信データ#1~#8に同時に挿入する。
 このため伝送装置10jは、自身の動作クロックと伝送装置10kの動作クロックとの誤差を吸収することができる。また、伝送装置10jは、複雑な処理をおこなうことなく、「ADD」シンボルおよび「RMV」シンボルを検出するだけで、以下のような効果をえることができる。すなわち、伝送装置10jは、ループバック処理によって返信された各送信データ#1~#8に挿入されるスキップオーダードセットのシンボル数を自身が挿入したスキップオーダードセットのシンボル数と容易にそろえることができる。また、伝送装置10jは、ループバック処理によって返信された各送信データ#1~#8のデスキュー処理を容易に行う事ができる。
 また、伝送装置10jは、伝送装置10kにおけるデスキュー処理を容易にすることができる。このため、伝送装置10jは、ループバック処理を行う場合にも、送信側および受信側のデスキュー処理の論理を容易にし、回路規模を抑え、設計および検証を容易にすることができる。また、伝送装置10jは、デスキュー処理に係る処理遅延を減少させることができる。
 また、伝送装置10kは、ループバック処理を行う際に、自身の動作クロックと送信先となる伝送装置10jの動作クロックとの比較を行わずとも、適切なスキップオーダードセットが挿入されたデータを伝送装置10jに送信することができる。このため、伝送装置10jは、伝送装置10j、kの回路規模をさらに減少させることができる。
 これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例4として本発明に含まれる他の実施例を説明する。
(1)伝送経路の数について
 上述した各伝送装置10~10kは、ぞれぞれ他の伝送装置と8本のシリアルリンクで接続されているものとした。しかし、実施例はこれに限定されるものではなく、各伝送装置10~10kは、他の伝送装置と任意の数の伝送経路で接続することができる。
(2)シンボルについて
 上述した各伝送経路10~10kは、スキップオーダードセットに格納するシンボルとして「COM」シンボル、「SKP」シンボル、「ADD」シンボル、「RMV」シンボル、「ADD-r」シンボルを定義した。しかし、実施例はこれに限定されるものではなく、各伝送経路10~10kが検出した際に、各実施例1~3と同様の処理を実行するものであれば、任意のシンボルを定義することができる。
 1 情報処理システム
 2 CPU
 3 データ伝送装置
 4 メモリ
 5 スイッチ
 6~6b 入出力デバイス
 10~10k 伝送装置
 11 上位層
 20 MAC部
 21 スキップ挿入部
 21a~21h バッファ
 21i 生成部
 21k 制御部
 21j スキップ挿入セレクタ
 22 スリップ検出部
 22a、22b グレーコードカウンタ
 23c フリップフロップ
 22d シフトレジスタ
 22e 比較部
 23 スクランブラ
 24 デスキュー部
 24a 遅延吸収用データレジスタ
 24b デスキュー制御部
 25 デスクランブラ
 26 制御部
 30 PCS部
 30a~30h PCSレイヤ
 31 エンコーダ
 32 ループバック部
 33 転極部
 34 アライン
 35 エラスティックバッファ
 35a クロック載せ換え用データレジスタ
 35b 書き込み制御部
 36c 読み出し制御部
 36 デコーダ
 37 受信ステータス判定部
 40 SerDes
 50、51 伝送装置

Claims (9)

  1.  対向装置に対してそれぞれ異なる経路でデータを送信する複数の送信部と、
     前記対向装置の動作クロックと、自身の動作クロックとを比較し、どちらの動作クロックが速いかを判別する判別部と、
     前記判別部が、前記対向装置の動作クロックと前記自身の動作クロックとが同じであると判別した場合には、所定のデータ長を有する第1の誤差吸収データを各送信部が送信するデータに挿入し、前記判別部が前記対向装置の動作クロックが速いと判別した場合には、前記所定のデータ長よりも短い第2の誤差吸収データを各送信部が送信するデータに挿入し、前記判別部が前記自身の動作クロックが速いと判別した場合には、前記所定のデータ長よりも長い第3の誤差吸収データを各送信部が送信するデータに挿入する挿入部と
     を有することを特徴とする伝送装置。
  2.  前記第1の誤差吸収データは、前記対向装置が削除および複製を行わないシンボルを有し、
     前記第2の誤差吸収データは、前記対向装置が複製するシンボルを有し、
     前記第3の誤差吸収データは、前記対向装置が削除するシンボルを前記第1の誤差吸収データに付加したデータであることを特徴とする請求項1に記載の伝送装置。
  3.  前記伝送装置は、
     前記対向装置が返信したデータを格納するバッファを有し、
     当該バッファに格納したデータの読出しを行い、
     前記読み出したデータに前記第2の誤差吸収データが含まれていた場合は、前記第2の誤差吸収データに含まれるシンボルを削除し、
     前記読み出したデータに前記第3の誤差吸収データが含まれていた場合は、前記第3の誤差吸収データに含まれるシンボルを複製することを特徴とする請求項2に記載の伝送装置。
  4.  前記判別部は、
     前記自身の動作クロックに合わせて動作する第1カウンタと、
     前記対向装置の動作クロックに合わせて動作する第2カウンタと、
     前記第1カウンタの値が所定の値となった際に、前記第2カウンタの値を取得し、第2カウンタから取得した値と前回第2カウンタから取得した値とを比較し、今回取得した値が前回取得した値よりも大きいと判別した場合には前記対向装置の動作クロックが速いと判定し、前記取得した値が今回取得した値よりも大きいと判別した場合には自身の動作クロックが速いと判定する判定部と
     を有することを特徴とする請求項1~3のいずれか1つに記載の伝送装置。
  5.  対向装置からデータを受信する受信部と、
     前記受信部が受信したデータから、前記対向装置の動作クロックと自身の動作クロックとの誤差を吸収するために用いる誤差吸収データを検出する検出部と、
     前記検出部が検出した誤差吸収データが所定のデータ長よりも長い場合には、当該誤差吸収データの一部を削除し、前記検出部が検出した誤差吸収データが所定のデータ長よりも短い場合には、当該誤差吸収データの一部を複製する誤差吸収部と
     を有する事を特徴とする伝送装置。
  6.  対向装置に対してデータを送信する送信装置に対し、前記対向装置の動作クロックと自身の動作クロックとの誤差を吸収する誤差吸収データを挿入したデータを供給する伝送回路であって、
     前記対向装置の動作クロックと、自身の動作クロックとを比較し、どちらの動作クロックが速いかを判別する判別部と、
     前記判別部が、前記対向装置の動作クロックと前記自身の動作クロックとが同じであると判別した場合には、所定のデータ長を有する第1の誤差吸収データを送信部が送信するデータに挿入し、前記判別部が前記対向装置の動作クロックが速いと判別した場合には、前記所定のデータ長よりも短い第2の誤差吸収データを送信部が送信するデータに挿入し、前記判別部が前記自身の動作クロックが速いと判別した場合には、前記所定のデータ長よりも長い第3の誤差吸収データを送信部が送信するデータに挿入する挿入部と、
     前記挿入部がいずれかの誤差吸収データを挿入したデータを送信装置に供給する供給部と、
     を有することを特徴とする伝送回路。
  7.  前記第2の誤差吸収データは、データを受信した対向装置が前記第2の誤差吸収データからシンボルを削除することを示すシンボルを含み、
     前記第3の誤差吸収データは、データを受信した対向装置が前記第3の誤差吸収データにシンボルを付加することを示すシンボルを含む
     ことを特徴とする請求項6に記載の伝送回路。
  8.  対向装置の動作クロックと、自身の動作クロックとの誤差を吸収する誤差吸収データを挿入したデータを、複数の経路を介して前記対向装置へ送信する伝送装置と、
     前記伝送装置が送信したデータを受信する対向装置と
     を有する伝送システムであって、
     前記伝送装置は、
     前記対向装置に対してそれぞれ異なる経路でデータを送信する複数の送信部と、
     前記対向装置の動作クロックと、自身の動作クロックとを比較し、どちらの動作クロックが速いかを判別する判別部と、
     前記判別部が、前記対向装置の動作クロックと前記自身の動作クロックとが同じであると判別した場合には、所定のデータ長を有する第1の誤差吸収データを各送信部が送信するデータに挿入し、前記判別部が前記対向装置の動作クロックが速いと判別した場合には、前記所定のデータ長よりも短い第2の誤差吸収データを各送信部が送信するデータに挿入し、前記判別部が前記自身の動作クロックが速いと判別した場合には、前記所定のデータ長よりも長い第3の誤差吸収データを各送信部が送信するデータに挿入する挿入部と
     を有することを特徴とする伝送システム。
  9.  受信したデータをバッファに格納し、当該バッファに格納したデータを読み出す対向装置に対し、複数の経路を介してデータを送信する伝送装置の制御方法であって、
     前記対向装置の動作クロックと、自身の動作クロックとを比較し、どちらの動作クロックが速いかを判別し、
     前記対向装置の動作クロックと前記自身の動作クロックとが同じであると判別した場合には、所定のデータ長を有する第1の誤差吸収データを送信するデータに挿入し、前記対向装置の動作クロックが速いと判別した場合には、前記所定のデータ長よりも短い第2の誤差吸収データを送信するデータに挿入し、前記自身の動作クロックが速いと判別した場合には、前記所定のデータ長よりも長い第3の誤差吸収データを送信するデータに挿入する
     処理を前記伝送装置に実行させることを特徴とする伝送装置の制御方法。
PCT/JP2011/064979 2011-06-29 2011-06-29 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法 WO2013001631A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2011/064979 WO2013001631A1 (ja) 2011-06-29 2011-06-29 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法
US14/102,581 US20140101356A1 (en) 2011-06-29 2013-12-11 Transmission device, transmission system, and control method for transmission device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/064979 WO2013001631A1 (ja) 2011-06-29 2011-06-29 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/102,581 Continuation US20140101356A1 (en) 2011-06-29 2013-12-11 Transmission device, transmission system, and control method for transmission device

Publications (1)

Publication Number Publication Date
WO2013001631A1 true WO2013001631A1 (ja) 2013-01-03

Family

ID=47423573

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/064979 WO2013001631A1 (ja) 2011-06-29 2011-06-29 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法

Country Status (2)

Country Link
US (1) US20140101356A1 (ja)
WO (1) WO2013001631A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015041177A (ja) * 2013-08-21 2015-03-02 Necプラットフォームズ株式会社 インタフェースを制御する情報処理装置及びインタフェース制御方法
JP2016054432A (ja) * 2014-09-04 2016-04-14 富士ゼロックス株式会社 通信制御プログラム、通信制御装置及び通信制御方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101876418B1 (ko) * 2012-04-05 2018-07-10 한국전자통신연구원 Pci 익스프레스 디스큐 장치 및 그 방법
TWI484333B (zh) * 2012-07-12 2015-05-11 Phison Electronics Corp 彈性緩衝器模組及傳輸介面之彈性緩衝方法
US9946683B2 (en) * 2014-12-24 2018-04-17 Intel Corporation Reducing precision timing measurement uncertainty
US20180329855A1 (en) * 2017-05-12 2018-11-15 Intel Corporation Alternate protocol negotiation in a high performance interconnect
US11546128B2 (en) 2020-06-16 2023-01-03 SK Hynix Inc. Device and computing system including the device
KR102519480B1 (ko) 2021-04-01 2023-04-10 에스케이하이닉스 주식회사 PCIe 장치 및 이를 포함하는 컴퓨팅 시스템
KR102518285B1 (ko) 2021-04-05 2023-04-06 에스케이하이닉스 주식회사 PCIe 인터페이스 및 인터페이스 시스템
KR102415309B1 (ko) * 2020-06-16 2022-07-01 에스케이하이닉스 주식회사 인터페이스 장치 및 그 동작 방법
US11611408B2 (en) * 2021-06-01 2023-03-21 Keysight Technologies, Inc. Methods, systems and computer readable media for reconstructing uncorrectable forward error correction (FEC) data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03190437A (ja) * 1989-12-20 1991-08-20 Fujitsu Ltd 入力信号周波数異常検出回路
JP2006202281A (ja) * 2005-01-10 2006-08-03 Samsung Electronics Co Ltd Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028903A (en) * 1997-03-31 2000-02-22 Sun Microsystems, Inc. Delay lock loop with transition recycling for clock recovery of NRZ run-length encoded serial data signals
US7281077B2 (en) * 2005-04-06 2007-10-09 Qlogic, Corporation Elastic buffer module for PCI express devices
US8867683B2 (en) * 2006-01-27 2014-10-21 Ati Technologies Ulc Receiver and method for synchronizing and aligning serial streams
US20080141063A1 (en) * 2006-12-12 2008-06-12 Ridgeway Curtis A Real time elastic FIFO latency optimization
US20090086874A1 (en) * 2007-09-28 2009-04-02 Junning Wang Apparatus and method of elastic buffer control
WO2009105095A1 (en) * 2008-02-20 2009-08-27 Hewlett-Packard Development Company, L.P. Redriver with two reference clocks and method of operation thereof
US7995696B1 (en) * 2008-08-07 2011-08-09 Integrated Device Technology, Inc. System and method for deskewing data transmitted through data lanes
US8285884B1 (en) * 2008-11-03 2012-10-09 Integrated Device Technology Inc. Data aggregation system and method for deskewing data at selectable data rates
TWI423007B (zh) * 2009-12-31 2014-01-11 Via Tech Inc 串列匯流排裝置以及其時脈差補償方法
US8548011B2 (en) * 2010-12-02 2013-10-01 Plx Technology, Inc. Dynamic host clock compensation
US9213355B2 (en) * 2012-11-06 2015-12-15 Advanced Micro Devices, Inc. Selective insertion of clock mismatch compensation symbols in signal transmissions based on a receiver's compensation capability
US8879680B2 (en) * 2012-11-06 2014-11-04 Ati Technologies Ulc Adaptive clock mismatch compensation symbol insertion in signal transmissions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03190437A (ja) * 1989-12-20 1991-08-20 Fujitsu Ltd 入力信号周波数異常検出回路
JP2006202281A (ja) * 2005-01-10 2006-08-03 Samsung Electronics Co Ltd Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015041177A (ja) * 2013-08-21 2015-03-02 Necプラットフォームズ株式会社 インタフェースを制御する情報処理装置及びインタフェース制御方法
JP2016054432A (ja) * 2014-09-04 2016-04-14 富士ゼロックス株式会社 通信制御プログラム、通信制御装置及び通信制御方法

Also Published As

Publication number Publication date
US20140101356A1 (en) 2014-04-10

Similar Documents

Publication Publication Date Title
WO2013001631A1 (ja) 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法
US7570659B2 (en) Multi-lane receiver de-skewing
KR102205823B1 (ko) 다중 와이어 데이터 신호들을 위한 클록 복원 회로
US8824581B2 (en) Data transmission apparatus, data transmission system and data transmission method
US7613959B2 (en) Data receiving apparatus of a PCI express device
US8903000B2 (en) Transmission circuit, reception circuit, transmission method, reception method, communication system and communication method therefor
US8913705B2 (en) Dynamic skew correction in a multi-lane communication link
US8572300B2 (en) Physical coding sublayer (PCS) architecture for synchronizing data between different reference clocks
JP5426326B2 (ja) データ受信装置、データ受信方法、及びプログラム
JP5266164B2 (ja) データ受信装置
US10129371B2 (en) Serial communication device and serial communication method
US10901933B2 (en) Programmable link training sequences
JP2007502570A (ja) 複数のシリアルバイトレーンの自動再整列
KR20080112893A (ko) 신호 인코더 및 신호 디코더
CN104333388A (zh) 串行通信协议控制器及字符重对齐电路、8b10b解码器
JP4917901B2 (ja) 受信装置
JP5263986B2 (ja) シリアル受信装置並びにシリアル受信装置の制御方法及びプログラム
US9311975B1 (en) Bi-synchronous electronic device and FIFO memory circuit with jump candidates and related methods
JPWO2013001631A1 (ja) 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法
JP2017050734A (ja) シリアル通信装置、通信システム及び通信方法
US20060098770A1 (en) Synchronizer for passing data from a first system to a second system
US20100054382A1 (en) Recovering Data From An Oversampled Bit Stream With A Plesiochronous Receiver
JP2005142615A (ja) マンチェスタ符号データ受信装置
JP2016042218A (ja) エラー検出装置及びエラー検出方法
JP6500372B2 (ja) 通信制御プログラム、通信制御装置及び通信制御方法

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013522411

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11868501

Country of ref document: EP

Kind code of ref document: A1