一种SSD盘片控制器复位方法、系统、装置及可读存储介质制造方法及图纸

技术编号:26169830 阅读:42 留言:0更新日期:2020-10-31 13:34
本申请公开了一种SSD盘片控制器复位方法、系统、装置及计算机可读存储介质,应用于前端协议接口模块,包括:接收后端业务模块发送的IO;判断是否存在与IO携带的特征码对应的IO队列;若不存在,则舍弃IO;本申请利用IO中的特征码,判断是否存在与该IO对应的IO队列,根据IO队列是否存在,判断出IO是否为超时IO,是否可以被发送至Host端,成功在即使未等待后端业务模块释放全部IO前,也可以删除IO队列进行复位操作,而不会初选超时IO发送至Host端的情况,提高了复位速度和可靠性。

【技术实现步骤摘要】
一种SSD盘片控制器复位方法、系统、装置及可读存储介质
本专利技术涉及计算机
,特别涉及一种SSD盘片控制器复位方法、系统、装置及计算机可读存储介质。
技术介绍
SSD(Solid-statedrive,固态硬盘)相较于传统的机械硬盘,由于其显著的低读写延时和高带宽,正在越来越广泛的应用于企业高性能存储系统以及个人消费者领域。SSD具有多种接口形式,其中基于PCIe总线的NVMe协议接口的SSD由于其具有更低的延时、更高的带宽以及更高的随机读写IOPS(Input/OutputOperationsPerSecond,每秒进行读写操作的次数),在市场上占据着重要的地位。采用NVMe协议接口的SSD盘根据协议提供了控制器复位的接口:Host可以通过对盘片控制寄存器的配置触发盘片做控制器复位流程,在盘片接收到Host下发的复位请求后,会停止当前业务并进行删除队列的动作,完成这些处理后通过状态寄存器通知Host复位完成信息。在实际应用过程中,控制器复位多见于异常场景下,如SSD盘内IO超时的场景:Host检测到出现IO超时即会对超时的IO进行Abort,如果Abort失败后则会进行队列删除、控制器复位的流程。一般情况下,SSD盘内分为前端协议接口模块以及后端业务模块,IO超时通常意味着后端业务模块出现了某种异常,当前端协议模块接收到队列删除请求后通常需要等待并确认后端的IO资源已释放后才能继续完成队列删除的后续流程,否则,如果仅仅删除和释放了前端的资源而没有等待并确认后端资源的释放,则有可能会出现后端异常的IO在某个时刻又返回给了前端接口,更特别的,如果此时Host恰好又重新创建了队列,则有可能通过新创建的队列返回Host,进而发生导致数据不一致问题的严重后果。所以,在这种机制下,控制器复位删队列时等待并确认后端IO资源释放是一个重要的环节。但是在实际场景下,既然出现了IO超时,说明SSD盘片后端模块可能已经出现了某种故障,在此故障状态下可能无法完成资源释放的动作,这样便会导致前端的等待条件无法得到满足,导致流程卡住无法继续处理。所以实际应用中比较常出现由于无法确认后端IO资源释放而导致队列删除失败,进而导致控制器复位失败的问题发生。为此,需要一种更为可靠有效的复位方法。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种SSD盘片控制器复位方法、系统、装置及计算机可读存储介质,更为可靠有效。其具体方案如下:一种SSD盘片控制器复位方法,应用于前端协议接口模块,包括:接收后端业务模块发送的IO;判断是否存在与所述IO携带的特征码对应的IO队列;若不存在,则舍弃所述IO。可选的,所述接收IO之前,还包括:接收Host的队列创建指令;根据所述队列创建指令,创建所述IO队列和所述IO队列的所述特征码;接收所述Host发送的IO请求;将所述特征码写入到所述IO请求中;通过所述IO队列发送带有所述特征码的所述IO请求至所述后端业务模块。可选的,所述特征码根据所述IO队列的队列ID、CPUtick计数信息和SSD设备当前的上电次数制定。可选的,所述将所述特征码写入到所述IO请求中的过程,包括:将所述特征码写入到所述IO请求中的上下文信息中。可选的,所述判断是否存在与所述IO携带的特征码对应的IO队列的过程,包括:获取所述IO上下文信息中携带的所述特征码;判断是否存在与所述特征码对应的IO队列。可选的,还包括:接收Host发送的队列删除指令;直接根据所述队列删除指令删除相应的IO队列。本专利技术还公开了一种SSD盘片控制器复位系统,应用于前端协议接口模块,包括:IO接收模块,用于接收后端业务模块发送的IO;特征码判断模块,用于判断是否存在与所述IO携带的特征码对应的IO队列;IO舍弃模块,用于若所述特征码判断模块判定所述IO队列不存在,则舍弃所述IO。可选的,还包括:指令接收模块,用于接收Host的队列创建指令;队列创建模块,用于根据所述队列创建指令,创建所述IO队列和所述IO队列的所述特征码;IO请求接收模块,用于接收所述Host发送的IO请求;特征码写入模块,用于将所述特征码写入到所述IO请求中;IO请求发送模块,用于通过所述IO队列发送带有所述特征码的所述IO请求至所述后端业务模块。本专利技术还公开了一种SSD盘片控制器复位装置,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现如前述的SSD盘片控制器复位方法。本专利技术还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的SSD盘片控制器复位方法。本专利技术中,SSD盘片控制器复位方法,应用于前端协议接口模块,包括:接收后端业务模块发送的IO;判断是否存在与IO携带的特征码对应的IO队列;若不存在,则舍弃IO。本专利技术利用IO中的特征码,判断是否存在与该IO对应的IO队列,根据IO队列是否存在,判断出IO是否为超时IO,是否可以被发送至Host端,成功在即使未等待后端业务模块释放全部IO前,也可以删除IO队列进行复位操作,而不会初选超时IO发送至Host端的情况,提高了复位速度和可靠性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例公开的一种SSD盘片控制器复位方法流程示意图;图2为本专利技术实施例公开的另一种SSD盘片控制器复位方法流程示意图;图3为本专利技术实施例公开的一种SSD盘片控制器复位系统结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种SSD盘片控制器复位方法,参见图1所示,应用于前端协议接口模块,该方法包括:S11:接收后端业务模块发送的IO。具体的,在SSD设备中的前端协议接口模块将Host端的IO请求发送至SSD设备中的后端业务模块后,后端业务模块会返回相应的IO,例如,IO请求所需要的数据或者是按照IO请求处理完成后的应答信息,因此,前端协议接口模块会接收后端业务模块发送的IO。其中,Host端可以为与用户直接交互的操作系统。S12:判断是否存在与IO携带的特征码对应的IO队列。具体的,在SSD盘片控制器需要复位本文档来自技高网
...

