ECC 메모리

ECC memory
ECC DIMM 에는, 통상, ECC 이외의 DIMM 에 탑재되어 있는 메모리 칩보다 1 개 많은9 개의 메모리 칩이 탑재되어 있습니다(일부 모듈은 5 개 또는 18 [1]개 탑재되어 있는 경우가 있습니다).

ECC 메모리(Error Correction Code Memory)는 ECC(Error Correction[a] Code)를 사용하여 메모리에서 발생하는n비트 데이터 파손을 검출하고 수정하는 컴퓨터 데이터 스토리지의 일종입니다.ECC 메모리는 산업용 제어 애플리케이션, 중요한 데이터베이스 및 인프라 메모리 캐시와 같이 데이터 손상을 허용할 수 없는 대부분의 컴퓨터에서 사용됩니다.

일반적으로 ECC 메모리는 싱글비트 오류에 대한 영향을 받지 않는 메모리 시스템을 유지합니다. 워드로부터 읽혀지는 데이터는 실제로 저장된 비트 중 하나가 잘못된 상태로 플립된 경우에도 항상 기록된 데이터와 동일합니다.패리티를 지원하는 일부 비ECC 메모리는 검출은 가능하지만 대부분의 비ECC 메모리는 오류를 검출할 수 없습니다.

묘사

에러 정정 코드는 검출되지 않은 데이터의 파손으로부터 보호하며, 이러한 파손이 용인할 수 없는 컴퓨터(예: 과학 및 재무 컴퓨팅 애플리케이션) 또는 데이터베이스파일서버에서 사용됩니다.또한 ECC는 다중 사용자 서버 애플리케이션 및 최대 가용성 시스템의 크래시 수를 줄일 수 있습니다.

컴퓨터 시스템 내부의 전기적 또는 자기적 간섭에 의해 Dynamic Random-Access Memory(DRAM; 다이내믹랜덤 액세스 메모리)의 1비트가 자연스럽게 반대 상태로 전환될 수 있습니다.처음에는 칩 패키징 재료의 오염 물질에 의해 방출된 알파 입자에 의한 것으로 생각되었지만, DRAM 칩에서 발생하는 일회성 소프트 오류의 대부분은 백그라운드 방사, 주로 우주선 2차로부터의 중성자의 결과로 발생하며, 이는 하나 이상의 메모리 셀 또는 메모리 셀의 내용물을 바꿀 수 있습니다.읽기 또는 [2]쓰기에 사용되는 회로를 방해합니다.따라서, 고도 상승에 따라 오류율은 빠르게 증가한다. 예를 들어 해수면과 비교했을 때 중성자속은 1.5km에서 3.5배, 10-12km에서 300배(상용기의 [3]순항 고도)이다.따라서 높은 고도에서 작동하는 시스템에는 신뢰성에 대한 특별한 규정이 필요합니다.

예를 들면, 우주선 카시니-1997년에 출시된 Huygens는 두 개의 동일한 비행 기록 장치를 포함했으며, 각각 2.5기가비트 메모리를 상용 D램 칩 배열 형태로 가지고 있었다.내장된 EDAC 기능 때문에, 우주선의 엔지니어링 텔레메트리는 단어당 (수정 가능한) 단일 비트 오류와 (수정 불가능한) 더블 비트 오류를 보고했습니다.첫 2.5년간의 비행 동안, 우주선은 하루에 약 280개의 오류라는 거의 일정한 단일 비트 오류율을 보고했다.그러나 1997년 11월 6일, 우주에서의 첫 달 동안, 오류 수는 그 날 4배 이상 증가했습니다.이것은 GOES 9 [4]위성에 의해 감지된 태양 입자 사건에 기인했다.

