Memtest86
개발자 | 패스마크 소프트웨어(PassMark Software) |
---|---|
발표일 | 1994년 |
안정화 버전 | 11.1 (Build 1000)[1]
/ 2024년 10월 31일 |
저장소 | www |
프로그래밍 언어 | C 및 어셈블리어 |
종류 | 유틸리티 |
라이선스 | 프리웨어, 사유 라이선스 |
웹사이트 | www |
개발자 | Samuel Demeulemeester |
---|---|
발표일 | early 2004년[2] |
안정화 버전 | 7.20[3]
/ 2024년 11월 11일 |
저장소 | www |
프로그래밍 언어 | C 및 어셈블리어 |
종류 | 유틸리티 |
라이선스 | GPLv2 |
웹사이트 | https://www.memtest.org/ |
MemTest86와 Memtest86+는 대부분의 메모리 주소에 테스트 패턴을 기록하고 데이터를 다시 읽어보고 오류를 비교함으로써 x86 아키텍처 컴퓨터의 랜덤 액세스 메모리(RAM)의 오류를 위한 스트레스 테스트 및 일반 테스트를 수행하기 위해 설계된 메모리 테스트 소프트웨어 프로그램이다.[4] 기록되는 임의의 데이터 패턴을 RAM이 수용하고 올바르게 보관하는지, 각기 다른 비트의 메모리가 상호작용하는 부분에 오류가 없는지, 메모리 주소 간 충돌이 없는지 확인을 시도한다.
역사
[편집]MemTest86은 1994년 크리스 브래디(Chris Brady)가 개발하였다.[5] MemTest86가 버전 3.0(2002년 릴리스)에서 2년 간 멈춰있는 동안, Samuel Demeulemeester는 더 새로운 CPU와 칩셋을 지원하기 위해 Memtest86+ 포크를 만들었다. 2018년1월 기준으로 최신 버전의 Memtest86+는 5.01이다.[6][2]
MemTest86는 C와 x86 어셈블리어로 작성되었다. MemTest86(바이오스 버전)과 MemTest86+ 포크의 소스 코드는 GNU 일반 공중 사용 허가서(GPL)로 공개되어 있다. 부트로딩 코드는 처음부터 리눅스 1.2.1에서 비롯된 것이다.[7] 프로그램은 위치 독립 코드로 컴파일되어 있어서 직접 이동해가며 메모리 영역 전반을 테스트할 수 있다.[8] 두 버전 모두 현행의 멀티 코어 CPU 및 호환 칩셋을 지원한다.[6][2]
MemTest86 2.3과 Memtest86+ 1.60을 기점으로 리눅스 커널용 BadRAM 패치에 의해 예측되는 포맷으로 불량 RAM 영역 목록을 출력할 수 있다.[9][10] GRUB을 사용하면 패치되지 않은 커널의 동일한 정보를 제공할 수 있으므로 BadRAM 패치가 필요하지 않다.[11]
2013년 2월, 오리지널 MemTest86은 패스마크(PassMark)에 판매되었다. 바이오스 버전은 버전 4.3.7까지 GPL 라이선스로 업데이트되었다. 그때까지 2개 포크의 기능 집합은 대체적으로 동일하였다.[5]
버전 5.0(2013년 12월 3일)은 UEFI 부팅을 위해 다시 작성되어 안전 부팅(secure boot) 승인과 마우스 지원을 가능케 한다. 모든 UEFI 버전들은 사유 프리웨어 라이선스로 공개된다. UEFI를 사용할 수 없는 경우 버전 5.0 이상에서 BIOS 부팅으로 회귀하여 구 버전 4.3.7을 불러들인다. 버전 6.0.0(2015년 12월 13일)은 DDR4 RAM 지원, 또 김윤구 등의 연구에 기반한 row-hammer 테스트를 추가한다.[9][12][5]
각주
[편집]- ↑ “MemTest86 What's New? (English)”.
- ↑ 가 나 다 “Memtest86+ History”. 《Memtest.org》.
- ↑ “Release 7.20”. 2024년 11월 11일. 2024년 11월 26일에 확인함.
- ↑ “MemTest86 Technical Information”. 《MemTest86.com》. PassMark Software. 2015년 10월 22일에 확인함.
- ↑ 가 나 다 “MemTest86 History”. 《MemTest86.com》. 2019년 5월 11일에 원본 문서에서 보존된 문서. 2019년 5월 11일에 확인함.
- ↑ 가 나 “MemTest86 Support”. 《MemTest86.com》.
- ↑ “bootsect.S - chromiumos/third_party/memtest - Git at Google”. 《ChromiumOS Source》.
Copyright (C) 1991, 1992 Linus Torvalds… 1-Jan-96 Modified by Chris Brady
- ↑ “README.build-process - chromiumos/third_party/memtest - Git at Google”. 《chromium.googlesource.com》.
- ↑ 가 나 https://www.memtest86.com/support/ver_history.htm
- ↑ http://www.memtest.org/#change
- ↑ “GNU GRUB Manual 1.99 § Badram”.
- ↑ Kim, Yoongu; Daly, Ross; Kim, Jeremie; Fallin, Chris; Lee, Ji Hye; Lee, Donghyuk; Wilkerson, Chris; Lai, Konrad; Mutlu, Onur (2014년 7월 8일). “Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors” (PDF). 카네기 멜런 대학교. 2015년 2월 7일에 원본 문서 (PDF)에서 보존된 문서. 2015년 4월 7일에 확인함.