使用安捷倫4端口Tachyon光纖通道控制器和PCI Express系統(tǒng)總線實(shí)現(xiàn)RAID架構(gòu)
本文將向您介紹一款采用光纖通道協(xié)議實(shí)現(xiàn)RAID控制器的系統(tǒng)設(shè)計(jì)方案。我們將重點(diǎn)討論如何使用安捷倫Tachyon 4 Gb/s 4端口光纖通道協(xié)議IC,把多個(gè)磁盤通道加入在一個(gè)提供RAID應(yīng)用的計(jì)算系統(tǒng)中,并對(duì)使用RAID存儲(chǔ)技術(shù)的整個(gè)系統(tǒng)進(jìn)行簡(jiǎn)單介紹(包括光纖通道拓?fù)浼斑x項(xiàng)、FC終端、磁盤通道和處理器功能)。
RAID系統(tǒng)架構(gòu)概述
數(shù)據(jù)存儲(chǔ)的應(yīng)用越來(lái)越廣泛。過(guò)去的單一設(shè)備現(xiàn)在容納或產(chǎn)生大量的數(shù)字信息。海量數(shù)據(jù)時(shí)代的到來(lái)加速了人們對(duì)信息安全存儲(chǔ)的需求。光陰荏苒,人們保存了大量的數(shù)據(jù),但是重新獲得丟失的數(shù)據(jù)卻要耗資巨大。為此,人們部署了可靠的數(shù)據(jù)存取系統(tǒng)來(lái)保存或存儲(chǔ)數(shù)據(jù)。隨著保護(hù)數(shù)據(jù)安全呼聲的高漲,對(duì)RAID解決方案的需求也日益增加。RAID解決方案提供有多種有助于提高數(shù)據(jù)檢索成功率的選擇方案。盡管RAID技術(shù)現(xiàn)在已可以應(yīng)用于實(shí)現(xiàn)可靠檢索所需的任何數(shù)字存儲(chǔ)介質(zhì)上,當(dāng)前人們還是普遍把數(shù)據(jù)存儲(chǔ)在物理介質(zhì)上。
在一個(gè)實(shí)施RAID技術(shù)的完備系統(tǒng)中,需要考慮下列事項(xiàng):
● 帶一個(gè)或多個(gè)CPU的控制處理機(jī)。
● 需要將一些磁盤與控制處理機(jī)相連接。通常采用專門用于附加驅(qū)動(dòng)器的特殊協(xié)議實(shí)現(xiàn)磁盤連接。目前,有好幾種流行的磁盤協(xié)議。這里我們將重點(diǎn)介紹在大多數(shù)高端存儲(chǔ)陣列設(shè)計(jì)中使用的光纖通道協(xié)議。
● 驅(qū)動(dòng)器和處理器間無(wú)法直接實(shí)現(xiàn)高效連接。為此,人們使用了協(xié)議轉(zhuǎn)換器為一個(gè)接口上的處理器提供API,并實(shí)現(xiàn)與另一個(gè)接口上驅(qū)動(dòng)器的連接。
圖1為典型系統(tǒng)示例,其中包括四個(gè)CPU,一個(gè)由內(nèi)存控制器和接口設(shè)備組成的處理器組(Processor Complex)、一個(gè)協(xié)議控制器和多個(gè)光纖通道鏈路組成的陣列。對(duì)磁盤控制器架構(gòu)的多樣性和利弊,本文不作討論。圖1所示系統(tǒng)為最簡(jiǎn)單的通用架構(gòu),我們將用它來(lái)介紹RAID控制器的一般功能。
RAID概述
RAID 實(shí)施方案這一概念并不僅僅包括以后檢索所需的儲(chǔ)存數(shù)據(jù),它還涉及到采用下文介紹的一級(jí)或多機(jī)RAID架構(gòu)。
RAID-0:數(shù)據(jù)分割(Striping)。數(shù)據(jù)分割不能增加系統(tǒng)安全性,但可以提高系統(tǒng)性能。一個(gè)文件被存儲(chǔ)在多個(gè)驅(qū)動(dòng)器上。文件被分成若干塊,并被依次寫入連續(xù)的磁盤中,這樣就可以分?jǐn)倖蝹€(gè)驅(qū)動(dòng)器的寫反應(yīng)時(shí)間并使多個(gè)寫操作重迭進(jìn)行。
RAID-1:磁盤鏡像(Mirroring)。將一個(gè)磁盤上的所有數(shù)據(jù)完全復(fù)制到另一個(gè)磁盤中。這需要將數(shù)據(jù)寫入不同的磁盤中,涉及到兩個(gè)單獨(dú)的寫操作。這兩個(gè)磁盤無(wú)主次之分,一個(gè)磁盤是另一個(gè)磁盤100%的備份。已完成的寫操作,必須是已同時(shí)在兩個(gè)磁盤上完成了同樣的寫操作。如果一個(gè)磁盤故障,與之鏡像的磁盤保持正常操作,不會(huì)造成中斷。RAID-1提供了較好的管理能力,而且在正常操作或系統(tǒng)恢復(fù)時(shí)不需要占用太多的CPU。但這種方式成本很大:磁盤上需要保護(hù)的每千兆字節(jié)都會(huì)需要一個(gè)完全一模一樣的千兆字節(jié)。換句話說(shuō),RAID-1所需要的磁盤空間是無(wú)保護(hù)磁盤空間的兩倍。
RAID-2:漢明碼糾錯(cuò)(Hamming code error correction)。與ECC內(nèi)存一樣,RAID-2也使用了漢明碼方法校驗(yàn)磁盤數(shù)據(jù)的正確性。
RAID-3、RAID-4和RAID-5都使用了不同的奇偶校驗(yàn)方法。與RAID-1完全復(fù)制數(shù)據(jù)不同,這些等級(jí)的RAID通過(guò)添加一個(gè)附加磁盤將數(shù)據(jù)分散在幾個(gè)磁盤上。附加磁盤上的數(shù)據(jù)是用其它磁盤的數(shù)據(jù)計(jì)算出來(lái)(使用Boolean XORs)。當(dāng)磁盤組中任一個(gè)丟失時(shí),可以用磁盤組中其它磁盤上的數(shù)據(jù)通過(guò)計(jì)算來(lái)恢復(fù)丟失的數(shù)據(jù)。由于這幾種方法不需要RAID-1 100%磁盤備份的費(fèi)用,因此它們所需成本比RAID-1要低。然而,由于磁盤上的數(shù)據(jù)是計(jì)算出來(lái)的,磁盤丟失后會(huì)影響與寫操作和數(shù)據(jù)恢復(fù)相關(guān)的性能。
RAID-3:虛擬磁盤塊(Virtual disk blocks)。RAID 3會(huì)把數(shù)據(jù)寫入操作分散到RAID陣列中的所有磁盤上進(jìn)行(數(shù)據(jù)分割)。因?yàn)槊看螌懖僮饕佑|每個(gè)磁盤,陣列同時(shí)只能寫入一塊數(shù)據(jù),因此導(dǎo)致整個(gè)RAID系統(tǒng)性能下降。RAID-3的性能因?qū)懖僮餍再|(zhì)的不同而不同:寫入少量數(shù)據(jù)時(shí)因需要所有的磁盤工作,性能較差,而在寫入大量數(shù)據(jù)時(shí)性能較好。
RAID-4:專用奇偶盤(Dedicated parity disk)。在RAID-4陣列中,有一組數(shù)據(jù)盤,通常是4~5個(gè)數(shù)據(jù)盤(可以有更多數(shù)據(jù)盤,但會(huì)大大影響性能)和一個(gè)專門用來(lái)管理其它磁盤上數(shù)據(jù)奇偶性的特殊磁盤。因?yàn)槊看螌懖僮鞫夹枰L問(wèn)奇偶盤,奇偶盤成了系統(tǒng)性能的瓶頸,降低了整個(gè)陣列中所有寫操作的速度。
RAID-5:磁盤分割(Striped parity)。RAID-5實(shí)際上與RAID-4一樣,唯一不同的是:在RAID-4中,所有奇偶校驗(yàn)信息位于一個(gè)單一磁盤上,而在RAID-5中,對(duì)奇偶校驗(yàn)信息進(jìn)行了分割,將其存放在陣列中各個(gè)磁盤上。這種共享可以均衡并減少RAID-4方法的性能影響。在常用的RAID-5軟件實(shí)施方案中,由于寫操作占用了15%以上的磁盤空間,系統(tǒng)速度會(huì)變得很慢,令人難以接受。
要實(shí)施任意RAID組合,需要考慮幾個(gè)功能。在實(shí)施0級(jí)以上的RAID方案時(shí),通常要連接多個(gè)磁盤。為了實(shí)現(xiàn)數(shù)據(jù)分割、鏡像和奇偶校驗(yàn),采用了多種磁盤存取方式或操作。例如,為了實(shí)現(xiàn)RAID-1,需要連續(xù)向兩個(gè)驅(qū)動(dòng)器寫入數(shù)據(jù)。磁盤的讀或?qū)懖僮魍ǔ1环Q之為磁盤輸入/輸出(I/O)。這可以是可與一個(gè)或多個(gè)驅(qū)動(dòng)器實(shí)現(xiàn)通信的任意協(xié)議。這個(gè)功能可通過(guò)系統(tǒng)中一個(gè)或多個(gè)處理器上運(yùn)行的軟件實(shí)現(xiàn)。方法是在通過(guò)協(xié)議控制器API實(shí)現(xiàn)RAID技術(shù)和進(jìn)行通信時(shí),實(shí)現(xiàn)高級(jí)磁盤寫入功能。
最好使用一個(gè)可以管理多個(gè)磁盤通道的協(xié)議控制器,使處理控制機(jī)可以在RAID應(yīng)用中和系統(tǒng)管理功能上工作。對(duì)于部署連接狀態(tài)和多個(gè)驅(qū)動(dòng)器通道的光纖通道等復(fù)雜協(xié)議而言,通常使用類似于Tachyon系列產(chǎn)品的高端控制器為系統(tǒng)提供最高等級(jí)的性能。
Tachyon架構(gòu)
Tachyon光纖通道協(xié)議控制器系列產(chǎn)品采用了1 Gb、2 Gb和4 Gb 光纖通道鏈路,并根據(jù)不同設(shè)備通過(guò)PCI、PCI-X或PCI Express接口與系統(tǒng)相連。
盡管不論是光纖通道技術(shù),還是系統(tǒng)總線互連技術(shù)都取得了重大進(jìn)展,Tachyon協(xié)議引擎系統(tǒng)架構(gòu)卻是隨著半導(dǎo)體工藝技術(shù)的發(fā)展而拓展。這一架構(gòu)以FSM(Finite State Machine)設(shè)計(jì)為基礎(chǔ)。在FSM設(shè)計(jì)中,采用了眾多獨(dú)立狀態(tài)機(jī),這些狀態(tài)機(jī)并行運(yùn)行,因此可以獲得比固件或軟件解決方案更高的性能。隨著頻率增加,Tachyon的性能也相應(yīng)提高,而在基于固件的解決方案中,電路頻率并不會(huì)直接改善算法的性能。
Tachyon架構(gòu)支持入局和出局?jǐn)?shù)據(jù)通路獨(dú)立和同步運(yùn)行,因此可以在光纖通道鏈路全速率下實(shí)現(xiàn)全雙工操作。此外,由于在數(shù)據(jù)移動(dòng)的同時(shí)可以同步處理I/O操作的控制請(qǐng)求,Tachyon架構(gòu)還可以實(shí)現(xiàn)數(shù)據(jù)移動(dòng)設(shè)備的最佳利用。
FSM 的性能與時(shí)鐘頻率密切相關(guān)。FSM設(shè)計(jì)不但可以決定每個(gè)時(shí)鐘周期,而且和嵌入式微處理器一樣在發(fā)布指令和數(shù)據(jù)找取時(shí)對(duì)內(nèi)存存取速度沒(méi)有依賴性。除了隨鏈路性能工藝技術(shù)的發(fā)展而升級(jí),Tachyon還利用系統(tǒng)接口總線的技術(shù)改進(jìn)來(lái)增加每秒I/O性能。
PCI Express的適用性
過(guò)去,雙向系統(tǒng)總線接口(如PCI和PCI-X)共享資源限制了Tachyon架構(gòu)中的全雙工功能。Tachyon產(chǎn)品中兩個(gè)獨(dú)立的數(shù)據(jù)移動(dòng)設(shè)備爭(zhēng)相占用PCI或PCI-X系統(tǒng)接口。
帶有獨(dú)立Ingress和Egress數(shù)據(jù)通路鏈接的PCI Express非常適用于Tachyon架構(gòu)。由于Express Ingress數(shù)據(jù)通路與Tachyon 出局?jǐn)?shù)據(jù)通路以及Express Egress數(shù)據(jù)通路與Tachyon入局?jǐn)?shù)據(jù)通路的結(jié)合使用,數(shù)據(jù)可以同時(shí)雙向自由傳輸,這與Tachyon架構(gòu)的初衷一致。
從一個(gè)雙向系統(tǒng)總線轉(zhuǎn)變?yōu)橐粚?duì)單向鏈路還消除了與關(guān)聯(lián)交易相關(guān)的丟失總線周期,此時(shí),在總線中有一個(gè)等待返回?cái)?shù)據(jù)的請(qǐng)求(即寄存器讀)。此外,由于PCI Express 是一個(gè)串行鏈路技術(shù),請(qǐng)求可以用管線技術(shù)處理。大量經(jīng)過(guò)管線技術(shù)處理的請(qǐng)求可以較好地利用目標(biāo)設(shè)備的性能。
因?yàn)镻CI Express與Tachyon 光纖通道控制器一樣,可以提供成對(duì)的雙向串行鏈路,所以可以用每秒每個(gè)鏈路方向傳遞的字節(jié)數(shù)來(lái)表示帶寬連接性能。一路(lane)PCI Express 由兩個(gè)速率為2.5Gb/s的單向串行鏈路組成,編解碼后每個(gè)方向每秒可以處理250 Mbytes。應(yīng)用PCI-E技術(shù)的 Tachyon系列產(chǎn)品(QX4和QX2)可以配置為1路、4路或8路PCI Express,所以可以提供高達(dá)4 Gbytes的互傳帶寬或單向2 Gbytes的帶寬。表1所示為Tachyon系列產(chǎn)品的帶寬需求與PCI Express性能的匹配情況:
表1:Tachyon帶寬要求與PCI Express性能的匹配情況
從上表可以看出,PCI Express接口的利用率達(dá)到了80%時(shí),8路PCI Express理論上講可以支持QX4 (4個(gè)4 Gb光纖通道鏈路)全鏈路速率下的所有4個(gè)功能。支持多個(gè)4路Express鏈路的PCI Express 根聯(lián)合體(root complex)可以與兩個(gè)QX2設(shè)備相連(每個(gè)設(shè)備4路PCI Express)并可以在所有8個(gè)端口上獲得2 Gb/s的全光纖通道鏈路速率,利用率達(dá)到了80%。
正是由于PCI Express的串行鏈路屬性與Express的靈活性,PCI Express成為適用于Tachyon 光纖通道協(xié)議控制器系列產(chǎn)品的最佳系統(tǒng)接口總線。PCI Express 協(xié)議的向后兼容性因?yàn)榭梢詫?shí)現(xiàn)驅(qū)動(dòng)器兼容而簡(jiǎn)化了從PCI 或PCI-X系統(tǒng)接口總線轉(zhuǎn)成PCI Express的決策過(guò)程。
使用像Tachyon這樣高度集成的設(shè)備,用現(xiàn)成的組件標(biāo)準(zhǔn)就可以構(gòu)建高性能的RAID系統(tǒng)。利用處理器的可變性和內(nèi)存設(shè)計(jì),只要利用普通的系統(tǒng)軟件投資,就可以調(diào)整目標(biāo)系統(tǒng)應(yīng)用解決方案的性能,使其從一個(gè)低端的SMB轉(zhuǎn)變?yōu)楦叨藬?shù)據(jù)中心陣列。
當(dāng)前PCI Express的性能
在上表中介紹了PCI Express總線的原始位率性能。其中,沒(méi)有考慮與PCI Express相關(guān)的開(kāi)銷。PCI Express通信主要由處理層數(shù)據(jù)包(TLP)組成。每個(gè)處理層數(shù)據(jù)包(TLP)包含相關(guān)數(shù)據(jù)以及文件頭和其它順序跟蹤/檢錯(cuò)信息。除了處理層數(shù)據(jù)包(TLP)外,還有數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP)。數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP)主要用于ACK/NAK協(xié)議以及流控制機(jī)制(Flow Control Mechanisms)。此外,還有物理層數(shù)據(jù)包(PLP),但物理層數(shù)據(jù)包(PLP)主要用于低級(jí)功能和不良路徑操作,如鏈路培訓(xùn)(link training)和省電模式。
每個(gè)處理層數(shù)據(jù)包(TLP)系統(tǒng)開(kāi)銷較大。它由文件頭、CRC和其它幀信息組成。由于每個(gè)處理層數(shù)據(jù)包(TLP)有固定的系統(tǒng)開(kāi)銷,較大的處理層數(shù)據(jù)包(TLP)可以較好地利用系統(tǒng)總線。如果假設(shè)與處理層數(shù)據(jù)包(TLP)的數(shù)量相比,數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP)和物理層數(shù)據(jù)包(PLP)的數(shù)量可以忽略不計(jì),我們可以用處理層數(shù)據(jù)包(TLP)的大小計(jì)算PCI-Express的最大理論帶寬。在表2中,我們對(duì)用PCI Express理論帶寬所測(cè)得的QX4性能與即將可用(2005年1月)的PCI Express 根聯(lián)合體(Root Complex)支持的各種處理層數(shù)據(jù)包(TLP)進(jìn)行了對(duì)比。
表2:測(cè)得的QX4性能與各種不同大小處理層數(shù)據(jù)包的PCI-Express理論帶寬之比較
在表2中,假設(shè)沒(méi)有與FCP通信、Tachyon數(shù)據(jù)結(jié)構(gòu)或Tachyon寄存器存取相關(guān)的開(kāi)銷。這些理論數(shù)值還假設(shè)PCI-Express根聯(lián)合體的等待時(shí)間為零。所測(cè)得的QX4 1.1數(shù)值包括FCP 流量開(kāi)銷、Tachyon 數(shù)據(jù)結(jié)構(gòu)和寄存器存取開(kāi)銷以及PCI Express的等待時(shí)間。
在半雙工通信配置下(頂部的只向一個(gè)方向傳輸),鏈路控制數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP)被發(fā)送到數(shù)據(jù)處理層數(shù)據(jù)包(TLP)的相反方向,因此不會(huì)降低系統(tǒng)性能。引入全雙工后,流程控制數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP)和數(shù)據(jù)處理層數(shù)據(jù)包可以共享相同的PCI Express 單工通道;任何一個(gè)流程控制數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP)都會(huì)引起數(shù)據(jù)處理層數(shù)據(jù)包(TLP)的傳輸延遲。再次重申,所有理論帶寬都假設(shè)數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP)和物理層數(shù)據(jù)包(PLP)的影響忽略不計(jì)。
上述有關(guān)帶寬的討論,闡述了如何根據(jù)4 Gb 光纖通道設(shè)備對(duì)PCI Express進(jìn)行升級(jí)。并用一個(gè)設(shè)備在一秒鐘內(nèi)可以完成的512 字節(jié) I/0這一數(shù)值對(duì)IOPS(每秒I/O)進(jìn)行了定義。IOPS測(cè)量值也可隨著PCI Express的升級(jí)而升級(jí)。
我們使用當(dāng)前可用的PCI Express芯片集和單個(gè)安捷倫QX4,發(fā)現(xiàn)IOPS的數(shù)值超過(guò)1.3 MIOPS(圖3)。隨著處理器速度變快以及可以支持更大的處理層數(shù)據(jù)包(TLP),預(yù)計(jì)我們可以看到更好的性能。
圖1:RAID控制器功能最簡(jiǎn)單架構(gòu)的典型系統(tǒng)示例
圖2:用PCI Express提供的獨(dú)立Ingress和Egress通路對(duì)PCI和PCI-X的雙向總線系統(tǒng)接口進(jìn)行對(duì)比。由于Express Ingress數(shù)據(jù)通路與Tachyon 出局?jǐn)?shù)據(jù)通路以及Express Egress數(shù)據(jù)通路與Tachyon入局?jǐn)?shù)據(jù)通路的結(jié)合使用,數(shù)據(jù)可以同時(shí)雙向自由傳輸。
圖3:使用一個(gè)安捷倫QX4 Tachyon 光纖通道控制器IC和目前可用的PCI Express芯片集所獲得的I/O大小與按順序讀取IOPS之對(duì)比
評(píng)論