SSD新范式|PCIe 5.0系列(1):前世傳奇

SD正在全面進(jìn)入NVMe時(shí)代,作為NVMe協(xié)議的承載體,PCIe在本號(hào)之前的系列文章中“出鏡率”頗高。

進(jìn)入2022年,隨著支持PCIe 5.0的平臺(tái)如英特爾*第四代至強(qiáng)可擴(kuò)展處理器先后推出,我們發(fā)現(xiàn),其實(shí)NVMe SSD早就在為PCIe 5.0的到來(lái)布局了。為了更好的理解這些提前布局,我們需要先回顧一些“歷史遺留問(wèn)題”,譬如:

為什么PCIe 3.0如此長(zhǎng)壽?PCIe 4.0剛上市就落后了嗎?有必要轉(zhuǎn)向PCIe 5.0嗎?

這些問(wèn)題的答案顯然不會(huì)是簡(jiǎn)單的5>4>3。作為PCIe 5.0系列的開(kāi)篇,本文將首先回顧PCIe 4.0及之前的“供需”演變。

前言

今天, 大多數(shù)的計(jì)算機(jī)依然遵循馮·諾依曼體系結(jié)構(gòu),其基本特點(diǎn)是軟硬件分離,通過(guò)存儲(chǔ)器保存程序(指令和數(shù)據(jù)),計(jì)算機(jī)由五個(gè)部分組成(運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備)。馮·諾依曼計(jì)算機(jī)體系結(jié)構(gòu)的存儲(chǔ)程序方式造成了系統(tǒng)對(duì)存儲(chǔ)器的依賴(lài),CPU訪問(wèn)存儲(chǔ)器的速度制約了系統(tǒng)運(yùn)行的速度。

將計(jì)算機(jī)各個(gè)部分組織在一起,就有了總線的的概念。系統(tǒng)總線是連接計(jì)算機(jī)系統(tǒng)主要組件(比如CPU、輸入設(shè)備、輸出設(shè)備)的單一計(jì)算機(jī)總線。它結(jié)合了數(shù)據(jù)總線的功能來(lái)承載信息,地址總線的功能來(lái)確定應(yīng)該從哪里發(fā)送或讀取信息,以及控制總線的功能來(lái)確定其信息。

在歷史上曾經(jīng)有很多不同的總線實(shí)現(xiàn),都在各自的時(shí)代不同的使用場(chǎng)景里提供了卓越的方案。比如:

ISA:Industry Standard Architecture,8/16位(bit)

EISA:Extended ISA,32位

MCA:Micro Channel Architecture,32位

PCI:Peripheral Component Interconnect,32位

PCI-X:PCI eXtended,64位

作為x86市場(chǎng)的實(shí)際統(tǒng)治者,英特爾*(Intel)主導(dǎo)了當(dāng)今使用的主要總線接口的制定工作。英特爾*在1992年提出PCI總線協(xié)議,并召集業(yè)內(nèi)企業(yè)組成了名為 PCI-SIG (PCI Special Interest Group, PCI特殊興趣組)的企業(yè)聯(lián)盟。從那以后這個(gè)組織就負(fù)責(zé)PCI及其繼承者們(PCI-X和PCIe)的標(biāo)準(zhǔn)制定和推廣。

在PCI-X后期,頻率被局限在133MHz,英特爾*認(rèn)識(shí)到當(dāng)時(shí)的并行總線難以適應(yīng)為繼了。2001年的IDF論壇上,英特爾*宣布推出一種串行總線,起名叫3GIO(第3代IO)。由于采用串行傳輸,其運(yùn)行頻率可以擴(kuò)展到很高(2.5GHz起步,大約是PCI-X的20倍),信號(hào)畸變和噪音干擾可以降到很低。加上英特爾*一貫聯(lián)合生態(tài)伙伴的推廣方法,3GIO很順利被業(yè)界接納。

2002年,PCI-SIG 在微軟的 Windows硬件工程會(huì)議上宣布3GIO標(biāo)準(zhǔn)正式命名為PCI Express(簡(jiǎn)寫(xiě)為PCIe或PCI-E)。

