SAS Protocol Layer - 5 (SPL-5) 第一章:概述以及SAS协议基础概念(2)

SAS Protocol Layer - 5 (SPL-5) 系列文章目录

第一章:概述以及SAS协议基础概念(1)
第一章:概述以及SAS协议基础概念(2)



前言

目前关于SATA的中文协议概述有很多,但是基于SAS和expander的中文协议很少,基于此,为了方便自己巩固学习,记录此系列博客,欢迎纠正讨论。

上一篇介绍了expander和sas的一些基础概念,接下来继续介绍一些基础概念,并在第二部分以全局到细节的方式了解整个expander、SAS器件的结构。


一、基础概念

1、Pathway——依据logical link概念

潜在pathway是SAS启动器phy和SAS目标phy之间的一组logical link。如果一个SAS启动器phy直接连接到一个SAS目标phy,那么就有一个潜在的通路。如果在SAS启动器phy和SAS目标phy之间存在expander,则可能存在多个潜在路径,每个路径由SAS启动器phy和SAS目标phy之间的一组logical link组成。physical link可能使用相同的physical link rate,也可能不使用相同的physical link rate。
路径pathway是连接所使用的SAS启动器phy和SAS目标器phy之间的一组logical link。
部分路径partial pathway是参与尚未传递连接响应的连接请求的 logical links的集合。
当一个部分路径partial pathway被阻塞时,它所需要的路径资源被另一个部分路径partial pathway占用。
在这里插入图片描述

2、Connections

SAS启动器端口中的一个phy和SAS目标器端口中的一个phy之间必须先建立连接才能进行通信。属于为了通信而建立的临时关联,可以多次打开、关闭connection,通信的内容是原语和dwords。(SPL pocket属于 24Gbit/s 的更高速率通信规则,暂不涉及)
SSP启动器端口用于SSP连接,用于传输SCSI命令、任务管理功能和写数据。
SSP目标端口打开SSP连接,用于传输读数据、请求写数据和传输服务响应。
SMP启动器端口打开SMP连接,用于传输SMP请求和接收SMP响应。
STP启动器端口和STP目标器端口打开STP连接,用于传输SATA帧。
扩展设备中的STP目标端口代表SATA设备打开STP连接。

OPEN地址帧(OPAF)用于请求打开一个连接,内容包含目标SAS address。
AIP原语序列、OPEN_ACCEPT原语和OPEN_REJECT原语是对OPAF的响应。
BREAK原语序列用于中止连接请求和中断连接——异常。
CLOSE原语序列用于有序地关闭连接——正常。

连接使用从SAS启动器phy到SAS目标phy的单一路径。当连接打开时,该连接只有一条通路应使用。
对于STP连接,可能是级联设备的STP SATA桥的STP启动器端口和STP目标器端口之间的连接。STP SATA桥接器后面的SATA设备不知道SAS连接管理。
宽端口可以在其每个logical phy上有单独的连接。

连接速率是通过连接请求建立的 SAS initiator phy 和 SAS target phy 之间路径的有效dwords速率。无论 logical link 速率如何,每个 logical phy 都应支持 1.5 Gbit/s 的连接速率。
在这里插入图片描述

3、Persistent connections

持续连接是SSP连接,它:
a)在SSP连接内部发送和接收一个EXTEND_CONNECTION (NORMAL)原语:BC18FDE4h之后建立;
b)只要连接的SAS启动器phy和SAS目标phy一直存在,发送SSP帧 或 定期交换EXTEND_CONNECTION (NORMAL)原语;
c)导致PL_PM状态机忽略 Bus Inactivity Time Limit 定时器、Maximum Connect
Time Limit 定时器和MAXIMUM BURST SIZE字段;和
d)结束在: 收到DONE后;或 如果在SSP连接期间发生PHY层未准备就绪的确认;或 如果发生BREAK中止连接。
如果终端设备的SSP物理层支持持续连接(例如,SSP物理层在协议特定端口信息VPD页面中将SSP persistent CAPABLE位设置为1),则该SSP物理层将IDENTIFY地址帧中的persistent CAPABLE位设置为1。
通过SMP DISCOVER功能报告了对附加物理上持续连接的支持。

4、Advancing credit

如果SSP phy有可用的接收资源,那么它可以提升信用。为提升信用,SSP应:
1)在OPEN地址帧中将CREDIT ADVANCE位设置为1;而且
2)请求SSP发送器在收到OPEN_ACCEPT后发送一个RRDY。
如果实现credit advance的SSP phy接收到一个credit advance位设置为1的OPAF,则SSP phy:
1)将传输SSP帧信用加1;而且
2)忽略下一个RRDY。
没有CREDIT ADVANCE位的目标SSP phy不会提升CREDIT。

5、Broadcast

SAS域中的事件信息,在phy之间通过BROADCAST原语序列和/或SMP ZONED BROADCAST函数进行通信。
BROADCAST命令用于将某些事件通知SAS域中的SAS端口和expander。
未完成link reset序列的phy或连接内的phy应:
a)不发送BROADCAST;
b)忽略任何接收到的BROADCAST。

当扩展端口接收到广播时,如果zoning被禁用,BPP应在每个扩展端口的至少一个phy上转发广播。
扩展器设备不需要为同一扩展器端口排队多个相同的广播。如果在发送第一个广播之前请求第二个相同的广播,则可以忽略第二个广播。
SAS设备或扩展设备可以为它发起的广播实现计数器,并在report BROADCAST响应中报告它们。如果支持计数器,则SAS设备或扩展设备应针对SAS设备或扩展设备支持的广播类型和广播原因的每种组合:
a)如果广播与phy相关,则为每个phy维护单独的广播计数器;或
b)如果广播与phy无关,则维持一个原始广播计数器。

