挑战UFS地位,车规级SSD硬盘标准已来

  • 2023/08/14

与电脑系统一样,如今的车载计算系统也有硬盘,重要的数据和训练好的权重模型存在硬盘(即eMMC或UFS)里。UFS4.0版本的接口带宽是23.2Gbps也就是2.9GB/s,远低于DRAM的带宽,连LPDDR3都不如,eMMC就更低了,只有400MB/s。

目前电脑SSD硬盘是M.2接口居多,M.2跑PCIe 4.0的话带宽是64Gb/s。有几个定义需要分清,SSD指固态存储,对应的是以前的机械硬盘存储或磁带存储,无论是车载的NVMe、PCIe还是手机的UFS,都是SSD。M.2是硬盘接口标准,可以对应机械硬盘的SATA,也可以对应固态硬盘的NVMe。NVMe是通讯协议标准,PCIe是物理层标准,SATA是接口类型,机械硬盘的通讯协议是AHCI,手机的UFS使用的是MIPI的M-PHY物理层,SCSI-SAM通讯协议。今天我们说的车规级SSD硬盘指的是PCIe做物理层,NVMe做通讯协议的固态硬盘。

每次运算的时候,CPU发出指令,权重模型从UFS中被取出暂存在DRAM中,如果有显存的话,就放在显存里,通常显存比共享DRAM带宽要高得多,这样每次运算就无需从UFS中取出,这也是DRAM和显存存在的意义,它的速度比UFS快太多了。

存储行业的标准制定者JEDEC在2022年11月通过了JESD312标准,12月14日正式公开发布。JESD312定义了用于汽车和类似应用的SSD封装、协议、环境要求和电气接口。车用SSD将使用BGA形式直接贴装在PCB板上,尺寸不大于28 x 28毫米,使用PCIe 4.0 x4接口提供最高8GB/s的峰值传输速率。

JESD312充分考虑汽车电子架构变化,以软件定义汽车,中央计算架构为目标,允许分割存储阵列。

来源:JEDEC

JESD312将操作系统与应用代码分开,并支持单根输入/输出虚拟化(SR-IOV,全称SingleRoot I/O Virtualization),用于许多处理器共享SSD资源的应用。

为什么要用车规级SSD,UFS不是SSD么?UFS当然也可以算是SSD,但UFS太慢了,而车规级SSD采用的是PCIe标准,PCIe的弹性空间极大,潜力巨大。JESD312确定的是PCIe 4.0标准,实际其包含多个速率,4通道是最低的PCIe 4.0标准,16通道双工可以到64GB/s,而PCIe5.0标准已在2019年发布了,PCIe5.0将信号速率翻倍到了32GT/s,x16双工带宽更是接近128GB/s。极高的信号速率,使得PCIe5.0能够更好支持对吞吐量要求高的高性能设备,如用于AI的GPU、网络设备等。PCIe 6.0标准也已在2022年初发布,单工达到128GB/s的带宽。PCI-SIG的目标是大约每3年将PCIe带宽翻一番。

UFS的速度太慢,特别是UFS标准的升级速度也慢。2018年1月,JEDEC发布UFS3.0标准,2022年8月才有UFS4.0标准。所以UFS的速率是永远追不上PCIe的,差距会越来越大。除了速率带宽UFS太慢外,UFS还需要考虑体积和功耗,因此UFS通常都是单芯片,功耗尽量低。汽车领域体积和功耗都可以放宽些,PCIe SSD通常是多芯片并行,可以满足许多汽车领域的特别需求,UFS就无能为力了。

来源:NVM Express

NVMe支持超长队列,可以大幅缓解并行计算时存储瓶颈问题。

现在汽车Infotainment、T-Box、仪表和ADAS域都有分散存储,数量众多。中央计算时代,存储需要统一到中央计算器上,PCIe是最佳选择,如上图所示,通过PCIe交换机将SSD连接在中央SoC计算单元上。

PCIe完美支持中央计算架构, JESD312还有SR-IOV (Single Root I/O Virtualization)特色,针对虚拟机。在虚拟机中,一切皆虚拟。比如网卡,虚拟机看来好像有一个真实网卡,但这个网卡是宿主机虚拟出来的硬件,也就是一堆软件代码而已,没有真实硬件。车载系统的仪表、T-Box、ADAS域、座舱域不可能都装一个PCIe网卡,为解决这个问题,Intel提出了SR-IOV。SR-IOV最初应用在网卡上。简言之,就是一个物理网卡可以虚拟出来多个轻量化的PCI-e物理设备,从而可以分配给虚拟机使用。

