发明内容
本发明的目的在于提供一种存储器的冗余替代方法,以有效地降低存储器的功耗。
本发明提供了一种存储器的冗余替代方法,包括:
设置编程或擦除的基准工作电压,对存储器的工作单元进行编程或擦除操作;
施加预设的读取工作电压,并通过检测工作单元的数据读取电流以确定数据读取失败的工作单元,所述数据读取失败的工作单元的数据读取电流不符合预设的数据读取条件;
使用冗余单元对数据读取失败的工作单元进行同址替代;
重新检测各工作单元的数据读取是否失败;
在未有数据读取失败的工作单元时,调节编程或擦除电压使其小于基准工作电压,并且在各工作单元的数据读取未有失败时,将调节后的编程或擦除电压作为所述存储器进行编程或擦除操作的工作电压。
可选地,所述调节编程或擦除电压使其小于基准工作电压包括:逐渐降低编程或擦除的电压,并对工作单元进行检测,直至出现数据读取失败的工作单元,将最后一次调节前的电压作为存储器进行编程或擦除操作的工作电压。
可选地,所述调节编程或擦除电压使其小于基准工作电压包括:
逐渐降低编程或擦除的电压,并对工作单元进行检测,直至出现数据读取失败的工作单元;
使用冗余单元对数据读取失败的工作单元进行同址替代;
重新检测各工作单元的数据读取是否失败;
在未有数据读取失败的工作单元时,将当前工作电压作为所述存储器进行编程或擦除操作的工作电压;
重复上述各个步骤,将部分或全部的冗余单元替代为工作单元。
可选地,在将部分或全部的冗余单元替代为工作单元之后,继续降低编程或擦除的电压,直至出现数据读取失败的工作单元,并将最后一次调节前的电压作为存储器进行编程或擦除的工作电压。
可选地,在0.01~0.4伏的幅度范围内调节编程或擦除的电压。
可选地,所述同址替代包括:
任意选择一冗余单元作为替代的单元;
变更存储器中译码器的地址表,将该数据读取失败的工作单元的译码地址赋于所选择的冗余单元,使得所述冗余单元成为新的工作单元。
可选地,所述数据读取失败的工作单元的数据读取电流不符合预设的数据读取条件包括:在对存储器进行编程操作时,当工作单元的数据读取电流大于预设的数据读取电流时,该工作单元被确定为数据读取失败的工作单元。
可选地,所述数据读取失败的工作单元的数据读取电流不符合预设的数据读取条件包括:在对存储器进行擦除操作时,当工作单元的数据读取电流小于预设的数据读取电流时,该工作单元被确定为数据读取失败的工作单元。
可选地,调节编程电压使其小于基准工作电压包括:在对存储器进行编程操作时,调节存储器的源极电压使其小于基准的源极工作电压。
可选地,调节编程电压使其小于基准工作电压还包括:在对存储器进行编程操作时,调节存储器的位线电流使其小于基准的位线工作电流,所述存储器的位线电流与编程电压相关,所述基准的位线工作电流与基准工作电压相关。
与现有技术相比,上述技术方案至少具有以下优点:利用存储器中的冗余单元将部分或全部的工作单元替换,使得各个存储单元所需的编程或擦除工作电压降低,从而有效地降低了存储器在进行编程或者擦除操作时的功耗。
具体实施方式
根据现有技术的描述,在半导体存储器中,存储器的工作单元会由于多次使用等原因产生老化,为保证老化后的工作单元可以正常地进行编程或者擦除操作,需要提高施加在其上的编程或者擦除电压。这样,就会导致各个存储单元的功耗较大,从而使得存储器的整体功耗也较大。
本发明提供了一种存储器的冗余替代方法,该方法对工作单元进行编程或者擦除操作后,通过检测各工作单元的数据读取电流来确定数据读取失败的工作单元,将数据读取失败的工作单元即数据读取电流不符合预设的数据读取条件的工作单元进行了替代,并且通过检测逐渐降低编程或擦除的工作电压,从而能够使得存储单元所需的编程或擦除的工作电压降低,进而降低了存储器的功耗。进一步地,还可以将全部的冗余单元替代为工作单元,并通过检测逐渐降低编程或擦除工作电压,使得施加到存储单元上的工作电压为最低,从而将存储器的功耗降到最低。
为了便于对本发明技术方案的理解,首先对存储器中工作单元的读取过程做简单说明。
现有的半导体存储器在数据读取时,通常采用灵敏放大器(SA,SenseAmplifier)来检测存储单元上的位线电流与基准电流的差值,从而判断存储单元内的存储数据为“0”或“1”位元。灵敏放大器是存储器的一个重要组成部分,直接影响存储器的读取速度。灵敏放大器感应位线(bit-line)上的小信号变化并通过放大所述小信号变化来得到存储单元上储存的数据。在感应位线(bit-line)上的小信号变化前,灵敏放大器会将位线电压调整至固定值,以使位线电压尽快稳定,进而可在读取时感应到稳定的位线电流。
图1是现有的一种存储器及其灵敏放大器的电路图,如图1所示,传统的灵敏放大器主要包含MOS管M2、M3、M5及M6。其中,MOS管M3与MOS管M4相匹配,可将MOS管M4的漏极上的电流Icell(位线电流)镜像到MOS管M3上的输出电流,即Icell=Im3;MOS管M2与MOS管M1相匹配,可将MOS管M1上输出电流Iref镜像到MOS管M2上的输出电流,即Iref=Im2;MOS管M5与MOS管M6相匹配,即Im5=Im6。MOS管M6的漏极电压Ve将取决于Im3与Im6的大小。当灵敏放大器用于测试存储单元的存储位元为“0”或“1”时,由于Icell=Im3、Iref=Im2、Im5=Im6、又Im2=Im5,如果存储单元为“0”位元,则Icell<Iref,MOS管M6的漏极电压Ve被拉向地线,为低电平,即缓存器buffer输出Dout(感应电压)为“0”;如果存储单元为“1”位元,则Icell>Iref,MOS管M6的漏极电压Ve被拉向电源线Vdd,为高电平,即缓存器buffer输出Dout为“1”。上述灵敏放大器是在与存储单元理想匹配的情况下,根据缓存器的输出判断存储单元存储“0”或“1”位元。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。
图2为本发明存储器的冗余替代方法的一种实施例的流程示意图,所述方法可以包括如下步骤:
S1、设置编程或擦除的基准工作电压,对存储器的工作单元进行编程或擦除操作;
S2、施加预设的读取工作电压,并通过检测工作单元的数据读取电流以确定数据读取失败的工作单元,所述数据读取失败的工作单元的数据读取电流不符合预设的数据读取条件;
S3、使用冗余单元对数据读取失败的工作单元进行同址替代;
S4、重新检测各工作单元的数据读取是否失败;
S5、在未有数据读取失败的工作单元时,调节编程或擦除电压使其小于基准工作电压,并且在各工作单元的数据读取未有失败时,将调节后的编程或擦除电压作为所述存储器进行编程或擦除操作的工作电压。
其中,所述数据读取失败的工作单元的数据读取电流不符合预设的数据读取条件可以包括:在对存储器进行编程操作时,当工作单元的数据读取电流大于预设的数据读取电流时,该工作单元被确定为数据读取失败的工作单元。
作为一个具体地例子,首先执行步骤S1,设置编程的基准工作电压,对存储器的工作单元进行编程操作。也就是说,首先在一预定的编程的基准工作电压下将存储器的工作单元全部编程为“0”。
接着执行步骤S2,在存储器上施加预设的读取工作电压,并检测存储器中工作单元的数据读取电流。当工作单元的数据读取电流大于预设的数据读取基准电流时,则确定该工作单元为数据读取失败的工作单元。例如,在编程过程中,预设的数据读取基准电流可以为2uA~5uA,当检测得出的工作单元的数据读取电流大于该数据基准电流时,则认为该工作单元为数据读取失败的工作单元,这时,就执行步骤S3,使用冗余单元对数据读取失败的工作单元进行同址替代;若不存在数据读取失败的工作单元,则无需执行步骤S3,也就是就无需进行冗余替代。
所述同址替代中的“址”指的是存储器的逻辑地址,即系统对工作单元的标识,而字线的连接决定的是存储单元的物理地址。所述同址替代包括:系统通过物理地址选中冗余单元,然后将失败工作单元的逻辑地址赋予该冗余单元,使其成为新的工作单元。上述同址替代方法可以由软件实现。
需要说明的是,本实施例中的冗余单元的结构以及大小并不影响本发明的保护范围。也就是说,对工作单元进行同址替代的可以是固定大小的冗余单元,也可以是可变大小冗余单元;并且所述冗余单元可以是行冗余单元、列冗余单元或者扇区冗余单元。在不违背本发明的精神下,所述冗余单元还可以采用其他的结构,其不应限制本发明的保护范围。
再执行步骤S4,重新检测各工作单元的数据读取是否失败。具体地,在执行所述步骤S4重新检测之后,若仍有数据读取失败的单元,则重复执行步骤S3,即使用冗余单元对数据读取失败的工作单元进行同址替代;若重新检测后未有数据读取失败的单元,则执行步骤S5,即调节编程电压使其小于基准工作电压,并且在工作单元的数据没有失败时,将调节后的编程电压作为所述存储器进行编程操作的工作电压。
需要说明的是,执行步骤S5时,即调节编程电压使其小于基准工作电压可以包括:在编程过程中,调节存储器的源极电压使其小于基准的源极工作电压。通过降低存储器的源极电压可以减小存储器编程操作时的功耗。
调节编程电压使其小于基准工作电压还可以包括:在编程过程中,调节存储器的位线电流使其小于基准的位线工作电流,其中,所述存储器的位线电流与存储器的编程电压相关,所述基准的位线工作电流与基准工作电压相关。通过降低的位线上的电流也可以减小存储器编程操作时的功耗。
当然,所述调节编程电压使其小于基准工作电压也可以同时调节存储器的源极电压和位线电流使其均小于基准的工作值。
其中,调节编程电压的幅度可以根据实际情况对进行设置,在本实施例中,可以在0.01~0.4伏的范围内递减调节编程电压。当然,可以理解的是,本实施例中的幅度范围仅为举例说明,其不应限制本发明的保护范围。
在不同的工作环境(例如,常温、低温或高温)中,存储器所需的工作条件也会有所不同。为了保证本实施例的检测以及调节步骤的可靠性,即为了保证存储器在不同的环境中都能正常有效地运作,可以将本实施例所述的冗余替代方法做进一步地限定,例如,在常温下进行本实施例的冗余替代方法时,可以适当减小数据读取基准电流,以保证存储器在低温或者高温下也能正常的进行编程操作;还可以分别在常温、低温、高温的条件下分别进行本实施例的冗余替代方法,并且取其不同条件下的最坏情形将冗余单元替代为工作单元,这样也能保证存储器在不同的环境中的正常操作。
其中,所述数据读取失败的工作单元的数据读取电流不符合预设的数据读取条件还可以包括:在对存储器进行擦除操作时,当工作单元的数据读取电流小于预设的数据读取电流时,该工作单元被确定为数据读取失败的工作单元。
作为另一个具体地例子,在擦除过程中对存储器中的工作单元进行冗余替代以降低其施加的擦除电压的过程与编程过程中的冗余替代相类似,其区别之处在于:执行步骤S1时,是在一预定的擦除的基准工作电压下将存储器的工作单元全部擦除为“1”。
而后执行步骤S2,当工作单元的数据读取电流小于预设的数据读取基准电流时,则确定该工作单元为数据读取失败的工作单元。例如,在擦除操作过程中,预设的数据读取基准电流可以为20uA~30uA,当检测到的工作单元的数据读取电流小于该数据读取基准电流时,则认为该工作单元为数据读取失败的工作单元,这时,就接着执行步骤S3。
擦除过程中其他的冗余替代过程与编程过程中的相应的冗余替代过程相类似,故在此不再赘述。
以上分别以对存储器的编程或擦除操作为例,对本发明的存储器的冗余方法做了较为详细的说明,但是在其他实施例中,还可以结合以上编程操作和擦除操作对存储器进行冗余替代,也就是说,在其他实施例中,可以首先对存储器中各工作单元全部编程为“0”,再通过检测、调节编程电压等步骤实现冗余替代;然后再将存储器中各工作单元擦除为“1”,再通过检测、调节擦除电压等步骤进行第二次冗余替代。当然,以上仅为举例说明,本领域技术人员还可以对本发明存储器的冗余替代方法做其他的简单变形,其均应落入本发明的保护范围。
本实施例中,通过用冗余单元将数据读取失败的工作单元进行了替代,并在保证工作单元正确读取数据的情况下适当降低了施加的工作电压,从而降低了各个存储单元的功耗,因此也降低了存储器的整体功耗。
图3示出了图2中步骤S5的一种实施方式,如图3所示,所述调节编程或擦除电压使其小于基准工作电压的过程可以包括:
步骤S11、逐渐降低编程或擦除的电压,并对工作单元进行检测;
步骤S12、当出现数据读取失败的工作单元时,将最后一次调节前的电压作为存储器进行编程或擦除操作的工作电压。
在这种实施方式中,通过逐渐降低编程或擦除电压和检测工作单元的读取状态,得出了可以施加的更低的工作电压,因此通过这种实施方式可以进一步地降低存储器的功耗。
相应地,图4示出了图2中步骤S5的另一种实施方式。参考图4,所述调节编程或擦除电压使其小于基准工作电压的过程可以包括:
S21、逐渐降低编程或擦除的电压,并对工作单元进行检测,直至出现数据读取失败的工作单元;
S22、使用冗余单元对数据读取失败的工作单元进行同址替代;
S23、重新检测各工作单元的数据读取是否失败;
S24、在未有数据读取失败的工作单元时,将当前工作电压作为所述存储器进行编程或擦除操作的工作电压;
S25、重复上述各个步骤,将部分或全部的冗余单元替代为工作单元。
与图3所示的实施方式相比,图4所示的实施方式中,通过重复检测工作单元的读取状态并且逐渐降低施加的工作电压,并且将部分或全部的冗余单元替代为工作单元,从而使得存储单元所需的工作电压进一步降低,因此进一步地减小了各个存储单元的功耗。
更优地,还可以在将部分或全部的冗余单元替代为工作单元之后,继续降低编程或擦除的电压,直至出现数据读取失败的工作单元。这时,不再降低施加的工作电压,将最后一次调节前的电压作为存储器进行编程或擦除的工作电压,以保证当前的存储单元实现正常的编程或擦除操作。
这样,在冗余单元替代为工作单元之后,通过逐渐降低调节编程或擦除的电压使其降低到当前存储单元所需的最低工作电压,从而更进一步地减小了各个存储单元的功耗。
根据前述内容,同址替代是存储器系统通过软件实现(通过存储器的操作指令)的,基本思想是将失败工作单元的逻辑地址赋予冗余单元,使得所述冗余单元成为新的工作单元。图5为所述同址替代的流程示意图,基本步骤包括:
S301、任意选择一冗余单元作为替代的单元;
S302、变更存储器中译码器的地址表,将该数据读取失败的工作单元的译码地址赋于所选择的冗余单元,使得所述冗余单元成为新的工作单元。
根据公知原理,存储器中每个存储单元通过字线连接从而具有唯一的物理地址,此外在存储器系统中还对应一个译码地址(即逻辑地址),外部应用服务对存储器进行数据读取时,提供所需调用数据的存储位置也即译码地址,通常存储器的译码器会根据地址表(包含译码地址与物理地址的对应关系信息)找到该存储单元,并通过字线选中,以便于灵敏放大器读取数据。上述同址替换即变更译码地址与存储单元的物理地址对应关系,使得所述选择的冗余单元替代原数据读取失败的工作单元对应该译码地址。
本发明虽然以较佳实施例公开如上,但其并不是用来限定权利要求,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。