由扩展设备发起的Broadcast (Change)被计数并在REPORT GENERAL响应和其他包含expander Change COUNT字段的SMP响应帧中报告。
扩展设备可以实现从连接的终端设备接收广播的计数器,并在report BROADCAST响应中报告它们。
不需要SAS设备或扩展器设备在非易失性存储或跨重置事件中维护原始广播计数信息。
在这里插入图片描述
在这里插入图片描述

二、SAS和expander器件的结构

1、SAS device

SAS 设备包含一个或多个 SAS 端口,每个端口包含一个或多个物理层(即一个 SAS 端口可能是窄端口,也可能是宽端口)。
在这里插入图片描述

2、expandre device

扩展器设备是服务交付子系统的一部分,可促进多个 SAS 设备之间的通信。扩展器设备包含两个或多个外部扩展器端口。每个扩展器设备
a) 包含一个 SMP 目标端口和一个管理设备服务器;
b) 包含一个 SMP 启动器端口和一个管理应用程序客户端(如果扩展器设备是自配置的);
c) 如果扩展器设备不是自配置的,则可能包含一个 SMP 启动器端口和一个管理应用程序客户端;以及
d) 可包含 SAS 设备(例如,扩展器设备可包含一个 SSP 目标端口,用于访问设备类型为 0Dh(即框enclosure服务设备)的逻辑单元LUN(参见 SPC-4 和 SES-3))。

自配置expander(self-configuring expander device)包含
a)管理应用程序客户端,执行发现过程并配置expander自己的expander路由表;
b) SMP启动器端口。
外部配置expander (externally configurable expander device)
包含扩展路由表的非自配置扩展设备。可通过 SMP CONFIGURE ROUTE INFORMATION(配置路由信息)功能配置外部可配置扩展设备。需要 SAS 域内的管理应用程序客户端使用发现进程和配置子进程来配置扩展器路由表。
在这里插入图片描述

3、Expander的功能

a) ECM: Expander connection manager;
b) ECR: Expander connection router;
c) BPP: Broadcast propagation processor;

ECM: Expander connection manager的主要功能:
a)使用直接、减法或表路由方法将连接请求中的目标SAS地址映射到目标phy;
b)根据SAS仲裁和路径恢复规则,仲裁分配拒绝连接请求的路径资源;
c)配置ECR;
d)管理phy power条件;
e)管理APTA(sas packet mode:更高速率SAS的配置,使用SPL packets而不是dwords通信,暂不涉及)。

ECR: Expander connection router的主要功能:
由ECR引擎搭建源PHY和目标PHY的数据通道和控制通道,完成控制信号的转发和数据的转发

BPP: Broadcast propagation processor的主要功能:
BPP从每个expander逻辑单元或代表expander逻辑单元的管理设备服务器接收广播,并请求在所有expander port(除了产生广播的expander port上)传输这些广播。
BPP引擎需要监控各路phy的变化,包含PHY not ready 事件、SATA Spinup Hold事件、设备认证完成事件、SATA Port Change事件等等,在某一路phy发生以上事件的时候,需要广播通知其他phy,不包含与发生变化的phy处于相同wide port内的phy。
在这里插入图片描述

4、expander ECM的路由方法

路由表:SAS address到phy id的映射关系,让expander知道收到的sas address应该从那个phy转发出去送给哪个终端设备。
拓扑信息(expander上的哪几个phy如何连接)主要就是expander上的路由表信息。
在这里插入图片描述
(1)直接路由:将连接请求路由到所连接的终端设备、所连接的扩展器设备的 SMP 端口或扩展器设备中包含的 SAS 设备。
直接连接在expander上的设备的地址被收集并建立的路由表——直连路由表
PHY准备好以后,通过交换 identify address frame(IDAF) 信息来交换设备类型、速率、SAS地址。
对于本身不具备地址信息的SATA设备,在PHY准备好以后,可以通过CPU配置其专属地址。
在获取这些初步的拓扑信息后,硬件将结合SAS地址和 PHY identifier,建立路由表。同时在移除某一个SAS/SATA设备时,硬件将清除路由表中的对应信息。

(2)表路由:使用扩展器路由表将连接请求路由到连接的扩展器设备。
对于expander不能直接访问到的SAS/SATA设备,CPU可以通过SMP命令获取对应的设备地址和PHY identifier,并创建哈希路由表(使用hash算法),通过此路由表,expander最大可以支持4096个SAS/SATA设备,看具体需要用到多少资源。
包含具有table routing属性的Expander phy的Expander设备也包含一个Expander路由表。外部可配置的expander依赖于SAS域内的管理应用客户端,通过发现进程和配置子进程来配置expander路由表。
如果连接到扩展设备,那么 ECM 只能通过具有直接路由属性的 phy 路由到扩展设备本身。
SMP REPORT GENERAL 函数报告扩展器设备是否可自行配置并支持表到表连接。SMP DISCOVER 函数报告每个扩展器设备的路由属性。

(3)减法路由:将未解决的连接请求路由到附加的扩展器设备。
CPU可以配置expander设备中的某几路PHY支持减法路由属性,在直接路由表和哈希路由表中找不到SAS目标地址的情况下,可以与支持减法路由属性的PHY通道建立路由。
扩展器设备最多只能有一个端口,其中可以包含一个或多个具有减法路由属性的 phy,即,减法路由的phy只能拥有同一种SAS address、在一个端口里,否则出错。


总结

涉及到的概念:
pathway
connection
persistent connection
advancing credit
broadcast
自配置
外配置
ECM
ECR
BPP
直连路由
表路由
减法路由

  • 65
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值