本发明专利技术提供了一种STP SATA桥的地址配置方法和装置,该方法包括:在STP SATA桥的STP端口层配置多个SAS地址,从多个SAS地址中确定当前有效的第一地址;当检测到第一地址相连接的SATA磁盘设备的连接丢失时,判断当前STP目标端口是否存在打开状态的活跃连接;如果当前STP目标端口不存在打开状态的活跃连接,则将STP端口层的SAS地址主动切换为第二地址;向所述STP SATA桥的上游端口发送广播消息,将地址切换结果通知SAS控制器;基于所述STP SATA桥的物理层链路的OOB协商,重新执行设备识别。本发明专利技术的方案有效避免SATA设备热插拔场景下由于消息传递和事件处理的延迟导致主机系统I/O数据传输错误,保障业务数据的正确性和完整性。性。性。
【技术实现步骤摘要】
一种STP SATA桥的地址配置方法和装置
[0001]本专利技术属于磁盘连接
,特别涉及一种STP SATA桥的地址配置方法和装置。
技术介绍
[0002]SATA(Serial ATA)是一种高速串行总线,采用点对点的传输方式,内置数据/命令校验单元,纠错能力强,支持热插拔,具有管脚数量少、数据传输速率快、可靠性高、兼容性好等特性,目前被业界广泛用于存储设备和主机之间的主要I/O接口。
[0003]SAS(串行连接SCSI)作为新一代SCSI技术,类似SATA技术同样采用串行接口以获得更高的传输速度。同时,SAS设计考虑向下兼容SATA技术,通过STP协议(SATA通道协议)实现SAS控制器和SATA设备之间的互联和数据传输。
[0004]典型的SAS数据存储拓扑结构中,SAS控制器通过一级或者多级Expander(磁盘扩展器)扩展支持大规模磁盘的管理。SAS Expander中通常集成了STP SATA桥,完成SAS协议到SATA协议的转换,以兼容SATA磁盘设备连接。图1描述了SAS控制器和多个SATA设备互联时的主要组件,其中SAS控制器C1是控制命令和数据读写命令的发起者,负责管理整个存储系统的拓扑结构,发出磁盘数据读写命令,接收设备响应;SAS Expander即C2用于扩展存储系统的拓扑结构,内部集成STP SATA桥以兼容SATA设备连接;STP SATA桥C2.1完成SAS标准中STP协议到SATA协议的转换,帮助SATA设备接入SAS系统;SATA磁盘存储设备C3用于存储业务数据;连接L1和L2分别为SAS标准物理连接和SATA标准物理连接。
[0005]在服务器级的数据存储应用中,为了保障系统数据服务的持续性和鲁棒性,通常需要整个SAS系统中的SAS和SATA磁盘设备具备动态热插拔特性。即在整个存储系统运行时刻,希望不掉电关断的情况下,根据业务需要随时拔插、更换SAS或SATA磁盘设备。因此,在系统高吞吐率的I/O数据交互过程中,确保SAS或SATA磁盘设备的热插拔场景下数据的有效性、正确性和完整性对于数据存储业务至关重要。
[0006]然而现有技术的动态热插拔过程中存在着数据业务错误风险。具体地,参见图2,主机系统内部SAS控制器通过两级Expander扩展连接SATA磁盘和SAS磁盘设备。以更换SATA磁盘设备为例,描述整个连接中典型的消息传递流程:
[0007]步骤S1:将SATA磁盘设备D1从Expander L2的下游端口移除,准备替换为新的SATA磁盘设备D2;
[0008]步骤S2:下游Expander L2的STP SATA桥硬件物理层检测到SATA磁盘设备连接丢失,通知Expander内部的系统固件程序。固件程序记录设备连接丢失事件的端口和详细信息,并向Expander L2的上游端口发送广播(BROADCAST)原语;
[0009]步骤S3:上游Expander L1接收到下游Expander L2的广播原语,记录接收到广播原语的下游端口信息,并向上游端口传递广播原语;
[0010]步骤S4:主机内部的SAS控制器收到Expander L1的广播原语,感知到下游Expander L2有事件发生。控制器向主机内部处理器上报中断,请求主机系统软件实施干
预,查询并处理事件;
[0011]步骤S5:主机系统中断处理程序激活系统软件内的SAS控制器管理进程;
[0012]步骤S6:SAS控制器管理进程下发SMP(SAS管理协议)查询命令给Expander L1,询问事件发生的端口、类型等详细信息。根据端口号、信息类型和整个存储连接的拓扑结构,管理进程感知到事件来源于下游Expander L2;
[0013]步骤S7:SAS控制器管理进程下发SMP查询命令给下游Expander L2。根据Expander L2的SMP应答消息,管理进程感知到SATA磁盘设备D1移除事件。
[0014]根据SAS标准协议,每个SAS设备端口都含有一个64位SAS地址,用于标识设备端口的身份,而SATA磁盘设备并没有类似的地址标识。为了实现存储连接拓扑内的SATA设备,SAS协议规定Expander内部的STP SATA桥拥有一个64位SAS地址。SAS控制器在访问SATA盘之前,需要面向STP SATA桥的SAS地址建立逻辑连接。逻辑连接建立成功之后,SAS控制器和SATA磁盘设备通过协议定义格式的FIS帧(SATA传输层数据结构)来交换I/O数据信息。
[0015]可见,只有经过多级SAS链路层原语的传递和多次SMP请求以及应答消息的交换,主机系统软件才能感知到SATA磁盘设备移除事件的详细信息。随着Expander扩展级数的增加,从SATA磁盘设备D1移除(步骤S1)到主机管理进程感知到此事件(步骤S7)的延迟也随之增加。另一方面,在步骤S7的Expander L2返回SMP应答信息之前,主机系统尚未感知到SATA磁盘D1已经被移除的事件,继续进行I/O数据交换业务。如果在步骤S7之前,用户迅速接入了新的SATA磁盘设备D2,则可能导致I/O数据内容错误。由于SATA的FIS帧结构内部没有地址相关的设备标识字段,原本期望来自于SATA磁盘D1的数据,实际来自于磁盘D2;或者原本期望写入磁盘D1的数据,实际写入了磁盘D2,导致数据业务失败,引发系统异常。
技术实现思路
[0016]本专利技术的目的在于一种STP SATA桥的地址配置方法和装置,解决SATA设备的热插拔过程中存在的风险和问题。
[0017]根据本专利技术的第一方面,提供了一种STP SATA桥的地址配置方法,包括:
[0018]在STP SATA桥的STP端口层配置多个SAS地址,从所述多个SAS地址中确定当前有效的第一地址;
[0019]检测与所述第一地址相连接的SATA磁盘设备的连接状态;
[0020]当检测到所述第一地址相连接的SATA磁盘设备的连接丢失时,判断当前STP目标端口是否存在打开状态的活跃连接;
[0021]如果当前STP目标端口不存在打开状态的活跃连接,则将所述STP端口层的SAS地址主动切换为所述多个SAS地址中的第二地址;
[0022]向所述STP SATA桥的上游端口发送广播消息,将地址切换结果通知SAS控制器;
[0023]基于所述STP SATA桥的物理层链路的OOB协商,重新执行设备识别。
[0024]优选地,所述判断当前STP目标端口是否存在打开状态的活跃连接之后,进一步包括:
[0025]如果存在打开状态的活跃连接,则关闭所述活跃连接。
[0026]优选地,所述将所述STP端口层的SAS地址主动切换为第二地址,进一步包括:
[0027]通过所述STP SATA桥的端口层硬件逻辑主动切换STP端口层的SAS地址,将所述第
二地址设置为有效,并将所述第一地址设置为无效,并更新磁盘扩展器内部连接管理路由信息,而无需主机系统本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种STP SATA桥的地址配置方法,其特征在于,包括:在STP SATA桥的STP端口层配置多个SAS地址,从所述多个SAS地址中确定当前有效的第一地址;检测与所述第一地址相连接的SATA磁盘设备的连接状态;当检测到所述第一地址相连接的SATA磁盘设备的连接丢失时,判断当前STP目标端口是否存在打开状态的活跃连接;如果所述当前STP目标端口不存在打开状态的活跃连接,则将所述STP端口层的SAS地址主动切换为所述多个SAS地址中的第二地址;向所述STP SATA桥的上游端口发送广播消息,将地址切换结果通知SAS控制器;基于所述STP SATA桥的物理层链路的OOB协商,重新执行设备识别。2.根据权利要求1所述的STP SATA桥的地址配置方法,其特征在于,所述判断当前STP目标端口是否存在打开状态的活跃连接之后,进一步包括:如果存在打开状态的活跃连接,则关闭所述活跃连接。3.根据权利要求1所述的STP SATA桥的地址配置方法,其特征在于,所述将STP端口层的SAS地址主动切换为第二地址,进一步包括:通过所述STP SATA桥的端口层硬件逻辑主动切换STP端口层的SAS地址,将所述第二地址设置为有效,并将所述第一地址设置为无效,并更新磁盘扩展器内部连接管理路由信息,而无需主机系统软件和所述磁盘扩展器内部的系统固件干预。4.根据权利要求3所述的STP SATA桥的地址配置方法,其特征在于,所述将第一地址设置为无效之后,还包括:指示所述磁盘扩展器内部的ECM连接管理器拒绝源自SAS控制器并面向所述第一地址的连接建立请求。5.根据权利要求1所述的STP SATA桥的地址配置方法,其特征在于,所述向所述STP SATA桥的上游端口发送广播消息,将地址切换结果通知SAS控制器,进一步包括:通过磁盘扩展器内部的系统固件记录STP端口的SAS地址变化信息和SATA设备移除的详细信息,同时向所述上游端口发送广播原语,请求所述SAS控制器进行处理。6.一种STP SATA桥的地址...
【专利技术属性】
技术研发人员:宫晓渊,刁永翔,张辅云,
申请(专利权)人:无锡众星微系统技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。