CN112947841A - 一种读取嵌入式闪存数据的方法、装置、设备及存储介质 - Google Patents
一种读取嵌入式闪存数据的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112947841A CN112947841A CN201911176117.4A CN201911176117A CN112947841A CN 112947841 A CN112947841 A CN 112947841A CN 201911176117 A CN201911176117 A CN 201911176117A CN 112947841 A CN112947841 A CN 112947841A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- embedded flash
- reading
- data
- preset
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000002159 abnormal effect Effects 0.000 claims abstract description 62
- 230000005856 abnormality Effects 0.000 claims abstract description 21
- 238000001514 detection method Methods 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 5
- 230000001186 cumulative effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000002547 anomalous effect Effects 0.000 claims 2
- 230000001052 transient effect Effects 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种读取嵌入式闪存数据的方法、装置、设备及存储介质,用于对嵌入式闪存的瞬态异常进行有效的规避。所述方法包括:向嵌入式闪存发送读取指令;其中,所述读取指令用于请求读取所述嵌入式闪存中存储的数据或者指令;确定所述嵌入式闪存是否存在异常;若所述嵌入式闪存存在异常,则向所述嵌入式闪存重复发送所述读取指令,若多个周期不再产生瞬态异常信号且读取的嵌入式闪存数据一致,停止发送读取指令,恢复正常状态。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种读取嵌入式闪存数据的方法、装置、设备及存储介质。
背景技术
目前微控制器产品普遍使用嵌入式闪存作为内置的非易失性存储器。在微控制器中,闪存保存着程序的代码,程序直接在闪存中运行,当电源电压出现异常时嵌入式闪存的工作电压也会出现异常情况,导致读取的指令不正确,程序突然跳到任意位置运行,程序逻辑出现错乱的情况,从而产生死机、异常等状态。
为了防止由于嵌入式闪存的工作电压出现异常导致读取的指令不正确,现有技术中通常设计有上电复位电路(Power On Reset,POR)/低压检测电路(Low VoltageDirective,LVD),对异常电压进行检测,但是POR/LVD电路通常采用滤波的方法将电压异常出现的毛刺进行过滤,POR/LVD电路对电压异常检测的时间较长,以致于不能对闪存的瞬态异常进行有效的规避。
发明内容
本申请实施例提供一种读取嵌入式闪存数据的方法、装置、设备及存储介质,用于对嵌入式闪存的瞬态异常进行有效的规避。
第一方面,提供一种读取嵌入式闪存数据的方法,所述方法包括:
向嵌入式闪存发送读取指令;
确定所述嵌入式闪存是否存在异常;
若所述嵌入式闪存存在异常,则向所述嵌入式闪存重复发送所述读取指令。
可选的,确定所述嵌入式闪存是否存在异常,包括:
按照预定检测频率检测所述嵌入式闪存的工作电压是否在预设工作电压范围内,其中,所述预定检测频率大于所述嵌入式闪存的工作频率;
若所述工作电压未在所述预设工作电压范围内,则确定所述嵌入式闪存存在异常。
可选的,确定所述嵌入式闪存是否存在异常,包括:
获得所述嵌入式闪存基于所述读取指令发送的第一数据;
从预设数据存储区域中获得第二数据;
若所述第二数据不是预设数据,则确定所述嵌入式闪存存在异常,并丢弃所述第一数据。
可选的,在向所述嵌入式闪存重复发送所述读取指令后,包括:
确定是否满足停止发送触发条件;
若满足所述停止发送触发条件,则停止向所述嵌入式闪存发送所述读取指令。
可选的,确定是否满足停止发送触发条件,包括:
确定接收的预定数量的数据读取结果是否均相同,其中,一个数据读取结果包括所述嵌入式闪存根据接收到的一次所述读取指令的读取地址发送的数据;
若所述预定数量的数据读取结果均相同,则确定满足所述停止发送触发条件,并将一个数据读取结果确定为与所述读取指令对应的读取结果。
可选的,在确定接收的预定数量的数据读取结果是否相同之后,所述方法还包括:
若所述预定数量的数据读取结果存在不同,则继续向所述嵌入式闪存发送所述读取指令,并在发送所述读取指令的累计次数达到预定次数时,输出异常中断指示。
可选的,所述方法还包括:
在所述嵌入式闪存在预设时长的工作电压位于预设工作电压范围内,且所述工作电压在所述预设时长内的变化幅度大于预设值,输出异常告警指示;
根据所述异常告警指示,暂停处理器的运行;或者,
根据所述异常告警指示,控制所述嵌入式闪存停止执行所述读取指令。
第二方面,提供一种读取嵌入式闪存数据的装置,所述装置包括:
发送模块,用于向嵌入式闪存发送读取指令;
确定模块,用于确定所述嵌入式闪存是否存在异常;
所述发送模块,还用于若所述嵌入式闪存存在异常,则向所述嵌入式闪存重复发送所述读取指令。
可选的,所述确定模块,用于:
按照预定检测频率检测所述嵌入式闪存的工作电压是否在预设工作电压范围内,其中,所述预定检测频率大于所述嵌入式闪存的工作频率;
若所述工作电压未在所述预设工作电压范围内,则确定所述嵌入式闪存存在异常。
可选的,所述确定模块,用于:
获得所述嵌入式闪存基于所述读取指令发送的第一数据;
从预设数据存储区域中获得第二数据;
若所述第二数据不是预设数据,则确定所述嵌入式闪存存在异常,并丢弃所述第一数据。
可选的,所述装置还包括第二确定模块,用于:
确定是否满足停止发送触发条件;
若满足所述停止发送触发条件,则停止向所述嵌入式闪存发送所述读取指令。
可选的,所述第二确定模块,用于:
确定接收的预定数量的数据读取结果是否均相同,其中,一个数据读取结果包括所述嵌入式闪存根据接收到的一次所述读取指令的读取地址发送的数据;
若所述预定数量的数据读取结果均相同,则确定满足所述停止发送触发条件,并将一个数据读取结果确定为与所述读取指令对应的读取结果。
可选的,所述第二确定模块,还用于:
若所述预定数量的数据读取结果存在不同,则继续向所述嵌入式闪存发送所述读取指令,并在发送所述读取指令的累计次数达到预定次数时,输出异常中断指示。
可选的,所述装置还包括告警模块,用于:
在所述嵌入式闪存在预设时长的工作电压位于预设工作电压范围内,且所述工作电压在所述预设时长内的变化幅度大于预设值,输出异常告警指示;
根据所述异常告警指示,暂停处理器的运行;或者,
根据所述异常告警指示,控制所述嵌入式闪存停止执行所述读取指令。
第三方面,提供一种读取嵌入式闪存数据的设备,所述读取嵌入式闪存数据的设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面中任一所述的方法包括的步骤。
第四方面,提供一种存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面中任一所述的方法包括的步骤。
第五方面,提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的读取嵌入式闪存数据的方法。
在本申请实施例中,在向嵌入式闪存发送读取闪存中存储的数据的命令(例如称作读取指令)时,可以判断嵌入式闪存是否存在异常,当确定嵌入式闪存存在异常时,则向嵌入式闪存重复发送读取指令,重复读取该命令对应的数据,通过重复读取的方式,能够提升读取指令的准确性以及提升嵌入式闪存在恶劣环境运行的可靠性,并且由于采用重新读取的方式,因此,可以减少指令读取过程中出现指令中断的情况。也就是说,本申请实施例提供了一种有效规避嵌入式闪存的瞬态异常的技术方案。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例提供的读取嵌入式闪存数据的设备的结构示意图;
图2为本申请实施例提供的读取嵌入式闪存数据的方法流程图;
图3a为本申请实施例提供的读取嵌入式闪存数据的装置的结构框图;
图3b为本申请实施例提供的读取嵌入式闪存数据的装置的另一结构框图;
图4为本申请实施例提供的读取嵌入式闪存数据的设备的另一结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
为了便于理解,下面先对本发明实施例的技术背景进行介绍。
如前文所述的,目前,一般芯片在进行电快速瞬变测试时,电源的瞬态变化会造成嵌入式闪存的供电电压出现瞬态波动,这种瞬态波动将会导致嵌入式闪存在读取指令时出现瞬态异常,使处理器得到一个错误的数据读取指令,程序突然跳到任意位置运行,程序逻辑出现错乱的情况,从而产生死机、异常等状态,这时除了看门狗复位(即超时重启),程序不能自动恢复到正常工作状态,以致于电快速瞬变测试失败。
为了能够提升读取指令的准确性以及提升嵌入式闪存在恶劣环境运行的可靠性,例如在电快速瞬变测试中,为了能够能顺利通过电快速瞬变测试,程序在电源有瞬态干扰时也能一直正常工作,不能复位,不能死机,本申请实施例提供了一种读取嵌入式闪存数据的方案,该方案通过对在嵌入式闪存中读取的数据进行实时检测,当出现异常时立刻向读取嵌入式闪存数据的设备发送异常信号,读取嵌入式闪存数据的设备收到异常信号之后重新向嵌入式闪存发送出现异常时的数据读取指令,因此,处理器不会得到嵌入式闪存异常时读取的指令,从而有效规避嵌入式闪存的瞬态异常。
在介绍完本申请实施例的设计思想后,下面对本申请实施例中的读取嵌入式闪存数据的设备的结构做一些简单的介绍。
请参见图1所示,图1为本申请实施例提供的读取嵌入式闪存数据的设备的结构示意图,在该结构示意图中,该读取嵌入式闪存数据的设备主要包括处理器101和嵌入式闪存102,处理器101和嵌入式闪存102通过通信总线完成相互间的通信,处理器101可以是一个中央处理器(central processing unit,CPU),或者是特定集成电路(applicationspecific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。在处理器101中安装有软件程序,不同的软件程序可以视作一个处理模块,具有不同的功能。在本申请实施例中,处理器用于实现对从嵌入式闪存中读取的指令运行程序,嵌入式闪存102用于存储数据。
在具体的实施过程中,处理器运行程序之前,处理器需要读取程序的指令,就向读取嵌入式闪存数据的设备发送一个命令,然后读取嵌入式闪存数据的设备触发嵌入式闪存去读取处理器需要的指令,然后读取嵌入式闪存数据的设备再把读取到的指令发送给处理器,处理器运行该指令对应的程序。
下面结合说明书附图介绍本申请实施例提供的技术方案。
请参见图2所示,图2为本申请实施例提供的一种读取嵌入式闪存数据的方法。图2所述方法的流程图描述如下:
步骤201:向嵌入式闪存发送读取指令。
在本申请实施例中,闪存控制器向嵌入式闪存发送读取嵌入式闪存中存储指令,该指令例如可以是嵌入式闪存中存储的数据或者程序。
步骤202:确定嵌入式闪存是否存在异常。
在本申请实施例中,在闪存控制器向嵌入式闪存发送了读取指令之后,判断嵌入式闪存中是否存在异常情况。
在一种可能的实施方式中,按照预定检测频率检测嵌入式闪存的工作电压是否在预设工作电压范围内,为了提升检测的可靠性,检测嵌入式闪存的工作电压的预定检测频率大于嵌入式闪存的工作频率,若检测的嵌入式闪存的工作电压未在预设工作电压范围内,则确定该嵌入式闪存存在异常。
在具体的实施过程中,预设工作电压范围是嵌入式闪存能够正常工作的电压范围,在该范围内,嵌入式闪存能够读取正确的指令,当通过预定检测频率检测出的结果中出现了检测电压高于嵌入式闪存的正常工作电压范围或者检测电压低于嵌入式闪存的工作电压范围,则确定嵌入式闪存在执行该读取指令时电压出现了瞬态异常的情况,当通过预定检测频率检测出的结果中嵌入式闪存的工作电压在正常工作电压范围内,则确定嵌入式闪存在执行该读取指令时电压没出现瞬态异常的情况。在进行嵌入式闪存工作电压检测时,若检测频率和嵌入式闪存的工作频率相同,则当异常出现在读取嵌入式闪存数据的时钟周期中断时,没能捕捉到异常,导致不能有效避免瞬态异常,因此,为了提升检测的可靠性,将异常检测频率设置成大于嵌入式闪存的工作频率,这样,在嵌入式闪存的一个工作周期内,可以进行多次检测,防止出现漏检(即电压存在异常,但是没能捕捉到)的情况。
在另一种可能的实施方式中,获得嵌入式闪存基于读取指令发送的第一数据,从预设数据存储区域中获得第二数据,若第二数据不是预设数据,则确定嵌入式闪存存在异常,并丢弃读取到的第一数据。
在具体的实施过程中,增加嵌入式闪存工作的时钟周期,减慢在嵌入式闪存中读取指令的速度,通过双时钟周期读取方式,前一个时钟周期用于读取嵌入式闪存中的数据,后一个时钟周期用于读取固定地址的固定数据,如果后一个周期读取的数据跟预设数据相同,则说明该嵌入式闪存的工作电压为未现异常情况,如果后一个周期读取的数据跟预设数据不同,则说明该嵌入式闪存的工作电压出现了瞬态异常,这样,通过标准数据与预设数据进行比对的方式,在确定第二数据出现异常时可以推断出第一数据也可能出现异常,达到实时发现异常情况的目的。
在一种可能的实施方式中,在嵌入式闪存在预设时长的工作电压位于预设工作电压范围内,且工作电压在预设时长内的变化幅度大于预设值,则输出异常告警指示,根据异常告警指示,暂停处理器的运行,或者,根据异常告警指示,控制该嵌入式闪存停止执行该读取指令。
在具体的实施过程中,嵌入式闪存的工作电压处于正常工作电压范围内,此时,如果在一定的时长内,嵌入式闪存的工作电压的变化幅度超过了预设值,即出现了突变增加或者突变减小,且有持续变化的趋势时,则向读取嵌入式闪存数据的设备发出异常告警指示,嵌入式闪存可以根据该告警指示控制处理器暂停运行程序或者控制嵌入式闪存停止执行读取指令,这样,可以使得嵌入式闪存还在正常工作电压范围内时,根据电压的变化趋势在电压可能出现瞬态异常之前就终止处理器运行程序或者终止嵌入式闪存读取指令,避免在嵌入式闪存的工作电压出现异常时读取到错误的指令,使得出现死机或者需要超时重启的情况,从而提升读取嵌入式闪存数据的设备在恶劣环境运行的可靠性。
在另一种可能的实施方式中,根据嵌入式闪存的正常工作电压范围设置一个阈值范围,当在一定的时长内检测到的电压超出了该阈值范围,而且有持续变化的趋势,则向读取嵌入式闪存数据的设备发出异常告警指示,该设备接收到该异常警告指示时,采取跟前述实施方式相同的处理方式,再次不再赘述。
步骤203:若嵌入式闪存存在异常,则向嵌入式闪存重复发送读取指令。
在本申请实施例中,如前所述,根据电压异常检测的结果判断嵌入式闪存的工作电压是否在预设电压工作范围内,当嵌入式闪存的工作电压在预设工作电压范围内时,则确定嵌入式闪存不存在异常,当嵌入式闪存的工作电压不在预设工作电压范围内时,则确定嵌入式闪存存在异常;或者根据读取的数据与标准数据进行比对,如果通过比对得到的数据是相同的,则确定嵌入式闪存不存在异常,如果通过比对得到的数据不相同,则确定嵌入式闪存存在异常。
当确定嵌入式闪存存在异常时,则闪存控制器向嵌入式闪存重复发送读取指令,避免将读取到的错误指令发送给处理器,使得处理器执行错误的指令导致出现死机或者需要超时重启的情况。
在一种可能的实施方式中,向嵌入式闪存重复发送读取指令,可以按照预定间隔时长向嵌入式闪存依次发送预定次数的读取指令。
在具体的实施过程中,可以选择每隔一定时长依次发送预定次数,例如可以是每隔一个时钟周期发送一次,这样,可以在保证读取指令准确性的前提下减少指令读取的次数。
在另一种可能的实施方式中,在向嵌入式闪存重复发送读取指令后,确定是否满足停止发送触发条件,若满足停止发送触发条件,则停止向嵌入式闪存发送读取指令。
在具体的实施过程中,在向嵌入式闪存重复发送指令后,需要判断什么时候瞬态异常已经结束,嵌入式闪存能够读取到正确的指令,能够读取到正确指令时,则停止继续向该嵌入式闪存继续发送出现异常时的指令,即满足停止发送出现异常时的指令的触发条件,这样,能够实时掌握瞬态异常的结束时间,提高指令读取效率。
在一种可能的实施方式中,可以通过确定接收的预定数量的数据读取结果是否相同来判断是否满足停止发送的触发条件,其中,一个数据读取结果包括嵌入式闪存根据接收到的一次读取指令的读取地址发送的数据,若预定数量的数据读取结果均相同,则确定满足停止发送触发条件,并将一个数据读取结果确定为与该读取指令对应的读取结果。也就是说,可以通过判断预定时钟周期内的数据读取结果是否相同,例如,判断连续三个周期内的数据读取结果是否相同,如果连续三个周期内读取到的数据是相同的,则说明嵌入式闪存恢复到正常的工作电压了,可以停止继续发送该条读取指令,并将其中一个周期内数据读取的结果作为该条指令最终的数据读取结果,这样,通过判断连续几个周期内的数据是否相同,可以提升判断的准确性。
在一种可能的实施方式中,当预定数量的数据读取结果存在不同时,则继续向嵌入式闪存发送读取指令,并在发送读取指令的累计次数达到预定次数时,则输出异常中断指示。例如是,连续三个周期内的数据读取结果出现不相同的情况(不相同可以是其中两个数据相同,也可以是三个数据都不相同),则继续向嵌入式闪存发送出现异常时的数据读取指令,如果继续发送的次数持续数十次,说明该异常情况可能持续的时间较长,则输出异常中断指示,读取嵌入式闪存数据的设备可以根据该异常中断指示控制处理器自身中断,停止运行程序,或者可以根据该异常中断指示控制嵌入式闪存中断读取嵌入式闪存数据,这样,及时的中断可以节约资源,以及可以避免当异常持续的时间较长时还一直读取错误指令。
在本申请实施例中,嵌入式闪存在出现瞬态异常时,读取嵌入式闪存数据的设备可以动态的控制发送给嵌入式闪存的指令,当没有采集到异常信号的发送新的指令,采集到异常信号时重新发送出现异常时发送的的指令,或者是异常持续时间较长时停止发送指令,中断程序运行,通过这种方式可以使得嵌入式闪存在工作中,能够提升处理器读取指令的准确性,提高嵌入式闪存在恶劣运行环境的可靠性,保证指令读取的连续性,从而有效规避嵌入式闪存工作时的瞬态异常。
基于同一发明构思,本申请实施例提供了一种读取嵌入式闪存数据的装置,该读取嵌入式闪存数据的装置能够实现前述的读取嵌入式闪存数据的方法对应的功能。该读取嵌入式闪存数据的装置可以由芯片***实现,芯片***可以由芯片构成,也可以包含芯片和其他分立器件。请参见图3a所示,该读取嵌入式闪存数据的装置包括发送模块301和确定模块302。其中:
发送模块301,用于向嵌入式闪存发送读取指令;
确定模块302,用于确定嵌入式闪存是否存在异常;
发送模块301,还用于若嵌入式闪存存在异常,则向嵌入式闪存重复发送读取指令。
在一种可能的实施方式中,确定模块302,用于:
按照预定检测频率检测嵌入式闪存的工作电压是否在预设工作电压范围内,其中,预定检测频率大于嵌入式闪存的工作频率;
若工作电压未在预设工作电压范围内,则确定嵌入式闪存存在异常。
在一种可能的实施方式中,确定模块302,用于:
获得所述嵌入式闪存基于所述读取指令发送的第一数据;
从预设数据存储区域中获得第二数据;
若所述第二数据不是预设数据,则确定所述嵌入式闪存存在异常,并丢弃所述第一数据。
在一种可能的实施方式中,请参见图3b所示,在本申请实施例中的读取嵌入式闪存数据的装置还包括第二确定模块303,用于:
在发送模块301重复发送读取指令之后,确定是否满足停止发送触发条件;
若满足停止发送触发条件,则停止向嵌入式闪存发送读取指令。
在一种可能的实施方式中,第二确定模块303,用于:
确定接收的预定数量的数据读取结果是否均相同,其中,一个数据读取结果包括嵌入式闪存根据接收到的一次读取指令的读取地址发送的数据;
若预定数量的数据读取结果均相同,则确定满足停止发送触发条件,并将一个数据读取结果确定为与读取指令对应的读取结果。
在一种可能的实施方式中,第二确定模块303,还用于:
若预定数量的数据读取结果存在不同,则继续向嵌入式闪存发送读取指令,并在发送读取指令的累计次数达到预定次数时,输出异常中断指示。
在一种可能的实施方式中,请参见图3b所示,在本申请实施例中的读取嵌入式闪存数据的装置还包括告警模块304,用于:
在嵌入式闪存在预设时长的工作电压位于预设工作电压范围内,且所述工作电压在所述预设时长内的变化幅度大于预设值,输出异常告警指示;
根据异常告警指示,暂停处理器的运行;或者,
根据异常告警指示,控制嵌入式闪存停止执行读取指令。
前述的读取嵌入式闪存数据的方法的实施例涉及的各步骤的所有相关内容均可援引到本申请施例中的读取嵌入式闪存数据的装置所对应的功能模块的功能描述,在此不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
基于同一发明构思,本申请实施例提供一种读取嵌入式闪存数据的设备。请参见图4所示,该读取嵌入式闪存数据的设备包括至少一个处理器401,以及与至少一个处理器连接的存储器402,本申请实施例中不限定处理器401与存储器402之间的具体连接介质,图4中是以处理器401和存储器402之间通过总线400连接为例,总线400在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线400可以分为地址总线、数据总线、控制总线等,为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,存储器402存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器402存储的指令,可以执行前述的读取嵌入式闪存数据的方法中所包括的步骤。
其中,处理器401是读取嵌入式闪存数据的设备的控制中心,可以利用各种接口和线路连接整个读取嵌入式闪存数据的设备的各个部分,通过运行或执行存储在存储器402内的指令以及调用存储在存储器402内的数据,读取嵌入式闪存数据的设备的各种功能和处理数据,从而对读取嵌入式闪存数据的设备进行整体监控。可选的,处理器401可包括一个或多个处理单元,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。在一些实施例中,处理器401和存储器402可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器401可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的检测衣物数量的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器402可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器402是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器402还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器401进行设计编程,可以将前述实施例中介绍的读取嵌入式闪存数据的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的读取嵌入式闪存数据的方法的步骤,如何对处理器401进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的读取嵌入式闪存数据的方法的步骤。
在一些可能的实施方式中,本申请提供的读取嵌入式闪存数据的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在读取嵌入式闪存数据的设备上运行时,程序代码用于使该检测设备执行本说明书上述描述的根据本申请各种示例性实施方式的读取嵌入式闪存数据的方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种读取嵌入式闪存数据的方法,其特征在于,所述方法包括:
向嵌入式闪存发送读取指令;
确定所述嵌入式闪存是否存在异常;
若所述嵌入式闪存存在异常,则向所述嵌入式闪存重复发送所述读取指令。
2.如权利要求1所述的方法,其特征在于,确定所述嵌入式闪存是否存在异常,包括:
按照预定检测频率检测所述嵌入式闪存的工作电压是否在预设工作电压范围内,其中,所述预定检测频率大于所述嵌入式闪存的工作频率;
若所述工作电压未在所述预设工作电压范围内,则确定所述嵌入式闪存存在异常。
3.如权利要求1所述的方法,其特征在于,确定所述嵌入式闪存是否存在异常,包括:
获得所述嵌入式闪存基于所述读取指令发送的第一数据;
从预设数据存储区域中获得第二数据;
若所述第二数据不是预设数据,则确定所述嵌入式闪存存在异常,并丢弃所述第一数据。
4.如权利要求1所述的方法,其特征在于,在向所述嵌入式闪存重复发送所述读取指令后,包括:
确定是否满足停止发送触发条件;
若满足所述停止发送触发条件,则停止向所述嵌入式闪存发送所述读取指令。
5.如权利要求4所述的方法,其特征在于,确定是否满足停止发送触发条件,包括:
确定接收的预定数量的数据读取结果是否均相同,其中,一个数据读取结果包括所述嵌入式闪存根据接收到的一次所述读取指令的读取地址发送的数据;
若所述预定数量的数据读取结果均相同,则确定满足所述停止发送触发条件,并将一个数据读取结果确定为与所述读取指令对应的读取结果。
6.如权利要求5所述的方法,其特征在于,确定接收的预定数量的数据读取结果是否相同,还包括:
若所述预定数量的数据读取结果存在不同,则继续向所述嵌入式闪存发送所述读取指令,并在发送所述读取指令的累计次数达到预定次数时,输出异常中断指示。
7.如权利要求1-3任一所述的方法,其特征在于,所述方法还包括:
在所述嵌入式闪存在预设时长的工作电压位于预设工作电压范围内,且所述工作电压在所述预设时长内的变化幅度大于预设值,输出异常告警指示;
根据所述异常告警指示,暂停处理器的运行;或者,
根据所述异常告警指示,控制所述嵌入式闪存停止执行所述读取指令。
8.一种读取嵌入式闪存数据的装置,其特征在于,所述装置包括:
发送模块,用于向嵌入式闪存发送读取指令;
确定模块,用于确定所述嵌入式闪存是否存在异常;
所述发送模块,还用于若所述嵌入式闪存存在异常,则向所述嵌入式闪存重复发送所述读取指令。
9.一种读取嵌入式闪存数据的设备,其特征在于,所述读取嵌入式闪存数据的设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-7任一所述的方法包括的步骤。
10.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-7任一所述的方法包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911176117.4A CN112947841A (zh) | 2019-11-26 | 2019-11-26 | 一种读取嵌入式闪存数据的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911176117.4A CN112947841A (zh) | 2019-11-26 | 2019-11-26 | 一种读取嵌入式闪存数据的方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112947841A true CN112947841A (zh) | 2021-06-11 |
Family
ID=76225021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911176117.4A Pending CN112947841A (zh) | 2019-11-26 | 2019-11-26 | 一种读取嵌入式闪存数据的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112947841A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760376A (zh) * | 2021-09-06 | 2021-12-07 | 合肥松豪电子科技有限公司 | TP芯片CPU在Eflash上同时运行且操作的方法 |
CN114780026A (zh) * | 2022-03-31 | 2022-07-22 | 深圳市有方科技股份有限公司 | 一种信息存储方法、装置及计算机存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654848B1 (en) * | 2000-09-15 | 2003-11-25 | Advanced Micro Devices, Inc. | Simultaneous execution command modes in a flash memory device |
US20110066899A1 (en) * | 2009-09-17 | 2011-03-17 | Samsung Electronics Co., Ltd. | Nonvolatile memory system and related method of performing erase refresh operation |
US20140047269A1 (en) * | 2012-08-07 | 2014-02-13 | Samsung Electronics Co., Ltd. | Operating method for memory system including nonvolatile ram and nand flash memory |
CN104391755A (zh) * | 2014-10-21 | 2015-03-04 | 北京星网锐捷网络技术有限公司 | 嵌入式多媒体卡eMMC芯片异常的处理方法和装置 |
CN104714777A (zh) * | 2013-12-11 | 2015-06-17 | 上海华虹集成电路有限责任公司 | 微控制器取指令方法及其实现电路 |
CN105448333A (zh) * | 2014-08-29 | 2016-03-30 | 北京兆易创新科技股份有限公司 | 一种快闪存储器及其处理方法 |
US20160118129A1 (en) * | 2014-10-24 | 2016-04-28 | Micron Technology, Inc. | Read voltage adjustment |
US20160306593A1 (en) * | 2015-04-14 | 2016-10-20 | Freescale Semiconductor, Inc. | Method for reading data from nonvolatile memory |
CN108932964A (zh) * | 2017-05-23 | 2018-12-04 | 三星电子株式会社 | 存储设备和操作存储设备的方法 |
CN109062511A (zh) * | 2018-07-26 | 2018-12-21 | 浪潮电子信息产业股份有限公司 | 一种数据读取的方法以及相关装置 |
CN109979512A (zh) * | 2019-04-28 | 2019-07-05 | 浙江万松电气有限公司 | 在由线性电源供电的嵌入式***中实现掉电Flash保存的电路及方法 |
CN110197690A (zh) * | 2018-02-26 | 2019-09-03 | 三星电子株式会社 | 非易失性存储器器件及其操作方法 |
-
2019
- 2019-11-26 CN CN201911176117.4A patent/CN112947841A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654848B1 (en) * | 2000-09-15 | 2003-11-25 | Advanced Micro Devices, Inc. | Simultaneous execution command modes in a flash memory device |
US20110066899A1 (en) * | 2009-09-17 | 2011-03-17 | Samsung Electronics Co., Ltd. | Nonvolatile memory system and related method of performing erase refresh operation |
US20140047269A1 (en) * | 2012-08-07 | 2014-02-13 | Samsung Electronics Co., Ltd. | Operating method for memory system including nonvolatile ram and nand flash memory |
CN104714777A (zh) * | 2013-12-11 | 2015-06-17 | 上海华虹集成电路有限责任公司 | 微控制器取指令方法及其实现电路 |
CN105448333A (zh) * | 2014-08-29 | 2016-03-30 | 北京兆易创新科技股份有限公司 | 一种快闪存储器及其处理方法 |
CN104391755A (zh) * | 2014-10-21 | 2015-03-04 | 北京星网锐捷网络技术有限公司 | 嵌入式多媒体卡eMMC芯片异常的处理方法和装置 |
US20160118129A1 (en) * | 2014-10-24 | 2016-04-28 | Micron Technology, Inc. | Read voltage adjustment |
US20160306593A1 (en) * | 2015-04-14 | 2016-10-20 | Freescale Semiconductor, Inc. | Method for reading data from nonvolatile memory |
CN108932964A (zh) * | 2017-05-23 | 2018-12-04 | 三星电子株式会社 | 存储设备和操作存储设备的方法 |
CN110197690A (zh) * | 2018-02-26 | 2019-09-03 | 三星电子株式会社 | 非易失性存储器器件及其操作方法 |
CN109062511A (zh) * | 2018-07-26 | 2018-12-21 | 浪潮电子信息产业股份有限公司 | 一种数据读取的方法以及相关装置 |
CN109979512A (zh) * | 2019-04-28 | 2019-07-05 | 浙江万松电气有限公司 | 在由线性电源供电的嵌入式***中实现掉电Flash保存的电路及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760376A (zh) * | 2021-09-06 | 2021-12-07 | 合肥松豪电子科技有限公司 | TP芯片CPU在Eflash上同时运行且操作的方法 |
CN113760376B (zh) * | 2021-09-06 | 2024-05-28 | 合肥松豪电子科技有限公司 | TP芯片CPU在Eflash上同时运行且操作的方法 |
CN114780026A (zh) * | 2022-03-31 | 2022-07-22 | 深圳市有方科技股份有限公司 | 一种信息存储方法、装置及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109976935B (zh) | 微服务架构、微服务节点及其熔断恢复方法、装置 | |
US4405982A (en) | Arrangement for monitoring the function of a programmable electronic switching circuit | |
US20110072299A1 (en) | Leak monitoring system and associated methods | |
CN102761439B (zh) | Pon接入***中基于看门狗的异常检测记录装置及方法 | |
CN103268277A (zh) | 一种输出日志信息的方法及*** | |
WO2011091743A1 (en) | Apparatus and method for recording reboot reason of equipment | |
CN112947841A (zh) | 一种读取嵌入式闪存数据的方法、装置、设备及存储介质 | |
CN117032903B (zh) | 一种仿真调试方法、装置、存储介质及电子设备 | |
CN103530197A (zh) | 一种检测及解决Linux***死锁的方法 | |
CN109960599B (zh) | 芯片***及其看门狗自检方法、电器设备 | |
US8943303B2 (en) | Monitoring circuit with a window watchdog | |
US9575535B2 (en) | Integrated circuit and operation method thereof | |
CN112084054A (zh) | 一种看门狗电路及喂狗方法、设备 | |
CN109254898B (zh) | 一种软件模块执行顺序监视方法及监视*** | |
CN107179911B (zh) | 一种重启管理引擎的方法和设备 | |
CN107273291B (zh) | 一种处理器调试方法及*** | |
CN100557576C (zh) | 操作***故障检测的方法和装置 | |
CN114003498A (zh) | 软件异常检测方法、装置和电子设备 | |
JP2006227962A (ja) | アプリケーションタスク監視システムおよび方法 | |
CN113220495A (zh) | 一种进程异常事件处理方法、装置、电子设备及存储介质 | |
CN116431377B (zh) | 一种看门狗电路 | |
JP4571462B2 (ja) | マイクロコンピュータ | |
CN115312115B (zh) | 闪存芯片挂起功能的验证方法、装置、设备及介质 | |
US20170060666A1 (en) | Controller capable of detecting factor at time of abnormality of pc function | |
CN104252538A (zh) | 网页处理方法和装置 |
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 |