오류 수

오류 수

여기에 메모리 모듈에 결함이 있는 것으로 의심되는 노트북이 있습니다. 그러므로 나는 다운로드했다멤테스트86+실행되도록 놔두세요.

스크린샷은 실제 스크린샷이 아니며 memtest86+에서 제공한 것입니다.

멤테스트

화면의 숫자를 어떻게 해석합니까? 약 4시간 동안 실행했는데 이제 7단계에 도달했습니다.

특히, 무엇을 하는가

  • 테스트 번호
  • 오류 수
  • ECC 오류 수

나타내다? 메모리 오류에 대한 정상적인 값은 무엇입니까? 어느 시점에 메모리 교체를 고려해야 합니까?

답변1

TL;DR

가장 중요한 숫자 먼저:정상 메모리의 오류 개수는 0이어야 합니다.. 0보다 큰 숫자는 손상되거나 결함이 있는 섹터를 나타낼 수 있습니다.


화면 설명

     Memtest86+ v1.00      | Progress of the entire pass (test series)
CPU MODEL and clock speed  | Progress of individual, current test
Level 1 cache size & speed | Test type that is currently running
Level 2 cache size & speed | Part of the RAM (sector) that is being tested
RAM size and testing speed | Pattern that is being written to the sector
Information about the chipset that your mainboard uses
Information about your RAM set-up, clock speed, channel settings, etc.

WallTime   Cached  RsvdMem   MemMap   Cache  ECC  Test  Pass  Errors  ECC Errs
---------  ------  -------  --------  -----  ---  ----  ----  ------  --------
Elapsed    Amount  Amount    Mapping  on     on   Test  # of  # of    # of ECC
time       of RAM  of        used     or     or   type  pass  errors  errors
           cached  reserved           off    off        done  found   found
                   RAM, not
                   tested

데이터/테스트 설명

MemTest는 여러 테스트를 실행하며 메모리의 모든 섹터에 특정 패턴을 쓰고 이를 검색합니다. 검색된 데이터가 원래 저장된 데이터와 다른 경우 MemTest는 오류를 등록하고오류 수하나씩. 오류는 일반적으로 잘못된 RAM 스트립의 징후입니다.

메모리는 단순히 정보를 저장하는 메모장이 아니라 캐싱과 같은 고급 기능을 가지고 있기 때문에 여러 가지 테스트가 수행됩니다. 이것이 바로Test #나타내다. MemTest는 오류가 발생하는지 확인하기 위해 다양한 테스트를 실행합니다.

일부 (간단화된) 테스트 예:

  • 테스트 섹터는 A, B, C, D, E, F 순서입니다. (직렬)
  • A, C, E, B, D, F 순서로 섹터를 테스트합니다. (이동)
  • 모든 섹터를 패턴으로 채웁니다: aaaaaaaa
  • 모든 섹터를 무작위 패턴으로 채웁니다.

모든 테스트에 대한 자세한 설명:https://www.memtest86.com/technical.htm#detailed

테스트 0 [주소 테스트, 걷는 것, 캐시 없음]

순회 주소 패턴을 사용하여 모든 메모리 뱅크의 모든 주소 비트를 테스트합니다.

테스트 1 [주소 테스트, 자체 주소, 순차]

각 주소는 자체 주소로 작성된 다음 일관성을 검사합니다. 이론적으로 이전 테스트에서는 메모리 주소 지정 문제가 발견되었어야 합니다. 이 테스트는 이전에 감지되지 않았던 모든 주소 지정 오류를 포착해야 합니다. 이 테스트는 사용 가능한 각 CPU에 대해 순차적으로 수행됩니다.

테스트 2 [주소 테스트, 자체 주소, 병렬]

테스트 1과 동일하지만 테스트는 모든 CPU를 사용하고 겹치는 주소를 사용하여 병렬로 수행됩니다.

테스트 3 [이동 반전, 1&0, 순차]

이 테스트에서는 패턴이 모두 1과 0인 이동 반전 알고리즘을 사용합니다. 테스트 알고리즘을 어느 정도 방해하더라도 캐시는 활성화됩니다. 캐시가 활성화되면 이 테스트는 오래 걸리지 않으며 모든 "하드" 오류와 좀 더 미묘한 오류를 빠르게 찾아낼 것입니다. 이 테스트는 단지 빠른 점검일 뿐입니다. 이 테스트는 사용 가능한 각 CPU에 대해 순차적으로 수행됩니다.

