SAS接口完全互连指南(上)

前言:SAS线缆为什么这样多

罗马并非一日建成,一个规范从诞生到发展逐步走向成熟也远非一日之功。特别在IT行业里,任何技术都在不断完善自我进化,SAS(Serial Attached SCSI,串行SCSI)规范亦是如此。作为并行SCSI的接班人,SAS规范出现在人们的视野中已有些时间了。在SAS走过的这些年之中,其规范一直在改进,虽然底层协议得以保留,基本没有太多的变化,但是外部接口连接器的规格却经历了多次变迁,这是SAS为适应市场环境而做出的调整,有了这些“积跬步而至千里”的不断改进,SAS规范才日益成熟,而不同规格的接口连接器则堪称SAS发展历史的见证人。

在这里我们有必要区分一下“端口”(port)与“接口连接器”(connector)的概念。硬件设备的端口又称接口,其电气信号由接口规范定义,而数量则取决于控制芯片(Controller IC,也包括RoC)的设计。但接口也好,端口也好,都必须要依托一个实体的表现形式——主要是引脚和接插件,才可以起到连接的作用,进而组成数据通路。因此,就有了接口连接器,它们总是成对使用:在硬盘驱动器、HBA、RAID卡或背板上的一方,与位于线缆(Cable)一端的另一方“咬合”在一起。至于哪一方是“插座”(receptacle connector,插座连接器),哪一方是“插头”(plug connector,插头连接器),视具体的连接器规范而定。

在SATA问世之初,线缆和连接器的情况相对简单——毕竟SATA不支持端口聚合,一个端口对应一个接口连接器,线缆也就只有单路连接。SAS则不同:一开始便支持4路的宽链接(wide link),允许多达4个窄端口(narrow link)聚合为一个宽端口(wide port),并制订了相应的连接器规范。这样一来,SAS的接口连接器至少有两种了,再加上内外之别,各种可行的组合使得SAS线缆的类型多达10种以上,因此,出现“手中虽有SAS线缆,却无法将两端的SAS设备连接起来”的情况是常有的事儿。

各种SAS线缆和连接器,要让人眼花缭乱实在是太容易了……你见过几种呢?

所以,很有必要对各种SAS线缆的由来和用途加以详细介绍,这也是本文的主要目的。

SAS驱动器连接(上):兼容SATA

SAS首先定义了硬盘驱动器的接口连接器,其规范即SFF-8482。由于SAS兼容SATA,既要向下兼容SATA硬盘驱动器,又不能让SATA的数据线连接到SAS硬盘驱动器上,SFF-8482规范的制订者们很是下了一番心思。


SFF-8482规范定义的SAS线缆端插座,引脚S1-S7是主端口,另一侧的S8-S14是从端口,而P1-P15的供电部分在SATA是分离的

SFF-8482定义了SAS硬盘驱动器的双端口(dual port)插头,SATA数据线无法与之相连,而符合SFF-8482规范的插座(位于SAS线缆和背板)却可以随意接纳SAS硬盘驱动器或SATA硬盘驱动器。


SAS硬盘驱动器的双端口连接器(上-中)与SATA硬盘驱动器的连接器(下)对比

众所周知,SATA硬盘驱动器的SATA端口和电源供应是分离的,两个连接器之间有大约2个(SATA或电源)引脚宽度的间隙。SAS的做法是打掉“隔断”,将双方连为一体,第二端口就位于这个4~5个SATA信号引脚宽度的“桥”的背面。虽然空间利用得很充分,可毕竟也要布置7个信号引脚,所以从端口(Secondary Port,SAS②)和主端口(Primary Port,SAS①)的“个头”在上面的实物对比图中看起来就像武大郎和武松一样差别明显——当然,仅是针对宽度而言,引脚定义及传递信号的能力是没有区别的。

时间: 2024-10-26 20:31:59

SAS接口完全互连指南(上)的相关文章

SAS接口完全互连指南(下)

磁盘背板:兼收并蓄集大成 在机架式服务器或硬盘驱动器槽位较多的塔式服务器中,SAS HBA/RAID卡一般不直接用SAS线缆与硬盘驱动器相连,而是会通过磁盘背板,以方便硬盘驱动器的插拔.磁盘背板也是典型的内部连接应用,一面接硬盘驱动器,另一面连HBA/RAID卡.驱动器端好说,统一为SFF-8482插座,SAS和SATA驱动器都可以使用,总体上要好于再单独开发仅支持SATA驱动器的背板.PCB和布线显然不是我们关注的重点,主要的变数就在与来自HBA/RAID卡的线缆相连的"主机端连接器"