D램 밀도가 더 높아져 칩의 성분이 작아지고 동작전압이 계속 낮아질수록 D램 칩은 메모리 셀의 [3]상태를 바꿀 수 있기 때문에 이러한 방사선의 영향을 더 자주 받을 것이라는 우려가 있었다.한편, 셀이 작을수록 타겟이 작아지고, SOI와 같은 테크놀로지로 이동하면 개별 셀의 감수성이 저하되어 이러한 경향에 대응하거나 반전시킬 수 있습니다.최근의 연구에 따르면[5] 우주 방사선에 의한 단일 이벤트 업셋은 프로세스 지오메트리와 함께 극적으로 감소하고 있으며 비트 셀 오류율 증가에 대한 이전의 우려는 근거가 없는 것으로 나타났습니다.

조사.

2007년과 2009년 사이에 발표된 연구에서는 10개의 에러/비트/시(메모리의 기가바이트당 시간당 약 1비트 오류)에서−10−17 10개의 에러/비트/시(메모리의 [5][6][7]기가바이트당 약 1비트 오류)까지 7개 이상의 차이에 따라 매우 다양한 에러율이 나타났습니다.SIGMETRICS/Performance '09 [6]컨퍼런스에서 Google의 매우 많은 서버를 기반으로 한 대규모 연구가 발표되었습니다.발견된 실제 오류율은 메가비트당 장치 10시간당 25,000(2.5 × 10−11−11 오류/비트/시)에서 70,000(1.8시간당 RAM의 기가바이트당 1비트 오류) 사이의 오류를 포함하여 이전의 소규모 또는 실험실 연구보다 몇 배 더 높았습니다.DIMM 메모리 모듈의 연간 8% 이상이 에러의 영향을 받고 있습니다.

메모리 에러의 결과는 시스템에 의존합니다.ECC가 없는 시스템에서는 오류로 인해 크래시 또는 데이터 파손이 발생할 수 있습니다.대규모 운영 사이트에서는 메모리 오류가 머신의 [6]크래시의 가장 일반적인 하드웨어 원인 중 하나입니다.메모리 오류로 인해 보안 [6]취약성이 발생할 수 있습니다.메모리 오류는 관찰 가능한 오작동을 일으키지 않고 계산에 사용되는 데이터나 저장된 데이터에 영향을 주지 않는 비트를 변경해도 아무런 결과를 가져올 수 없습니다.2010년 시뮬레이션 연구에 따르면 웹 브라우저의 메모리 오류 중 극히 일부만이 데이터 손상을 일으켰습니다.다만, 많은 메모리 오류는 간헐적으로 발생하며 상관관계가 있기 때문에 메모리 오류의 영향은 독립적인 소프트웨어 [8]오류에서 예상할 수 있는 것보다 컸습니다.

일부 테스트에서는 DRAM 메모리 의 분리가 인접 셀에 대한 특수하게 조작된 액세스의 의도하지 않은 부작용으로 인해 회피될 수 있다는 결론을 내리고 있습니다.따라서 DRAM에 저장된 데이터에 액세스하면 메모리 셀의 전하가 누출되고 최신 메모리에서의 높은 셀 밀도의 결과로 인해 원래 메모리 액세스에서는 실제로 처리되지 않았던 메모리 행의 내용이 변경됩니다.이 효과는 해머로 알려져 있으며 일부 권한 상승 컴퓨터 보안 [9][10]공격에도 사용되고 있습니다.

에러 체크가 없는 시스템에 의해 무시되는 싱글비트 에러의 예, 패리티 체크가 있는 머신을 정지시키는 경우, 또는 ECC에 의해 눈에 띄지 않게 수정되는 경우, 단일 비트는 칩의 결함으로 인해 1에 고착되거나 배경 또는 우주 방사선으로 인해 1로 변경됩니다.ASCII 형식으로 숫자를 저장하는 스프레드시트가 로드됩니다.문자 "8"(ASCII 인코딩의 10진수 값 56)은 가장 낮은 비트 위치에 있는 스택 비트를 포함하는 바이트에 저장되며, 그런 다음 스프레드시트에 변경이 가해지고 저장됩니다.그 결과, 「8」(0011 1000 바이너리)은 사일런트 「9」(0011 1001)가 됩니다.

