命令解析异常检测方法、装置及系统与流程

文档序号:36034616发布日期:2023-11-17 16:39阅读:28来源:国知局
命令解析异常检测方法、装置及系统与流程

本发明涉及计算机存储,特别是涉及一种命令解析异常检测方法、装置、系统及计算机可读存储介质。


背景技术:

1、主机存取储存装置时,通过nvme(non-volatile memory express,非易失性存储器协定)协议向储存装置发送指令,使储存装置得以在写入或读取等操作后通知主机指令完成亦或失败等状态。在主机存取储存装置的过程中,指令作为沟通媒介,由主机备妥作为缓冲区的内存区块、数据等资源后,告知储存装置端需求的操作以及目标的内存区块位置,使得储存装置得以遵循其安排读取或写回主机内存,然后通知主机端指令状态,主机便可将数据读回或其他后续操作。

2、nvme规范针对主机送出的指令中,若含有错误的寻址模式,提供了对应的错误码,使nvme控制器在解析时可回传状态,通知本机该道指令的完成状态。

3、现有技术中,通常在nvme储存装置产品开发时设置nvme控制器,主机发送nvme指令给含有控制器的储存装置,并由nvme进行指令的解析以供储存装置执行指令,并由主机检查储存装置的回复,以确定nvme控制器对于该指令是否正确实做。更甚者,在主机与nvme控制器之间,架设协议分析仪用来拦截与转发主机与nvme控制器之间所传输的讯号,由人工追随讯号轨迹判读协议的正确性。

4、储存装置在出厂时,须依宣称支持的nvme协议版本进行兼容性验证与互操作性等验证,以使装置能够正确的处理nvme协议要求以及在各式不同主机上保持足够的可操作性。其中,该兼容性与互操作性测试规范仅提供了nvme协议要求的正向组件检验,但是关于储存装置的部份错误实做却无法侦测得到。也即,因为系属于nvme控制器自身的异常,而非主机端发送的协议异常,主机所发送的指令是正常的,故不被定义在nvme规范中的错误处理。该异常会造成连接的储存装置异常写入主机内存,但是并非主机的中央处理器执行写入,故主机无法抛出内存区段错误(segmentation fault)且无法被察觉。

5、鉴于此,如何检测nvme控制器在进行指令解析时的寻址模式异常成为本领域技术人员需要解决的问题。


技术实现思路

1、本发明实施例的目的是提供一种命令解析异常检测方法、装置、系统及计算机可读存储介质,在使用过程中能够实现对储存设备的nvme控制器寻址模式异常进行检测,利于提高系统存储性能。

2、为解决上述技术问题,本发明实施例提供了一种命令解析异常检测方法,应用于存储控制器,包括:

3、接收待解析命令;

4、在所述待解析命令的一端添加预设数据;

5、对添加有所述预设数据的待解析命令进行解析;

6、在解析完成后检测预设监控内存区中的数据是否发生变化,若是,则确定命令解析异常;其中,所述预设数据指向所述监控内存区。

7、可选的,所述在所述待解析命令的一端添加预设数据,包括:

8、从主机端内存的预设陷阱区中获取预设数据,并将所述预设数据添加至所述待解析命令的一端;其中,所述主机端内存包括发送指令队列区、使用预设寻址模式描述的内存区、与所述使用预设寻址模式描述的内存区的末端连续的预设陷阱区、数据缓存区及监控内存区。

9、可选的,在所述在所述待解析命令的一端添加预设数据之前,还包括:

10、判断所述待解析命令是否为多个,若是,则将各所述待解析命令进行分割,得到各个边界互不相连的待解析命令;

11、则,所述在所述待解析命令的一端添加预设数据,包括:

12、针对每个所述待解析命令,在所述待解析命令末尾连接预设数据,使所述预设数据与所述待解析命令连续。

13、可选的,所述预设数据的字节长度与所述预设寻址模式对应的字节长度相同。

14、可选的,所述预设寻址模式为物理区域页prp寻址模式或分散聚合表sgl寻址模式。

