AUTOSAR-Safety-01_RamDiag_03_MBIST、RamTest、RAM ECC 的关系与区别
·
1、先看总体关系
三者都与 RAM 安全相关,但关注的故障类型和运行阶段不同。
RAM故障
│
▼
┌────────────────────────┐
│ 制造缺陷 / 硬件结构缺陷 │
└───────────┬────────────┘
│
▼
MBIST
┌────────────────────────┐
│ RAM结构故障 │
│ Stuck Fault │
│ Transition Fault │
│ Address Fault │
│ Coupling Fault │
└───────────┬────────────┘
│
▼
RamTest
┌────────────────────────┐
│ 运行期随机故障 │
│ SEU │
│ Bit Flip │
│ EMI │
└───────────┬────────────┘
│
▼
ECC
2、ECC与RamTest有什么区别
ECC关注
数据有没有错
例如:
写入0x55
读出0x54
ECC发现。
RamTest关注
RAM单元是否还能正常工作
例如:
写0
读1
发现Stuck Fault。
ECC擅长发现
SEU
Bit Flip
EMI
随机数据损坏
ECC不擅长发现
Address Fault
Coupling Fault
Decoder Fault
RamTest擅长发现
Stuck Fault
Transition Fault
Address Fault
Coupling Fault
简单理解
ECC
=
数据正确性检查
RamTest
=
RAM结构正确性检查
3、MBIST与RamTest有什么区别
相同点
故障模型高度重叠:
Stuck Fault
Transition Fault
Address Fault
Coupling Fault
都能检测。
不同点1:实现层级
MBIST
硬件实现
路径:
MBIST Engine
↓
Memory Array
RamTest
软件实现
路径:
CPU
↓
Bus
↓
RAM
不同点2:覆盖率
通常:
DC(MBIST)
>
DC(RamTest)
原因:
MBIST可直接访问:
Bit Line
Word Line
Sense Amplifier
等内部结构。
不同点3:运行时机
MBIST
Power On
Reset阶段
执行。
RamTest
运行期间
周期执行
例如:
Background Task
功能安全角度
MBIST
负责:
证明启动时RAM健康
降低:
Initial Fault
RamTest
负责:
发现运行过程中的潜伏故障
提升:
LFM
4、三者在ASIL-C/D项目中的典型配置
Power On
│
▼
MBIST
│
▼
CoreTest
│
▼
OS Start
│
├──────── ECC实时运行
│
├──────── Watchdog实时运行
│
└──────── RamTest后台扫描
5、一句话总结
MBIST负责证明RAM硬件本身没有制造或结构缺陷;
RamTest负责运行过程中周期性检查RAM结构是否仍然正常;
ECC负责运行过程中实时发现和纠正随机Bit翻转故障。
MBIST和RamTest覆盖的故障模型高度重叠,
但MBIST是硬件级高覆盖率测试,
RamTest是软件级在线测试;
ECC则属于在线数据完整性保护机制。
三者互补,在ASIL-C/D项目中通常同时使用。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)