CN116166323A - 命令处理方法、装置及存储设备 - Google Patents
命令处理方法、装置及存储设备 Download PDFInfo
- Publication number
- CN116166323A CN116166323A CN202211686520.3A CN202211686520A CN116166323A CN 116166323 A CN116166323 A CN 116166323A CN 202211686520 A CN202211686520 A CN 202211686520A CN 116166323 A CN116166323 A CN 116166323A
- Authority
- CN
- China
- Prior art keywords
- command
- detection
- execution
- module
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000001514 detection method Methods 0.000 claims abstract description 470
- 238000012545 processing Methods 0.000 claims abstract description 274
- 238000004458 analytical method Methods 0.000 claims abstract description 116
- 238000000034 method Methods 0.000 claims abstract description 72
- 239000000523 sample Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 42
- 238000010586 diagram Methods 0.000 description 12
- 101000711846 Homo sapiens Transcription factor SOX-9 Proteins 0.000 description 11
- 102100034204 Transcription factor SOX-9 Human genes 0.000 description 11
- 101000777293 Homo sapiens Serine/threonine-protein kinase Chk1 Proteins 0.000 description 10
- 101000777277 Homo sapiens Serine/threonine-protein kinase Chk2 Proteins 0.000 description 10
- 102100031081 Serine/threonine-protein kinase Chk1 Human genes 0.000 description 10
- 102100031075 Serine/threonine-protein kinase Chk2 Human genes 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 101100232371 Hordeum vulgare IAT3 gene Proteins 0.000 description 7
- 101100220616 Caenorhabditis elegans chk-2 gene Proteins 0.000 description 3
- 101150050673 CHK1 gene Proteins 0.000 description 2
- 101150098958 CMD1 gene Proteins 0.000 description 2
- 101100382321 Caenorhabditis elegans cal-1 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- -1 CMD4 Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及硬件命令管理领域,公开了一种命令处理方法、装置及存储设备,该命令处理方法包括:获取命令序列,命令序列包括若干条硬件命令和若干条检测命令;在每一个命令处理模块执行命令序列中的若干条硬件命令之后,向命令执行检测模块发送检测命令;若任意一个命令执行检测模块根据检测命令,确定命令执行检测模块对应的命令处理模块发生命令解析错误时,则控制命令执行检测模块对应的命令处理模块停止工作。本申请通过在各命令处理模块之间增加命令执行检测模块,在检测命令的配合下实现对硬件命令处理流程的检测,增加了命令检测需求的灵活度,以方便命令出错之后的实时调试,且不影响原有正常命令的解析执行。
Description
技术领域
本申请涉及闪存性能管理领域,尤其涉及一种命令处理方法、装置及存储设备。
背景技术
目前,硬件命令处理链路可分为三个阶段进行。即下发指令、处理模块处理指令、后级处理模块处理指令。下发指令的任务是:根据程序计数器中的值从程序存储介质读出若干个现行指令,并下发若干个现行指令给硬件平台上的若干个命令处理模块执行。处理模块处理指令的任务是:第一级命令处理模块分析若干个现行指令中的若干个指定命令,并将剩余的若干的指令命令下发到后级命令处理模块分析。后级处理模块处理指令的任务是:第二级命令处理模块分析若干个现行指令中的若干个指定命令,并将剩余的若干的指令命令下发到后级命令处理模块分析,……,以此来实现所有现行指令的执行操作。
由于多个命令由多个命令处理模块分别进行处理,若在前的命令处理模块未执行对应的命令,使得在后的命令执行模块接收到错误的命令,可能导致解析出错误命令,从而触发错误动作,并且,错误动作可能会扩散到后续的命令处理模块,出错的命令可能存在于命令序列中的任何位置,导致无法定位出错场景。
发明内容
本申请实施例提供一种命令处理方法、装置及存储设备,以解决当命令处理出错时,导致命令处理模块解析错误命令从而触发误动作,并将错误命令扩散至后级模块的问题。
为解决上述问题,本申请实施例提供以下技术方案:
第一方面,本申请提供一种命令处理方法,应用于存储设备,存储设备包括:硬件命令处理链路,硬件命令处理链路包括多个命令处理模块和多个命令执行检测模块,方法包括:
获取命令序列,命令序列包括若干条硬件命令和若干条检测命令,若干条硬件命令由多个命令处理模块按照预设顺序进行处理;
在每一个命令处理模块执行命令序列中的若干条硬件命令之后,向命令执行检测模块发送检测命令;
若任意一个命令执行检测模块根据检测命令,确定命令执行检测模块对应的命令处理模块发生命令解析错误,则控制命令执行检测模块对应的命令处理模块停止工作。
在一些实施例中,方法还包括:
在任意一个命令处理模块执行命令序列中的若干条硬件命令,并且,命令执行检测模块执行检测命令之后,将命令序列中的剩余的若干条硬件命令和/或若干条检测命令发送到硬件命令处理链路的下一个命令处理模块。
在一些实施例中,在每一个命令处理模块执行命令序列中的若干条硬件命令之后,向命令执行检测模块发送检测命令,包括:
在每一个命令处理模块执行命令序列中的前一条硬件命令之后,判断后一条命令是否为检测命令;
若后一条命令为检测命令,则向命令执行检测模块发送检测命令;
若后一条命令不为检测命令,则确定后一条检测命令为硬件命令,命令处理模块继续执行该硬件命令。
在一些实施例中,方法还包括:
在任意一个命令处理模块执行命令序列中的若干条硬件命令之后,获取命令处理模块对应的命令执行检测模块的使能状态;
若命令执行检测模块的使能状态为使能,则向命令执行检测模块发送检测命令,命令执行检测模块接收到检测命令之后,执行命令检测功能;
若命令执行检测模块的使能状态为不使能,则命令执行检测模块将命令处理模块产生的命令执行信息发送到下一个命令处理模块。
在一些实施例中,命令执行检测模块,包括:
命令执行状态记录模块,用于获取命令处理模块产生的命令执行信息;
判断模块,连接命令执行状态记录模块,用于接收检测命令,获取命令执行状态记录模块的命令执行信息,并根据命令执行信息与检测命令进行比对,得到比对结果,若比对结果为命令解析错误,则生成模块停止信号,以控制命令执行检测模块对应的命令处理模块停止工作。
在一些实施例中,
检测命令包括检测类型以及与检测类型一一对应的检测判断信息;
检测类型包括执行顺序检测类型、命令解析检测类型,其中,执行顺序检测类型对应执行顺序信息,命令解析检测类型对应解析结果信息;
命令执行信息包括至少两条硬件命令的执行顺序、硬件命令的命令解析结果,根据命令执行信息与检测命令进行比对,得到比对结果,包括:
若至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息相同,和,硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息相同,则确定比对结果为命令解析正确;
若至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息不同,和/或,硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息不同,则确定比对结果为命令解析错误。
在一些实施例中,在获取命令序列之前,方法还包括:
配置每一命令执行检测模块的使能状态,其中,使能状态包括使能或不使能。
第二方面,本申请提供一种命令处理装置,包括:
多个命令处理模块,每一命令处理模块用于处理命令序列中的若干条硬件命令,得到命令执行信息,其中,命令序列包括若干条硬件命令和若干条检测命令;
多个命令执行检测模块,每一命令执行检测模块用于获取命令序列中的检测命令,并比对命令执行信息与检测命令,得到比对结果;
其中,多个命令处理模块和多个命令执行检测模块组成一个硬件命令处理链路。
在一些实施例中,命令执行检测模块,包括:
命令执行状态记录模块,用于获取命令处理模块产生的命令执行信息;
判断模块,连接命令执行状态记录模块,用于接收检测命令,获取命令执行状态记录模块的命令执行信息,并根据命令执行信息与检测命令进行比对,得到比对结果,若比对结果为命令解析错误,则生成模块停止信号,以控制命令执行检测模块对应的命令处理模块停止工作。
第三方面,本申请提供一种存储设备,包括:
至少一个处理器;以及,
与至少一个处理器通信连接的存储介质;其中,
存储介质存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面中所描述的部分或全部方法。
本申请实施例的有益效果是:区别于现有技术的情况下:本申请实施例提供的一种命令处理方法、装置及存储设备,该命令处理方法包括:获取命令序列,命令序列包括若干条硬件命令和若干条检测命令,若干条硬件命令由多个命令处理模块按照预设顺序进行处理;在每一个命令处理模块执行命令序列中的若干条硬件命令之后,向命令执行检测模块发送检测命令;若任意一个命令执行检测模块根据检测命令,确定命令执行检测模块对应的命令处理模块发生命令解析错误时,则控制命令执行检测模块对应的命令处理模块停止工作。本申请通过在各命令处理模块之间增加命令执行检测模块,在检测命令的配合下实现对硬件命令处理流程的检测,增加了命令检测需求的灵活度,以方便命令出错之后的实时调试,且不影响原有正常命令的解析执行。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请实施例提供的一种命令处理装置的结构示意图;
图2是本申请实施例提供的一种命令序列的处理的示意图;
图3是本申请实施例提供的一种命令处理方法的流程示意图;
图4是本申请实施例提供的一种命令序列的处理的流程示意图;
图5是本申请实施例提供的一种硬件命令与检测命令的处理的流程示意图;
图6是本申请实施例提供的一种使能状态的处理的流程示意图;
图7a是本申请实施例提供的一种命令执行信息与检测命令进行比对的流程示意图;
图7b是本申请实施例提供的另一种命令执行信息与检测命令进行比对的流程示意图;
图8是本申请实施例提供的一种应用于命令执行检测模块的命令处理方法的示意图;
图9是本申请实施例提供的一种命令执行检测模块的结构示意图;
图10是本申请实施例提供的一种存储设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
下面结合说明书附图具体说明本申请的技术方案:
请参阅图1,图1是本申请实施例提供的一种命令处理装置的结构示意图;
如图1所示,命令处理装置100,包括多个命令处理模块110以及与多个命令处理模块110连接的多个命令执行检测模块120,用以实现数据交互。其中,每一命令处理模块110可以对应一个命令执行检测模块120,或者,若部分命令处理模块经过多次使用验证,此时,部分命令处理模块110可以不对应命令执行检测模块120。该命令执行检测模块120级联到命令处理模块110之后,若干个前一级的命令执行检测模块120连接后一级的命令处理模块110,其中,多个命令处理模块110和多个命令执行检测模块120组成一个硬件命令处理链路。
请再参阅图2,图2是本申请实施例提供的一种命令序列的处理的示意图;
如图2所示,硬件命令处理链路包括多个命令处理模块和多个命令执行检测模块,例如,多个命令处理模块包括:命令处理模块0、命令处理模块1、命令处理模块2,多个命令执行检测模块包括:命令执行检测模块0、命令执行检测模块1、命令执行检测模块2,其中,每一命令处理模块一一对应一个命令执行检测模块,每一命令处理模块与该命令处理模块一一对应的一个命令执行检测模块连接,用以实现数据交互,且每一个前一级的命令执行检测模块连接该命令执行检测模块的后一级的命令处理模块。
其中,命令序列由若干条硬件命令和若干条检测命令组成,例如,若干条硬件命令包括:硬件命令0(CMD0)、硬件命令1(CMD1)、硬件命令2(CMD2)、硬件命令3(CMD3)、硬件命令4(CMD4)、硬件命令5(CMD5),其中,若干条硬件命令由多个命令处理模块按照预设顺序一一对应进行处理。若干条检测命令包括:检测命令0(CHK0)、检测命令1(CHK1)、检测命令2(CHK2),其中,若干条检测命令由多个命令执行检测模块按照预设顺序一一对应进行处理。可以理解的是,一个命令执行检测模块只执行对应的一条检测命令,以确定与该命令执行检测模块对应的命令处理模块是否发生命令解析错误。
具体的,在初始化过程中配置各命令执行检测模块功能,下发需要执行的命令序列,在该命令序列中按照需要插入检测命令。
具体的,下发带有检测命令的命令序列,如图2所示的命令序列,按照CMD0、CMD1、CMD2、CHK0、CMD3、CMD4、CMD5、CHK1、CHK2的顺序进行排列;命令处理模块0处理序列中的CMD0/2,将CMD1,CHK0,CMD3,CMD4,CMD5,CHK1和CHK2命令下发给后级模块,在本申请实施例中,后级模块可以是命令执行模块,也可以是命令执行检测模块;命令执行检测模块0接收到检测命令CHK0后执行命令检测,若检测到错误则停止命令处理模块0工作,若没检测到错误则将剩余的命令序列下发给该命令执行检测模块0对应的后级模块;命令处理模块1处理序列中的CMD3/5,将CMD1,CMD4,CHK1和CHK2命令下发给后级模块;命令执行检测模块1接收到检测命令CHK1后执行命令检测,若检测到错误则停止命令处理模块1工作,若没检测到错误则将剩余的命令序列下发给该命令执行检测模块1对应的后级模块;命令处理模块2处理命令序列中的CMD1/4,将CHK2命令下发给后级模块;命令执行检测模块2接收到检测命令CHK2后执行命令检测,若检测到错误则停止命令处理模块2工作。
需要说明的是,在命令处理模块处理命令序列中对应的预设硬件命令时,命令执行检测模块实时记录命令处理模块解析执行的命令信息,其中,命令信息包括检测命令,在接收到检测命令后,判断命令执行是否存在错误,若出错则停止命令执行模块工作,发生错误状态通知等待异常处理;若没有出错则继续记录命令执行情况。
在本申请实施例中,通过在原有的硬件命令处理链路上,在各命令处理模块之间增加命令执行检测模块,在检测命令的配合下实现对硬件命令处理流程的检测,有效解决了数据写入出错导致数据丢失的问题,增加了命令检测需求的灵活度,以方便命令出错之后的调试。
请参阅图3,图3是本申请实施例提供的一种命令处理方法的流程示意图,该命令处理方法,应用于存储设备,存储设备包括:硬件命令处理链路,硬件命令处理链路包括多个命令处理模块和多个命令执行检测模块。
如图3所示,该命令处理方法,包括:
步骤S31:获取命令序列,命令序列包括若干条硬件命令和若干条检测命令,若干条硬件命令由多个命令处理模块按照预设顺序进行处理。
硬件命令处理链路获取下发的命令序列,其中,硬件命令处理链路包括多个命令处理模块和多个命令执行检测模块,命令序列包括若干条硬件命令和若干条检测命令,若干条硬件命令由多个命令处理模块按照预设顺序进行处理。
具体的,计算机程序在初始化过程中配置了若干个命令执行检测模块,并下发需要执行的命令序列到硬件命令处理链路,在一些实施例中,命令序列仅包括若干条硬件命令,在本申请实施例中,通过在初始化过程中,在原有的若干条硬件命令序列中初始化插入若干条检测命令,得到命令序列。
步骤S32:在每一个命令处理模块执行命令序列中的若干条硬件命令之后,向命令执行检测模块发送检测命令。
具体的,命令序列包括若干条硬件命令和若干条检测命令,当下发命令序列到硬件命令处理链路上时,硬件命令处理链路上的若干个命令处理模块根据预设顺序一一处理对应的若干条硬件命令,并在每一个命令处理模块执行命令序列中的若干条硬件命令之后,向命令处理模块对应的后级模块发送该命令处理模块对应的检测命令,在该步骤中,命令处理模块对应的后级模块为命令执行检测模块。
例如,下发带有检测命令的命令序列,其中,命令序列包括硬件命令0、硬件命令1、硬件命令2、检测命令0、检测命令1、检测命令2。其中,硬件命令0、硬件命令1、硬件命令2中分别还包含若干条硬件命令,例如,如图2所示:硬件命令0(CMD0)、硬件命令2(CMD2)由命令处理模块0进行处理,硬件命令3(CMD3)、硬件命令5(CMD5)由命令处理模块1进行处理,硬件命令1(CMD1)、硬件命令4(CMD4)由命令处理模块2进行处理,而检测命令0(CHK0)由命令执行检测模块0进行处理,检测命令1(CHK1)由命令执行检测模块1进行处理,检测命令2(CHK2)由命令执行检测模块2进行处理。
硬件命令处理链路包括多个命令处理模块和多个命令执行检测模块,其中,硬件命令处理链路上的若干个命令处理模块根据预设顺序一一处理对应的若干条硬件命令,例如,如图2所示:命令处理模块0处理命令序列中的硬件命令CMD0、CMD2,命令处理模块1处理命令序列中的硬件命令CMD3、CMD5,命令处理模块2处理命令序列中的硬件命令由CMD1、CMD4。
在本申请实施例中,当命令处理模块处理完命令序列中对应的硬件命令后,命令执行模块会将执行的命令信息发送给命令执行检测模块,发送的命令信息里包含该命令处理模块对应的检测命令。例如,如图2所示:命令信息里包含每个命令处理模块对应的检测命令CHK0、CHK1、CHK2,命令执行检测模块0处理命令序列中的检测命令CHK0,命令执行检测模块1处理命令序列中的检测命令CHK1,命令执行检测模块2处理命令序列中的检测命令CHK2。
需要说明的是,若干个命令处理模块处理对应的若干条硬件命令和检测命令是在初始化配置时已确定的。
步骤S33:若任意一个命令执行检测模块根据检测命令,确定命令执行检测模块对应的命令处理模块发生命令解析错误,则控制命令执行检测模块对应的命令处理模块停止工作。
当命令处理模块对应的后级模块中的命令执行检测模块接收到命令信息后,执行命令检测,具体的,命令信息中包含有当前命令处理模块接受到的命令,其中,当前命令处理模块接受到的命令包含检测命令,以及解析执行后的命令执行信息。
具体的,命令执行检测模块包含命令执行状态记录模块和判断模块。其中,命令执行状态记录模块用于获取命令处理模块产生的命令执行信息;其中,判断模块连接命令执行状态记录模块,用于接收检测命令,获取命令执行状态记录模块的命令执行信息,并根据命令执行信息与检测命令进行比对,得到命令解析结果。
其中,命令执行信息包括若干条硬件命令中的至少两条硬件命令的执行顺序、以及若干条硬件命令中的至少两条硬件命令的命令解析结果。
其中,检测命令包括检测类型以及与检测类型一一对应的检测判断信息。其中,检测类型包括执行顺序检测类型、命令解析检测类型,其中,执行顺序检测类型对应执行顺序信息,命令解析检测类型对应解析结果信息。
具体的,执行命令检测包括:判断至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息是否相同,和/或,硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息是否相同。
若至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息不同,和/或,硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息不同,则确定命令解析错误,控制命令执行检测模块对应的命令处理模块停止工作。
需要说明的是,命令处理模块处理完前一条硬件命令后,检测到当前命令是检测命令时不做处理,并将检测命令发送给后级模块。此时命令执行检测模块会接收到这条检测命令执行判断检测。如果出错停止该命令处理模块,此时,后级模块不会接受到后续的命令信息,以此避免了错误命令的传播。
在本申请实施例中,通过获取命令序列,命令序列包括若干条硬件命令和若干条检测命令,若干条硬件命令由多个命令处理模块按照预设顺序进行处理;在每一个命令处理模块执行命令序列中的若干条硬件命令之后,向命令执行检测模块发送检测命令;若任意一个命令执行检测模块根据检测命令,确定命令执行检测模块对应的命令处理模块发生命令解析错误,则控制命令执行检测模块对应的命令处理模块停止工作。本申请通过在各命令处理模块之间增加命令执行检测模块,在检测命令的配合下实现对硬件命令处理流程的检测,增加了命令检测需求的灵活度,以方便命令出错之后的调试。
请参阅图4,图4是本申请实施例提供的一种命令序列的处理的流程示意图;
如图4所示,命令序列的处理的流程,包括:
步骤S41:任意一个命令处理模块执行命令序列中的若干条硬件命令,并且,与命令处理模块对应的命令执行检测模块执行检测命令之后,将命令序列中的剩余的若干条硬件命令和/或若干条检测命令发送到硬件命令处理链路的下一个命令处理模块。
在本申请实施例中,通过命令执行检测模块检测到若任意一个命令处理模块执行命令序列中的若干条硬件命令中的至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息相同,并且,在该命令处理模块对应的硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息相同,则确定命令解析正确,将命令序列中的剩余的若干条硬件命令和/或若干条检测命令发送到该命令执行检测模块对应的后级模块,即下一个命令处理模块。
例如,命令序列包括硬件命令0、硬件命令1、硬件命令2、检测命令0、检测命令1、检测命令2。其中,若干条硬件命令由多个命令处理模块按照预设顺序进行处理。
硬件命令处理链路包括多个命令处理模块和多个命令执行检测模块,例如,如图2所示:多个命令处理模块包括命令处理模块0、命令处理模块1、命令处理模块2,多个命令执行检测模块包括命令执行检测模块0、命令执行检测模块1、命令执行检测模块2,其中,硬件命令处理链路上的若干个命令处理模块根据预设顺序一一处理对应的若干条硬件命令,命令处理模块0处理命令序列中的硬件命令0、2,命令处理模块1处理命令序列中的硬件命令3、5,命令处理模块2处理命令序列中的硬件命令1、4。
例如,如图2所示:命令序列包括硬件命令CMD0-CMD5以及检测命令CHK0-CHK2,排列顺序为CMD0、CMD1、CMD2、CHK0、CMD3、CMD4、CMD5、CMD1、CMD2。可以理解的是,命令处理模块之间是一个类似流水线的工作机制,例如,当命令序列下发到命令处理模块0之后,命令处理模块0用于处理命令序列中的硬件命令CMD0/CMD2,并且,将硬件命令CMD1/CMD3/CMD4/CMD5以及检测命令CHK0/CHK1/CHK2下发给命令执行检测模块0,当命令执行检测模块0接收到上述命令信息后,检测到该命令序列中的检测命令CHK0,执行命令检测,并根据检测命令,确定该命令执行检测模块0对应的命令处理模块0是否发生命令解析错误,若发生解析错误,则控制命令执行检测模块0对应的命令处理模块0停止工作,同时,在命令执行检测模块0执行该检测命令0的时候,将剩余的硬件命令CMD1/CMD3/CMD4/CMD5以及检测命令CHK1/CHK2发送到硬件命令处理链路的命令处理模块1,以此类推,以完成该命令序列的处理。
在本申请实施例中,当命令处理模块处理完前一个命令后,检测到当前命令是检测命令时不做处理,并将检测命令发送给后级模块的命令执行检测模块。此时命令执行检测模块会接收到这条检测命令执行判断检测。如果出错停止该命令处理模块,此时,后级模块不会接受到后续的命令信息,以此避免了错误命令的传播。
请参阅图5,图5是本申请实施例提供的一种硬件命令与检测命令的处理的流程示意图;
如图5所示,硬件命令与检测命令的处理的流程,包括:
步骤S51:每一个命令处理模块执行命令序列中的前一条硬件命令。
具体的,命令序列中包含若干条硬件命令和若干条检测命令,需要说明的是,命令序列中的若干条硬件命令和若干条检测命令是无序插入序列中的,因此,在每一个命令处理模块执行命令序列中的命令时,需要判断该命令的后一条命令类型,命令类型包括硬件命令和检测命令。
步骤S52:判断后一条命令是否为检测命令。
具体的,在每一个命令处理模块执行命令序列中的前一条硬件命令之后,判断后一条命令是否为检测命令。例如,如图2所示:硬件命令处理链路包括命令处理模块0和命令处理模块1,以及与两个命令处理模块一一对应的命令执行检测模块0和命令执行检测模块1,其中,命令处理模块0对应处理的硬件命令包括硬件命令CMD0/CMD2,命令执行检测模块0对应处理的检测命令包括CHK0;命令处理模块1对应处理的硬件命令包括硬件命令CMD3/CMD5,命令执行检测模块1对应处理的检测命令包括检测命令CHK1;命令处理模块2对应处理的硬件命令包括硬件命令CMD1/CMD4,命令执行检测模块2对应处理的检测命令包括检测命令CHK2。其中,检测命令CHK0、CHK1、CHK2无规律插入到命令序列中。需要说明的是,命令序列中至少包含两条硬件命令,至少一条硬件命令位于首条检测命令之前。
当命令处理模块0在处理命令序列时,命令处理模块0实时检测命令序列中的命令类型和命令信息,具体的,从起始位置开始一一判断命令序列中的命令类型为该命令处理模块0需要执行的硬件命令CMD0或者CMD2,还是和需要检测的检测命令CHK0。假设命令序列中的起始命令为硬件命令CMD0,当检测到硬件命令CMD0时,控制命令处理模块0执行命令序列中的硬件命令CMD0,并在命令处理模块0执行完硬件命令CMD0之后,判断后一条命令的命令类型,如图2所示,当检测到后一条硬件命令CMD1不为该命令处理模块0需要执行的硬件命令时,继续判断后一条命令的检测类型,直至检测到检测命令。
若后一条命令为检测命令,则进入步骤S53:向命令执行检测模块发送检测命令。
具体的,若检测到后一条命令为检测命令,则确定后一条检测命令的命令类型为检测命令,同时判断该检测命令是否为该命令处理模块对应的命令执行检测模块对应的检测命令,若是,则向命令处理模块对应的命令执行检测模块发送该检测命令。
若后一条命令不为检测命令,则进入步骤S54:确定后一条检测命令为硬件命令,命令处理模块继续执行该硬件命令。
具体的,若后一条命令不为检测命令,则确定后一条检测命令为硬件命令,同时判断该硬件命令是否为该命令处理模块对应的硬件命令,若是,则控制命令处理模块执行该硬件命令。
在本申请实施例中,通过在每一个命令处理模块执行命令序列中的前一条硬件命令后,判断后一条命令是否为检测命令。若后一条命令为检测命令,则向命令处理模块对应的命令执行检测模块发送检测命令;若后一条命令不为检测命令,则确定后一条检测命令为硬件命令,命令处理模块继续执行该硬件命令,能够使得检测命令不影响原有的硬件命令执行通路的情况下,便于命令执行状态的及时检测,以及方便出错之后调试提高了命令处理的检测效率。
请参阅图6,图6是本申请实施例提供的一种使能状态的处理的流程示意图;
如图6所示,该使能状态的处理的流程,包括:
步骤S61:配置每一命令执行检测模块的使能状态。
在初始化过程中配置每一命令执行检测模块的使能状态,其中,使能状态包括使能或不使能。具体的,在下发命令之前通过命令执行检测模块中的相关寄存器完整配置,主要配置命令执行检测模块是否使能,命令执行状态记录模块记录深度。
步骤S62:在任意一个命令处理模块执行命令序列中的若干条硬件命令之后,获取命令处理模块对应的命令执行检测模块的使能状态。
具体的,在任意一个命令处理模块执行命令序列中的若干条硬件命令之后,获取该命令处理模块对应的命令执行检测模块的使能状态。
步骤S63:判断命令处理模块对应的命令执行检测模块的使能状态是否为使能。
具体的,在向命令处理模块对应的命令执行检测模块发送检测命令前,还包括:判断该命令处理模块对应的命令执行检测模块的使能状态是否为使能。
若命令处理模块对应的命令执行检测模块的使能状态为使能,则进入步骤S64:向命令处理模块对应的命令执行检测模块发送检测命令。
具体的,在向命令处理模块对应的命令执行检测模块发送检测命令后,还包括:判断该命令处理模块对应的命令执行检测模块是否为使能状态,若命令处理模块对应的命令执行检测模块的使能状态为使能,则向命令处理模块对应的命令执行检测模块发送检测命令。
若命令处理模块对应的命令执行检测模块的使能状态为不使能,则进入步骤S65:将命令处理模块产生的命令执行信息发送到下一个命令处理模块。
具体的,在向命令处理模块对应的命令执行检测模块发送检测命令后,还包括:判断该命令处理模块对应的命令执行检测模块是否为使能状态,若命令处理模块对应的命令执行检测模块的使能状态为不使能,则将命令处理模块产生的命令执行信息发送到下一个命令处理模块。
可以理解的是,在不使能时,命令执行检测模块为透明,前一级的命令处理模块产生的命令信息直接发送给后一级命令处理模块;在使能时,命令执行检测模块执行命令检测功能,出错之后将停止前一级命令处理模块的工作。
本申请实施例中,通过配置每一命令执行检测模块的使能状态,并在任意一个命令处理模块执行命令序列中的若干条硬件命令之后,获取命令处理模块对应的命令执行检测模块的使能状态,通过判断命令处理模块对应的命令执行检测模块的使能状态,确定将检测命令下发至命令处理模块对应的命令执行检测模块中,能够使得检测命令不影响原有的硬件命令执行通路的情况下,便于命令执行状态的及时检测,以及方便出错之后调试提高了命令处理的检测效率。
请参阅图7a,图7a是本申请实施例提供的一种命令执行信息与检测命令进行比对的流程示意图;
其中,命令执行检测模块包括命令执行状态记录模块和判断模块,判断模块,连接命令执行状态记录模块。
如图7a所示,该命令执行信息与检测命令进行比对的流程,包括:
步骤S701:接收检测命令,获取命令执行状态记录模块的命令执行信息。
具体的,命令执行检测模块接收检测命令,当命令执行检测模块接收到检测命令后,命令执行检测模块中的命令执行状态记录模块获取命令处理模块产生的命令执行信息。
步骤S702:根据命令执行信息与检测命令进行比对。
具体的,命令执行检测模块接收检测命令,即命令执行检测模块中的判断模块接受检测命令,当命令执行检测模块中的判断模块接收到检测命令后,判断模块获取命令执行状态记录模块的命令执行信息,并根据命令执行信息与检测命令进行比对,得到比对结果。
其中,检测命令包括检测类型以及与检测类型一一对应的检测判断信息;
检测类型包括执行顺序检测类型、命令解析检测类型,其中,执行顺序检测类型对应执行顺序信息,命令解析检测类型对应解析结果信息;
命令执行信息包括至少两条硬件命令的执行顺序、硬件命令的命令解析结果。
步骤S703:判断至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息是否相同;
具体的,若至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息相同,则进入步骤S706;
若至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息不同,则进入步骤S704:确定比对结果为命令解析错误;
步骤S704:确定比对结果为命令解析错误。
具体的,若至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息不同,则确定比对结果为命令解析错误,此时,进入步骤S705。
步骤S705:生成模块停止信号。
具体的,判断模块生成模块停止信号,并将该模块停止信号发送给命令执行检测模块对应的命令处理模块,以控制命令执行检测模块对应的命令处理模块停止工作;并且,发生错误状态通知以等待异常处理。
其中,异常处理包括停止命令处理模块的工作,并获取信息进行调试(debug),其中,调试过程根据具体问题具体分析解决,例如:调试闪存设备的闪存控制器的命令解析功能。
步骤S706:确定比对结果为命令解析正确。
具体的,若至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息相同,则确定比对结果为命令解析正确。
请再参阅图7b,图7b是本申请实施例提供的另一种命令执行信息与检测命令进行比对的流程示意图;
如图7b所示,该命令执行信息与检测命令进行比对的流程,包括:
步骤S701:接收检测命令,获取命令执行状态记录模块的命令执行信息。
步骤S702:根据命令执行信息与检测命令进行比对。
步骤S708:判断硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息是否相同;
具体的,若硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息相同,则进入步骤S711:确定比对结果为命令解析正确;
若硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息不同,则进入步骤S709:确定比对结果为命令解析错误。
步骤S709:确定比对结果为命令解析错误。
具体的,若硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息不同,则确定比对结果为命令解析错误,此时,进入步骤S710:生成模块停止信号。
步骤S710:生成模块停止信号。
具体的,判断模块生成模块停止信号,并将该模块停止信号发送给命令执行检测模块对应的命令处理模块,以控制命令执行检测模块对应的命令处理模块停止工作;并且,发生错误状态通知以等待异常处理。
其中,异常处理包括停止命令处理模块的工作,并获取信息进行调试(debug),其中,调试过程根据具体问题具体分析解决,例如:调试闪存设备的闪存控制器的命令解析功能。
步骤S711:确定比对结果为命令解析正确。
具体的,若硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息相同,则确定比对结果为命令解析正确。
可以理解的是,若至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息相同,和,硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息相同,则确定比对结果为命令解析正确。
若至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息不同,和/或,硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息不同,则确定比对结果为命令解析错误。
具体的,若至少两条硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息不同,和/或,至少一条硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息不同,则确定比对结果为命令解析错误。
本申请实施例中,通过命令执行状态记录模块获取命令处理模块产生的命令执行信息,通过判断模块获取命令执行状态记录模块的命令执行信息,并判断硬件命令的执行顺序与执行顺序检测类型对应的执行顺序信息是否相同,和/或硬件命令的命令解析结果与命令解析检测类型对应的解析结果信息是否相同,若相同,则确定比对结果为命令解析正确,若不同,则确定比对结果为命令解析错误,此时,判断模块生成模块停止信号,以控制命令执行检测模块对应的命令处理模块停止工作,能够使得检测命令不影响原有的硬件命令执行通路的情况下,便于命令执行状态的及时检测,以及方便出错之后调试提高了命令处理的检测效率,且不影响原有正常命令的解析执行。
请参阅图8,图8是本申请实施例提供的一种应用于命令执行检测模块的命令处理方法的示意图;
如图8所示,该命令处理方法,用于命令执行检测模块,包括:
命令执行检测模块包含命令执行状态记录模块和判断模块。命令执行状态记录模块用于记录接收到的命令信息。判断模块在接收到检测命令后,根据检测类型从命令执行状态记录模块中获取信息,和检测命令中的检测判断条件进行比对,得到检测结果。在比对结果出错时产生模块停止信号,停止命令处理模块工作。
具体的,该命令信息包括被执行的命令类型,以及命令处理模块解析命令后的信息命令执行状态记录模块会记录若干条命令信息,通过若干条命令信息的记录顺序可以实现执行顺序检测。
具体的,该信息包括执行顺序检测时,获取多条命令信息,通过这些命令信息的记录顺序来判断命令执行顺序是否正确执行命令解析检测时,获取对应命令的信息,通过比对记录的命令信息判断命令解析是否正确。
具体的,比对指的是将命令执行状态记录模块中记录的执行顺序信息、命令解析信息分别与检测命令中预设的执行顺序信息、命令解析信息进行比对。
检测命令:为原有模块解析命令类型外新增命令类型,用于通知命令执行检测模块检测命令执行状态。该命令不被命令处理模块解析执行。检测命令包含检测类型和检测判断条件。
其中,检测类型用于表示不同的检测类型,包含执行顺序检测,用于检测多条命令执行顺序是否正确,以及命令解析检测,用于检测指定命令解析结果是否正确。
其中,检测判断条件为对应检测类型下的判断条件。执行顺序检测类型下,判断条件包含之前下发的命令的执行顺序信息;命令解析检测类型下,判断条件包含命令正确解析时应该产生的结果信息。
具体的,在工作过程中,命令执行检测模块实时记录命令处理模块解析执行的命令信息。在接收到检测命令后,判断命令执行是否存在错误,若出错则停止命令执行模块工作,发生错误状态通知等待异常处理;若没有出错则继续记录命令执行情况。
请参阅图9,图9是本申请实施例提供的一种命令处执行检测模块的结构示意图;
如图9所示,该命令处执行检测模块900,包括:
命令执行状态记录模块901和判断模块902,其中,命令执行状态记录模块901用于获取命令处理模块产生的命令执行信息;
判断模块902连接命令执行状态记录模块901,用于接收检测命令,获取命令执行状态记录模块901的命令执行信息,并根据命令执行信息与检测命令进行比对,得到比对结果,若比对结果为命令解析错误,则生成模块停止信号,以控制命令执行检测模块对应的命令处理模块停止工作。
请参阅图10,图10是本申请实施例提供的一种存储设备的结构示意图;
如图10所示,存储设备1000包括:至少一个处理器1001;以及,与至少一个处理器1001通信连接的存储介质1002,图10中以其以一个处理器1001为例。存储介质1002存储有可被至少一个处理器1001执行的指令,指令被至少一个处理器1001执行,以使至少一个处理器1001能够执行上述图3至图7的命令处理方法。处理器1001和存储介质1002可以通过总线或者其他方式连接,图10中以通过总线连接为例。
处理器1001可以为任何类型,具备一个或者多个处理核心的处理器。其可以执行单线程或者多线程的操作,用于解析指令以执行获取数据、执行逻辑运算功能以及下发运算处理结果等操作。
该处理器1001,用于获取命令序列,命令序列包括若干条硬件命令和若干条检测命令,若干条硬件命令由多个命令处理模块按照预设顺序进行处理;在每一个命令处理模块执行命令序列中的若干条硬件命令之后,向命令执行检测模块发送检测命令;若任意一个命令执行检测模块根据检测命令,确定命令执行检测模块对应的命令处理模块发生命令解析错误,则控制命令执行检测模块对应的命令处理模块停止工作,通过在各命令处理模块之间增加命令执行检测模块,在检测命令的配合下实现对硬件命令处理流程的检测,增加了命令检测需求的灵活度,以方便命令出错之后的调试,且不影响原有正常命令的解析执行。
存储介质1002作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本申请实施例中的命令处理方法对应的程序指令/模块。处理器1001通过运行存储在存储介质1002中的非暂态软件程序、指令以及模块,从而实现上述方法实施例中的命令处理方法。
存储介质1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据远程控制装置的使用所创建的数据等。此外,存储介质1002可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。
存储介质1002存储有可被至少一个处理器1001执行的指令;至少一个处理器1001用于执行指令,以实现上述任意方法实施例中的命令处理方法。
进一步地,本申请实施例还提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器1001执行,可使得上述一个或多个处理器1001执行上述任意方法实施例中的命令处理方法。
进一步地,本申请实施例还提供一种计算机程序产品,其中,计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,计算机程序可操作来使计算机执行上述任意方法实施例中的命令处理方法。该计算机程序产品可以为一个软件安装包。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序产品中的计算机程序来指令相关的硬件来完成,计算机程序可存储于一非暂态计算机可读取存储介质中,该计算机程序包括程序指令,当程序指令被相关设备执行时,可使相关设备执行上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
上述产品可执行本申请实施例所提供的命令处理方法,具备执行命令处理方法方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参阅本申请实施例所提供的命令处理方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种命令处理方法,其特征在于,应用于存储设备,所述存储设备包括:硬件命令处理链路,所述硬件命令处理链路包括多个命令处理模块和多个命令执行检测模块,所述方法包括:
获取命令序列,所述命令序列包括若干条硬件命令和若干条检测命令,若干条所述硬件命令由多个所述命令处理模块按照预设顺序进行处理;
在每一个所述命令处理模块执行所述命令序列中的若干条硬件命令之后,向命令执行检测模块发送检测命令;
若任意一个命令执行检测模块根据所述检测命令,确定所述命令执行检测模块对应的命令处理模块发生命令解析错误,则控制所述命令执行检测模块对应的命令处理模块停止工作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在任意一个所述命令处理模块执行所述命令序列中的若干条硬件命令,并且,所述命令执行检测模块执行所述检测命令之后,将所述命令序列中的剩余的若干条硬件命令和/或若干条检测命令发送到所述硬件命令处理链路的下一个命令处理模块。
3.根据权利要求1或2所述的方法,其特征在于,所述在每一个所述命令处理模块执行所述命令序列中的若干条硬件命令之后,向所述命令执行检测模块发送检测命令,包括:
在每一个命令处理模块执行所述命令序列中的前一条硬件命令之后,判断后一条命令是否为检测命令;
若所述后一条命令为检测命令,则向所述命令执行检测模块发送所述检测命令;
若所述后一条命令不为检测命令,则确定所述后一条检测命令为硬件命令,所述命令处理模块继续执行该硬件命令。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在任意一个所述命令处理模块执行所述命令序列中的若干条硬件命令之后,获取所述命令执行检测模块的使能状态;
若所述命令执行检测模块的使能状态为使能,则向所述命令执行检测模块发送检测命令,所述命令执行检测模块接收到检测命令之后,执行命令检测功能;
若所述命令执行检测模块的使能状态为不使能,则所述命令执行检测模块将所述命令处理模块产生的命令执行信息发送到下一个命令处理模块。
5.根据权利要求1或2所述的方法,其特征在于,所述命令执行检测模块,包括:
命令执行状态记录模块,用于获取所述命令处理模块产生的命令执行信息;
判断模块,连接所述命令执行状态记录模块,用于接收检测命令,获取所述命令执行状态记录模块的命令执行信息,并根据所述命令执行信息与所述检测命令进行比对,得到比对结果,若比对结果为命令解析错误,则生成模块停止信号,以控制所述命令执行检测模块对应的命令处理模块停止工作。
6.根据权利要求5所述的方法,其特征在于,
所述检测命令包括检测类型以及与所述检测类型一一对应的检测判断信息;
所述检测类型包括执行顺序检测类型、命令解析检测类型,其中,执行顺序检测类型对应执行顺序信息,命令解析检测类型对应解析结果信息;
所述命令执行信息包括至少两条所述硬件命令的执行顺序、硬件命令的命令解析结果,所述根据所述命令执行信息与所述检测命令进行比对,得到比对结果,包括:
若至少两条所述硬件命令的执行顺序与所述执行顺序检测类型对应的执行顺序信息相同,和,硬件命令的命令解析结果与所述命令解析检测类型对应的解析结果信息相同,则确定比对结果为命令解析正确;
若至少两条所述硬件命令的执行顺序与所述执行顺序检测类型对应的执行顺序信息不同,和/或,硬件命令的命令解析结果与所述命令解析检测类型对应的解析结果信息不同,则确定比对结果为命令解析错误。
7.根据权利要求1或2所述的方法,其特征在于,在获取命令序列之前,所述方法还包括:
配置每一所述命令执行检测模块的使能状态,其中,使能状态包括使能或不使能。
8.一种命令处理装置,其特征在于,包括:
多个命令处理模块,每一命令处理模块用于处理命令序列中的若干条硬件命令,得到命令执行信息,其中,所述命令序列包括若干条硬件命令和若干条检测命令;
多个命令执行检测模块,每一命令执行检测模块用于获取所述命令序列中的检测命令,并比对所述命令执行信息与所述检测命令,得到比对结果;
其中,多个命令处理模块和多个命令执行检测模块组成一个硬件命令处理链路。
9.根据权利要求8所述的装置,其特征在于,所述命令执行检测模块,包括:
命令执行状态记录模块,用于获取所述命令处理模块产生的命令执行信息;
判断模块,连接所述命令执行状态记录模块,用于接收检测命令,获取所述命令执行状态记录模块的命令执行信息,并根据所述命令执行信息与所述检测命令进行比对,得到比对结果,若比对结果为命令解析错误,则生成模块停止信号,以控制所述命令执行检测模块对应的命令处理模块停止工作。
10.一种存储设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储介质;其中,
所述存储介质存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7任一项所述的命令处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211686520.3A CN116166323A (zh) | 2022-12-27 | 2022-12-27 | 命令处理方法、装置及存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211686520.3A CN116166323A (zh) | 2022-12-27 | 2022-12-27 | 命令处理方法、装置及存储设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166323A true CN116166323A (zh) | 2023-05-26 |
Family
ID=86410451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211686520.3A Pending CN116166323A (zh) | 2022-12-27 | 2022-12-27 | 命令处理方法、装置及存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166323A (zh) |
-
2022
- 2022-12-27 CN CN202211686520.3A patent/CN116166323A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7340574B2 (en) | Method and apparatus for synchronizing an industrial controller with a redundant controller | |
US8250543B2 (en) | Software tracing | |
CN104281520B (zh) | 跟踪和调试的方法、装置及系统 | |
US3806878A (en) | Concurrent subsystem diagnostics and i/o controller | |
CN101084485A (zh) | 用于改善片上仿真系统中高级语言的仿真速度的装置和方法 | |
CN101027647B (zh) | 在计算机系统上执行计算机程序的方法 | |
CN110673936B (zh) | 编排业务的断点续作方法、装置、存储介质及电子设备 | |
CN103430158A (zh) | 使用执行单一步骤来诊断编码 | |
US7765434B2 (en) | Resource efficient software tracing for problem diagnosis | |
CN100334561C (zh) | 程序调试装置、程序调试方法 | |
US20080133975A1 (en) | Method for Running a Computer Program on a Computer System | |
US20200143061A1 (en) | Method and apparatus for tracking location of input data that causes binary vulnerability | |
CN109885489B (zh) | 驱动程序中数据竞争检测方法及装置 | |
KR101626967B1 (ko) | 해킹 방지를 위한 어플리케이션의 동작 방법 및 장치 | |
CN103019865B (zh) | 虚拟机监控方法和系统 | |
KR101252358B1 (ko) | Plc 명령어 테스트 장치 및 방법 | |
CN116166323A (zh) | 命令处理方法、装置及存储设备 | |
CN109783210B (zh) | 多任务处理方法、装置、计算机设备及存储介质 | |
CN115756935A (zh) | 嵌入式软件系统的异常故障定位方法、装置及设备 | |
US10255128B2 (en) | Root cause candidate determination in multiple process systems | |
CN114328090A (zh) | 一种程序监控方法、装置、电子设备及存储介质 | |
CN109445877B (zh) | 一种检测游戏服务器多线程使用同一虚拟机的方法 | |
CN113722212A (zh) | 一种cpld升级测试方法、装置、设备及介质 | |
CN113722166B (zh) | 带外数据访问优化方法、系统、装置及存储介质 | |
US11152076B2 (en) | Apparatus and method for executing debug instructions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |