查看單個文章
舊 2006-05-08, 02:07 AM   #24 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

串行SCSI技術介紹

訊息來源:儲存於在線

SAS(Serial Attached SCSI)即串行SCSI技術,正逐步走入我們的視線。按照行業預期,SAS磁牒很快將取代目前的SCSI磁牒甚至FC磁牒而成為主流磁牒檔案類型。可惜現在對SAS技術的討論大多集中在套用層面,很少有具體的技術介紹。有鑒於此,筆者搜集整理了一些資料,權做拋磚引玉吧。

什麼是SAS?簡單的說,SAS是一種磁牒連接技術。它綜合了現有並行SCSI和串行連接技術(光纖通道、SSA、IEEE1394及InfiniBand等)的優勢,以串行通訊為傳輸協定基礎架構,採用SCSI-3增強指令集並相容SATA設備,是多層次的儲存於設備連接傳輸協定棧。

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

首先是並行SCSI的發展程序。
http://tech.ccidnet.com/col/attachment/2006/4/658621.gif

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

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

http://tech.ccidnet.com/col/attachment/2006/4/658623.gif
除了並行SCSI和幾種套用SCSI-3指令集的串行技術,我們再簡單回顧一下ATA技術的歷史。
http://tech.ccidnet.com/col/attachment/2006/4/658625.gif
之所以羅列出以上三個表格,是因為SAS技術正是以串行機制為基礎,同時支持SCSI和SATA的傳輸協定棧。瞭解以上三個方面的歷史,有助於更方便的理解SAS技術的特點。為了增強感性認識,我們先從外觀入手,慢慢走進SAS技術內部。
http://tech.ccidnet.com/col/attachment/2006/4/658627.jpg
上面這張照片就是SAS外部接頭的樣子。使用過InfiniBand交換設備的朋友一定覺得眼熟,沒錯,SAS外部接頭和線纜就是借用了InfiniBand線纜的設計。不要小看這個只有並行SCSI一半大的接頭。這種連接阜名叫"四路寬連接阜",以目前3Gb的SAS標準,它可以達到12Gb的帶寬,也就是4 x 3Gb SAS通道。SAS技術與光纖通道一樣,都採用8位到10位的編碼機制,12Gb的物理層帶寬換算到套用層就是1.2GB/s,這一根線就比目前主流的64位133MHz PCI-X總線還要快。
http://tech.ccidnet.com/col/attachment/2006/4/658629.jpg
SAS磁牒上的連接阜也與並行SCSI有很大區別,倒是跟SATA磁牒的連接阜外觀非常像。接腳最多的一組是電源接頭,接腳較少的一組是SAS磁牒主連接阜,位置都與SATA磁牒電源和通訊連接阜完全一致。SAS磁牒與SATA磁牒接頭的唯一區別是SAS磁牒還有第二個冗余連接阜,而SATA磁牒則只有一個連接阜。

說到這裡,細心的讀者會發現一個問題。既然SAS磁牒與SATA磁牒的連接阜數量都不一致,SAS背板又如何完整的相容SATA磁牒呢?

不錯,如果將SATA磁牒直接插入SAS背板,那麼背板上的冗余連接阜將會懸空,也就是說SATA磁牒只連接在一個控制器上。這樣雖然陣列控制器或主機可以使用這些SATA磁牒,但從結構上將無法實現冗余。
http://tech.ccidnet.com/col/attachment/2006/4/658631.jpg
為此,一些提供SAS磁牒陣列的廠商,在相容SATA磁牒時都在SATA磁牒托架上附加一個小小的電路板,我們姑且稱之為"連接阜選項器"。其作用就是將SATA磁牒上的單連接阜與兩路SAS同時連接,從而保證前端控制器或主機故障切換時,SATA磁牒仍然能保持連接。
http://tech.ccidnet.com/col/attachment/2006/4/658633.jpg
當然物理連接的一致,只是SAS相容SATA的必要條件。實際上,在整個SAS傳輸協定棧中從物理層到套用層,都貫穿著一套用來相容SATA的傳輸協定。這套傳輸協定被稱為STP(Serial ATA Tunneling Protocol)即"SATA隧道傳輸協定"。從這個命名就可以看出,SAS相容SATA的方式其實就是在從磁牒端到主機端整條鏈路上,為SATA磁牒特地開闢出一條隧道
http://tech.ccidnet.com/col/attachment/2006/4/658635.jpg
除了連接阜設計,SAS和SATA磁牒的供電接頭也可能是讀者的疑問。如果SAS和SATA接頭中已經包含有供電接腳,傳統的四針式電源是否還有用呢?

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


http://tech.ccidnet.com/col/attachment/2006/4/658637.jpg
看過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的流量。

http://tech.ccidnet.com/col/attachment/2006/4/658639.jpg
前面只是簡單的羅列出設備、連接阜和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"。
http://tech.ccidnet.com/col/attachment/2006/4/658641.jpg

理論上,每個"邊緣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單域就可以支持如此眾多設備,但實際套用中卻經常看到多域模式的產品呢?這其實跟目前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虛擬電路單元,大大增加了效能增強空間。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
向 psac 送花的會員:
johnss (2010-03-08)
感謝您發表一篇好文章