一种支持STP应用的自适应流控方法与装置制造方法及图纸

技术编号:29583051 阅读:24 留言:0更新日期:2021-08-06 19:40
本发明专利技术提供了一种支持STP应用的自适应流控方法与装置,该方法包括:建立SAS控制器与目标设备之间的物理链路,触发流控程序,在运行时刻实时测量链路层延迟,基于所测量的链路层延迟,确定所述SAS控制器的接收缓冲区的水线阈值。本发明专利技术的方案在系统运行时刻实时测量物理链路的实际通信延迟,自适应动态调整SAS控制器内部接收缓冲区的水线阈值,实现接收缓冲区配置的最优化。

【技术实现步骤摘要】
一种支持STP应用的自适应流控方法与装置
本专利技术属于磁盘连接
,特别涉及一种支持STP应用的自适应流控方法与装置。
技术介绍
SATA(SerialATA)是一种高速串行总线,采用点对点的传输方式,内置数据/命令校验单元,纠错能力强,支持热插拔,具有管脚数量少、数据传输速率快、可靠性高、兼容性好等特性,目前被业界广泛用于存储设备和主机之间的主要I/O接口。SAS(串行连接SCSI)作为新一代SCSI技术,类似SATA技术同样采用串行接口以获得更高的传输速度。同时,SAS设计考虑向下兼容SATA技术,通过STP协议(SATA通道协议)实现SAS控制器和SATA设备之间的互联和数据传输。典型的SAS数据存储拓扑结构中,SAS控制器通过一级或者多级Expander(磁盘扩展器)扩展支持大规模磁盘的管理。SASExpander中通常集成了STP/SATA桥,完成SAS协议到SATA协议的转换,以兼容SATA磁盘设备连接。图1描述了SAS控制器和多个SATA设备互联时的主要组件,其中SAS控制器是控制命令和数据读写命令的发起者,负责管理整个存储系统的拓扑结构,发出磁盘数据读写命令,接收设备响应;SASExpander用于扩展存储系统的拓扑结构,内部集成STP/SATA桥以兼容SATA设备连接;STP/SATA桥完成SAS标准中STP协议到SATA协议的转换,帮助SATA设备接入SAS系统;SATA磁盘存储设备用于存储业务数据;连接L1和L2分别为SAS标准物理连接和SATA标准物理连接。>然而,SATA标准协议在制定之初,并未充分考虑SAS应用中多种物理链路速率、不同连接器类型、可变线缆长度的支持。在SAS控制器透过Expander级联访问SATA设备的应用场景下,SATA标准协议定义的流控方法难以高效支持SAS应用中多样化连接方式造成的不确定延迟,可能导致数据通信失败。为说明标准SATA协议定义的流控方法在支持复杂多变连接结构的SAS应用场景时存在的问题,图2以SAS控制器读磁盘操作为例,描述STP协议下数据传输流控的场景:1.S1:在接收数据过程中,SAS控制器侦测到内部接收缓冲区剩余空间达到阈值,即将溢出,依照SATA标准协议链路层持续发送HOLD原语,请求Expander暂缓数据发送;2.D1:SAS控制器和Expander设备之间由于接口类型、线缆长度,引入延迟D1,HOLD原语在D1时间后到达Expander设备端口;3.D2:Expander设备链路层接收到HOLD原语,暂停有效数据发送,并应答HOLDA原语,期间引入延迟D2;4.S2:SASExpander的HOLDA原语在延迟D1时间后到达SAS控制器;如图2所示,典型的SAS数据存储拓扑结构中,由于连接器和线缆长度多样化,整个链路的延迟可能随着连接线缆的长度不同而动态变化。依据SATA标准协议的描述,在端到端连接的情况下,设备链路层发出HOLD至接收到HOLDA响应的最大延迟为20个Dword单位。传统的SATA控制器内部通常按照20个Dword单位的延迟时间设置内部接收缓冲区的水线阈值,无法实现缓冲区的最优配置,充分发挥缓冲区的效率,难以满足SAS应用中多样化连接场景下STP链路的延迟。以SAS协议中定义的可管控的连接器(ManagedConnector)为例,SAS控制器和Expander设备之间链路相关延迟公式计算如下(单位:Dword):D2=20;D1=Pd*R/40;Total=D1*2+D2;其中,Pd为线缆传播延迟,单位为ns;R为物理链路速率,单位为Gbps。Total为链路交互总延迟。显然,在STP应用场景下,链路的延迟和连接器类型、连接线缆的长度以及物理链路的速率呈现比例关系。典型地,以10米连接线缆单方向延迟53ns估算,链路交互总延迟为36Dword。如果按照传统方式以SATA协议定义的20个Dword单位的延迟时间来设置控制器内部接收缓冲区的水线阈值,可能导致缓冲区剩余空间阈值设置过低,发生缓冲区溢出,丢失有效数据。另一方面,如果接收缓冲区剩余空间水线阈值设置过高,浪费接收缓冲区的存储空间,增加HOLD原语的发送频率,降低物理链路传输效率。
技术实现思路
本专利技术的目的在于一种支持STP应用的自适应流控方法和装置,针对目前SATA标准协议中流控方法存在的缺陷,提出了面向SAS应用场景的自适应流控方案,完善SAS场景下STP协议的支持。根据本专利技术的第一方面,提供了一种支持STP应用的自适应流控方法,包括:建立SAS控制器与目标设备之间的物理链路,所述SAS控制器触发流控程序,在运行时刻实时测量链路层延迟,基于所测量的链路层延迟,确定所述SAS控制器的接收缓冲区的水线阈值。优选地,所述触发流控程序,进一步包括:SAS控制器等待来自SATA磁盘设备的DataFIS,当所述SAS控制器协议栈链路层接收到所述DataFIS时,主动触发流控程序。优选地,所述SAS控制器等待来自SATA磁盘设备的DataFIS之前,还包括:所述SAS控制器发送ATA类型的PIO读命令IDENTIFYDEVICE到所述SATA磁盘设备。优选地,所述实时测量链路层延迟,进一步包括:所述SAS控制器协议栈链路层发送HOLD原语,同时启动延迟测量计时器;等待目标设备应答的HOLDA原语,当所述HOLDA原语到达所述SAS控制器协议栈链路层时,所述SAS控制器停止所述延迟测量计时器,记录所述链路层延迟。优选地,所述确定SAS控制器的接收缓冲区的水线阈值,进一步包括:计算接收缓冲区水线阈值,并基于计算结果动态调整所述缓冲区的水线阈值,最优化缓冲区配置。根据本专利技术的第一方面,提供了一种支持STP应用的自适应流控管理装置,其特征在于,包括:链路建立单元,用于建立SAS控制器与目标设备之间的物理链路,延迟测量单元,用于触发流控程序,在运行时刻实时测量链路层延迟,阈值确定单元,用于基于所测量的链路层延迟,确定所述SAS控制器的接收缓冲区的水线阈值。优选地,所述延迟测量单元进一步配置为:等待来自SATA磁盘设备的DataFIS,当所述SAS控制器协议栈链路层接收到所述DataFIS时,主动触发流控程序。优选地,所述装置进一步包括读请求单元,用于在等待来自SATA磁盘设备的DataFIS之前,所述SAS控制器发送ATA类型的PIO读命令IDENTIFYDEVICE到所述SATA磁盘设备。优选地,所述延迟测量单元进一步配置为:在所述SAS控制器协议栈链路层发送HOLD原语同时,启动延迟测量计时器;当所述目标设备应答的HOLDA原语到达所述SAS控制器协议栈链路层时,停止所述延迟测量计时器,记录所述链路层延迟。优选地,所述阈值确定单元进一步配置为:计算接收缓冲区水线阈值,并基于计算结果动态本文档来自技高网...

