KR102327192B1 - 오류 관리기를 포함하는 반도체 시스템 - Google Patents

오류 관리기를 포함하는 반도체 시스템 Download PDF

Info

Publication number
KR102327192B1
KR102327192B1 KR1020180022658A KR20180022658A KR102327192B1 KR 102327192 B1 KR102327192 B1 KR 102327192B1 KR 1020180022658 A KR1020180022658 A KR 1020180022658A KR 20180022658 A KR20180022658 A KR 20180022658A KR 102327192 B1 KR102327192 B1 KR 102327192B1
Authority
KR
South Korea
Prior art keywords
error
recovery
tolerant
information
manager
Prior art date
Application number
KR1020180022658A
Other languages
English (en)
Other versions
KR20190040873A (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
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US16/117,403 priority Critical patent/US11036595B2/en
Publication of KR20190040873A publication Critical patent/KR20190040873A/ko
Application granted granted Critical
Publication of KR102327192B1 publication Critical patent/KR102327192B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 오류 감지기, 오류 관리기, 및 오류 복구 모듈을 포함한다. 오류 감지기는 제 1 IP(Intellectual Property)에서 발생하는 오류와 관련되는 오류 정보를 획득한다. 오류 관리기는 오류 정보와 관련되는 하나 이상의 복구 방법들을 제공하는 복구 정보를 저장하고, 복구 정보에 기초하여 하나 이상의 복구 방법들 중 제 1 IP에서 발생한 오류를 복구하기 위한 복구 방법을 결정한다. 오류 복구 모듈은 결정된 복구 방법에 기초하여, 제 1 IP를 제어한다. 결정된 복구 방법은 제 1 IP와 제 2 IP 사이의 통신을 수반한다. 제 1 IP에서 발생한 오류는 제 1 IP와 제 2 IP 사이의 통신에 따라 전달되는 데이터에 기초하여 복구된다.

Description

오류 관리기를 포함하는 반도체 시스템{SEMICONDUCTOR SYSTEM INCLUDING FAULT MANAGER}
본 발명은 반도체 시스템에 관한 것으로, 좀 더 상세하게는 오류 감내 기능을 수행하는 반도체 시스템에 관한 것이다.
오늘날 많은 기계 및 장치들은 사용자에게 다양한 편의 기능을 제공하기 위해 다양한 반도체 시스템을 포함하고 있다. 예로서, 비행기 및 자동차와 같은 교통 수단들은, 다양한 편의 기능을 수행하기 위한 마이크로 프로세서를 포함할 수 있다. 또한, 사물 인터넷(Internet of Things; IoT)을 구현하기 위한 전자 장치들도 다양한 컴퓨팅 장치들을 포함할 수 있다.
반도체 시스템은 가혹한 환경에서 동작하기 위한 기계 및 장치에도 포함될 수 있다. 반도체 시스템의 동작은 온도, 습도 및 압력과 같은 주변 환경에 의해 영향을 받을 수 있다. 따라서, 반도체 시스템이 가혹한 환경에서 동작하는 경우, 반도체 시스템에 포함된 IP(Intellectual Property)들에서 오류가 발생할 수 있다.
반도체 시스템을 가혹한 환경에서 동작시키기 위해, 반도체 시스템은 오류 감내(Fault-Tolerant) 기능을 수행하도록 구성될 수 있다. 오류 감내 기능을 수행하는 반도체 시스템, 즉 오류 감내 시스템은 다수의 오류 감내 IP들을 포함할 수 있다. 오류 감내 IP에서 오류가 발생할 경우, 전체 시스템의 성능이 저하될 수 있기 때문에, 오류를 효율적으로 복구하기 위한 오류 감내 시스템이 요구된다.
본 발명은 오류를 복구하기 위한 기능을 수행하는 반도체 시스템을 제공할 수 있다.
본 발명의 실시 예에 따른 반도체 시스템은 오류 감지기, 오류 관리기, 및 오류 복구 모듈을 포함할 수 있다. 오류 감지기는 제 1 IP(Intellectual Property)에서 발생하는 오류와 관련되는 오류 정보를 획득할 수 있다. 오류 관리기는 오류 정보와 관련되는 하나 이상의 복구 방법들을 제공하는 복구 정보를 저장하고, 복구 정보에 기초하여 하나 이상의 복구 방법들 중 제 1 IP에서 발생한 오류를 복구하기 위한 복구 방법을 결정할 수 있다. 오류 복구 모듈은 결정된 복구 방법에 기초하여, 제 1 IP를 제어할 수 있다. 결정된 복구 방법은 제 1 IP와 제 2 IP 사이의 통신을 수반할 수 있다. 제 1 IP에서 발생한 오류는 제 1 IP와 제 2 IP 사이의 통신에 따라 전달되는 데이터에 기초하여 복구될 수 있다.
본 발명의 실시 예에 따르면, 반도체 시스템에 포함되는 IP들의 관계를 고려하여, IP들에서 발생하는 오류들이 효율적으로 복구될 수 있다.
도 1은 본 발명의 실시 예에 따른, 오류 감내 시스템을 보여주는 블록도 이다.
도 2는 본 발명의 실시 예에 따른, 오류 감내 시스템을 보여주는 블록도 이다.
도 3은 도 1 또는 도 2의 오류 관리기의 예시적인 구성을 보여주는 블록도 이다.
도 4는 도 3의 레지스터에 저장된 예시적인 데이터를 보여주는 블록도 이다.
도 5는 도 4의 상태 정보를 나타내는 예시적인 데이터를 보여주는 표 이다.
도 6은 예시적인 복구 정보와 관련하여 도 3의 오류 제어기에 저장되는 데이터를 보여주는 표 이다.
도 7은 도 1 또는 도 2의 오류 복구부의 예시적인 구성을 보여주는 블록도 이다.
도 8은 도 1 또는 도 2의 오류 감내 시스템의 예시적인 동작을 보여주는 순서도 이다.
도 9는 도 1 또는 도 2의 오류 감내 시스템의 예시적인 동작을 보여주는 순서도 이다.
도 10은 본 발명의 실시 예에 따른, 오류 감내 시스템을 보여주는 블록도 이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른, 오류 감내 시스템을 보여주는 블록도 이다.
도 1을 참조하면, 오류 감내 시스템(100)은 오류 감내 IP(110), 오류 관리기(120), 및 오류 복구부(130)를 포함할 수 있다. 오류 감내 IP(110)는 오류 감지기(111)를 포함할 수 있다. 오류 복구부(130)는 오류 복구 모듈(131)을 포함할 수 있다.
예로서, 오류 감내 시스템(100)은 오류를 복구하기 위한 기능을 수행하도록 구성되는 반도체 시스템일 수 있다. 오류 감내 시스템(100)은 하나의 전자 장치로 구현될 수 있다. 예로서, 오류 감내 시스템(100)은 스마트폰 및 PDA(Personal Digital Assistant)와 같은 모바일 장치 및 데스크탑(desktop) 컴퓨터, 랩탑(laptop) 컴퓨터, 및 워크스테이션(workstation)과 같은 컴퓨팅 장치 등으로 구현될 수 있다. 이 경우, 오류 감내 IP(110)는 모바일 장치 또는 컴퓨팅 장치의 구성요소로서, 프로세서, 메모리, 스토리지, 통신 장치, 및 버스 등 중 하나일 수 있다.
또는, 오류 감내 시스템(100)은 하나 이상의 전자 장치들로 구현될 수 있다. 예로서, 오류 감내 시스템(100)은 사물 인터넷 시스템을 포함할 수 있다. 이 경우, 오류 관리기(120) 및 오류 복구부(130)는 서버로 구현될 수 있다. 오류 감내 IP(110)는 단말 장치로 구현될 수 있다. 즉, 오류 감내 IP(110)는 반도체 시스템(예컨대, 오류 감내 시스템(100))의 용도, 기능, 및 동작에 따라 요구되는 고유의 또는 주어진 기능 및 동작을 수행할 수 있다.
오류 감지기(111), 오류 관리기(120), 및 오류 복구 모듈(131)은 하나 이상의 하드웨어 장치로 구현될 수 있다. 예로서, 오류 감지기(111), 오류 관리기(120), 및 오류 복구 모듈(131)은 아래에서 설명될 동작들을 수행하기 위해 하드웨어 회로(예컨대, 아날로그 회로 및 논리 회로 등)로 구형될 수 있다. 또는 예로서, 오류 감지기(111), 오류 관리기(120), 및 오류 복구 모듈(131)은 아래에서 설명될 동작들을 수행하기 위해 프로그램 코드로 구현될 수 있고, 범용 프로세서, 워크스테이션 프로세서, 어플리케이션(Application) 프로세서 등 중 하나에 의해 실행될 수 있다. 예로서, 오류 감지기(111), 오류 관리기(120), 및 오류 복구 모듈(131)은 하나 이상의 프로세서 코어들을 포함하는 전용 회로(예컨대, FPGA(Field Programmable Gate Arrays), ASICs(Application Specific Integrated Circuits) 등) 또는 SoC(System on Chip)를 포함할 수 있다.
예로서, 오류 감내 IP(110)는 오류 감내 프로세서, 오류 감내 버스, 및 오류 감내 캐시 중 적어도 하나를 포함할 수 있다(도 10 참조). 오류 감내 IP(110)는 클럭 생성기로부터 생성되는 클럭에 기초하여 동작할 수 있다(도 7 참조).
오류 감내 IP(110) 내에서 오류가 발생하는 경우, 오류 감지기(111)는 오류와 관련된 정보(이하, 오류 정보)를 획득할 수 있다. 오류는 안전 오류(safe fault) 및 심 각한 오류(severe fault)를 포함할 수 있다. 안전 오류는 오류 감내 IP(110)의 동작만으로도 복구될 수 있는 오류를 의미한다. 심각한 오류는 오류 감내 IP(110)의 동작만으로는 복구될 수 없는 오류를 의미한다. 심각한 오류는 오류 복구부(130)에 포함된 오류 복구 모듈(131)의 동작에 따라 복구될 수 있다.
오류 감지기(111)는 오류 감내 IP(110)의 상태 정보를 획득할 수 있다. 상태 정보는 오류 발생 시의 오류 감내 IP(110)에 의해 수행된 동작과 관련된 정보를 의미한다. 도 5를 참조하여, 상태 정보가 좀 더 구체적으로 설명될 것이다. 오류 발생 시 오류 감지기(111)는 상태 정보를 전달하기 위한 신호(SF)를 생성할 수 있다.
오류 감지기(111)는 오류 발생 시 오류 감내 IP(110)의 오류 발생 정보를 획득할 수 있다. 오류 발생 정보는 오류 감내 IP(110)에서 발생한 오류와 관련된 정보를 의미한다. 예로서, 오류 발생 정보는 오류 감내 IP(110)에서 발생한 오류의 종류가 안전 오류 인지 또는 심각한 오류인지 여부와 관련될 수 있다. 오류 감지기(111)는 오류 발생 정보를 전달하기 위한 신호(SF)를 생성할 수 있다.
오류 정보는 상태 정보 및 오류 발생 정보를 포함할 수 있다. 오류 감지기(111)는 상태 정보 및 오류 발생 정보의 데이터를 나타내는 신호(SF)를 오류 관리기(120)로 출력할 수 있다.
오류 관리기(120)는 오류 감내 IP(110)의 오류 감지기(111)로부터 신호(SF)를 수신할 수 있다. 오류 관리기(120)는 신호(SF)로부터 오류 감내 IP(110)의 상태 정보 및 오류 발생 정보를 획득할 수 있다. 오류 관리기(120)는 오류 발생 정보에 기초하여 오류 감내 IP(110)에서 발생한 오류의 수(안전 오류의 수 및 심각한 오류의 수)를 카운팅 할 수 있다. 예로서, 오류 관리기(120)는 오류 감내 IP(110)에서 발생한 오류의 수를 카운팅하기 위한 카운터를 포함할 수 있다.
오류 정보는 오류의 카운팅된 수를 포함할 수 있다. 오류 관리기(120)는 오류 정보(상태 정보, 오류 발생 정보, 및 오류의 카운팅된 수)를 나타내는 데이터를 저장할 수 있다. 예로서, 오류 관리기는 데이터를 저장하기 위한 레지스터를 포함할 수 있다(도 3 참조).
오류 관리기(120)는 IP 오류를 복구하기 위한 복구 방법을 결정할 수 있다. 복구 방법은 오류 감내 IP(110)의 오류를 복구하기 위해, 오류 감내 IP들 및/또는 오류 복구부(130)를 제어하기 위한 방법을 의미한다. 오류 관리기(120)는 복구 방법을 결정하기 위해, 특정 오류 정보와 관련되는 하나 이상의 복구 방법들을 제공하는 정보(이하, 복구 정보)를 사용할 수 있다. 오류 관리기(120)는 복구 방법을 결정하기 위해 복구 정보를 저장할 수 있다.
예로서, 오류 관리기(120)는 하나 이상의 복구 방법들과 관련된 데이터를 포함하는 룩업 테이블(look-uptable)을 저장할 수 있다. 예로서, 룩업 테이블의 데이터는, 외부 장치(예컨대, 사용자 인터페이스, 메모리, 및 프로세서)로부터 입력될 수 있다. 도 6 및 도 7을 참조하여, 복구 방법이 좀 더 구체적으로 설명될 것이다.
오류 관리기(120)는 오류 정보(오류 발생 정보, 상태 정보, 및 오류의 카운팅된 수), 및 룩업 테이블에 기초하여 복구 방법을 결정할 수 있다. 또는, 오류 관리기(120)는 소프트웨어를 통해 사용자로부터 입력되는 명령에 따라 복구 방법을 결정할 수 있다(도 3 참조). 오류 관리기(120)는 결정된 복구 방법에 관한 정보를 전달하기 위한 신호(RV)를 생성할 수 있다. 오류 관리기(120)는 신호(RV)를 오류 복구부(130)의 오류 복구 모듈(131)로 출력할 수 있다. 도 3을 참조하여, 오류 관리기(120)가 좀 더 구체적으로 설명될 것이다.
오류 복구 모듈(131)는 오류 관리기(120)로부터 신호(RV)를 수신할 수 있다. 오류 복구 모듈(131)은 신호(RV)에 기초하여 오류 감내 IP(110)의 오류를 복구 하기 위해, 오류 감내 시스템(100)의 동작을 제어할 수 있다. 예로서, 오류 복구 모듈(131)은 오류 감내 IP(110)의 동작을 제어할 수 있다. 또는, 오류 복구 모듈(131)은 클럭 생성기 및 리셋(reset) 모듈을 제어할 수 있다(도 7 참조).
도 2는 본 발명의 실시 예에 따른, 오류 감내 시스템을 보여주는 블록도 이다. 예로서, 도 1의 오류 감내 시스템(100)은 도 2의 오류 감내 시스템(100a)으로 구현될 수 있다.
도 2를 참조하면, 오류 감내 시스템(100a)은 다수의 오류 감내 IP들(110_1 내지 110_3), 오류 관리기(120), 및 오류 복구부(130)을 포함할 수 있다. 오류 감내 IP들(110_1 내지 110_3)은 오류 감지기들(111_1 내지 111_3)을 각각 포함할 수 있다. 오류 복구부(130)는 오류 복구 모듈(131)을 포함할 수 있다. 오류 감내 IP들(110_1 내지 110_3)들의 구성들 및 동작들은 도 1의 오류 감내 IP(110)의 구성 및 동작과 유사하므로, 이하 설명은 생략된다. 도 2는 3개 이상의 오류 감내 IP들(110_1 내지 110_3)을 포함하는 오류 감내 시스템(100a)을 도시하나, 본 발명은 하나 이상의 오류 감내 IP들을 포함하는 오류 감내 시스템의 모든 실시 예들을 포함할 수 있다.
예로서, 도 1을 참조하여 설명된 바와 같이, 오류 감내 IP들(110_1 내지 110_3) 각각은 컴퓨팅 장치 또는 모바일 장치를 구성하기 위한 구성요소일 수 있다. 오류 감지기들(111_1 내지 111_3)은 오류 감내 IP들(110_1 내지 110_3)에서 발생한 오류와 관련된 정보를 전달하기 위해, 신호들(SF1 내지 SF3)을 각각 생성할 수 있다. 신호들(SF1 내지 SF3) 각각은 도 1의 신호(SF)와 동일 또는 유사하게 구성되고 이용될 수 있다. 오류 감지기들(111_1 내지 111_3)은 신호들(SF1 내지 SF3)을 오류 관리기(120)로 각각 출력할 수 있다.
오류 관리기(120)는 신호들(SF1 내지 SF3)에 기초하여, 오류 감내 IP들(110_1 내지 110_3)에서 발생하는 오류에 대한 오류 정보를 획득할 수 있다. 예로서, 오류 관리기(120)는 오류 감내 IP들(110_1 내지 110_3) 각각의 상태 정보 및 오류 발생 정보를 획득할 수 있다.
오류 관리기(120)는 오류 감내 시스템(100a) 내의 모든 오류 감내 IP들(110_1 내지 110_3)의 오류 정보를 획득할 수 있다. 따라서, 오류 관리기(120)는, 오류 감내 IP들(110_1 내지 110_3) 각각의 동작뿐만 아니라 오류 감내 IP들(110_1 내지 110_3) 사이의 통신을 수반하는 동작을 고려하여, 복구 방법들을 결정할 수 있다. 예로서, 오류 관리기(120)는 오류 감내 IP들(110_1 내지 110_3) 사이에서 교환되는 신호들에 기초하여 복구 방법들을 결정할 수 있다.
예로서, 오류 감내 시스템(100a)의 설계자는, 오류 감내 IP들(110_1 내지 110_3) 사이의 관계에 따라 오류 감내 IP들(110_1 내지 110_3) 사이에서 전달되는 데이터를 고려하여, 오류 감내 IP들(110_1 내지 110_3) 사이의 통신을 수반하는 동작들을 포함하는 복구 방법들을 결정할 수 있다. 오류 관리기(120)는, 설계자 또는 외부 장치에 의해 결정된 복구 방법들의 데이터를 포함하는 룩업 테이블을 저장할 수 있다. 오류 관리기(120)는 신호들(SF1 내지 SF3)로부터 획득되는 오류 정보(상태 정보, 오류 발생 정보, 및 오류의 수) 및 저장된 룩업 테이블에 기초하여 복구 방법을 결정할 수 있다. 또는, 오류 관리기(120)는 소프트웨어를 통해 사용자로부터 입력되는 명령에 따라 복구 방법을 결정할 수 있다(도 3 참조).
오류 관리기(120)는 복구 방법에 관한 정보를 전달하기 위한 신호(RV)를 생성할 수 있다. 오류 관리기(120)는 신호(RV)를 오류 복구 모듈(131)로 출력할 수 있다.
도 3은 도 1 또는 도 2의 오류 관리기의 예시적인 구성을 보여주는 블록도 이다.
도 3을 참조하면, 오류 관리기(120)는 레지스터(121) 및 오류 제어기(122)를 포함할 수 있다. 레지스터(121)는 도 1의 오류 감지기(111)로부터 신호(SF)를 수신할 수 있다. 레지스터(121)는 신호(SF)에 기초하여 오류 감내 IP(110)의 상태 정보 및 오류 발생 정보를 획득할 수 있다. 레지스터(121)는 상태 정보 및 오류 발생 정보를 나타내는 데이터를 저장할 수 있다.
도 3에는 도시되지 않았으나, 오류 관리기(120)는 오류의 수를 카운팅 하기 위한 카운터를 포함할 수 있다. 카운터는 오류 발생 정보에 기초하여 오류 감내 IP(110)에서 발생한 오류의 수를 카운팅 할 수 있다. 카운터는 오류의 카운팅된 수를 전달하기 위한 신호를 레지스터(121)로 출력할 수 있다.
레지스터(121)는 카운터로부터 수신되는 신호에 기초하여 오류 감내 IP(110)에서 발생한 오류의 수를 획득할 수 있다. 예로서, 레지스터(121)는 오류 감내 IP(110)에서 발생한 안전 오류의 수를 획득할 수 있다. 또는 레지스터(121)는 오류 감내 IP(110)에서 발생한 심각한 오류의 수를 획득할 수 있다. 레지스터(121)는 오류의 수를 나타내는 데이터를 저장할 수 있다.
레지스터(121)는 오류 감내 IP(110)의 오류 정보(상태 정보, 오류 발생 정보, 및 오류의 카운팅된 수)를 전달하기 위한 신호(RS)를 생성할 수 있다. 레지스터(121)는 신호(RS)를 오류 제어기(122)로 출력할 수 있다. 오류 제어기(122)는 레지스터(121)로부터 신호(RS)를 수신할 수 있다. 오류 제어기(122)는 신호(RS)로부터 오류 감내 IP(110)의 오류 정보를 획득할 수 있다.
오류 제어기(122)는 복구 방법의 데이터를 포함하는 룩업 테이블을 저장할 수 있다. 도 5를 참조하여, 복구 방법의 데이터를 포함하는 예시적인 룩업 테이블이 구체적으로 설명될 것이다. 오류 제어기(122)는 오류 발생 정보, 오류의 카운팅된 수, 및 룩업 테이블에 기초하여, 오류 감내 IP(110)의 오류를 복구하기 위한 새로운 복구 방법을 결정할 수 있다.
결정된 복구 방법이 오류 감내 IP(110)를 리셋 시키는 동작을 포함하는 경우, 오류 제어기(122)는 상태 정보에 기초하여, 리셋된 오류 감내 IP(110)에 대한 복구 방법을 다시 결정할 수 있다. 리셋은 오류 감내 IP(110)의 동작 상태 및/또는 데이터를 초기화 시키기 위한 동작을 의미한다. 예로서, 리셋은 오류 감내 IP(110)로의 전원 공급을 제어하여(예컨대, 전원 공급을 일시적으로 차단하여), 오류 감내 IP(110)의 설정 값이 삭제되고, 오류 감내 IP(110)가 초기의 설정 값에 의해 동작하도록 제어하는 동작을 포함할 수 있다. 예로서, 리셋은 오류 감내 IP(110)에 포함된 저장 장치를 포맷하기 위한 동작을 포함할 수 있다.
이후, 오류 제어기(122)는 리셋된 오류 감내 IP(110)로 신호를 출력함으로써새로운 복구 방법에 따라 리셋된 오류 감내 IP(110)를 제어할 수 있다. 예로서, 오류 제어기(122)는 리셋된 오류 감내 IP(110)로 신호를 출력함으로써, 리셋된 오류 감내 IP(110)가 다른 구성요소들로부터 데이터를 입력 받지 않도록 리셋된 오류 감내 IP(110)를 제어할 수 있다.
오류 감내 시스템(100) 외부의 사용자(10)는 소프트웨어를 통해 레지스터(121)에 저장된 데이터에 접근할 수 있다. 예로서, 사용자(10)는 오류 관리기(120)에 접근하기 위한 소프트웨어인 오류 관리 SW(20)를 통해, 레지스터(121)에 저장된 데이터에 접근할 수 있다. 예로서, 사용자(10)는 사용자 인터페이스 장치(미도시)에 의해, 오류 관리 SW(20)를 통해 접근된 데이터와 관련된 정보를 제공받을 수 있다. 예로서, 사용자(10)는 사용자 인터페이스 장치에 의해, 오류 감내 장치(110)의 오류 정보를 제공받을 수 있다.
사용자(10)는 오류 관리 SW(20)를 통해 오류 제어기(122)의 동작을 제어할 수 있다. 예로서, 사용자(10)는 오류 관리 SW(20)를 통해 제공받은 정보에 기초하여, 오류 감내 IP(110)에 대한 복구 방법을 결정할 수 있다. 사용자(10)는 오류 관리 SW(20)를 통해, 결정된 복구 방법에 따라 오류 제어기를 제어하기 위한 명령을 입력할 수 있다. 오류 제어기(122)는 오류 관리 SW(20)를 통해 입력되는 사용자(10)의 명령에 따라 복구 방법을 결정할 수 있다.
오류 제어기(122)는 도 3을 참조하여 설명된 방법에 따라 결정된 복구 방법(신호(SF)에 기초하여 결정된 복구 방법 및/또는 사용자(10)의 명령에 따라 결정된 복구 방법)에 관한 정보를 전달하기 위한 신호(RV)를 생성할 수 있다. 오류 제어기(122)는 신호(RV)를 오류 복구부(130)의 오류 복구 모듈(131)로 출력할 수 있다.
도 3을 참조하여, 오류 관리기(120)에 의해 하나의 오류 감내 IP(110)에 대한 복구 방법을 결정하기 위한 동작이 설명되었으나, 본 발명은 오류 관리기(120)에 의해 하나 이상의 오류 감내 IP들에 대한 복구 방법들을 결정하기 위한 실시 예들을 모두 포함할 수 있다. 예로서, 오류 관리기(120)는, 도 3을 참조하여 설명된 방법과 유사한 방법에 따라 도 2의 오류 감내 IP들(110_1 내지 110_3)에 대한 복구 방법들을 결정할 수 있다.
도 4는 도 3의 레지스터에 저장된 예시적인 정보를 보여주는 블록도 이다.
도 3을 참조하여 설명된 바와 같이, 레지스터(121)는 오류 감지기(111)로부터 수신되는 신호(SF)에 기초하여, 상태 정보(INF1) 및 오류 발생 정보(INF2)를 획득할 수 있다. 또한, 레지스터(121)는 카운터로부터 수신되는 신호에 기초하여, 안전 오류의 수(INF3) 및 심각한 오류의 수(INF4)를 획득할 수 있다.
레지스터(121)는 상태 정보(INF1)를 나타내는 데이터, 오류 발생 정보(INF2)를 나타내는 데이터, 안전 오류의 수(INF3)를 나타내는 데이터, 및 심각한 오류의 수(INF4)를 나타내는 데이터를 저장할 수 있다.
상태 정보(INF1), 오류 발생 정보(INF2), 안전 오류의 수(INF3), 및 심각한 오류의 수(INF4) 각각은 하나 이상의 비트들의 데이터로 표현될 수 있다. 상태 정보(INF1)를 나타내는 데이터, 오류 발생 정보(INF2)를 나타내는 데이터, 안전 오류의 수(INF3)를 나타내는 데이터, 및 심각한 오류의 수(INF4)를 나타내는 데이터 각각은 레지스터(121)의 특정 어드레스들에 대응하는 특정 위치들에 저장될 수 있다. 이하 도 5를 참조하여, 상태 정보(INF1)가 좀 더 구체적으로 설명된다.
도 5는 도 4의 상태 정보를 나타내는 예시적인 데이터를 보여주는 표 이다.
도 5를 참조하면, 상태 정보(INF1)를 나타내는 데이터는 어드레스 1 내지 어드레스 3에 대응하는 위치들에 저장될 수 있다. 상태 정보(INF1)는, 오류 발생 시 오류 감내 IP(110)에 의해 수행된 동작과 관련된 정보(INF1_1)를 포함할 수 있다. 예로서, 정보(INF1_1)는, 특정 모듈로부터 수신되는 입력 데이터에 기초한 오류 감내 IP(110)의 연산 동작과 관련될 수 있다. 상태 정보(INF1)는, 오류 발생 시 오류 감내 IP(110)로 입력된 데이터와 관련된 정보(INF1_2)를 포함할 수 있다. 상태 정보(INF1)는, 오류 발생 시 오류 감내 IP(110)로부터 출력된 데이터와 관련된 정보(INF1_3)를 포함할 수 있다.
레지스터(121)는 어드레스 1에 대응하는 위치에 정보(INF1_1)를 나타내는 데이터를 저장할 수 있다. 레지스터(121)는 어드레스 2에 대응하는 위치에 정보(INF1_2)를 나타내는 데이터를 저장할 수 있다. 레지스터(121)는 어드레스 3에 대응하는 위치에 정보(INF1_3)를 나타내는 데이터를 저장할 수 있다.
도 3을 참조하여 설명된 바와 같이, 레지스터(121)는 상태 정보(INF1)를 전달하기 위한 신호(RS)를 오류 제어기(122)로 출력할 수 있다. 신호(RS)는 특정 어드레스 및 특정 어드레스에 저장된 데이터를 나타낼 수 있다. 신호(RS)는 어드레스 1 및 정보(INF1_1)에 대응하는 데이터를 나타낼 수 있다. 신호(RS)는 어드레스 2 및 정보(INF1_2)에 대응하는 데이터를 나타낼 수 있다. 신호(RS)는 어드레스 3 및 정보(INF1_3)에 대응하는 데이터를 나타낼 수 있다. 예로서, 어드레스가 n 비트의 데이터로 표현되고, 상태 정보(INF1)가 m 비트의 데이터로 표현된다면, 신호(RS)는 m+n 비트의 데이터로 표현될 수 있다(단, m 및 n은 자연수).
오류 발생 정보(INF2), 안전 오류의 수(INF3), 및 심각한 오류의 수(INF4)는, 상태 정보(INF1)가 레지스터(121)에 저장되는 방법과 유사한 방법에 따라 레지스터(121)에 저장될 수 있는바 이하 설명은 생략된다.
도 6은 예시적인 복구 정보와 관련하여 도 3의 오류 제어기에 저장되는 데이터를 보여주는 표 이다.
도 3을 참조하여 설명된 바와 같이, 오류 제어기(122)는 복구 방법의 데이터를 나타내는 룩업 테이블을 저장할 수 있다. 좀 더 구체적으로, 오류 제어기(122)는 오류 발생 정보에 각각 매칭된 복구 방법들과 관련된 데이터를 룩업 테이블의 형태로 저장할 수 있다.
이하, 도 2 및 도 6을 참조하여, 2개의 오류 감내 IP들(110_1 및 110_2)에서 발생한 오류들을 복구하기 위한 예시적인 복구 방법들이 설명된다. 그러나, 본 발명은 이에 한정되지 않고, 하나 이상의 오류 감내 IP들에서 발생한 오류들을 복구하기 위한 복구 방법들의 모든 실시 예들을 포함하는 것으로 이해될 것이다.
도 6의 예에서, 오류 제어기(122)는 4 비트로 표현되는 오류 발생 정보의 데이터 및 2 비트로 표현되는 복구 방법의 데이터를 저장할 수 있다.
오류 발생 정보의 4 비트 데이터는, 최상위 비트부터 순서대로 오류 감내 IP(110_1)의 안전 오류, 오류 감내 IP(110_1)의 심각한 오류, 오류 감내 IP(110_2)의 안전 오류, 및 오류 감내 IP(110_2)의 심각한 오류와 관련될 수 있다. 데이터 값 “0”은 오류가 발생하지 않았음을 나타낼 수 있다. 데이터 값 “1”은 오류가 발생했음을 나타낼 수 있다. 예로서, 데이터 값 “1001”은, 오류 감내 IP(110_1)에서 안전 오류가 발생하고, 오류 감내 IP(110_2)에서 심각한 오류가 발생했음을 나타낼 수 있다.
복구 방법의 2 비트 데이터는 4개의 복구 방법들을 나타낼 수 있다. 예로서, 데이터 값 “00”은, 오류 감내 IP(110_1)로 제공되는 클럭의 주파수를 감소시키는 동작을 포함하는 복구 방법을 나타낼 수 있다. 예로서, 데이터 값 “01”은, 오류 감내 IP(110_1)를 파워 다운시키기 위한 동작을 포함하는 복구 방법을 나타낼 수 있다. 예로서, 데이터 값 “10”은 오류 감내 IP들(110_1 및 110_2) 사이의 통신을 수반하는 복구 방법을 나타낼 수 있다. 좀 더 구체적으로, 데이터 값 “10”은 오류 감내 IP(110_2)가 오류 감내 IP(110_1)로 특정 데이터를 출력하는 동작을 포함하는 복구 방법을 나타낼 수 있다. 예로서, 데이터 값 “11”은 오류 감내 IP(110_1) 및 오류 감내 IP(110_2)를 리셋 시키기 위한 동작을 포함하는 복구 방법을 나타낼 수 있다.
다만, 본 발명의 실시 예에 따른 복구 방법들은 도 6을 참조하여 설명된 예시들로 한정되지 않고, 다양하게 변경 또는 추가될 수 있음이 이해될 것이다. 도 7을 참조하여, 복구 방법들이 좀 더 구체적으로 설명될 것이다.
특정 오류 감내 IP의 오류를 복구하는 데 있어서 오류 감내 IP들 사이의 통신을 수반하는 동작들이 고려될 경우, 오류 제어기(122)는 더 효율적인 복구 방법을 결정할 수 있다. 예로서, 오류 감내 IP(110_1)에서 발생한 오류를 복구하는 데 있어, 오류 감내 IP들(110_1 및 110_2) 사이의 통신을 수반하는 동작들이 고려되는 경우, 더 다양한 복구 방법들이 복구 정보(예컨대, 룩업 테이블)에 의해 제공될 수 있다.
예로서, 오류 감내 IP(110_1)에서 발생한 오류를 복구하기 위해서 오류 감내 IP(110_1)의 동작만이 고려되는 경우, 룩업 테이블에 의해 오류 감내 IP(110_1)를 리셋 시키는 동작을 포함하는 복구 방법만이 제공될 수 있다. 그러나, 오류 감내 IP들(110_1 및 110_2) 사이의 통신을 수반하는 동작이 고려되는 경우, 오류 감내 IP들(110_1 및 110_2) 사이에서 데이터를 교환하기 위한 동작을 포함하는 복구 방법들이 더 제공될 수 있다. 복구 정보에 의해 더 다양한 복구 방법들이 제공되는 경우, 오류 제어기(122)는 더 효율적인 복구 방법을 결정할 수 있다.
도 6을 참조하여, 룩업 테이블의 형태로 구현되는 복구 정보가 설명되었으나, 본 발명의 복구 정보는 도 6의 예시에 한정되지 않으며 다양한 다른 형태들로 구현될 수 있다. 예로서, 복구 정보는 특정 오류 발생 정보에 대응하여 특정 복구 방법을 제공할 수 있는 모든 형태들로 구현될 수 있다.
도 6을 참조하여 오류 발생 정보에 기초하여 결정되는 복구 방법들이 설명되었으나, 도 3을 참조하여 설명된 바와 같이, 본 발명은 상태 정보, 오류 발생 정보, 오류의 카운팅된 수, 및 사용자의 명령 중 적어도 하나에 기초하여 결정되는 복구 방법들의 모든 실시 예들을 포함할 수 있다.
예로서, 복구 방법은 심각한 오류의 카운팅된 수가 기준 값 이상일 경우(즉, 오류의 카운팅된 수에 기초하여), 특정 오류 감내 IP를 파워 다운(power down)시키는 동작을 포함할 수 있다. 파워 다운은 오류 감내 IP의 동작을 중단 시키기 위한 동작을 의미한다. 예로서, 파워 다운은 오류 감내 IP의 전원을 턴 오프(turn-off)시키는 동작을 포함할 수 있다. 또는, 파워 다운은 오류 감내 IP로 입력되는 모든 신호를 차단시키는 동작을 포함할 수 있다.
도 7은 도 1 또는 도 2의 오류 복구부의 예시적인 구성을 보여주는 블록도 이다.
도 7을 참조하면, 오류 복구부(130)는 오류 복구 모듈(131) 및 리셋 모듈(132)을 포함할 수 있다. 도 1 및 도 2를 참조하여 설명된 바와 같이, 오류 감내 시스템(100 또는 100a)의 오류 감내 IP들(110, 및 110_1 내지 110_3)은 클럭에 기초하여 동작할 수 있다. 도 7의 예에서, 클럭 생성기(140)는 오류 감내 IP(110_1)로 클럭(CLK1)을 출력할 수 있다. 오류 감내 IP(110_1)는 클럭(CLK1)에 기초하여 동작할 수 있다. 클럭 생성기(140)는 오류 감내 IP(110_2)로 클럭(CLK2)을 출력할 수 있다. 오류 감내 IP(110_2)는 클럭(CLK2)에 기초하여 동작할 수 있다.
오류 복구 모듈(131)은 오류 제어기(122)로부터 신호(RV)를 수신할 수 있다. 오류 복구 모듈(131)은 신호(RV)에 기초하여 복구 방법을 획득할 수 있다. 오류 복구 모듈(131)은 복구 방법에 따라, 오류 복구 시스템(100 또는 100a)의 동작들을 제어할 수 있다. 예로서, 오류 복구 모듈(131)은 오류가 발생한 오류 감내 IP와 관련되는 동작들을 제어할 수 있다. 예로서, 오류 복구 모듈(131)은 리셋 모듈(132) 및 클럭 생성기(140)를 제어함으로써, 오류 감내 IP들(110_1 및 110_2)과 관련된 동작을 제어할 수 있다. 또는, 오류 복구 모듈(131)은 오류 감내 IP들(110_1 및 110_2)의 동작을 직접 제어할 수 있다. 오류 감내 IP와 관련되는 동작은 오류 감내 IP들(110_1 및 110_2) 사이의 통신을 수반하는 동작을 포함할 수 있다.
이하, 도 7을 참조하여, 오류 복구 모듈(131)에 의해 제어되는 2개의 오류 감내 IP들(110_1 및 110_2)에 대한 실시 예가 설명될 것이다. 그러나, 본 발명은 이에 한정되지 않고, 오류 복구 모듈(131)에 의해 제어되는 하나 이상의 오류 감내 IP들에 대한 모든 실시 예들을 포함할 수 있다.
오류 복구 모듈(131)은 리셋 모듈(132)을 제어하기 위한 신호(C1)를 생성할 수 있다. 오류 복구 모듈(131)은 클럭 생성기(140)를 제어하기 위한 신호(C2)를 생성할 수 있다. 오류 복구 모듈(131)은 오류 감내 IP(110_1)를 제어하기 위한 신호(C3)를 생성할 수 있다. 오류 복구 모듈(131)은 오류 감내 IP(110_2)를 제어하기 위한 신호(C4)를 생성할 수 있다. 오류 복구 모듈(131)은 신호들(C1 내지 C4)을 리셋 모듈(132), 클럭 생성기(140), 오류 감내 IP들(110_1 및 110_2)로 각각 출력할 수 있다.
리셋 모듈(132)은 오류 복구 모듈(131)로부터 신호(C1)를 수신할 수 있다. 리셋 모듈(132)은 신호(C1)에 응답하여, 오류 감내 IP들(110_1 및 110_2) 중 적어도 하나를 리셋 시킬 수 있다. 이하, 도 6 및 도 7을 참조하여, 오류 복구부(130)에 의해 수행되는 예시적인 복구 제어 동작이 설명된다.
오류 감내 IP(110_1) 및 오류 감내 IP(110_2)에서 오류가 발생한 경우, 오류 복구 모듈(131)은 신호(RV)에 기초하여 복구 방법을 나타내는 데이터를 획득할 수 있다. 오류 복구 모듈(131)은 획득된 데이터의 데이터 값에 응답하여 복구 동작을 수행할 수 있다.
오류 복구 모듈(131)은 신호(RV)의 데이터 값 “00”에 응답하여, 클럭 생성기(140)를 제어하기 위한 신호(C2)를 출력할 수 있다. 오류 복구 모듈(131)은 신호(C2)에 의해 클럭 생성기(140)를 제어함으로써, 클럭(CLK1)의 주파수를 조정할 수 있다.
예로서, 오류 감내 IP(110_1)에서 발생한 오류는 기준 주파수와 상이한 주파수의 클럭(CLK1)에 기인할 수 있다. 클럭(CLK1)의 주파수가 기준 주파수와 상이할 경우, 클럭(CLK1)은 오류 감내 IP(110_1)로 수신되는 다른 신호들에 대해 정렬되지 못할 수 있다. 따라서, 오류 감내 IP(110_1)는 정상적으로 동작하지 못할 수 있다. 신호(C2)에 의해 클럭(CLK1)의 주파수가 조정(증가 또는 감소)됨에 따라, 클럭(CLK1)은 기준 주파수를 가질 수 있다.
또는, 오류 감내 IP(110_1)에서 발생한 오류는 과도하게 높은 주파수의 클럭(CLK1)에 기인할 수 있다. 클럭 생성기(140)는 신호(C2)에 응답하여, 클럭(CLK1)의 주파수를 적절히 낮출 수 있다. 조정된 주파수의 클럭(CLK1)에 기초하여, 오류 감내 IP(110_1)는 정상적으로 동작할 수 있다.
오류 복구 모듈(131)은 신호(RV)의 데이터 값 “01”에 응답하여, 오류 감내 IP(110_1)를 제어하기 위한 신호(C3)를 출력할 수 있다. 오류 복구 모듈(131)은 신호(C3)에 의해 오류 감내 IP(110_1)를 제어함으로써, 오류 감내 IP(110_1)를 파워 다운 시킬 수 있다.
예로서, 오류 감내 IP(110_1)에서 발생한 오류는 오류 감내 시스템(100 또는 100a)의 동작에 의해 복구되지 못할 수 있다. 오류 감내 IP(110_1)가 동작하지 않더라도, 오류 감내 시스템(100 또는 100a)은 정상적으로 동작할 수 있다. 신호(C3)에 의해 오류 감내 IP(110_1)가 파워 다운 됨에 따라, 오류 감내 IP(110_1)의 오류는 더 이상 발생하지 않을 수 있다.
오류 복구 모듈(131)은 신호(RV)의 데이터 값 “10”에 응답하여, 오류 감내 IP(110_2)를 제어하기 위한 신호(C4)를 출력할 수 있다. 오류 복구 모듈(131)은 신호(C4)에 의해, 오류 감내 IP(110_2)가 오류 감내 IP(110_1)로 특정 데이터를 출력하도록 오류 감내 IP(110_2)를 제어할 수 있다. 따라서, 오류 감내 IP(110_2)와 오류 감내 IP(110_1) 사이에서 통신을 수반하는 동작이 수행될 수 있다.
예로서, 오류 감내 IP(110_1)가 신호(C4)에 응답하여 신호(RV)의 데이터 값 “10”에 대응하는 복구 방법에 따른 동작을 수행할 수 있다. 오류 감내 IP(110_2)는 오류 감내 IP(110_1)의 동작에 대응하여, 오류 감내 IP(110_2)와 오류 감내 IP(110_1) 사이의 통신을 수반하는 동작을 수행할 수 있다. 예로서, 오류 감내 IP(110_1)는 오류 감내 IP(110_2)로 신호를 출력할 수 있다. 오류 감내 IP(110_2)는 오류 감내 IP(110_1)의 동작에 대응하여, 오류 감내 IP(110_1)로 신호를 출력할 수 있다.
예로서, 오류 감내 IP(110_1)의 오류는 최적화되지 않은 설정 값에 기인할 수 있다. 신호(C4)에 의해 오류 감내 IP(110_2)와 오류 감내 IP(110_1) 사이에서 통신이 수행됨에 따라, 오류 감내 IP(110_1)에서 발생한 오류와 관련된 데이터가 오류 감내 IP(110_2)로 전달될 수 있다. 오류 감내 IP(110_2)는 오류 감내 IP(110_1)로부터 전달된 데이터에 기초하여, 오류를 복구하기 위한 새로운 설정 값을 오류 감내 IP(110_1)로 전달할 수 있다. 전달된 새로운 설정 값에 기초하여 오류 감내 IP(110_1)가 동작함에 따라, 오류 감내 IP(110_1)에서 오류가 더 이상 발생하지 않을 수 있다.
오류 복구 모듈(131)은 신호(RV)의 데이터 값 “11”에 응답하여, 리셋 모듈(132)을 제어하기 위한 신호(C1)를 출력할 수 있다. 오류 복구 모듈(131)은 신호(C1)에 의해 리셋 모듈(132)을 제어함으로써, 오류 감내 IP(110_1) 및 오류 감내 IP(110_2)를 리셋 시킬 수 있다.
예로서, 오류 감내 IP(110_1)에 둘 이상의 명령들이 저장될 수 있다. 둘 이상의 명령들에 따른 오류 감내 IP(110_1)의 동작들은 서로 충돌할 수 있다. 신호(C1)에 의해 오류 감내 IP(110_1)가 리셋됨에 따라, 오류 감내 IP(110_1)에 저장된 명령들이 삭제될 수 있다. 따라서, 오류 감내 IP(110_1)에서 오류가 더 이상 발생하지 않을 수 있다.
신호(C1)에 의해 오류 감내 IP(110_1)가 리셋된 이후, 오류 복구 모듈(131)은 오류 제어기(122)로부터 수신되는 신호(즉, 오류 감내 IP(110_1) 및 오류 감내 IP(110_2)에 대한 상태 정보에 기초하여 결정된 복구 방법과 관련된 신호(RV))에 응답하여, 신호들(C3 및 C4) 중 적어도 하나를 생성할 수 있다. 오류 복구 모듈(131)은 신호들(C3 및 C4) 중 적어도 하나에 의해, 오류 감내 IP(110_1)의 동작을 제어할 수 있다.
예로서, 오류 복구 모듈(131)은, 오류 감내 IP(110_1)에서 다시 발생할 가능성이 높은 오류들이 발생하는 경우, 오류 감내 IP(110_1)를 리셋 시키기 위한 복구 방법(신호(RV)의 데이터 값 “11”에 대응하는 복구 방법)을 수행할 수 있다. 오류 복구 모듈(131)은, 오류의 재 발생을 방지하기 위해, 오류 감내 IP들(110_1)의 동작을 제어할 수 있다.
예로서, 도 5를 참조하면, 오류 제어기(122)는 정보(INF1_1)에 기초하여, 오류의 발생과 관련되는 오류 감내 IP(110_1)의 특정 동작에 관한 정보를 획득할 수 있다. 예로서, 오류가 발생한 때에 오류 감내 IP(110_1)에서 수행된 특정 동작에 관한 정보를 획득할 수 있다. 오류 감내 IP(110_1)에서 발생한 오류는 그 특정 동작에 기인할 수 있다. 복구 모듈(131)은 신호(C3)를 출력하여, 특정 동작이 수행되지 않도록 오류 감내 IP(110_1)를 제어할 수 있다. 따라서, 오류 감내 IP(110_1)에서 오류가 더 이상 발생하지 않을 수 있다.
도 8은 도 1 또는 도 2의 오류 감내 시스템의 예시적인 동작을 보여주는 순서도 이다.
S110 동작에서, 오류 감내 IP에서 오류가 발생할 시, 오류 감지기는 오류 감내 IP의 오류 발생 정보를 획득할 수 있다. 오류 감내 IP에서 발생하는 오류는 안전 오류 또는 심각한 오류일 수 있다. 도 6을 참조하여 설명된 바와 같이, 오류 발생 정보는, 오류 감내 IP에서 발생하는 발생한 오류가 안전 오류 인지 또는 심각한 오류인지 여부와 관련될 수 있다.
S120 동작에서, 오류 관리기는 S110 동작에서 획득된 오류 발생 정보에 기초하여, 오류 감내 IP에서 발생한 오류의 수를 카운팅 할 수 있다. 오류 관리기는 오류 감내 IP에서 발생한 안전 오류의 수를 카운팅 할 수 있다. 오류 관리기는 오류 감내 IP에서 발생한 심각한 오류의 수를 카운팅 할 수 있다.
S130 동작에서, 레지스터는 S110 동작에서 획득된 오류 발생 정보 및 S120 동작에서 오류의 카운팅된 수를 나타내는 데이터를 저장할 수 있다. 레지스터는 저장된 데이터를 나타내는 신호를 오류 제어기로 출력할 수 있다.
S140 동작에서, 오류 제어기는 레지스터로부터 수신되는 신호에 기초하여, 오류 발생 정보 및 오류의 수를 획득할 수 있다. 오류 제어기는 오류 발생 정보 및/또는 오류의 수에 각각 매칭된 복구 방법들의 데이터를 포함하는 룩업 테이블을 저장할 수 있다. 예로서, 오류 감내 시스템의 설계자는, 오류 제어기에 사전에 결정된 복구 방법들과 관련된 룩업 테이블을 저장할 수 있다. 오류 제어기는 오류 발생 정보, 오류의 수, 및 룩업 테이블에 기초하여 복구 방법을 결정할 수 있다.
S150 동작에서, 오류 복구 모듈은 S140 동작에서 결정된 복구 방법에 따라, 오류 감내 시스템을 제어하기 위한 신호들을 생성할 수 있다. 오류 복구 모듈은 신호들을 출력하여, 오류 감내 시스템의 동작을 제어할 수 있다. 예로서, 오류 복구 모듈은 특정 오류 감내 IP의 동작을 제어할 수 있다. 오류 복구 모듈은 리셋 모듈을 제어하여, 특정 오류 감내 IP를 리셋 시킬 수 있다. 오류 복구 모듈은 클럭 생성기를 제어하여, 특정 오류 감내 IP로 제공되는 클럭의 주파수를 조정할 수 있다.
도 9는 도 1 또는 도 2의 오류 감내 시스템의 예시적인 동작을 보여주는 순서도 이다.
도 9의 S220 동작 내지 S230 동작, 및 S250동작은 도 8의 S120 동작 내지 S140 동작, 및 S150 동작과 각각 유사하므로 이하 설명은 생략된다.
S210 동작에서, 오류 감내 IP에서 오류가 발생할 시, 오류 감지기는 오류 감내 IP의 상태 정보 및 오류 발생 정보를 획득할 수 있다. 오류 감내 IP에서 발생하는 오류는 안전 오류 또는 심각한 오류일 수 있다. 예로서, 도 5를 참조하여 설명된 바와 같이, 상태 정보는, 오류 발생 시 오류 감내 IP에 의해 수행된 동작과 관련된 정보, 오류 발생 시 오류 감내 IP로 입력된 데이터와 관련된 정보, 및 오류 발생 시 오류 감내 IP로부터 출력된 데이터와 관련된 정보 등을 포함할 수 있다.
S240 동작에서, 오류 제어기는 레지스터로부터 수신되는 신호에 기초하여, 상태 정보, 오류 발생 정보 및 오류의 수를 획득할 수 있다. 오류 제어기는 오류 발생 정보 및/또는 오류의 수에 각각 매칭된 복구 방법들의 데이터를 포함하는 룩업 테이블을 저장할 수 있다. 예로서, 오류 감내 시스템의 설계자는 오류 제어기에 사전에 결정된 복구 방법들과 관련되는 룩업 테이블을 저장할 수 있다. 오류 제어기는 오류 발생 정보, 오류의 수, 및 룩업 테이블에 기초하여 복구 방법을 결정할 수 있다.
S260 동작에서, 오류 제어기는 결정된 복구 방법이 특정 오류 감내 IP를 리셋 시키는 동작을 포함하는지 여부를 판별할 수 있다. 복구 방법이 특정 오류 감내 IP를 리셋 시키는 동작을 포함하니 않는 경우, 도 9의 동작은 종료될 수 있다. 복구 방법이 특정 오류 감내 IP를 리셋 시키는 동작을 포함하는 경우, S270 동작이 수행될 수 있다.
S270 동작에서, 오류 제어기는 레지스터로부터 수신되는 신호에 기초하여, 상태 정보를 획득할 수 있다. 오류 제어기는 S240 동작에서 획득된 상태 정보에 기초하여 복구 방법을 다시 결정할 수 있다.
S280 동작에서, 오류 복구 모듈은 S270 동작에서 결정된 복구 방법에 따라, 오류 감내 시스템을 제어하기 위한 신호들을 생성할 수 있다. 오류 복구 모듈은 신호들을 출력하여, S250 동작에서 리셋된 오류 감내 IP의 동작을 제어할 수 있다.
도 10은 본 발명의 실시 예에 따른, 오류 감내 시스템을 보여주는 블록도 이다.
도 10을 참조하면, 오류 감내 시스템(1000)은 오류 감내 프로세서(1100), 오류 감내 캐시들(1200 및 1300), 오류 감내 버스(1400), 오류 관리기(1500), 오류 복구부(1600), 및 다른 IP들(1700)을 포함할 수 있다. 오류 감내 프로세서(1100), 오류 감내 캐시들(1200 및 1300), 및 오류 감내 버스(1400)는 오류 감지기들(1110, 1210, 1310, 1410)을 각각 포함할 수 있다. 오류 복구부(1600)는 오류 복구 모듈(1610)을 포함할 수 있다. 다른 IP들(1700)은 반도체 시스템을 구성하기 위한 다양한 구성요소들을 포함할 수 있다. 예로서, 다른 IP들(1700)은 메모리, 스토리지, 통신 장치, 및 사용자 인터페이스 중 적어도 하나를 포함할 수 있다.
오류 감내 시스템(1000)은 도 10에 나타나지 않은 다른 구성요소들을 더 포함할 수 있다. 또는, 오류 감내 시스템(1000)은 도 10에 나타난 구성요소들 중 하나 이상을 포함하지 않을 수 있다. 오류 감내 시스템(1000)은 도 1의 오류 감내 시스템(100) 및 도 2의 오류 감내 시스템(100a) 중 적어도 하나를 포함할 수 있다. 도 10의 오류 감내 프로세서(1100), 오류 감내 캐시들(1200 및 1300), 및 오류 감내 버스(1400) 각각은 도 1의 오류 감내 IP(110) 및 도 2의 오류 감내 IP들(110_1 내지 110_3)을 포함할 수 있다. 도 10의 오류 관리기(1500)는 도 1 및 도 2의 오류 관리기(120)를 포함할 수 있다. 도 10의 오류 복구부(1600)는 도 1 및 도 2의 오류 복구부(130)를 포함할 수 있다.
오류 감지기들(1110, 1210, 1310, 1410)의 구성 및 동작은 오류 감지기(111 및 111_1 내지 111_3)를 참조하여 설명된 것과 유사하므로 이하 설명은 생략된다. 오류 관리기(1500)의 구성 및 동작은 오류 관리기(120)를 참조하여 설명된 것과 유사하므로 이하 설명은 생략된다. 오류 복구부(1600)의 구성 및 동작은 오류 복구부(130)를 참조하여 설명된 것과 유사하므로 이하 설명은 생략된다. 오류 복구 모듈(1610)의 구성 및 동작은 오류 복구 모듈(131)를 참조하여 설명된 것과 유사하므로 이하 설명은 생략된다.
오류 감내 프로세서(1100)는 오류 감내 시스템(1000)의 전반적인 동작들을 제어할 수 있다. 오류 감내 프로세서(1100)는 중앙제어장치로서 오류 감내 시스템(1000)의 동작에 필요한 연산들을 처리할 수 있다. 예로서, 오류 감내 프로세서(1100)는 오류 감내 캐시(1200)로부터 수신되는 신호(INS2)에 기초하여 오류 감내 시스템(1000)의 동작들을 제어하기 위한 데이터를 처리할 수 있다. 예로서, 신호(INS2)는 오류 감내 프로세서(1100)의 동작을 지시하는 데이터를 나타낼 수 있다. 오류 감내 프로세서(1100)는 신호(DATA1)에 기초하여, 오류 감내 캐시(1300)와 데이터를 교환할 수 있다.
예로서, 오류 감내 프로세서(1100)는 범용 프로세서, 워크스테이션 프로세서, 어플리케이션(Application) 프로세서 등 중 하나일 수 있다. 오류 감내 프로세서(1100)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어(Multi-Core)를 포함할 수 있다. 예로서, 오류 감내 프로세서(1100)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다.
오류 감내 캐시들(1200 및 1300)은 오류 감내 프로세서(1100) 및 오류 감내 버스(1400)로부터 수신되는 데이터를 임시적으로 저장할 수 있다. 예로서, 오류 감내 캐시들(1200 및 1300)은 데이터를 저장하기 위한 저장 장치를 포함할 수 있다. 오류 감내 캐시(1200)는 오류 감내 버스로부터 신호(INS1)를 수신할 수 있다. 예로서, 신호(INS1)는 오류 감내 프로세서(1100)의 동작을 지시하는 데이터를 나타낼 수 있다. 오류 감내 캐시(1200)는 신호(INS1)로부터 획득되는 데이터를 저장할 수 있다.
예로서, 오류 감내 캐시(1300)는 오류 감내 프로세서(1100)와 신호(DATA1)를 교환하고, 오류 감내 버스(1400)와 신호(DATA2)를 교환할 수 있다. 오류 감내 캐시(1300)는 신호들(DATA1 및 DATA2)에 의해 교환되는 데이터를 저장할 수 있다. 오류 감내 프로세서(1100)는 오류 감내 캐시들(1200 및 1300)을 통해 오류 감내 버스(1400)와 데이터를 교환할 수 있다.
오류 감내 버스(1400)는 오류 감내 캐시들(1200 및 1300)과 다른 IP들(1700) 사이에서 통신 경로를 제공할 수 있다. 오류 감내 캐시들(1200 및 1300)들은 오류 감내 버스(1400)를 통해 다른 IP들(1700)과 데이터를 교환할 수 있다. 오류 감내 버스(1400)는 오류 감내 시스템(1000)에서 이용되는 다양한 유형의 통신 포맷을 지원하도록 구성될 수 있다.
오류 관리기(1500)는 오류 감지기들(1110, 1210, 1310, 및 1410)로부터 수신되는 신호들에 기초하여, 오류 감내 프로세서(1100), 오류 감내 캐시들(1200 및 1300), 및 오류 감내 버스(1400)에서 발생하는 오류들에 대한 오류 정보를 획득할 수 있다. 오류 관리기(1500)는 오류 정보에 기초하여 오류들을 복구하기 위한 복구 방법들을 결정할 수 있다.
오류 복구 모듈(1610)은 오류 관리기(1500)로부터 수신되는 신호에 기초하여 복구 방법에 관한 정보를 획득할 수 있다. 오류 복구 모듈(1610)는 복구 방법에 따라, 오류 감내 프로세서(1100), 오류 감내 캐시들(1200 및 1300), 및 오류 감내 버스(1400)에서 발생한 오류들을 복구하기 위해, 오류 감내 프로세서(1100)와 오류 감내 프로세서(1100), 오류 감내 캐시들(1200 및 1300), 및 오류 감내 버스(1400) 사이의 통신들을 수반하는 동작들을 제어할 수 있다.
예로서, 오류 감내 캐시(1300)에 손실된 데이터가 저장될 수 있다. 오류 복구 모듈(1610)의 제어에 따라, 오류 감내 프로세서(1100)는, 신호(DATA1)를 통해 오류 감내 캐시(1300)에 저장된 손실된 데이터를 읽을 수 있다. 오류 감내 프로세서(1100)는 손실된 데이터를 복구하기 위해, 신호(DATA1)를 통해 새로운 데이터를 전송할 수 있다. 오류 감내 캐시(1300)는 손실된 데이터 대신 새로운 데이터를 저장할 수 있다. 따라서, 오류 감내 캐시(1300)의 오류는, 오류 감내 프로세서(1100)와 오류 감내 캐시(1300) 사이의 통신에 의해 복구될 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100: 오류 감내 시스템
100a: 오류 감내 시스템
1000: 오류 감내 시스템

Claims (18)

  1. 제 1 IP(Intellectual Property)에서 발생하는 오류와 관련되는 오류 정보를 획득하도록 구성되는 오류 감지기;
    상기 오류 정보와 관련되는 하나 이상의 복구 방법들을 제공하는 복구 정보를 저장하고, 상기 복구 정보에 기초하여 상기 하나 이상의 복구 방법들 중 상기 제 1 IP에서 발생한 상기 오류를 복구하기 위한 복구 방법을 결정하도록 구성되는 오류 관리기; 및
    상기 결정된 복구 방법에 기초하여, 상기 제 1 IP를 제어하도록 구성되는 오류 복구 모듈을 포함하되,
    상기 결정된 복구 방법은 상기 제 1 IP와 제 2 IP 사이의 통신을 수반하고, 상기 제 1 IP에서 발생한 상기 오류는 상기 제 1 IP와 상기 제 2 IP 사이의 상기 통신에 따라 전달되는 데이터에 기초하여 복구되고,
    상기 하나 이상의 복구 방법들은 상기 제 1 IP로 제공되는 클럭의 주파수를 조정하기 위한 복구 방법을 포함하는 반도체 시스템.
  2. 제 1 항에 있어서,
    상기 오류는, 상기 제 1 IP의 동작에 의해 복구되는 제 1 오류 및 상기 오류 복구 모듈의 동작에 의해 복구되는 제 2 오류를 포함하고,
    상기 오류 정보는 상기 오류가 상기 제 1 오류 인지 또는 상기 제 2 오류인지와 관련되는 반도체 시스템.
  3. 제 2 항에 있어서,
    상기 오류 정보는 상기 제 1 오류의 수 및 상기 제 2 오류의 수와 관련되는 반도체 시스템.
  4. 제 1 항에 있어서,
    상기 오류 정보는, 상기 제 1 IP에서의 상기 오류의 발생과 관련하여 상기 제 1 IP에 의해 수행된 동작과 관련되는 반도체 시스템.
  5. 제 1 항에 있어서,
    상기 오류 정보는, 상기 제 1 IP에서의 상기 오류의 발생과 관련하여 상기 제 1 IP로 입력된 데이터 및 상기 제 1 IP로부터 출력된 데이터와 관련되는 반도체 시스템.
  6. 제 1 항에 있어서,
    상기 하나 이상의 복구 방법들은 상기 제 1 IP를 리셋시키기 위한 복구 방법을 포함하는 반도체 시스템.
  7. 삭제
  8. 제 1 항에 있어서,
    상기 복구 정보는 상기 오류 정보에 매칭되는 상기 하나 이상의 복구 방법들을 제공하기 위한 룩업 테이블에 저장되는 반도체 시스템.
  9. 동작에 오류가 발생한 경우 수신되는 제어 신호에 응답하여 상기 오류가 복구되도록 복구 방법에 따라 동작하도록 구성되는 제 1 IP;
    상기 복구 방법에 따른 상기 제 1 IP의 동작에 대응하여, 상기 제 1 IP의 상기 오류가 복구되도록 상기 제 1 IP와 관련되는 동작을 수행하도록 구성되는 제 2 IP;
    상기 오류와 관련되는 오류 정보에 기초하여 상기 복구 방법을 결정하도록 구성되는 오류 관리기; 및
    상기 결정된 복구 방법과 관련하여 상기 제어 신호를 출력하도록 구성되는 오류 복구 모듈을 포함하되,
    상기 제 1 IP와 관련되는 상기 동작은 상기 제 1 IP와 상기 제 2 IP 사이의 통신을 수반하고,
    상기 제 1 IP와 상기 제 2 IP 사이의 상기 통신을 통해 상기 제 1 IP와 상기 제 2 IP 사이에서 데이터가 전달됨에 따라, 상기 제 1 IP의 상기 오류가 복구되고,
    상기 제 1 IP는 상기 오류와 관련되는 상기 오류 정보를 획득하도록 구성되는 오류 감지기를 포함하고,
    상기 제 1 IP는 상기 오류 복구 모듈에 의해 조정되는 주파수를 갖는 클럭에 기초하여 동작하는 반도체 시스템.
  10. 삭제
  11. 삭제
  12. 제 9 항에 있어서,
    상기 오류 복구 모듈의 제어에 따라 상기 제 1 IP 및 상기 제 2 IP 중 적어도 하나를 리셋 시키도록 구성되는 리셋 모듈을 더 포함하는 반도체 시스템.
  13. 제 9 항에 있어서,
    상기 오류 관리기는, 상기 오류 정보와 관련되는 하나 이상의 복구 방법들을 제공하는 복구 정보에 기초하여, 상기 하나 이상의 복구 방법들 중 상기 제 1 IP의 상기 오류를 복구하기 위한 상기 복구 방법을 결정하도록 더 구성되는 오류 제어기를 포함하는 반도체 시스템.
  14. 삭제
  15. 제 1 IP에서 발생하는 오류와 관련되는 오류 정보를 획득하도록 구성되는 오류 감지기; 및
    상기 오류 정보와 관련되는 하나 이상의 복구 방법들 중 상기 제 1 IP에서 발생하는 상기 오류를 복구하기 위한 제 1 복구 방법을 결정하도록 구성되는 오류 관리기를 포함하되,
    상기 하나 이상의 복구 방법들은 상기 제 1 IP에서 발생하는 상기 오류를 복구하기 위해 상기 제 1 IP와 제 2 IP 사이의 통신을 수반하는 복구 방법을 포함하고,
    상기 제 1 복구 방법이 상기 제 1 IP를 리셋 시키기 위한 복구 방법인 경우, 상기 제 1 IP가 상기 제 1 복구 방법에 따라 리셋된 후, 상기 오류 관리기는 상기 오류 정보에 기초하여, 상기 리셋된 제 1 IP를 제어하기 위한 제 2 복구 방법을 결정하도록 더 구성되고,
    상기 제 1 복구 방법에 따라 상기 제 1 IP를 리셋 시키는 동작을 제어하고, 상기 제 1 IP에서 발생하는 상기 오류가 복구되도록 상기 제 2 복구 방법에 따라 상기 제 1 IP를 제어하도록 구성되는 오류 복구 모듈;
    상기 오류 복구 모듈의 제어에 따라 조정되는 주파수의 클럭을 상기 제 1 IP및 상기 제 2 IP 중 적어도 하나에 제공하도록 구성되는 클럭 생성기; 및
    상기 오류 복구 모듈의 제어에 따라, 상기 제 1 IP를 리셋 시키도록 구성되는 리셋 모듈을 더 포함하는 반도체 시스템.
  16. 삭제
  17. 삭제
  18. 제 15 항에 있어서,
    상기 오류 관리기는 상기 오류 정보와 관련되는 상기 하나 이상의 복구 방법들을 제공하는 복구 정보를 저장하도록 구성되는 레지스터를 포함하되,
    상기 복구 정보는 상기 오류 정보에 매칭되는 상기 하나 이상의 복구 방법들을 제공하기 위한 룩업 테이블에 저장되는 반도체 시스템.
KR1020180022658A 2017-10-11 2018-02-26 오류 관리기를 포함하는 반도체 시스템 KR102327192B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/117,403 US11036595B2 (en) 2017-10-11 2018-08-30 Semiconductor system including fault manager

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170131523 2017-10-11
KR20170131523 2017-10-11

Publications (2)

Publication Number Publication Date
KR20190040873A KR20190040873A (ko) 2019-04-19
KR102327192B1 true KR102327192B1 (ko) 2021-11-17

Family

ID=66283445

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180022658A KR102327192B1 (ko) 2017-10-11 2018-02-26 오류 관리기를 포함하는 반도체 시스템

Country Status (1)

Country Link
KR (1) KR102327192B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990057809A (ko) * 1997-12-30 1999-07-15 김영환 오류 방지 시스템

Also Published As

Publication number Publication date
KR20190040873A (ko) 2019-04-19

Similar Documents

Publication Publication Date Title
US10579490B2 (en) Fast geo recovery method for elastic cloud storage
US10754845B2 (en) System and method for XOR chain
US8990657B2 (en) Selective masking for error correction
CN107113084B (zh) 用于处理数据错误的装置和方法
US9552253B2 (en) Probabilistic flit error checking
EP3132449B1 (en) Method, apparatus and system for handling data error events with memory controller
US8990670B2 (en) Endurance aware error-correcting code (ECC) protection for non-volatile memories
US20180181466A1 (en) Content-aware data recovery method for elastic cloud storage
US9921914B2 (en) Redundant array of independent disks (RAID) write hole solutions
CN104932954B (zh) 微小卫星fpga关键数据保护方法
EP3314444B1 (en) Secure trusted execution environment data store
CN111865831B (zh) 数据处理的方法、网络设备、计算节点和系统
CN110121694B (zh) 一种日志管理方法、服务器和数据库系统
US11036595B2 (en) Semiconductor system including fault manager
US8539284B2 (en) Application reliability and fault tolerant chip configurations
KR102327192B1 (ko) 오류 관리기를 포함하는 반도체 시스템
CN113448770A (zh) 用于恢复数据的方法、电子设备和计算机程序产品
CN106940684B (zh) 一种按比特写数据的方法及装置
US11023158B2 (en) Constraining placement of replica segment pairs among device pairs based on coding segment count
US9857423B2 (en) Debugging circuit, debugger device, and debugging method
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
US10521299B2 (en) Method and apparatus for data protection
US11748221B2 (en) Test error scenario generation for computer processing system components
US10423351B1 (en) System and method for capacity and network traffic efficient data protection on distributed storage system
WO2018125031A1 (en) Cross-component health monitoring and improved repair for self-healing platforms

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20180226

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20191023

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20180226

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20210318

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20210923

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20211110

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20211111

End annual number: 3

Start annual number: 1

PG1601 Publication of registration