减少掉电后读错误几率的方法、装置、存储介质和终端

文档序号:9855 发布日期:2021-09-17 浏览:43次 英文

减少掉电后读错误几率的方法、装置、存储介质和终端

技术领域

本发明涉及FLASH

技术领域

,尤其涉及的是一种减少掉电后读错误几率的方法、装置、存储介质和终端。

背景技术

现有的NOR FLASH在掉电后,电路内部判断电压是否达到低压阈值,若达到则启动掉电保护模块,并发送中断至算法状态机,算法状态机对响应中断,将电压泵放电后退出算法。而这样操作的缺点是:

在NOR FLASH在擦除阵列A(Array A)内的扇区A(sector A)过程中发生慢掉电,若此时内部算法流程正在处于擦除的步骤(如图1所示),还没有到修复“过擦除”单元的步骤就暂停(即分支2),那么在电压恢复后读同一个阵列A(Array A)内的另一个扇区B(sectorB)的数据时可能会出错,读出的数据是一个随机值(取决于扇区A中“过擦除”单元的数量和分布,因为“过擦除”单元的阈值电压一般为负值,在读取扇区B的数据时,若扇区A中存在“过擦除”单元,0v不能使“过擦除”单元关闭,“过擦除”单元会产生电流,导致读数据出错,如图2所示)。

因此,现有的技术还有待于改进和发展。

发明内容

本发明的目的在于提供一种减少掉电后读错误几率的方法、装置、存储介质和终端,旨在解决现有技术中的一个或多个问题。

本发明的技术方案如下:本技术方案提供一种减少掉电后读错误几率的方法,具体包括以下步骤:

接收擦除指令信息;

根据所述擦除指令信息对芯片内的存储单元执行擦除操作;

判断芯片是否出现异常掉电,

否,则不改变芯片当前的操作状态;

是,则启动断电中断保护,

根据所述断电中断保护结束芯片的擦除操作,并根据所述擦除指令信息对芯片内的存储单元执行过擦除修复。

进一步地,所述判断芯片是否出现异常掉电,具体过程如下:判断施加到所述芯片内的存储单元的电压是否下降到预设阈值。

进一步地,所述异常掉电包括快掉电和慢掉电。

进一步地,当异常掉电为慢掉电,所述根据所述断电中断保护结束芯片的擦除操作,并根据所述擦除指令信息对芯片内的存储单元执行过擦除修复之后还包括以下过程:

S7:判断芯片内需要执行过擦除修复的存储单元是否都已经都执行过擦除修复,是则跳转至S8,否则跳转至S9;

S8:使施加到所述芯片内的存储单元的电压下降为0,并退出过擦除修复流程;

S9:根据所述擦除指令信息对芯片内的存储单元执行过擦除修复并跳转至S7。

进一步地,所述擦除指令信息包括擦除指令和芯片内需要进行擦除操作的储存单元的地址。

本技术方案还提供一种减少掉电后读错误几率的装置,包括:

接收模块,接收擦除指令信息;

擦除模块,根据所述擦除指令信息对芯片内的存储单元执行擦除操作;

判断模块,判断芯片是否出现异常掉电,

状态保持模块,不改变芯片当前的操作状态;

中断启动模块,启动断电中断保护,

过擦除修复模块,根据所述断电中断保护结束芯片的擦除操作,并根据所述擦除指令信息对芯片内的存储单元执行过擦除修复。

进一步地,所述判断模块采用电压检测模块实现。

进一步地,所述擦除模块和过擦除修复模块通过芯片内部的算法模块实现。

本技术方案还提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述任一项所述的方法。

本技术方案还提供一种终端,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行上述任一项所述的方法。

通过上述可知,在芯片执行擦除操作期间,若发生异常掉电时,芯片内部自动启动断电中断保护,结束芯片的擦除操作,并根据所述擦除指令信息对芯片内的存储单元执行过擦除修复;若出现快掉电,此时可能已经对部分需要执行过擦除修复的存储单元执行完过擦除修复,但不能对芯片内需要执行过擦除修复的全部存储单元都执行完过擦除修复,这时在重新上电时,虽然还是会有过擦除导致读数据出错的问题,但因为有部分存储单元已经执了过擦除修复,所以因过擦除导致读数据出错的几率会有所下降;若出现慢掉电,这时可以对芯片内需要执行过擦除修复的全部存储单元都执行完过擦除修复,在重新上电时,即可避免因过擦除造成的读数据错误的问题。

