SFF-8485 学习笔记- 1 -直通

来源:互联网 发布:java 返回true false 编辑:程序博客网 时间:2024/04/29 09:36


1.适用的连接器 SAS-4i ,miniSAS-4i

2 适用的配置 HBA直通

3.适用的场景 SGPIO点灯

4.直通场景下点灯分析

      

         initiator 与 target device之间通过4个有效信号来对target device点灯,这里target device一般场景下为硬盘。其中SDatain作为initiator的输入端,用来感知当前硬盘状态。SClock Sload SDataout为initiator output,用来对硬盘点灯。

        首先,我们来对这几个信号线的物理分布做个介绍

          

       

     

      ok,从上图可以看到我们将包裹SGPIO信号的线缆叫做Sideband里面有7根线缆,每一根对应一个信号。刚才我们讲的SClock SLoad SDataOut SDataIn在表上都有对应的pin。我们知道SDataIn标示硬盘状态,SDataOut用于硬盘点灯。那么是否意味着有多少个硬盘就要有多少个SDataIn /SDataOut信号线呢?答案是否定的,如果理解了SDataOut和SDataIn就能明白是怎么一回事了。

        SDataIn:

     

       SDataIn用来反应硬盘的状态信息,每个硬盘提供了3个BIT可以自定义完成。一个SDataIn bit Stream支持的硬盘数量由应用决定,数量和SDataOut保持一致。SDataIn是一个顺序的input信号,如果其中某个drive不支持或者不在位,则SDataIn对应drive number下的3个bit会被tristate,这个是协议中描述的,按照个人的经验来看,三态的电平包括1,,高阻。所以我认为如果硬盘不在位或者target端不支持,对应的bit位会被置成高阻态。

    SDataOut:

    

          按照上图可以看到SDataOut 也是一个顺序bit stream表示。支持4个以上的drive。 每个drive点灯状态由3个Bit表示,分别为activity,locate 和 error。每个BIT =1 则表明要点亮对应的LED,等于0则表示要关掉对应的LED。当然实际上硬盘的灯只有2个,一个active灯,一个falt灯。也就是说实际上需要由2个LED表示3种状态,那么怎么表示呢?可以用CPLD来进行SDataOut的解析。

       在信号传输过程中,SDataOut和SDataIn的有效信号从SLoad 为高电平开始计数。对于output, initiator在SClock的上升沿发出SDataOut和SLoad的有效信号,target在SClock的上升沿发出SDataIn的有效信号。

     对于input,initiator在SClock的下降沿latch SDataIn,target同样也在SClock下降沿latch SDataOut.

       知道SDataIn和SDataout对硬盘点灯的原理,那么一个SDataout组成的bit stream总共能为多少硬盘点灯呢?

   

     ok,从上面的图我们可以发现SDataOut 输出的bit stream可以包含多个硬盘,sas硬盘包含4个,sata硬盘从bit12-bit191可以包含60个drive。对于sas drive每个physical linke对应一个drive,每个drive可以用3个bit标示,分别标示drive的3种状态,activity , locate和error。 通常直通情况下,一个HBA对应8个phy,因此可以接8个SAS硬盘。因此需要两个SGPIO initiator,2个sidebands。

   对于sata硬盘,一个SDataOut bit stream中支持15个port multiplier,每个port multiplier下支持4个sata drive。当然如果再target 端没有sata硬盘的话,bit Stream 到 bit11就结束了。

   

0 0
原创粉丝点击