CN115620799A - 基于固件仿真的故障现场回溯方法、设备及可读存储介质 - Google Patents
基于固件仿真的故障现场回溯方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN115620799A CN115620799A CN202211119321.4A CN202211119321A CN115620799A CN 115620799 A CN115620799 A CN 115620799A CN 202211119321 A CN202211119321 A CN 202211119321A CN 115620799 A CN115620799 A CN 115620799A
- Authority
- CN
- China
- Prior art keywords
- firmware
- backtracking
- data
- information
- nand
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56008—Error analysis, representation of errors
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及固件仿真技术领域,尤其涉及一种基于固件仿真的故障现场回溯方法、设备及可读存储介质,其中,所述方法包括:在接收到执行命令时,确定所述执行命令的执行时间是否位于预设回溯时间点,所述回溯时间点按照预设周期预先设置;在所述执行时间位于所述回溯时间点时,获取所述回溯时间点对应的闪存回溯位置、固件全局变量和上位机信息;根据所述闪存回溯位置、所述固件全局变量和所述上位机信息中的至少一个,确定所述固件的回溯信息,以在触发报错信号时根据所述回溯信息将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场。降低了固件仿真过程中的故障排查难度,解决了如何将固件的数据信息回溯至报错出现的时间点的问题。
Description
技术领域
本发明涉及固件仿真技术领域,尤其涉及一种基于固件仿真的故障现场回溯方法、设备及可读存储介质。
背景技术
固态硬盘(Solid State Disk,简称SSD),是用固态电子存储芯片阵列制成的硬盘,其凭借读写速度快的优势,广泛应用于各种电子领域。
在SSD检测的相关技术方案中,通常是通过固件仿真的方式来进行检测,即通过软件模拟固件环境来便捷高效的对固件进行分析和漏洞检查
然而,当SSD在运行过程中出现问题时,固件仿真的报错往往具有滞后性,即当SSD运行出现问题时,实际的报错时间点会在SSD运行出现问题的时间点之后,这种滞后性会导致工作人员在故障排查过程中无法直接将固件的数据信息回溯至报错出现的时间点之前,增加了故障排查恢复的难度。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于固件仿真的故障现场回溯方法,旨在解决如何将固件的数据信息回溯至报错出现的时间点之前的问题。
为实现上述目的,本发明提供的一种基于固件仿真的故障现场回溯方法,所述方法包括:
在接收到执行命令时,确定所述执行命令的执行时间是否位于预设回溯时间点,所述回溯时间点按照预设周期预先设置;
在所述执行时间位于所述回溯时间点时,获取所述回溯时间点对应的闪存回溯位置、固件全局变量和上位机信息;
根据所述闪存回溯位置、所述固件全局变量和所述上位机信息中的至少一个,确定所述固件的回溯信息,以在触发报错信号时根据所述回溯信息将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场。
可选地,所述闪存回溯位置、所述固件全局变量和所述上位机信息为所述固件仿真过程中出现故障时的因变量,所述回溯时间点对应的所述闪存回溯位置、所述固件全局变量和所述上位机信息为所述固件仿真过程中的正常变量。
可选地,所述回溯信息存储于随机存取存储器
可选地,所述根据所述闪存回溯位置、所述固件全局变量和所述上位机信息中的至少一个,确定所述固件的回溯信息的步骤之后,包括:
基于所述回溯信息执行Nand命令集的对应操作,并根据所述Nand命令集的对应操作将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场。
可选地,所述Nand命令集包括所述Nand写入命令,所述报错信号包括数据写入报错信号,所述基于所述回溯信息执行Nand命令集的对应操作,并根据所述Nand命令集的对应操作将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场的步骤包括:
根据所述回溯信息,确定所述固件在所述数据写入报错信号的所述触发时间前的历史写入数据;
根据所述Nand写入命令,将所述历史写入数据写入至所述固件,以使所述固件回溯至位于所述数据写入报错信号之前触发时间之前的所述故障发生现场。
可选地,所述Nand命令集包括所述Nand写入命令,所述报错信号包括数据写入报错信号,所述基于所述回溯信息执行Nand命令集的对应操作,并根据所述Nand命令集的对应操作将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场的步骤包括:
根据所述回溯信息,确定所述固件在所述数据写入报错信号的所述触发时间前的历史写入数据;
根据所述Nand写入命令,将所述历史写入数据写入至所述固件,以使所述固件回溯至位于所述数据写入报错信号之前触发时间之前的所述故障发生现场。
可选地,所述Nand命令集包括所述Nand擦除命令,所述报错信号包括数据擦除报错信号,所述基于所述回溯信息执行Nand命令集的对应操作,并根据所述Nand命令集的对应操作将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场的步骤包括:
根据所述回溯信息,确定所述固件在所述报错信号的触发时间前的历史擦除数据;
重载所述历史擦除数据;
根据所述Nand擦除命令,在所述固件中重新擦除所述历史擦除数据,以使所述固件回溯至位于所述数据擦除报错信号的触发时间之前的所述故障发生现场。
可选地,所述确定所述执行命令的执行时间是否位于预设回溯时间点的步骤之后,包括:
若所述执行时间不位于所述回溯时间点,接收下一时刻的执行命令,并返回执行所述确定所述执行命令的执行时间是否位于预设回溯时间点的步骤。
此外,为实现上述目的,本发明还提供一种固件仿真设备,所述固件仿真设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于固件仿真的故障现场回溯程序,所述基于固件仿真的故障现场回溯程序被所述处理器执行时实现如上所述的基于固件仿真的故障现场回溯方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于固件仿真的故障现场回溯程序,所述基于固件仿真的故障现场回溯程序被处理器执行时实现如上所述的基于固件仿真的故障现场回溯方法的步骤。
本发明实施例提供一种基于固件仿真的故障现场回溯方法、设备及可读存储介质,其中,所述方法包括:在接收到执行命令时,确定所述执行命令的执行时间是否位于预设回溯时间点,所述回溯时间点按照预设周期预先设置;在所述执行时间位于所述回溯时间点时,获取所述回溯时间点对应的闪存回溯位置、固件全局变量和上位机信息;根据所述闪存回溯位置、所述固件全局变量和所述上位机信息中的至少一个,确定所述固件的回溯信息,以在触发报错信号时根据所述回溯信息将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场。使得固件仿真检测过程中接收到报错信号时,能够回溯至位于报错信号的触发时间之前的故障发生现场,从而在固件仿真中快速排查固件中出现问题的地方,降低了固件仿真过程中的故障排查难度,解决了如何将固件的数据信息回溯至报错出现的时间点的问题。
附图说明
图1为本发明实施例涉及的固件仿真设备的硬件架构示意图;
图2为本发明基于固件仿真的故障现场回溯方法的第一实施例的流程示意图;
图3为本发明基于固件仿真的故障现场回溯方法的第二实施例中流程示意图;
图4为本发明基于固件仿真的故障现场回溯方法的第二实施例中步骤S40的细化流程示意图;
图5为本发明基于固件仿真的故障现场回溯方法的第二实施例中步骤S40的另一细化流程示意图;
图6为本发明基于固件仿真的故障现场回溯方法的第二实施例中步骤S40的另一细化流程示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
本申请通过在固件执行命令之前,预先设置回溯时间点。在执行命令过程中,当命令的执行时间与回溯时间点对应时,获取回溯时间点下的闪存回溯位置、固件全局变量和上位机信息,根据闪存回溯位置、固件全局变量和上位机信息中的至少一个生成固件的回溯信息,以在触发报错信号时根据所述回溯信息将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
作为一种实现方案,固件仿真设备的硬件架构可以如图1所示。
本发明实施例方案涉及的是固件仿真设备的硬件架构,所述固件仿真设备的硬件架构包括:处理器101,例如CPU,存储器102,通信总线103。其中,通信总线103用于实现这些组件之间的连接通信。
存储器102可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。如图1所示,作为一种计算机可读存储介质的存储器102中可以包括基于固件仿真的故障现场回溯程序;而处理器101可以用于调用存储器102中存储的基于固件仿真的故障现场回溯程序,并执行以下操作:
在接收到执行命令时,确定所述执行命令的执行时间是否位于预设回溯时间点,所述回溯时间点按照预设周期预先设置;
在所述执行时间位于所述回溯时间点时,获取所述回溯时间点对应的闪存回溯位置、固件全局变量和上位机信息;
根据所述闪存回溯位置、所述固件全局变量和所述上位机信息中的至少一个,确定所述固件的回溯信息,以在触发报错信号时根据所述回溯信息将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场。
在一实施例中,处理器101可以用于调用存储器102中存储的基于固件仿真的故障现场回溯程序,并执行以下操作:
基于所述回溯信息执行Nand命令集的对应操作,并根据所述Nand命令集的对应操作将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场。
在一实施例中,处理器101可以用于调用存储器102中存储的基于固件仿真的故障现场回溯程序,并执行以下操作:
根据所述回溯信息,确定所述固件在所述数据写入报错信号的所述触发时间前的历史写入数据;
根据所述Nand写入命令,将所述历史写入数据写入至所述固件,以使所述固件回溯至位于所述数据写入报错信号之前触发时间之前的所述故障发生现场。
在一实施例中,处理器101可以用于调用存储器102中存储的基于固件仿真的故障现场回溯程序,并执行以下操作:
根据所述回溯信息,确定所述固件在所述报错信号的触发时间前的历史读取数据;
根据所述Nand读取命令,在所述固件中重新读取所述历史读取数据,以使所述固件回溯至位于所述数据读取报错信号的触发时间之前的所述故障发生现场。
在一实施例中,处理器101可以用于调用存储器102中存储的基于固件仿真的故障现场回溯程序,并执行以下操作:
根据所述回溯信息,确定所述固件在所述报错信号的触发时间前的历史擦除数据;
重载所述历史擦除数据;
根据所述Nand擦除命令,在所述固件中重新擦除所述历史擦除数据,以使所述固件回溯至位于所述数据擦除报错信号的触发时间之前的所述故障发生现场。
在一实施例中,处理器101可以用于调用存储器102中存储的基于固件仿真的故障现场回溯程序,并执行以下操作:
若所述执行时间不位于所述回溯时间点,接收下一时刻的执行命令,并返回执行所述确定所述执行命令的执行时间是否位于预设回溯时间点的步骤。
基于上述基于固件仿真技术的固件仿真设备的硬件架构,提出本发明基于固件仿真的故障现场回溯方法的实施例。
参照图2,在第一实施例中,所述基于固件仿真的故障现场回溯方法包括以下步骤:
步骤S10,在接收到执行命令时,确定所述执行命令的执行时间是否位于预设回溯时间点,所述回溯时间点按照预设周期预先设置;
在本实施例中,在接收到执行命令时,确定执行命令的执行时间是否位于预设回溯时间点。执行命令可以由上位机发送,也可以由用户在故障检测过程中通过交互界面发送。固件仿真设备在处理执行命令时,每个执行命令都有其对应的执行时间,执行时间为设备处理执行命令的开始时间。在接收到执行命令时,设备检测该执行命令的执行时间,是否与本实施例中预设的回溯时间点的时间轴相对应。回溯时间点为设备执行固件仿真流程之前,按照固件的运行周期,预先设置在设备处理执行命令的过程中的时间轴上,即每间隔一段时间就设置一个回溯时间点,这段间隔时间与固件仿真的运行周期相关联。通过回溯时间点,可以读取到设备在该时间点是执行的历史操作数据。
需要说明的是,在一些传统技术方案中,会设置有可供查看历史操作数据的历史时间点,但与本实施例中的回溯时间点的不同之处在于,一般的历史时间点只能进行查看,而不能直接进行数据回溯。在另一些传统技术方案中,也会设本实施例有一些和本实施例功能类似的可回溯数据的时间节点,但与本方案中的回溯时间点的区别在于,本方案中回溯时间点的设置间隔较短,这是因为在传统技术方案中设置的可回溯时间节点,其所记录的回溯数据是较为庞大的(可能为几个G到几十个G),受限于设备的性能,可回溯时间节点之间的设置间隔不能太短(通常间隔为半小时及以上)。而本申请中的回溯时间点,在该时间节点上所对应记录的数据,其特征在于记录这些数据之间的变化量,而非数据本身,例如,在固件仿真运行时,当固件运行出错时,其固件中的一些全局变量,例如,ST(SystemTable,系统表)、BS(Boot Service,启动服务)等,其数据量通常较小(一般在几MB左右)。由于其数据量较小,因此即便设备的运行性能有限,也能够在较短的时间间隔设置回溯时间点(如一个仿真周期设置一次)。并且,设置较短周期的时间回溯点,能够在固件仿真运行出错时,运维人员更容易根据回溯时间点检测到固件在运行过程中的实际出错的时间点,而非相对滞后的报错信号对应的时间点,降低了故障排查恢复的难度。
步骤S20,在所述执行时间位于所述回溯时间点时,获取所述回溯时间点对应的闪存回溯位置、固件全局变量和上位机信息;
在本实施例中,当所述执行指令的执行时间位于所述回溯时间点时,设备获取在所述回溯时间点的闪存回溯位置、固件全局变量和上位机信息。
具体的,闪存回溯位置为设备在所述回溯时间点的对应时刻,记录下此时闪存中数据的运行状态,并设置一个标识,从而在需要回溯时,通过该标识将闪存的数据运行状态回溯到所述回溯时间点中对应的运行状态;固件全局变量为固件在执行指令时,其程序代码中会随着执行指令而发生改变的全局变量;上位机信息为发送所述执行指令的上位计算机在发送指令时记录的计算机的运行状态数据(一般为模拟量)。
需要说明的是,闪存回溯位置、固件全局变量和上位机信息,这些数据是在固件运行该过程中,当固件运行出现故障时,会由于错误数据而发生改变的因变量,并且,在回溯时间点对应的闪存回溯位置、固件全局变量和上位机信息,则是固件正常运行时的变量。并且,这三种数据都反映在固件仿真过程中闪存、固件和上位机三者之间数据的变化量,而非它们的数据本身,因此,获取并存储的回溯信息所占用的内存并不会太大(通常为几MB到几百MB之间)。
可选地,若执行时间不位于回溯时间点,则接收下一时刻的执行命令,并返回执行所述确定所述执行命令的执行时间是否位于预设回溯时间点的步骤,直至所述执行命令的执行时间位于预设回溯时间点。
步骤S30,根据所述闪存回溯位置、所述固件全局变量和所述上位机信息中的至少一个,确定所述固件的回溯信息,以在触发报错信号时根据所述回溯信息将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场。
在本实施例中,在获取到回溯时间点对应的闪存回溯位置、固件全局变量和上位机信息步骤之后,根据闪存回溯位置、固件全局变量和上位机信息中的至少一个,生成所述固件的回溯信息,由于固件运行中出错的原因较为复杂,在本实施例中将原因分类三个层级:上层、中层和底层。上层对应发送执行命令的上位机层,中层对应固件本身的运行参数;底层则是闪存中通用数据的存储和交换。
示例性地,当设备接收到的执行命令并处理时,可能在接收命令时错误解读了命令中的任务,导致在执行过程中出现报错,会出现设备反馈的上位机信息和上位机本身的信息不匹配的情况,因此,根据上位机信息,能够确定出,在接收执行命令时出现了错误。
示例性地,当设备在处理命令的过程中,若固件运行代码时出现了报错,则固件的全局变量,相较于正常运行时的变量会存在差异,因此,根据固件全局变量,能够确定出,出错环节是在固件处理命令的过程。
示例性地,当设备中的闪存在处理命令的过程中进行数据交换时,可能会在读取数据、写入数据以及擦除数据三种情况下出现错误,根据闪存回溯位置,能够确定出,出错环节是在设备处理命令的过程中,底层的数据交互过程出现了错误。
上述三种示例可以出现至少一种。
需要说明的是,虽然出错环节可能出现在上层、中层和底层三个不同的层级,但是在进行固件仿真的时候,整个流程都是在固件的运行过程中进行检测,因此在触发报警信号根据回溯信息进行回溯时,都是对固件进行回溯,而不是上位机或者闪存。
可选地,在一些实施方式中,回溯信息存储于随机存取存储器(Random AccessMemory,RAM)中,由于随机存取存储器具有随时读写、读写速度块等特性,因此将回溯信息存储于随机存取存储器中,能够在需要进行回溯时,使固件快速读取到回溯时间点对应的回溯信息。可选地,在一些实施方式中,所述随机存取存储器包括Nand Flash存储器。
在本实施例提供的技术方案中,通过在接收到执行命令时,确定所述执行命令的执行时间是否位于预设回溯时间点,所述回溯时间点按照预设周期预先设置,当所述执行时间位于所述回溯时间点时,获取所述回溯时间点对应的闪存回溯位置、固件全局变量和上位机信息,然后根据所述闪存回溯位置、所述固件全局变量和所述上位机信息中的至少一个,确定所述固件的回溯信息,以在触发报错信号时根据所述回溯信息将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场的方式,使得固件仿真检测过程中接收到报错信号时,能够回溯至位于报错信号的触发时间之前的故障发生现场,从而在固件仿真中快速排查固件中出现问题的地方,降低了固件仿真过程中的故障排查难度,解决了如何将固件的数据信息回溯至报错出现的时间点的问题。
参照图3,在第二实施例中,基于第一实施例,所述步骤S30之后,包括:
步骤S40,基于所述回溯信息执行Nand命令集的对应操作,并根据所述Nand命令集的对应操作将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场。
可选地,本实施例提供一种基于Nand Flash命令(简称为Nand命令),将固件回溯至故障发生前的方法。在本实施例中,回溯信息存储在Nand Flash存储器中,通过Nand命令集对固件进行回溯,Nand Flash存储器的内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储。
在本实施例中,Nand命令集包括Nand写入命令、Nand读取命令和Nand擦除命令。Nand写入命令用于向固件中写入数据,Nand读取命令用于读取数据,Nand擦除命令用于擦除数据。通过回溯信息确定出固件运行过程中的实际问题发生时间点,然后通过Nand命令,让固件重新执行该时间点对应的数据交互操作,从而使固件回溯至所述实际问题发生时间点之前的故障发生现场。
其中,参照图4,所述步骤S40包括:
步骤S41,根据所述回溯信息,确定所述固件在所述数据写入报错信号的所述触发时间前的历史写入数据;
步骤S42,根据所述Nand写入命令,将所述历史写入数据写入至所述固件,以使所述固件回溯至触发所述数据写入报错信号之前的所述故障发生现场。
可选地,在本实施例中,若固件在运行过程中触发了数据写入报错信号,意味着在某个时刻数据写入失败,因此,根据回溯信息确定出固件在数据写入报错信号的触发时间前的时间点,获取该时间点对应的写入数据,作为历史写入数据;将所述历史写入数据,通过Nand写入命令,重新将该历史写入数据写入至固件中,以使固件回溯至触发所述数据写入报错信号之前的所述故障发生现场。
其中,参照图5,所述步骤S40还包括:
步骤S43,根据所述回溯信息,确定所述固件在所述报错信号的触发时间前的历史读取数据;
步骤S44,根据所述Nand读取命令,在所述固件中重新读取所述历史读取数据,以使所述固件回溯至触发所述数据读取报错信号之前的所述故障发生现场。
可选地,在本实施例中,若固件在运行过程中触发了数据读取报错信号,则意味着在某个时刻数据读取失败,因此,根据回溯信息确定出固件在数据读取报错信号的所述触发时间前的时间点,获取该时间点对应的读取数据,作为历史读取数据,通过Nand读取命令,重新在固件中读取所述历史读取数据,以使固件回溯至触发所述数据读取报错信号之前的所述故障发生现场。
其中,参照图6,所述步骤S40还包括:
步骤S45,根据所述回溯信息,确定所述固件在所述报错信号的触发时间前的历史擦除数据;
步骤S46,重载所述历史擦除数据;
步骤S47,根据所述Nand擦除命令,在所述固件中重新擦除所述历史读取数据,以使所述固件回溯至触发所述数据擦除报错信号的触发时间之前的所述故障发生现场。
可选地,在本实施例中,若固件在运行过程中触发了数据擦除报错信号,则意味着在某个时刻数据擦除失败(可能未执行擦除命令,也可能仅擦除了部分数据),因此,根据回溯信息确定出固件在数据擦除报错信号的触发时间前的时间点,重载该时间点被执行擦除命令的历史数据,作为历史擦除数据,通过Nand擦除命令,重新在固件中擦除所述历史擦除数据,以使固件回溯至触发所述数据擦除报错信号之前的触发时间对应的的故障发生现场。
在本实施例提供的技术方案中,通过回溯信息确定出固件运行过程中的实际问题发生时间点,然后通过Nand命令,让固件重新执行该时间点对应的数据交互操作,从而使固件回溯至所述实际问题发生时间点之前的故障发生现场,降低了固件仿真过程中的故障排查难度,解决了如何将固件的数据信息回溯至报错出现的时间点的问题。
此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被固件仿真设备中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于固件仿真的故障现场回溯程序,所述基于固件仿真的故障现场回溯程序被处理器执行时实现如上实施例所述的基于固件仿真的故障现场回溯方法的各个步骤。
其中,所述计算机可读存储介质可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于固件仿真的故障现场回溯方法,其特征在于,所述基于固件仿真的故障现场回溯方法包括:
在接收到执行命令时,确定所述执行命令的执行时间是否位于预设回溯时间点,所述回溯时间点按照预设周期预先设置;
在所述执行时间位于所述回溯时间点时,获取所述回溯时间点对应的闪存回溯位置、固件全局变量和上位机信息;
根据所述闪存回溯位置、所述固件全局变量和所述上位机信息中的至少一个,确定所述固件的回溯信息,以在触发报错信号时根据所述回溯信息将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场。
2.如权利要求1所述的基于固件仿真的故障现场回溯方法,其特征在于,所述闪存回溯位置、所述固件全局变量和所述上位机信息为所述固件仿真过程中出现故障时的因变量,所述回溯时间点对应的所述闪存回溯位置、所述固件全局变量和所述上位机信息为所述固件仿真过程中的正常变量。
3.如权利要求1所述的基于固件仿真的故障现场回溯方法,其特征在于,所述回溯信息存储于随机存取存储器。
4.如权利要求1所述的基于固件仿真的故障现场回溯方法,其特征在于,所述根据所述闪存回溯位置、所述固件全局变量和所述上位机信息中的至少一个,确定所述固件的回溯信息的步骤之后,包括:
基于所述回溯信息执行Nand命令集的对应操作,并根据所述Nand命令集的对应操作将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场。
5.如权利要求4所述的基于固件仿真的故障现场回溯方法,其特征在于,所述Nand命令集包括所述Nand写入命令,所述报错信号包括数据写入报错信号,所述基于所述回溯信息执行Nand命令集的对应操作,并根据所述Nand命令集的对应操作将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场的步骤包括:
根据所述回溯信息,确定所述固件在所述数据写入报错信号的所述触发时间前的历史写入数据;
根据所述Nand写入命令,将所述历史写入数据写入至所述固件,以使所述固件回溯至位于所述数据写入报错信号之前触发时间之前的所述故障发生现场。
6.如权利要求4所述的基于固件仿真的故障现场回溯方法,其特征在于,所述Nand命令集包括所述Nand读取命令,所述报错信号包括数据读取报错信号,所述基于所述回溯信息执行Nand命令集的对应操作,并根据所述Nand命令集的对应操作将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场的步骤包括:
根据所述回溯信息,确定所述固件在所述报错信号的触发时间前的历史读取数据;
根据所述Nand读取命令,在所述固件中重新读取所述历史读取数据,以使所述固件回溯至位于所述数据读取报错信号的触发时间之前的所述故障发生现场。
7.如权利要求4所述的基于固件仿真的故障现场回溯方法,其特征在于,所述Nand命令集包括所述Nand擦除命令,所述报错信号包括数据擦除报错信号,所述基于所述回溯信息执行Nand命令集的对应操作,并根据所述Nand命令集的对应操作将所述固件回溯至位于所述报错信号的触发时间之前的故障发生现场的步骤包括:
根据所述回溯信息,确定所述固件在所述报错信号的触发时间前的历史擦除数据;
重载所述历史擦除数据;
根据所述Nand擦除命令,在所述固件中重新擦除所述历史擦除数据,以使所述固件回溯至位于所述数据擦除报错信号的触发时间之前的所述故障发生现场。
8.如权利要求1所述的基于固件仿真的故障现场回溯方法,其特征在于,所述确定所述执行命令的执行时间是否位于预设回溯时间点的步骤之后,包括:
若所述执行时间不位于所述回溯时间点,接收下一时刻的执行命令,并返回执行所述确定所述执行命令的执行时间是否位于预设回溯时间点的步骤。
9.一种固件仿真设备,其特征在于,所述固件仿真设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于固件仿真的故障现场回溯程序,所述基于固件仿真的故障现场回溯程序被所述处理器执行时实现如权利要求1至8中任一项所述的基于固件仿真的故障现场回溯方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于固件仿真的故障现场回溯程序,所述基于固件仿真的故障现场回溯程序被处理器执行时实现如权利要求1至8中任一项所述的基于固件仿真的故障现场回溯方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211119321.4A CN115620799A (zh) | 2022-09-14 | 2022-09-14 | 基于固件仿真的故障现场回溯方法、设备及可读存储介质 |
PCT/CN2023/093077 WO2024055611A1 (zh) | 2022-09-14 | 2023-05-09 | 基于固件仿真的故障现场回溯方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211119321.4A CN115620799A (zh) | 2022-09-14 | 2022-09-14 | 基于固件仿真的故障现场回溯方法、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115620799A true CN115620799A (zh) | 2023-01-17 |
Family
ID=84858707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211119321.4A Pending CN115620799A (zh) | 2022-09-14 | 2022-09-14 | 基于固件仿真的故障现场回溯方法、设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115620799A (zh) |
WO (1) | WO2024055611A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115781765A (zh) * | 2023-02-02 | 2023-03-14 | 科大讯飞股份有限公司 | 一种机器人的故障诊断方法、装置、存储介质及设备 |
WO2024055611A1 (zh) * | 2022-09-14 | 2024-03-21 | 得一微电子股份有限公司 | 基于固件仿真的故障现场回溯方法、设备及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008191796A (ja) * | 2007-02-02 | 2008-08-21 | Mitsubishi Electric Corp | 解析装置及び解析方法及びプログラム |
CN112015665B (zh) * | 2020-09-30 | 2023-04-11 | 北京百度网讯科技有限公司 | 测试验证的回溯方法、装置、电子设备及存储介质 |
CN114153788A (zh) * | 2021-12-08 | 2022-03-08 | 浙江中控技术股份有限公司 | 一种执行器的可追溯控制方法、执行器和控制系统 |
CN115620799A (zh) * | 2022-09-14 | 2023-01-17 | 得一微电子股份有限公司 | 基于固件仿真的故障现场回溯方法、设备及可读存储介质 |
-
2022
- 2022-09-14 CN CN202211119321.4A patent/CN115620799A/zh active Pending
-
2023
- 2023-05-09 WO PCT/CN2023/093077 patent/WO2024055611A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024055611A1 (zh) * | 2022-09-14 | 2024-03-21 | 得一微电子股份有限公司 | 基于固件仿真的故障现场回溯方法、设备及可读存储介质 |
CN115781765A (zh) * | 2023-02-02 | 2023-03-14 | 科大讯飞股份有限公司 | 一种机器人的故障诊断方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2024055611A1 (zh) | 2024-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115620799A (zh) | 基于固件仿真的故障现场回溯方法、设备及可读存储介质 | |
CN108646982B (zh) | 一种基于ubifs的数据自动修复方法及装置 | |
CN103700387B (zh) | 硬盘坏道监测修复装置及方法 | |
US8930761B2 (en) | Test case result processing | |
CN113778822B (zh) | 纠错能力测试方法、装置、可读存储介质及电子设备 | |
CN101599042A (zh) | 程序跑飞检测方法及其设备 | |
CN116880782A (zh) | 一种内嵌式存储器及其测试方法 | |
CN110659197B (zh) | 应用程序的测试用例生成方法、装置和软件测试系统 | |
CN112363909B (zh) | 一种继电保护装置中文件系统可靠性的自动测试方法 | |
CN114020432A (zh) | 任务异常处理方法、装置及任务异常处理系统 | |
CN114020527A (zh) | 快照恢复方法、装置、计算机设备及存储介质 | |
US7500145B2 (en) | Anomaly-driven software switch to capture event responses and automate recovery | |
CN114416140B (zh) | 一种基于ecu的升级方法及装置 | |
CN111367710A (zh) | 一种eMMC问题还原方法和装置 | |
CN108459952B (zh) | 程序异常的处理方法及系统 | |
CN106408790B (zh) | 金融设备循环机芯日志信息写入方法及读取方法 | |
CN110826114B (zh) | 基于ssd安全擦除后的用户数据测试方法和装置 | |
JP2008299360A (ja) | 履歴情報管理方法及び履歴情報管理システム | |
CN110781031B (zh) | 控制器数据恢复方法、装置、控制器及汽车 | |
CN113568834A (zh) | Sdk代码的兼容性检测方法、装置、计算机设备和介质 | |
CN112162699A (zh) | 一种数据读写方法、装置、设备及计算机可读存储介质 | |
JP2009003557A (ja) | 装置起動時診断方法、診断プログラム及び起動時診断装置 | |
CN117950904B (zh) | 一种应用刷写检测方法以及软件底层启动管理模块 | |
US8108740B2 (en) | Method for operating a memory device | |
CN113110794B (zh) | 一种用于NandFlash的数据存储方法与系统 |
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 |