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