메모리 스크러빙
Memory scrubbing메모리 스크러빙은 각 컴퓨터 메모리 위치에서 읽기, ECC(Error Correcting Code)에 의한 비트오류(있는 경우) 수정 및 수정한 데이터를 같은 [1]위치에 다시 쓰는 것으로 구성됩니다.
현대 컴퓨터 메모리 칩의 높은 집적 밀도로 인해 개별 메모리 셀 구조는 우주선 및/또는 알파 입자 방출에 취약할 정도로 작아졌습니다.이러한 현상에 의해 발생하는 오류를 소프트 에러라고 합니다.DIMM 모듈의 8% 이상이 1년에 [2]1회 이상 수정 가능한 에러가 발생하고 있습니다.이는 DRAM 및 SRAM 기반 메모리에서 문제가 될 수 있습니다.개별 메모리 비트에서 소프트 에러가 발생할 가능성은 매우 낮습니다.다만, 현대의 컴퓨터(특히 서버)에 탑재되어 있는 대량의 메모리와 장시간 가동하는 것에 가세해, 인스톨 되고 있는 메모리 전체의 소프트 에러의 가능성은 매우 높아집니다.[citation needed]
ECC 메모리의 정보는 메모리 워드당 단일 비트 오류를 수정할 수 있을 정도로 용장하게 저장됩니다.따라서 ECC 메모리는 메모리 콘텐츠 스크럽을 지원할 수 있습니다.즉, 메모리 컨트롤러가 메모리를 통해 시스템적으로 스캔하면 싱글비트 오류를 검출할 수 있고 ECC 체크섬을 사용하여 오비트를 판별할 수 있으며 수정된 데이터를 메모리에 다시 쓸 수 있다.
개요
1개의 비트 에러는 수정할 수 있지만 (2008년 현재) 통상적인 ECC 메모리모듈의 경우 복수 비트 에러는 수정할 수 없기 때문에 같은 워드 내의 여러 비트오류가 발생하기 전에 각 메모리 위치를 정기적으로 충분한 빈도로 체크하는 것이 중요합니다.
CPU로부터의 통상의 메모리 요구를 방해하지 않기 위해, 퍼포먼스 저하를 막기 위해서, 스크럽은 통상 아이돌시에만 행해집니다.스크러빙은 통상적인 읽기 및 쓰기 조작으로 이루어지기 때문에 스크러빙 이외의 조작에 비해 메모리의 소비전력이 증가할 수 있습니다.따라서 스크럽은 지속적으로 수행되는 것이 아니라 정기적으로 수행됩니다.많은 서버의 경우 BIOS 셋업 프로그램에서 스크럽 기간을 설정할 수 있습니다.
CPU 또는 DMA 디바이스에 의해 발행되는 통상의 메모리 판독에서는 ECC 에러가 체크되지만, 데이터 인접성의 이유로 인해, 주소의 범위가 좁고, 그 외의 메모리 로케이션을 장시간 변경하지 않은 채로 둘 수 있습니다.이러한 로케이션은, 복수의 소프트 에러에 취약할 가능성이 있습니다.스크러빙에 의해 메모리 전체의 체크가 보증 시간내에 보증됩니다.
일부 시스템에서는 메인 메모리(DRAM 기반)뿐만 아니라 CPU 캐시(SRAM 기반)도 스크러빙할 수 있습니다.대부분의 시스템에서는 양쪽 스크러빙 레이트를 개별적으로 설정할 수 있습니다.캐시는 메인 메모리보다 훨씬 작기 때문에 캐시 스크러빙을 자주 수행할 필요가 없습니다.
메모리 스크러빙은 신뢰성을 향상시키므로 RAS 기능으로 분류할 수 있습니다.
변종
일반적으로 패트롤 스크러빙과 디맨드 스크러빙이라는 두 가지 종류가 있습니다.기본적으로 둘 다 메모리 스크러빙과 관련 오류 수정(가능한 경우)을 수행하지만 가장 큰 차이점은 이 두 가지 변종이 어떻게 시작 및 실행되는지입니다.시스템이 아이돌 상태일 때는 패트롤 스크러빙이 자동으로 실행되고 메인 [3]메모리에서 실제로 데이터가 요구되면 디맨드 스크러빙이 오류 수정을 수행합니다.
「 」를 참조해 주세요.
- 메모리 스크러빙을 포함하는 일반 카테고리인 데이터 스크러빙
- 메모리 스크럽을 실행하는 중요한 이유인 소프트 에러
- 메모리 스크러빙에 사용되는 일반적인 이론인 오류 검출 및 수정
- 메모리에 저장된 정보를 유지하는 메모리 새로 고침
레퍼런스
- ^ 로널드 K.뷰렉. "NEAR 솔리드 스테이트 데이터 레코더"존스 홉킨스 APL 테크니컬 다이제스트1998.
- ^ 야생에서의 DRAM 오류: 대규모 현장 조사
- ^ "Supermicro X9SRA motherboard manual" (PDF). Supermicro. March 5, 2014. p. 4–10. Retrieved February 22, 2015.