一种SSP连接管理方法和装置制造方法及图纸

技术编号:32572256 阅读:13 留言:0更新日期:2022-03-09 16:59
本发明专利技术提供了一种SSP连接管理方法和装置,该方法包括:在SAS控制器传输层和目标设备之间建立SSP连接;当SSP连接建立完成后,复位传输空闲计时器;如果当前连接处于发送和接收的双向空闲状态,则启动传输空闲计时器;监听是否接收到来自SAS控制器传输层或目标设备的SSP帧;如果未接收到SSP帧,判断传输空闲计时器是否达到空闲时间长度阈值;如果传输空闲计时器达到空闲时间长度阈值,请求关闭所述SSP连接。本发明专利技术的方案充分利用SSP链路全双工的通信特性,最大化物理链路的使用效率,减少了数据交换的延迟,提升了整个系统的吞吐率。提升了整个系统的吞吐率。提升了整个系统的吞吐率。

【技术实现步骤摘要】
一种SSP连接管理方法和装置


[0001]本专利技术属于磁盘连接
,特别涉及一种SSP连接管理方法和装置。

技术介绍

[0002]SAS是一种高速串行总线,内置数据/命令校验单元,纠错能力强,支持热插拔,具有管脚数量少、数据传输速率快、可靠性高、兼容性好,目前被业界广泛用于存储设备和主机之间的主要I/O接口。SAS通过SSP协议(串行SCSI协议)实现SAS控制器和SAS磁盘设备之间的互联和数据传输。参见图1,典型的SAS数据存储拓扑结构中,SAS控制器通过一级或者多级Expander(磁盘扩展器)扩展支持大规模磁盘的管理。
[0003]根据SAS标准协议规定,针对SSP类型设备的数据通信,在SAS控制器和目标SAS设备之间实施有效数据交换之前,首先需要SAS控制器和设备通过链路层的帧交换建立指定传输速率的SSP类型的连接(Connection)。连接建立成功后,SAS控制器和设备通过SSP协议规定的传输层帧(Frame)进行命令、数据的交换。SAS控制器管理大规模磁盘的应用场景下,为了降低数据通信的延迟,保障高效利用物理链路,提升系统的吞吐率,通常SAS控制器和特定的设备完成指定的I/O交换后会及时关闭连接,释放物理链路给存储拓扑中的其他设备使用,避免链路资源浪费。因此,SAS控制器在与多个SSP设备的多I/O并发交互过程中,合理地选择关闭连接的时机对于提升数据存储业务的吞吐率至关重要。
[0004]然而目前SAS标准协议在SSP连接管理方面存在不足。以图2所示的典型的SSP读I/O的交互流程为例,SAS控制器的端口层检测到当前端口在发送方向没有数据帧的传输请求时,即刻启动空闲时间计时器。当发送方向空闲的时间达到预定义的阈值,端口层请求SSP链路层关闭连接。链路层收到端口层的连接关闭请求后,发送DONE原语至当前连接远端的SSP设备,启动连接关闭握手程序。SAS协议规定,SSP链路层发送DONE原语后,SAS控制器的端口层禁止发送方向后续的数据帧传输,直至连接关闭握手结束。同时,由于SSP连接工作在全双工模式,SAS控制器需要等待远端SSP设备返回DONE原语,然后交换CLOSE原语,完成连接关闭流程。需要注意的是,SAS控制器发送DONE原语后,远端设备连续返回相应命令的SSP数据帧,直至返回当前I/O的SSP应答帧后,才返回DONE原语应答关闭连接。在远端设备返回DONE原语之前,当前SSP连接持续有效,且独占SAS控制器和设备之间的物理链路,但是SAS控制器端口层禁止发送方向的SSP帧传输。在此期间,即使传输层有其他I/O的SSP帧发送请求到达,也无法利用当前的SSP连接,只能等待当前连接关闭握手程序完成后,重新建立连接后再发送。可见,SAS标准协议定义的SSP连接管理方法在支持多个I/O并发的场景下无法充分发挥SSP连接全双工的特性,难以最大化物理链路的使用效率,制约了系统的吞吐率。

技术实现思路

