KR20190058310A - 반도체 장치 - Google Patents

반도체 장치 Download PDF

Info

Publication number
KR20190058310A
KR20190058310A KR1020180140716A KR20180140716A KR20190058310A KR 20190058310 A KR20190058310 A KR 20190058310A KR 1020180140716 A KR1020180140716 A KR 1020180140716A KR 20180140716 A KR20180140716 A KR 20180140716A KR 20190058310 A KR20190058310 A KR 20190058310A
Authority
KR
South Korea
Prior art keywords
signal
error
core
system bus
output
Prior art date
Application number
KR1020180140716A
Other languages
English (en)
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 르네사스 일렉트로닉스 가부시키가이샤
Publication of KR20190058310A publication Critical patent/KR20190058310A/ko

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/0793Remedial or corrective actions
    • 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
    • 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/0727Error 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 in a storage system, e.g. in a DASD or network based storage system
    • 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/0751Error or fault detection not based on redundancy
    • 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/0766Error or fault reporting or storing
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)

Abstract

종래의 반도체 장치에서는, 연산 코어 이외의 모드 전환 처리에 필요한 회로에서 발생한 고장을 검출할 수 없어, 신뢰성이 불충분한 문제가 있다. 일 실시 형태에 의하면, 반도체 장치는, 복수의 연산 코어(10, 11) 중 록스텝 모드에서 체크용 연산 코어로 되는 연산 코어(11)에 대응하여 설치되고, 록스텝 모드 시에는 대응하는 연산 코어(11)로부터 출력되는 인터페이스 신호군을 차단하고, 스플릿 모드 시에는 대응하는 연산 코어(11)로부터 출력되는 인터페이스 신호군을 통과시키는 선택부(14)와, 선택부(14)를 통해 출력되는 인터페이스 신호군을 감시하여, 인터페이스 신호군의 이상 상태를 에러 신호로서 출력하는 액세스 모니터(15)와, 액세스 모니터(15)로부터 출력되는 에러 신호에 기초하여 이상 상태 처리 요구를 상위 시스템으로 출력하는 에러 제어부(16)를 갖는 것이다.

Description