硬盘SCSI接口和SAS接口的区别详解

  SAS的接口技术可以向下兼容SATA.具体来说,二者的兼容性主要体现在物理层和协议层的兼容.在物理层,SAS接口和SATA接口完全兼容,SATA硬盘可以直接使用在SAS的环境中,从接口标准上而言,SATA是SAS的一个子标准,因此SAS控制器可以直接操控SATA硬盘,但是SAS却不能直接使用在SATA的环境中,因为SATA控制器并不能对SAS硬盘进行控制;在协议层,SAS由3种类型协议组成,根据连接的不同设备使用相应的协议进行数据传输.其中串行SCSI协议(SSP)用于传输SCSI命令;SC

惠普将推出6Gbit/s SAS接口企业级固态硬盘(SSD)

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   惠普将很快为其服务器产品推出一个6Gbit/s SAS接口的企业级固态硬盘(SSD).目前,其在G6和G5服务器上采用三星的3Gbit/s固态硬盘.其持续读取速度为230MB/s,持续写入速度为180MB/s. 某国外网站透露说,即将发布的固态硬盘持续读写速度应该还会是230MB/s及180MB/s.据猜测,新的6Gbit/s SAS固态硬盘应该只是三星将其3G

采用ODBC接口访问MySQL指南

mysql|odbc|访问 采用ODBC接口访问MySQL指南 当前作者: 王猛 ( HeartIcy@163.com )创建日期: 2003年1月15日修订版本: 1.1 MySQL的好与坏我想来想去自己始终认为这不是一个程序员或者系统设计师所应该深究的.假如有权利选择,程序员或者系统设计师应该做的是为项目选择最经济也最合适的解决方案.MySQL只是众多解决方案中的一种,真的不应该深究. MySQL的ODBC接口实现是通过安装MyODBC驱动,这个驱动程序是跨平台的.如果在Linux等unix

微机原理-如何让IO接口芯片从总线上卸载?

问题描述 如何让IO接口芯片从总线上卸载? 老师让弄一个8086处理器带825982558254三个IO接口芯片的电机测速控制系统,现在这三个芯片825982548255的数据端全部接在8086的D0到D7的8个数据端口上,请问我想访问其中一个的时候,想把另外的两个从数据总线上卸载,该如何实现呢?

get unning asks-getRunningTasks接口在Android L上的使用

问题描述 getRunningTasks接口在Android L上的使用 3C 最近在做的一个小项目中,需要实时获取Activity栈顶以及它所属的App Process.根据之前的了解,知道Android API有提供一个接口 public List getRunningTasks (int maxNum) 可以得到系统当前正在运行的Task列表,用maxNum限制要获取的数量(最近使用的最先取出). 实际运行程序时,发现并不能实时获取当前的Activity栈顶.(使用的是Android L的

java api接口篇(二)上

Map接口 Map是一个将键映射为值的对象.一个映射不能包含重复键:每个键最多能映射一个值.Map接口如下所示: public interface Map { // Basic Operations Object put(Object key, Object value); Object get(Object key); Object remove(Object key); boolean containsKey(Object key); boolean containsValue(Object

台式机pc键盘接口怎么在笔记本上使用?

  台式机换笔记本了,又不想换掉键盘,可以用pc转usb接口线,继续在笔记本上使用自己的键盘. 1.首先要买一个pc转usb的转换线,一般在5元左右. 2.接下来是台式pc键盘 3.最后就是将两者接到一起,usb接到笔记本.这样心爱的键盘就和笔记本一起了 注意事项: 有的转换线可能不好,导致有延迟.

Linux系统文件命令精通指南(上)

虽然 GUI 桌面(如 KDE 和 GNOME)能够帮助用户利用 Linux 特性,而无需关于命令行接口的功能知识,但还是经常会需要更多的功能和灵活性.而且,基本熟悉这些命令对于在 shell 脚本中正确地使某些功能自动化仍然是必需的. 这篇文章是关于 Linux 文件命令的一个"速成教程",它是为那些刚接触这个操作系统或者只是需要补充这方面知识的用户提供的.它包含了对一些更有用的命令的一个简明的概述以及关于它们的最强大的应用的指导.下面包含的信息 - 结合一些实验 - 将使您能够容易