Nor闪存及其修补方法

xiaoxiao2021-2-23  135

Nor闪存及其修补方法
【技术领域】
[0001]本发明是有关于一种N0R闪存,且特别是有关于一种N0R闪存的修补方法。
【背景技术】
[0002]随着闪存制作规格的持续演进,闪存芯片的耐用度的下滑,会是成本考量下所必然要面对的重要课题。在N0R闪存中,由于其应用环境与NAND闪存大不相同。在成本的考量下,N0R闪存并没有外加的控制芯片可以配合,也因此,通过复杂的算法来提升N0R闪存的使用寿命,具有一定的难度。
[0003]通常,N0R闪存被应用在存储例如开机码等重要数据。而这类型的数据通常无法容忍任何一个比特发生错误。因此,在现有的N0R闪存的技艺中,从设计端到制造端都需要应用最严谨的方法来从事生产。然而,随着制作的演进以及成本的考量,要使N0R闪存可以满足所有的元件特性越来越困难。也因此,如何有效提升N0R闪存的性能,是本领域设计者的一大难题。

【发明内容】

[0004]本发明提供一种N0R闪存及其修补方法,以加强N0R闪存的使用效率。
[0005]本发明的N0R闪存的修补方法,包括判断是否具有至少一备用存储区块未被使用;计数各存储区块的一被程序化次数以及各存储区块的一被抹除次数;判别被程序化次数是否不小于一第一预设临界值,及被抹除次数是否不小于一第二预设临界值;以及当存储区块的一选中存储区块对应的被程序化次数不小于第一临界值或被抹除次数不小于第二预设临界值时,使至少一备用存储区块与选中存储区块进行置换。
[0006]本发明的N0R闪存,包括多数个存储区块、多数个备用存储区块以及存储器控制器。存储器控制器耦接存储区块以及备用存储区块,存储器控制器判断备用存储区块中是否具有至少一未被使用,并计数各存储区块的被程序化次数以及各存储区块的被抹除次数。存储器控制器并判别被程序化次数是否不小于第一预设临界值,及被抹除次数是否不小于第二预设临界值。且当存储区块的选中存储区块对应的被程序化次数不小于第一临界值或被抹除次数不小于第二预设临界值时,存储器控制器使备用存储区块未被使用的其中之一与选中存储区块进行置换。
[0007]基于上述,本发明通过计数N0R闪存各存储区块的被程序化次数以及被抹除次数,并在当存储区块的被程序化次数或被抹除次数超过预设的次数限制时,将对应的该存储区块与备用存储区块进行置换动作。藉此,有效确保使用中的存储器区块是具有高可靠度的存储区块,以维持N0R闪存的数据存取的品质。并且,通过提供备用存储区块,N0R闪存的使用寿命也得以延长。
[0008]为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
【附图说明】
[0009]图1绘示本发明一实施例的N0R闪存的修补方法;
[0010]图2A绘示本发明另一实施例的N0R闪存的修补方法;
[0011]图2B绘示本发明再一实施例的N0R闪存的修补方法;
[0012]图3绘示本发明实施例的存储区块与备用存储区块的置换的实施方式的示意图;
[0013]图4绘示本发明一实施例的N0R闪存的示意图。
[0014]附图标记说明:
[0015]S110 ?S140、S211 ?S219、S2110 ?S2111、S221 ?S229、S2210 ?S2211:修补方法的步骤;
[0016]A1?AM:存储区块;
[0017]BA1?BAN:备用存储区块;
[0018]AS:选中存储区块;
[0019]400:N0R 闪存;
[0020]410:存储区块;
[0021]420:备用存储区块;
[0022]430:存储器控制器。
【具体实施方式】
[0023]请参照图1,图1绘示本发明一实施例的N0R闪存的修补方法。分析N0R闪存所应用的层面,较常见的为用来存储开机码的基本输入输出系统(Basic Input OutputSystem,简称B1S)。由NOR闪存所可能应用的各种电子装置来看,NOR闪存的使用者并不会针对N0R闪存存储区块来进行程序化(program)以及抹除(erase)的动作。通常,以开机码为范例,主程序化会被放置在固定的地址的存储区块上,并且,主程序化仅有在进行固件更新时才会有所更动。也就是说,主程序化所占有的存储区块所可能产生的程序化抹除的机率相对是很低的。
[0024]由上述的说明可以得知,N0R闪存仅有部分用以运算以及记录的存储区块会较时常进行程序化以及抹除的动作,也就是说,针对这些常进行程序化以及抹除的动作的存储区块进行修补,就可以有效提升N0R闪存的整体寿命。
[0025]因此,本发明在存储区块中增加设置一个或多数个备用存储区块来配合修补动作的进行。其中,在步骤S110中,先判断是否具有至少一备用存储区块未被使用。在当步骤S110判断出有一个或多个的备用存储区块未被使用时,表示N0R闪存的修补动作可以被进行。据此,在步骤S120中,则执行针对各存储区块执行被程序化动作以及被抹除动作的次数的计数动作。上述步骤S120的计数动作是随着N0R闪存被使用的状态下所进行的。其中,各个执行过被程序化动作的存储器区块可产生对应的被程序化次数的计数值,而各个执行过被抹除动作的存储器区块可产生对应的被抹除次数的计数值。当然,执行过被抹除动作且也被执行过被程序化动作的存储区块,则产生对应的被程序化次数的计数值以及被抹除次数的计数值。
[0026]关于步骤S120的实施细节,举例来说明,当N0R闪存接收到程序化命令以对存储区块A1进行首次的程序化动作时,存储区块A1的地址Fi可以被记录在一个存储装置中,并设定存储区块A1对应的被程序化次数为1,当后续又有程序化命令要对存储区块A1进行程序化动作时,由于存储区块A1的地址Fi已被记录在存储装置中,因此,NOR闪存可直接使存储区块A1对应的被程序化次数进行递增(+1)。同理,当NOR闪存接收到程序化命令以对存储区块A1进行首次的抹除动作时,存储区块A1的地址Fi可以被记录在一个存储装置中,并设定存储区块A1对应的被抹除次数为1,当后续又有程序化命令要对存储区块A1进行抹除动作时,由于存储区块A1的地址Fi已被记录在存储装置中,因此,NOR闪存可直接使存储区块A1对应的被抹除次数进行递增(+1)。
[0027]在步骤S130中,则进行各存储区块的被程序化次数以及被抹除次数的判断。其中,各存储区块的被程序化次数可与第一预设临界值进行比对,各存储区块的被抹除次数则可与第二预设临界值进行比对。上述的第一预设临界值以及第二预设临界值可以由设计者依据存储区块的特性进行设定。其中,第一预设临界值以及第二预设临界值可以相同,也可以不相同。
[0028]在步骤S140中,在当存储区块的被程序化次数大于或等于第一预设临界值时,表示该存储区块的被程序化次数已超过安全使用范围。N0R闪存则可以执行该存储区块与备用存储区块的置换动作,以完成N0R闪存的修补动作。同理,当存储区块的被抹除次数大于或等于第二预设临界值时,则表示该存储区块的被抹除次数已超过安全使用范围,而N0R闪存则也可以执行该存储区块与备用存储区块的置换动作,并藉此完成N0R闪存的修补动作。
[0029]关于步骤S140的实施细节,举例来说,N0R闪存在判断出存储区块A1的被程序化次数大于或等于第一预设临界值时,则可选择未被使用的备用存储区块中的其中之一(备用存储区块B1)来与存储区块A1进行置换动作。具体来说明,假设在初始条件下,逻辑地址LA1对应至存储区块A1的实体地址,而在进行存储区块A1与备用存储区块B1的置换动作时,则使逻辑地址LA1变更对应至备用存储区块B1的实体地址。
[0030]附带一提的,在当存储区块A1与备用存储区块B1的置换动作完成后,记录在存储装置中的存储区块A1的地址以及对应的被程序化次数及被抹除次数都可以被舍弃。
[0031]另外,本发明实施例的各备用存储区块都具有相对应的使用状态标记。当各备用存储区块未被使用与任一存储区块进行置换时,其所对应的使用状态标记皆表示为未被使用状态。当备用存储区块(例如备用存储区块B1)被使用与一存储区块进行置换后,备用存储区块B1的使用状态标记可被设定为已被使用状态。
[0032]也就是说,当要进行如步骤S110的备用存储区块的使用状态的检查时,只要简单的针对所有的使用状态标记进行检查即可。若使用状态标记中的至少其中之一表示为未被使用状态,表示存储区块的修补动作仍可进行。相对的,若所有的使用状态标记都表示为已被使用状态,则表示存储区块的修补动作无法被进行。
[0033]上述的使用状态标记可以利用逻辑值来表示为未被使用状态或已被使用状态。举例来说,使用状态标记等于逻辑值1时可以表示对应的备用存储区块为未被使用状态,使用状态标记等于逻辑值0时可以表示对应的备用存储区块为已被使用状态。当然,逻辑值与未被使用状态及已被使用状态的对应关系可以任意变更,上述的范例并不用以限缩本发明。
[0034]请参照图2A,图2A绘示本发明另一实施例的N0R闪存的修补方法。在步骤S211中,接收程序化命令,并在步骤S212中依据所接收的程序化命令并将要进行程序化的存储区块的地址Fi进行存储。在步骤S213中,判断是否有至少一备用存储区块未被使用,若步骤S213的判断结果为是时,进行步骤S214以执行程序化及验证(program and verify)动作。通过对该存储区块被程序化的次数L1进行计数,并且在步骤S215中进行该存储区块的被程序化的次数L1与预设临界值N1进行比较。当被程序化的次数L1小于N1时,表示该存储区块可继续提供进行程序化,并在步骤S216中的验证动作通过时 ,结束程序化的动作。相对的,当步骤S216中的验证动作无法通过时,则需重新执行步骤S214再次进行程序化的动作。
[0035]承上述,若在步骤S215中判断出存储区块被程序化的次数L1大于或等于预设临界值N1时,则进行步骤S217以记录存储区块的地址Fi,并启动备用存储区块的置换动作。在存储区块被备用存储区块所置换后,则可以继续提供存储区块以进行程序化以及验证的动作(步骤S219)。并且,步骤S2110判断存储区块程序化以及验证的动作的次数是否已超过设定的最大次数,若判断的结果已超过最大次数(最大安全值),则表示程序化验证动作失败。相对的,若判断的结果未超过最大次数,且步骤S2111判断程序化以及验证动作通过时,则表示程序化动作完成。若判断的结果未超过最大次数,且步骤S2111判断程序化以及验证动作未通过时,重新执行步骤S219。
[0036]在另一方面,若当步骤S213的判断结果显示所有的备用存储区块都已被使用,则无法针对该存储区块进行修补。在此状态下,仅能提供此存储区块继续进行程序化以及验证的动作,直至该存储区块的被程序化次数超过最大安全值为止。
[0037]请参照图2B,图2B绘示本发明再一实施例的N0R闪存的修补方法。在步骤S221中,接收抹除命令,在步骤S222中判断是否有至少一备用存储区块未被使用,若步骤S222的判断结果为是时,执行步骤S223并判断有无备用存储区块被致能。当有备用存储区块被致能,则可执行步骤S226以依据存储区块的地址Fi启动备用存储区块的置换。
[0038]若步骤S223判断的结果为否,则进行步骤S224。步骤S224执行抹除及验证(eraseand verify)动作。通过对该存储区块被抹除的次数L2进行计数,以在步骤S225中进行该存储区块的被抹除的次数L2与预设临界值N2进行比较。当被抹除的次数L2小于N2时,表示该存储区块可继续提供进行抹除,并在步骤S227中的验证动作通过时,结束程序化的动作。相对的,当步骤S229中的验证动作无法通过时,则需重新执行步骤S224再次进行程序化的动作。
[0039]承上述,若在步骤S225中判断出存储区块被抹除的次数L2大于或等于预设临界值N2时,则进行步骤S226以依据步骤S223所存储的存储区块的地址Fi来启动备用存储区块的置换。
[0040]在另一方面,若当步骤S222的判断结果显示所有的备用存储区块都已被使用,则无法针对该存储区块进行修补。在此状态下,仅能提供此存储区块继续进行程序化以及验证的动作(步骤S229),直至该存储区块的被程序化次数超过最大安全值为止。
[0041]其中,步骤S2210判断存储区块抹除以及验证的动作的次数是否已超过设定的最大次数,若判断的结果已超过最大次数(最大安全值),则表示程序化验证动作失败。相对的,若判断的结果未超过最大次数,且步骤S2211判断程序化以及验证动作通过时,则表示程序化动作完成。若判断的结果未超过最大次数,且步骤S2111判断程序化以及验证动作未通过时,重新执行步骤S229。
[0042]在关于存储区块与备用存储区块的置换方面,请参照图3,其中,图3绘示本发明实施例的存储区块与备用存储区块的置换的实施方式的示意图。在图3中,N0R闪存包括多个存储区块A1?AM以及备用存储区块BA1?BAN。其中,备用存储区块BA1为未被使用的状态,且选中存储区块AS的被抹除次数不小于第二临界值或被程序化次数不小于第一临界值时,备用存储区块BA1可取代选中存储区块AS,并使备用存储区块BA1作为存储数据的存储器区块。原先的选中存储区块AS则被闲置。
[0043]以下请参照图4,图4绘示本发明一实施例的N0R闪存的示意图。N0R闪存400包括存储区块410、备用存储区块420以及存储器控制器430。存储区块410中具有多个相同存储容量的存储区块。备用存储区块420则包括至少一个存储区块。存储器控制器430为内建在N0R闪存400中的逻辑电路。存储器控制器430可执行如图1绘示的修补方法的各步骤,并藉此进行修补动作。
[0044]关于存储器控制器430所执行的各步骤的动作细节,在前述的实施例及实施方式都有详细的说明,以下恕不多赘述。
[0045]综上所述,本发明通过在N0R闪存中设置备用存储区块,并通过计数存储区块的被程序化或被抹除的次数,来进行备用存储区块与存储区块的置换动作,藉此完成N0R闪存的修补动作,提升N0R闪存的使用寿命。
[0046]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【主权项】
1.一种NOR闪存的修补方法,其特征在于,该NOR闪存具有多数个存储区块,包括: 判断是否具有至少一备用存储区块未被使用; 计数各该存储区块的一被程序化次数以及各该存储区块的一被抹除次数; 判别该被程序化次数是否不小于一第一预设临界值,及该被抹除次数是否不小于一第二预设临界值;以及 当该些存储区块的一选中存储区块对应的该被程序化次数不小于该第一临界值或该被抹除次数不小于该第二预设临界值时,使该至少一备用存储区块与该选中存储区块进行置换。2.根据权利要求1所述的NOR闪存的修补方法,其特征在于,计数各该存储区块的该被程序化次数的步骤包括: 依据一程序化命令记录被程序化的各该存储区块的地址;以及 在当未被使用的该至少一备用存储区块存在时,递增被程序化的各该存储区块对应的该被程序化次数。3.根据权利要求2所述的NOR闪存的修补方法,其特征在于,当该选中存储区块对应的该被程序化次数不小于该第一临界值时,该选中存储区块的实体地址对应至一逻辑地址;以及 当该选中存储区块对应的该被程序化次数不小于该第一临界值时,该逻辑地址被变更对应至该至少一备用存储区块的实体地址。4.根据权利要求1所述的NOR闪存的修补方法,其特征在于,计数各该存储区块的该被抹除次数的步骤包括: 依据一抹除命令记录被抹除的各该存储区块的地址;以及 在当未被使用的该至少一备用存储区块存在时,递增被程序化的各该存储区块对应的该被程序化次数。5.根据权利要求4所述的NOR闪存的修补方法,其特征在于,当该选中存储区块对应的该被抹除次数不小于该第二临界值时,该选中存储区块的实体地址对应至一逻辑地址;以及 当该选中存储区块对应的该被抹除次数不小于该第二临界值时,该逻辑地址被变更对应至该至少一备用存储区块的实体地址。6.根据权利要求1所述的NOR闪存的修补方法,其特征在于,该至少一备用存储区块对应一使用状态标记,且判断是否具有该至少一备用存储区块未被使用的步骤包括: 检查该至少一备用存储区块对应该使用状态标记是否指示为未被使用状态。7.—种NOR闪存,其特征在于,包括: 多数个存储区块; 多数个备用存储区块;以及 一存储器控制器,耦接该些存储区块以及该些备用存储区块,该存储器控制器判断该些备用存储区块中是否具有至少一未被使用,并计数各该存储区块的一被程序化次数以及各该存储区块的一被抹除次数,该存储器控制器并判别该被程序化次数是否不小于一第一预设临界值,及该被抹除次数是否不小于一第二预设临界值,且当该些存储区块的一选中存储区块对应的该被程序化次数不小于该第一临界值或该被抹除次数不小于该第二预设临界值时,该存储器控制器使该些备用存储区块未被使用的其中之一与该选中存储区块进行置换。8.根据权利要求7所述的NOR闪存,其特征在于,该存储器控制器依据一程序化命令记录被程序化的各该存储区块的地址,并当未被使用的该至少一备用存储区块存在时,递增被程序化的各该存储区块对应的该被程序化次数。9.根据权利要求8所述的NOR闪存,其特征在于,当该选中存储区块对应的该被程序化次数不小于该第一临界值时,该选中存储区块的实体地址对应至一逻辑地址,当该选中存储区块对应的该被程序化次数不小于该第一临界值时,该存储器控制器变更该逻辑地址至该至少一备用存储区块的实体地址。10.根据权利要求8所述的NOR闪存,其特征在于,该存储器控制器依据一抹除命令记录被抹除的各该存储区块的地址,并在当未被使用的该至少一备用存储区块存在时,递增被程序化的各该存储区块对应的该被程序化次数。11.根据权利要求10所述的NOR闪存,其特征在于,当该选中存储区块对应的该被抹除次数不小于该第二临界值时,该选中存储区块的实体地址对应至一逻辑地址,当该选中存储区块对应的该被抹除次数不小于该第二临界值时,该存储器控制器变更该逻辑地址对应至该至少一备用存储区块的实体地址。12.根据权利要求7所述的NOR闪存,其特征在于,该至少一备用存储区块对应一使用状态标记,且该存储器控制器检查该至少一备用存储区块对应该使用状态标记是否指示为未被使用状态。
【专利摘要】本发明提供一种NOR闪存及其修补方法。修补方法包括:判断是否具有至少一备用存储区块未被使用;计数各存储区块的被程序化次数以及各存储区块的被抹除次数;判别被程序化次数是否不小于第一预设临界值,及被抹除次数是否不小于第二预设临界值;以及当存储区块的选中存储区块对应的被程序化次数不小于第一临界值或被抹除次数不小于第二预设临界值时,使至少一备用存储区块与选中存储区块进行置换。
【IPC分类】G11C29/44
【公开号】CN105489246
【申请号】CN201410471290
【发明人】吴尚融, 张雅俊
【申请人】华邦电子股份有限公司
【公开日】2016年4月13日
【申请日】2014年9月16日

最新回复(0)