KR100981659B1 - 산업용 컨트롤러 - Google Patents

산업용 컨트롤러 Download PDF

Info

Publication number
KR100981659B1
KR100981659B1 KR20080042983A KR20080042983A KR100981659B1 KR 100981659 B1 KR100981659 B1 KR 100981659B1 KR 20080042983 A KR20080042983 A KR 20080042983A KR 20080042983 A KR20080042983 A KR 20080042983A KR 100981659 B1 KR100981659 B1 KR 100981659B1
Authority
KR
South Korea
Prior art keywords
modular arithmetic
numerical data
arithmetic
code
modular
Prior art date
Application number
KR20080042983A
Other languages
English (en)
Other versions
KR20080099806A (ko
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
Priority to JPJP-P-2007-00125065 priority Critical
Priority to JP2007125065A priority patent/JP2008282178A/ja
Application filed by 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20080099806A publication Critical patent/KR20080099806A/ko
Application granted granted Critical
Publication of KR100981659B1 publication Critical patent/KR100981659B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communication involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/085Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes

Abstract

본원발명의 산업용 컨트롤러에서, 제1 산술 연산기(11)는 중앙 제어기(31)로부터의 명령에 의하여 전송된 수치 데이터를 모듈러 산술 부호로 부호화하기 위한 제1 모듈러 산술 부호화용 부호기(11a), 모듈러 산술 부호의 형식으로 출력을 제공하기 위하여, 상기 중앙 제어기(13)로부터 명령에 기초한 산술 연산의 실행을 위한, 모듈러 산술 부호화된 상기 수치 데이터를 입력 인자로서 이용하는 제1 산술 연산 프로세서(11b) 및 복호된 수치 데이터를 출력하기 위하여, 상기 제1 산술 연산 프로세서로부터의 수치 데이터 출력 내의 비트 에러의 존부를 결정하고, 만약 검출된 경우, 비트 에러를 정정하기 위한 제1 모듈러 산술 부호 복호기(11c)를 포함한다.
고장 방지 기술, 모듈러 산술 부호화용 부호기, 모듈러 산술 부호 복호기, 에러 위치 결정기

Description

산업용 컨트롤러{INDUSTRIAL CONTROLLER}

본원발명은 산업용 컨트롤러에 관한 것으로, 특히 연산에 의해 처리될 수치 데이터에 관한 고장 방지 기술(fault-tolerant technique)을 설명한다.

사회 기반 시설의 제어에 관해서, 사용중인 산업용 컨트롤러가 대부분 24 시간 서비스로 채용되는 것은 기정사실이다. 그러한 산업 컨트롤러들은 그들의 서비스 도중 오류 없는 연산 처리를 요구하는 시스템에서 채용된다. 따라서 부분적으로 유발되는 문제가 있더라도, 전반적으로 정상적 처리들이 계속되도록 할 수 있는 고장 방지 시스템의 역할이 커지고 있다.

이러한 환경은, 주로 메모리 같은 저장 시스템 내에서 최초인 것으로, 오류 정정 부호(error correcting code)를 이용하는 고장 방지 기술의 도입뿐만 아니라, 부호 이론의 발달에 의거해 있다.(비특허 문헌 1)

[비특허 문헌 1] Akio Fukuhara, Munehiro Gotoh. "Sanzyutsu Fugou Riron", in Arithmetic code theory.(Corona Ltd., Japan, April 1978), pp. 32-72, 97-181.

[특허 문헌 1] 일본 공개특허공보 제2665113호.

저장 시스템에서는, (1)연산 회로보다 구성 요소의 개수가 더 많고 (2)연산 회로보다 더 높은 신뢰성 요소 때문에, 다른 것보다, 고장 방지 기술의 실행은 피할 수 없는 것이다. 연산 회로로서 참조되고 있는 것은 승(乘), 제(制) 뿐만 아니라 가(加), 감(減)과 같은 산술 연산을 위한 연산 회로와 그들의 제어 회로로 구성되는 회로이다.

반면, 연산 회로에서는, 저장 시스템보다 (1)적은 구성요소의 개수, (2)낮은 신뢰성 요소, (3)더 큰 구현 비용과 같은 이유들 때문에 고장 방지 기술의 실행은 그리 중요시되지 않았다.

그러나, 반도체 프로세스 기술 분야에서, 과거에는 충분히 확보되었던 마진과 함께 견고한 회로를 설계하는 데 있어 증가하는 어려움을 수반하면서, 보다 고밀도와 고속에 대한 요구의 응답으로서, 논리 회로의 더욱 정교한 제작의 발달이 최근 관찰되고 있다.

이것은 논리 회로 내 미세한 입자로 인한 소프트웨어 오류를 야기한다.

사실은, 산업용 컨트롤러 등과 같은 연산 회로에서조차도 회로의 더욱 정교한 제작의 발달은 미세한 입자로 인한 소프트웨어 오류의 발생 가능성의 증가를 동반한다.

반면, 그러한 시스템에서, 연산에 의해 처리될 양과 연산 속도의 증가에 대한 기대를 충족시키는 것만큼 필수적인, 높은 신뢰성이 제공된 시스템을 위해, 연산 회로를 병렬화하기 위한 시도가 적극적으로 행해지고 있다.

이 점에서, 원하는 만큼의 하나 또는 그 이상의 인자가 입력 수행되고, 결함 율이 높은 연산기 시스템으로부터 분리 구성되는 논리 연산을 위한 복수의 연산기가 제공되는 연산 프로세서가 최근 알려져 있어, 다른 연산기로 하여금 그 연산기에 할당된 연산 처리를 재실행하게 하고, 심지어 시스템 기능의 손상이 없이 신뢰성이 보장되는 것을 가능하게 한다. (특허 문헌 2).

[특허 문헌 2] 일본 공개특허공보 제2006-228121호

그러나, 특허 문헌 1에서 나타내는 것과 같은 오류 정정 부호를 사용한 고장 방지 기술에 관해서, 산업용 컨트롤러에 적용할 경우 산술 연산을 제외한 논리 연산에서는 비트 에러의 검출 및 정정이 가능할 수 있지만, 산술 연산에서는 비트 에러의 검출 및 정정의 어려움이 있을 수 있다.

반면, 특허 문헌 2에서 나타내는 그러한 고장 방지 시스템은, 바꿔말하면, 복수의 연산기들이 제공되고, 논리 연산 전의 부호화에 의해 얻어진 부호와 논리 연산 후의 부호화에 의해 얻어지는 부호를 비교하고, 그들 간에 정합/부정합에 의해 결함 있는 연산을 검출하고, 소정의 주파수보다 결함의 발생 수가 큰 연산기 또는 연산기들을 시스템으로부터 분리하는 증가된 연산기들과 함께, 중복된 시스템이 되는 것이 당연하다. 결과로서 생기는 연산기 수의 증가는 에러 발생 가능성의 증가뿐만이 아닌, 구성의 복잡화 또한 일으킬 수 있다..

게다가, 산업용 컨트롤러에서와 같은 경우, 소정의 제어 주기 내에 반응하기 위한 정정 처리에 의해, 매 연산마다 일시적 비트 에러가 정정되어야 할 요구에 대처하는데 어려움을 만들 수 있다.

본원발명은 상기 문제점을 해결하기 위해 고안되었고, 본원발명의 목적은, 간단한 구성으로, 수치 데이터 연산에서의 비트 에러가 각 연산 명령에 따라 실시간으로 검출되고 정정될 수 있는 산업용 컨트롤러를 제공하는 것이다.

본원발명의 일 태양에 따르면, 산업용 컨트롤러는, 상기 산업용 컨트롤러의 제어 프로그램과, 모듈러 산술 부호화용의 매개 변수 및 산술 연산의 매개 변수를 포함하는 주어진 수치 데이터로서의 제어 매개 변수를 그 안에 저장하기 위해 구성된 저장 장치; 수치 데이터를 입력하기 위해 구성된 입력 인터페이스; 입력된 상기 수치 데이터와 상기 주어진 수치 데이터를 모듈러 산술 부호로 부호화하기 위하여 상기 모듈러 산술 부호화용으로 구성된 모듈러 산술 부호화용 부호기, 처리된 상기 모듈러 산술 부호를 제공하기 위하여 상기 모듈러 산술 부호에 상기 산술 연산을 적용하는 처리를 위해 구성된 산술 연산 프로세서, 및 정정된 수치 데이터를 제공하기 위하여 처리된 상기 모듈러 산술 부호로부터 실시간으로 비트 에러를 검출하고 검출된 상기 비트 에러를 실시간으로 정정하기 위해 구성된 모듈러 산술 부호 복호기를 포함하는 산술 연산기; 상기 정정된 수치 데이터를 출력하기 위해 구성된 출력 인터페이스; 및, 상기 산술 연산기로 하여금 상기 제어 매개 변수를 이용한 상기 제어 프로그램에 기초하여 상기 산술 연산을 실행하게 하기 위해 구성된 중앙 제어기를 포함한다.

본원발명의 다른 태양에 따르면, 산업용 컨트롤러는, 상기 산업용 컨트롤러를 위한 제어 프로그램과, 모듈러 산술 부호화용의 매개 변수 및 산술 연산의 매개 변수를 포함하는 주어진 수치 데이터로서의 제어 매개 변수를 그 안에 저장하기 위해 구성된 저장 장치부; 입력 수치 데이터를 제1 모듈러 산술 부호로 부호화하기 위하여 상기 모듈러 산술 부호화용을 위해 구성된 모듈러 산술 부호화용 부호기를 포함하는 입력 인터페이스; 연산된 모듈러 산술 부호를 제공하기 위하여, 상기 제1 모듈러 산술 부호와, 상기 주어진 수치 데이터가 모듈러 산술 부호화된 제2 모듈러 산술 부호의 산술 연산을 위해 구성된 산술 연산기; 제1 정정된 수치 데이터를 제공하기 위하여, 상기 연산된 모듈러 산술 부호로부터 비트 에러를 실시간으로 검출하고, 검출된 상기 비트 에러를 실시간으로 정정하기 위해 구성된 제1 모듈러 산술 부호 복호기를 포함하는 출력 인터페이스; 및, 상기 산술 연산기로 하여금 상기 제어 매개 변수를 이용한 상기 제어 프로그램에 기초하여 상기 산술 연산을 실행하게 하기 위해 구성된 중앙 제어기를 포함하고, 상기 저장 장치부는, 상기 중앙 제어기에 의해 지정된 어드레스 데이터의 모듈러 산술 부호를 복호하기 위해 구성된 제2 모듈러 산술 부호 복호기, 및 상기 제어 매개 변수의 모듈러 산술 부호를 그 내부에 저장하기 위해 구성된 저장 장치를 포함한다.

본원발명에서는 간단한 구성으로 수치 데이터 연산에서의 비트 에러가 각 연산 명령에 따라 실시간으로 검출되고 정정될 수 있는 산업용 컨트롤러를 제공할 수 있다.

첨부된 도면을 참조하여, 본원발명의 바람직한 실시예를 이하에서 상세하게 설명할 것이다.

[제1 실시예]

도 1 내지 도 9를 참조하여, 본원발명의 제1 실시예에 의한 산업용 컨트롤러에 대해 설명한다.

도 1은 제1 실시예에 의한 산업용 컨트롤러의 구성을 나타낸다. 이 산업용 컨트롤러는, 수치 데이터의 산술 연산을 위한 제1 산술 연산기(11), 논리 데이터의 논리 연산을 위한 논리 연산기(12), 제어될 프로세스들과 그와 비슷한 것을 제어하기 위한 제어 프로그램을 그 안에 저장하기 위한 저장 장치(20), 제어될 대상의 상태를 검출하기 위하여 센서로부터의 입력 신호와 같이 입력될 신호를 위한 입력 인터페이스로서의 입력 회로(40a) 및 제어될 대상을 제어하기 위한 구동기로의 출력 신호와 같은, 출력될 신호를 위한 출력 인터페이스로서의 출력 회로(40b)로 구성되는 I/O 인터페이스(40), 입력 회로(40a)로부터 입력 데이터를 받아들이고, 제1 산술 연산기(11) 및 논리 연산기(12)로의 소정의 연산 명령을 주고, 관련된 연산 처리 후 출력 회로(40b)로 하여금 출력될 데이터를 출력하게 하는 제어 프로그램을 행하기에 적합한 중앙 제어기(13) 및 그들 간의 연결을 위한 버스(30)로 구성된다.

상기 제1 산술 연산기(11), 논리 연산기(12) 및 중앙 제어기(13)는 "CPU(central processing unit)"라 부르는 조합을 구성할 수 있다.

산업용 컨트롤러에 관해서, 그 안의 연산에 의해 처리될 데이터는 수치 데이터 및 논리 데이터로 분류된다. 논리 데이터는, 예를 들면, 경보 신호를 위한 것 같은, 디지털 회로를 경유하는 입력인 반면에, 수치 데이터는, 예를 들면, 온도 센서로부터 나오는 것 같은, 아날로그 신호의 디지털 변환을 위한 ADC(analog to digital conversion) 회로를 경유하는 입력이다.

상기 수치 데이터와 논리 데이터는 제1 산술 연산기(11) 및 논리 연산기(12)의 입력 인자로 주어지고, 각각 중앙 제어기(13)로부터의 명령에 따른 연산에 의해 처리된다.

도 2 내지 도 7은 수치 데이터의 연산 실행을 위하여 제1 산술 연산기(11)가 갖거나 가질 수 있는 예시적인 구성을 나타낸다. 제1 산술 연산기(11)는 2진 순회(巡廻) AN 부호에 의해 버스(30)을 통하는 입력 인자를 부호화하도록 구성되는 제1 모듈러 산술 부호화용 부호기(11a), 중앙 제어기(13)로부터 주어진 산술 명령에 따라 부호화(모듈러 산술 부호로서)된 산술 데이터의 연산을 위해 구성되는 제1 산술 연산 프로세서(11b) 및 모듈러 산술 부호로서 출력 내에 비트 에러의 존부를 결정하고 결정된 에러 비트를 정정하는 동안, 제1 산술 연산 프로세서(11b)의 연산의 출력을 수치 데이터로 전환하고, 정정된 수치 데이터를 복호하여 출력하도록 구성되는 제1 모듈러 산술 부호 복호기(11c)를 포함한다.

이제 제1 산술 연산기(11)의 부분들에 대한 상세한 설명을 한다. AN 부호는 '생성수(生成數, generator)'라 불리는 특수한 자연수 A 및 부호화가 될 정수로서 정보 숫자, 즉 'codeword'로 일컫는 N의, AN 생성물 집합을 의미한다. 2진 표기법에서의 codeword 는 '2진 AN 부호'로 일컫는다. 또한, 2진 순열 안에 완결되는 경우는 2진 AN 부호는 '2진 순회 AN 부호'로 일컫는다. 이 부호는 처리되는 정보와 관련해서, 비트 에러 정정 능력에 기인한 최적 부호의 선택을 가능하게 한다. (예를 들면, 비특허 문헌 1, p238, appendix B, 'exemplary optimum codes')

2진 순회 AN 부호의 매개 변수의 집합을 아래와 같이 가정해 본다.

생성수 A = 47( A=101111(2진 표기법) : 6 비트);

정보 숫자 N의 길이 = 17 비트;

부호 길이 n = 23 비트;

부호 간 최소 모듈러 산술 길이 = 3.

이 경우, 도 2에 나타낸 바와 같이, 입력 인자로 주어지는 수치 데이터 (N)의 부호화를 위해 구성될 제1 모듈러 산술 부호화용 부호기(11a)는, 생성수 A에 의해 입력 수치 데이터를 곱하기 위한 제1 곱셈기(11a1)와 법(法, modulus) M(=223-1)에 의해 제1 곱셈기(11a1)의 출력을 나누기 위한 제1 나눗셈기(11a2)로 구성된다.

또한, 도 3에 나타낸 바와 같이, 제1 모듈러 산술 부호 복호기(11c)는, 제1 산술 연산 프로세서(11b)의 연산 후 모듈러 산술 부호 내의 신호 출력을 받아, 몫과 나머지를(신드롬으로서) 결정하기 위해 전술한 생성수 A에 의해 나누는 제2 나눗셈기(11c1), 몫 내의 에러 비트의 존부와 에러 비트의 위치를 신드롬으로부터 결정하기 위하여 미리 저장된 신드롬 테이블을 참조하기 위한 에러 위치 결정기(11c2) 및 에러 위치 결정기에 의해 결정된 에러 비트 위치 내의 비트 신호를 정정하고 정정된 수치 데이터를 출력하기 위한 에러 비트 정정기(11c3)로 구성된다.

입력 인자의 산술 연산을 위한 명령에 의한 제1 산술 연산 프로세서(11b)의 모범적인 구성에 대해 설명할 것이다. 먼저, 중앙 제어기(13)로부터의 덧셈 산술 명령을 위해서, 도 4에서 예시한 바와 같이, 제1 산술 연산 프로세서(11b)는, 입력 인자 X와 입력 인자 Y의 덧셈을 위한 덧셈기(11b1)와, 법 M에 의해 덧셈기(11b1)의 출력의 나눗셈을 위한 나눗셈기(11b2)로 구성된다.

뺄셈 산술 명령을 위해서, 도 5에서 예시한 바와 같이, 제1 산술 연산 프로세서(11b)는, 입력 인자 X로부터 입력 인자 Y를 빼기 위한 뺄셈기(11b3)와, 법 M에 의해 뺄셈기(11b3)의 출력을 나누기 위한 나눗셈기(11b2)로 구성된다.

곱셈 산술 명령을 위해서, 도 6에서 예시한 바와 같이, 제1 산술 연산 프로세서(11b)는, 생성수 A에 의한 나누기가 뒤따르는, 입력 인자 X와 입력 인자 Y의 곱셈을 위한 곱셈기(11b4)와, 법 M에 의해 곱셈기(11b4)의 출력을 나누기 위한 나눗셈기(11b2)로 구성된다.

나눗셈 산술 명령을 위해서, 도 7에서 예시한 바와 같이, 제1 산술 연산 프로세서(11b)는, 생성수 A에 의한 나누기가 뒤따르는 입력 인자 Y에 의해 입력 인자 X를 나누기 위한 나눗셈기(11b5)와, 법 M에 의해 나눗셈기(11b5)의 출력을 나누기 위한 나눗셈기(11b2)로 구성된다.

도 8 및 도 9를 참조하여, X = 2 및 Y = 3 와 같은 입력 인자의 주어진 수치 데이터의 덧셈 산술 명령을 예로 들어, 제1 산술 연산기(11)의 연산 내의 비트 에러 정정의 작용의 상세한 설명을 한다.

먼저, 두 개의 입력 인자 X = 2 및 Y = 3 가 제1 모듈러 산술 부호화용 부호기(11a)에서 생성수 A=47 에 의해 각각 곱해지고, 그 후, 제1 나눗셈기(11a2)에서 법 M(=223 - 1)에 의해 각각 나누어져, 수치 데이터 "94" 및 "141"이 출력된다.

그리고, 상기 수치 데이터 "94" 및 "141"의 덧셈이 제1 산술 연산 프로세서(11b)에서 실행된다. 결과로서, 비트 에러가 없는 수치 데이터 "235"가 출력된다. 2진 표기법에서의 이 연산은 아래와 같다.

00000000000000001011110 + 00000000000000010001101 = 00000000000000011101011

다음에, 제1 모듈러 산술 부호 복호기(11c)의 제2 나눗셈기(11c1)에서, 수치 데이터 "235"가 생성수 A=47 에 의해 나누어져, 몫 "5"와 나머지 "0"의 결과가 된다. 이 경우에, 즉, 에러 위치 결정기(11c2)로부터 보고된 에러 비트 위치가 없기 때문에, 수치 데이터 "5"가 에러 비트 정정기(11c3)로부터의 출력이다.

그러나, "94" 및 "141"의 덧셈의 결과로서 "171(2진 표기법으로 00000000000000010101011 )"이 주어지는, 상기 연산의 실행 중 1 비트 에러의 발생의 경우에서는, 수치 데이터 "171"은 제1 모듈러 산술 부호 복호기(11c)의 제2 나눗셈기(11c1)에서 생성수 A=47 에 의해 나누어지고, 몫 "3", 나머지 "30"의 결과가 된다. 그리고, 에러 위치 결정기(11c2)는, 도 9에서 나타내는 신드롬 테이블(11c21)로부터, 몫의 에러 비트 위치가 신드롬 "30"에 상응하는 "6"이라는 결정을 한다. 또한, 에러가 예를 들어 E- 인 경우, 에러 위치의 비트를 "0"으로 결정한다. E+ 에 대해서는, 에러 위치의 비트를 "1"로 결정한다.

상기 언급한 결과는 에러 비트 정정기(11c3)에 보고되어, 몫의 에러 비트 위치 "6"에 상응하는 7번째 비트의 값이 0에서 1로 재작성되고, 정정된 수치 데이터가 출력된다.

앞으로 설명될 것과 같이, 본 실시예에서, 2진 순회 AN 부호가 사용되는 곳에서는, 한 개의 산술 연산 명령마다 실시간으로, 모듈러 산술 부호를 복호할 때 신드롬의 값에 의한 수치 데이터 에러의 검출 및 정정 모두가 실현될 수 있다.

본 실시예에 따르면, 어떤 점에서는, 산업용 컨트롤러는 수치 데이터가 입력되게 구성된 입력 인터페이스(40a), 입력 수치 데이터를 모듈러 산술 부호로 부호화하기 위하여 모듈러 산술 부호화를 위해 구성된 모듈러 산술 부호화용 부호기(11a), 처리된 모듈러 산술 부호를 제공하기 위하여 모듈러 산술 부호에 산술 연산을 적용시키는 처리를 위해 구성된 산술 연산 프로세서(11b) 및 정정된 수치 데이터를 제공하기 위해 처리된 모듈러 산술 부호로부터 실시간으로 비트 에러를 검출하고 검출된 비트 에러를 실시간으로 정정하기 위해 구성된 모듈러 산술 부호 복호기(11c)를 포함하는 산술 연산기(11), 정정된 수치 데이터를 출력하기 위해 구성된 출력 인터페이스(40b), 모듈러 산술 부호화의 매개 변수와 제어 프로그램을 그 안에 저장하기 위해 구성된 저장 장치(20) 및 매개 변수를 이용한 제어 프로그램에 기초하여 산술 연산기로 하여금 산술 연산을 실행하게 하기 위해 구성된 중앙 제어기(13)를 포함한다. 상기 모듈러 산술 부호화용 부호기(11a)는, 곱셈된 수치 데이터를 제공하기 위하여 2진 순회 AN 부호의 소정의 생성수에 의한 입력 수치 데이터의 곱셈을 위해 구성된 곱셈기(11a1)와 모듈러 산술 부호를 제공하기 위하여 생성수와 상응하는 소정의 법에 의한 곱셈된 수치 데이터의 나눗셈을 위해 구성된 제1 나눗셈기(11a2)를 포함하고, 상기 모듈러 산술 부호 복호기(11c)는 몫과 나머지를 결정하기 위하여 생성수에 의해 처리된 모듈러 산술 부호의 나누기를 위해 구성된 제2 나눗셈기(11c1), 나머지로부터 에러 비트 위치를 결정하기 위하여 저장된 신드롬 테이블의 참조를 위해 구성된 에러 위치 결정기(11c2) 및 정정된 수치 데이터를 제공하기 위하여 에러 비트 위치와 상응하는 몫의 에러 비트의 정정을 위해 구성된 에러 비트 정정기(11c3)를 포함한다.

또한, 어떤 면에서는, 산업용 컨트롤러는 산술 연산될 수치 데이터의 부호화 및 에러 비트를 정정하기 위한 산술 연산 후의 데이터의 복호를 조합 구성한 산술 연산기(11), 논리 데이터의 논리 연산을 위해 구성된 논리 연산기(12), 앞으로 저장될 연산 매개 변수의 집합과 제어 프로그램의 저장을 위해 구성된 저장 장치부(20), 수치 데이터와 논리 데이터의 입력 및 수치 연산 후의 수치 데이터와 논리 연산 후의 논리 데이터의 출력을 위해 구성된 I/O 인터페이스(40), 제어 프로그램의 실행을 위한 수치 연산기와 논리 연산기로의 소정의 명령을 출력하기 위해 구성된 중앙 제어기(13) 및 이들 간의 연결을 위해 구성된 버스(30)를 포함하고, 상기 산술 연산기(11)는 중앙 제어기로부터 출력된 명령에 의해 거기에 전송된 수치 데이터를 모듈러 산술 부호로 부호화하기 위해 구성된 모듈러 산술 부호화용 부호기(11a), 모듈러 산술 부호로서 출력을 제공하기 위하여 중앙 제어기로부터의 명령에 따라 부호화된 수치 데이터를 입력 인자로서 연산을 실행하기 위해 구성된 산술 연산 프로세서(11b) 및 복호된 수치 데이터를 출력하기 위하여 산술 연산 프로세서의 출력 데이터 내의 비트 에러의 존부의 결정 및 검출된, 만약 검출되었다면, 비트 에러의 정정을 조합 구성한 모듈러 산술 부호 복호기(11c)를 포함하게 되어, 산술 연산기 내에 발생된 비트 에러가 연산 도중에 정정 가능하게 된다. 상기 모듈러 산술 부호화용 부호기(11a)는 2진 순회 AN 부호의 소정의 생성수에 의한 수치 데이터의 곱셈을 위해 구성된 곱셈기(11a1) 및 2진 순회 AN 부호의 생성수와 상응하는 소정의 법에 의해 곱셈의 출력을 나누기 위해 구성된 제1 나눗셈기(11a2)를 포함하고, 상기 모듈러 산술 부호 복호기(11c)는 몫과 신드롬으로서의 나머지를 결정하기 위하여 생성수에 의해 산술 연산 프로세서의 출력을 나누기 위해 구성된 제2 나눗셈기(11c1), 에러 비트 위치를 결정하기 위해 제2 나눗셈기의 출력 내 검출된 나머지에 꼭 알맞은 미리 저장된 신드롬의 참조를 위해 구성된 에러 위치 결정기(11c2) 및 수치 데이터로서 출력을 제공하기 위하여 에러 위치 결정기의 에러 비트 위치 출력과 관련한 몫의 에러 비트를 정정하기 위해 구성된 에러 비트 정정기(11c3)를 포함한다.

[제2 실시예]

도 10을 참조하여, 본원발명의 제2 실시예에 의한 산업용 컨트롤러의 설명을 하겠다. 도 10에서 예시된 제2 실시예에 대해서는, 중복된 설명을 배제하기 위하여, 제1 실시예와 동일한 부분은 동일한 참조용 부호에 의해 지정된다.

본 실시예와 제1 실시예와 다른 점은, 후자는 제1 산술 연산기(11)에서 수치 데이터를 모듈러 산술 부호로 복호하고, 비트 에러를 정정하기 위하여 산술 연산 후의 모듈러 산술 부호 내의 수치 데이터의 신드롬의 값으로부터 비트 에러를 결정하는데 반해, 전자는 I/O 인터페이스(40)로 입력되는 입력 데이터 중에서, 모듈러 산술 부호들로 하여금 거기에서 발생하게 하는 수치 데이터, 즉 버스(30)을 통하여 수용될 수치 데이터가 모두 모듈러 산술 부호로 주어지고, I/O 인터페이스(40)로부터 출력될 수치 데이터는 모듈러 산술 부호의 복호 처리를 받게 되어서, 수치 데이터의 비트 에러가 정정되게 된다.

I/O 인터페이스(40)는 입력 인터페이스와 출력 인터페이스를 갖는다. 입력 인터페이스는, 논리 데이터 입력 회로(40a1), 아날로그 신호의 디지털 신호로의 변 환을 위한 ADC를 갖는 수치 데이터 입력 회로(40a2) 및 입력 회로(40a2)에서 디지털화된 수치 데이터가 모듈러 산술 부호들로 부호화되어 출력될 제2 모듈러 산술 부호화용 부호기(41)를 구비한다.

출력 인터페이스는, 논리 데이터 출력 회로(40b1)와 수치 데이터 출력 회로(40b2)로 이루어져 있는 출력 회로(40b) 및, 버스(30)를 통하여 출력된 모듈러 산술 부호화된 수치 데이터를 수용하고 몫과 나머지(신드롬)를 결정하고 신드롬의 값으로부터 비트 에러와 그것의 발생 위치를 결정하고 비트 에러가 있을 경우 정정하고 정정된 수치 데이터를 출력하기 위해 구성된 제2 모듈러 산술 부호 복호기(42)를 구비한다.

제2 모듈러 산술 부호화용 부호기(41)는 제1 모듈러 산술 부호화용 부호기(11b)와 일치된 구성을 갖고, 제2 모듈러 산술 부호 복호기(42)는 제1 모듈러 산술 부호 복호기(11c)와 일치된 구성을 갖는다.

제2 산술 연산기(14) 뿐만 아니라 중앙 제어기(13)도 모든 관련된 수치 데이터를 모듈러 산술 부호로 처리하기 위해 구성된다.

또한, 저장 장치(21)는, 수치 데이터 입력 회로(40a2)를 통하여 통과한 적이 없는 수치 데이터를 포함한 수치 데이터를 모듈러 산술 부호들로서 저장하기 위해 구성된 저장 장치(21b) 및, 중앙 제어기(13)로부터 전송되고 모듈러 산술 부호화된 명령들의 어드레스 데이터와 관련한 어드레스 신호로 복호하기 위해 구성된 제3 모듈러 산술 부호 복호기(21a)를 갖는 부문으로서 완성된다.

따라서, 본 실시예는, 단지 산술 연산 중의 수치 데이터의 비트 에러만이 아 닌, 경로 에러나 그 비슷한 것에 기인한 수치 데이터의 비트 에러까지 I/O 인터페이스(40)에서 정정하는 것을 가능하게 한다.

본 실시예에 의하면, 어떤 점에서, 산업용 컨트롤러는, 입력 수치 데이터를 모듈러 산술 부호로 부호화하기 위한 모듈러 산술 부호화를 위해 구성된 모듈러 산술 부호화용 부호기(41)를 포함하는 입력 인터페이스(40a), 연산된 모듈러 산술 부호를 제공하기 위하여 모듈러 산술 부호의 산술 연산을 위해 구성된 산술 연산기(14), 제1 정정된 수치 데이터를 제공하기 위하여 연산된 모듈러 산술 부호로부터 실시간으로 비트 에러를 검출하고 검출된 비트 에러를 실시간으로 정정하기 위해 구성된 제1 모듈러 산술 부호 복호기(42)를 포함하는 출력 인터페이스(40b), 모듈러 산술 부호화의 매개 변수와 제어 프로그램을 그 안에 저장하기 위하여 구성된 저장 장치부(21) 및 산술 연산기로 하여금 매개 변수를 이용한 제어 프로그램에 기초하여 산술 연산을 실행하게 하기 위해 구성된 중앙 제어기(13a)를 포함하고, 상기 저장 장치부(21)는 중앙 제어기에 의해 지정된 어드레스 데이터의 모듈러 산술 부호를 복호하기 위해 구성된 제2 모듈러 산술 부호 복호기(21a)와 매개 변수의 모듈러 산술 부호를 그 안에 저장하기 위해 구성된 저장 장치(21b)를 포함한다. 상기 모듈러 산술 부호화용 부호기(41)는 곱셈된 수치 데이터를 제공하기 위하여 2진 순회 AN 부호의 소정의 생성수에 의한 입력 수치 데이터의 곱셈을 위해 구성된 곱셈기(11a)와 모듈러 산술 부호를 제공하기 위하여 생성수에 상응하는 소정의 법에 의해 상기 곱셈된 수치 데이터의 나눗셈을 위해 구성된 제1 나눗셈기(11a2)를 포함하고, 상기 제1 모듈러 산술 부호 복호기(42)는, 제1 몫과 제1 나머지를 결정하기 위하여 법에 의해 연산된 모듈러 산술 부호의 나눗셈을 위해 구성된 제2 나눗셈기(11c1), 상기 제1 나머지로부터 제1 에러 비트 위치를 결정하기 위하여 저장된 신드롬 테이블을 참조하기 위해 구성된 에러 위치 결정기(11c2) 및, 제1 정정된 수치 데이터를 제공하기 위하여 제1 에러 비트 위치와 관련된 제1 몫의 에러 비트의 정정을 위해 구성된 에러 비트 정정기(11c3)를 포함한다.

또한, 어떤 점에서, 산업용 컨트롤러는, 모듈러 산술 부호로서 부호화된 수치 데이터의 산술 연산을 위해 구성된 산술 연산기(14), 논리 데이터의 논리 연산을 위해 구성된 논리 연산기(12a), 앞으로 저장될 연산 매개 변수의 집합과 제어 프로그램의 저장을 위해 구성된 저장 장치부(21), 수치 데이터와 논리 데이터를 입력하고 수치 연산 후의 수치 데이터와 논리 연산 후의 논리 데이터를 출력하기 위해 구성된 I/O 인터페이스(40), 논리 데이터와 모듈러 산술 부호화된 수치 데이터의 구별과 함께 제어 프로그램의 실행을 위해 산술 연산기와 논리 연산기로의 소정의 명령을 출력하기 위해 구성된 중앙 제어기(13a) 및 그들 간의 연락을 위해 구성된 버스(30)를 포함하고, 상기 I/O 인터페이스(40)는, 데이터 입력 안에 포함된 수치 데이터를 부호화하기 위해 구성된 모듈러 산술 부호화용 부호기(41) 및, 복호된 수치 데이터를 출력하기 위하여 데이터 출력 안에 포함된 수치 데이터의 복호, 비트 에러의 존부의 결정 및 비트 에러가 검출될 경우 그것의 정정의 조합을 위해 구성된 제1 모듈러 산술 부호 복호기(42)를 포함하고, 상기 저장 장치부(21)는 산업용 컨트롤러 내에서 연산 처리될 각각의 수치 데이터를 모듈러 산술 부호로서 그 내부에 저장하기 위해 구성된 저장 장치(21b) 및 중앙 콘트롤러에 의해 지정된 부호화된 주소 데이터를 복호된 형식으로 제공하기 위해 구성된 제2 모듈러 산술 부호 복호기(21a)를 포함해서, 산업용 컨트롤러 내에 존재하고 I/O 인터페이스(40)에서 부호화된 수치 데이터 각각이 모듈러 산술 부호로서 처리되고, I/O 인터페이스(40)에서 복호되고, 가능하다면, 정정된 비트 에러와 함께 출력되게 한다. 상기 모듈러 산술 부호화용 부호기(41)는 2진 순회 AN 부호의 소정의 생성수에 의한 데이터 입력 내에 포함된 수치 데이터의 곱셈을 위해 구성된 곱셈기(11a1) 및 2진 순회 AN 부호의 생성수와 상응하는 소정의 법에 의해 곱셈 출력을 나누기 위해 구성된 제1 나눗셈기(11a2)를 포함하고, 상기 제1 모듈러 산술 부호 복호기(42)는, 제1 몫과 신드롬으로서의 제1 나머지를 결정하기 위하여 법에 의해 데이터 출력 내에 포함된 수치 데이터를 나누기 위해 구성된 제2 나눗셈기(11c1), 제2 나눗셈기의 출력 내에 검출된 제1 나머지에 대한 에러 비트 위치를 결정하기 위하여 미리 저장된 신드롬 테이블의 참조를 위해 구성된 에러 위치 결정기(11c2) 및, 수치 데이터로서의 출력을 위해 에러 위치 결정기의 에러 비트 위치 출력과 상응하는 제1 몫의 에러 비트를 정정하기 위해 구성된 에러 비트 정정기(11c3)를 포함한다.

[제3 실시예]

도 11 및 도 12를 참조하여, 본원발명의 제3 실시예에 의한 산업용 컨트롤러에 관한 상세한 설명을 한다. 중복된 설명을 배제하기 위하여, 도 11 및 도 12에서 예시된 제3 실시예에서는 제2 실시예와 같은 부분은 같은 참조 부호에 의해 지정된다. 본 실시예와 제2 실시예는, 전자는 모듈러 산술 부호화된 수치 데이터의 산술 연산을 위해 구성된 제2 산술 연산 프로세서(14a1) 및 산술 연산 후 수치 데이터의 비트 에러 정정을 위해 구성된 모듈러 산술 부호 에러 정정기(14a2)를 추가적으로 갖는 제2 산술 연산기(14a)를 포함하는 반면에, 후자는 I/O 인터페이스(40)로의 수치 데이터 입력을 위한 모듈러 산술 부호를 생성하고, 버스(30)를 통하여 수용될 수치 데이터를 모두 모듈러 산술 부호화하게 하고, 수치 데이터 내 에러의 정정을 하기 위하여, I/O 인터페이스(40)로부터 출력될 모듈러 산술 부호화된 수치 데이터에 복호 처리를 적용하는 점에서 다르다.

도 12를 참조하면서, 모듈러 산술 부호 에러 정정기(14a2)의 구성에 대한 설명을 하겠다.

상기 모듈러 산술 부호 에러 정정기(14a2)는, 제2 산술 연산 프로세서(14a1)로부터 모듈러 산술 부호화된 수치 데이터 출력을 수용하고, 그것을 생성수 A로 나누어 몫과 나머지(신드롬으로서)를 출력하기 위한 나눗셈기(14a21), 신드롬의 값으로부터 에러 비트의 존부와 위치를 결정하기 위하여 신드롬 테이블을 참조하기 위한 에러 위치 결정기(14a22), 출력될 몫 내의 에러 비트가 있을 경우 이를 정정하기 위한 에러 비트 정정기(14a23), 생성수 A에 의하여 정정된 수치 데이터를 곱하기 위한 곱셈기(14a24) 및 모듈러 산술 부호를 제공하기 위하여 법 M에 의해 그것을 나누기 위한 나눗셈기(14a25)를 구비한다.

이렇게 하여, 다른 실시예 중에서, 본 실시예는 경로 에러에 기인한 수치 데이터의 비트 에러와 제2 산술 연산기(14a)의 연산 내의 비트 에러를 단순히 집합적으로 정정하는 것뿐만 아니라, 수치 데이터가 산술 연산기(14a) 또는 다른 곳에서 유발되는지의 구별 또한 가능하게 한다.

본 실시예에 의하면, 어떤 점에서, 산업용 컨트롤러는 입력 수치 데이터를 모듈러 산술 부호로 부호화하기 위한 모듈러 산술 부호화를 위해 구성된 모듈러 산술 부호화용 부호기(41)를 포함하는 입력 인터페이스(40a), 연산된 모듈러 산술 부호를 제공하기 위하여 모듈러 산술 부호의 산술 연산을 위해 구성된 산술 연산기(14a), 제1 정정된 수치 데이터를 제공하기 위해 연산된 모듈러 산술 부호로부터 실시간으로 비트 에러를 검출하고 검출된 비트 에러를 실시간으로 정정하기 위해 구성된 제1 모듈러 산술 부호 복호기(42)를 포함하는 출력 인터페이스(40b), 제어 프로그램과 모듈러 산술 부호화용의 매개 변수들을 그 안에 저장하기 위해 구성된 저장 장치부(21) 및 산술 연산기로 하여금 매개 변수를 이용한 제어 프로그램에 기초하여 산술 연산을 실행하게 하기 위해 구성된 중앙 제어기(13a)를 포함하고, 상기 저장 장치부(21)는 중앙 제어기에 의해 지정된 어드레스 데이터의 모듈러 산술 부호를 복호하기 위해 구성된 제2 모듈러 산술 부호 복호기(21a) 및 매개 변수의 모듈러 산술 부호를 그 안에 저장하기 위해 구성된 저장 장치(21b)를 포함한다. 상기 모듈러 산술 부호화용 부호기(41)는 곱셈된 수치 데이터를 제공하기 위하여 2진 순회 AN 부호의 소정의 생성수에 의하여 입력 수치 데이터를 곱하기 위해 구성된 곱셈기(11a) 및 모듈러 산술 부호를 제공하기 위하여 생성수에 상응하는 소정의 법에 의하여 곱셈된 수치 데이터를 나누기 위해 구성된 제1 나눗셈기(11a2)를 포함하고, 상기 제1 모듈러 산술 부호 복호기(42)는 제1 몫과 제1 나머지를 결정하기 위하여 생성수에 의하여 연산된 모듈러 산술 부호를 나누기 위해 구성된 제2 나눗셈기(11c1), 제1 나머지로부터 제1 에러 비트 위치를 결정하기 위하여 저장된 신드롬 테이블을 참조하기 위해 구성된 에러 위치 결정기(11c2) 및 제1 정정된 수치 데이터를 제공하기 위하여 제1 에러 비트 위치와 상응하는 제1 몫의 에러 비트의 정정을 위해 구성된 에러 비트 정정기(11c3)를 포함한다. 상기 산술 연산기(14a)는, 처리된 모듈러 산술 부호를 제공하기 위하여 모듈러 산술 부호의 산술 연산 처리를 위해 구성된 산술 연산 프로세서(14a1) 및, 연산된 모듈러 산술 부호를 제공하기 위하여 제2 몫과 제2 나머지를 결정하기 위한 처리된 모듈러 산술 부호의 나눗셈을 조합하고 제2 나머지로부터 제2 에러 비트 위치를 결정하기 위한 저장된 신드롬 테이블을 참조하고, 제2 정정된 수치 데이터를 제공하기 위하여 제2 에러 비트 위치에 상응하는 제2 몫의 에러 비트를 정정하고, 생성수에 의한 제2 정정된 수치 데이터의 곱셈 후 법에 의한 나눗셈이 뒤따르는 모듈러 산술 부호 에러 정정기(14a2)를 포함한다.

또한, 어떤 의미에서는, 산업용 컨트롤러는 모듈러 산술 부호로 부호화된 수치 데이터의 산술 연산을 위해 구성된 산술 연산기(14a), 논리 데이터의 논리 연산을 위해 구성된 논리 연산기(12a), 앞으로 저장될 연산 매개 변수의 집합과 제어 프로그램의 저장을 위해 구성된 저장 장치부(21), 수치 데이터와 논리 데이터의 입력과 수치 연산 후의 수치 데이터와 논리 연산 후의 논리 데이터의 출력을 위해 구성된 I/O 인터페이스(40), 논리 데이터와 모듈러 산술 부호화된 수치 데이터의 구별과 함께 제어 프로그램의 실행을 위한 논리 연산기와 수치 연산기로의 소정의 명령을 출력하기 위해 구성된 중앙 제어기(13a) 및 그들 간의 연결을 위해 구성된 버스(30)를 포함하고, 상기 I/O 인터페이스(40)는 데이터 입력에 포함된 수치 데이터를 부호화하기 위해 구성된 모듈러 산술 부호화용 부호기(41) 및, 복호된 수치 데이터를 출력하기 위하여 데이터 출력에 포함된 수치 데이터를 복호하고 비트 에러의 존부를 결정하고 비트 에러가 검출되었을 경우 이것을 정정하는 조합으로 구성된 제1 모듈러 산술 부호 복호기(42)를 포함하고, 상기 저장 장치부(21)는 산업용 컨트롤러 내에서 연산 처리될 각각의 수치 데이터를 모듈러 산술 부호로서 그 안에 저장하기 위해 구성된 저장 장치(21b) 및 중앙 제어기에 의해 지정된 부호화된 어드레스 데이터를 복호된 형식으로 제공하기 위해 구성된 제2 모듈러 산술 부호 복호기(21a)를 포함하여서, I/O 인터페이스(40)에서 부호화된 수치 데이터 각각이 모듈러 산술 부호로서 처리되고, I/O 인터페이스(40)에서 복호되고, 가능할 경우 정정된 비트 에러와 함께 출력되게 할 수 있다. 상기 모듈러 산술 부호화용 부호기(41)는 2진 순회 AN 부호의 소정의 생성수에 의한 데이터 입력에 포함된 수치 데이터의 곱셈을 위해 구성된 곱셈기(11a1) 및 2진 순회 AN 부호의 생성수와 상응하는 소정의 법에 의한 곱셈 출력의 나눗셈을 위해 구성된 제1 나눗셈기(11a2)를 포함하고, 상기 제1 모듈러 산술 부호 복호기(42)는 제1 몫과 신드롬으로서의 제1 나머지를 결정하기 위하여 생성수에 의하여 데이터 출력 내에 포함된 수치 데이터의 나눗셈을 위해 구성된 제2 나눗셈기(11c1), 제2 나눗셈기의 출력 내에 검출된 제1 나머지에 대한 에러 비트 위치를 결정하기 위하여 미리 저장된 신드롬 테이블을 참조하기 위해 구성된 에러 위치 결정기(11c2) 및 수치 데이터로서 출력하기 위하여 에러 위치 결정기의 에러 비트 위치 출력과 상응하는 제1 몫의 에러 비트를 정정하기 위해 구성된 에러 비트 정정기(11c3)를 포함한다. 상기 산술 연산기(14a)는, I/O 인터페이스에서 모듈러 산술 부호로서 부호화된 수치 데이터를 입력 인자로서 산술 연산 처리하기 위해 구성된 산술 연산 프로세서(14a1) 및, 복호된 수치 데이터를 모듈러 산술 부호로 출력하기 위하여, 제2 몫과 신드롬으로서의 제2 나머지를 결정하기 위하여 산술 연산 프로세서의 출력의 나눗셈, 검출된 제2 나머지에 대한 에러 비트 위치를 결정하기 위하여 저장된 신드롬 테이블의 참조, 제2 몫의 에러 비트의 정정, 생성수에 의해 정정된 수치 데이터의 곱셈 후 법에 의한 나눗셈이 뒤따르는 조합으로 구성된 모듈러 산술 부호 에러 정정기(14a2)를 포함한다.

본원발명은 상기 설명된 실시예에 한정되는 것은 당연히 아니고, 수치 데이터의 연산을 위해 연산기가 제공되는 한, 연산기에서의 비트 에러의 정정을 허용하는 어떠한 시스템에서도 적용되고, 청구항 영역 내에서 다양한 수정에 의해 실현될 수 있다.

이러한 적용은 2007년 5월 9일 제출된 일본 특허공개공보 제2007-125065호에 기초하고, 전체 내용은 참조에 의해 여기에 합체된다.

도 1은 본원발명의 제1 실시예에 의한 산업용 컨트롤러의 블록도.

도 2는 도 1의 산업용 컨트롤러의 모듈러 산술 부호화용 부호기의 블록도.

도 3은 도 1의 산업용 컨트롤러의 모듈러 산술 부호 복호기의 블록도.

도 4는 도 1의 산업용 컨트롤러의 덧셈을 위한 모듈러 산술 연산 프로세서의 블록도.

도 5는 도 1의 산업용 컨트롤러의 뺄셈을 위한 모듈러 산술 연산 프로세서의 블록도.

도 6은 도 1의 산업용 컨트롤러의 곱셈을 위한 모듈러 산술 연산 프로세서의 블록도.

도 7은 도 1의 산업용 컨트롤러의 나눗셈을 위한 모듈러 산술 연산 프로세서의 블록도.

도 8은 도 1의 산업용 컨트롤러를 위한 모듈러 산술 부호들의 전형적인 집합을 열거하는 표.

도 9는 도 1의 산업용 컨트롤러를 위한 전형적인 신드롬 테이블.

도 10은 본원발명의 제2 실시예에 의한 산업용 컨트롤러의 블록도.

도 11은 본원발명의 제3 실시예에 의한 산업용 컨트롤러의 블록도.

도 12는 도 11의 산업용 컨트롤러의 모듈러 산술 부호 에러 정정기의 블록도.

* 도면의 주요 부분에 대한 부호의 설명 *

11 : 제1 산술 연산기 14, 14a : 제2 산술 연산기

11a : 제1 모듈러 산술 부호화용 부호기

41 : 제2 모듈러 산술 부호화용 부호기

11b : 제1 산술 연산 프로세서 14a1 : 제2 산술 연산 프로세서

11c : 제1 모듈러 산술 부호 복호기 42 : 제2 모듈러 산술 부호 복호기

21a : 제3 모듈러 산술 부호 복호기

11a1, 11b4, 14a24, : 곱셈기

11a2, 11b2, 11b5, 11c1, 14a21, 14a25 : 나눗셈기

11b1 : 덧셈기

11b3 : 뺄셈기

11c2, 14a22 : 에러 위치 결정기

11c3, 14a23 : 에러 비트 정정기

12, 12a : 논리 연산기

13, 13a : 중앙 제어기

14a2 : 모듈러 산술 부호 에러 정정기

20, 21, 21b : 저장 장치

30 : 버스

40 : I/O 인터페이스

40a : 입력 인터페이스 40b : 출력 인터페이스

40a1 : 논리 데이터 입력 회로 40a2 : 수치 데이터 입력 회로

Claims (5)

  1. 산업용 컨트롤러로서,
    상기 산업용 컨트롤러의 제어 프로그램과, 모듈러 산술 부호화용의 매개 변수 및 산술 연산의 매개 변수를 포함하는 주어진 수치 데이터로서의 제어 매개 변수를 그 안에 저장하기 위해 구성된 저장 장치;
    수치 데이터를 입력하기 위해 구성된 입력 인터페이스;
    입력된 상기 수치 데이터와 상기 주어진 수치 데이터를 모듈러 산술 부호로 부호화하기 위하여 상기 모듈러 산술 부호화용으로 구성된 모듈러 산술 부호화용 부호기, 처리된 상기 모듈러 산술 부호를 제공하기 위하여 상기 모듈러 산술 부호에 상기 산술 연산을 적용하는 처리를 위해 구성된 산술 연산 프로세서, 및 정정된 수치 데이터를 제공하기 위하여 처리된 상기 모듈러 산술 부호로부터 실시간으로 비트 에러를 검출하고 검출된 상기 비트 에러를 실시간으로 정정하기 위해 구성된 모듈러 산술 부호 복호기를 포함하는 산술 연산기;
    상기 정정된 수치 데이터를 출력하기 위해 구성된 출력 인터페이스; 및,
    상기 산술 연산기로 하여금 상기 제어 매개 변수를 이용한 상기 제어 프로그램에 기초하여 상기 산술 연산을 실행하게 하기 위해 구성된 중앙 제어기를 포함하는 것을 특징으로 하는 산업용 컨트롤러.
  2. 제 1 항에 있어서,
    상기 모듈러 산술 부호화용 부호기는,
    곱셈된 수치 데이터를 제공하기 위하여 2진 순회(巡廻) AN 부호의 소정의 생성수(生成數)에 의한 상기 입력된 수치 데이터의 곱셈을 위해 구성된 곱셈기, 및 상기 모듈러 산술 부호를 제공하기 위하여 상기 생성수에 상응하는 소정의 법(法)에 의한 상기 곱셈된 수치 데이터의 나눗셈을 위해 구성된 제1 나눗셈기를 포함하고,
    상기 모듈러 산술 부호 복호기는,
    몫과 나머지를 결정하기 위하여 상기 생성수에 의한 상기 처리된 모듈러 산술 부호의 나눗셈을 위해 구성된 제2 나눗셈기, 상기 나머지로부터 에러 비트 위치를 결정하기 위하여 저장된 신드롬 테이블을 참조하기 위해 구성된 에러 위치 결정기, 및 상기 정정된 수치 데이터를 제공하기 위하여 상기 에러 비트 위치에 상응하는 상기 몫의 에러 비트의 정정을 위해 구성된 에러 비트 정정기를 포함하는 것을 특징으로 하는 산업용 컨트롤러.
  3. 산업용 컨트롤러로서,
    상기 산업용 컨트롤러를 위한 제어 프로그램과, 모듈러 산술 부호화용의 매개 변수 및 산술 연산의 매개 변수를 포함하는 주어진 수치 데이터로서의 제어 매개 변수를 그 안에 저장하기 위해 구성된 저장 장치부;
    입력 수치 데이터를 제1 모듈러 산술 부호로 부호화하기 위하여 상기 모듈러 산술 부호화용을 위해 구성된 모듈러 산술 부호화용 부호기를 포함하는 입력 인터페이스;
    연산된 모듈러 산술 부호를 제공하기 위하여, 상기 제1 모듈러 산술 부호와, 상기 주어진 수치 데이터가 모듈러 산술 부호화된 제2 모듈러 산술 부호의 산술 연산을 위해 구성된 산술 연산기;
    제1 정정된 수치 데이터를 제공하기 위하여, 상기 연산된 모듈러 산술 부호로부터 비트 에러를 실시간으로 검출하고, 검출된 상기 비트 에러를 실시간으로 정정하기 위해 구성된 제1 모듈러 산술 부호 복호기를 포함하는 출력 인터페이스; 및,
    상기 산술 연산기로 하여금 상기 제어 매개 변수를 이용한 상기 제어 프로그램에 기초하여 상기 산술 연산을 실행하게 하기 위해 구성된 중앙 제어기를 포함하고,
    상기 저장 장치부는, 상기 중앙 제어기에 의해 지정된 어드레스 데이터의 모듈러 산술 부호를 복호하기 위해 구성된 제2 모듈러 산술 부호 복호기, 및 상기 제어 매개 변수의 모듈러 산술 부호를 그 내부에 저장하기 위해 구성된 저장 장치를 포함하는 것을 특징으로 하는 산업용 컨트롤러.
  4. 제 3 항에 있어서,
    상기 모듈러 산술 부호화용 부호기는, 곱셈된 수치 데이터를 제공하기 위하여 2진 순회 AN 부호의 소정의 생성수에 의한 상기 입력 수치 데이터의 곱셈을 위해 구성된 곱셈기, 및 상기 모듈러 산술 부호를 제공하기 위해 상기 생성수에 상응하는 소정의 법에 의한 상기 곱셈된 수치 데이터의 나눗셈을 위해 구성된 제1 나눗셈기를 포함하고,
    상기 제1 모듈러 산술 부호 복호기는, 제1 몫과 제1 나머지를 결정하기 위하여 상기 생성수에 의한 상기 연산된 모듈러 산술 부호의 나눗셈을 위해 구성된 제2 나눗셈기, 상기 제1 나머지로부터 제1 에러 비트 위치를 결정하기 위하여 저장된 신드롬 테이블을 참조하기 위해 구성된 에러 위치 결정기, 및 상기 제1 정정된 수치 데이터를 제공하기 위하여 상기 제1 에러 비트 위치에 상응하는 상기 제1 몫의 에러 비트의 정정을 위해 구성된 에러 비트 정정기를 포함하는 것을 특징으로 하는 산업용 컨트롤러.
  5. 제 3 항에 있어서,
    상기 산술 연산기는, 처리된 모듈러 산술 부호를 제공하기 위하여 상기 모듈러 산술 부호의 산술 연산 처리를 위해 구성된 산술 연산 프로세서; 및 제2 몫과 제2 나머지를 결정하기 위하여 생성수에 의한 상기 처리된 모듈러 산술 부호의 나눗셈, 상기 제2 나머지로부터 제2 에러 비트 위치를 결정하기 위하여 저장된 신드롬 테이블을 참조, 제2 정정된 수치 데이터를 제공하기 위하여 상기 제2 에러 비트 위치에 상응하는 상기 제2 몫의 에러 비트를 정정, 상기 생성수에 의하여 상기 제2 정정된 수치 데이터를 곱셈한 후 법에 의한 나눗셈의 조합으로 구성되어 상기 연산된 모듈러 산술 부호를 제공하기 위한 모듈러 산술 부호 에러 정정기를 포함하는 것을 특징으로 하는 산업용 컨트롤러.
KR20080042983A 2007-05-09 2008-05-08 산업용 컨트롤러 KR100981659B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JPJP-P-2007-00125065 2007-05-09
JP2007125065A JP2008282178A (ja) 2007-05-09 2007-05-09 産業用コントローラ

Publications (2)

Publication Number Publication Date
KR20080099806A KR20080099806A (ko) 2008-11-13
KR100981659B1 true KR100981659B1 (ko) 2010-09-13

Family

ID=39745434

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080042983A KR100981659B1 (ko) 2007-05-09 2008-05-08 산업용 컨트롤러

Country Status (5)

Country Link
US (1) US8224882B2 (ko)
EP (1) EP1990719A3 (ko)
JP (1) JP2008282178A (ko)
KR (1) KR100981659B1 (ko)
CN (1) CN101303599B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5684514B2 (ja) * 2010-08-19 2015-03-11 株式会社東芝 冗長化制御システム、及びその演算データの伝送方法
US9077381B2 (en) * 2013-02-27 2015-07-07 Kabushiki Kaisha Toshiba Memory controller, storage device and memory control method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0998093A (ja) * 1995-09-29 1997-04-08 Mitsubishi Electric Corp 誤り訂正復号方法
KR980013020A (ko) * 1996-07-19 1998-04-30 오오보시 고우지 데이타 전송장치
JP2006228121A (ja) 2005-02-21 2006-08-31 Toshiba Corp 演算処理装置
KR100801364B1 (ko) 2003-10-29 2008-02-05 닛본 덴끼 가부시끼가이샤 산술부호의 복호기 또는 부호화기와 역2치화 변환기 또는2치화 변환기의 사이에 중간 버퍼가 삽입된 복호장치 또는부호화 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4413339A (en) * 1981-06-24 1983-11-01 Digital Equipment Corporation Multiple error detecting and correcting system employing Reed-Solomon codes
JPS63216170A (en) * 1987-03-05 1988-09-08 Mitsubishi Electric Corp Digital signal processor
FR2622713A1 (fr) * 1987-10-30 1989-05-05 Thomson Csf Circuit de calcul utilisant une arithmetique residuelle
JP2930325B2 (ja) * 1989-07-29 1999-08-03 ソニー株式会社 ディジタル信号処理回路
US5416786A (en) * 1991-06-28 1995-05-16 Industrial Technology Research Institute Error correction circuit for BCH codewords
JP2665113B2 (ja) 1992-09-07 1997-10-22 株式会社日立製作所 計算機システムと主メモリ制御装置
US5887006A (en) * 1997-06-26 1999-03-23 Integrated Device Technology, Inc. Methods and apparatus for error correction
US20030192007A1 (en) * 2001-04-19 2003-10-09 Miller David H. Code-programmable field-programmable architecturally-systolic Reed-Solomon BCH error correction decoder integrated circuit and error correction decoding method
JP4191393B2 (ja) * 2001-06-11 2008-12-03 富士通株式会社 情報記録再生装置及び方法並びに信号復号回路
WO2004068364A1 (ja) * 2003-01-27 2004-08-12 Mathematec Kabushiki Kaisha 演算処理装置、演算処理装置設計方法および論理回路設計方法
DE10317650A1 (de) * 2003-04-17 2004-11-04 Robert Bosch Gmbh Programmgesteuerte Einheit und Verfahren
DE10349581A1 (de) * 2003-10-24 2005-05-25 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit
US20060156177A1 (en) * 2004-12-29 2006-07-13 Sailesh Kottapalli Method and apparatus for recovering from soft errors in register files
JP2007125065A (ja) 2005-10-31 2007-05-24 Aruze Corp 遊技機
JP4776374B2 (ja) * 2005-12-27 2011-09-21 株式会社東芝 二重化監視制御システム、及び同システムの冗長化切替え方法
US7774689B2 (en) * 2006-03-17 2010-08-10 Industrial Technology Research Institute Encoding and decoding methods and systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0998093A (ja) * 1995-09-29 1997-04-08 Mitsubishi Electric Corp 誤り訂正復号方法
KR980013020A (ko) * 1996-07-19 1998-04-30 오오보시 고우지 데이타 전송장치
KR100801364B1 (ko) 2003-10-29 2008-02-05 닛본 덴끼 가부시끼가이샤 산술부호의 복호기 또는 부호화기와 역2치화 변환기 또는2치화 변환기의 사이에 중간 버퍼가 삽입된 복호장치 또는부호화 장치
JP2006228121A (ja) 2005-02-21 2006-08-31 Toshiba Corp 演算処理装置

Also Published As

Publication number Publication date
CN101303599A (zh) 2008-11-12
JP2008282178A (ja) 2008-11-20
EP1990719A3 (en) 2015-05-13
KR20080099806A (ko) 2008-11-13
US8224882B2 (en) 2012-07-17
US20080281896A1 (en) 2008-11-13
CN101303599B (zh) 2010-12-15
EP1990719A2 (en) 2008-11-12

Similar Documents

Publication Publication Date Title
US8453034B2 (en) Error detection/correction circuit, memory controller and semiconductor memory apparatus
JP4224022B2 (ja) イナクティブ化によって連鎖反応符号を復号化するためのシステムおよび処理
US7350131B2 (en) Error protecting groups of data words
US5754563A (en) Byte-parallel system for implementing reed-solomon error-correcting codes
KR100210583B1 (ko) 에러정정 부호화 복호화 방법 및 이 방법을 사용하는 회로
KR100856129B1 (ko) 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치
US4512020A (en) Data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operating modes
US9411683B2 (en) Error correction in memory
EP2159709B1 (en) Error correcting method and computing element
RU2657178C2 (ru) Вычислительное устройство, хранящее таблицы соответствия для вычисления функции
US20130179748A1 (en) Systems and methods for error checking and correcting for memory module
RU2629440C2 (ru) Устройство и способ для ускорения операций сжатия и распаковки
KR100921263B1 (ko) 반도체 기억 장치 및 디코드 방법
JP5259343B2 (ja) メモリ装置
KR20010023991A (ko) 필터링에 근거하는 명령 예측 발생 시스템 및 방법
US20090313526A1 (en) Apparatus and method for merging data blocks with error correction code protection
JP5014899B2 (ja) 再構成可能デバイス
JP2004234545A (ja) 制御回路及びメモリコントローラ
US20150222292A1 (en) Multi-bit error correction method and apparatus based on a bch code and memory system
AU2016266818B2 (en) Fault tolerant syndrome extraction and decoding in Bacon-Shor quantum error correction
JPH08149018A (ja) エラー訂正装置
US8069389B2 (en) Error correction circuit and method, and semiconductor memory device including the circuit
US20070022348A1 (en) Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system
NL7909178A (nl) Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten.
JP2009521059A (ja) ユーザレベル命令に応じた巡回冗長検査演算の実行

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130820

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160804

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee