EDAC/RAS 特性¶
版权所有 (c) 2024-2025 HiSilicon Limited。
- 作者:
Shiju Jose <shiju.jose@huawei.com>
- 许可:
GNU 自由文档许可证,1.2 版,没有不变部分、封面文本或封底文本。(在 GPL v2 下双重许可)
为以下版本编写: 6.15
简介¶
EDAC/RAS 组件插入和高层设计
擦洗控制
错误检查擦洗 (ECS) 控制
ACPI RAS2 特性
封装后修复 (PPR) 控制
内存备用修复控制
高层设计如下图所示
+-----------------------------------------------+
| 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 | |
| +--------------------------------------------------+ |
+--------------------------------------------------------------+
EDAC 特性组件 - 创建特定于特性的描述符。例如:上图中的擦洗、ECS、内存修复。
用于控制 RAS 特性的 EDAC 设备驱动程序 - 从 EDAC RAS 特性组件获取特性的属性描述符,并在 EDAC 总线上注册设备的 RAS 特性,并通过 sysfs 公开特性控制属性。例如,/sys/bus/edac/devices/<dev-name>/<feature>X/
RAS 动态特性控制器 - rasdaemon 中的用户空间示例模块,用于动态擦洗/修复控制,以便在短时间内报告过多数量的已更正内存错误时,发出擦洗/修复。
RAS 特性¶
内存擦洗
内存擦洗特性在 擦洗控制 中有文档记录。
内存修复
内存修复特性在 EDAC 内存修复控制 中有文档记录。