1. SAS background


1.1 SCSI

Small Computer System Interface;简写:SCSI),一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。是一种智能的通用接口标准,它具备与多种类型的外设进行通信。SCSI采用ASPI(高级SCSI编程接口)的标准软件接口使驱动器和计算机内部安装的SCSI适配器进行通信。SCSI接口广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点。


1.1.1 interface


DB-25,Male External

DB-25,雄性外置接口

DB-25,Female External

DB-25,雌性外置接口

Low-Density,50-pin,Male External

低密度 50 针雄性外置接口 (6.5cm)

Low-Density,50-pin,Female External

低密度 50 针雌性外置接口

High-Density,50-pin,Male External

高密度 50 针雄性外置接口 (3.3cm)

High-Density,50-pin,Female External

高密度 50 针雌性外置接口

Low-Density,50-pin,Male Internal

低密度 50 针雄性内置接口 (7.1cm)

Low-Density,50-pin,Female Internal

低密度 50 针雌性内置借口

High-Density,68-pin,Male External

高密度 68 针雄性外置接口 (4.5cm)

High-Density,68-pin,Female External

高密度 68 针雌性外置接口

High-Density,68-pin,Male Internal

高密度 68 针雄性内置接口 (4.5cm)

High-Density,68-pin,Female Internal

高密度 68 针雌性内置接口

VHDCI,68-pin,Male External

非常高密度 68 针雄性外置接口 (3.2cm)

VHDCI,68-pin,Female External

非常高密度 68 针雌性外置接口



1.1.2 signal

SCSI总线有9个控制信号[2] ATNBSYACKRSTMSGSELC/DREQI/O,总线的活动完全由这些控制信号来决定和实现。这些信号由Initiator控制或者由Target控制或者由二者共同控制。其中C/DSELMSGBSYSEL的状态决定了总线处于什么阶段。在不同的阶段,总线上的信号组合是不同的。

