I3C 在伺服器上的應用
引言 - 甚麼是 I3C
I2C在多年前引入,他提供一種低成本的方法,將處理器連接到一組設備,以支援消費電子產品的需求;各種使用 I2C 的場所仍在許多行業廣泛使用,其低成本連接一組設備(也稱為多點)能力在很大程度上滿足了需求,雖然經常需要旁帶引腳,並且經常出現互通性問題。在不斷變化的需求使得 I2C 越來越嚴越成問題:隨著感測器使用的增加,這造成碎片化匯流排,增加多個包括 I2C、SPI 和 UART,來解決頻寬問題。此外,隨著更複雜的終端設備的出現而使引腳數變得更多,包括需要匯流排並行的各種每設備 GPIO 用於中斷(目標設備通知控制器)、睡眠和重定信號,等等。加之資料量的不斷增加發送/接收對匯流排頻寬和延遲造成了壓力。添加更多匯流排會添加更多引腳,更多佈線和更多能耗。
開發I3C 介面就是在解決感測器集成問題,這些問題在任何產品中使用 I2C、SPI 和 UART 時都會遇到,通過提供快速、低成本、低功率和易管理的雙線數位介面。 這些關鍵問題:性能、電源、引腳數(例如,目標中斷和重定控制)、互通性、匯流排管理和錯誤處理/卡死匯流排保護;並在保持向後的相容性以兼容舊版 I2C,來幫助實現過渡和演變。

I3C的建立目的
I3C介面旨在改進I2C介面的功能,同時保持向後相容性。它定義了主機處理器和週邊設備(例如,感測器)之間的標準多點介面。 實施I3C規範極大地增加了系統設計師取代現有介面(即I2C、SPI、UART)的靈活性,並支援系統(例如感測器子系統)中越來越複雜和多樣化的設備,同時盡可能降低成本。
I3C 的主要功能
I3C介面主要有兩個關鍵關注點:盡可能少地使用能量來傳輸資料和控制,同時減少介面使用的物理引腳數量。
因此,I3C介面具有以下特點:
- 使用推挽方式(Push-Pull) 的雙線序列介面,速度高達12.5 MHz
- 與舊版I2C設備共存於同一匯流排(有一些限制)
- 在支援舊版I2C設備靜態位址的同時,支援動態位址分配
- 支援舊版I2C消息傳遞
- 類似I2C的單數據速率消息(SDR)
- 可選的高速資料速率消息模式(HDR):
- HDR-DDR用於雙數據速率
- HDR-TSL,用於三元符號舊版匯流排(允許I2C設備)
- HDR-TSP,用於三元符號純匯流排(不允許I2C設備)
- HDR-BT用於批量傳輸
- 多點連接許多物理和虛擬裝置
- 多控制器能力
- 支持帶內中斷
- 支持熱插拔
- 同步定時支援
- 非同步時間戳記(僅適用於模式0)
- 分組地址分配
- 無需額外電線的目標重置
- 監控設備提前終止
- 設備到設備的隧道
- 多車道資料傳輸,適用於某些包括在I3C Basic中的HDR模式
注意:SDR模式和HDR-DDR模式的多車道資料傳輸不包括在I3C Basic中
I3C介面在匯流排功率方面提供了極大的效率,同時在速度上有顯著提升I2C的改進。圖2到圖5展示了不同的匯流排模式選項,這些選項提供了性能/功率與目標設備複雜性之間的權衡。

I3C mode 對比I2C FM+ (1 MHz)

展示不同I3C模式在多通道上的有效位元速率(Mbps)

