KR101358776B1 - 장비의 리부트 이유를 기록하는 장치 및 방법 - Google Patents

장비의 리부트 이유를 기록하는 장치 및 방법 Download PDF

Info

Publication number
KR101358776B1
KR101358776B1 KR1020127022812A KR20127022812A KR101358776B1 KR 101358776 B1 KR101358776 B1 KR 101358776B1 KR 1020127022812 A KR1020127022812 A KR 1020127022812A KR 20127022812 A KR20127022812 A KR 20127022812A KR 101358776 B1 KR101358776 B1 KR 101358776B1
Authority
KR
South Korea
Prior art keywords
watchdog
cpu
reboot
reset signal
storage array
Prior art date
Application number
KR1020127022812A
Other languages
English (en)
Other versions
KR20120123507A (ko
Inventor
샤오용 뎅
위티안 왕
Original Assignee
항조우 에이치3씨 테크놀로지스 코., 엘티디.
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 항조우 에이치3씨 테크놀로지스 코., 엘티디. filed Critical 항조우 에이치3씨 테크놀로지스 코., 엘티디.
Publication of KR20120123507A publication Critical patent/KR20120123507A/ko
Application granted granted Critical
Publication of KR101358776B1 publication Critical patent/KR101358776B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • 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/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/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
    • 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

Landscapes

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

Abstract

본 발명의 실시예는 장비의 리부트 이유를 기록하기 위한 장치 및 방법을 제공한다. 장비의 전역적 리셋을 트리거하기 위한 제1 워치독이 제공된다. 본 발명에 의해 제공되는 장치는 제2 워치독을 더 포함한다. 제2 워치독은 장비에 전원이 들어온 후에, 파워 다운의 리부트 이유를 나타내는 값을 스토리지 어레이에 기록하도록 논리 칩을 트리거하는 데에 사용된다. 따라서, 장비의 리부트 이유가 파워 다운 리부트로서 기록될 수 있다.

Description

장비의 리부트 이유를 기록하는 장치 및 방법{APPARATUS AND METHOD FOR RECORDING REBOOT REASON OF EQUIPMENT}
장비는 어떤 비정상적인 상황에 기인해서 동작 중에 리부트될 수 있다. 일반적으로, 장비의 리부트 이유로는 장비의 파워 다운(power-down)에 의한 파워 다운 리부트, CPU에서 실행된 소프트웨어의 무한 루프(endless loop)에 의한 CPU 비정상 리부트, 및 CPU에서 실행되는 소프트웨어의 액티브 리부트(active reboot)에 의한 소프트웨어 리부트가 있다.
그러나, 기존의 장비는 리부트 이유를 정확하게 기록할 수 없다. 특히, 리부트가 파워 다운에 기인한 경우("파워 다운 리부트"), 파워 다운 상황을 기록될 수 없는데, 이는 파워 다운이 있으면 장비가 어떠한 정보도 기록할 수 없기 때문이다. 또한, 장비는 다양한 리부트 이유를 구분할 수 없으며, 장비의 고장 위치를 정확하게 찾아낼 수 없다.
도 1은 일실시예에 의한 장비의 리부트 이유를 기록하기 위한 장치의 구조를 개략적으로 나타내는 도면이다.
도 2는 일실시예에 의한 장비의 리부트 이유를 기록하기 위한 장치의 논리 구조를 개략적으로 나타내는 도면이다.
도 3은 일실시예에 따른 장비의 리부트 이유를 기록하기 위한 장치의 다른 논리 구조를 개략적으로 나타내는 도면이다.
도 4는 일실시예에 따른 장비의 리부트 이유를 기록하기 위한 방법을 나타내는 플로차트이다.
도 5는 다른 실시예에 따른 장비의 리부트 이유를 기록하기 위한 방법을 나타내는 플로차트이다.
첨부 도면을 참조하여, 실시예에 대하여 구체적으로 설명한다.
도 1은 일실시예에 따른 장비의 리부트 이유를 기록하기 위한 장치를 개략적으로 나타내는 도면이다. 도 1에 나타낸 바와 같이, 장치는 CPU(10), 논리 칩(11), 스토리지 어레이(storage array)(12), 제1 워치독(watchdog)(13), 및 제2 워치독(14)을 포함한다.
제1 워치독(13)은 장비에 전원이 들어온 후, 장비의 전역적 리셋(global reset)을 트리거하기 위한 제1 리셋 신호(reset signal)를 출력하도록 되어 있다.
제2 워치독(14)은 장비에 전원이 들어온 후, 파워 다운(power-down)을 나타내는 값을 스토리지 어레이(12)에 기록하기 위해 논리 칩(11)을 트리거하기 위한 제2 리셋 신호를 출력하도록 되어 있다. 즉, 논리 칩은 리부트(reboot)가 "파워 다운"에 기인한 것을 나타내기 위한 값을 스토리지 어레이에 기억한다.
논리 칩(11)은 제1 리셋 신호에 따라 CPU 리셋 신호를 생성해서 CPU(10)에 전송하고, 제2 리셋 신호에 따라 스토리지 어레이(12) 내의 리부트 이유(reboot reason)의 디폴트 값(default value)을 파워 다운을 나타내는 값으로 변경(modify)하도록 되어 있다.
CPU(10)는 논리 칩(11)에 의해 전송된 CPU 리셋 신호에 따라 리부트하고, 리부트 이후에 스토리지 어레이(12)에 기록된, 파워 다운을 나타내는 값을 판독하며, 판독한 값에 따라 장비의 리부트 이유를 판정하고, 스토리지 어레이(12)에 기록된, 파워 다운을 나타내는 값을 디폴트 값으로 다시 설정하도록 되어 있다.
구체적으로 말하면, 스토리지 어레이(12)는 논리 칩(11) 내에 통합될 수 있다. 즉, 스토리지 어레이는 메모리 기능을 갖는 논리 회로를 포함할 수 있으며 소정의 논리 프로그램에 따라 논리 칩(11) 내부에 형성될 수 있다. 스토리지 어레이(12)는 플립 래치(flip-latch) 또는 임의의 다른 메모리 로직이 될 수 있다. 논리 칩(11) 내의 논리 프로그램은 파워 다운이 생겼을 때에 손실되지 않기 때문에, 스토리지 어레이 내의 데이터는 파워 다운에 의해 손실되지 않을 것이다.
또한, 스토리지 어레이(12)는 논리 칩(11) 외부의 오프칩(off-chip) 스토리지 어레이로 해도 된다.
실제의 사용에 있어서, 논리 칩(11)은 복합 프로그램가능 논리 디바이스(CPLD: complex programmable logic device) 또는 그외 다른 유형의 논리 칩이 될 수 있다.
이하, CPLD를 장비의 리부트 원인을 기록하기 위한 장치를 설명하기 위한 논리 칩의 예로 한다.
도 2는 장비의 리부트 이유를 기록하기 위한 장치의 논리 구조를 개략적으로 나타내는 도면이다. 도 2에 나타낸 바와 같이, 장치는 CPU(20), CPLD(21), 제1 워치독(watchdog)(22), 및 제2 워치독(23)을 포함한다.
CPLD(21)는 제1 워치독 피딩 모듈(watchdog feeding module)(211), 리셋 트리거링 모듈(212), 스토리지 어레이(213), 및 변경 모듈(modifying module)(214)을 포함한다.
제1 워치독(22)는 제1 리셋 신호 RST 1을 CPLD(21)의 리셋 트리거링 모듈(212)에 전송해서, 장비에 전원이 들어온 후에 장비의 전역적 리셋을 트리거한다.
리셋 트리거링 모듈(212)은 제1 워치독(22)에 의해 전송된 제1 리셋 신호 RST 1을 수신하고, CPU 리셋 신호를 생성하며, 생성한 CPU 리셋 신호를 CPU(20)에 출력해서, CPU(20)로 하여금 리부트를 실행하도록 제어한다.
리부트를 완료한 후, CPU(20)는 제1 워치독 입력 신호 WDI 1을 제1 워치독 피딩 모듈(211)에 전송해서, 제1 워치독 피딩 모듈(211)이 제2 워치독 입력 신호 WDI 2를 제1 워치독(22)에 출력하도록 함으로써, 제1 워치독(22)에 대한 워치독 피딩 동작을 실현할 수 있다. 따라서, 제1 워치독(22)은 제1 워치독 피딩 모듈(211)로부터 제2 워치독 입력 신호 WDI 2를 수신한다.
다시 말해서, CPLD(21)는 CPU(20)의 제어하에서, 제2 워치독 입력 신호 WDI 2를 제1 워치독(22)에 전송한다. 즉, CPU(20)는 제1 워치독 입력 신호 WDI 1을 CPLD(21)의 제1 워치독 피딩 모듈(211)에 주기적으로 전송하여, 제1 워치독 피딩 모듈(211)의 시간 카운터(time counter)를 클리어시킨다. 제1 워치독 피딩 모듈(211)의 시간 카운터가 오버플로우(overflow)하지 않는 경우에, 제1 워치독 피딩 모듈(211)은 제2 워치독 입력 신호 WDI 2를 제1 워치독(22)에 주기적으로 전송해서 제1 워치독(22)의 시간 카운터를 클리어시킴으로써, 제1 워치독(22)의 카운터가 오버플로우하지 않게 된다.
제2 워치독(23)은, 장비에 전원이 들어온 후에, 제2 리셋 신호 RST 2를 CPLD(21)에 출력해서, CPLD(221)의 변경 모듈(214)을 트리거함으로써, 스토리지 어레이(213) 내에 기록된 리부트 이유의 디폴트 값을 파워 다운을 나타내는 값으로 변경할 수 있다. 따라서, 파워 다운 리부트가 장비의 리부트 이유로서 기록된다.
CPLD(21)는 장비의 리부트 이유가 파워 다운이라는 것을 기록하기 위해 리부트 이유의 디폴트 값을 변경할 필요가 있기 때문에, CPLD(21)에 전원이 들어오고 안정적으로 된 후에, CPLD(21)가 정상적인 동작하에서 상기 값을 기록할 수 있는 것을 보장하기 위한 충분한 시간이 필요하게 된다. 예를 들어, 제1 워치독(22)와 제2 워치독(23)은 시스템 파워가 안정화된 후에, 200ms의 펄스를 각각 출력할 수 있다. 따라서, CPLD(21)는 상기 값을 기록할 충분한 시간을 갖게 될 것이다.
상기 설명에 의하면, 제1 워치독(22)은 장비에 전원이 들어온 것을 검출한 후에, 장비의 전역적 리셋을 트리거하기 위한 제1 리셋 신호를 출력한다. 제2 워치독(23)은 CPLD(21)를 트리거하기 위한 제2 리셋 신호를 출력해서, 장비에 전원이 들어온 것을 검출한 이후에, 디폴트 값을 파워 다운을 나타내는 값으로 변경할 수 있다. 각각의 리부팅 이후, CPU(20)는 CPLD(21)의 스토리지 어레이(213) 내의 리부트 이유의 디폴트 값을 읽어들인다. 디폴트 값을 CPLD(21)에 의해 파워 다운을 나타내는 값으로 변경되기 때문에, CPU(20)는 스토리지 어레이(213)로부터 파워 다운을 나타내는 값을 판독하게 될 것이며, 스토리지 어레이(213)로부터 판독한 값에 따라 장비의 리부트 이유가 파워 다운이라고 판정하게 될 것이다. 이어서, CPU(20)는 스토리지 어레이(213)에 기록된 값을 다시 디폴트 값으로 설정한다. 이와 같이, 각각의 후속하는 리부트의 리부트 이유는 리부트 이유를 나타내는 값으로 변경된 디폴트 값을 가짐으로써 기록될 수 있다. 제2 워치독(23)은 제2 리셋 신호 RST 2를 출력하기 위해 전압 레벨 검출을 수행한다. 그러므로, 제2 워치독(23)은 피딩 동작(feeding operation)을 필요로 하지 않을 수 있다.
본 예에서, 제1 워치독(22)에 의해 출력된 제1 리셋 신호 RST 1은 제2 워치독(23)에 의해 출력된 제2 리셋 신호 RST 2와 동기(즉, 동시에 전송)된다. 이와 달리, 제1 워치독(22)에 의해 출력된 제1 리셋 신호 RST 1가 제2 리셋 신호 RST 2보다 지연될 수도 있다.
파워 다운 리부트 외에도, 본 장치는 CPU 비정상 리부트 및/또는 소프트웨어 리부트 등의 다른 리부트 이유도 기록할 수 있다.
도 3은 일실시예에 의해 장비의 리부트 이유를 기록하기 위한 장치의 논리 구조를 개략적으로 나타내는 도면이다. 도 3에 나타낸 바와 같이, 본 예에서의 장치는, CPU(30), CPLD(31), 제1 워치독(32), 및 제2 워치독(33)을 포함한다. CPLD(31)는 제1 워치독 피딩 모듈(311), 리셋 트리거링 모듈(312), 스토리지 어레이(313), 및 변경 모듈(314)을 포함한다.
CPU(30)가 정상 동작 상태에서 동작하는 경우, CPU(30)는 제1 워치독 입력 신호 WDI 1을 CPLD(31)의 제1 워치독 피딩 모듈(311)에 주기적으로 전송하여, 제1 워치독 피딩 모듈(311)의 시간 카운터를 클리어시킨다. 제1 워치독 피딩 모듈(311)은 CPU(3)로부터 제1 워치독 입력 신호 WDI 1을 수신한다. 따라서, 제1 워치독 피딩 모듈(311)의 시간 카운터가 주기적으로 클리어된다. 그러나, CPU(30)가 비정상 상태(예를 들어, CPU에서 실행되는 소프트웨어의 무한 루프에 의해 CPU가 비정상 상태로 되는 것)가 되면, 제1 워치독 입력 신호 WDI 1을 제1 워치독 피딩 모듈(311)에 전송하는 것이 중단된다. 또한, 제1 워치독 피딩 모듈(311)의 시간 카운터의 카운트 값이 제1 임계값에 도달하면, 제1 워치독 피딩 모듈(311)은 CPLD(31)의 변경 모듈(314)을 트리거하여, 스토리지 어레이(313)에 기록된 장비의 리부트 이유의 디폴트 값을 CPU 비정상을 나타내는 값으로 변경한다. 변경 모듈(314)은 디폴트 값을 CPU 비정상을 나타내는 값으로 변경한다. 따라서, CPU 비정상 리부트가 장비의 리부트 이유로서 기록된다. 제1 워치독 피딩 모듈(311)의 카운터의 카운트 값이 제2 임계값에 도달하고 이에 따라 카운터가 오버플로우되면, 제1 워치독 피딩 모듈(311)은 제2 워치독 입력 신호 WDI 2의 제1 워치독(32)에의 전송을 중단한다.
상기 설명으로부터, 스토리지 어레이(313)에 기록된 디폴트 값의 변경을 트리거하기 위해 사용되는 제1 임계값은, 제1 워치독 피딩 모듈(311)의 카운터의 오버플로우 임계값인 제2 임계값보다 작고 근접한 값이라는 것을 알 수 있을 것이다. 따라서, 제1 워치독 피딩 모듈(311)이 제2 워치독이 입력 신호 WDI 2의 제1 워치독(32)에의 전송을 중단하기 전에, 제1 워치독 피딩 모듈(311)은 먼저 변경 모듈(314)을 트리거하여, CPU 비정상을 나타내는 값을 스토리지 어레이(313) 내에 기록할 것이다.
예를 들어, 제1 임계값은 28s가 될 수 있으며, 제2 임계값은 30s가 될 수 있다. 제1 워치독 피딩 모듈(311)의 카운터의 카운트 값은 매초 1씩 증분될 것이다. 카운터의 카운트 값이 28s에 도달하면, 제1 워치독 피딩 모듈(311)은 변경 모듈(314)을 트리거하여, 스토리지 어레이(313)에 기록된 장비의 리부트 이유의 디폴트 값을 변경한다. 카운터의 카운트 값이 30s에 도달하면, 제1 워치독 피딩 모듈(311)의 카운터는 오버플로우한다. 즉, 오버플로우 시간은 30s이다. 그러므로, 제1 워치독 피딩 모듈(311)이 28s 내에 CPU(30)로부터 제1 워치독 입력 신호 WDI 1을 수신하지 않으면, 제1 워치독 피딩 모듈(311)은 변경 모듈(314)로 하여금 스토리지 어레이(313) 내에 기록된 리부트 이유의 디폴트 값을 변경하도록 트리거 한다. 제1 워치독 피딩 모듈(311)이 30s 내에 제1 워치독 입력 신호 WDI 1을 수신하지 못하면, 제1 워치독 피딩 모듈(311)은 제2 워치독 입력 신호 WDI 2의 제1 워치독(32)에의 전송을 중단한다.
장비에 전원이 들어온 후, 제1 워치독(32)은 제1 리셋 신호 RST 1을 CPLD(31)의 리셋 트리거링 모듈(312)에 전송해서, 장비의 전역적 리셋을 트리거하고, 제1 워치독 피딩 모듈(311)로부터 제2 워치독 입력 신호 WDI 2를 수신한다. 제1 워치독(32)이 오버플로우 시간 내에 제2 워치독 입력 신호 WDI 2를 수신하지 못하면, 제1 워치독은 오버플로우 하게 될 것이며, 제1 리셋 신호 RST 1을 리셋 트리거링 모듈(312)에 출력한다.
리셋 트리거링 모듈(312)은 제1 워치독(332)으로부터 제1 리셋 신호 RST 1을 수신하고, CPU 리셋 신호를 생성해서 CPU(30)에 출력함으로써, CPU(30)를 리부트시킨다.
각각의 리부팅 이후에, CPU(30)는 CPLD(31)의 스토리지 어레이(313) 내의 리부트 이유의 디폴트 값을 판독한다. 디폴트 값은 CPLD(31)에 의해 CPU 비정상을 나타내는 값으로 변경되기 때문에, CPU(20)는 리부트를 완료한 후에, 스토리지 어레이(313)로부터 CPU 비정상을 나타내는 값을 판독할 것이며, 스토리지 어레이(313)로부터 판독한 값에 따라, 장비의 리부트 이유가 CPU 비정상이라고 판정한다. 이어서, CPU(30)는 스토리지 어레이(313) 내에 기록된 CPU 비정상을 나타내는 값을 다시 디폴트 값으로 설정한다.
도 3의 다른 부품 또는 모듈의 기능은 도 2의 대응하는 장치나 모듈과 유사하기 때문에, 여기서는 반복해서 설명하지 않는다.
또한, 도 3에 나타낸 장치는 소프트웨어 리부트의 리부트 이유를 인식하는 데에도 사용될 수 있다. 이 경우, CPU(30)는 리부트를 액티브하게 개시할 수 있는 소프트웨어를 포함한다. CPU(30)는 소프트웨어의 액티브 리부트에 의해 리부트할 것이다. CPU 리부트 시간은 짧고, 스토리지 어레이에 기억된 디폴트 값을 변경하는 시간은 제1 워치독 피딩 모듈(311)의 카운터의 오버플로우 시간과 가깝기 때문에, CPU 리부트 시간은 제1 임계값보다 작다. 리부팅 이후에, CPU(30)는 디폴트 값이 변경되기 전에, 제1 워치독 피딩 신호를 제1 워치독 피딩 모듈(311)에 계속해서 전송할 것이다. 제1 워치독 피딩 모듈(311)은 스토리지 어레이(313) 내에 기록된 디폴트 값을 변경하도록 변경 모듈(314)을 트리거하지 않을 것이다. 리부팅 이후에, CPU(30)는 스토리지 어레이(313)로부터 디폴트 값을 판독하고, 판독한 디폴트 값에 따라, 장비의 리부트 이유가 소프트웨어 리부트라고 판정한다.
따라서, 파워 다운 리부트 외에도, 본 발명의 실시예에 의한 장치는 CPU 비정상 리부트 및/또는 소프트웨어 리부트 등의 다른 리부트 이유를 기록할 수 있다. 또한, 다양한 리부트 이유를 정확하게 구분하고, 장비의 고장 위치를 정확하게 찾아낼 수 있다.
다수의 리부트 이유를 기록할 필요가 있는 상황에서, 본 발명의 CPLD 내의 스토리이 어레이는 적어도 2비트를 기억할 수 있는 레지스터(register)가 될 수 있다. 2비트의 폭을 갖는 레지스터를 예로 든다. 레지스터의 2비트의 디폴트 값은 "11"이라고 가정한다.
장비에 전원이 들어온 후에, 제2 워치독은 CPLD의 변경 모듈을 트리거해서 레지스터 내의 디폴트 값 "11"을 0으로 설정한다. 따라서, 레지스터 내의 값은 파워 다운 리부트를 나타내는 데에 사용되는 "00"이다.
CPU가 제1 워치독 입력 신호를 CPLD의 제1 워치독 피딩 모듈에 전송하지 못하는 시간이 제1 임계값에 도달하면, CPLD의 변경 모듈은 디폴트 값 "11"을 "10"으로 설정한다. 따라서, 레지스터에 기억된 값은 CPU 비정상 리부트를 나타내는 데에 사용되는 "10"이다.
CPU에 있는 소프트웨어의 액티브 리부트에 기인해서 CPU가 리부트하는 경우, 스토리지 어레이의 레지스터 내에 기억된 리부트 이유의 디폴트 값을 나타내기 위해 사용되는 디폴트 값 "11"은 변경되지 않을 것이다. 이에 의하면, 장비의 리부트 이유는 소프트웨어 리부트로서 기록될 것이며, CPU는 레지스터로부터 판독된 디폴트 값에 따라, 리부트 이유가 소프트웨어 리부트라고 판정할 수 있다.
이상 설명한 장치는 장비의 리부트 이유를 기록하기 위한 방법을 구현할 수 있다. 도 4에 나타낸 바와 같이, 본 장치는 이하의 단계를 포함한다.
단계401, 장비에 전원이 들어온 후에, 제1 워치독은 제1 리셋 신호를 출력해서 장비의 전역적 리셋을 트리거하고, 제2 워치독은 제2 리셋 신호를 출력해서 장비의 파워 다운 리부트의 기록을 트리거한다.
단계 402, CPLD는 제1 리셋 신호 및 제2 리셋 신호를 수신하고, 제1 워치독로부터 수신된 제1 리셋 신호에 따라, CPU 리셋 신호를 생성해서 CPU에 출력하며, 제1 워치독로부터 수신된 제2 리셋 신호에 따라, 스토리지 어레이에 기록된 리부트 이유의 디폴트 값을 파워 다운을 나타내는 값으로 변경한다.
단계 403, CPLD에 의해 출력된 CPU 리셋 신호에 따른 리부팅 이후에, CPU는 스토리지 어레이 내에 기록된 파워 다운을 나타내는 값을 판독하고, 판독된 값에 따라 장비의 리부트 이유가 파워 다운이라고 판정하며, 파워 다운을 나타내는 값을 다시 디폴트 값으로 설정한다.
각각의 리부팅 이후에, CPU는 스토리지 어레이 내의 리부트 이유의 디폴트 값을 판독한다. 디폴트 값은 CPLD에 의해 파워 다운을 나타내는 값으로 변경되기 때문에, CPU는 스토리지 어레이로부터 파워 다운을 나타내는 값을 판독하고, 파워 다운을 나타내는 값에 따라 장비의 리부트 이유가 파워 다운이라고 판정할 것이다. 이어서, CPU(20)는 스토리지 어레이 내에 기록된 값을 다시 디폴트 값으로 설정한다.
파워 다운 리부트 이외에도, 소정의 장비는 CPU 비정상 리부트 및/또는 소프트웨어 리부트를 기록 및 인식할 수 있다. 도 5는 실시예에 의한 장비의 리부트 이유를 기록하기 위한 방법을 나타내는 플로차트이다. 도 5에 나타낸 바와 같이, 본 방법은 이하의 단계를 포함한다.
단계 501, CPU는 제1 워치독 입력 신호를 CPLD에 주기적으로 전송한다.
단계502, CPLD는 CPU로부터 제1 워치독 입력 신호를 수신하고, 제2 워치독 입력 신호를 CPU의 제어하에서 제1 워치독에 전송함으로써, 제1 워치독에 대하여 워치독 피딩 동작을 수행할 수 있다. CPLD가 제1 워치독 입력 신호를 수신하지 못하는 시간이 제1 임계값에 도달하면, CPLD는 스토리지 어레이에 기록된 장비의 리부트 이유의 디폴트 값을 CPU 비정상을 나타내는 값으로 변경한다. CPLD가 제1 워치독 입력 신호를 수신하지 못하는 시간이 제2 임계값에 도달하면, CPLD는 제2 워치독 입력 신호의 제1 워치독에의 전송을 중단한다.
단계 503, 제 워치독이 제2 워치독 입력 신호를 수신하지 못하는 시간이 제3 임계값에 도달하면, 제1 워치독은 제1 리셋 신호를 CPLD에 출력해서 장비의 전역적 리셋을 트리거시킨다.
단계 504, CPLD는 제1 워치독로부터 수신된 제1 리셋 신호에 따라, CPU 리셋 신호를 생성해서 CPU에 출력한다. CPLD로부터 수신된 CPU 리셋 신호에 따른 리부팅 이후에, CPU는 스토리지 어레이 내에 기록된 CPU 비정상을 나타내는 값을 판독하고, 스토리지 어레이로부터 판독된 값에 따라 리부트 이유가 CPU 비정상이라고 판정하며, 이어서 스토리지 어레이 내에서 CPU 비정상을 나타내는 값을 다시 디폴트 값으로 설정한다.
각각의 리부팅 이후에, CPU는 스토리지 어레이 내의 리부트 이유의 디폴트 값을 판독할 것이다. 디폴트 값은 CPLD에 의해 CPU 비정상을 나타내는 값으로 변경되기 때문에, CPU는 스토리지 어레이로로부터 파워 다운을 나타내는 값을 판독하고, CPU 비정상을 나타내는 값에 따라 장비의 리부트 이유가 파워 다운이라고 판정할 것이다. 이어서, CPU(20)는 스토리지 어레이 내에 기록된 값을 다시 디폴트 값으로 설정한다.
단계 505, CPU가 CPU에서의 소프트웨어의 액티브 리부트에 의한 리부트를 완료하면, CPU는 스토리지 어레이로부터 장비의 리부트 이유의 디폴트 값을 판독하고, 리부트 이유의 디폴트 값에 따라 장비의 리부트 이유가 소프트웨어 립루트라고 판정한다.
CPU는 리부트를 액티브하게 리부트할 수 있는 소프트웨어를 포함하고 이에 의해 CPU가 리부트되기 때문에, 상기 단계 505에 의해, 본 발명의 실시예에 의한 방법은 소프트웨어 리부트를 기록 및 인식할 수 있게 된다.
상기 설명한 예들은 하드웨어에 의해 또는 필요한 하드웨어 플랫폼과 함께 소프트웨어에 의해 구현될 수 있다. 예를 들어, 불휘발성 기억 매체(예를 들어, CD-ROM, USB 플래시 디스크, 휴대용 하드 디스크 등)에 기억된 소프트웨어 제품은 컴퓨터 장치(예를 들어, 개인용 컴퓨터, 서버, 네트워크 장치 등)로 하여금 상기 예들 중의 하나 이상에 개시된 방법을 수행하도록 하는 데에 사용되는 일련의 명령어를 포함한다.

Claims (14)

  1. 장비의 리부트 이유(reboot reason)를 기록하기 위한 장치에 있어서,
    중앙 처리 장치(CPU);
    제1 워치독(watchdog);
    제2 워치독;
    논리 칩(logic chip); 및
    스토리지 어레이(storage array)를 포함하며,
    상기 제1 워치독은, 장비에 전원이 들어온 후에, 상기 장비의 전역적 리셋(global reset)을 트리거하기 위한 제1 리셋 신호를 출력하도록 되어 있으며,
    상기 제2 워치독은, 상기 장비에 전원이 들어온 후에, 장비의 리부트 이유가 파워 다운(power down)이라는 것을 기록하도록 상기 논리 칩을 트리거하기 위한 제2 리셋 신호를 출력하도록 되어 있으며,
    상기 논리 칩은, 상기 제1 리셋 신호에 따라, CPU 리셋 신호를 생성해서 상기 CPU에 출력하고, 상기 스토리지 어레이에 기록된 리부트 이유의 디폴트 값(default value)을 상기 제2 리셋 신호에 따라 파워 다운을 나타내는 값으로 변경(modify)하도록 되어 있는 것을 특징으로 하는 장치.
  2. 제1항에 있어서,
    상기 CPU는, 상기 논리 칩에 의해 출력된 CPU 리셋 신호에 따라 리부트하고, 리부트 이후에 상기 스토리지 어레이 내의 파워 다운을 나타내는 값을 판독하며, 상기 스토리지 어레이로부터 판독된 값에 따라, 상기 장비의 리부트 이유가 파워 다운이라고 판정하고, 상기 스토리지 어레이에 기록된 파워 다운을 나타내는 값을 다시 디폴트 값으로 설정하도록 되어 있는, 장치.
  3. 제1항에 있어서,
    상기 제1 워치독에 의해 생성된 제1 리셋 신호는 상기 제2 워치독에 의해 생성된 제2 리셋 신호와 동기(synchronous)되어 있는, 장치.
  4. 제1항에 있어서,
    상기 제1 워치독에 의해 생성된 제1 리셋 신호는 상기 제2 워치독에 의해 생성된 제2 리셋 신호보다 지연되는 것인, 장치.
  5. 제1항에 있어서,
    상기 논리 칩은, 상기 CPU에 의해 전송된 제1 워치독 입력 신호(watchdog input signal)를 수신하고, 제1 워치독 입력 신호에 기초하여 제1 워치독에 대하여 워치독 피딩 동작(watchdog feeding operation)을 수행하도록 상기 제1 워치독에 제2 워치독 입력 신호를 전송하도록 되어 있는 것인, 장치.
  6. 제5항에 있어서,
    상기 CPU는, 상기 CPU의 소프트웨어에 무한 루프(endless loop)가 발생한 경우에, 상기 제1 워치독 입력 신호의 상기 논리 칩에의 전송을 중단하도록 되어 있으며,
    상기 논리 칩은, 상기 논리 칩이 제1 워치독 입력 신호를 수신하지 않고 경과한 시간이 제1 임계값에 도달한 경우, 리부트 이유의 디폴트 값을 CPU가 비정상 상태에 있다는 것을 나타내는 값으로 변경하고, 상기 논리 칩이 제1 워치독 입력 신호를 수신하지 않고 경과한 시간이 제2 임계값에 도달한 경우, 제2 워치독 입력 신호의 상기 제1 워치독에의 전송을 중단하도록 되어 있으며,
    상기 제1 워치독은, 상기 제1 워치독이 제2 워치독 입력 신호를 수신하지 않고 경과한 시간이 제3 임계값에 도달한 경우, 전역적 리셋을 트리거하도록 제1 리셋 신호를 출력하도록 되어 있는, 장치.
  7. 제6항에 있어서,
    상기 CPU는, 리부트 이후에 상기 스토리지 어레이 내에 기록된 CPU 비정상을 나타내는 값을 판독하고, 상기 스토리지 어레이로부터 판독한 값에 따라, 상기 장비의 리부트 이유가 상기 CPU가 비정상 상태인 것이라고 판정하며, 상기 스토리지 어레이에 기록된 CPU 비정상을 나타내는 값을 다시 디폴트 값으로 설정하도록 되어 있는, 장치.
  8. 제1항에 있어서,
    상기 CPU는, 상기 CPU가 리부트를 완료한 이후에 상기 스토리지 어레이로부터 디폴트 값을 판독하는 경우에, 리부트 이유가 소프트웨어 리부트라고 판정하도록 되어 있는, 장치.
  9. 장비의 리부트 이유(reboot reason)를 기록하기 위한 방법에 있어서,
    제1 리셋 신호 및 제2 리셋 신호를 수신하는 단계로서, 상기 장비에 전원이 들어온 후에, 상기 장비의 전역적 리셋을 트리거하기 위해 상기 제1 리셋 신호가 제1 워치독에 의해 출력되고, 상기 장비에 전원이 들어온 후에, 상기 장비의 파워 다운 리부트의 기록을 트리거하기 위해 상기 제2 리셋 신호가 제2 워치독에 의해 출력되는, 수신하는 단계;
    상기 제1 리셋 신호에 따라, CPU 리셋 신호를 생성해서 CPU에 출력하는 단계; 및
    스토리지 어레이에 기록된 리부트 이유의 디폴트 값을, 상기 제2 리셋 신호에 따라, 파워 다운을 나타내는 값으로 변경하는 단계
    를 포함하며,
    상기 CPU는, 리부트를 완료한 이후에, 파워 다운을 나타내는 값을 판독하고, 상기 스토리지 어레이로부터 판독한 값에 따라, 장비의 리부트 이유가 파워 다운이라고 판정하며, 상기 스토리지 어레이 내의 파워 다운을 나타내는 값을 다시 디폴트 값으로 설정하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 제1 리셋 신호는 상기 제2 리셋 신호와 동기해서 수신되거나; 또는 상기 제1 신호는 상기 제2 리셋 신호보다 지연해서 수신되는, 방법.
  11. 제9항에 있어서,
    상기 CPU에 의해 전송된 제1 워치독 입력 신호를 수신하는 단계;
    제2 워치독 입력 신호를 상기 제1 워치독에 전송하고, 상기 제1 워치독 입력 신호에 기초하여 상기 제1 워치독에 대하여 워치독 피딩 동작(watchdog feeding operation)을 수행하는 단계;
    상기 제1 워치독 입력 신호가 제1 임계값 내에 수신되지 않은 경우에, 상기 스토리지 어레이 내에 기록된 리부트 이유의 디폴트 값을 CPU 비정상을 나타내는 값으로 변경하는 단계; 및
    상기 제1 워치독 입력 신호가 제2 임계값 내에 수신되지 않은 경우에, 상기 제2 워치독 입력 신호의 제1 워치독에의 전송을 중단하고, 상기 제1 워치독이 제2 워치독 입력 신호를 제3 임계값 내에 수신하지 않은 경우에, 상기 제1 워치독이 제1 리셋 신호를 출력하는 단계를 더 포함하는 방법.
  12. 제11항에 있어서,
    상기 제1 리셋 신호를 수신하는 단계; 및
    상기 제1 리셋 신호에 따라 CPU 리셋 신호를 생성해서 CPU에 출력하는 단계를 더 포함하며,
    상기 CPU는, 상기 제1 리셋 신호에 따라 리부트하고, 상기 리부트를 실행한 후에, 상기 스토리지 어레이 내에 기록된 CPU 비정상을 나타내는 값을 판독하며, 상기 스토리지 어레이로부터 판독한 값에 따라 상기 장비의 리부트 이유가 상기 CPU가 비정상 상태인 것이라고 판정하고, 상기 스토리지 어레이 내에 기록된 CPU 비정상을 나타내는 값을 다시 디폴트 값으로 설정하는, 방법.
  13. 제9항에 있어서,
    상기 스토리지 어레이 내에 기록된 리부트 이유의 디폴트 값은, 상기 CPU가 상기 CPU에서의 소프트웨어의 액티브 리부트(active reboot)에 기인하여 리부트를 완료한 이후에, 상기 장비의 리부트 이유가 상기 CPU에 의한 소프트웨어 리부트라고 판정하는 데에도 사용되는 것인, 방법.
  14. 비휘발성 컴퓨터 판독가능 기록 매체에 있어서,
    제9항에 의한 방법을, 컴퓨터에 의해 실행될 때에, 상기 컴퓨터로 하여금 수행하도록 하는 명령어 세트를 포함하는 것을 특징으로 하는 비휘발성 컴퓨터 판독가능 기록 매체.
KR1020127022812A 2010-02-01 2011-01-25 장비의 리부트 이유를 기록하는 장치 및 방법 KR101358776B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201010104482 2010-02-01
CN201010104482.7 2010-02-01
PCT/CN2011/070583 WO2011091743A1 (en) 2010-02-01 2011-01-25 Apparatus and method for recording reboot reason of equipment

Publications (2)

Publication Number Publication Date
KR20120123507A KR20120123507A (ko) 2012-11-08
KR101358776B1 true KR101358776B1 (ko) 2014-02-05

Family

ID=44087546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127022812A KR101358776B1 (ko) 2010-02-01 2011-01-25 장비의 리부트 이유를 기록하는 장치 및 방법

Country Status (5)

Country Link
US (1) US8713367B2 (ko)
EP (1) EP2531920A4 (ko)
KR (1) KR101358776B1 (ko)
CN (1) CN102081573B (ko)
WO (1) WO2011091743A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011088416A1 (de) * 2010-12-16 2012-06-21 Canon K. K. Informationsverarbeitungsvorrichtung zur geeigneten ausführung einer herunterfahrverarbeitung, verfahren zur steuerung der informationsverarbeitungsvorrichtung und speichermedium
CN102981918B (zh) * 2012-11-23 2015-07-15 西安坤蓝电子技术有限公司 实现嵌套式的看门狗电路及其喂狗信号的传送方法
TWI493458B (zh) * 2013-04-22 2015-07-21 Acer Inc 電腦裝置及其重開機方法
US9389942B2 (en) * 2013-10-18 2016-07-12 Intel Corporation Determine when an error log was created
CN103645962A (zh) * 2013-12-18 2014-03-19 北京华环电子股份有限公司 基于NiosII系统的看门狗实现方法及装置
CN105279037B (zh) * 2014-06-30 2019-01-11 惠州市伟乐科技股份有限公司 看门狗监控方法和系统
CN105242980A (zh) * 2015-10-26 2016-01-13 上海斐讯数据通信技术有限公司 互补式看门狗系统及互补式看门狗的监测方法
JP2018163498A (ja) * 2017-03-24 2018-10-18 エイブリック株式会社 監視回路
CN109062720A (zh) * 2018-07-18 2018-12-21 郑州云海信息技术有限公司 一种服务器、服务器主板及其复位识别方法及系统
KR20200019444A (ko) * 2018-08-14 2020-02-24 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
CN109753373A (zh) * 2019-01-11 2019-05-14 东莞固高自动化技术有限公司 基于复杂可编程逻辑器件的智能看门狗系统
CN113535441B (zh) * 2020-04-13 2023-01-31 烽火通信科技股份有限公司 一种嵌入式系统故障诊断装置及方法
CN111813590B (zh) * 2020-06-02 2024-02-27 中车株洲电力机车研究所有限公司 用于诊断主控模块异常复位的方法与装置、及主控模块
CN113296594A (zh) * 2021-04-29 2021-08-24 深圳市风云实业有限公司 一种记录电子设备掉电时间和次数的系统和方法
CN117453495B (zh) * 2023-12-26 2024-03-26 睿思芯科(成都)科技有限公司 支持在线纠错和调试的芯片、设计方法及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697973B1 (en) 1999-12-08 2004-02-24 International Business Machines Corporation High availability processor based systems
US7162666B2 (en) 2004-03-26 2007-01-09 Emc Corporation Multi-processor system having a watchdog for interrupting the multiple processors and deferring preemption until release of spinlocks

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960195A (en) * 1996-06-03 1999-09-28 Samsung Electronics Co., Ltd. Intelligent volatile memory initialization
US20030065916A1 (en) * 2001-07-30 2003-04-03 Erickson Michael John Method and apparatus for diagnosing the cause of a processor reset
JP3824548B2 (ja) * 2001-12-20 2006-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、電源制御装置、情報処理装置制御方法、プログラム、及び記録媒体
US20040003317A1 (en) 2002-06-27 2004-01-01 Atul Kwatra Method and apparatus for implementing fault detection and correction in a computer system that requires high reliability and system manageability
US7219264B2 (en) * 2003-05-09 2007-05-15 Tekelec Methods and systems for preserving dynamic random access memory contents responsive to hung processor condition
CN100395722C (zh) 2003-12-24 2008-06-18 华为技术有限公司 一种对控制系统异常状态信息进行保存的方法
CN2824125Y (zh) * 2005-08-11 2006-10-04 中兴通讯股份有限公司 一种看门狗复位电路
CN101286130B (zh) 2007-04-11 2010-09-29 中兴通讯股份有限公司 一种嵌入式设备的复位故障定位的实现方法
CN101556551B (zh) * 2009-04-15 2011-12-21 杭州华三通信技术有限公司 设备故障日志的硬件获取系统及方法
CN102141939B (zh) 2010-02-01 2013-03-27 杭州华三通信技术有限公司 可记录整机重启原因的装置
CN101873217B (zh) 2010-07-08 2012-11-28 杭州华三通信技术有限公司 一种以太网供电设备重启控制方法及其装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697973B1 (en) 1999-12-08 2004-02-24 International Business Machines Corporation High availability processor based systems
US7162666B2 (en) 2004-03-26 2007-01-09 Emc Corporation Multi-processor system having a watchdog for interrupting the multiple processors and deferring preemption until release of spinlocks

Also Published As

Publication number Publication date
EP2531920A1 (en) 2012-12-12
WO2011091743A1 (en) 2011-08-04
EP2531920A4 (en) 2014-09-03
US20120124362A1 (en) 2012-05-17
KR20120123507A (ko) 2012-11-08
CN102081573B (zh) 2014-04-16
CN102081573A (zh) 2011-06-01
US8713367B2 (en) 2014-04-29

Similar Documents

Publication Publication Date Title
KR101358776B1 (ko) 장비의 리부트 이유를 기록하는 장치 및 방법
US8683457B1 (en) Updating firmware of an electronic device by storing a version identifier in a separate header
US11335428B2 (en) Methods, systems and apparatus for in-field testing for generic diagnostic components
US20140068350A1 (en) Self-checking system and method using same
US20120110378A1 (en) Firmware recovery system and method of baseboard management controller of computing device
KR20140024060A (ko) 랭크-특정 순환 중복 검사
CN106681877B (zh) 芯片调试系统及方法与系统芯片
US11003460B2 (en) Memory control circuit unit, memory storage device and control method thereof
JP6341795B2 (ja) マイクロコンピュータ及びマイクロコンピュータシステム
JPWO2015111176A1 (ja) プログラマブルデバイス、エラー保持システム、及び電子システム装置
JP2015118423A (ja) リフレッシュ装置及び電子機器
US9818494B2 (en) Operation recording circuit and operation method thereof
JP2014052781A (ja) Fpga監視制御回路
US20140181496A1 (en) Method, Apparatus and Processor for Reading Bios
CN104331341A (zh) 一种基于fpga的故障恢复方法
US10962593B2 (en) System on chip and operating method thereof
JP2013238926A (ja) 信号処理回路およびそれを用いた試験装置
EP2864886B1 (en) Control of microprocessors
CN103975310A (zh) 用于在复位之前保存条件以用于复位后评估的方法和设备
CN104572332A (zh) 处理系统崩溃的方法和装置
KR102553275B1 (ko) 전원 오동작시 메모리의 안정적인 동작을 보장하는 반도체 장치 및 그 방법
CN117806880B (zh) 一种存储器双模冗余切换电路
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法
JP2015201813A (ja) プログラマブルゲートアレイ
JP6100551B2 (ja) 電子機器

Legal Events

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

Payment date: 20170102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180110

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 7