Search Results for 'UE'

1 POSTS

  1. 2009.01.22 [스크랩] CPU 와 Memory Error...

[스크랩] CPU 와 Memory Error...

Posted 2009. 1. 22. 20:29

[출처] [펌]Solaris CPU와 메모리 이벤트 관련|작성자 대충쏜다



Solaris device간 통신을 할 경우 data의 정합성을 보장하기 위해

Data 전송 시 parity 값을 같이 전송하며 만약 data를 받을 때 정합성에

문제가 있을 경우 parity를 이용해 data를 보정한다.

 

일반적인 반도체 소자의 경우 일정량의 전자파 방출이 있으며 특정 환경에서(온도,습도 비적정 및 다른장비 에서 발생되는 전자파의 간섭이 있을경우)

전자파 방출량이 많아지게 되는 현상이 발생하면서 bit 오류를 발생 시키는 경우가 있다.

 

위에서 처럼 parity data를 보정 가능할 경우를 CE(correctable Error)라 하며

word double bit오류가 발생하여 data 보정이 불가능 할 경우를 UE(Uncorrectable Error)

하며 UE의 경우 hardware error로 간주하여 해당 part를 교체 해야한다.

 

다는 vendor의 제품들과 같이 Sun system memory의 경우 ECC(Error check & correct) 기능이

있는 memory를 사용하며 CPU scrubber 기능을 두어 CE UE error control한다.

 

CE error error fix한후 messages에 정상적으로 device가 동작했음을 알려주는

notice를 나타내며 UE의 경우 hardware error로 해당 device down시키거나 system reset

가해 지게 된다.

 

그러나 CE error가 동일 part에 대해서 계속적으로 발생할 경우는 hardware적인 오류가 있을수

있으므로 해당 part를 교체해 주어야 한다.

 

 

 

3.Messages file 분석법

 

 

1) Memory CE Error관련(eprjdb2 분석)

May 22 11:09:50 eprjdb2 SUNW,UltraSPARC-II: [ID 362078 kern.info] [AFT0] Corrected Memory Error

 detected by CPU11, errID 0x001dd49c.d54e5a7b

May 22 11:09:50 eprjdb2 SUNW,UltraSPARC-II: [ID 589262 kern.info] [AFT0] errID 0x001dd49c.d54e5

a7b Corrected Memory Error on Board 5 J3101 is Persistent

 

CE error의 경우 위의 sample에서 처럼 다음과 같은 3가지 type message display된다.
 
"Intermittent"  : data에 오류가 있어 다시 해당 word read할시 error가 없는 경우로
memory module 교체는 필요 없다.
 
"Persistent"   : data에 오류가 있어 다시 해당 word read할시 또 오류가 있는 경우로
memory scrub operation으로 해당 bit fix를 수정한 경우로
 module에서 계속적인 error(24시간내 4번 이상) 없을 경우 memory 교체는
 필요 없다.
 "Sticky"-     persistent error bit를 수정한 이후에도 error fix되지 않는 경우로 
 error가 발생하면 즉시 memory를 교체해 주어야 한다.
 

eprjdb2의 경우는 persistent로 만약 24시간내 동일 장애가 4회 이상 발생하지 않을시

memory교체는 필요 없으며 추후 동일 장애가 발생하는지 monitoring이 필요하다.

 

 

 

2) CPU CE error 관련(zoisite 분석)

May 24 04:01:38 zoisite SUNW,UltraSPARC-II: [ID 359263 kern.info] [AFT2] E$Data (0x20):

 0x00000000.00000000

May 24 04:01:38 zoisite SUNW,UltraSPARC-II: [ID 359263 kern.info] [AFT2] E$Data (0x30):

 0x00000000.00000000

May 24 04:01:38 zoisite SUNW,UltraSPARC-II: [ID 522370 kern.info] NOTICE: [AFT2] errID

0x00048964.88b46551 CBI event on CPU15

May 24 04:01:38 zoisite SUNW,UltraSPARC-II: [ID 147036 kern.info] [AFT2] errID 0x000489

64.88b46551 PA=0x00000000.007bd600

 

 

Memory의 경우 12시간에 최소 한번 이상의 scrubber가 동작하여 모든 memory scan하여

정합성 여부를 test하나 CPU memory bit점검과 비슷한 방식으로 정합성 test는 하지만

초당 최소 한번 이상의 scrubber가 동작 하면서 Ecache memory를 점검한다.

이경우 single bit오류가 발생했을시 다음과 같은 CBI/CBB/DBI/DBB형태로 message