2003年,PCIe 1.0a標(biāo)準(zhǔn)正式發(fā)布。這種創(chuàng)新的總線協(xié)議在規(guī)劃時(shí)就在靈活性、通用性、經(jīng)濟(jì)性和未來(lái)的可擴(kuò)展性方面做的非常好,這個(gè)系列的互聯(lián)架構(gòu)完全壓倒了其他的競(jìng)爭(zhēng)性的架構(gòu),從數(shù)據(jù)中心到邊緣再到終端,從消費(fèi)級(jí)到企業(yè)級(jí)直至數(shù)據(jù)中心級(jí),PCIe無(wú)從不在。

迄今的20年里, PCIe升級(jí)時(shí)徐時(shí)疾,記錄了20年IT發(fā)展的軌跡。

總線的“摩爾定律”

系統(tǒng)總線也有自己的類(lèi)“摩爾定律”:系統(tǒng)總線每3年帶寬乘2,即“3年2倍”。觀察PCI-SIG公布的PCIe帶寬路線圖,我們?nèi)粲兴肌?/p>

圖片來(lái)源:PCI-SIG官網(wǎng)

1. 如果以“3年2倍”的節(jié)奏, 我們會(huì)得到淺藍(lán)曲線帶來(lái)的發(fā)展趨勢(shì)。而現(xiàn)實(shí)情況是我們得到了紫色的曲線??v觀大勢(shì),紫色曲線完全在淺藍(lán)曲線上部。這意味著現(xiàn)實(shí)的總線架構(gòu)發(fā)展全面超越了“3年2倍”的預(yù)言。

2. 預(yù)言是從最后一代PCI-X, 也就是2001年發(fā)布的PCI-X 2.0開(kāi)始,“到2004年,帶寬可能升級(jí)到4.5GB/s”的預(yù)言因?yàn)镻CIe 1.0橫空出世而被提前了。2003年,PCIe 1.0的(雙向,下同)帶寬到了8GB/s(16通道),這也就意味著“3年里,帶寬×4”了。2006年發(fā)布的PCIe 2.0, 又把預(yù)計(jì)到2007年才實(shí)現(xiàn)的“帶寬×2”提前了。2010年發(fā)布的PCIe 3.0, 就如預(yù)言一樣準(zhǔn)時(shí)將帶寬升級(jí)到PCIe 2.0的2倍。其后,預(yù)期中的2013年和2016年的2次帶寬x2的升級(jí)并沒(méi)有發(fā)生。作為PCIe 3.0的下一代,PCIe 4.0直到2017年才姍姍來(lái)遲。這回僅過(guò)了2年,PCIe 5.0在2019年發(fā)布了——成為PCIe歷史上間隔最短的一次升級(jí)。2021年,PCIe 6.0的0.9規(guī)范發(fā)布,2022年1月,PCIe 6.0正式發(fā)布。PCIe 5.0和6.0發(fā)布時(shí)的帶寬都已經(jīng)是預(yù)言的同期值的2倍。

3. “照理”應(yīng)該2013年發(fā)布的PCIe 4.0為啥延后了4年到2017年才發(fā)布?“照理”應(yīng)該從2017年往后推3年到2020年才發(fā)布的PCIe 5.0為啥提前到2019年就發(fā)布了?還有,PCIe 6.0居然已經(jīng)要來(lái)了?!PCIe演進(jìn)在PCIe 3.0之后的失速和PCIe 5.0/6.0的突然加速,背后的邏輯是啥?如果是兩個(gè)詞,那我們投票給“需求”和“做得到”。如果是一個(gè)詞,那我們投票給“需求”。

PCIe 2.0到PCIe 3.0

從PCIe 2.0的2006年到PCIe 3.0發(fā)布的2010年,是虛擬機(jī)云計(jì)算需求的崛起的時(shí)代。

2007年:“云階段”始于基礎(chǔ)設(shè)施即服務(wù) (IaaS)、平臺(tái)即服務(wù) (PaaS) 和軟件即服務(wù) (SaaS) 的分類(lèi)正式化。基于容器的云 (PaaS) Heroku 成立。

2008年:VMware 推出基于 vSphere 的公共云計(jì)算服務(wù) vCloud。2009年:谷歌發(fā)布了谷歌應(yīng)用程序,使“云計(jì)算”被普遍使用。

2010年:Microsoft發(fā)布了Microsoft Azure云計(jì)算服務(wù);Docker,Inc.的前身dotCloud,Inc.在舊金山創(chuàng)立,最初經(jīng)營(yíng)的是PaaS類(lèi)型的業(yè)務(wù)。

