RU2768535C1 - Fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines - Google Patents

Fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines Download PDF

Info

Publication number
RU2768535C1
RU2768535C1 RU2021120315A RU2021120315A RU2768535C1 RU 2768535 C1 RU2768535 C1 RU 2768535C1 RU 2021120315 A RU2021120315 A RU 2021120315A RU 2021120315 A RU2021120315 A RU 2021120315A RU 2768535 C1 RU2768535 C1 RU 2768535C1
Authority
RU
Russia
Prior art keywords
data
receiving
transmitting
block
packet
Prior art date
Application number
RU2021120315A
Other languages
Russian (ru)
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 RU2021120315A priority Critical patent/RU2768535C1/en
Application granted granted Critical
Publication of RU2768535C1 publication Critical patent/RU2768535C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

FIELD: computer technology.
SUBSTANCE: invention relates to computer technology. The fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines contains the first control unit for transmitting and receiving data over one line, including a buffer for sending data, a transceiver, a packet reception control unit on the receiving side, moreover, transmission and reception control units are introduced data on one line, identical to the first block, at the same time, a data coding block is introduced into each block on the transmitting side, and a data decoding block and a data synchronization block are introduced on the receiving side, blocks of virtual channel switches, virtual channel buffers are introduced on the transmitting and receiving sides, and a block for controlling the channel operation modes is additionally introduced.
EFFECT: providing a fault-tolerant channel of the system of interprocessor exchanges with a programmable and adaptive choice of data transmission lines with increased reliability and throughput.
1 cl, 1 dwg

Description

Изобретение, относится к области коммуникационных систем, в частности к механизмам высокоскоростного последовательного ввода/вывода данных.The invention relates to the field of communication systems, in particular to mechanisms for high-speed serial data input/output.

