首页 / 专利库 / 资料储存系统 / 逻辑单元号 / 一种可变编程次数的多次可编程存储器

一种可变编程次数的多次可编程存储器

阅读:752发布:2020-05-08

专利汇可以提供一种可变编程次数的多次可编程存储器专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种可变编程次数的多次可编程 存储器 ,所述可变编程次数的多次可编程存储器利用状态寄存器 电路 记录多个存储器阵列的状态信息,以使用户可以通过所述多个存储器阵列的状态信息,了解多个存储器阵列的编程次数信息以及冗余存储器阵列的使用信息,从而可以根据实际情况对冗余存储器阵列进行编程操作或修复操作或读操作的目的,使得冗余存储器阵列在主存储器阵列编程成功后仍然可以进行编程操作,进而使得该多次可编程存储器的编程次数可控,避免了在主存储器阵列编程成功后,无法在冗余存储器阵列中进行数据存储的情况,避免了冗余存储器阵列的浪费。,下面是一种可变编程次数的多次可编程存储器专利的具体信息内容。

1.一种可变编程次数的多次可编程存储器,其特征在于,包括:状态寄存器电路、外围电路和多个存储器阵列,其中,
所述多个存储器阵列包括一个主存储器阵列和至少一个冗余存储器阵列;所述主存储器阵列,用于在所述外围电路和所述状态寄存器电路的控制下进行编程操作或读操作;
所述冗余存储器阵列,用于在所述外围电路和所述状态寄存器电路的控制下进行编程操作或修复操作或读操作;
所述状态寄存器电路,用于记录所述多个存储器阵列的状态信息,所述状态信息包括对所述多个存储器阵列的编程次数信息以及所述冗余存储器阵列的使用信息。
2.根据权利要求1所述的可变编程次数的多次可编程存储器,其特征在于,所述外围电路具体用于,根据获取的输入指令,接收字线地址信息和位线地址信息,确定操作类型并执行操作;
当所述操作类型为编程操作时,根据所述状态寄存器电路的值以及所述字线地址信息选中目标字线,根据所述位线地址信息选通目标位线,以根据待编程数据对目标的存储器阵列进行编程;
和用于在当所述操作类型为修复操作时,根据所述状态寄存器电路的值以及所述字线地址信息选中所述冗余存储器阵列的目标字线,目标字线上的存储单元的选通管打开,根据所述位线地址信息选通目标位线,且所述主存储器阵列的目标字线处于非选中状态,并根据待编程数据对所述冗余存储器阵列中的处于选中字线上的并连接到所述目标位线上的存储单元进行编程操作,在编程成功后,将所述冗余存储器阵列的目标字线取消选中,并取消所述目标位线的选通;
和用于在当所述操作类型为读操作时,判断所述主存储器阵列是否进行过修复操作,如果是,则根据所述状态寄存器电路的值以及所述字线地址信息选中所述冗余存储器阵列的目标字线以及所述主存储器阵列的目标字线,以及根据所述位线地址信息选通目标位线,以将主存储器阵列和与主存储器阵列关联的冗余存储器阵列中各自选中的目标存储单元连接到共同的所述目标位线上并通过目标位线连接到读电路,以读出所述目标存储器阵列和与目标存储器阵列关联的冗余存储器阵列中存储的数据;
如果否,则根据所述状态寄存器电路的值和所述字线地址信息选中所述主存储器阵列的目标字线以及根据所述位线地址信息选通目标位线,以将所述主存储器阵列中的目标存储单元选中并连接到读电路,以读出所述主存储器阵列中存储的数据;
所述外围电路还用于在执行修复操作或进行新的一次性编程操作之前,获取所述状态信息,根据所述状态信息以及输入指令更新所述状态寄存器电路中记录的所述多个存储器阵列的状态信息。
3.根据权利要求2所述的可变编程次数的多次可编程存储器,其特征在于,所述外围电路根据所述状态信息以及输入指令更新所述状态寄存器电路中记录的所述多个存储器阵列的状态信息具体用于,
在当所述输入指令为使用冗余阵列进行修复时,将目标冗余存储器阵列的使用状态置
1,以将冗余存储器阵列的使用状态标记为修复;此后便可以在所述冗余阵列上存储主存储阵列的修复数据;
在当所述输入指令为使用冗余阵列进行重新编程时,将目标冗余存储器阵列的使用状态置零,以将目标冗余存储器阵列的使用状态标记为编程;并将所述编程次数状态信息加1作为新的编程次数信息;此后,目标冗余存储器阵列将作为新的主存储器阵列替代原先已使用过的主存储阵列,将可以对新的主存储器阵列进行新的编程,存储器将重新存储一整个阵列的新数据。
4.根据权利要求2所述的可变编程次数的多次可编程存储器,其特征在于,所述外围电路包括:控制电路、电源电路、译码电路、字线驱动电路、位线驱动电路、选通电路和读电路;
其中,
所述电源电路用于为所述控制电路、译码电路、字线驱动电路、位线驱动电路、选通电路、读电路和所述状态寄存器电路提供工作电源;
所述控制电路根据获取的输入指令,确定操作类型,同时按照指令控制译码电路、字线驱动电路、位线驱动电路、选通电路、读电路和所述状态寄存器电路工作;
所述译码电路用于对所述地址信号进行译码,对字线地址信号进行译码,以获得字线信息,对所述位线地址信号进行译码,以获得位线信息;
所述字线驱动电路,用于根据操作类型和所述状态寄存器电路的值以及所述字线地址信息为字线提供驱动电压,以选通目标字线并为目标字线提供编程电压或读电压;
所述位线驱动电路,用于根据操作类型和所述位线地址译码结果为位线提供驱动电压,当操作类型为编程操作时需要为提供位线编程电压;
所述选通电路,用于将目标位线选通并连接到读电路;
所述读电路,用于在当所述操作类型为读操作时,读出所述目标的存储器阵列或目标的存储器阵列和与目标的存储器阵列关联的冗余存储器阵列中存储的数据。
5.据权利要求4述的可变编程次数的多次可编程存储器,其特征在于,所述状态寄存器电路还用于输出记录的所述多个存储器阵列的状态信息。
6.根据权利要求5所述的可变编程次数的多次可编程存储器,其特征在于,所述状态寄存器电路包括:读写驱动单元、状态寄存器单元、阵列选择逻辑单元和输出逻辑单元;其中,所述读写驱动单元,用于配合所述控制电路进行所述状态寄存器单元中记录多个存储器阵列的状态信息的读取或更新;
所述状态寄存器单元,用于记录多个存储器阵列的状态信息;
所述阵列选择逻辑单元,用于获取所述状态寄存器单元的值,并根据状态寄存器单元的值向所述字线驱动电路传输阵列使能信号,以使字线驱动电路驱动正确的存储器阵列字线;;
所述输出逻辑单元,用于输出所述状态寄存器单元记录的所述多个存储器阵列的状态信息。
7.根据权利要求6所述的可变编程次数的多次可编程存储器,其特征在于,所述状态寄存器单元为非易失性状态寄存器。