與需求相匹配,PCIe 3.0的愿景是“I/O虛擬化和設(shè)備共享以適應(yīng)在單個(gè)平臺(tái)中支持多個(gè)獨(dú)立虛擬機(jī)的新興模式?!盤(pán)CIe 3.0不僅提供2倍于前代的速度,還添加了一些特性,例如緩存提示、原子和通過(guò)改進(jìn)的事務(wù)繞過(guò)語(yǔ)義降低延遲訪問(wèn)。

PCIe 3.0到PCIe 4.0

PCIe 3.0到PCIe 4.0的2010到2017年,應(yīng)用領(lǐng)域發(fā)生的是:大數(shù)據(jù)、深度學(xué)習(xí)和渴求低功耗表現(xiàn)的手持設(shè)備風(fēng)起云涌。在這個(gè)時(shí)期,幾個(gè)禁錮了深度學(xué)習(xí)進(jìn)步多年的技術(shù)難題剛剛有了解??墒牵瑥膽?yīng)用角度,還需要足夠時(shí)間把方興未艾的深度學(xué)習(xí)轉(zhuǎn)化為生產(chǎn)力,還沒(méi)能完全回答“AI究竟能幫我們什么”的問(wèn)題。

2011年,RuLU激活函數(shù)被發(fā)現(xiàn)可以避免梯度消失問(wèn)題。這意味著 深度學(xué)習(xí)社區(qū)可以避免深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間過(guò)長(zhǎng)到不切實(shí)際的問(wèn)題了。2012年,CNN模型 AlexNet發(fā)表,與早期模型相比,準(zhǔn)確率大幅提高了75%。這一勝利在全球引發(fā)了新的深度學(xué)習(xí)熱潮。2014年,對(duì)抗神經(jīng)網(wǎng)絡(luò)發(fā)表,為深度學(xué)習(xí)在時(shí)尚、藝術(shù)、科學(xué)領(lǐng)域的應(yīng)用打開(kāi)了大門(mén) 。2015年,NVIDIA Tegra x1發(fā)布。NVIDIA把這年定位為“NVIDIA跳入深度學(xué)習(xí)的元年?!?016年,NVIDIA DGX-1發(fā)布。NVIDIA宣布這是世上第一臺(tái)“盒子中的深度學(xué)習(xí)超級(jí)計(jì)算機(jī)”。同年,AlphaGo在實(shí)時(shí)的圍棋比賽中戰(zhàn)勝了人類(lèi)。

如果我們把那些把IT技術(shù)轉(zhuǎn)化為生產(chǎn)效率的人群起名為應(yīng)用組, 把研究IT技術(shù)本身的人群起名為技術(shù)組,技術(shù)組常常問(wèn)應(yīng)用組“我有這個(gè)技術(shù),你用得上嗎?” 而應(yīng)用組常常告訴應(yīng)用組“我想做成這個(gè),你有辦法幫我實(shí)現(xiàn)嗎?”更有應(yīng)用組告訴技術(shù)組說(shuō):“你原來(lái)已經(jīng)這樣厲害了!我以前不敢想的事情現(xiàn)在可以去試試做了?!边@些互動(dòng)都需要時(shí)間來(lái)完成。深度學(xué)習(xí)正引起不同領(lǐng)域的應(yīng)用組的研究,要轉(zhuǎn)化為生產(chǎn)力還需要一點(diǎn)時(shí)間。

同一時(shí)期,大數(shù)據(jù)領(lǐng)域也在發(fā)生劇變。人們開(kāi)始接受一個(gè)觀念:先把數(shù)據(jù)存下來(lái),未來(lái)可以從中挖掘價(jià)值。數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)可視、初級(jí)決策分析開(kāi)始盛行。

2008~2013年之間,大數(shù)據(jù)里Hadoop和Spark領(lǐng)域最具盛名的4家公司全部出現(xiàn)了(2008年Cloudera 成立;2009年MapR成立;2011年Hortonworks成立;2013年Databricks成立)。

2014年:在美國(guó),訪問(wèn)互聯(lián)網(wǎng)的低功耗的移動(dòng)設(shè)備數(shù)量首次超過(guò)了臺(tái)式電腦。隨后世界其他地區(qū)也紛紛出現(xiàn)相同的市場(chǎng)變化?;ヂ?lián)網(wǎng)、無(wú)處不在的智能手機(jī)使用和增加的營(yíng)銷(xiāo)加速了大數(shù)據(jù)革命,而物聯(lián)網(wǎng)增加了對(duì)快速高效的數(shù)據(jù)管理環(huán)境的需求。

