SPI:盛开的奇葩
——
SCSI通过向后兼容性(backward-compatible),可从一定程度上保护用户的投资利益。
从1982年SCSI的前身SASI(Shugart Associates Systems Interface)到1986年被ANSI接受为标准(X3.131-1986),再到目前乃至将来各种SCSI相关标准和技术的不断推出,这项高性能计算机I/O技术已经走过了20多年的历程。不能不说它是计算机发展史中的一朵奇葩!
SCSI-3体系结构模型
SCSI是一种规范,是一组协议族。第三代SCSI最初被称为SCSI-3,以区别于SCSI-2。但当SCSI-3体系结构模型SAM(SCSI-3 Architecture Model)被修改时,这种体系结构模型就被称为SAM-2了。SCSI-3中各种协议在现在和将来都会不断地得到修改和完善,但字面意义上的SCSI-4是不会出现的。
并行SCSI(区别于串行SCSI相关协议),即SCSI-3 Parallel Interface(SPI)只是这个协议族中的一员,也是本文的主题。目前最新的SCSI Parallel Interface(SPI)是第五代,即SPI-5,也就是商业领域统称的Ultra 640。
有关SCSI-3协议族的成员情况如图1所示。从图1可以看出,整个SCSI体系结构实际上包含了三部分:命令集(Command Set),主要涉及具体媒介的各种SCSI命令;协议(Protocol),定义了数据交换和传输方式;互联标准(Interconnect Standard),定义了设备的物理连接。
概说SPI
我们通常所说的SCSI是指并行SCSI,即SCSI-3 Parallel Interface(SPI)。最初的SPI文档分为协议(Protocol)、物理层(Physical Layer)、Fast-20三个内容,可以作为SPI-1。其中Fast-20定义了20MHz总线信号,提供高达40MB/s的速率。这个文档在1999年被SPI-2代替了。
应该明确的是,通常所说的Ultra SCSI或Wide Ultra SCSI与这里所讨论的SPI实际上是一个问题的不同提法。前者是一个商业术语,往往侧重于并行SCSI的信号速率;而后者则是一个比较规范的学术术语,除了表明并行SCSI信号的速率外,还涉及到并行SCSI所采用的具体电缆情况,例如是50芯的A-Cable还是68芯的P-Cable等。
SPI与其他几种I/O技术的带宽比较如图2所示。
1.SCSI-3 Parallel Interface-2(SPI-2)
SPI-2就是通常所谓的第二代SCSI-3 Parallel Interface。SPI-2定义了一些新的特性,主要包括以下几点:
● Fast-40数据传输率 在Fast-20的基础上将总线信号频率由20MHz提升到40MHz,这样就可达到8位通道下的40MB/s、16位通道下的80MB/s传输速率。
● 低电压差分LVD信号(Low Voltage Differential Signaling) 这是一项把传统SE信号(Single-ended Signaling)与高电压差分HVD信号(High Voltage Differential Signaling)相融合的技术。
● 多模式操作 定义了可自动工作于LVD和SE总线上的设备。
● 高密度连接器 定义了一个比较小的高密度68芯连接器。
与SPI-2相对应的是Ultra2 SCSI和Wide Ultra2 SCSI。
2.SCSI-3 Parallel Interface-3(SPI-3)
SPI-3主要包括以下几个要点:
● Fast-80双倍传输率 不是通过将并行SCSI总线的频率由40MHz提升到80MHz,而是通过双倍转换时钟(Double Transition Clocking)分别达到8位通道和16位通道下的80MB/s和160MB/s。
● 循环冗余校验(CRC) 伴随着传输速率的提高,误码率也不断增加,而通过CRC校验可以很好地保证高速率下数据的正确传输。
● 域确认(Domain Validation)机制 通过这种机制,可以校验总线上的SCSI设备与SCSI控制器之间硬件连接的互操作性,不同的SCSI设备可以选择最佳的数据传输速率。
● 快速仲裁和选择(Quick Arbitration and Selection,QAS) 通过这个特性,SCSI设备可以确定哪个设备在控制总线,减少了总线上的空闲时间,从一定程度上提高了系统性能。
● 包封装SCSI机制 通过这种机制可以降低数据传输的代价,也可在一定程度上提高系统性能。
3.SCSI-3 Parallel Interface-4(SPI-4)
SPI-4或称Ultra320 SCSI是SCSI技术发展过程中的重要里程碑。由上述讨论可以知道,SPI-4包括了三个主要特性,分别为双倍率时钟、域确认和CRC校验。SPI-4在SPI-3的基础上增添了不少新的特性,通过这些新特性,并行SCSI在降低系统开销的同时大幅提高了系统I/O的性能。
SPI-4主要包含以下重要特性:
● Fast-160双倍传输速率 通过双倍传输,SCSI总线速率高达320MB/s。
● 包封装SCSI机制 包含了对包协议(Packet Protocol)的支持,通过新的包封装机制,大大降低了并行SCSI总线在传输命令、数据以及状态信息过程中的命令负荷。SPI-4的包封装机制是通过双倍速率转换数据相位而不是通过较低异步相位来实现的。这样可以通过最大化提高SCSI总线利用率和最小化降低命令负荷,以获取较高的I/O性能。包协议可以使多个SCSI命令在单一连接上传输。在SPI-4中,数据以160MB/s的同步相位模式传输,而命令和状态信息则仍旧以比较慢的异步模式来传输,并且每一个连接上只能局限于单一传输。
● QAS 这个机制降低了从一个并行SCSI设备到另外一个并行SCSI设备由释放总线控制权所带来的命令开销。
● 读写数据流(Read and Write Data Streaming) 通过允许目标器跟在多个数据包之后发送一个数据流LUN Q-TAG(LQ)包来降低数据传输的开销。在一个非流数据传输中,每一个数据包之后都有一个LQ包。由于在每一个LQ包和数据包之间没有发生总线转向延迟,因此写数据流性能也得到了提高。
● 流控机制 该机制允许起始器在写数据过程中优化数据预取,在读取数据过程中取数据FIFOs。目标器将指明何时最后一个数据流中的数据包将被发送。一旦目标器指明了这个最后发送的数据包,起始器将终止数据预取或开始取数据FIFOs。
20年来,SCSI应用的广度和深度都在不断拓展。无论是SPI-4还是SPI-5,在继承SCSI传统优势的同时,也为并行SCSI在21世纪的广泛应用奠定了坚实的基础。从最初的5MB/s到SPI-4的320MB/s乃至SPI-5的640MB/s,无疑证明了并行SCSI技术在过去、现在和将来都有着广阔的发展空间。
由于采用了包封装SCSI、QAS等新技术,SCSI提供了更安全更可靠的性能,进而从整体上提高了系统的I/O性能。伴随着PCI-X2.0、PCI Express等高性能计算机局部总线技术的不断应用,SPI-4、SPI-5将充分挖掘高性能局部总线的优势以获取更高的系统I/O带宽。
可以说,SCSI Parallel Interface的技术优势今天仍毋庸置疑。目前SPI-4已投入应用,SPI-5也在不断完善。我们相信,并行SCSI,即SPI必将得到更为广泛、深入的应用。
评论