솔루션

불필요한 비트 플립을 처리하기 위해 면역 인식 프로그래밍, RAM 패리티 메모리, ECC 메모리 등 여러 가지 접근법이 개발되었습니다.

이 문제는 여분의 메모리비트를 포함한 DRAM 모듈과 이러한 비트를 이용하는 메모리컨트롤러를 사용함으로써 경감할 수 있습니다.이러한 추가 비트는 패리티를 기록하거나 ECC(Error Correcting Code)를 사용하는 데 사용됩니다.패리티를 사용하면 모든 싱글비트 오류를 검출할 수 있습니다(실제로는 홀수 수의 잘못된 비트).가장 일반적인 오류 수정 코드인 Single-Error Correction and Double-Error Detection(SECDED; 싱글 오류 수정 더블 오류 검출) 코드를 사용하면 싱글비트 오류를 수정하고 (추가 패리티 비트를 포함한) 더블비트 오류를 검출할 수 있습니다.칩킬 ECC는 메모리칩 전체의 손실을 포함한 여러 비트 오류를 수정하는 보다 효과적인 버전입니다.

실장

1982년 Cromemco의 512KB 메모리 보드는 싱글비트 오류 수정을 위해 16비트 워드당 22비트의 스토리지를 사용했습니다.

시모어 크레이는 왜 CDC [11]6600에서 이것을 빼았느냐는 질문에 "패리티는 농부들을 위한 이다"라고 말한 것으로 유명하다.나중에 CDC 7600에 동등성을 포함시켰고, 이로 인해 전문가들은 "분명히 많은 농부들이 컴퓨터를 구입한다"고 말했다.1990년대 초반까지 최초의 IBM PC와 모든 PC는 패리티 [12]체크를 사용했습니다.그 이후의 것들은 대부분 그렇지 않았다.

ECC 대응 메모리 컨트롤러는 일반적으로 워드당[b] 1비트의 에러를 검출 및 정정하고 워드당 2비트의 에러를 검출할 수 있습니다[a](그러나 정정할 수는 없습니다).일부 컴퓨터의 BIOS를 Linux, BSD, Windows(Windows 2000 이후[13]) 의 일부 운영 체제와 조합하면 문제가 심각해지기 전에 일부 메모리 모듈을 식별하기 위해 검출 및 수정된 메모리 오류를 카운트할 수 있습니다.

일부 DRAM 칩에는 "내부" 온칩 오류 수정 회로가 포함되어 있어 ECC 이외의 메모리 컨트롤러를 탑재한 시스템은 여전히 [14][15]ECC 메모리의 이점을 최대한 활용할 수 있습니다.일부 시스템에서는 EOS 메모리 모듈을 사용하여 유사한 효과를 얻을 수 있습니다.

에러의 검출과 수정은, 발생하는 에러의 종류에 따라 다릅니다.암묵적으로 메모리의 단어에서 각 비트의 장애는 독립적이며, 결과적으로 두 개의 오류가 동시에 발생할 가능성이 낮다고 가정합니다.이것은 메모리 칩이 1980년대 전반의 일반적인 1비트 폭이었던 경우에 해당되며, 이후 개발은 많은 비트를 동일한 칩으로 이동시켰다.이 취약성은 IBMChipkill, Sun Microsystems의 Extended ECC, Hewlett Packard의 Chipspare, IntelSDDC(Single Device Data Correction)를 비롯한 다양한 기술을 통해 해결됩니다.

