一种非易失性存储器的修复方法_2

文档序号:8362698阅读:来源:国知局
需要进行修复操作。
[0036]在步骤102中,如果非易失性存储器没有擦除或编程操作的请求,则执行本步骤对非易失性存储器的修复单元进行修复校验同时监测非易失性存储器是否有擦除或编程操作的请求。在执行本步骤时,如果非易失性存储器有擦除或编程操作的请求,则先执行步骤107,即暂停修复过程并记录非易失性存储器的当前的修复地址,再执行步骤108,即处理非易失性存储器的擦除或编程操作的请求;如果非易失性存储器没有擦除或编程操作的请求并且修复单元没有通过修复校验,则执行步骤104,即对修复单元进行修复操作同时监测是否有擦除或编程操作的请求;如果非易失性存储器没有擦除或编程操作的请求并且修复单元通过修复校验,则执行步骤105,即判断修复单元对应的修复地址是否是非易失性存储器的最后一个修复地址。
[0037]如果非易失性存储器有擦除或编程操作的请求,则暂停修复过程并记录非易失性存储器的当前的修复地址,再处理非易失性存储器的擦除或编程操作的请求,当下一次进行修复校验时,先读取记录的非易失存储器的当前的修复地址,再继续对当前的修复地址对应的修复单元进行修复校验。
[0038]在本实施例中,可选的,对所述修复单元进行修复校验的方式为将所述修复单元的阈值电压与所述修复校验的基准电压进行比较。如上所述,修复单元是指进行一次修复操作所对应的非易失性存储器的存储空间的大小,其中,存储空间包含存储单元,因此修复单元的阈值电压为相应的存储单元的阈值电压。所述修复校验的基准电压包括读电压和校验电压,其中,所述读电压小于所述校验电压。在进行所述修复校验时,先进行所述读电压的修复校验,再进行所述校验电压的修复校验。当所述修复单元的阈值电压大于读电压且小于校验电压时,所述修复单元没有通过所述修复校验;当所述修复单元的阈值电压大于读电压且大于校验电压时,所述修复单元通过所述修复校验;当所述修复单元的阈值电压小于校验电压且小于读电压时,所述修复单元通过所述修复校验。
[0039]图2是根据本发明实施例的非易失性存储器的存储单元的阈值电压与存储单元的个数的曲线图。参见图2,横轴Vt代表非易失性存储器的存储单元的阈值电压,纵轴N代表非易失性存储器的存储单元的个数,垂直于横轴Vt的两条直线Vk和Vv分别代表修复校验的两个基准电压,即读电压和校验电压;曲线CL1与横轴Vt所包围的区域代表擦除单元,曲线CL2与横轴Vt所包围的区域代表编程单元。在图2中,将存储单元的阈值电压与加在存储单元上作为修复校验的基准电压的读电压和校验电压的比较结果分别记为V1和V2。如果阈值电压小于基准电压,则比较结果为OJPv1=C^pv2=O ;如果阈值电压大于基准电压,则比较结果为1,即V1=I和V2=I。
[0040]下面参照图2,对本步骤的修复校验进行描述。在非易失性存储器没有擦除或编程操作的请求的情况下,进行修复校验,如果V1=O和V2=O,即修复单元的阈值电压小于校验电压且小于读电压,在图2中对应位于直线%左侧的擦除单元,表明擦除单元通过修复校验,则执行步骤105,即判断修复单元对应的修复地址是否是非易失性存储器的最后一个修复地址;如果V1=I和V2=I,即修复单元的阈值电压大于读电压且大于校验电压,在图2中对应位于直线Vv右侧的编程单元部分,表明这部分编程单元也通过了修复校验,则执行步骤105,即判断修复单元对应的修复地址是否是非易失性存储器的最后一个修复地址;如果V1=I和V2=O,即修复单元的阈值电压大于读电压且小于校验电压,在图2中对应直线Vk和直线Vv之间的编程单元部分即阴影部分所示,表明这部分编程单元没有通过了修复校验,则执行步骤104,即对修复单元进行修复操作同时监测是否有擦除或编程操作的请求。
[0041]步骤104、对修复单元进行修复操作同时监测是否有擦除或编程操作的请求。
[0042]在步骤103中,如果非易失性存储器没有擦除或编程操作的请求并且修复单元没有通过修复校验,则执行本步骤对修复单元进行修复操作同时监测是否有擦除或编程操作的请求。在执行本步骤时,如果非易失性存储器有擦除或编程操作的请求,则先执行步骤107,即暂停修复过程并记录非易失性存储器的当前的修复地址,再执行步骤108,即处理非易失性存储器的擦除或编程操作的请求;如果非易失性存储器没有擦除或编程操作的请求并且完成修复操作,则执行步骤105,即判断修复单元对应的修复地址是否是非易失性存储器的最后一个修复地址。
[0043]下面根据图2,对本步骤在非易失性存储器没有擦除或编程操作的请求的情况下进行修复操作的简要的描述。参见图2,需要进行修复操作的区域就是直线Vk和直线Vv之间的区域。在正常的存储单元中,也就是存储单元的阈值电压没有发生改变的情况下,相应地,编程单元位于直线Vv右侧。因编程单元的内部缺陷或者宇宙射线等因素影响会造成其浮栅漏电,相应存储单元中的电子会不断跑掉,阈值电压会逐渐降低,随着时间的推移,编程单元会向横轴Vt的负方向移动,并会出现一部分编程单元位于直线Vk和直线Vv之间,参见图2中的阴影部分,这部分编程单元存储的数据由O变为I。修复操作就是使这部分位于直线Vk和直线Vv之间的编程单元的阈值电压提升,将所存储的数据由I变成0,最终使全部的编程单元位于图2中的直线Vv的右侧,从而完成修复操作。关于具体的修复操作,对本领域的技术人员是熟知的,在此不再赘述。
[0044]步骤105、判断修复单元对应的修复地址是否是非易失性存储器的最后一个修复地址。
[0045]所述修复地址就是对应的修复单元在非易失性存储器中的存储地址。所述最后一个修复地址就是完成对非易失性存储器进行修复操作时相应的修复单元对应的修复地址,其与初始的修复地址对应产生,也就是开始对非易失性存储器进行修复操作时相应的修复单元对应的修复地址,并且初始的修复地址可以由操作人员进行预先设定。在初始的修复地址确定好后,对应地最后一个修复地址也就产生了。
[0046]在步骤103中如果非易失性存储器没有擦除或编程操作的请求并且修复单元通过修复校验或在步骤104中如果非易失性存储器没有擦除或编程操作的请求并且完成修复操作,则执行本步骤,即判断修复单元对应的修复地址是否是非易失性存储器的最后一个修复地址。如果修复单元对应的修复地址是非易失性存储器的最后一个修复地址,则执行步骤109,即结束对非易失性存储器的修复操作;如果修复单元对应的修复地址不是非易失性存储器的最后一个修复地址,则执行步骤106,即递增修复单元对应的修复地址。
[0047]步骤106、递增修复单元的修复地址。
[0048]在步骤105中,如果修复单元对应的修复地址不是非易失性存储器的最后一个修复地址,表明对非易失性存储器的修复操作还没有完成,则执行步骤106,即递增修复单元对应的修复地址。递增修复单元的修复地址后,再返回到步骤103,即对非易失性存储器的修复单元进行修复校验同时监测是否有擦除或编程操作的请求。如此循环往复,在非易失性存储器没有擦除或编程操作的请求的情况下,不断地执行修复过程,直至完成对整个非易失性存储器的修复。
[0049]下面简单描述一下实现修复地址的递增。如果
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1