圖1:數(shù)據(jù)中心的各種連接
SAS架構(gòu)支持多主機(jī)和無限多的連接設(shè)備,可容納的系統(tǒng)包括小型直接連接的磁盤驅(qū)動(dòng)器直到數(shù)以千計(jì)的網(wǎng)絡(luò)磁盤驅(qū)動(dòng)器與控制器。
SAS的優(yōu)勢(shì)在于:
提供更高的帶寬和數(shù)據(jù)吞吐量(data throughput)
與串行ATA(SATA)結(jié)構(gòu)兼容
1.2 高帶寬高吞吐率的協(xié)議
SAS傳輸層運(yùn)行下面三種協(xié)議:
串行SCSI協(xié)議(SSP) ? 為SAS (SCSI) 磁盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器等提供端到端連接
串行管理協(xié)議(SMP) ? 對(duì)SAS域進(jìn)行配置和管理
SATA隧道協(xié)議(STP) ? 提供與SATA驅(qū)動(dòng)器的兼容性
SSP允許端到端連接。主機(jī)可以在網(wǎng)絡(luò)一端建立一個(gè)開放的鏈接,然后在通信開始前將其連接至網(wǎng)絡(luò)另一端的目標(biāo)設(shè)備上。由于數(shù)據(jù)傳輸采用打包的形式,因此鏈接不會(huì)長(zhǎng)時(shí)間保留,這樣可確保整個(gè)網(wǎng)絡(luò)上所有設(shè)備的數(shù)據(jù)吞吐量得到平衡。另外,多路鏈接(寬端口)可獨(dú)立應(yīng)用以提供更高帶寬并提高系統(tǒng)吞吐率。
擴(kuò)展器和控制器使用SMP對(duì)SAS域進(jìn)行配置和管理。該協(xié)議在SAS鏈接頻帶內(nèi)工作,對(duì)域內(nèi)設(shè)備變化發(fā)出通告,例如增加或減少磁盤驅(qū)動(dòng)器或其它設(shè)備,另外它還具有系統(tǒng)登錄報(bào)告功能。SMP由擴(kuò)展器和控制器設(shè)備啟動(dòng)。
請(qǐng)注意目前剛起草的SAS 2.0還針對(duì)診斷功能提供額外的狀態(tài)與報(bào)告信息,確保系統(tǒng)保持最佳工作狀態(tài)。如果出現(xiàn)錯(cuò)誤,該狀態(tài)數(shù)據(jù)將用來進(jìn)行判斷、隔離和分析錯(cuò)誤以及誤差狀態(tài)。
STP提供SAS和SATA之間的連接,SAS控制器利用STP將SATA協(xié)議與數(shù)據(jù)包裝入SAS數(shù)據(jù)包中,當(dāng)一個(gè)SATA設(shè)備連接到端口時(shí)SAS擴(kuò)展器可以對(duì)其進(jìn)行識(shí)別,并用STP去除SAS外封包以原始SATA協(xié)議表現(xiàn)SATA磁盤驅(qū)動(dòng)器。
在SAS環(huán)境下能夠使用SATA設(shè)備還有很多優(yōu)點(diǎn),下面將繼續(xù)討論。
1.3 對(duì)SATA的支持
SAS被設(shè)計(jì)成與高容量SATA驅(qū)動(dòng)器兼容,這一兼容性很有價(jià)值,因?yàn)椴还苁侨魏未鎯?chǔ)介質(zhì)SATA都可以最低千兆位存儲(chǔ)成本提供最高存儲(chǔ)容量,如圖2所示。另外還可利用SATA 雙主動(dòng) (Active/Active)端口選擇器使SATA硬盤驅(qū)動(dòng)器(HDD)成為“雙端口”設(shè)備,從而設(shè)計(jì)出全冗余路徑存儲(chǔ)系統(tǒng)架構(gòu),以獲得更高的系統(tǒng)容錯(cuò)能力 (Fault-tolerance)。
圖2:SAS / SATA相對(duì)成本
雖然相比SATA而言SAS具有更高性能和可靠性,但其容量卻比較低。本文完成的時(shí)候SATA驅(qū)動(dòng)最高可達(dá)1000Gbyte,而最大的SAS驅(qū)動(dòng)器只有300Gbyte。
SATA的性能和可靠性不如企業(yè)級(jí)SAS和光纖通道(FC) 設(shè)備,不過數(shù)據(jù)存儲(chǔ)中心通常都有備份以及獨(dú)立磁盤冗余陣列(RAID)以確保在設(shè)備發(fā)生故障時(shí)能對(duì)數(shù)據(jù)進(jìn)行恢復(fù),部分彌補(bǔ)了其可靠性的不足。通常SATA驅(qū)動(dòng)器被用于不經(jīng)常訪問的數(shù)據(jù)、近線存儲(chǔ)(Near-line storage)或后備RAID,以此彌補(bǔ)SATA存儲(chǔ)的可靠性風(fēng)險(xiǎn)問題。
SAS與SATA的協(xié)同作用可以在更大范圍實(shí)現(xiàn)網(wǎng)絡(luò)兼容和升級(jí)。
2 第二代SAS
第一代控制器、擴(kuò)展器和端口多路復(fù)用器使系統(tǒng)成功地從基于總線的并行SCSI發(fā)展為基于連接的串行SCSI,這些連接速度為3.0 Gbit/s。多路連接(寬端口)可用來提高設(shè)備間可用帶寬,還可以加入擴(kuò)展器設(shè)備使SAS網(wǎng)絡(luò)在一個(gè)域里擴(kuò)大到16,000個(gè)設(shè)備。業(yè)界成功組織了系列協(xié)同會(huì)議,確保不同供應(yīng)商設(shè)備和系統(tǒng)互相兼容。
SAS已進(jìn)入第二代,現(xiàn)正在起草SAS 2.0,它定義了更高鏈路速率與帶寬利用率,還有其它一些性能,來改進(jìn)sas拓?fù)渚W(wǎng)絡(luò)的穩(wěn)定性和易管理性。
一些主要變化包括:
6 Gbit/s SAS ? 連接速率與帶寬加倍
多路復(fù)用 ? 讓兩條3 Gbit/s鏈路共享一個(gè)6 Gbit/s端口使帶寬得到優(yōu)化
分區(qū) ? 可以將域分割成小塊可訪問設(shè)備
自發(fā)現(xiàn)擴(kuò)展器設(shè)備 ? 可以加快網(wǎng)絡(luò)初始化和變化檢測(cè)
診斷和穩(wěn)定性 ? 改善了狀態(tài)報(bào)告和錯(cuò)誤通知功能
關(guān)聯(lián)支持 ? 可以使一個(gè)SATA磁盤驅(qū)動(dòng)器響應(yīng)不止一個(gè)主機(jī)
第二代控制器經(jīng)過優(yōu)化,可充分利用PCIe 2.0(每個(gè)鏈接5 Gbit/s)連接,并調(diào)整為SAS 2.0的6 Gbit/s鏈接,其吞吐量持續(xù)不變,且比以往任何一代設(shè)備都高。SAS 2.0的這些進(jìn)步確保SAS系統(tǒng)速度更快、提供更高帶寬利用率、更易于管理并使系統(tǒng)穩(wěn)定性得到提升,同時(shí)SAS也還在發(fā)展演進(jìn)過程中。
2.1 6 Gbit/s SAS鏈接速率與多路復(fù)用
第二代SAS擴(kuò)展器設(shè)備具有連接結(jié)構(gòu),可與高性能控制器相匹配。6 Gbit/s鏈接提供兩倍可用帶寬,能支持更多磁盤驅(qū)動(dòng)器和更高吞吐量。
6 Gbit/s鏈接可以復(fù)用,使兩條交叉存取的3 Gbit/s鏈路共享一個(gè)端口,這樣高傳輸率控制器利用少量連接即可同時(shí)訪問更多磁盤驅(qū)動(dòng)器。在一個(gè)既有3 Gbit/s又有6 Gbit/s設(shè)備的系統(tǒng)里,一些端口可以配置為多路復(fù)用端口,同時(shí)其它端口還是以原來的6 Gbit/s的速率運(yùn)行, 這樣可優(yōu)化系統(tǒng)性能并保持后向兼容性。詳情請(qǐng)見圖3。
圖3:多路復(fù)用連接
2.2 分區(qū)(Zoning)
分區(qū)(Zoning)提供了一種機(jī)制,在一個(gè)SAS子系統(tǒng)中為一個(gè)特定控制器分配一組設(shè)備。分區(qū)(Zoning)允許SAS子系統(tǒng)中的設(shè)備群相互連接或分割以簡(jiǎn)化數(shù)據(jù)服務(wù)管理。
在刀片服務(wù)器應(yīng)用中分區(qū)(Zoning)也特別有用,此時(shí)位于不同刀片處理器的控制器連在一個(gè)公用刀片存儲(chǔ)器上,分區(qū)(Zoning)使刀片存儲(chǔ)器上的磁盤驅(qū)動(dòng)器(HDD)針對(duì)不同的刀片處理器進(jìn)行分隔,這樣每個(gè)控制器只會(huì)關(guān)注刀片存儲(chǔ)器的磁盤驅(qū)動(dòng)器(HDD)的一個(gè)小部分。
分區(qū)服務(wù)傳遞子系統(tǒng)(ZPSDS)將一個(gè)主機(jī)分配給一組設(shè)備以訪問整個(gè)網(wǎng)絡(luò)的部分設(shè)備,一些設(shè)備可以被多個(gè)主機(jī)共享,另一些則可能在熱備用磁盤(Hot-spare)組里,可以隨時(shí)分配給任何需要額外容量或備用驅(qū)動(dòng)器的設(shè)備組。
圖4顯示了一個(gè)分區(qū)子系統(tǒng)。分區(qū)(Zoning)可以通過遠(yuǎn)程控制,也可以直接由系統(tǒng)中的設(shè)備進(jìn)行控制。一個(gè)應(yīng)用管理客戶使用SMP功能可以配置域里面的所有設(shè)備。
圖4:分區(qū)服務(wù)傳遞子系統(tǒng)(ZPSDS)
分區(qū)(Zoning)不僅僅隔離數(shù)據(jù)服務(wù),同時(shí)也對(duì)每個(gè)分區(qū)子系統(tǒng)中的管理和診斷通知進(jìn)行分隔。這樣確保一個(gè)區(qū)域里發(fā)生鏈接不成功或者鏈接中斷不會(huì)影響到其它區(qū),保證ZPSDS里的每個(gè)區(qū)在任何時(shí)刻都保持最高性能。
在一個(gè)SAS系統(tǒng)中可能會(huì)有多種類型的設(shè)備,包括:
多路主機(jī)控制器
高性能SAS驅(qū)動(dòng)器
高容量SATA磁盤驅(qū)動(dòng)器
SAS磁帶驅(qū)動(dòng)器
SAS DVD驅(qū)動(dòng)器
此外,應(yīng)用程序在訪問SAS存儲(chǔ)子系統(tǒng)時(shí)可能會(huì)有多種需求來自于存儲(chǔ)系統(tǒng),如:
高可用性驅(qū)動(dòng)器
近線(Near-line)訪問驅(qū)動(dòng)器
遠(yuǎn)程啟動(dòng)驅(qū)動(dòng)器
后備驅(qū)動(dòng)器
RAID保護(hù)驅(qū)動(dòng)器
加密保護(hù)驅(qū)動(dòng)器
熱備用磁盤(Hot-spare)驅(qū)動(dòng)器
除應(yīng)用程序方面的需求外,法規(guī)還要求個(gè)人和財(cái)務(wù)記錄以及E-mail存檔必須采用不同存儲(chǔ)策略,分區(qū)功能的應(yīng)用使得數(shù)據(jù)中心能更輕而易舉地滿足以上不同的需求。
2.3 自配置擴(kuò)展器
第一代SAS擴(kuò)展器沒有協(xié)助參與SAS網(wǎng)絡(luò)發(fā)現(xiàn)過程,由SAS控制器完成每個(gè)擴(kuò)展器設(shè)備內(nèi)所有設(shè)備的識(shí)別和路徑表映射。
但第二代擴(kuò)展器具有自配置功能,每個(gè)擴(kuò)展器可以探測(cè)到跟自己連接的設(shè)備并完成自己的路徑表。由于所有擴(kuò)展器同時(shí)進(jìn)行初始化,所以整個(gè)系統(tǒng)網(wǎng)絡(luò)可以很快確定,這在大型網(wǎng)絡(luò)或者一個(gè)域里有多個(gè)主機(jī)時(shí)特別明顯。
2.3.1 第一代SAS初始化
圖5是一個(gè)使用沒有自配置功能的第一代SAS控制器和擴(kuò)展器設(shè)備的實(shí)際SAS系統(tǒng)性能測(cè)量結(jié)果。
圖5:沒有自配置擴(kuò)展器的網(wǎng)絡(luò)發(fā)現(xiàn)過程
擴(kuò)展器建立路徑表的初始化時(shí)間約4秒,主機(jī)總線適配器(HBA)發(fā)現(xiàn)并與操作系統(tǒng)(OS)驅(qū)動(dòng)進(jìn)行通信的過程需要12秒的時(shí)間,13秒之后OS通知用戶關(guān)于驅(qū)動(dòng)器的信息。
在這個(gè)測(cè)試中,磁盤驅(qū)動(dòng)器在主機(jī)初始化之前就已經(jīng)上電啟動(dòng)。
2.3.2 第二代SAS初始化
圖6顯示了一個(gè)使用第一代SAS控制器和具有自配置能力的第二代SAS擴(kuò)展器設(shè)備實(shí)際SAS系統(tǒng)性能測(cè)量結(jié)果。很明顯初始化時(shí)間改進(jìn)了33%。
圖6:具有全自配置功能擴(kuò)展器的發(fā)現(xiàn)過程
擴(kuò)展器設(shè)備內(nèi)路徑表初始化時(shí)間約4.8秒,主機(jī)總線適配器(HBA)發(fā)現(xiàn)并與操作系統(tǒng)(OS)驅(qū)動(dòng)進(jìn)行通信的過程需要4.8秒的時(shí)間,8秒之后OS通知用戶關(guān)于驅(qū)動(dòng)器的信息。
在這個(gè)測(cè)試中,磁盤驅(qū)動(dòng)器在主機(jī)初始化之前就已經(jīng)上電啟動(dòng)。
第二代主機(jī)控制器還可能進(jìn)一步縮短初始化時(shí)間,因?yàn)樗粫?huì)嘗試將路徑表寫入擴(kuò)展器設(shè)備中。
2.3.3 磁盤驅(qū)動(dòng)器的初始化
在前面的測(cè)量實(shí)驗(yàn)中,初始化時(shí)間是從關(guān)機(jī)狀態(tài)(冷啟動(dòng))開始記錄的,可以注意到所有SAS設(shè)備立刻開始其連接初始化工作,但大多數(shù)SATA設(shè)備直到啟動(dòng)過程之后才會(huì)建立連接,據(jù)測(cè)量這通常需要13.6秒,見圖7。額外的連接初始化將使整個(gè)啟動(dòng)時(shí)間延遲另外的13秒。
圖7:SAS和SATA連接初始化過程
2.4 診斷
系統(tǒng)維護(hù)和服務(wù)費(fèi)用會(huì)隨規(guī)模和復(fù)雜性的增加而增加,SAS 2.0標(biāo)準(zhǔn)一個(gè)主要目的是改善整個(gè)SAS網(wǎng)絡(luò)的狀態(tài)報(bào)告。
控制器、擴(kuò)展器以及SATA端口選擇器(如像PMC-Sierra提供的產(chǎn)品)都可以提供鏈路測(cè)試和反饋回路以及自測(cè)試功能,能夠在任何時(shí)候于任何鏈路上執(zhí)行并進(jìn)行分析。這些功能和智能診斷應(yīng)用一起,可對(duì)SAS系統(tǒng)內(nèi)每個(gè)連接進(jìn)行持續(xù)的狀態(tài)監(jiān)控和測(cè)試。
錯(cuò)誤計(jì)數(shù)器、狀態(tài)改變計(jì)數(shù)器甚至通知計(jì)數(shù)器都可用來記錄SAS系統(tǒng)每個(gè)PHY上面發(fā)生的事件。門限計(jì)數(shù)器用于在實(shí)際鏈接失敗發(fā)生之前和之后確定和記錄錯(cuò)誤率,以改進(jìn)錯(cuò)誤分析,避免更換掉工作正常的設(shè)備。
在冗余系統(tǒng)中,遠(yuǎn)程監(jiān)控與系統(tǒng)策略可以自動(dòng)開啟錯(cuò)誤恢復(fù)過程,甚至可以用一個(gè)在連接狀態(tài)的熱后備驅(qū)動(dòng)器取代錯(cuò)誤率超過可接受限度的設(shè)備。如果一個(gè)設(shè)備顯示出不尋常的高錯(cuò)誤率,那么就可以在其報(bào)廢前將它取代,這樣才可能在這個(gè)驅(qū)動(dòng)器報(bào)廢和數(shù)據(jù)丟失之前將其中的數(shù)據(jù)備份出來。
在一個(gè)RAID系統(tǒng)里,如果任何設(shè)備出現(xiàn)較高重試率都會(huì)降低整個(gè)RAID系統(tǒng)的性能。通過檢測(cè)重試情況可保證得到優(yōu)化的RAID運(yùn)行效果,并取代任何工作于非優(yōu)化狀態(tài)下的設(shè)備。
SMP應(yīng)用程序客戶端被整合到控制器和擴(kuò)展器設(shè)備中,它們各自單獨(dú)監(jiān)測(cè)PHY的狀態(tài)。診斷應(yīng)用程序利用PHY計(jì)數(shù)器生成的數(shù)據(jù),執(zhí)行針對(duì)系統(tǒng)錯(cuò)誤情況的策略及自測(cè)試操作,生成系統(tǒng)事件歷史記錄。為使?fàn)顟B(tài)信息活躍度處于最低水平,通知事件僅在超過門限時(shí)才被觸發(fā)。
系統(tǒng)監(jiān)測(cè)可以遠(yuǎn)程管理,這樣可以提高可靠性、服務(wù)性和系統(tǒng)穩(wěn)定性。
2.5 多重關(guān)聯(lián)支持
企業(yè)級(jí)存儲(chǔ)系統(tǒng)通常會(huì)有幾個(gè)層次的冗余,而磁盤驅(qū)動(dòng)器需要有兩個(gè)端口以支持自動(dòng)故障切換冗余。為解決這一問題,可采用SATA端口選擇器將一個(gè)SATA接口多路復(fù)用成兩個(gè)端口。
PMC-Sierra提供一種雙主動(dòng)(Active/Active) SATA端口選擇設(shè)備(PM8307 SPS 3GT) ,可以讓兩個(gè)控制器隨意連到兩個(gè)端口,同時(shí)工作。雙主動(dòng)(Active/Active)端口選擇器可實(shí)現(xiàn)系統(tǒng)冗余和負(fù)載平衡,兩個(gè)控制器共享對(duì)磁盤驅(qū)動(dòng)器的訪問。
圖8顯示了SATA磁盤驅(qū)動(dòng)器適配板上的SPS 3GT多路復(fù)用器,框圖顯示的是通過SXP 24x3G擴(kuò)展器設(shè)備連接到兩個(gè)PMC-Sierra SPC 8x6G主機(jī)控制器設(shè)備域。
圖8:帶有多重關(guān)聯(lián)支持的Active/Active端口選擇器
SAS驅(qū)動(dòng)器執(zhí)行原生指令隊(duì)列(NCQ) ,SATA端口選擇器提供額外的信息進(jìn)行處理以及將響應(yīng)映射到請(qǐng)求設(shè)備上。
SATA協(xié)議是為那些只有單個(gè)主機(jī)控制器的桌面環(huán)境而設(shè)計(jì)的。協(xié)議包括一些標(biāo)簽將響應(yīng)數(shù)據(jù)連接到特定的需求中,但不包括信息源和目的地址信息。在應(yīng)用Active/Active端口選擇器的場(chǎng)合,需求和響應(yīng)標(biāo)簽都映射(或加入)到正確的主機(jī)控制器設(shè)備上,以支持一個(gè)以上主機(jī)設(shè)備。
3 利用公共軟件
供應(yīng)商提供SAS控制器和應(yīng)用程序之間的軟件接口,為了向市場(chǎng)推出高性能高品質(zhì)產(chǎn)品,對(duì)于設(shè)備配置而言經(jīng)過驗(yàn)證的、用戶友好(User-friendly)型且可升級(jí)的便攜式接口是非常重要的。
PMC-Sierra的傳輸獨(dú)立軟件架構(gòu)(TISA)提供了一個(gè)公共的類似于SCSI的軟件接口,可以確保SAS開發(fā)人員利用其前一代Tachyon控制器設(shè)備的專業(yè)知識(shí),以開發(fā)新一代SAS方案。見圖9。
圖9:公共軟件接口
該模型可應(yīng)用于所有PMC-Sierra存儲(chǔ)設(shè)備,從控制器到擴(kuò)展器再到SATA端口選擇器。
公共軟件接口提供了一個(gè)特定傳輸配置和管理接口,其特性包括:
獨(dú)立于所有操作系統(tǒng)平臺(tái)的軟件接口,可以快速推向市場(chǎng)
提供重復(fù)使用的公共編程環(huán)境和工具,可降低風(fēng)險(xiǎn),提高生產(chǎn)率和可靠性
降低服務(wù)和支持成本
在所有層都可進(jìn)行編程,甚至低到寄存器層
存儲(chǔ)應(yīng)用程序開發(fā)使用TISA 應(yīng)用編程接口(API),通過替代該API下面針對(duì)傳輸?shù)膶涌芍С植煌腟AS和SATA傳輸協(xié)議(以及iSCSI和FC)。TISA程序包還包括:
TISA 應(yīng)用編程接口(API)
低級(jí)應(yīng)用編程接口(API)
硬件接口
4 結(jié)論
SAS正在不斷演進(jìn)和發(fā)展。第二代控制器不僅能提供更高吞吐量和帶寬,以及SATA互操作性,它還可與擴(kuò)展器和SATA端口選擇器基礎(chǔ)架構(gòu)設(shè)備進(jìn)行通信,以改進(jìn)系統(tǒng)診斷性、狀態(tài)、管理、配置以及初始化。SAS 2.0的優(yōu)點(diǎn)是增強(qiáng)系統(tǒng)穩(wěn)定性,并使帶有各種設(shè)備的大型網(wǎng)絡(luò)成功實(shí)現(xiàn)互操作。
PMC-Sierra在SAS/SATA和光纖通道存儲(chǔ)設(shè)備領(lǐng)域都是市場(chǎng)領(lǐng)導(dǎo)者。 完整端到端SAS存儲(chǔ)方案能使采用PMC-Sierra Tachyon SAS協(xié)議控制器(SPC)、maxSAS SXP擴(kuò)展器以及SPS端口選擇器設(shè)備用戶獲益。結(jié)合了用戶友好、通用軟件平臺(tái)和TISA, 源自于業(yè)界領(lǐng)先的Tachyon系列,PMC-Sierra提供的存儲(chǔ)產(chǎn)品具備成熟的技術(shù)和穩(wěn)定性。
如欲進(jìn)一步了解本文所涉及內(nèi)容更多信息,可參考:
SAS 6G協(xié)議詳細(xì)資料 www.sas6g.org
SAS規(guī)格與草案 www.t10.org
產(chǎn)品特性與技術(shù)細(xì)節(jié)
www.pmc-sierra.com/storage