任何一台计算机系统(主机)要访问采用SAS接口的硬盘驱动器或外部存储系统,必须配有支持SAS的接口控制器,其表现形式可以是板载的控制芯片(IC)、扩展插槽上的控制卡(主机总线适配器,即HBA),或各种面目的RAID控制器,这里我们统一称为SAS存储适配器。
毫无疑问,SAS控制芯片(SAS IC)是三者中的核心——SAS HBA围绕它构建,SAS RAID也不能成其为“SAS”RAID。
现有的SAS控制芯片可以分为4种,这来自于两端的两种可能性的两两组合:SAS端口4个或8个,插槽类型PCI-X或PCI Express(简写为PCI-E或PCIe)。从SAS端口的角度来看,2个太少,而超过8个的需求有Expander(扩展器)解决。尽管PCI-X 1.0的带宽只有1066MB/s(64位/133MHz),还不如4个SAS端口之和(单向1200MB/s),但毕竟PCI-X 2.0已没有机会普及;后起之秀PCI Express支持全双工操作,x4的双向带宽为2.0GB/s,x8为4.0GB/s,因此PCI Express版本的8端口SAS控制芯片都采用x8,4端口则既有x4也有x8。如果您觉得上面这段话太过抽象,看到下表就会一目了然。
主流SAS控制芯片一览表
厂商 | 型号 | 端口数量 | 总线类型 |
LSI Logic |
LSISAS1064 |
4 | PCI-X |
LSISAS1064E |
4 | x8 PCIe | |
LSISAS1068 |
8 | PCI-X | |
LSISAS1068E |
8 | x8 PCIe | |
Adaptec |
AIC-9405W |
4 | PCI-X |
AIC-9410W |
8 | PCI-X | |
Vitesse |
VSC7251 |
4 | x4 PCIe |
VSC7250 |
8 | x8 PCIe | |
Broadcom |
BCM8603 |
8 |
x4 PCIe/PCI-X |
Adaptec和LSI Logic(LSI逻辑)这两大SCSI控制芯片供应商,在Ultra160和Ultra320时代可谓是各领风骚。但是,LSI Logic在2001年11月16日与Compaq(康柏,现已属于惠普)、IBM(现主要是Hitachi GST)、Maxtor(迈拓)、Seagate(希捷)一同发起成立Serial Attached SCSI工作组之后,对这种新兴标准倾注了极大的心血,并逐渐占得先机。
LSI Logic在2004年和2005年先后推出了4款SAS IC,分别是4端口的LSISAS1064(PCI-X)/1064E(PCI-E)和8端口的LSISAS1068(PCI-X)/1068E(PCI-E),正好对应全部的4种类型。
从型号上看,LSISAS1064E应该是LSISAS1064的PCI-E版本,但实际上前者与LSISAS1068/1068E的血缘关系更近:472管脚EPBGA封装的1064采用一颗ARM926处理器,而1064E、1068和1068E均为636管脚EPBGA封装并采用225MHz的ARM966处理器。此外,1064E的x8 PCI-E也让我们更有理由认为其是1068E的缩减版。
这4款芯片均支持每端口1.5Gb/s和3Gb/s的SATA和SAS(全双工)数据传输率,端口独立自动协商。支持SSP(Serial SCSI Protocol,串行SCSI协议)、SMP(Serial Management Protocol,串行管理协议)、STP(Serial ATA Tunneled Protocol,SATA隧道协议)和SATA协议,以及2、3或4个Phy宽度的SAS端口配置。此外,交错启动(Staggered spin-up)、热插(Hot Plug)、本机命令排队(Native Command Queuing,NCQ)、每个phy的活动和故障指示(Activity and fault indicators)、端口选择器(Port Selector,用于双端口驱动器)等SATA Ⅱ特性也获得支持。
借助内置的ARM处理器核心,4款芯片均可以实现独立于操作系统的集成RAID功能,包括Integrated Mirroring(IM,集成镜像,即RAID 1)和Integrated Striping(IS,集成条带化,即RAID 0),以及增强的集成镜像(IME,相当于RAID 1E,目前仅限于1064E和1068E)。考虑到板载应用的需要,它们也都提供了对零通道RAID(Zero Channel RAID,ZCR)的支持。
{[csc:pagelist]}
在Ultra160时代风光无限的Adaptec,转向Ultra320后逐渐被LSI Logic赶超,有消息说他们在处理高速信号方面遇到了困难。Serial Attached SCSI工作组成立时Adaptec表示了支持,而并不在发起者之列,其产品的推出时间和数量也落后于LSI Logic。
2005年1月底,Adptec公司宣布与Vitesse半导体公司结为战略联盟,由后者雇用经过精心选拔的Adaptec工程师(主要是负责SAS ASIC开发的硬件工程师),并获得某些SAS技术和与部署Adaptec SAS RoC(RAID-on-Chip,片上RAID)产品有关的知识产权的许可,Adaptec公司则逐渐淡出硬件开发,将重心转向RAID代码和管理等软件业务。当时,Adaptec的两款PCI-X SAS控制芯片已开发完成,分别是4端口的AIC-9405W和8端口的AIC-9410W。
Adaptec没有把控制芯片作为独立产品的传统(虽然板载应用一点不少,如上图),SAS也不例外。Adaptec的网站上的产品分类中没有SAS控制芯片,我们只能在后面HBA(Host Controller)和RAID卡(RAID Controller)的章节一并介绍。
Vitesse已有的两款SAS控制芯片分别是x4 PCI-E的4端口VSC7251和x8 PCI-E的8端口VSC7250,均可以连接SAS或SATA硬盘驱动器、SAS扩展器(Expander)以及任何SAS 1.1兼容的发起者(Initiator)或目标(Target)设备。与AIC-9405W和AIC-9410W不同的是,VSC7251和VSC7250被称为SAS单芯片RAID控制器,它们嵌入了64位MIPS64 5Kc处理器核心,集成RAID 5和RAID 6硬件加速,具有DDR2外部内存接口,在RAID代码、DIMM和电池备份单元的支持下能够实现RAID 0, 1, 10, 1E, 5, 50, 6, 60的级别,而不仅仅是普通SCSI控制芯片集成RAID的0, 1, 10和1E。
Vitesse VSC7250数据表中的图,HostRAID和ARC显示出与Adaptec非同一般的关系
在PCI-X即将被PCI-E取代的大形势下,Adaptec的下一代SAS HBA和RAID卡将基于这两款来自Vitesse的SAS IC。
Broadcom BCM8603 SAS RoC架构图
同时支持PCI-X和x4 PCI Express的Broadcom BCM8603也颇值得一提,这颗680管脚PBGA封装的芯片是一款具有8个SAS端口的RoC,集成MIPS内核并支持DDR内存,可以实现RAID 5硬件加速。方便从PCI-X到PCI-E的转换是BCM8603最大的卖点,而PCI-E和PCI-X接口之间的桥接使其还可以在将PCI-E作为主机接口时提供额外的PCI-X插槽用于I/O扩展。BCM8603推出已有一年多时间,Broadcom正在积极地寻找客户,但尚未取得明显进展。
BCM8603的两种典型应用模式