반도체 장치{SEMICONDUCTOR DEVICE}
본 발명은 반도체 장치에 관한 것으로, 예를 들어 복수의 프로세서를 포함하고, 동작 모드로서, 복수의 프로세서가 동일한 동작을 행하는 록스텝 모드와, 복수의 프로세서가 개별의 동작을 행하는 스플릿 모드를 갖는 반도체 장치에 관한 것이다.
최근 들어, 프로그램을 실행하는 연산 코어를 내장한 반도체 장치에서는, 복수의 연산 코어를 내장함으로써 신뢰성의 향상, 혹은 처리 능력의 향상을 실현하고 있는 것이 있다. 이러한 반도체 장치에서는, 동일한 연산 결과를 얻어지도록 하여 복수의 연산 코어를 동작시키는 록스텝 모드와, 복수의 연산 코어를 개별로 동작시키는 스플릿 모드를 구비하는 것이 있다. 그래서, 특허문헌 1에 이 록스텝 모드와 스플릿 모드를 전환 가능한 반도체 장치의 예가 개시되어 있다.
미국특허 제8051323호 명세서
그러나, 특허문헌 1에 개시된 반도체 장치에서는, 록스텝 모드 시의 고장에 의해 체크용 연산 코어가 내장 메모리나 주변 회로에 대해서 의도치 않은 액세스를 발생시키는 리스크가 있다. 또한, 이러한 고장이 발생한 경우, 스플릿 모드 시에 체크용 연산 코어로서 기능하고 있던 연산 코어가 내장 메모리나 주변 회로에 액세스할 수 없게 되는 리스크가 발생한다. 즉, 특허문헌 1에 기재된 반도체 장치에서는, 연산 코어 이외의 모드 전환 처리에 필요한 회로에서 발생한 고장을 검출할 수 없어, 신뢰성이 불충분한 문제가 있다.
그 밖의 과제와 신규 특징은, 본 명세서의 기재 및 첨부 도면으로부터 밝혀질 것이다.
일 실시 형태에 의하면, 반도체 장치는, 복수의 연산 코어 중 록스텝 모드에서 체크용 연산 코어로 되는 연산 코어에 대응하여 설치되고, 록스텝 모드 시에는 대응하는 연산 코어로부터 출력되는 인터페이스 신호군을 차단하고, 스플릿 모드 시에는 대응하는 연산 코어로부터 출력되는 인터페이스 신호군을 통과시키는 선택부와, 상기 선택부를 통해 출력되는 인터페이스 신호군을 감시하여, 상기 인터페이스 신호군의 이상 상태를 에러 신호로서 출력하는 액세스 모니터와, 상기 액세스 모니터로부터 출력되는 에러 신호에 기초하여 이상 상태 처리 요구를 상위 시스템으로 출력하는 에러 제어부를 갖는 것이다.
일 실시 형태에 의하면, 반도체 장치는, 연산 코어 이외의 모드 전환 처리에 필요한 회로에서 발생한 고장을 검출할 수 있다.
도 1은, 실시 형태 1에 따른 반도체 장치의 블록도이다.
도 2는, 실시 형태 1에 따른 액세스 모니터 및 에러 제어부의 블록도이다.
도 3은, 실시 형태 1에 따른 시간 감시부의 상태 천이도이다.
도 4는, 실시 형태 2에 따른 반도체 장치의 블록도이다.
도 5는, 실시 형태 2에 따른 에러 주입부 및 액세스 모니터의 블록도이다.
도 6은, 실시 형태 3에 따른 반도체 장치의 블록도이다.
도 7은, 실시 형태 3에 따른 에러 주입부 및 액세스 모니터의 블록도이다.
도 8은, 실시 형태 4에 따른 반도체 장치의 블록도이다.
도 9는, 실시 형태 5에 따른 액세스 모니터의 블록도이다.
도 10은, 실시 형태 6에 따른 반도체 장치의 블록도이다.
도 11은, 실시 형태 7에 따른 반도체 장치의 블록도이다.
도 12는, 실시 형태 7에 따른 액세스 모니터 및 에러 제어부의 블록도이다.
설명의 명확화를 위해서, 이하의 기재 및 도면은, 적절히 생략, 및 간략화가 이루어져 있다. 또한, 다양한 처리를 행하는 기능 블록으로서 도면에 기재되는 각 요소는, 하드웨어적으로는 CPU, 메모리, 그 밖의 회로로 구성할 수 있고, 소프트웨어적으로는 메모리에 로드된 프로그램 등에 의해 실현된다. 따라서, 이들 기능 블록이 하드웨어만, 소프트웨어만 또는 그들의 조합에 의해 다양한 형태로 실현할 수 있는 것은 당업자에게는 이해되는 바이며, 어느 하나로 한정되는 것은 아니다. 또한, 각 도면에 있어서, 동일한 요소에는 동일한 부호가 부여되어 있으며, 필요에 따라 중복 설명은 생략되었다.
또한, 상술한 프로그램은, 다양한 타입의 비일시적인 컴퓨터 가독 매체(non-transitory computer readable medium)를 사용해서 저장되고, 컴퓨터에 공급할 수 있다. 비일시적인 컴퓨터 가독 매체는, 다양한 타입의 실체가 있는 기록 매체(tangible storage medium)를 포함한다. 비일시적인 컴퓨터 가독 매체의 예는, 자기 기록 매체(예를 들어 플렉시블 디스크, 자기 테이프, 하드디스크 드라이브), 광자기 기록 매체(예를 들어 광자기 디스크), CD-ROM(Read Only Memory), CD-R, CD-R/W, 반도체 메모리(예를 들어, 마스크 ROM, PROM(Programmable ROM), EPROM(Erasable PROM), 플래시 ROM, RAM(Random Access Memory))를 포함한다. 또한, 프로그램은, 다양한 타입의 일시적인 컴퓨터 가독 매체(transitory computer readable medium)에 의해 컴퓨터에 공급되어도 된다. 일시적인 컴퓨터 가독 매체의 예는, 전기신호, 광신호, 및 전자파를 포함한다. 일시적인 컴퓨터 가독 매체는, 전선 및 광 파이버 등의 유선 통신로, 또는 무선 통신로를 통하여, 프로그램을 컴퓨터에 공급할 수 있다.
실시 형태 1
도 1에 실시 형태 1에 따른 반도체 장치(1)의 블록도를 나타낸다. 도 1에 도시한 바와 같이, 반도체 장치(1)는, 각각이 프로그램을 실행하는 복수의 연산 코어를 포함한다. 실시 형태 1에 따른 반도체 장치(1)는, 내장한 복수의 연산 코어의 동작 모드로서, 각각의 연산 코어로부터 동일한 연산 결과를 얻어지도록 복수의 연산 코어를 동작시키는 록스텝 모드와, 복수의 연산 코어를 독립하여 동작시키는 스플릿 모드를 갖는다. 록스텝 모드에서는, 한쪽의 연산 코어를 주된 연산 처리에 사용하고, 다른 쪽의 연산 코어를 한쪽의 연산 코어의 동작을 감시하는 체크용 연산 코어로서 사용한다. 즉, 록스텝 모드에서는, 2개의 연산 코어의 연산 결과의 차에 기초하여 연산 코어의 고장을 조기에 발견할 수 있기 때문에, 연산 결과의 신뢰성을 향상시킬 수 있다. 한편, 스플릿 모드에서는, 복수의 연산 코어가 각각 프로그램을 실행하기 때문에, 실행되는 프로그램 수의 병렬 수를 높인 고속의 연산 처리가 가능하다.
도 1에 도시한 바와 같이, 실시 형태 1에 따른 반도체 장치(1)는, 제1 연산 코어(예를 들어, 제1 프로세서(10)), 제2 연산 코어(예를 들어, 제2 프로세서(11)), 제3 프로세서(12), 비교기(13), 선택부(14), 액세스 모니터(15), 에러 제어부(16), 공유 리소스(17, 18)를 갖는다. 공유 리소스(17, 18)는, 예를 들어 메모리나, 타이머·I/O 인터페이스 회로·아날로그/디지털 변환기·디지털/아날로그 변환기 등의 주변 회로이다. 또한, 공유 리소스는, 제1 프로세서(10)로부터 제3 프로세서(12)에 의해 공유되는 하드웨어 리소스이다. 도 1에서는, 공유 리소스(17)로서 메모리가 실장되고, 공유 리소스(18)로서 메모리 이외의 하드웨어 리소스(예를 들어, 주변 회로)가 실장되는 예를 나타내었다.
제1 프로세서(10), 제2 프로세서(11), 제3 프로세서(12)는, 모두 프로그램을 실행하는 연산 코어이다. 도 1에 도시한 실시 형태 1에 따른 반도체 장치(1)는, 로크 스텝 모드에서 제1 프로세서(10)를 주 연산 코어 및 제2 프로세서(11)를 주 연산 코어에 대한 체크용 연산 코어로서 사용한다. 이 록스텝 모드 시의 동일한 연산 결과를 출력하는 연산 코어는, 동일한 회로 구성인 것이 바람직하지만, 다른 구성이어도 상관없다. 또한, 도 1에 도시한 실시 형태 1에 따른 반도체 장치(1)에서는, 스플릿 모드에서는, 제1 프로세서(10), 제2 프로세서(11), 제3 프로세서(12)가 각각 개별로 프로그램을 실행한다.
또한, 도 1에 도시한 바와 같이 실시 형태 1에 따른 반도체 장치(1)에서는, 제1 프로세서(10), 제2 프로세서(11), 제3 프로세서(12), 액세스 모니터(15), 에러 제어부(16), 공유 리소스(17, 18)가 시스템 버스 BUS를 통해 통신 가능한 상태로 구성된다. 또한, 제2 프로세서(11)에 대해서는, 선택부(14)를 통해 시스템 버스 BUS와 접속된다.
비교기(13)는, 제1 프로세서(10)가 공유 리소스(17, 18)에 대해서 출력하는 제1 인터페이스 신호군과 제2 프로세서(11)가 공유 리소스(17, 18)에 대해서 출력하는 제2 인터페이스 신호군을 비교하여, 제1 인터페이스 신호군과 제2 인터페이스 신호군이 불일치하는 상태로 되는 경우에 제1 에러 신호 ERR1을 인에이블 상태로 한다. 또한, 비교기(13)가 감시하는 인터페이스 신호군에 포함되는 신호의 일부(예를 들어, 데이터 신호만)여도 상관없다.
선택부(14)는, 스플릿 모드 유효 신호 S_SLT에 따라서, 제2 프로세서(11)가 출력하는 인터페이스 신호군을 시스템 버스 BUS에 전달할지 여부를 전환한다. 또한, 선택부(14)는, 스플릿 모드 유효 신호 S_SLT에 따라서, 제2 프로세서(11) 앞으로 시스템 버스 BUS로부터 전달되는 인터페이스 신호군을 제2 프로세서(11)에 부여할지, 제1 프로세서(10) 앞으로 시스템 버스 BUS로부터 전달되는 인터페이스 신호군을 제2 프로세서(11)에 부여할지를 전환한다.
구체적으로는, 선택부(14)는, 스플릿 모드 유효 신호 S_SLT가 록스텝 모드를 지시하는 상태에 있어서는, 제2 프로세서(11)가 출력하는 제2 인터페이스 신호군이 시스템 버스 BUS로 출력되는 것을 방지한다. 또한, 록스텝 모드 시에는, 선택부(14)는, 제2 프로세서(11) 앞으로 시스템 버스 BUS로부터 전달되는 제2 인터페이스 신호군과 제1 프로세서(10) 앞으로 시스템 버스 BUS로부터 전달되는 제1 인터페이스 신호군 중 제1 인터페이스 신호군을 선택하여 제2 프로세서(11)에 부여한다.
또한, 선택부(14)는, 스플릿 모드 유효 신호 S_SLT가 스플릿 모드를 지시하는 상태에 있어서는, 제2 프로세서(11)가 출력하는 제2 인터페이스 신호군을 시스템 버스 BUS로 출력한다. 또한, 스플릿 모드 시에는, 선택부(14)는, 제2 프로세서(11) 앞으로 시스템 버스 BUS로부터 전달되는 제2 인터페이스 신호군과 제1 프로세서(10) 앞으로 시스템 버스 BUS로부터 전달되는 제1 인터페이스 신호군 중 제2 인터페이스 신호군을 선택하여 제2 프로세서(11)에 부여한다.
액세스 모니터(15)는, 선택부(14)를 통해 시스템 버스 BUS로 출력되는 제2 인터페이스 신호군을 감시하고, 제2 인터페이스 신호군이 시스템 버스 BUS로 출력된 경우에 제2 에러 신호 ERR2를 출력함과 함께 제2 인터페이스 신호군이 일정 기간동안 출력되지 않는 경우에 제3 에러 신호 ERR3을 출력한다. 이 액세스 모니터(15)의 상세는 후술한다.
에러 제어부(16)는, 제1 에러 신호 ERR1, 제2 에러 신호 ERR2 및 제3 에러 신호 ERR3에 기초하여 제1 프로세서(10), 제2 프로세서(11) 및 선택부(14) 중 어느 하나의 이상 상태를 검출하고, 검출된 이상 상태에 따라서 상위 시스템에 이상 상태에 따른 처리를 요구하는 이상 상태 처리 요구를 출력한다. 도 1에 도시한 예에서는, 에러 제어부(16)는, 이상 상태 처리 요구를 행하기 위한 신호로서, 외부 에러 통지 신호 EX_OUT, 에러 개입 신호 INT, 리셋 요구 신호 RST를 출력한다. 이 에러 제어부(16)의 상세에 대해서는 후술한다.
계속해서, 액세스 모니터(15), 에러 제어부(16)에 대하여 상세히 설명한다. 그래서, 도 2에 실시 형태 1에 따른 액세스 모니터(15) 및 에러 제어부(16)의 블록도를 나타낸다. 또한, 도 2에 있어서는, 액세스 모니터(15) 및 에러 제어부(16)에서 취급하는 신호를 설명하기 위해서, 제2 프로세서(11) 및 선택부(14)를 나타내었다.
도 2에 도시한 바와 같이, 실시 형태 1에 따른 반도체 장치(1)에서는, 제2 프로세서(11)에 입출력되는 제2 인터페이스 신호군(이하, 단순히 '인터페이스 신호군'이라고도 칭함)에 포함되는 복수의 신호 중 액세스 요구 신호를 액세스 모니터(15) 및 에러 제어부(16)에 의한 에러 검출 처리의 대상으로 한다. 이것은 액세스 요구 신호가 기지의 값을 갖는 신호이기 때문에, 액세스 모니터(15) 및 에러 제어부(16)에 있어서의 값 판정이 용이하기 때문이다.
도 2에 도시한 바와 같이, 액세스 모니터(15)는, 제1 패스 PS1, 제2 패스 PS2를 갖는다. 또한, 제2 패스 PS2에는 시간 감시부(21)가 설치된다. 제1 패스 PS1은, 제2 인터페이스 신호군에 포함되는 신호 중 감시 대상으로 하는 신호(실시 형태 1에서는 액세스 요구 신호)의 값을 그대로 제2 에러 신호 ERR2로서 에러 제어부(16)로 출력하는 신호 경로이다. 시간 감시부(21)는, 액세스 요구 신호의 신호 변화를 검출하고, 신호 변화를 검출한 타이밍으로부터 소정의 시간을 계시하고, 소정의 시간이 경과한 시점에서 출력 신호(예를 들어, 에러 신호 ERR3)의 논리 레벨을 변화시킨다. 시간 감시부(21)로서는, 예를 들어 카운터를 사용할 수 있다. 즉, 제2 패스 PS2는, 제2 인터페이스 신호군에 포함되는 신호 중 감시 대상으로 하는 신호(예를 들어, 액세스 요구 신호)의 값에 따라서 카운터를 동작시키고, 카운터에 오버플로우가 발생했을 때 논리 레벨이 변화하는 제3 에러 신호를 에러 제어부(16)로 출력한다. 또한, 시간 감시부(21)(예를 들어, 카운터)가 카운트값을 오버플로우시키는 카운트값은 시스템 버스 BUS를 통해 제1 프로세서(10), 혹은 다른 프로세서로부터 부여되는 것이다.
여기서, 실시 형태 1에 따른 반도체 장치(1)에서는, 시간 감시부(21)의 동작에 특징의 하나가 있기 때문에, 시간 감시부(21)의 동작에 대하여 상세히 설명한다. 그래서, 도 3에 실시 형태 1에 따른 시간 감시부(21)의 상태 천이도를 나타낸다. 또한, 도 3에 도시한 예는, 액세스 요구 신호를 감시 대상 신호로 한 것이다.
실시 형태 1에 따른 반도체 장치(1)는, 기동 직후에는 액세스 요구 신호가 무효 상태, 카운터가 리셋 상태, 또한, 제3 에러 신호 ERR3이 로우 레벨(도 3 중의 L)로 된다. 그 때문에, 시간 감시부(21)는, 도 3의 상태 천이도의 최상단의 상태로부터 동작을 개시한다. 그리고, 액세스 요구 신호가 무효 상태를 유지하는 동안에는, 시간 감시부(21)는 리셋 상태를 유지한다. 그리고, 액세스 요구 신호가 무효로부터 유효로 전환되면, 시간 감시부(21)는 카운터를 동작시킨다. 그리고, 시간 감시부(21)는, 액세스 요구 신호가 유효로부터 무효로 전환되면 액세스 요구 신호가 무효인 기간의 길이를 카운트한다.
그 후, 시간 감시부(21)는 카운트값이 오버플로우할 때까지는 제3 에러 신호 ERR3을 로우 레벨로 유지한 채 카운트값을 증가시킨다. 그리고, 시간 감시부(21)는, 카운터를 동작시키고 있는 기간에 액세스 요구 신호가 무효로부터 유효로 전환된 경우에는 다시 카운터를 리셋 상태로 하여 제3 에러 신호 ERR3을 로우 레벨로 하는 상태로 되돌아간다. 한편, 시간 감시부(21)는, 액세스 요구 신호가 무효 상태로부터 유효 상태로 전환되지 않고, 카운터의 카운트값이 오버플로우한 경우에는 제3 에러 신호 ERR3을 로우 레벨로부터 하이 레벨로 전환한다. 그리고, 시간 감시부(21)는, 다시 액세스 요구 신호가 무효로부터 유효로 전환됨에 따라서, 처음의 상태로 상태를 되돌린다.
즉, 액세스 모니터(15)는, 시간 감시부(21)를 가짐으로써, 반도체 장치(1)가 스플릿 모드에서 동작하고 있는 경우에, 어떠한 원인으로 액세스 요구 신호가 무효 상태로 고착한 경우에 제3 에러 신호 ERR3에 의해, 당해 에러를 에러 제어부(16)에 통지한다.
에러 제어부(16)는, 제1 레지스터(예를 들어, 레지스터(31)), AND 회로(32), 제2 레지스터(예를 들어, 레지스터(33)), AND 회로(34), OR 회로(35), 에러 통지 신호 생성부(36)를 갖는다. 레지스터(31)에는, 제2 에러 신호 ERR2에 의해 발생한 에러 상태를 통지하는 제1 에러값(예를 들어, 제2 에러 신호 ERR2용 리셋 제어 비트)이 저장된다. 레지스터(33)에는, 제3 에러 신호 ERR3에 의해 발생한 에러 상태를 통지하는 제1 에러값(예를 들어, 제3 에러 신호 ERR3용 리셋 제어 비트)이 저장된다. 레지스터(31, 33)에 저장되는 값은, 시스템 버스 BUS를 통해 제1 프로세서(10), 혹은 다른 프로세서로부터 부여되는 것이다.
AND 회로(32)는, 제2 에러 신호 ERR2가 에러 상태를 나타내는 경우(예를 들어 하이 레벨)에, 레지스터(31)에 저장된 제2 에러 신호 ERR2용 리셋 제어 비트의 값을 출력한다. AND 회로(34)는, 제3 에러 신호 ERR3이 에러 상태를 나타내는 경우(예를 들어 하이 레벨)에, 레지스터(33)에 저장된 제3 에러 신호 ERR3용 리셋 제어 비트의 값을 출력한다.
OR 회로(35)는, AND 회로(32) 및 AND 회로(34)의 출력 신호 중 적어도 한쪽이 액티브(예를 들어, 하이 레벨)로 됨에 따라서 출력 신호의 논리 레벨을 로우 레벨로부터 하이 레벨로 전환한다. 에러 통지 신호 생성부(36)는, 제1 에러 신호 ERR1 및 OR 회로(35)의 출력 신호가 액티브(예를 들어, 하이 레벨)로 됨에 따라서, 이상 상태 처리 요구를 출력한다. 즉, 에러 통지 신호 생성부(36)는, 제2 에러 신호 ERR2로서 상정되는 값을 저장하는 레지스터(31)와, 상기 제3 에러 신호로서 상정되는 값을 저장하는 제2 레지스터를 갖고, 상기 제1 레지스터에 저장된 값이 상기 제2 에러 신호로서 입력된 경우, 또는 상기 제2 레지스터에 저장된 값이 상기 제3 에러 신호로서 입력된 경우에, 이상 상태 처리 요구를 출력한다.
또한, 에러 통지 신호 생성부(36)는, 통지된 에러의 내용에 따라 이상 상태 처리 요구의 내용을 변경해도 된다. 예를 들어, 제1 에러 신호 ERR1에 의해 에러가 통지된 경우에는, 상위 시스템에 록스텝 모드에 의한 동작의 정지를 요구하는 이상 상태 처리 요구를 출력하고, 제2 에러 신호 ERR2 또는 제3 에러 신호 ERR3(즉, OR 회로(35)의 출력 신호)에 의해 에러가 통지된 경우에는 록스텝 모드에 의한 동작을 정지함과 함께 제2 프로세서(11)를 사용 불가로 하는 이상 상태 처리 요구를 출력하는 등이 생각된다.
여기서, 실시 형태 1에 따른 반도체 장치(1)의 동작에 대하여 설명한다. 실시 형태 1에 따른 반도체 장치(1)는, 상술한 바와 같이 록스텝 모드와 스플릿 모드를 갖는다. 그래서, 이하의 설명에서는, 록스텝 모드와 스플릿 모드로 나누어 실시 형태 1에 따른 반도체 장치(1)의 동작 설명을 행한다.
우선, 록스텝 모드 동작 시의 실시 형태 1에 따른 반도체 장치(1)의 동작에 대하여 설명한다. 록스텝 모드에서는, 스플릿 모드 유효 신호 S_SLT가 무효 상태를 지시하는 값(예를 들어, 록스텝 모드를 지시하는 값이며, 하이 레벨)으로 된다. 이에 의해, 선택부(14)는, 제2 프로세서(11)로부터 출력되는 제2 인터페이스 신호군을 차단함과 함께 제1 프로세서(10)를 수신처로서 시스템 버스 BUS로부터 입력되는 제1 인터페이스 신호군을 제2 프로세서(11)에 부여한다. 즉, 록스텝 모드에서는, 선택부(14)로부터 출력되는 인터페이스 신호군은 고정값(예를 들어, 로우 레벨)으로 된다. 그 때문에, 록스텝 모드에서는, 액세스 모니터(15)에는 로우 레벨(무효 상태)로 고정된 감시 대상 신호(예를 들어, 액세스 요구 신호)가 입력되고, 제2 에러 신호 ERR2는, 무효 상태(예를 들어, 로우 레벨)가 유지된다.
그러나, 선택부(14)의 고장, 혹은 스플릿 모드 유효 신호 S_SLT가 유효 상태(예를 들어, 하이 레벨)로 고착하는 고장이 발생하면, 선택부(14)가 제2 프로세서(11)로부터 출력되는 제2 인터페이스 신호군을 차단할 수 없어, 제2 인터페이스 신호군이 시스템 버스 BUS로 출력된다. 그리고, 이러한 고장이 발생한 경우, 액세스 모니터(15)에 부여되는 액세스 요구 신호의 상태로 변화가 발생한다. 실시 형태 1에 따른 반도체 장치(1)에서는, 이 액세스 요구 신호의 변화에 따라 제2 에러 신호 ERR2가 하이 레벨로 되고, 에러 제어부(16)가 이상 상태 처리 요구를 출력한다.
로크 스텝 모드에서 상기와 같은 고장이 발생한 경우, 제2 프로세서(11)가 스플릿 모드의 동작을 행해버린다는 오작동을 일으키고, 공유 리소스(17, 18)에 대해 라이트 액세스함으로써, FIFO 등에 대해서, 의도치 않은 연속 액세스가 발생하고, 올바르지 않은 동작으로 되어, 문제로 된다. 또한, 리드 액세스의 경우는, 제1 프로세서(10)와 제2 프로세서(11)의 동작의 차이로 되어, 비교기에 의해 검출 가능하다. 또한, 상기와 같은 고장이 발생한 경우, 공유 리소스(17, 18)에 대한 액세스의 발행 수가, 2배로 불어남으로써, 버스 성능이 저하되고, 시스템의 제어 주기를 만족할 수 없다는 문제가 일어날 가능성이 있다.
그러나, 실시 형태 1에 따른 반도체 장치(1)에서는, 액세스 모니터(15) 및 에러 제어부(16)에 의해, 상기 고장을 검출함으로써, 오동작의 발생을 방지하는 처리를 상위 시스템이 행함으로써, 이러한 고장이 발생했을 때의 영향을 최소한으로 그치게 한다.
계속해서, 스플릿 모드 동작 시의 실시 형태 1에 따른 반도체 장치(1)의 동작에 대하여 설명한다. 스플릿 모드에서는, 스플릿 모드 유효 신호 S_SLT가 유효 상태를 지시하는 값(예를 들어, 스플릿 모드를 지시하는 값이며, 로우 레벨)으로 된다. 이에 의해, 선택부(14)는, 제2 프로세서(11)로부터 출력되는 제2 인터페이스 신호군을 시스템 버스 BUS로 출력함과 함께 제2 프로세서(11)를 수신처로서 시스템 버스 BUS로부터 입력되는 제2 인터페이스 신호군을 제2 프로세서(11)에 부여한다. 즉, 스플릿 모드에서는, 선택부(14)로부터 출력되는 인터페이스 신호군은 변동하게 된다. 그 때문에, 스플릿 모드에서는, 액세스 모니터(15)에는 값이 변동하는 감시 대상 신호(예를 들어, 액세스 요구 신호)가 입력되고, 제3 에러 신호 ERR3은, 무효 상태(예를 들어, 로우 레벨)가 유지된다.
그러나, 선택부(14)의 고장, 혹은, 스플릿 모드 유효 신호 S_SLT가 무효 상태(예를 들어, 로우 레벨)로 고착하는 고장이 발생하면, 선택부(14)가 제2 프로세서(11)로부터 출력되는 제2 인터페이스 신호군을 차단하고, 제2 인터페이스 신호군이 차단으로 출력된다. 그리고, 이러한 고장이 발생한 경우, 액세스 모니터(15)에 부여되는 액세스 요구 신호의 상태가 무효 상태(예를 들어 로우 레벨)로 고정된다. 실시 형태 1에 따른 반도체 장치(1)에서는, 스플릿 모드 시에 액세스 요구 신호가 무효 상태로 고정되기 때문에 제3 에러 신호 ERR3이 하이 레벨로 되고, 에러 제어부(16)가 이상 상태 처리 요구를 출력한다.
스플릿 모드 시에 상기와 같은 고장이 발생하면, 선택부(14)가 록스텝 모드로서 오동작하고, 제2 프로세서(11)가 공유 리소스(17, 18)에 액세스할 수 없게 되어, 문제가 된다. 그러나, 실시 형태 1에 따른 반도체 장치(1)에서는, 액세스 모니터(15) 및 에러 제어부(16)에 의해, 상기 고장을 검출함으로써, 오동작의 발생을 방지하는 처리를 상위 시스템이 행함으로써, 이러한 고장이 발생했을 때의 영향을 최소한으로 그치게 한다.
또한, 고장이 없으면, 로크 스텝 모드에서 제3 에러 신호 ERR3이 항상 에러 통지 상태로 되고, 스플릿 모드에서 제2 에러 신호 ERR2가 항상 에러 통지 상태로 된다. 이들 에러 통지 상태는, 고장에 의한 것이 아니기 때문에, 의사 에러로서 상위 시스템이 이상이 발생했다고 판정하지 않는 의사 에러로서 처리할 필요가 있다. 이 의사 에러 대책으로서는, 에러 제어부(16)(예를 들어, 에러 통지 신호 생성부(36))의 설정에 의해, 의사 에러에 의한 리셋 요구, 인터럽트 요구, 단자 출력을 억제할 필요가 있다. 이 에러 제어부(36)의 설정은, 독립된 별도의 제3 프로세서(12)에 의해 실시되는 것이 바람직하다.
상기 설명으로부터, 실시 형태 1에 따른 반도체 장치(1)에서는, 비교기(13)에 의한 프로세서 동작의 감시만으로는 검출할 수 없는 선택부(14) 및 스플릿 모드 유효 신호 S_SLT에 관한 고장을 검출하여, 록스텝 모드 시에 발생한 문제에 대처하는 것이 가능해진다.
또한, 실시 형태 1에 따른 반도체 장치(1)에서는, 액세스 모니터(15)가 스플릿 모드 시에 발생한 선택부(14) 및 스플릿 모드 유효 신호 S_SLT에 관한 고장을 검출하여, 스플릿 모드 시에 발생한 문제에 대처하는 것이 가능해진다.
즉, 실시 형태 1에 따른 반도체 장치(1)에서는, 프로세서의 동작 감시만으로는 검출할 수 없는 선택부(14) 및 스플릿 모드 유효 신호 S_SLT에 관한 고장을 검출하고, 문제에 대처하는 것이 가능해진다.
실시 형태 2
실시 형태 2에서는, 실시 형태 1에 따른 반도체 장치(1)의 다른 예로 되는 반도체 장치(2)에 대하여 설명한다. 또한, 실시 형태 2의 설명에서는, 실시 형태 1의 설명에 있어서 설명한 구성 요소와 동일한 구성 요소에 대해서는 실시 형태 1과 동일한 부호를 부여하여 설명을 생략한다.
도 4에 실시 형태 2에 따른 반도체 장치(2)의 블록도를 나타낸다. 도 4에 도시한 바와 같이, 실시 형태 2에 따른 반도체 장치(2)는, 실시 형태 1의 액세스 모니터(15)를 액세스 모니터(15a)로 치환하고, 에러 주입부(19)를 추가한 것이다. 그래서, 액세스 모니터(15a)와 에러 주입부(19)에 대하여 상세히 설명한다. 도 5에 실시 형태 2에 따른 에러 주입부 및 액세스 모니터의 블록도를 나타낸다.
도 5에 도시한 바와 같이, 액세스 모니터(15a)는, 액세스 모니터(15)에 셀렉터(22)를 추가한 것이다. 또한, 에러 주입부(19)는, 에러 주입 유효 레지스터(41) 및 에러 주입 데이터 레지스터(42)를 갖는다. 에러 주입 유효 레지스터(41)는, 에러 제어부가 상기 이상 상태 처리 요구를 출력하는 감시 대상 신호의 값(예를 들어 에러 데이터)이 저장된다. 에러 주입 데이터 레지스터(42)는, 에러 주입 데이터 레지스터의 값을 제1 패스 PS1 및 제2 패스 PS2에 입력할지 여부를 전환하는 전환 설정값을 저장한다. 셀렉터(22)는, 전환 설정값에 따라서, 에러 데이터 주입 레지스터(42)에 저장된 값과, 감시 대상 신호의 어느 한쪽을 선택하여 제1 패스 및 제2 패스로 출력한다. 또한, 에러 주입 유효 레지스터(41)에 저장되는 전환 설정값과 에러 주입 데이터 레지스터(42)에 저장되는 값은, 제1 프로세서(10) 혹은 제3 프로세서(12)에 의해 부여되는 것이다.
실시 형태 2에 따른 반도체 장치(2)에서는, 액세스 모니터(15a) 및 에러 주입부(19)를 가짐으로써, 액세스 모니터(15a) 및 에러 제어부(16)가 정확하게 동작하고 있는지 여부를 확인할 수 있다. 즉, 실시 형태 2에 따른 반도체 장치(2)에서는, 선택부(14)뿐만 아니라 액세스 모니터(15a) 및 에러 제어부(16)의 고장도 검출 가능하며, 실시 형태 1에 따른 반도체 장치(1)보다 높은 신뢰성을 얻을 수 있다.
실시 형태 3
실시 형태 3에서는, 실시 형태 1에 따른 반도체 장치(2)의 다른 예로 되는 반도체 장치(3)에 대하여 설명한다. 또한, 실시 형태 3의 설명에서는, 실시 형태 1, 2의 설명에 있어서 설명한 구성 요소와 동일한 구성 요소에 대해서는 실시 형태 1, 2와 동일한 부호를 부여하여 설명을 생략한다.
도 6에 실시 형태 3에 따른 반도체 장치(3)의 블록도를 나타낸다. 도 6에 도시한 바와 같이, 실시 형태 3에 따른 반도체 장치(3)는, 액세스 모니터(15)를 액세스 모니터(15b)로 치환한 것이다. 또한, 실시 형태 3에 따른 반도체 장치(3)는, 비교기(13)에 스플릿 모드 유효 신호 S_SLT가 입력된다. 그래서, 액세스 모니터(15b)에 대하여 상세히 설명한다. 도 7에 실시 형태 3에 따른 에러 주입부 및 액세스 모니터의 블록도를 나타낸다.
도 7에 도시한 바와 같이, 액세스 모니터(15b)는, 액세스 모니터(15a)에 AND 회로(23, 24)를 추가한 것이다. AND 회로(23)는, 스플릿 모드 유효 신호 S_SLT에 따라서 제1 패스 PS1을 유효와 무효화 중 어느 한쪽으로 하는 제1 게이팅 회로이다. AND 회로(24)는, 스플릿 모드 유효 신호 S_SLT에 따라서 제2 패스 PS2를 유효와 무효화 중 어느 한쪽으로 하는 제2 게이팅 회로이다. 여기서, AND 회로(23)의 2개의 입력 단자 중 스플릿 모드 유효 신호 S_SLT를 입력하는 입력 단자는, 스플릿 모드 유효 신호 S_SLT가 로우 레벨일 때 액티브(예를 들어, 하이 레벨이 입력되었을 때의 상태)로 되는 단자이다. 한편, AND 회로(24)의 2개의 입력 단자 중 스플릿 모드 유효 신호 S_SLT를 입력하는 입력 단자는, 스플릿 모드 유효 신호 S_SLT가 하이 레벨일 때 액티브로 되는 단자이다. 즉, AND 회로(23)와 AND 회로(24)는, 배타적으로 유효와 무효가 전환된다.
이와 같이 AND 회로(23, 24)를 설치함으로써, 실시 형태 3에 따른 반도체 장치(3)에서는, 록스텝 모드 시에는 제2 패스 PS2를 무효로 하여 제3 에러 신호 ERR3이 유효해지는 것을 방지하고, 스플릿 모드에는 제1 패스 PS1을 무효로 하여 제2 에러 신호 ERR2가 유효해지는 것을 방지한다.
또한, 실시 형태 3에 따른 반도체 장치(3)에서는, 비교기(13)에 스플릿 모드 유효 신호 S_SLT가 입력됨으로써, 스플릿 모드 시에 비교기(13)를 정지시킨다.
상기 설명으로부터, 실시 형태 3에 따른 반도체 장치(3)에서는, AND 회로(23, 24)를 사용함으로써 각 모드에서 의사 에러를 발생시키는 경로를 무효화하여, 의사 에러의 발생을 억제한다. 이에 의해, 실시 형태 3에서는 에러 제어부(16)에 있어서의 의사 에러에 관한 처리를 없앨 수 있다. 또한, 실시 형태 3에서는, 비교기(13)의 동작 기간을 단축하여, 소비 전력을 저감시킬 수 있다.
실시 형태 4
실시 형태 4에서는, 실시 형태 3에 따른 반도체 장치(3)의 다른 예로 되는 반도체 장치(4)에 대하여 설명한다. 또한, 실시 형태 4의 설명에서는, 실시 형태 1 내지 3의 설명에 있어서 설명한 구성 요소와 동일한 구성 요소에 대해서는 실시 형태 1 내지 3과 동일한 부호를 부여하여 설명을 생략한다.
도 8에 실시 형태 4에 따른 반도체 장치(4)의 블록도를 나타낸다. 도 8에 도시한 바와 같이, 실시 형태 4에 따른 반도체 장치(4)는, 제2 프로세서(11), 비교기(13), 액세스 모니터(15b), 에러 제어부(16)를 제2 프로세서(11c), 비교기(13c), 액세스 모니터(15c), 에러 제어부(16c)로 치환한 것이다.
에러 제어부(16c)는, 에러 제어부(16)에 제1 에러 신호 ERR1로부터 제3 에러 신호 ERR3에 의해 에러를 검출한 경우에, 제2 프로세서(11c), 비교기(13c), 액세스 모니터(15c)에 동작을 초기화하는 로컬 리셋 신호 RST_L을 출력하는 기능을 추가한 것이다. 그리고, 제2 프로세서(11c), 비교기(13c), 액세스 모니터(15c)는, 제2 프로세서(11), 비교기(13), 액세스 모니터(15b)에 로컬 리셋 신호 RST_L에 의한 리셋을 실행 가능한 기능을 추가한 것이다.
실시 형태 4에 따른 반도체 장치(4)는, 제2 프로세서(11c) 및 비교기(13c)를 리셋 상태로 함으로써, 제2 프로세서(11)에 의한 공유 리소스(17, 18)에 대한 침해, 혹은 비교기, 액세스 모니터(15c)로부터의 의사 에러의 발생을 억제한다. 또한, 이에 의해, 실시 형태 4에 따른 반도체 장치(4)에서는, 제1 프로세서(10)나 제3 프로세서(12) 등에 의한 동작 계속이 가능해진다. 또한, 제1 프로세서(10)나 제3 프로세서(12)는 에러 제어부로부터의 인터럽트 통지에 의해, 제2 프로세서(11), 비교기(13c), 액세스 모니터(15c)가 리셋 상태인 것을 이해한 다음의 동작 계속이 가능하다.
실시 형태 5
실시 형태 5에서는, 실시 형태 1에 따른 액세스 모니터(15)의 다른 형태로 되는 액세스 모니터(15d)에 대하여 설명한다. 또한, 실시 형태 5의 설명에서는, 실시 형태 1의 설명에 있어서 설명한 구성 요소와 동일한 구성 요소에 대해서는 실시 형태 1과 동일한 부호를 부여하여 설명을 생략한다.
도 9에 실시 형태 5에 따른 액세스 모니터(15d)의 블록도를 나타낸다. 도 9에 도시한 바와 같이, 액세스 모니터(15d)는, 액세스 모니터(15)에 ECC 디코더(25)를 추가한 것이다. ECC 디코더(25)는, 제2 인터페이스 신호군에 포함되는 감시 대상 신호와 감시 대상 신호에 부가되는 ECC 코드를 사용하여, 록스텝 모드 시에 상기 선택부를 통해 출력되는 상기 감시 대상 신호의 고착 에러를 검출한다. 그리고, 액세스 모니터(15d)에서는, ECC 디코더(25)의 출력을 제1 패스 PS1 및 제2 패스 PS2로 출력한다. 또한, 선택부(14)로부터 출력되는 감시 대상 신호와 감시 대상 신호에 부수되는 ECC 코드의 조합은, 선택부(14)가 고장났을 때 ECC 디코더(25)에 있어서의 디코드 처리에 의해 에러가 되는 조합이 바람직하다.
실시 형태 5에 따른 반도체 장치에서는, ECC 디코더(25)를 사용함으로써 감시 대상 신호로서 액세스 요구 신호 등의 기지의 값을 갖는 신호뿐만 아니라, 데이터 신호 등의 값이 그때마다 변화하는 신호를 사용할 수 있다. 이것은, 록스텝 모드 시에 선택부(14)에 고장이 발생한 경우, 선택부(14)를 통해 출력되는 어느 하나의 신호에 고착이 발생하지만, ECC 코드와 같은 에러 검출 코드를 사용한 디코드 처리를 사용함으로써 인터페이스 신호군에 포함되는 신호가 그때마다 변화하는 신호였다고 해도, 이 고착 에러를 검출할 수 있기 때문이다.
실시 형태 6
실시 형태 6에서는, 실시 형태 1에 따른 반도체 장치(1)의 다른 형태로 되는 반도체 장치(6)에 대하여 설명한다. 또한, 실시 형태 6의 설명에서는, 실시 형태 1의 설명에 있어서 설명한 구성 요소와 동일한 구성 요소에 대해서는 실시 형태 1과 동일한 부호를 부여하여 설명을 생략한다.
도 10에 실시 형태 6에 따른 반도체 장치(6)의 블록도를 나타낸다. 도 10에 도시한 바와 같이, 실시 형태 6에 따른 반도체 장치(6)는, 록스텝 모드와 스플릿 모드로 동작을 전환 가능한 구성을 2세트 갖는다. 도 10에 도시한 예에서는, 제1 프로세서(10), 제2 프로세서(11), 비교기(13), 선택부(14)가 제1 로크 스텝 구성이며, 제3 프로세서(50), 제4 프로세서(51), 비교기(53), 선택부(54)가 제2 로크 스텝 구성이다. 그리고, 실시 형태 6에 따른 반도체 장치(6)에서는, 조정 회로(예를 들어, OR 회로)가 추가된다. OR 회로(60)는, 선택부(14)를 통해 출력되는 제2 인터페이스 신호군과, 선택부(54)를 통해 제4 프로세서(51)가 출력하는 제4 인터페이스 신호군을 조정하여 액세스 모니터(15)에 선택부를 통해 출력되는 인터페이스 신호군을 전달한다.
실시 형태 6에 따른 반도체 장치(6)에서는, OR 회로(60)를 사용하여 2개의 로크 스텝 구성의 동작을 1세트의 액세스 모니터(15) 및 에러 제어부(16)에 의해 감시할 수 있다. 이에 의해, 실시 형태 6에 따른 반도체 장치(6)에서는, 로크 스텝 구성의 회로의 수에 대한 액세스 모니터(15) 및 에러 제어부(16)의 회로 면적을 삭감할 수 있다.
실시 형태 7
실시 형태 7에서는, 실시 형태 1에 따른 반도체 장치(1)의 다른 형태로 되는 반도체 장치(7)에 대하여 설명한다. 또한, 실시 형태 7의 설명에서는, 실시 형태 1의 설명에 있어서 설명한 구성 요소와 동일한 구성 요소에 대해서는 실시 형태 1과 동일한 부호를 부여하여 설명을 생략한다.
도 11에 실시 형태 7에 따른 반도체 장치(7)의 블록도를 나타낸다. 도 11에 도시한 바와 같이, 실시 형태 7에 따른 반도체 장치(7)는, 액세스 모니터(15) 및 에러 제어부(16)를 대신하여 액세스 모니터(15e) 및 에러 제어부(16e)를 갖는다.
액세스 모니터(15e)는, 선택부(14)를 통해 시스템 버스 BUS로 출력되는 제2 인터페이스 신호군에 포함되는 감시 대상 신호를 감시하고, 감시 대상 신호가 시스템 버스 BUS로 출력된 경우에 제2 에러 신호 ERR2를 출력한다. 에러 제어부(16e)는, 제1 에러 신호 ERR1 및 제2 에러 신호 ERR2에 기초하여 제1 프로세서(10), 제2 프로세서(11) 및 선택부(14) 중 어느 하나의 이상 상태를 검출하고, 검출된 이상 상태에 따라서 상위 시스템에 이상 상태에 따른 처리를 요구하는 이상 상태 처리 요구(예를 들어, 리셋 요구 신호 RST, 에러 개입 신호 INT, 외부 에러 통지 신호 EX_OUT)를 출력한다.
여기서, 액세스 모니터(15e) 및 에러 제어부(16e)에 대하여 상세히 설명한다. 그래서, 도 12에 실시 형태 7에 따른 액세스 모니터(15e) 및 에러 제어부(16e)의 블록도를 나타낸다. 도 12에 도시한 바와 같이, 액세스 모니터(15e)는, 액세스 모니터(15)로부터 시간 감시부(21) 및 제2 패스 PS2를 제외한 것이다. 또한, 에러 제어부(16e)는, 에러 제어부(16)로부터 레지스터(33), AND 회로(34), OR 회로(35)를 제외한 것이다. 그리고, 실시 형태 7에 따른 액세스 모니터(15e)는, 록스텝 모드 시에 있어서, 정상 시에는 미리 값이 정해져 있으며, 상기 선택부가 고장난 이상 시에 값에 변화가 발생하는 신호를 감시 대상 신호로 한다. 도 12에 도시한 예에서는, 액세스 모니터(15e)는, 제2 프로세서(11)가 공유 리소스(17, 18)에 대한 액세스의 허가를 요구하는 액세스 요구 신호를 감시 대상 신호로 한다. 액세스 요구 신호는, 록스텝 모드 시에는 선택부(14)가 로우 레벨을 유지하는 신호이며, 선택부(14)에 고장이 발생한 경우에는, 제2 프로세서(11)의 동작에 따라서 하이 레벨로 되는 경우가 있는 신호이다. 액세스 모니터(15e)는, 록스텝 모드 시에 선택부(14)로부터 출력되는 액세스 요구 신호가 하이 레벨로 된 경우에, 제2 에러 신호 ERR2에 의해 에러가 발생하였음을 에러 제어부(16e)에 전달한다.
실시 형태 7에 따른 반도체 장치(7)에서는, 실시 형태 1에 따른 반도체 장치(1)로부터 스플릿 모드 시의 에러 검출 기능을 삭감한 것이다. 그러나, 공유 리소스에 대한 액세스 집중(혹은 충돌) 등의 보다 중대한 문제는, 록스텝 모드에 발생한다. 그 때문에, 반도체 장치의 사양에 따라서, 실시 형태 7에 따른 반도체 장치(7)를 채용함으로써, 시간 감시부(21), 레지스터(33) 등의 회로를 삭감하여 회로 면적을 삭감할 수 있다.
이상, 본 발명자에 의해 이루어진 발명을 실시 형태에 기초하여 구체적으로 설명하였지만, 본 발명은 이미 설명한 실시 형태로 한정되는 것이 아니라, 그 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능한 것은 물론이다.
1 내지 4, 6, 7: 반도체 장치
10: 제1 프로세서
11: 제2 프로세서
12: 제3 프로세서
13: 비교기
14: 선택부
15: 액세스 모니터
16: 에러 제어부
17: 공유 리소스
18: 공유 리소스
19: 에러 주입부
21: 시간 감시부
22: 셀렉터
23: AND 회로
24: AND 회로
25: ECC 디코더
31: 레지스터
32: AND 회로
33: 레지스터
34: AND 회로
35: OR 회로
36: 에러 통지 신호 생성부
41: 에러 주입 유효 레지스터
42: 에러 주입 데이터 레지스터
50: 제3 프로세서
51: 제4 프로세서
53: 비교기
54: 선택부
60: OR 회로
PS1: 제1 패스
PS2: 제2 패스
S_SLT: 스플릿 모드 유효 신호
ERR1: 제1 에러 신호
ERR2: 제2 에러 신호
ERR3: 제3 에러 신호
EX_OUT: 외부 에러 통지 신호
INT: 에러 개입 신호
RST: 리셋 요구 신호