테스트 4 [이동 반전, 1&0, 병렬]

테스트 3과 동일하지만 테스트는 모든 CPU를 사용하여 병렬로 수행됩니다.

테스트 5 [이동 반전, 8비트 팻]

이는 테스트 4와 동일하지만 "걷는" 1과 0의 8비트 폭 패턴을 사용합니다. 이 테스트는 "와이드" 메모리 칩의 미묘한 오류를 더 잘 감지합니다.

테스트 6 [이동 반전, 무작위 패턴]

테스트 6은 테스트 4와 동일한 알고리즘을 사용하지만 데이터 패턴은 난수이며 보수입니다. 이 테스트는 데이터에 민감한 오류를 감지하기 어려운 것을 찾는 데 특히 효과적입니다. 난수 순서는 각 패스마다 다르므로 여러 번 패스하면 효율성이 높아집니다.

테스트 7 [블록 이동, 64개 이동]

이 테스트는 블록 이동(movsl) 명령을 사용하여 메모리에 스트레스를 주며 Robert Redelmeier의 burnBX 테스트를 기반으로 합니다. 메모리는 8바이트마다 반전되는 이동 패턴으로 초기화됩니다. 그런 다음 movsl 명령을 사용하여 4MB 메모리 블록을 이동합니다. 이동이 완료된 후 데이터 패턴이 확인됩니다. 메모리 이동이 완료된 후에만 데이터를 확인하기 때문에 어디서 오류가 발생했는지 알 수 없습니다. 보고된 주소는 잘못된 패턴이 발견된 주소에만 적용됩니다. 이동은 8MB 메모리 세그먼트로 제한되므로 실패한 주소는 항상 보고된 주소에서 8MB 미만 떨어져 있습니다. 이 테스트의 오류는 BadRAM 패턴을 계산하는 데 사용되지 않습니다.

테스트 8 [이동 반전, 32비트 팻]

이는 각 연속 주소에 대해 데이터 패턴을 왼쪽으로 1비트 이동하는 이동 반전 알고리즘의 변형입니다. 각 패스마다 시작 비트 위치가 왼쪽으로 이동합니다. 가능한 모든 데이터 패턴을 사용하려면 32개의 패스가 필요합니다. 이 테스트는 데이터에 민감한 오류를 감지하는 데 매우 효과적이지만 실행 시간이 깁니다.

테스트 9 [난수열]

이 테스트는 일련의 난수를 메모리에 씁니다. 난수의 시드를 재설정하면 참조용으로 동일한 숫자 시퀀스를 생성할 수 있습니다. 초기 패턴을 확인한 후 보완하고 다음 패스에서 다시 확인합니다. 그러나 이동 반전 테스트와 달리 작성 및 확인은 순방향으로만 수행할 수 있습니다.

테스트 10 [모듈로 20, 1과 0]

Modulo-X 알고리즘을 사용하면 알고리즘과의 캐시 및 버퍼링 간섭으로 인해 이동 반전으로 감지되지 않는 오류를 찾아내야 합니다. 테스트 1과 마찬가지로 데이터 패턴에는 1과 0만 사용됩니다.

테스트 11 [비트 페이드 테스트, 90분, 2패턴]

비트 페이드 테스트는 모든 메모리를 패턴으로 초기화한 후 5분 동안 절전 모드로 전환하는 테스트입니다. 그런 다음 메모리 비트가 변경되었는지 확인하기 위해 메모리를 검사합니다. 모두 1과 모두 0 패턴이 사용됩니다.

불량 섹터는 때때로 작동하고 다음 번에는 작동하지 않을 수 있으므로 MemTest가 몇 번의 패스를 실행하도록 하는 것이 좋습니다. 전체통과하다통과된 완전한 테스트 시리즈입니다. (위의 테스트 시리즈 1-11) 오류 없이 더 많은 패스를 얻을수록 MemTest 실행이 더 정확해집니다. 나는 확실히하기 위해 보통 5 패스 정도를 실행합니다.

오류 횟수정상적인 메모리는 0이어야 합니다. 0보다 큰 숫자는 손상되거나 결함이 있는 섹터를 나타낼 수 있습니다.

