WatchStor.com — 领先的中文存储网络媒体 | 51CTO旗下网站

新闻资讯 > SAS > 正文

51CTO存储专家:SAS教程

51CTO.com  董唯元丨2006-03-28 14:17 标签:SAS 

51CTO.com独家特稿】SAS(Serial Attached SCSI)即串行SCSI技术,正逐步走入我们的视线。按照行业预期,SAS磁盘很快将取代目前的SCSI磁盘甚至FC磁盘而成为主流磁盘类型。可惜现在对SAS技术的讨论大多集中在应用层面,很少有具体的技术介绍。有鉴于此,笔者搜集整理了一些资料,权做抛砖引玉吧。
什么是SAS?简单的说,SAS是一种磁盘连接技术。它综合了现有并行SCSI和串行连接技术(光纤通道、SSA、IEEE1394及InfiniBand等)的优势,以串行通讯为协议基础架构,采用SCSI-3扩展指令集并兼容SATA设备,是多层次的存储设备连接协议栈。

为了更好的了解SAS技术,我们先回顾一下几个相关技术的发展过程。为了简明,这里只以表格形式体现。
首先是并行
SCSI的发展过程。

名称

标准规范

出现年份

理论带宽

关键特性

SASI

 

1979

 

SCSI雏形

SCSI-1

SCSI-1

1986

~2MB/s

异步;8

SCSI-2

SCSI-2

1989

10MB/s

同步;16

SCSI-3

分离指令集,传输协议与物理接口脱离,成为独立标准

Fast-Wide

SPI/SIP

1992

20MB/s

 

Ultra

Fast-20附加标准

1995

40MB/s

 

Ultra2

SPI-2

1997

80MB/s

低压差分机制

Ultra3

SPI-3

1999

160MB/s

附加校验

Ultra320

SPI-4

2001

320MB/s

分包机制;QAS

正是SCSI-3指令集的出现,使得SCSI通讯出现了分层结构,并使SCSI指令通过其他物理媒介传输成为可能。事实上,SCSI-3指令自诞生之日就被一批新技术相中,此后出现的光纤通道技术、SSA技术、IEEE1394火线技术等,均受益于这一进步。

这些串行技术虽然从名字上看与SCSI毫不相干,但其实它们都支持SCSI-3作为应用层逻辑指令。下面是这些串行技术的简要回顾。

名称

标准规范

出现年份

理论带宽

关键特性

光纤通道

FCP

1995

100MB/s

支持光介质

SSA

SSA-S2P/TL1/PL1

1996

20MB/s

IBM独有技术

SSA

SSA-S3P/TL2/PL2

1997

40MB/s

IBM独有技术

火线(IEEE1394

SBP-2

1998

50MB/s

 

光纤通道

FCP-2

2002

200MB/s

 

InfiniBand

SRP

2002

250MB/s

4倍速和12倍速

iSCSI

iSCSI

2003

~100MB/s

 

除了并行SCSI和几种应用SCSI-3指令集的串行技术,我们再简单回顾一下ATA技术的历史。

名称

标准规范

出现年份

理论带宽

关键特性

IDE

 

1986

 

未标准化

 

ATA

1994

 

PIO模式0/1/2

E-IDE

ATA-2

1996

16MB/s

PIO模式3/4LBA

 

ATA-3

1997

16MB/s

S.M.A.R.T.技术

 

ATA/ATAPI-4

1998

33MB/s

冗余校验

UltraDMA66

ATA/ATAPI-5

2000

66MB/s

UltraDMA模式3/4

UltraDMA100

ATA/ATAPI-6

2002

100MB/s

UltraDMA模式548LBA

UltraDMA133

ATA/ATAPI-7

2003

133MB/s

UltraDMA模式6

SATA

ATA/ATAPI-7

2002

150MB/s

串行ATA

SATA-II

ATA/ATAPI-8

2004

300MB/s

优化指令队列

之所以罗列出以上三个表格,是因为SAS技术正是以串行机制为基础,同时支持SCSISATA的协议。了解以上三个方面的历史,有助于更方便的理解SAS技术的特点。为了增强感性认识,我们先从外观入手,慢慢走进SAS技术内部。

上面这张照片就是SAS外部接口的样子。使用过InfiniBand交换设备的朋友一定觉得眼熟,没错,SAS外部接口和线缆就是借用了InfiniBand线缆的设计。不要小看这个只有并行SCSI一半大的接口。这种端口名叫“四路宽端口”,以目前3GbSAS标准,它可以达到12Gb的带宽,也就是4 x 3Gb SAS通道。SAS技术与光纤通道一样,都采用8位到10位的编码机制,12Gb的物理层带宽换算到应用层就是1.2GB/s,这一根线就比目前主流的64133MHz 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的协议。这套协议被称为STPSerial ATA Tunneling Protocol)即“SATA隧道协议”。从这个命名就可以看出,SAS兼容SATA的方式其实就是在从磁盘端到主机端整条链路上,为SATA磁盘特地开辟出一条隧道。