Claims (12)

  1. 제1 연산 코어와,
    제2 연산 코어와,
    상기 제1 연산 코어와 상기 제2 연산 코어가 공통으로 이용하는 공유 리소스와,
    상기 제1 연산 코어 및 상기 제2 연산 코어와, 상기 공유 리소스 사이의 신호의 송수신을 중개하는 시스템 버스와,
    상기 제1 연산 코어가 상기 공유 리소스에 대해서 출력하는 제1 인터페이스 신호군과 상기 제2 연산 코어가 상기 공유 리소스에 대해서 출력하는 제2 인터페이스 신호군을 비교하여, 상기 제1 인터페이스 신호군과 상기 제2 인터페이스 신호군이 불일치하는 상태로 된 경우에 제1 에러 신호를 인에이블 상태로 하는 비교기와,
    록스텝 모드 시에는 상기 제2 인터페이스 신호군이 상기 시스템 버스로 출력되는 것을 방지하고, 상기 제1 연산 코어와 상기 제2 연산 코어가 상이한 동작을 행하는 스플릿 모드 시에는 상기 제2 인터페이스 신호군을 상기 시스템 버스에 전달하는 선택부와,
    상기 선택부를 통해 상기 시스템 버스로 출력되는 상기 제2 인터페이스 신호군에 포함되는 감시 대상 신호를 감시하고, 상기 감시 대상 신호가 상기 시스템 버스로 출력된 경우에 제2 에러 신호를 출력함과 함께 상기 감시 대상 신호가 일정 기간 동안 출력되지 않는 경우에 제3 에러 신호를 출력하는 액세스 모니터와,
    상기 제1 에러 신호, 상기 제2 에러 신호 및 상기 제3 에러 신호에 기초하여 상기 제1 연산 코어, 상기 제2 연산 코어 및 상기 선택부 중 어느 하나의 이상 상태를 검출하고, 검출된 이상 상태에 따라서 상위 시스템에 상기 이상 상태에 따른 처리를 요구하는 이상 상태 처리 요구를 출력하는 에러 제어부
    를 갖는, 반도체 장치.
  2. 제1항에 있어서,
    상기 액세스 모니터는, 상기 제2 인터페이스 신호군 중 기지의 값을 갖는 액세스 요구 신호를 감시하는, 반도체 장치.
  3. 제1항에 있어서,
    상기 액세스 모니터는, 상기 감시 대상 신호의 값을 그대로 상기 제2 에러 신호로서 상기 에러 제어부로 출력하는 제1 패스와, 경로상에 카운터를 갖고, 상기 감시 대상 신호의 값에 따라서 카운터를 동작시키고, 상기 카운터에 오버플로우가 발생했을 때 논리 레벨이 변화하는 상기 제3 에러 신호를 상기 에러 제어부로 출력하는 제2 패스를 갖는, 반도체 장치.
  4. 제3항에 있어서,
    상기 카운터는, 상기 감시 대상 신호가 제1 논리 레벨로부터 제2 논리 레벨로 전환된 후에 상기 제2 논리 레벨이 유지되는 기간이 소정의 기간을 초과한 경우에 상기 오버플로우가 발생하는, 반도체 장치.
  5. 제3항에 있어서,
    상기 반도체 장치는,
    상기 에러 제어부가 상기 이상 상태 처리 요구를 출력하는 상기 감시 대상 신호의 값을 저장한 에러 주입 데이터 레지스터와,
    상기 에러 주입 데이터 레지스터의 값을 상기 제1 패스 및 상기 제2 패스에 입력할지 여부를 전환하는 전환 설정값을 저장하는 에러 주입 유효 레지스터
    를 갖고,
    상기 액세스 모니터는,
    상기 전환 설정값에 따라서, 상기 에러 데이터 주입 레지스터에 저장된 값과, 상기 감시 대상 신호의 어느 한쪽을 선택하여 상기 제1 패스 및 상기 제2 패스로 출력하는 셀렉터를 더 갖는, 반도체 장치.
  6. 제3항에 있어서,
    상기 액세스 모니터는, 상기 제2 인터페이스 신호군에 포함되는 상기 감시 대상 신호와 상기 감시 대상 신호에 부가되는 ECC 코드를 사용하여, 상기 록스텝 모드 시에 상기 선택부를 통해 출력되는 상기 감시 대상 신호의 고착 에러를 검출하는 ECC 디코더를 갖고, 상기 ECC 디코더의 출력을 상기 제1 패스 및 상기 제2 패스로 출력하는, 반도체 장치.
  7. 제1항에 있어서,
    상기 액세스 모니터는, 상기 록스텝 모드와 상기 스플릿 모드의 전환을 지시하는 스플릿 모드 유효 신호에 따라서 상기 제1 패스를 유효와 무효화 중 어느 한쪽으로 하는 제1 게이팅 회로와, 스플릿 모드 유효 신호에 따라서 상기 제2 패스를 유효와 무효화 중 어느 한쪽으로 하는 제2 게이팅 회로를 갖고, 상기 제1 게이팅 회로와 상기 제2 게이팅 회로는, 배타적으로 유효와 무효가 전환되는, 반도체 장치.
  8. 제1항에 있어서,
    상기 에러 제어부는,
    상기 제2 에러 신호에 의해 발생한 에러 상태를 통지하는 제1 에러값을 저장하는 제1 레지스터와,
    상기 제3 에러 신호에 의해 발생한 에러 상태를 통지하는 제2 에러값을 저장하는 제2 레지스터
    를 갖고,
    상기 제1 레지스터에 저장된 값이 상기 제2 에러 신호로서 입력된 경우, 또는, 상기 제2 레지스터에 저장된 값이 상기 제3 에러 신호로서 입력된 경우에, 상기 이상 상태 처리 요구를 출력하는, 반도체 장치.
  9. 제1항에 있어서,
    상기 에러 제어부는,
    상기 제1 에러 신호로부터 상기 제3 에러 신호에 의해 에러를 검출한 경우에, 상기 제1 연산 코어, 상기 비교기, 및 상기 액세스 모니터에 동작을 초기화하는 로컬 리셋 신호를 출력하는, 반도체 장치.
  10. 제1항에 있어서,
    상기 선택부를 제1 선택부로 하고,
    상기 시스템 버스를 통해 상기 공유 리소스에 액세스를 행함과 함께 상기 록스텝 모드와 상기 스플릿 모드로 동작 가능한 제3 연산 코어 및 제4 연산 코어와,
    록스텝 모드 시에는 상기 공유 리소스에 대하여 상기 제4 연산 코어가 출력하는 제4 인터페이스 신호군이 상기 시스템 버스로 출력되는 것을 방지하고, 상기 제3 연산 코어와 상기 제4 연산 코어가 상이한 동작을 행하는 스플릿 모드 시에는 상기 제4 인터페이스 신호군을 상기 시스템 버스에 전달하는 제2 선택부와,
    상기 제1 선택부를 통해 상기 시스템 버스로 출력되는 상기 제2 인터페이스 신호군과, 상기 제2 선택부를 통해 상기 시스템 버스로 출력되는 상기 제4 인터페이스 신호군을 조정하여 상기 액세스 모니터로 출력하는 조정 회로
    를 갖는, 반도체 장치.
  11. 제1 연산 코어와,
    제2 연산 코어와,
    상기 제1 연산 코어와 상기 제2 연산 코어가 공통으로 이용하는 공유 리소스와,
    상기 제1 연산 코어 및 상기 제2 연산 코어와, 상기 공유 리소스 사이의 신호의 송수신을 중개하는 시스템 버스와,
    상기 제1 연산 코어가 상기 공유 리소스에 대해서 출력하는 제1 인터페이스 신호군과 상기 제2 연산 코어가 상기 공유 리소스에 대해서 출력하는 제2 인터페이스 신호군을 비교하여, 상기 제1 인터페이스 신호군과 상기 제2 인터페이스 신호군이 불일치하는 상태로 된 경우에 제1 에러 신호를 인에이블 상태로 하는 비교기와,
    록스텝 모드 시에는 상기 제2 인터페이스 신호군이 상기 시스템 버스로 출력되는 것을 방지하고, 상기 제1 연산 코어와 상기 제2 연산 코어가 상이한 동작을 행하는 스플릿 모드 시에는 상기 제2 인터페이스 신호군을 상기 시스템 버스에 전달하는 선택부와,
    상기 선택부를 통해 상기 시스템 버스로 출력되는 상기 제2 인터페이스 신호군에 포함되는 감시 대상 신호를 감시하고, 상기 감시 대상 신호가 상기 시스템 버스로 출력된 경우에 제2 에러 신호를 출력하는 액세스 모니터와,
    상기 제1 에러 신호 및 상기 제2 에러 신호에 기초하여 상기 제1 연산 코어, 상기 제2 연산 코어 및 상기 선택부 중 어느 하나의 이상 상태를 검출하고, 검출된 이상 상태에 따라서 상위 시스템에 상기 이상 상태에 따른 처리를 요구하는 이상 상태 처리 요구를 출력하는 에러 제어부를 갖고,
    상기 감시 대상 신호는, 상기 록스텝 모드 시에 있어서, 정상 시에는 미리 값이 정해져 있으며, 상기 선택부가 고장난 이상 시에 값에 변화가 발생하는 신호인, 반도체 장치.
  12. 제11항에 있어서,
    상기 감시 대상 신호는, 상기 제2 연산 코어가 상기 공유 리소스에 대한 액세스의 허가를 요구하는 액세스 요구 신호인, 반도체 장치.