【技术保护点】
1.一种支持STP应用的自适应流控方法,其特征在于,包括:/n建立SAS控制器与目标设备之间的物理链路,/n所述SAS控制器触发流控程序,在运行时刻实时测量链路层延迟,/n基于所测量的链路层延迟,确定所述SAS控制器的接收缓冲区的水线阈值。/n

【技术特征摘要】
1.一种支持STP应用的自适应流控方法,其特征在于,包括:
建立SAS控制器与目标设备之间的物理链路,
所述SAS控制器触发流控程序,在运行时刻实时测量链路层延迟,
基于所测量的链路层延迟,确定所述SAS控制器的接收缓冲区的水线阈值。


2.根据权利要求1所述的支持STP应用的自适应流控方法,其特征在于,所述触发流控程序,进一步包括:
SAS控制器等待来自SATA磁盘设备的DataFIS,当所述SAS控制器协议栈链路层接收到所述DataFIS时,主动触发流控程序。


3.根据权利要求2所述的支持STP应用的自适应流控方法,其特征在于,所述SAS控制器等待来自SATA磁盘设备的DataFIS之前,还包括:
所述SAS控制器发送ATA类型的PIO读命令IDENTIFYDEVICE到所述SATA磁盘设备。


4.根据权利要求1所述的支持STP应用的自适应流控方法,其特征在于,所述实时测量链路层延迟,进一步包括:
所述SAS控制器协议栈链路层发送HOLD原语,同时启动延迟测量计时器;等待目标设备应答的HOLDA原语,当所述HOLDA原语到达所述SAS控制器协议栈链路层时,所述SAS控制器停止所述延迟测量计时器,记录所述链路层延迟。


5.根据权利要求1所述的支持STP应用的自适应流控方法,其特征在于,所述确定SAS控制器的接收缓冲区的水线阈值,进一步包括:
计算接收缓冲区水线阈值,并基于计算结果动态调整所述缓冲区的水线阈值,最优...

【专利技术属性】
技术研发人员:宫晓渊陈凤林胡吉乐
申请(专利权)人:无锡众星微系统技术有限公司
类型:发明
国别省市:江苏;32

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

1