标签归档:SCSI

从并行SCSI到串行SCSI

SCSI (Small Computer System Interface) 常常称为并行 SCSI,它的历史差不多有 30 年了,已经很难满足当今 IT 环境的需求。因此,开发了串行连接 SCSI (Serial Attached SCSI,SAS) 来克服 SCSI 固有的局限性。本文主要介绍这两种接口之间的差异,说明 SAS 的优点。

简介

SCSI (Small Computer System Interface) 是一组用于在计算机和外部设备之间进行物理连接和传输数据的标准。这些标准定义命令、协议、电子接口和光学接口。SCSI 通常用在硬盘和磁带设备上,但是也可以用于许多其他设备,比如扫描仪、CD 和 DVD 驱动器。

SCSI(常常称为并行 SCSI)基于总线技术。它的历史差不多有 30 年了,已经很难满足当今 IT 环境的需求。例如,它的最高数据传输速度只有 320 MB/sec (Ultra320 SCSI),而且在共享的总线上连接的设备越多,性能就越差。企业 IT 需求日益复杂,SCSI 越来越不能满足需要了。

开发 Serial Attached SCSI (SAS) 的目的是满足传统的并行 SCSI 无法满足的 I/O 和直接连接存储需求。它提供与 SCSI 的逻辑兼容性,同时提供优于 SCSI 的可靠性、性能和可管理性。与并行 SCSI 一样,SAS 是一种用于在硬盘和磁带驱动器等计算机存储设备之间传输数据的技术。但是,SCSI 是多支路的,而 SAS 是点对点协议,支持比并行 SCSI 高得多的数据传输速度。它使用标准的 SCSI 命令集与 SAS 端设备交互。

SAS 协议由 International Committee for Information Technology Standards (INCITS) 的 T10 技术委员会开发和维护。

组件

典型的 SAS 系统由以下四个基本组件组成:

  • 发起者(Initiator)
  • 目标 (Target)
  • 服务交付子系统 (Service Delivery Subsystem)
  • 扩展器 (Expander)

发起者向目标设备发送设备服务和任务管理请求,并从目标设备接收对请求的响应。发起者可以是主板上的组件或附加的主机总线适配器。

目标包含逻辑单元和目标端口。它接收并处理设备服务和任务管理请求,然后向发送这些请求的发起者返回响应。目标设备可以是硬盘或磁盘阵列系统。

服务交付系统 (SDS) 是 I/O 系统的一部分。它在发起者和目标之间来回传输信息。一般情况下,SDS 由连接发起者和目标的线缆组成,可能包含扩展器。

扩展器是 SDS 的组成部分。它们协助 SAS 设备之间的通信。它们还帮助把多个 SAS 设备连接到单一发起者端口。

 

并行 SCSI 与 SAS

下表说明 SAS 和 SCSI 接口之间的主要差异:

并行 SCSI 与 SAS

并行 SCSI SAS
体系结构 并行,所有设备都连接到共享的总线。 串行,点对点,单独的信号路径。使用端口扩展器1执行散布(fan-out)。
性能 最大速度 320 MB/sec (Ultra320 SCSI)。性能随着连接共享总线的设备增加而衰退。跨整个多支路总线分享速度。 3.0 GB/sec,计划增加到 12.0 GB/sec。即使增加更多设备,性能也维持不变。
可伸缩性 每条线缆上的设备数受到每条通道上 SCSI ID 数(8、16 或 32)的限制。 最多 128 个设备。通过使用散布扩展器,可支持 16,384 个设备。
兼容性 与其他所有驱动器接口都不兼容。 与串行 ATA (SATA) 兼容。
最大线缆长度 总长度 12 米。可以使用 SCSI 中继器突破此限制,但是中继器比较贵。 每个单独的连接 8 米;整个域可以布置数千英尺的线缆。
线缆形式因素 过多的线缆会增加成本。 紧凑的连接器和线缆可以节省空间和成本。
热插拔功能 未优化。应该谨慎。 支持。
设备标识 手工设置;用户必须确保总线上没有 ID 号冲突。 在生产设备时设置全世界范围内惟一的 ID,可以惟一地标识设备;不需要用户操作。
终结 手工设置;用户必须确保正确地安装终结器。 单独的信号路径使设备在默认情况下包含终结;不需要用户操作。