说明书全文

一种可变编程次数的多次可编程存储器

技术领域

[0001] 本申请涉及存储器技术领域,更具体地说,涉及一种可变编程次数的多次可编程存储器。

背景技术

[0002] 存储器芯片是现在信息技术中存储信息的一种重要方式。反熔丝技术是一种用于实现非易失性存储器的技术,使用反熔丝技术可以实现较小规模的非易失性数据存储器,实现的非易失性存储器具有掉电数据不丢失的特性,数据可以存储长达十几年的优良特性。反熔丝存储器是通过编程这一操作来实现数据写入,由于反熔丝的技术特性,对单个反熔丝存储器单元进行编程后将不能再擦除改变,即数据只能写入一次。存储单元在编程前和编程后具体不同的物理、电学特性,利用编程前后的不同电学特性即可实现二进制数据的存储。
[0003] 多次可编程(Multiple Time Programmable,MTP)存储器具有多个存储器阵列,其中的主存储器阵列用于进行编程操作,其他的冗余存储器阵列用于提高多次可编程存储器的编程成品率。但在实际应用中发现,由于冗余存储器阵列在无需修复数据存储的情况下,无法进行数据存储,导致了冗余存储器阵列的浪费。发明内容
[0004] 为解决上述技术问题,本申请提供了一种可变编程次数的多次可编程存储器,以实现根据实际情况对冗余存储器阵列进行编程操作或修复操作或读操作的目的,避免了在主存储器阵列编程成功后,无法在冗余存储器阵列中进行数据存储的情况。
[0005] 为实现上述技术目的,本申请实施例提供了如下技术方案:
[0006] 一种可变编程次数的多次可编程存储器,包括:状态寄存器电路、外围电路和多个存储器阵列,其中,
[0007] 所述多个存储器阵列包括一个主存储器阵列和至少一个冗余存储器阵列;所述主存储器阵列,用于在所述外围电路和所述状态寄存器电路的控制下进行编程操作或读操作;所述冗余存储器阵列,用于在所述外围电路和所述状态寄存器电路的控制下进行编程操作或修复操作或读操作;
[0008] 所述状态寄存器电路,用于记录所述多个存储器阵列的状态信息,所述状态信息包括对所述多个存储器阵列的编程次数信息以及所述冗余存储器阵列的使用信息。
[0009] 可选的,所述外围电路具体用于,根据获取的输入指令,接收字线地址信息和位线地址信息,确定操作类型并执行操作;
[0010] 当所述操作类型为编程操作时,根据所述状态寄存器电路的值以及所述字线地址信息选中目标字线,根据所述位线地址信息选通目标位线,以根据待编程数据对目标的存储器阵列进行编程;
[0011] 和用于在当所述操作类型为修复操作时,根据所述状态寄存器电路的值以及所述字线地址信息选中所述冗余存储器阵列的目标字线,目标字线上的存储单元的选通管打开,根据所述位线地址信息选通目标位线,且所述主存储器阵列的目标字线处于非选中状态,并根据待编程数据对所述冗余存储器阵列中的处于选中字线上的并连接到所述目标位线上的存储单元进行编程操作,在编程成功后,将所述冗余存储器阵列的目标字线取消选中,并取消所述目标位线的选通;
[0012] 和用于在当所述操作类型为读操作时,判断所述主存储器阵列是否进行过修复操作,如果是,则根据所述状态寄存器电路的值以及所述字线地址信息选中所述冗余存储器阵列的目标字线以及所述主存储器阵列的目标字线,以及根据所述位线地址信息选通目标位线,以将主存储器阵列和与主存储器阵列关联的冗余存储器阵列中各自选中的目标存储单元连接到共同的所述目标位线上并通过目标位线连接到读电路,以读出所述目标存储器阵列和与目标存储器阵列关联的冗余存储器阵列中存储的数据;
[0013] 如果否,则根据所述状态寄存器电路的值和所述字线地址信息选中所述主存储器阵列的目标字线以及根据所述位线地址信息选通目标位线,以将所述主存储器阵列中的目标存储单元选中并连接到读电路,以读出所述主存储器阵列中存储的数据;
[0014] 所述外围电路还用于在执行修复操作或进行新的一次性编程操作之前,获取所述状态信息,根据所述状态信息以及输入指令更新所述状态寄存器电路中记录的所述多个存储器阵列的状态信息。
[0015] 可选的,所述外围电路根据所述状态信息以及输入指令更新所述状态寄存器电路中记录的所述多个存储器阵列的状态信息具体用于,
[0016] 在当所述输入指令为使用冗余阵列进行修复时,将目标冗余存储器阵列的使用状态置1,以将冗余存储器阵列的使用状态标记为修复;此后便可以在所述冗余阵列上存储主存储阵列的修复数据;
[0017] 在当所述输入指令为使用冗余阵列进行重新编程时,将目标冗余存储器阵列的使用状态置零,以将目标冗余存储器阵列的使用状态标记为编程;并将所述编程次数状态信息加1作为新的编程次数信息;此后,目标冗余存储器阵列将作为新的主存储器阵列替代原先已使用过的主存储阵列,将可以对新的主存储器阵列进行新的编程,存储器将重新存储一整个阵列的新数据。
[0018] 可选的,所述外围电路包括:控制电路、电源电路、译码电路、字线驱动电路、位线驱动电路、选通电路和读电路;其中,
[0019] 所述电源电路用于为所述控制电路、译码电路、字线驱动电路、位线驱动电路、选通电路、读电路和所述状态寄存器电路提供工作电源;
[0020] 所述控制电路根据获取的输入指令,确定操作类型,同时按照指令控制译码电路、字线驱动电路、位线驱动电路、选通电路、读电路和所述状态寄存器电路工作;
[0021] 所述译码电路用于对所述地址信号进行译码,对字线地址信号进行译码,以获得字线信息,对所述位线地址信号进行译码,以获得位线信息;
[0022] 所述字线驱动电路,用于根据操作类型和所述状态寄存器电路的值以及所述字线地址信息为字线提供驱动电压,以选通目标字线并为目标字线提供编程电压或读电压;
[0023] 所述位线驱动电路,用于根据操作类型和所述位线地址译码结果为位线提供驱动电压,当操作类型为编程操作时需要为提供位线编程电压;
[0024] 所述选通电路,用于将目标位线选通并连接到读电路;
[0025] 所述读电路,用于在当所述操作类型为读操作时,读出所述目标的存储器阵列或目标的存储器阵列和与目标的存储器阵列关联的冗余存储器阵列中存储的数据。
[0026] 可选的,所述状态寄存器电路还用于输出记录的所述多个存储器阵列的状态信息。
[0027] 可选的,所述状态寄存器电路包括:读写驱动单元、状态寄存器单元、阵列选择逻辑单元和输出逻辑单元;其中,
[0028] 所述读写驱动单元,用于配合所述控制电路进行所述状态寄存器单元中记录多个存储器阵列的状态信息的读取或更新;
[0029] 所述状态寄存器单元,用于记录多个存储器阵列的状态信息;
[0030] 所述阵列选择逻辑单元,用于获取所述状态寄存器单元的值,并根据状态寄存器单元的值向所述字线驱动电路传输阵列使能信号,以使字线驱动电路驱动正确的存储器阵列字线;;
[0031] 所述输出逻辑单元,用于输出所述状态寄存器单元记录的所述多个存储器阵列的状态信息。
[0032] 可选的,所述状态寄存器单元为非易失性状态寄存器。
[0033] 从上述技术方案可以看出,本申请实施例提供了一种可变编程次数的多次可编程存储器,所述可变编程次数的多次可编程存储器利用状态寄存器电路记录多个存储器阵列的状态信息,以使用户可以通过所述多个存储器阵列的状态信息,了解多个存储器阵列的编程次数信息以及冗余存储器阵列的使用信息,从而可以根据实际情况对冗余存储器阵列进行编程操作或修复操作或读操作的目的,使得冗余存储器阵列在主存储器阵列编程成功后仍然可以进行编程操作,进而使得该多次可编程存储器的编程次数可控,避免了在主存储器阵列编程成功后,无法在冗余存储器阵列中进行数据存储的情况,避免了冗余存储器阵列的浪费。附图说明
[0034] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0035] 图1为本申请的一个实施例提供的一种可变编程次数的多次可编程存储器的结构示意图;
[0036] 图2为本申请的另一个实施例提供的一种可变编程次数的多次可编程存储器的结构示意图;
[0037] 图3-图5为读电路读出数据示意图。