DRAM 메모리는 에러 정정 코드에 의존함으로써 소프트 에러에 대한 보호를 강화할 수 있습니다.ECC 또는 EDAC 보호 메모리로 알려진 이러한 오류 수정 메모리는 특히 방사선이 증가하여 서버 등 내결함성이 높은 애플리케이션 및 딥스페이스 애플리케이션에 적합합니다.또, 소프트 에러를 제거하기 위해서, 정기적으로 모든 주소를 읽어, 필요에 따라서 수정한 버전을 기입하는 것으로, 메모리를 「스크럽」하는 시스템도 있습니다.

인터리빙을 사용하면 단일 우주선의 효과를 분산시킬 수 있으며, 인접한 비트를 다른 단어로 연관시킴으로써 물리적으로 인접한 여러 비트를 여러 단어로 분산시킬 수 있습니다.단일 이벤트 업라이트(SEU)가 액세스 사이의 특정 워드에서 오류 임계값(예를 들어 단일 오류)을 초과하지 않는 한 수정(예를 들어 단일 비트 오류 수정 코드에 의해)될 수 있으며 효과적으로 오류가 없는 메모리 시스템이 [16]유지될 수 있다.

오류를 수정하는 메모리컨트롤러에서는 전통적으로 해밍 코드를 사용하고 있습니다만, 일부에서는 트리플 모듈러 용장성(TMR)을 사용하고 있습니다.후자는 하드웨어가 해밍 오류 [16]수정 방식보다 빠르기 때문에 선호됩니다.위성 RAM은 보통 해밍 오류 수정을 사용하지만,[17][18][19] 우주 위성 시스템은 종종 [20]TMR을 사용합니다.

ECC 메모리의 많은 초기 실장에서는 수정 가능한 에러가 마스크되어 오류가 발생하지 않은 것처럼 동작하며 수정 불가능한 에러만 보고됩니다.최신 구현에서는 수정 가능한 오류([21]CE)와 수정 불가능한 오류(UE)가 모두 기록됩니다.수정 불가능한 오류 이벤트의 가능성을 줄이기 위해 오류 발생률이 높은 메모리 모듈을 능동적으로 교체하는 사람도 있습니다.

많은 ECC 메모리시스템은 CPU와 메모리 사이에 외부 EDAC 회로를 사용합니다.ECC 메모리를 탑재한 일부 시스템에서는 내장 및 외장 EDAC 시스템을 모두 사용하고 있습니다.내장 EDAC 시스템에서 수정할 [14]수 없는 오류를 수정하도록 외부 EDAC 시스템을 설계해야 합니다.최신 데스크톱 및 서버 CPU는 NUMA 아키텍처와 관련된 CPU 통합 메모리 컨트롤러로 전환하기 전부터 EDAC 회로를 [22]CPU에 통합합니다.CPU 통합에 의해, 에러 없는 동작시에, 제로 패널티 EDAC 시스템을 사용할 수 있습니다.

2009년 현재 가장 일반적인 오류 수정 코드에서는 싱글비트 오류 수정 및 더블비트 오류 검출(SEC-DED)을 제공하는 Hamming 코드 또는 Xiao 코드가 사용됩니다.메모리 보호를 위한 기타 오류 수정 코드(DEC-TED 코드, 싱글 니블 오류 수정 및 더블 니블 오류 검출(SNC-DND) 코드, 리드-Solomon 오류 수정 코드 등)가 제안되고 있습니다.그러나 실제로는 멀티비트 보정은 보통 여러 SEC-DED [23][24]코드를 인터리빙함으로써 구현됩니다.

초기 연구에서는 ECC 회선의 면적과 지연 오버헤드를 최소화하기 위해 시도되었습니다.해밍은 최초로 SEC-DED 코드가 하나의 특정 체크 매트릭스로 가능하다는 것을 증명했다.샤오는 홀수 가중치 열이 있는 대체 매트릭스가 기존의 해밍 SEC-DED 코드보다 적은 하드웨어 영역과 짧은 지연으로 SEC-DED 기능을 제공한다는 것을 보여주었다.보다 최근의 연구에서는, 면적과 [25][26][27]지연의 최소화에 가세해 전력의 최소화를 시도하고 있습니다.