ECC 오류 수ECC으로 설정된 경우에만 고려해야 합니다 off. ECC는 Error-correction code memory의 약자로, 메모리 상태에서 잘못된 비트를 감지하고 수정하는 메커니즘입니다. 이는 RAID 또는 광 미디어에서 수행되는 패리티 검사와 약간 비교할 수 있습니다. 이 기술은 비용이 많이 들고 서버 설정에서만 사용할 수 있습니다. ECC 카운트는 메모리의 ECC 메커니즘에 의해 수정된 오류 수를 계산합니다. 정상적인 RAM에 대해서는 ECC를 호출할 필요가 없으므로 ECC 오류 수가 0보다 크면 메모리 불량을 나타낼 수도 있습니다.


오류 설명

오류가 발생한 Memtest의 예입니다. 어떤 섹터/주소가 실패했는지 보여줍니다.

오류가 있는 Memtest 화면

첫 번째 열(Tst)는 어떤 테스트가 실패했는지 보여줍니다. 숫자는 위에서 이미 언급한 목록의 테스트 번호에 해당합니다. 두 번째 열(통과하다) 해당 테스트가 있는지 보여줍니다.가지다통과했다. 예제의 경우 테스트 7에는 합격이 없습니다.

세 번째 열(실패한 주소)는 메모리의 어느 부분에 오류가 있는지 정확하게 보여줍니다. 이러한 부분에는 IP 주소와 마찬가지로 해당 데이터 저장소에 고유한 주소가 있습니다. 실패한 주소와 데이터 청크의 크기를 보여줍니다. (예시에서는 0.8MB)

네 번째 (좋은) 및 다섯 번째 (나쁜) 열에는 각각 기록된 데이터와 검색된 데이터가 표시됩니다. 두 열은 결함이 없는 메모리에서 동일해야 합니다(분명히).

여섯 번째 열(오류 비트)에는 오류가 발생한 정확한 비트의 위치가 표시됩니다.

일곱 번째 열(세다)는 동일한 주소와 실패한 비트로 연속된 오류의 수를 나타냅니다.

마지막으로 마지막 7열()에는 메모리 스트립이 있는 채널(시스템에서 여러 채널이 사용되는 경우)이 표시됩니다.


오류가 발견된 경우

MemTest가 오류를 발견한 경우 어떤 모듈에 결함이 있는지 확인하는 가장 좋은 방법은 다음에서 다룹니다.이 슈퍼유저 질문그리고 그 대답은 다음과 같습니다:

제거 프로세스를 사용하십시오. 모듈의 절반을 제거하고 테스트를 다시 실행하십시오...

오류가 없다면 이 두 모듈이 양호하다는 것을 알 수 있으므로 따로 보관하고 다시 테스트해 보세요.

오류가 있는 경우 다시 절반으로 줄인 다음(현재 메모리 모듈 4개 중 하나로 줄임) 다시 테스트합니다.

그러나 하나가 테스트에 실패했다고 해서 다른 하나도 실패하지 않을 것이라고 가정하지 마십시오(두 개의 메모리 모듈이 실패할 수 있음). 두 개의 메모리 모듈에서 오류를 감지한 경우 나중에 두 개를 별도로 테스트하십시오. .

중요 사항: 메모리 인터리빙과 같은 기능과 일부 마더보드 공급업체의 열악한 메모리 모듈 소켓 번호 지정 방식으로 인해 주어진 주소로 어떤 모듈이 표시되는지 알기 어려울 수 있습니다.

답변2

테스트 번호: memtest가 현재 실행 중인 특정 테스트의 번호입니다. 그것들이 많이 있습니다.

오류 수: 발생한 메모리 오류 수

ECC 오류: ECC에서 수정한 오류 수입니다. 귀하의 칩셋/메모리에는 ECC가 없으므로 이 숫자는 중요하지 않습니다.

메모리에 0보다 큰 오류가 있으면 메모리를 교체해야 합니다.

편집: 테스트는 memtest가 메모리에 쓰는 다양한 패턴입니다. 다양한 패턴을 메모리에 기록하고 다시 읽어 오류를 확인하며, 다양한 패턴을 사용하여 모든 비트의 모든 상태를 테스트할 수 있습니다.