除了端口设计,SASSATA磁盘的供电接口也可能是读者的疑问。如果SASSATA接口中已经包含有供电接脚,传统的四针式电源是否还有用呢?

对磁盘阵列来说,答案显然是没有。外置磁盘阵列早在SCSIIDE年代,就已经不使用四针式电源接口了。但是服务器内部的非热插拔磁盘一般都采用这种接口,而且目前市面上一些SATA磁盘也带有这种电源接口。这是因为SATA 1.0标准刚刚颁布的时候,还没有完全取代四针电源。无法摆脱四针式电源,就无法直接支持热插拔,因此SATA 1.0在当时被定义为仅主机内部连接的协议,不支持外部连接。不过这些都已经是历史,现在的SASSATA II版本中,四针电源完全没有存在的必要。

看过SAS设备外观,我们再看看SAS内部的一些工作原理。首先,让我们先搞清楚三个名词——“设备”(Device)、“端口”(Port)和“phy”。

“设备”就是指SAS连接末端的物理设备,可以是磁盘,也可以是主机里的SAS适配器,但不是Expander设备。暂时不晓得Expander为何物的读者不要着急,后面会介绍到。

“端口”是半物理半逻辑的概念。一方面,每个端口都对应一条实实在在的物理连接线;另一方面,每个SAS端口都有一个唯一的64位地址。这个地址的格式跟光纤通道里的WWN(严格的说,应该是WWPNWWNN对应的更像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.8GBpsSAS连接。

说到SAS适配器,还有个有趣的问题。目前主流SAS适配器一般支持8phy,那么大家猜猜一般适配器支持多少端口地址呢?答案是可以动态设定。当适配器用来连接外部SAS设备时,需要用外部宽端口,这时适配器将8phy划分成两个宽端口,支持两个端口地址。而当适配器连接内部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单域就可以支持如此众多设备,但实际应用中却经常看到多域模式的产品呢?这其实跟目前SAS芯片的制造工艺有关。如果想制造出一个“扇出Expander”来支持128个“边缘Expander”的连接,那这款“扇出Expander”至少要支持128phy(每端口至少一个phy)。而Expander之间的互联一般应采用至少四路宽端口,那就需要中心的“扇出Expander”支持4 x 128 = 512phy(每端口四个phy)。而现在的实际情况是LSI公司的首款SAS芯片只能支持12phy,刚刚好是个零头。虽然SAS技术支持多个Expander芯片组成一个“Expander组”(Expander Set)来模拟一个Expander,但过多的芯片无疑会在制造工艺和成本方面带来麻烦。正是基于目前SAS芯片工艺水平,一些磁盘阵列厂商在设计阵列扩展时,大多采用多域结构。虽然在软件设计上费力多些,但却可以避开单芯片phy数量有限的问题。

所谓多域模式,在大多数情况下,其实也只不过是两个域而已,即每个阵列控制器各自属于自己的SAS域。因为目前的SAS交换技术还不支持域之间的路由,所以要想保证每个阵列控制器都能访问到所有磁盘,最多只能引入两个SAS域。

SAS技术借鉴了很多光纤通道技术的工作原理,对比光纤通道技术可以帮助我们更好的了解SAS技术优势。

前面已经提到,SAS端口地址与光纤通道中的WWN格式几乎完全一样,但其使用方式还是略有区别。SAS域中,端口地址直接作为交换路由表的内容,没有任何转换过程,而光纤通道的Fabric交换中并不直接采用WWN地址,而是要经过一个转换过程,由名字服务器对每个设备二次分发路由地址。光纤通道之所以这样设计原因很明显,因为在Fabric交换中要支持环路设备,所以不得不兼顾各种编址。实际上在光纤通道交换域中,每个设备要经过三层登陆(FLOGIPLOGI/LOGOPRLI/PRLO)才能接入域中。这颇像一个臃肿的官僚机构,虽然体系庞大,却效率低下。而SAS技术舍弃了光纤通道中的仲裁环机制,从而大大简化了交换与地址的关系。在SAS域中,再也不需要关心那些恼人的繁文缛节了。

由于交换模式的简化,SAS设备与Expander之间不需要通过复杂的磋商,简单的握手之后就开始正常工作了,这就需要双方事前就很多方面必须达成一致共识。“服务级别”就是共识之一。我们知道光纤通道可以支持五种不同级别的交换服务,分别是Class 12346。这其中最常用到的是Class 3,即无确认的帧交换。这种模式好比不负责任的邮递员,反正有收信人和发信人互相确认,他自己根本不操心包裹是否完好。由于光纤通道技术中没有phy这个层次的设计,Class 3是效率最高的工作模式。而SAS则不然,借由phy的底层独占式互联机制,SAS中的服务级别更像Class 1模式,即虚拟电路全带宽连接。这种模式最能够充分保证每一组SAS设备之间的通讯带宽,同时数据的误传输概率也降到最低。

由于光纤通道技术中层次臃肿的通讯机制,主机端光纤适配器很难直接察觉到磁盘端设备状态的变化。就好比一个高高在上的官僚,很难知道底层普通市民的住址变迁。为此,光纤通道交换设计了“注册状态变更通知”(RSCNRegistered State Change Notification)机制。就是让每个普通市民在搬家之后,都要主动向政府汇报新地址,政府再将地址簿汇总更新,送交各位领导案头,而官僚们就依据案头的记录信息定位每个市民。遗憾的是,这个RSCN会打断领导们正在进行的沟通,迫使领导们的工作重新开始,因此严重影响整个政府的办公效率。而在SAS域中,由于没有了复杂的沟通层次,每位领导都可以直接掌握市民的住址信息,办公效率自然就提高许多。

SAS与光纤通道相比,最明显的技术优势在于连接带宽。简单从数字上看,3GbSAS似乎不及4Gb的光纤通道,但光纤通道技术中端口已经是最基本的逻辑单元,也就是说,两个物理端口间的连接就只可能是4Gb带宽。而SAS则巧妙的在端口中引入phy这个新的逻辑单元,两个phy之间的互联带宽为3Gb,每端口可以包含4个或8phy之多,这样两个SAS端口之间的连接很容易达到12Gb甚至24Gb超高带宽。

总之,SAS在借鉴光纤通道技术特点的同时,一方面大刀阔斧简化交换机制,从而提升了交换效率和可靠性,另一方面增加了phy虚拟电路单元,大大增加了性能扩展空间。


相关资讯

今日微信独家

《华尔街日报》报道日前援引知情人士的消息称,由于被美国政府以国家安全问题为由进行调查,联想斥资23亿美元收购IBM低端服务器业务的交易陷入了停滞状态。
关注新浪官博 订阅微信订阅号

订阅焦点周刊

论坛与活动

2016中国数据加速峰会直播专题
2016中国数据加速峰会直播专题[详细]
点击查看

精彩视频

最新文章

1111111
1111111
asdasd
asdasd
同有科技应用型大数据存储在南京掀起智能风暴
同有科技应用型大数据存储在南京掀起智能风暴
斯蒂芬斯蒂芬
斯蒂芬斯蒂芬
京东双11技术备战 构建多中心交易系统
京东双11技术备战 构建多中心交易系统