【技术保护点】
1.一种SSD盘片控制器复位方法,其特征在于,应用于前端协议接口模块,包括:/n接收后端业务模块发送的IO;/n判断是否存在与所述IO携带的特征码对应的IO队列;/n若不存在,则舍弃所述IO。/n

【技术特征摘要】
1.一种SSD盘片控制器复位方法,其特征在于,应用于前端协议接口模块,包括:
接收后端业务模块发送的IO;
判断是否存在与所述IO携带的特征码对应的IO队列;
若不存在,则舍弃所述IO。


2.根据权利要求1所述的SSD盘片控制器复位方法,其特征在于,所述接收IO之前,还包括:
接收Host的队列创建指令;
根据所述队列创建指令,创建所述IO队列和所述IO队列的所述特征码;
接收所述Host发送的IO请求;
将所述特征码写入到所述IO请求中;
通过所述IO队列发送带有所述特征码的所述IO请求至所述后端业务模块。


3.根据权利要求1所述的SSD盘片控制器复位方法,其特征在于,所述特征码根据所述IO队列的队列ID、CPUtick计数信息和SSD设备当前的上电次数制定。


4.根据权利要求2所述的SSD盘片控制器复位方法,其特征在于,所述将所述特征码写入到所述IO请求中的过程,包括:
将所述特征码写入到所述IO请求中的上下文信息中。


5.根据权利要求4所述的SSD盘片控制器复位方法,其特征在于,所述判断是否存在与所述IO携带的特征码对应的IO队列的过程,包括:
获取所述IO上下文信息中携带的所述特征码;
判断是否存在与所述特征码对应的IO队列。


6.根据权利要求1至5任一项所述的SSD盘片控制器复位方法,其特...

【专利技术属性】
技术研发人员:刘国华
申请(专利权)人:广东浪潮大数据研究有限公司
类型:发明
国别省市:广东;44

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

1