具体实施方式

[0038] 在多次可编程存储器中,成千上万的存储单元通过阵列(Array)的形式组织在一起,构成一个用于存储大量数据的存储器阵列。单独的一个存储器阵列只可进行一次编程,在多次可编程存储器中,通常具有两个或两个以上的存储器阵列,在集成电路制造过程中可能由于缺陷和工艺的不稳定性,导致制造出来的多次可编程存储器在存储器阵列中进行编程时有较小概率出现编程失败的情况,当编程失败发生时,可以通过同时使用2个存储器阵列并联读取数据,第二个存储阵列编程的数据将修复掉第一个存储阵列不能编程单元的数据,第一个阵列用作存储所有能编程写入的数据,修复数据,这样便可挽救整集成电路。这样便可极大的减小失败,将成品率提至很高。
[0039] 通常设计中使用冗余存储器阵列修复失败的单元,失败率会呈现指数递减。如失2
败的概率是a(a<1),一个冗余存储器阵列会用作修复将失败的概率减小至a ,可以很有效的减小失败。对于设计的存储器IP(知识产权核)失败的不断出现会导致成品率的不达标,成品率的不达标会严重拖累集成系统的整体成品率,致使出现整体系统的失败。多个存储器阵列用作修复可以有效的解决这一问题,实现高可靠性存储器。
[0040] 因此,在多次可编程存储器中,预留一个或多个冗余存储器阵列用作修复数据的存储使用是提高成品率的必要手段。
[0041] 但是由于现有技术中的冗余存储器阵列仅作为修复数据的存储使用,当在某些情况下,主存储器阵列一次性编程成功的情况下,其余的冗余存储器阵列无法进行编程操作,也无需进行修复操作,导致这些冗余存储器阵列完全被浪费掉。
[0042] 另外,在当冗余存储器阵列的数量为多个时,在当主存储器阵列一次性编程成功或者仅使用了一个冗余存储器阵列作为修复数据的存储使用的情况下,仍然会有一些冗余存储器阵列被浪费掉。
[0043] 有鉴于此,本申请实施例提供了一种可变编程次数的多次可编程存储器,包括:状态寄存器电路、外围电路和多个存储器阵列,其中,
[0044] 所述多个存储器阵列包括一个主存储器阵列和至少一个冗余存储器阵列;所述主存储器阵列,用于在所述外围电路和所述状态寄存器电路的控制下进行编程操作或读操作;所述冗余存储器阵列,用于在所述外围电路和所述状态寄存器电路的控制下进行编程操作或修复操作或读操作;
[0045] 所述状态寄存器电路,用于记录所述多个存储器阵列的状态信息,所述状态信息包括对所述多个存储器阵列的编程次数信息以及所述冗余存储器阵列的使用信息。
[0046] 所述可变编程次数的多次可编程存储器利用状态寄存器电路记录多个存储器阵列的状态信息,以使用户可以通过所述多个存储器阵列的状态信息,了解多个存储器阵列的编程次数信息以及冗余存储器阵列的使用信息,从而可以根据实际情况对冗余存储器阵列进行编程操作或修复操作或读操作的目的,使得冗余存储器阵列在主存储器阵列编程成功后仍然可以进行编程操作,进而使得该多次可编程存储器的编程次数可控,避免了在主存储器阵列编程成功后,无法在冗余存储器阵列中进行数据存储的情况,避免了冗余存储器阵列的浪费。
[0047] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0048] 本申请实施例提供了一种可变编程次数的多次可编程存储器,如图1所示,包括:状态寄存器电路30、外围电路20和多个存储器阵列10,其中,
[0049] 所述多个存储器阵列10包括一个主存储器阵列11和至少一个冗余存储器阵列12;所述主存储器阵列11,用于在所述外围电路20和所述状态寄存器电路30的控制下进行编程操作或读操作;所述冗余存储器阵列12,用于在所述外围电路20和所述状态寄存器电路30的控制下进行编程操作或修复操作或读操作;
[0050] 所述状态寄存器电路30,用于记录所述多个存储器阵列10的状态信息,所述状态信息包括对所述多个存储器阵列10的编程次数信息以及所述冗余存储器阵列12的使用信息。
[0051] 在图1中,还示出了所述可变编程次数的多次可编程存储器的输入PIN和输出PIN,输入PIN和输出PIN是可变编程次数的多次可编程存储器的输入输出引脚,所有对可变编程次数的多次可编程存储器的命令从输入PIN进入,输出PIN是可变编程次数的多次可编程存储器输出内部数据的端口。图1中示出的多个存储器阵列10中具有两个冗余存储器阵列12,仅作为示意,本申请对所述冗余存储器阵列12的数量并不做限定,具体视实际情况而定。
[0052] 在本实施例中,所述主存储阵列是存储数据的主要阵列,所诉冗余阵列是用作存储主存储阵列修复数据的阵列或所述存储器阵列中待使用的空白阵列。主存储阵列可以是将所述多个存储器阵列10中的地址编码靠前的存储器阵列作为主存储器阵列11,将其他的存储器阵列作为冗余存储器阵列12;也可以是将对所述可变编程次数的多次可编程存储器进行第一次编程操作时进行数据写入的存储器阵列称为主存储器阵列11,将其他的存储器阵列称为冗余存储器阵列12。当开始新的一次性编程时,即需要重新写入存储器存储的数据时,原先的主存储阵列失效,原先存储的数据也随之被丢弃,将从所述冗余阵列中选取一个待使用的空白的冗余阵列作为新的主存储阵列,并使用新的主存储阵列进行新的编程和读操作,存储新的数据。所述主存储器阵列11和冗余存储器阵列12在结构上并无区别,所述主存储器阵列11为所述多个存储器阵列10中的任意一个,所述多个存储器阵列10的其余存储器阵列均称为冗余存储器阵列12。
[0053] 所述状态寄存器电路30记录了所述多个存储器阵列10的状态信息,以使用户可以读取所述状态信息,或者所述状态寄存器电路30还可以用于输出记录的所述多个存储器阵列10的状态信息,以使用户获悉所述状态信息,用户在获取了所述状态信息之后,可以根据所述状态信息,确定所述多个存储器阵列10的编程次数信息以及所述冗余存储器阵列12的使用信息。例如当所述多个存储器阵列10中包括1个主存储器阵列11和3个冗余存储器阵列12时,所述多个存储器阵列10的编程次数信息可以是“第一次编程”“第二次编程”“第三次编程”或“第四次编程”,所述冗余存储器阵列12的使用信息可以是“第一个冗余存储器阵列
12作为编程阵列”“第一个冗余存储器阵列12作为修复阵列”“第二个冗余存储器阵列12作为编程阵列”“第二个冗余存储器阵列12作为修复阵列”“第三个冗余存储器阵列12作为编程阵列”“第三个冗余存储器阵列12作为修复阵列”等,根据上述不同的状态信息,用户即可获悉所述多个存储器阵列10的使用情况,进而通过外围电路20和状态寄存器电路30实现对所述多个存储器阵列10的不同操作。具体地,当所述主存储器阵列11一次性编程成功时,用户可以利用冗余存储器阵列12进行新的编程操作,或对主存储器阵列11进行读操作;而当所述主存储器阵列11编程失败时,用户可以利用冗余存储器阵列12进行数据修复的操作直至数据编程成功;此后在对主存储器阵列11进行读操作时,需要将主存储器阵列11中的数据存储单元和与主存储器阵列关联的用作修复的冗余存储器阵列12中的数据存储单元都选中,从而读出正确的存储数据。当用户需要重新存储数据时,即需要新的一次性编程存储新数据时,编程次数状态信息加1,原先的主存储阵列失效,在所述冗余阵列中选择一个未使用的空白冗余阵列作为新的主存储阵列,进行新的一次性编程,其余的剩余的未使用的空白冗余阵列数据修复的对象转变为新的主存储阵列。
[0054] 即在本实施例中,所述可变编程次数的多次可编程存储器利用状态寄存器电路30记录多个存储器阵列10的状态信息,以使用户可以通过所述多个存储器阵列10的状态信息,了解多个存储器阵列10的编程次数信息以及冗余存储器阵列12的使用信息,从而可以根据实际情况对冗余存储器阵列12进行编程操作或修复操作或读操作的目的,使得冗余存储器阵列12在主存储器阵列11编程成功后仍然可以进行编程操作,进而使得该多次可编程存储器的编程次数可控,避免了在主存储器阵列11编程成功后,无法在冗余存储器阵列12中进行数据存储的情况,避免了冗余存储器阵列12的浪费。
[0055] 在上述实施例的基础上,在本申请的一个实施例中,所述外围电路20具体用于,根据获取的输入指令,接收字线地址信息和位线地址信息,确定操作类型并执行相应操作;
[0056] 当所述操作类型为编程操作时,根据所述状态寄存器电路的值以及所述字线地址信息选中目标字线,根据所述位线地址信息选通目标位线,以根据待编程数据对目标的存储器阵列进行编程;
[0057] 和用于在当所述操作类型为修复操作时,根据所述状态寄存器电路的值以及所述字线地址信息选中所述冗余存储器阵列的目标字线,目标字线上的存储单元的选通管打开,根据所述位线地址信息选通目标位线,且所述主存储器阵列的目标字线处于非选中状态(目标字线的选通管关断),并根据待编程数据对所述冗余存储器阵列中的处于选中字线上的并连接到所述目标位线上的存储单元进行编程操作,在编程成功后,将所述冗余存储器阵列的目标字线取消选中,并取消所述目标位线的选通;
[0058] 和用于在当所述操作类型为读操作时,判断所述主存储器阵列是否进行过修复操作,如果是,则根据所述状态寄存器电路的值以及所述字线地址信息选中所述冗余存储器阵列的目标字线以及所述主存储器阵列的目标字线,以及根据所述位线地址信息选通目标位线,以将主存储器阵列和与主存储器阵列关联的冗余存储器阵列中各自选中的目标存储单元连接到共同的所述目标位线上并通过目标位线连接到读电路,以读出所述目标存储器阵列和与目标存储器阵列关联的冗余存储器阵列中存储的数据;
[0059] 如果否,则根据所述状态寄存器电路的值和所述字线地址信息选中所述主存储器阵列的目标字线以及根据所述位线地址信息选通目标位线,以将所述主存储器阵列中的目标存储单元选中并连接到读电路,以读出所述主存储器阵列中存储的数据;
[0060] 所述外围电路20还用于在执行修复操作或进行新的一次性编程操作(即重新编程存储器存储的数据)之前,获取所述状态信息,根据所述状态信息以及输入指令更新所述状态寄存器电路30中记录的所述多个存储器阵列10的状态信息。
[0061] 其中,所述外围电路20根据所述状态信息以及所述输入指令新所述状态寄存器电路30中记录的所述多个存储器阵列10的状态信息具体用于,
[0062] 在当所述输入指令为使用冗余阵列进行修复时,将目标冗余存储器阵列的使用状态置1,以将冗余存储器阵列12的使用状态标记为修复;此后便可以在所述冗余阵列上存储主存储阵列的修复数据;
[0063] 在当所述输入指令为使用冗余阵列进行重新编程时,将目标冗余存储器阵列的使用状态置零,以将目标冗余存储器阵列的使用状态标记为编程;并将所述编程次数状态信息加1作为新的编程次数信息;此后,目标冗余存储器阵列将作为新的主存储器阵列替代原先已使用过的主存储阵列,将可以对新的主存储器阵列进行新的编程,存储器将重新存储一整个阵列的新数据。
[0064] 参考表1,表1给出了当冗余存储阵列为3个时,一种具体地的状态信息的存储方式。
[0065] 表1状态信息
[0066]
[0067] 在表1中,状态信息一栏,3比特(Bits)的TM值表示对所述多个存储器阵列10的编程次数信息,用于记录编程次数,当TM值为000时表示“第一次编程”,当TM值为001时,表示“第二次编程”,当TM值为011时表示“第三次编程”,当TM值为111时表示“第四次编程”;1字节(Bits)大小的RD1值、RD2和RD3值分别用于记录三个冗余存储器阵列12(冗余Array BlockA2、冗余Array BlockA3和冗余Array BlockA4)的使用信息,值为0时表示冗余存储器阵列12用作编程阵列,值为1时表示冗余存储器阵列12用作修复阵列。
[0068] 在上述实施例的基础上,本申请的另一个实施例提供了一种外围电路20的可行构成,如图2所示,所述外围电路20包括:控制电路21、电源电路22、译码电路23、字线驱动电路24、位线驱动电路、选通电路和读电路26;其中,
[0069] 所述电源电路22用于为所述控制电路21、译码电路23、字线驱动电路24、位线驱动电路、选通电路、读电路26和所述状态寄存器电路30提供工作电源;
[0070] 所述控制电路21根据获取的输入指令,确定操作类型,同时按照指令控制译码电路23、字线驱动电路24、位线驱动电路、选通电路、读电路26和所述状态寄存器电路30工作;
[0071] 所述译码电路23用于对所述地址信息进行译码,对所述字线地址信号进行译码,以获得字线地址信息,对所述位线地址信号进行译码,以获得位线地址信息;
[0072] 所述字线驱动电路24,用于根据操作类型和所述状态寄存器电路30的值以及所述字线地址信息为字线提供驱动电压,以选通目标字线并为目标字线提供编程电压或读电压;
[0073] 所述位线驱动电路,用于根据操作类型和所述位线地址信息为位线提供驱动电压,当操作类型为编程操作时需要为提供位线编程电压;
[0074] 所述选通电路,用于将目标位线选通并连接到读电路26;
[0075] 所述读电路26,用于在当所述操作类型为读操作时,读出所述目标的存储器阵列或目标的存储器阵列和与目标的存储器阵列关联的冗余存储器阵列12中存储的数据。
[0076] 在图2中,位线驱动电路和选通电路以标号25所示的结构表示。
[0077] 相应的,仍然参考图2,图2中示出了一种具体地状态寄存器电路30的可行构成,包括:读写驱动单元31、状态寄存器单元32、阵列选择逻辑单元33和输出逻辑单元34;其中,[0078] 所述读写驱动单元31,用于配合所述控制电路21进行所述状态寄存器单元32中记录多个存储器阵列10的状态信息的读取或更新;
[0079] 所述状态寄存器单元32,用于记录多个存储器阵列10的状态信息;
[0080] 所述阵列选择逻辑单元33,用于获取所述状态寄存器单元32的值,并根据状态寄存器单元32的值向所述字线驱动电路24传输阵列使能信号,以使字线驱动电路24驱动正确的存储器阵列字线;
[0081] 所述输出逻辑单元34,用于输出所述状态寄存器单元32记录的所述多个存储器阵列10的状态信息。
[0082] 具体地,所述输出逻辑单元34,在接收用户输入的读取状态指令后,根据状态寄存器单元32记录的多个存储器阵列10的状态信息,产生携带所述状态信息的输出信息进行输出,用户可根据所述输出信息获悉所述状态信息。
[0083] 其中,可选的,所述状态寄存器单元32为非易失性状态寄存器。
[0084] 前文中,所述状态寄存器电路30的值即指所述状态寄存器电路30中的状态寄存器单元32的值。
[0085] 所述存储器阵列为反熔丝存储器阵列或熔丝存储器阵列或浮栅(floating gate)存储器阵列等。
[0086] 正如前文所述,反熔丝存储器单元在编程前和编程后具有不同的物理、电学特性,利用编程前后的不同电学特性即可实现二进制数据的存储。例如以栅击穿方式的反熔丝存储器单元为例,栅氧击穿前反熔丝存储器单元中MOS管的栅极和源漏极之间是绝缘的,主要呈现电容特性,编程时加高压将MOS管的栅氧化层击穿,击穿后反熔丝存储器单元中的MOS管栅极到源漏极是可以导电的,主要呈现电阻特性,编程前后不同的状态就可以分别对应到0和1二进制数据。
[0087] 下面仍然以反熔丝存储器为例,对编程失败的存储器阵列进行修复的过程进行描述。
[0088] 参考图3,图3中示出了主存储器阵列11未编程,且冗余存储器阵列12未编程时,主存储器阵列11中的存储器单元的字线选通管选通,冗余存储器阵列12中的存储器单元的字线选通管未选通,读电路26读出数据为0。图4中示出了主存储器阵列11编程成功时,冗余存储器阵列12未编程,主存储器阵列11中的存储器单元的字线选通管选通,冗余存储器阵列12中的存储器单元的字线选通管未选通,主存储器阵列11中的存储器单元的栅氧化层被击穿,位线上有电流,读电路26读出数据为1。图5中示出了主存储器阵列11编程失败时,冗余存储器阵列12编程成功,主存储器阵列11中的存储器单元的字线选通管选通,冗余存储器阵列12中的存储器单元的字线选通管选通,冗余存储器阵列12中的存储器单元的栅氧化层被击穿,位线上有电流,读电路26读出数据为1,完成了数据修复。在图3-图5中,字线选通管通过位线BL与读电路26连接,MOS管的栅极通过字线WL接地。
[0089] 综上所述,本申请实施例提供了一种可变编程次数的多次可编程存储器,所述可变编程次数的多次可编程存储器利用状态寄存器电路记录多个存储器阵列的状态信息,以使用户可以通过所述多个存储器阵列的状态信息,了解多个存储器阵列的编程次数信息以及冗余存储器阵列的使用信息,从而可以根据实际情况对冗余存储器阵列进行编程操作或修复操作或读操作的目的,使得冗余存储器阵列在主存储器阵列编程成功后仍然可以进行编程操作,进而使得该多次可编程存储器的编程次数可控,避免了在主存储器阵列编程成功后,无法在冗余存储器阵列中进行数据存储的情况,避免了冗余存储器阵列的浪费。
[0090] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0091] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