KR102030462B1 - 복수의 차량용 멀티 코어 프로세서 오류 모니터링 장치 및 그 방법 - Google Patents

복수의 차량용 멀티 코어 프로세서 오류 모니터링 장치 및 그 방법 Download PDF

Info

Publication number
KR102030462B1
KR102030462B1 KR1020170168624A KR20170168624A KR102030462B1 KR 102030462 B1 KR102030462 B1 KR 102030462B1 KR 1020170168624 A KR1020170168624 A KR 1020170168624A KR 20170168624 A KR20170168624 A KR 20170168624A KR 102030462 B1 KR102030462 B1 KR 102030462B1
Authority
KR
South Korea
Prior art keywords
error
time
processor
communication
monitoring
Prior art date
Application number
KR1020170168624A
Other languages
English (en)
Other versions
KR20190068330A (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 KR1020170168624A priority Critical patent/KR102030462B1/ko
Priority to DE102018220820.4A priority patent/DE102018220820A1/de
Priority to US16/208,454 priority patent/US10789114B2/en
Priority to CN201811485854.8A priority patent/CN110008078B/zh
Publication of KR20190068330A publication Critical patent/KR20190068330A/ko
Application granted granted Critical
Publication of KR102030462B1 publication Critical patent/KR102030462B1/ko

Links

Images

Classifications

    • 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/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • 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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0736Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 실시예에 따른 멀티코어 프로세서 오류 모니터링 시스템은, 제 1 및 제 2 멀티코어 프로세서; 및 상기 제 1 및 제 2 멀티코어 프로세서를 모니터링하는 오류 모니터링 프로세서를 포함하되, 상기 오류 모니터링 프로세서는 감시 모듈 및 제 1 버퍼 및 제 2 버퍼를 포함하고, 상기 감시 모듈은 상기 제 1 멀티코어 프로세서와 상기 제 1 버퍼를 통과하지 않는 제 1 패스와 상기 제 1 버퍼를 통과하는 제 2 패스로 연결되어 있으며, 상기 감시 모듈은 상기 제 1 패스로 상기 제 1 멀티코어 프로세서와 연결 시 바이패스 모드(Bypass Mode)에서 통신 속도 및 지연 속도를 포함하는 상기 제 1 멀티코어 프로세서와의 통신 특성을 산출하여 모니터링하며, 상기 감시 모듈은 상기 제 2 패스로 상기 제 1 멀티코어 프로세서와 연결 시 QoS 모드(Quality of Service Mode)에서 상기 제 1 버퍼의 읽기 및 쓰기 시간을 측정하여 상기 제 1 멀티코어 프로세서와의 통신 시간을 산출할 수 있다.

Description

복수의 차량용 멀티 코어 프로세서 오류 모니터링 장치 및 그 방법{An Apparatus and a Method for Detecting Errors On A Plurality of Multi-core Processors for Vehicles}
본 발명은 복수의 차량용 멀티코어 프로세서 오류 모니터링 장치 및 그 방법에 관한 것으로서, 보다 상세하게는 복수의 차량용 멀티 코어 프로세서 각각의 오류 여부 및 오류 원인을 모니터링하는 복수의 차량용 프로세서 오류 모니터링 시스템 및 그 방법에 관한 것이다.
최근 자동차는 마이크로컨트롤러 유닛을 내장한 많은 전자 제어 장치들을 사용하고 있으며, 그 사용이 점차 증가하고 있는 추세이다. 차량 내 마이크로컨트롤러 유닛은 자동차의 각 장치들을 제어하는 기능을 중요한 역할을 수행한다.
그러나, 마이크로컨트롤러 유닛은 가끔 오작동 또는 이상 신호 발생으로 인한 기능 정지가 발생하는 경우들이 있다. 마이크로컨트롤러 유닛의 오작동은 승차한 사람들의 안전에 심각한 영향을 미칠 수 있으므로, 항상 정상적인 작동을 해야 한다. 따라서, 마이크로컨트롤러 유닛이 계속 정상 작동하고 있는지 주기적으로 체크할 필요가 있다.
일반적으로, 마이크로컨트롤러 유닛의 이상 유무를 감시하기 위하여, 워치독을 이용한다. 예를 들면, 주기적으로 트리거 신호를 확인하는 피리어드(Period) 워치독, 트리거 신호의 시간 윈도우를 갖는 윈도우 워치독, 주어진 질문에 답변을 진행하는 Q & A 워치독 등이 있다.
보다 상세하게는, 정상 작동 중의 시스템은 주기적으로 마이크로프로세서에 쿼리를 전송하고, 쿼리에 대한 응답이 시간이 경과하거나 타임아웃이 되는 것을 막기 위해, 정기적으로 워치독 타이머를 가동시킨다.
만약, 하드웨어의 결함 혹은 프로그램 오류로 인해 프로세서가 워치독을 재가동하는 데 실패하면, 타이머가 시간을 두고 타임 아웃 신호를 생성한다. 이 타임 아웃 신호는 여러 시정 조치를 취하는 데 쓰인다. 이 시정 조치란 일반적으로 시스템을 안전한 상태로 유지하는 것과 정상적인 시스템 작동으로 원상복귀 시키는 것을 포함한다.
워치독 타이머는 인간이 쉽게 접근할 수 없거나 오류에 제때 반응 하기 힘든 제어 장비에서 일반적으로 찾을 수 있다. 소프트웨어가 멈추는 경우, 많은 임베디드 시스템들은 사람이 재부팅 해주는 것에만 의존할 수 없다. 따라서 이러한 임베디드 시스템들은 반드시 자립적이어야 한다. 예를 들어, 우주 탐사기와 같은 원격 임베디드 시스템은 사람인 운영자가 물리적으로 접근할 수 없다. 만일 시스템이 자동으로 오류들을 복구할 수 없다면, 이것들은 영구적으로 손상될 수 있다. 워치독 타이머는 보통 이와 같은 경우에 사용된다.
도 1은 종래 기술에 따른 프로세서의 오류 모니터링 시스템의 블록도를 도시한다.
종래에는 프로세싱 코어(또는 프로세서)의 정상 작동 여부를 모니터링하기 위해서, 워치독 프로세서(200)에 워치독 타이머를 가변 설정하고, 해당 시간 내에 프로세싱 코어(100)로부터 WDT(WatchDog Timer) 펄스 신호를 입력받으면 프로세싱 코어(100)의 동작에 문제가 없다고 판단하였다.
만약, 워치독 타이머에 설정된 시간 내에 프로세싱 코어(100)로부터 WDT 펄스 신호를 입력받지 않으면 워치독 프로세서(200)가 프로세싱 코어(100)를 리셋한다. 이상과 같은 종래의 프로세싱 코어(100)에 대한 오류 모니터링 기술은 멀티코어 시스템일 경우 어떤 코어에서 문제가 발생했는지에 대한 파악이 불가능하다.
또한, 복수의 워치독 프로세서 및 임의의 수의 프로세서가 있는 종래 멀티 코어 시스템에서 워치독 프로세서는 다른 프로세서를 감시하는 동작을 수행한다. 그러나, 해당 오류 모니터링 기술은 특정 프로세서에 오류가 발생한 경우, 오류 발생이 구체적으로 어떤 원인에 기인한 것인지 파악이 불가능하다. 예를 들어, 워치독 프로세서는 특정 프로세서에서 발생한 오류가 연산 오류 인지 통신 오류인지 등의 파악이 불가능하다.
본 발명은 상술한 기술적 문제에 대응하기 위하여 안출된 것으로, 본 발명의 목적은 종래 기술에서의 한계와 단점에 의해 발생하는 다양한 문제점을 실질적으로 보완할 수 있는 것으로, 복수의 프로세서 각각의 오류 여부 및 오류 원인을 모니터링하는 복수의 프로세서 오류 모니터링 시스템 및 그 방법을 제공하는데 있고, 상기 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
본 발명의 일 실시예에 따르면 오류 모니터링 시스템은, 제 1 및 제 2 멀티코어 프로세서; 및 상기 제 1 및 제 2 멀티코어 프로세서를 모니터링하는 오류 모니터링 프로세서를 포함하되, 상기 오류 모니터링 프로세서는 감시 모듈 및 제 1 버퍼 및 제 2 버퍼를 포함하고, 상기 감시 모듈은 상기 제 1 멀티코어 프로세서와 상기 제 1 버퍼를 통과하지 않는 제 1 패스와 상기 제 1 버퍼를 통과하는 제 2 패스로 연결되어 있으며, 상기 감시 모듈은 상기 제 1 패스로 상기 제 1 멀티코어 프로세서와 연결 시 바이패스 모드(Bypass Mode)에서 통신 속도 및 지연 속도를 포함하는 상기 제 1 멀티코어 프로세서와의 통신 특성을 산출하여 모니터링하며, 상기 감시 모듈은 상기 제 2 패스로 상기 제 1 멀티코어 프로세서와 연결 시 QoS 모드(Quality of Service Mode)에서 상기 제 1 버퍼의 읽기 및 쓰기 시간을 측정하여 상기 제 1 멀티코어 프로세서와의 통신 시간을 산출할 수 있다.
이 경우, 상기 오류 모니터링 프로세서는 오류 감지 신호를 상기 제 1 멀티코어 프로세서에 송신하고 송신 시점을 데이터 처리 요청 시점으로서 저장하고, 상기 제 1 멀티코어 프로세서는 제 1 프로세서 및 제 2 프로세서를 포함하고, 상기 오류 감지 신호에 기초하여 상기 제 1 프로세서 및 제 2 프로세서에서 수행한 소정의 데이터 처리 결과를 상기 오류 모니터링 프로세서에 응답으로서 전송하며, 상기 오류 모니터링 프로세서는 상기 소정의 데이터처리 요청에 대한 결과 응답 수신 시간을 저장하고, 상기 응답 수신 시간 및 상기 데이터처리 요청 시점에 기초하여 실제 동작 처리 시간을 산출하여 상기 통신 특성을 모니터링할 수 있다.
또한, 상기 오류 모니터링 프로세서는 상기 실제 동작 처리 시간과 상기 QoS 모드에서 산출한 통신 시간에 기초하여 연산 시간 및 통신 시간을 산출하고, 상기 연산 시간 및 통신 시간을 미리 설정된 연산 요구 시간과 통신 요구 시간과 비교하여 연산 오류인지 통신 오류인지 여부를 확인할 수 있다.
한편, 상기 오류 모니터링 프로세서는 상기 연산 오류 또는 상기 통신 오류인 경우에, 오류 카운터를 증가시킬 수 있다.
또한, 상기 오류 모니터링 프로세서는 상기 연산 오류 또는 상기 통신 오류인지에 따라 가중치를 달리하여 상기 오류 카운터를 증가시킬 수 있다.
또한, 상기 실제 동작 처리 시간이 미리 설정된 동작 요구 시간보다 클 경우에 상기 오류 모니터링 프로세서는 바이패스 모드에서 QoS 모드로 변환하여 오류 모니터링을 수행할 수 있다.
또한, 상기 바이패스 모드에서 상기 지연 속도는 상기 실제 동작 처리 시간 및 특정 시점부터 데이터처리 요청에 대한 응답의 개수에 기초하여 산출될 수 있다.
또한, 상기 바이패스 모드에서 상기 통신 속도는 시스템 동작 주파수, 특정 시점부터 데이터처리 요청에 대한 응답의 개수, 입력 데이터의 데이터 비트 및 모니터링 소요시간에 기초하여 산출될 수 있다.
또한, 상기 QoS 모드에서, 상기 통신 시간은 상기 오류 모니터링 프로세서가 제 1 멀티코어 프로세서로부터 수신한 데이터를 모니터링할 필요가 있을 경우 상기 제 1 버퍼가 오버플로우(Overflow)되는 시점에 기초하여 산출될 수 있다.
또한, 상기 QoS 모드에서, 상기 통신 시간은 상기 오류 모니터링 프로세서가 제 1 멀티코어 프로세서의 데이터 읽기 동작을 모니터링할 필요가 있을 경우 상기 제 1 버퍼가 언더플로우(Underflow)되는 시점에 기초하여 산출될 수 있다.
본 발명에 따르면, 멀티코어 시스템에서 문제가 발생한 프로세싱 코어 확인이 가능할 뿐만 아니라 문제 발생 원인이 연산 오류 인지 통신 오류인지 파악이 가능하다.
따라서, 본 발명에 따른 멀티코어 오류 모니터링 장치는 시스템의 동작에 대한 안전성을 보장할 뿐만 아니라, 구체적으로 파악된 문제 해결을 위한 작업 수행이 개선될 수 있다.
도 1은 종래 기술에 따른 프로세서의 오류 모니터링 시스템의 블록도를 도시한다.
도 2는 본 발명의 일 실시예에 따른 복수의 프로세서 오류 모니터링 시스템의 블록도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 복수의 프로세서 오류 모니터링 시스템의 동작을 도시한다.
도 5는 본 발명의 일 실시예에 따른 복수의 프로세서 오류 모니터링 방법의 흐름도이다.
이하의 내용은 단지 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 발명의 원리를 구현하고 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
도 2는 본 발명의 일 실시예에 따른 복수의 프로세서 오류 모니터링 시스템의 블록도이다.
본 발명의 일 실시예에 따른 오류 모니터링 시스템(200)은 입력부(220), 오류 모니터링 프로세서(210) 및 복수의 멀티코어 프로세서(230, 240)를 포함한다.
본 발명의 일 실시예에 따른 오류 모니터링 시스템(200)은 복수의 멀티코어 프로세서(230, 240)와 오류 모니터링 프로세서(210)를 상호 연결하는 통신 수단을 더 포함한다. 상기 통신 수단은 예컨대, SPI(Serial Peripheral Interface), CAN (Controller Area Network) 버스, LIN(Local Interconnect Network) 등의 통신 수단이 될 수 있다.
입력부(220)는 시스템 동작 요구 시간, 시스템 동작 주파수, 통신 데이터 등 모니터링에 필요한 데이터를 외부로부터 입력 받을 수 있다. 이는 여러 시스템을 모니터링할 경우에, 각 시스템이 포함하는 멀티코어 프로세서 별로 다른 동작 요구 조건을 포함할 수 있기 때문이다.
복수의 멀티코어 프로세서(230, 240)는 예를 들어, 제 1 멀티코어 프로세서 (230) 및 제 2 멀티코어 프로세서(240)를 포함할 수 있다.
이 경우, 복수의 멀티코어 프로세서는 여러 다른 시스템을 제어하는 프로세서일 수 있다. 예컨대, 제1 멀티코어 프로세서(230)는 하이브리드 차량(HEV)의 모터 제어기의 멀티코어 프로세서(230)일 수 있으며, 제2 멀티코어 프로세서(240)는 차량용 엔진 제어기의 멀티코어 프로세서(240)일 수 있다. 또는, 제1 멀티코어 프로세서(230)는 전기 자동차(EV)의 차량 제어기(VCU)의 프로세서이고 제 2 멀티코어 프로세서(240)는 전기 자동차(EV)의 마이크로컨트롤러 유닛(MCU)일 수 있다.
또한, 제 1 멀티코어 프로세서(230)는 제 1 복수의 프로세서(320, 330)를 포함할 수 있으며, 제 1 멀티코어 프로세서(230)는 제 2 복수의 프로세서(340, 350)를 포함할 수 있다. 이 경우, 제 1 복수의 프로세서(320, 330) 및 제 1 복수의 프로세서(320, 330)는 각 멀티코어 프로세서(230, 240)의 복수의 코어일 수 있다.
도 3을 참조하면, 오류 모니터링 프로세서(210)는 복수의 멀티코어 프로세서(230, 240)의 오류를 모니터링한다. 구체적으로, 오류 모니터링 프로세서(210)는 복수의 멀티코어 프로세서(230, 240)에 쿼리를 포함하는 오류 모니터링 신호를 송신한다.
복수의 멀티코어 프로세서(230, 240)는 각각 쿼리에 대한 연산을 수행하여 데이터 처리 결과를 오류 모니터링 응답으로 오류 모니터링 프로세서에 리턴(return)한다. 바람직하게는 복수의 멀티코어 프로세서(230, 240)의 각 프로세서(320, 330, 340, 350)는 쿼리에 대한 연산을 각각 수행한다.
설명의 간략화를 위하여 제 1 멀티코어 프로세서(230)를 기준으로 설명한다. 단, 제 2 멀티코어 프로세서(240)의 감시 동작 및 구성도 제 1 멀티코어 프로세서(230)과 동일하므로, 설명을 생략한다. 하지만, 당업자는 제 1 멀티코어 프로세서(230)의 동작 및 구성을 참조하여 제 2 멀티코어 프로세서(240)의 동작을 구현할 수 있다.
본 발명의 일 실시예에 따른 오류 모니터링 프로세서(210)는 제1 프로세서(320)에 오류 모니터링 신호를 송신한다. 오류 모니터링 신호는 소정의 통신 데이터 프로토콜의 "reserved" 영역을 이용하거나, 소정의 통신 데이터 프로토콜 내 데이터 비트를 이용하거나, 소정의 통신 데이터 프로토콜에 일부 비트를 추가하거나, 오류 모니터링 시스템에 추가 핀을 할당하는 방법으로 생성할 수 있다.
제 1 멀티코어 프로세서(230)는 오류 모니터링 프로세서(210)으로부터 쿼리를 포함하는 오류 모니터링 신호를 수신하고, 제 1 프로세서(320) 및 제 2 프로세서(330) 각각에서 쿼리에 대한 연산을 수행한 후, 데이터 처리 결과를 오류 모니터링 프로세서(210)에 응답한다.
이 경우, 오류 모니터링 프로세서(210)는 오류 모니터링 프로세서(210)의 통신 데이터 입력 시점 및 출력 시점을 타임 스탬프로 저장할 수 있다. 또한, 오류 모니터링 프로세서(210)는 제 1 멀티코어 프로세서(230)에 데이터 처리 요청 시점(Task Request, 도 3의 a, 1 참조) 및 데이터 처리 요청에 대한 응답 시점(Task Response, 도 3의 d, 4 참조)을 타임 스탬프로 저장할 수 있다.
최종적으로 오류 모니터링 프로세서(210)는 적어도, 모니터링 시스템으로 데이터가 입출력 시점, 데이터 처리 요청 시간, 데이터 처리 결과 응답 시점 및 오류 출력 시점 등을 저장하게 되며, 이를 이용하여 통신 속도, 지연 속도 및 QoS(Quality-of-Service)를 모니터링하게 된다.
이하에서는 도 4를 참조하여, 본 발명의 실시예에 따른 오류 모니터링 프로세서(210)의 상세 동작에 대하여 설명한다.
본 발명의 실시예에 따른 오류 모니터링 프로세서(210)는 감시 모듈(410) 및 버퍼(420, 430)를 포함할 수 있다.
감시 모듈(410)은 감시부(413)와 저장부(415)를 포함할 수 있다. 이 때, 감시부(413)는 이하에서 설명할 2개의 모드로 각 멀티코어 프로세서(230, 240)를 감시할 수 있다. 또한, 저장부(415)는 미리 설정된 시스템 동작 요구 시간, 시스템 동작 주파수, 통신 데이터 등 모니터링에 필요한 데이터를 외부로부터 입력받아 저장할 수 있다.
이 때, 시스템 동작 요구 시간은 전체 응답 요구 시간(도 3의 1+2+3+4), 예를 들어, 상술한 데이터 처리 요청 시간부터 데이터 처리 요청에 대한 응답 시점 사이의 기준 시간을 포함할 수 있다. 또한, 시스템 동작 요구 시간은 전체 응답 요구 시간 중 통신 요구 시간(1, 4) 및 연산 요구 시간(2+3)을 포함할 수 있다.
한편, 버퍼(420,430)는 이하에서 설명할 QoS 모드에서 통신 시간을 측정하기 위한 것으로서, 바람직하게는 2D(2 - dimensional) 버퍼일 수 있다.
감시 모듈(410)과 복수의 멀티코어 프로세서(230, 240)는 2개의 패스(Path)로 연결되어 있다. 여기에서도 설명의 간략화를 위하여 제 1 멀티코어 프로세서(230)를 기준으로 설명한다. 단, 제 2 멀티코어 프로세서(240)의 감시 동작 및 구성도 제 1 멀티코어 프로세서(230)과 동일하므로, 설명을 생략한다. 하지만, 당업자는 제 1 멀티코어 프로세서(230)의 동작 및 구성을 참조하여 제 2 멀티코어 프로세서(240)을 구성할 수 있다.
감시 모듈(410)과 제 1 멀티코어 프로세서(230)는 제1 패스(450) 및 제2 패스(453)로 연결될 수 있다. 이 경우, 제2 패스(453)는 버퍼(430)를 통과하여 제 1 멀티코어 프로세서(230)를 감시하며, 제 1 패스(450)는 버퍼(430)를 거치지 않는다.
상술한 구성을 통해 감시 모듈(410)은 2개의 모드로 동작할 수 있다.
첫번째 모드는 바이패스 모드(Bypass mode)이다. 바이패스 모드에서는, 제 1 패스(450)을 통하여 감시 모듈(410)과 제 1 멀티코어 프로세서(230) 사이에 버퍼(430)를 통과하지 않고 연결될 수 있다.
바이패스 모드에서, 오류 모니터링 프로세서(210)는 통신 데이터 입력 시 입력 데이터의 데이터 비트(data bit), 모니터링 소요 시간(데이터 처리 요청 시간시점(Task Request)과 데이터 처리 요청에 대한 응답 신호 수신 시점(Task Response)간의 차) 시스템 동작 주파수에 기초하여 통신 속도(또는 스루풋(Throughput)) 및 지연 속도(Latency)를 포함하는 통신 특성을 모니터링 할 수 있다.
통신 속도(또는 스루풋)은 아래와 같은 수학식 1을 통하여 산출할 수 있다.
(수학식 1)
통신 속도 = (fs ⅹNtask responseⅹNdata bit)/Tmonitoring
여기서, fs는 시스템 동작 주파수, Ntask responses는 특정 시점부터 데이터 처리 요청에 대한 응답의 개수 (number of task responses), Ndata bit는 입력 데이터의 데이터 비트, 그리고, Tmonitoring는 모니터링 소요시간(즉,오류 모니터링 프로세서에서 제 1 멀티코어 프로세서(230)로 데이터를 송신하는 시점부터 오류 모니터링 프로세서로 데이터 처리 응답수신하는 시점간 소요된 시간)을 의미한다.
한편, 지연 속도는 아래와 같은 수학식 2로부터 산출될 수 있다.
(수학식 2)
지연 속도 = 데이터 처리시간 / Ntask responses
여기서 데이터 처리 시간은 데이터 처리 요청 시간(Task Request, 도 3의 a, 1 참조)과 데이터 처리 요청에 대한 응답 시점(Task Response, 도 3의 d, 4 참조)의 차이를 의미한다.
한편, QoS 모드(Quality of Service Mode)에서 감시 모듈(410)은 문제 발생 시 문제 발생의 원인이 통신 오류인지 연산 오류인지를 감지할 수 있다.
QoS 모드에서 감시 모듈(410)과 제 1 멀티코어 프로세서(230)는 버퍼(430)를 거치는 제 2 패스(453)을 통해 연결된다.
QoS 모드에서 오류 모니터링 프로세서(210)가 제 1 멀티코어 프로세서(230)로부터 수신한 데이터를 모니터링할 필요가 있을 경우 상기 버퍼(430)에 제 1 멀티 코어프로세서(230)의 데이터가 쓰여지게 된다. 이 때, 오류 모니터링 프로세서(210)는 상기 버퍼(430)를 채우는 속도, 즉, 데이터가 상기 버퍼(430)를 가득 채우는(Overflow) 시점을 측정하게 되고, 그 시점이 미리 정해진 통신 요구 시간 보다 작은지를 파악하게 된다.
QoS 모드에서 오류 모니터링 프로세서(210)가 제 1 멀티코어 프로세서(230)의 데이터 읽기 동작을 모니터링할 필요가 있을 경우 상기 버퍼(430)에 데이터가 비워지게 된다. 이 때, 오류 모니터링 프로세서(210)는 상기 버퍼(430)를 비우는 속도, 즉, 상기 버퍼(430)의 데이터가 비워지는(Underflow) 시점을 측정하게 되고, 그 시점이 미리 정해진 통신 요구 시간 보다 작은지를 파악하게 된다.
전체 동작 시간(전체 응답 요구 시간)은 연산 시간 + 통신 시간, 즉, 제 1 멀티코어 프로세서(230)의 경우 도 4의 1+2+3+4를 의미하기 때문에 QoS 모드를 통하여 통신 시간(즉, 1 및 4)를 알 수 있게 된다.
요약하면, QoS 모드를 통해 오류 모니터링 프로세서(210)는 상술한 버퍼의 읽기/쓰기 동작 시간을 측정함으로써, 통신 시간만을 별도로 산출할 수 있으며, 데이터 처리시간(1의 시작 시점으로부터 4의 수신 완료 시점)으로부터 통신 시간을 빼면 연산 시간을 산출할 수 있다. 특히 통신 시간 중에서도 쓰기 오류인지 읽기 오류인지까지도 확인이 가능하다.
따라서, 오류 모니터링 프로세서(210)는 각각의 복수의 프로세서의 처리 시간을 구하지 않고도 간편한 방법으로 통신 오류인지 연산 오류인지를 파악할 수 있다.
한편, 데이터 처리 요청 시점부터 응답 시점까지의 실제 동작 처리 시간이 동작 요구 시간 이내에 처리되지 않은 경우, 오류 모니터링 프로세서(210)는 오류 카운터를 소정의 값만큼 증가시킬 수 있다.
오류 모니터링 프로세서(210)는 상기 오류 카운터가 소정의 임계치를 초과하는 경우 복수의 프로세서(230, 240) 중 오류가 발생된 멀티코어 프로세서에 오류 발생 신호를 송신할 수 있다. 상기 오류 발생 신호는 오류 발생을 알리는 플래그 신호 및 리셋 신호가 될 수 있다.
본 발명의 일 실시예에 따른 오류 모니터링 시스템(200)이 연산 속도가 중요한 시스템이고, 상기 동작 처리 시간이 상기 동작 요구 시간 이내에 처리되지 않은 원인이 상기 연산 수행 소요 시간에 기인한 경우, 오류 모니터링 프로세서(210)는 상기 소정의 값에 가중치를 부여하여 오류 카운터를 증가시킨다. 예컨대, 오류 모니터링 프로세서(210)는 연산 시간이 중요하다고 판단되는 경우에 오류 카운터를 통신 오류 시 1 증가시키고 연산 오류 시 2만큼 증가시킬 수 있다. 즉, 오류 카운터를 통신 오류 시 연산 오류 시보다 더 증가시킬 수 있다.
한편, 본 발명의 일 실시예에 따른 오류 모니터링 시스템(200)이 통신 속도가 중요한 시스템이고, 상기 실제 동작 처리 시간이 상기 동작 요구 시간 이내에 처리되지 않은 원인이 상기 통신 시간에 기초한 오류인 경우, 오류 모니터링 프로세서(210)는 상기 소정의 값에 가중치를 부여하여 오류 카운터를 증가시킨다.
한편, 본 발명의 다른 실시예에 따른 오류 모니터링 시스템이 연산 속도가 중요한 시스템인 경우, 오류 모니터링 프로세서는 복수의 프로세서 각각의 연산 수행 소요 시간에 소정의 가중치를 부여한 값과 상기 오류 모니터링 신호 송신 시점부터 상기 갱신된 오류 모니터링 신호 수신 시점까지의 통신 시간을 더하여 동작 처리 시간을 계산한다. 동작 처리 시간이 동작 요구 시간 이내에 처리되지 않은 경우, 오류 모니터링 프로세서는 오류 카운터를 소정의 값만큼 증가시킨다.
오류 모니터링 프로세서는 상기 오류 카운터가 소정의 임계치를 초과하는 경우 복수의 프로세서 중 오류 발생 원인이 된 적어도 하나의 프로세서에게 오류 발생 신호를 송신한다. 상기 오류 발생 신호는 오류 발생을 알리는 플래그 값을 포함한 신호 및 리셋 신호를 포함한다.
본 발명의 또 다른 실시예에 따른 오류 모니터링 시스템이 통신 속도가 중요한 시스템인 경우, 오류 모니터링 프로세서는 오류 모니터링 신호 송신 시점부터 갱신된 오류 모니터링 신호 수신 시점까지의 통신 시간에 소정의 가중치를 부여한 값과 복수의 프로세서 각각의 연산 수행 소요 시간을 더하여 동작 처리 시간을 계산한다. 동작 처리 시간이 동작 요구 시간 이내에 처리되지 않은 경우, 오류 모니터링 프로세서는 오류 카운터를 소정의 값만큼 증가시킨다. 오류 모니터링 프로세서는 상기 오류 카운터가 소정의 임계치를 초과하는 경우 복수의 프로세서 중 오류 발생 원인이 된 적어도 하나의 프로세서에게 오류 발생 신호를 송신한다. 상기 오류 발생 신호는 오류 발생을 알리는 플래그 값을 포함한 신호 및 리셋 신호를 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 오류 모니터링 방법의 흐름도이다.
단계 510에서, 오류 모니터링 시스템(200)은 미리 설정된 시스템 동작 요구 시간, 시스템 동작 주파수, 통신 데이터 등 모니터링에 필요한 데이터를 외부로부터 입력 받아 저장할 수 있다.
단계 520에서, 오류 모니터링 시스템(200)은 모드를 선택할 수 있다. 이 경우, 모드는 바이패스 모드 및 QoS 모드를 포함한다. 예를 들어, 이전 동작에서 바이패스 모드로 오류를 모니터링 한 후, 지연 속도나 통신 속도에 오류가 있는 경우에는 QoS 모드를 선택하여 진행할 수 있다. 또는 바이패스 모드와 QoS 모드를 반복적으로 진행할 수도 있다.
단계 530에서, 오류 모니터링 시스템(200)은 바이패스 모드로 진행된 경우에 오류 모니터링 프로세서(210)에서 각 멀티코어 프로세서(230, 240)의 제 1 프로세서(320, 340)로 쿼리를 포함하는 오류 감지 신호를 송신하고 송신 시간을 저장한다.
단계 540에서, 오류 모니터링 시스템(200)은 복수의 프로세서 각각에 의해 상기 소정의 연산을 수행하고, 오류 모니터링 프로세서(210)는 수행된 연산 결과를 수신하고 수신 시간을 저장한다.
단계 550에서, 오류 모니터링 시스템(200)은 오류 감지 신호 송신 시간 및 연산 결과 수신 시간에 기초하여 통신 속도 및 지연 속도를 포함하는 통신 특성을 파악한다. 이 때, 통신 속도 및 지연 속도가 동작 요구 시간을 각각 만족하는지 여부를 확인한다. 통신 속도 및 지연 속도가 동작 요구 시간을 각각 만족하지 못하는 경우에는 다음 번 모드 선택 시 QoS 모드를 선택할 수 있다.
한편, 단계 560에서, 오류 모니터링 시스템(200)은 QoS 모드를 선택하며, 오류 모니터링 프로세서(210) 내의 버퍼를 이용하여 읽기/쓰기 시간을 산출하여 통신 시간을 산출한다.
또한, 단계 570에서, 오류 모니터링 시스템(200)은 전체 동작 시간에서 통신 시간을 제외하고 연산 시간을 산출할 수 있으며, 단계 580에서 각 시간(연산 시간 및 통신 시간)이 각각의 동작 요구 시간을 만족하는지를 파악한다.
단계 590에서는 오류 모니터링 시스템(200)은 각각의 동작 요구 시간을 만족하지 못하는 경우에는 오류 카운팅을 수행하고, 오류 카운팅 수가 미리 정해진 임계치를 넘는 경우에는 오류 플래그(flag)를 해당 멀티코어 프로세서에 전송하거나, 해당 멀티코어 프로세서를 리셋할 수 있다.
다시 리셋 또는 오류 플래그 전송 후에는 오류 모니터링 시스템(200)은 다시 시스템 동작 요구 시간 등 필요 데이터를 입력하고 모니터링을 반복할 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (20)

  1. 제 1 및 제 2 멀티코어 프로세서; 및
    상기 제 1 및 제 2 멀티코어 프로세서를 모니터링하는 오류 모니터링 프로세서를 포함하되,
    상기 오류 모니터링 프로세서는 감시 모듈 및 제 1 버퍼 및 제 2 버퍼를 포함하고,
    상기 감시 모듈은 상기 제 1 멀티코어 프로세서와 상기 제 1 버퍼를 통과하지 않는 제 1 패스와 상기 제 1 버퍼를 통과하는 제 2 패스로 연결되어 있으며,
    상기 감시 모듈은 상기 제 1 패스로 상기 제 1 멀티코어 프로세서와 연결 시 바이패스 모드(Bypass Mode)에서 통신 속도 및 지연 속도를 포함하는 상기 제 1 멀티코어 프로세서와의 통신 특성을 산출하여 모니터링하며,
    상기 감시 모듈은 상기 제 2 패스로 상기 제 1 멀티코어 프로세서와 연결 시 QoS 모드(Quality of Service Mode)에서 상기 제 1 버퍼의 읽기 및 쓰기 시간을 측정하여 상기 제 1 멀티코어 프로세서와의 통신 시간을 산출하는 것을 특징으로 하고,
    상기 오류 모니터링 프로세서는 오류 감지 신호를 상기 제 1 멀티코어 프로세서에 송신하고 송신 시점을 데이터 처리 요청 시점으로서 저장하고,
    상기 제 1 멀티코어 프로세서는 제 1 프로세서 및 제 2 프로세서를 포함하고, 상기 오류 감지 신호에 기초하여 상기 제 1 프로세서 및 제 2 프로세서에서 수행한 소정의 데이터 처리 결과를 상기 오류 모니터링 프로세서에 응답으로서 전송하며,
    상기 오류 모니터링 프로세서는 상기 소정의 데이터 처리 결과 응답 수신 시간을 저장하고, 상기 응답 수신 시간 및 상기 데이터 처리 요청 시점에 기초하여 실제 동작 처리 시간을 산출하여 상기 통신 특성을 모니터링하는, 멀티코어 프로세서 오류 모니터링 시스템.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 오류 모니터링 프로세서는 상기 실제 동작 처리 시간과 상기 QoS 모드에서 산출한 통신 시간에 기초하여 연산 시간 및 통신 시간을 산출하고, 상기 연산 시간 및 통신 시간을 미리 설정된 연산 요구 시간과 통신 요구 시간과 비교하여 연산 오류인지 통신 오류인지 여부를 확인하는,
    멀티코어 프로세서 오류 모니터링 시스템.
  4. 제 3항에 있어서,
    상기 오류 모니터링 프로세서는 상기 연산 오류 또는 상기 통신 오류인 경우에, 오류 카운터를 증가시키는,
    멀티코어 프로세서 오류 모니터링 시스템.
  5. 제 4 항에 있어서,
    상기 오류 모니터링 프로세서는 상기 연산 오류 또는 상기 통신 오류인지에 따라 가중치를 달리하여 상기 오류 카운터를 증가시키는,
    멀티코어 프로세서 오류 모니터링 시스템.
  6. 제 1 항에 있어서,
    상기 실제 동작 처리 시간이 미리 설정된 동작 요구 시간보다 클 경우에 상기 오류 모니터링 프로세서는 바이패스 모드에서 QoS 모드로 변환하여 오류 모니터링을 수행하는,
    멀티코어 프로세서 오류 모니터링 시스템.
  7. 제 1 항에 있어서,
    상기 바이패스 모드에서 상기 지연 속도는 상기 실제 동작 처리 시간 및 특정 시점부터 데이터 처리 요청에 대한 응답의 개수에 기초하여 산출되는,
    멀티코어 프로세서 오류 모니터링 시스템.
  8. 제 1 항에 있어서,
    상기 바이패스 모드에서 상기 통신 속도는 시스템 동작 주파수, 특정 시점부터 데이터 처리 요청에 대한 응답의 개수, 입력 데이터의 데이터 비트 및 모니터링 소요시간에 기초하여 산출되는,
    멀티코어 프로세서 오류 모니터링 시스템.
  9. 제 1 항에 있어서,
    상기 QoS 모드에서, 상기 통신 시간은 상기 오류 모니터링 프로세서가 제 1 멀티코어 프로세서로부터 수신한 데이터를 모니터링할 필요가 있을 경우, 상기 제 1 버퍼가 오버플로우(Overflow)되는 시점에 기초하여 산출되는,
    멀티코어 프로세서 오류 모니터링 시스템.
  10. 제 1 항에 있어서,
    상기 QoS 모드에서, 상기 통신 시간은 상기 오류 모니터링 프로세서가 제 1 멀티코어 프로세서의 데이터 읽기 동작을 모니터링할 필요가 있을 경우 상기 제 1 버퍼가 언더플로우(Underflow)되는 시점에 기초하여 산출되는,
    멀티코어 프로세서 오류 모니터링 시스템.
  11. 시스템 동작 요구 시간을 포함하는 모니터링에 필요한 데이터를 입력하는 단계;
    바이패스 모드와 QoS 모드 중 어느 하나를 선택하는 단계;
    바이패스 모드에서 오류 모니터링 프로세서에 의하여 제 1 멀티코어 프로세서에 오류 감지 신호를 송신하는 단계;
    바이패스 모드에서 상기 제 1 멀티코어 프로세서에 의하여 소정의 연산을 수행한 후, 오류 감지 신호에 대한 응답을 송신하는 단계;
    바이패스 모드에서 상기 오류 모니터링 프로세서에 의하여 상기 응답 시점에 기초하여 통신 속도 및 지연 속도를 포함하는 통신 특성을 파악한 후, 동작 요구 특성에 맞는지 확인하는 단계;
    QoS 모드에서 제 1 버퍼를 활용하여 상기 제 1 멀티코어 프로세서와의 통신 시간을 산출하는 단계; 및
    상기 통신 시간에 기초하여 통신 오류인지 연산 오류인지 결정하는 단계를 포함하고,
    바이패스 모드에서 상기 오류 감지 신호를 송신하는 단계는, 상기 오류 모니터링 프로세서로 하여금 상기 오류 감지 신호를 상기 제 1 멀티코어 프로세서에 송신하고 송신 시점을 데이터 처리 요청 시점으로서 저장하는 단계를 포함하며,
    바이패스 모드에서 오류 감지 신호에 대한 응답을 송신하는 단계는, 상기 제 1 멀티코어 프로세서로 하여금 상기 오류 감지 신호에 기초하여 상기 제 1 멀티코어 프로세서의 제 1 프로세서 및 제 2 프로세서에서 수행한 소정의 데이터 처리 결과를 상기 오류 모니터링 프로세서에 응답으로서 전송하는 단계를 포함하며,
    상기 통신 특성을 파악한 후 동작 요구 특성에 맞는지 확인하는 단계는, 상기 오류 모니터링 프로세서로 하여금 상기 소정의 데이터 처리 결과 응답 수신 시간을 저장하고, 상기 응답 수신 시간 및 상기 데이터 처리 요청 시점에 기초하여 실제 동작 처리 시간을 산출하여 상기 통신 특성을 모니터링하는 단계를 포함하는, 멀티코어 프로세서 오류 모니터링 방법.
  12. 삭제
  13. 제 11 항에 있어서,
    상기 오류 모니터링 프로세서로 하여금 상기 실제 동작 처리 시간과 상기 QoS 모드에서 산출한 통신 시간에 기초하여 연산 시간 및 통신 시간을 산출하고, 상기 연산 시간 및 통신 시간을 미리 설정된 연산 요구 시간 및 통신 요구 시간과 비교하여 연산 오류인지 통신 오류인지 여부를 확인하는 단계를 더 포함하는,
    멀티코어 프로세서 오류 모니터링 방법.
  14. 제 13 항에 있어서,
    상기 오류 모니터링 프로세서로 하여금 상기 연산 오류 또는 상기 통신 오류인 경우에 오류 카운터를 증가시키는 단계를 더 포함하는,
    멀티코어 프로세서 오류 모니터링 방법.
  15. 제 14 항에 있어서,
    상기 오류 카운터를 증가시키는 단계는, 상기 오류 모니터링 프로세서로 하여금 상기 연산 오류 또는 상기 통신 오류인지에 따라 가중치를 달리하여 상기 오류 카운터를 증가시키는 단계를 포함하는,
    멀티코어 프로세서 오류 모니터링 방법.
  16. 제 11 항에 있어서,
    상기 실제 동작 처리 시간이 미리 설정된 동작 요구 시간보다 클 경우에 상기 오류 모니터링 프로세서로 하여금 바이패스 모드에서 QoS 모드로 변환하여 오류 모니터링을 수행하는 단계를 더 포함하는,
    멀티코어 프로세서 오류 모니터링 방법.
  17. 제 11 항에 있어서,
    바이패스 모드에서 상기 지연 속도는 상기 실제 동작 처리 시간 및 특정 시점부터 데이터 처리 요청에 대한 응답의 개수에 기초하여 산출되는,
    멀티코어 프로세서 오류 모니터링 방법.
  18. 제 11 항에 있어서,
    바이패스 모드에서 상기 통신 속도는 시스템 동작 주파수, 특정 시점부터 데이터 처리 요청에 대한 응답의 개수, 입력 데이터의 데이터 비트 및 모니터링 소요시간에 기초하여 산출되는,
    멀티코어 프로세서 오류 모니터링 방법.
  19. 제 11 항에 있어서,
    QoS 모드에서, 상기 통신 시간은 상기 오류 모니터링 프로세서가 제 1 멀티코어 프로세서로부터 수신한 데이터를 모니터링할 필요가 있는 경우 상기 제 1 버퍼가 오버플로우(Overflow)되는 시점에 기초하여 산출되는,
    멀티코어 프로세서 오류 모니터링 방법.
  20. 제 11 항에 있어서,
    QoS 모드에서, 상기 통신 시간은 상기 오류 모니터링 프로세서가 제 1 멀티코어 프로세서의 데이터 읽기 동작을 모니터링할 필요가 있을 경우 상기 제 1 버퍼가 언더플로우(Underflow)되는 시점에 기초하여 산출되는,
    멀티코어 프로세서 오류 모니터링 방법.
KR1020170168624A 2017-12-08 2017-12-08 복수의 차량용 멀티 코어 프로세서 오류 모니터링 장치 및 그 방법 KR102030462B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170168624A KR102030462B1 (ko) 2017-12-08 2017-12-08 복수의 차량용 멀티 코어 프로세서 오류 모니터링 장치 및 그 방법
DE102018220820.4A DE102018220820A1 (de) 2017-12-08 2018-12-03 Mehrfach-Fahrzeug-Multikernprozessorfehler-Überwachungsvorrichtung und Verrfahren
US16/208,454 US10789114B2 (en) 2017-12-08 2018-12-03 Multiple automotive multi-core processor error monitoring device and method
CN201811485854.8A CN110008078B (zh) 2017-12-08 2018-12-06 多核处理器错误监控系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170168624A KR102030462B1 (ko) 2017-12-08 2017-12-08 복수의 차량용 멀티 코어 프로세서 오류 모니터링 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20190068330A KR20190068330A (ko) 2019-06-18
KR102030462B1 true KR102030462B1 (ko) 2019-10-10

Family

ID=66629289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170168624A KR102030462B1 (ko) 2017-12-08 2017-12-08 복수의 차량용 멀티 코어 프로세서 오류 모니터링 장치 및 그 방법

Country Status (4)

Country Link
US (1) US10789114B2 (ko)
KR (1) KR102030462B1 (ko)
CN (1) CN110008078B (ko)
DE (1) DE102018220820A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11979254B2 (en) 2020-12-08 2024-05-07 Hyundai Autoever Corp. Apparatus and method for estimating communication response time between different controllers of a vehicle

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113366444A (zh) * 2019-02-05 2021-09-07 三菱电机株式会社 信息处理装置、信息处理系统、程序和信息处理方法
US11036573B2 (en) * 2019-05-16 2021-06-15 Ford Global Technologies, Llc Control processor unit (CPU) error detection by another CPU via communication bus
US10936397B2 (en) * 2019-05-23 2021-03-02 Ford Global Technologies, Llc Hybrid control module status communication system and method
JP7278205B2 (ja) * 2019-12-12 2023-05-19 三菱電機株式会社 演算装置および演算装置の監視方法
US20230326265A1 (en) * 2022-04-08 2023-10-12 Nio Technology (Anhui) Co., Ltd. Methods and systems for multi-core processor management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100611104B1 (ko) * 2004-11-11 2006-08-09 한국전자통신연구원 이더넷 라인 인터페이스 장치
KR100726332B1 (ko) 2004-04-21 2007-06-11 인하대학교 산학협력단 무선 통신망에서 무선 차별화 서비스를 제공하기 위한패킷 스케줄링 방법 및 장치
KR100938516B1 (ko) 2001-07-03 2010-01-25 마이크로소프트 코포레이션 브로드캐스트 및 로컬캐스트 통신을 수행하는 시스템 및 장치
KR101646210B1 (ko) * 2014-09-23 2016-08-05 국민대학교산학협력단 기능 안전성을 고려한 모터 제어 시스템

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4411577A (en) * 1980-03-07 1983-10-25 Rapistan Division, Lear Siegler, Inc. Vehicle sensor monitoring system
DE102006008958A1 (de) * 2005-03-10 2006-09-28 Continental Teves Ag & Co. Ohg Elektronisches Kraftfahrzeugbremsensteuergerät
US20060229777A1 (en) * 2005-04-12 2006-10-12 Hudson Michael D System and methods of performing real-time on-board automotive telemetry analysis and reporting
US7243048B2 (en) * 2005-11-28 2007-07-10 Honeywell International, Inc. Fault detection system and method using multiway principal component analysis
DE102006017824B4 (de) * 2006-04-13 2018-10-11 Dspace Digital Signal Processing And Control Engineering Gmbh Methode zum Konstruieren einer Diagnosefunktion
US8032804B2 (en) * 2009-01-12 2011-10-04 Micron Technology, Inc. Systems and methods for monitoring a memory system
KR101356541B1 (ko) * 2012-01-09 2014-01-29 한국과학기술원 멀티 코어 프로세서, 이를 포함하는 멀티 코어 시스템, 전자 장치 및 멀티 코어 프로세서의 캐시 공유 방법
DE102012017386B4 (de) * 2012-09-01 2020-10-15 Volkswagen Aktiengesellschaft Verfahren zum Überwachen einer mit einem Kommunikationskanal verbundenen Vorrichtung
KR101534974B1 (ko) * 2013-12-19 2015-07-08 현대자동차주식회사 다중 마이크로 코어 감시 장치 및 방법
US10261817B2 (en) * 2014-07-29 2019-04-16 Nxp Usa, Inc. System on a chip and method for a controller supported virtual machine monitor
EP3220681B1 (en) * 2016-03-18 2020-07-15 Nokia Technologies Oy Adaptive and dynamic qos/qoe enforcement
WO2019094843A1 (en) * 2017-11-10 2019-05-16 Nvidia Corporation Systems and methods for safe and reliable autonomous vehicles
KR102030461B1 (ko) * 2017-11-23 2019-10-10 현대오트론 주식회사 복수의 프로세서 오류 감지 시스템 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100938516B1 (ko) 2001-07-03 2010-01-25 마이크로소프트 코포레이션 브로드캐스트 및 로컬캐스트 통신을 수행하는 시스템 및 장치
KR100726332B1 (ko) 2004-04-21 2007-06-11 인하대학교 산학협력단 무선 통신망에서 무선 차별화 서비스를 제공하기 위한패킷 스케줄링 방법 및 장치
KR100611104B1 (ko) * 2004-11-11 2006-08-09 한국전자통신연구원 이더넷 라인 인터페이스 장치
KR101646210B1 (ko) * 2014-09-23 2016-08-05 국민대학교산학협력단 기능 안전성을 고려한 모터 제어 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11979254B2 (en) 2020-12-08 2024-05-07 Hyundai Autoever Corp. Apparatus and method for estimating communication response time between different controllers of a vehicle

Also Published As

Publication number Publication date
KR20190068330A (ko) 2019-06-18
US10789114B2 (en) 2020-09-29
US20190179693A1 (en) 2019-06-13
CN110008078B (zh) 2023-06-23
CN110008078A (zh) 2019-07-12
DE102018220820A1 (de) 2019-06-13

Similar Documents

Publication Publication Date Title
KR102030462B1 (ko) 복수의 차량용 멀티 코어 프로세서 오류 모니터링 장치 및 그 방법
EP2359534B1 (en) Detecting an unreliable link in a computer system
US8959405B2 (en) Signal transmission device for elevator
US9524222B2 (en) Method and apparatus for fault detection in a controller area network
US9600372B2 (en) Approach for controller area network bus off handling
EP2829986B1 (en) Computer system, access method and apparatus for peripheral component interconnect express endpoint devices
CN100365994C (zh) 用于调试以太网的方法和装置
US10684906B2 (en) Monitoring peripheral transactions
US20180102951A1 (en) BFD Method and Apparatus
WO2014039031A1 (en) Method and apparatus for isolating a fault in a controller area network
US20150113328A1 (en) Method and apparatus for isolating a fault in a controller area network
KR101417097B1 (ko) 차량 네트워크에서의 메시지 전송 상태 진단 장치
US9499174B2 (en) Method and apparatus for isolating a fault-active controller in a controller area network
KR101945426B1 (ko) 배터리 통신진단방법
KR101594453B1 (ko) 채널 고장 진단 장치 및 그 진단 방법
US10891180B2 (en) Multiple-processor error detection system and method thereof
JPWO2018116400A1 (ja) 制御装置および制御装置の故障時処理方法
KR20200068065A (ko) 자율 주행 제어기의 에러 처리를 위한 방법
JP6087540B2 (ja) 障害トレース装置、障害トレースシステム、障害トレース方法、及び、障害トレースプログラム
CN112463521B (zh) 一种提升串行高速总线设备可靠性的容错方法、装置
WO2023223940A1 (ja) 車載装置、プログラム及び情報処理方法
KR20140062742A (ko) 차량 진단 방법
KR20240106131A (ko) 모빌리티 내의 장치들에 대한 고장 관리 장치 및 그 고장 관리 방법
JP2002330191A (ja) 異常検出方式、及び、異常検出システム
KR20140068766A (ko) 메시지의 제공 및 전송을 위한 방법

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