网络存储技术——SCSI

今天网络存储已考完试,我在纠结要不要把这一系列写完。想了想还是慢慢写下去,不能虎头蛇尾。那么我们接着看SCSI。

SCSI产生于1981年,目前T10负责SCSI(small computer system interface)的标准化。协议集包括SAM(SCSI Architecture Model)和SCSI命令集(SPC-3、SBC、SSC-3等)。

ULTRA320:16位数据总线宽度、最多16个设备、最大总线长度为12米,速率为320MB/s。

##SCSI系统与设备

  • SCSI发起端:生成和发送SCSI命令和任务管理请求的SCSI端口。

  • SCSI目标端:接受和处理SCSI命令和任务管理请求的SCSI端口。目标端又可分为任务管理单元和逻辑单元。

  • 尽管多个SCSI设备挂在同一总线上,同一时刻在SCSI总线上只允许两个设备间的数据交换。

##SCSI分层通信协议结构

  • 分为SCSI应用层(SCSI Application Layer : SAL),SCSI传输协议层和SCSI互联层。

  • SBC、SSC、SPC和SPI的部分属于传输层。数据的传递大概分为三个阶段:命令的执行、数据的传递和命令的确认。

  • SPI的一部分和SCSI-3光纤通道协议(FCP)属于互联层,完成SCSI设备间发起端和目标端的选择和连接等功能。

###SPC基本命令

SCSI基础命令集SPC定义的是所有SCSI目标器设备支持的命令。

###SBC基本命令

SCSI块设备命令集是基础命令集的延伸,以方便对SCSI块设备的操作。块设备的共同属性是数据都是按逻辑块进行组织。每个逻辑块都有一个逻辑块长度,块长度一般都是长于字节的且可能是512字节的倍数。其中最重要的命令是READ命令和WRITE命令

###READ命令

READ命令是SCSI客户端用来向SCSI目标端块设备请求读取一个或者一组连续逻辑块中所存储的数据。SCSI目标服务器块设备在接收到READ命令后,会将指定的逻辑块中所存储的数据发送给SCSI客户端的data-in缓冲区中。LBA指定了读命令读取数据的逻辑块位置。第七和八字节指定了需要传送的数据的连续的逻辑块数目,当为0时表示没有数据要传送。

###WRITE命令

SCSI客户端发送WRITE命令请求向SCSI目标端指定的逻辑块写入数据。SCSI目标端接收命令后,将接收SCSI客户端传送的数据,并存储到指定的逻辑块中。LBA指定了写命令数据存放取的逻辑块位置。第七和八字节指定了需要传送的数据的连续的逻辑块数目,当为0时表示没有数据要写入。

##串行SCSI

  • 串行SCSI的优点:连线简单、传输速率高、地址空间大、多点并行传送。

  • 采用SAS交换机实现多点连接,而不是采用总线结构。

  • SAS: 目前广泛使用6Gb/s,将来会到12Gb/s。

  • 通过Finisar Bus Doctor的抓包理解SAS协议。

网络存储技术——SCSI

今天网络存储已考完试,我在纠结要不要把这一系列写完。想了想还是慢慢写下去,不能虎头蛇尾。那么我们接着看SCSI。

SCSI产生于1981年,目前T10负责SCSI(small computer system interface)的标准化。协议集包括SAM(SCSI Architecture Model)和SCSI命令集(SPC-3、SBC、SSC-3等)。 Continue reading “网络存储技术——SCSI”