시스템 관리/서버H·W

메모리 싱글 비트 에러 관련

99iberty 2015. 6. 26. 21:12

 

http://h30499.www3.hp.com/t5/HP-UX/single-bit-error%EC%9D%B4%EB%82%98-multi-bit-error%EC%97%90-%EB%8C%80%ED%95%9C-%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4/td-p/1167561#.VY1ArmCJiM8

 

 

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 될것 입니다.

 

 

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

http://h30499.www3.hp.com/t5/HP-UX/PDT-amp-memory-single-bit-error%EC%97%90-%EB%8C%80%ED%95%B4-%EA%B6%81%EA%B8%88%ED%95%A9%EB%8B%88%EB%8B%A4/td-p/1164737?profile.language=ko#.VY1AqWCJiM8

 

 

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을 하지 못한다.

Valued Contributor
게시물: 133
등록: ‎05-03-2001
1/5 메시지 (1,911 보기)

PDT & memory single-bit error에 대해 궁금합니다.

안녕하세요~

이종민입니다.



1. 메모리내의 페이지를 재할당한 테이블입니다. single bit error가 발생하면, 이를 수정하기 위해 parity로부터 데이타를 복구하고 이때 PDT entry가 하나 소요됩니다.



2. free가 0이 될때까지 기다려본적은 없지만, 제가 알기론 오래된 정보부터 삭제되어 순환되는걸로 압니다. 부팅시 PDC메뉴에서 pdt clear라는 명령어로 PDT table을 삭제하실 수 있습니다.



3. 싱글빗 에러는 ECC메모리일경우, 어느 하나의 어드레스의 데이타의 유실이 생기면 페러티를 이용하여 복구합니다. 특정 메모리 슬롯에서 발생하는것으로 보아 H/W문제일 가능성이 100%입니다. 해당 메모리를 교체하시기 바랍니다.



참고로 ECC메모리에서 에러보정하는 것을 설명드리면,

메모리에 1-1이라는 데이타가 저장되면 이에대한 페러티비트를 따로 저장합니다. 엔드섬연산에 의해 같으면 1, 틀리면 0으로 페러티비트를 계산하죠. 위의 경우 1-1이므로 페러티비트 1을 저장하고, 두번째 1이 저장된 메모리에서 문제가 발생하여 데이타가 손실될 경우 페러티비트로부터 1이라는 데이타를 복구합니다.

이 과정을 싱글빗에러라고 합니다.



또한 멀티빗에러라는것이 있는데, 위의 경우에서 1-1이 저장된 두개의 메모리에서 모두 데이타가 손실될 경우, 페러티비트 1만 가지고는 원본데이타가 1-1인지 0-0인지 알 수가 없습니다. 원본데이타를 복원하지 못하고 crash가 발생합니다.

이 과정을 멀티빗에러라고 합니다.



쓰고나니 답변 읽어보기가 싫을정도로 좀 지저분하네요..ㅎ

이해 안되는 부분 있으면, 댓글 달아주세요~
Honored Contributor
게시물: 1,630
등록: ‎05-02-2001
1/5 메시지 (1,911 보기)

PDT & memory single-bit error에 대해 궁금합니다.

안녕하세요...



고민이 많으신가 봅니다...별걸다 물어 보시고...너무 어려운 질문같네요...



윗분들의 설명대로 이구요...



SBE(single bit error)가 메모리의 동일 page에서 많이 발생하면 교체하는것도 좋지

만 대부분 SBE는 보완이 되고 문제는 없습니다. 문제가 되는것은 동일장비에서 별개

의 SBE에 의하여 MBE(multi bit error)가 되어 HPMC가 발생하는 경우인데 이는 반드시 교체해야 하는 부분이구요..

대부분의 MBE는chip자체의 불량으로 발생합니다.

PDT에 들어가는 내용은 부팅중발생한 MBE라든가 Hard SBE(대부분 회로불량)가 들어가

는데 약80퍼센트 차면 EMS에서 메시지가 나옵니다.....



PS) single-bit error가 발생하여 memory를 교체하면 제경험상 NFT에 걸리니 조심하는게.....