KR1020180140716A 2017-11-20 2018-11-15 반도체 장치 KR20190058310A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017222695A JP6853162B2 (ja) 2017-11-20 2017-11-20 半導体装置
JPJP-P-2017-222695 2017-11-20

Publications (1)

Publication Number Publication Date
KR20190058310A true KR20190058310A (ko) 2019-05-29

Family

ID=64331684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180140716A KR20190058310A (ko) 2017-11-20 2018-11-15 반도체 장치

Country Status (5)

Country Link
US (1) US10915393B2 (ko)
EP (1) EP3486781B1 (ko)
JP (1) JP6853162B2 (ko)
KR (1) KR20190058310A (ko)
CN (1) CN109815036A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020016964A1 (ja) * 2018-07-18 2020-01-23 サンケン電気株式会社 マルチコアシステム
CN111176170B (zh) * 2019-12-31 2021-07-09 北京北方华创微电子装备有限公司 半导体设备控制系统的启动方法及装置
KR20210094301A (ko) 2020-01-21 2021-07-29 에스케이하이닉스 주식회사 비교회로
KR20220039404A (ko) * 2020-09-22 2022-03-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
WO2023022035A1 (ja) * 2021-08-18 2023-02-23 株式会社エヌエスアイテクス プロセッサ

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051323B2 (en) 2010-01-21 2011-11-01 Arm Limited Auxiliary circuit structure in a split-lock dual processor system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173351B1 (en) * 1998-06-15 2001-01-09 Sun Microsystems, Inc. Multi-processor system bridge
US5991900A (en) * 1998-06-15 1999-11-23 Sun Microsystems, Inc. Bus controller
US6625749B1 (en) * 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
GB2366012B (en) * 2000-08-14 2002-08-14 Sun Microsystems Inc A computer system
GB2369690B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Enhanced protection for memory modification tracking
EP1246033A1 (de) * 2001-08-23 2002-10-02 Siemens Aktiengesellschaft Verfahren zur Überwachung konsistenter Speicherinhalte in redundanten Systemen
GB2399917B (en) * 2002-03-19 2005-01-19 Sun Microsystems Inc Computer system
JP3982353B2 (ja) * 2002-07-12 2007-09-26 日本電気株式会社 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
US8108730B2 (en) * 2010-01-21 2012-01-31 Arm Limited Debugging a multiprocessor system that switches between a locked mode and a split mode
US20110179255A1 (en) * 2010-01-21 2011-07-21 Arm Limited Data processing reset operations
JP6312550B2 (ja) 2014-08-01 2018-04-18 ルネサスエレクトロニクス株式会社 半導体装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051323B2 (en) 2010-01-21 2011-11-01 Arm Limited Auxiliary circuit structure in a split-lock dual processor system