캐시

인텔 Itanium, Xeon, Core Pentium (P6 마이크로아키텍처 [28][29]이후)프로세서, AMD Athlon, Opteron, 모든 Zen[30] 및 Zen+ 기반[31] 프로세서(EPYC, EPYC Embedded, Ryzen), 스레드젠 등 많은 CPU가 온칩 캐시에 오류 수정 코드를 사용하고 있습니다.

2006년 현재 EDC/ECC와 ECC/ECC는 상용 마이크로프로세서에서 가장 일반적으로 사용되는 캐시 오류 방지 기술입니다.EDC/ECC 기술은 레벨1 캐시에서 Error Detecting Code(EDC; 오류 검출 코드)를 사용합니다.에러가 검출되었을 경우, 데이터는 ECC로 보호된 레벨2 캐시로부터 회복됩니다.ECC/ECC 기술은 ECC로 보호된 레벨1 캐시와 ECC로 보호된 레벨2 [33]캐시를 사용합니다.EDC/ECC 기술을 사용하는 CPU는 항상 모든 STORE를 레벨2 캐시에 기입하기 때문에 레벨1 데이터 캐시로부터의 판독중에 에러가 검출되었을 경우, 레벨2 캐시로부터 그 데이터의 카피를 회복할 수 있습니다.

등록된 메모리

8 GB DDR4-2133 ECC 1.2 V RDIMM × 2

등록된 메모리 또는 버퍼링된 메모리는 ECC와 동일하지 않습니다.이러한 테크놀로지는 다양한 기능을 수행합니다.일반적으로 서버에서 사용되는 메모리는 둘 다 등록되므로 많은 메모리 모듈을 전기적 문제 없이 사용할 수 있으며 ECC는 데이터 무결성을 위해 사용됩니다.데스크탑 컴퓨터에 사용되는 메모리는, 경제성에서는 어느 쪽도 아닙니다.단, 비버퍼형(비등록형) ECC 메모리를 사용할 [34]수 있으며,[35] ECC를 지원하는 CPU와 함께 사용할 경우 일부 비서버 메인보드는 이러한 모듈의 ECC 기능을 지원합니다.레지스터드 메모리는 버퍼링 회로가 없는 메인보드에서는 안정적으로 동작하지 않습니다.또, 그 반대도 마찬가지입니다.

장점과 단점

궁극적으로, 비정상적인 데이터 손실에 대한 보호와 높은 비용 사이에는 트레이드오프가 있습니다.

ECC 메모리는 보통 ECC 메모리 모듈 생산에 필요한 추가 하드웨어와 ECC 메모리 및 관련 시스템하드웨어의 생산량이 적기 때문에 비 ECC 메모리에 비해 가격이 높아집니다.ECC를 지원하는 메인보드, 칩셋 및 프로세서도 비쌀 수 있습니다.

ECC 지원은 메인보드 제조원에 따라 다르기 때문에 ECC 메모리는 ECC 호환성이 없는 메인보드에서 인식되지 않을 수 있습니다.중요도가 낮은 애플리케이션용 메인보드 및 프로세서의 대부분은 ECC를 지원하지 않기 때문에 가격을 낮출 수 있습니다.일부 ECC 대응 보드 및 프로세서는 버퍼링되지 않은(미등록) ECC를 지원할 수 있지만 ECC 이외의 메모리에서도 동작합니다.ECC 메모리가 장착되어 있으면 시스템펌웨어가 ECC 기능을 유효하게 합니다.

ECC 메모리 컨트롤러가 에러 [36]체크를 실행하는 데 걸리는 시간이 늘어나기 때문에, ECC는, 애플리케이션이나 실장에 따라서는, 일부의 시스템에서는, 메모리의 퍼포먼스가 약 2~3% 저하하는 일이 있습니다.단, 최신 시스템에서는 ECC 테스트를 CPU에 통합하고 [22][37][38]오류가 검출되지 않는 한 메모리 액세스에 더 이상의 지연이 발생하지 않습니다.

