EDAC/RAS 特性

版權所有 (c) 2024-2025 HiSilicon Limited。

作者:

Shiju Jose <shiju.jose@huawei.com>

許可:

GNU 自由文件許可證,1.2 版,沒有不變部分、封面文字或封底文字。(在 GPL v2 下雙重許可)

  • 為以下版本編寫: 6.15

簡介

EDAC/RAS 元件插入和高層設計

  1. 擦洗控制

  2. 錯誤檢查擦洗 (ECS) 控制

  3. ACPI RAS2 特性

  4. 封裝後修復 (PPR) 控制

  5. 記憶體備用修復控制

高層設計如下圖所示

     +-----------------------------------------------+
     |   Userspace - Rasdaemon                       |
     | +-------------+                               |
     | | RAS CXL mem |     +---------------+         |
     | |error handler|---->|               |         |
     | +-------------+     | RAS dynamic   |         |
     | +-------------+     | scrub, memory |         |
     | | RAS memory  |---->| repair control|         |
     | |error handler|     +----|----------+         |
     | +-------------+          |                    |
     +--------------------------|--------------------+
                                |
                                |
+-------------------------------|------------------------------+
|     Kernel EDAC extension for | controlling RAS Features     |
|+------------------------------|----------------------------+ |
|| EDAC Core          Sysfs EDAC| Bus                        | |
||   +--------------------------|---------------------------+| |
||   |/sys/bus/edac/devices/<dev>/scrubX/ |   | EDAC device || |
||   |/sys/bus/edac/devices/<dev>/ecsX/   |<->| EDAC MC     || |
||   |/sys/bus/edac/devices/<dev>/repairX |   | EDAC sysfs  || |
||   +---------------------------|--------------------------+| |
||                           EDAC|Bus                        | |
||                               |                           | |
||   +----------+ Get feature    |      Get feature          | |
||   |          | desc +---------|------+ desc +----------+  | |
||   |EDAC scrub|<-----| EDAC device    |      |          |  | |
||   +----------+      | driver- RAS    |----->| EDAC mem |  | |
||   +----------+      | feature control|      | repair   |  | |
||   |          |<-----|                |      +----------+  | |
||   |EDAC ECS  |      +---------|------+                    | |
||   +----------+    Register RAS|features                   | |
||         ______________________|_____________              | |
|+---------|---------------|------------------|--------------+ |
|  +-------|----+  +-------|-------+     +----|----------+     |
|  |            |  | CXL mem driver|     | Client driver |     |
|  | ACPI RAS2  |  | scrub, ECS,   |     | memory repair |     |
|  | driver     |  | sparing, PPR  |     | features      |     |
|  +-----|------+  +-------|-------+     +------|--------+     |
|        |                 |                    |              |
+--------|-----------------|--------------------|--------------+
         |                 |                    |
+--------|-----------------|--------------------|--------------+
|    +---|-----------------|--------------------|-------+      |
|    |                                                  |      |
|    |            Platform HW and Firmware              |      |
|    +--------------------------------------------------+      |
+--------------------------------------------------------------+
  1. EDAC 特性元件 - 建立特定於特性的描述符。例如:上圖中的擦洗、ECS、記憶體修復。

  2. 用於控制 RAS 特性的 EDAC 裝置驅動程式 - 從 EDAC RAS 特性元件獲取特性的屬性描述符,並在 EDAC 總線上註冊裝置的 RAS 特性,並透過 sysfs 公開特性控制屬性。例如,/sys/bus/edac/devices/<dev-name>/<feature>X/

  3. RAS 動態特性控制器 - rasdaemon 中的使用者空間示例模組,用於動態擦洗/修復控制,以便在短時間內報告過多數量的已更正記憶體錯誤時,發出擦洗/修復。

RAS 特性

  1. 記憶體擦洗

記憶體擦洗特性在 擦洗控制 中有文件記錄。

  1. 記憶體修復

記憶體修復特性在 EDAC 記憶體修復控制 中有文件記錄。