Известно устройство - канальный блок системы межпроцессорного обмена на основе мультигигабитных последовательных приемопередатчиков GTX фирмы Xilinx (см. http://hpc-education.unn.ru/files/conference_hpc/2011/files/174.pdf). содержащее первый блок управления передачей и приемом данных по одной линии, включающий в себя буфер для отправки данных, выход которого соединен со входом блока управления передачей пакетов на передающей стороне, приемопередатчик, блок управления приемом пакетов на приемной стороне, выход которого соединен со входом буфера для приема данных.A device is known - a channel block of an interprocessor exchange system based on multi-gigabit serial GTX transceivers from Xilinx (see http://hpc-education.unn.ru/files/conference_hpc/2011/files/174.pdf). containing the first control unit for transmitting and receiving data on one line, including a buffer for sending data, the output of which is connected to the input of the packet transmission control unit on the transmitting side, a transceiver, a packet reception control unit on the receiving side, the output of which is connected to the input of the buffer for receiving data.

На передающей стороне (выходной канал) данные от коммутатора записываются в буфер для передачи их по каналу связи. Буфер представляет собой очередь с организацией «первый пришел - первый вышел» (FIFΟ). От туда данные считываются блоком управления передачей пакетов, который формирует служебные признаки начала и конца пакетов и передает данные приемопередатчику. При появлении первого слова пакета в буфере блок управления передачей пакетов передает служебный символ начала пакета. Затем передается пакет и выполняется проверка на наличие ошибок в нем. Если ошибок нет, то приемопередатчику передается признак конца пакета без ошибок. Иначе передается признак конца пакета с ошибками. Приемопередатчик выполняет кодировку данных (применяемая кодировка 8В/10В).On the transmitting side (output channel), data from the switch is written to a buffer for transmission over a communication channel. The buffer is a first-in-first-out (FIFΟ) queue. From there, the data is read by the packet control unit, which generates the service characteristics of the beginning and end of the packets and transmits the data to the transceiver. When the first word of the packet appears in the buffer, the packet control unit transmits the service character of the beginning of the packet. The packet is then transmitted and checked for errors in it. If there are no errors, then the end-of-packet sign without errors is transmitted to the transceiver. Otherwise, the sign of the end of the packet with errors is transmitted. The transceiver performs data encoding (applied encoding 8V/10V).

преобразование данных из параллельного кода в последовательный поток символов и передачу его по дифференциальной паре.converting data from a parallel code to a serial stream of symbols and transmitting it over a differential pair.

На приемной стороне (входной канал) приемопередатчик выполняет обратные действия: преобразует данные в параллельный код, декодирует их и передает блоку управления приемом пакетов. К каждому принятому слову полезных данных блок управления приемом пакетов добавляет три служебных флага. После получения служебного признака начала пакета к следующему слову добавляется служебный флаг начала пакета и происходит запись в буфер для приема данных. Если во время приема пакета были ошибки или пришел признак конца пакета с ошибками, то к последнему слову пакета вместе со служебным флагом конец пакета добавляется флаг ошибки. При отсутствии синхронизации между передатчиком и приемником блок управления выставляет сигнал приемопередатчику произвести посимвольное выравнивание данных.On the receiving side (input channel), the transceiver performs the reverse actions: it converts the data into a parallel code, decodes it and transmits it to the packet reception control unit. For each received payload word, the packet receive control block adds three service flags. After receiving the service flag of the beginning of the packet, the service flag of the beginning of the packet is added to the next word and the buffer is written to receive data. If there were errors during the reception of the packet or the sign of the end of the packet with errors came, then the error flag is added to the last word of the packet, together with the service flag, the end of the packet. In the absence of synchronization between the transmitter and receiver, the control unit sets a signal to the transceiver to perform character-by-character data alignment.

Вышеуказанное устройство является наиболее близким по технической сущности к заявляемому устройству и поэтому выбрано в качестве прототипа.The above device is the closest in technical essence to the claimed device and therefore selected as a prototype.

Недостатками прототипа являются отсутствие виртуальных каналов, передача и прием данных по одной линии, использование кодировки 8В/10В.The disadvantages of the prototype are the lack of virtual channels, the transmission and reception of data on the same line, the use of encoding 8V/10V.

Решаемой технической проблемой является создание отказоустойчивого канала системы межпроцессорных обменов с программируемым и адаптивным выбором линий передачи данных с повышенной надежностью и пропускной способностью, а также обеспечивающего поддержку как различных топологий коммуникационной сети, так и обменов данными без возникновения состояния взаимной блокировки (Deadlock).The technical problem to be solved is the creation of a fault-tolerant channel of the interprocessor exchange system with a programmable and adaptive selection of data transmission lines with increased reliability and throughput, as well as supporting both various communication network topologies and data exchanges without the occurrence of a deadlock state.

Достигаемым техническим результатом является введение буферов виртуальных каналов, дополнительных линий передачи и приема данных, использование кодировки 64В/66В, а также программируемого и адаптивного выбора линий передачи данных для различных режимов работы канала.The achieved technical result is the introduction of virtual channel buffers, additional data transmission and reception lines, the use of 64V / 66V encoding, as well as programmable and adaptive selection of data transmission lines for various channel operation modes.

Для достижения технического результата в отказоустойчивом канале системы межпроцессорных обменов с программируемым и адаптивным выбором линий передачи данных, содержащем первый блок управления передачей и приемом данных по одной линии, включающий в себя буфер для отправки данных, выход которого соединен со входом блока управления передачей пакетов на передающей стороне, приемопередатчик, блок управления приемом пакетов на приемной стороне, выход которого соединен со входом буфера для приема данных, новым является то, что введены блоки у правления передачей и приемом данных по одной линии, идентичные первому блоку, при этом в каждый блок на передающей стороне введены блок кодирования данных, вход которого соединен с выходом блока управления передачей пакетов, а выход его соединен с входом приемопередатчика, а на приемной стороне введены блок декодирования данных и блок синхронизации данных, вход/выход которого соединен со входом/выходом блока декодирования данных, вход которого соединен с выходом приемопередатчика, а выход соединен со входом блока управления приемом пакетов, на передающей и приемной сторонах введены блоки коммутаторов виртуальных каналов, буферы виртуальных каналов, входы каждого буфера для отправки данных всех стоков управления передачей и приемом данных по одной линии на передающей стороне соединены с соответствующими выходами коммутатора виртуальных каналов на передающей стороне, выходы каждого буфера для приема данных всех блоков управления передачей и приемом данных по одной линии на приемной стороне соединены с соответствующими входами коммутатора виртуальных каналов на приемной стороне, дополнительно введен блок управления режимами работы канала, выход которого соединен с соответствующими входами коммутаторов виртуальных каналов на передающей и приемной стороне, входы и выходы которых соединены соответственно с выходами и входами буферов виртуальных каналов на передающей и приемной стороне, входы п выходы которых являются входами и выходами устройства.To achieve a technical result in a fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines, containing the first control unit for transmitting and receiving data over one line, including a buffer for sending data, the output of which is connected to the input of the packet transmission control unit on the transmitting side, a transceiver, a control block for receiving packets on the receiving side, the output of which is connected to the input of the buffer for receiving data, what is new is that control blocks for transmitting and receiving data on one line are introduced, identical to the first block, while each block on the transmitting on the side, a data encoding unit is introduced, the input of which is connected to the output of the packet transmission control unit, and its output is connected to the input of the transceiver, and on the receiving side, a data decoding unit and a data synchronization unit are introduced, the input/output of which is connected to the input/output of the data decoding unit, whose input is connected with the output of the transceiver, and the output is connected to the input of the packet reception control unit, on the transmitting and receiving sides, virtual channel switch blocks, virtual channel buffers are introduced, the inputs of each buffer for sending data of all transmission and reception control sinks over one line on the transmitting side are connected to corresponding outputs of the virtual channel switch on the transmitting side, the outputs of each buffer for receiving data of all control blocks for transmitting and receiving data over one line on the receiving side are connected to the corresponding inputs of the virtual channel switch on the receiving side, an additional control unit for channel operation modes is introduced, the output of which is connected with the corresponding inputs of the virtual channel switches on the transmitting and receiving sides, the inputs and outputs of which are connected respectively to the outputs and inputs of the virtual channel buffers on the transmitting and receiving sides, the inputs and outputs of which are the inputs and outputs of the triplets.

Новая совокупность существенных признаков позволяет повысить надежность и пропускную способность, а также обеспечивает поддержку как различных топологий коммуникационной сети, так и обменов данными без возникновения состояния взаимной блокировки. Пропускная способность системы повышается за счет введения дополнительных линий передачи и приема данных, а надежность системы за счет введения различных режимов работы канала, а также за счет программируемого и адаптивного выбора линий передачи данных. Обеспечение поддержки как различных топологий коммуникационной сети, так и обменов данными без возникновения состояния взаимной блокировки осуществляется за счет введения буферов виртуальных каналов.A new set of essential features improves reliability and throughput, and also provides support for both various communication network topologies and data exchanges without the occurrence of a deadlock condition. The system capacity is increased by introducing additional data transmission and reception lines, and the system reliability is increased by introducing various channel operation modes, as well as by programmable and adaptive selection of data transmission lines. Providing support for both different topologies of the communication network and data exchanges without the occurrence of a deadlock state is carried out by introducing buffers of virtual channels.

На фигуре 1 представлена блок-схема заявляемого устройства.The figure 1 shows a block diagram of the proposed device.

Отказоустойчивый канал системы межпроцессорных обменов с программируемым и адаптивным выбором линий передачи данных содержит первый блок управления передачей и приемом данных по одной линии 1, включающий в себя буфер для отправки данных 2. выход которого соединен со входом блока управления передачей пакетов на передающей стороне 3, приемопередатчик 5, блок управления приемом пакетов на приемной стороне 8, выход которого соединен со входом буфера для приема данных 9. Блоки управления передачей и приемом данных по одной линии 1.1-1.11 идентичны первому блоку 1, при этом в каждый блок 1-1.11. на передающей стороне введены блок кодирования данных 4, вход которого соединен с выходом блока управления передачей пакетов 3, а выход его соединен с входом приемопередатчика 5, а на приемной стороне введены блок декодирования данных 6 и блок синхронизации данных 7, вход/выход которого соединен со входом/выходом блока декодирования данных 6, вход которого соединен с выходом приемопередатчика 5, а выход соединен со входом блока управления приемом пакетов 8. На передающей и приемной сторонах введены блоки коммутаторов виртуальных каналов 12 и 13, буферы виртуальных каналов 10-10.5 и 11-11.5, входы каждого буфера для отправки данных 2-2.11 всех блоков управления передачей и приемом данных по одной линии 1-1.11 на передающей стороне соединены с соответствующими выходами коммутатора виртуальных каналов на передающей стороне 12, выходы каждого буфера для приема данных 9-9.1 всех блоков управления передачей и приемом данных по одной линии 1-1.11 на приемной стороне соединены с соответствующими входами коммутатора виртуальных каналов на приемной стороне 13. Введен блок управления режимами работы канала 14, выход которого соединен с соответствующими входами коммутаторов виртуальных каналов на передающей 12 и приемной стороне 13, входы и выходы которых соединены соответственно с выходами и входами буферов виртуальных каналов на передающей 10-10.5 и приемной стороне 11-11.5, входы и выходы которых являются входами и выходами устройства.The fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines contains the first control unit for transmitting and receiving data over one line 1, including a buffer for sending data 2. The output of which is connected to the input of the packet transmission control unit on the transmitting side 3, a transceiver 5, a control block for receiving packets on the receiving side 8, the output of which is connected to the input of the buffer for receiving data 9. The control blocks for transmitting and receiving data along one line 1.1-1.11 are identical to the first block 1, while in each block 1-1.11. on the transmitting side, a data encoding block 4 is introduced, the input of which is connected to the output of the packet transmission control block 3, and its output is connected to the input of the transceiver 5, and on the receiving side, a data decoding block 6 and a data synchronization block 7 are introduced, the input / output of which is connected to input / output of the data decoding block 6, the input of which is connected to the output of the transceiver 5, and the output is connected to the input of the control block for receiving packets 8. On the transmitting and receiving sides, virtual channel switch blocks 12 and 13, virtual channel buffers 10-10.5 and 11- 11.5, the inputs of each buffer for sending data 2-2.11 of all blocks for transmitting and receiving data on one line 1-1.11 on the transmitting side are connected to the corresponding outputs of the virtual channel switch on the transmitting side 12, the outputs of each buffer for receiving data 9-9.1 of all blocks control the transmission and reception of data on one line 1-1.11 on the receiving side are connected to the corresponding by the inputs of the virtual channel switch on the receiving side 13. A block for controlling the operating modes of the channel 14 is introduced, the output of which is connected to the corresponding inputs of the virtual channel switches on the transmitting 12 and receiving side 13, the inputs and outputs of which are connected, respectively, to the outputs and inputs of the virtual channel buffers on the transmitting 10-10.5 and the receiving side 11-11.5, the inputs and outputs of which are the inputs and outputs of the device.

Устройство работает следующим образом. На передающей стороне данные от коммутатора записываются в буферы виртуальных каналов 10-10.5 для передачи их по каналу связи. Все шесть буферов 10-10.5 идентичны и представляют собой очередь с организацией «первый пришел - первый вышел» (FIFO). Буфер каждого виртуального канала 10-10.5 имеет сигнал, который устанавливается в значение «1», когда в нем осталось место только для одного пакета данных. Этот сигнал подключен к коммутатору и предназначен для предотвращения переполнения буферов 10-10.5.The device works as follows. On the transmitting side, the data from the switch is written to the virtual channel buffers 10-10.5 for transmission over the communication channel. All six buffers 10-10.5 are identical and are a first-in-first-out (FIFO) queue. The buffer of each virtual channel 10-10.5 has a signal that is set to "1" when there is room for only one data packet. This signal is connected to the switch and is intended to prevent overflow of buffers 10-10.5.

Из буферов 10-10.5 данные считываются коммутатором виртуальных каналов 12, который выполняет следующие функции:From the buffers 10-10.5, the data is read by the virtual channel switch 12, which performs the following functions:

- коммутацию пакетов данных между буферами виртуальных каналов 10-10.5;- switching of data packets between buffers of virtual channels 10-10.5;

- форматирование слов в зависимости οт режима работы канального блока;- word formatting depending on the operating mode of the channel unit;

- запись данных в асинхронные буферы линий 2-2.11, соответствующих режиму работы;- writing data to asynchronous buffers of lines 2-2.11 corresponding to the mode of operation;

- обработку информации о состоянии буферов виртуальных каналов приемника 11-11.5.- processing information about the status of the buffers of virtual channels of the receiver 11-11.5.

Коммутатор виртуальных каналов 12 определяет, из какого буфера виртуальных каналов 10-10.5 считывать данные. Переключение с одного буфера виртуальных каналов 10-10.5 на друзой происходит после считывания признака конца пакета. Если данные находятся только в одном буфере виртуальных каналов 10-10.5, то они будут считываться из него, вне очереди. Пакет начинает считываться, если не заполнен соответствующий буфер виртуального канала на приемной стороне 11-11.5. При получении информации о заполнении буферов виртуальных каналов приемника 11-11.5 коммутатор 12 останавливает процесс передачи пакетов по каналу. Передача данных возобновляется, когда установится сигнал об освобождении буферов 11-11.5. Коммутатор виртуальных каналов на передающей стороне 12 поддерживает следующие режимы работы:The virtual circuit switch 12 determines which virtual circuit buffer 10-10.5 to read data from. Switching from one buffer of virtual channels 10-10.5 to another occurs after reading the sign of the end of the packet. If the data is in only one buffer of virtual channels 10-10.5, then they will be read from it, out of order. The packet starts to be read if the corresponding virtual channel buffer is not filled on the receiving side 11-11.5. When receiving information about the filling of the buffers of the virtual channels of the receiver 11-11.5, the switch 12 stops the process of transmitting packets over the channel. The data transmission is resumed when the signal about the release of buffers 11-11.5 is established. The virtual circuit switch on the transmitting side 12 supports the following modes of operation:

- режим х12 - передача и прием данных осуществляется одновременно по 12 независимым линиям;- x12 mode - data transmission and reception is carried out simultaneously via 12 independent lines;

- режим х8 - передача и прием данных осуществляется одновременно по восьми независимым линиям;- x8 mode - data transmission and reception is carried out simultaneously via eight independent lines;

- режим х4 - передача и прием данных осуществляется одновременно по четырем независимым.- x4 mode - data transmission and reception is carried out simultaneously by four independent ones.

- режим x1 - передача и прием данных осуществляется по одной линии.- mode x1 - data transmission and reception is carried out on one line.

Канальный блок содержит 12 идентичных и независимых блоков управления передачей и приемом данных по одной линии 1-1.11. Каждый блок управления 1-1.11 работает на собственных тактовых частотах для передачи и приема данных.The channel unit contains 12 identical and independent control units for transmitting and receiving data over one line 1-1.11. Each control unit 1-1.11 operates at its own clock frequency for transmitting and receiving data.

Для перевода данных с тактовой частоты коммутатора на тактовую частоту линии 1 используется асинхронный буфер 2. Данные в буфер 2 записываются коммутатором виртуальных каналов на передающей стороне 12 на частоте работы коммутатора, а считываются блоком управления передачей пакетов 3 на чистоте линии.To transfer data from the clock frequency of the switch to the clock frequency of line 1, an asynchronous buffer 2 is used. Data is written to buffer 2 by the virtual channel switch on the transmitting side 12 at the frequency of the switch, and are read by the packet transmission control unit 3 on a clean line.

При появлении первого слова пакета в буфере 2 блок управления передачей пакетов 3 передает служебный символ начала пакета. Вместе с этим символом передается номер виртуального канала, из которого был считан пакет. Затем передается пакет и проверяется каждое слово на наличие признака конца пакета. После считывания из буфера 2 последнего слова пакета, проверяется, есть ли ошибки в этом пакете. Если их нет, и не было ошибок во время передачи пакета, то в канал передается признак конца пакета без ошибок. Иначе передается признак конца пакета с ошибками.When the first word of the packet appears in the buffer 2, the packet control unit 3 transmits the service character of the beginning of the packet. Together with this symbol, the number of the virtual channel from which the packet was read is transmitted. Then a packet is transmitted and each word is checked for the presence of a packet terminator. After reading the last word of the packet from buffer 2, it is checked whether there are errors in this packet. If there are none, and there were no errors during the transmission of the packet, then the sign of the end of the packet without errors is transmitted to the channel. Otherwise, the sign of the end of the packet with errors is transmitted.

С каждым словом данных (кадром) передается его заголовок. Заголовок кадра (преамбула) определяет тип передаваемых данных. Предусмотрено два типа кадров: кадр с данными (преамбула = «01») и кадр с управляющей информацией/данными (преамбула = «10»).With each data word (frame) its header is transmitted. The frame header (preamble) defines the type of data to be transmitted. There are two types of frames: a data frame (preamble = "01") and a control information/data frame (preamble = "10").

Преамбулы «00» и «11» считаются ошибочными, и при приеме такой преамбулы блоком синхронизации данных 7 детектируется ошибка синхронизации кадров.The preambles "00" and "11" are considered erroneous, and when such a preamble is received by the data synchronization unit 7, a frame synchronization error is detected.

Передача данных останавливается при установке сигнала, указывающего на заполнение буферов линий приемника 9-9.11. Передача данных возобновляется при сбросе этого сигнала. Во время передачи данных постоянно анализируется состояние буферов приемника 9-9.11. В случае изменения состояния буферов 9-9.11, по каналу передается соответствующая информация.Data transmission stops when a signal is set indicating that the buffers of the receiver lines 9-9.11 are full. Data transfer resumes when this signal is cleared. During data transmission, the state of the receiver buffers 9-9.11 is constantly analyzed. In case of a change in the state of buffers 9-9.11, the corresponding information is transmitted over the channel.

Блок управления передачей пакетов 3 передает слова на вход блоку кодирования данных 4. Сначала происходит скремблирование данных, т.е. выполняется преобразование входных данных в псевдослучайную последовательность. Это необходимо для обеспечения баланса "0" и "1" в последовательном потоке данных. Преамбулы кадров не скремблируются и используются блоком синхронизации данных 7 для определения границ выравнивания слов. Применение скремблера не гарантирует равномерного распределения "0" и "1" в последовательном потоке, однако выбор в качестве разрешенных преамбул кадра значений «01» и «10» гарантирует, что, хотя бы один переход из "0" в "1" или из "1" в "0" случается не реже чем через 66 битовых интервалов. Затем происходит преобразование 66 разрядной выходной шины скремблера, сопровождаемой сигналом истинности в 64 разрядную входную шину приемопередатчика 5. Так как вместе с 64 битными кадрами передается двухбитная преамбула, то раз в 32 такта делается пуаза на один такт, чтобы избежать потери данных.The packet control unit 3 sends words to the input of the data encoding unit 4. First, the data is scrambling, i.e. the input data is converted into a pseudo-random sequence. This is necessary to ensure the balance of "0" and "1" in the serial data stream. Frame preambles are not scrambled and are used by data sync 7 to determine word alignment boundaries. The use of a scrambler does not guarantee a uniform distribution of "0" and "1" in the serial stream, however, the choice of values "01" and "10" as allowed frame preambles guarantees that at least one transition from "0" to "1" or from "1" to "0" occurs at least every 66 bit intervals. Then, the 66-bit output bus of the scrambler, accompanied by a truth signal, is converted into a 64-bit input bus of the transceiver 5. Since a two-bit preamble is transmitted along with 64-bit frames, a pause is made every 32 cycles for one cycle to avoid data loss.

Блок кодирования 4 передает данные на вход приемопередатчику 5. Приемопередатчик 5 преобразует данные из параллельного кода в последовательный поток символов и передает его по дифференциальной паре. При приеме осуществляет обратное преобразование последовательного потока данных в параллельный код.The coding unit 4 transmits data to the input of the transceiver 5. The transceiver 5 converts the data from the parallel code into a serial symbol stream and transmits it over a differential pair. Upon reception, it inverts the serial data stream into parallel code.

Далее данные поступают на вход блоку декодирования 6. Сначала выполняется формирование из принимаемых данных кадров и их преамбул. По сигналу, устанавливаемым блоком синхронизации данных 7. сдвигается на один бит граница кадров. Затем происходит преобразование входного скремблированного кода в первоначальный формат данных. Преамбула данных не требует дескремблирования, и используются блоком синхронизации данных 7 для определения границ кадров.Next, the data is fed to the input of the decoding block 6. First, frames and their preambles are formed from the received data. On a signal set by the data synchronization block 7. the frame boundary is shifted by one bit. Then the input scrambled code is converted to the original data format. The data preamble does not require descrambling and is used by data sync block 7 to determine frame boundaries.

Блок синхронизации данных 7 выполняет анализ синхронизирующих заголовков кадров и устанавливает сигнал блоку декодирования данных 6 сдвинуть на один бит границу слов. Разрешенные заголовки «01» и «10». ошибочные заголовки - «00» или «11».The data synchronization block 7 analyzes the synchronizing frame headers and sets the signal to the data decoding block 6 to shift the word boundary by one bit. Allowed headers are "01" and "10". erroneous headers - "00" or "11".

Блок управления приемом пакетов 8 получает данные от блока декодирования 0. После получения служебного символа начала пакета блок управления 8 переходит в режим приема пакета, добавлять к каждому принятому слову три служебных флага и записывать слова в асинхронный буфер 9. К каждому слову добавляется номер виртуального канала, указывающий в какой буфер виртуального канала 11-11.5 записывать принимаемый пакет. Для выравнивания данных блоком коммутатора виртуальных каналов на приемной стороне 13 к каждому слову добавляется его номер в пакете данных и номер пакета. Если во время приема пакета были ошибки или пришел признак конца пакета с ошибками, то к последнему слову пакета вместе со служебным флагом конец пакета добавляется флаг ошибки. После установления синхронизации линии и приема из канала сигнала о синхронизации приемника, блок управления приемом пакетов 8 устанавливает признак готовности линии к передаче и приему данных.The packet reception control unit 8 receives data from the decoding unit 0. After receiving the service character of the start of the packet, the control unit 8 switches to the packet reception mode, adds three service flags to each received word and writes the words to the asynchronous buffer 9. The number of the virtual channel is added to each word , indicating in which virtual channel buffer 11-11.5 to write the received packet. To align the data block switch virtual channels on the receiving side 13 to each word is added to its number in the data packet and the packet number. If there were errors during the reception of the packet or the sign of the end of the packet with errors came, then the error flag is added to the last word of the packet, together with the service flag, the end of the packet. After the line synchronization is established and the receiver synchronization signal is received from the channel, the packet reception control unit 8 sets the sign of the line readiness for data transmission and reception.

Для перевода данных с тактовой частоты линии на тактовую частоту коммутатора используется асинхронный буфер 9. Данные в буфер 9 записываются блоком управления передачей пакетов 8 на чистоте линии, а считывают см коммутатором виртуальных каналов на приемной стороне 13 на частоте коммутатора.An asynchronous buffer 9 is used to transfer data from the line clock frequency to the switch clock frequency. Data is written to the buffer 9 by the packet transmission control unit 8 on a clean line, and read by the virtual channel switch on the receiving side 13 at the switch frequency.

Коммутатор виртуальных каналов на приемной 13 стороне выполняет следующие функции:The virtual circuit switch on the receiving 13 side performs the following functions:

- коммутацию пакетов между буферами виртуальных каналов 11-11.5;- packet switching between virtual channel buffers 11-11.5;

- форматирование слов, в зависимости от режима работы канального блока;- word formatting, depending on the mode of operation of the channel unit;

- чтение данных из асинхронных буферов линии 9-9.11, соответствующих режиму работы;- reading data from asynchronous line buffers 9-9.11 corresponding to the mode of operation;

- пословное выравнивание принятых данных;- word-by-word alignment of received data;

- обработку информации о состоянии буферов виртуальных каналов 11-11.5 приемника.- processing information about the status of the buffers of virtual channels 11-11.5 of the receiver.

Коммутатор виртуальных каналов 13 считывает данные из асинхронных буферов линий 9-9.11 и определяет, в какой буфер виртуальных каналов 11-11.5 их записать. Все шесть буферов 11-11.5 идентичны. При получении информации о заполнении буферов виртуальных каналов приемника 11-11.5. коммутатор 13 устанавливает сигнал остановки передачи данных. Считывание пакета данных начинается, когда во всех соответствующих режиму работы буферах линий 9-9.11 появятся данные с признаком начала пакета. Проверяется номер каждого слова и номер пакета. Если при считывании данных у слов будут отличаться номера, то коммутатор виртуальных каналов 15 устанавливает сигнал, но которому будет произведен сброс канального блока. Если во время приема данных произойдет символьная ошибка на одной из линий 1-1.11, то в буфер виртуальных каналов запишется признак конца пакета с ошибкой 11-11.5. Коммутатор виртуальных каналов на приемной стороне 13 поддерживает режимы работы х12, х8, х4 и x1.The virtual circuit switch 13 reads data from the asynchronous line buffers 9-9.11 and determines which virtual circuit buffer 11-11.5 to write them to. All six buffers 11-11.5 are identical. Upon receipt of information about the filling of the buffers of the virtual channels of the receiver 11-11.5. the switch 13 sets the data transmission stop signal. The reading of the data packet begins when data with the sign of the beginning of the packet appears in all buffers of lines 9-9.11 corresponding to the mode of operation. The number of each word and the packet number are checked. If, when reading the data, the words will have different numbers, then the virtual channel switch 15 sets a signal, but to which the channel block will be reset. If during data reception a symbol error occurs on one of the lines 1-1.11, then the sign of the end of the packet with an error 11-11.5 will be written to the virtual channel buffer. The virtual circuit switch on the receiving side 13 supports x12, x8, x4 and x1 operating modes.

Выбор буфера виртуального канала 11-11.5 для записи данных на приемной стороне осуществляется в блоке коммутатора виртуальных каналов 13. Поэтому, в канальном блоке вместе с каждым пакетом передается номер виртуального канала, из которого был считан пакет. На приемной стороне, в соответствии с этим номером, каждый пакет записывается в соответствующий буфер виртуального канала 11-11.5.The selection of the virtual channel buffer 11-11.5 for recording data on the receiving side is carried out in the virtual channel switch block 13. Therefore, in the channel block, together with each packet, the number of the virtual channel from which the packet was read is transmitted. On the receiving side, in accordance with this number, each packet is written to the corresponding virtual channel buffer 11-11.5.

Информация о состоянии буферов виртуальных каналов приемника 11-11.5 передается после каждого пакета, а в случае ее изменения, непосредственно во время передачи пакета. Если место в буфере 11-11.5 заканчивается, то передача данных по каналу должна останавливаться до тех пор, пока буфер 11-11.5 не освободится. Таким образом, осуществляется защита от возможных потерь данных, связанных с недостатком места в буферах виртуальных каналов на приемной стороне 11-11.5.Information about the status of the buffers of the virtual channels of the receiver 11-11.5 is transmitted after each packet, and if it changes, directly during the transmission of the packet. If the space in the buffer 11-11.5 runs out, then the data transmission over the channel should stop until the buffer 11-11.5 is free. Thus, there is protection against possible data loss associated with lack of space in the virtual channel buffers on the receiving side 11-11.5.

Блок управления режимом работы канала 14 отвечает за переключение между режимами х12. х8, х4 или x1. По умолчанию и после процедуры сброса в канале задается в режим х12. Если количество синхронизированных (активных) линий 1-1.11 меньше 12, но больше или равно восьми, то осуществляется переход на режим х8. Если количество активных линий 1-1.11 меньше восьми, но больше или равно четырем, то осуществляется переход на режим х4. Если количество активных линий 1-1.11 меньше четырех, но есть хотя бы одна активная линия 1-1.11, то осуществляется переход на режим x1. Переключение между режимами осуществляется как автоматически при потере синхронизации на линиях 1-1.11. так и принудительно, при получении команды. Может быть использована любая комбинация линий 1-1.11. соответствующая по количеству требуемому режиму работы при условии, что ли линии 1-1.11 активны. Переход на режим с большим количеством линий 1-1.11 может осуществляться только после процедуры сброса или после отключения и подключения кабеля.Channel 14 mode control block is responsible for switching between x12 modes. x8, x4 or x1. By default and after the reset procedure in the channel, it is set to x12 mode. If the number of synchronized (active) lines 1-1.11 is less than 12, but more than or equal to eight, then the transition to x8 mode is performed. If the number of active lines 1-1.11 is less than eight, but greater than or equal to four, then the transition to x4 mode is performed. If the number of active lines 1-1.11 is less than four, but there is at least one active line 1-1.11, then the transition to the x1 mode is performed. Switching between modes is carried out automatically in case of loss of synchronization on lines 1-1.11. and forcibly, when receiving a command. Any combination of lines 1-1.11 can be used. corresponding in number to the required mode of operation, provided that lines 1-1.11 are active. The transition to the mode with a large number of lines 1-1.11 can only be carried out after the reset procedure or after disconnecting and connecting the cable.

Отказоустойчивый канал системы межпроцессорных обменов с программируемым и адаптивным выбором линий передачи данных прошел проверку и показал свою работоспособность в составе прошивки программируемой логической интегральной схемы на макетных платах.The fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines has been tested and proved to be operable as part of the firmware of a programmable logic integrated circuit on prototyping boards.

Применение данного устройства в составе прошивки системы межпроцессорных обменов позволило увеличить пропускную способность одного канала примерно в 12 раз по сравнению с прототипом за счет использования дополнительных линий передачи и приема данных и кодировки 64 В/66 В. Также повысилась надежность системы за счет введения дополнительных режимов работы канала х12, х8, х4, x1, а также за счет программируемого и адаптивного выбора линий передачи данных. Введения буферов виртуальных каналов обеспечило поддержку как различных топологий коммуникационной сети, так и обменов данными без возникновения состояния взаимной блокировки.The use of this device as part of the firmware of the interprocessor exchange system made it possible to increase the throughput of one channel by about 12 times compared to the prototype due to the use of additional lines for transmitting and receiving data and encoding 64 V / 66 V. The reliability of the system has also increased due to the introduction of additional operating modes channels x12, x8, x4, x1, as well as due to programmable and adaptive selection of data transmission lines. The introduction of virtual channel buffers provided support for both various communication network topologies and data exchanges without deadlock.

Claims (1)

Отказоустойчивый канал системы межпроцессорных обменов с программируемым и адаптивным выбором линий передачи данных, содержащий первый блок управления передачей и приемом данных по одной линии, включающий в себя буфер для отправки данных, выход которого соединен со входом блока управления передачей пакетов на передающей стороне, приемопередатчик, блок управления приемом пакетов на приемной стороне, выход которого соединен со входом буфера для приема данных, отличающийся тем, что введены блоки управления передачей и приемом данных по одной линии, идентичные первому блоку, при этом в каждый блок на передающей стороне введены блок кодирования данных, вход которого соединен с выходом блока управления передачей пакетов, а выход его соединен с входом приемопередатчика, а на приемной стороне введены блок декодирования данных и блок синхронизации данных, вход/выход которого соединен со входом/выходом блока декодирования данных, вход которого соединен с выходом приемопередатчика, а выход соединен со входом блока управления приемом пакетов, на передающей и приемной сторонах введены блоки коммутаторов виртуальных каналов, буферы виртуальных каналов, входы каждого буфера для отправки данных всех блоков управления передачей и приемом данных по одной линии на передающей стороне соединены с соответствующими выходами коммутатора виртуальных каналов на передающей стороне, выходы каждого буфера для приема данных всех блоков управления передачей и приемом данных по одной линии на приемной стороне соединены с соответствующими входами коммутатора виртуальных каналов на приемной стороне, дополнительно введен блок управления режимами работы канала, выход которого соединен с соответствующими входами коммутаторов виртуальных каналов на передающей и приемной стороне, входы и выходы которых соединены соответственно с выходами и входами буферов виртуальных каналов на передающей и приемной стороне, входы и выходы которых являются входами и выходами устройства.A fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines, containing the first control unit for transmitting and receiving data over one line, including a buffer for sending data, the output of which is connected to the input of the packet transmission control unit on the transmitting side, a transceiver, a block packet reception control on the receiving side, the output of which is connected to the input of the buffer for receiving data, characterized in that the control blocks for transmitting and receiving data on the same line are introduced, identical to the first block, while each block on the transmitting side contains a data coding block, the input which is connected to the output of the packet transmission control unit, and its output is connected to the input of the transceiver, and on the receiving side, a data decoding unit and a data synchronization unit are introduced, the input/output of which is connected to the input/output of the data decoding unit, the input of which is connected to the output of the transceiver, and the output is connected It is with the input of the packet reception control unit, on the transmitting and receiving sides there are virtual channel switch blocks, virtual channel buffers, the inputs of each buffer for sending data of all data transmission and reception control blocks over one line on the transmitting side are connected to the corresponding outputs of the virtual channel switch on to the transmitting side, the outputs of each buffer for receiving data of all data transmission and reception control blocks over one line on the receiving side are connected to the corresponding inputs of the virtual channel switch on the receiving side, an additional channel control unit is introduced, the output of which is connected to the corresponding inputs of the virtual channel switches on the transmitting and receiving sides, the inputs and outputs of which are connected respectively to the outputs and inputs of the virtual channel buffers on the transmitting and receiving sides, the inputs and outputs of which are the inputs and outputs of the device.
RU2021120315A 2021-07-09 2021-07-09 Fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines RU2768535C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2021120315A RU2768535C1 (en) 2021-07-09 2021-07-09 Fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2021120315A RU2768535C1 (en) 2021-07-09 2021-07-09 Fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines

Publications (1)

Publication Number Publication Date
RU2768535C1 true RU2768535C1 (en) 2022-03-24

Family

ID=80819430

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2021120315A RU2768535C1 (en) 2021-07-09 2021-07-09 Fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines

Country Status (1)

Country Link
RU (1) RU2768535C1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0447576A1 (en) * 1987-11-09 1991-09-25 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US5210871A (en) * 1988-07-15 1993-05-11 The Charles Stark Draper Labroatory, Inc. Interprocessor communication for a fault-tolerant, mixed redundancy distributed information processing system
RU2054710C1 (en) * 1993-07-15 1996-02-20 Российский научно-исследовательский институт космического приборостроения Multiprocessor control system
US20090259885A1 (en) * 2008-04-14 2009-10-15 The Charles Stark Draper Laboratory, Inc. Systems and methods for redundancy management in fault tolerant computing
RU172157U1 (en) * 2017-03-22 2017-06-29 Акционерное общество "МЦСТ" Second Generation Interprocessor Link Controller (IPCC2)

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0447576A1 (en) * 1987-11-09 1991-09-25 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US5210871A (en) * 1988-07-15 1993-05-11 The Charles Stark Draper Labroatory, Inc. Interprocessor communication for a fault-tolerant, mixed redundancy distributed information processing system
RU2054710C1 (en) * 1993-07-15 1996-02-20 Российский научно-исследовательский институт космического приборостроения Multiprocessor control system
US20090259885A1 (en) * 2008-04-14 2009-10-15 The Charles Stark Draper Laboratory, Inc. Systems and methods for redundancy management in fault tolerant computing
RU172157U1 (en) * 2017-03-22 2017-06-29 Акционерное общество "МЦСТ" Second Generation Interprocessor Link Controller (IPCC2)

Similar Documents

Publication Publication Date Title
US5617419A (en) Adapting switch port and work station communication adapters to data frame types with disparate formats and data rates
US6862293B2 (en) Method and apparatus for providing optimized high speed link utilization
US4929939A (en) High-speed switching system with flexible protocol capability
US5872822A (en) Method and apparatus for memory sequencing
US5784370A (en) Method and apparatus for regenerating a control signal at an asynchronous transfer mode (ATM) layer or a physical (PHY) layer
US4521880A (en) Time-slot interchanger for fast circuit switching
US6452927B1 (en) Method and apparatus for providing a serial interface between an asynchronous transfer mode (ATM) layer and a physical (PHY) layer
KR920007096B1 (en) Fast circuit switching system
US6766464B2 (en) Method and apparatus for deskewing multiple incoming signals
US6934301B2 (en) Method and apparatus for converting data packets between a higher bandwidth network and a lower bandwidth network
US9479277B2 (en) Mechanism for channel synchronization
US5592160A (en) Method and apparatus for transmission code decoding and encoding
US6058479A (en) Redundant path data switch and media translator
JP3419520B2 (en) Data communication method and device
US3912872A (en) Data transmission process
RU2768535C1 (en) Fault-tolerant channel of the interprocessor exchange system with programmable and adaptive selection of data transmission lines
US20040078665A1 (en) Self-recovery method and apparatus in an elastic FIFO
EP0170799B1 (en) Switching systems
RU2700560C1 (en) Gigaspacewire communication interface device
JP2766228B2 (en) Stuff synchronization frame control method
RU187642U1 (en) GIGASPACEWIRE COMMUNICATION INTERFACE DEVICE
WO1986003640A1 (en) Communication system and method
RU2075778C1 (en) Device for switching data packets
JP2004007848A (en) Method and system for controlling flow
SU1300484A1 (en) System for collecting data