ECC 서포트 메모리는, 에러 정정 회로에 의해서, 소비 전력을 늘리는 원인이 되는 경우가 있습니다.

메모들

  1. ^ a b 대부분의 ECC 메모리는 SECDED 코드를 사용합니다.
  2. ^ 데이터 비트가 64비트이고 체크 비트가 8비트인 72비트 워드가 일반적이지만 ECC는 크기가 점점 더 작을 때도 사용됩니다.

레퍼런스

  1. ^ Werner Fischer. "RAM Revealed". admin-magazine.com. Retrieved October 20, 2014.
  2. ^ 지상 레벨에서의 싱글 이벤트 업라이트, Eugene Normand, 멤버, IEEE, Boeing Defense & Space Group, 시애틀, WA 98124-2499
  3. ^ a b "컴퓨팅 시스템의 모델링 및 신뢰성 향상을 위한 기술 조사", IEEE TPDS, 2015
  4. ^ 게리 M. 스위프트와 스티븐 M.게르탱"D램의 다중 비트 업셋에 대한 비행 중 관찰" Jet Propution Laboratory
  5. ^ a b Borucki, "컴포넌트와 시스템 수준에서 측정된 가속 DRAM 소프트웨어 오류율 비교", 제46회 국제신뢰성 물리학 심포지엄, Phoenix, 2008, 페이지 482–487
  6. ^ a b c d Schroeder, Bianca; Pinheiro, Eduardo; Weber, Wolf-Dietrich (2009). DRAM Errors in the Wild: A Large-Scale Field Study (PDF). SIGMETRICS/Performance. ACM. ISBN 978-1-60558-511-6.
  7. ^ "A Memory Soft Error Measurement on Production Systems". Archived from the original on 2017-02-14. Retrieved 2011-06-27.
  8. ^ Li, Huang; Shen, Chu (2010). ""A Realistic Evaluation of Memory Hardware Errors and Software System Susceptibility". Usenix Annual Tech Conference 2010" (PDF).
  9. ^ Yoongu Kim; Ross Daly; Jeremie Kim; Chris Fallin; Ji Hye Lee; Donghyuk Lee; Chris Wilkerson; Konrad Lai; Onur Mutlu (2014-06-24). "Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors" (PDF). ece.cmu.edu. IEEE. Retrieved 2015-03-10.
  10. ^ Dan Goodin (2015-03-10). "Cutting-edge hack gives super user status by exploiting DRAM weakness". Ars Technica. Retrieved 2015-03-10.
  11. ^ "CDC 6600". Microsoft Research. Retrieved 2011-11-23.
  12. ^ "Parity Checking". Pcguide.com. 2001-04-17. Retrieved 2011-11-23.
  13. ^ DOMARS. "mca - Windows drivers". docs.microsoft.com. Retrieved 2021-03-27.
  14. ^ a b A. H. 존스턴2016-03-04년 웨이백 머신보관된 "Advanced Flash Memory의 공간 방사선 효과"NASA의 전자 부품 및 패키징 프로그램(NEP).2001.
  15. ^ "ECC DRAM – Intelligent Memory". intelligentmemory.com. Archived from the original on 2019-02-12. Retrieved 2021-06-12.
  16. ^ a b "Using StrongArm SA-1110 in the On-Board Computer of Nanosatellite". Tsinghua Space Center, Tsinghua University, Beijing. Archived from the original on 2011-10-02. Retrieved 2009-02-16.
  17. ^ "Actel engineers use triple-module redundancy in new rad-hard FPGA". Military & Aerospace Electronics. Archived from the original on 2012-07-14. Retrieved 2009-02-16.
  18. ^ "SEU Hardening of Field Programmable Gate Arrays (FPGAs) For Space Applications and Device Characterization". Klabs.org. 2010-02-03. Archived from the original on 2011-11-25. Retrieved 2011-11-23.
  19. ^ "FPGAs in Space". Techfocusmedia.net. Retrieved 2011-11-23.[영구 데드링크]
  20. ^ "Commercial Microelectronics Technologies for Applications in the Satellite Radiation Environment". Radhome.gsfc.nasa.gov. Archived from the original on 2001-03-04. Retrieved 2011-11-23.
  21. ^ 더그 톰슨, 마우로 카르발류 체합.「EDAC - Error Detection And Correcting 」(EDAC 오류 검출 및 수정) 2009-09-05년에 Wayback Machine에 아카이브.2005 - 2009."'edac' 커널 모듈의 목표는 Linux에서 실행되는 컴퓨터 시스템 내에서 발생하는 오류를 감지하고 보고하는 것입니다."
  22. ^ a b "AMD-762™ System Controller Software/BIOS Design Guide, p. 179" (PDF).
  23. ^ a b 도현윤, 마탄 에레스."메모리 매핑 ECC: 마지막 수준의 캐시에 대한 저비용 오류 보호"2009. 페이지 3
  24. ^ 다니엘 로시, 니콜라 티몬치니, 마이클 스피카, 세실리아 메트라2015-02-03년 웨이백 머신에 아카이브된 "캐시 메모리 높은 신뢰성 성능을 위한 오류 수정 코드 분석"
  25. ^ 샬리니 고쉬, 스가토 바수, 누르 A.Touba. "메모리 체커 회로의 전력을 최소화하기 위한 오류 수정 코드 선택" 웨이백 머신에 2015-02-03 보관. 페이지 2 및 페이지 4.
  26. ^ 크리스 윌커슨; 알라 R.Alameldeen, Zeshan Chishti, Wei Wu, Dinesh Somasekar, Shih-lien Lu. "저비용 멀티비트 오류 수정 코드로 캐시 파워 절감." doi: 10.1145/1816038.1815973.
  27. ^ M. Y. 샤오"최적의 최소 홀수 가중치SEC-DED 코드 클래스"1970.
  28. ^ 인텔 코퍼레이션"인텔 Xeon 프로세서 E7 패밀리: 신뢰성, 가용성, 보수성". 2011. 페이지 12.
  29. ^ "Bios and Cache - Custom Build Computers". www.custom-build-computers.com. Retrieved 2021-03-27.
  30. ^ "AMD Zen microarchitecture - Memory Hierarchy". WikiChip. Retrieved 15 October 2018.
  31. ^ "AMD Zen+ microarchitecture - Memory Hierarchy". WikiChip. Retrieved 15 October 2018.
  32. ^ 김장우, 니코스 하르다벨라스, 켄마이, 바박 팔사피, 제임스 C.Hoe. "2차원 오류 코딩을 사용하는 다중 비트 오류 허용 캐시"2007년, 페이지 2
  33. ^ 네이선 새들러와 대니얼 J. 소린입니다"마이크로프로세서의 L1 데이터 캐시에 대한 오류 보호 스킴 선택", 2006. 페이지 1.
  34. ^ "Typical unbuffered ECC RAM module: Crucial CT25672BA1067".
  35. ^ ECC 및 비ECC 언버퍼 RAM을 지원하는 데스크톱 메인보드 사양과 호환되는 CPU
  36. ^ "Discussion of ECC on pcguide". Pcguide.com. 2001-04-17. Retrieved 2011-11-23.
  37. ^ AMD-762/Athlon 플랫폼의 벤치마크(ECC Archived 2013-06-15 at the Wayback Machine)
  38. ^ "ECCploit: ECC Memory Vulnerable to Rowhammer Attacks After All". Systems and Network Security Group at VU Amsterdam. Retrieved 2018-11-22.

외부 링크