PC北橋端高速采集存儲系統研究
引言
本文引用地址:http://www.104case.com/article/187432.htm 由于現在的PCI、CPCI、VME等系統的持續傳輸速度很難超越400MB/s,因此要完成實時、長時間的采集存儲功能,本設計選擇實現一種基于PCI-E的系統,PCI-E是第三代接口通信協議(3GPIO)。傳統的PC主機北橋只有一個高速的PCI-E X16接口,本文使用帶G31北橋的芯片組的技嘉主板GA-G31M-ES2C為例來進行討論,雖然G31-ICH7芯片組在南橋上可提供4個PCI-E ×1接口,但是由于其他I/O端口資源的占用,該主板在北橋上僅提供了一個PCI-E ×16的插槽,南橋也只提供一個PCI-E ×1插槽。因此如果只采用G31/ICH7芯片組的電腦建立一個PCI-E采集存儲系統,它只能實現PCI-E 1.0 單通道的采集存儲系統,帶寬就被限制在200MB/s內。而這種格局主要是由于計算機北橋只提供一個PCI-E插槽,不能同時滿足高速采集和存儲的連接需要,因此擴展主機北橋上的PCI-E接口,將整個采集存儲都建立在北橋上變得至關重要。
系統結構分析
Intel(英特爾)公司最新的雙通道DDR3內存以及下一代雙×16 PCI-E 2.0的計算機芯片組技術提供了一種更新的個人電腦的架構,這些技術被應用到X38、X48和X58等計算機芯片組中。本文以X58為例,圖1為X58芯片組的系統架構。

圖1 X58芯片組的系統架構
X58芯片組搭配新南橋ICH10或ICH10R,可支持四條PCI-E ×16插槽(其中兩條符合PCI-E 2.0規范),根據通道數的要求可組成四種不同模式,當然它只支持雙圖形處理器(GPU)協同運行的技術CrossFire,仍不支持Scalable Link Interface(SLI)技術。SLI技術是主板能夠同時使用兩塊同型號PCI-E顯卡的一種技術,同時芯片間通信通過類似AMD HyperTransport總線技術的QPI總線技術完成,借助PCI-E通道可帶來最高25.6GB/s的雙向帶寬,而現在的前端總線Front Side Bus(FSB)則被徹底棄用。我們可以直接運用X58芯片組構建一個高速實時的系統,但由于現階段很少有能夠完全利用PCI-E ×16帶寬的采集卡,因此將資源進行分割,利用多塊采集模塊組成一個采集系統,通過PCI-E Switch擴展接口的方法可以將X58芯片組擴展成為一個更高速、兼容更多模塊的采集存儲系統。
DMI(Direct Media Interface)直接媒體接口是Intel公司開發用于連接主板南北橋的總線,取代了以前的Hub-Link總線。DMI采用點對點的連接方式,時鐘頻率為100MHz,由于它基于PCI-E總線,因此具有PCI-E總線的優勢。DMI實現了上行與下行各1GB/s的數據傳輸率,總帶寬達到2GB/s,但DMI還要與其他I/O設備進行通信,因此如果選擇南橋的PCI-E端口進行傳輸,傳輸速度將受到很大的限制,理想情況下至多只能實現1GB/s的傳輸存儲速度。因此,本系統在計算機中DMI以上的結構中完成數據的傳輸和存儲。我們可以將連接在芯片G31 GMCH的PCI-E ×16端口通過一個PCI-E Switch進行擴展,擴展后的結構相當于主機北橋提供了多個高速的PCI-E接口,形成一個類似于圖1中的X58架構,從而使整個傳輸存儲過程不受DMI雙向2GB/s速度的影響。
利用北橋PCI-E擴展技術,將所有的采集卡和存儲卡都連接到主機的北橋端,可使整個數據傳輸不受主機DMI等的速度瓶頸限制,如果只是使用PCI-E ×4對系統進行擴展,理想的有效數據傳輸速度也可達800MB/s,而且由于PCI-E協議是雙向同時傳輸的,因此將采集卡和存儲卡同時連接到一個端口并不會影響其傳輸和存儲的效率。
系統設計
PCI-E Switch
PCI-E Switch為整個系統提供擴展端口,系統中所有的PCI-E接口都是通過PCI-E Switch芯片擴展出來的,類似的可以看成將多個PCI-E插槽直接連接到主機的北橋上。圖2為含PCI-E的拓撲結構圖,通過Switch可以將一個上游設備口擴展多個下游端口,此外PCI-E Switch還可以級聯。通過一個多通道的PCI-E Switch可擴展構建一個多采集卡多存儲設備的實時高速采集存儲系統。

圖2 含PCI-E Switch的拓撲結構圖
本方案采用的是PLX公司的一塊PCI-E Switch芯片PEX8616,它是一款可以設置4個接口并擁有16個通道的PCI-E Switch芯片,并可設置每個接口的通道數。其支持透明橋(TB)、非透明橋(NTB)兩種方式,即可以支持兩個及以上的多主機系統和多智能I/O端口的模塊。PEX8616每個通道含有兩個虛擬端口,且支持熱插拔。由于主要目的是將北橋上的PCI-E ×16插槽擴展成為多個PCI-E接口。因此,本系統中將其分為四個PCI-E ×4的接口。端口號為0、1、5和6,將與主機連接的端口0設置為上游端口,其余三個端口則為下游端口,連接采集卡和RAID存儲卡。
PCI-E數據傳輸方式包含地址路由和ID路由等方式,PCI-E設備在系統中都有一個ID,根據所處的PCI總線號、設備號和功能號來確定。一個PCI-E Switch可以看成多個P2P橋的集合,并且在上游設備和下游設備之前還虛擬了一條總線。
p2p機相關文章:p2p原理
評論