single bit error이나 multi bit error발생하였을때
사후처리나 액숀은 어떻게 하면 되나요??
--------------
single bit error 가 자주발생하면 메모리를 교체해야합니다.
multi bit error 가 발생한다는것은 시스템이 치명적인 에러를 감지하고 리부팅합니다. 즉 hpmc 가 발생하는거죠. 분석후 파트를 교체해야합니다.
아래의 내용을 참조하세요~
1. PDT 라는 것은 PDC 에 의해서 관리되는 테이블입니다. 메모리 페이지가 한개 또는 그이상의 에러를 가지고있을때 메모리가 deallocated 되었다고 합니다. 그리고 시스템이 패닉이나 corruption 을 피하기 위해서 그 메모리를 더이상 사용하지 않는다는 뜻입니다.
2. 당신은 한개의 엔트리를 가질수있습니다. 그리고 어느날 모두가 crash 될것 입니다. 그리고 당신은 또한 20개의 엔트리들을 가질것입니다. 아무문제없이도 말입니다.
PDT free 가 0 이라면 에러메세지를 많이 뿌리면서 시스템이 제대로 돌아갈수도 잇고 HPMC 가 일어날수도 잇습니다.
3. Memory single bit error 는 시스템이 패리티비트로 체킇서 그것의 문제를 고쳐왔다는것을 의미합니다. 그래서 그것이 발생할때 페이지는 deallocated 된다고 보면 됩니다. 당신이 double bit error 를 가지고 있다면 시스템은 페이지가 deallocated 되어서 crash 될것 입니다.
-----------------------------------------------------------------------
1. cstm으로 메모리쪽의 infolog를 보면 Page Deallocation Table (PDT)라는 항목이 있는데 PDT는 왜 발생하며 그 정의를 알고싶습니다?
2. 또한,
PDT Entries Used: 40
PDT Entries Free: 10
PDT Total Size: 50
인 상태에서 PDT Entries Free가 0으로 되면 시스템에 어떤 영향이 있을까요? 혹시 시스템이 다운이 되지는 않나요?
3. 마지막으로 memory single-bit error가 특정 메모리 슬롯에서 무수히 많이 발생하는데 single-bit error는 무엇이며 왜 발생하나요?
----------
PDT means: Page Deallocation Table.
1. PDT 라는 것은 PDC 에 의해서 관리되는 테이블입니다. 메모리 페이지가 한개 또는 그이상의 에러를 가지고있을때 메모리가 deallocated 되었다고 합니다. 그리고 시스템이 패닉이나 corruption 을 피하기 위해서 그 메모리를 더이상 사용하지 않는다는 뜻입니다.
2. 당신은 한개의 엔트리를 가질수있습니다. 그리고 어느날 모두가 crash 될것 입니다. 그리고 당신은 또한 20개의 엔트리들을 가질것입니다. 아무문제없이도 말입니다.
PDT free 가 0 이라면 에러메세지를 많이 뿌리면서 시스템이 제대로 돌아갈수도 잇고 HPMC 가 일어날수도 잇습니다.
3. Memory single bit error 는 시스템이 패리티비트로 체킇서 그것의 문제를 고쳐왔다는것을 의미합니다. 그래서 그것이 발생할때 페이지는 deallocated 된다고 보면 됩니다. 당신이 double bit error 를 가지고 있다면 시스템은 페이지가 deallocated 되어서 crash 될것 입니다.
아래내용은 rc 에 있는 내용입니다.참조하시길..
Memlogd overview
Memlogd ( 메모리 에러 로깅데몬 / 부팅시 자동으로 starting됨 )
가장 우선되는 목적은 주기적으로 시스템의 각 메모리 콘트롤러의 state register의 status 체크를 통하여 싱글비트 에러를 모니터링하는것이고 만약 어떤 에러가 감지되면 Memlogd는 이 에러가 solid error 인지 판단을 하여 솔리드한 에러, 혹은 단순한 싱글비트 에러라도 임계점 이상(24시간내 2회 이상 싱글비트 에러) 이라면 Memlogd 는 그 페이지를 PDT 에 포함시키고 hpux memory manager에게 알려줘서 향후 그 메모리 영역의 엑세스를 막도록 해준다. 하여간, 솔리드하건 아니건간에 메모리 에러가 발견되면 memlog file 에 로깅은 된다.
Memlogd 초기화 ( 부팅시 )
memlog file 적합한지 점검을 한다. 버젼은 데몬과 부합되는지 같은버젼으로 컴파일 되었는지 그리고 memlog 화일 의 메모리구성 정보가 현재 실제로 구성된 내용과 같은지 등등을 체크하고 PDT clere 되었는지 또한 체크.
Insert New PDT Entries into Memlog file
Memlogd 는 셀프테스트 동안 PDC에 의하여 엔터된 모든 새로운 PDT 엔트리에 대하여 Memlog file에 로깅을 한다. 이 시점에서 PDT 엔트리와 memlog file은 싱크가 되어야 하는데 이의미는 PDT에 있는 내용은 memlog file에 보여져야 한다는 것이다. 그러나 memlog file에 있는 내용은 PDT 엔트리에 포함되지 않을수도 있다. 이런 이유는 어떤 크라이테리아에 포함되어야 PDT에 들어가는, 이런 임계횟수에 포함되지 않아 deallocate 되지 않을 정도이고, 그래서 PDT에는 들어가지 않더라도 valid한 싱글비트 에러는 memlog file에 포함되기 때문이다.
Ensure Pending/Deallocated Memory Entries in Memlog file Can Be/Remains Deallocated
Memlogd 는 memlog file에 있는 메모리 에러 엔트리의 page status 필드가 제대로 세팅되었는지 확인하고 만약 페이지 상태가 pending 이라면 memlogd는 운영체제가 문제가 있는 메모리 영역을 다시 엑세스 하는것을 막기 위해 page bad 세팅을 통하여 dealloate 할것을 요청한다. 만약 페이지 상태가 deallocated 상태라면 memlogd는 os 가 실재로 deallocate한것인지 확인할것이고 아니라면 다시 요청을 한다.(deallocate 요청)
Memlogd error checking and handling
memlogd는 무한히 계속, 폴링 사이클을 통하여 메모리 에러를 점검한다. (status register of each memory controller) 일단 메모리에러가 감지 되었는데, single-bit level-2 cache error라면 memlogd는 단지 메모리 에러라고 memlog 화일에 로깅한다. 만약 이 감지된 에러가 single-bit write error 라면, memlogd는 이 메모리 에러를 memory.debug 에 로깅을하고 시스템의 클래스(종류)에 따라 memlog file에도 로깅을 한다.
이와 다르게 일반적인 single-bit error가 발생되었다면, memlogd는 memory scrubbing 및 page deallocation(필요시)을 수행하고 memlog file에 로깅을 한다.
Memory Scrubbing ( write-read test )
Memlogd가 싱글비트 에라가 포함된 페이지에 대하여 memroy scrubbing을 수행하는데는 2가지 이유가 있는데, 첫번째 이유는 이 싱글비트 에러가 solid한(single-bit hard error) 것인지 아닌지 확인하는 것이고, 두번째는 single bit 에러를 clear에 의하여 duble-bit 으로 turning 되는것을 막기 위한것이다.
Page Deallocation
메모리 에러가 scrubing 중 솔리드한 에러로 판명되면 그 싱글비트 에러를 포함한 페이지를 PDT로 보내고 또한 그 페이지에 bad로 세팅을 해서 OS에 deallocation 을 요구한다. 혹은 솔리드하지 않은 일반적인 soft single-bit 에러라도 24시간내 재발하면 위와 동일한 절차를 진행한다. 만약에 다른 싱글비트 에러로 인하여 PDT가 100퍼센트 full이 되고 이때 다른 싱글비트에러가 발생한다고 하여도 패닉이 발생하지는 않으면 사용중인 온라인상에서 double-bit error가 발생한다면 HPMC 가 야기된다. 부팅중 double-bit 에러가 발생하면 PDT에 write를 하는데 이때 여유공간이없으면 single bit 에러에 덮어쓰기를 한다. 만약 double-bit 에러로 PDT가 100퍼센트 FULL이라면, Firmware는 PDT를 disable하고 메모리 테스트를 계속 진행한다. 이때 더이상 PDT에 쓸곳이 없을때 하나 더 double-bit 에러가 발생하면 firmware는 샤시코드를 내보내고 시스템을 halt 시킨다. 이경우 시스템은 rebooting을 하지 못한다.
'시스템 관리 > 서버H·W' 카테고리의 다른 글
[스크랩] 하이퍼스레딩 단점, NUMA 개념 (0) | 2014.10.17 |
---|---|
[스크랩] 인텔 샌디브릿지 정복 (PCI I/O 관련) (0) | 2014.10.17 |
[스크랩] Some basics of MBR v/s GPT and BIOS v/s UEFI (0) | 2014.10.13 |
[스크랩] HDD 문제의 원인과 증상, 해결책 (물리적) (0) | 2014.09.03 |
HP NIC 확인 (0) | 2014.08.23 |