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

分享到

多易

相關(guān)推薦