1端口扩展器本质上是具有强大的处理器的交换机。

结束语

从最终用户的角度来看,SAS 提供企业级的健壮性,能够保护对兼容的 SCSI 软件和应用程序的投资。另外,因为它与 SATA (Serial Advanced Technology Attachment) 兼容,SAS 允许在 SAS 系统中使用直接连接存储设备。因为它基于串行接口,所以 SAS 允许增加设备支持。

Ultra3 SCSI与Ultra160、Ultra320

1998年7月31日,SCSI商业协会(SCSI Trade Association,STA)以Ultra3 SCSI的名字批准了SPI-3,与Ultra2 SCSI相比,Ultra3 SCSI新增了5个主要特性。

双沿传输(Double Transition,DT):时钟信号上升沿和下降沿都触发数据传输,而不是以往的只在一端触发,从而在时钟频率不变的情况下将传输速率翻倍,这种双沿触发技术今天已经广为人知——DDR(Double Data Rate)。DT的应用让Ultra3 SCSI能够以Ultra2 SCSI的时钟频率获得两倍的传输速率(160MB/s,即Fast 80)。

CRC(Cyclic Redundancy Check,循环冗余校验):大家都很熟悉的技术,保证高速数据传输的可靠性。

域验证(Domain Validation):SCSI历史上产生的规范很多,彼此之间又要保持兼容,因此一条SCSI通道内速度规格不同的设备并存是很常见的事情,于是SCSI适配器在加电之后所要做的第一件事就是轮询通道内所有设备并记录下它们各自声明支持的最高传输速率,留待以后使用,这个过程被称为协商。

协商存在的问题是“纸上谈兵”,即获得的都是标称值,而没有考虑到实际的线路情况,特别是高速信号易受线缆质量、长度和外部干扰影响而达不到最高速率,导致传输出错。作为解决方案,域验证规定SCSI适配器以设备声明的最高传输速率发送写请求,数据在写入设备内部缓存后再读出,如果二者不一致则将传输速率降低一档重复该过程,直到获得实际可用的最高传输速率。

QAS(Quick Arbitration and Selection,快速仲裁及选中):当多个设备争夺总线时,SCSI适配器通常根据优先级(ID号)分配控制权,即所谓仲裁。在仲裁过程中总线上没有数据流动,这种时间开销降低了总线的利用率,加快仲裁速度则可以改善整个SCSI子系统的性能。QAS采用了减少仲裁次数的方法来做到这一点,即等待总线的设备在上一个占用设备释放总线之后立刻夺取控制权,而不是开始新一轮的仲裁。这种类似于“抢线”的方式比原来的“论资排辈”有了很大进步,低优先级的设备总是在仲裁中出局(容易导致“饿死”)的情况得以改观。

封包传送(Packetized Transfer,也称Packetization或Packetized SCSI):传统的SCSI将命令、数据和状态信息分别传送,数据以最高的同步传输速率传送(譬如Ultra2 Wide SCSI为80MB/s)是很正常的,问题在于命令和状态信息的传送速率居然始终只有异步的区区5MB/s!也就是说,命令和状态信息的时间开销是一个常量,而随着SCSI同步传输速率的不断上升,这种传输方式的弊端愈发明显——命令和状态信息开销所占比重越来越大,效率迅速下降,最终会让速度规格的提高失去实际意义。

封包传送通过将命令和状态信息与数据一起打包(也称为信息单元,即Information Units,IU)传送的方式,大幅度降低了由命令和状态信息产生的时间开销,为同步传输速率的进一步提高创造了条件。此外,封包传送还允许多个I/O过程通过单个物理连接完成,而无需为每个I/O过程建立/断开连接。

在增加新特性的同时,Ultra3 SCSI(SPI-3)还做了些“清理门户”的工作——废弃了32位总线宽度和SCAM(SCSI自动配置)这两个从未真正实现过的特性,因LVD的出现而不再具有意义的HVD(高电压差动)被移去,Narrow(8位)模式也因Fast-80的出现而开始成为历史。

Ultra3 SCSI这个名字的继承性很好,应该算是SCSI商业协会的一大贡献。然而,SCSI商业协会居然允许将实现5个新增主要特性的任意子集的设备(包括适配器)冠以“Ultra3 SCSI”的名号,这意味着不能保证两个“Ultra3 SCSI”设备拥有同样的特性!如此一来,Ultra3 SCSI岂不是形同虚设?

