深入剖析SAS技术

Rechardluo

SAS (Serial Attached SCSI,串行连接SCSI) 技术作为一种新的存储连接接口,已经从实验室、从厂商的技术白皮书中走向了市场。SAS HBA、RAID卡,甚至是外部存储子系统都已经整装待命。那它和已经广泛使用的并行SCSI、FC、以及SATA技术相比,它能带来那些特色和优势,下面就从技术原理到市场应用角度带你深入的了解SAS。

一、 SAS前世今生

SAS技术的出现,其最初的目标是为了取代Parallel SCSI (并行SCSI) 接口,使其能够在高端的服务器市场,提供高性能、高可靠性、易于管理的接口,从而满足企业级的数据中心需求;同时,采用与SATA类似的线缆连接技术,并兼容SATA技术,从而提供满足桌面级的ATA技术。

clip_image002

图-1 SAS-SCSI-ATA关系

从图-1中,可以看出SAS像并行SCSI、FC,以及iSCSI那样,为上层的存储协议集 (SCSI命令集,以及ATA命令集) 提供了底层的互连接口;它通过协议层的SSP (Serial SCSI Protocol,串行协议) 来实现和SCSI命令集的转换,在该层还有STP (Serial ATA Tunneling Protocol,串行ATA通道协议) 来实现和ATA命令集的转换。正是因为加入了这两个转换协议,使得SAS能够同时支持SCSI和SATA。同时,SAS还为SATA提供了双端口技术、全双工、以及设备寻址等特性,因此它对可以增强对SATA技术的应用。

另外,其更长的线缆通信长度、采用SFF (Small Form Factors) 连接、以及更强大的寻址空间,使得SAS在主流的数据中心服务器以及存储子系统的部署过程中,拥有非常大的灵活性。

二、 SAS分层架构

clip_image004

图-2 SAS分层架构

SAS提供了分层的架构,各个层次完成不同的功能,从而提供更好的扩展性,能灵活地设计更好的功能。

A) 在底层,通过SAS physical layer(物理层)专门完成传送数据的线缆和连接器的底层物理信号处理;

B) 而SAS phy layer (phy 层)主要完成8bit/10bit编码处理,从而使得上层的模块不需要担心底层物理连接的细节;

C) 对于SAS Link Layer (链路层),通过它来处理各中协议primitives (原语)、地址帧格式、以及连接处理,为了满足上层与SCSI、ATA等的兼容,它分出SSP link layer、STP link layer、SMP link layer模块,各自处理对应上层发出的请求;

D) 在链路层之上的就是SAS Port Layer (端口层),它处理建立连接和断开连接的各种状态机,适配各种上层应用发下来的请求;

E) 而再往上则为传输层,定义各种帧格式;比如SSP Transport layer (SSP 传输层),STP transport layer (STP传输层),和SMP transport layer (SMP传输层)。

F) 最上面则为应用层,处理各种应用请求。比如SCSI application layer (SSP 应用层) 处理SCSI请求,ATA application layer (ATA 应用层) 处理ATA请求,management application layer (管理 应用层) 解决了各种管理请求。

三、 SAS技术细节

像SCSI和ATA一样,SAS在架构上,也是采用Domain (域)来表示一个相对独立的SAS环境,如图-3所示。

clip_image006

图-3 SAS模块

整体来说, 一个Domain主要由SAS Initiator Device (SAS初始设备),Expander Device (扩展端口),以及SAS Target Device (SAS目标设备)组成。这样的结构,能够灵活地适应DAS,或者交换式存储网络。而在这些组件的连接中,端口起着至关重要的作用,由一个Phy组成的端口称为Narrow Port (窄端口);由多个Phy组成的端口称为Wide Port (宽端口),如图-3中包含A Phy和B Phy的SAS初始设备端口就是宽端口。而从SAS初始设备上某个Phy经过扩展端口上的Phy,直到SAS目标设备上的某个Phy的整个路径,被称为Pathway (通路),如图-3中红色线条就是一条通路。

当SAS初始设备需要发现与它相关联的SAS目标设备时,它会先探测与它相连的第一级扩展端口或者SAS目标设备,然后像第二级扩展,直到找遍整个Domain,从而通过这样的遍历方式,建立了相关的通路,为进一步的数据操作提供了传递路径。

