闪存器的擦除方法及闪存器与流程

文档序号:16687905发布日期:2019-01-22 18:30阅读:311来源:国知局
闪存器的擦除方法及闪存器与流程
本发明涉及半导体
技术领域
,尤其涉及一种闪存器的擦除方法及闪存器。
背景技术
:在nand闪存中,p(program)/e(erase)cycle,称为擦除周期(次数),是判断nand闪存寿命的关键参数。随着p/ecycle的增加,浮栅与沟道之间的氧化层被磨损的越来越严重,导致浮栅中电子的控制越来越艰难,最终结果就是,nand的寿命走到了尽头,所以,减少p/ecycle,是延长nand寿命的主要方式。相关技术中,对nand执行擦除操作,往往需要多次调整擦除电压,产生多个擦除脉冲才能擦除成功,擦除效率低。技术实现要素:为解决现有存在的技术问题,本发明实施例提供一种闪存器的擦除方法及闪存器,能够有效的减少无效的擦除脉冲的数量,提高擦除效率。本发明实施例的技术方案是这样实现的:本发明实施例提供了一种闪存器,包括:多个块,每个所述块由多个存储单元组成,所述存储单元为所述闪存器的最小数据存储单位;控制器,用于从外部主控制器接收携带擦除参数的写入指令,将所述擦除参数写入寄存器;并且用于从所述外部主控制器接收针对目标块的擦除指令,从所述寄存器获取所述目标块的所述擦除参数;基于所述目标块的所述擦除参数,确定对应于所述目标块的擦除电压;以及基于所确定的所述擦除电压,对所述目标块执行擦除操作;以及所述寄存器,用于存储所述擦除参数。上述方案中,所述擦除参数为擦除次数,所述寄存器用于存储所述目标块的擦除次数,以及擦除次数与擦除电压的映射关系;相应的,所述控制器还用于基于所述目标块的擦除次数,在所述映射关系中查找对应的擦除电压,并将其作为所述目标块的擦除电压。上述方案中,所述擦除参数为擦除次数,所述寄存器用于存储所述目标块的擦除次数;所述控制器还用于确定擦除次数与擦除电压的对应关系;基于所述目标块的擦除次数及所述对应关系,确定所述目标块的擦除电压。上述方案中,所述擦除参数为擦除脉冲数,所述寄存器用于存储所述目标块对应的擦除脉冲数;相应的,所述控制器还用于根据所述目标块所对应的擦除脉冲数,计算得到所述目标块的擦除电压。上述方案中,所述控制器,还用于接收携带擦除脉冲数的写入指令,将所述目标块对应的擦除脉冲数写入所述寄存器;其中,所述擦除脉冲数为基于所述目标块的擦除次数、以及参考块的擦除次数与擦除脉冲数的映射关系表所得到。上述方案中,所述控制器,还用于确定所述目标块的初始擦除电压及用于调整擦除电压的步长;根据所述初始擦除电压、所确定的所述步长及所述擦除脉冲数,计算得到所述目标块的擦除电压。上述方案中,所述擦除参数为擦除脉冲数,所述寄存器用于存储所述目标块的擦除次数、以及参考块的擦除次数与擦除脉冲数的映射关系表;相应的,所述控制器还用于根据所述目标块的擦除次数、以及参考块的擦除次数与擦除脉冲数的映射关系表,确定所述目标块对应的擦除脉冲数;以及,根据所述目标块所对应的擦除脉冲数,计算得到所述目标块的擦除电压。上述方案中,所述控制器,还用于将所述目标块的擦除次数与所述映射关系表中各个参考块的擦除次数进行比较,以确定与所述目标块的擦除次数最接近的参考块;在所述映射关系表中查找所述最接近的参考块的擦除脉冲数,将其作为所述目标块的擦除脉冲数。上述方案中,所述擦除参数为擦除时间,所述寄存器用于存储所述目标块对应的擦除时间;相应的,所述控制器还用于根据所述目标块所对应的擦除时间,计算得到所述目标块的擦除电压。本发明实施例还提供一种闪存器的擦除方法,包括:响应于从外部主控制器接收到的携带擦除参数的写入指令,将所述擦除参数写入寄存器;响应于从所述外部主控制器接收到的接收针对目标块的擦除指令,从所述寄存器获取所述目标块的所述擦除参数;基于所述目标块的所述擦除参数,确定对应于所述目标块的擦除电压;基于所确定的所述擦除电压,对所述目标块执行擦除操作。上述方案中,所述擦除参数为擦除次数,所述基于所述目标块的擦除参数,确定对应所述目标块的擦除电压,包括:获取所述目标块的擦除次数,以及擦除次数与擦除电压的映射关系;基于所述目标块的擦除次数,在所述映射关系中查找对应的擦除电压,并将其作为所述目标块的擦除电压。上述方案中,所述擦除参数为擦除脉冲数,所述基于所述目标块的擦除参数,确定对应所述目标块的擦除电压,包括:获取所述目标块对应的擦除脉冲数;根据所述目标块所对应的擦除脉冲数,计算得到所述目标块的擦除电压。上述方案中,所述擦除参数为擦除脉冲数,所述基于所述目标块的擦除参数,确定对应所述目标块的擦除电压,包括:获取所述目标块的擦除次数、以及参考块的擦除次数与擦除脉冲数的映射关系表;根据所述目标块的擦除次数、以及参考块的擦除次数与擦除脉冲数的映射关系表,确定所述目标块对应的擦除脉冲数;根据所述目标块所对应的擦除脉冲数,计算得到所述目标块的擦除电压。上述方案中,所述擦除参数为擦除时间,所述基于所述目标块的擦除参数,确定对应所述目标块的擦除电压,包括:获取所述目标块对应的擦除时间;根据所述目标块所对应的擦除时间,计算得到所述目标块的擦除电压。应用本发明实施例提供的闪存器的擦除方法及闪存器具有以下技术效果:闪存器在进行目标块的擦除时,基于目标块的擦除参数确定对应的擦除电压,可以有效的减少无效(擦除失败)的擦除脉冲的数量,提高擦除效率,变相延长了闪存器的使用寿命。附图说明图1为本发明实施例提供的闪存器的组成结构示意图;图2为本发明实施例提供的擦除次数与擦除电压的映射关系的示意图;图3为本发明实施例提供的闪存器的擦除方法的流程示意图一;图4为本发明实施例提供的闪存器的擦除方法的流程示意图二;图5为本发明实施例提供的闪存器的擦除方法的流程示意图三。具体实施方式以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本发明,并不用于限定本发明。另外,以下所提供的实施例是用于实施本发明的部分实施例,而非提供实施本发明的全部实施例,在不冲突的情况下,本发明实施例记载的技术方案可以任意组合的方式实施。需要说明的是,在本发明实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。首先对本发明实施例提供的闪存器进行说明。图1是本发明实施例提供的闪存器的组成结构示意图,参见图1,本发明实施例中的闪存器包括:多个块11,每个所述块由多个存储单元组成,所述存储单元为所述闪存器的最小数据存储单位;控制器12,用于接收针对目标块的擦除指令,获取所述目标块的擦除参数;基于所述目标块的擦除参数,确定对应所述目标块的擦除电压;以及,基于所确定的所述擦除电压,对所述目标块执行擦除操作。这里,在实际实施时,本发明实施例中的闪存器可以为nand闪存,nor闪存等,以闪存器是nand闪存为例,构成块的存储单元为nand的最小存储单位页(page),多个页构成一个块(block),所形成的块为nand的最小擦除单位。在实际应用中,擦除参数包括但并不限于以下至少之一:擦除次数、擦除时间、擦除脉冲数。在一实施例中,所述闪存器还包括寄存器13,用于存储目标块的关键信息,如擦除次数、擦除脉冲数、擦除时间等。在一实施例中,擦除参数为擦除次数,所述寄存器13用于存储目标块的擦除次数,以及擦除次数与擦除电压的映射关系。相应的,控制器12还用于基于目标块的擦除次数,在所述映射关系中查找对应的擦除电压,并将其作为所述目标块的擦除电压。以闪存器是nand,nand处于固态硬盘(ssd,solidstatedrives)中为例进行说明。nand中配置有寄存器13,用于记录每个块的擦除次数信息,在nand所处的ssd中的主控制器发出擦除指令之前,主控制器会发出一个携带擦除参数的写入指令,在一实施例中,该写入指令为供应商专用指令(vsc,vendorspecificcommand)。vsc中携带有目标块的擦除次数信息,用于指示nand将目标块的擦除次数信息写入寄存器13。控制器12基于vsc,将所述目标块的擦除次数写入寄存器以进行存储。这里,需要说明的是,nand并不限定处于ssd中,在实际实施时还可处于其它设备中。在主控制器发出针对nand中目标块的擦除指令后,控制器12基于擦除指令,从寄存器中读取目标块的擦除次数信息,然后根据目标块的擦除次数、以及擦除次数与擦除电压的映射关系,确定对应目标块的启动电压(即擦除电压),在目标块上执行所确定的启动电压,产生相应的擦除脉冲,以进行数据擦除。图2为本发明实施例提供的擦除次数与擦除电压的映射关系的一个可选的示意图。参见图2,擦除次数被分成了四个阶段(n1、n2、n3、n4),分别对应不同的擦除电压(v1、v2、v3、v4),其中,擦除次数越多,擦除电压越高。控制器12首先确定从寄存器13读取的目标块的擦除次数所属的阶段,例如属于阶段n2,然后根据擦除次数与擦除电压的映射关系,可进一步确定目标块的擦除电压为v2。需要说明的是,在实际应用中,擦除次数所划分的阶段可以基于实际需要进行设定,如可划分为6个阶段。在一实施例中,控制器12中预先配置了擦除次数与擦除电压的对应关系。当控制器12从寄存器13中读取了目标块的擦除次数后,可基于自身配置的擦除次数与擦除电压的对应关系,直接确定目标块的擦除电压。在一实施例中,擦除参数为擦除脉冲数;所述寄存器13用于存储目标块对应的擦除脉冲数。相应的,控制器12还用于根据所述目标块所对应的擦除脉冲数,计算得到所述目标块的擦除电压。这里,在实际实施时,闪存器所处的固态硬盘中的控制器处维护有参考块的擦除次数与擦除脉冲数的映射关系表。参见表一,在主控制器发出擦除指令之前,主控制器获取目标块的擦除次数,然后将目标块的擦除次数与映射关系表中各个参考块的擦除次数进行比较,以确定与所述目标块的擦除次数最接近的参考块;在所述映射关系表中查找最接近的参考块的擦除脉冲数,将其作为目标块的擦除脉冲数,然后,主控制器发送携带目标块的擦除脉冲数的vsc给控制器12。控制器12基于该vsc,将目标块的擦除脉冲数写入寄存器13。表一擦除次数擦除脉冲数参考块a4005参考块b5007参考块c6009这里,以闪存器是nand为例对参考块进行说明,参考块可以为在nand中随机选取的多个块,参考块的数量可以依据实际需要进行设定,由于nand自身的磨损均衡(wear-leveling)机制,使得nand中每个块的擦除次数相差不会超过一个设定的次数阈值,因此,可随机选取几个块作为参考块,将擦除次数与目标块的擦除次数最为接近的参考块的擦除脉冲数作为目标块的擦除脉冲数。如此,映射关系表所占用的资源较少,对映射关系表的维护效率高。当然,在实际实施时,该擦除次数与擦除脉冲数的映射关系表中可以记录nand中每个块的擦除次数与擦除脉冲数的映射关系,只是相对于记录参考块的要占用较大资源,且维护效率低。在一实施例中,控制器12可通过如下方式根据目标块所对应的擦除脉冲数,计算得到目标块的擦除电压:控制器12确定目标块的初始擦除电压及用于调整擦除电压的步长;根据初始擦除电压、步长及擦除脉冲数,计算得到目标块的擦除电压。这里,在实际实施时,目标块的初始擦除电压及步长为预先设定,通过计算初始擦除电压+(擦除脉冲数-1)*步长得到目标块的擦除电压。在一实施例中,擦除参数为擦除脉冲数,闪存器自身维护参考块的擦除次数与擦除脉冲数的映射关系表;具体地:寄存器13,用于存储所述目标块的擦除次数、以及参考块的擦除次数与擦除脉冲数的映射关系表;相应的,所述控制器12,还用于根据所述目标块的擦除次数、以及参考块的擦除次数与擦除脉冲数的映射关系表,确定所述目标块对应的擦除脉冲数,然后,根据所述目标块所对应的擦除脉冲数,计算得到所述目标块的擦除电压。这里,在实际实施时,闪存器所处的固态硬盘中的主控制器发出擦除指令之前,主控制器发送携带目标块的擦除次数的vsc给控制器12,控制器12基于该vsc,将目标块的擦除次数写入寄存器13。在实际应用中,控制器12可通过如下方式确定目标块对应的擦除脉冲数:控制器12将目标块的擦除次数与所述映射关系表中各个参考块的擦除次数进行比较,以确定与所述目标块的擦除次数最接近的参考块;在所述映射关系表中查找所述最接近的参考块的擦除脉冲数,将其作为所述目标块的擦除脉冲数。在一实施例中,擦除参数为擦除时间;所述寄存器13,用于存储所述目标块对应的擦除时间;相应的,所述控制器13,还用于根据所述目标块所对应的擦除时间,计算得到所述目标块的擦除电压。这里,在实际应用中,闪存器所处的固态硬盘中的主控制器处维护有参考块的擦除次数与擦除时间的映射关系表,在主控制器发出擦除指令之前,主控制器获取目标块的擦除次数,然后将目标块的擦除次数与映射关系表中各个参考块的擦除次数进行比较,以确定与所述目标块的擦除次数最接近的参考块;在所述映射关系表中查找所述最接近的参考块的擦除时间,将其作为目标块的擦除时间,然后,主控制器发送携带目标块的擦除时间的vsc给控制器12,控制器12基于该vsc,将目标块的擦除时间写入寄存器13。在一实施例中,控制器12可通过如下方式根据目标块所对应的擦除时间,计算得到目标块的擦除电压:控制器12确定擦除时间与擦除电压的对应关系;根据所确定的所述对应关系及所述目标块的擦除时间,得到目标块的擦除电压。在一实施例中,控制器12基于所确定的擦除电压,对目标块执行擦除操作之后,还可对擦除状态进行确认,若擦除状态为擦除成功时结束处理流程;若擦除状态为擦除失败,在所确定的所述擦除电压的基础上增加一定的步长(可依据实际需要进行设定),重新对目标块执行擦除操作,直至确定擦除状态为擦除成功。接下来以闪存器是nand,ssd包括nand及主控制器为例,对本发明实施例提供的闪存器的擦除方法进行说明。图3为本发明实施例提供的闪存器的擦除方法的流程示意图,参见图3,本发明实施例提供的闪存器的擦除方法包括:步骤101:nand控制器接收到ssd主控制器发送的vsc,所述vsc指示将目标块的擦除次数写入寄存器。这里,在实际应用中,ssd主控制器获取目标块的擦除次数信息,然后发送携带目标块的擦除次数的vsc给nand控制器,使得nand控制器将目标块的擦除次数写入nand中的寄存器。步骤102:nand控制器从vsc中提取目标块的擦除次数并将其写入寄存器。步骤103:nand控制器接收到ssd主控制器发送的针对目标块的擦除指令。这里,擦除指令中携带目标块的地址信息,使得nand控制器根据目标块的地址进行擦除。步骤104:nand控制器从寄存器中读取目标块的擦除次数、擦除次数与擦除电压的映射关系。在实际应用中,寄存器中预先存储了擦除次数与擦除电压的映射关系,使得可以根据该映射关系,查找与擦除次数对应的擦除电压。步骤105:根据目标块的擦除次数、擦除次数与擦除电压的映射关系,确定目标块的擦除电压。步骤106:基于所确定的擦除电压,对目标块执行擦除操作。由于擦除电压与擦除次数存在对应关系,目标块的擦除电压基于目标块的擦除次数所确定,因此,可通过确定的擦除电压所产生的擦除脉冲一次性成功的将目标块中的数据擦除,然而,并不排除通过确定的电压未擦除成功的情况,因此,在一实施例中,nand控制器基于所确定的擦除电压,对目标块执行擦除操作之后,还可执行下述步骤的操作。步骤107:nand控制器判断所述目标块的擦除状态是否为擦除成功,如果擦除状态是未擦除成功,执行步骤108;如果擦除状态是擦除成功,执行步骤109。这里,在实际应用中,nand控制器可通过读取目标块的比特位的值判断擦除状态,当目标块的比特位的值为1的数量达到设定比例时,判定擦除成功,否则判定擦除失败。步骤108:增加所述目标块的擦除电压,并基于增加后的电压对目标块执行擦除操作,然后执行步骤107。步骤109:结束本次处理流程。仍以闪存器是nand,ssd包括nand及主控制器为例,对本发明实施例提供的闪存器的擦除方法进行说明。图4为本发明实施例提供的闪存器的擦除方法的流程示意图,参见图4,本发明实施例提供的闪存器的擦除方法包括:步骤201:nand控制器接收到ssd主控制器发送的vsc,所述vsc指示将目标块的擦除脉冲数写入寄存器。这里,vsc中携带有目标块的擦除脉冲数,在实际应用中,ssd主控制器处维护有参考块的擦除次数与擦除脉冲数的映射关系表,ssd主控制器获取目标块的擦除次数,然后将目标块的擦除次数与映射关系表中各个参考块的擦除次数进行比较,以确定与所述目标块的擦除次数最接近的参考块;在映射关系表中查找最接近的参考块的擦除脉冲数,将其作为目标块的擦除脉冲数。其中,参考块为在nand中随机选取的固定数量的块(block),参考块的数量可以依据实际需要进行设定,由于nand自身的磨损均衡(wear-leveling)机制,使得nand中每个块的擦除次数相差不会超过一个设定的次数阈值,因此,可随机选取几个块作为参考块,将擦除次数与目标块的擦除次数最为接近的参考块的擦除脉冲数作为目标块的擦除脉冲数。如此,映射关系表所占用的资源较少,对映射关系表的维护效率高。步骤202:nand控制器从vsc中提取目标块的擦除脉冲数并将其写入寄存器。步骤203:nand控制器接收到ssd主控制器发送的针对目标块的擦除指令。这里,擦除指令中携带目标块的地址信息,使得nand控制器根据目标块的地址进行擦除。步骤204:nand控制器从寄存器中读取目标块的擦除脉冲数,根据目标块的擦除脉冲数计算得到目标块的擦除电压。在实际实施时,nand控制器确定目标块的初始擦除电压及用于调整擦除电压的步长;根据初始擦除电压、所确定的步长及擦除脉冲数,计算得到目标块的擦除电压。其中,目标块的初始擦除电压及步长为预先设定,在一实施例中,通过计算初始擦除电压+(擦除脉冲数-1)*步长得到目标块的擦除电压。步骤205:基于计算得到的目标块的擦除电压,对目标块执行擦除操作。步骤206:nand控制器判断所述目标块的擦除状态是否为擦除成功,如果擦除状态是未擦除成功,执行步骤207;如果擦除状态是擦除成功,执行步骤208。这里,在实际应用中,nand控制器可通过读取目标块的比特位的值判断擦除状态,当目标块的比特位的值均为1的数量达到设定比例时,判定擦除成功,否则判定擦除失败。步骤207:增加所述目标块的擦除电压,并基于增加后的电压对目标块执行擦除操作,然后执行步骤206。步骤208:结束本次处理流程。仍以闪存器是nand,ssd包括nand及主控制器为例,对本发明实施例提供的闪存器的擦除方法进行说明。图5为本发明实施例提供的闪存器的擦除方法的流程示意图,参见图5,本发明实施例提供的闪存器的擦除方法包括:步骤301:nand控制器接收到ssd主控制器发送的vsc,所述vsc指示将目标块的擦除次数写入寄存器。这里,在实际应用中,ssd主控制器获取目标块的擦除次数信息,然后发送携带目标块的擦除次数的vsc给nand控制器,使得nand控制器将目标块的擦除次数写入nand中的寄存器。步骤302:nand控制器从vsc中提取目标块的擦除次数并将其写入寄存器。步骤303:nand控制器接收到ssd主控制器发送的针对目标块的擦除指令。这里,擦除指令中携带目标块的地址信息,使得nand控制器根据目标块的地址进行擦除。步骤304:nand控制器从寄存器中读取目标块的擦除次数、参考块的擦除次数与擦除脉冲数的映射关系表。步骤305:nand控制器在映射关系表中查找擦除次数与目标块的擦除次数最接近的参考块,将查找到的最接近的参考块所对应的擦除脉冲数作为目标块对应的擦除脉冲数。步骤306:nand控制器根据目标块的擦除脉冲数计算得到目标块的擦除电压。在实际实施时,nand控制器确定目标块的初始擦除电压及用于调整擦除电压的步长;根据初始擦除电压、所确定的步长及擦除脉冲数,计算得到目标块的擦除电压。其中,目标块的初始擦除电压及步长为预先设定,在一实施例中,通过计算初始擦除电压+(擦除脉冲数-1)*步长得到目标块的擦除电压。步骤307:基于计算得到的目标块的擦除电压,对目标块执行擦除操作。步骤308:nand控制器判断所述目标块的擦除状态是否为擦除成功,如果擦除状态是未擦除成功,执行步骤309;如果擦除状态是擦除成功,执行步骤310。这里,在实际应用中,nand控制器可通过读取目标块的比特位的值判断擦除状态,当目标块的比特位的值均为1的数量达到设定比例时,判定擦除成功,否则判定擦除失败。步骤309:增加所述目标块的擦除电压,并基于增加后的电压对目标块执行擦除操作,然后执行步骤308。步骤310:结束本次处理流程。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1