为了避免可能由此引发的混乱,Adaptec和Fujitsu(富士通)、HP(惠普)、LSI Logic(LSI 逻辑)、Mylex、QLogic、Quantum(昆腾)迅速于1998年9月14日共同推出了基于Ultra3 SCSI的Ultra 160/m SCSI规范,顾名思义,双沿传输(160MB/s)肯定是采用了,m取可管理性(manageability)之意——代表CRC和域验证,至于实现难度较大的QAS和封包传送则没有包括在内。取舍得当和众多厂商的支持使Ultra 160/m SCSI顺利地成为Ultra3 SCSI的标准子集,并从2000年起以Ultra160 SCSI这个更易被人接受的名字统治市场至今。

根据存储接口传输率每两年就要翻番的规律,SPI-4——即Ultra320 SCSI在2000年浮出水面也就顺理成章。Ultra320继承了Ultra160的三大特性,其中速度规格因为时钟频率的翻倍而提高到320MB/s。新特性当然是不可缺少的:封包传送已成为必备,QAS则仍是可选,此外还增加了ISI(Intersymbol Interference Compensation,码间干扰)补偿等8个必备或可选项,见下表。

ultra320

根据IBM提供的资料,如果还使用传统方式,Ultra320 SCSI的实际数据输出能力上限也就是200MB/s左右,使用封包传送之后则可以提高至300MB/s,因此该特性必不可少;而对4KB以下的小块数据传输来说,传送命令、等待仲裁等额外开销占据的比例很大,在前者已经得到解决的情况下,QAS的应用可以进一步提高效率。新增的8项里面,用于管理(Flow Control和SCSI bus fairness)及纠错(AIP)的只占一半不到,其余5项全都与改善传输质量有关,可见随着运行频率的攀升,并行总线已经难堪其负。

对可选特性的支持取决于设备制造商,譬如Maxtor的Atlas 10K Ⅲ-Ultra320和Atlas 10K Ⅳ就支持包括AAF在内的全部5项可选特性。据Maxtor美国总部高端存储部门市场推广副总裁John Joseph先生介绍,Ultra320 SCSI其实就是Ultra640 SCSI(SPI-5)的降速版本——反过来说,Ultra640 SCSI除了将最大传输速率提高到640MB/s之外,不会再增加新的特性。

DELL 2650、DELL 2850和DELL 2950服务器内存、硬盘规格及可否通用

DELL 2650服务器属DELL的第六代服务器,作为DELL出品的很经典的一款服务器,从2001年左右即上市,目前在部分机房仍能见到。
该型服务器拥有1个3.5英寸、1.44MB软盘驱动器,1个IDE CD或者DVD驱动器,有5个ULTRA3 SCSI硬盘槽位。
该型服务器拥有6个内存槽位,支持128MB、256MB、512MB、1GB的内存条,支持最小内存为256MB,最大内存为6GB,具体规格为72 位 ECC PC-1600 DDR SDRAM DIMM。

DELL 2850服务器属DELL的第八代服务器,于2004年左右上市。
该型服务器拥有1个3.5英寸、1.44MB软盘驱动器,1个IDE CD或者DVD驱动器,有6个ULTRA320 SCSI硬盘槽位。
该型服务器拥有6个内存槽位,支持256MB、512MB、1GB、2GB、4GB的内存条,支持最小内存256MB(即只插一根256MB内存条),最大内存为16GB,具体规格为144 位 ECC 带寄存器的 PC2-3200 DDR2 SDRAM DIMM。

DELL 2950服务器属第九代服务器,于2005年左右上市。
该型服务器拥有1个3.5英寸、1.44MB软盘驱动器,1个IDE CD或者DVD驱动器,支持6个3.5英寸SAS或者SATA硬盘驱动器,或者8个2.5英寸SAS硬盘驱动器。
该型服务器拥有8个内存槽位,支持256MB、512MB、1GB、2GB、4GB的内存条,支持最小内存512MB,最大32GB,具体规格为533 MHz 或 667 MHz 全缓冲 (FB) DDR2内存。

DELL 2650和DELL2850都采用SCSI硬盘,可以通用,DELL 2950采用SAS硬盘,不可通用,且它们内存也不可通用。