网站建设攵金手指科杰壹陆,新网站怎么做才会被收录,淘宝客怎么建设网站,潍坊市作风建设年活动网站文章目录 SAS设备初始化OOB信号SAS设备间OOB交互场景一#xff1a;SAS设备两边同时发送SAS COMINIT信号场景二#xff1a;SAS设备A先发送COMINIT信号场景三#xff1a;SAS设备B错过COMINIT信号 SAS与SATA设备间OOB交互场景一#xff1a;SATA设备未响应COMSAS信号场景二SAS设备两边同时发送SAS COMINIT信号场景二SAS设备A先发送COMINIT信号场景三SAS设备B错过COMINIT信号 SAS与SATA设备间OOB交互场景一SATA设备未响应COMSAS信号场景二SATA设备使用COMINIT响应COMSAS信号 速率协商IDENTIFY序列 Discovery流程Discovery探测流程使用到的SMP请求 Discovery探测示例 相关参考 SAS设备初始化
SAS设备接入后链路两边会自动开始探测对端设备在位状态、确认设备类型SAS或SATA以及进行速率协商等动作。在两边设备可以正式进行数据通信之前硬件需要完成一些初始化步骤
交互OOB信号探测连接设备在位状态并确认它是SAS设备还是SATA设备根据SAS或SATA设备的协商方式将链路协商到可支持的最大速率识别连接设备的信息包括SAS地址等。
OOB信号
SAS协议定义了三种OOB信号COMINIT、COMSAS、COMWAKE其中COMINIT是通用OOB信号COMSAS用于SAS设备之间的交互COMWAKE用于SAS与SATA设备、SATA与SATA设备之间的交互。
SAS设备间OOB交互
SAS设备间OOB信号交互流程如下:
链路两边设备上电后均按照一定的周期发送COMINIT信号当一边设备收到对方的COMINIT信号后分成两种情况 如果当前设备已经发送过COMINIT信号将直接发送COMSAS信号如果当前设备没有发送过COMINIT信号将发送COMINIT和COMSAS信号。 当一边设备收到对方的COMSAS信号后如果尚未发送COMSAS信号则发送COMSAS。
场景一SAS设备两边同时发送SAS COMINIT信号 场景二SAS设备A先发送COMINIT信号 场景三SAS设备B错过COMINIT信号 SAS与SATA设备间OOB交互
SAS与SATA设备间OOB交互流程如下
链路两边设备上电后均按照一定的周期发送COMINIT信号当SAS设备收到对方的COMINIT信号后发送COMSAS信号此时分成两种情况 SATA设备不响应COMSAS信号后续COMSAS检测超时SATA设备使用COMINIT响应COMSAS信号后续COMSAS检测超时 SAS设备发送COMWAKE信号。
场景一SATA设备未响应COMSAS信号 场景二SATA设备使用COMINIT响应COMSAS信号 速率协商
当OOB信号交互完成两边都确认了对端的设备类型后面就会进入速率协商流程。速率协商过程与链路协议相关因此需要按照设备规定的方式进行。
IDENTIFY序列
SAS设备初始化的最后一个步骤是获取连接的设备信息。在完成OOB交互和速率协商之后SAS设备会发送一个称作IDENTIFY的地址帧来相互交换设备信息IDENTIFY包含了设备的SAS地址、名称以及Phy编号等信息。这里要注意的是SATA设备没有SAS地址因此SATA设备无法传输IDENTIFY地址帧。
Discovery流程
Discovery流程由SAS网络中的启动器发起目的在于探测系统中连接的SAS设备包括Expander、SAS硬盘以及SATA硬盘。
Discovery探测流程
对于启动器直连的设备在设备链路协商时通过交换Identify序列启动器已经获取了对端的设备类型、SAS地址以及协商速率等信息而对于非直连的设备这类设备都是连接在Expander下设备信息由Expander进行维护启动器需要使用SMP协议向Expander查询连接的设备信息。Discovery探测流程的整体步骤如下
向级联的Expander发送Report General请求获取Expander设备的通用信息包括Expander设备上的Phy数量、自配置能力等信息向级联的Expander发送Discover或Discovr List请求遍历Expander的所有Phy获取每个Phy的设备连接信息将探测到的设备添加到系统中。如果探测到的设备中有Expander则对Expander重复前面的流程以探测这个Expander下面接入的设备。
使用到的SMP请求
Discover过程通常涉及的SMP请求如下
Report General用于查询Expander设备的通用信息包括Expander设备上的Phy数量、自配置能力等Report Manufacturer用于查询Expander设备的厂商、型号等信息Discover携带了查询Phy的编号用于获取指定Phy连接的设备信息Discover ListDiscover请求只能查询单个Phy连接的设备信心Discover List提供了批量获取多个Phy连接设备信息的能力。
Discovery探测示例
这里以一个包含二级Expander的组网来说明Discovery的探测流程如下
为了探测第一级Expander上连接的设备启动器首先会向第一级Expander发送Report general帧通过Report general请求启动器查询到了Expander设备上的Phy数量为了进一步查询每个Phy是否有连接设备启动器遍历所有Expander的所有Phy并发送Discover请求。Expander接收到Discover请求后会将请求Phy的设备信息组装成响应帧返回给启动器。启动器处理Discover响应数据刷新设备拓扑信息若发现Phy对端连接的是Expander那么启动器会再对二级Expander进行Report general、Discover请求获取二级Expander上连接的设备信息
如果第二级Expander后还接有第三级、第四级的设备则重复上述流程直到完成所有设备的扫描。
相关参考
《SAS Protocol Layer》《SAS Storage Archteciture》