Nor闪存及其修补方法

文档序号:9728492阅读:626来源:国知局
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中的验证动作通过时
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1