RU2766271C1 - Method for ensuring fault tolerance of memory elements - Google Patents
Method for ensuring fault tolerance of memory elements Download PDFInfo
- Publication number
- RU2766271C1 RU2766271C1 RU2021106922A RU2021106922A RU2766271C1 RU 2766271 C1 RU2766271 C1 RU 2766271C1 RU 2021106922 A RU2021106922 A RU 2021106922A RU 2021106922 A RU2021106922 A RU 2021106922A RU 2766271 C1 RU2766271 C1 RU 2766271C1
- Authority
- RU
- Russia
- Prior art keywords
- memory elements
- information
- data bus
- memory
- bit
- Prior art date
Links
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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и автоматике, и может быть использовано в ответственной аппаратуре, имеющей повышенные требования к надежности и не имеющей доступа для ремонта, например, в космических аппаратах.The invention relates to computer technology and automation, and can be used in critical equipment that has increased requirements for reliability and does not have access for repair, for example, in spacecraft.
Известен «Способ повышения надежности модулей памяти» (Буханова Г.В. «Высоконадежные оперативные запоминающие устройства, тенденции развития. Автоматика и телемеханика», 1993 год, выпуск 2, стр.23), заключающийся в том, что производится запись и считывание прямых и обратных кодов с последующим поразрядным сравнением.Known "Method of improving the reliability of memory modules" (Bukhanova G.V. "Highly reliable random access memory devices, development trends. Automation and telemechanics", 1993, issue 2, p. 23), which consists in recording and reading direct and reverse codes followed by bitwise comparison.
Недостатком указанного способа является низкая надежность, связанная с тем, что отказ одного модуля памяти вызывает отказ всего устройства.The disadvantage of this method is the low reliability due to the fact that the failure of one memory module causes the failure of the entire device.
Также известен «Способ повышения надежности модулей памяти» (Горшков В.Н. «Надежность оперативных запоминающих устройств ЭВМ». Л.: Энергоатомиздат, 1987), заключающийся в том, что для резервирования двух рабочих модулей памяти вводится резервный модуль, в который записываются кодовые комбинации, полученные путем сложения по модулю 2 двух слов из рабочих модулей памяти с одинаковыми адресами. При отказе одного из рабочих модулей памяти для исправления слова, записанного в нем, производится обращение к работоспособному и резервному модулям памяти, а истинное слово получается сложением выбранных слов по модулю 2. Also known is the “Method of increasing the reliability of memory modules” (Gorshkov V.N. “Reliability of random access memory devices of computers”. L .: Energoatomizdat, 1987), which consists in the fact that in order to reserve two working memory modules, a backup module is introduced into which code combinations obtained by modulo 2 addition of two words from working memory modules with the same addresses. If one of the working memory modules fails, to correct the word written in it, an appeal is made to the working and backup memory modules, and the true word is obtained by adding the selected words modulo 2.
Недостатком этого способа является низкая надежность, так как при отказе в цепи одного любого разряда шины данных (обрыв, короткое замыкание) в элементы памяти будет записываться и считываться ложная информация.The disadvantage of this method is low reliability, since in the event of a failure in the circuit of any one bit of the data bus (open, short circuit), false information will be written and read into the memory elements.
Наиболее близким к заявляемому решению по технической сущности и достигаемому техническому результату (прототипом) является «Способ обеспечения отказоустойчивости элементов памяти с использованием трехканального мажоритарного резервирования» (Буханова Г.В. «Высоконадежные оперативные запоминающие устройства, тенденции развития. Автоматика и телемеханика», 1993, выпуск 2, стр.13), в котором обращение в режимах записи и считывания производится одновременно ко всем трем элементам памяти, в режиме считывания информация с элементов памяти мажорируется по совпадению большинства выходных сигналов. The closest to the claimed solution in terms of technical essence and the achieved technical result (prototype) is the "Method of ensuring the fault tolerance of memory elements using three-channel majority redundancy" (Bukhanova G.V. "Highly reliable random access memory devices, development trends. Automation and telemechanics", 1993, issue 2, p. 13), in which all three memory elements are accessed simultaneously in the write and read modes, in the read mode information from the memory elements is majorized by the coincidence of most of the output signals.
Недостатком этого способа является низкая надежность, так как при отказе в цепи одного любого разряда шины данных (обрыв, короткое замыкание) во все три элемента памяти будет записываться и считываться ложная информация.The disadvantage of this method is low reliability, since in the event of a failure in the circuit of any one bit of the data bus (open, short circuit), false information will be written and read into all three memory elements.
Технической проблемой является повышение надежности элементов памяти. The technical problem is to increase the reliability of the memory elements.
Техническая проблема решается за счет того, что в способе обеспечения отказоустойчивости элементов памяти с использованием трехканального мажоритарного резервирования, информацию записывают в три элемента памяти последовательно: в первый элемент – без изменений в прямом коде, во второй элемент в инверсном коде, в третий элемент в прямом коде, но с перестановкой местами разрядов первой и второй половины шины данных; чтение осуществляют последовательно из первого, второго, третьего элементов памяти, считанную информацию c второго элемента памяти инвертируют, а информацию первой и второй половины разрядов шины данных c третьего элемента памяти переставляют местами, затем считанную информацию c первого элемента памяти и преобразованную информацию со второго и третьего элементов памяти поразрядно мажорируют. Далее, считанную информацию проверяют на достоверность, для чего информацию с первого, второго, третьего элементов памяти поразрядно сравнивают. Причем, если считанная информация в разряде совпала со всех трех элементов памяти, то данный разряд на шине данных неисправен, а если число таких разрядов расположенных только в первой или только во второй половине шины данных составляет половину или менее числа разрядов шины данных, то информация является достоверной. The technical problem is solved due to the fact that in the method of ensuring the fault tolerance of memory elements using three-channel majority redundancy, information is written to three memory elements sequentially: in the first element - without changes in the direct code, in the second element in the inverse code, in the third element in the direct code, but with a swapping of the bits of the first and second half of the data bus; reading is carried out sequentially from the first, second, third memory elements, the read information from the second memory element is inverted, and the information of the first and second half of the data bus bits from the third memory element is swapped, then the read information from the first memory element and the converted information from the second and third memory elements are bit-by-bit majorized. Further, the read information is checked for validity, for which the information from the first, second, third memory elements is compared bit by bit. Moreover, if the read information in the bit coincided with all three memory elements, then this bit on the data bus is faulty, and if the number of such bits located only in the first or only in the second half of the data bus is half or less than the number of data bus bits, then the information is reliable.
Техническим результатом будет являться создание способа, повышающего надежность за счет достоверности записи и считывания информации в элементы памяти при наличии неисправностей в цепях шины данных. The technical result will be the creation of a method that improves reliability due to the reliability of writing and reading information into memory elements in the presence of faults in the data bus circuits.
Сущность заявленного способа поясняется следующим образом.The essence of the claimed method is explained as follows.
Пусть необходимо запомнить код:Let's remember the code:
1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 - номера разрядов шины данных. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 - data bus bit numbers.
Допустим, в разрядах шины данных первой, второй, четвертой, пятой, восьмой неисправность типа постоянный «0», а в разрядах шины данных третьей, шестой, седьмой неисправность типа постоянный «1», тогда записываемая информация будет следующая (последовательность):Suppose, in the first, second, fourth, fifth, eighth bits of the data bus, there is a constant “0” type malfunction, and in the third, sixth, seventh data bus bits there is a constant “1” type malfunction, then the recorded information will be as follows (sequence):
1) в первый элемент памяти (в прямом коде)1) to the first memory element (in direct code)
0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
2) во второй элемент памяти (инвертируемая информация)2) to the second memory element (inverted information)
0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
3) в третий элемент памяти (в прямом коде, но первый байт меняем местами со вторым)3) to the third memory element (in direct code, but the first byte is interchanged with the second)
0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
При считывании информация будет следующая (последовательность): When reading, the information will be as follows (sequence):
1) с первого элемента памяти 1) from the first memory element
0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1
2) со второго элемента памяти 2) from the second memory element
0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0
3) с третьего элемента памяти 3) from the third memory element
0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 . 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 .
Затем информацию второго элемента памяти инвертируем:Then we invert the information of the second memory element:
1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1
В информации третьего элемента памяти первый байт меняем местами со вторым:In the information of the third memory element, the first byte is interchanged with the second:
1 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0
Теперь информацию, полученную с первого элемента памяти, инвертируемую информацию со второго элемента памяти и переставленную информацию с третьего элемента памяти поразрядно мажорируем «2 из 3»: Now the information received from the first memory element, the inverted information from the second memory element, and the permuted information from the third memory element are bit-by-bit majorized "2 out of 3":
0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1
1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1
1 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0
1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 - результат поразрядного мажорирования. 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 is the result of bitwise majorization .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 - номера разрядов шины данных. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 - data bus bit numbers.
Значение в первом, втором, третьем четвертом, пятом, шестом, седьмом, восьмом разряде восстановились. То есть информация сохранена верно, парировано восемь неисправностей в первой половине шины данных.The value in the first, second, third, fourth, fifth, sixth, seventh, eighth digits recovered. That is, the information was stored correctly, eight faults were parried in the first half of the data bus.
Проверяем правильность (достоверность) принятой информации, путем поразрядного сравнения информации с первого, второго, третьего элементов памяти: We check the correctness (reliability) of the received information by bitwise comparison of information from the first, second, third memory elements:
0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 с первого элемента памяти, 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 from the first memory element,
0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 со второго элемента памяти, 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 from the second memory element,
0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 с третьего элемента памяти. 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 from the third memory element.
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 результат поразрядного сравнения, где: 1 – совпадение результата сравнения, а 0 – не совпадение. 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 is the result of a bitwise comparison, where: 1 is the match result of the comparison, and 0 is not a match.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 номера разрядов шины данных. Все единицы в первой половине шины данных указывают на неисправность шины (8 разрядов, в которых предполагали неисправности), однако, так как число разрядов с совпавшей информацией не превышают половины разрядов шины данных, то данные достоверны. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 data bus bit numbers. All ones in the first half of the data bus indicate a bus failure (8 bits in which failures were assumed), however, since the number of bits with matching information does not exceed half the bits of the data bus, the data is reliable.
Аналогично исправляется информация при неисправностях во второй половине шины данных (во втором байте). Similarly, information is corrected in case of malfunctions in the second half of the data bus (in the second byte).
Данный способ позволяет парировать отказы в шине данных, в устройствах ввода-вывода формирующих шину данных, а также в элементах памяти.This method allows parrying failures in the data bus, in the input-output devices forming the data bus, and also in the memory elements.
Способ особенно эффективен для программируемого постоянного запоминающего устройства, где необходимо считывать достоверную информацию через длительные промежутки времени без записи, например, после пропадания питания.The method is especially effective for a programmable read-only memory device, where it is necessary to read reliable information at long intervals without recording, for example, after a power failure.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2021106922A RU2766271C1 (en) | 2021-03-17 | 2021-03-17 | Method for ensuring fault tolerance of memory elements |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2021106922A RU2766271C1 (en) | 2021-03-17 | 2021-03-17 | Method for ensuring fault tolerance of memory elements |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2766271C1 true RU2766271C1 (en) | 2022-02-10 |
Family
ID=80214962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2021106922A RU2766271C1 (en) | 2021-03-17 | 2021-03-17 | Method for ensuring fault tolerance of memory elements |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2766271C1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWM286985U (en) * | 2005-08-22 | 2006-02-01 | Regulus Technologies Co Ltd | Memory module with smart-type power-saving and fault-tolerance |
RU2327236C2 (en) * | 2005-12-29 | 2008-06-20 | Федеральное государственное унитарное предприятие Московское опытно-конструкторское бюро "Марс" (ФГУП МОКБ "Марс") | Random access memory with high extent of fault tolerance |
US20160147620A1 (en) * | 2013-06-28 | 2016-05-26 | Hewlett-Packard Development Company, L.P. | Fault tolerance for persistent main memory |
US20170270017A1 (en) * | 2016-03-18 | 2017-09-21 | Alibaba Group Holding Limited | Implementing fault tolerance in computer system memory |
-
2021
- 2021-03-17 RU RU2021106922A patent/RU2766271C1/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWM286985U (en) * | 2005-08-22 | 2006-02-01 | Regulus Technologies Co Ltd | Memory module with smart-type power-saving and fault-tolerance |
RU2327236C2 (en) * | 2005-12-29 | 2008-06-20 | Федеральное государственное унитарное предприятие Московское опытно-конструкторское бюро "Марс" (ФГУП МОКБ "Марс") | Random access memory with high extent of fault tolerance |
US20160147620A1 (en) * | 2013-06-28 | 2016-05-26 | Hewlett-Packard Development Company, L.P. | Fault tolerance for persistent main memory |
US20170270017A1 (en) * | 2016-03-18 | 2017-09-21 | Alibaba Group Holding Limited | Implementing fault tolerance in computer system memory |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5392302A (en) | Address error detection technique for increasing the reliability of a storage subsystem | |
US4730320A (en) | Semiconductor memory device | |
EP4071762B1 (en) | Error correction system | |
EP4050608B1 (en) | Comparator with xor and xnor logic circuits | |
US4819205A (en) | Memory system having memory elements independently defined as being on-line or off-line | |
US3898443A (en) | Memory fault correction system | |
EP4053701B1 (en) | Memory system | |
WO1990002374A1 (en) | Failure detection for partial write operations for memories | |
RU2766271C1 (en) | Method for ensuring fault tolerance of memory elements | |
US11681458B2 (en) | Memory device and method reading data | |
CN116072207B (en) | Fault addressing circuit and memory | |
WO2022151724A1 (en) | Error correction system | |
US5128947A (en) | Self-checking memory cell array apparatus | |
RU76479U1 (en) | MEMORY DEVICE WITH DUAL ERROR DETECTION | |
SU754485A1 (en) | Self-checking storage | |
CN114765053B (en) | Comparison system | |
SU714496A1 (en) | Storage | |
Shabana et al. | An integrated ECC and BIST scheme for Error correction in memory | |
RU1795520C (en) | Semiconductor on-line storage with correction of information | |
SU1367046A1 (en) | Memory device with monitoring of error detection circuits | |
SU1075312A1 (en) | Storage with error correction | |
SU1531175A1 (en) | Memory | |
SU1215140A1 (en) | Storage with self-check | |
SU1238163A1 (en) | Storage with self-check | |
SU439020A1 (en) | Autonomous control storage device |