这意味着NOR Flash IC在ISO 26262兼容系统中使用时,必须向主机控制器提供诊断数据,并提供主机修改IC操作的方法,以应对数据显示的更高的故障风险。
NOR Flash IC的两个主要特性提供了这些数据:
ECC引擎,它通过检测和纠正读操作中的位错误来维护数据的完整性
允许对ECC引擎的运行进行定期测试的用户模式
ECC数据如何支持功能性安全操作
在传统的NOR Flash IC中,ECC引擎在后台运行,以多字节粒度检测和纠正位错误,不通知主机控制器。然而,事实上,这些ECC[1]数据可以以各种方式促进功能性安全合规。ECC引擎能够纠正单位错误(当主数据位和奇偶校验位之间只有单位差异时);检测(但不纠正)双位错误。
通过向主机控制器提供状态寄存器,NOR闪存设备可以指示最近的读操作是否有三种可能的结果之一:
1.良好的数据,不需要纠错
2.修正错误后的良好数据
3.无法纠正的错误数据
这些“事后”信息可用于帮助维护长期的数据完整性。但ISO 26262要求汽车系统在出现故障时进行检测,并立即采取相应措施。来自华邦电子的新型自动NOR Flash IC,可通过专用错误引脚提供实时错误信息。此引脚可以被断言,以指示无法纠正的数据的确切位置。用户还可以选择错误pin是表示纠正的单比特错误,还是表示检测到的不可纠正的双比特错误。
然后,主机可以使用来自状态寄存器、错误pin或两者的信息来构建错误寄存器——实际上是NOR Flash阵列的“映射”,记录位错误的位置。然后,主机可以设置一个阈值,以便当某个位置(例如某个特定块)发生的错误数量超过这个阈值时,该位置就从内存中“退休”了。
识别潜在故障的方法
到目前为止,上述所描述的措施是关于单点故障处理,ISO 26262标准为每个ASIL等级指定了最低检出率。但该标准还要求汽车系统检测“潜在故障”。潜在故障本身并没有违反功能安全要求,但是它可以与第二个故障一起违反这些要求。
在NOR Flash IC中,存在潜在的潜在故障- ECC引擎故障就是一个例子。正常运行时,NOR Flash技术可靠性高,很少需要纠错。因此,只要ECC引擎故障不会导致它错误地纠正好位,故障通常不会引起注意。但是,当由于ECC引擎故障(一个潜在的故障)导致单个坏位未得到纠正时,这两个故障的组合将对功能安全构成风险。
为了检测潜在的ECC引擎故障,华邦电子的automotive NOR Flash IC提供了特殊用户模式和ECC编码器读取命令:这使用户能够将主数据模式注入到内存中,并从ECC引擎中读取主数据和它生成的奇偶校验数据。如果奇偶校验数据不正确,可以将ECC引擎标记为错误。
同样,用户模式可用于检查ECC解码操作:在用户模式下,用户将主数据和奇偶校验数据加载到ECC引擎中,并使用特殊的ECC解码器Read命令将主数据读回。在主数据和奇偶校验数据中可能会引入单位和双位错误,检查ECC引擎是否正确执行单位错误校正和双位错误检测。华邦电子的建议是,每次系统启动时都应该执行ECC引擎检查。
3