Memtest 86  中文講解說明  (懶人包)  /

以下是對 MemTest86 測試的描述,已翻譯成中文並附上相應的說明:

1. **測試 0 [地址測試, 逐位訪問, 1 個 CPU]**
   - 這個測試使用逐位訪問地址模式,測試所有內存銀行的所有地址位。
   - 此測試由單個中央處理器(CPU)核心執行。

2. **測試 1 [地址測試, 自身地址, 1 個 CPU]**
   - 每個地址都被寫入其自身的地址中,然後檢查其一致性。
   - 理論上,之前的測試應該已經發現了任何記憶體地址問題。這個測試應該能夠捕捉到之前未檢測到的任何地址錯誤。
   - 此測試由單個 CPU 核心執行。

3. **測試 2 [地址測試, 自身地址]**
   - 與測試 1 相同,但如果適用,則使用多個 CPU 進行測試。

4. **測試 3 [移動反轉, 1 和 0, 并行]**
   - 此測試使用移動反轉算法,使用所有 1 和 0 的模式進行測試。
   - 即使緩存會在一定程度上干擾測試算法,但此測試仍啟用了緩存。

5. **測試 4 [移動反轉, 8 位模式]**
   - 與測試 3 相同,但使用了 8 位寬的“逐步”1和0的模式。
   - 此測試可以更好地檢測“寬”記憶體芯片中的微妙錯誤。

6. **測試 5 [移動反轉, 隨機模式]**
   - 此測試使用與測試 4 相同的算法,但數據模式是一個隨機數及其補數。
   - 這個測試特別有效,可以找出難以檢測的數據敏感性錯誤。每次通過測試時,隨機數序列都是不同的,因此多次通過測試可以提高效果。

7. **測試 6 [塊移動, 64 次移動]**
   - 此測試通過使用塊移動(movsl)指令來搬移內存,基於 Robert Redelmeier 的 burnBX 測試。
   - 內存初始化為交替的移位模式,每 8 個字節反轉一次。然後使用 movsl 指令將 4MB 內存塊移動。
   - 移動完成後,將檢查數據模式。由於數據只在內存移動完成後檢查,因此無法知道錯誤發生的位置。報告的地址僅用於發現錯誤模式的位置。由於移動受限於 8MB 內存段,因此出錯地址始終比報告的地址少於 8MB。此測試的錯誤不用於計算 BadRAM 模式。

8. **測試 7 [移動反轉, 32 位模式]**
   - 這是移動反轉算法的變體,對於每個連續的地址,數據模式向左移動一位。
   - 每次通過需要 32 次,這個測試可以很好地檢測數據敏感性錯誤,但執行時間較長。

9. **測試 8 [隨機數序列]**
   - 此測試將一系列隨機數寫入內存。通過重新設置隨機數的種子,可以為參考創建相同序列的數字。
   - 首次通過時檢查初始模式,然後在下一次通過時對其進行補充檢查。與移動反轉測試不同,寫入和檢查只能以向前的方向進行。

10. **測試 9 [模 20, 隨機模式]**
    - 使用模 X 算法應該能夠發現由於緩存和緩衝干擾而未被移動反轉檢測到的錯誤。

11. **測試 10 [位衰減測試, 2 個模式]**
    - 位衰減測試將所有內存初始化為一個模式,然後休眠幾分鐘。然後檢查內存,看是否有任何內存位發生了變化。使用了全 1 和全 0 的模式。

12. **測試 11 [隨機數序列, 64 位]**
    - 此測試與測試 8 相同,但使用了本機 64 位指令。

13. **測試 12 [隨機數序列, 128 位]**
    - 此測試與測試 8 相同,但使用了本機 SIMD(128 位)指令。

14. **測試 13 [錘測試]**
    - 錘測試暴露了 2010 年以後 RAM 模塊的基本缺陷。當在短時間內重復訪問同一內存銀行但不同行時,這種缺陷可能導致干擾錯誤。重復打開/關閉行導致相鄰行的電荷漏失,可能導致位翻轉。
    - 這個測試通過交替讀取兩個地址並重複進行,然後檢查其他地址的內容以查找干擾錯誤。如果在第一輪測試中檢測到錯誤,則不會立即報告錯誤,而是開始第二輪測試。在第二輪測試中,地址對以更低的速率被連續訪問(被記憶體供應商認定為最壞的情況,即每 64 毫秒訪問 200K 次)。如果在此測試中也檢測到錯誤,則將錯誤正常報告給用戶。但是,如果只有第一輪測試產生錯誤,則會向用戶顯示警告消息。

 

依照上述13個選項  哪個項次最重要  又或者說  哪個項次其實可以省略不去測試呢?

要確定哪個測試項目最重要或可以省略,需要考慮到系統的使用情況、硬件配置以及對錯誤檢測的需求。一般來說,以下幾個測試項目可能被認為是比較重要的:

**測試 0 [地址測試, 逐位訪問, 1 個 CPU]:** 測試所有內存地址位,檢查內存的基本功能。
  
 **測試 1 [地址測試, 自身地址, 1 個 CPU]:** 檢查內存地址的一致性,捕捉任何未被前面測試檢測到的錯誤。

**測試 3 [移動反轉, 1 和 0, 并行]:** 使用移動反轉算法測試所有 1 和 0 的模式,快速檢測到 “硬” 錯誤和一些微妙的錯誤。

**測試 6 [塊移動, 64 次移動]:** 通過模擬記憶體移動和檢查數據,測試內存的穩定性。

**測試 13 [錘測試]:** 检测内存中的行挑战,这对于现代内存模块非常重要。

這些測試項目涵蓋了內存的基本功能和穩定性,對於確保系統的正常運行至關重要。然而,對於某些特定應用場景或硬件配置,可能可以省略一些測試項目,例如對於對內存要求不是特別高的一般用戶電腦,一些高級測試項目可能可以省略。

 

 

*行錘現象是指在動態隨機存取記憶體(DRAM)中,當重複存取同一行的不同記憶單元時,可能會導致相鄰行中的記憶單元發生電荷洩漏。這種電荷洩漏可能會導致相鄰行的位元發生意外翻轉,從而引起記憶體中的錯誤。簡而言之,行錘現象描述了在存取記憶體時,因重複存取同一行而可能導致的位元翻轉和錯誤。

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 文盲打工仔 的頭像
    文盲打工仔

    [文盲打工仔] 凡事毋須專精 而在於重點知悉

    文盲打工仔 發表在 痞客邦 留言(0) 人氣()