Also Published As

Publication number Publication date
CN109815036A (zh) 2019-05-28
US10915393B2 (en) 2021-02-09
EP3486781B1 (en) 2022-02-16
JP6853162B2 (ja) 2021-03-31
US20190155680A1 (en) 2019-05-23
JP2019095893A (ja) 2019-06-20
EP3486781A1 (en) 2019-05-22

Similar Documents

Publication Publication Date Title
KR20190058310A (ko) 반도체 장치
JP5739290B2 (ja) 電子制御装置
JP5014899B2 (ja) 再構成可能デバイス
CN101216793A (zh) 一种多处理器系统故障恢复的方法及装置
US20190052355A1 (en) Network switching system
US20220222187A1 (en) Controller
US11449361B2 (en) Functional safety system, safety control method for the functional safety system, and functional safety program
US8533517B2 (en) Clock switching circuits and methods to select from multiple clock sources
CN110825561A (zh) 控制系统以及控制装置
US10120742B2 (en) Power supply controller system and semiconductor device
JP6502211B2 (ja) 車両制御装置
JP6285123B2 (ja) 電源監視装置、電源装置、情報処理システム及び電源監視方法
CN111367706B (zh) 一种多余度计算机的通道控制权切换方法及装置
JP6654662B2 (ja) サーバ装置およびサーバシステム
CN110633176B (zh) 工作系统切换方法、立方星和切换装置
US9176806B2 (en) Computer and memory inspection method
JP7120957B2 (ja) 半導体装置
JP4340669B2 (ja) 入出力制御装置,入出力制御方法,プロセス制御装置及びプロセス制御方法
JP2014075065A (ja) 半導体装置及びその回路動作開始方法
JP2015135599A (ja) バス制御回路、情報処理装置および共通バス衝突回避方法
JP2022084150A (ja) 情報処理装置及び情報処理方法
JP2015141589A (ja) サーバ装置、サーバシステムおよび障害対策方法
WO2017090164A1 (ja) 制御装置
CN114761929A (zh) 车载电子控制装置
WO2017169058A1 (ja) 電子制御装置