I3C/I2C比較表
| I2C | I3C |
時脈速度/ | Fast mode: 400kb/s | SDR: up to 12.5Mhz |
Bus | Open drain | SCL Push-Pull, SDA Push-Pull & Open drain |
功耗 | 高 | 較低 |
結束數據讀取 | 必須由主機結束 | 主從都可以結束 |
帶內中斷 | 不支援 (需要額外IO中斷) | 支援 |
熱插拔 | 不支援 | 支援 |
故障檢測 | 不支援 | 支援 |
內置集成命令 | 無 | 有內建通用命令(CCC) |
主/從 | 一主多從 | 多主多從 |
從機地址 | 靜態 | 動態地址分配 |
上述說明了I3C跟I2C總線的基本差異,今天來瞭解 I3C 在伺服器 (主機版) 內部的應用。
伺服器上的I3C 匯流排一般有下列挑戰需要考慮:
信號完整性 (SI)
- 在實際應用場景中,I3C 匯流排上附掛 8-12 個副從設備(Slave device)且又需實現 12.5MHz 位元工作速率, 這樣的搭配已經是的極限. 超過太多副從設備會使得工作速度降低。
- 在伺服器主機板中PCB走線中,I3C 主設備(Master) 到最後一個從設備(slave device)的長距離走線 (一般會大於30英吋),這樣的長距離會加劇匯流排電容問題,尤其是過多個從設備(slave device)連接時也會增加電容效應。一旦電容效應增加,波形會漸漸失真變形,甚至無法判斷。
主設備和從設備的多種IO電壓規格
- 主設備:1.0V / 1.2V / 1.8V / 3.3V (BMCs),1.0V (CPU SPD 主設備),3.3V (晶片組)
- 從設備:1.0V 和 1.8V (Intel CPU),1.0V DDR5 SPD,PCIe I3C 1.8V (待定)
多主設備支援
- I3C 具有多主設備能力(Multi master),但伺服器供應商更傾向於在匯流排上一次連接一個主設備。
- I3C 多主設備協定/交接的挑戰:如何在兩個主設備之間作協定的交接優先權制定等。
與 I3C 從設備混合傳統 SMbus 從設備
- 相容支援 SMbus 的從設備(時鐘拉伸,ARP (位址解析通訊協定):從設備(slave) 上往往不會只有單一I3C的裝置,還有其他I2C、 SMBus等混合型的掛接。
針對上面的挑戰,瑞薩提供I3C智慧切換集線器可以克服上述的問題。
其規格要點簡列如下:
I2C/I3C 多端口集線器 (2:4 或 2:8 集線器)
- 兩個主側(上行)端口 (Master)
- 多達八個從側(下行)端口 (Slave)
- 主側端口多工器
- 支持 I2C 和 I3C Basic 1.0 協議
- 支持混合 I2C/I3C 線路
- 支持 帶內中斷IBI (In-Band Interrupt) 和 IBI 優化與即插即用(Hot Join)
- 從側(Slave)支持 SMBus 與SCL 拉伸
- 開漏模式下的 SMBus SCL 拉伸支持
- JEDEC SPD/模組管理總線上下文支持
- 支持控制器到目標的模擬開關模式
- 支持混合模擬開關和再驅動(專利申請中)
- 單一 3.3V 電源供應
- 支持控制器-目標電平轉換
- 片上電壓調節器或 IO 電源的直接平台連接
- 支持網路分區
- 支持混合透明和非透明橋接(專利申請中)

應用實例
目前於英特爾伺服器平台Granite Rapid 系列上有參考設計使用 I3C智慧開關集線器,後面陸續有更新的平台也都有機率使用。
DDR5 DIMM info access

CPUs management port access

CPUs debug port access via I3C hub

結語
隨著高效伺服器需求與應用越來越多,伺服器主機板上的通訊速度也不斷的提升與進化。如何滿足未來的需求,也是專家們不斷制定新標準目的。
I3C 技術在 AI 伺服器上的應用主要集中在提高系統管理和通信效率。例如,I3C 可以用於伺服器內的模組管理,支持更高的數據傳輸速率和更低的功耗。這使得伺服器能夠更有效地處理大量數據,同時保持高性能和穩定性。此外,I3C 支持即插即用和熱插拔功能,這意味著系統管理員可以在運行中添加或移除設備,而不會中斷服務。這些特性使得I3C技術成為伺服器管理和數據中心應用中的理想選擇。
資料來源 Renesas 官網