표출하며 만약 double bit오류가 발생할 시에는 UE error로 시스템이 reset되게 된다.

 

clean_bad_idle : CBI event  à해당 data를 사용치 않으나 bad로 판명되어 re-read error
                             없는 경우
clean_bad_busy : CBB event à해당 data를 사용하지만 bad로 판명되어 re-read error 없는경우
dirty_bad_idle : DBI event à해당 data를 사용치 않으나 bad로 판명되어 bit 수정

dirty_bad_busy : DBB event à 해당 data를 사용하지만 bad로 판명되어 bit 수정

 
위의 zoisite 경우 cpu 15번의 CBI event ecach bit 오류가 있었으나 re-read 
error가 없는 경우로 이는 단순 scrubber가 정상적으로 동작 했음을 나타내는 message
cpu 교체는 필요 없다.
 

3) CPU UE error 관련

WARNING: [AFT1] EDP event on CPU1 Instruction access at TL=0, errID

0x0000ad88.6cd9989f

         AFSR 0x00000000.80408000<PRIV,EDP> AFAR 0x00000000.0f0c8080

         AFSR.PSYND 0x8000(Score 95) AFSR.ETS 0x00 FAULT_PC 0x780b481c

         UDBH 0x0000 UDBH.ESYND 0x00 UDBL 0x0000 UDBL.ESYND 0x00

 

CPU UE error는 다음과 같은 방식으로 display 되며

message display될 경우는 해당 cpu를 교체 해야 한다.

 

EDP(Ecache Data Parity Event)

  CPU Ecache Data SRAM(cpu 상에 있는 cache memory 이름)

으로부터 Data Reading할시 parity error가 발생한경우 발생

 

WP(Write Back Data Parity Error)

  CPU Ecache로부터 main memorydata written back될시에

  Cpu상의 UDB(Ultra Data Buffer) chip에서 parity error를 발생할시

 

CP(Copy Out Data Parity Error)

  특정 cpu로부터 다른 cpu ecache data copy할시 parity error 발생

 

 

-CPU관련 error messages설명

 

Cpu error발생시 시스템 console이나 /var/adm/messages ,core file등에

다음과 같은 message가 출력되며 type별로 설명하면 다음과 같다.

 

 

Category 1: Messages that identify the type and source of an error

 ------------------------------------------------------------------

 

       WARNING: [AFT1] EDP event on CPU1 Instruction access at TL=0, errID

0x0000ad88.6cd9989f

         AFSR 0x00000000.80408000<PRIV,EDP> AFAR 0x00000000.0f0c8080

         AFSR.PSYND 0x8000(Score 95) AFSR.ETS 0x00 FAULT_PC 0x780b481c

         UDBH 0x0000 UDBH.ESYND 0x00 UDBL 0x0000 UDBL.ESYND 0x00

 

       [Score 95] data parity error가 발생할시 Error 원인을 제공한 cpu는 확률방식으로

                checking하게 되며 50이상으로 표시되는cpu fault임을 뜻한다.

                위의 sample의 경우 score 95인 경우이므로 cpu1 hardware 오류가

                있음을 뜻한다.

 

 

Category 2: Messages that supply a cache line or memory dump

   ------------------------------------------------------------

     [AFT2] errID 0x0000ad88.6cd9989f PA 0x00000000.0f0c8080 E$tag

0x00000000.0bc001e1 E$State: Modified E$parity 0x05

      [AFT2] E$Data (0x00): 0xffffffff.beefface *Bad* PSYND=0x8000

      [AFT2] E$Data (0x08): 0x00000000.00000000

      [AFT2] E$Data (0x10): 0x6d656d6d.6f727920

      [AFT2] E$Data (0x18): 0x6572726f.7220696e

      [AFT2] E$Data (0x20): 0x6a656374.6f720000

      [AFT2] E$Data (0x28): 0x6d656d74.65737420

      [AFT2] E$Data (0x30): 0x6d757465.780059f8

      [AFT2] E$Data (0x38): 0x00000300.00c11000

      [AFT2] Event PA displayed in AFAR was derived from E$Tag

 

      [AFT2] 추후 분석을 위한 cache memory,main memory dump를 뜻하는 표시어

 

Category 3: Messages from the kernel error recovery code

   --------------------------------------------------------

      [AFT3] errID 0x00000058.0d0dc830 Above Error detected by protected Kernel code

          that will try to clear error from system

 

      [AFT3] error발생시 kernel상에서 detect code display하는 표시어