CNVi 技術會是雷電 3 ( Thunderbolt 3 ) 介面的小小救星嗎?
這是個腦洞挺大的標題。我之所以想寫該主題,是因為晚上看到篇關於 ThinkPad X1 Tablet Evo 的評測,閱畢,對其中 PCI-E 通道的分配方式產生了一些曲解 ( 見該評測的評論 ) 。有陌生知識點就該學習,於是去查了一些資料,就有了這篇筆(che)記(dan)。
① 適用於射頻模塊 ( RF Module ) 的 M.2 連接器 ( M.2 Connector ) 的定義
目前超極本和平板所普遍採用的 WiFi + 藍牙(BT) 二合一模塊,統稱為射頻模塊。常見的射頻模塊有兩種形式:M.2 2230 和 M.2 1216 ,其中,前者尺寸為 22mm*30mm ,後者尺寸為 12mm*16mm ;除了尺寸上的區別,前者是插卡的版本 ( 即金手指與插槽連接 ) ,後者直接錫焊在主板上 ( PCI-SIG 協會將這種連接方式定義為 Socket 1 ,而前者為 Socket 2 或 3 ) 。
② 射頻模塊與晶元組 ( PCH or SoC ) 的經典連接方式及其不足
多年來,射頻模塊一直使用 PCI-E + USB 通道與晶元組連接 ( 見下圖左半邊 ) 。其中,PCI-E 通道連接 WiFi 部分,USB 通道連接 BT 部分,M.2 2230 和 1216 均可支持兩種通道同時連接。
這種連接方式是存在不足的。由於射頻模塊採用 PCI-E 和 USB 通道,對於操作系統而言,WiFi 部分會被識別為 PCI-E 設備,BT 部分則會被認為是 USB 設備。CPU 和晶元組與射頻模塊的通信,是以與 PCI-E / USB 設備通信的方式進行的,相當於在控制獨立的硬體設備。按照 Intel 官方的說法,在功耗 ( power ) 、成本 ( cost ) 和體積 ( size ) 上都存在浪費。
③ CNVi ( Connectivity Integration Architecture ) 的含義及其優勢
CNVi 正是為解決以上不足而提出的。Intel 官方也將 CNVi 稱作 Integrated Intel Wireless-AC Solution ,顧名思義,這是集成化的無線解決方案,對此,Intel 卻解釋的很含糊:
The integrated Intel? Wireless-AC moves key elements of Wi-Fi and Bluetooth? Technology into Intel? processors.
那麼,這個「 key elements 」指的究竟是什麼呢?其實從上圖右半邊可以看出,有了 CNVi 之後,射頻模塊的 WiFi 和 BT 部分均有不同程度的精簡,名稱也降格為了伴射頻模塊 ( Companion RF Module , CRF Module ) ,具體而言:
- 對於 WiFi 部分,CNVi 集成了 MAC 層;
- 對於 BT 部分,CNVi 除了集成 MAC 層,還包括 BB ( Base Band ) Modem 。
如此一來,BT 部分就不再需要 USB 連接,可以直接使用 GPIO ,原因是通信的雙方從「 晶元組 」與「 BT 設備 」變成了「 BB Modem 」與「 BB Filters 」,即 BT 設備內部的通信。
而對於 WiFi 部分而言,由於 CNVi 仍然未集成 WiFi 模塊的 BB Modem,並不能使用 GPIO 。顯然,PCI-E 也不適用,因為此時是 MAC 與 Modem 的通信,可以看成是「 數據鏈路層 」與「 物理層 」的事情。對此,CNVi 特別設計了一種介面,稱作 CNVio ( 毫無創意的名字 ) ,CNVio 就是通信的通道。
可以看出,CNVi 的思路,部分參考了當年晶元組南橋部分集成乙太網 MAC ( Ethernet Link Layer ) 的做法。有了 CNVi ,除了圖片里提到的三點優勢,諸如 PXE OpROM on WLAN 、Power on WLAN ( 腦洞大開 ) 或許也是可期待的。
④ 能夠支持 CNVi 的平台 ( 三部分需要同時滿足 )
- CPU 部分:
8th Gen Intel? Core? processors *
Intel? Pentium? Silver processors based on Gemini Lake
Celeron? processors based on Gemini Lake
* 以上是 Intel 給出的列表 —— 事實上,按照前面那張圖片所透露的信息,8th Gen Core 應當只包括 Coffee Lake ,i5-8250U / 8350U 、i7-8550U / 8650U 這些 Kaby Lake R ( Refresh ) 型號是不包括在內的。
- 晶元組部分:
Intel? 300 Series Chipsets for Coffee Lake
H310 / B360 / H370 / Q370 / HM370 / QM370 / CM246 ,不包括 Z370
- 射頻模塊部分:
Intel? Jefferson Peak CRF Module Series
Wireless-AC 9461 / 9462 / 9560 M.2 CNVio CRF Modules
⑤ CNVi 技術會是雷電 3 ( Thunderbolt 3 ) 介面的救星嗎?
回到標題所提出的問題。引入 CNVi ,省下了一條 PCI-E 通道 ( 和 USB ) ,這似乎是微不足道的 —— 但又是至關重要的。
原因是,像 ThinkPad X1 Tablet Evo 這樣的產品,滿足以下條件:
- 輕薄設計 ( 平板、超極本、二合一產品、NUC ,等等 )
- 搭載 15W 的 -U 系列 CPU ( 或 28W ,總之是 SoC )
- 帶有兩個 ( 或更多的 ) 雷電 3 介面 ( Intel 已經取消了雷電 3 的授權費 )
不可避免地會遇到一個問題:PCI-E 通道數不夠用。以 i7-8550U 為例,它集成有 16 條 HSIO ( High Speed IO ) ,其中有 12 條 HSIO 可以被配置為 PCI-E 通道 ( 見 I/O Data Sheet PDF 的第 24 頁 ):
然而,將這 12 條 HSIO 全部配置為 PCI-E ,是有前提的:
- 不使用 GbE ( 圖中藍色部分 ) ,即千兆乙太網的 MAC
- 不使用 USB3 #5~6 ,即 5~6 號 USB3.0 介面
- 不獨立*使用 SATA 介面 ( 圖中綠色部分 )
* 在這裡,"獨立" 是指將 SATA 介面做成 7pin ( 獨立 SATA 介面 ) 、7+15pin ( 2.5 寸硬碟所用的介面 ) 或 7+9pin ( 2.5 寸光碟機所用的介面 ) 的形式,由於以上介面都僅能用於 SATA 設備,會導致同一 HSIO 下的 PCI-E 通道在事實上無法被利用 ( 即「物理上的插槽」與「邏輯上的定義」產生了衝突 ) 。這個現象,對於"惜資源如金"的工控主板電路工程師來說,感觸會尤其深刻 ( 甚至有時候在 PCB 打板時才會發現不對勁,白花花的銀子呀 ) 。
相對應地,"非獨立" 是將 SATA 介面做成可切換的形式。例如早期的 mSATA / mPCIe 二合一插槽,現在演變為 M.2 Key B+M ,這種插槽同時支持 SATA 和 PCI-E 的設備,由 UEFI BIOS 切換其功能:當切換為 M.2 Storage 模式時,支持 SATA 或 PCI-E 2X 的 SSD ,載入 Intel Rapid Storage Techonology ;當切換為 M.2 PCI-E 設備時,不載入 Intel RST ,主要用於 WWAN 模塊 ( 即 4G 網卡 ) 。
現在,假設滿足以上前提,那麼每增加一根供 NVMe SSD 使用的 M.2 Key M 插槽 ( 即圖中粉紅色的 Intel PCIe* Storage Device ) ,需要多佔用 4 條 PCI-E 通道 —— 也就是說,最多還剩下 8 條。而全速 ( 40Gbps ) 的雷電 3 介面,是需要使用 4 條 PCI-E 通道的,一旦給兩個雷電 3 介面以獨享的 PCI-E 通道,所剩的 8 條將全部分配完畢。結果是,沒有留給射頻模塊 ( 無線網卡 ) 的 PCI-E 通道了。所以,目前的通行做法 ( 包括 MacBook Pro 在內 ) 是,每兩個雷電 3 介面只使用一個雷電 3 控制器,讓這兩個介面共享 4 條 PCI-E 通道。
但是,這種通行做法並不是最優的。還是以 i7-8550U 為例,其 Spec 頁面指出了所支持的 PCI-E 組織形式:1x4, 2x2, 1x2+2x1 and 4x1 ,以此可以猜測 ThinkPad X1 Tablet Evo 的 PCI-E 配置:由於 RF Module 需要同時使用 PCI-E 和 USB ,其 M.2 Key E 插槽必然在 HSIO #5~6 的位置上;雷電 3 控制器和 NVMe SSD 各使用 4 條 PCI-E ( 實際順序也許和圖裡是反的,這個不重要 ) ,總的來看,是類似於下圖這樣:
也就是說,12 條 PCI-E 被配置為 4x1 + 4x1 + 2x2 或 4x1 + 4x1 + (1x2+2x1) —— 無論實際是哪一種,圖中紅色問號所指出的 PCI-E 資源都是閑置的 ( 或者說被浪費 ) ,閑置的原因正是射頻模塊佔用了寶貴的資源。要解決這個問題,CNVi 是很合適的。一旦引入 CNVi ,就可以空出完整的 3 組 4x1 PCI-E 資源,除了 NVMe SSD 使用其中 1 組,還可以讓每個雷電 3 介面都有對應的雷電 3 控制器,以及獨享的 PCI-E 4X 帶寬。
順帶一提,除了 CNVi 的利好,Intel 似乎還打算直接解決 PCI-E 通道數不足的問題。雖然現在還不知道 Whiskey Lake 是個什麼鬼,但從 Coffee Lake 起,Intel 已經把 -U 系列 CPU 所集成的 PCI-E 通道數,從 Haswell / Broadwell / Skylake / Kaby Lake 的 12 條,增加到了 16 條,比如 i5-8259U ( 雖然 i5-8259U 是 28W 的 eDRAM 版本,但是 Kaby Lake 的 28W eDRAM 版也是 12 條 PCI-E ) 。有理由認為 i5-9250U / i7-9550U ( 如果這就是 Whiskey Lake 的話 ) 同樣是 16 條 PCI-E 。
設想一下美好的應用場景:有了兩條獨享帶寬的全速雷電 3 介面,一個外接獨立顯卡,另一個外接拓展塢,只需幾秒鐘,就可以讓輕薄本 ( 平板 ) 在性能和功能上同時進化~
推薦閱讀:
※網易雲音樂有哪些扎心的熱評?
※科技足夠發達之後,還會有迷信嗎?
※科技領域有沒有(過)難以傳世的事物?
※無厘頭問題:為什麼小米的生態鏈都叫「X米」?
※去掉這個基因就能長生不老?新研究或可逆轉人腦衰退!