2. NVIDIA DRIVE硬件架构与安全机制

NVIDIA DRIVE AGX 系列(包括 Xavier、Orin 以及新一代 Thor)是面向 L2 至 L4 自动驾驶的计算平台。其功能安全能力并非来自单一模块,而是由 SoC 内部多个硬件安全机制协同构成。理解这些机制的位置、作用范围与相互关系,是后续做安全分析(如 FMEA、DFA)和验证设计的基础。本节从 SoC 架构出发,逐层解析安全岛、锁步核、ECC、内存保护与看门狗,并说明它们如何支撑 ISO 26262 中的安全需求。

一、SoC 架构与安全分区

以 DRIVE Orin 为例,其 SoC 内部大致可分为三类区域:通用计算域(CPU 集群、GPU、DLA、PVA 等 AI 与通用算力单元)、安全域(安全岛、锁步核、安全 MCU)、以及外设与接口域(CAN、以太网、PCIe、摄像头输入等)。通用计算域承担感知、规划等高性能任务,但其硬件本身并不天然满足高 ASIL 要求;安全域则以较小的面积和功耗代价,提供可达到 ASIL-D 的诊断与监控能力。二者通过片上互连(如 NoC)连接,安全域对通用域的关键输出进行校验、监控与仲裁。

这种分区的核心思想是:把“高算力”和“高可信”解耦。高算力单元负责功能实现,高可信单元负责监控与安全决策。当通用域出现异常时,安全域可以接管或触发降级,使系统进入安全状态。

二、安全岛与锁步核

安全岛(Safety Island)是 SoC 内独立供电、独立时钟、独立复位的一组安全相关模块集合,通常包含安全 MCU、锁步 CPU 核、看门狗、安全存储与安全通信接口。它的关键特性是“隔离”:即使主计算域崩溃或掉电,安全岛仍能维持运行,执行故障检测、状态监控和安全响应。

锁步核(Lockstep Core)是安全岛内最典型的冗余机制。两个相同的 CPU 核接收相同输入、执行相同指令,由硬件比较器逐周期比对输出。若结果不一致,比较器立即报错,触发中断或复位。锁步核覆盖的是 CPU 内部的瞬态故障与永久故障,例如位翻转、指令译码错误。需要强调的是,锁步核只能检测“核内”故障,对内存、总线、外设的故障需要 ECC 和内存保护来补充。

NVIDIA DRIVE SoC 硬件安全机制分层结构 通用计算域(高性能) CPU 集群 GPU / DLA / PVA 感知与规划任务 AI 推理加速 承担功能实现,非天然高 ASIL 安全域(高可信 / 隔离) 安全 MCU 锁步 CPU 核 看门狗 / 复位 安全存储 / 通信 独立供电/时钟/复位,可达 ASIL-D NoC 底层硬件安全机制(覆盖全芯片) ECC 内存/缓存/总线纠错 内存保护 MPU/MMU 分区隔离与访问控制 看门狗 WDT 超时检测与复位 BIST / 自检 上电与周期自检 安全域对通用域输出进行校验、监控与仲裁,异常时触发降级或安全状态 各机制按 ASIL 分解目标协同工作,共同支撑功能安全需求

三、ECC 与内存保护

ECC(Error Correcting Code)用于检测和纠正存储单元中的位错误。DRIVE 平台在 L2/L3 缓存、片上 SRAM、DRAM 控制器以及关键总线路径上部署 ECC。典型配置为 SECDED(单错纠正、双错检测):单比特错误被自动纠正并记录,双比特错误触发不可纠正错误(UE)上报。ECC 的价值在于把“静默数据损坏”转化为可观测的故障信号,使安全机制能够及时响应。

内存保护通过 MPU(内存保护单元)或 MMU(内存管理单元)实现。MPU 为不同任务划分地址区间并设定读/写/执行权限,防止一个任务越界访问另一个任务的数据或代码。在安全设计中,安全岛的关键数据区通常被设为仅安全核可写,通用域只能读取,从而避免通用域故障污染安全决策。MMU 则进一步提供虚拟地址到物理地址的映射,支持更细粒度的隔离。

四、看门狗与复位机制

看门狗(Watchdog Timer)是检测“程序跑飞或任务超时”的经典机制。DRIVE 平台通常包含多级看门狗:CPU 内部看门狗、安全岛独立看门狗、以及外部看门狗芯片。软件需在设定窗口内“喂狗”,若超时未喂,看门狗触发中断或直接复位。安全设计中,看门狗窗口时间需根据任务周期计算,例如某监控任务周期为 10 ms,则窗口可设为 15~20 ms,既容忍正常抖动,又能及时捕获卡死。

复位机制与看门狗配合:一旦检测到不可恢复故障,安全岛可对通用域执行局部复位,或对整芯片执行全局复位,并记录复位原因供事后分析。复位后系统进入预设的安全状态,例如降级到最小风险状态(MRC)。

五、机制如何支撑功能安全需求

从 ISO 26262 视角看,上述机制分别对应不同的安全需求类型:锁步核与 ECC 主要覆盖硬件随机失效,看门狗与内存保护覆盖系统性失效与软件异常,安全岛则提供故障容忍时间间隔(FTTI)内的独立监控与响应。它们共同把单点故障度量(SPFM)和潜伏故障度量(LFM)提升到目标 ASIL 等级要求。

在实际安全分析中,建议按“故障→检测机制→响应→安全状态”的链路逐条梳理。例如:DRAM 位翻转 → ECC 检测并上报 UE → 安全岛接收中断 → 触发降级或复位 → 进入 MRC。每条链路都应有明确的诊断覆盖率和 FTTI 预算。

需要特别注意的是,硬件机制本身并不等于功能安全。它们必须被正确配置、被软件正确使用、并被验证其诊断覆盖率。例如 ECC 若未使能中断上报,则只能纠错而不能触发安全响应;看门狗若喂狗逻辑与监控任务在同一线程,则无法检测该线程卡死。因此,在 DRIVE 平台开发中,安全机制的配置与验证是功能安全活动的核心工作之一。