15、可选的,在解析完成后检测预设监控内存区中的数据是否发生变化,包括:

16、判断所述预设监控内存区中的数据是否被覆盖,若被覆盖,则确定预设监控内存区中的数据发生变化。

17、可选的,在所述确定命令解析异常之后,还包括:

18、将异常结果反馈至主机,以便主机中断针对待测储存设备的测试流程或数据读写操作。

19、本发明实施例还提供了一种命令解析异常检测装置,应用于存储控制器,包括:

20、接收模块,用于接收待解析命令;

21、添加模块,用于在所述待解析命令的一端添加预设数据;

22、解析模块,用于对添加有所述预设数据的待解析命令进行解析;

23、判断模块,用于在解析完成后检测预设监控内存区中的数据是否发生变化,若是,则触发确定模块;其中,所述预设数据指向所述监控内存区;

24、所述确定模块,用于确定命令解析异常。

25、本发明实施例还提供了一种命令解析异常检测系统,包括:

26、存储器,用于存储计算机程序;

27、处理器,用于执行所述计算机程序时实现如上述所述命令解析异常检测方法的步骤。

28、本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述命令解析异常检测方法的步骤。

29、本发明实施例提供了一种命令解析异常检测方法,应用于存储控制器,包括:接收待解析命令;在待解析命令的一端添加预设数据;对添加有预设数据的待解析命令进行解析;在解析完成后检测预设监控内存区中的数据是否发生变化,若是,则确定命令解析异常;其中,预设数据指向监控内存区。

30、可见,本发明中的存储控制器在接收到主机发送至待测存储设备的待解析命令后,会待该待解析命令的一端添加预设数据,其中,该预设数据指向主机内存中的监控内存区,然后存储控制器再对一端添加有该预设数据的待解析命令进行解析,并且在解析完成后检查主机内存中预设的监控内存区中的数据是否发生了变化,如果监控内存区中的数据发生了变化则说明存储控制器在对待解析命令进行解析的过程中存在越界解析的情况、出现命令解析异常;本发明在使用过程中能够实现对储存设备的存储控制器命令解析异常进行检测,利于提高系统存储性能。

31、本发明实施例还提供了一种命令解析异常检测装置、系统及计算机可读存储介质,具有上述相同的有益效果。



技术特征:

1.一种命令解析异常检测方法,其特征在于,应用于存储控制器,包括:

2.根据权利要求1所述的命令解析异常检测方法,其特征在于,所述在所述待解析命令的一端添加预设数据,包括:

3.根据权利要求2所述的命令解析异常检测方法,其特征在于,在所述在所述待解析命令的一端添加预设数据之前,还包括:

4.根据权利要求2所述的命令解析异常检测方法,其特征在于,所述预设数据的字节长度与所述预设寻址模式对应的字节长度相同。

5.根据权利要求2所述的命令解析异常检测方法,其特征在于,所述预设寻址模式为物理区域页prp寻址模式或分散聚合表sgl寻址模式。

6.根据权利要求1至5任意一项所述的命令解析异常检测方法,其特征在于,在解析完成后检测预设监控内存区中的数据是否发生变化,包括:

7.根据权利要求6所述的命令解析异常检测方法,其特征在于,在所述确定命令解析异常之后,还包括:

8.一种命令解析异常检测装置,其特征在于,应用于存储控制器,包括:

9.一种命令解析异常检测系统,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述命令解析异常检测方法的步骤。


技术总结
本发明公开了一种命令解析异常检测方法、装置及系统,应用于计算机存储技术领域,该方法应用于存储控制器,包括:接收待解析命令;在待解析命令的一端添加预设数据;对添加有预设数据的待解析命令进行解析;在解析完成后检测预设监控内存区中的数据是否发生变化,若是,则确定命令解析异常;其中,预设数据指向监控内存区;本发明在使用过程中能够实现对储存设备的存储控制器命令解析异常进行检测,利于提高系统存储性能。

技术研发人员:请求不公布姓名
受保护的技术使用者:江苏芯盛智能科技有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1