Chinaunix首页 | 论坛 | 博客

4u

  • 博客访问: 39861
  • 博文数量: 8
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-04 21:43
文章分类

全部博文(8)

文章存档

2011年(6)

2010年(2)

我的朋友

分类: 服务器与存储

2011-02-12 10:47:11

4.1.  SAS物理连接

2对差分信号线进行数据同步收发。

一个PHY就是一个收发器。现在市场上常见的速率为3G

4.2.  DWORD

SAS利用8b10b编码。8bit会编程10bit

SAS依靠double-word结构。每个dword4byte组成。经过编码后一个dword会变成40bit

有三种dword

1、  data dword:用于数据传输

primitive:用于特殊信号和控制功能

2、  invalid dword:非法dword

4.3.  frame transmission

同网络报文很类似的,有头有尾有CRC

4.4.  连接

initiatortarget连接后,就在双方之间传送dwords。连接会有三个过称:建立、通信和移除阶段。

当建立连接的时候,就指定了互相传输的协议(SSP,SMP,STP)。SSP/STP协议时,处理一条命令,会发生多次连接打开和中断。SMP协议时,只有一个完整的单一连接。

有多少个PHY就只能有多少连接,即连接数不可能超过物理PHY的数量。

initiatortargetport用于独一无二的SAS addressexpander设备也是如此。下图是widenarrow通过expander互联的连接图。 

initiatortargetPHY直连,即全部都在一个expander内,则PHY之间只有一个potential pathway存在。但是当两者之间需跨越expander则将有多条potential pathway。如下图HOST和机柜1之间的PHY只有一条potential pathway,但是HOST和机柜2之间则有4potential pathway。由于相同链路和PHY之间会存在不同的potential pathway,那么必然会存在竞争。如机柜AB之间只有4potential pathway,如果两个HOST都发起请求,肯定有4个会失败。

OPEN address的报文到达expander,如果该连接的path 资源已经已经被占用,那么将会blockedforward进程,需要等待直到资源释放。也就是说,一条物理PHY间的链路,只能有一条一个方向的pathway存在。但是会出现一个deaklock。如下图,HOST1想和DISK4建立连接,而DISK4也想和HOST1建立连接,那么谁都无法占用这个pathway。这就好比一条独木桥上的两只山羊….

更复杂的情况如下:

如何从deadlock恢复?利用每个expander PHYtimeout定时器。此时会强制backoffrequest为最低优先级并发送OPEN_REJECTprimitive dword。这会释放path 资源。若还是deadlock,那么pathway timeout会逐步让这些request expire,直到deadlock被打破。

 

阅读(1619) | 评论(1) | 转发(0) |
0

上一篇:SAS配置

下一篇:没有了

给主人留下些什么吧!~~

chinaunix网友2011-03-06 08:43:47

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com