KR20120123507A - 장비의 리부트 이유를 기록하는 장치 및 방법 - Google Patents
장비의 리부트 이유를 기록하는 장치 및 방법 Download PDFInfo
- Publication number
- KR20120123507A KR20120123507A KR1020127022812A KR20127022812A KR20120123507A KR 20120123507 A KR20120123507 A KR 20120123507A KR 1020127022812 A KR1020127022812 A KR 1020127022812A KR 20127022812 A KR20127022812 A KR 20127022812A KR 20120123507 A KR20120123507 A KR 20120123507A
- Authority
- KR
- South Korea
- Prior art keywords
- watchdog
- cpu
- reboot
- reset signal
- storage array
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root 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
장비는 어떤 비정상적인 상황에 기인해서 동작 중에 리부트될 수 있다. 일반적으로, 장비의 리부트 이유로는 장비의 파워 다운(power-down)에 의한 파워 다운 리부트, CPU에서 실행된 소프트웨어의 무한 루프(endless loop)에 의한 CPU 비정상 리부트, 및 CPU에서 실행되는 소프트웨어의 액티브 리부트(active reboot)에 의한 소프트웨어 리부트가 있다.
그러나, 기존의 장비는 리부트 이유를 정확하게 기록할 수 없다. 특히, 리부트가 파워 다운에 기인한 경우("파워 다운 리부트"), 파워 다운 상황을 기록될 수 없는데, 이는 파워 다운이 있으면 장비가 어떠한 정보도 기록할 수 없기 때문이다. 또한, 장비는 다양한 리부트 이유를 구분할 수 없으며, 장비의 고장 위치를 정확하게 찾아낼 수 없다.
도 1은 일실시예에 의한 장비의 리부트 이유를 기록하기 위한 장치의 구조를 개략적으로 나타내는 도면이다.
도 2는 일실시예에 의한 장비의 리부트 이유를 기록하기 위한 장치의 논리 구조를 개략적으로 나타내는 도면이다.
도 3은 일실시예에 따른 장비의 리부트 이유를 기록하기 위한 장치의 다른 논리 구조를 개략적으로 나타내는 도면이다.
도 4는 일실시예에 따른 장비의 리부트 이유를 기록하기 위한 방법을 나타내는 플로차트이다.
도 5는 다른 실시예에 따른 장비의 리부트 이유를 기록하기 위한 방법을 나타내는 플로차트이다.
도 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)
- 장비의 리부트 이유(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)하도록 되어 있는 것을 특징으로 하는 장치. - 제1항에 있어서,
상기 CPU는, 상기 논리 칩에 의해 출력된 CPU 리셋 신호에 따라 리부트하고, 리부트 이후에 상기 스토리지 어레이 내의 파워 다운을 나타내는 값을 판독하며, 상기 스토리지 어레이로부터 판독된 값에 따라, 상기 장비의 리부트 이유가 파워 다운이라고 판정하고, 상기 스토리지 어레이에 기록된 파워 다운을 나타내는 값을 다시 디폴트 값으로 설정하도록 되어 있는, 장치. - 제1항에 있어서,
상기 제1 워치독에 의해 생성된 제1 리셋 신호는 상기 제2 워치독에 의해 생성된 제2 리셋 신호와 동기(synchronous)되어 있는, 장치. - 제1항에 있어서,
상기 제1 워치독에 의해 생성된 제1 리셋 신호는 상기 제2 워치독에 의해 생성된 제2 리셋 신호보다 지연되는 것인, 장치. - 제1항에 있어서,
상기 논리 칩은, 상기 CPU에 의해 전송된 제1 워치독 입력 신호(watchdog input signal)를 수신하고, 제1 워치독 입력 신호에 기초하여 제1 워치독에 대하여 워치독 피딩 동작(watchdog feeding operation)을 수행하도록 상기 제1 워치독에 제2 워치독 입력 신호를 전송하도록 되어 있는 것인, 장치. - 제5항에 있어서,
상기 CPU는, 상기 CPU의 소프트웨어에 무한 루프(endless loop)가 발생한 경우에, 상기 제1 워치독 입력 신호의 상기 CPLD에의 전송을 중단하도록 되어 있으며,
상기 논리 칩은, 상기 논리 칩이 제1 워치독 입력 신호를 수신하지 않고 경과한 시간이 제1 임계값에 도달한 경우, 리부트 이유의 디폴트 값을 CPU가 비정상 상태에 있다는 것을 나타내는 값으로 변경하고, 상기 CPLD가 제1 워치독 입력 신호를 수신하지 않고 경과한 시간이 제2 임계값에 도달한 경우, 제2 워치독 입력 신호의 상기 제1 워치독에의 전송을 중단하도록 되어 있으며,
상기 제1 워치독은, 상기 제1 워치독이 제2 워치독 입력 신호를 수신하지 않고 경과한 시간이 제3 임계값에 도달한 경우, 전역적 리셋을 트리거하도록 제1 리셋 신호를 출력하도록 되어 있는, 장치. - 제6항에 있어서,
상기 CPU는, 리부트 이후에 상기 스토리지 어레이 내에 기록된 CPU 비정상을 나타내는 값을 판독하고, 상기 스토리지 어레이로부터 판독한 값에 따라, 상기 장비의 리부트 이유가 상기 CPU가 비정상 상태인 것이라고 판정하며, 상기 스토리지 어레이에 기록된 CPU 비정상을 나타내는 값을 다시 디폴트 값으로 설정하도록 되어 있는, 장치. - 제1항에 있어서,
상기 CPU는, 상기 CPU가 리부트를 완료한 이후에 상기 스토리지 어레이로부터 디폴트 값을 판독하는 경우에, 리부트 이유가 소프트웨어 리부트라고 판정하도록 되어 있는, 장치. - 장비의 리부트 이유(reboot reason)를 기록하기 위한 방법에 있어서,
제1 리셋 신호 및 제2 리셋 신호를 수신하는 단계로서, 상기 장비에 전원이 들어온 후에, 상기 장비의 전역적 리셋을 트리거하기 위해 상기 제1 리셋 신호가 제1 워치독에 의해 출력되고, 상기 장비에 전원이 들어온 후에, 상기 장비의 파워 다운 리부트의 기록을 트리거하기 위해 상기 제2 리셋 신호가 제2 워치독에 의해 출력되는, 수신하는 단계;
상기 제1 리셋 신호에 따라, CPU 리셋 신호를 생성해서 CPU에 출력하는 단계; 및
스토리지 어레이에 기록된 리부트 이유의 디폴트 값을, 상기 제2 리셋 신호에 따라, 파워 다운을 나타내는 값으로 변경하는 단계
를 포함하며,
상기 CPU는, 리부트를 완료한 이후에, 파워 다운을 나타내는 값을 판독하고, 상기 스토리지 어레이로부터 판독한 값에 따라, 장비의 리부트 이유가 파워 다운이라고 판정하며, 상기 스토리지 어레이 내의 파워 다운을 나타내는 값을 다시 디폴트 값으로 설정하는 것을 특징으로 하는 방법. - 제9항에 있어서,
상기 제1 리셋 신호는 상기 제2 리셋 신호와 동기해서 수신되거나; 또는 상기 제1 신호는 상기 제2 리셋 신호보다 지연해서 수신되는, 방법. - 제9항에 있어서,
상기 CPU에 의해 전송된 제1 워치독 입력 신호를 수신하는 단계;
제2 워치독 입력 신호를 상기 제1 워치독에 전송하고, 상기 제1 워치독 입력 신호에 기초하여 상기 제1 워치독에 대하여 워치독 피딩 동작(watchdog feeding operation)을 수행하는 단계;
상기 제1 워치독 입력 신호가 제1 임계값 내에 수신되지 않은 경우에, 상기 스토리지 어레이 내에 기록된 리부트 이유의 디폴트 값을 CPU 비정상을 나타내는 값으로 변경하는 단계; 및
상기 제1 워치독 입력 신호가 제2 임계값 내에 수신되지 않은 경우에, 상기 제2 워치독 입력 신호의 제1 워치독에의 전송을 중단하고, 상기 제1 워치독이 제2 워치독 입력 신호를 제3 임계값 내에 수신하지 않은 경우에, 상기 제1 워치독이 제1 리셋 신호를 출력하는 단계를 더 포함하는 방법. - 제11항에 있어서,
상기 제1 리셋 신호를 수신하는 단계; 및
상기 제1 리셋 신호에 따라 CPU 리셋 신호를 생성해서 CPU에 출력하는 단계를 더 포함하며,
상기 CPU는, 상기 제1 리셋 신호에 따라 리부트하고, 상기 리부트를 실행한 후에, 상기 스토리지 어레이 내에 기록된 CPU 비정상을 나타내는 값을 판독하며, 상기 스토리지 어레이로부터 판독한 값에 따라 상기 장비의 리부트 이유가 상기 CPU가 비정상 상태인 것이라고 판정하고, 상기 스토리지 어레이 내에 기록된 CPU 비정상을 나타내는 값을 다시 디폴트 값으로 설정하는, 방법. - 제9항에 있어서,
상기 스토리지 어레이 내에 기록된 리부트 이유의 디폴트 값은, 상기 CPU가 상기 CPU에서의 소프트웨어의 액티브 리부트(active reboot)에 기인하여 리부트를 완료한 이후에, 상기 장비의 리부트 이유가 상기 CPU에 의한 소프트웨어 리부트라고 판정하는 데에도 사용되는 것인, 방법. - 비휘발성 컴퓨터 판독가능 기록 매체에 있어서,
제6항에 의한 방법을, 컴퓨터에 의해 실행될 때에, 상기 컴퓨터로 하여금 수행하도록 하는 명령어 세트를 포함하는 것을 특징으로 하는 비휘발성 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010104482.7 | 2010-02-01 | ||
CN201010104482 | 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 true KR20120123507A (ko) | 2012-11-08 |
KR101358776B1 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 (16)
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 | 深圳市风云实业有限公司 | 一种记录电子设备掉电时间和次数的系统和方法 |
CN117729092A (zh) * | 2023-08-02 | 2024-03-19 | 荣耀终端有限公司 | 一种重启原因的确定方法及电子设备 |
CN117453495B (zh) * | 2023-12-26 | 2024-03-26 | 睿思芯科(成都)科技有限公司 | 支持在线纠错和调试的芯片、设计方法及相关设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5960195A (en) * | 1996-06-03 | 1999-09-28 | Samsung Electronics Co., Ltd. | Intelligent volatile memory initialization |
US6697973B1 (en) | 1999-12-08 | 2004-02-24 | International Business Machines Corporation | High availability processor based systems |
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 | 华为技术有限公司 | 一种对控制系统异常状态信息进行保存的方法 |
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 |
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 | 杭州华三通信技术有限公司 | 一种以太网供电设备重启控制方法及其装置 |
-
2011
- 2011-01-25 US US13/384,822 patent/US8713367B2/en active Active
- 2011-01-25 WO PCT/CN2011/070583 patent/WO2011091743A1/en active Application Filing
- 2011-01-25 KR KR1020127022812A patent/KR101358776B1/ko active IP Right Grant
- 2011-01-25 EP EP11736625.2A patent/EP2531920A4/en not_active Ceased
- 2011-01-25 CN CN201110026569.1A patent/CN102081573B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102081573B (zh) | 2014-04-16 |
EP2531920A1 (en) | 2012-12-12 |
KR101358776B1 (ko) | 2014-02-05 |
CN102081573A (zh) | 2011-06-01 |
US8713367B2 (en) | 2014-04-29 |
US20120124362A1 (en) | 2012-05-17 |
EP2531920A4 (en) | 2014-09-03 |
WO2011091743A1 (en) | 2011-08-04 |
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 | |
US20140068350A1 (en) | Self-checking system and method using same | |
US20120131382A1 (en) | Memory controller and information processing system | |
US20190051370A1 (en) | Methods, systems and apparatus for in-field testing for generic diagnostic components | |
CN104320308B (zh) | 一种服务器异常检测的方法及装置 | |
KR20140024060A (ko) | 랭크-특정 순환 중복 검사 | |
US11003460B2 (en) | Memory control circuit unit, memory storage device and control method thereof | |
CN106681877B (zh) | 芯片调试系统及方法与系统芯片 | |
JPWO2015111176A1 (ja) | プログラマブルデバイス、エラー保持システム、及び電子システム装置 | |
JP6341795B2 (ja) | マイクロコンピュータ及びマイクロコンピュータシステム | |
CN102375775B (zh) | 一种具有检测系统不可恢复错误指示信号的计算机系统 | |
JP2014052781A (ja) | Fpga監視制御回路 | |
US9818494B2 (en) | Operation recording circuit and operation method thereof | |
JP2013238926A (ja) | 信号処理回路およびそれを用いた試験装置 | |
US7626415B1 (en) | Method and apparatus for configuring an integrated circuit | |
CN110347639B (zh) | 片上系统及其操作方法 | |
US10962593B2 (en) | System on chip and operating method thereof | |
CN103975310A (zh) | 用于在复位之前保存条件以用于复位后评估的方法和设备 | |
EP2864886B1 (en) | Control of microprocessors | |
CN104572332A (zh) | 处理系统崩溃的方法和装置 | |
KR102553275B1 (ko) | 전원 오동작시 메모리의 안정적인 동작을 보장하는 반도체 장치 및 그 방법 | |
CN117806880B (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 |