2016年:IBM 報(bào)告稱(chēng)每天創(chuàng)建2.5萬(wàn)億字節(jié)的數(shù)據(jù)(即18個(gè)零),僅過(guò)去兩年(2014和2015年)就創(chuàng)建了(到2016年為止)世界上 90% 的數(shù)據(jù)。

這些大數(shù)據(jù)、深度學(xué)習(xí)、移動(dòng)設(shè)備和物聯(lián)網(wǎng)應(yīng)用對(duì)于I/O基礎(chǔ)架構(gòu)的需求主要?dú)w結(jié)于:更高的吞吐量和更低的功耗。

從存儲(chǔ)看:早期基于SATA/SAS接口、AHCI協(xié)議的NAND SSD暴露出接口帶寬可擴(kuò)展性的局限和軟件棧冗長(zhǎng)的問(wèn)題。自從2011發(fā)布了基于PCIe 3.0的NVMe 1.0規(guī)范,SSD的性能(帶寬和IOPS)獲得了充分的釋放。之后的7年,SSD的發(fā)展就安心聚焦到了可管理性、可維護(hù)性、內(nèi)部傳輸效率、單位成本,而接口帶寬暫時(shí)不成為瓶頸。這些從每一到兩年就發(fā)布升級(jí)的NVMe規(guī)范的內(nèi)容可以看出可管理性、節(jié)能等方面的內(nèi)容是重點(diǎn)。這個(gè)時(shí)期SSD性能的提升主要得益于NAND Flash介質(zhì)的逐步升級(jí)而非(對(duì)外的)接口帶寬。

圖片來(lái)源:NVME官方文檔

多年之后,隨著NAND SSD的控制器和介質(zhì)發(fā)展到新的階段,PCIe 3.0提供的帶寬才被視為 SSD的性能瓶頸。如圖所示,比如同一款NVMe 盤(pán), PCIe 4.0的升級(jí)帶來(lái)了清晰的性能提升。

從網(wǎng)絡(luò)設(shè)備看,直到2017年前,25Gb和40Gb是以太網(wǎng)的主流,8 通道和16通道 PCIe 3.0具備足夠處理以太網(wǎng)連接所需的帶寬。

PCIe從 3.0 到 4.0 沒(méi)有編碼變化,在協(xié)議方面只有很小的更新。實(shí)際上,向 4.0 的演進(jìn)主要針對(duì) PHY 接口,在鏈路級(jí)管理方面也只有細(xì)微的變化。PCIe 4.0可實(shí)現(xiàn)更穩(wěn)健的均衡?,F(xiàn)在,我們就理解了PCIe 4.0的愿景是“以低成本解決大數(shù)據(jù)需求”。

結(jié)語(yǔ)(上篇):

讀到這里,各位可能會(huì)想:PCIe 4.0是當(dāng)下熱門(mén)產(chǎn)品,何以稱(chēng)為“低成本”呢?考慮到PCIe 5.0平臺(tái)已經(jīng)推出,我們把PCIe 4.0接口看做“過(guò)渡”更合理吧?在下一期的文章當(dāng)中,我們會(huì)談到PCIe 5.0/6.0的發(fā)展情況,以及生態(tài)結(jié)構(gòu)的改變,屆時(shí)可能會(huì)對(duì)PCIe 4.0的未來(lái)定位產(chǎn)生不同的認(rèn)識(shí)。

免責(zé)聲明:此文內(nèi)容為第三方自媒體作者發(fā)布的觀察或評(píng)論性文章,所有文字和圖片版權(quán)歸作者所有,且僅代表作者個(gè)人觀點(diǎn),與極客網(wǎng)無(wú)關(guān)。文章僅供讀者參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。投訴郵箱:editor@fromgeek.com。

極客網(wǎng)企業(yè)會(huì)員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。

2022-06-13
SSD新范式|PCIe 5.0系列(1):前世傳奇
進(jìn)入2022年,隨著支持PCIe5.0的平臺(tái)如英特爾*第四代至強(qiáng)可擴(kuò)展處理器先后推出,我們發(fā)現(xiàn),其實(shí)NVMeSSD早就在為PCIe5.0的到來(lái)布局了。

長(zhǎng)按掃碼 閱讀全文