1ATN:注意信号,通常在Initiator有消息要发送给Target的时候由Initiator设置。
  (2BSY:当有SCSI设备处于“忙”状态,占据数据总线时,这个信号被置为真。
  (3ACK:应答信号,由Initiator置位,作为对REQ/ACK请求应答数据传输的确认。
  (4RST:表示SCSI总线复位。
  (5MSG:在消息阶段由Target置位。
  (6SEL:Initiator选择Target或者Target再选Initiator时使用。
  (7C/D:表示控制或者数据信息的信号。
  (8REQ:Target置位,表示请求进行一次REQ/AC K握手的数据传输。
  (9I/O:表明当前数据传输的方向。
  为了完成一个I/O任务,SCSI设备和总线大体上必须经过以下过程:
  (1)申请使用总线
  (2)选择I/O操作对象
  (3)传送消息
  (4)交待I/O任务
  (5)数据传输
  (6)返回状态信息


当任务顺序完成后,目标器返回GOOD状态。但是,SCSI总线活动是比较复杂的,根据I/O任务的完成情况可以分成八个不同阶段。它们分别是BUS FREE(总线空闲)ARBITRATION(仲裁)SELECTION(选择)RESELECTION(重选)COMMAND(命令)DATA(数据)MESSAGE(消息)STATUS(状态)。总线进行任何处理都是以BUS FREE阶段开始,并以BUS FREE阶段结束的。在任何时候,SCSI总线只能处于一个确定的总线阶段。阶段前后的关联时受到严格限制的,也就是说并不是在每一个阶段后面都可以跟着任何的阶段。BUS FREE阶段状态的后面是ARBITRATION, SELECTION以及一个MESSAGE OUT阶段状态。在这些阶段状态之后是COMMANDDATA阶段状态,然后是STATUS阶段状态。



1.1.3 advantages

  • 快:Ultra320 SCSI320MB/s


  • 可靠:更强大的S.M.A.R.T(Self-Monitoring Analysis and Reporting Technology )


  • 扩展性比IDE:IDE 2个扩展口,SCSI: 7/15/30


  • CPU: 有独立的SCSI controller控制读写,无需Host CPU参与

1.1.4 weakness

  • 贵:比SATA


  • 电缆多: 电磁干扰多


  • 扩展性稍差: 对于构建JBOD需要很多controller


  • 菊花链连接,无专有通道


1.2 SAT

SATASerial Advanced Technology Attachment,串行高级技术附件)是基于行业标准的串行硬件驱动器接口,是2001年由IntelIBMDellAPTMaxtorSeagate公司共同提出的硬盘接口规范。



1.2.1 interface


SAS和JBOD基础简介_ SATa

1.2.2 signal


SAS和JBOD基础简介_SAS_02












1.2.3 advantages

PATA(IDE)相比:

  • 快:IDE 133MB/s,  SATA 2.0600MB/s


  • 省: 串行传输,占用位宽、引脚、线缆少,省机箱内空间;功耗低,省电;


  • 纠错:利用嵌入式时钟信号,对指令和数据都能检测、纠错


  • 可扩展性好:支持星形链接


  • 便宜



1.2.4 weakness

  • 需要占用CPU


  • 可靠性稍差


  • 扩展性差



1.3 SAS = SCSI + SATA

为了充分利用SATASCSI的优点,避免它的缺点,提出了SAS(Serial Attached SCSI)即串行连接SCSI,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是基于并行SCSI接口开发出的全新接口,目的是为了改善存储系统的效能、可用性和扩充性,并且提供与SATA硬盘的兼容性。



1.3.1 Physical layer

遵循SFF-8482/SFF-887等物理接口和连接规范。


SATASAS接口的区别:

SAS和JBOD基础简介_ SATa_03













多种多样的SAS连接器:

SAS和JBOD基础简介_JBOD_04

1.3.2 Data Link layer

基于SCSI协议,利用CRC校验来检查指令或者数据的正确性。如果出错,就重新传送这个帧。



1.3.3 network layer

基于SCSI总线ID编址和仲裁的机制。

按照ID 7-0-15-8的顺序;只有IDtarget ID的节点会将总线上的电位变化信息保存到自己的缓存中。



1.3.4 Transaction layer

基于request-response模型:

SAS和JBOD基础简介_JBOD_05读过程:

SAS和JBOD基础简介_JBOD_06命令格式示例1CDB(Command Descriptor block) for 6-byte-command

SAS和JBOD基础简介_JBOD_07


SCSI所有的命令:


SAS和JBOD基础简介_SAS_081.3.4 Application layer

SAS对普通用户是透明的,用户只是用lsscsi/sg_ses等命令枚举scsi设备、管理JBOD



2. Why JBOD

现代通用存储服务器上的HBA卡能挂载非常多的drive,但由于背板尺寸和电缆的限制,无法充分发挥HBA卡的能力。特别是对更大存储容量的需求日益增多,有必要使用JBOD来发挥SAS良好的扩展性以及点对点全双工通信的能力。



3. understand JBOD

JBOD是存储领域中一类重要的存储设备JBODJust a Bunch Of Disks磁盘簇)是在一个底板上安装的带有多个磁盘驱动器的存储设备。通常又称为Span。 和RAID阵列不同,JBOD没有前端逻辑来管理磁盘上的数据分布,相反,每个磁盘进行单独寻址,作为分开的存储资源,或者基于主机软件的一部分,或者是RAID组的一个适配器卡。JBOD不是标准的RAID级别,它只是在近几年才被一些厂家提出,并被广泛采用。



3.1 Hardware connection and infrastructure

以某款服务器为例,LSI SAS3008 HBA卡直连CPU PCIE x8:

SAS和JBOD基础简介_SAS_09


JOBD可以通过expanderHBA直接相连:


SAS和JBOD基础简介_SAS_103.2 JBOD's location in kernel space

由于JOBD本身只是相当于插入了更多的磁盘,没有引入新的设备,因此依赖的驱动就是HBA的驱动mpt3sas.koSCSI通用层的驱动sg.ko.

SAS和JBOD基础简介_ SATa_113.3 Use JBOD's function in user space

JBOD提供的功能包括:

Disk management,FAN management,Power management and controlling,Temperature monitor


4. Reference

http://baike.baidu.com/link?url=h-txwNIquQWMyrOsO3jVIkWsEhbqYgFKv4NFSAzL70ZLbAMVePALOo2i0ybK-80m1_z3ZcpCFlgK9OMiMgS1b_

http://baike.baidu.com/view/82499.htm

http://baike.baidu.com/link?url=6Fahof5PvBHyiGzP_f9xyxiIRjf4R93o_tf4EkIrOAaaKNlH8yPjyfY4kI24-8qqzo5pIa5Gx1zpZMnxDqg0oKLod9NL9VcPDedL4Oob6lW

http://51CTO提醒您,请勿滥发广告!/chip/347.html

http://baike.baidu.com/link?url=mY19zCtOMm0wgUYZ-0awy50ilEU9X42HIw-DWMQCNl6dELViyErRuneO6QJzL0bQ4IElc8bwVam1dtYIzPO3X70WKW3UFiS2iygdY7hjsYu

http://www.360doc.com/content/12/0820/08/21412_231246608.shtml

http://soft.zdnet.com.cn/techupdate/2008/1225/1292726.shtml

http://baike.baidu.com/link?url=GNpIL-sxCpi3-v2nTVLmQLdemkkxNrg1CYqYJBw6W8Y4EhK17mKrBDwUywP-KOgbcud1FtrDdyMM-u7CpljiUq