附图说明

图1是现有技术中擦除算法流程示意图。

图2是现有技术中区块的结构示意图。

图3是本发明中减少掉电后读错误几率的方法的步骤流程图。

图4是本发明中减少掉电后读错误几率的装置的示意图。

图5是本发明中终端的示意图。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

如图3所示,一种减少掉电后读错误几率的方法,适用于NOR FLASH芯片,具体包括以下步骤:

S1:接收擦除指令信息。

其中,所述擦除指令信息包括擦除指令和芯片内需要进行擦除操作的储存单元的地址。

S2:根据所述擦除指令信息对芯片内的存储单元执行擦除操作。

S3:判断施加到所述芯片内的存储单元的电压是否下降到预设阈值,是,则跳转至S5,否则跳转至S4。

其中,在芯片执行擦除操作期间(此时内部算法流程正在处于擦除的步骤,还没有到修复“过擦除”单元的步骤),芯片内部实时检测施加到所述芯片内的存储单元的擦除电压是否下降到预设阈值,是则默认出现异常掉电,否则没有出现异常掉电。

S4:不改变芯片当前的操作状态。

其中,不改变芯片当前的操作状态,是指继续根据所述擦除指令信息对芯片内的存储单元按正常流程执行擦除操作。

S5:启动断电中断保护。

在发生异常掉电时,芯片内部自动启动断电中断保护,结束芯片的擦除操作,并根据所述擦除指令信息对芯片内的存储单元执行过擦除修复。

S6:根据所述断电中断保护结束芯片的擦除操作,并根据所述擦除指令信息对芯片内的存储单元执行过擦除修复。

其中,所述S6的具体操作过程如下:当接收到用户发送的擦除芯片内的某一扇区的指令时,内部算法模块执行擦除步骤,此时若出现异常掉电,掉电保护模块向芯片内部算法模块发送掉电保护中断,NOR Flash马上响应中断,结束擦除并且进入过擦除修复阶段。

因为执行过擦除修复时施加到芯片内的存储单元的电压要比执行擦除操作时施加到芯片内的存储单元的电压低,所以在出现异常掉电时,虽然不能继续执行擦除操作,但可以执行过擦除修复。

在发生异常掉电时,有可能会出现快掉电(掉电的速度快,即施加到芯片内的存储单元的电压从预设阈值下降到芯片执行过擦除修复时需要施加到存储单元的电压的过程持续的时间短,不能支撑芯片执行完整个过擦除修复过程),此时可能已经对部分需要执行过擦除修复的存储单元执行完过擦除修复(根据掉电的快慢而定),但不能对芯片内需要执行过擦除修复的全部存储单元都执行完过擦除修复,这时在重新上电时,虽然还是会有过擦除导致读数据出错的问题,但因为有部分存储单元已经执了过擦除修复,所以因过擦除导致读数据出错的几率会有所下降;而在发生异常掉电时,有可能会出现慢掉电(掉电的速度较缓慢,即施加到芯片内的存储单元的电压从预设阈值下降到芯片执行过擦除修复时需要施加到存储单元的电压的过程持续的时间较足够长(大概几个ms即可),可以支撑芯片执行完整个过擦除修复过程),这时可以对芯片内需要执行过擦除修复的全部存储单元都执行完过擦除修复,在重新上电时,即可避免因过擦除造成的读数据错误的问题。

在出现慢掉电时,为了降低功耗,在S6之后还包括以下步骤:

S7:判断芯片内需要执行过擦除修复的存储单元是否都已经都执行过擦除修复,是则跳转至S8,否则跳转至S9;

S8:使施加到所述芯片内的存储单元的电压下降为0,并退出过擦除修复流程;

S9:根据所述擦除指令信息对芯片内的存储单元执行过擦除修复并跳转至S7。

