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项目中通常同时使用。
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