最主要的还是PCIe对汽车功能安全或者说ISO26262支持度很高,不是UFS能比的。

来源:PCI-SIG

PCIe有两个错误检查功能,一个是LCRC,另一个是ECRC。其中LCRC是Link CRC,是用来检测在两个设备之间的链路(Link)上发生的错误,这些错误大多是由于物理层的信号质量问题引起的。

因为仅是针对Link和互联的两个设备,LCRC换个说法也可以叫Local CRC。当TLP报文通过Switch时,在入口(ingress port)被DLL层校验LCRC。而在Switch的出口(egress port)会重新生成LCRC。当接收端检测到TLP报文的LCRC不正确时,将会发送一个NAK报文给发送端,要求重传此TLP。因此,LCRC错误是可修正错误,因为可以通过重传来修正。

ECRC是End-to-End CRC,是检测TLP报文的内容在Requester和Completer之间的路径上是否损坏。例如switch在转发TLP报文时由于某些bug发生了数据不一致。

ECRC是requester/initiator的TL层生成的。如果Completer检测到ECRC错误,会上报通知系统处理。并没有重传机制,因此是不可修正错误。当TLP报文进入Switch时,Switch并不会修改ECRC,并完整把TLP报文发出去。换言之,TLP经过路径上的Switch内容不会发生任何改变,甚至ECRC是错误的,Switch也视而不见继续发出去。TLP的错误,需要软件参与,由上层软件决定是否重发。

来源:PCI-SIG

PCIe还有个更复杂的AER(高级错误报告),这个异常复杂的安全机制牵涉面很广,其中包括了复杂的Linux内核协助,如ACPI PCI驱动和ARCH PCI驱动,还包括物理层。具体的原理无法展开描述。简单地说它可以方便我们准确的定位,纠正和分析错误,增强系统的健壮性和可靠性,轻松达到ASIL-D级。

PCIe总线也能保证整个系统的安全性。

PCIe非常适合车载应用,顺便说一句,PCIe总线是英特尔在1992年发明的,距今已超30年,但活力依旧很旺盛。

来源:NVM Express

除了PCIe的安全性,JESD312还加了SPDM安全协议,采用384bit最小安全协议,保证网络安全万无一失。

JESD312还特别按应用类型做了分类,一类是私家车,另一类是商用车。DWPD是另一个耐久度指标,主要用于企业级SSD。DWPD确定用户在保修期内每天可以重写驱动器的容量,私家车是每天0.31TB,即310GB,商用车是0.24TB,即240GB,还有一个TBW,即在保修期内的最高写入数据量,私家车是200TB,商用车是12.8TB。实际就算是最顶级的智能驾驶智能座舱,每天写入的数据也不会超过1GB,JESD312留了几百倍的余量。

如果你实在不放心,那么还有选配。

 

免责说明:本文观点和数据仅供参考,和实际情况可能存在偏差。本文不构成投资建议,文中所有观点、数据仅代表笔者立场,不具有任何指导、投资和决策意见。

人工客服
(售后/吐槽/合作/交友)
  • 器件型号:A3987SLPTR-T
    • 数量 1
    • 建议厂商 Allegro MicroSystems LLC
    • 器件描述 Stepper Motor Controller, 1.5A, NMOS, PDSO24, MO-153ADT, TSSOP-24
    • 参考价格 $5.27
    • 风险等级
    • ECAD模型

      ECAD模型

      下载ECAD模型
    • 数据手册
    • 查看更多信息
  • 器件型号:ADXL355BEZ
    • 数量 1
    • 建议厂商 Analog Devices Inc
    • 器件描述 Low Noise, Low Drift, Low Power 3-Axis Accelerometer with digital output
    • 参考价格 $63.83
    • 风险等级
    • ECAD模型

      ECAD模型

      下载ECAD模型
    • 数据手册
    • 查看更多信息
  • 器件型号:NCV7720DQR2G
    • 数量 1
    • 建议厂商 onsemi
    • 器件描述 Deca Half-Bridge Driver, SSOP24 NB EP, 2500-REEL
    • 参考价格 $6.94
    • 风险等级
    • ECAD模型
    • 数据手册
    • 查看更多信息

相关资讯

  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
  6. 6.
  7. 7.
  8. 8.
  9. 9.
  10. 10.
  11. 11.
  12. 12.
  13. 13.
  14. 14.
  15. 15.
  16. 16.
  17. 17.
  18. 18.
  19. 19.
  20. 20.
查看全部20条内容