與電腦系統(tǒng)一樣,如今的車載計(jì)算系統(tǒng)也有硬盤,重要的數(shù)據(jù)和訓(xùn)練好的權(quán)重模型存在硬盤(即eMMC或UFS)里。UFS4.0版本的接口帶寬是23.2Gbps也就是2.9GB/s,遠(yuǎn)低于DRAM的帶寬,連LPDDR3都不如,eMMC就更低了,只有400MB/s。
目前電腦SSD硬盤是M.2接口居多,M.2跑PCIe 4.0的話帶寬是64Gb/s。有幾個(gè)定義需要分清,SSD指固態(tài)存儲(chǔ),對(duì)應(yīng)的是以前的機(jī)械硬盤存儲(chǔ)或磁帶存儲(chǔ),無論是車載的NVMe、PCIe還是手機(jī)的UFS,都是SSD。M.2是硬盤接口標(biāo)準(zhǔn),可以對(duì)應(yīng)機(jī)械硬盤的SATA,也可以對(duì)應(yīng)固態(tài)硬盤的NVMe。NVMe是通訊協(xié)議標(biāo)準(zhǔn),PCIe是物理層標(biāo)準(zhǔn),SATA是接口類型,機(jī)械硬盤的通訊協(xié)議是AHCI,手機(jī)的UFS使用的是MIPI的M-PHY物理層,SCSI-SAM通訊協(xié)議。今天我們說的車規(guī)級(jí)SSD硬盤指的是PCIe做物理層,NVMe做通訊協(xié)議的固態(tài)硬盤。
每次運(yùn)算的時(shí)候,CPU發(fā)出指令,權(quán)重模型從UFS中被取出暫存在DRAM中,如果有顯存的話,就放在顯存里,通常顯存比共享DRAM帶寬要高得多,這樣每次運(yùn)算就無需從UFS中取出,這也是DRAM和顯存存在的意義,它的速度比UFS快太多了。
存儲(chǔ)行業(yè)的標(biāo)準(zhǔn)制定者JEDEC在2022年11月通過了JESD312標(biāo)準(zhǔn),12月14日正式公開發(fā)布。JESD312定義了用于汽車和類似應(yīng)用的SSD封裝、協(xié)議、環(huán)境要求和電氣接口。車用SSD將使用BGA形式直接貼裝在PCB板上,尺寸不大于28 x 28毫米,使用PCIe 4.0 x4接口提供最高8GB/s的峰值傳輸速率。
JESD312充分考慮汽車電子架構(gòu)變化,以軟件定義汽車,中央計(jì)算架構(gòu)為目標(biāo),允許分割存儲(chǔ)陣列。
來源:JEDEC
JESD312將操作系統(tǒng)與應(yīng)用代碼分開,并支持單根輸入/輸出虛擬化(SR-IOV,全稱SingleRoot I/O Virtualization),用于許多處理器共享SSD資源的應(yīng)用。
為什么要用車規(guī)級(jí)SSD,UFS不是SSD么?UFS當(dāng)然也可以算是SSD,但UFS太慢了,而車規(guī)級(jí)SSD采用的是PCIe標(biāo)準(zhǔn),PCIe的彈性空間極大,潛力巨大。JESD312確定的是PCIe 4.0標(biāo)準(zhǔn),實(shí)際其包含多個(gè)速率,4通道是最低的PCIe 4.0標(biāo)準(zhǔn),16通道雙工可以到64GB/s,而PCIe5.0標(biāo)準(zhǔn)已在2019年發(fā)布了,PCIe5.0將信號(hào)速率翻倍到了32GT/s,x16雙工帶寬更是接近128GB/s。極高的信號(hào)速率,使得PCIe5.0能夠更好支持對(duì)吞吐量要求高的高性能設(shè)備,如用于AI的GPU、網(wǎng)絡(luò)設(shè)備等。PCIe 6.0標(biāo)準(zhǔn)也已在2022年初發(fā)布,單工達(dá)到128GB/s的帶寬。PCI-SIG的目標(biāo)是大約每3年將PCIe帶寬翻一番。
UFS的速度太慢,特別是UFS標(biāo)準(zhǔn)的升級(jí)速度也慢。2018年1月,JEDEC發(fā)布UFS3.0標(biāo)準(zhǔn),2022年8月才有UFS4.0標(biāo)準(zhǔn)。所以UFS的速率是永遠(yuǎn)追不上PCIe的,差距會(huì)越來越大。除了速率帶寬UFS太慢外,UFS還需要考慮體積和功耗,因此UFS通常都是單芯片,功耗盡量低。汽車領(lǐng)域體積和功耗都可以放寬些,PCIe SSD通常是多芯片并行,可以滿足許多汽車領(lǐng)域的特別需求,UFS就無能為力了。
來源:NVM Express
NVMe支持超長(zhǎng)隊(duì)列,可以大幅緩解并行計(jì)算時(shí)存儲(chǔ)瓶頸問題。
現(xiàn)在汽車Infotainment、T-Box、儀表和ADAS域都有分散存儲(chǔ),數(shù)量眾多。中央計(jì)算時(shí)代,存儲(chǔ)需要統(tǒng)一到中央計(jì)算器上,PCIe是最佳選擇,如上圖所示,通過PCIe交換機(jī)將SSD連接在中央SoC計(jì)算單元上。
PCIe完美支持中央計(jì)算架構(gòu), JESD312還有SR-IOV (Single Root I/O Virtualization)特色,針對(duì)虛擬機(jī)。在虛擬機(jī)中,一切皆虛擬。比如網(wǎng)卡,虛擬機(jī)看來好像有一個(gè)真實(shí)網(wǎng)卡,但這個(gè)網(wǎng)卡是宿主機(jī)虛擬出來的硬件,也就是一堆軟件代碼而已,沒有真實(shí)硬件。車載系統(tǒng)的儀表、T-Box、ADAS域、座艙域不可能都裝一個(gè)PCIe網(wǎng)卡,為解決這個(gè)問題,Intel提出了SR-IOV。SR-IOV最初應(yīng)用在網(wǎng)卡上。簡(jiǎn)言之,就是一個(gè)物理網(wǎng)卡可以虛擬出來多個(gè)輕量化的PCI-e物理設(shè)備,從而可以分配給虛擬機(jī)使用。
最主要的還是PCIe對(duì)汽車功能安全或者說ISO26262支持度很高,不是UFS能比的。
來源:PCI-SIG
PCIe有兩個(gè)錯(cuò)誤檢查功能,一個(gè)是LCRC,另一個(gè)是ECRC。其中LCRC是Link CRC,是用來檢測(cè)在兩個(gè)設(shè)備之間的鏈路(Link)上發(fā)生的錯(cuò)誤,這些錯(cuò)誤大多是由于物理層的信號(hào)質(zhì)量問題引起的。
因?yàn)閮H是針對(duì)Link和互聯(lián)的兩個(gè)設(shè)備,LCRC換個(gè)說法也可以叫Local CRC。當(dāng)TLP報(bào)文通過Switch時(shí),在入口(ingress port)被DLL層校驗(yàn)LCRC。而在Switch的出口(egress port)會(huì)重新生成LCRC。當(dāng)接收端檢測(cè)到TLP報(bào)文的LCRC不正確時(shí),將會(huì)發(fā)送一個(gè)NAK報(bào)文給發(fā)送端,要求重傳此TLP。因此,LCRC錯(cuò)誤是可修正錯(cuò)誤,因?yàn)榭梢酝ㄟ^重傳來修正。
ECRC是End-to-End CRC,是檢測(cè)TLP報(bào)文的內(nèi)容在Requester和Completer之間的路徑上是否損壞。例如switch在轉(zhuǎn)發(fā)TLP報(bào)文時(shí)由于某些bug發(fā)生了數(shù)據(jù)不一致。
ECRC是requester/initiator的TL層生成的。如果Completer檢測(cè)到ECRC錯(cuò)誤,會(huì)上報(bào)通知系統(tǒng)處理。并沒有重傳機(jī)制,因此是不可修正錯(cuò)誤。當(dāng)TLP報(bào)文進(jìn)入Switch時(shí),Switch并不會(huì)修改ECRC,并完整把TLP報(bào)文發(fā)出去。換言之,TLP經(jīng)過路徑上的Switch內(nèi)容不會(huì)發(fā)生任何改變,甚至ECRC是錯(cuò)誤的,Switch也視而不見繼續(xù)發(fā)出去。TLP的錯(cuò)誤,需要軟件參與,由上層軟件決定是否重發(fā)。
來源:PCI-SIG
PCIe還有個(gè)更復(fù)雜的AER(高級(jí)錯(cuò)誤報(bào)告),這個(gè)異常復(fù)雜的安全機(jī)制牽涉面很廣,其中包括了復(fù)雜的Linux內(nèi)核協(xié)助,如ACPI PCI驅(qū)動(dòng)和ARCH PCI驅(qū)動(dòng),還包括物理層。具體的原理無法展開描述。簡(jiǎn)單地說它可以方便我們準(zhǔn)確的定位,糾正和分析錯(cuò)誤,增強(qiáng)系統(tǒng)的健壯性和可靠性,輕松達(dá)到ASIL-D級(jí)。
PCIe總線也能保證整個(gè)系統(tǒng)的安全性。
PCIe非常適合車載應(yīng)用,順便說一句,PCIe總線是英特爾在1992年發(fā)明的,距今已超30年,但活力依舊很旺盛。
來源:NVM Express
除了PCIe的安全性,JESD312還加了SPDM安全協(xié)議,采用384bit最小安全協(xié)議,保證網(wǎng)絡(luò)安全萬無一失。
JESD312還特別按應(yīng)用類型做了分類,一類是私家車,另一類是商用車。DWPD是另一個(gè)耐久度指標(biāo),主要用于企業(yè)級(jí)SSD。DWPD確定用戶在保修期內(nèi)每天可以重寫驅(qū)動(dòng)器的容量,私家車是每天0.31TB,即310GB,商用車是0.24TB,即240GB,還有一個(gè)TBW,即在保修期內(nèi)的最高寫入數(shù)據(jù)量,私家車是200TB,商用車是12.8TB。實(shí)際就算是最頂級(jí)的智能駕駛加智能座艙,每天寫入的數(shù)據(jù)也不會(huì)超過1GB,JESD312留了幾百倍的余量。
如果你實(shí)在不放心,那么還有選配。
免責(zé)說明:本文觀點(diǎn)和數(shù)據(jù)僅供參考,和實(shí)際情況可能存在偏差。本文不構(gòu)成投資建議,文中所有觀點(diǎn)、數(shù)據(jù)僅代表筆者立場(chǎng),不具有任何指導(dǎo)、投資和決策意見。