[0005]本专利技术的目的在于一种SSP连接管理方法和装置,在保障数据通信完整性、正确性的前提下,充分发挥SSP链路全双工的通信特性,最大化物理链路的使用效率。
[0006]根据本专利技术的第一方面,提供了一种SSP连接管理方法,包括:
[0007]在SAS控制器和目标设备之间建立SSP连接;
[0008]当所述SSP连接建立完成后,复位传输空闲计时器;
[0009]判断当前连接是否处于发送和接收的双向空闲状态;
[0010]如果当前连接处于发送和接收的双向空闲状态,则启动所述传输空闲计时器;
[0011]监听是否接收到来自所述SAS控制器传输层或所述目标设备的SSP帧;
[0012]如果未接收到所述SSP帧,则计算所述传输空闲计时器是否达到空闲时间长度阈值;
[0013]当所述传输空闲计时器达到所述空闲时间长度阈值时,请求关闭所述SSP连接。
[0014]优选地,在所述判断当前连接是否处于发送和接收的双向空闲状态之后,进一步包括:
[0015]如果当前连接未处于发送和接收的双向空闲状态,则返回执行所述复位传输空闲计时器的操作。
[0016]优选地,在所述监听是否接收到来自所述SAS控制器传输层或所述目标设备的SSP帧之后,进一步包括:
[0017]如果接收到所述SSP帧,则返回执行所述复位传输空闲计时器的操作。
[0018]优选地,在所述计算所述传输空闲计时器是否达到空闲时间长度阈值之后,进一步包括:
[0019]如果所述传输空闲计时器未达到所述空闲时间长度阈值,则继续监听是否接收到来自所述SAS控制器传输层或所述目标设备的SSP帧。
[0020]优选地,所述空闲时间长度阈值由系统软件进行动态配置。
[0021]根据本专利技术的第二方面,提供了一种SSP连接管理装置,包括:
[0022]连接建立模块,用于在SAS控制器和目标设备之间建立SSP连接;
[0023]计时器复位模块,用于当所述SSP连接建立完成后,复位传输空闲计时器;
[0024]空闲状态判断模块,用于判断当前连接是否处于发送和接收的双向空闲状态;
[0025]计时器启动模块,用于在当前连接处于所述双向空闲状态时,启动所述传输空闲计时器;
[0026]监听模块,用于监听是否接收到来自所述SAS控制器传输层或所述目标设备的SSP帧;
[0027]空闲时间计算模块,用于在未接收到所述SSP帧时,计算所述传输空闲计时器是否达到空闲时间长度阈值;
[0028]关闭模块,用于在所述传输空闲计时器达到所述空闲时间长度阈值时,请求关闭所述SSP连接。
[0029]优选地,所述计时器复位模块进一步被配置为:
[0030]如果所述空闲状态判断模块判断当前连接未处于发送和接收的双向空闲状态,则返回执行所述复位传输空闲计时器的操作。
[0031]优选地,所述计时器复位模块进一步被配置为:
[0032]如果接收到所述SSP帧,则返回执行所述复位传输空闲计时器的操作。
[0033]优选地,所述监听模块进一步被配置为:
[0034]如果所述传输空闲计时器未达到所述空闲时间长度阈值,则继续监听是否接收到来自所述SAS控制器传输层或所述目标设备的SSP帧。
[0035]优选地,所述空闲时间长度阈值由系统软件进行动态配置。
[0036]相比于现有技术,本专利技术的SSP连接管理方法和装置,在兼容SAS标准协议定义的SSP连接管理规则的基础上,结合当前连接在发送和接收两个方向的传输状态,选择最优时间点关闭连接,充分发挥SSP链路全双工的通信特性。
[0037]本专利技术的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获取。
附图说明
[0038]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SSP连接管理方法,其特征在于,包括:在SAS控制器和目标设备之间建立SSP连接;当所述SSP连接建立完成后,复位传输空闲计时器;判断当前连接是否处于发送和接收的双向空闲状态;如果当前连接处于发送和接收的双向空闲状态,则启动所述传输空闲计时器;监听是否接收到来自所述SAS控制器传输层或所述目标设备的SSP帧;如果未接收到所述SSP帧,则计算所述传输空闲计时器是否达到空闲时间长度阈值;当所述传输空闲计时器达到所述空闲时间长度阈值时,请求关闭所述SSP连接。2.根据权利要求1所述的SSP连接管理方法,其特征在于,在所述判断当前连接是否处于发送和接收的双向空闲状态之后,进一步包括:如果当前连接未处于发送和接收的双向空闲状态,则返回执行所述复位传输空闲计时器的操作。3.根据权利要求1所述的SSP连接管理方法,其特征在于,在所述监听是否接收到来自所述SAS控制器传输层或所述目标设备的SSP帧之后,进一步包括:如果接收到所述SSP帧,则返回执行所述复位传输空闲计时器的操作。4.根据权利要求1所述的SSP连接管理方法,其特征在于,在所述计算所述传输空闲计时器是否达到空闲时间长度阈值之后,进一步包括:如果所述传输空闲计时器未达到所述空闲时间长度阈值,则继续监听是否接收到来自所述SAS控制器传输层或所述目标设备的SSP帧。5.根据权利要求1所述的SSP连接管理方法,其特征在于,所述空闲时间长度阈值由系统软件进行动态配置。6.一种SSP连接管...

【专利技术属性】
技术研发人员:宫晓渊刁永翔李越峰杨亮
申请(专利权)人:无锡众星微系统技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1