汽车的黑匣子是用来记录传感器数据的,这些数据用于重现并确定事故的根本原因。L3 至 L5 级别的自动驾驶汽车对黑匣子记录功能的要求越来越高,而相关监管部门正在制定这类要求,不同国家的要求往往也各不相同。例如,美国机动车辆管理部(Department of Motor Vehicles,DMV)要求自动驾驶汽车至少保存碰撞事故发生前最后 30 秒的传感器数据。
除了法律要求的所有其他机制之外,自动驾驶汽车还有一种单独的机制:汽车在自动驾驶模式下,与另一辆车、物体或者自然人发生碰撞之前,必须采集并存储至少 30 秒的自主技术传感器数据。该机制应采集自主技术传感器数据并以只读格式进行存储,数据一直保存不变,直至外部设备下载并存储数据,利用这种机制提取出了数据。如果发生了碰撞,自碰撞之日起,数据应保存三年。
图1:黑匣子记录器中的数据处理结构图
图 1 显示了黑匣子记录器的结构图,其输入是汇集了来自多个传感器的连续数据流。出于成本和安全方面的考虑,有些系统首先对数据进行压缩,然后再加密。传感器数据带宽主要是被图像传感器占用的。一辆自动驾驶汽车会包含多达 12 个图像传感器,其中远程摄像头的分辨率高达 800 万像素,每秒 60 帧。生成的数据流能够达到 20GB/秒。
对于成本敏感的应用,H.265 压缩技术能够将最终比特数减少 50%,从而降低了整体存储需求。H.265/HVEC 是一种有损压缩算法,它去掉了人类视觉系统不太敏感的部分数据。然而,一些人工智能(AI)算法可能对这种数据失真很敏感,当算法根据记录再现事故的根本原因时,这种压缩技术可能会导致 AI 算法运行产生失真。因此,一些系统,特别是机器人出租车中使用的系统,倾向于避免使用数据压缩技术,或者使用非常低的压缩比。消费类汽车往往对压缩的使用较为宽容,特别是较低级别的自动驾驶。
为记录事故发生前一段时间(例如,事故发生前最后 30 秒)的数据,使用了循环缓冲区。循环缓冲区是可以基于 DRAM 或者闪存的内存,要有足够的容量才能满足一定长度缓冲区的存储要求。例如,为了采集事故发生前 30 秒的数据,假设 1GB/秒的未压缩传感器数据速率,那么,循环缓冲区的存储容量应为 30GB。
通常,人们采用闪存来实现循环缓冲区,因为它被设计成在断电时不会丢失数据,而 DRAM 则需要备用电源才能保证在主电池断开连接时收集的数据不会丢失。与闪存技术相关的难点是整体耐久性。举一个极端的例子,一辆机器人出租车 24 小时工作并持续近 5 年,将导致连续运行近 4.5 万小时。假设 1GB/秒持续传感器数据流的极端情况下,那么所要求的耐久性将在 150PB 范围内。以目前的闪存技术而言,要实现这一级别的耐久性确实是很大的挑战,甚至是有些不切实际。
图 1 中循环缓冲区后面的 NVM 存储器,则为与事故或者潜在事故相关的 30 秒数据快照提供了长期存储位置。该系统依靠加速度计(G 传感器)和 AI 传感器的分析结果来确定什么时候会发生事故或者有可能发生事故。当循环缓冲区中的数据应被写入这一长期 NVM 存储器时,这些传感器会进行标记。这种长期存储器件通常基于闪存,而且与循环缓冲区不同,它的耐久性要求要低得多。
美光系统架构师与我们的一级客户和原始设备制造商密切合作,设计黑匣子等系统级解决方案,以确保以最优的成本、性能和功耗满足最苛刻的应用需求。他们还要确保系统集成商在设计应用程序时,一定要防止任何可能出现的内存故障对数据、人员或者财产造成损害。
凭借 28 年来对汽车市场的持续耕耘,并提供覆盖最全面的汽车内存系列产品,美光当之无愧成为顶级汽车内存供应商。