其中,在芯片执行擦除操作期间,实时检测施加到所述芯片内的存储单元的擦除电压是否下降到预设阈值,比如施加到所述芯片内的存储单元的擦除电压要求是1.8v,当检测到施加到所述芯片内的存储单元的电压是否下降到1.5v时,即默认出现异常掉电情况,芯片内部自动启动断电中断保护,结束芯片的擦除操作,并根据所述擦除指令信息对芯片内的存储单元执行过擦除修复;而芯片执行过擦除修复时需要施加到存储单元的电压为1.2v,若从1.5v下降到1.2v的过程持续的时间很短(不足几个ms),则出现快掉电,此时可能已经对部分需要执行过擦除修复的存储单元执行完过擦除修复,但不能对芯片内需要执行过擦除修复的全部存储单元都执行完过擦除修复;若从1.5v下降到1.2v的过程持续的时间很相对缓慢(可以持续几个ms),则出现慢掉电,此时可以对芯片内需要执行过擦除修复的全部存储单元都执行完过擦除修复,当对芯片内需要执行过擦除修复的全部存储单元都执行完过擦除修复后,控制电压泵放电到0v,退出算法。

本技术方案相对于在芯片重新上电后,在数据读取前先执行过擦除修复的方案来说(虽然这种方案也可以解决掉电后因过擦除导致的读数据出错的问题),具有操作时间更短,效率更高的优点,因为在芯片重新上电后,在数据读取前先执行过擦除修复这种情况下,因前面擦除操作断电了,所以重新上电后系统不知道芯片内哪些存储单元执行过擦除操作,不能快速地找到芯片内的过擦除单元(需要对芯片内所有的存储单元进行判断,看是否为过擦除单元),找到过擦除单元后才能执行过擦除修复,所以会耗时更长;而本技术方案中,在响应中断擦除的同时执行过擦除修复,虽然擦除操作中断了,但是芯片内部知道哪些存储单元执行了擦除操作,所以能快速找到过擦除单元(不需要芯片内全部的存储单元进行判断,只需对执行擦除的存储单元进行判断即可),所以耗时会更短,效率更高。

如图4所示,一种减少掉电后读错误几率的装置,包括:

接收模块101,接收擦除指令信息;

擦除模块102,根据所述擦除指令信息对芯片内的存储单元执行擦除操作;

判断模块103,判断芯片是否出现异常掉电,

状态保持模块104,不改变芯片当前的操作状态;

中断启动模块105,启动断电中断保护,

过擦除修复模块106,根据所述断电中断保护结束芯片的擦除操作,并根据所述擦除指令信息对芯片内的存储单元执行过擦除修复。

在某些具体实施例中,所述判断模块103采用电压检测模块实现。

在某些具体实施例中,所述擦除模块102和过擦除修复模块106通过芯片内部的算法模块实现。

其中,当接收到用户发送的擦除芯片内的某一扇区的指令时,内部算法模块执行擦除步骤,此时若出现异常掉电,掉电保护模块向芯片内部算法模块发送掉电保护中断,NOR Flash马上响应中断,结束擦除并且进入过擦除修复阶段;若掉电为慢掉电时,结束过擦除修复后对电压泵放电到0V(即使施加到所述芯片内的存储单元的电压下降为0),退出过擦除修复算法流程;待NOR FLASH电源重新恢复时,由于过擦除单元的已被修复,不会影响选中的单元的数据读取的正确性。

请参照图5,本发明实施例还提供一种终端。如示,终端300包括处理器301和存储器302。其中,处理器301与存储器302电性连接。处理器301是终端300的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或调用存储在存储器302内的计算机程序,以及调用存储在存储器302内的数据,执行终端的各种功能和处理数据,从而对终端300进行整体监控。

在本实施例中,终端300中的处理器301会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器302中,并由处理器301来运行存储在存储器302中的计算机程序,从而实现各种功能:接收擦除指令信息;根据所述擦除指令信息对芯片内的存储单元执行擦除操作;判断芯片是否出现异常掉电,否,则不改变芯片当前的操作状态;是,则启动断电中断保护,根据所述断电中断保护结束芯片的擦除操作,并根据所述擦除指令信息对芯片内的存储单元执行过擦除修复。

存储器302可用于存储计算机程序和数据。存储器302存储的计算机程序中包含有可在处理器中执行的指令。计算机程序可以组成各种功能模块。处理器301通过调用存储在存储器302的计算机程序,从而执行各种功能应用以及数据处理。

本申请实施例提供一种存储介质,所述计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的方法,以实现以下功能:接收擦除指令信息;根据所述擦除指令信息对芯片内的存储单元执行擦除操作;判断芯片是否出现异常掉电,否,则不改变芯片当前的操作状态;是,则启动断电中断保护,根据所述断电中断保护结束芯片的擦除操作,并根据所述擦除指令信息对芯片内的存储单元执行过擦除修复。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:数据存储装置及其操作方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!