이 개수는 memtest로 다시 읽은 결과가 메모리에 쓴 결과와 일치하지 않는 횟수를 나타내며, 이는 테스트 중인 메모리 덩어리에 오류가 있음을 나타냅니다.

ECC는 서버 및 워크스테이션용 메모리 칩에 내장된 오류 수정 기술입니다. 대부분의 데스크탑은 ECC가 내장된 메모리 모듈을 지원하지 않습니다. 거의 모든 서버/워크스테이션은 이를 지원하며 일반적으로 필요합니다. ECC에 의해 수정된 오류 수는 ECC 칩이 성공적으로 수정한 오류 수입니다.

답변3

오류 수

테스트를 진행할 때 메모리가 테스트 중 하나라도 실패하면 오류 수가 증가합니다. 기억이 맞다면 테스트에 실패한 주소의 수를 세는 것입니다.

ECC 오류 수

ECC 메모리데이터가 손상되는 것을 방지하는 데 사용되는 특별한 종류의 메모리 칩입니다. 귀하의 ECC Errs열에는 ECC에서 수정된 문제의 개수가 표시됩니다.

(ECC는 느리고 비용이 많이 들며 기본적으로 RAM을 교체할 필요가 없는 미션 크리티컬 시스템에 사용됩니다.)

테스트 번호

Memtest는 메모리에 대해 다양한 종류의 테스트를 수행합니다.멤테스트86웹사이트. 빠른 일반 영어 번역처럼:

테스트 0: Walking Ones 주소 테스트

00000001Memtest는 첫 번째 메모리 위치, 00000010다음 메모리 위치 등을 기록하며 8바이트마다 이 패턴을 반복합니다. 그런 다음 메모리를 읽고 값이 변경되지 않았는지 확인합니다. (원천)

테스트 1&2: 자체 주소 주소 테스트

Memtest는 각 메모리 위치에 자체 주소를 쓰고 값이 변경되지 않았는지 확인합니다.

테스트 1은 순차적이고 테스트 2는 병렬입니다(즉, 동시성을 사용함).

테스트 3&4이동 반전 테스트

본질적으로 이 테스트는 메모리에 0을 로드한 다음

  1. 각 메모리 위치를 가져옵니다(첫 번째/가장 낮은 위치부터 시작).
  2. 패턴의 반대를 작성합니다(비트 단위의 NOT이라고 생각하지만 이에 대한 문서를 찾을 수 없습니다).

여기서 목표는 모든 비트와 인접 비트 "0과 1의 가능한 모든 조합"을 테스트하는 것입니다.

테스트 3은 동시성을 사용하지 않지만 테스트 4는 동시성을 사용합니다.

테스트 5: 이동 반전, 8비트 Pat

이것은 이동 반전 방법을 다시 수행하지만 이번에는 8비트 블록의 테스트 0에서 걷는 1을 사용합니다.

테스트 6: 이동 반전, 무작위 패턴

Memtest는 모두 0이나 1을 걷는 대신 난수를 사용합니다.

테스트 7: 블록 이동

이거 재미있네요. 패턴을 메모리에 로드하고 4MB 단위로 이동한 후 확인합니다.

테스트 8: 이동 반전, 32비트 Pat

테스트 5와 동일하지만 대신 32비트 블록을 사용합니다. 이는 실제로 모든 위치에서 가능한 모든 32비트 값을 로드합니다.

테스트 9: 난수

이것은 의사 난수를 메모리에 로드하고 확인합니다. 의사 난수 생성기의 멋진 점은 매우 무작위적이지 않다는 것입니다( printf("%d", rand());시드 없이 C 프로그램을 실행하여 아주 무작위인 41을 얻은 적이 있다면 무슨 뜻인지 알 것입니다). 따라서 난수 시더를 재설정하고 생성기를 다시 실행하여 확인합니다.

테스트 10: Modulo-X

20개 위치마다 패턴(모두 0 또는 모두 1)을 쓰고 다른 모든 위치에 보수를 쓴 다음 확인합니다.

테스트 11: 비트 페이드 테스트

이는 모두 1(그리고 다시 모두 0)로 RAM을 로드하고 5분 동안 기다린 후 값이 변경되는지 확인합니다.

관련 정보