熱插拔的基本目的是要讓PCIe設備按照規定的順序、原則,從系統中移除或插入到系統中來,并能正常的工作,且不影響系統的正常運行。事實上,PCIe“熱插拔”的關鍵目的就是為前面面所提到的系統RAS服務的,是提升系統RAS能力的非常重要的手段!
熱插拔有三個重要的功能:
在線替換發生故障的PCIe設備。不需要關閉、重啟系統。
熱插拔器件,系統及其他功能服務繼續運行,不受影響。
熱插拔PCIe設備的相關驅動/軟件自動加載/卸載。
Spec中對于熱插拔是這樣定義的:
Hot-Plug |
Insertion and/or removal of a card into an active backplane or system board as defined in PCI Standard Hot-Plug Controller and Subsystem Specification, Revision. 1.0. No special card support is required. |
Hot swap |
Insertion and/or removal of a card into a passive backplane. The card must satisfy specific requirements to support Hot swap. |
注意,這里有兩個相關概念,前面我們講的熱插拔,其實是廣義的“熱插拔”。這里的Hot-Plug,為了方便,我們叫做PCIe熱插拔,也就是我們現在及后面將要討論的內容。
Hot Swap,即熱交換,也叫熱切換,主要指的是CPCI(Compact PCI,緊湊型PCI)領域所使用的。關于 Hot Swap,CPCI有專門定義的一套規范,叫《CompactPCI Hot Swap Specification》,也有中文版本,有興趣的可以自行研究。
如無特別的指出,我們后續所說的熱插拔都是指的是PCIe Hot-Plug。
順便說一下:在PCI的年代,就已經提出了PCI的相關熱插拔規范。2001年,PCI定義了PCI標準熱插拔控制器(SHPC:PCI Standard Hot-plug Controller and Subsystem Specification)規范,PCIe沿用了這套規范。
硬件上看,一個新的PCIe設備插入系統,肯定是需要硬件上支持識別到這個插入動作的。因此,Spec定義了一個在位(Present)的pin腳,硬件上用作判斷卡是否插入??ú迦霑r,這個pin被拉低。當然,因為PCIe金手指的長度較長,插入卡時有可能前后高低差異。因此,需要有前后多個present pin來確保金手指完全插入。
PRSNT與熱插拔
如圖 1所示,PCIe背板卡槽的PRSNT1#接地,PRSNT2#連接到熱插拔控制器,并上拉。PCIe板卡的PRSNT#1信號連接到距離其最遠的PRSNT2#引腳(PRSNT2#可能有多個)。需要注意的是,PRSNT引腳比其它引腳短1mm,這樣可以保證插入和拔出時有1ms的時間差,從而確保上電、掉電時序符合規范。當板卡插入時,其它引腳接觸完成后,PRSNT#1先被拉低,PRSNT#2最后被拉低,然后PCIe背板的熱插拔控制器認為板卡已被完全插入,開始啟用相關信號。
圖 1 PRSNT信號與熱插拔
PRSNT硬件設計
當硬件需要支持熱插拔時,PRSNT1#、PRSNT2#引腳必須按照規范連接,如果不支持熱插拔(不用于服務器的板卡一般都不支持)則必須將PRSNT2#接地,如果懸空會導致背板插槽的PRSNT2#無法被拉低,從而導致板卡無法正常工作(僅出現于支持熱插拔的PCIe背板)。
審核編輯:湯梓紅
-
熱插拔
+關注
關注
2文章
226瀏覽量
37607 -
PCIe
+關注
關注
15文章
1260瀏覽量
83186
原文標題:PCIe引腳PRSNT與熱插拔
文章出處:【微信號:被硬件攻城的獅子,微信公眾號:被硬件攻城的獅子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論