SAS模块架构,完全满足SAN环境的架构需求,从而使得它很容易的加入的存储网络中来;同时通过扩展断口和每个断口的SAS地址,以及STP转换,使得SATA也能够加入到这样的交换式架构中来,比SATA Multiplier提供了更好的扩展性,如图-4所示。

clip_image008图-4 SAS连接示例

四、 SAS、FC大比对

SAS发展的一个目标就是进军企业存储的数据中心,在此我们将它和在该应用领域范围类的FC做一个比对。

终端设备对比

交换设备对比

FC 对象

对应SAS对象

FC 对象

对应SAS对象

Platform (平台)

Device (设备)

Cable or backplane (线缆或背板)

Cable or backplane (线缆或背板)

Node (节点)

<None>

Port Bypass Circuit (端口旁路电路)

<None>

Port (端口)

Port (端口)

Hub (集线器)

<None>

<None>

Phy

Switch (交换机)

Expander (扩展设备)

表-1 FC-SAS对比

从表中可以看出,FC在终端设备上的支持,SAS技术基本上都有相匹配的对象;而在交换设备方面,FC比SAS功能强大一些,这是因为FC已经被广泛的应用,各种层次模块技术也很成熟,而SAS却是新推出的技术,还有很多地方需要完善。

每个SAS端口都有一个地址,而每个FC节点都拥有节点名,每个FC端口对应有一个端口名;FC采用端口地址来进行路由,并为交换服务保留了许多Well Known Address (众所周知的地址) ,而SAS里面的Expander设备就像其他设备那样,用端口地址完成寻址;同时,SAS环境中无需登陆,而FC却需要三层登陆:分别是Fabric Login (交换机登陆) 、Port Login/Logout (端口登入/登出) 、和Process Login/Logout (进程登入/登出) ;并且,SAS只有一种服务,和FC的第一类服务类似,而FC则提供了六类服务。 由此看见,FC在SAN网络环境中还是有优势的。

五、 SAS前景分析

对于存储领域来说,已经存在ATA、SCSI、FC等协议,并被广泛采用,下面通过表-2来对比它们之间的拓扑结构和性能对比。

 

Parallel ATA

Serial ATA

Parallel SCSI

Serial SCSI

Fibre Channel

寻址能力

2

1

16

4096

8 Million

传送距离 (米)

1

1

25

10

50km

双端口 (Dual Port)

支持

支持

拓扑结构

总线 (Bus)

点对点 (Point to Point)

总线 (Bus)

点对点(Point to Point),扩展设备 (Expander)

Loop (环路),Fabric (交换机)

速率 (MB/s)

100

150, 300, 600

160, 320

(共享带宽, Shared)

150, 300, 600

100, 200, 400, 1k

(共享带宽, Shared)

双工

半双工

半双工

半双工

全双工

全双工

协议

ATA

ATA

SCSI

SCSI

SCSI

表-2 拓扑结构对比表

由上表可见,SAS基本上整合了SATA和FC的优点,提出了一种优秀的能够兼容SCSI和SATA的架构,使得能够完成SATA和SAS能够同时使用。尽管,在企业级存储有FC的压制,在桌面级存储有SATA的追赶;但是,可以相信未来是串行接口的天下。

根据STA ( SCSI Trade Association,SCSI同业工会) 的规划。目前主要是3Gb的SAS,估计在2007年左右会推出6Gb的SAS,到2010年左右就会出现12Gb的SAS。而且,像Adaptec、Seagate、LSI、FUJITSU、Intel、 Promise等存储厂商都已经在SAS领域中,做的风生水起;在国内,像浪潮、联想、曙光、红旗都有参与SAS的推广。相信在不久的未来,就会形成一个广泛合作的产业链。

总之,SAS作为一种新存储技术,其串行化、点对点的交换式架构,增强了并行处理能力,以及不断增加的接口速率 ,满足高性能企业存储的需求;同时,它能兼容SATA接口,使得它在桌面应用领域也能占到一席之地。当然,SAS还不可能立即出现在所有的存储设备中,毕竟新旧技术的交替是需要时间的;但是更多的选择正在浮现,而且SAS替代传统并行SCSI的趋势是不可改变的。