| 概述 我們正經(jīng)歷著包括電信、互聯(lián)網(wǎng)和企業(yè)環(huán)境在內(nèi)的數(shù)字世界的大融合。這種融合的復雜性決定了在實現(xiàn)通信通用的標準協(xié)議或方式之前還有很多事情需要處理。例如,在存儲網(wǎng)絡(luò)方面,各個公司都正在探索新一代的智能存儲網(wǎng)絡(luò)交換機,它把存儲區(qū)域網(wǎng)絡(luò)(SAN)和網(wǎng)絡(luò)附屬存儲(NAS)的功能和優(yōu)勢結(jié)合在一起,同時降低現(xiàn)有IP網(wǎng)絡(luò)結(jié)構(gòu)和人員的成本以及目前環(huán)境的復雜性。它們正朝著網(wǎng)絡(luò)和存儲相結(jié)合的中央智能方向發(fā)展。同時,各公司將繼續(xù)在現(xiàn)有和即將出現(xiàn)的技術(shù)如Fibre Channel,iSCSI,IP,Infiniband上進行投資。這些投資將繼續(xù)增加對智能交換機或其他器件的需求,從而促進目前中間存儲網(wǎng)絡(luò)的發(fā)展。這些新的交換機本身就能夠智能地處理許多現(xiàn)有的協(xié)議和技術(shù),還能透明處理新的和正在發(fā)展的標準,進行平滑地移植。 功能融合的最大推動因素是要改善網(wǎng)絡(luò)的可管理性、靈活性、可伸縮性和處理功能,同時根據(jù)應(yīng)用需求維護和增加處理性能。為了有效地把NAS、SAN和其他新興存儲方案統(tǒng)一到單個存儲結(jié)構(gòu)中,需要更智能的存儲網(wǎng)絡(luò)交換機,它包括每秒數(shù)十吉位的數(shù)據(jù)通道處理器性能。實現(xiàn)包括業(yè)務(wù)管理,協(xié)議轉(zhuǎn)換和數(shù)據(jù)管理的數(shù)據(jù)通道處理功能的性能水平并不是很容易的。可能的方案包括ASIC、處理器和可編程邏輯器件,它們在靈活性,成本、開發(fā)時間和易于設(shè)計方面,具有不同的權(quán)衡和取舍。 硬件評估 專有集成電路(ASIC)能滿足存儲應(yīng)用中數(shù)據(jù)通道處理的性能需求。除了實現(xiàn)高速數(shù)字功能外,ASIC也滿足I/O傳輸接口(如Fibre Channel,InfiniBand和iSCSI以及I/O物理芯片接口技術(shù)如存儲接口和SPI-4)的需求。它們的單位成本更低。但是ASIC的開發(fā)時間很長,啟動成本高,這包括工具成本,流片(NRE)費用和大批量的保證。而且它們不靈活,不能滿足不斷改變的需求,所以開發(fā)初期就處于很困難和很昂貴的境地。ASIC缺乏靈活性和漫長的開發(fā)周期抵消了一些應(yīng)用的優(yōu)勢,因為無法及時地修改、快速地對可能使用的發(fā)展中標準作出響應(yīng)。 另一種實現(xiàn)數(shù)據(jù)通道處理的方法是網(wǎng)絡(luò)處理器。網(wǎng)絡(luò)處理器的優(yōu)勢在于處理操作非常靈活,因為它們使用現(xiàn)成的滿足現(xiàn)有標準需求的部件,因此比ASIC開發(fā)周期要短得多。今天網(wǎng)絡(luò)處理器的不足之處是性能比專用ASIC低,而成本更高,它們支持的I/O接口也不靈活。另外,它們目前需要有個編程器方面詳細的體系知識,才能為微引擎生成完全優(yōu)化和獨立的代碼。 可編程邏輯器件(PLD)是數(shù)據(jù)通道處理的另一種選擇。雖然它們沒有專用ASIC那么快,但是它們在處理能力上的靈活性和網(wǎng)絡(luò)處理器相當,而在新興和現(xiàn)有先進接口標準上卻更加靈活。PLD的開發(fā)時間也比專用ASIC要短許多,它們是現(xiàn)成的,無需流片(NRE)。因為這些原因,高級存儲網(wǎng)絡(luò)產(chǎn)品的開發(fā)者越來越看中PLD來實現(xiàn)數(shù)據(jù)通道處理功能。PLD并不排斥其它硬件方案,能夠結(jié)合使用這三種方案(ASIC,網(wǎng)絡(luò)處理器和PLD),但是通?删幊踢壿嫴考軌驖M足靈活性的需求。對于采用具有協(xié)處理功能的網(wǎng)絡(luò)處理器,這種情況下網(wǎng)絡(luò)處理器無法滿足產(chǎn)品的性能需求,PLD恰恰是很好的補充。 可編程數(shù)據(jù)通道處理分析 在今天日益增長的包存儲系統(tǒng)中,數(shù)據(jù)通道處理功能通常由包處理操作組成,包括頭檢測和分析、包完整性檢查、包轉(zhuǎn)發(fā)和負荷處理。對包在系統(tǒng)中的控制和業(yè)務(wù)管理功能很適合由PLD實現(xiàn)。最后,為了能夠直接內(nèi)置于這些應(yīng)用的數(shù)據(jù)通道中,這些PLD需要支持高速接口。這種支持包括新興標準以及I/O技術(shù)本身的邏輯需求,如源同步接口的差分信號(LVDS)或串行接口(如Fibre Channel和InfiniBand)的時鐘數(shù)據(jù)恢復(CDR)接口,以及對高速SDRAM和SRAM接口(如DDR-SDRAM和QDR-SRAM)的支持。 收發(fā)器和業(yè)務(wù)管理 如圖所示,PLD在存儲交換機的背板接口中是非常重要的部件。諸如Mercury器件這樣的PLD現(xiàn)在也具有了內(nèi)建的時鐘數(shù)據(jù)恢復(CDR)和串行/解串器(SERDES),無需執(zhí)行這些功能的分立部件,減小了部件數(shù)量。內(nèi)建的收發(fā)器功能減小了芯片到芯片的延遲,增加了系統(tǒng)的性能。大量的片內(nèi)RAM可以輔助管理包隊列。例如,Altera的Stratix器件具有512KB的MegaRAM塊,它很適合這項工作。當然還需要外部存儲器,這樣PLD必須能夠和高速SDRAM和SRAM接口。業(yè)務(wù)管理PLD執(zhí)行智能DMA功能,由板內(nèi)控制器進行管理,如Nios嵌入處理器。 數(shù)據(jù)完整性在存儲應(yīng)用中非常重要,PLD也能輔助完成這項工作。在Pirus PSX-1000 Storage Utility Switch中,APEX 20KE PLD進行系統(tǒng)每個節(jié)點的高速校驗,然后附加到每個包的后部。更高層使用這個校驗結(jié)果,檢測“端到端”包的完整性。為了滿足更高層的數(shù)據(jù)完整性,可以修改APEX 20KE PLD設(shè)計執(zhí)行不同的校驗算法或?qū)S型暾怨δ?滿足特定終端用戶的不同需求。以盡可能快的速度生成和檢查這些校驗才能確保高的數(shù)據(jù)吞吐量;系統(tǒng)開發(fā)者能夠以并行處理方式分配PLD的邏輯資源實現(xiàn)所需的性能,串行操作的處理器則在這種應(yīng)用中受限。 業(yè)務(wù)管理PLD開始進行包的預(yù)處理,在進入包處理器件之前剝除頭信息并存放在高速存儲器中。PLD能夠很高效地完成這項功能,因為不同的協(xié)議頭信息的數(shù)量是不同的,新興協(xié)議如iSCSI的變化必須對設(shè)計進行修改。實際的頭處理通常是由處理器執(zhí)行的,隨著集成了處理器和PLD的器件如Altera的Excalibur系列的出現(xiàn),所有的頭處理都能夠集中到更少的器件中—這樣能夠降低成本、功耗和板空間。 包處理 包處理包括頭和負荷處理以及包的轉(zhuǎn)發(fā),由PLD結(jié)合處理器來完成,或者由PLD結(jié)合處理器的硬件實現(xiàn)。頭處理通常包括實現(xiàn)OSI 1和2層的功能,如頭檢查和分析,包的完整性和包的轉(zhuǎn)發(fā)。頭檢查又包括包開始,包結(jié)束,包長度,地址識別和流控制。 頭檢查之后,包被封裝成一定的格式并轉(zhuǎn)發(fā)。包轉(zhuǎn)發(fā)包括插入目的地址,幀構(gòu)造,轉(zhuǎn)發(fā)到相應(yīng)的輸出端口。在PSX-1000中,Pirus采用PLD實現(xiàn)“數(shù)據(jù)鏡像”包轉(zhuǎn)發(fā)功能,它允許數(shù)據(jù)同時寫入多個位置。這個功能也就是所謂的“組播”,避免了處理器實現(xiàn)中采用的順序復制數(shù)據(jù)的方式。相反,PLD的并行操作會更快,消除了潛在的瓶頸。 把頭處理和負荷處理功能集成到單個可編程器件中,簡化了設(shè)計,消除了芯片到芯片的延遲。在PSX-1000中,Pirus能夠把2層的功能和一部分3和4層的功能集成到單個Altera的PLD器件中,包括TCP/IP校驗和下一跳地址的確定。Pirus把這些功能從處理器中剝離出來,從而增加了系統(tǒng)的性能滿足了速度要求。 可編程性容許“細調(diào)” 在開發(fā)新一代智能存儲交換機中,比起單獨采用專用ASIC或處理器,PLD允許開發(fā)者能夠更充分更細致地調(diào)整他們的操作。例如,在沒有采用實際硬件的最糟的工作狀態(tài)下很難確定網(wǎng)絡(luò)處理器的性能。在開發(fā)過程中,如果網(wǎng)絡(luò)處理器在最糟業(yè)務(wù)情況下無法滿足性能目標,那么采用PLD就能夠評估把各種任務(wù)從網(wǎng)絡(luò)處理器移交給PLD處理后的性能。 在業(yè)務(wù)管理和成形功能中采用PLD還能夠充分考查在給定存儲資源(片內(nèi)和片外)情況下不同隊列大小能實現(xiàn)的最大吞吐量,這是Pirus開發(fā)者在PSX-1000開發(fā)中的經(jīng)驗。而且在開發(fā)過程中,Pirus多次修改他們的PLD設(shè)計,權(quán)衡把寬數(shù)據(jù)流分割成更小、易管理的大小對優(yōu)化系統(tǒng)性能的影響。Pirus在他們設(shè)計的關(guān)鍵部分采用了PLD,單單修改他們的業(yè)務(wù)管理PLD設(shè)計就把吞吐量提升了近20%。 結(jié)論 今后,智能存儲應(yīng)用交換需要更高的速度,更大的數(shù)據(jù)完整性和更大的靈活性來滿足不斷改變的存儲網(wǎng)絡(luò)市場的不同需求。PLD將能夠支持存儲工業(yè)中這些不斷發(fā)展的需求,支持高速LVDS(也就是SPI-4 Ph2),改善對CDR接口的支持,如Fibre Channel和InfiniBand。具有嵌入處理器的PLD(如Excalibur系列)結(jié)合以往所具備的豐富的I/O功能和高速存儲器接口,允許開發(fā)者用PLD作為“中心站”控制功能和數(shù)據(jù)通道處理。下一代智能存儲交換機將更多地依靠PLD完成數(shù)據(jù)通道和控制功能,這樣能夠獲得更高的速度和靈活性。 |