네 네 강사님 이번
시간에는 에러 수정 코드로 알려진 ec
메모리에 대해 알아보겠습니다
하지만 먼저 메모리 측면에서
비패리티와 패리티의 개념을 다루어야 합니다.
비패리티를 다룰 때, 이건
표준 메모리입니다
오류를 확인하지 않고 마음대로 데이터를
메모리에 넣거나 꺼낼 수 있으며 이것이 대부분의
메모리가 될 것입니다.
비패리티는 제조 비용이 매우 저렴하고
패리티 메모리보다 속도가 빠릅니다.
이제 패리티 메모리는 기본적인
오류 검사를 수행하고 메모리 내용의
신뢰성과 무결성을 보장하는
데 사용됩니다.
네 이제 이런 이유로
이 메모리는 비패리티 메모리보다 느리지만
서버들과 특정 하이엔드 데스크톱
워크스테이션을 위해 필요한
안정성이 있죠
네 이제 이제 데이터가
좋은지를 확인할
수 있습니다
? 네
그리고 그 데이터가 좋다면 그것을 사용할 것입니다.
그렇지 않다면 오류가 발생하겠지만
고칠 수는 없습니다
여기에 오류가 있다고 말할 수는 있지만 고치는
방법을 모르겠습니다.
기본적으로 모든 바이트가 패리티와 연관되어
있기 때문에 작동하는 것입니다
따라서 8비트 대신 8개의 데이터 비트와 패리티용
1비트를 더해 이제 9비트를 갖게 됩니다.
이제 패리티도 제 때 설정될 거예요
그리고 나서 메모리로부터 읽을
때 계산되고 비교하여 데이터가
메모리에 마지막으로 쓰인
이후 비트가 바뀌었는지 판단합니다
이런 유형의 확인은
단일 오류를 감지하는 데 한계가 있어요
그리고 두 개의 비트가 변경된 경우 해당
패리티 검사는 실제로 통과할 수 있습니다.
왜냐하면 비트는 0 또는 1만 될 수 있기 때문입니다.
예를 들어 0을 저장하면 00000000
이진법으로 쓰여집니다
모두 합치면 0이 8개 나오니
패리티도 0이 되죠
네 이제 이제 이것들을
다 합치면 0이 나옵니다
0은 패리티 비트와 0이죠
좋은 데이터입니다
?
다른 한편으로
숫자 1을 적는다고
해보죠 숫자 00000001입니다
이제 이 숫자들을 다 합치면 1이 나옵니다
9조각의 패리티에 넣을 거예요
이렇게 하면 이제 그 내용을 읽고 00000001을
얻습니다.
다 합치면 1이 되고 패리티와
일치합니다 데이터는
훌륭하지만 그러나 메모리에 두어서 몇 시간
동안 두면 1이 실수로 0으로
바뀝니다 이제 이것을 읽고 00000000을 얻어서
둘을 합치면 0이 나옵니다 이것은 1을 포함한 패리티
비트와 비교합니다 이것은 에러가 있고 뭔가 잘못되었다는 것을
알려줍니다
8개 중 뭘 바꿨는지 몰라도 적어도
하나는 바꿨네요
반면에 00000001의
숫자가 01010001과 같은 것으로
변경되면 이제 메모리에 의해 우연히 0에서 1로 변경된 두 비트가 생겼습니다.
네 패리티를 보면 여전히 1이겠죠
그것들을 더했을 때 홀수라면 패리티
비트는 1이 되겠죠 ?
그리고 그것들을 더하면 짝수이면
0이 될 거예요.
네 그래서 보시는 것처럼
오류가 감지되지 않을
겁니다 이 안에서 비트 2개가 바뀌면요
패리티 타입 계산을 쓰는 경우에요
네 좋은 소식은 대부분의 오류의 90%는 단일
비트 유형의 오류라는 겁니다 그래서
패리티 체크는 대부분의 상황에서
충분할 수 있어요
그러나 은행을 위한 서버 운영과 같은
작업을 처리하는 경우 어떤 종류의 오류라도
발생하는 것은 나쁜 일이 될 수 있습니다.
패리티보다 나은 것을 원한다면
ecc가 필요합니다
Ecc는 오류 수정 코드입니다
오류 수정 코드는 패리티를 다음 단계로
끌어올리는 메모리 유형입니다.
이제 패리티처럼 오류가 있는지
감지할 수 있을 뿐만
아니라 오류를 수정할 수도 있습니다.
Ecc는 패리티보다 느리고 패리티도
비패리티보다 느리죠
그래서 추가 기능을
위해 성능을 포기하지만
ecc를 사용하면 메모리에
신뢰성과 신뢰성이 더 높아집니다 오류를 감지하고
수정할 수 있기 때문이죠
네 일반적으로 상위 수준의 워크스테이션이나
서버에서 사용되는 ecc
혹은 오류 수정 코드는 추가 비용 때문에 이런 환경에서만 필요한
고도의 무결성을 요구하기 때문입니다
Ecc가 어떻게
문제를 파악하고 어떻게 고칠지
궁금하실 겁니다
버퍼링된 것을
이용합니다 혹은 등록
메모리입니다
이제 버퍼링된 메모리 또는 등록된 메모리에는
메모리와 cpu 또는 프로세서
사이에 위치할 추가 하드웨어가 있습니다.
네 레지스터라는 하드웨어로
데이터를 cpu로 보내기
전에 버퍼에 저장해요 ? 네
네 이 기능은 많은 시스템에서 신뢰도
측정으로 사용됩니다
특히 많은 메모리 모듈을 가진
서버에서 오류가 발생할 수 있죠
, 특히 서버요
이러한 시스템은 대량의 메모리 모듈이 있는 시스템에서
사용하는 전기 부하를 줄이기
위해 데이터를 버퍼링하거나
등록해야 하며, 이는 패리티 또는 오류 수정 코드 메모리와 쌍을 이루어 추가 신뢰성을 제공할 수
있습니다. 당신은 그 오류를 찾고
감지합니다.
네 좋아요, 이제 오류 수정 코드 모듈을 사용하려면
머더보드가 cpu와 함께 그걸 지원해야 합니다
이 구성요소가 ecc를 지원하지 않는다면
가격이 더 비싼 ecc 모듈을 구입한다고 해도
추가적인 혜택을 받지 못합니다
그러니 명심하세요.
머더보드는 대부분 ecc를 지원하거나, 안 해요
보통은 선택권이 없죠
네 ecc를 지원하는 마더보드를
사면 ecc 모듈을 사야 합니다
등록된 메모리 모듈이죠
이제 ecc 또는 비 ecc 모듈을 지원하는
마더보드를 찾으면 일반적으로
두 모듈을 동시에 지원하지 않습니다.
따라서 모든 모듈은 ecc여야 합니다. 그렇지 않으면
어떤 모듈도 ecc가 될 수 없습니다.
네 네 ,
네
이제 마지막으로 언급하고
싶은 점은 ddr5를 사용하는 경우 ddr5에는
모듈 자체 내부에서 일부 오류 검사 기능이 있다는
것입니다.
이는 ecc 또는 ecc 모듈로 간주되지 않습니다.
새로운 ddr5 모듈의
오류 수정 작업은 ecc가 지원하지 않는
메인보드에서 사용될 수 있고 오류를 확인하는
기능도 여전히 있어요
이는 다른 형태의 오류 검사이며
오류 수정 코드로 간주되지 않습니다.
그런 의미에서 실전에 나가도
헷갈리지 마시고요
이는 다른 형태의 오류 검사이며
ddr5 모듈은 여전히 ​​ecc 또는
비ecc 모듈로 판매될 수 있습니다. 왜냐하면
내부 오류 검사 외에도 ecc를 지원하고
cpu 및 마더보드와도 작동할 수 있기 때문입니다.
이제 오류 수정 코드도 마찬가지입니다.
좀 헷갈리긴 할 거예요
현장에 나가면 그걸 명심하세요