什么是SAS?簡單的說,SAS是一種磁盤連接技術。它綜合了現有并行SCSI和串行連接技術(光纖通道、SSA、IEEE1394及InfiniBand等)的優勢,以串行通訊為協議基礎架構,采用SCSI-3擴展指令集并兼容SATA設備,是多層次的存儲設備連接協議棧。

    為了更好的了解SAS技術,我們先回顧一下幾個相關技術的發展過程。為了簡明,這里只以表格形式體現。

    首先是并行SCSI的發展過程。


    正是SCSI-3指令集的出現,使得SCSI通訊出現了分層結構,并使SCSI指令通過其他物理媒介傳輸成為可能。事實上,SCSI-3指令自誕生之日就被一批新技術相中,此后出現的光纖通道技術、SSA技術、IEEE1394火線技術等,均受益于這一進步。

    這些串行技術雖然從名字上看與SCSI毫不相干,但其實它們都支持SCSI-3作為應用層邏輯指令。下面是這些串行技術的簡要回顧。


    除了并行SCSI和幾種應用SCSI-3指令集的串行技術,我們再簡單回顧一下ATA技術的歷史。


    之所以羅列出以上三個表格,是因為SAS技術正是以串行機制為基礎,同時支持SCSI和SATA的協議棧。了解以上三個方面的歷史,有助于更方便的理解SAS技術的特點。為了增強感性認識,我們先從外觀入手,慢慢走進SAS技術內部。


    上面這張照片就是SAS外部接口的樣子。使用過InfiniBand交換設備的朋友一定覺得眼熟,沒錯,SAS外部接口和線纜就是借用了InfiniBand線纜的設計。不要小看這個只有并行SCSI一半大的接口。這種端口名叫”四路寬端口”,以目前3Gb的SAS標準,它可以達到12Gb的帶寬,也就是4 x 3Gb SAS通道。SAS技術與光纖通道一樣,都采用8位到10位的編碼機制,12Gb的物理層帶寬換算到應用層就是1.2GB/s,這一根線就比目前主流的64位133MHz PCI-X總線還要快。


    SAS磁盤上的端口也與并行SCSI有很大區別,倒是跟SATA磁盤的端口外觀非常像。接腳最多的一組是電源接口,接腳較少的一組是SAS磁盤主端口,位置都與SATA磁盤電源和通訊端口完全一致。SAS磁盤與SATA磁盤接口的唯一區別是SAS磁盤還有第二個冗余端口,而SATA磁盤則只有一個端口。

    說到這里,細心的讀者會發現一個問題。既然SAS磁盤與SATA磁盤的端口數量都不一致,SAS背板又如何完整的兼容SATA磁盤呢?

    不錯,如果將SATA磁盤直接插入SAS背板,那么背板上的冗余端口將會懸空,也就是說SATA磁盤只連接在一個控制器上。這樣雖然陣列控制器或主機可以使用這些SATA磁盤,但從結構上將無法實現冗余。


    為此,一些提供SAS磁盤陣列的廠商,在兼容SATA磁盤時都在SATA磁盤托架上附加一個小小的電路板,我們姑且稱之為”端口選擇器”。其作用就是將SATA磁盤上的單端口與兩路SAS同時連接,從而保證前端控制器或主機故障切換時,SATA磁盤仍然能保持連接。


    當然物理連接的一致,只是SAS兼容SATA的必要條件。實際上,在整個SAS協議棧中從物理層到應用層,都貫穿著一套用來兼容SATA的協議。這套協議被稱為STP(Serial ATA Tunneling Protocol)即”SATA隧道協議”。從這個命名就可以看出,SAS兼容SATA的方式其實就是在從磁盤端到主機端整條鏈路上,為SATA磁盤特地開辟出一條隧道。


    除了端口設計,SAS和SATA磁盤的供電接口也可能是讀者的疑問。如果SAS和SATA接口中已經包含有供電接腳,傳統的四針式電源是否還有用呢?

    對磁盤陣列來說,答案顯然是沒有。外置磁盤陣列早在SCSI和IDE年代,就已經不使用四針式電源接口了。但是服務器內部的非熱插拔磁盤一般都采用這種接口,而且目前市面上一些SATA磁盤也帶有這種電源接口。這是因為SATA 1.0標準剛剛頒布的時候,還沒有完全取代四針電源。無法擺脫四針式電源,就無法直接支持熱插拔,因此SATA 1.0在當時被定義為僅主機內部連接的協議,不支持外部連接。不過這些都已經是歷史,現在的SAS和SATA II版本中,四針電源完全沒有存在的必要。


    看過SAS設備外觀,我們再看看SAS內部的一些工作原理。首先,讓我們先搞清楚三個名詞–“設備”(Device)、”端口”(Port)和”phy”。

    “設備”就是指SAS連接末端的物理設備,可以是磁盤,也可以是主機里的SAS適配器,但不是Expander設備。暫時不曉得Expander為何物的讀者不要著急,后面會介紹到。

    “端口”是半物理半邏輯的概念。一方面,每個端口都對應一條實實在在的物理連接線;另一方面,每個SAS端口都有一個唯一的64位地址。這個地址的格式跟光纖通道里的WWN(嚴格的說,應該是WWPN,WWNN對應的更像SAS”設備”名)格式完全相同,由24位公司標志和40位廠商自定義字段構成。

    “phy”雖然是個邏輯概念,但功能上很像光纖通道中的SFP。它對應的是一組SAS協議收發單元,由一個發送器和一個接收器組成。每個phy與遠端的另外一個phy連接,構成一發一收兩條鏈路。SAS支持全雙工,就是說每個phy在以3Gbps發送的同時,還可以接收3Gbps的流量。


    前面只是簡單的羅列出設備、端口和phy各自的大致含義,很多問題還需要進一步說明一下。

    前面我們已經提到,每顆SAS磁盤可以提供兩個SAS連接。那么這兩路SAS連接是同一個端口的兩個phy,還是兩個獨立的窄端口呢?答案是后者。每顆SAS磁盤上有兩個phy,這兩個phy相互獨立,被兩個不同的端口使用。再明確點說,每顆SAS磁盤有兩個地址,而不是一個。記??!每個地址,就對應一個端口。

    地址和端口的對應關系,還能幫我們辨清SAS有效連接。Phy之間連通,并不等于端口之間能夠正常通訊。只有當一個端口中所有phy都與對方端口中的phy連通后,兩個寬端口的通訊才能正常進行。目前寬端口中最常見的,就是前面提到過的四路寬端口,不過一些SAS適配器廠商正在設計八路寬端口,未來可能會出現單根線纜2.4GBps甚至4.8GBps的SAS連接。

    說到SAS適配器,還有個有趣的問題。目前主流SAS適配器一般支持8個phy,那么大家猜猜一般適配器支持多少端口地址呢?答案是可以動態設定。當適配器用來連接外部SAS設備時,需要用外部寬端口,這時適配器將8個phy劃分成兩個寬端口,支持兩個端口地址。而當適配器連接內部SAS磁盤時,每個phy各自屬于自己的端口,適配器將支持8個端口地址。

    至此,我們雖然明確了一些關于SAS的技術概念,但是還不能說對SAS技術有所了解。SAS技術的重點部分–Expander及其工作原理,才是熟悉SAS技術的關鍵。

    SAS的連接模式與光纖通道的Fabric交換在很多方面十分相似。每一個SAS Expander就像一臺光纖通道交換機,整個交換結構被稱為”域”(Domain),其意義跟光纖通道技術中的”域”幾乎完全一樣。在光纖通道Fabric交換結構中,每個域有一個主成員,負責維護整個域的路由信息。在SAS域中,起中心交換作用的Expander叫做”扇出Expander”(Fanout Expander)。SAS域中的”扇出Expander”既可以直接連接終端設備,也能連接其它”邊緣Expander”(Edge Expander)。唯一與光纖通道Fabric不同的是,SAS域中可以沒有”扇出Expander”,而光纖通道Fabric域則不能沒有主成員。沒有”扇出Expander”的SAS域,最多只可以有兩個”邊緣Expander”。


    理論上,每個”邊緣Expander”可以支持128個端口,每個SAS域可以有128個”邊緣Expander”,這樣每個SAS域中最多可以有128 x 128 = 16384個端口。當然,這并不是說每個SAS域可以連接16384個磁盤和SAS適配器,因為”扇出Expander”與”邊緣Expander”相連接時,會占用一部分端口。如果128個”邊緣Expander”全部連接到”扇出Expander”,內部互聯至少要占用256個端口。也就是說,一個SAS域理論上可以連接16384 – 256 = 16128個終端SAS設備。對比光纖環路126個設備的上限,16128這個數字仍然是非??捎^。

    一些接觸過SAS存儲產品的讀者,可能此時會心存疑惑。為什么SAS單域就可以支持如此眾多設備,但實際應用中卻經??吹蕉嘤蚰J降漠a品呢?這其實跟目前SAS芯片的制造工藝有關。如果想制造出一個”扇出Expander”來支持128個”邊緣Expander”的連接,那這款”扇出Expander”至少要支持128個phy(每端口至少一個phy)。而Expander之間的互聯一般應采用至少四路寬端口,那就需要中心的”扇出Expander”支持4 x 128 = 512個phy(每端口四個phy)。而現在的實際情況是LSI公司的首款SAS芯片只能支持12個phy,剛剛好是個零頭。雖然SAS技術支持多個Expander芯片組成一個”Expander組”(Expander Set)來模擬一個Expander,但過多的芯片無疑會在制造工藝和成本方面帶來麻煩。正是基于目前SAS芯片工藝水平,一些磁盤陣列廠商在設計陣列擴展時,大多采用多域結構。雖然在軟件設計上費力多些,但卻可以避開單芯片phy數量有限的問題。

    所謂多域模式,在大多數情況下,其實也只不過是兩個域而已,即每個陣列控制器各自屬于自己的SAS域。因為目前的SAS交換技術還不支持域之間的路由,所以要想保證每個陣列控制器都能訪問到所有磁盤,最多只能引入兩個SAS域。

    SAS技術借鑒了很多光纖通道技術的工作原理,對比光纖通道技術可以幫助我們更好的了解SAS技術優勢。

    前面已經提到,SAS端口地址與光纖通道中的WWN格式幾乎完全一樣,但其使用方式還是略有區別。SAS域中,端口地址直接作為交換路由表的內容,沒有任何轉換過程,而光纖通道的Fabric交換中并不直接采用WWN地址,而是要經過一個轉換過程,由名字服務器對每個設備二次分發路由地址。光纖通道之所以這樣設計原因很明顯,因為在Fabric交換中要支持環路設備,所以不得不兼顧各種編址。實際上在光纖通道交換域中,每個設備要經過三層登陸(FLOGI、PLOGI/LOGO、PRLI/PRLO)才能接入域中。這頗像一個臃腫的官僚機構,雖然體系龐大,卻效率低下。而SAS技術舍棄了光纖通道中的仲裁環機制,從而大大簡化了交換與地址的關系。在SAS域中,再也不需要關心那些惱人的繁文縟節了。

    由于交換模式的簡化,SAS設備與Expander之間不需要通過復雜的磋商,簡單的握手之后就開始正常工作了,這就需要雙方事前就很多方面必須達成一致共識。”服務級別”就是共識之一。我們知道光纖通道可以支持五種不同級別的交換服務,分別是Class 1、2、3、4和6。這其中最常用到的是Class 3,即無確認的幀交換。這種模式好比不負責任的郵遞員,反正有收信人和發信人互相確認,他自己根本不操心包裹是否完好。由于光纖通道技術中沒有phy這個層次的設計,Class 3是效率最高的工作模式。而SAS則不然,借由phy的底層獨占式互聯機制,SAS中的服務級別更像Class 1模式,即虛擬電路全帶寬連接。這種模式最能夠充分保證每一組SAS設備之間的通訊帶寬,同時數據的誤傳輸概率也降到最低。

    由于光纖通道技術中層次臃腫的通訊機制,主機端光纖適配器很難直接察覺到磁盤端設備狀態的變化。就好比一個高高在上的官僚,很難知道底層普通市民的住址變遷。為此,光纖通道交換設計了”注冊狀態變更通知”(RSCN,Registered State Change Notification)機制。就是讓每個普通市民在搬家之后,都要主動向政府匯報新地址,政府再將地址簿匯總更新,送交各位領導案頭,而官僚們就依據案頭的記錄信息定位每個市民。遺憾的是,這個RSCN會打斷領導們正在進行的溝通,迫使領導們的工作重新開始,因此嚴重影響整個政府的辦公效率。而在SAS域中,由于沒有了復雜的溝通層次,每位領導都可以直接掌握市民的住址信息,辦公效率自然就提高許多。

    SAS與光纖通道相比,最明顯的技術優勢在于連接帶寬。簡單從數字上看,3Gb的SAS似乎不及4Gb的光纖通道,但光纖通道技術中端口已經是最基本的邏輯單元,也就是說,兩個物理端口間的連接就只可能是4Gb帶寬。而SAS則巧妙的在端口中引入phy這個新的邏輯單元,兩個phy之間的互聯帶寬為3Gb,每端口可以包含4個或8個phy之多,這樣兩個SAS端口之間的連接很容易達到12Gb甚至24Gb超高帶寬。

    總之,SAS在借鑒光纖通道技術特點的同時,一方面大刀闊斧簡化交換機制,從而提升了交換效率和可靠性,另一方面增加了phy虛擬電路單元,大大增加了性能擴展空間。


    本文版權歸作者及DoSTOR所有,如需轉載請聯系:editor@dostor.com

未經允許不得轉載:存儲在線-存儲專業媒體 » 董唯元存儲專欄:熱門存儲技術分析之SAS簡介篇
分享到

dostor

相關推薦

精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走