[发明专利]PCIe功能层级复位的实现方法、装置、计算机设备及存储介质在审
申请号: | 202111657266.X | 申请日: | 2021-12-31 |
公开(公告)号: | CN114328024A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 沈荣娟;韩道静;刘金雷 | 申请(专利权)人: | 深圳忆联信息系统有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 丁宇龙 |
地址: | 518067 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | pcie 功能 层级 复位 实现 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种PCIe功能层级复位的实现方法、装置、计算机设备及存储介质,其中该方法包括:SSD获取SSD控制器发来的FLR中断信号,固件跳转到中断处理函数处理FLR事件;SSD回到主状态机进入到复位状态并将正在进行的命令终止;待所有的命令正常终止完成后,所述固件向SSD控制器发送NVMe核复位请求;SSD进行NVMe的初始化;固件向SSD控制器写FLR完成并等待硬件报告FLR完成,SSD重新配置PCIe寄存器。本发明能够解决在sanblaze测试平台上的FLR测试失败的问题,可以有效地提高测试效率。
技术领域
本发明涉及固态硬盘技术领域,特别是涉及一种PCIe功能层级复位的实现方法、装置、计算机设备及存储介质。
背景技术
目前,PCIe function level reset(功能层级复位,以下简称FLR)是通过主机软件写PICe的Device control register(设备控制寄存器)的bit15(init flr)来触发,FLR需要在100ms内完成。FLR只复位对应Function的内部状态和寄存器,不影响链路专用寄存器。
然而,现有FLR方案在sanblaze(一种SSD测试软件)测试平台上的FLR测试失败,该平台由于SSD正在进行读写命令,主机没等读写命令结束就下发FLR请求,Device在收到FLR中断时,在中断中将NVMe Core(核心)复位,导致还未处理完的节点卡住,无法顺利完成,最终测试失败。
发明内容
基于此,有必要针对上述技术问题,提供一种PCIe功能层级复位的实现方法、装置、计算机设备及存储介质。
一种PCIe功能层级复位的实现方法,所述方法包括:
SSD获取SSD控制器发来的FLR中断信号,固件跳转到中断处理函数处理FLR事件;
SSD回到主状态机进入到复位状态并将正在进行的命令终止;
待所有的命令正常终止完成后,所述固件向SSD控制器发送NVMe核复位请求;
SSD进行NVMe的初始化;
固件向SSD控制器写FLR完成并等待硬件报告FLR完成,SSD重新配置PCIe寄存器。
在其中一个实施例中,所述SSD获取SSD控制器发来的FLR中断信号,固件跳转到中断处理函数处理FLR事件的步骤还包括:
在FLR中断事件中仅标记FLR事件并不做复位相关操作。
在其中一个实施例中,在所述SSD获取SSD控制器发来的FLR中断信号的步骤之前还包括:
SSD上电后正常处理命令,执行FLR测试脚本;
主机发送FLR复位请求给SSD。
在其中一个实施例中,在所述固件向SSD控制器写FLR完成并等待硬件报告FLR完成,SSD重新配置PCIe寄存器的步骤之后还包括:
等待主机发送控制器配置寄存器使能命令,重新开始处理命令。
一种PCIe功能层级复位的实现装置,所述装置包括:
跳转模块,所述跳转模块用于SSD获取SSD控制器发来的FLR中断信号,固件跳转到中断处理函数处理FLR事件;
终止模块,所述终止模块用于SSD回到主状态机进入到复位状态并将正在进行的命令终止;
发送模块,所述发送模块用于待所有的命令正常终止完成后,所述固件向SSD控制器发送NVMe核复位请求;
初始化模块,所述初始化模块用于SSD进行NVMe的初始化;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳忆联信息系统有限公司,未经深圳忆联信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111657266.X/2.html,转载请声明来源钻瓜专利网。