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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0721—Error 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/0724—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address 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
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
Устройство работает следующим образом. На передающей стороне данные от коммутатора записываются в буферы виртуальных каналов 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
- коммутацию пакетов данных между буферами виртуальных каналов 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
- режим х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
При появлении первого слова пакета в буфере 2 блок управления передачей пакетов 3 передает служебный символ начала пакета. Вместе с этим символом передается номер виртуального канала, из которого был считан пакет. Затем передается пакет и проверяется каждое слово на наличие признака конца пакета. После считывания из буфера 2 последнего слова пакета, проверяется, есть ли ошибки в этом пакете. Если их нет, и не было ошибок во время передачи пакета, то в канал передается признак конца пакета без ошибок. Иначе передается признак конца пакета с ошибками.When the first word of the packet appears in the
С каждым словом данных (кадром) передается его заголовок. Заголовок кадра (преамбула) определяет тип передаваемых данных. Предусмотрено два типа кадров: кадр с данными (преамбула = «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
Блок кодирования 4 передает данные на вход приемопередатчику 5. Приемопередатчик 5 преобразует данные из параллельного кода в последовательный поток символов и передает его по дифференциальной паре. При приеме осуществляет обратное преобразование последовательного потока данных в параллельный код.The coding unit 4 transmits data to the input of the
Далее данные поступают на вход блоку декодирования 6. Сначала выполняется формирование из принимаемых данных кадров и их преамбул. По сигналу, устанавливаемым блоком синхронизации данных 7. сдвигается на один бит граница кадров. Затем происходит преобразование входного скремблированного кода в первоначальный формат данных. Преамбула данных не требует дескремблирования, и используются блоком синхронизации данных 7 для определения границ кадров.Next, the data is fed to the input of the
Блок синхронизации данных 7 выполняет анализ синхронизирующих заголовков кадров и устанавливает сигнал блоку декодирования данных 6 сдвинуть на один бит границу слов. Разрешенные заголовки «01» и «10». ошибочные заголовки - «00» или «11».The data synchronization block 7 analyzes the synchronizing frame headers and sets the signal to the
Блок управления приемом пакетов 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
Для перевода данных с тактовой частоты линии на тактовую частоту коммутатора используется асинхронный буфер 9. Данные в буфер 9 записываются блоком управления передачей пакетов 8 на чистоте линии, а считывают см коммутатором виртуальных каналов на приемной стороне 13 на частоте коммутатора.An
Коммутатор виртуальных каналов на приемной 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
Выбор буфера виртуального канала 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
Информация о состоянии буферов виртуальных каналов приемника 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 может осуществляться только после процедуры сброса или после отключения и подключения кабеля.
Отказоустойчивый канал системы межпроцессорных обменов с программируемым и адаптивным выбором линий передачи данных прошел проверку и показал свою работоспособность в составе прошивки программируемой логической интегральной схемы на макетных платах.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)
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)
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) |
-
2021
- 2021-07-09 RU RU2021120315A patent/RU2768535C1/en active
Patent Citations (5)
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 |